@humain/terminal 0.0.6 → 0.0.7

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 (476) hide show
  1. package/CHANGELOG.md +52 -0
  2. package/README.md +10 -4
  3. package/dist/bundle/chunks/anthropic-messages-GDMGYAZB.js +6 -0
  4. package/dist/bundle/chunks/anthropic.js +75 -0
  5. package/dist/bundle/chunks/azure-openai-responses-ZN52D6YC.js +2 -0
  6. package/dist/bundle/chunks/bedrock-converse-stream.js +77 -0
  7. package/dist/bundle/chunks/chunk-3D3G2X5U.js +6 -0
  8. package/dist/bundle/chunks/chunk-3VI4HD7D.js +31 -0
  9. package/dist/bundle/chunks/chunk-6R7UI4IY.js +2 -0
  10. package/dist/bundle/chunks/chunk-72KO4OMP.js +2 -0
  11. package/dist/bundle/chunks/chunk-7DDKXS2Q.js +2 -0
  12. package/dist/bundle/chunks/chunk-ARF4OE6X.js +105 -0
  13. package/dist/bundle/chunks/chunk-BOW22LW6.js +42 -0
  14. package/dist/bundle/chunks/chunk-BZQ53VGE.js +70 -0
  15. package/dist/bundle/chunks/chunk-CBHC6EL7.js +133 -0
  16. package/dist/bundle/chunks/chunk-D7XAASZM.js +4 -0
  17. package/dist/bundle/chunks/chunk-ECWELYBH.js +17 -0
  18. package/dist/bundle/chunks/chunk-GMWCTUPB.js +2 -0
  19. package/dist/bundle/chunks/chunk-H2O6VOXT.js +11 -0
  20. package/dist/bundle/chunks/chunk-HNVPY4LZ.js +5995 -0
  21. package/dist/bundle/chunks/chunk-JUUC5AZY.js +2 -0
  22. package/dist/bundle/chunks/chunk-JXWJOIH4.js +2 -0
  23. package/dist/bundle/chunks/chunk-L2ZPNLYD.js +2 -0
  24. package/dist/bundle/chunks/chunk-LVVZS2NO.js +12 -0
  25. package/dist/bundle/chunks/chunk-M2GYSCCG.js +44 -0
  26. package/dist/bundle/chunks/chunk-MA4UUCYX.js +18 -0
  27. package/dist/bundle/chunks/chunk-PGXDEOVV.js +2 -0
  28. package/dist/bundle/chunks/chunk-PJACZCIR.js +2 -0
  29. package/dist/bundle/chunks/chunk-PRRNXB7S.js +2 -0
  30. package/dist/bundle/chunks/chunk-SGTGQNNP.js +4 -0
  31. package/dist/bundle/chunks/chunk-TEPMHNKQ.js +2 -0
  32. package/dist/bundle/chunks/chunk-TXBQIIIO.js +2 -0
  33. package/dist/bundle/chunks/chunk-WJZ4KLGL.js +2 -0
  34. package/dist/bundle/chunks/chunk-XNGRGP62.js +2 -0
  35. package/dist/bundle/chunks/dist-7DSXV2TY.js +9 -0
  36. package/dist/bundle/chunks/dist-BXEVYJIO.js +7 -0
  37. package/dist/bundle/chunks/es-P2KNSZYR.js +9 -0
  38. package/dist/bundle/chunks/es5-FGTJ7ZFW.js +2 -0
  39. package/dist/bundle/chunks/event-streams-JOSQQSII.js +2 -0
  40. package/dist/bundle/chunks/extract-2L7ZVN7F.js +106 -0
  41. package/dist/bundle/chunks/github-copilot.js +2 -0
  42. package/dist/bundle/chunks/google-generative-ai-XT7NQJ2E.js +2 -0
  43. package/dist/bundle/chunks/google-vertex-IDQ6Z53W.js +2 -0
  44. package/dist/bundle/chunks/image-resize-worker.js +2 -0
  45. package/dist/bundle/chunks/kimi-coding.js +2 -0
  46. package/dist/bundle/chunks/mistral-conversations-HHDZ4FHR.js +5 -0
  47. package/dist/bundle/chunks/multipart-parser-FMGQ7342.js +3 -0
  48. package/dist/bundle/chunks/node-XY3CBY3C.js +294 -0
  49. package/dist/bundle/chunks/node-ZHY4LHC7.js +15 -0
  50. package/dist/bundle/chunks/openai-codex-responses-HRVCDY54.js +8 -0
  51. package/dist/bundle/chunks/openai-codex.js +75 -0
  52. package/dist/bundle/chunks/openai-completions-6QBYTBXY.js +7 -0
  53. package/dist/bundle/chunks/openai-responses-4MWLJHIK.js +2 -0
  54. package/dist/bundle/chunks/openrouter-images-Y2PCWAQH.js +2 -0
  55. package/dist/bundle/chunks/openrouter.js +75 -0
  56. package/dist/bundle/chunks/pdfjs-UKQT3OWY.js +107 -0
  57. package/dist/bundle/chunks/pi-messages-57K43J6J.js +8 -0
  58. package/dist/bundle/chunks/promise-J5TGSM32.js +2 -0
  59. package/dist/bundle/chunks/radius.js +75 -0
  60. package/dist/bundle/chunks/src-QKGKDFSU.js +4 -0
  61. package/dist/bundle/chunks/undici-D6ABF53Q.js +2 -0
  62. package/dist/bundle/chunks/webapi-AFS5FDJJ.js +5 -0
  63. package/dist/bundle/chunks/xai.js +2 -0
  64. package/dist/bundle/cli.js +3 -0
  65. package/dist/bundle/client.js +2 -0
  66. package/dist/bundle/index.js +2 -0
  67. package/dist/bundle/rpc-entry.js +3 -0
  68. package/dist/cli/args.d.ts +1 -0
  69. package/dist/cli/args.d.ts.map +1 -1
  70. package/dist/cli/args.js +29 -9
  71. package/dist/cli/args.js.map +1 -1
  72. package/dist/cli/file-processor.d.ts.map +1 -1
  73. package/dist/cli/file-processor.js +2 -1
  74. package/dist/cli/file-processor.js.map +1 -1
  75. package/dist/config.d.ts +1 -0
  76. package/dist/config.d.ts.map +1 -1
  77. package/dist/config.js +19 -11
  78. package/dist/config.js.map +1 -1
  79. package/dist/core/agent-session.d.ts +50 -14
  80. package/dist/core/agent-session.d.ts.map +1 -1
  81. package/dist/core/agent-session.js +163 -95
  82. package/dist/core/agent-session.js.map +1 -1
  83. package/dist/core/auth-storage.d.ts.map +1 -1
  84. package/dist/core/auth-storage.js +6 -7
  85. package/dist/core/auth-storage.js.map +1 -1
  86. package/dist/core/compaction/branch-summarization.d.ts.map +1 -1
  87. package/dist/core/compaction/branch-summarization.js +3 -0
  88. package/dist/core/compaction/branch-summarization.js.map +1 -1
  89. package/dist/core/compaction/compaction.d.ts +4 -3
  90. package/dist/core/compaction/compaction.d.ts.map +1 -1
  91. package/dist/core/compaction/compaction.js +41 -32
  92. package/dist/core/compaction/compaction.js.map +1 -1
  93. package/dist/core/defaults.d.ts +1 -0
  94. package/dist/core/defaults.d.ts.map +1 -1
  95. package/dist/core/defaults.js +9 -0
  96. package/dist/core/defaults.js.map +1 -1
  97. package/dist/core/extensions/index.d.ts +2 -2
  98. package/dist/core/extensions/index.d.ts.map +1 -1
  99. package/dist/core/extensions/index.js +1 -1
  100. package/dist/core/extensions/index.js.map +1 -1
  101. package/dist/core/extensions/loader.d.ts.map +1 -1
  102. package/dist/core/extensions/loader.js +115 -48
  103. package/dist/core/extensions/loader.js.map +1 -1
  104. package/dist/core/extensions/types.d.ts +38 -9
  105. package/dist/core/extensions/types.d.ts.map +1 -1
  106. package/dist/core/extensions/types.js +3 -0
  107. package/dist/core/extensions/types.js.map +1 -1
  108. package/dist/core/footer-data-provider.d.ts +1 -1
  109. package/dist/core/footer-data-provider.js +1 -1
  110. package/dist/core/footer-data-provider.js.map +1 -1
  111. package/dist/core/keybindings.d.ts +20 -19
  112. package/dist/core/keybindings.d.ts.map +1 -1
  113. package/dist/core/keybindings.js +26 -5
  114. package/dist/core/keybindings.js.map +1 -1
  115. package/dist/core/model-config.d.ts +5 -0
  116. package/dist/core/model-config.d.ts.map +1 -1
  117. package/dist/core/model-config.js +3 -1
  118. package/dist/core/model-config.js.map +1 -1
  119. package/dist/core/model-resolver.d.ts +1 -0
  120. package/dist/core/model-resolver.d.ts.map +1 -1
  121. package/dist/core/model-resolver.js +14 -8
  122. package/dist/core/model-resolver.js.map +1 -1
  123. package/dist/core/models-store.d.ts.map +1 -1
  124. package/dist/core/models-store.js +2 -1
  125. package/dist/core/models-store.js.map +1 -1
  126. package/dist/core/package-manager.d.ts.map +1 -1
  127. package/dist/core/package-manager.js +22 -14
  128. package/dist/core/package-manager.js.map +1 -1
  129. package/dist/core/pi-manifest.d.ts.map +1 -1
  130. package/dist/core/pi-manifest.js +2 -1
  131. package/dist/core/pi-manifest.js.map +1 -1
  132. package/dist/core/remote-catalog-provider.d.ts.map +1 -1
  133. package/dist/core/remote-catalog-provider.js +2 -1
  134. package/dist/core/remote-catalog-provider.js.map +1 -1
  135. package/dist/core/resource-loader.d.ts.map +1 -1
  136. package/dist/core/resource-loader.js +3 -2
  137. package/dist/core/resource-loader.js.map +1 -1
  138. package/dist/core/sdk.d.ts +2 -2
  139. package/dist/core/sdk.d.ts.map +1 -1
  140. package/dist/core/sdk.js +10 -3
  141. package/dist/core/sdk.js.map +1 -1
  142. package/dist/core/session-export.d.ts +4 -0
  143. package/dist/core/session-export.d.ts.map +1 -0
  144. package/dist/core/session-export.js +32 -0
  145. package/dist/core/session-export.js.map +1 -0
  146. package/dist/core/session-manager.d.ts.map +1 -1
  147. package/dist/core/session-manager.js +2 -1
  148. package/dist/core/session-manager.js.map +1 -1
  149. package/dist/core/settings-diagnostics.d.ts +9 -0
  150. package/dist/core/settings-diagnostics.d.ts.map +1 -0
  151. package/dist/core/settings-diagnostics.js +21 -0
  152. package/dist/core/settings-diagnostics.js.map +1 -0
  153. package/dist/core/settings-manager.d.ts +9 -0
  154. package/dist/core/settings-manager.d.ts.map +1 -1
  155. package/dist/core/settings-manager.js +51 -10
  156. package/dist/core/settings-manager.js.map +1 -1
  157. package/dist/core/skills.d.ts.map +1 -1
  158. package/dist/core/skills.js +51 -33
  159. package/dist/core/skills.js.map +1 -1
  160. package/dist/core/slash-commands.d.ts.map +1 -1
  161. package/dist/core/slash-commands.js +2 -1
  162. package/dist/core/slash-commands.js.map +1 -1
  163. package/dist/core/system-prompt.d.ts.map +1 -1
  164. package/dist/core/system-prompt.js +11 -2
  165. package/dist/core/system-prompt.js.map +1 -1
  166. package/dist/core/tools/bash.d.ts +16 -3
  167. package/dist/core/tools/bash.d.ts.map +1 -1
  168. package/dist/core/tools/bash.js +62 -29
  169. package/dist/core/tools/bash.js.map +1 -1
  170. package/dist/core/tools/edit-diff.d.ts +0 -5
  171. package/dist/core/tools/edit-diff.d.ts.map +1 -1
  172. package/dist/core/tools/edit-diff.js +2 -5
  173. package/dist/core/tools/edit-diff.js.map +1 -1
  174. package/dist/core/tools/edit.d.ts.map +1 -1
  175. package/dist/core/tools/edit.js +20 -4
  176. package/dist/core/tools/edit.js.map +1 -1
  177. package/dist/core/tools/index.d.ts +4 -1
  178. package/dist/core/tools/index.d.ts.map +1 -1
  179. package/dist/core/tools/index.js +19 -1
  180. package/dist/core/tools/index.js.map +1 -1
  181. package/dist/core/tools/powershell.d.ts +16 -0
  182. package/dist/core/tools/powershell.d.ts.map +1 -0
  183. package/dist/core/tools/powershell.js +39 -0
  184. package/dist/core/tools/powershell.js.map +1 -0
  185. package/dist/core/tools/subagent.d.ts.map +1 -1
  186. package/dist/core/tools/subagent.js +4 -1
  187. package/dist/core/tools/subagent.js.map +1 -1
  188. package/dist/core/trust-manager.d.ts.map +1 -1
  189. package/dist/core/trust-manager.js +2 -1
  190. package/dist/core/trust-manager.js.map +1 -1
  191. package/dist/extensions/llama/index.d.ts.map +1 -1
  192. package/dist/extensions/llama/index.js +2 -0
  193. package/dist/extensions/llama/index.js.map +1 -1
  194. package/dist/extensions/llama/provider.d.ts.map +1 -1
  195. package/dist/extensions/llama/provider.js +6 -2
  196. package/dist/extensions/llama/provider.js.map +1 -1
  197. package/dist/humain/agent-execution-protocol.d.ts +1 -217
  198. package/dist/humain/agent-execution-protocol.d.ts.map +1 -1
  199. package/dist/humain/agent-execution-protocol.js +1 -203
  200. package/dist/humain/agent-execution-protocol.js.map +1 -1
  201. package/dist/humain/bedrock-provider/vendor/index.bundle.mjs +107 -16
  202. package/dist/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
  203. package/dist/humain/mcp-adapter/vendor/README.md +47 -15
  204. package/dist/humain/mcp-adapter/vendor/cli.js +4 -4
  205. package/dist/humain/mcp-adapter/vendor/commands.ts +5 -3
  206. package/dist/humain/mcp-adapter/vendor/config.ts +46 -5
  207. package/dist/humain/mcp-adapter/vendor/direct-tools.ts +103 -92
  208. package/dist/humain/mcp-adapter/vendor/dist/agent-dir.d.ts +10 -0
  209. package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js +63 -0
  210. package/dist/humain/mcp-adapter/vendor/dist/agent-dir.js.map +1 -0
  211. package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.d.ts +8 -0
  212. package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js +356 -0
  213. package/dist/humain/mcp-adapter/vendor/dist/agent-plugin-loader.js.map +1 -0
  214. package/dist/humain/mcp-adapter/vendor/dist/config.d.ts +123 -0
  215. package/dist/humain/mcp-adapter/vendor/dist/config.js +1088 -0
  216. package/dist/humain/mcp-adapter/vendor/dist/config.js.map +1 -0
  217. package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.d.ts +24 -0
  218. package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js +336 -0
  219. package/dist/humain/mcp-adapter/vendor/dist/mcp-bearer-store.js.map +1 -0
  220. package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.d.ts +19 -0
  221. package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js +319 -0
  222. package/dist/humain/mcp-adapter/vendor/dist/metadata-cache.js.map +1 -0
  223. package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.d.ts +2 -0
  224. package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js +156 -0
  225. package/dist/humain/mcp-adapter/vendor/dist/package-mcp-loader.js.map +1 -0
  226. package/dist/humain/mcp-adapter/vendor/dist/resource-tools.d.ts +1 -0
  227. package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js +15 -0
  228. package/dist/humain/mcp-adapter/vendor/dist/resource-tools.js.map +1 -0
  229. package/dist/humain/mcp-adapter/vendor/dist/types.d.ts +566 -0
  230. package/dist/humain/mcp-adapter/vendor/dist/types.js +287 -0
  231. package/dist/humain/mcp-adapter/vendor/dist/types.js.map +1 -0
  232. package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.d.ts +6 -0
  233. package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js +37 -0
  234. package/dist/humain/mcp-adapter/vendor/dist/ui-app-bridge-helpers.js.map +1 -0
  235. package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.d.ts +104 -0
  236. package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js +59 -0
  237. package/dist/humain/mcp-adapter/vendor/dist/ui-stream-types.js.map +1 -0
  238. package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.d.ts +4 -0
  239. package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js +27 -0
  240. package/dist/humain/mcp-adapter/vendor/dist/ui-tool-visibility.js.map +1 -0
  241. package/dist/humain/mcp-adapter/vendor/dist/utils.d.ts +32 -0
  242. package/dist/humain/mcp-adapter/vendor/dist/utils.js +338 -0
  243. package/dist/humain/mcp-adapter/vendor/dist/utils.js.map +1 -0
  244. package/dist/humain/mcp-adapter/vendor/failure-backoff.ts +23 -0
  245. package/dist/humain/mcp-adapter/vendor/index.bundle.mjs +4870 -3878
  246. package/dist/humain/mcp-adapter/vendor/index.ts +294 -88
  247. package/dist/humain/mcp-adapter/vendor/init.ts +41 -30
  248. package/dist/humain/mcp-adapter/vendor/lifecycle.ts +16 -8
  249. package/dist/humain/mcp-adapter/vendor/mcp-auth-flow.ts +124 -32
  250. package/dist/humain/mcp-adapter/vendor/mcp-bearer-store.ts +0 -2
  251. package/dist/humain/mcp-adapter/vendor/mcp-code.ts +2 -0
  252. package/dist/humain/mcp-adapter/vendor/mcp-oauth-provider.ts +155 -16
  253. package/dist/humain/mcp-adapter/vendor/mcp-output-guard.ts +95 -7
  254. package/dist/humain/mcp-adapter/vendor/mcp-probe.ts +18 -4
  255. package/dist/humain/mcp-adapter/vendor/mcp-references.ts +376 -0
  256. package/dist/humain/mcp-adapter/vendor/mcp-status.ts +8 -19
  257. package/dist/humain/mcp-adapter/vendor/metadata-cache.ts +20 -12
  258. package/dist/humain/mcp-adapter/vendor/namespace-tools.ts +276 -0
  259. package/dist/humain/mcp-adapter/vendor/package.json +26 -8
  260. package/dist/humain/mcp-adapter/vendor/proxy-modes.ts +128 -32
  261. package/dist/humain/mcp-adapter/vendor/request-headers-command.ts +1 -1
  262. package/dist/humain/mcp-adapter/vendor/search-ranking.ts +2 -0
  263. package/dist/humain/mcp-adapter/vendor/server-manager.ts +69 -12
  264. package/dist/humain/mcp-adapter/vendor/state.ts +1 -3
  265. package/dist/humain/mcp-adapter/vendor/tool-result-renderer.ts +16 -2
  266. package/dist/humain/mcp-adapter/vendor/types.ts +51 -2
  267. package/dist/humain/mcp-adapter/vendor/ui-server.ts +3 -19
  268. package/dist/humain/mcp-adapter/vendor/ui-session.ts +2 -1
  269. package/dist/humain/mcp-adapter/vendor/utils.ts +21 -19
  270. package/dist/humain/mcp-adapter.d.ts.map +1 -1
  271. package/dist/humain/mcp-adapter.js +4 -0
  272. package/dist/humain/mcp-adapter.js.map +1 -1
  273. package/dist/humain/web-access/vendor/chrome-cookies.d.ts +14 -0
  274. package/dist/humain/web-access/vendor/chrome-cookies.d.ts.map +1 -1
  275. package/dist/humain/web-access/vendor/chrome-cookies.js +85 -33
  276. package/dist/humain/web-access/vendor/chrome-cookies.js.map +1 -1
  277. package/dist/humain/web-access/vendor/credential-source.d.ts +1 -1
  278. package/dist/humain/web-access/vendor/credential-source.d.ts.map +1 -1
  279. package/dist/humain/web-access/vendor/credential-source.js +3 -1
  280. package/dist/humain/web-access/vendor/credential-source.js.map +1 -1
  281. package/dist/humain/web-access/vendor/curator-page.d.ts +2 -29
  282. package/dist/humain/web-access/vendor/curator-page.d.ts.map +1 -1
  283. package/dist/humain/web-access/vendor/curator-page.js +10 -1
  284. package/dist/humain/web-access/vendor/curator-page.js.map +1 -1
  285. package/dist/humain/web-access/vendor/curator-server.d.ts +2 -29
  286. package/dist/humain/web-access/vendor/curator-server.d.ts.map +1 -1
  287. package/dist/humain/web-access/vendor/curator-server.js +4 -0
  288. package/dist/humain/web-access/vendor/curator-server.js.map +1 -1
  289. package/dist/humain/web-access/vendor/extract.d.ts +11 -0
  290. package/dist/humain/web-access/vendor/extract.d.ts.map +1 -1
  291. package/dist/humain/web-access/vendor/extract.js +163 -20
  292. package/dist/humain/web-access/vendor/extract.js.map +1 -1
  293. package/dist/humain/web-access/vendor/fetch-params.d.ts +2 -0
  294. package/dist/humain/web-access/vendor/fetch-params.d.ts.map +1 -1
  295. package/dist/humain/web-access/vendor/fetch-params.js +11 -0
  296. package/dist/humain/web-access/vendor/fetch-params.js.map +1 -1
  297. package/dist/humain/web-access/vendor/gemini-adc.d.ts +10 -0
  298. package/dist/humain/web-access/vendor/gemini-adc.d.ts.map +1 -0
  299. package/dist/humain/web-access/vendor/gemini-adc.js +268 -0
  300. package/dist/humain/web-access/vendor/gemini-adc.js.map +1 -0
  301. package/dist/humain/web-access/vendor/gemini-api.d.ts +7 -1
  302. package/dist/humain/web-access/vendor/gemini-api.d.ts.map +1 -1
  303. package/dist/humain/web-access/vendor/gemini-api.js +51 -15
  304. package/dist/humain/web-access/vendor/gemini-api.js.map +1 -1
  305. package/dist/humain/web-access/vendor/gemini-search.d.ts +9 -4
  306. package/dist/humain/web-access/vendor/gemini-search.d.ts.map +1 -1
  307. package/dist/humain/web-access/vendor/gemini-search.js +63 -21
  308. package/dist/humain/web-access/vendor/gemini-search.js.map +1 -1
  309. package/dist/humain/web-access/vendor/gemini-url-context.d.ts.map +1 -1
  310. package/dist/humain/web-access/vendor/gemini-url-context.js +3 -2
  311. package/dist/humain/web-access/vendor/gemini-url-context.js.map +1 -1
  312. package/dist/humain/web-access/vendor/gemini-web-config.d.ts +8 -1
  313. package/dist/humain/web-access/vendor/gemini-web-config.d.ts.map +1 -1
  314. package/dist/humain/web-access/vendor/gemini-web-config.js +49 -4
  315. package/dist/humain/web-access/vendor/gemini-web-config.js.map +1 -1
  316. package/dist/humain/web-access/vendor/gemini-web.d.ts +2 -1
  317. package/dist/humain/web-access/vendor/gemini-web.d.ts.map +1 -1
  318. package/dist/humain/web-access/vendor/gemini-web.js +8 -3
  319. package/dist/humain/web-access/vendor/gemini-web.js.map +1 -1
  320. package/dist/humain/web-access/vendor/github-api.d.ts +1 -1
  321. package/dist/humain/web-access/vendor/github-api.d.ts.map +1 -1
  322. package/dist/humain/web-access/vendor/github-api.js +6 -4
  323. package/dist/humain/web-access/vendor/github-api.js.map +1 -1
  324. package/dist/humain/web-access/vendor/github-extract.d.ts.map +1 -1
  325. package/dist/humain/web-access/vendor/github-extract.js +50 -3
  326. package/dist/humain/web-access/vendor/github-extract.js.map +1 -1
  327. package/dist/humain/web-access/vendor/github-issue-pr.d.ts +27 -0
  328. package/dist/humain/web-access/vendor/github-issue-pr.d.ts.map +1 -0
  329. package/dist/humain/web-access/vendor/github-issue-pr.js +701 -0
  330. package/dist/humain/web-access/vendor/github-issue-pr.js.map +1 -0
  331. package/dist/humain/web-access/vendor/index.d.ts +3 -31
  332. package/dist/humain/web-access/vendor/index.d.ts.map +1 -1
  333. package/dist/humain/web-access/vendor/index.js +643 -530
  334. package/dist/humain/web-access/vendor/index.js.map +1 -1
  335. package/dist/humain/web-access/vendor/kimi-search.d.ts +5 -0
  336. package/dist/humain/web-access/vendor/kimi-search.d.ts.map +1 -0
  337. package/dist/humain/web-access/vendor/kimi-search.js +228 -0
  338. package/dist/humain/web-access/vendor/kimi-search.js.map +1 -0
  339. package/dist/humain/web-access/vendor/openai-search.d.ts +3 -0
  340. package/dist/humain/web-access/vendor/openai-search.d.ts.map +1 -1
  341. package/dist/humain/web-access/vendor/openai-search.js +89 -16
  342. package/dist/humain/web-access/vendor/openai-search.js.map +1 -1
  343. package/dist/humain/web-access/vendor/page-query.d.ts.map +1 -1
  344. package/dist/humain/web-access/vendor/page-query.js +56 -8
  345. package/dist/humain/web-access/vendor/page-query.js.map +1 -1
  346. package/dist/humain/web-access/vendor/ssrf-protection.js +6 -1
  347. package/dist/humain/web-access/vendor/ssrf-protection.js.map +1 -1
  348. package/dist/humain/web-access/vendor/utils.d.ts +12 -0
  349. package/dist/humain/web-access/vendor/utils.d.ts.map +1 -1
  350. package/dist/humain/web-access/vendor/utils.js +343 -1
  351. package/dist/humain/web-access/vendor/utils.js.map +1 -1
  352. package/dist/humain/web-access/vendor/xcrawl.d.ts +4 -0
  353. package/dist/humain/web-access/vendor/xcrawl.d.ts.map +1 -0
  354. package/dist/humain/web-access/vendor/xcrawl.js +251 -0
  355. package/dist/humain/web-access/vendor/xcrawl.js.map +1 -0
  356. package/dist/humain/web-access/vendor/youtube-extract.js +2 -2
  357. package/dist/humain/web-access/vendor/youtube-extract.js.map +1 -1
  358. package/dist/index.d.ts +5 -5
  359. package/dist/index.d.ts.map +1 -1
  360. package/dist/index.js +4 -4
  361. package/dist/index.js.map +1 -1
  362. package/dist/main.d.ts +3 -0
  363. package/dist/main.d.ts.map +1 -1
  364. package/dist/main.js +17 -14
  365. package/dist/main.js.map +1 -1
  366. package/dist/migrations.d.ts.map +1 -1
  367. package/dist/migrations.js +4 -3
  368. package/dist/migrations.js.map +1 -1
  369. package/dist/modes/interactive/components/model-selector.d.ts +9 -3
  370. package/dist/modes/interactive/components/model-selector.d.ts.map +1 -1
  371. package/dist/modes/interactive/components/model-selector.js +53 -10
  372. package/dist/modes/interactive/components/model-selector.js.map +1 -1
  373. package/dist/modes/interactive/components/settings-selector.d.ts +7 -2
  374. package/dist/modes/interactive/components/settings-selector.d.ts.map +1 -1
  375. package/dist/modes/interactive/components/settings-selector.js +118 -55
  376. package/dist/modes/interactive/components/settings-selector.js.map +1 -1
  377. package/dist/modes/interactive/components/settings-submenu.d.ts +72 -0
  378. package/dist/modes/interactive/components/settings-submenu.d.ts.map +1 -0
  379. package/dist/modes/interactive/components/settings-submenu.js +151 -0
  380. package/dist/modes/interactive/components/settings-submenu.js.map +1 -0
  381. package/dist/modes/interactive/components/thinking-selector.d.ts +15 -3
  382. package/dist/modes/interactive/components/thinking-selector.d.ts.map +1 -1
  383. package/dist/modes/interactive/components/thinking-selector.js +68 -17
  384. package/dist/modes/interactive/components/thinking-selector.js.map +1 -1
  385. package/dist/modes/interactive/external-editor.d.ts.map +1 -1
  386. package/dist/modes/interactive/external-editor.js +2 -1
  387. package/dist/modes/interactive/external-editor.js.map +1 -1
  388. package/dist/modes/interactive/interactive-mode.d.ts +11 -0
  389. package/dist/modes/interactive/interactive-mode.d.ts.map +1 -1
  390. package/dist/modes/interactive/interactive-mode.js +176 -106
  391. package/dist/modes/interactive/interactive-mode.js.map +1 -1
  392. package/dist/modes/interactive/session-share.d.ts +16 -0
  393. package/dist/modes/interactive/session-share.d.ts.map +1 -0
  394. package/dist/modes/interactive/session-share.js +188 -0
  395. package/dist/modes/interactive/session-share.js.map +1 -0
  396. package/dist/modes/interactive/theme/theme.d.ts.map +1 -1
  397. package/dist/modes/interactive/theme/theme.js +6 -5
  398. package/dist/modes/interactive/theme/theme.js.map +1 -1
  399. package/dist/modes/json-event.d.ts +16 -13
  400. package/dist/modes/json-event.d.ts.map +1 -1
  401. package/dist/modes/json-event.js +20 -6
  402. package/dist/modes/json-event.js.map +1 -1
  403. package/dist/modes/rpc/rpc-client.d.ts.map +1 -1
  404. package/dist/modes/rpc/rpc-client.js +3 -2
  405. package/dist/modes/rpc/rpc-client.js.map +1 -1
  406. package/dist/modes/rpc/rpc-types.d.ts +2 -7
  407. package/dist/modes/rpc/rpc-types.d.ts.map +1 -1
  408. package/dist/modes/rpc/rpc-types.js.map +1 -1
  409. package/dist/package-manager-cli.d.ts +1 -0
  410. package/dist/package-manager-cli.d.ts.map +1 -1
  411. package/dist/package-manager-cli.js +189 -3
  412. package/dist/package-manager-cli.js.map +1 -1
  413. package/dist/utils/changelog.d.ts +1 -1
  414. package/dist/utils/changelog.d.ts.map +1 -1
  415. package/dist/utils/changelog.js +12 -2
  416. package/dist/utils/changelog.js.map +1 -1
  417. package/dist/utils/frontmatter.d.ts.map +1 -1
  418. package/dist/utils/frontmatter.js +2 -1
  419. package/dist/utils/frontmatter.js.map +1 -1
  420. package/dist/utils/management-http.d.ts +5 -3
  421. package/dist/utils/management-http.d.ts.map +1 -1
  422. package/dist/utils/management-http.js +14 -10
  423. package/dist/utils/management-http.js.map +1 -1
  424. package/dist/utils/shell.d.ts +3 -0
  425. package/dist/utils/shell.d.ts.map +1 -1
  426. package/dist/utils/shell.js +17 -5
  427. package/dist/utils/shell.js.map +1 -1
  428. package/dist/utils/syntax-highlight.d.ts +1 -0
  429. package/dist/utils/syntax-highlight.d.ts.map +1 -1
  430. package/dist/utils/syntax-highlight.js +64 -1
  431. package/dist/utils/syntax-highlight.js.map +1 -1
  432. package/dist/utils/text.d.ts +8 -0
  433. package/dist/utils/text.d.ts.map +1 -0
  434. package/dist/utils/text.js +9 -0
  435. package/dist/utils/text.js.map +1 -0
  436. package/dist/utils/version-check.js +4 -4
  437. package/dist/utils/version-check.js.map +1 -1
  438. package/docs/compaction.md +15 -0
  439. package/docs/custom-provider.md +5 -2
  440. package/docs/environment-variables.md +7 -7
  441. package/docs/extensions.md +17 -7
  442. package/docs/json.md +7 -2
  443. package/docs/keybindings.md +8 -8
  444. package/docs/llama-cpp.md +2 -0
  445. package/docs/models.md +8 -2
  446. package/docs/packages.md +2 -2
  447. package/docs/rpc.md +9 -3
  448. package/docs/sdk.md +7 -2
  449. package/docs/settings.md +11 -3
  450. package/docs/skills.md +3 -2
  451. package/docs/terminal-setup.md +8 -0
  452. package/docs/usage.md +10 -7
  453. package/docs/windows.md +15 -1
  454. package/examples/extensions/border-status-editor.ts +1 -1
  455. package/examples/extensions/custom-provider-anthropic/package-lock.json +70 -8
  456. package/examples/extensions/custom-provider-anthropic/package.json +2 -2
  457. package/examples/extensions/custom-provider-gitlab-duo/package.json +1 -1
  458. package/examples/extensions/git-checkpoint.ts +2 -2
  459. package/examples/extensions/gondolin/package-lock.json +2 -2
  460. package/examples/extensions/gondolin/package.json +1 -1
  461. package/examples/extensions/notify.ts +3 -1
  462. package/examples/extensions/sandbox/package-lock.json +14 -40
  463. package/examples/extensions/sandbox/package.json +2 -2
  464. package/examples/extensions/titlebar-spinner.ts +1 -1
  465. package/examples/extensions/with-deps/package-lock.json +4 -4
  466. package/examples/extensions/with-deps/package.json +1 -1
  467. package/examples/rpc-extension-ui.ts +1 -1
  468. package/examples/sdk/06-extensions.ts +1 -1
  469. package/examples/sdk/README.md +1 -1
  470. package/npm-shrinkwrap.json +293 -221
  471. package/package.json +21 -18
  472. package/src/humain/mcp-adapter/UPSTREAM.md +15 -5
  473. package/src/humain/mcp-adapter/upstream.json +4 -3
  474. package/src/humain/mcp-adapter/vendor/CHANGELOG.md +82 -0
  475. package/src/humain/web-access/UPSTREAM.md +1 -1
  476. package/src/humain/web-access/upstream.json +6 -4
@@ -0,0 +1,294 @@
1
+ import { createRequire as __piCreateRequire } from "node:module"; const require = __piCreateRequire(import.meta.url);
2
+ import{require_turndown_cjs}from"./chunk-BZQ53VGE.js";import{dist_exports,init_dist,require_canvas,require_lib}from"./chunk-MA4UUCYX.js";import{__commonJS,__toCommonJS}from"./chunk-JXWJOIH4.js";var require_utils=__commonJS({"node_modules/defuddle/dist/utils.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.CJK_CHAR_RANGES=void 0;exports.isElement=isElement;exports.isTextNode=isTextNode;exports.isCommentNode=isCommentNode;exports.isSVGElement=isSVGElement;exports.getComputedStyle=getComputedStyle;exports.getWindow=getWindow;exports.textPreview=textPreview;exports.logDebug=logDebug;exports.normalizeText=normalizeText;exports.countWords=countWords;var NODE_TYPE={ELEMENT_NODE:1,ATTRIBUTE_NODE:2,TEXT_NODE:3,CDATA_SECTION_NODE:4,ENTITY_REFERENCE_NODE:5,ENTITY_NODE:6,PROCESSING_INSTRUCTION_NODE:7,COMMENT_NODE:8,DOCUMENT_NODE:9,DOCUMENT_TYPE_NODE:10,DOCUMENT_FRAGMENT_NODE:11,NOTATION_NODE:12};function isElement(node){return node.nodeType===NODE_TYPE.ELEMENT_NODE}function isTextNode(node){return node.nodeType===NODE_TYPE.TEXT_NODE}function isCommentNode(node){return node.nodeType===NODE_TYPE.COMMENT_NODE}function isSVGElement(el){return el.closest?.("svg")!==null||el.namespaceURI==="http://www.w3.org/2000/svg"}function getComputedStyle(element){let win=getWindow(element.ownerDocument);return!win||typeof win.getComputedStyle!="function"?null:win.getComputedStyle(element)}function getWindow(doc){return doc.defaultView?doc.defaultView:doc.ownerWindow?doc.ownerWindow:doc.window?doc.window:null}function textPreview(el){return(el.textContent||"").trim().substring(0,200)}function logDebug(debug,message,...args){debug&&console.log("Defuddle:",message,...args)}exports.CJK_CHAR_RANGES="\\u3040-\\u309f\\u30a0-\\u30ff\\u3400-\\u4dbf\\u4e00-\\u9fff\\uf900-\\ufaff\\uac00-\\ud7af";function normalizeText(text){return text.replace(/\u00A0/g," ").replace(/[\u2018\u2019\u201A\u201B]/g,"'").replace(/[\u2012\u2013\u2014\u2015]/g,"-").replace(/[\u201C\u201D\u201E\u201F]/g,'"').replace(/\u2026/g,"...").replace(/\s+/g," ").trim().toLowerCase()}function countWords(text){if(!text)return 0;let cjkCount=0,wordCount=0,inWord=!1;for(let i=0;i<text.length;i++){let code=text.charCodeAt(i);code>=12352&&code<=12447||code>=12448&&code<=12543||code>=13312&&code<=19903||code>=19968&&code<=40959||code>=63744&&code<=64255||code>=44032&&code<=55215?(cjkCount++,inWord=!1):code<=32?inWord=!1:inWord||(wordCount++,inWord=!0)}return cjkCount+wordCount}}});var require_metadata=__commonJS({"node_modules/defuddle/dist/metadata.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MetadataExtractor=void 0;var utils_1=require_utils(),MetadataExtractor=class{static extract(doc,schemaOrgData,metaTags){let domain="",url="";try{if(url=doc.location?.href||"",url||(url=this.getMetaContent(metaTags,"property","og:url")||this.getMetaContent(metaTags,"property","twitter:url")||this.getSchemaProperty(schemaOrgData,"url")||this.getSchemaProperty(schemaOrgData,"mainEntityOfPage.url")||this.getSchemaProperty(schemaOrgData,"mainEntity.url")||this.getSchemaProperty(schemaOrgData,"WebSite.url")||doc.querySelector('link[rel="canonical"]')?.getAttribute("href")||""),url)try{domain=new URL(url).hostname.replace(/^www\./,"")}catch(e){console.warn("Failed to parse URL:",e)}}catch{let baseTag=doc.querySelector("base[href]");if(baseTag)try{url=baseTag.getAttribute("href")||"",domain=new URL(url).hostname.replace(/^www\./,"")}catch(e2){console.warn("Failed to parse base URL:",e2)}}let siteName=this.getSiteName(schemaOrgData,metaTags),{title,detectedSiteName}=this.cleanTitle(this.getBestTitle(doc,schemaOrgData,metaTags,domain,siteName),siteName),author=this.getAuthor(doc,schemaOrgData,metaTags),authorAsSite=author&&!author.includes(",")?author:"",site=siteName||detectedSiteName||authorAsSite||domain||"";return{title,description:this.getDescription(doc,schemaOrgData,metaTags),domain,favicon:this.getFavicon(doc,url,metaTags),image:this.getImage(doc,schemaOrgData,metaTags),language:this.getLanguage(doc,schemaOrgData,metaTags),published:this.getPublished(doc,schemaOrgData,metaTags,url),author,site,schemaOrgData,wordCount:0,parseTime:0}}static isPlaceholderValue(s){return!!(/[{}]/.test(s)||/^#[a-zA-Z]/.test(s)||!/[\p{L}\p{N}]/u.test(s))}static firstValid(thunks){for(let thunk of thunks){let v=thunk();if(v&&!this.isPlaceholderValue(v))return v}return""}static getAuthor(doc,schemaOrgData,metaTags){let authorsString;if(authorsString=this.firstValid([()=>this.getMetaContent(metaTags,"name","sailthru.author"),()=>this.getMetaContent(metaTags,"property","article:author"),()=>this.getMetaContent(metaTags,"property","author"),()=>this.getMetaContent(metaTags,"name","author"),()=>this.getMetaContent(metaTags,"name","byl"),()=>this.getMetaContent(metaTags,"name","authorList")]),authorsString){let cleaned=this.cleanAuthorString(authorsString);if(cleaned)return cleaned}let authorsStrings=this.getMetaContents(metaTags,"name","citation_author").filter(s=>!this.isPlaceholderValue(s));if(authorsStrings.length===0&&(authorsStrings=this.getMetaContents(metaTags,"property","dc.creator").filter(s=>!this.isPlaceholderValue(s))),authorsStrings.length>0)return authorsString=authorsStrings.map(s=>{if(!s.includes(","))return s.trim();let parts=/(.*),\s(.*)/.exec(s);return parts&&parts.length===3?`${parts[2]} ${parts[1]}`:s.trim()}).join(", "),authorsString;let schemaAuthors=this.getSchemaProperty(schemaOrgData,"author.name")||this.getSchemaProperty(schemaOrgData,"author.[].name");if(schemaAuthors){let parts=schemaAuthors.split(",").map(part=>part.trim().replace(/,$/,"").trim()).filter(part=>part&&!this.isPlaceholderValue(part));if(parts.length>0){let uniqueSchemaAuthors=[...new Set(parts)];return uniqueSchemaAuthors.length>10&&(uniqueSchemaAuthors=uniqueSchemaAuthors.slice(0,10)),uniqueSchemaAuthors.join(", ")}}let relAuthorEls=doc.querySelectorAll('a[rel~="author"], address[rel~="author"]');if(relAuthorEls.length>0&&relAuthorEls.length<=3){let relNames=[];relAuthorEls.forEach(el=>{let text=this.getVisibleText(el),lower=text.toLowerCase();text&&text.length<100&&lower!=="author"&&lower!=="authors"&&!this.isPlaceholderValue(text)&&relNames.push(text)});let uniqueRelNames=[...new Set(relNames)];if(uniqueRelNames.length>0)return uniqueRelNames.join(", ")}let collectedAuthorsFromDOM=[],addDomAuthor=value=>{value&&value.split(",").forEach(namePart=>{let cleanedName=namePart.replace(/\s+/g," ").trim().replace(/,$/,"").trim(),lowerCleanedName=cleanedName.toLowerCase();cleanedName&&lowerCleanedName!=="author"&&lowerCleanedName!=="authors"&&!this.isPlaceholderValue(cleanedName)&&collectedAuthorsFromDOM.push(cleanedName)})},domAuthorSelectors=[{selector:'[itemprop="author"]'},{selector:".author",maxMatches:3},{selector:'[href*="/author/"]',maxMatches:3},{selector:".authors a",maxMatches:3}];for(let{selector,maxMatches}of domAuthorSelectors){let matches=doc.querySelectorAll(selector);maxMatches&&matches.length>maxMatches||matches.forEach(el=>addDomAuthor(this.getAuthorName(el)))}if(collectedAuthorsFromDOM.length>0){let uniqueAuthors=[...new Set(collectedAuthorsFromDOM.map(name=>name.trim()).filter(Boolean))];if(uniqueAuthors.length>1&&(uniqueAuthors=uniqueAuthors.filter(a=>!uniqueAuthors.some(b=>b!==a&&a.includes(b)))),uniqueAuthors.length>0)return uniqueAuthors.length>10&&(uniqueAuthors=uniqueAuthors.slice(0,10)),uniqueAuthors.join(", ")}let h1=doc.querySelector("h1");if(h1){let sibling=h1.nextElementSibling;for(let i=0;i<3&&sibling;i++){let siblingText=sibling.textContent?.trim()||"",childEls=Array.from(sibling.querySelectorAll("p, time")),hasDateChild=childEls.some(el=>!!this.parseDateText(el.textContent?.trim()||""));if(!!this.parseDateText(siblingText)||hasDateChild){let links=sibling.querySelectorAll("a");if(links.length===1){let linkText=(links[0].textContent?.trim()||"").replace(/\u00a0/g," ");if(linkText.length>0&&linkText.length<100&&!this.parseDateText(linkText))return linkText}if(hasDateChild&&siblingText.length<300)for(let p of childEls){if(p.tagName!=="P")continue;let pText=(p.textContent?.trim()||"").replace(/\u00a0/g," ");if(pText.length>0&&pText.length<150&&!this.parseDateText(pText))return pText}}sibling=sibling.nextElementSibling}let bylineScope=h1;for(let depth=0;depth<3&&bylineScope;depth++){let bylineCandidate=bylineScope.previousElementSibling;for(let i=0;i<3&&bylineCandidate;i++){let bylineResult=this.extractByline(bylineCandidate);if(bylineResult)return bylineResult;bylineCandidate=bylineCandidate.previousElementSibling}bylineCandidate=bylineScope.nextElementSibling;for(let i=0;i<3&&bylineCandidate;i++){let bylineResult=this.extractByline(bylineCandidate);if(bylineResult)return bylineResult;bylineCandidate=bylineCandidate.nextElementSibling}bylineScope=bylineScope.parentElement}}return""}static extractByline(el){let candidates=[el,...el.querySelectorAll("p, span, address")];for(let candidate of candidates){let text=(candidate.textContent?.trim()||"").replace(/\u00a0/g," ");if(text.length>0&&text.length<50){let bylineMatch=text.match(/^By\s+([A-Z].+)$/i);if(bylineMatch)return bylineMatch[1].trim()}}return null}static cleanAuthorString(s){return s=s.replace(/^by\s+/i,""),s=s.replace(/\(?\s*https?:\/\/\S+\s*\)?/gi,""),s=s.replace(/,?\s+and\s+/gi,", "),s=s.replace(/\s*[-–—|]\s*$/g,""),s.trim()}static getSiteName(schemaOrgData,metaTags){let candidate=this.firstValid([()=>this.getSchemaProperty(schemaOrgData,"publisher.name"),()=>this.getMetaContent(metaTags,"property","og:site_name"),()=>this.getMetaContent(metaTags,"name","og:site_name"),()=>this.getSchemaProperty(schemaOrgData,"WebSite.name"),()=>this.getSchemaProperty(schemaOrgData,"sourceOrganization.name"),()=>this.getMetaContent(metaTags,"name","copyright"),()=>this.getSchemaProperty(schemaOrgData,"copyrightHolder.name"),()=>this.getSchemaProperty(schemaOrgData,"isPartOf.name"),()=>this.getMetaContent(metaTags,"name","application-name")]);return candidate&&(0,utils_1.countWords)(candidate)>6?"":candidate}static getBestTitle(doc,schemaOrgData,metaTags,domain,siteName){let candidates=[this.getMetaContent(metaTags,"property","og:title"),this.getMetaContent(metaTags,"name","twitter:title"),this.getSchemaProperty(schemaOrgData,"headline"),this.getMetaContent(metaTags,"name","title"),this.getMetaContent(metaTags,"name","sailthru.title"),doc.querySelector("title")?.textContent?.trim()||"",doc.querySelector("h1")?.textContent?.trim()||""].filter(c=>c&&!this.isPlaceholderValue(c));if(candidates.length===0)return"";let authorNorm=(this.getMetaContent(metaTags,"property","author")||this.getMetaContent(metaTags,"name","author")).trim().toLowerCase(),siteNorm=siteName.trim().toLowerCase(),domainNorm=domain?domain.replace(/\.[^.]+$/,"").toLowerCase().replace(/[^a-z0-9]/g,""):"";return candidates.find(c=>!this.isSiteIdentifier(c,authorNorm,siteNorm,domainNorm))??candidates[0]}static isSiteIdentifier(candidate,authorNorm,siteNorm,domainNorm){let norm=candidate.trim().toLowerCase();return!!(authorNorm&&norm===authorNorm||siteNorm&&norm===siteNorm||domainNorm&&norm.replace(/[^a-z0-9]/g,"")===domainNorm)}static cleanTitle(title,siteName){if(!title)return{title,detectedSiteName:""};let separators="[|\\-\u2013\u2014/\xB7]";if(siteName&&siteName.toLowerCase()!==title.toLowerCase()&&(0,utils_1.countWords)(siteName)<=6){let siteNameLower=siteName.toLowerCase(),siteNameEscaped=siteName.replace(/[.*+?^${}()|[\]\\]/g,"\\$&"),patterns=[`\\s*${separators}\\s*${siteNameEscaped}\\s*$`,`^\\s*${siteNameEscaped}\\s*${separators}\\s*`];for(let pattern of patterns){let regex=new RegExp(pattern,"i");if(regex.test(title))return{title:title.replace(regex,"").trim(),detectedSiteName:siteName}}let allSepPattern=new RegExp(`\\s+${separators}\\s+`,"g"),sepMatch,allPositions=[];for(;(sepMatch=allSepPattern.exec(title))!==null;)allPositions.push({index:sepMatch.index,length:sepMatch[0].length});if(allPositions.length>0){let lastPos=allPositions[allPositions.length-1],lastSegment=title.substring(lastPos.index+lastPos.length).trim().toLowerCase();if(lastSegment&&siteNameLower.includes(lastSegment)){let cutIndex=lastPos.index;for(let i=allPositions.length-2;i>=0;i--){let pos=allPositions[i],segment=title.substring(pos.index+pos.length,cutIndex).trim();if((0,utils_1.countWords)(segment)>3)break;cutIndex=pos.index}return{title:title.substring(0,cutIndex).trim(),detectedSiteName:siteName}}let firstPos=allPositions[0],prefixSegment=title.substring(0,firstPos.index).trim().toLowerCase();if(prefixSegment&&siteNameLower.includes(prefixSegment)){let cutIndex=firstPos.index+firstPos.length;for(let i=1;i<allPositions.length;i++){let pos=allPositions[i],segment=title.substring(cutIndex,pos.index).trim();if((0,utils_1.countWords)(segment)>3)break;cutIndex=pos.index+pos.length}return{title:title.substring(cutIndex).trim(),detectedSiteName:siteName}}}}let strongResult=this.trySeparatorSplit(title,/\s+([|/·])\s+/g,{guard:(tW,sW)=>sW<=3&&tW>=2&&tW>=sW*2});if(strongResult)return strongResult;let dashResult=this.trySeparatorSplit(title,/\s+[-–—]\s+/g,{suffixOnly:!0,guard:(tW,sW)=>sW<=2&&tW>=2&&tW>sW});return dashResult||{title:title.trim(),detectedSiteName:""}}static trySeparatorSplit(title,pattern,opts){let match,positions=[];for(;(match=pattern.exec(title))!==null;)positions.push({index:match.index,length:match[0].length});if(positions.length===0)return null;let last=positions[positions.length-1],suffixTitle=title.substring(0,last.index).trim(),suffixSite=title.substring(last.index+last.length).trim();if(opts.guard((0,utils_1.countWords)(suffixTitle),(0,utils_1.countWords)(suffixSite)))return{title:suffixTitle,detectedSiteName:suffixSite};if(!opts.suffixOnly){let first=positions[0],prefixSite=title.substring(0,first.index).trim(),prefixTitle=title.substring(first.index+first.length).trim();if(opts.guard((0,utils_1.countWords)(prefixTitle),(0,utils_1.countWords)(prefixSite)))return{title:prefixTitle,detectedSiteName:prefixSite}}return null}static getDescription(doc,schemaOrgData,metaTags){return this.firstValid([()=>this.getMetaContent(metaTags,"name","description"),()=>this.getMetaContent(metaTags,"property","description"),()=>this.getMetaContent(metaTags,"property","og:description"),()=>this.getSchemaProperty(schemaOrgData,"description"),()=>this.getMetaContent(metaTags,"name","twitter:description"),()=>this.getMetaContent(metaTags,"name","sailthru.description")])}static getImage(doc,schemaOrgData,metaTags){return this.getMetaContent(metaTags,"property","og:image")||this.getMetaContent(metaTags,"name","twitter:image")||this.getSchemaProperty(schemaOrgData,"image.url")||this.getMetaContent(metaTags,"name","sailthru.image.full")||""}static getLanguage(doc,schemaOrgData,metaTags){let htmlLang=doc.documentElement?.getAttribute("lang")?.trim();if(htmlLang)return this.normalizeLangCode(htmlLang);let contentLang=this.getMetaContent(metaTags,"name","content-language")||this.getMetaContent(metaTags,"property","og:locale");if(contentLang)return this.normalizeLangCode(contentLang);let httpEquivLang=doc.querySelector('meta[http-equiv="Content-Language" i]')?.getAttribute("content")?.trim();if(httpEquivLang)return this.normalizeLangCode(httpEquivLang);let schemaLang=this.getSchemaProperty(schemaOrgData,"inLanguage");return schemaLang?this.normalizeLangCode(schemaLang):""}static normalizeLangCode(code){return code.replace(/_/g,"-")}static getFavicon(doc,baseUrl,metaTags){let iconFromMeta=this.getMetaContent(metaTags,"property","og:image:favicon");if(iconFromMeta)return iconFromMeta;let iconLink=doc.querySelector("link[rel='icon']")?.getAttribute("href");if(iconLink)return iconLink;let shortcutLink=doc.querySelector("link[rel='shortcut icon']")?.getAttribute("href");if(shortcutLink)return shortcutLink;if(baseUrl&&/^https?:\/\//.test(baseUrl))try{return new URL("/favicon.ico",baseUrl).href}catch{}return""}static getPublished(doc,schemaOrgData,metaTags,url){let result=this.firstValid([()=>this.getSchemaProperty(schemaOrgData,"datePublished"),()=>this.getMetaContent(metaTags,"name","publishDate"),()=>this.getMetaContent(metaTags,"property","article:published_time"),()=>doc.querySelector('abbr[itemprop="datePublished"]')?.title?.trim()||"",()=>this.getTimeElement(doc,url),()=>this.getMetaContent(metaTags,"name","sailthru.date")]);if(result)return result;let h1=doc.querySelector("h1");if(h1){let scan=(start,step,childrenOnly)=>{let sibling=start;for(let i=0;i<3&&sibling;i++){for(let child of Array.from(sibling.querySelectorAll("p, time"))){let parsed=this.parseDateText(child.textContent?.trim()||"");if(parsed)return parsed}if(!childrenOnly){let parsed=this.parseDateText(sibling.textContent?.trim()||"");if(parsed)return parsed}sibling=step(sibling)}return""},found=this.firstValid([()=>scan(h1.nextElementSibling,el=>el.nextElementSibling,!1),()=>scan(h1.previousElementSibling,el=>el.previousElementSibling,!0)]);if(found)return found}return""}static getMetaContent(metaTags,attr,value){return this.getMetaContents(metaTags,attr,value)[0]??""}static getMetaContents(metaTags,attr,value){return metaTags.filter(tag=>(attr==="name"?tag.name:tag.property)?.toLowerCase()===value.toLowerCase()).map(tag=>tag.content?.trim()??"")}static getTimeElement(doc,url){for(let element of Array.from(doc.querySelectorAll("time"))){if(this.isLinkedToOtherPage(element,url))continue;let content=element.getAttribute("datetime")?.trim()||element.textContent?.trim()||"";if(content)return content}return""}static isLinkedToOtherPage(el,pageUrl){if(!pageUrl)return!1;let anchor=el.closest("a[href]");if(!anchor)return!1;let href=anchor.getAttribute("href")?.trim()||"";if(!href||href.startsWith("#"))return!1;try{let target=new URL(href,pageUrl),current=new URL(pageUrl);if(target.origin!==current.origin)return!1;let norm=p=>p.replace(/\/+$/,"");return norm(target.pathname)!==norm(current.pathname)}catch{return!1}}static parseDateText(text){let match=text.match(/\b(\d{1,2})\s+(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{4})\b/i);if(match){let day=match[1].padStart(2,"0"),month=this.MONTH_MAP[match[2].toLowerCase()];return`${match[3]}-${month}-${day}T00:00:00+00:00`}if(match=text.match(/\b(January|February|March|April|May|June|July|August|September|October|November|December)\s+(\d{1,2}),?\s+(\d{4})\b/i),match){let month=this.MONTH_MAP[match[1].toLowerCase()],day=match[2].padStart(2,"0");return`${match[3]}-${month}-${day}T00:00:00+00:00`}return""}static getVisibleText(el){let clone=el.cloneNode(!0);return clone.querySelectorAll("script, style, noscript").forEach(s=>s.remove()),(clone.textContent||"").replace(/\s+/g," ").trim()}static getAuthorName(el){let clone=el.cloneNode(!0);clone.querySelectorAll("script, style, noscript").forEach(s=>s.remove());let text=(clone.textContent||"").replace(/\s+/g," ").trim();if(!text)return"";for(let child of clone.querySelectorAll("span, a, p")){let childText=(child.textContent||"").replace(/\s+/g," ").trim();if(childText.length>=2&&childText.length<=50&&childText!==text)return childText}return text.length<=100?text:""}static getSchemaProperty(schemaOrgData,property,defaultValue=""){if(!schemaOrgData)return defaultValue;let searchSchema=(data,props,fullPath,isExactMatch=!0)=>{if(typeof data=="string")return props.length===0?[data]:[];if(!data||typeof data!="object")return[];if(Array.isArray(data)){let currentProp2=props[0];if(/^\[\d+\]$/.test(currentProp2)){let index=parseInt(currentProp2.slice(1,-1));return data[index]?searchSchema(data[index],props.slice(1),fullPath,isExactMatch):[]}return props.length===0&&data.every(item=>typeof item=="string"||typeof item=="number")?data.map(String):data.flatMap(item=>searchSchema(item,props,fullPath,isExactMatch))}let[currentProp,...remainingProps]=props;if(!currentProp)return typeof data=="string"?[data]:typeof data=="object"&&data.name?[data.name]:[];if(data.hasOwnProperty(currentProp))return searchSchema(data[currentProp],remainingProps,fullPath?`${fullPath}.${currentProp}`:currentProp,!0);if(!isExactMatch){let nestedResults=[];for(let key in data)if(typeof data[key]=="object"){let results=searchSchema(data[key],props,fullPath?`${fullPath}.${key}`:key,!1);nestedResults.push(...results)}if(nestedResults.length>0)return nestedResults}return[]};try{let results=searchSchema(schemaOrgData,property.split("."),"",!0);results.length===0&&(results=searchSchema(schemaOrgData,property.split("."),"",!1));let unique=[...new Set(results.filter(Boolean))];return unique.length>0?unique.join(", "):defaultValue}catch(error){return console.error(`Error in getSchemaProperty for ${property}:`,error),defaultValue}}};exports.MetadataExtractor=MetadataExtractor;MetadataExtractor.MONTH_MAP={january:"01",february:"02",march:"03",april:"04",may:"05",june:"06",july:"07",august:"08",september:"09",october:"10",november:"11",december:"12"}}});var require_base=__commonJS({"node_modules/defuddle/dist/extractors/_base.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.BaseExtractor=void 0;var BaseExtractor=class{constructor(document2,url,schemaOrgData,options){this.document=document2,this.url=url,this.schemaOrgData=schemaOrgData,this.options=options||{}}get fetch(){return(this.options.fetch||globalThis.fetch).bind(globalThis)}postTitle(author,site){return`Post by ${author} on ${site}`}canExtractAsync(){return!1}prefersAsync(){return!1}async extractAsync(){return this.extract()}};exports.BaseExtractor=BaseExtractor}});var require_dom=__commonJS({"node_modules/defuddle/dist/utils/dom.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.transferContent=transferContent;exports.serializeHTML=serializeHTML;exports.decodeHTMLEntities=decodeHTMLEntities;exports.escapeHtml=escapeHtml;exports.getClassName=getClassName;exports.hasResponsiveShowClass=hasResponsiveShowClass;exports.isDangerousUrl=isDangerousUrl;exports.isDirectTableChild=isDirectTableChild;exports.parseHTML=parseHTML;function transferContent(source,target){if("replaceChildren"in target)target.replaceChildren();else for(;target.firstChild;)target.removeChild(target.firstChild);for(;source.firstChild;)target.appendChild(source.firstChild)}function serializeHTML(el){return el.innerHTML}function decodeHTMLEntities(doc,text){let textarea=doc.createElement("textarea");return textarea.innerHTML=text,textarea.value}function escapeHtml(text){return text.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;").replace(/"/g,"&quot;")}function getClassName(el){return typeof el.className=="string"?el.className:el.getAttribute("class")||""}var RESPONSIVE_SHOW_RE=/^(sm|md|lg|xl|2xl|min-\[|max-\[):(?:block|flex|grid|inline|table|contents)/;function hasResponsiveShowClass(className){return className.split(/\s+/).some(t=>RESPONSIVE_SHOW_RE.test(t))}function isDangerousUrl(url,allowInlineImage=!0){let normalized=url.replace(/[\s\u0000-\u001F]+/g,"").toLowerCase();return normalized.startsWith("javascript:")||normalized.startsWith("blob:")?!0:normalized.startsWith("data:")?!(allowInlineImage&&normalized.startsWith("data:image/")):!1}function isDirectTableChild(el,ancestor){let parent=el.parentNode;for(;parent&&parent!==ancestor;){if(parent.nodeName==="TABLE")return!1;parent=parent.parentNode}return parent===ancestor}function parseHTML(doc,html){if(!html)return doc.createDocumentFragment();let template=doc.createElement("template");if(template.innerHTML=html,template.content)return template.content;let div=doc.createElement("div");div.innerHTML=html;let fragment=doc.createDocumentFragment();for(;div.firstChild;)fragment.appendChild(div.firstChild);return fragment}}});var require_comments=__commonJS({"node_modules/defuddle/dist/utils/comments.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SITE_TOKENS=void 0;exports.isExtractorClass=isExtractorClass;exports.buildContentHtml=buildContentHtml;exports.buildCommentTree=buildCommentTree;exports.buildComment=buildComment;exports.buildQuotedPost=buildQuotedPost;var dom_1=require_dom();exports.SITE_TOKENS=["bluesky","discourse","github","gmail","hackernews","linkedin","lwn","mastodon","reddit","threads","twitter"];var SITE_TOKEN_SET=new Set(exports.SITE_TOKENS),EXTRACTOR_CLASS_TOKEN=/^(?:comments?|posts?|quoted-post|x-article)(?:-[\w-]+)?$/;function isExtractorClass(token){return SITE_TOKEN_SET.has(token)||EXTRACTOR_CLASS_TOKEN.test(token)}function buildContentHtml(site,postContent,comments){return`
3
+ <article data-defuddle>
4
+ <div class="${site} post">
5
+ <div class="post-content">
6
+ ${postContent}
7
+ </div>
8
+ </div>
9
+ ${comments?`
10
+ <hr>
11
+ <div class="${site} comments">
12
+ <h2>Comments</h2>
13
+ ${comments}
14
+ </div>
15
+ `:""}
16
+ </article>
17
+ `.trim()}function buildCommentTree(comments){let parts=[],blockquoteStack=[];for(let comment of comments){let depth=comment.depth??0;if(depth===0){for(;blockquoteStack.length>0;)parts.push("</blockquote>"),blockquoteStack.pop();parts.push("<blockquote>"),blockquoteStack.push(0)}else{let currentDepth=blockquoteStack[blockquoteStack.length-1]??-1;if(depth<currentDepth)for(;blockquoteStack.length>0&&blockquoteStack[blockquoteStack.length-1]>=depth;)parts.push("</blockquote>"),blockquoteStack.pop();let newCurrentDepth=blockquoteStack[blockquoteStack.length-1]??-1;depth>newCurrentDepth&&(parts.push("<blockquote>"),blockquoteStack.push(depth))}parts.push(buildComment(comment))}for(;blockquoteStack.length>0;)parts.push("</blockquote>"),blockquoteStack.pop();return parts.join("")}function buildComment(comment){let author=`<span class="comment-author"><strong>${(0,dom_1.escapeHtml)(comment.author)}</strong></span>`,safeUrl=comment.url&&!(0,dom_1.isDangerousUrl)(comment.url)?comment.url:"",dateHtml=safeUrl?`<a href="${(0,dom_1.escapeHtml)(safeUrl)}" class="comment-link">${(0,dom_1.escapeHtml)(comment.date)}</a>`:`<span class="comment-date">${(0,dom_1.escapeHtml)(comment.date)}</span>`,scoreHtml=comment.score?` \xB7 <span class="comment-points">${(0,dom_1.escapeHtml)(comment.score)}</span>`:"";return`<div class="comment">
18
+ <div class="comment-metadata">
19
+ ${author} \xB7 ${dateHtml}${scoreHtml}
20
+ </div>
21
+ <div class="comment-content">${comment.content}</div>
22
+ </div>`}function buildQuotedPost(post){let header="";post.author&&(header+=`<p><strong>${(0,dom_1.escapeHtml)(post.author)}</strong>`,post.date&&(header+=` \xB7 ${(0,dom_1.escapeHtml)(post.date)}`),header+="</p>");let footer="";if(post.url){let safeUrl=(0,dom_1.isDangerousUrl)(post.url)?"":post.url;safeUrl&&(footer=`
23
+ <p><a href="${(0,dom_1.escapeHtml)(safeUrl)}">${(0,dom_1.escapeHtml)(safeUrl)}</a></p>`)}return`<blockquote class="quoted-post">${header}${post.content}${footer}</blockquote>`}}});var require_reddit=__commonJS({"node_modules/defuddle/dist/extractors/reddit.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.RedditExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),comments_1=require_comments(),REQUEST_CACHE_TTL_MS=6e4,REQUEST_ERROR_TTL_MS=5e3,REQUEST_TIMEOUT_MS=1e4,MAX_CACHE_ENTRIES=16,requestCache=new Map,USER_AGENT="defuddle (+https://defuddle.md)",XML_ENTITIES={"&lt;":"<","&gt;":">","&quot;":'"',"&apos;":"'","&amp;":"&"};function isLoginWall(finalUrl){try{return/^\/login\/?$/.test(new URL(finalUrl).pathname)}catch{return!1}}function decodeXmlEntities(value){return value.replace(/&(?:lt|gt|quot|apos|amp|#(\d+)|#x([0-9a-fA-F]+));/g,(entity,dec,hex)=>dec||hex?String.fromCodePoint(parseInt(dec??hex,dec?10:16)):XML_ENTITIES[entity]??entity)}var RedditExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.shredditPost=document2.querySelector("shreddit-post"),this.isOldReddit=!!document2.querySelector(".thing.link")}canExtract(){return!!this.shredditPost||this.isOldReddit}canExtractAsync(){return this.isCommentsPage()&&!this.isOldReddit}prefersAsync(){let isBrowser=typeof window<"u"&&this.document.defaultView===window;return this.isCommentsPage()&&!this.isOldReddit&&!isBrowser}isCommentsPage(){return/\/r\/.+\/comments\//.test(this.url)}async extractAsync(){let fromOldReddit=await this.tryOldReddit();return fromOldReddit||this.extractFromFeed()}async tryOldReddit(){let oldUrl=new URL(this.url);oldUrl.hostname="old.reddit.com";let response=await this.request(oldUrl.toString(),"text/html,application/xhtml+xml").catch(()=>null);if(!response?.ok||isLoginWall(response.url))return null;let doc=this.parseDocument(response.text);return doc.querySelector(".thing.link")?this.extractOldReddit(doc):null}async extractFromFeed(){let feedUrl=new URL(this.url);feedUrl.hostname="www.reddit.com",feedUrl.pathname=`${feedUrl.pathname.replace(/\/+$/,"")}/.rss`;let response=await this.request(feedUrl.toString(),"application/atom+xml, application/rss+xml, application/xml");if(!response.ok)throw new Error(`Failed to fetch ${feedUrl.hostname}: ${response.status}`);return this.extractFeed(response.text)}async request(url,accept){if(this.options.fetch)return this.send(url,accept);let now=Date.now(),cached=requestCache.get(url);if(cached&&cached.expires>now)return cached.page;requestCache.delete(url);let page=this.send(url,accept),entry={expires:now+REQUEST_CACHE_TTL_MS,page};for(requestCache.set(url,entry),page.catch(()=>{entry.expires=Date.now()+REQUEST_ERROR_TTL_MS});requestCache.size>MAX_CACHE_ENTRIES;)requestCache.delete(requestCache.keys().next().value);return page}async send(url,accept){let response=await this.fetch(url,{headers:{"User-Agent":USER_AGENT,Accept:accept},signal:AbortSignal.timeout(REQUEST_TIMEOUT_MS)}),finalUrl=response.url||url,wanted=response.ok&&!isLoginWall(finalUrl);return wanted||response.body?.cancel().catch(()=>{}),{ok:response.ok,status:response.status,url:finalUrl,text:wanted?await response.text():""}}parseDocument(html){let Parser=this.document.defaultView?.DOMParser??(typeof DOMParser<"u"?DOMParser:null);if(!Parser)throw new Error("DOMParser is not available in this environment");return new Parser().parseFromString(html,"text/html")}extractFeed(xml){let includeReplies=this.options.includeReplies!==!1,entries=xml.split("<entry>").slice(1).filter(entry=>{let id=entry.match(/<id>([\s\S]*?)<\/id>/)?.[1]??"";return id.startsWith("t3_")||includeReplies&&id.startsWith("t1_")}).map(entry=>this.parseFeedEntry(entry)),post=entries.find(entry=>entry.id.startsWith("t3_")),postBody=post?.content||"",comments=(0,comments_1.buildCommentTree)(entries.filter(entry=>entry.id.startsWith("t1_")).map(entry=>({author:entry.author,date:entry.date,content:entry.content,depth:0,url:entry.url||void 0})));return this.buildResult(postBody,comments,{title:post?.title||"",author:post?.author||"",subreddit:this.getSubreddit()})}parseFeedEntry(entry){let field=pattern=>(entry.match(pattern)?.[1]??"").trim();return{id:field(/<id>([\s\S]*?)<\/id>/),author:decodeXmlEntities(field(/<author>[\s\S]*?<name>([\s\S]*?)<\/name>/)).replace(/^\/u\//,""),title:decodeXmlEntities(field(/<title>([\s\S]*?)<\/title>/)),date:field(/<updated>([\s\S]*?)<\/updated>/).split("T")[0],url:decodeXmlEntities(field(/<link[^>]*href="([^"]*)"/)),content:this.feedContentHtml(field(/<content[^>]*>([\s\S]*?)<\/content>/))}}feedContentHtml(escaped){if(!escaped)return"";let container=this.document.createElement("div");container.appendChild((0,dom_1.parseHTML)(this.document,decodeXmlEntities(escaped)));let body=container.querySelector(".md");return body?(0,dom_1.serializeHTML)(body):(0,dom_1.serializeHTML)(container)}extract(){if(this.isOldReddit)return this.extractOldReddit(this.document);let postTitle=this.document.querySelector("h1")?.textContent?.trim()||"",subreddit=this.getSubreddit(),postAuthor=this.getPostAuthor(),postContent=this.getPostContent(),description=this.createDescription(postContent),comments=this.options.includeReplies!==!1?this.extractComments():"";return this.buildResult(postContent,comments,{title:postTitle,author:postAuthor,subreddit},description)}buildResult(postBody,comments,meta,description=this.createDescription(postBody)){let contentHtml=this.createContentHtml(postBody,comments);return{content:contentHtml,contentHtml,extractedContent:{postId:this.getPostId(),subreddit:meta.subreddit,postAuthor:meta.author},variables:{title:meta.title,author:meta.author,site:`r/${meta.subreddit}`,description}}}extractOldReddit(root){let thingLink=root.querySelector(".thing.link"),postTitle=thingLink?.querySelector("a.title")?.textContent?.trim()||"",postAuthor=thingLink?.getAttribute("data-author")||"",subreddit=thingLink?.getAttribute("data-subreddit")||"",postBodyEl=thingLink?.querySelector(".usertext-body .md"),postBody=postBodyEl?(0,dom_1.serializeHTML)(postBodyEl):"",comments="";if(this.options.includeReplies!==!1){let commentArea=root.querySelector(".commentarea .sitetable");comments=(0,comments_1.buildCommentTree)(commentArea?this.collectOldRedditComments(commentArea):[])}return this.buildResult(postBody,comments,{title:postTitle,author:postAuthor,subreddit})}getPostContent(){let textBodyEl=this.shredditPost?.querySelector('[slot="text-body"]'),textBody=textBodyEl?(0,dom_1.serializeHTML)(textBodyEl):"",mediaBody=this.shredditPost?.querySelector("#post-image")?.outerHTML||"";return textBody+mediaBody}createContentHtml(postContent,comments){return(0,comments_1.buildContentHtml)("reddit",postContent,comments)}extractComments(){let comments=Array.from(this.document.querySelectorAll("shreddit-comment"));return this.processComments(comments)}getPostId(){return this.url.match(/comments\/([a-zA-Z0-9]+)/)?.[1]||""}getSubreddit(){return this.url.match(/\/r\/([^/]+)/)?.[1]||""}getPostAuthor(){return this.shredditPost?.getAttribute("author")||""}createDescription(postContent){if(!postContent)return"";let tempDiv=this.document.createElement("div");return tempDiv.appendChild((0,dom_1.parseHTML)(this.document,postContent)),tempDiv.textContent?.trim().slice(0,140).replace(/\s+/g," ")||""}collectOldRedditComments(container,depth=0){let result=[],comments=Array.from(container.querySelectorAll(":scope > .thing.comment"));for(let comment of comments){let author=comment.getAttribute("data-author")||"",permalink=comment.getAttribute("data-permalink")||"",score=comment.querySelector(".entry .tagline .score.unvoted")?.textContent?.trim()||"",datetime=comment.querySelector(".entry .tagline time[datetime]")?.getAttribute("datetime")||"",date=datetime?new Date(datetime).toISOString().split("T")[0]:"",bodyEl=comment.querySelector(".entry .usertext-body .md"),body=bodyEl?(0,dom_1.serializeHTML)(bodyEl):"";result.push({author,date,content:body,depth,score:score||void 0,url:permalink?`https://reddit.com${permalink}`:void 0});let childContainer=comment.querySelector(".child > .sitetable");childContainer&&result.push(...this.collectOldRedditComments(childContainer,depth+1))}return result}processComments(comments){let commentData=[];for(let comment of comments){let depth=parseInt(comment.getAttribute("depth")||"0"),author=comment.getAttribute("author")||"",score=comment.getAttribute("score")||"0",permalink=comment.getAttribute("permalink")||"",commentEl=comment.querySelector('[slot="comment"]'),content=commentEl?(0,dom_1.serializeHTML)(commentEl):"",timestamp=comment.getAttribute("created")||comment.querySelector("time")?.getAttribute("datetime")||"",date=timestamp?new Date(timestamp).toISOString().split("T")[0]:"";commentData.push({author,date,content,depth,score:`${score} points`,url:permalink?`https://reddit.com${permalink}`:void 0})}return(0,comments_1.buildCommentTree)(commentData)}};exports.RedditExtractor=RedditExtractor}});var require_twitter=__commonJS({"node_modules/defuddle/dist/extractors/twitter.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TwitterExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),comments_1=require_comments(),TwitterExtractor=class _TwitterExtractor extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.mainTweet=null,this.threadTweets=[],this.replyTweets=[],this.replyDepths=[],this.classifyCells(this.conversationCells()),this.mainTweet||(this.mainTweet=document2.querySelector('article[data-testid="tweet"]'))}conversationCells(){let cells=[];for(let el of Array.from(this.document.querySelectorAll('[data-testid="cellInnerDiv"], section, h2')))if(el.getAttribute("data-testid")==="cellInnerDiv")cells.push(el);else if(cells.length&&!el.closest('article[data-testid="tweet"]'))break;return cells}classifyCells(cells){let mainHandle="",threadEnded=!1,lastWasTweet=!1,currentDepth=0;for(let cell of cells){let article=cell.querySelector('article[data-testid="tweet"]');if(!article){lastWasTweet=!1;continue}if(!this.mainTweet){this.mainTweet=article,mainHandle=this.getHandle(article),lastWasTweet=!0;continue}let handle=this.getHandle(article);if(!threadEnded&&handle&&handle===mainHandle){this.threadTweets.push(article),lastWasTweet=!0;continue}threadEnded=!0,currentDepth=lastWasTweet?currentDepth+1:0,this.replyTweets.push(article),this.replyDepths.push(currentDepth),lastWasTweet=!0}}canExtract(){return!!this.mainTweet}extract(){let parts=[this.extractTweetContent(this.mainTweet)];for(let tweet of this.threadTweets)parts.push(this.extractTweetContent(tweet));let postContent=parts.join(`
24
+ <hr>
25
+ `),comments=this.options.includeReplies!==!1?this.extractComments():"",contentHtml=(0,comments_1.buildContentHtml)("twitter",postContent,comments),tweetId=this.getTweetId(),tweetAuthor=this.getTweetAuthor(),description=this.createDescription(this.mainTweet),title=this.postTitle(tweetAuthor,"X");return{content:contentHtml,contentHtml,extractedContent:{tweetId,tweetAuthor},variables:{title,author:tweetAuthor,site:"X (Twitter)",description}}}extractComments(){if(this.replyTweets.length===0)return"";let commentData=this.replyTweets.map((tweet,i)=>{let userInfo=this.extractUserInfo(tweet),content=this.extractTweetContent(tweet);return{author:userInfo.fullName?`${userInfo.fullName} ${userInfo.handle}`:userInfo.handle,date:userInfo.date,content,depth:this.replyDepths[i],url:userInfo.permalink}});return(0,comments_1.buildCommentTree)(commentData)}getHandle(tweet){let nameElement=tweet.querySelector('[data-testid="User-Name"]');if(!nameElement)return"";let links=Array.from(nameElement.querySelectorAll("a"));for(let link of links){let text=link.textContent?.trim()||"";if(/^@\w{1,15}$/.test(text))return text}for(let link of links){let match2=(link.getAttribute("href")||"").match(/^(?:https?:\/\/[^/]+)?\/(\w{1,15})(?:\/|$)/);if(match2&&!_TwitterExtractor.RESERVED_PATHS.has(match2[1].toLowerCase()))return`@${match2[1]}`}let match=(nameElement.textContent||"").match(/@(\w{1,15})/);return match?`@${match[1]}`:""}formatTweetText(text){if(!text)return"";let tempDiv=this.document.createElement("div");return tempDiv.appendChild((0,dom_1.parseHTML)(this.document,text)),tempDiv.querySelectorAll("a").forEach(link=>{let handle=link.textContent?.trim()||"";link.replaceWith(handle)}),tempDiv.querySelectorAll("span, div").forEach(element=>{element.replaceWith(...Array.from(element.childNodes))}),(0,dom_1.serializeHTML)(tempDiv).split(`
26
+ `).map(line=>line.trim()).filter(line=>line).map(p=>`<p>${p}</p>`).join(`
27
+ `)}replaceEmojiImages(container){container.querySelectorAll('img[src*="/emoji/"]').forEach(img=>{let altText=img.getAttribute("alt");altText&&img.replaceWith(altText)})}findQuotedTweet(tweet){return tweet.querySelector('[aria-labelledby*="id__"]')?.querySelector('[data-testid="User-Name"]')?.closest('[aria-labelledby*="id__"]')||null}extractTweetContent(tweet){if(!tweet)return"";let tweetClone=tweet.cloneNode(!0);this.replaceEmojiImages(tweetClone);let tweetTextEl=tweetClone.querySelector('[data-testid="tweetText"]'),tweetText=tweetTextEl?(0,dom_1.serializeHTML)(tweetTextEl):"",formattedText=this.formatTweetText(tweetText),quotedTweet=this.findQuotedTweet(tweet),images=this.extractImages(tweet,quotedTweet),quotedHtml=quotedTweet?this.extractQuotedTweet(quotedTweet):"",cardLink=this.extractCard(tweet),html="";return formattedText&&(html+=formattedText),images.length&&(html+=`
28
+ ${images.join(`
29
+ `)}`),cardLink&&(html+=`
30
+ ${cardLink}`),quotedHtml&&(html+=`
31
+ ${quotedHtml}`),html}extractQuotedTweet(quotedTweet){let tweetClone=quotedTweet.cloneNode(!0);this.replaceEmojiImages(tweetClone);let tweetTextEl=tweetClone.querySelector('[data-testid="tweetText"]'),tweetText=tweetTextEl?(0,dom_1.serializeHTML)(tweetTextEl):"",formattedText=this.formatTweetText(tweetText),userInfo=this.extractUserInfo(quotedTweet),images=this.extractImages(quotedTweet,null),content="";formattedText&&(content+=formattedText),images.length&&(content+=`
32
+ ${images.join(`
33
+ `)}`);let author=userInfo.fullName?`${userInfo.fullName} ${userInfo.handle}`:userInfo.handle;return(0,comments_1.buildQuotedPost)({author:author||void 0,date:userInfo.date||void 0,content})}extractUserInfo(tweet){let nameElement=tweet.querySelector('[data-testid="User-Name"]');if(!nameElement)return{fullName:"",handle:"",date:"",permalink:""};let handle=this.getHandle(tweet),fullName=Array.from(nameElement.querySelectorAll("a")).map(link=>link.querySelector("time")?"":link.textContent?.trim()||"").find(text=>text&&text!==handle&&!text.startsWith("@"))||"";if(!fullName){let first=nameElement.children[0]?.textContent?.trim()||"";first&&!first.startsWith("@")&&(fullName=first)}let timestamp=tweet.querySelector("time"),datetime=timestamp?.getAttribute("datetime")||"",date=datetime?new Date(datetime).toISOString().split("T")[0]:"",permalink=timestamp?.closest("a")?.href||"";return{fullName,handle,date,permalink}}extractImages(tweet,quotedTweet){let imageContainers=['[data-testid="tweetPhoto"]','[data-testid="tweet-image"]','img[src*="media"]'],images=[];for(let selector of imageContainers)tweet.querySelectorAll(selector).forEach(img=>{if(!quotedTweet?.contains(img)&&img.tagName.toLowerCase()==="img"&&img.getAttribute("alt")){let highQualitySrc=img.getAttribute("src")?.replace(/&name=\w+$/,"&name=large")||"",cleanAlt=img.getAttribute("alt")?.replace(/\s+/g," ").trim()||"";images.push(`<img src="${(0,dom_1.escapeHtml)(highQualitySrc)}" alt="${(0,dom_1.escapeHtml)(cleanAlt)}" />`)}});return images}extractCard(tweet){let card=tweet.querySelector('[data-testid="card.wrapper"]');if(!card)return"";let cardLink=card.querySelector("a[href]");if(!cardLink)return"";let href=cardLink.getAttribute("href")||"",title=(cardLink.getAttribute("aria-label")||"").split(/\n/)[0]?.trim()||href;return`<p><a href="${(0,dom_1.escapeHtml)(href)}">${(0,dom_1.escapeHtml)(title)}</a></p>`}getTweetId(){return this.url.match(/status\/(\d+)/)?.[1]||""}getTweetAuthor(){let handle=this.getHandle(this.mainTweet);return handle.startsWith("@")?handle:`@${handle}`}createDescription(tweet){return tweet?(tweet.querySelector('[data-testid="tweetText"]')?.textContent||"").trim().slice(0,140).replace(/\s+/g," "):""}};exports.TwitterExtractor=TwitterExtractor;TwitterExtractor.RESERVED_PATHS=new Set(["i","home","explore","search","notifications","messages","settings","compose","hashtag","intent"])}});var require_x_article=__commonJS({"node_modules/defuddle/dist/extractors/x-article.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.XArticleExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),SELECTORS={ARTICLE_READ_VIEW:'[data-testid="twitterArticleReadView"]',ARTICLE_CONTAINER:'[data-testid="twitterArticleRichTextView"]',TITLE:'[data-testid="twitter-article-title"]',AUTHOR:'[itemprop="author"]',AUTHOR_NAME:'meta[itemprop="name"]',AUTHOR_HANDLE:'meta[itemprop="additionalName"]',IMAGES:'[data-testid="tweetPhoto"] img',DRAFT_PARAGRAPHS:".longform-unstyled, .public-DraftStyleDefault-block",BOLD_SPANS:'span[style*="font-weight: bold"]',DRAFT_ATTRIBUTES:"[data-offset-key]",EMBEDDED_TWEET:'[data-testid="simpleTweet"]',TWEET_TEXT:'[data-testid="tweetText"]',USER_NAME:'[data-testid="User-Name"]',CODE_BLOCK:'[data-testid="markdown-code-block"]',HEADER_BLOCK:'[data-testid="longform-header"]'},XArticleExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.articleContainer=document2.querySelector(SELECTORS.ARTICLE_CONTAINER)}canExtract(){return!!this.articleContainer}extract(){let title=this.extractTitle(),author=this.extractAuthor(),contentHtml=this.extractContent(),description=this.createDescription();return{content:contentHtml,contentHtml,extractedContent:{articleId:this.getArticleId()},variables:{title,author,site:"X (Twitter)",description}}}extractTitle(){return this.document.querySelector(SELECTORS.TITLE)?.textContent?.trim()||"Untitled X Article"}extractAuthor(){let authorContainer=this.document.querySelector(SELECTORS.AUTHOR);if(!authorContainer)return this.getAuthorFromUrl();let name=authorContainer.querySelector(SELECTORS.AUTHOR_NAME)?.getAttribute("content"),handle=authorContainer.querySelector(SELECTORS.AUTHOR_HANDLE)?.getAttribute("content");return name&&handle?`${name} (@${handle})`:name||handle||this.getAuthorFromUrl()}getAuthorFromUrl(){let match=this.url.match(/\/([a-zA-Z0-9_][a-zA-Z0-9_]{0,14})\/(article|status)\/\d+/);return match?`@${match[1]}`:this.getAuthorFromOgTitle()}getAuthorFromOgTitle(){let match=(this.document.querySelector('meta[property="og:title"]')?.getAttribute("content")||"").match(/^(?:\(\d+\)\s+)?(.+?)\s+on\s+X\s*:/);return match?match[1].trim():"Unknown"}getArticleId(){let match=this.url.match(/article\/(\d+)/);return match?match[1]:""}extractContent(){if(!this.articleContainer)return"";let clone=this.articleContainer.cloneNode(!0);return this.cleanContent(clone),`<article class="x-article">${this.extractHeaderImage()}${(0,dom_1.serializeHTML)(clone)}</article>`}extractHeaderImage(){let readView=this.document.querySelector(SELECTORS.ARTICLE_READ_VIEW);if(!readView)return"";let headerPhoto=readView.querySelector(SELECTORS.IMAGES);if(!headerPhoto||this.articleContainer.contains(headerPhoto))return"";let src=headerPhoto.getAttribute("src");if(!src)return"";let alt=headerPhoto.getAttribute("alt")?.replace(/\s+/g," ").trim()||"Image";return`<img src="${(0,dom_1.escapeHtml)(this.upgradeImageSrc(src))}" alt="${(0,dom_1.escapeHtml)(alt)}">`}cleanContent(container){let ownerDoc=container.ownerDocument||this.document;this.convertEmbeddedTweets(container,ownerDoc),this.convertCodeBlocks(container,ownerDoc),this.convertHeaders(container,ownerDoc),this.unwrapLinkedImages(container,ownerDoc),this.upgradeImageQuality(container),this.convertBoldSpans(container,ownerDoc),this.convertDraftParagraphs(container,ownerDoc),this.removeDraftAttributes(container),this.repairSurrogatePairs(container)}convertEmbeddedTweets(container,ownerDoc){container.querySelectorAll(SELECTORS.EMBEDDED_TWEET).forEach(tweet=>{let blockquote=ownerDoc.createElement("blockquote");blockquote.className="embedded-tweet";let authorLinks=tweet.querySelector(SELECTORS.USER_NAME)?.querySelectorAll("a"),fullName=authorLinks?.[0]?.textContent?.trim()||"",handle=authorLinks?.[1]?.textContent?.trim()||"",tweetText=tweet.querySelector(SELECTORS.TWEET_TEXT)?.textContent?.trim()||"";if(fullName||handle){let cite=ownerDoc.createElement("cite");cite.textContent=handle?`${fullName} ${handle}`:fullName,blockquote.appendChild(cite)}if(tweetText){let p=ownerDoc.createElement("p");p.textContent=tweetText,blockquote.appendChild(p)}tweet.replaceWith(blockquote)})}convertCodeBlocks(container,ownerDoc){container.querySelectorAll(SELECTORS.CODE_BLOCK).forEach(block=>{let pre=block.querySelector("pre"),code=block.querySelector("code");if(!pre||!code)return;let language="",langClass=code.className.match(/language-(\w+)/);langClass?language=langClass[1]:language=block.querySelector("span")?.textContent?.trim()||"";let newPre=ownerDoc.createElement("pre"),newCode=ownerDoc.createElement("code");language&&(newCode.setAttribute("data-lang",language),newCode.className=`language-${language}`),newCode.textContent=code.textContent||"",newPre.appendChild(newCode),block.replaceWith(newPre)})}convertHeaders(container,ownerDoc){container.querySelectorAll("h1, h2, h3, h4, h5, h6").forEach(header=>{let level=header.tagName.toLowerCase(),text=header.textContent?.trim()||"";if(!text)return;let newHeader=ownerDoc.createElement(level);newHeader.textContent=text,header.replaceWith(newHeader)})}unwrapLinkedImages(container,ownerDoc){container.querySelectorAll(SELECTORS.IMAGES).forEach(img=>{let anchor=img.closest("a");if(!anchor||!container.contains(anchor))return;let src=img.getAttribute("src")||"",alt=img.getAttribute("alt")?.replace(/\s+/g," ").trim()||"Image",cleanImg=ownerDoc.createElement("img");cleanImg.setAttribute("src",this.upgradeImageSrc(src)),cleanImg.setAttribute("alt",alt),anchor.replaceWith(cleanImg)})}upgradeImageQuality(container){container.querySelectorAll(SELECTORS.IMAGES).forEach(img=>{let src=img.getAttribute("src");src&&img.setAttribute("src",this.upgradeImageSrc(src))})}upgradeImageSrc(src){return src.includes("&name=")?src.replace(/&name=\w+/,"&name=large"):src.includes("?")?`${src}&name=large`:`${src}?name=large`}convertDraftParagraphs(container,ownerDoc){container.querySelectorAll(SELECTORS.DRAFT_PARAGRAPHS).forEach(div=>{let p=ownerDoc.createElement("p"),processNode=node=>{if(node.nodeType===3)p.appendChild(ownerDoc.createTextNode(node.textContent||""));else if(node.nodeType===1){let el=node,tag=el.tagName.toLowerCase();if(tag==="strong"){let strong=ownerDoc.createElement("strong");strong.textContent=el.textContent||"",p.appendChild(strong)}else if(tag==="a"){let link=ownerDoc.createElement("a");link.setAttribute("href",el.getAttribute("href")||""),link.textContent=el.textContent||"",p.appendChild(link)}else if(tag==="code"){let code=ownerDoc.createElement("code");code.textContent=el.textContent||"",p.appendChild(code)}else el.childNodes.forEach(child=>processNode(child))}};div.childNodes.forEach(child=>processNode(child)),div.replaceWith(p)})}convertBoldSpans(container,ownerDoc){container.querySelectorAll(SELECTORS.BOLD_SPANS).forEach(span=>{let strong=ownerDoc.createElement("strong");strong.textContent=span.textContent||"",span.replaceWith(strong)})}removeDraftAttributes(container){container.querySelectorAll(SELECTORS.DRAFT_ATTRIBUTES).forEach(el=>{el.removeAttribute("data-offset-key")})}repairSurrogatePairs(container){let walker=(container.ownerDocument||this.document).createTreeWalker(container,4),prev=null,node;for(;node=walker.nextNode();){let curr=node;if(prev){let prevText=prev.textContent||"",currText=curr.textContent||"";if(prevText&&currText){let lastCode=prevText.charCodeAt(prevText.length-1),firstCode=currText.charCodeAt(0);lastCode>=55296&&lastCode<=56319&&firstCode>=56320&&firstCode<=57343&&(prev.textContent=prevText.slice(0,-1),curr.textContent=prevText.slice(-1)+currText)}}prev=curr}}createDescription(){let text=this.articleContainer?.textContent?.trim()||"";return text.slice(0,140)+(text.length>140?"...":"")}};exports.XArticleExtractor=XArticleExtractor}});var require_transcript=__commonJS({"node_modules/defuddle/dist/utils/transcript.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.formatTimestamp=formatTimestamp;exports.buildTranscript=buildTranscript;var dom_1=require_dom();function formatTimestamp(seconds){let h=Math.floor(seconds/3600),m=Math.floor(seconds%3600/60),s=Math.floor(seconds%60);return h>0?`${h}:${String(m).padStart(2,"0")}:${String(s).padStart(2,"0")}`:`${m}:${String(s).padStart(2,"0")}`}function buildTranscript(site,segments,chapters=[]){let sortedChapters=[...chapters].sort((a,b)=>a.start-b.start),chapterIdx=0,htmlParts=[],textParts=[];for(let segment of segments){for(;chapterIdx<sortedChapters.length&&sortedChapters[chapterIdx].start<=segment.start;){let title=sortedChapters[chapterIdx].title;htmlParts.push(`<h3>${(0,dom_1.escapeHtml)(title)}</h3>`),textParts.length>0&&textParts.push(""),textParts.push(`### ${title}`),textParts.push(""),chapterIdx++}let timestamp=formatTimestamp(segment.start),speakerClass=segment.speaker!==void 0?` speaker-${segment.speaker}`:"",tsHtml=`<strong><span class="timestamp" data-timestamp="${segment.start}">${timestamp}</span></strong>`;htmlParts.push(`<p class="transcript-segment${speakerClass}">${tsHtml} \xB7 ${(0,dom_1.escapeHtml)(segment.text)}</p>`),segment.speakerChange&&textParts.length>0&&textParts.push(""),textParts.push(`**${timestamp}** \xB7 ${segment.text}`)}return{html:`<div class="${site} transcript">
34
+ <h2>Transcript</h2>
35
+ ${htmlParts.join(`
36
+ `)}
37
+ </div>`,text:textParts.join(`
38
+ `)}}}});var require_youtube=__commonJS({"node_modules/defuddle/dist/extractors/youtube.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.YoutubeExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),utils_1=require_utils(),transcript_1=require_transcript(),CJK_SENTENCE_PUNCT="\u3002\uFF01\uFF1F",CJK_CLOSE_QUOTES="\u300D\u300F\uFF09",SENTENCE_END=new RegExp(`[.!?${CJK_SENTENCE_PUNCT}]["'\\u2019\\u201D)${CJK_CLOSE_QUOTES}]*\\s*$`),QUESTION_END=new RegExp(`[?\\uFF1F]["'\\u2019\\u201D)${CJK_CLOSE_QUOTES}]*\\s*$`),SPEAKER_MARKER=/^(>>|-\s)/,SPEAKER_STRIP=/^(>>\s*|-\s+)/,TRAILING_COMMA=/,\s*$/,TRANSCRIPT_GROUP_GAP_SECONDS=20,TRANSCRIPT_MAX_GROUP_SECONDS=30,MID_TEXT_SENTENCE_BOUNDARY=new RegExp(`^(.*[.!?]["'\\u2019\\u201D)]*)\\s+([A-Z].*)$|^(.*[${CJK_SENTENCE_PUNCT}][${CJK_CLOSE_QUOTES}]*)([${utils_1.CJK_CHAR_RANGES}].*)$`),TURN_MERGE_MAX_WORDS=80,TURN_MERGE_MAX_SPAN_SECONDS=45,SHORT_UTTERANCE_MAX_WORDS=3,FIRST_GROUP_MERGE_MIN_WORDS=8,FETCH_TIMEOUT_MS=4e3,INNERTUBE_API_URL="https://www.youtube.com/youtubei/v1/player?prettyPrint=false",INNERTUBE_CLIENT_VERSION="20.10.38",INNERTUBE_CONTEXT={client:{clientName:"ANDROID",clientVersion:INNERTUBE_CLIENT_VERSION}},INNERTUBE_USER_AGENT=`com.google.android.youtube/${INNERTUBE_CLIENT_VERSION} (Linux; U; Android 14)`,INNERTUBE_NEXT_URL="https://www.youtube.com/youtubei/v1/next?prettyPrint=false",INNERTUBE_IOS_CONTEXT={client:{clientName:"IOS",clientVersion:"20.10.3"}},INNERTUBE_WEB_CONTEXT={client:{clientName:"WEB",clientVersion:"2.20240101.00.00"}},DESKTOP_TRANSCRIPT_SELECTORS={segments:"ytd-transcript-segment-renderer",timestamp:".segment-timestamp",text:".segment-text"},MOBILE_TRANSCRIPT_SELECTORS={segments:"transcript-segment-view-model",timestamp:".ytwTranscriptSegmentViewModelTimestamp",text:"span.yt-core-attributed-string",chapters:"timeline-chapter-view-model h3"},YoutubeExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.inlineJsonCache=new Map,this.videoElement=document2.querySelector("video"),this.schemaOrgData=schemaOrgData}canExtract(){return!0}canExtractAsync(){return!0}prefersAsync(){return!0}extract(){return this.buildResult(this.extractTranscriptFromExistingDom())}async extractAsync(){let existingTranscript=this.extractTranscriptFromExistingDom();if(this.shouldUseExistingDomTranscript(existingTranscript))return this.buildResult(existingTranscript);let transcript=await this.fetchTranscript()||existingTranscript||await this.extractTranscriptFromOpenedDom();return this.buildResult(transcript)}normalizeLanguageCode(code){return(code||"").trim().replace(/_/g,"-").toLocaleLowerCase()}languageCodeMatchesPreference(languageCode,preferredLang){let a=this.normalizeLanguageCode(languageCode),b=this.normalizeLanguageCode(preferredLang);if(!a||!b)return!1;if(a===b)return!0;let aBase=a.split("-")[0],bBase=b.split("-")[0];return aBase===bBase&&(a===aBase||b===bBase)}shouldUseExistingDomTranscript(transcript){return transcript?this.options.language?this.languageCodeMatchesPreference(transcript.languageCode,this.options.language):!0:!1}getCaptionTracks(playerData){let captionTracks=playerData?.captions?.playerCaptionsTracklistRenderer?.captionTracks;return Array.isArray(captionTracks)?captionTracks:[]}findPreferredCaptionTrack(captionTracks,preferredLang){let norm=this.normalizeLanguageCode(preferredLang);if(!norm)return;let base=norm.split("-")[0],normalized=captionTracks.map(t=>({t,code:this.normalizeLanguageCode(t.languageCode)})),findBest=predicate=>{let matches=normalized.filter(predicate);return(matches.find(({t})=>t.kind!=="asr")??matches[0])?.t};return findBest(({code})=>code===norm)??findBest(({code})=>code===base)??findBest(({code})=>code.split("-")[0]===base)}pickCaptionTrack(captionTracks){let preferredLang=this.options.language;if(preferredLang){let match=this.findPreferredCaptionTrack(captionTracks,preferredLang);if(match)return match}let nonAsr=captionTracks.filter(track=>track.kind!=="asr"),pool=nonAsr.length>0?nonAsr:captionTracks;return pool.find(track=>track.languageCode==="en")||pool[0]}getTrackDisplayName(track){return track?.name?.simpleText||track?.name?.runs?.map(run=>run?.text||"").join("").trim()||""}normalizeLanguageLabel(label){return label.replace(/\s*\([^)]*\)\s*/g," ").replace(/\s+/g," ").trim().toLocaleLowerCase()}getTranscriptLanguageCodeFromDom(){let selectedLabel=this.document.querySelector('ytd-engagement-panel-section-list-renderer[target-id="engagement-panel-searchable-transcript"] #footer yt-sort-filter-sub-menu-renderer yt-dropdown-menu button')?.textContent?.trim(),captionTracks=this.getCaptionTracks(this.getValidatedPlayerResponse()),onlyTrack=captionTracks.length===1?captionTracks[0]:void 0;if(!selectedLabel)return onlyTrack?.languageCode;let normalizedSelectedLabel=this.normalizeLanguageLabel(selectedLabel);return captionTracks.find(track=>this.normalizeLanguageLabel(this.getTrackDisplayName(track))===normalizedSelectedLabel)?.languageCode||onlyTrack?.languageCode}getInlineChapters(){let videoId=this.getVideoId(),inlineData=this.parseInlineJson("ytInitialData");if(!inlineData)return[];if(videoId){let currentVideoId=inlineData?.currentVideoEndpoint?.watchEndpoint?.videoId,endpointVideoId=inlineData?.endpoint?.watchEndpoint?.videoId;if(currentVideoId!==videoId&&endpointVideoId!==videoId)return[]}let chapters=this.extractChaptersFromPlayerBar(inlineData);return chapters.length>0?chapters:this.extractChaptersFromEngagementPanels(inlineData)}getTranscriptContainer(){let desktop=this.document.querySelector('ytd-engagement-panel-section-list-renderer[target-id="engagement-panel-searchable-transcript"] #segments-container');return desktop||this.document.querySelector("ytm-macro-markers-list-renderer .ytm-macro-markers-list-container")}getTranscriptSelectors(container){if(container.querySelectorAll("ytd-transcript-segment-renderer").length>0)return DESKTOP_TRANSCRIPT_SELECTORS;if(container.querySelectorAll("transcript-segment-view-model").length>0)return MOBILE_TRANSCRIPT_SELECTORS}buildTranscriptFromContainer(container,chapters){if(container.children.length===0)return;let selectors=this.getTranscriptSelectors(container);if(!selectors)return;let segments=[],domChapters=[];if(selectors.chapters){let chapterEls=container.querySelectorAll(selectors.chapters);for(let ch of chapterEls){let title=(ch.textContent||"").trim();if(!title)continue;let timeStr=(ch.closest("macro-markers-panel-item-view-model")?.nextElementSibling?.querySelector(selectors.timestamp)?.textContent||"").trim(),seconds=this.parseTimestamp(timeStr);seconds!==null&&domChapters.push({title,start:seconds})}}let segmentElements=container.querySelectorAll(selectors.segments);for(let seg of segmentElements){let timestampEl=seg.querySelector(selectors.timestamp),textEl=seg.querySelector(selectors.text);if(!timestampEl||!textEl)continue;let timeStr=(timestampEl.textContent||"").trim(),text2=(textEl.textContent||"").trim();if(!text2)continue;let seconds=this.parseTimestamp(timeStr);seconds!==null&&segments.push({start:seconds,text:text2})}if(segments.length===0)return;let effectiveChapters=chapters.length>0?chapters:domChapters,groups=this.groupTranscriptSegments(segments),{html,text}=(0,transcript_1.buildTranscript)("youtube",groups,effectiveChapters);return{html,text,languageCode:this.getTranscriptLanguageCodeFromDom()}}extractTranscriptFromExistingDom(){try{let container=this.getTranscriptContainer();return container?this.buildTranscriptFromContainer(container,this.getInlineChapters()):void 0}catch(error){console.error("YoutubeExtractor: failed to extract transcript from existing DOM",error);return}}canOpenTranscriptPanel(){return typeof this.document.defaultView?.MutationObserver=="function"}buildResult(transcript){let videoData=this.getVideoData(),channelName=this.getChannelName(videoData),description=videoData.description||"",formattedDescription=this.formatDescription(description),contentHtml=`<iframe width="560" height="315" src="https://www.youtube.com/embed/${this.getVideoId()}" title="YouTube video player" frameborder="0" allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share" referrerpolicy="strict-origin-when-cross-origin" allowfullscreen></iframe>${formattedDescription}`;transcript?.html&&(contentHtml+=transcript.html);let variables={title:videoData.name||"",author:channelName,site:"YouTube",image:Array.isArray(videoData.thumbnailUrl)&&videoData.thumbnailUrl[0]||"",published:videoData.uploadDate,description:description.slice(0,200).trim()};return transcript?.text&&(variables.transcript=transcript.text),transcript?.languageCode&&(variables.language=transcript.languageCode),{content:contentHtml,contentHtml,extractedContent:{videoId:this.getVideoId(),author:channelName},variables}}formatDescription(description){return`<p>${(0,dom_1.escapeHtml)(description).replace(/\n/g,"<br>")}</p>`}getVideoData(){let videoId=this.getVideoId(),scripts=Array.from(this.document.querySelectorAll('script[type="application/ld+json"]')),fallbackVideoObject;for(let script of scripts)try{let data=JSON.parse(script.textContent||""),videoObject=(Array.isArray(data)?data:[data]).find(item=>item["@type"]!=="VideoObject"?!1:videoId?(item["@id"]||item.url||item.embedUrl||"").includes(videoId):!0);if(videoObject&&videoObject.description)return videoObject;videoObject&&(videoObject.comment||!fallbackVideoObject)&&(fallbackVideoObject=videoObject)}catch{}return fallbackVideoObject||(videoId&&(this.document.querySelector('meta[property="og:url"]')?.getAttribute("content")||"").includes(videoId)?{name:this.document.querySelector('meta[property="og:title"]')?.getAttribute("content")||"",description:this.document.querySelector('meta[property="og:description"]')?.getAttribute("content")||"",thumbnailUrl:this.document.querySelector('meta[property="og:image"]')?.getAttribute("content")||""}:{})}getChannelName(videoData){let fromDom=this.getChannelNameFromDom();if(fromDom)return fromDom;let fromPlayer=this.getChannelNameFromPlayerResponse();return fromPlayer||videoData?.author||""}getChannelNameFromDom(){let ownerSelectors=['ytd-video-owner-renderer #channel-name a[href^="/@"]','#owner-name a[href^="/@"]'];for(let selector of ownerSelectors){let value=this.document.querySelector(selector)?.textContent?.trim();if(value)return value}return this.getChannelNameFromMicrodata()}getChannelNameFromMicrodata(){let authorRoot=this.document.querySelector('[itemprop="author"]');if(!authorRoot)return"";let metaName=authorRoot.querySelector('meta[itemprop="name"]');if(metaName?.getAttribute("content"))return metaName.getAttribute("content").trim();let linkName=authorRoot.querySelector('link[itemprop="name"]');return linkName?.getAttribute("content")?linkName.getAttribute("content").trim():authorRoot.querySelector('[itemprop="name"], a, span')?.textContent?.trim()||""}getChannelNameFromPlayerResponse(){let data=this.getValidatedPlayerResponse();return data&&(data.videoDetails?.author||data.videoDetails?.ownerChannelName||data.microformat?.playerMicroformatRenderer?.ownerChannelName)||""}getValidatedPlayerResponse(){let videoId=this.getVideoId();if(!videoId)return null;let data=this.parseInlineJson("ytInitialPlayerResponse");if(!data)return null;let detailVideoId=data.videoDetails?.videoId,microformatVideoId=data.microformat?.playerMicroformatRenderer?.externalVideoId;return detailVideoId===videoId||microformatVideoId===videoId?data:null}parseInlineJson(globalName){if(this.inlineJsonCache.has(globalName))return this.inlineJsonCache.get(globalName);let scripts=Array.from(this.document.querySelectorAll("script"));for(let script of scripts){let text=script.textContent||"";if(!text.includes(globalName))continue;let startIndex=text.indexOf("{",text.indexOf(globalName));if(startIndex===-1)continue;let depth=0;for(let i=startIndex;i<text.length;i++){let char=text[i];if(char==="{")depth+=1;else if(char==="}"&&(depth-=1,depth===0)){let jsonText=text.slice(startIndex,i+1);try{let parsed=JSON.parse(jsonText);return this.inlineJsonCache.set(globalName,parsed),parsed}catch(error){console.error("YoutubeExtractor: failed to parse inline JSON",error);break}}}}return null}async fetchTranscript(){try{let videoId=this.getVideoId();if(!videoId)return;let chaptersPromise=this.fetchChapters(videoId),inlineTrack=this.getInlineCaptionTrack(),inlineXmlPromise=inlineTrack?this.fetchCaptionXml(inlineTrack,chaptersPromise):void 0,playerData=await this.fetchPlayerData(videoId),apiTrack=playerData?this.pickCaptionTrack(this.getCaptionTracks(playerData)):void 0,apiXmlPromise=apiTrack?.baseUrl&&apiTrack.baseUrl!==inlineTrack?.baseUrl?this.fetchCaptionXml(apiTrack,chaptersPromise):void 0,apiResult=apiXmlPromise?await apiXmlPromise:void 0;return apiResult||(inlineXmlPromise?await inlineXmlPromise:void 0)}catch(error){console.error("YoutubeExtractor: failed to fetch transcript",error);return}}getInlineCaptionTrack(){let data=this.getValidatedPlayerResponse(),tracks=this.getCaptionTracks(data);if(tracks.length===0)return;let track=this.pickCaptionTrack(tracks);return track?.baseUrl?track:void 0}async fetchCaptionXml(track,chaptersPromise){try{if(!new URL(track.baseUrl).hostname.endsWith(".youtube.com"))return;let captionHeaders={"User-Agent":"Mozilla/5.0"};this.options.language&&(captionHeaders["Accept-Language"]=this.options.language);let response=await this.fetch(track.baseUrl,{headers:captionHeaders,signal:AbortSignal.timeout(FETCH_TIMEOUT_MS)});if(!response.ok)return;let xml;try{xml=await response.text()}catch{return}if(!xml)return;let chapters=await chaptersPromise;return this.parseTranscriptXml(xml,track.languageCode||"en",chapters)}catch{return}}pollFor(predicate,maxAttempts=20){return new Promise(resolve=>{let attempts=0,check=()=>{let result=predicate();result?resolve(result):attempts++<maxAttempts?setTimeout(check,250):resolve(null)};check()})}waitForTranscriptSegments(){return this.pollFor(()=>{let container=this.getTranscriptContainer();return!container||container.children.length===0?null:container.querySelectorAll(MOBILE_TRANSCRIPT_SELECTORS.segments).length>0?container:null})}waitForTranscriptContainer(){return this.pollFor(()=>{let container=this.getTranscriptContainer();return container&&container.children.length>0?container:null})}waitForElement(selector){return this.pollFor(()=>this.document.querySelector(selector))}isMobileYoutube(){return!!this.document.querySelector("ytm-slim-video-metadata-section-renderer")}async extractTranscriptFromOpenedDom(){try{if(!this.canOpenTranscriptPanel())return;if(this.isMobileYoutube())return this.openMobileTranscriptPanel();let transcriptButton=this.document.querySelector("ytd-video-description-transcript-section-renderer button");if(!transcriptButton)return;transcriptButton.click();let container=await this.waitForTranscriptContainer();if(!container)return;let videoId=this.getVideoId(),chapters=videoId?await this.fetchChapters(videoId):this.getInlineChapters();return this.buildTranscriptFromContainer(container,chapters)}catch(error){console.error("YoutubeExtractor: failed to extract transcript from opened DOM",error);return}}async openMobileTranscriptPanel(){try{let moreButton=this.document.querySelector('button[aria-label="Show more"]');moreButton&&moreButton.click();let viewAllButton=await this.waitForElement('button[aria-label="View all"]');if(!viewAllButton)return;viewAllButton.click();let timelineTab=await this.waitForElement('button[aria-label="Timeline"]');if(!timelineTab)return;timelineTab.click();let container=await this.waitForTranscriptSegments();return container?this.buildTranscriptFromContainer(container,[]):void 0}catch(error){console.error("YoutubeExtractor: failed to open mobile transcript panel",error);return}}async fetchPlayerData(videoId){try{let iosHeaders={"Content-Type":"application/json"};this.options.language&&(iosHeaders["Accept-Language"]=this.options.language);let resp=await this.fetch(INNERTUBE_API_URL,{method:"POST",headers:iosHeaders,signal:AbortSignal.timeout(FETCH_TIMEOUT_MS),body:JSON.stringify({context:INNERTUBE_IOS_CONTEXT,videoId})});if(resp.ok){let data=await resp.json();if(this.getCaptionTracks(data).length>0)return data}}catch{}try{let headers={"Content-Type":"application/json","User-Agent":INNERTUBE_USER_AGENT};this.options.language&&(headers["Accept-Language"]=this.options.language);let resp=await this.fetch(INNERTUBE_API_URL,{method:"POST",headers,signal:AbortSignal.timeout(FETCH_TIMEOUT_MS),body:JSON.stringify({context:INNERTUBE_CONTEXT,videoId})});if(resp.ok){let data=await resp.json();if(this.getCaptionTracks(data).length>0)return data}}catch{}try{let webHeaders={"Content-Type":"application/json"};this.options.language&&(webHeaders["Accept-Language"]=this.options.language);let resp=await this.fetch(INNERTUBE_API_URL,{method:"POST",headers:webHeaders,signal:AbortSignal.timeout(FETCH_TIMEOUT_MS),body:JSON.stringify({context:INNERTUBE_WEB_CONTEXT,videoId})});if(resp.ok){let data=await resp.json();if(this.getCaptionTracks(data).length>0)return data}}catch{}let fallbackData=this.parseInlineJson("ytInitialPlayerResponse");if(this.getCaptionTracks(fallbackData).length>0)return fallbackData}async fetchChapters(videoId){let inlineChapters=this.getInlineChapters();if(inlineChapters.length>0)return inlineChapters;try{let chapterHeaders={"Content-Type":"application/json"};this.options.language&&(chapterHeaders["Accept-Language"]=this.options.language);let resp=await this.fetch(INNERTUBE_NEXT_URL,{method:"POST",headers:chapterHeaders,signal:AbortSignal.timeout(FETCH_TIMEOUT_MS),body:JSON.stringify({context:INNERTUBE_WEB_CONTEXT,videoId})});if(!resp.ok)return[];let data=await resp.json(),chapters=this.extractChaptersFromPlayerBar(data);return chapters.length>0?chapters:this.extractChaptersFromEngagementPanels(data)}catch{return[]}}extractChaptersFromPlayerBar(data){let chapters=[],panels=data?.playerOverlays?.playerOverlayRenderer?.decoratedPlayerBarRenderer?.decoratedPlayerBarRenderer?.playerBar?.multiMarkersPlayerBarRenderer?.markersMap;if(!Array.isArray(panels))return chapters;for(let panel of panels){let markers=panel?.value?.chapters;if(Array.isArray(markers))for(let marker of markers){let ch=marker?.chapterRenderer;if(!ch)continue;let title=ch.title?.simpleText||"",startMs=ch.timeRangeStartMillis;title&&typeof startMs=="number"&&chapters.push({title,start:startMs/1e3})}}return chapters}extractChaptersFromEngagementPanels(data){let chapters=[],panels=data?.engagementPanels;if(!Array.isArray(panels))return chapters;for(let panel of panels){let items=panel?.engagementPanelSectionListRenderer?.content?.macroMarkersListRenderer?.contents;if(Array.isArray(items))for(let item of items){let renderer=item?.macroMarkersListItemRenderer;if(!renderer)continue;let title=renderer.title?.simpleText||"",timeStr=renderer.timeDescription?.simpleText||"";if(!title||!timeStr)continue;let seconds=this.parseTimestamp(timeStr);seconds!==null&&chapters.push({title,start:seconds})}}return chapters}parseTimestamp(ts){let parts=ts.split(":").map(Number);return parts.some(isNaN)?null:parts.length===3?parts[0]*3600+parts[1]*60+parts[2]:parts.length===2?parts[0]*60+parts[1]:null}parseTranscriptXml(xml,languageCode,chapters=[]){let segments=[],pRegex=/<p\s+t="(\d+)"[^>]*>([\s\S]*?)<\/p>/g,match;for(;(match=pRegex.exec(xml))!==null;){let startMs=parseInt(match[1],10),inner=match[2],text2="",sRegex=/<s[^>]*>([^<]*)<\/s>/g,sMatch;for(;(sMatch=sRegex.exec(inner))!==null;)text2+=sMatch[1];text2||(text2=inner.replace(/<[^>]+>/g,"")),text2=text2.replace(/\n/g," ").replace(/\s{2,}/g," "),text2=this.decodeEntities(text2),text2.trim()&&segments.push({start:startMs/1e3,text:text2.trim()})}if(segments.length===0){let textRegex=/<text\s+start="([^"]*)"[^>]*>([\s\S]*?)<\/text>/g;for(;(match=textRegex.exec(xml))!==null;){let start=parseFloat(match[1]),text2=this.decodeEntities(match[2].replace(/<[^>]+>/g,"").replace(/\n/g," ").replace(/\s{2,}/g," "));text2.trim()&&segments.push({start,text:text2.trim()})}}if(segments.length===0)return;let groups=this.groupTranscriptSegments(segments),{html,text}=(0,transcript_1.buildTranscript)("youtube",groups,chapters);return{html,text,languageCode}}decodeEntities(text){return text.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">").replace(/&quot;/g,'"').replace(/&#39;/g,"'").replace(/&apos;/g,"'").replace(/&#x([0-9a-fA-F]+);/g,(_,hex)=>String.fromCodePoint(parseInt(hex,16))).replace(/&#(\d+);/g,(_,dec)=>String.fromCodePoint(parseInt(dec,10)))}getVideoId(){if(this._videoId===void 0){let url=new URL(this.url);this._videoId=url.hostname==="youtu.be"?url.pathname.slice(1):url.pathname.includes("/shorts/")?url.pathname.split("/shorts/")[1].split("/")[0]:new URLSearchParams(url.search).get("v")||""}return this._videoId}groupTranscriptSegments(segments){return segments.length===0?[]:segments.some(s=>SPEAKER_MARKER.test(s.text))?this.groupBySpeaker(segments):this.groupBySentence(segments)}groupBySpeaker(segments){let turns=[],currentTurn=null,speakerIndex=-1,prevSegText="";for(let seg of segments){let isSpeakerChange=SPEAKER_MARKER.test(seg.text),cleanText=seg.text.replace(SPEAKER_STRIP,""),prevEndsWithComma=TRAILING_COMMA.test(prevSegText),prevEndedSentence=(SENTENCE_END.test(prevSegText)||!prevSegText)&&!prevEndsWithComma;isSpeakerChange&&prevEndedSentence?(currentTurn&&turns.push(currentTurn),speakerIndex=(speakerIndex+1)%2,currentTurn={start:seg.start,segments:[{start:seg.start,text:cleanText}],speakerChange:!0,speaker:speakerIndex}):(currentTurn||(currentTurn={start:seg.start,segments:[],speakerChange:!1}),currentTurn.segments.push({start:seg.start,text:cleanText})),prevSegText=cleanText}currentTurn&&turns.push(currentTurn),this.splitAffirmativeTurns(turns);let groups=[];for(let turn of turns){let sentenceGroups=turn.speaker===void 0?this.groupBySentence(turn.segments):this.mergeSentenceGroupsWithinTurn(this.groupBySentence(turn.segments));for(let i=0;i<sentenceGroups.length;i++)groups.push({...sentenceGroups[i],speakerChange:i===0&&turn.speakerChange,speaker:turn.speaker})}return groups}splitAffirmativeTurns(turns){let affirmativePattern=/^(mhm|yeah|yes|yep|right|okay|ok|absolutely|sure|exactly|uh-huh|mm-hmm)[.!,]?\s+/i;for(let i=0;i<turns.length;i++){let turn=turns[i];if(turn.speaker===void 0||turn.segments.length===0)continue;let firstSeg=turn.segments[0],match=affirmativePattern.exec(firstSeg.text);if(!match||/,\s*$/.test(match[0]))continue;let remainder=firstSeg.text.slice(match[0].length).trim(),restSegments=turn.segments.slice(1);if((0,utils_1.countWords)(remainder)+restSegments.reduce((sum,s)=>sum+(0,utils_1.countWords)(s.text),0)<30)continue;let affirmativeText=match[0].trimEnd(),newRestSegments=remainder?[{start:firstSeg.start,text:remainder},...restSegments]:restSegments,affirmativeTurn={start:turn.start,segments:[{start:firstSeg.start,text:affirmativeText}],speakerChange:turn.speakerChange,speaker:turn.speaker},restTurn={start:newRestSegments[0].start,segments:newRestSegments,speakerChange:!0,speaker:turn.speaker===0?1:0};turns.splice(i,1,affirmativeTurn,restTurn),i++}}mergeSentenceGroupsWithinTurn(groups){if(groups.length<=1)return groups;let merged=[],current={...groups[0]},currentIsFirstInTurn=!0;for(let i=1;i<groups.length;i++){let next=groups[i];if(this.shouldMergeSentenceGroups(current,next,currentIsFirstInTurn)){current.text=`${current.text} ${next.text}`;continue}merged.push(current),current={...next},currentIsFirstInTurn=!1}return merged.push(current),merged}shouldMergeSentenceGroups(current,next,currentIsFirstInTurn){let currentWords=(0,utils_1.countWords)(current.text),nextWords=(0,utils_1.countWords)(next.text);return!(this.isShortStandaloneUtterance(current.text,currentWords)||this.isShortStandaloneUtterance(next.text,nextWords)||currentIsFirstInTurn&&currentWords<FIRST_GROUP_MERGE_MIN_WORDS||QUESTION_END.test(current.text)||QUESTION_END.test(next.text)||currentWords+nextWords>TURN_MERGE_MAX_WORDS||next.start-current.start>TURN_MERGE_MAX_SPAN_SECONDS)}isShortStandaloneUtterance(text,words){let w=words??(0,utils_1.countWords)(text);return w>0&&w<=SHORT_UTTERANCE_MAX_WORDS&&SENTENCE_END.test(text)}groupBySentence(segments){let groups=[],pending=[],pushGroup=segs=>{let text=segs.map(s=>s.text).join(" ").trim();text&&groups.push({start:segs[0].start,text,speakerChange:!1})},flushAll=()=>{pending.length!==0&&(pushGroup(pending),pending.length=0)},flushUpTo=idx=>{idx<=0||pushGroup(pending.splice(0,idx))};for(let seg of segments){if(pending.length>0&&seg.start-pending[pending.length-1].start>TRANSCRIPT_GROUP_GAP_SECONDS&&flushAll(),pending.push(seg),SENTENCE_END.test(seg.text)){flushAll();continue}if(seg.start-pending[0].start>=TRANSCRIPT_MAX_GROUP_SECONDS){let breakIdx=this.findNaturalBreak(pending);breakIdx>0&&breakIdx<pending.length?flushUpTo(breakIdx):flushAll()}}return flushAll(),groups}findNaturalBreak(segments){if(segments.length<=1)return-1;let minStart=segments[0].start+TRANSCRIPT_MAX_GROUP_SECONDS/2;for(let i=segments.length-1;i>=0&&!(segments[i].start<minStart);i--){let match=segments[i].text.match(MID_TEXT_SENTENCE_BOUNDARY);if(match){let before=match[1]??match[3],after=match[2]??match[4],start=segments[i].start;return segments.splice(i,1,{start,text:before},{start,text:after}),i+1}}let bestIdx=-1,bestGap=0;for(let i=1;i<segments.length;i++){if(segments[i].start<minStart)continue;let gap=segments[i].start-segments[i-1].start;gap>=bestGap&&(bestGap=gap,bestIdx=i)}return bestIdx}};exports.YoutubeExtractor=YoutubeExtractor}});var require_bilibili=__commonJS({"node_modules/defuddle/dist/extractors/bilibili.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.BilibiliExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),transcript_1=require_transcript(),FETCH_TIMEOUT_MS=4e3,TRANSCRIPT_GROUP_GAP_SECONDS=20,TRANSCRIPT_MAX_GROUP_SECONDS=30,HAN_CHAR=/[\u4E00-\u9FFF]/,BilibiliExtractor=class _BilibiliExtractor extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options)}canExtract(){return!!this.getBvid()}canExtractAsync(){return this.canExtract()}prefersAsync(){return!0}extract(){return this.buildResult()}async extractAsync(){let bvid=this.getBvid();if(!bvid)return this.buildResult();let view=await this.fetchViewData(bvid);if(!view)return this.buildResult();let{aid,pages=[]}=view,pageNumber=this.getPageNumber(),pageInfo=pages.length>0?pages[pageNumber-1]??pages[0]:void 0,cid=pageInfo?.cid,preferredLang=this.normalizeLanguageCode(this.options.language),cacheKey=aid&&cid?`${bvid}:${cid}:${preferredLang}`:"",transcript;if(aid&&cid){if(cacheKey&&_BilibiliExtractor.transcriptCache.has(cacheKey))transcript=_BilibiliExtractor.transcriptCache.get(cacheKey)??void 0;else if(transcript=await this.fetchTranscript(aid,cid,bvid),cacheKey&&(_BilibiliExtractor.transcriptCache.set(cacheKey,transcript??null),_BilibiliExtractor.transcriptCache.size>300)){let firstKey=_BilibiliExtractor.transcriptCache.keys().next().value;firstKey&&_BilibiliExtractor.transcriptCache.delete(firstKey)}}return this.buildResult(transcript,view,pageInfo,pageNumber)}getBvid(){if(this._bvid!==void 0)return this._bvid;try{let match=new URL(this.url).pathname.match(/\/video\/(BV[0-9A-Za-z]+)\/?/);this._bvid=match?.[1]??""}catch{this._bvid=""}return this._bvid}getPageNumber(){try{let url=new URL(this.url),p=parseInt(new URLSearchParams(url.search).get("p")||"1",10);return Number.isFinite(p)&&p>0?p:1}catch{return 1}}formatDescription(desc){let safe=(0,dom_1.escapeHtml)(desc).replace(/\n/g,"<br>");return safe?`<p>${safe}</p>`:""}buildEmbedHtml(bvid,pageNumber){return`<iframe width="560" height="315" src="${`https://player.bilibili.com/player.html?bvid=${encodeURIComponent(bvid)}&page=${pageNumber}&high_quality=1&danmaku=0`}" title="Bilibili video player" frameborder="0" allowfullscreen></iframe>`}buildResult(transcript,view,pageInfo,pageNumber){let bvid=this.getBvid(),title=view?.title||this.document.title||"",author=view?.owner?.name||"",desc=view?.desc||"",description=desc.slice(0,200).trim(),image=view?.pic||"",published=view?.pubdate?new Date(view.pubdate*1e3).toISOString():"",contentHtml="";bvid&&(contentHtml+=this.buildEmbedHtml(bvid,pageNumber||this.getPageNumber())),desc&&(contentHtml+=this.formatDescription(desc)),transcript?.html&&(contentHtml+=transcript.html);let variables={title,author,site:"Bilibili",image,published,description};return pageInfo?.part&&(variables.part=pageInfo.part),transcript?.text&&(variables.transcript=transcript.text),transcript?.languageCode&&(variables.language=transcript.languageCode),{content:contentHtml,contentHtml,extractedContent:{videoId:bvid,...pageInfo?.cid?{cid:String(pageInfo.cid)}:{}},variables}}normalizeLanguageCode(code){return(code||"").trim().replace(/_/g,"-").toLocaleLowerCase()}pickSubtitleTrack(tracks,preferredLang){if(tracks.length===0)return;let pref=this.normalizeLanguageCode(preferredLang),prefBase=pref?pref.split("-")[0]:"",stableUrlKey=u=>{let input=(u||"").trim();if(!input)return"";try{let normalized=input.startsWith("//")?`https:${input}`:input,parsed=new URL(normalized);return`${parsed.hostname.toLocaleLowerCase()}${parsed.pathname}`}catch{return input.split("?")[0].split("#")[0]}},normalizeDoc=doc=>(doc||"").trim().toLocaleLowerCase(),isLikelyAiDoc=doc=>{let d=normalizeDoc(doc);return d.includes("ai")||d.includes("auto")||d.includes("\u81EA\u52A8")},langPriority=code=>code==="zh-cn"||code==="zh-hans"?0:code==="zh"?1:code.startsWith("zh-")?2:code==="en"||code.startsWith("en-")?3:4;return tracks.map((t,index)=>{let code=this.normalizeLanguageCode(t.lan),prefScore=3;pref&&(code===pref?prefScore=0:prefBase&&code===prefBase?prefScore=1:prefBase&&code.split("-")[0]===prefBase&&(prefScore=2));let aiScore=t.is_ai_subtitle||isLikelyAiDoc(t.lan_doc)?1:0,lp=langPriority(code),id=typeof t.id=="number"?t.id:Number.MAX_SAFE_INTEGER,doc=normalizeDoc(t.lan_doc),urlKey=stableUrlKey(t.subtitle_url);return{t,prefScore,aiScore,lp,id,doc,urlKey,index}}).sort((a,b)=>a.prefScore!==b.prefScore?a.prefScore-b.prefScore:a.aiScore!==b.aiScore?a.aiScore-b.aiScore:a.lp!==b.lp?a.lp-b.lp:a.id!==b.id?a.id-b.id:a.doc!==b.doc?a.doc.localeCompare(b.doc):a.urlKey!==b.urlKey?a.urlKey.localeCompare(b.urlKey):a.index-b.index)[0]?.t}async fetchViewData(bvid){try{let url=`https://api.bilibili.com/x/web-interface/view?bvid=${encodeURIComponent(bvid)}`,response=await this.fetch(url,{headers:{Accept:"application/json","User-Agent":"Mozilla/5.0 (compatible; Defuddle/1.0)"},credentials:"include",signal:AbortSignal.timeout(FETCH_TIMEOUT_MS)});if(!response.ok)return;let json=await response.json();return json?.code!==0?void 0:json.data}catch{return}}parseSubtitleTracks(json){let candidates=[json?.data?.subtitle?.subtitles,json?.data?.subtitle?.list,json?.data?.subtitle?.tracks];for(let cand of candidates)if(Array.isArray(cand))return cand.map(t=>({lan:String(t?.lan??t?.lang??t?.language??""),lan_doc:t?.lan_doc?String(t.lan_doc):void 0,subtitle_url:String(t?.subtitle_url??t?.subtitleUrl??t?.url??""),id:typeof t?.id=="number"?t.id:typeof t?.subtitle_id=="number"?t.subtitle_id:void 0,is_ai_subtitle:typeof t?.is_ai_subtitle=="boolean"?t.is_ai_subtitle:typeof t?.ai_type=="number"?t.ai_type>0:void 0})).filter(t=>!!t.lan&&!!t.subtitle_url);return[]}async fetchPlayerV2(url){let response=await this.fetch(url,{headers:{Accept:"application/json","User-Agent":"Mozilla/5.0 (compatible; Defuddle/1.0)"},credentials:"include",signal:AbortSignal.timeout(FETCH_TIMEOUT_MS)});if(!response.ok)return{tracks:[],code:response.status,message:`http_${response.status}`};let json=await response.json(),code=typeof json?.code=="number"?json.code:void 0,message=typeof json?.message=="string"?json.message:void 0;return code!==0?{tracks:[],code,message}:{tracks:this.parseSubtitleTracks(json),code,message}}async fetchTranscript(aid,cid,bvid){try{let urlWbi=`https://api.bilibili.com/x/player/wbi/v2?bvid=${encodeURIComponent(String(bvid))}&aid=${encodeURIComponent(String(aid))}&cid=${encodeURIComponent(String(cid))}`,urlBvid=`https://api.bilibili.com/x/player/v2?bvid=${encodeURIComponent(String(bvid))}&cid=${encodeURIComponent(String(cid))}`,urlAid=`https://api.bilibili.com/x/player/v2?aid=${encodeURIComponent(String(aid))}&cid=${encodeURIComponent(String(cid))}`,tracks=[];if(tracks=(await this.fetchPlayerV2(urlWbi)).tracks,tracks.length===0&&(tracks=(await this.fetchPlayerV2(urlBvid)).tracks,tracks.length===0&&(tracks=(await this.fetchPlayerV2(urlAid)).tracks)),!Array.isArray(tracks)||tracks.length===0)return;let picked=this.pickSubtitleTrack(tracks,this.options.language);if(!picked?.subtitle_url)return;let subtitleUrl=this.normalizeSubtitleUrl(picked.subtitle_url);if(!subtitleUrl||!this.isAllowedSubtitleHost(subtitleUrl))return;let subtitleResponse=await this.fetch(subtitleUrl.toString(),{headers:{Accept:"application/json","User-Agent":"Mozilla/5.0 (compatible; Defuddle/1.0)"},signal:AbortSignal.timeout(FETCH_TIMEOUT_MS)});if(!subtitleResponse.ok)return;let subtitleJson=await subtitleResponse.json(),transcript=this.parseSubtitleJson(subtitleJson);return transcript?{...transcript,languageCode:picked.lan}:void 0}catch{return}}normalizeSubtitleUrl(url){try{let trimmed=(url||"").trim();if(!trimmed)return null;let normalized=trimmed.startsWith("//")?`https:${trimmed}`:trimmed,parsed=new URL(normalized);return parsed.protocol!=="https:"?null:parsed}catch{return null}}isAllowedSubtitleHost(url){let host=url.hostname.toLocaleLowerCase();return host.endsWith(".hdslb.com")||host.endsWith(".bilibili.com")}parseSubtitleJson(json){let cleaned=(Array.isArray(json?.body)?json.body:[]).map(l=>({start:typeof l.from=="number"?l.from:NaN,end:typeof l.to=="number"?l.to:typeof l.from=="number"?l.from:NaN,text:(l.content||"").trim()})).filter(l=>Number.isFinite(l.start)&&l.text.length>0).sort((a,b)=>a.start-b.start);if(cleaned.length===0)return;let segments=this.groupSubtitleLines(cleaned),{html,text}=(0,transcript_1.buildTranscript)("bilibili",segments);return{html,text}}groupSubtitleLines(lines){let groups=[],currentStart=lines[0].start,currentEnd=lines[0].end,currentText=lines[0].text,flush=()=>{let normalized=currentText.replace(/\s+/g," ").trim();normalized&&groups.push({start:Math.max(0,Math.floor(currentStart)),text:normalized,speakerChange:groups.length>0})};for(let i=1;i<lines.length;i++){let line=lines[i],gap=line.start-currentEnd,span=Math.max(line.end,line.start)-currentStart;if(gap>TRANSCRIPT_GROUP_GAP_SECONDS||span>TRANSCRIPT_MAX_GROUP_SECONDS){flush(),currentStart=line.start,currentEnd=line.end,currentText=line.text;continue}currentText=this.concatTranscriptText(currentText,line.text),currentEnd=Math.max(currentEnd,line.end)}return flush(),groups}concatTranscriptText(prev,next){let a=(prev||"").trimEnd(),b=(next||"").trimStart();if(!a)return b;if(!b)return a;let aLast=a[a.length-1],bFirst=b[0],aHan=HAN_CHAR.test(aLast),bHan=HAN_CHAR.test(bFirst);if(aHan&&bHan)return a+b;let aAlnum=/[A-Za-z0-9]$/.test(a),bAlnum=/^[A-Za-z0-9]/.test(b);return aAlnum&&bAlnum?`${a} ${b}`:`${a} ${b}`}};exports.BilibiliExtractor=BilibiliExtractor;BilibiliExtractor.transcriptCache=new Map}});var require_hackernews=__commonJS({"node_modules/defuddle/dist/extractors/hackernews.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.HackerNewsExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),comments_1=require_comments(),HackerNewsExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.mainPost=document2.querySelector(".fatitem"),this.isListingPage=this.detectListingPage(),this.isCommentPage=this.detectCommentPage(),this.mainComment=this.isCommentPage?this.findMainComment():null}detectListingPage(){return this.mainPost?!1:this.document.querySelectorAll("tr.athing").length>1}detectCommentPage(){return!!this.mainPost?.querySelector(".onstory")&&!this.mainPost?.querySelector(".titleline")}findMainComment(){return this.mainPost?.querySelector("tr.athing")||null}canExtract(){return!!this.mainPost||this.isListingPage}extract(){if(this.isListingPage)return this.extractListing();let postContent=this.getPostContent(),comments=this.options.includeReplies!==!1?this.extractComments():"",contentHtml=this.createContentHtml(postContent,comments),postTitle=this.getPostTitle(),postAuthor=this.getPostAuthor(),description=this.createDescription(),published=this.getPostDate();return{content:contentHtml,contentHtml,extractedContent:{postId:this.getPostId(),postAuthor},variables:{title:postTitle,author:postAuthor,site:"Hacker News",description,published}}}getMoreLink(){let moreLink=this.document.querySelector(".morelink");return moreLink?{url:moreLink.getAttribute("href")||"",text:moreLink.textContent?.trim()||"More"}:null}extractListing(){let stories=this.extractStories(),moreLink=this.getMoreLink(),contentHtml=this.buildListingHtml(stories,moreLink),title=this.document.title?.replace(/\s*\|\s*Hacker News$/,"").trim()||"Hacker News";return{content:contentHtml,contentHtml,extractedContent:{},variables:{title,site:"Hacker News"}}}extractStories(){let storyRows=Array.from(this.document.querySelectorAll("tr.athing")),stories=[];for(let row of storyRows){let id=row.getAttribute("id")||"",titleEl=row.querySelector(".titleline a");if(!titleEl)continue;let title=titleEl.textContent?.trim()||"",storyUrl=titleEl.getAttribute("href")||"",site=row.querySelector(".sitestr")?.textContent?.trim()||"",subRow=row.nextElementSibling,score=subRow?.querySelector(".score")?.textContent?.trim()||"",author=subRow?.querySelector(".hnuser")?.textContent?.trim()||"",date=(subRow?.querySelector(".age")?.getAttribute("title")||"").split("T")[0]||"",subLinks=subRow?Array.from(subRow.querySelectorAll("td.subtext a")):[],commentsText=subLinks[subLinks.length-1]?.textContent?.replace(/\u00a0/g," ").trim()||"",comments=/\d+\s*comment/.test(commentsText)?commentsText:"",commentsUrl=id?`https://news.ycombinator.com/item?id=${id}`:"";stories.push({id,title,url:storyUrl,site,score,author,date,comments,commentsUrl})}return stories}buildListingHtml(stories,moreLink){if(stories.length===0)return"";let html=`<ol>${stories.map(story=>{let html2="<li>";html2+=`<a href="${(0,dom_1.escapeHtml)(story.url)}">${(0,dom_1.escapeHtml)(story.title)}</a>`,story.site&&(html2+=` <small>(${(0,dom_1.escapeHtml)(story.site)})</small>`);let meta=[];return story.score&&meta.push((0,dom_1.escapeHtml)(story.score)),story.author&&meta.push(`by ${(0,dom_1.escapeHtml)(story.author)}`),story.comments&&meta.push(`<a href="${(0,dom_1.escapeHtml)(story.commentsUrl)}">${(0,dom_1.escapeHtml)(story.comments)}</a>`),meta.length>0&&(html2+=`<br><small>${meta.join(" \xB7 ")}</small>`),html2+="</li>",html2}).join("")}</ol>`;return moreLink&&(html+=`<p><a href="${(0,dom_1.escapeHtml)(moreLink.url)}">${(0,dom_1.escapeHtml)(moreLink.text)}</a></p>`),html}createContentHtml(postContent,comments){return(0,comments_1.buildContentHtml)("hackernews",postContent,comments)}getPostContent(){if(!this.mainPost)return"";if(this.isCommentPage&&this.mainComment){let author=this.mainComment.querySelector(".hnuser")?.textContent||"[deleted]",commtext=this.mainComment.querySelector(".commtext"),commentText=commtext?(0,dom_1.serializeHTML)(commtext):"",date=(this.mainComment.querySelector(".age")?.getAttribute("title")||"").split("T")[0]||"",points=this.mainComment.querySelector(".score")?.textContent?.trim()||"";return(0,comments_1.buildComment)({author,date,content:commentText,score:points||void 0})}let titleRow=this.mainPost.querySelector("tr.athing"),subRow=titleRow?.nextElementSibling,url=titleRow?.querySelector(".titleline a")?.getAttribute("href")||"",content="";url&&(content+=`<p><a href="${url}" target="_blank">${url}</a></p>`);let text=this.mainPost.querySelector(".toptext");return text&&(content+=`<div class="post-text">${(0,dom_1.serializeHTML)(text)}</div>`),content}extractComments(){let comments=Array.from(this.document.querySelectorAll("tr.comtr"));return this.processComments(comments)}processComments(comments){let commentData=[],processedIds=new Set;for(let comment of comments){let id=comment.getAttribute("id");if(!id||processedIds.has(id))continue;processedIds.add(id);let indent=comment.querySelector(".ind img")?.getAttribute("width")||"0",depth=parseInt(indent)/40,commentText=comment.querySelector(".commtext"),author=comment.querySelector(".hnuser")?.textContent||"[deleted]",timeElement=comment.querySelector(".age"),points=comment.querySelector(".score")?.textContent?.trim()||"";if(!commentText)continue;let commentUrl=`https://news.ycombinator.com/item?id=${id}`,date=(timeElement?.getAttribute("title")||"").split("T")[0]||"";commentData.push({author,date,content:(0,dom_1.serializeHTML)(commentText),depth,score:points||void 0,url:commentUrl})}return(0,comments_1.buildCommentTree)(commentData)}getPostId(){return this.url.match(/id=(\d+)/)?.[1]||""}getPostTitle(){if(this.isCommentPage&&this.mainComment){let author=this.mainComment.querySelector(".hnuser")?.textContent||"[deleted]",commentText=this.mainComment.querySelector(".commtext")?.textContent||"",preview=commentText.trim().slice(0,50)+(commentText.length>50?"...":"");return`Comment by ${author}: ${preview}`}return this.mainPost?.querySelector(".titleline")?.textContent?.trim()||""}getPostAuthor(){return this.mainPost?.querySelector(".hnuser")?.textContent?.trim()||""}createDescription(){let title=this.getPostTitle(),author=this.getPostAuthor();return this.isCommentPage?`Comment by ${author} on Hacker News`:`${title} - by ${author} on Hacker News`}getPostDate(){return this.mainPost&&(this.mainPost.querySelector(".age")?.getAttribute("title")||"").split("T")[0]||""}};exports.HackerNewsExtractor=HackerNewsExtractor}});var require_conversation=__commonJS({"node_modules/defuddle/dist/extractors/_conversation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ConversationExtractor=void 0;var _base_1=require_base(),defuddle_1=require_defuddle(),dom_1=require_dom(),ConversationExtractor=class extends _base_1.BaseExtractor{getFootnotes(){return[]}extract(){let messages=this.extractMessages(),metadata=this.getMetadata(),footnotes=this.getFootnotes(),rawContentHtml=this.createContentHtml(messages,footnotes),tempDoc=this.createTemporaryDocument(),container=tempDoc.createElement("article");container.appendChild((0,dom_1.parseHTML)(tempDoc,rawContentHtml)),tempDoc.body.appendChild(container);let defuddled=new defuddle_1.Defuddle(tempDoc,{url:"about:blank"}).parse(),contentHtml=defuddled.content;return{content:contentHtml,contentHtml,extractedContent:{messageCount:messages.length.toString()},variables:{title:metadata.title||"Conversation",site:metadata.site,description:metadata.description||`${metadata.site} conversation with ${messages.length} messages`,wordCount:defuddled.wordCount?.toString()||""}}}createTemporaryDocument(){let implementation=this.document.implementation;if(implementation?.createHTMLDocument)return implementation.createHTMLDocument();let DOMParserCtor=this.document.defaultView?.DOMParser||globalThis.DOMParser;if(DOMParserCtor)return new DOMParserCtor().parseFromString("<!doctype html><html><body></body></html>","text/html");throw new Error("Unable to create a temporary document for conversation extraction")}createContentHtml(messages,footnotes){let messagesHtml=messages.map((message,index)=>{let timestampHtml=message.timestamp?`<div class="message-timestamp">${(0,dom_1.escapeHtml)(message.timestamp)}</div>`:"",contentHtml=/<p[^>]*>[\s\S]*?<\/p>/i.test(message.content)?message.content:`<p>${message.content}</p>`,dataAttributes=message.metadata?Object.entries(message.metadata).filter(([key])=>/^[a-z][a-z0-9-]*$/i.test(key)).map(([key,value])=>`data-${key}="${(0,dom_1.escapeHtml)(value)}"`).join(" "):"";return`
39
+ <div class="message message-${(0,dom_1.escapeHtml)(message.author.toLowerCase())}" ${dataAttributes}>
40
+ <div class="message-header">
41
+ <p class="message-author"><strong>${(0,dom_1.escapeHtml)(message.author)}</strong></p>
42
+ ${timestampHtml}
43
+ </div>
44
+ <div class="message-content">
45
+ ${contentHtml}
46
+ </div>
47
+ </div>${index<messages.length-1?`
48
+ <hr>`:""}`}).join(`
49
+ `).trim(),footnotesHtml=footnotes.length>0?`
50
+ <div id="footnotes">
51
+ <ol>
52
+ ${footnotes.map((footnote,index)=>`
53
+ <li class="footnote" id="fn:${index+1}">
54
+ <p>
55
+ <a href="${(0,dom_1.escapeHtml)(footnote.url)}" target="_blank">${footnote.text}</a>&nbsp;<a href="#fnref:${index+1}" class="footnote-backref">\u21A9</a>
56
+ </p>
57
+ </li>
58
+ `).join("")}
59
+ </ol>
60
+ </div>`:"";return`${messagesHtml}
61
+ ${footnotesHtml}`.trim()}};exports.ConversationExtractor=ConversationExtractor}});var require_chatgpt=__commonJS({"node_modules/defuddle/dist/extractors/chatgpt.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ChatGPTExtractor=void 0;var _conversation_1=require_conversation(),dom_1=require_dom(),ChatGPTExtractor=class extends _conversation_1.ConversationExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.cachedMessages=null,this.turns=document2.querySelectorAll('[data-testid^="conversation-turn-"]'),this.footnotes=[],this.footnoteCounter=0}canExtract(){return!!this.turns&&this.turns.length>0}extractMessages(){if(this.cachedMessages)return this.cachedMessages;let messages=[];return this.footnotes=[],this.footnoteCounter=0,this.turns&&(this.turns.forEach(turn=>{let authorText=turn.querySelector("h4.sr-only, h5.sr-only, h6.sr-only")?.textContent?.trim()?.replace(/:\s*$/,"")||"",messageEls=Array.from(turn.querySelectorAll("[data-message-author-role]")).filter(el=>el.closest('[data-testid^="conversation-turn-"]')===turn),currentAuthorRole=messageEls[0]?.getAttribute("data-message-author-role")||"",contentHtmlParts=messageEls.flatMap(el=>{let contentElements=this.getMessageContentElements(el);return contentElements.length>0?contentElements.map(contentEl=>(0,dom_1.serializeHTML)(contentEl)):[(0,dom_1.serializeHTML)(el)]}),messageContent=(contentHtmlParts.length>0?contentHtmlParts:[(0,dom_1.serializeHTML)(turn)]).join(`
62
+ `);messageContent=messageContent.replace(/\u200B/g,"");let tempDiv=this.document.createElement("div");tempDiv.appendChild((0,dom_1.parseHTML)(this.document,messageContent)),tempDiv.querySelectorAll("h4.sr-only, h5.sr-only, h6.sr-only").forEach(el=>el.remove()),messageContent=(0,dom_1.serializeHTML)(tempDiv);let citationPattern=/(&ZeroWidthSpace;)?(<span[^>]*?>\s*(?:<span[^>]*?>\s*)*<a(?=[^>]*?href="([^"]+)")(?=[^>]*?target="_blank")(?=[^>]*?rel="noopener")[^>]*?>[\s\S]*?<\/a>\s*(?:<\/span>\s*)+)/gi;messageContent=messageContent.replace(citationPattern,(match,zws,spanStructure,url)=>{let domain="",fragmentText="";try{domain=new URL(url).hostname.replace(/^www\./,"");let hashParts=url.split("#:~:text=");if(hashParts.length>1){fragmentText=decodeURIComponent(hashParts[1]),fragmentText=fragmentText.replace(/%2C/g,",");let parts=fragmentText.split(",");parts.length>1&&parts[0].trim()?fragmentText=` \u2014 ${parts[0].trim()}...`:parts[0].trim()?fragmentText=` \u2014 ${fragmentText.trim()}`:fragmentText=""}}catch(e){console.error(`Failed to parse URL: ${url}`,e),domain=url}let footnoteIndex=this.footnotes.findIndex(fn=>fn.url===url),footnoteNumber;return footnoteIndex===-1?(this.footnoteCounter++,footnoteNumber=this.footnoteCounter,this.footnotes.push({url,text:`<a href="${(0,dom_1.escapeHtml)(url)}">${(0,dom_1.escapeHtml)(domain)}</a>${(0,dom_1.escapeHtml)(fragmentText)}`})):footnoteNumber=footnoteIndex+1,`<sup id="fnref:${footnoteNumber}"><a href="#fn:${footnoteNumber}">${footnoteNumber}</a></sup>`});let cleanupDiv=this.document.createElement("div");cleanupDiv.appendChild((0,dom_1.parseHTML)(this.document,messageContent)),cleanupDiv.querySelectorAll('span[data-state="closed"]').forEach(el=>el.remove()),messageContent=(0,dom_1.serializeHTML)(cleanupDiv),messageContent=messageContent.replace(/<p[^>]*>\s*<\/p>/g,""),messages.push({author:authorText,content:messageContent.trim(),metadata:{role:currentAuthorRole||"unknown"}})}),this.cachedMessages=messages),messages}getMessageContentElements(messageEl){let contentSelector=".markdown, .whitespace-pre-wrap",candidates=[...messageEl.matches(contentSelector)?[messageEl]:[],...Array.from(messageEl.querySelectorAll(contentSelector))];return candidates.filter(candidate=>!candidates.some(other=>other!==candidate&&other.contains(candidate)))}getFootnotes(){return this.footnotes}getMetadata(){let title=this.getTitle(),messages=this.extractMessages();return{title,site:"ChatGPT",url:this.url,messageCount:messages.length,description:`ChatGPT conversation with ${messages.length} messages`}}getTitle(){let pageTitle=this.document.title?.trim();if(pageTitle&&pageTitle!=="ChatGPT")return pageTitle;let firstUserTurn=this.turns?.item(0)?.querySelector(".text-message");if(firstUserTurn){let text=firstUserTurn.textContent||"";return text.length>50?text.slice(0,50)+"...":text}return"ChatGPT Conversation"}};exports.ChatGPTExtractor=ChatGPTExtractor}});var require_claude=__commonJS({"node_modules/defuddle/dist/extractors/claude.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ClaudeExtractor=void 0;var _conversation_1=require_conversation(),dom_1=require_dom(),ClaudeExtractor=class extends _conversation_1.ConversationExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.articles=document2.querySelectorAll('div[data-testid="user-message"], div[data-testid="assistant-message"], div.font-claude-response')}canExtract(){return!!this.articles&&this.articles.length>0}extractMessages(){let messages=[];return this.articles&&this.articles.forEach(article=>{let role,content;if(article.hasAttribute("data-testid"))if(article.getAttribute("data-testid")==="user-message")role="you",content=(0,dom_1.serializeHTML)(article);else return;else if(article.classList.contains("font-claude-response")){role="assistant";let assistantBody=article.querySelector(".standard-markdown")||article;content=(0,dom_1.serializeHTML)(assistantBody)}else return;content&&(content=content.replace(/\u200B/g,"").replace(/<p[^>]*>\s*<\/p>/g,""),messages.push({author:role==="you"?"You":"Claude",content:content.trim(),metadata:{role}}))}),messages}getMetadata(){let title=this.getTitle(),messages=this.extractMessages();return{title,site:"Claude",url:this.url,messageCount:messages.length,description:`Claude conversation with ${messages.length} messages`}}getTitle(){let pageTitle=this.document.title?.trim();if(pageTitle&&pageTitle!=="Claude")return pageTitle.replace(/ - Claude$/,"");let headerTitle=this.document.querySelector("header .font-tiempos")?.textContent?.trim();if(headerTitle)return headerTitle;let firstUserMessage=this.articles?.item(0)?.querySelector('[data-testid="user-message"]');if(firstUserMessage){let text=firstUserMessage.textContent||"";return text.length>50?text.slice(0,50)+"...":text}return"Claude Conversation"}};exports.ClaudeExtractor=ClaudeExtractor}});var require_grok=__commonJS({"node_modules/defuddle/dist/extractors/grok.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.GrokExtractor=void 0;var _conversation_1=require_conversation(),dom_1=require_dom(),GrokExtractor=class extends _conversation_1.ConversationExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.messageContainerSelector=".relative.group.flex.flex-col.justify-center.w-full",this.messageBubbles=document2.querySelectorAll(this.messageContainerSelector),this.footnotes=[],this.footnoteCounter=0}canExtract(){return!!this.messageBubbles&&this.messageBubbles.length>0}extractMessages(){let messages=[];return this.footnotes=[],this.footnoteCounter=0,!this.messageBubbles||this.messageBubbles.length===0||this.messageBubbles.forEach(container=>{let isUserMessage=container.classList.contains("items-end"),isGrokMessage=container.classList.contains("items-start");if(!isUserMessage&&!isGrokMessage)return;let messageBubble=container.querySelector(".message-bubble");if(!messageBubble)return;let content="",role="",author="";if(isUserMessage)content=messageBubble.textContent||"",role="user",author="You";else if(isGrokMessage){role="assistant",author="Grok";let clonedBubble=messageBubble.cloneNode(!0);clonedBubble.querySelector(".relative.border.border-border-l1.bg-surface-base")?.remove(),content=(0,dom_1.serializeHTML)(clonedBubble),content=this.processFootnotes(content)}content.trim()&&messages.push({author,content:content.trim(),metadata:{role}})}),messages}getFootnotes(){return this.footnotes}getMetadata(){let title=this.getTitle(),messageCount=this.messageBubbles?.length||0;return{title,site:"Grok",url:this.url,messageCount,description:`Grok conversation with ${messageCount} messages`}}getTitle(){let pageTitle=this.document.title?.trim();if(pageTitle&&pageTitle!=="Grok"&&!pageTitle.startsWith("Grok by "))return pageTitle.replace(/\s-\s*Grok$/,"").trim();let firstUserContainer=this.document.querySelector(`${this.messageContainerSelector}.items-end`);if(firstUserContainer){let messageBubble=firstUserContainer.querySelector(".message-bubble");if(messageBubble){let text=messageBubble.textContent?.trim()||"";return text.length>50?text.slice(0,50)+"...":text}}return"Grok Conversation"}processFootnotes(content){let linkPattern=/<a\s+(?:[^>]*?\s+)?href="([^"]*)"[^>]*>(.*?)<\/a>/gi;return content.replace(linkPattern,(match,url,linkText)=>{if(!url||url.startsWith("#")||!url.match(/^https?:\/\//i))return match;let footnote=this.footnotes.find(fn=>fn.url===url),footnoteIndex;if(footnote)footnoteIndex=this.footnotes.findIndex(fn=>fn.url===url)+1;else{this.footnoteCounter++,footnoteIndex=this.footnoteCounter;let domainText=url;try{let domain=new URL(url).hostname.replace(/^www\./,"");domainText=`<a href="${(0,dom_1.escapeHtml)(url)}" target="_blank" rel="noopener noreferrer">${(0,dom_1.escapeHtml)(domain)}</a>`}catch{domainText=`<a href="${(0,dom_1.escapeHtml)(url)}" target="_blank" rel="noopener noreferrer">${(0,dom_1.escapeHtml)(url)}</a>`,console.warn(`GrokExtractor: Could not parse URL for footnote: ${url}`)}this.footnotes.push({url,text:domainText})}return`${linkText}<sup id="fnref:${footnoteIndex}" class="footnote-ref"><a href="#fn:${footnoteIndex}" class="footnote-link">${footnoteIndex}</a></sup>`})}};exports.GrokExtractor=GrokExtractor}});var require_gemini=__commonJS({"node_modules/defuddle/dist/extractors/gemini.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.GeminiExtractor=void 0;var _conversation_1=require_conversation(),dom_1=require_dom(),GeminiExtractor=class extends _conversation_1.ConversationExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.messageCount=null,this.conversationContainers=document2.querySelectorAll("div.conversation-container"),this.footnotes=[]}canExtract(){return!!this.conversationContainers&&this.conversationContainers.length>0}extractMessages(){this.messageCount=0;let messages=[];return this.conversationContainers&&(this.extractSources(),this.conversationContainers.forEach(container=>{let userQuery=container.querySelector("user-query");if(userQuery){let queryText=userQuery.querySelector(".query-text");if(queryText){let content=(0,dom_1.serializeHTML)(queryText);messages.push({author:"You",content:content.trim(),metadata:{role:"user"}})}}let modelResponse=container.querySelector("model-response");if(modelResponse){let regularContent=modelResponse.querySelector(".model-response-text .markdown"),contentElement=modelResponse.querySelector("#extended-response-markdown-content")||regularContent;if(contentElement){let content=(0,dom_1.serializeHTML)(contentElement),tempDiv=this.document.createElement("div");tempDiv.appendChild((0,dom_1.parseHTML)(this.document,content)),tempDiv.querySelectorAll(".table-content").forEach(el=>{el.classList.remove("table-content")}),content=(0,dom_1.serializeHTML)(tempDiv),messages.push({author:"Gemini",content:content.trim(),metadata:{role:"assistant"}})}}}),this.messageCount=messages.length),messages}extractSources(){let browseItems=this.document.querySelectorAll("browse-item");browseItems&&browseItems.length>0&&browseItems.forEach(item=>{let link=item.querySelector("a");if(link instanceof HTMLAnchorElement){let url=link.href,domain=link.querySelector(".domain")?.textContent?.trim()||"",title=link.querySelector(".title")?.textContent?.trim()||"";url&&(domain||title)&&this.footnotes.push({url,text:(0,dom_1.escapeHtml)(title?`${domain}: ${title}`:domain)})}})}getFootnotes(){return this.footnotes}getMetadata(){let title=this.getTitle(),messageCount=this.messageCount??this.extractMessages().length;return{title,site:"Gemini",url:this.url,messageCount,description:`Gemini conversation with ${messageCount} messages`}}getTitle(){let pageTitle=this.document.title?.trim();if(pageTitle&&pageTitle!=="Gemini"&&!pageTitle.includes("Gemini"))return pageTitle;let researchTitle=this.document.querySelector(".title-text")?.textContent?.trim();if(researchTitle)return researchTitle;let firstUserQuery=this.conversationContainers?.item(0)?.querySelector(".query-text");if(firstUserQuery){let text=firstUserQuery.textContent||"";return text.length>50?text.slice(0,50)+"...":text}return"Gemini Conversation"}};exports.GeminiExtractor=GeminiExtractor}});var require_github=__commonJS({"node_modules/defuddle/dist/extractors/github.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.GitHubExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),comments_1=require_comments(),GitHubExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.isIssue=/\/issues\/\d+/.test(url),this.isPR=/\/pull\/\d+/.test(url)}canExtract(){return['meta[name="expected-hostname"][content="github.com"]','meta[name="octolytics-url"]','meta[name="github-keyboard-shortcuts"]',".js-header-wrapper","#js-repo-pjax-container"].some(selector=>this.document.querySelector(selector)!==null)?this.isIssue?['[data-testid="issue-metadata-sticky"]','[data-testid="issue-title"]'].some(selector=>this.document.querySelector(selector)!==null):this.isPR?[".pull-discussion-timeline",".discussion-timeline",".gh-header-title",".js-issue-title"].some(selector=>this.document.querySelector(selector)!==null):!1:!1}extract(){let repoInfo=this.extractRepoInfo(),number=this.extractNumber(),type=this.isPR?"pull":"issue",prBody=this.isPR?this.getPRBody():null,{content:postContent,author,published}=this.isPR?this.getPRContent(prBody):this.getIssueContent(),comments=this.options.includeReplies!==!1?this.isPR?this.extractPRComments(prBody):this.extractComments():"",contentHtml=this.createContentHtml(postContent,comments);return{content:contentHtml,contentHtml,extractedContent:{type,number,repository:repoInfo.repo,owner:repoInfo.owner},variables:{title:this.document.title,author,published,site:`GitHub - ${repoInfo.owner}/${repoInfo.repo}`,description:this.createDescription(contentHtml)}}}createContentHtml(postContent,comments){return(0,comments_1.buildContentHtml)("github",postContent,comments)}getIssueContent(){let issueContainer=this.document.querySelector('[data-testid="issue-viewer-issue-container"]');if(!issueContainer)return{content:"",author:"",published:""};let author=this.extractAuthor(issueContainer,['a[data-testid="issue-body-header-author"]',".IssueBodyHeaderAuthor-module__authorLoginLink--_S7aT",".ActivityHeader-module__AuthorLink--iofTU",'a[href*="/users/"][data-hovercard-url*="/users/"]','a[aria-label*="profile"]']),published=issueContainer.querySelector("relative-time")?.getAttribute("datetime")||"",issueBodyElement=issueContainer.querySelector('[data-testid="issue-body-viewer"] .markdown-body');return issueBodyElement?{content:this.cleanBodyContent(issueBodyElement),author,published}:{content:"",author,published}}extractComments(){let commentElements=Array.from(this.document.querySelectorAll("[data-wrapper-timeline-id]")),processedComments=new Set,commentData=[];for(let commentElement of commentElements){let commentContainer=commentElement.querySelector(".react-issue-comment");if(!commentContainer)continue;let commentId=commentElement.getAttribute("data-wrapper-timeline-id");if(!commentId||processedComments.has(commentId))continue;processedComments.add(commentId);let author=this.extractAuthor(commentContainer,[".ActivityHeader-module__AuthorLink--iofTU",'a[data-testid="avatar-link"]','a[href^="/"][data-hovercard-url*="/users/"]']),timestamp=commentContainer.querySelector("relative-time")?.getAttribute("datetime")||"",date=timestamp?new Date(timestamp).toISOString().split("T")[0]:"",bodyElement=commentContainer.querySelector(".markdown-body");if(!bodyElement)continue;let bodyContent=this.cleanBodyContent(bodyElement);bodyContent&&commentData.push({author,date,content:bodyContent})}return(0,comments_1.buildCommentTree)(commentData)}getPRBody(){return this.document.querySelector('[id^="pullrequest-"]')||this.document.querySelector(".timeline-comment")}getPRContent(prBody){let bodyEl=prBody?.querySelector(".comment-body.markdown-body")||this.document.querySelector(".comment-body.markdown-body"),content=bodyEl?this.cleanBodyContent(bodyEl):"",author=(prBody?.querySelector(".author")||this.document.querySelector(".gh-header-meta .author"))?.textContent?.trim()||"",published=prBody?.querySelector("relative-time")?.getAttribute("datetime")||"";return{content,author,published}}extractPRComments(prBody){let allComments=Array.from(this.document.querySelectorAll(".timeline-comment, .review-comment")),commentData=[];for(let comment of allComments){if(prBody&&(comment===prBody||prBody.contains(comment)))continue;let author=comment.querySelector(".author")?.textContent?.trim()||"",timestamp=comment.querySelector("relative-time")?.getAttribute("datetime")||"",date=timestamp?new Date(timestamp).toISOString().split("T")[0]:"",bodyEl=comment.querySelector(".comment-body.markdown-body");if(!bodyEl)continue;let bodyContent=this.cleanBodyContent(bodyEl);bodyContent&&commentData.push({author,date,content:bodyContent})}return(0,comments_1.buildCommentTree)(commentData)}extractAuthor(container,selectors){for(let selector of selectors){let authorLink=container.querySelector(selector);if(authorLink){let href=authorLink.getAttribute("href");if(href){if(href.startsWith("/"))return href.substring(1);if(href.includes("github.com/")){let match=href.match(/github\.com\/([^\/\?#]+)/);if(match&&match[1])return match[1]}}}}return"Unknown"}cleanBodyContent(bodyElement){let cleanBody=bodyElement.cloneNode(!0);return cleanBody.querySelectorAll('button, [data-testid*="button"], [data-testid*="menu"]').forEach(el=>el.remove()),cleanBody.querySelectorAll(".js-clipboard-copy, .zeroclipboard-container").forEach(el=>el.remove()),cleanBody.querySelectorAll('div.highlight[class*="highlight-source-"] pre, div.highlight pre').forEach(pre=>{let wrapper=pre.parentElement;if(!wrapper)return;let lang=wrapper.className.match(/highlight-source-(\w+)/)?.[1]||"",content=wrapper.getAttribute("data-snippet-clipboard-copy-content")||pre.textContent||"",code=this.document.createElement("code");lang&&(code.setAttribute("class",`language-${lang}`),code.setAttribute("data-lang",lang)),code.textContent=content;let newPre=this.document.createElement("pre");newPre.appendChild(code),wrapper.replaceWith(newPre)}),(0,dom_1.serializeHTML)(cleanBody).trim()}extractNumber(){let urlMatch=this.url.match(/\/(issues|pull)\/(\d+)/);if(urlMatch)return urlMatch[2];let titleMatch=this.document.querySelector("h1")?.textContent?.match(/#(\d+)/);return titleMatch?titleMatch[1]:""}extractRepoInfo(){let urlMatch=this.url.match(/github\.com\/([^\/]+)\/([^\/]+)/);if(urlMatch)return{owner:urlMatch[1],repo:urlMatch[2]};let titleMatch=this.document.title.match(/([^\/\s]+)\/([^\/\s]+)/);return titleMatch?{owner:titleMatch[1],repo:titleMatch[2]}:{owner:"",repo:""}}createDescription(content){if(!content)return"";let tempDiv=this.document.createElement("div");return tempDiv.appendChild((0,dom_1.parseHTML)(this.document,content)),tempDiv.textContent?.trim().slice(0,140).replace(/\s+/g," ")||""}};exports.GitHubExtractor=GitHubExtractor}});var require_x_oembed=__commonJS({"node_modules/defuddle/dist/extractors/x-oembed.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.XOembedExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),comments_1=require_comments(),XOembedExtractor=class extends _base_1.BaseExtractor{canExtract(){return!1}extract(){return{content:"",contentHtml:""}}canExtractAsync(){return/\/(status|article)\/\d+/.test(this.url)}prefersAsync(){return this.document.querySelector('article[data-testid="tweet"]')?!1:!(typeof window<"u"&&this.document.defaultView==window)}async extractAsync(){let fxResult=await this.tryExtractFxTwitter();return fxResult||this.extractOembed()}async extractOembed(){let oembedUrl=`https://publish.twitter.com/oembed?url=${encodeURIComponent(this.url)}&omit_script=true`,response=await this.fetch(oembedUrl);if(!response.ok)throw new Error(`oEmbed request failed: ${response.status}`);let data=await response.json(),div=this.document.createElement("div");div.appendChild((0,dom_1.parseHTML)(this.document,data.html));let paragraphs=div.querySelector("blockquote")?.querySelectorAll("p")||[],tweetText=Array.from(paragraphs).map(p=>`<p>${(0,dom_1.serializeHTML)(p)}</p>`).join(`
63
+ `),handle=data.author_url?`@${data.author_url.split("/").pop()}`:"",contentHtml=(0,comments_1.buildContentHtml)("twitter",tweetText,""),author=handle||data.author_name,description=tweetText.replace(/<[^>]*>/g,"").trim().slice(0,140).replace(/\s+/g," ");return{content:contentHtml,contentHtml,variables:{title:this.postTitle(author,"X"),author,site:"X (Twitter)",description}}}async tryExtractFxTwitter(){let match=this.url.match(/\/([a-zA-Z0-9_][a-zA-Z0-9_]{0,14})\/(status|article)\/(\d+)/);if(!match)return null;try{let data=await this.fetchFxTwitter(match[1],match[3]);return data.tweet?.article?this.buildArticleResult(data):data.tweet?.text?this.buildTweetResult(data):null}catch{return null}}async fetchFxTwitter(username,id){let apiUrl=`https://api.fxtwitter.com/${username}/status/${id}`,response=await this.fetch(apiUrl,{headers:{"User-Agent":"Mozilla/5.0 (compatible; Defuddle/1.0; +https://defuddle.md)"}});if(!response.ok)throw new Error(`FxTwitter API request failed: ${response.status}`);return response.json()}toDateString(dateStr){if(dateStr)try{return new Date(dateStr).toISOString().split("T")[0]}catch{return}}buildArticleResult(data){let article=data.tweet.article,{blocks,entityMap}=article.content,mediaEntities=article.media_entities||[],contentHtml=this.renderArticle(blocks,entityMap,article.cover_media,mediaEntities),handle=`@${data.tweet.author.screen_name}`,published=this.toDateString(article.created_at)??this.toDateString(data.tweet.created_at);return{content:contentHtml,contentHtml,variables:{title:article.title,author:handle,site:"X (Twitter)",description:article.preview_text,...published&&{published}}}}buildTweetResult(data){let tweet=data.tweet,handle=`@${tweet.author.screen_name}`,postContent=this.renderTweet(tweet),contentHtml=(0,comments_1.buildContentHtml)("twitter",postContent,""),published=this.toDateString(tweet.created_at),description=(tweet.text||"").trim().slice(0,140).replace(/\s+/g," ");return{content:contentHtml,contentHtml,variables:{title:this.postTitle(handle,"X"),author:handle,site:"X (Twitter)",description,...published&&{published}}}}codePointToUtf16Index(text,codePointIndex){let utf16Index=0,cpCount=0;for(let char of text){if(cpCount>=codePointIndex)break;utf16Index+=char.length,cpCount+=1}return utf16Index}adjustFacetIndicesToUtf16(text,facets){return facets.length===0||!/[\uD800-\uDBFF]/.test(text)?facets:facets.map(facet=>{let[fStart,fEnd]=facet.indices;return{...facet,indices:[this.codePointToUtf16Index(text,fStart),this.codePointToUtf16Index(text,fEnd)]}})}renderTweet(tweet){let text=tweet.raw_text?.text||tweet.text,rawFacets=(tweet.raw_text?.facets||[]).filter(f=>f.type!=="media"),facets=this.adjustFacetIndicesToUtf16(text,rawFacets),paragraphs=text.split(/\n\n+/),offset=0,htmlParts=[];for(let para of paragraphs){let paraStart=text.indexOf(para,offset),paraEnd=paraStart+para.length;offset=paraEnd;let isBlockquote=para.trimStart().startsWith(">"),paraText=isBlockquote?para.trimStart().slice(1).trimStart():para,paraTextStart=isBlockquote?paraStart+(para.length-para.trimStart().length)+1+(para.trimStart().slice(1).length-para.trimStart().slice(1).trimStart().length):paraStart,withBreaks=this.applyFacets(paraText,paraTextStart,paraEnd,facets).replace(/\n/g,"<br>");isBlockquote?htmlParts.push(`<blockquote><p>${withBreaks}</p></blockquote>`):withBreaks.trim()&&htmlParts.push(`<p>${withBreaks}</p>`)}if(tweet.media?.photos)for(let photo of tweet.media.photos)htmlParts.push(`<img src="${(0,dom_1.escapeHtml)(photo.url)}" alt="">`);return htmlParts.join(`
64
+ `)}applyMarkers(text,markers){if(markers.length===0)return(0,dom_1.escapeHtml)(text);markers.sort((a,b)=>a.offset!==b.offset?a.offset-b.offset:a.type==="close"&&b.type==="open"?-1:a.type==="open"&&b.type==="close"?1:0);let result="",pos=0;for(let marker of markers)marker.offset>pos&&(result+=(0,dom_1.escapeHtml)(text.slice(pos,marker.offset))),result+=marker.tag,pos=marker.offset;return pos<text.length&&(result+=(0,dom_1.escapeHtml)(text.slice(pos))),result}applyFacets(text,textStart,textEnd,facets){let markers=[];for(let facet of facets){let[fStart,fEnd]=facet.indices;if(fEnd<=textStart||fStart>=textEnd)continue;let relStart=Math.max(0,fStart-textStart),relEnd=Math.min(text.length,fEnd-textStart);if(facet.type==="italic")markers.push({offset:relStart,type:"open",tag:"<em>"}),markers.push({offset:relEnd,type:"close",tag:"</em>"});else if(facet.type==="mention"&&facet.text){let url=`https://x.com/${(0,dom_1.escapeHtml)(facet.text)}`;markers.push({offset:relStart,type:"open",tag:`<a href="${url}">`}),markers.push({offset:relEnd,type:"close",tag:"</a>"})}else if(facet.type==="url"&&facet.original){let url=(0,dom_1.escapeHtml)(facet.original);markers.push({offset:relStart,type:"open",tag:`<a href="${url}">`}),markers.push({offset:relEnd,type:"close",tag:"</a>"})}}return this.applyMarkers(text,markers)}renderArticle(blocks,entityMap,coverMedia,mediaEntities){let parts=[];coverMedia?.media_info?.original_img_url&&parts.push(`<img src="${(0,dom_1.escapeHtml)(coverMedia.media_info.original_img_url)}" alt="Cover image">`);let i=0;for(;i<blocks.length;){let block=blocks[i];if(block.type==="unordered-list-item"){let items=[];for(;i<blocks.length&&blocks[i].type==="unordered-list-item";)items.push(`<li>${this.renderInlineContent(blocks[i],entityMap)}</li>`),i++;parts.push(`<ul>${items.join("")}</ul>`);continue}let html=this.renderBlock(block,entityMap,mediaEntities);html&&parts.push(html),i++}return`<article class="x-article">${parts.join(`
65
+ `)}</article>`}renderBlock(block,entityMap,mediaEntities){switch(block.type){case"unstyled":return block.text.trim()?`<p>${this.renderInlineContent(block,entityMap)}</p>`:"";case"header-two":return`<h2>${this.renderInlineContent(block,entityMap)}</h2>`;case"header-three":return`<h3>${this.renderInlineContent(block,entityMap)}</h3>`;case"atomic":return this.renderAtomicBlock(block,entityMap,mediaEntities);default:return block.text.trim()?`<p>${this.renderInlineContent(block,entityMap)}</p>`:""}}renderAtomicBlock(block,entityMap,mediaEntities){if(block.entityRanges.length===0)return"";let entityEntry=entityMap.find(e=>e.key===String(block.entityRanges[0].key));if(!entityEntry)return"";let entity=entityEntry.value;switch(entity.type){case"MEDIA":{let mediaItems=entity.data.mediaItems||[],caption=entity.data.caption,images=[];for(let item of mediaItems){let mediaEntity=mediaEntities?.find(e=>String(e.media_id)===String(item.mediaId));if(!mediaEntity)continue;let info=mediaEntity.media_info;if(info.__typename==="ApiImage"&&info.original_img_url)images.push(`<img src="${(0,dom_1.escapeHtml)(info.original_img_url)}" alt="${caption?(0,dom_1.escapeHtml)(caption):""}">`);else if(info.__typename==="ApiVideo"&&info.preview_image?.original_img_url){let videoUrl=(info.variants||[]).filter(v=>v.content_type==="video/mp4"&&v.bit_rate).sort((a,b)=>(b.bit_rate||0)-(a.bit_rate||0))[0]?.url,previewUrl=info.preview_image.original_img_url;videoUrl?images.push(`<video src="${(0,dom_1.escapeHtml)(videoUrl)}" poster="${(0,dom_1.escapeHtml)(previewUrl)}" controls></video>`):images.push(`<img src="${(0,dom_1.escapeHtml)(previewUrl)}" alt="${caption?(0,dom_1.escapeHtml)(caption):""}">`)}}return images.length>0&&caption?`<figure>${images.join(`
66
+ `)}<figcaption>${(0,dom_1.escapeHtml)(caption)}</figcaption></figure>`:images.length>0?images.map(img=>`<figure>${img}</figure>`).join(`
67
+ `):caption?`<figure><figcaption>${(0,dom_1.escapeHtml)(caption)}</figcaption></figure>`:""}case"MARKDOWN":{let markdown=entity.data.markdown||"",codeMatch=markdown.match(/^```(\w*)\n([\s\S]*?)\n?```$/);if(codeMatch){let lang=codeMatch[1],code=codeMatch[2];return`<pre><code${lang?` class="language-${(0,dom_1.escapeHtml)(lang)}" data-lang="${(0,dom_1.escapeHtml)(lang)}"`:""}>${(0,dom_1.escapeHtml)(code)}</code></pre>`}return`<pre><code>${(0,dom_1.escapeHtml)(markdown)}</code></pre>`}default:return""}}renderInlineContent(block,entityMap){let text=block.text;if(!text)return"";let markers=[];for(let range of block.inlineStyleRanges)range.style==="Bold"&&(markers.push({offset:range.offset,type:"open",tag:"<strong>"}),markers.push({offset:range.offset+range.length,type:"close",tag:"</strong>"}));for(let range of block.entityRanges){let entityEntry=entityMap.find(e=>e.key===String(range.key));if(entityEntry?.value.type==="LINK"&&entityEntry.value.data.url){let url=(0,dom_1.escapeHtml)(entityEntry.value.data.url);markers.push({offset:range.offset,type:"open",tag:`<a href="${url}">`}),markers.push({offset:range.offset+range.length,type:"close",tag:"</a>"})}}if(block.data?.mentions)for(let mention of block.data.mentions){let url=`https://x.com/${(0,dom_1.escapeHtml)(mention.text)}`;markers.push({offset:mention.fromIndex,type:"open",tag:`<a href="${url}">`}),markers.push({offset:mention.toIndex,type:"close",tag:"</a>"})}if(block.data?.urls)for(let urlData of block.data.urls){let url=(0,dom_1.escapeHtml)(urlData.text);markers.push({offset:urlData.fromIndex,type:"open",tag:`<a href="${url}">`}),markers.push({offset:urlData.toIndex,type:"close",tag:"</a>"})}return this.applyMarkers(text,markers)}};exports.XOembedExtractor=XOembedExtractor}});var require_bbcode=__commonJS({"node_modules/defuddle/dist/utils/bbcode.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.bbcodeToHtml=bbcodeToHtml;var dom_1=require_dom();function bbcodeToHtml(bbcode){let html=bbcode;return html=html.replace(/\[h1\]([\s\S]*?)\[\/h1\]/gi,"<h1>$1</h1>"),html=html.replace(/\[h2\]([\s\S]*?)\[\/h2\]/gi,"<h2>$1</h2>"),html=html.replace(/\[h3\]([\s\S]*?)\[\/h3\]/gi,"<h3>$1</h3>"),html=html.replace(/\[b\]([\s\S]*?)\[\/b\]/gi,"<strong>$1</strong>"),html=html.replace(/\[i\]([\s\S]*?)\[\/i\]/gi,"<em>$1</em>"),html=html.replace(/\[u\]([\s\S]*?)\[\/u\]/gi,"<u>$1</u>"),html=html.replace(/\[s\]([\s\S]*?)\[\/s\]/gi,"<s>$1</s>"),html=html.replace(/\[url=["']?([^"'\]]+)["']?\]([\s\S]*?)\[\/url\]/gi,(_,href,text)=>(0,dom_1.isDangerousUrl)(href)?text:`<a href="${href}">${text}</a>`),html=html.replace(/\[img\]([\s\S]*?)\[\/img\]/gi,'<img src="$1">'),html=html.replace(/\[previewyoutube=["']?([^;'"]+)[^"'\]]*["']?\]\[\/previewyoutube\]/gi,'<img src="https://www.youtube.com/watch?v=$1">'),html=html.replace(/\[list\]([\s\S]*?)\[\/list\]/gi,(_,inner)=>`<ul>${inner.replace(/\[\*\]([\s\S]*?)(?=\[\*\]|\[\/list\]|$)/gi,"<li>$1</li>")}</ul>`),html=html.replace(/\[olist\]([\s\S]*?)\[\/olist\]/gi,(_,inner)=>`<ol>${inner.replace(/\[\*\]([\s\S]*?)(?=\[\*\]|\[\/olist\]|$)/gi,"<li>$1</li>")}</ol>`),html=html.replace(/\[quote(?:=[^\]]+)?\]([\s\S]*?)\[\/quote\]/gi,"<blockquote>$1</blockquote>"),html=html.replace(/\[code\]([\s\S]*?)\[\/code\]/gi,"<pre><code>$1</code></pre>"),html=html.replace(/\[spoiler\]([\s\S]*?)\[\/spoiler\]/gi,"<details><summary>Spoiler</summary>$1</details>"),html=html.replace(/\[p\]([\s\S]*?)\[\/p\]/gi,(_,inner)=>`<p>${inner.replace(/\n/g,"<br>")}</p>`),html=html.replace(/\n/g,"<br>"),html=html.replace(/\[[^\]]+\]/g,""),html}}});var require_bbcode_data=__commonJS({"node_modules/defuddle/dist/extractors/bbcode-data.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.BbcodeDataExtractor=void 0;var _base_1=require_base(),bbcode_1=require_bbcode(),BbcodeDataExtractor=class extends _base_1.BaseExtractor{constructor(){super(...arguments),this.eventData=void 0}canExtract(){return!!this.getEventData()?.announcement_body?.body}extract(){let event=this.getEventData(),body=event.announcement_body,contentHtml=(0,bbcode_1.bbcodeToHtml)(body.body||""),title=body.headline||event.event_name||"",published=body.posttime?new Date(body.posttime*1e3).toISOString():"",author=this.getGroupName();return{content:contentHtml,contentHtml,extractedContent:{},variables:{title,author,published}}}getEventData(){return this.eventData===void 0&&(this.eventData=this.parseConfigAttr("data-partnereventstore")??null),this.eventData}getGroupName(){return this.parseConfigAttr("data-groupvanityinfo")?.group_name||""}parseConfigAttr(attr){let raw=this.document.querySelector("#application_config")?.getAttribute(attr);if(!raw)return null;try{let parsed=JSON.parse(raw);return Array.isArray(parsed)?parsed[0]:parsed}catch{return null}}};exports.BbcodeDataExtractor=BbcodeDataExtractor}});var require_c2_wiki=__commonJS({"node_modules/defuddle/dist/extractors/c2-wiki.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.C2WikiExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),C2_API="https://c2.com/wiki/remodel/pages/",C2WikiExtractor=class extends _base_1.BaseExtractor{canExtract(){return!1}canExtractAsync(){return this.getPageTitle()!==null}prefersAsync(){return!0}extract(){return{content:"",contentHtml:""}}async extractAsync(){let title=this.getPageTitle();if(!title)return{content:"",contentHtml:""};let json=await this.fetch(C2_API+title).then(res=>res.json());if(!json||!json.text)return{content:"",contentHtml:""};let words=title.replace(/([a-z])([A-Z])/g,"$1 $2"),contentHtml=this.renderPage(json);return{content:contentHtml,contentHtml,variables:{title:words,site:"C2 Wiki",...json.date?{published:json.date}:{}}}}getPageTitle(){if(this.pageTitle!==void 0)return this.pageTitle;try{let match=new URL(this.url).search.match(/[?&]([A-Za-z]\w*)/);this.pageTitle=match?match[1]:"WelcomeVisitors"}catch{this.pageTitle=null}return this.pageTitle}renderPage(json){let body=this.markup(json.text),footer=json.date?`<hr><p>Last edit ${(0,dom_1.escapeHtml)(json.date)}</p>`:"";return`${body}${footer}`}markup(text){let lines=text.replace(/\\\n/g," ").split(/\r?\n/),parts=[],openTags=[];for(let line of lines){let{html,openTags:nextTags}=this.applyBullets(line,openTags);parts.push(this.applyInline(html)),openTags=nextTags}for(;openTags.length>0;)parts.push(`</${openTags.pop()}>`);return parts.join(`
68
+ `)}applyBullets(text,openTags){let newOpenTags=[...openTags],prefix="",closeToDepth=(depth,tag)=>{for(;newOpenTags.length>depth;)prefix+=`</${newOpenTags.pop()}>`;tag&&newOpenTags.length<depth?(prefix+=`<${tag}>`,newOpenTags.push(tag)):tag&&newOpenTags.length===depth&&newOpenTags[depth-1]!==tag&&(prefix+=`</${newOpenTags.pop()}><${tag}>`,newOpenTags.push(tag))};if(/^\s*$/.test(text))return newOpenTags.some(t=>t==="ul"||t==="ol"||t==="dl")?{html:"",openTags:newOpenTags}:(closeToDepth(0),{html:prefix+"<p></p>",openTags:newOpenTags});if(/^-----*/.test(text))return closeToDepth(0),{html:prefix+"<hr>",openTags:newOpenTags};let dlMatch=text.match(/^(\t+)(.+):\t/);if(dlMatch)return closeToDepth(dlMatch[1].length,"dl"),{html:prefix+`<dt>${dlMatch[2]}<dd>`+text.slice(dlMatch[0].length),openTags:newOpenTags};let tabUlMatch=text.match(/^(\t+)\*/);if(tabUlMatch)return closeToDepth(tabUlMatch[1].length,"ul"),{html:prefix+"<li>"+text.slice(tabUlMatch[0].length),openTags:newOpenTags};let starUlMatch=text.match(/^(\*+)/);if(starUlMatch)return closeToDepth(starUlMatch[1].length,"ul"),{html:prefix+"<li>"+text.slice(starUlMatch[0].length),openTags:newOpenTags};let olMatch=text.match(/^(\t+)\d+\.?/);return olMatch?(closeToDepth(olMatch[1].length,"ol"),{html:prefix+"<li>"+text.slice(olMatch[0].length),openTags:newOpenTags}):/^\s/.test(text)?(closeToDepth(1,"pre"),{html:prefix+text,openTags:newOpenTags}):(closeToDepth(0),{html:prefix+text,openTags:newOpenTags})}applyInline(text){return text.replace(/'''(.*?)'''/g,"<strong>$1</strong>").replace(/''(.*?)''/g,"<em>$1</em>").replace(/\b(https?|ftp|mailto|file|telnet|news):[^\s<>[\]"'()]*[^\s<>[\]"'(),.?]/g,url=>(0,dom_1.isDangerousUrl)(url)?(0,dom_1.escapeHtml)(url):/\.(gif|jpg|jpeg|png)$/i.test(url)?`<img src="${escapeAttr(url)}">`:`<a href="${escapeAttr(url)}" rel="nofollow" target="_blank">${(0,dom_1.escapeHtml)(url)}</a>`)}};exports.C2WikiExtractor=C2WikiExtractor;function escapeAttr(text){return text.replace(/"/g,"&quot;").replace(/'/g,"&#39;")}}});var require_substack=__commonJS({"node_modules/defuddle/dist/extractors/substack.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.SubstackExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),INJECTED_ATTR="data-defuddle-substack-post",SubstackExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){if(super(document2,url,schemaOrgData,options),this.noteText=null,this.noteImage=null,this.postData=null,this.postContentSelector=null,document2.querySelector("div.body.markup")){this.postData=this.extractPreloadData(),this.postContentSelector="div.body.markup";return}if(this.postData=this.extractPreloadData(),this.postData?.body_html){if(!document2.querySelector(`[${INJECTED_ATTR}]`)){let wrapper=document2.createElement("div");wrapper.setAttribute(INJECTED_ATTR,""),wrapper.appendChild((0,dom_1.parseHTML)(document2,this.postData.body_html)),document2.body.appendChild(wrapper)}this.postContentSelector=`[${INJECTED_ATTR}]`;return}let permalinkUnit=document2.querySelector('[class*="feedPermalinkUnit"]');if(this.noteText=(permalinkUnit||document2).querySelector("div.ProseMirror.FeedProseMirror"),this.noteText){let feedCommentBody=this.noteText.closest('[class*="feedCommentBody"]:not([class*="feedCommentBodyInner"])');if(feedCommentBody){let candidates=[feedCommentBody.nextElementSibling,feedCommentBody.parentElement?.nextElementSibling];for(let el of candidates)if(el&&(el.getAttribute("class")||"").includes("imageGrid")){this.noteImage=el;break}}}}canExtract(){return this.postContentSelector!==null||this.noteText!==null}extract(){return this.postContentSelector?this.extractPost():this.extractNote()}extractPost(){let title=this.postData?.title||this.document.querySelector('meta[property="og:title"]')?.getAttribute("content")||"",description=this.postData?.subtitle||this.document.querySelector('meta[property="og:description"]')?.getAttribute("content")||"",author=this.postData?.publishedBylines?.[0]?.name||this.document.querySelector('a[href*="substack.com/@"]')?.textContent?.trim()||"",published=this.postData?.post_date||this.parseDateFromByline()||"";return{content:"",contentHtml:"",contentSelector:this.postContentSelector,variables:{title,author,site:"Substack",description,published}}}extractNote(){let textHtml=this.noteText.outerHTML,imageHtml=this.buildImageHtml(),content=imageHtml?`${textHtml}
69
+ ${imageHtml}`:textHtml,title=this.document.querySelector('meta[property="og:title"]')?.getAttribute("content")||"",description=this.document.querySelector('meta[property="og:description"]')?.getAttribute("content")||"",author=title.replace(/\s*\(@[^)]+\)\s*$/,"").trim();return{content,contentHtml:content,variables:{title,author,site:"Substack",description}}}parseDateFromByline(){let byline=this.document.querySelector('[class*="byline-wrapper"]');if(!byline)return"";let text=(byline.textContent||"").trim().replace(/([a-z])([A-Z])/g,"$1 $2"),ABBREV_MONTHS="Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec",MONTH_MAP={Jan:"01",Feb:"02",Mar:"03",Apr:"04",May:"05",Jun:"06",Jul:"07",Aug:"08",Sep:"09",Oct:"10",Nov:"11",Dec:"12"},match=text.match(new RegExp(`\\b(${ABBREV_MONTHS})\\s+(\\d{1,2}),?\\s+(\\d{4})\\b`));if(match){let month=MONTH_MAP[match[1]],day=match[2].padStart(2,"0");return`${match[3]}-${month}-${day}T00:00:00+00:00`}return""}extractPreloadData(){let scripts=Array.from(this.document.querySelectorAll("script"));for(let script of scripts){let text=script.textContent||"";if(!text.includes("window._preloads")||!text.includes("body_html"))continue;let jsonParseIdx=text.indexOf('JSON.parse("');if(jsonParseIdx===-1)continue;let startIdx=jsonParseIdx+12,i=startIdx;for(;i<text.length;)if(text[i]==="\\")i+=2;else{if(text[i]==='"')break;i++}try{let innerStr=text.slice(startIdx,i),jsonString=JSON.parse('"'+innerStr+'"'),post=JSON.parse(jsonString)?.feedData?.initialPost?.post;if(post?.body_html)return post}catch{}}return null}buildImageHtml(){if(!this.noteImage)return"";let ogImage=this.document.querySelector('meta[property="og:image"]')?.getAttribute("content");if(ogImage)return`<img src="${(0,dom_1.escapeHtml)(ogImage)}" alt="" />`;let img=this.noteImage.querySelector("img");if(!img)return"";let src=this.getLargestSrc(img);return src?`<img src="${(0,dom_1.escapeHtml)(src)}" alt="" />`:""}getLargestSrc(img){let srcset=img.getAttribute("srcset")||"";if(srcset){let entryPattern=/(.+?)\s+(\d+(?:\.\d+)?)w/g,bestUrl="",bestWidth=0,match,lastIndex=0;for(;(match=entryPattern.exec(srcset))!==null;){let url=match[1].trim();lastIndex>0&&(url=url.replace(/^,\s*/,"")),lastIndex=entryPattern.lastIndex;let width=parseFloat(match[2]);url&&width>bestWidth&&(bestWidth=width,bestUrl=url)}if(bestUrl)return bestUrl.replace(/,w_\d+/g,"").replace(/,c_\w+/g,"")}return img.getAttribute("src")||""}};exports.SubstackExtractor=SubstackExtractor}});var require_nytimes=__commonJS({"node_modules/defuddle/dist/extractors/nytimes.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.NytimesExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),INJECTED_ATTR="data-defuddle-nyt",NytimesExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){if(super(document2,url,schemaOrgData,options),this.preloadedData=null,this.contentSelector=null,this.preloadedData=this.extractPreloadData(),this.preloadedData){let body=this.preloadedData.sprinkledBody||this.preloadedData.body;if(body?.content?.length){if(!document2.querySelector(`[${INJECTED_ATTR}]`)){let wrapper=document2.createElement("div");wrapper.setAttribute(INJECTED_ATTR,""),wrapper.appendChild((0,dom_1.parseHTML)(document2,this.renderBlocks(body.content))),document2.body.appendChild(wrapper)}this.contentSelector=`[${INJECTED_ATTR}]`}}}canExtract(){return this.contentSelector!==null}extract(){let article=this.preloadedData,title=article.headline?.default||"",authors=(article.bylines?.[0]?.creators||[]).map(c=>c.displayName).filter(Boolean).join(", "),published=article.firstPublished||"",description=article.summary||"";return{content:"",contentHtml:"",contentSelector:this.contentSelector,variables:{title,author:authors,published,description}}}extractPreloadData(){let scripts=this.document.querySelectorAll("script:not([src])");for(let script of scripts){let text=script.textContent||"";if(!text.includes("window.__preloadedData"))continue;let match=text.match(/window\.__preloadedData\s*=\s*({[\s\S]+})\s*;?\s*$/);if(match)try{let raw=match[1].replace(/(?<=:)undefined(?=[,}\]])/g,"null");return JSON.parse(raw).initialData?.data?.article||null}catch{return null}}return null}renderBlocks(blocks){let parts=[];for(let block of blocks)switch(block.__typename){case"ParagraphBlock":parts.push(`<p>${this.renderInlines(block.content)}</p>`);break;case"Heading2Block":parts.push(`<h2>${this.renderInlines(block.content)}</h2>`);break;case"Heading3Block":parts.push(`<h3>${this.renderInlines(block.content)}</h3>`);break;case"Heading4Block":parts.push(`<h4>${this.renderInlines(block.content)}</h4>`);break;case"ImageBlock":{let media=block.media;if(!media)break;let src=this.getBestImageUrl(media);if(!src)break;let alt=this.escapeAttr(media.altText||media.caption?.text||""),caption=media.caption?.text||"",credit=media.credit||"",figcaptionParts=[caption,credit].filter(Boolean);figcaptionParts.length?parts.push(`<figure><img src="${this.escapeAttr(src)}" alt="${alt}"><figcaption>${this.escapeHtml(figcaptionParts.join(" "))}</figcaption></figure>`):parts.push(`<img src="${this.escapeAttr(src)}" alt="${alt}">`);break}case"HeaderBasicBlock":case"Dropzone":break;default:{let generic=block;generic.content?.length&&parts.push(`<p>${this.renderInlines(generic.content)}</p>`);break}}return parts.join(`
70
+ `)}renderInlines(inlines){return inlines?inlines.map(inline=>{let text=this.escapeHtml(inline.text||"");if(!inline.formats?.length)return text;for(let fmt of inline.formats)switch(fmt.__typename){case"BoldFormat":text=`<strong>${text}</strong>`;break;case"ItalicFormat":text=`<em>${text}</em>`;break;case"LinkFormat":fmt.url&&(text=`<a href="${this.escapeAttr(fmt.url)}">${text}</a>`);break}return text}).join(""):""}getBestImageUrl(media){let crops=media?.crops;if(!crops?.length)return null;let preferred=["superJumbo","jumbo","articleLarge"];for(let name of preferred)for(let crop of crops){let rendition=crop.renditions?.find(r=>r.name===name);if(rendition?.url)return rendition.url}for(let crop of crops)if(crop.renditions?.length&&crop.renditions[0].url)return crop.renditions[0].url;return null}escapeHtml(text){return text.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}escapeAttr(text){return text.replace(/&/g,"&amp;").replace(/"/g,"&quot;").replace(/</g,"&lt;").replace(/>/g,"&gt;")}};exports.NytimesExtractor=NytimesExtractor}});var require_wikipedia=__commonJS({"node_modules/defuddle/dist/extractors/wikipedia.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.WikipediaExtractor=void 0;var _base_1=require_base(),WikipediaExtractor=class extends _base_1.BaseExtractor{canExtract(){return this.document.querySelector("#mw-content-text")!==null}extract(){let ogTitle=this.document.querySelector('meta[property="og:title"]')?.getAttribute("content")||"";return{content:"",contentHtml:"",contentSelector:"#mw-content-text",variables:{title:ogTitle.replace(/\s*[-–—]\s*Wikipedia\s*$/,"")||ogTitle,author:"Wikipedia",site:"Wikipedia"}}}};exports.WikipediaExtractor=WikipediaExtractor}});var require_linkedin=__commonJS({"node_modules/defuddle/dist/extractors/linkedin.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LinkedInExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),comments_1=require_comments(),LinkedInExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.postArticle=document2.querySelector('[role="article"].feed-shared-update-v2')}canExtract(){return!!this.postArticle}extract(){let postContent=this.getPostContent(),comments=this.options.includeReplies!==!1?this.extractComments():"",contentHtml=(0,comments_1.buildContentHtml)("linkedin",postContent,comments),author=this.getAuthorName(),description=this.createDescription();return{content:contentHtml,contentHtml,extractedContent:{postUrn:this.postArticle?.getAttribute("data-urn")||""},variables:{title:this.postTitle(author,"LinkedIn"),author,site:"LinkedIn",description}}}getPostContent(){if(!this.postArticle)return"";let quotedWrapper=this.postArticle.querySelector(".feed-shared-update-v2__update-content-wrapper"),textEl=this.postArticle.querySelector(".update-components-text.update-components-update-v2__commentary"),text=textEl&&(!quotedWrapper||!quotedWrapper.contains(textEl))?this.cleanTextContent(textEl):"",images=this.extractImages(),video=this.extractVideo(),quotedPost=this.extractQuotedPost(quotedWrapper),html="";return text&&(html+=text),images&&(html+=`
71
+ ${images}`),video&&(html+=`
72
+ ${video}`),quotedPost&&(html+=`
73
+ ${quotedPost}`),html}getVisibleText(el,alsoRemove){let clone=el.cloneNode(!0),selector=alsoRemove?`.visually-hidden, ${alsoRemove}`:".visually-hidden";return clone.querySelectorAll(selector).forEach(e=>e.remove()),clone.textContent?.trim()||""}cleanTextContent(el){let clone=el.cloneNode(!0);clone.querySelectorAll(".visually-hidden, .feed-shared-inline-show-more-text__see-more-less-toggle").forEach(e=>e.remove()),clone.querySelectorAll("a").forEach(link=>{let href=link.getAttribute("href")||"",text=link.textContent?.trim()||"";if(href&&text){let cleanLink=this.document.createElement("a");cleanLink.setAttribute("href",href),cleanLink.textContent=text,link.replaceWith(cleanLink)}else link.replaceWith(link.textContent||"")}),clone.querySelectorAll("span, div").forEach(el2=>{el2.replaceWith(...Array.from(el2.childNodes))});let html=(0,dom_1.serializeHTML)(clone).trim();return html=html.replace(/<!--.*?-->/g,""),html.split(/(?:<br\s*\/?>\s*){2,}|\n{2,}/).map(p=>p.replace(/<br\s*\/?>/g," ").replace(/\s+/g," ").trim()).filter(p=>p).map(p=>`<p>${p}</p>`).join(`
74
+ `)}extractQuotedPost(wrapper){if(!wrapper)return"";let actorTitle=wrapper.querySelector(".update-components-actor__title"),authorName=actorTitle?this.getVisibleText(actorTitle,".update-components-actor__supplementary-actor-info, .text-view-model__verified-icon"):"",subDesc=wrapper.querySelector(".update-components-actor__sub-description"),date="";if(subDesc){let match=((subDesc.querySelector('[aria-hidden="true"]')||subDesc).textContent?.trim()||"").match(/^(\d+\w+)/);date=match?match[1]:""}let textEl=wrapper.querySelector(".update-components-text.update-components-update-v2__commentary"),content=textEl?this.cleanTextContent(textEl):"",postUrl=wrapper.querySelector("a.update-components-mini-update-v2__link-to-details-page")?.getAttribute("href")||"",url=postUrl?(postUrl.startsWith("http")?postUrl:`https://www.linkedin.com${postUrl}`).split("?")[0]:"";return(0,comments_1.buildQuotedPost)({author:authorName||void 0,date:date||void 0,content,url:url||void 0})}extractImages(){if(!this.postArticle)return"";let images=[];return this.postArticle.querySelectorAll(".update-components-image img, .feed-shared-image img").forEach(img=>{let src=img.getAttribute("src")||"",alt=img.getAttribute("alt")||"";src&&!src.includes("profile-displayphoto")&&!src.includes("avm-avatar")&&images.push(`<img src="${(0,dom_1.escapeHtml)(src)}" alt="${(0,dom_1.escapeHtml)(alt)}" />`)}),images.join(`
75
+ `)}extractVideo(){if(!this.postArticle)return"";let video=this.postArticle.querySelector(".update-components-linkedin-video video[poster]");if(!video)return"";let poster=video.getAttribute("poster")||"";return`<img src="${(0,dom_1.escapeHtml)(poster)}" alt="Video thumbnail" />`}extractComments(){if(!this.postArticle)return"";let commentData=[],topLevelComments=this.postArticle.querySelectorAll("article.comments-comment-entity:not(.comments-comment-entity--reply)");for(let comment of Array.from(topLevelComments)){let data=this.extractCommentData(comment,0);data&&commentData.push(data);let replies=comment.querySelectorAll(".comments-replies-list article.comments-comment-entity--reply");for(let reply of Array.from(replies)){let replyData=this.extractCommentData(reply,1);replyData&&commentData.push(replyData)}}return commentData.length>0?(0,comments_1.buildCommentTree)(commentData):""}extractCommentData(comment,depth){let author=comment.querySelector(".comments-comment-meta__description-title")?.textContent?.trim()||"";if(!author)return null;let textEl=comment.querySelector(".comments-comment-entity__content .update-components-text"),content=textEl?this.cleanTextContent(textEl):"",date=comment.querySelector("time.comments-comment-meta__data")?.textContent?.trim()||"",profileHref=comment.querySelector("a.comments-comment-meta__description-container")?.getAttribute("href")?.split("?")[0]||"",url="";profileHref&&(url=profileHref.startsWith("http")?profileHref:`https://www.linkedin.com${profileHref}`);let reactions=comment.querySelector(".comments-comment-social-bar__reactions-count--cr span.v-align-middle")?.textContent?.trim()||"";return{author,date,content,depth,score:reactions?`${reactions} reactions`:void 0,url:url||void 0}}getAuthorName(){if(!this.postArticle)return"";let nameEl=this.postArticle.querySelector(".update-components-actor__title");return nameEl?this.getVisibleText(nameEl,".text-view-model__verified-icon, .update-components-actor__supplementary-actor-info"):""}createDescription(){if(!this.postArticle)return"";let quotedWrapper=this.postArticle.querySelector(".feed-shared-update-v2__update-content-wrapper"),textEl=this.postArticle.querySelector(".update-components-text.update-components-update-v2__commentary");return!textEl||quotedWrapper&&quotedWrapper.contains(textEl)?"":this.getVisibleText(textEl).slice(0,140).replace(/\s+/g," ")}};exports.LinkedInExtractor=LinkedInExtractor}});var require_threads=__commonJS({"node_modules/defuddle/dist/extractors/threads.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ThreadsExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),comments_1=require_comments(),ThreadsExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.pagelets=[],this.regionContainer=null;let all=Array.from(document2.querySelectorAll('[data-pagelet^="threads_post_page_"]'));if(this.pagelets=all.filter(p=>p.querySelector('a[href^="/@"], time[datetime]')),this.pagelets.length===0){let region=document2.querySelector('div[role="region"]');region?.querySelector('a[href^="/@"]')&&(this.regionContainer=region)}}canExtract(){return this.pagelets.length>0||!!this.regionContainer}extract(){if(this.pagelets.length===0&&this.regionContainer)return this.extractFromRegion(this.regionContainer);let mainAuthor=this.getUsername(this.pagelets[0]),threadPosts=[],replyPosts=[],threadEnded=!1;for(let pagelet of this.pagelets){let posts=this.getPostsFromPagelet(pagelet);posts.length!==0&&(!threadEnded&&posts[0].username===mainAuthor&&posts.length===1?threadPosts.push(posts[0]):(threadEnded=!0,replyPosts.push(posts)))}let postContent=threadPosts.map(p=>p.content).join(`
76
+ <hr>
77
+ `),comments=this.options.includeReplies!==!1?this.extractComments(replyPosts):"",contentHtml=(0,comments_1.buildContentHtml)("threads",postContent,comments),author=`@${mainAuthor}`,description=this.createDescription(threadPosts[0]?.element),title=this.postTitle(author,"Threads"),published=threadPosts[0]?.date||"";return{content:contentHtml,contentHtml,extractedContent:{postAuthor:mainAuthor},variables:{title,author,site:"Threads",description,...published&&{published}}}}extractFromRegion(region){let mainAuthor=this.getUsername(region);if(!mainAuthor)return{content:"",contentHtml:""};let author=`@${mainAuthor}`,postContent=this.extractPostContent(region),comments=this.options.includeReplies!==!1?this.extractCommentsFromJson(mainAuthor):"",contentHtml=(0,comments_1.buildContentHtml)("threads",postContent,comments),description=this.createDescription(region),date=this.getDate(region);return{content:contentHtml,contentHtml,extractedContent:{postAuthor:mainAuthor},variables:{title:this.postTitle(author,"Threads"),author,site:"Threads",description,...date&&{published:date}}}}extractCommentsFromJson(mainAuthor){let scripts=this.document.querySelectorAll('script[type="application/json"]'),allPosts=[],seen=new Set;for(let script of Array.from(scripts)){let raw=script.textContent||"";if(!((raw.match(/"text_fragments"/g)||[]).length<2)&&raw.includes('"username"'))try{let data=JSON.parse(raw);for(let post of this.findPostsInJson(data,0)){let key=post.username+":"+post.text.slice(0,80);seen.has(key)||(seen.add(key),allPosts.push(post))}}catch{}}if(allPosts.length<2)return"";let commentData=[],isFirstByMainAuthor=!0;for(let post of allPosts){if(isFirstByMainAuthor&&post.username===mainAuthor){isFirstByMainAuthor=!1;continue}commentData.push({author:`@${post.username}`,date:"",content:`<p>${(0,dom_1.escapeHtml)(post.text)}</p>`,depth:0})}return commentData.length>0?(0,comments_1.buildCommentTree)(commentData):""}findPostsInJson(obj,depth,results=[]){if(depth>35||obj==null||typeof obj!="object")return results;if(obj.user?.username&&typeof obj.user.username=="string"){let text=this.extractTextFromJson(obj,0);text&&results.push({username:obj.user.username,text})}for(let key of Object.keys(obj))key!=="quoted_post"&&this.findPostsInJson(obj[key],depth+1,results);return results}extractTextFromJson(obj,depth){if(depth>10||obj==null||typeof obj!="object")return null;if(obj.text_fragments?.fragments)return obj.text_fragments.fragments.map(f=>f.plaintext?f.plaintext:f.mention_fragment?.username?`@${f.mention_fragment.username}`:f.linkified_web_url?f.linkified_web_url:"").join("");for(let key of Object.keys(obj)){if(key==="quoted_post")continue;let result=this.extractTextFromJson(obj[key],depth+1);if(result)return result}return null}getPostsFromPagelet(pagelet){let containers=pagelet.querySelectorAll("[data-pressable-container]"),posts=[];for(let container of Array.from(containers)){if(container.parentElement?.closest("[data-pressable-container]"))continue;let username=this.getUsername(container);username&&posts.push({username,date:this.getDate(container),permalink:this.getPermalink(container),content:this.extractPostContent(container),element:container})}return posts}extractComments(replyPosts){let commentData=[];for(let posts of replyPosts)for(let i=0;i<posts.length;i++)commentData.push(this.toCommentData(posts[i],posts.length===1?0:i));return commentData.length>0?(0,comments_1.buildCommentTree)(commentData):""}toCommentData(post,depth){return{author:`@${post.username}`,date:post.date,content:post.content,depth,url:post.permalink||void 0}}getUsername(container){let links=container.querySelectorAll('a[href^="/@"][role="link"]');for(let link of Array.from(links)){let text=link.textContent?.trim();if(text&&!text.includes("profile picture"))return text}let firstLink=container.querySelector('a[href^="/@"]');if(firstLink){let match=firstLink.getAttribute("href")?.match(/\/@([^/]+)/);return match?match[1]:""}return""}getDate(container){let timeEl=container.querySelector("time[datetime]");if(!timeEl)return"";let datetime=timeEl.getAttribute("datetime")||"";try{return new Date(datetime).toISOString().split("T")[0]}catch{return""}}getPermalink(container){let timeLink=container.querySelector('a[href*="/post/"]');if(!timeLink)return"";let href=timeLink.getAttribute("href")||"";return href.startsWith("http")?href:`https://www.threads.com${href}`}extractPostContent(container){let parts=[],allSpans=Array.from(container.querySelectorAll('span[dir="auto"]'));for(let span of allSpans){if(span.closest('a[href^="/@"], a[href*="/post/"], a[href*="l.threads.com"], time')||span.closest('[role="button"]'))continue;let text=span.textContent?.trim()||"";if(!text||text==="Author"||text==="\xB7"||text==="Top"||text==="View activity"||/^\d{2}\/\d{2}\/\d{2}$/.test(text)||/^@?\w+\/post\/\w+$/.test(text)||!this.stripThreadNumber(text))continue;let cleanedHtml=this.cleanText(span);cleanedHtml&&parts.push(`<p>${cleanedHtml}</p>`)}let images=this.extractImages(container);images&&parts.push(images);let card=this.extractLinkCard(container);card&&parts.push(card);let quoted=this.extractQuotedPost(container);return quoted&&parts.push(quoted),parts.join(`
78
+ `)}cleanText(span){let clone=span.cloneNode(!0);this.removeThreadNumbers(clone),clone.querySelectorAll("a").forEach(link=>{let href=link.getAttribute("href")||"",text=link.textContent?.trim()||"";if(href.match(/\/@[\w.]+\/post\//)){link.remove();return}let cleanLink=clone.ownerDocument.createElement("a");if(href.includes("l.threads.com"))cleanLink.setAttribute("href",this.unwrapRedirectUrl(href));else if(href.startsWith("/@")){let username=href.replace(/^\/@/,"");cleanLink.setAttribute("href",`https://www.threads.com/@${username}`),cleanLink.textContent=`@${username}`,link.replaceWith(cleanLink);return}else cleanLink.setAttribute("href",href.startsWith("http")?href:`https://www.threads.com${href}`);cleanLink.textContent=text,link.replaceWith(cleanLink)}),clone.querySelectorAll("span, div").forEach(el=>{el.replaceWith(...Array.from(el.childNodes))});let html=(clone.innerHTML||clone.textContent||"").trim();return html=html.replace(/<!--.*?-->/g,""),html=html.replace(/\s+/g," ").trim(),html||""}stripThreadNumber(text){return text.replace(/\s*\d+\s*\/\s*\d+\s*$/,"").trim()}removeThreadNumbers(container){let divs=Array.from(container.querySelectorAll("div"));for(let div of divs){let text=div.textContent?.trim()||"";/^\d+\/\d+$/.test(text)&&div.querySelectorAll("span").length>=2&&div.remove()}}unwrapRedirectUrl(href){try{let actual=new URL(href).searchParams.get("u");return actual?decodeURIComponent(actual):href}catch{return href}}extractImages(container){let images=[];return container.querySelectorAll("img").forEach(img=>{let alt=img.getAttribute("alt")||"",src=img.getAttribute("src")||"";if(alt.includes("profile picture")||!src||img.closest('a[href*="l.threads.com"]'))return;let width=parseInt(img.getAttribute("width")||"0");width>0&&width<=48||images.push(`<img src="${(0,dom_1.escapeHtml)(src)}" alt="${(0,dom_1.escapeHtml)(alt)}" />`)}),images.join(`
79
+ `)}extractLinkCard(container){let cardLinks=container.querySelectorAll('a[href*="l.threads.com"]');for(let cardLink of Array.from(cardLinks)){let img=cardLink.querySelector("img");if(!img)continue;let href=cardLink.getAttribute("href")||"",actualUrl=this.unwrapRedirectUrl(href),imgSrc=img.getAttribute("src")||"",imgAlt=img.getAttribute("alt")||"";if(imgSrc)return`<a href="${(0,dom_1.escapeHtml)(actualUrl)}"><img src="${(0,dom_1.escapeHtml)(imgSrc)}" alt="${(0,dom_1.escapeHtml)(imgAlt)}" /></a>`}return""}extractQuotedPost(container){let nestedPressable=container.querySelector("[data-pressable-container]");if(nestedPressable)return this.extractQuotedPostFrom(nestedPressable);let postLinks=container.querySelectorAll('a[href*="/post/"]');for(let link of Array.from(postLinks)){let text=link.textContent?.trim()||"";if(/^\d{2}\/\d{2}\/\d{2}$/.test(text))continue;let href=link.getAttribute("href")||"",match=href.match(/\/@([^/]+)\/post\//);if(!match)continue;let username=match[1],content=`<p>${(0,dom_1.escapeHtml)(text)}</p>`,permalink=href.startsWith("http")?href:`https://www.threads.com${href}`;return(0,comments_1.buildQuotedPost)({author:`@${username}`,content,url:permalink})}return""}extractQuotedPostFrom(quotedContainer){let username=this.getUsername(quotedContainer),date=this.getDate(quotedContainer),textSpans=Array.from(quotedContainer.querySelectorAll('span[dir="auto"]')),content="";for(let span of textSpans){if(span.closest('[role="button"], time'))continue;let link=span.closest('a[href^="/@"]');if(link&&!link.getAttribute("href")?.includes("/post/"))continue;let text=span.textContent?.trim();if(!text||text==="\xB7"||text==="Author"||/^\d{2}\/\d{2}\/\d{2}$/.test(text))continue;let cleaned=this.stripThreadNumber(text);cleaned&&(content+=`<p>${(0,dom_1.escapeHtml)(cleaned)}</p>
80
+ `)}return(0,comments_1.buildQuotedPost)({author:username?`@${username}`:void 0,date:date||void 0,content:content.trim()})}createDescription(container){if(!container)return"";let spans=container.querySelectorAll('span[dir="auto"]');for(let span of Array.from(spans)){if(span.closest('a[href^="/@"], [role="button"], a[href*="/post/"], time'))continue;let text=span.textContent?.trim()||"";if(!text||text==="Author"||text==="\xB7"||text==="Top"||text==="View activity"||/^\d{2}\/\d{2}\/\d{2}$/.test(text))continue;let cleaned=this.stripThreadNumber(text);if(cleaned)return cleaned.slice(0,140).replace(/\s+/g," ")}return""}};exports.ThreadsExtractor=ThreadsExtractor}});var require_bluesky=__commonJS({"node_modules/defuddle/dist/extractors/bluesky.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.BlueskyExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),comments_1=require_comments(),BlueskyExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.postItems=[],this.threadScreen=document2.querySelector('[data-testid="postThreadScreen"]'),this.threadScreen&&(this.postItems=Array.from(this.threadScreen.querySelectorAll('[data-testid^="postThreadItem-by-"]')))}canExtract(){return this.postItems.length>0}extract(){let mainHandle=this.getHandle(this.postItems[0]),threadItems=[],replyItems=[],threadEnded=!1;for(let item of this.postItems){let handle=this.getHandle(item);!threadEnded&&handle===mainHandle?threadItems.push(item):(threadEnded=!0,replyItems.push(item))}let postContent=threadItems.map(item=>this.extractPostContent(item)).join(`
81
+ <hr>
82
+ `),comments=this.options.includeReplies!==!1?this.extractComments(replyItems):"",contentHtml=(0,comments_1.buildContentHtml)("bluesky",postContent,comments),author=`@${mainHandle}`,displayName=this.getDisplayName(this.postItems[0]),description=this.createDescription(this.postItems[0]),published=this.getPublishedDate(),title=this.postTitle(displayName||author,"Bluesky");return{content:contentHtml,contentHtml,extractedContent:{postAuthor:mainHandle},variables:{title,author:displayName||author,site:"Bluesky",description,...published&&{published}}}}extractComments(replyItems){if(replyItems.length===0)return"";let currentDepth=0,commentData=replyItems.map(item=>{let handle=this.getHandle(item),displayName=this.getDisplayName(item),content=this.extractPostContent(item),date=this.getReplyDate(item),permalink=this.getPermalink(item);return this.hasTopConnector(item)?currentDepth++:currentDepth=0,{author:displayName?`${displayName} @${handle}`:`@${handle}`,date,content,depth:currentDepth,url:permalink||void 0}});return(0,comments_1.buildCommentTree)(commentData)}hasTopConnector(item){let connector=item.children[0];if(!connector)return!1;let divs=connector.querySelectorAll("div");for(let div of Array.from(divs)){let style=div.getAttribute("style")||"";if(style.includes("width: 2px")&&style.includes("background-color"))return!0}return!1}getHandle(item){let match=(item.getAttribute("data-testid")||"").match(/^postThreadItem-by-(.+)$/);return match?match[1]:""}getDisplayName(item){let avatarLink=item.querySelector('a[aria-label*="avatar"]');if(avatarLink){let match=(avatarLink.getAttribute("aria-label")||"").match(/^(.+)'s avatar$/);if(match)return match[1]}let profileLinks=item.querySelectorAll('a[href^="/profile/"]');for(let link of Array.from(profileLinks)){let text=link.textContent?.trim()||"";if(text&&!text.startsWith("@")&&!text.includes("avatar")&&!text.includes("\xB7"))return text}return""}getPublishedDate(){let metaTag=this.document.querySelector('meta[name="twitter:value1"]');if(metaTag){let datetime=metaTag.getAttribute("content")||"";try{return new Date(datetime).toISOString().split("T")[0]}catch{}}return""}getReplyDate(item){let timeLink=item.querySelector('a[href*="/post/"]');if(!timeLink)return"";let label=timeLink.getAttribute("aria-label")||"";if(!label)return"";try{let parsed=new Date(label.replace(" at "," "));if(!isNaN(parsed.getTime()))return parsed.toISOString().split("T")[0]}catch{}return""}getPermalink(item){let link=item.querySelector('a[href*="/post/"]');if(!link)return"";let href=link.getAttribute("href")||"";return href.startsWith("http")?href:`https://bsky.app${href}`}extractPostContent(item){let parts=[],textDiv=item.querySelector('div[data-word-wrap="1"]');if(textDiv){let text=this.cleanText(textDiv);text&&parts.push(text)}let images=this.extractImages(item);images&&parts.push(images);let card=this.extractLinkCard(item);card&&parts.push(card);let quoted=this.extractQuotedPost(item);return quoted&&parts.push(quoted),parts.join(`
83
+ `)}cleanText(textDiv){let clone=textDiv.cloneNode(!0);clone.querySelectorAll('a[href*="/profile/"]').forEach(link=>{let text=link.textContent?.trim()||"",href=link.getAttribute("href")||"";if(text.startsWith("@")){let handle=text.slice(1),cleanLink=clone.ownerDocument.createElement("a");cleanLink.setAttribute("href",`https://bsky.app/profile/${handle}`),cleanLink.textContent=text,link.replaceWith(cleanLink)}else href.startsWith("/profile/")&&link.setAttribute("href",`https://bsky.app${href}`)}),clone.querySelectorAll('a[href^="http"]').forEach(link=>{let href=link.getAttribute("href")||"",text=link.textContent?.trim()||"",cleanLink=clone.ownerDocument.createElement("a");cleanLink.setAttribute("href",href),cleanLink.textContent=text,link.replaceWith(cleanLink)}),clone.querySelectorAll("span, div").forEach(el=>{el.replaceWith(...Array.from(el.childNodes))});let html=(clone.innerHTML||clone.textContent||"").trim();return html=html.replace(/[\u200E\u200F\u200B]/g,""),html=html.replace(/[^\S\n]+/g," ").trim(),html?html.split(/\n+/).map(p=>p.trim()).filter(p=>p).map(p=>`<p>${p}</p>`).join(`
84
+ `):""}extractImages(item){let images=[];return item.querySelectorAll('img[src*="/feed_thumbnail/"], img[src*="/feed_fullsize/"]').forEach(img=>{let src=img.getAttribute("src")||"";if(!src)return;let fullSrc=src.replace("/feed_thumbnail/","/feed_fullsize/");images.push(`<img src="${(0,dom_1.escapeHtml)(fullSrc)}" alt="" />`)}),images.join(`
85
+ `)}extractLinkCard(item){let links=item.querySelectorAll('a[aria-label][href^="http"]');for(let link of Array.from(links)){if(!link.querySelector('div[style*="border"]'))continue;let href=link.getAttribute("href")||"",title=link.getAttribute("aria-label")||"",img=link.querySelector("img");if(title){let html="";if(img){let src=img.getAttribute("src")||"";html+=`<a href="${(0,dom_1.escapeHtml)(href)}"><img src="${(0,dom_1.escapeHtml)(src)}" alt="${(0,dom_1.escapeHtml)(title)}" /></a>
86
+ `}return html+=`<p><a href="${(0,dom_1.escapeHtml)(href)}">${(0,dom_1.escapeHtml)(title)}</a></p>`,html}}return""}extractQuotedPost(item){let embeds=item.querySelectorAll('[data-testid^="postThreadItem-by-"]');for(let embed of Array.from(embeds)){if(embed===item)continue;let handle=this.getHandle(embed),displayName=this.getDisplayName(embed),textDiv=embed.querySelector('div[data-word-wrap="1"]'),text=textDiv?this.cleanText(textDiv):"";return(0,comments_1.buildQuotedPost)({author:displayName?`${displayName} @${handle}`:`@${handle}`,content:text})}return""}createDescription(item){let textDiv=item.querySelector('div[data-word-wrap="1"]');return textDiv?(textDiv.textContent||"").replace(/[\u200E\u200F\u200B]/g,"").trim().slice(0,140).replace(/\s+/g," "):""}};exports.BlueskyExtractor=BlueskyExtractor}});var require_discourse=__commonJS({"node_modules/defuddle/dist/extractors/discourse.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DiscourseExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),comments_1=require_comments(),DiscourseExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options);let generator=document2.querySelector('meta[name="generator"]')?.getAttribute("content")||"";this.isDiscourse=generator.startsWith("Discourse")}canExtract(){return this.isDiscourse&&!!this.document.querySelector(".topic-post")}extract(){let title=this.getTopicTitle(),siteName=this.document.querySelector('meta[property="og:site_name"]')?.getAttribute("content")||"",category=this.document.querySelector(".badge-category__name")?.textContent?.trim()||"",tags=this.getTags(),published=this.getPublishedDate(),posts=Array.from(this.document.querySelectorAll(".topic-post")),op=posts.find(p=>p.classList.contains("topic-owner")),postContent=op?this.extractPostContent(op):"",opAuthor=op?this.getAuthor(op):"",replyPosts=posts.filter(p=>p!==op),comments=this.options.includeReplies!==!1?this.extractComments(replyPosts):"",contentHtml=(0,comments_1.buildContentHtml)("discourse",postContent,comments),author=opAuthor||this.getAuthor(posts[0]),description=op?this.getPostText(op).slice(0,140).replace(/\s+/g," "):"";return{content:contentHtml,contentHtml,extractedContent:{topicId:this.document.querySelector("h1[data-topic-id]")?.getAttribute("data-topic-id")||"",category,tags:tags.join(", ")},variables:{title,author,site:siteName||"Discourse",description,...published&&{published}}}}getTopicTitle(){let fancy=this.document.querySelector(".fancy-title");if(fancy)return fancy.textContent?.trim()||"";let h1=this.document.querySelector("h1[data-topic-id]");if(h1){let clone=h1.cloneNode(!0);return clone.querySelectorAll("svg, .topic-statuses").forEach(e=>e.remove()),clone.textContent?.trim()||""}return""}getTags(){return Array.from(this.document.querySelectorAll("a.discourse-tag")).map(el=>el.getAttribute("data-tag-name")||el.textContent?.trim()||"").filter(t=>t)}getPublishedDate(){let meta=this.document.querySelector('meta[property="article:published_time"]');if(meta){let content=meta.getAttribute("content")||"";try{return new Date(content).toISOString().split("T")[0]}catch{}}return""}getAuthor(post){let nameLink=post.querySelector(".names a[data-user-card]");return nameLink?.getAttribute("data-user-card")||nameLink?.textContent?.trim()||""}getPostDate(post){let dateEl=post.querySelector(".relative-date[data-time]");if(!dateEl)return"";let time=parseInt(dateEl.getAttribute("data-time")||"0");if(!time)return"";try{return new Date(time).toISOString().split("T")[0]}catch{return""}}getPostPermalink(post){let link=post.querySelector("a.post-date[href]");if(!link)return"";let href=link.getAttribute("href")||"";if(!href)return"";try{return`${new URL(this.url).origin}${href}`}catch{return href}}getLikeCount(post){let count=post.querySelector("button.like-count")?.textContent?.trim()||"";return count?`${count} likes`:""}getPostText(post){let cooked=post.querySelector(".cooked");return cooked&&cooked.textContent?.trim()||""}extractPostContent(post){let cooked=post.querySelector(".cooked");if(!cooked)return"";let clone=cooked.cloneNode(!0);return clone.querySelectorAll(".cooked-selection-barrier").forEach(e=>e.remove()),clone.querySelectorAll("a.anchor").forEach(a=>a.remove()),(0,dom_1.serializeHTML)(clone)}extractComments(replyPosts){if(replyPosts.length===0)return"";let commentData=replyPosts.map(post=>{let author=this.getAuthor(post),content=this.extractPostContent(post),date=this.getPostDate(post),url=this.getPostPermalink(post),likes=this.getLikeCount(post);return{author,date,content,depth:0,score:likes||void 0,url:url||void 0}});return(0,comments_1.buildCommentTree)(commentData)}};exports.DiscourseExtractor=DiscourseExtractor}});var require_medium=__commonJS({"node_modules/defuddle/dist/extractors/medium.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MediumExtractor=void 0;var _base_1=require_base(),MediumExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.article=document2.querySelector("article.meteredContent")||document2.querySelector("article")}canExtract(){if(!this.article)return!1;if(this.article.classList?.contains("meteredContent"))return!0;let siteName=this.document.querySelector('meta[property="og:site_name"]')?.getAttribute("content")||"",appName=this.document.querySelector('meta[property="al:android:app_name"]')?.getAttribute("content")||"";return siteName==="Medium"||appName==="Medium"}extract(){let title=this.getTitle(),subtitle=this.getSubtitle(),author=this.getAuthor(),publication=this.getPublication();this.cleanArticle();let description=subtitle||this.getDescription();return{content:"",contentHtml:"",contentSelector:"article",extractedContent:{publication},variables:{title,author,site:publication||"Medium",description}}}cleanArticle(){if(!this.article)return;this.article.querySelectorAll('figure [role="button"]').forEach(btn=>{btn.replaceWith(...Array.from(btn.childNodes))}),this.article.querySelectorAll('[role="tooltip"]').forEach(el=>{el.removeAttribute("role")}),this.article.querySelectorAll('a[href*="medium.com/plans"]').forEach(link=>{let wrapper=link.closest("div");wrapper&&wrapper!==this.article?wrapper.remove():link.remove()}),this.article.querySelectorAll('[data-testid="post-preview"]').forEach(el=>el.remove()),this.article.querySelectorAll('[data-testid*="Clap"], [data-testid*="Bookmark"], [data-testid*="Share"], [data-testid*="Response"]').forEach(el=>el.remove()),this.article.querySelectorAll('[data-testid="authorPhoto"], [data-testid="authorName"], [data-testid="storyReadTime"]').forEach(el=>el.remove());let UI_TEXT=new Set(["Member-only story","Listen","Share","Top highlight","\xB7","Press enter or click to view image in full size"]);this.article.querySelectorAll("p, span, div").forEach(el=>{let text=el.textContent?.trim()||"";if(text){if(UI_TEXT.has(text)){el.remove();return}if(/^\w{3}\s+\d{1,2},\s+\d{4}/.test(text)&&text.length<30){el.remove();return}if(/^·\s*\d+\s*\w+\s*ago$/.test(text)){el.remove();return}/^·?\s*\d+\s*min\s*read$/.test(text)&&el.remove()}})}getTitle(){let storyTitle=this.document.querySelector('[data-testid="storyTitle"]');return storyTitle?storyTitle.textContent?.trim()||"":this.article?.querySelector("h1")?.textContent?.trim()||""}getSubtitle(){return this.document.querySelector(".pw-subtitle-paragraph")?.textContent?.trim()||""}getAuthor(){return this.document.querySelector('[data-testid="authorName"]')?.textContent?.trim()||""}getPublication(){let siteName=this.document.querySelector('meta[property="og:site_name"]')?.getAttribute("content")||"";if(siteName&&siteName!=="Medium")return siteName;let schemas=Array.isArray(this.schemaOrgData)?this.schemaOrgData:[this.schemaOrgData];for(let schema of schemas)if(schema?.publisher?.name)return schema.publisher.name;return""}getDescription(){if(!this.article)return"";let paragraphs=this.article.querySelectorAll("p");for(let p of Array.from(paragraphs)){let text=p.textContent?.trim()||"";if(!(text.length<3||/^[\d\W]+$/.test(text)))return text.slice(0,140).replace(/\s+/g," ")}return""}};exports.MediumExtractor=MediumExtractor}});var require_leetcode=__commonJS({"node_modules/defuddle/dist/extractors/leetcode.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LeetCodeExtractor=void 0;var _base_1=require_base(),LeetCodeExtractor=class extends _base_1.BaseExtractor{canExtract(){return this.document.querySelector('[data-track-load="description_content"]')!==null}extract(){let ogTitle=this.document.querySelector('meta[property="og:title"]')?.getAttribute("content")||"";return{content:"",contentHtml:"",contentSelector:'[data-track-load="description_content"]',variables:{title:ogTitle.replace(/\s*[-–—]\s*LeetCode\s*$/,"")||ogTitle,site:"LeetCode"}}}};exports.LeetCodeExtractor=LeetCodeExtractor}});var require_lwn=__commonJS({"node_modules/defuddle/dist/extractors/lwn.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LwnExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),comments_1=require_comments(),LwnExtractor=class extends _base_1.BaseExtractor{canExtract(){return!!this.document.querySelector(".PageHeadline")&&!!this.document.querySelector(".ArticleText")}extract(){let main=this.document.querySelector(".ArticleText main"),articleContent=main?this.getArticleContent(main):"",comments=this.options.includeReplies!==!1&&main?this.extractComments(main):"",contentHtml=(0,comments_1.buildContentHtml)("lwn",articleContent,comments),byline=this.document.querySelector(".Byline")?.textContent?.trim()||"";return{content:contentHtml,contentHtml,extractedContent:{},variables:{title:this.document.querySelector(".PageHeadline h1")?.textContent?.trim()||"",author:byline.match(/by\s+(\w+)/i)?.[1]||"",site:"LWN.net",published:this.parseDate(byline),description:this.document.querySelector('meta[property="og:description"]')?.getAttribute("content")||""}}}parseDate(text){let match=text.match(/Posted\s+(\w+\s+\d+,\s+\d{4})/);if(!match)return"";let date=new Date(match[1]);return isNaN(date.getTime())?"":date.toISOString().split("T")[0]}getArticleContent(main){let clone=main.cloneNode(!0);for(let el of Array.from(clone.querySelectorAll('details.CommentBox, form, a[name^="Comm"]')))el.remove();let lastEl=clone.lastElementChild;for(;lastEl&&(lastEl.tagName==="HR"||lastEl.tagName==="BR"&&lastEl.getAttribute("clear"));){let prev=lastEl.previousElementSibling;lastEl.remove(),lastEl=prev}return(0,dom_1.serializeHTML)(clone)}extractComments(main){let allBoxes=Array.from(main.querySelectorAll("details.CommentBox")),commentData=[];for(let box of allBoxes){let depth=this.getCommentDepth(box,main),data=this.extractCommentData(box,depth);data&&commentData.push(data)}return commentData.length>0?(0,comments_1.buildCommentTree)(commentData):""}getCommentDepth(el,root){let depth=0,parent=el.parentElement;for(;parent&&parent!==root;)parent.tagName==="DETAILS"&&parent.classList.contains("CommentBox")&&depth++,parent=parent.parentElement;return depth}extractCommentData(box,depth){let poster=box.querySelector(":scope > summary .CommentPoster");if(!poster)return null;let author=poster.querySelector("b")?.textContent?.trim()||"",articlePath=poster.querySelector('a[href^="/Articles/"]')?.getAttribute("href")||"",url=articlePath?`https://lwn.net${articlePath}`:"",date=this.parseDate(poster.textContent||""),title=box.querySelector(":scope > summary h3.CommentTitle")?.textContent?.trim()||"",parentTitle=box.parentElement?.closest("details.CommentBox")?.querySelector(":scope > summary h3.CommentTitle")?.textContent?.trim()||"",uniqueTitle=title&&title!==parentTitle?title:"",content=this.getCommentContent(box,uniqueTitle);return{author,date,content,depth,url}}getCommentContent(box,title){let content="";title&&(content+=`<p><strong>${(0,dom_1.escapeHtml)(title)}</strong></p>`);let formatted=box.querySelector(":scope > .FormattedComment");if(formatted)content+=(0,dom_1.serializeHTML)(formatted);else{let tempContainer=this.document.createElement("div");for(let child of Array.from(box.childNodes)){if(child.nodeType===1){let el=child,tag=el.tagName;if(tag==="SUMMARY"||tag==="DETAILS"||el.classList.contains("CommentReplyButton")||tag==="FORM"||tag==="A"&&el.getAttribute("name")?.startsWith("CommAnchor")||tag==="P"&&!el.textContent?.trim())continue}tempContainer.appendChild(child.cloneNode(!0))}let text=(0,dom_1.serializeHTML)(tempContainer).trim();text&&(content+=text)}return content}};exports.LwnExtractor=LwnExtractor}});var require_mastodon=__commonJS({"node_modules/defuddle/dist/extractors/mastodon.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.MastodonExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),comments_1=require_comments(),MastodonExtractor=class extends _base_1.BaseExtractor{constructor(document2,url,schemaOrgData,options){super(document2,url,schemaOrgData,options),this.mainPost=null,this.replyStatuses=[],this.mainPost=document2.querySelector(".detailed-status__wrapper");let wrappers=Array.from(document2.querySelectorAll(".status__wrapper"));this.replyStatuses=wrappers.filter(w=>!!w.querySelector(".status[data-id]"))}canExtract(){if(!this.mainPost)return!1;if(this.document.getElementById("mastodon"))return!0;let initialState=this.document.querySelector("script#initial-state");if(initialState){let text=initialState.textContent||"";if(text.includes("mastodon/mastodon")||text.includes('"mastodon"'))return!0}return Array.from(this.document.querySelectorAll('link[rel="stylesheet"]')).some(link=>(link.getAttribute("href")||"").includes("mastodon"))}extract(){let mainFullHandle=this.getFullHandle(this.mainPost),mainHandle=mainFullHandle.split("@")[0],displayName=this.getDisplayName(this.mainPost),threadItems=[],replyItems=[],threadEnded=!1;for(let status of this.replyStatuses){let handle=this.getFullHandle(status).split("@")[0];!threadEnded&&handle===mainHandle?threadItems.push(status):(threadEnded=!0,replyItems.push(status))}let mainContent=this.extractPostContent(this.mainPost),threadParts=threadItems.map(item=>this.extractPostContent(item)),postContent=[mainContent,...threadParts].filter(Boolean).join(`
87
+ <hr>
88
+ `),comments=this.options.includeReplies!==!1?this.extractComments(replyItems):"",contentHtml=(0,comments_1.buildContentHtml)("mastodon",postContent,comments),author=displayName||`@${mainFullHandle}`,description=this.getDescription(),published=this.getPublishedDate(),siteName=this.document.querySelector('meta[property="og:site_name"]')?.getAttribute("content")||"",title=this.postTitle(author,siteName||"Mastodon");return{content:contentHtml,contentHtml,extractedContent:{postAuthor:mainFullHandle},variables:{title,author,site:siteName||"Mastodon",description,...published&&{published}}}}getFullHandle(container){return(container.querySelector(".display-name__account")?.textContent?.trim()||"").replace(/^@/,"")}getDisplayName(container){let name=container.querySelector(".display-name__html");if(!name)return"";let clone=name.cloneNode(!0);return this.replaceEmojiImages(clone),clone.textContent?.trim()||""}getReplyDate(wrapper){let time=wrapper.querySelector("time[datetime]");if(!time)return"";let datetime=time.getAttribute("datetime")||"";try{return new Date(datetime).toISOString().split("T")[0]}catch{return""}}getReplyPermalink(wrapper){let link=wrapper.querySelector("a.status__relative-time[href]");if(!link)return"";let href=link.getAttribute("href")||"";if(!href)return"";try{let base=new URL(this.url);return href.startsWith("http")?href:`${base.origin}${href}`}catch{return href}}getPublishedDate(){let meta=this.document.querySelector('meta[property="og:published_time"]');if(meta){let content=meta.getAttribute("content")||"";try{return new Date(content).toISOString().split("T")[0]}catch{}}if(this.mainPost){let time=this.mainPost.querySelector("time[datetime]");if(time)try{return new Date(time.getAttribute("datetime")||"").toISOString().split("T")[0]}catch{}}return""}getDescription(){if(!this.mainPost)return"";let textEl=this.mainPost.querySelector(".status__content__text");return textEl?(textEl.textContent||"").trim().slice(0,140).replace(/\s+/g," "):""}extractPostContent(container){let parts=[],text=this.extractTextContent(container.querySelector(".status__content"));text&&parts.push(text);let images=this.extractImages(container);images&&parts.push(images);let card=this.extractLinkCard(container);return card&&parts.push(card),parts.join(`
89
+ `)}extractTextContent(contentEl){if(!contentEl)return"";let textEl=contentEl.querySelector(".status__content__text");if(!textEl)return"";let clone=textEl.cloneNode(!0);return this.replaceEmojiImages(clone),clone.querySelectorAll("span.invisible").forEach(el=>el.remove()),clone.querySelectorAll("span").forEach(el=>{el.replaceWith(...Array.from(el.childNodes))}),(clone.innerHTML||clone.textContent||"").trim()}replaceEmojiImages(container){container.querySelectorAll("img.emojione").forEach(img=>{let alt=img.getAttribute("alt")||"";alt?img.replaceWith(img.ownerDocument.createTextNode(alt)):img.remove()})}extractImages(container){let gallery=container.querySelector(".media-gallery");if(!gallery)return"";let images=[];return gallery.querySelectorAll(".media-gallery__item-thumbnail").forEach(link=>{let href=link.getAttribute("href")||"",alt=link.querySelector("img")?.getAttribute("alt")||"";href&&images.push(`<img src="${(0,dom_1.escapeHtml)(href)}" alt="${(0,dom_1.escapeHtml)(alt)}" />`)}),images.join(`
90
+ `)}extractLinkCard(container){let card=container.querySelector("a.status-card[href]");if(!card)return"";let href=card.getAttribute("href")||"",title=card.querySelector(".status-card__title")?.textContent?.trim()||"",description=card.querySelector(".status-card__description")?.textContent?.trim()||"",img=card.querySelector(".status-card__image-image");if(!title&&!href)return"";let html="";if(img){let src=img.getAttribute("src")||"";src&&(html+=`<a href="${(0,dom_1.escapeHtml)(href)}"><img src="${(0,dom_1.escapeHtml)(src)}" alt="${(0,dom_1.escapeHtml)(title)}" /></a>
91
+ `)}return html+=`<p><a href="${(0,dom_1.escapeHtml)(href)}">${(0,dom_1.escapeHtml)(title||href)}</a></p>`,description&&(html+=`
92
+ <p>${(0,dom_1.escapeHtml)(description)}</p>`),html}extractComments(replyItems){if(replyItems.length===0)return"";let currentDepth=0,commentData=replyItems.map((wrapper,index)=>{let handle=this.getFullHandle(wrapper),displayName=this.getDisplayName(wrapper),content=this.extractPostContent(wrapper),date=this.getReplyDate(wrapper),permalink=this.getReplyPermalink(wrapper);return wrapper.querySelector(".status--first-in-thread")||index===0?currentDepth=0:currentDepth++,{author:displayName?`${displayName} @${handle}`:`@${handle}`,date,content,depth:currentDepth,url:permalink||void 0}});return(0,comments_1.buildCommentTree)(commentData)}};exports.MastodonExtractor=MastodonExtractor}});var require_constants=__commonJS({"node_modules/defuddle/dist/constants.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.TW_ARBITRARY_RE=exports.TW_SPECIAL_CLASS_RE=exports.TW_COLOR_CLASS_RE=exports.TAILWIND_SPECIAL=exports.TAILWIND_COLORS=exports.ALLOWED_ATTRIBUTES_DEBUG=exports.ALLOWED_ATTRIBUTES=exports.ALLOWED_EMPTY_ELEMENTS=exports.FOOTNOTE_LIST_SELECTORS=exports.FOOTNOTE_INLINE_REFERENCES=exports.TEST_ATTRIBUTES_SELECTOR=exports.PARTIAL_SELECTORS_ANCHORED_REGEX=exports.PARTIAL_SELECTORS_REGEX=exports.PARTIAL_SELECTORS=exports.TEST_ATTRIBUTES=exports.EXACT_SELECTORS_JOINED=exports.EXACT_SELECTORS=exports.HIDDEN_EXACT_SKIP_SELECTOR=exports.HIDDEN_EXACT_SELECTOR=exports.CONTENT_ELEMENT_SELECTOR=exports.INLINE_ELEMENTS=exports.PRESERVE_ELEMENTS=exports.BLOCK_LEVEL_ELEMENTS=exports.BLOCK_ELEMENTS_SET=exports.BLOCK_ELEMENTS_SELECTOR=exports.BLOCK_ELEMENTS=exports.MOBILE_WIDTH=exports.ENTRY_POINT_ELEMENTS=void 0;exports.ENTRY_POINT_ELEMENTS=["#post",".post-content",".post-body",".article-content","#article-content",".js-article-content",".article_post",".article-wrapper",".entry-content",".content-article",".instapaper_body",".post",".markdown-body","article",'[role="article"]',"main",'[role="main"]',".article-body","#content","body"];exports.MOBILE_WIDTH=600;exports.BLOCK_ELEMENTS=["div","section","article","main","aside","header","footer","nav","content"];exports.BLOCK_ELEMENTS_SELECTOR=exports.BLOCK_ELEMENTS.join(",");exports.BLOCK_ELEMENTS_SET=new Set(exports.BLOCK_ELEMENTS);exports.BLOCK_LEVEL_ELEMENTS=new Set([...exports.BLOCK_ELEMENTS,"p","h1","h2","h3","h4","h5","h6","ul","ol","li","dl","dt","dd","pre","blockquote","figure","figcaption","table","thead","tbody","tfoot","tr","td","th","details","summary","address","hr","form","fieldset"]);exports.PRESERVE_ELEMENTS=new Set(["pre","code","table","thead","tbody","tr","td","th","ul","ol","li","dl","dt","dd","figure","figcaption","picture","details","summary","blockquote","form","fieldset"]);exports.INLINE_ELEMENTS=new Set(["a","span","strong","em","i","b","u","code","br","small","sub","sup","mark","date","del","ins","q","abbr","cite","relative-time","time","font"]);exports.CONTENT_ELEMENT_SELECTOR=["math","[data-mathml]",".katex",".katex-mathml",".katex-display",".MathJax",".MathJax_Display",".MathJax_SVG","mjx-container","pre","code","table","img","picture","video","blockquote","figure"].join(", ");var HIDDEN_EXACT_SKIP_SELECTORS=["[hidden]",'[aria-hidden="true"]',".hidden",".invisible"],HIDDEN_EXACT_SELECTORS=HIDDEN_EXACT_SKIP_SELECTORS.map(s=>s==='[aria-hidden="true"]'?'[aria-hidden="true"]:not([class*="math"]):not(svg):not([class*="paywall"])':s);exports.HIDDEN_EXACT_SELECTOR=HIDDEN_EXACT_SELECTORS.join(",");exports.HIDDEN_EXACT_SKIP_SELECTOR=HIDDEN_EXACT_SKIP_SELECTORS.join(",");exports.EXACT_SELECTORS=["noscript",'script:not([type^="math/"])',"style","meta","link","audio:not([src]):not(:has(source))","video:not([src]):not(:has(source))",".jwplayer",'.ad:not([class*="gradient"])','[class^="ad-" i]','[class$="-ad" i]',"[data-ad-wrapper]",'[id^="ad-" i]','[id$="-ad" i]','[role="banner" i]','[alt*="advert" i]',".promo",".Promo","#barrier-page",".alert",'[rel="sponsored" i]','[href*="source=promotion" i]','[id="comments" i]','[id="comment" i]','div[class*="cover-"]','div[id*="cover-"]',"ads-breadcrumbs","header:not(:has(p + p)):not(:has(img))",'header[class~="fixed"]','header[class~="sticky"]',".header:not(.banner)","#header","#Header","#banner","#Banner","nav",".navigation","#navigation",'[role="navigation" i]','[role="dialog" i]','[role="alertdialog" i]','[role*="complementary" i]','[class*="pagination" i]',".menu","#siteSub",".previous",".author",".Author",'[class$="_bio"]',"#categories",".contributor",".date","#date","[data-date]",".entry-meta",".meta",".tags","#tags",'[rel="tag"]',".headline","#headline","#title","#Title","#articleTag",'[href*="/author/"]','[href*="/author?"]','[href$="/author"]','a[href*="copyright.com"]','a[href*="google.com/preferences"]','[href="#top"]','[href="#Top"]','[href="#page-header"]','[href="#content"]','[href="#site-content"]','[href="#main-content"]','[href^="#main"]','[src*="author"]',".toc",".Toc","#toc",'[href*="#toc"]',"footer","ignore",".aside",'aside:not([class*="callout"])',"button","canvas","date","dialog","fieldset","form",'input:not([type="checkbox"])','input[type="checkbox"][class*="sidebar" i]','input[type="checkbox"][id*="sidebar" i]','input[type="checkbox"][class*="drawer" i]','input[type="checkbox"][id*="drawer" i]','input[type="checkbox"][class*="hamburger" i]','input[type="checkbox"][id*="hamburger" i]','input[type="checkbox"][class*="toggle" i]','input[type="checkbox"][id*="toggle" i]','input[type="checkbox"][class*="trigger" i]','input[type="checkbox"][id*="trigger" i]',"label","option","select",'[role="listbox"]','[role="option"]',"textarea",...HIDDEN_EXACT_SELECTORS,"instaread-player","iframe:not([src])",'iframe[src*="blink.net"]','iframe[src*="giscus.app"]','iframe[src*="tinypass.com"]','iframe[src*="trinitymedia.ai"]','[class="logo" i]',"#logo","#Logo","#newsletter","#Newsletter",".subscribe",'[data-component-name="ButtonCreateButton"]','[data-component-name="DigestPostEmbed"]','[data-component-name="SubscribeWidgetToDOM"]','[class*="digestPostEmbed"]',".noprint",'[data-print-layout="hide" i]','[data-block="donotprint" i]','[class*="clickable-icon" i]','li span[class*="ltx_tag" i][class*="ltx_tag_item" i]','a[href^="#"][class*="anchor" i]','a[href^="#"][class*="ref" i]:not(.ltx_ref):not(.footnote-backref)','[data-container*="most-viewed" i]',".sidebar",".Sidebar","#sidebar","#Sidebar","#side-bar","#secondary","#sitesub",'[href*="/sitemap/sitemap.xml"]','[data-link-name*="skip" i]','[aria-label*="skip" i]','[title^="Share on" i]','[aria-label="Dismiss" i]','[aria-label="Close" i]',"svg[data-icon]",'[data-testid="load-more-posts"] + div',".copyright","#copyright",".licensebox","#page-info","#rss","#feed",".gutter","#primaryaudio","#NYT_ABOVE_MAIN_CONTENT_REGION",'[data-testid="photoviewer-children-figure"] > span',"table.infobox",'[data-optimizely="related-articles-section" i]','[data-orientation="vertical"]',".gh-header-sticky",'[data-testid="issue-metadata-sticky"]'];exports.EXACT_SELECTORS_JOINED=exports.EXACT_SELECTORS.join(",");exports.TEST_ATTRIBUTES=["class","id","data-component","data-test","data-testid","data-test-id","data-qa","data-cy"];exports.PARTIAL_SELECTORS=["a-statement","(?<!main-)access-wall","activitypub","actioncall","adcontainer","addcomment","addtoany","advert","adlayout","ad-tldr","ad-placement","adplacehold","ads-container","_ad_","AdBlock_","AdUnit","after_content","after_main_article","afterpost","allterms","-alert-","alert-box","_archive","around-the-web","aroundpages","article-author","article-badges","article-banner","article-bottom-section","article-bottom","article-category","article-card","article-citation","article-continues","article__copy","article_date","article-date","article-end ","articleheader","article_header","article-header","article__header","article__hero","article__info","article-info","article-meta","article_meta","article__meta","articlename","article-subject","article_subject","article-snippet","article-separator","article--share","article-share","article--topics","article-tools","articletags","article-tags","article_tags","articletitle","article-title","article_title","articletopics","article-topics","article-actions","article--lede","articlewell","associated-people","ambient-video__button","audio-card","beyondwords","about-author","author-bio","author-box","author-info","author_info","authorm","author-mini-bio","author-name","author-publish-info","authored-by","avatar","back-to-top","backlink_container","backlinks-section","bio-block","biobox","blog-pager","bookmark-","-bookmark","bottominfo","bottomnav","bottom-of-article","bottom-wrapper","brand-bar","bcrumb","breadcrumb","brdcrumb","crumbs","bubblewrapper","button-wrapper","buttons-container","btn-","-btn","byline","captcha","card-text","card-media","card-post","carouselcontainer","carousel-container","cat_header","cat-overlay","catlinks","_categories","card-author","card-content","chapter-list","collections","comments","-comment\\b","commentbox","comment-button","commentcomp","comment-content","comment-count","comment-form","comment-number","comment-respond","comment-thread","comment-wrap","complementary","consent","contact-","contactus","cookie.law","content-card","copycontent","copy-tooltip","content-topics","contentpromo","context-bar","context-widget","core-collateral","cover-image","cover-photo","cover-wrap","created-date","creative-commons_","c-subscribe","_cta","-cta","cta-","cta_","current-issue","custom-list-number","dateline","dateheader","date-header","date-pub","disclaimer","disclosure","discussion","discuss_","-dismiss","disqus","donate","donation","dropdown","editorial_contact","editorial-contact","element-invisible","elementor-shortcode","eletters","emailsignup","emoji-bar","engagement-widget","enhancement-","entry-author-info","entry-categories","entry-date","entry-title","entry-utility","-error","error-","eyebrow","expand-reduce","external-anchor","externallinkembedwrapper","extra-services","extra-title","facebook","fancy-box","favorite","featured-content","feature_feed","feedback","feed-links","field-site-sections","filed","fixheader","floating-vid","follower","footer","footnote-back","footnoteback","form-group","for-you","frontmatter","further-reading","fullbleedheader","gallery-count","gated-popup","gh-feed","gist-meta","goog-","graph-view","hamburger","hawk-","header-pattern","hero[_\\-a-z]","hide-for-print","hide-print","hide-when-no-script","hidden-print","hidden-sidenote","hidden-accessibility","home-link","icon-sidebar","inarticle-ad","infoline","inline-topic","instacartIntegration","interlude","interaction","itemendrow","intro-date","invisible","jp-no-solution","jp-relatedposts","jswarning","js-warning","jumplink","jumpto","jump-to-","js-skip-to-content","keepreading","keep-reading","keep_reading","keyword_wrap","kicker","labstab","-labels","language-name","lastupdated","latest-content","-ledes-","-license","license-","lightbox-popup","like-button","link-box","links-grid","links-title","listing-dynamic-terms","list-tags","live-blog-header-live-label","listinks","loading","loa-info","(?:(?<![\\w-])logo|logo(?![\\w-]))","ltx_role_refnum","ltx_tag_bibitem","ltx_error","masthead","marketing","media-card","media-inquiry","-menu","menu-","metadata","meta-bottom","meta-date","meta-row","might-like","minibio","more-about","mod-paywall","_modal","-modal","more-","morenews","morestories","more_wrapper","most-read","move-helper","mw-editsection","mw-cite-backlink","mw-indicators","mw-jump-link","nav-","nav_","navcontainer","navigation-post","next-","next_prev","no-script","newsgallery","news-story-title","newsletter_","newsletterbanner","newslettercontainer","newsletter-form","newsletter-signup","newslettersignup","newsletterwidget","newsletterwrapper","not-found","notessection","nomobile","noprint","onward-journey","open-slideshow","originally-published","osano-cm","other-blogs","outline-view","pagefoot","pagehead","page-header","page-title","paywall_message","-partners","permission-","plea","popular","popup_links","pop_stories","pop-up","post__author","post-author","post-bottom","post__category","postcomment","postdate","post-date","post_date","post-details","post-feeds","postinfo","post-info","post_info","post-inline-date","post-links","postlist","post_list","post_meta","post-meta","postmeta","post_more","postnavi","post-navigation","postpath","post-preview","postsnippet","post_snippet","post-snippet","post-subject","posttax","post-tax","post_tax","posttag","post-tag","post_time","posttitle","post-title","post_title","post__title","post-ufi-button","prev-post","prevnext","prev_next","prev-next","previousnext","press-inquiries","print-none","print-header","print:hidden","privacy-notice","privacy-settings","profile","promo_article","promo-bar","promo-box","pubdate","pub_date","pub-date","publish_date","publish-date","publication-date","publicationName","qr-code","qr_code","quick_up","_rail","ratingscontainer","ratingssection","reactions","read_also","readmore","read-next","read_next","read_time","read-time","reading_time","reading-time","reading-list","recent-","recent-articles","recentpost","recent_post","recent-post","recommend","redirectedfrom","recirc","register","(?<!h[1-6]-)related","-relance","relevant","relposts","reversefootnote","rightcol","\\bnocontent\\b","_rss","rss-link","rubricwrapper","screen-reader-text","scroll_to","scroll-to","_search","-search","section-nav","series-banner","share-box","sharedaddy","share-icons","sharelinks","share-links","share-post","share-print","share-section","share-text","sharing_","shariff-","shortcode-id","show-for-print","sidebartitle","sidebar-content","sidebar-element","sidebar-wrapper","sideitems","sidebar-author","sidebar-item","side-box","sign-in-gate","similar-","similar_","similars-","site-index","site-header","siteheader","site-name","site-wordpress","skip-content","skip-to-content","skip-link","c-skip-link","_skip-link","-slider","slug-wrap","social-author","social-button","social-shar","social-date","speechify-ignore","speedbump","sponsor","springercitation","sr-only","_stats","sticky-social","story-date","story-navigation","storyreadtime","storysmall","storypublishdate","subject-label","submenu","-subscribe-","subscriber-drive","subscription-","_tags","tags__item","tag_list","tag-list","tag-module","takeaways","taxonomy","table-of-contents","tblc","tabs-","terminaltout","time-rubric","timestamp","time-read","time-to-read","tip_off","-ticker","tiptout","-tout-","toc-container","toggle-caption","tooltip-content","topbar","subnavbar","topic-authors","topic-footer","topic-list","topic-subnav","top-wrapper","tree-item","trending","trust-feat","trust-badge","trust-project","chakra-badge","twiblock","u-hide","upsell","vid_carousel","viewbottom","view-language","yarpp-related","visually-hidden","welcomebox","widget_pages","window__widget","w-form-done","w-form-fail"];exports.PARTIAL_SELECTORS_REGEX=new RegExp(exports.PARTIAL_SELECTORS.join("|"),"i");exports.PARTIAL_SELECTORS_ANCHORED_REGEX=new RegExp("^(?:"+exports.PARTIAL_SELECTORS.join("|")+")$","i");exports.TEST_ATTRIBUTES_SELECTOR=exports.TEST_ATTRIBUTES.map(attr=>`[${attr}]`).join(",");exports.FOOTNOTE_INLINE_REFERENCES=["sup.reference","cite.ltx_cite",'sup[id^="fnr"]','span[id^="fnr"]','span[class*="footnote_ref"]','span[class*="footnote-ref"]',"span.footnote-link","a.citation",'a[id^="ref-link"]','a[href^="#fn"]','a[href^="#cite"]','a[href^="#reference"]','a[href^="#footnote"]','a[href^="#r"]','a[href^="#b"]','a[href*="cite_note"]','a[href*="cite_ref"]',"a.footnote-anchor","span.footnote-hovercard-target a",'a[role="doc-biblioref"]','a[id^="fnref"]','a[id^="ref-link"]',"sup.footnoteref","sup.footnote-reference",'sup[data-fn] > a[href^="#"]','sup[id^="ftnt_ref"] a[href^="#ftnt"]','span.easy-footnote > a[href^="#easy-footnote-bottom-"]','a.footnote[href^="#"]','a[data-type="noteref"]'].join(",");exports.FOOTNOTE_LIST_SELECTORS=["div.footnote ol","div.footnotes ol",'div[role="doc-endnotes"]','div[role="doc-footnotes"]',"ol.footnotes-list","ol.footnotes","ol.references",'ol[class*="article-references"]',"section.footnotes ol",'section[role="doc-endnotes"]','section[role="doc-footnotes"]','section[role="doc-bibliography"]',"ul.footnotes-list","ul.ltx_biblist",'div.footnote[data-component-name="FootnoteToDOM"]',"div.footnotes-footer","div.footnote-definitions","div.footnote-definition","ol.wp-block-footnotes","ol.easy-footnotes-wrapper","div.footnotes-segment","#footnotes"].join(",");exports.ALLOWED_EMPTY_ELEMENTS=new Set(["area","audio","base","br","circle","col","defs","ellipse","embed","figure","g","hr","iframe","img","input","line","link","mask","meta","object","param","path","pattern","picture","polygon","polyline","rect","source","stop","svg","td","th","track","use","video","wbr"]);exports.ALLOWED_ATTRIBUTES=new Set(["alt","allow","allowfullscreen","aria-label","checked","colspan","controls","data-latex","data-src","data-srcset","data-callout","data-callout-fold","data-callout-title","data-lang","dir","display","frameborder","headers","height","href","kind","label","lang","role","rowspan","sandbox","src","srclang","srcset","start","title","type","width","accent","accentunder","align","columnalign","columnlines","columnspacing","columnspan","data-mjx-texclass","depth","displaystyle","fence","frame","framespacing","linethickness","lspace","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","rowalign","rowlines","rowspacing","rowspan","rspace","scriptlevel","separator","stretchy","symmetric","voffset","xmlns"]);exports.ALLOWED_ATTRIBUTES_DEBUG=new Set(["class","id"]);exports.TAILWIND_COLORS={slate:{50:"#f8fafc",100:"#f1f5f9",200:"#e2e8f0",300:"#cbd5e1",400:"#94a3b8",500:"#64748b",600:"#475569",700:"#334155",800:"#1e293b",900:"#0f172a",950:"#020617"},gray:{50:"#f9fafb",100:"#f3f4f6",200:"#e5e7eb",300:"#d1d5db",400:"#9ca3af",500:"#6b7280",600:"#4b5563",700:"#374151",800:"#1f2937",900:"#111827",950:"#030712"},zinc:{50:"#fafafa",100:"#f4f4f5",200:"#e4e4e7",300:"#d4d4d8",400:"#a1a1aa",500:"#71717a",600:"#52525b",700:"#3f3f46",800:"#27272a",900:"#18181b",950:"#09090b"},neutral:{50:"#fafafa",100:"#f5f5f5",200:"#e5e5e5",300:"#d4d4d4",400:"#a3a3a3",500:"#737373",600:"#525252",700:"#404040",800:"#262626",900:"#171717",950:"#0a0a0a"},stone:{50:"#fafaf9",100:"#f5f5f4",200:"#e7e5e4",300:"#d6d3d1",400:"#a8a29e",500:"#78716c",600:"#57534e",700:"#44403c",800:"#292524",900:"#1c1917",950:"#0c0a09"},red:{50:"#fef2f2",100:"#fee2e2",200:"#fecaca",300:"#fca5a5",400:"#f87171",500:"#ef4444",600:"#dc2626",700:"#b91c1c",800:"#991b1b",900:"#7f1d1d",950:"#450a0a"},orange:{50:"#fff7ed",100:"#ffedd5",200:"#fed7aa",300:"#fdba74",400:"#fb923c",500:"#f97316",600:"#ea580c",700:"#c2410c",800:"#9a3412",900:"#7c2d12",950:"#431407"},amber:{50:"#fffbeb",100:"#fef3c7",200:"#fde68a",300:"#fcd34d",400:"#fbbf24",500:"#f59e0b",600:"#d97706",700:"#b45309",800:"#92400e",900:"#78350f",950:"#451a03"},yellow:{50:"#fefce8",100:"#fef9c3",200:"#fef08a",300:"#fde047",400:"#facc15",500:"#eab308",600:"#ca8a04",700:"#a16207",800:"#854d0e",900:"#713f12",950:"#422006"},lime:{50:"#f7fee7",100:"#ecfccb",200:"#d9f99d",300:"#bef264",400:"#a3e635",500:"#84cc16",600:"#65a30d",700:"#4d7c0f",800:"#3f6212",900:"#365314",950:"#1a2e05"},green:{50:"#f0fdf4",100:"#dcfce7",200:"#bbf7d0",300:"#86efac",400:"#4ade80",500:"#22c55e",600:"#16a34a",700:"#15803d",800:"#166534",900:"#14532d",950:"#052e16"},emerald:{50:"#ecfdf5",100:"#d1fae5",200:"#a7f3d0",300:"#6ee7b7",400:"#34d399",500:"#10b981",600:"#059669",700:"#047857",800:"#065f46",900:"#064e3b",950:"#022c22"},teal:{50:"#f0fdfa",100:"#ccfbf1",200:"#99f6e4",300:"#5eead4",400:"#2dd4bf",500:"#14b8a6",600:"#0d9488",700:"#0f766e",800:"#115e59",900:"#134e4a",950:"#042f2e"},cyan:{50:"#ecfeff",100:"#cffafe",200:"#a5f3fc",300:"#67e8f9",400:"#22d3ee",500:"#06b6d4",600:"#0891b2",700:"#0e7490",800:"#155e75",900:"#164e63",950:"#083344"},sky:{50:"#f0f9ff",100:"#e0f2fe",200:"#bae6fd",300:"#7dd3fc",400:"#38bdf8",500:"#0ea5e9",600:"#0284c7",700:"#0369a1",800:"#075985",900:"#0c4a6e",950:"#082f49"},blue:{50:"#eff6ff",100:"#dbeafe",200:"#bfdbfe",300:"#93c5fd",400:"#60a5fa",500:"#3b82f6",600:"#2563eb",700:"#1d4ed8",800:"#1e40af",900:"#1e3a8a",950:"#172554"},indigo:{50:"#eef2ff",100:"#e0e7ff",200:"#c7d2fe",300:"#a5b4fc",400:"#818cf8",500:"#6366f1",600:"#4f46e5",700:"#4338ca",800:"#3730a3",900:"#312e81",950:"#1e1b4b"},violet:{50:"#f5f3ff",100:"#ede9fe",200:"#ddd6fe",300:"#c4b5fd",400:"#a78bfa",500:"#8b5cf6",600:"#7c3aed",700:"#6d28d9",800:"#5b21b6",900:"#4c1d95",950:"#2e1065"},purple:{50:"#faf5ff",100:"#f3e8ff",200:"#e9d5ff",300:"#d8b4fe",400:"#c084fc",500:"#a855f7",600:"#9333ea",700:"#7e22ce",800:"#6b21a8",900:"#581c87",950:"#3b0764"},fuchsia:{50:"#fdf4ff",100:"#fae8ff",200:"#f5d0fe",300:"#f0abfc",400:"#e879f9",500:"#d946ef",600:"#c026d3",700:"#a21caf",800:"#86198f",900:"#701a75",950:"#4a044e"},pink:{50:"#fdf2f8",100:"#fce7f3",200:"#fbcfe8",300:"#f9a8d4",400:"#f472b6",500:"#ec4899",600:"#db2777",700:"#be185d",800:"#9d174d",900:"#831843",950:"#500724"},rose:{50:"#fff1f2",100:"#ffe4e6",200:"#fecdd3",300:"#fda4af",400:"#fb7185",500:"#f43f5e",600:"#e11d48",700:"#be123c",800:"#9f1239",900:"#881337",950:"#4c0519"}};exports.TAILWIND_SPECIAL={black:"#000",white:"#fff",transparent:"transparent",current:"currentColor"};exports.TW_COLOR_CLASS_RE=/^(fill|stroke)-([a-z]+)-(\d{2,3})(?:\/(\d+))?$/;exports.TW_SPECIAL_CLASS_RE=/^(fill|stroke)-(black|white|transparent|current)$/;exports.TW_ARBITRARY_RE=/^text-\[(.+)\]$/}});var require_gmail=__commonJS({"node_modules/defuddle/dist/extractors/gmail.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.GmailExtractor=void 0;var _base_1=require_base(),dom_1=require_dom(),utils_1=require_utils(),constants_1=require_constants(),comments_1=require_comments(),GmailExtractor=class _GmailExtractor extends _base_1.BaseExtractor{canExtract(){return!!this.document.querySelector(".adn.ads")}extract(){let messages=this.extractMessages(),commentData=(this.options.includeReplies===!1?messages.slice(0,1):messages).map(m=>({author:m.author,date:m.date,content:m.content,depth:0})),contentHtml=`<article data-defuddle><div class="gmail comments">${(0,comments_1.buildCommentTree)(commentData)}</div></article>`,subject=this.getSubject(),first=messages[0];return{content:contentHtml,contentHtml,extractedContent:{messageCount:messages.length.toString(),...first?.email?{postAuthor:first.email}:{}},variables:{title:subject,author:first?.author||"",site:"Gmail",published:this.toIsoDate(first?.date)||"",description:first?.author?`Gmail thread from ${first.author} with ${messages.length} messages`:`Gmail thread with ${messages.length} messages`}}}extractMessages(){let messages=[];return this.document.querySelectorAll(".adn.ads").forEach(row=>{let sender=row.querySelector(".gD"),author=sender?.getAttribute("name")?.trim()||sender?.textContent?.trim()||"Unknown",email=sender?.getAttribute("email")?.trim()||"",content=this.getMessageBody(row);content&&messages.push({author,email,date:this.getDate(row),content})}),messages}getDate(row){let dateEl=row.querySelector(".g3");return dateEl?.getAttribute("title")?.trim()||dateEl?.textContent?.trim()||""}toIsoDate(date){if(!date)return"";let parsed=new Date(date);if(isNaN(parsed.getTime()))return"";let month=String(parsed.getMonth()+1).padStart(2,"0"),day=String(parsed.getDate()).padStart(2,"0");return`${parsed.getFullYear()}-${month}-${day}`}getMessageBody(row){let body=row.querySelector(".a3s");if(!body)return"";let clone=body.cloneNode(!0);return clone.querySelectorAll(_GmailExtractor.REMOVE_SELECTORS).forEach(el=>el.remove()),_GmailExtractor.stripPlainTextQuotes(clone),_GmailExtractor.trimTrailingBlanks(clone),(0,dom_1.serializeHTML)(clone).trim()}static isBlank(node){return(0,utils_1.isElement)(node)?(node.textContent||"").trim()?!1:!(node.matches?.(_GmailExtractor.MEDIA_SELECTOR)||node.querySelector(_GmailExtractor.MEDIA_SELECTOR)):!(node.textContent||"").trim()}static trimTrailingBlanks(el){for(;el.lastChild&&_GmailExtractor.isBlank(el.lastChild);)el.removeChild(el.lastChild);let last=el.lastChild;last&&(0,utils_1.isElement)(last)&&_GmailExtractor.trimTrailingBlanks(last)}static stripPlainTextQuotes(root){let lines=[],line=[],endLine=()=>{lines.push(line),line=[]},splitsLines=new Set;root.querySelectorAll("br").forEach(br=>{for(let p=br.parentNode;p&&p!==root&&!splitsLines.has(p);p=p.parentNode)splitsLines.add(p)});let walk=parent=>{Array.from(parent.childNodes).forEach(node=>{if(!(0,utils_1.isElement)(node)){line.push(node);return}let tag=node.tagName.toLowerCase();tag==="br"?(line.push(node),endLine()):_GmailExtractor.INLINE_TAGS.has(tag)?splitsLines.has(node)?walk(node):line.push(node):(endLine(),walk(node),endLine())})};walk(root),endLine(),lines.forEach(nodes=>{let text=nodes.map(node=>node.textContent||"").join("");/^\s*>/.test(text)&&nodes.forEach(node=>node.parentNode?.removeChild(node))})}getSubject(){let subject=this.document.querySelector("h2.hP")?.textContent?.trim();return subject||(this.document.title?.trim()||"").replace(/ - [^-]+ - Gmail$/,"").trim()||"Gmail thread"}};exports.GmailExtractor=GmailExtractor;GmailExtractor.REMOVE_SELECTORS=[".gmail_quote",".gmail_attr",".gmail_extra",'blockquote[type="cite"]',".moz-cite-prefix",'blockquote[style*="border-left"]',".yahoo_quoted",".a6S",".adL",".h5",".adm",".ajR",".ajT",".h4",".yj6qo"].join(", ");GmailExtractor.MEDIA_SELECTOR="img, picture, video, audio, iframe, svg, canvas, object, embed";GmailExtractor.INLINE_TAGS=new Set([...constants_1.INLINE_ELEMENTS,"bdi","bdo","big","img","kbd","label","s","samp","strike","tt","var","wbr"])}});var require_extractor_registry=__commonJS({"node_modules/defuddle/dist/extractor-registry.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ExtractorRegistry=void 0;var reddit_1=require_reddit(),twitter_1=require_twitter(),x_article_1=require_x_article(),youtube_1=require_youtube(),bilibili_1=require_bilibili(),hackernews_1=require_hackernews(),chatgpt_1=require_chatgpt(),claude_1=require_claude(),grok_1=require_grok(),gemini_1=require_gemini(),github_1=require_github(),x_oembed_1=require_x_oembed(),bbcode_data_1=require_bbcode_data(),c2_wiki_1=require_c2_wiki(),substack_1=require_substack(),nytimes_1=require_nytimes(),wikipedia_1=require_wikipedia(),linkedin_1=require_linkedin(),threads_1=require_threads(),bluesky_1=require_bluesky(),discourse_1=require_discourse(),medium_1=require_medium(),leetcode_1=require_leetcode(),lwn_1=require_lwn(),mastodon_1=require_mastodon(),gmail_1=require_gmail(),ExtractorRegistry=class{static initialize(){this.register({patterns:["x.com","twitter.com"],extractor:x_article_1.XArticleExtractor}),this.register({patterns:["twitter.com",/\/x\.com\/.*/],extractor:twitter_1.TwitterExtractor}),this.register({patterns:["x.com","twitter.com"],extractor:x_oembed_1.XOembedExtractor}),this.register({patterns:["mail.google.com"],extractor:gmail_1.GmailExtractor}),this.register({patterns:["reddit.com","old.reddit.com","new.reddit.com",/^https:\/\/[^\/]+\.reddit\.com/],extractor:reddit_1.RedditExtractor}),this.register({patterns:["youtube.com","youtu.be",/youtube\.com\/watch\?v=.*/,/youtu\.be\/.*/],extractor:youtube_1.YoutubeExtractor}),this.register({patterns:["bilibili.com",/www\.bilibili\.com\/video\/BV[0-9A-Za-z]+/],extractor:bilibili_1.BilibiliExtractor}),this.register({patterns:["news.ycombinator.com"],extractor:hackernews_1.HackerNewsExtractor}),this.register({patterns:[/^https?:\/\/chatgpt\.com\/(c|share)\/.*/],extractor:chatgpt_1.ChatGPTExtractor}),this.register({patterns:["claude.ai",/^https?:\/\/claude\.ai\/(chat|share)\/.*/],extractor:claude_1.ClaudeExtractor}),this.register({patterns:[/^https?:\/\/grok\.com\/(chat|share)(\/.*)?$/],extractor:grok_1.GrokExtractor}),this.register({patterns:[/^https?:\/\/gemini\.google\.com\/app\/.*/],extractor:gemini_1.GeminiExtractor}),this.register({patterns:["github.com",/^https?:\/\/github\.com\/.*/],extractor:github_1.GitHubExtractor}),this.register({patterns:["linkedin.com"],extractor:linkedin_1.LinkedInExtractor}),this.register({patterns:["threads.net","www.threads.com","threads.com"],extractor:threads_1.ThreadsExtractor}),this.register({patterns:["bsky.app"],extractor:bluesky_1.BlueskyExtractor}),this.register({patterns:["medium.com",/\.medium\.com/],extractor:medium_1.MediumExtractor}),this.register({patterns:["wiki.c2.com"],extractor:c2_wiki_1.C2WikiExtractor}),this.register({patterns:[/^https?:\/\/substack\.com\/@[^/]+\/note\/.+/,/^https?:\/\/substack\.com\/home\/post\/p-\d+/,"substack.com"],extractor:substack_1.SubstackExtractor}),this.register({patterns:["nytimes.com"],extractor:nytimes_1.NytimesExtractor}),this.register({patterns:["wikipedia.org"],extractor:wikipedia_1.WikipediaExtractor}),this.register({patterns:[/\/@[^/]+\/\d+/],extractor:mastodon_1.MastodonExtractor}),this.register({patterns:[/\/t\/[^/]+\/\d+/],extractor:discourse_1.DiscourseExtractor}),this.register({patterns:["leetcode.com"],extractor:leetcode_1.LeetCodeExtractor}),this.register({patterns:["lwn.net"],extractor:lwn_1.LwnExtractor}),this.register({patterns:[/.*/],extractor:bbcode_data_1.BbcodeDataExtractor})}static register(mapping){this.mappings.push(mapping)}static findExtractor(document2,url,schemaOrgData,options){return this.findByPredicate(document2,url,schemaOrgData,e=>e.canExtract(),options)}static findAsyncExtractor(document2,url,schemaOrgData,options){return this.findByPredicate(document2,url,schemaOrgData,e=>e.canExtractAsync(),options)}static findPreferredAsyncExtractor(document2,url,schemaOrgData,options){return this.findByPredicate(document2,url,schemaOrgData,e=>e.canExtractAsync()&&e.prefersAsync(),options)}static findByPredicate(document2,url,schemaOrgData,predicate,options){try{let domain=new URL(url).hostname;for(let{patterns,extractor}of this.mappings)if(patterns.some(pattern=>pattern instanceof RegExp?pattern.test(url):domain.includes(pattern))){let instance=new extractor(document2,url,schemaOrgData,options);if(predicate(instance))return instance}return null}catch(error){return console.error("Error finding extractor:",error),null}}};exports.ExtractorRegistry=ExtractorRegistry;ExtractorRegistry.mappings=[];ExtractorRegistry.initialize()}});var require_conventions=__commonJS({"node_modules/@xmldom/xmldom/lib/conventions.js"(exports){"use strict";function find(list,predicate,ac){if(ac===void 0&&(ac=Array.prototype),list&&typeof ac.find=="function")return ac.find.call(list,predicate);for(var i=0;i<list.length;i++)if(hasOwn(list,i)){var item=list[i];if(predicate.call(void 0,item,i,list))return item}}function freeze(object,oc){return oc===void 0&&(oc=Object),oc&&typeof oc.getOwnPropertyDescriptors=="function"&&(object=oc.create(null,oc.getOwnPropertyDescriptors(object))),oc&&typeof oc.freeze=="function"?oc.freeze(object):object}function hasOwn(object,key){return Object.prototype.hasOwnProperty.call(object,key)}function assign(target,source){if(target===null||typeof target!="object")throw new TypeError("target is not an object");for(var key in source)hasOwn(source,key)&&(target[key]=source[key]);return target}var HTML_BOOLEAN_ATTRIBUTES=freeze({allowfullscreen:!0,async:!0,autofocus:!0,autoplay:!0,checked:!0,controls:!0,default:!0,defer:!0,disabled:!0,formnovalidate:!0,hidden:!0,ismap:!0,itemscope:!0,loop:!0,multiple:!0,muted:!0,nomodule:!0,novalidate:!0,open:!0,playsinline:!0,readonly:!0,required:!0,reversed:!0,selected:!0});function isHTMLBooleanAttribute(name){return hasOwn(HTML_BOOLEAN_ATTRIBUTES,name.toLowerCase())}var HTML_VOID_ELEMENTS=freeze({area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function isHTMLVoidElement(tagName){return hasOwn(HTML_VOID_ELEMENTS,tagName.toLowerCase())}var HTML_RAW_TEXT_ELEMENTS=freeze({script:!1,style:!1,textarea:!0,title:!0});function isHTMLRawTextElement(tagName){var key=tagName.toLowerCase();return hasOwn(HTML_RAW_TEXT_ELEMENTS,key)&&!HTML_RAW_TEXT_ELEMENTS[key]}function isHTMLEscapableRawTextElement(tagName){var key=tagName.toLowerCase();return hasOwn(HTML_RAW_TEXT_ELEMENTS,key)&&HTML_RAW_TEXT_ELEMENTS[key]}function isHTMLMimeType(mimeType){return mimeType===MIME_TYPE.HTML}function hasDefaultHTMLNamespace(mimeType){return isHTMLMimeType(mimeType)||mimeType===MIME_TYPE.XML_XHTML_APPLICATION}var MIME_TYPE=freeze({HTML:"text/html",XML_APPLICATION:"application/xml",XML_TEXT:"text/xml",XML_XHTML_APPLICATION:"application/xhtml+xml",XML_SVG_IMAGE:"image/svg+xml"}),_MIME_TYPES=Object.keys(MIME_TYPE).map(function(key){return MIME_TYPE[key]});function isValidMimeType(mimeType){return _MIME_TYPES.indexOf(mimeType)>-1}var NAMESPACE=freeze({HTML:"http://www.w3.org/1999/xhtml",SVG:"http://www.w3.org/2000/svg",XML:"http://www.w3.org/XML/1998/namespace",XMLNS:"http://www.w3.org/2000/xmlns/"});exports.assign=assign;exports.find=find;exports.freeze=freeze;exports.HTML_BOOLEAN_ATTRIBUTES=HTML_BOOLEAN_ATTRIBUTES;exports.HTML_RAW_TEXT_ELEMENTS=HTML_RAW_TEXT_ELEMENTS;exports.HTML_VOID_ELEMENTS=HTML_VOID_ELEMENTS;exports.hasDefaultHTMLNamespace=hasDefaultHTMLNamespace;exports.hasOwn=hasOwn;exports.isHTMLBooleanAttribute=isHTMLBooleanAttribute;exports.isHTMLRawTextElement=isHTMLRawTextElement;exports.isHTMLEscapableRawTextElement=isHTMLEscapableRawTextElement;exports.isHTMLMimeType=isHTMLMimeType;exports.isHTMLVoidElement=isHTMLVoidElement;exports.isValidMimeType=isValidMimeType;exports.MIME_TYPE=MIME_TYPE;exports.NAMESPACE=NAMESPACE}});var require_errors=__commonJS({"node_modules/@xmldom/xmldom/lib/errors.js"(exports){"use strict";var conventions=require_conventions();function extendError(constructor,writableName){constructor.prototype=Object.create(Error.prototype,{constructor:{value:constructor},name:{value:constructor.name,enumerable:!0,writable:writableName}})}var DOMExceptionName=conventions.freeze({Error:"Error",IndexSizeError:"IndexSizeError",DomstringSizeError:"DomstringSizeError",HierarchyRequestError:"HierarchyRequestError",WrongDocumentError:"WrongDocumentError",InvalidCharacterError:"InvalidCharacterError",NoDataAllowedError:"NoDataAllowedError",NoModificationAllowedError:"NoModificationAllowedError",NotFoundError:"NotFoundError",NotSupportedError:"NotSupportedError",InUseAttributeError:"InUseAttributeError",InvalidStateError:"InvalidStateError",SyntaxError:"SyntaxError",InvalidModificationError:"InvalidModificationError",NamespaceError:"NamespaceError",InvalidAccessError:"InvalidAccessError",ValidationError:"ValidationError",TypeMismatchError:"TypeMismatchError",SecurityError:"SecurityError",NetworkError:"NetworkError",AbortError:"AbortError",URLMismatchError:"URLMismatchError",QuotaExceededError:"QuotaExceededError",TimeoutError:"TimeoutError",InvalidNodeTypeError:"InvalidNodeTypeError",DataCloneError:"DataCloneError",EncodingError:"EncodingError",NotReadableError:"NotReadableError",UnknownError:"UnknownError",ConstraintError:"ConstraintError",DataError:"DataError",TransactionInactiveError:"TransactionInactiveError",ReadOnlyError:"ReadOnlyError",VersionError:"VersionError",OperationError:"OperationError",NotAllowedError:"NotAllowedError",OptOutError:"OptOutError"}),DOMExceptionNames=Object.keys(DOMExceptionName);function isValidDomExceptionCode(value){return typeof value=="number"&&value>=1&&value<=25}function endsWithError(value){return typeof value=="string"&&value.substring(value.length-DOMExceptionName.Error.length)===DOMExceptionName.Error}function DOMException2(messageOrCode,nameOrMessage){isValidDomExceptionCode(messageOrCode)?(this.name=DOMExceptionNames[messageOrCode],this.message=nameOrMessage||""):(this.message=messageOrCode,this.name=endsWithError(nameOrMessage)?nameOrMessage:DOMExceptionName.Error),Error.captureStackTrace&&Error.captureStackTrace(this,DOMException2)}extendError(DOMException2,!0);Object.defineProperties(DOMException2.prototype,{code:{enumerable:!0,get:function(){var code=DOMExceptionNames.indexOf(this.name);return isValidDomExceptionCode(code)?code:0}}});var ExceptionCode={INDEX_SIZE_ERR:1,DOMSTRING_SIZE_ERR:2,HIERARCHY_REQUEST_ERR:3,WRONG_DOCUMENT_ERR:4,INVALID_CHARACTER_ERR:5,NO_DATA_ALLOWED_ERR:6,NO_MODIFICATION_ALLOWED_ERR:7,NOT_FOUND_ERR:8,NOT_SUPPORTED_ERR:9,INUSE_ATTRIBUTE_ERR:10,INVALID_STATE_ERR:11,SYNTAX_ERR:12,INVALID_MODIFICATION_ERR:13,NAMESPACE_ERR:14,INVALID_ACCESS_ERR:15,VALIDATION_ERR:16,TYPE_MISMATCH_ERR:17,SECURITY_ERR:18,NETWORK_ERR:19,ABORT_ERR:20,URL_MISMATCH_ERR:21,QUOTA_EXCEEDED_ERR:22,TIMEOUT_ERR:23,INVALID_NODE_TYPE_ERR:24,DATA_CLONE_ERR:25},entries=Object.entries(ExceptionCode);for(i=0;i<entries.length;i++)key=entries[i][0],DOMException2[key]=entries[i][1];var key,i;function ParseError(message,locator,cause){this.message=message,this.locator=locator,this.cause=cause,Error.captureStackTrace&&Error.captureStackTrace(this,ParseError)}extendError(ParseError);exports.DOMException=DOMException2;exports.DOMExceptionName=DOMExceptionName;exports.ExceptionCode=ExceptionCode;exports.ParseError=ParseError}});var require_grammar=__commonJS({"node_modules/@xmldom/xmldom/lib/grammar.js"(exports){"use strict";function detectUnicodeSupport(RegExpImpl){try{typeof RegExpImpl!="function"&&(RegExpImpl=RegExp);var match=new RegExpImpl("\u{1D306}","u").exec("\u{1D306}");return!!match&&match[0].length===2}catch{}return!1}var UNICODE_SUPPORT=detectUnicodeSupport();function chars(regexp){if(regexp.source[0]!=="[")throw new Error(regexp+" can not be used with chars");return regexp.source.slice(1,regexp.source.lastIndexOf("]"))}function chars_without(regexp,search){if(regexp.source[0]!=="[")throw new Error("/"+regexp.source+"/ can not be used with chars_without");if(!search||typeof search!="string")throw new Error(JSON.stringify(search)+" is not a valid search");if(regexp.source.indexOf(search)===-1)throw new Error('"'+search+'" is not is /'+regexp.source+"/");if(search==="-"&&regexp.source.indexOf(search)!==1)throw new Error('"'+search+'" is not at the first postion of /'+regexp.source+"/");return new RegExp(regexp.source.replace(search,""),UNICODE_SUPPORT?"u":"")}function reg(args){var self=this;return new RegExp(Array.prototype.slice.call(arguments).map(function(part){var isStr=typeof part=="string";if(isStr&&self===void 0&&part==="|")throw new Error("use regg instead of reg to wrap expressions with `|`!");return isStr?part:part.source}).join(""),UNICODE_SUPPORT?"u":"")}function regg(args){if(arguments.length===0)throw new Error("no parameters provided");return reg.apply(regg,["(?:"].concat(Array.prototype.slice.call(arguments),[")"]))}var UNICODE_REPLACEMENT_CHARACTER="\uFFFD",Char=/[-\x09\x0A\x0D\x20-\x2C\x2E-\uD7FF\uE000-\uFFFD]/;UNICODE_SUPPORT&&(Char=reg("[",chars(Char),"\\u{10000}-\\u{10FFFF}","]"));var InvalidChar=new RegExp("[^"+chars(Char)+"]",UNICODE_SUPPORT?"u":""),_SChar=/[\x20\x09\x0D\x0A]/,SChar_s=chars(_SChar),S=reg(_SChar,"+"),S_OPT=reg(_SChar,"*"),NameStartChar=/[:_a-zA-Z\xC0-\xD6\xD8-\xF6\xF8-\u02FF\u0370-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD]/;UNICODE_SUPPORT&&(NameStartChar=reg("[",chars(NameStartChar),"\\u{10000}-\\u{10FFFF}","]"));var NameStartChar_s=chars(NameStartChar),NameChar=reg("[",NameStartChar_s,chars(/[-.0-9\xB7]/),chars(/[\u0300-\u036F\u203F-\u2040]/),"]"),Name=reg(NameStartChar,NameChar,"*"),Name_exact=reg("^",Name,"$"),Nmtoken=reg(NameChar,"+"),EntityRef=reg("&",Name,";"),CharRef=regg(/&#[0-9]+;|&#x[0-9a-fA-F]+;/),Reference=regg(EntityRef,"|",CharRef),PEReference=reg("%",Name,";"),EntityValue=regg(reg('"',regg(/[^%&"]/,"|",PEReference,"|",Reference),"*",'"'),"|",reg("'",regg(/[^%&']/,"|",PEReference,"|",Reference),"*","'")),AttValue=regg('"',regg(/[^<&"]/,"|",Reference),"*",'"',"|","'",regg(/[^<&']/,"|",Reference),"*","'"),NCNameStartChar=chars_without(NameStartChar,":"),NCNameChar=chars_without(NameChar,":"),NCName=reg(NCNameStartChar,NCNameChar,"*"),NCName_exact=reg("^",NCName,"$"),QName=reg(NCName,regg(":",NCName),"?"),QName_exact=reg("^",QName,"$"),QName_group=reg("(",QName,")"),SystemLiteral=regg(/"[^"]*"|'[^']*'/),PI=reg(/^<\?/,"(",Name,")",regg(S,"(?!",_SChar,")(",Char,"*?)"),"?",/\?>/),PubidChar=/[\x20\x0D\x0Aa-zA-Z0-9-'()+,./:=?;!*#@$_%]/,PubidLiteral=regg('"',PubidChar,'*"',"|","'",chars_without(PubidChar,"'"),"*'"),COMMENT_START="<!--",COMMENT_END="-->",Comment=reg(COMMENT_START,regg(chars_without(Char,"-"),"|",reg("-",chars_without(Char,"-"))),"*",COMMENT_END),PCDATA="#PCDATA",Mixed=regg(reg(/\(/,S_OPT,PCDATA,regg(S_OPT,/\|/,S_OPT,QName),"*",S_OPT,/\)\*/),"|",reg(/\(/,S_OPT,PCDATA,S_OPT,/\)/)),_children_quantity=/[?*+]?/,children=reg(/\([^>]+\)/,_children_quantity),contentspec=regg("EMPTY","|","ANY","|",Mixed,"|",children),ELEMENTDECL_START="<!ELEMENT",elementdecl=reg(ELEMENTDECL_START,S,regg(QName,"|",PEReference),S,regg(contentspec,"|",PEReference),S_OPT,">"),NotationType=reg("NOTATION",S,/\(/,S_OPT,Name,regg(S_OPT,/\|/,S_OPT,Name),"*",S_OPT,/\)/),Enumeration=reg(/\(/,S_OPT,Nmtoken,regg(S_OPT,/\|/,S_OPT,Nmtoken),"*",S_OPT,/\)/),EnumeratedType=regg(NotationType,"|",Enumeration),AttType=regg(/CDATA|ID|IDREF|IDREFS|ENTITY|ENTITIES|NMTOKEN|NMTOKENS/,"|",EnumeratedType),DefaultDecl=regg(/#REQUIRED|#IMPLIED/,"|",regg(regg("#FIXED",S),"?",AttValue)),AttDef=regg(S,Name,S,AttType,S,DefaultDecl),ATTLIST_DECL_START="<!ATTLIST",AttlistDecl=reg(ATTLIST_DECL_START,S,Name,AttDef,"*",S_OPT,">"),ABOUT_LEGACY_COMPAT="about:legacy-compat",ABOUT_LEGACY_COMPAT_SystemLiteral=regg('"'+ABOUT_LEGACY_COMPAT+'"',"|","'"+ABOUT_LEGACY_COMPAT+"'"),SYSTEM="SYSTEM",PUBLIC="PUBLIC",ExternalID=regg(regg(SYSTEM,S,SystemLiteral),"|",regg(PUBLIC,S,PubidLiteral,S,SystemLiteral)),ExternalID_match=reg("^",regg(regg(SYSTEM,S,"(?<SystemLiteralOnly>",SystemLiteral,")"),"|",regg(PUBLIC,S,"(?<PubidLiteral>",PubidLiteral,")",S,"(?<SystemLiteral>",SystemLiteral,")"))),PubidLiteral_match=reg("^",PubidLiteral,"$"),SystemLiteral_match=reg("^",SystemLiteral,"$"),NDataDecl=regg(S,"NDATA",S,Name),EntityDef=regg(EntityValue,"|",regg(ExternalID,NDataDecl,"?")),ENTITY_DECL_START="<!ENTITY",GEDecl=reg(ENTITY_DECL_START,S,Name,S,EntityDef,S_OPT,">"),PEDef=regg(EntityValue,"|",ExternalID),PEDecl=reg(ENTITY_DECL_START,S,"%",S,Name,S,PEDef,S_OPT,">"),EntityDecl=regg(GEDecl,"|",PEDecl),PublicID=reg(PUBLIC,S,PubidLiteral),NotationDecl=reg("<!NOTATION",S,Name,S,regg(ExternalID,"|",PublicID),S_OPT,">"),Eq=reg(S_OPT,"=",S_OPT),VersionNum=/1[.]\d+/,VersionInfo=reg(S,"version",Eq,regg("'",VersionNum,"'","|",'"',VersionNum,'"')),EncName=/[A-Za-z][-A-Za-z0-9._]*/,EncodingDecl=regg(S,"encoding",Eq,regg('"',EncName,'"',"|","'",EncName,"'")),SDDecl=regg(S,"standalone",Eq,regg("'",regg("yes","|","no"),"'","|",'"',regg("yes","|","no"),'"')),XMLDecl=reg(/^<\?xml/,VersionInfo,EncodingDecl,"?",SDDecl,"?",S_OPT,/\?>/),DOCTYPE_DECL_START="<!DOCTYPE",CDATA_START="<![CDATA[",CDATA_END="]]>",CDStart=/<!\[CDATA\[/,CDEnd=/\]\]>/,CData=reg(Char,"*?",CDEnd),CDSect=reg(CDStart,CData);exports.chars=chars;exports.chars_without=chars_without;exports.detectUnicodeSupport=detectUnicodeSupport;exports.reg=reg;exports.regg=regg;exports.ABOUT_LEGACY_COMPAT=ABOUT_LEGACY_COMPAT;exports.ABOUT_LEGACY_COMPAT_SystemLiteral=ABOUT_LEGACY_COMPAT_SystemLiteral;exports.AttlistDecl=AttlistDecl;exports.CDATA_START=CDATA_START;exports.CDATA_END=CDATA_END;exports.CDSect=CDSect;exports.Char=Char;exports.Comment=Comment;exports.COMMENT_START=COMMENT_START;exports.COMMENT_END=COMMENT_END;exports.DOCTYPE_DECL_START=DOCTYPE_DECL_START;exports.elementdecl=elementdecl;exports.EntityDecl=EntityDecl;exports.EntityValue=EntityValue;exports.ExternalID=ExternalID;exports.ExternalID_match=ExternalID_match;exports.Name=Name;exports.Name_exact=Name_exact;exports.NCName_exact=NCName_exact;exports.NotationDecl=NotationDecl;exports.Reference=Reference;exports.PEReference=PEReference;exports.PI=PI;exports.PUBLIC=PUBLIC;exports.PubidLiteral=PubidLiteral;exports.PubidLiteral_match=PubidLiteral_match;exports.QName=QName;exports.QName_exact=QName_exact;exports.QName_group=QName_group;exports.S=S;exports.SChar_s=SChar_s;exports.S_OPT=S_OPT;exports.SYSTEM=SYSTEM;exports.SystemLiteral=SystemLiteral;exports.SystemLiteral_match=SystemLiteral_match;exports.InvalidChar=InvalidChar;exports.UNICODE_REPLACEMENT_CHARACTER=UNICODE_REPLACEMENT_CHARACTER;exports.UNICODE_SUPPORT=UNICODE_SUPPORT;exports.XMLDecl=XMLDecl}});var require_dom2=__commonJS({"node_modules/@xmldom/xmldom/lib/dom.js"(exports){"use strict";var conventions=require_conventions(),find=conventions.find,hasDefaultHTMLNamespace=conventions.hasDefaultHTMLNamespace,hasOwn=conventions.hasOwn,isHTMLMimeType=conventions.isHTMLMimeType,isHTMLRawTextElement=conventions.isHTMLRawTextElement,isHTMLVoidElement=conventions.isHTMLVoidElement,MIME_TYPE=conventions.MIME_TYPE,NAMESPACE=conventions.NAMESPACE,PDC=Symbol(),errors=require_errors(),DOMException2=errors.DOMException,DOMExceptionName=errors.DOMExceptionName,g=require_grammar();function checkSymbol(symbol){if(symbol!==PDC)throw new TypeError("Illegal constructor")}function notEmptyString(input){return input!==""}function splitOnASCIIWhitespace(input){return input?input.split(/[\t\n\f\r ]+/).filter(notEmptyString):[]}function orderedSetReducer(current,element){return hasOwn(current,element)||(current[element]=!0),current}function toOrderedSet(input){if(!input)return[];var list=splitOnASCIIWhitespace(input);return Object.keys(list.reduce(orderedSetReducer,{}))}function arrayIncludes(list){return function(element){return list&&list.indexOf(element)!==-1}}function validateQualifiedName(qualifiedName){if(!g.QName_exact.test(qualifiedName))throw new DOMException2(DOMException2.INVALID_CHARACTER_ERR,'invalid character in qualified name "'+qualifiedName+'"')}function validateAndExtract(namespace,qualifiedName){validateQualifiedName(qualifiedName),namespace=namespace||null;var prefix=null,localName=qualifiedName;if(qualifiedName.indexOf(":")>=0){var splitResult=qualifiedName.split(":");prefix=splitResult[0],localName=splitResult[1]}if(prefix!==null&&namespace===null)throw new DOMException2(DOMException2.NAMESPACE_ERR,"prefix is non-null and namespace is null");if(prefix==="xml"&&namespace!==conventions.NAMESPACE.XML)throw new DOMException2(DOMException2.NAMESPACE_ERR,'prefix is "xml" and namespace is not the XML namespace');if((prefix==="xmlns"||qualifiedName==="xmlns")&&namespace!==conventions.NAMESPACE.XMLNS)throw new DOMException2(DOMException2.NAMESPACE_ERR,'either qualifiedName or prefix is "xmlns" and namespace is not the XMLNS namespace');if(namespace===conventions.NAMESPACE.XMLNS&&prefix!=="xmlns"&&qualifiedName!=="xmlns")throw new DOMException2(DOMException2.NAMESPACE_ERR,'namespace is the XMLNS namespace and neither qualifiedName nor prefix is "xmlns"');return[namespace,prefix,localName]}function copy(src,dest){for(var p in src)hasOwn(src,p)&&(dest[p]=src[p])}function _extends(Class,Super){var pt=Class.prototype;if(!(pt instanceof Super)){let t=function(){};t.prototype=Super.prototype,t=new t,copy(pt,t),Class.prototype=pt=t}pt.constructor!=Class&&(typeof Class!="function"&&console.error("unknown Class:"+Class),pt.constructor=Class)}var NodeType={},ELEMENT_NODE=NodeType.ELEMENT_NODE=1,ATTRIBUTE_NODE=NodeType.ATTRIBUTE_NODE=2,TEXT_NODE=NodeType.TEXT_NODE=3,CDATA_SECTION_NODE=NodeType.CDATA_SECTION_NODE=4,ENTITY_REFERENCE_NODE=NodeType.ENTITY_REFERENCE_NODE=5,ENTITY_NODE=NodeType.ENTITY_NODE=6,PROCESSING_INSTRUCTION_NODE=NodeType.PROCESSING_INSTRUCTION_NODE=7,COMMENT_NODE=NodeType.COMMENT_NODE=8,DOCUMENT_NODE=NodeType.DOCUMENT_NODE=9,DOCUMENT_TYPE_NODE=NodeType.DOCUMENT_TYPE_NODE=10,DOCUMENT_FRAGMENT_NODE=NodeType.DOCUMENT_FRAGMENT_NODE=11,NOTATION_NODE=NodeType.NOTATION_NODE=12,DocumentPosition=conventions.freeze({DOCUMENT_POSITION_DISCONNECTED:1,DOCUMENT_POSITION_PRECEDING:2,DOCUMENT_POSITION_FOLLOWING:4,DOCUMENT_POSITION_CONTAINS:8,DOCUMENT_POSITION_CONTAINED_BY:16,DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC:32});function commonAncestor(a,b){if(b.length<a.length)return commonAncestor(b,a);var c=null;for(var n in a){if(a[n]!==b[n])return c;c=a[n]}return c}function docGUID(doc){return doc.guid||(doc.guid=Math.random()),doc.guid}function NodeList(){}NodeList.prototype={length:0,item:function(index){return index>=0&&index<this.length?this[index]:null},toString:function(options){var opts;typeof options=="function"?opts={requireWellFormed:!1,splitCDATASections:!0,nodeFilter:options}:options?opts={requireWellFormed:!!options.requireWellFormed,splitCDATASections:options.splitCDATASections!==!1,nodeFilter:options.nodeFilter||null}:opts={requireWellFormed:!1,splitCDATASections:!0,nodeFilter:null};for(var buf=[],i=0;i<this.length;i++)serializeToString(this[i],buf,null,opts);return buf.join("")},filter:function(predicate){return Array.prototype.filter.call(this,predicate)},indexOf:function(item){return Array.prototype.indexOf.call(this,item)}};NodeList.prototype[Symbol.iterator]=function(){var me=this,index=0;return{next:function(){return index<me.length?{value:me[index++],done:!1}:{done:!0}},return:function(){return{done:!0}}}};function LiveNodeList(node,refresh){this._node=node,this._refresh=refresh,_updateLiveList(this)}function _updateLiveList(list){var inc=list._node._inc||list._node.ownerDocument._inc;if(list._inc!==inc){var ls=list._refresh(list._node);if(__set__(list,"length",ls.length),!list.$$length||ls.length<list.$$length)for(var i=ls.length;i in list;i++)hasOwn(list,i)&&delete list[i];copy(ls,list),list._inc=inc}}LiveNodeList.prototype.item=function(i){return _updateLiveList(this),this[i]||null};_extends(LiveNodeList,NodeList);function NamedNodeMap(){this._nsIndex=Object.create(null),this._noNsIndex=Object.create(null)}function _findNodeIndex(list,node){for(var i=0;i<list.length;){if(list[i]===node)return i;i++}}function _nnmBucket(map,namespaceURI,create){if(!namespaceURI)return map._noNsIndex;var bucket=map._nsIndex[namespaceURI];return!bucket&&create&&(bucket=map._nsIndex[namespaceURI]=Object.create(null)),bucket}function _nnmIndexFind(map,namespaceURI,localName){var bucket=_nnmBucket(map,namespaceURI,!1),found=bucket&&bucket[localName];return found||null}function _nnmIndexAdd(map,attr){_nnmBucket(map,attr.namespaceURI,!0)[attr.localName]=attr}function _nnmIndexRemove(map,attr){var bucket=_nnmBucket(map,attr.namespaceURI,!1);bucket&&delete bucket[attr.localName]}function _addNamedNode(el,list,newAttr,oldAttr){if(oldAttr?list[_findNodeIndex(list,oldAttr)]=newAttr:(list[list.length]=newAttr,list.length++),_nnmIndexAdd(list,newAttr),el){newAttr.ownerElement=el;var doc=el.ownerDocument;doc&&(oldAttr&&_onRemoveAttribute(doc,el,oldAttr),_onAddAttribute(doc,el,newAttr))}}function _removeNamedNode(el,list,attr){var i=_findNodeIndex(list,attr);if(i>=0){for(var lastIndex=list.length-1;i<=lastIndex;)list[i]=list[++i];if(list.length=lastIndex,_nnmIndexRemove(list,attr),el){var doc=el.ownerDocument;doc&&_onRemoveAttribute(doc,el,attr),attr.ownerElement=null}}}NamedNodeMap.prototype={length:0,item:NodeList.prototype.item,getNamedItem:function(localName){this._ownerElement&&this._ownerElement._isInHTMLDocumentAndNamespace()&&(localName=localName.toLowerCase());for(var i=0;i<this.length;){var attr=this[i];if(attr.nodeName===localName)return attr;i++}return null},setNamedItem:function(attr){var el=attr.ownerElement;if(el&&el!==this._ownerElement)throw new DOMException2(DOMException2.INUSE_ATTRIBUTE_ERR);var oldAttr=_nnmIndexFind(this,attr.namespaceURI,attr.localName);return oldAttr===attr?attr:(_addNamedNode(this._ownerElement,this,attr,oldAttr),oldAttr)},setNamedItemNS:function(attr){return this.setNamedItem(attr)},removeNamedItem:function(localName){var attr=this.getNamedItem(localName);if(!attr)throw new DOMException2(DOMException2.NOT_FOUND_ERR,localName);return _removeNamedNode(this._ownerElement,this,attr),attr},removeNamedItemNS:function(namespaceURI,localName){var attr=this.getNamedItemNS(namespaceURI,localName);if(!attr)throw new DOMException2(DOMException2.NOT_FOUND_ERR,namespaceURI?namespaceURI+" : "+localName:localName);return _removeNamedNode(this._ownerElement,this,attr),attr},getNamedItemNS:function(namespaceURI,localName){namespaceURI||(namespaceURI=null);for(var i=0;i<this.length;){var node=this[i];if(node.localName===localName&&node.namespaceURI===namespaceURI)return node;i++}return null}};NamedNodeMap.prototype[Symbol.iterator]=function(){var me=this,index=0;return{next:function(){return index<me.length?{value:me[index++],done:!1}:{done:!0}},return:function(){return{done:!0}}}};function DOMImplementation(){}DOMImplementation.prototype={hasFeature:function(feature,version){return!0},createDocument:function(namespaceURI,qualifiedName,doctype){var contentType=MIME_TYPE.XML_APPLICATION;namespaceURI===NAMESPACE.HTML?contentType=MIME_TYPE.XML_XHTML_APPLICATION:namespaceURI===NAMESPACE.SVG&&(contentType=MIME_TYPE.XML_SVG_IMAGE);var doc=new Document(PDC,{contentType});if(doc.implementation=this,doc.childNodes=new NodeList,doc.doctype=doctype||null,doctype&&doc.appendChild(doctype),qualifiedName){var root=doc.createElementNS(namespaceURI,qualifiedName);doc.appendChild(root)}return doc},createDocumentType:function(qualifiedName,publicId,systemId,internalSubset){validateQualifiedName(qualifiedName);var node=new DocumentType(PDC);return node.name=qualifiedName,node.nodeName=qualifiedName,node.publicId=publicId||"",node.systemId=systemId||"",node.internalSubset=internalSubset||"",node.childNodes=new NodeList,node},createHTMLDocument:function(title){var doc=new Document(PDC,{contentType:MIME_TYPE.HTML});if(doc.implementation=this,doc.childNodes=new NodeList,title!==!1){doc.doctype=this.createDocumentType("html"),doc.doctype.ownerDocument=doc,doc.appendChild(doc.doctype);var htmlNode=doc.createElement("html");doc.appendChild(htmlNode);var headNode=doc.createElement("head");if(htmlNode.appendChild(headNode),typeof title=="string"){var titleNode=doc.createElement("title");titleNode.appendChild(doc.createTextNode(title)),headNode.appendChild(titleNode)}htmlNode.appendChild(doc.createElement("body"))}return doc}};function Node(symbol){checkSymbol(symbol)}Node.prototype={firstChild:null,lastChild:null,previousSibling:null,nextSibling:null,parentNode:null,get parentElement(){return this.parentNode&&this.parentNode.nodeType===this.ELEMENT_NODE?this.parentNode:null},childNodes:null,ownerDocument:null,nodeValue:null,namespaceURI:null,prefix:null,localName:null,baseURI:"about:blank",get isConnected(){var rootNode=this.getRootNode();return rootNode&&rootNode.nodeType===rootNode.DOCUMENT_NODE},contains:function(other){if(!other)return!1;var parent=other;do{if(this===parent)return!0;parent=parent.parentNode}while(parent);return!1},getRootNode:function(options){var parent=this;do{if(!parent.parentNode)return parent;parent=parent.parentNode}while(parent)},isEqualNode:function(otherNode){if(!otherNode)return!1;for(var stack=[{node:this,other:otherNode}];stack.length>0;){var pair=stack.pop(),node=pair.node,other=pair.other;if(node.nodeType!==other.nodeType)return!1;switch(node.nodeType){case node.DOCUMENT_TYPE_NODE:if(node.name!==other.name||node.publicId!==other.publicId||node.systemId!==other.systemId)return!1;break;case node.ELEMENT_NODE:if(node.namespaceURI!==other.namespaceURI||node.prefix!==other.prefix||node.localName!==other.localName||node.attributes.length!==other.attributes.length)return!1;for(var i=0;i<node.attributes.length;i++){var attr=node.attributes.item(i),otherAttr=other.getAttributeNodeNS(attr.namespaceURI,attr.localName);if(!otherAttr)return!1;stack.push({node:attr,other:otherAttr})}break;case node.ATTRIBUTE_NODE:if(node.namespaceURI!==other.namespaceURI||node.localName!==other.localName||node.value!==other.value)return!1;break;case node.PROCESSING_INSTRUCTION_NODE:if(node.target!==other.target||node.data!==other.data)return!1;break;case node.TEXT_NODE:case node.CDATA_SECTION_NODE:case node.COMMENT_NODE:if(node.data!==other.data)return!1;break}if(node.childNodes.length!==other.childNodes.length)return!1;for(var i=node.childNodes.length-1;i>=0;i--)stack.push({node:node.childNodes[i],other:other.childNodes[i]})}return!0},isSameNode:function(otherNode){return this===otherNode},insertBefore:function(newChild,refChild){return _insertBefore(this,newChild,refChild)},replaceChild:function(newChild,oldChild){_insertBefore(this,newChild,oldChild,assertPreReplacementValidityInDocument),oldChild&&this.removeChild(oldChild)},removeChild:function(oldChild){return _removeChild(this,oldChild)},appendChild:function(newChild){return this.insertBefore(newChild,null)},hasChildNodes:function(){return this.firstChild!=null},cloneNode:function(deep){return cloneNode(this.ownerDocument||this,this,deep)},normalize:function(){walkDOM(this,null,{enter:function(node){for(var child=node.firstChild;child;){var next=child.nextSibling;if(next!==null&&next.nodeType===TEXT_NODE&&child.nodeType===TEXT_NODE){for(var tail=[],sibling=next;sibling!==null&&sibling.nodeType===TEXT_NODE;)tail.push(sibling.data),sibling=sibling.nextSibling;for(var removed=child.nextSibling;removed!==sibling;){var following=removed.nextSibling;removed.parentNode=null,removed.previousSibling=null,removed.nextSibling=null,removed=following}child.nextSibling=sibling,sibling!==null?sibling.previousSibling=child:node.lastChild=child,child.appendData(tail.join("")),_onUpdateChild(node.ownerDocument,node),child=sibling}else child=next}return!0}})},isSupported:function(feature,version){return this.ownerDocument.implementation.hasFeature(feature,version)},lookupPrefix:function(namespaceURI){for(var el=this;el;){var map=el._nsMap;if(map){for(var n in map)if(hasOwn(map,n)&&map[n]===namespaceURI)return n}el=el.nodeType==ATTRIBUTE_NODE?el.ownerDocument:el.parentNode}return null},lookupNamespaceURI:function(prefix){for(var el=this;el;){var map=el._nsMap;if(map&&hasOwn(map,prefix))return map[prefix];el=el.nodeType==ATTRIBUTE_NODE?el.ownerDocument:el.parentNode}return null},isDefaultNamespace:function(namespaceURI){var prefix=this.lookupPrefix(namespaceURI);return prefix==null},compareDocumentPosition:function(other){if(this===other)return 0;var node1=other,node2=this,attr1=null,attr2=null;if(node1 instanceof Attr&&(attr1=node1,node1=attr1.ownerElement),node2 instanceof Attr&&(attr2=node2,node2=attr2.ownerElement,attr1&&node1&&node2===node1))for(var i=0,attr;attr=node2.attributes[i];i++){if(attr===attr1)return DocumentPosition.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC+DocumentPosition.DOCUMENT_POSITION_PRECEDING;if(attr===attr2)return DocumentPosition.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC+DocumentPosition.DOCUMENT_POSITION_FOLLOWING}if(!node1||!node2||node2.ownerDocument!==node1.ownerDocument)return DocumentPosition.DOCUMENT_POSITION_DISCONNECTED+DocumentPosition.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC+(docGUID(node2.ownerDocument)>docGUID(node1.ownerDocument)?DocumentPosition.DOCUMENT_POSITION_FOLLOWING:DocumentPosition.DOCUMENT_POSITION_PRECEDING);if(attr2&&node1===node2)return DocumentPosition.DOCUMENT_POSITION_CONTAINS+DocumentPosition.DOCUMENT_POSITION_PRECEDING;if(attr1&&node1===node2)return DocumentPosition.DOCUMENT_POSITION_CONTAINED_BY+DocumentPosition.DOCUMENT_POSITION_FOLLOWING;for(var chain1=[],ancestor1=node1.parentNode;ancestor1;){if(!attr2&&ancestor1===node2)return DocumentPosition.DOCUMENT_POSITION_CONTAINED_BY+DocumentPosition.DOCUMENT_POSITION_FOLLOWING;chain1.push(ancestor1),ancestor1=ancestor1.parentNode}chain1.reverse();for(var chain2=[],ancestor2=node2.parentNode;ancestor2;){if(!attr1&&ancestor2===node1)return DocumentPosition.DOCUMENT_POSITION_CONTAINS+DocumentPosition.DOCUMENT_POSITION_PRECEDING;chain2.push(ancestor2),ancestor2=ancestor2.parentNode}chain2.reverse();var ca=commonAncestor(chain1,chain2);for(var n in ca.childNodes){var child=ca.childNodes[n];if(child===node2)return DocumentPosition.DOCUMENT_POSITION_FOLLOWING;if(child===node1)return DocumentPosition.DOCUMENT_POSITION_PRECEDING;if(chain2.indexOf(child)>=0)return DocumentPosition.DOCUMENT_POSITION_FOLLOWING;if(chain1.indexOf(child)>=0)return DocumentPosition.DOCUMENT_POSITION_PRECEDING}return 0}};function _xmlEncoder(c){return c=="<"&&"&lt;"||c==">"&&"&gt;"||c=="&"&&"&amp;"||c=='"'&&"&quot;"||"&#"+c.charCodeAt()+";"}copy(NodeType,Node);copy(NodeType,Node.prototype);copy(DocumentPosition,Node);copy(DocumentPosition,Node.prototype);function _visitNode(node,callback){walkDOM(node,null,{enter:function(n){return callback(n)?walkDOM.STOP:!0}})}function walkDOM(node,context,callbacks){for(var stack=[{node,context,phase:walkDOM.ENTER}];stack.length>0;){var frame=stack.pop();if(frame.phase===walkDOM.ENTER){var childContext=callbacks.enter(frame.node,frame.context);if(childContext===walkDOM.STOP)return walkDOM.STOP;if(stack.push({node:frame.node,context:childContext,phase:walkDOM.EXIT}),childContext==null)continue;for(var child=frame.node.lastChild;child;)stack.push({node:child,context:childContext,phase:walkDOM.ENTER}),child=child.previousSibling}else callbacks.exit&&callbacks.exit(frame.node,frame.context)}}walkDOM.STOP=Symbol("walkDOM.STOP");walkDOM.ENTER=0;walkDOM.EXIT=1;function Document(symbol,options){checkSymbol(symbol);var opt=options||{};this.ownerDocument=this,this.contentType=opt.contentType||MIME_TYPE.XML_APPLICATION,this.type=isHTMLMimeType(this.contentType)?"html":"xml"}function _onAddAttribute(doc,el,newAttr){doc&&doc._inc++;var ns=newAttr.namespaceURI;ns===NAMESPACE.XMLNS&&(el._nsMap[newAttr.prefix?newAttr.localName:""]=newAttr.value)}function _onRemoveAttribute(doc,el,newAttr,remove){doc&&doc._inc++;var ns=newAttr.namespaceURI;ns===NAMESPACE.XMLNS&&delete el._nsMap[newAttr.prefix?newAttr.localName:""]}function _onUpdateChild(doc,parent,newChild){if(doc&&doc._inc){doc._inc++;var childNodes=parent.childNodes;if(newChild&&!newChild.nextSibling)childNodes[childNodes.length++]=newChild;else{for(var child=parent.firstChild,i=0;child;)childNodes[i++]=child,child=child.nextSibling;childNodes.length=i,delete childNodes[childNodes.length]}}}function _removeChild(parentNode,child){if(parentNode!==child.parentNode)throw new DOMException2(DOMException2.NOT_FOUND_ERR,"child's parent is not parent");var oldPreviousSibling=child.previousSibling,oldNextSibling=child.nextSibling;return oldPreviousSibling?oldPreviousSibling.nextSibling=oldNextSibling:parentNode.firstChild=oldNextSibling,oldNextSibling?oldNextSibling.previousSibling=oldPreviousSibling:parentNode.lastChild=oldPreviousSibling,_onUpdateChild(parentNode.ownerDocument,parentNode),child.parentNode=null,child.previousSibling=null,child.nextSibling=null,child}function hasValidParentNodeType(node){return node&&(node.nodeType===Node.DOCUMENT_NODE||node.nodeType===Node.DOCUMENT_FRAGMENT_NODE||node.nodeType===Node.ELEMENT_NODE)}function hasInsertableNodeType(node){return node&&(node.nodeType===Node.CDATA_SECTION_NODE||node.nodeType===Node.COMMENT_NODE||node.nodeType===Node.DOCUMENT_FRAGMENT_NODE||node.nodeType===Node.DOCUMENT_TYPE_NODE||node.nodeType===Node.ELEMENT_NODE||node.nodeType===Node.PROCESSING_INSTRUCTION_NODE||node.nodeType===Node.TEXT_NODE)}function isDocTypeNode(node){return node&&node.nodeType===Node.DOCUMENT_TYPE_NODE}function isElementNode(node){return node&&node.nodeType===Node.ELEMENT_NODE}function isTextNode(node){return node&&node.nodeType===Node.TEXT_NODE}function isElementInsertionPossible(doc,child){var parentChildNodes=doc.childNodes||[];if(find(parentChildNodes,isElementNode)||isDocTypeNode(child))return!1;var docTypeNode=find(parentChildNodes,isDocTypeNode);return!(child&&docTypeNode&&parentChildNodes.indexOf(docTypeNode)>parentChildNodes.indexOf(child))}function isElementReplacementPossible(doc,child){var parentChildNodes=doc.childNodes||[];function hasElementChildThatIsNotChild(node){return isElementNode(node)&&node!==child}if(find(parentChildNodes,hasElementChildThatIsNotChild))return!1;var docTypeNode=find(parentChildNodes,isDocTypeNode);return!(child&&docTypeNode&&parentChildNodes.indexOf(docTypeNode)>parentChildNodes.indexOf(child))}function assertPreInsertionValidity1to5(parent,node,child){if(!hasValidParentNodeType(parent))throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"Unexpected parent node type "+parent.nodeType);if(child&&child.parentNode!==parent)throw new DOMException2(DOMException2.NOT_FOUND_ERR,"child not in parent");if(!hasInsertableNodeType(node)||isDocTypeNode(node)&&parent.nodeType!==Node.DOCUMENT_NODE)throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"Unexpected node type "+node.nodeType+" for parent node type "+parent.nodeType)}function assertPreInsertionValidityInDocument(parent,node,child){var parentChildNodes=parent.childNodes||[],nodeChildNodes=node.childNodes||[];if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){var nodeChildElements=nodeChildNodes.filter(isElementNode);if(nodeChildElements.length>1||find(nodeChildNodes,isTextNode))throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"More than one element or text in fragment");if(nodeChildElements.length===1&&!isElementInsertionPossible(parent,child))throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"Element in fragment can not be inserted before doctype")}if(isElementNode(node)&&!isElementInsertionPossible(parent,child))throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"Only one element can be added and only after doctype");if(isDocTypeNode(node)){if(find(parentChildNodes,isDocTypeNode))throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"Only one doctype is allowed");var parentElementChild=find(parentChildNodes,isElementNode);if(child&&parentChildNodes.indexOf(parentElementChild)<parentChildNodes.indexOf(child))throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"Doctype can only be inserted before an element");if(!child&&parentElementChild)throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"Doctype can not be appended since element is present")}}function assertPreReplacementValidityInDocument(parent,node,child){var parentChildNodes=parent.childNodes||[],nodeChildNodes=node.childNodes||[];if(node.nodeType===Node.DOCUMENT_FRAGMENT_NODE){var nodeChildElements=nodeChildNodes.filter(isElementNode);if(nodeChildElements.length>1||find(nodeChildNodes,isTextNode))throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"More than one element or text in fragment");if(nodeChildElements.length===1&&!isElementReplacementPossible(parent,child))throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"Element in fragment can not be inserted before doctype")}if(isElementNode(node)&&!isElementReplacementPossible(parent,child))throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"Only one element can be added and only after doctype");if(isDocTypeNode(node)){if(find(parentChildNodes,function(node2){return isDocTypeNode(node2)&&node2!==child}))throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"Only one doctype is allowed");var parentElementChild=find(parentChildNodes,isElementNode);if(child&&parentChildNodes.indexOf(parentElementChild)<parentChildNodes.indexOf(child))throw new DOMException2(DOMException2.HIERARCHY_REQUEST_ERR,"Doctype can only be inserted before an element")}}function _insertBefore(parent,node,child,_inDocumentAssertion){assertPreInsertionValidity1to5(parent,node,child),parent.nodeType===Node.DOCUMENT_NODE&&(_inDocumentAssertion||assertPreInsertionValidityInDocument)(parent,node,child);var cp=node.parentNode;if(cp&&cp.removeChild(node),node.nodeType===DOCUMENT_FRAGMENT_NODE){var newFirst=node.firstChild;if(newFirst==null)return node;var newLast=node.lastChild}else newFirst=newLast=node;var pre=child?child.previousSibling:parent.lastChild;newFirst.previousSibling=pre,newLast.nextSibling=child,pre?pre.nextSibling=newFirst:parent.firstChild=newFirst,child==null?parent.lastChild=newLast:child.previousSibling=newLast;do newFirst.parentNode=parent;while(newFirst!==newLast&&(newFirst=newFirst.nextSibling));return _onUpdateChild(parent.ownerDocument||parent,parent,node),node.nodeType==DOCUMENT_FRAGMENT_NODE&&(node.firstChild=node.lastChild=null),node}Document.prototype={implementation:null,nodeName:"#document",nodeType:DOCUMENT_NODE,doctype:null,documentElement:null,_inc:1,insertBefore:function(newChild,refChild){if(newChild.nodeType===DOCUMENT_FRAGMENT_NODE){for(var child=newChild.firstChild;child;){var next=child.nextSibling;this.insertBefore(child,refChild),child=next}return newChild}return _insertBefore(this,newChild,refChild),newChild.ownerDocument=this,this.documentElement===null&&newChild.nodeType===ELEMENT_NODE&&(this.documentElement=newChild),newChild},removeChild:function(oldChild){var removed=_removeChild(this,oldChild);return removed===this.documentElement&&(this.documentElement=null),removed},replaceChild:function(newChild,oldChild){_insertBefore(this,newChild,oldChild,assertPreReplacementValidityInDocument),newChild.ownerDocument=this,oldChild&&this.removeChild(oldChild),isElementNode(newChild)&&(this.documentElement=newChild)},importNode:function(importedNode,deep){return importNode(this,importedNode,deep)},getElementById:function(id){var rtv=null;return _visitNode(this.documentElement,function(node){if(node.nodeType==ELEMENT_NODE&&node.getAttribute("id")==id)return rtv=node,!0}),rtv},createElement:function(tagName){var node=new Element(PDC);node.ownerDocument=this,this.type==="html"&&(tagName=tagName.toLowerCase()),hasDefaultHTMLNamespace(this.contentType)&&(node.namespaceURI=NAMESPACE.HTML),node.nodeName=tagName,node.tagName=tagName,node.localName=tagName,node.childNodes=new NodeList;var attrs=node.attributes=new NamedNodeMap;return attrs._ownerElement=node,node},createDocumentFragment:function(){var node=new DocumentFragment(PDC);return node.ownerDocument=this,node.childNodes=new NodeList,node},createTextNode:function(data){var node=new Text(PDC);return node.ownerDocument=this,node.childNodes=new NodeList,node.appendData(data),node},createComment:function(data){var node=new Comment(PDC);return node.ownerDocument=this,node.childNodes=new NodeList,node.appendData(data),node},createCDATASection:function(data){if(data.indexOf("]]>")!==-1)throw new DOMException2(DOMException2.INVALID_CHARACTER_ERR,'data contains "]]>"');var node=new CDATASection(PDC);return node.ownerDocument=this,node.childNodes=new NodeList,node.appendData(data),node},createProcessingInstruction:function(target,data){var node=new ProcessingInstruction(PDC);return node.ownerDocument=this,node.childNodes=new NodeList,node.nodeName=node.target=target,node.nodeValue=node.data=data,node},createAttribute:function(name){if(!g.QName_exact.test(name))throw new DOMException2(DOMException2.INVALID_CHARACTER_ERR,'invalid character in name "'+name+'"');return this.type==="html"&&(name=name.toLowerCase()),this._createAttribute(name)},_createAttribute:function(name){var node=new Attr(PDC);return node.ownerDocument=this,node.childNodes=new NodeList,node.name=name,node.nodeName=name,node.localName=name,node.specified=!0,node},createEntityReference:function(name){if(!g.Name_exact.test(name))throw new DOMException2(DOMException2.INVALID_CHARACTER_ERR,'not a valid xml name "'+name+'"');if(this.type==="html")throw new DOMException2("document is an html document",DOMExceptionName.NotSupportedError);var node=new EntityReference(PDC);return node.ownerDocument=this,node.childNodes=new NodeList,node.nodeName=name,node},createElementNS:function(namespaceURI,qualifiedName){var validated=validateAndExtract(namespaceURI,qualifiedName),node=new Element(PDC),attrs=node.attributes=new NamedNodeMap;return node.childNodes=new NodeList,node.ownerDocument=this,node.nodeName=qualifiedName,node.tagName=qualifiedName,node.namespaceURI=validated[0],node.prefix=validated[1],node.localName=validated[2],attrs._ownerElement=node,node},createAttributeNS:function(namespaceURI,qualifiedName){var validated=validateAndExtract(namespaceURI,qualifiedName),node=new Attr(PDC);return node.ownerDocument=this,node.childNodes=new NodeList,node.nodeName=qualifiedName,node.name=qualifiedName,node.specified=!0,node.namespaceURI=validated[0],node.prefix=validated[1],node.localName=validated[2],node}};_extends(Document,Node);function Element(symbol){checkSymbol(symbol),this._nsMap=Object.create(null)}Element.prototype={nodeType:ELEMENT_NODE,attributes:null,getQualifiedName:function(){return this.prefix?this.prefix+":"+this.localName:this.localName},_isInHTMLDocumentAndNamespace:function(){return this.ownerDocument.type==="html"&&this.namespaceURI===NAMESPACE.HTML},hasAttributes:function(){return!!(this.attributes&&this.attributes.length)},hasAttribute:function(name){return!!this.getAttributeNode(name)},getAttribute:function(name){var attr=this.getAttributeNode(name);return attr?attr.value:null},getAttributeNode:function(name){return this._isInHTMLDocumentAndNamespace()&&(name=name.toLowerCase()),this.attributes.getNamedItem(name)},setAttribute:function(name,value){this._isInHTMLDocumentAndNamespace()&&(name=name.toLowerCase());var attr=this.getAttributeNode(name);attr?attr.value=attr.nodeValue=""+value:(attr=this.ownerDocument._createAttribute(name),attr.value=attr.nodeValue=""+value,this.setAttributeNode(attr))},removeAttribute:function(name){var attr=this.getAttributeNode(name);attr&&this.removeAttributeNode(attr)},setAttributeNode:function(newAttr){return this.attributes.setNamedItem(newAttr)},setAttributeNodeNS:function(newAttr){return this.attributes.setNamedItemNS(newAttr)},removeAttributeNode:function(oldAttr){return this.attributes.removeNamedItem(oldAttr.nodeName)},removeAttributeNS:function(namespaceURI,localName){var old=this.getAttributeNodeNS(namespaceURI,localName);old&&this.removeAttributeNode(old)},hasAttributeNS:function(namespaceURI,localName){return this.getAttributeNodeNS(namespaceURI,localName)!=null},getAttributeNS:function(namespaceURI,localName){var attr=this.getAttributeNodeNS(namespaceURI,localName);return attr?attr.value:null},setAttributeNS:function(namespaceURI,qualifiedName,value){var validated=validateAndExtract(namespaceURI,qualifiedName),localName=validated[2],attr=this.getAttributeNodeNS(namespaceURI,localName);attr?attr.value=attr.nodeValue=""+value:(attr=this.ownerDocument.createAttributeNS(namespaceURI,qualifiedName),attr.value=attr.nodeValue=""+value,this.setAttributeNode(attr))},getAttributeNodeNS:function(namespaceURI,localName){return this.attributes.getNamedItemNS(namespaceURI,localName)},getElementsByClassName:function(classNames){var classNamesSet=toOrderedSet(classNames);return new LiveNodeList(this,function(base){var ls=[];return classNamesSet.length>0&&_visitNode(base,function(node){if(node!==base&&node.nodeType===ELEMENT_NODE){var nodeClassNames=node.getAttribute("class");if(nodeClassNames){var matches=classNames===nodeClassNames;if(!matches){var nodeClassNamesSet=toOrderedSet(nodeClassNames);matches=classNamesSet.every(arrayIncludes(nodeClassNamesSet))}matches&&ls.push(node)}}}),ls})},getElementsByTagName:function(qualifiedName){var isHTMLDocument=(this.nodeType===DOCUMENT_NODE?this:this.ownerDocument).type==="html",lowerQualifiedName=qualifiedName.toLowerCase();return new LiveNodeList(this,function(base){var ls=[];return _visitNode(base,function(node){if(!(node===base||node.nodeType!==ELEMENT_NODE))if(qualifiedName==="*")ls.push(node);else{var nodeQualifiedName=node.getQualifiedName(),matchingQName=isHTMLDocument&&node.namespaceURI===NAMESPACE.HTML?lowerQualifiedName:qualifiedName;nodeQualifiedName===matchingQName&&ls.push(node)}}),ls})},getElementsByTagNameNS:function(namespaceURI,localName){return new LiveNodeList(this,function(base){var ls=[];return _visitNode(base,function(node){node!==base&&node.nodeType===ELEMENT_NODE&&(namespaceURI==="*"||node.namespaceURI===namespaceURI)&&(localName==="*"||node.localName==localName)&&ls.push(node)}),ls})}};Document.prototype.getElementsByClassName=Element.prototype.getElementsByClassName;Document.prototype.getElementsByTagName=Element.prototype.getElementsByTagName;Document.prototype.getElementsByTagNameNS=Element.prototype.getElementsByTagNameNS;_extends(Element,Node);function Attr(symbol){checkSymbol(symbol),this.namespaceURI=null,this.prefix=null,this.ownerElement=null}Attr.prototype.nodeType=ATTRIBUTE_NODE;_extends(Attr,Node);function CharacterData(symbol){checkSymbol(symbol)}CharacterData.prototype={data:"",substringData:function(offset,count){return this.data.substring(offset,offset+count)},appendData:function(text){text=this.data+text,this.nodeValue=this.data=text,this.length=text.length},insertData:function(offset,text){this.replaceData(offset,0,text)},deleteData:function(offset,count){this.replaceData(offset,count,"")},replaceData:function(offset,count,text){var start=this.data.substring(0,offset),end=this.data.substring(offset+count);text=start+text+end,this.nodeValue=this.data=text,this.length=text.length}};_extends(CharacterData,Node);function Text(symbol){checkSymbol(symbol)}Text.prototype={nodeName:"#text",nodeType:TEXT_NODE,splitText:function(offset){var text=this.data,newText=text.substring(offset);text=text.substring(0,offset),this.data=this.nodeValue=text,this.length=text.length;var newNode=this.ownerDocument.createTextNode(newText);return this.parentNode&&this.parentNode.insertBefore(newNode,this.nextSibling),newNode}};_extends(Text,CharacterData);function Comment(symbol){checkSymbol(symbol)}Comment.prototype={nodeName:"#comment",nodeType:COMMENT_NODE};_extends(Comment,CharacterData);function CDATASection(symbol){checkSymbol(symbol)}CDATASection.prototype={nodeName:"#cdata-section",nodeType:CDATA_SECTION_NODE};_extends(CDATASection,Text);function DocumentType(symbol){checkSymbol(symbol)}DocumentType.prototype.nodeType=DOCUMENT_TYPE_NODE;_extends(DocumentType,Node);function Notation(symbol){checkSymbol(symbol)}Notation.prototype.nodeType=NOTATION_NODE;_extends(Notation,Node);function Entity(symbol){checkSymbol(symbol)}Entity.prototype.nodeType=ENTITY_NODE;_extends(Entity,Node);function EntityReference(symbol){checkSymbol(symbol)}EntityReference.prototype.nodeType=ENTITY_REFERENCE_NODE;_extends(EntityReference,Node);function DocumentFragment(symbol){checkSymbol(symbol)}DocumentFragment.prototype.nodeName="#document-fragment";DocumentFragment.prototype.nodeType=DOCUMENT_FRAGMENT_NODE;_extends(DocumentFragment,Node);function ProcessingInstruction(symbol){checkSymbol(symbol)}ProcessingInstruction.prototype.nodeType=PROCESSING_INSTRUCTION_NODE;_extends(ProcessingInstruction,CharacterData);function XMLSerializer(){}XMLSerializer.prototype.serializeToString=function(node,options){return nodeSerializeToString.call(node,options)};Node.prototype.toString=nodeSerializeToString;function nodeSerializeToString(options){var opts;typeof options=="function"?opts={requireWellFormed:!1,splitCDATASections:!0,nodeFilter:options}:options!=null?opts={requireWellFormed:!!options.requireWellFormed,splitCDATASections:options.splitCDATASections!==!1,nodeFilter:options.nodeFilter||null}:opts={requireWellFormed:!1,splitCDATASections:!0,nodeFilter:null};var buf=[],refNode=this.nodeType===DOCUMENT_NODE&&this.documentElement||this,prefix=refNode.prefix,uri=refNode.namespaceURI;if(uri&&prefix==null){var prefix=refNode.lookupPrefix(uri);if(prefix==null)var visibleNamespaces=[{namespace:uri,prefix:null}]}return serializeToString(this,buf,visibleNamespaces,opts),buf.join("")}function needNamespaceDefine(node,isHTML,visibleNamespaces){var prefix=node.prefix||"",uri=node.namespaceURI;if(!uri||prefix==="xml"&&uri===NAMESPACE.XML||uri===NAMESPACE.XMLNS)return!1;for(var i=visibleNamespaces.length;i--;){var ns=visibleNamespaces[i];if(ns.prefix===prefix)return ns.namespace!==uri}return!0}function addSerializedAttribute(buf,qualifiedName,value,requireWellFormed){if(requireWellFormed&&!g.QName_exact.test(qualifiedName))throw new DOMException2('The attribute name "'+qualifiedName+'" is not a valid XML QName',DOMExceptionName.InvalidStateError);buf.push(" ",qualifiedName,'="',value.replace(/[<>&"\t\n\r]/g,_xmlEncoder),'"')}function serializeToString(node,buf,visibleNamespaces,opts){visibleNamespaces||(visibleNamespaces=[]);var nodeFilter=opts.nodeFilter,requireWellFormed=opts.requireWellFormed,splitCDATASections=opts.splitCDATASections,doc=node.nodeType===DOCUMENT_NODE?node:node.ownerDocument,isHTML=doc.type==="html";walkDOM(node,{ns:visibleNamespaces},{enter:function(n,ctx){var namespaces=ctx.ns;if(nodeFilter)if(n=nodeFilter(n),n){if(typeof n=="string")return buf.push(n),null}else return null;switch(n.nodeType){case ELEMENT_NODE:var attrs=n.attributes,len=attrs.length,nodeName=n.tagName,prefixedNodeName=nodeName;if(!isHTML&&!n.prefix&&n.namespaceURI){for(var defaultNS,ai=0;ai<attrs.length;ai++)if(attrs.item(ai).name==="xmlns"){defaultNS=attrs.item(ai).value;break}if(!defaultNS)for(var nsi=namespaces.length-1;nsi>=0;nsi--){var nsEntry=namespaces[nsi];if(nsEntry.prefix===""&&nsEntry.namespace===n.namespaceURI){defaultNS=nsEntry.namespace;break}}if(defaultNS!==n.namespaceURI)for(var nsi=namespaces.length-1;nsi>=0;nsi--){var nsEntry=namespaces[nsi];if(nsEntry.namespace===n.namespaceURI){nsEntry.prefix&&(prefixedNodeName=nsEntry.prefix+":"+nodeName);break}}}if(requireWellFormed&&!g.QName_exact.test(prefixedNodeName))throw new DOMException2('The element name "'+prefixedNodeName+'" is not a valid XML QName',DOMExceptionName.InvalidStateError);buf.push("<",prefixedNodeName);for(var childNamespaces=namespaces.slice(),i=0;i<len;i++){var attr=attrs.item(i);attr.prefix=="xmlns"?childNamespaces.push({prefix:attr.localName,namespace:attr.value}):attr.nodeName=="xmlns"&&childNamespaces.push({prefix:"",namespace:attr.value})}for(var i=0;i<len;i++){var attr=attrs.item(i);if(needNamespaceDefine(attr,isHTML,childNamespaces)){var attrPrefix=attr.prefix||"",uri=attr.namespaceURI;addSerializedAttribute(buf,attrPrefix?"xmlns:"+attrPrefix:"xmlns",uri,requireWellFormed),childNamespaces.push({prefix:attrPrefix,namespace:uri})}var filteredAttr=nodeFilter?nodeFilter(attr):attr;filteredAttr&&(typeof filteredAttr=="string"?buf.push(filteredAttr):addSerializedAttribute(buf,filteredAttr.name,filteredAttr.value,requireWellFormed))}if(nodeName===prefixedNodeName&&needNamespaceDefine(n,isHTML,childNamespaces)){var nodePrefix=n.prefix||"",uri=n.namespaceURI;addSerializedAttribute(buf,nodePrefix?"xmlns:"+nodePrefix:"xmlns",uri,requireWellFormed),childNamespaces.push({prefix:nodePrefix,namespace:uri})}var canCloseTag=!n.firstChild;if(canCloseTag&&(isHTML||n.namespaceURI===NAMESPACE.HTML)&&(canCloseTag=isHTMLVoidElement(nodeName)),canCloseTag)return buf.push("/>"),null;if(buf.push(">"),isHTML&&isHTMLRawTextElement(nodeName)){for(var child=n.firstChild;child;)child.data?buf.push(child.data):serializeToString(child,buf,childNamespaces.slice(),opts),child=child.nextSibling;return buf.push("</",prefixedNodeName,">"),null}return{ns:childNamespaces,tag:prefixedNodeName};case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:if(requireWellFormed&&n.nodeType===DOCUMENT_NODE&&n.documentElement==null)throw new DOMException2("The Document has no documentElement",DOMExceptionName.InvalidStateError);return{ns:namespaces};case ATTRIBUTE_NODE:return addSerializedAttribute(buf,n.name,n.value,requireWellFormed),null;case TEXT_NODE:if(requireWellFormed&&g.InvalidChar.test(n.data))throw new DOMException2("The Text node data contains characters outside the XML Char production",DOMExceptionName.InvalidStateError);return buf.push(n.data.replace(/[<&>]/g,_xmlEncoder)),null;case CDATA_SECTION_NODE:if(requireWellFormed&&n.data.indexOf("]]>")!==-1)throw new DOMException2('The CDATASection data contains "]]>"',DOMExceptionName.InvalidStateError);return splitCDATASections?buf.push(g.CDATA_START,n.data.replace(/]]>/g,"]]]]><![CDATA[>"),g.CDATA_END):buf.push(g.CDATA_START,n.data,g.CDATA_END),null;case COMMENT_NODE:if(requireWellFormed){if(g.InvalidChar.test(n.data))throw new DOMException2("The comment node data contains characters outside the XML Char production",DOMExceptionName.InvalidStateError);if(n.data.indexOf("--")!==-1||n.data[n.data.length-1]==="-")throw new DOMException2('The comment node data contains "--" or ends with "-"',DOMExceptionName.InvalidStateError)}return buf.push(g.COMMENT_START,n.data,g.COMMENT_END),null;case DOCUMENT_TYPE_NODE:var pubid=n.publicId,sysid=n.systemId;if(requireWellFormed){if(!g.Name_exact.test(n.name))throw new DOMException2('The doctype name "'+n.name+'" is not a valid XML Name',DOMExceptionName.InvalidStateError);if(pubid&&!g.PubidLiteral_match.test(pubid))throw new DOMException2("DocumentType publicId is not a valid PubidLiteral",DOMExceptionName.InvalidStateError);if(sysid&&sysid!=="."&&!g.SystemLiteral_match.test(sysid))throw new DOMException2("DocumentType systemId is not a valid SystemLiteral",DOMExceptionName.InvalidStateError);if(n.internalSubset&&n.internalSubset.indexOf("]>")!==-1)throw new DOMException2('DocumentType internalSubset contains "]>"',DOMExceptionName.InvalidStateError)}return buf.push(g.DOCTYPE_DECL_START," ",n.name),pubid?(buf.push(" ",g.PUBLIC," ",pubid),sysid&&sysid!=="."&&buf.push(" ",sysid)):sysid&&sysid!=="."&&buf.push(" ",g.SYSTEM," ",sysid),n.internalSubset&&buf.push(" [",n.internalSubset,"]"),buf.push(">"),null;case PROCESSING_INSTRUCTION_NODE:if(requireWellFormed){if(!g.NCName_exact.test(n.target)||n.target.toLowerCase()==="xml")throw new DOMException2('The processing instruction target "'+n.target+'" is not a valid XML NCName or is reserved',DOMExceptionName.InvalidStateError);if(g.InvalidChar.test(n.data))throw new DOMException2("The ProcessingInstruction data contains characters outside the XML Char production",DOMExceptionName.InvalidStateError);if(n.data.indexOf("?>")!==-1)throw new DOMException2('The ProcessingInstruction data contains "?>"',DOMExceptionName.InvalidStateError)}return buf.push("<?",n.target," ",n.data,"?>"),null;case ENTITY_REFERENCE_NODE:if(requireWellFormed&&!g.Name_exact.test(n.nodeName))throw new DOMException2('The entity reference name "'+n.nodeName+'" is not a valid XML Name',DOMExceptionName.InvalidStateError);return buf.push("&",n.nodeName,";"),null;default:return buf.push("??",n.nodeName),null}},exit:function(n,childCtx){childCtx&&childCtx.tag&&buf.push("</",childCtx.tag,">")}})}function importNode(doc,node,deep){var destRoot;return walkDOM(node,null,{enter:function(srcNode,destParent){var destNode=srcNode.cloneNode(!1);destNode.ownerDocument=doc,destNode.parentNode=null,destParent===null?destRoot=destNode:destParent.appendChild(destNode);var shouldDeep=srcNode.nodeType===ATTRIBUTE_NODE||deep;return shouldDeep?destNode:null}}),destRoot}function cloneNode(doc,node,deep){var destRoot;return walkDOM(node,null,{enter:function(srcNode,destParent){var destNode=new srcNode.constructor(PDC);for(var n in srcNode)if(hasOwn(srcNode,n)){var v=srcNode[n];typeof v!="object"&&v!=destNode[n]&&(destNode[n]=v)}srcNode.childNodes&&(destNode.childNodes=new NodeList),destNode.ownerDocument=doc;var shouldDeep=deep;switch(destNode.nodeType){case ELEMENT_NODE:var attrs=srcNode.attributes,attrs2=destNode.attributes=new NamedNodeMap,len=attrs.length;attrs2._ownerElement=destNode;for(var i=0;i<len;i++)destNode.setAttributeNode(cloneNode(doc,attrs.item(i),!0));break;case ATTRIBUTE_NODE:shouldDeep=!0}return destParent!==null?destParent.appendChild(destNode):destRoot=destNode,shouldDeep?destNode:null}}),destRoot}function __set__(object,key,value){object[key]=value}function childrenRefresh(node){for(var ls=[],child=node.firstChild;child;)child.nodeType===ELEMENT_NODE&&ls.push(child),child=child.nextSibling;return ls}try{Object.defineProperty&&(Object.defineProperty(LiveNodeList.prototype,"length",{get:function(){return _updateLiveList(this),this.$$length}}),Object.defineProperty(Node.prototype,"textContent",{get:function(){if(this.nodeType===ELEMENT_NODE||this.nodeType===DOCUMENT_FRAGMENT_NODE){var buf=[];return walkDOM(this,null,{enter:function(n){if(n.nodeType===ELEMENT_NODE||n.nodeType===DOCUMENT_FRAGMENT_NODE)return!0;if(n.nodeType===PROCESSING_INSTRUCTION_NODE||n.nodeType===COMMENT_NODE)return null;buf.push(n.nodeValue)}}),buf.join("")}return this.nodeValue},set:function(data){switch(this.nodeType){case ELEMENT_NODE:case DOCUMENT_FRAGMENT_NODE:for(;this.firstChild;)this.removeChild(this.firstChild);(data||String(data))&&this.appendChild(this.ownerDocument.createTextNode(data));break;default:this.data=data,this.value=data,this.nodeValue=data}}}),Object.defineProperty(CharacterData.prototype,"data",{get:function(){return this._data!=null?this._data:""},set:function(v){this._data=v,this.length=typeof v=="string"?v.length:0}}),Object.defineProperty(CharacterData.prototype,"nodeValue",{get:function(){return this.data},set:function(v){this.data=v},enumerable:!0,configurable:!0}),Object.defineProperty(Element.prototype,"children",{get:function(){return new LiveNodeList(this,childrenRefresh)}}),Object.defineProperty(Document.prototype,"children",{get:function(){return new LiveNodeList(this,childrenRefresh)}}),Object.defineProperty(DocumentFragment.prototype,"children",{get:function(){return new LiveNodeList(this,childrenRefresh)}}),__set__=function(object,key,value){object["$$"+key]=value})}catch{}exports._updateLiveList=_updateLiveList;exports.Attr=Attr;exports.CDATASection=CDATASection;exports.CharacterData=CharacterData;exports.Comment=Comment;exports.Document=Document;exports.DocumentFragment=DocumentFragment;exports.DocumentType=DocumentType;exports.DOMImplementation=DOMImplementation;exports.Element=Element;exports.Entity=Entity;exports.EntityReference=EntityReference;exports.LiveNodeList=LiveNodeList;exports.NamedNodeMap=NamedNodeMap;exports.Node=Node;exports.NodeList=NodeList;exports.Notation=Notation;exports.Text=Text;exports.ProcessingInstruction=ProcessingInstruction;exports.walkDOM=walkDOM;exports.XMLSerializer=XMLSerializer}});var require_entities=__commonJS({"node_modules/@xmldom/xmldom/lib/entities.js"(exports){"use strict";var freeze=require_conventions().freeze;exports.XML_ENTITIES=freeze({amp:"&",apos:"'",gt:">",lt:"<",quot:'"'});exports.HTML_ENTITIES=freeze({Aacute:"\xC1",aacute:"\xE1",Abreve:"\u0102",abreve:"\u0103",ac:"\u223E",acd:"\u223F",acE:"\u223E\u0333",Acirc:"\xC2",acirc:"\xE2",acute:"\xB4",Acy:"\u0410",acy:"\u0430",AElig:"\xC6",aelig:"\xE6",af:"\u2061",Afr:"\u{1D504}",afr:"\u{1D51E}",Agrave:"\xC0",agrave:"\xE0",alefsym:"\u2135",aleph:"\u2135",Alpha:"\u0391",alpha:"\u03B1",Amacr:"\u0100",amacr:"\u0101",amalg:"\u2A3F",AMP:"&",amp:"&",And:"\u2A53",and:"\u2227",andand:"\u2A55",andd:"\u2A5C",andslope:"\u2A58",andv:"\u2A5A",ang:"\u2220",ange:"\u29A4",angle:"\u2220",angmsd:"\u2221",angmsdaa:"\u29A8",angmsdab:"\u29A9",angmsdac:"\u29AA",angmsdad:"\u29AB",angmsdae:"\u29AC",angmsdaf:"\u29AD",angmsdag:"\u29AE",angmsdah:"\u29AF",angrt:"\u221F",angrtvb:"\u22BE",angrtvbd:"\u299D",angsph:"\u2222",angst:"\xC5",angzarr:"\u237C",Aogon:"\u0104",aogon:"\u0105",Aopf:"\u{1D538}",aopf:"\u{1D552}",ap:"\u2248",apacir:"\u2A6F",apE:"\u2A70",ape:"\u224A",apid:"\u224B",apos:"'",ApplyFunction:"\u2061",approx:"\u2248",approxeq:"\u224A",Aring:"\xC5",aring:"\xE5",Ascr:"\u{1D49C}",ascr:"\u{1D4B6}",Assign:"\u2254",ast:"*",asymp:"\u2248",asympeq:"\u224D",Atilde:"\xC3",atilde:"\xE3",Auml:"\xC4",auml:"\xE4",awconint:"\u2233",awint:"\u2A11",backcong:"\u224C",backepsilon:"\u03F6",backprime:"\u2035",backsim:"\u223D",backsimeq:"\u22CD",Backslash:"\u2216",Barv:"\u2AE7",barvee:"\u22BD",Barwed:"\u2306",barwed:"\u2305",barwedge:"\u2305",bbrk:"\u23B5",bbrktbrk:"\u23B6",bcong:"\u224C",Bcy:"\u0411",bcy:"\u0431",bdquo:"\u201E",becaus:"\u2235",Because:"\u2235",because:"\u2235",bemptyv:"\u29B0",bepsi:"\u03F6",bernou:"\u212C",Bernoullis:"\u212C",Beta:"\u0392",beta:"\u03B2",beth:"\u2136",between:"\u226C",Bfr:"\u{1D505}",bfr:"\u{1D51F}",bigcap:"\u22C2",bigcirc:"\u25EF",bigcup:"\u22C3",bigodot:"\u2A00",bigoplus:"\u2A01",bigotimes:"\u2A02",bigsqcup:"\u2A06",bigstar:"\u2605",bigtriangledown:"\u25BD",bigtriangleup:"\u25B3",biguplus:"\u2A04",bigvee:"\u22C1",bigwedge:"\u22C0",bkarow:"\u290D",blacklozenge:"\u29EB",blacksquare:"\u25AA",blacktriangle:"\u25B4",blacktriangledown:"\u25BE",blacktriangleleft:"\u25C2",blacktriangleright:"\u25B8",blank:"\u2423",blk12:"\u2592",blk14:"\u2591",blk34:"\u2593",block:"\u2588",bne:"=\u20E5",bnequiv:"\u2261\u20E5",bNot:"\u2AED",bnot:"\u2310",Bopf:"\u{1D539}",bopf:"\u{1D553}",bot:"\u22A5",bottom:"\u22A5",bowtie:"\u22C8",boxbox:"\u29C9",boxDL:"\u2557",boxDl:"\u2556",boxdL:"\u2555",boxdl:"\u2510",boxDR:"\u2554",boxDr:"\u2553",boxdR:"\u2552",boxdr:"\u250C",boxH:"\u2550",boxh:"\u2500",boxHD:"\u2566",boxHd:"\u2564",boxhD:"\u2565",boxhd:"\u252C",boxHU:"\u2569",boxHu:"\u2567",boxhU:"\u2568",boxhu:"\u2534",boxminus:"\u229F",boxplus:"\u229E",boxtimes:"\u22A0",boxUL:"\u255D",boxUl:"\u255C",boxuL:"\u255B",boxul:"\u2518",boxUR:"\u255A",boxUr:"\u2559",boxuR:"\u2558",boxur:"\u2514",boxV:"\u2551",boxv:"\u2502",boxVH:"\u256C",boxVh:"\u256B",boxvH:"\u256A",boxvh:"\u253C",boxVL:"\u2563",boxVl:"\u2562",boxvL:"\u2561",boxvl:"\u2524",boxVR:"\u2560",boxVr:"\u255F",boxvR:"\u255E",boxvr:"\u251C",bprime:"\u2035",Breve:"\u02D8",breve:"\u02D8",brvbar:"\xA6",Bscr:"\u212C",bscr:"\u{1D4B7}",bsemi:"\u204F",bsim:"\u223D",bsime:"\u22CD",bsol:"\\",bsolb:"\u29C5",bsolhsub:"\u27C8",bull:"\u2022",bullet:"\u2022",bump:"\u224E",bumpE:"\u2AAE",bumpe:"\u224F",Bumpeq:"\u224E",bumpeq:"\u224F",Cacute:"\u0106",cacute:"\u0107",Cap:"\u22D2",cap:"\u2229",capand:"\u2A44",capbrcup:"\u2A49",capcap:"\u2A4B",capcup:"\u2A47",capdot:"\u2A40",CapitalDifferentialD:"\u2145",caps:"\u2229\uFE00",caret:"\u2041",caron:"\u02C7",Cayleys:"\u212D",ccaps:"\u2A4D",Ccaron:"\u010C",ccaron:"\u010D",Ccedil:"\xC7",ccedil:"\xE7",Ccirc:"\u0108",ccirc:"\u0109",Cconint:"\u2230",ccups:"\u2A4C",ccupssm:"\u2A50",Cdot:"\u010A",cdot:"\u010B",cedil:"\xB8",Cedilla:"\xB8",cemptyv:"\u29B2",cent:"\xA2",CenterDot:"\xB7",centerdot:"\xB7",Cfr:"\u212D",cfr:"\u{1D520}",CHcy:"\u0427",chcy:"\u0447",check:"\u2713",checkmark:"\u2713",Chi:"\u03A7",chi:"\u03C7",cir:"\u25CB",circ:"\u02C6",circeq:"\u2257",circlearrowleft:"\u21BA",circlearrowright:"\u21BB",circledast:"\u229B",circledcirc:"\u229A",circleddash:"\u229D",CircleDot:"\u2299",circledR:"\xAE",circledS:"\u24C8",CircleMinus:"\u2296",CirclePlus:"\u2295",CircleTimes:"\u2297",cirE:"\u29C3",cire:"\u2257",cirfnint:"\u2A10",cirmid:"\u2AEF",cirscir:"\u29C2",ClockwiseContourIntegral:"\u2232",CloseCurlyDoubleQuote:"\u201D",CloseCurlyQuote:"\u2019",clubs:"\u2663",clubsuit:"\u2663",Colon:"\u2237",colon:":",Colone:"\u2A74",colone:"\u2254",coloneq:"\u2254",comma:",",commat:"@",comp:"\u2201",compfn:"\u2218",complement:"\u2201",complexes:"\u2102",cong:"\u2245",congdot:"\u2A6D",Congruent:"\u2261",Conint:"\u222F",conint:"\u222E",ContourIntegral:"\u222E",Copf:"\u2102",copf:"\u{1D554}",coprod:"\u2210",Coproduct:"\u2210",COPY:"\xA9",copy:"\xA9",copysr:"\u2117",CounterClockwiseContourIntegral:"\u2233",crarr:"\u21B5",Cross:"\u2A2F",cross:"\u2717",Cscr:"\u{1D49E}",cscr:"\u{1D4B8}",csub:"\u2ACF",csube:"\u2AD1",csup:"\u2AD0",csupe:"\u2AD2",ctdot:"\u22EF",cudarrl:"\u2938",cudarrr:"\u2935",cuepr:"\u22DE",cuesc:"\u22DF",cularr:"\u21B6",cularrp:"\u293D",Cup:"\u22D3",cup:"\u222A",cupbrcap:"\u2A48",CupCap:"\u224D",cupcap:"\u2A46",cupcup:"\u2A4A",cupdot:"\u228D",cupor:"\u2A45",cups:"\u222A\uFE00",curarr:"\u21B7",curarrm:"\u293C",curlyeqprec:"\u22DE",curlyeqsucc:"\u22DF",curlyvee:"\u22CE",curlywedge:"\u22CF",curren:"\xA4",curvearrowleft:"\u21B6",curvearrowright:"\u21B7",cuvee:"\u22CE",cuwed:"\u22CF",cwconint:"\u2232",cwint:"\u2231",cylcty:"\u232D",Dagger:"\u2021",dagger:"\u2020",daleth:"\u2138",Darr:"\u21A1",dArr:"\u21D3",darr:"\u2193",dash:"\u2010",Dashv:"\u2AE4",dashv:"\u22A3",dbkarow:"\u290F",dblac:"\u02DD",Dcaron:"\u010E",dcaron:"\u010F",Dcy:"\u0414",dcy:"\u0434",DD:"\u2145",dd:"\u2146",ddagger:"\u2021",ddarr:"\u21CA",DDotrahd:"\u2911",ddotseq:"\u2A77",deg:"\xB0",Del:"\u2207",Delta:"\u0394",delta:"\u03B4",demptyv:"\u29B1",dfisht:"\u297F",Dfr:"\u{1D507}",dfr:"\u{1D521}",dHar:"\u2965",dharl:"\u21C3",dharr:"\u21C2",DiacriticalAcute:"\xB4",DiacriticalDot:"\u02D9",DiacriticalDoubleAcute:"\u02DD",DiacriticalGrave:"`",DiacriticalTilde:"\u02DC",diam:"\u22C4",Diamond:"\u22C4",diamond:"\u22C4",diamondsuit:"\u2666",diams:"\u2666",die:"\xA8",DifferentialD:"\u2146",digamma:"\u03DD",disin:"\u22F2",div:"\xF7",divide:"\xF7",divideontimes:"\u22C7",divonx:"\u22C7",DJcy:"\u0402",djcy:"\u0452",dlcorn:"\u231E",dlcrop:"\u230D",dollar:"$",Dopf:"\u{1D53B}",dopf:"\u{1D555}",Dot:"\xA8",dot:"\u02D9",DotDot:"\u20DC",doteq:"\u2250",doteqdot:"\u2251",DotEqual:"\u2250",dotminus:"\u2238",dotplus:"\u2214",dotsquare:"\u22A1",doublebarwedge:"\u2306",DoubleContourIntegral:"\u222F",DoubleDot:"\xA8",DoubleDownArrow:"\u21D3",DoubleLeftArrow:"\u21D0",DoubleLeftRightArrow:"\u21D4",DoubleLeftTee:"\u2AE4",DoubleLongLeftArrow:"\u27F8",DoubleLongLeftRightArrow:"\u27FA",DoubleLongRightArrow:"\u27F9",DoubleRightArrow:"\u21D2",DoubleRightTee:"\u22A8",DoubleUpArrow:"\u21D1",DoubleUpDownArrow:"\u21D5",DoubleVerticalBar:"\u2225",DownArrow:"\u2193",Downarrow:"\u21D3",downarrow:"\u2193",DownArrowBar:"\u2913",DownArrowUpArrow:"\u21F5",DownBreve:"\u0311",downdownarrows:"\u21CA",downharpoonleft:"\u21C3",downharpoonright:"\u21C2",DownLeftRightVector:"\u2950",DownLeftTeeVector:"\u295E",DownLeftVector:"\u21BD",DownLeftVectorBar:"\u2956",DownRightTeeVector:"\u295F",DownRightVector:"\u21C1",DownRightVectorBar:"\u2957",DownTee:"\u22A4",DownTeeArrow:"\u21A7",drbkarow:"\u2910",drcorn:"\u231F",drcrop:"\u230C",Dscr:"\u{1D49F}",dscr:"\u{1D4B9}",DScy:"\u0405",dscy:"\u0455",dsol:"\u29F6",Dstrok:"\u0110",dstrok:"\u0111",dtdot:"\u22F1",dtri:"\u25BF",dtrif:"\u25BE",duarr:"\u21F5",duhar:"\u296F",dwangle:"\u29A6",DZcy:"\u040F",dzcy:"\u045F",dzigrarr:"\u27FF",Eacute:"\xC9",eacute:"\xE9",easter:"\u2A6E",Ecaron:"\u011A",ecaron:"\u011B",ecir:"\u2256",Ecirc:"\xCA",ecirc:"\xEA",ecolon:"\u2255",Ecy:"\u042D",ecy:"\u044D",eDDot:"\u2A77",Edot:"\u0116",eDot:"\u2251",edot:"\u0117",ee:"\u2147",efDot:"\u2252",Efr:"\u{1D508}",efr:"\u{1D522}",eg:"\u2A9A",Egrave:"\xC8",egrave:"\xE8",egs:"\u2A96",egsdot:"\u2A98",el:"\u2A99",Element:"\u2208",elinters:"\u23E7",ell:"\u2113",els:"\u2A95",elsdot:"\u2A97",Emacr:"\u0112",emacr:"\u0113",empty:"\u2205",emptyset:"\u2205",EmptySmallSquare:"\u25FB",emptyv:"\u2205",EmptyVerySmallSquare:"\u25AB",emsp:"\u2003",emsp13:"\u2004",emsp14:"\u2005",ENG:"\u014A",eng:"\u014B",ensp:"\u2002",Eogon:"\u0118",eogon:"\u0119",Eopf:"\u{1D53C}",eopf:"\u{1D556}",epar:"\u22D5",eparsl:"\u29E3",eplus:"\u2A71",epsi:"\u03B5",Epsilon:"\u0395",epsilon:"\u03B5",epsiv:"\u03F5",eqcirc:"\u2256",eqcolon:"\u2255",eqsim:"\u2242",eqslantgtr:"\u2A96",eqslantless:"\u2A95",Equal:"\u2A75",equals:"=",EqualTilde:"\u2242",equest:"\u225F",Equilibrium:"\u21CC",equiv:"\u2261",equivDD:"\u2A78",eqvparsl:"\u29E5",erarr:"\u2971",erDot:"\u2253",Escr:"\u2130",escr:"\u212F",esdot:"\u2250",Esim:"\u2A73",esim:"\u2242",Eta:"\u0397",eta:"\u03B7",ETH:"\xD0",eth:"\xF0",Euml:"\xCB",euml:"\xEB",euro:"\u20AC",excl:"!",exist:"\u2203",Exists:"\u2203",expectation:"\u2130",ExponentialE:"\u2147",exponentiale:"\u2147",fallingdotseq:"\u2252",Fcy:"\u0424",fcy:"\u0444",female:"\u2640",ffilig:"\uFB03",fflig:"\uFB00",ffllig:"\uFB04",Ffr:"\u{1D509}",ffr:"\u{1D523}",filig:"\uFB01",FilledSmallSquare:"\u25FC",FilledVerySmallSquare:"\u25AA",fjlig:"fj",flat:"\u266D",fllig:"\uFB02",fltns:"\u25B1",fnof:"\u0192",Fopf:"\u{1D53D}",fopf:"\u{1D557}",ForAll:"\u2200",forall:"\u2200",fork:"\u22D4",forkv:"\u2AD9",Fouriertrf:"\u2131",fpartint:"\u2A0D",frac12:"\xBD",frac13:"\u2153",frac14:"\xBC",frac15:"\u2155",frac16:"\u2159",frac18:"\u215B",frac23:"\u2154",frac25:"\u2156",frac34:"\xBE",frac35:"\u2157",frac38:"\u215C",frac45:"\u2158",frac56:"\u215A",frac58:"\u215D",frac78:"\u215E",frasl:"\u2044",frown:"\u2322",Fscr:"\u2131",fscr:"\u{1D4BB}",gacute:"\u01F5",Gamma:"\u0393",gamma:"\u03B3",Gammad:"\u03DC",gammad:"\u03DD",gap:"\u2A86",Gbreve:"\u011E",gbreve:"\u011F",Gcedil:"\u0122",Gcirc:"\u011C",gcirc:"\u011D",Gcy:"\u0413",gcy:"\u0433",Gdot:"\u0120",gdot:"\u0121",gE:"\u2267",ge:"\u2265",gEl:"\u2A8C",gel:"\u22DB",geq:"\u2265",geqq:"\u2267",geqslant:"\u2A7E",ges:"\u2A7E",gescc:"\u2AA9",gesdot:"\u2A80",gesdoto:"\u2A82",gesdotol:"\u2A84",gesl:"\u22DB\uFE00",gesles:"\u2A94",Gfr:"\u{1D50A}",gfr:"\u{1D524}",Gg:"\u22D9",gg:"\u226B",ggg:"\u22D9",gimel:"\u2137",GJcy:"\u0403",gjcy:"\u0453",gl:"\u2277",gla:"\u2AA5",glE:"\u2A92",glj:"\u2AA4",gnap:"\u2A8A",gnapprox:"\u2A8A",gnE:"\u2269",gne:"\u2A88",gneq:"\u2A88",gneqq:"\u2269",gnsim:"\u22E7",Gopf:"\u{1D53E}",gopf:"\u{1D558}",grave:"`",GreaterEqual:"\u2265",GreaterEqualLess:"\u22DB",GreaterFullEqual:"\u2267",GreaterGreater:"\u2AA2",GreaterLess:"\u2277",GreaterSlantEqual:"\u2A7E",GreaterTilde:"\u2273",Gscr:"\u{1D4A2}",gscr:"\u210A",gsim:"\u2273",gsime:"\u2A8E",gsiml:"\u2A90",Gt:"\u226B",GT:">",gt:">",gtcc:"\u2AA7",gtcir:"\u2A7A",gtdot:"\u22D7",gtlPar:"\u2995",gtquest:"\u2A7C",gtrapprox:"\u2A86",gtrarr:"\u2978",gtrdot:"\u22D7",gtreqless:"\u22DB",gtreqqless:"\u2A8C",gtrless:"\u2277",gtrsim:"\u2273",gvertneqq:"\u2269\uFE00",gvnE:"\u2269\uFE00",Hacek:"\u02C7",hairsp:"\u200A",half:"\xBD",hamilt:"\u210B",HARDcy:"\u042A",hardcy:"\u044A",hArr:"\u21D4",harr:"\u2194",harrcir:"\u2948",harrw:"\u21AD",Hat:"^",hbar:"\u210F",Hcirc:"\u0124",hcirc:"\u0125",hearts:"\u2665",heartsuit:"\u2665",hellip:"\u2026",hercon:"\u22B9",Hfr:"\u210C",hfr:"\u{1D525}",HilbertSpace:"\u210B",hksearow:"\u2925",hkswarow:"\u2926",hoarr:"\u21FF",homtht:"\u223B",hookleftarrow:"\u21A9",hookrightarrow:"\u21AA",Hopf:"\u210D",hopf:"\u{1D559}",horbar:"\u2015",HorizontalLine:"\u2500",Hscr:"\u210B",hscr:"\u{1D4BD}",hslash:"\u210F",Hstrok:"\u0126",hstrok:"\u0127",HumpDownHump:"\u224E",HumpEqual:"\u224F",hybull:"\u2043",hyphen:"\u2010",Iacute:"\xCD",iacute:"\xED",ic:"\u2063",Icirc:"\xCE",icirc:"\xEE",Icy:"\u0418",icy:"\u0438",Idot:"\u0130",IEcy:"\u0415",iecy:"\u0435",iexcl:"\xA1",iff:"\u21D4",Ifr:"\u2111",ifr:"\u{1D526}",Igrave:"\xCC",igrave:"\xEC",ii:"\u2148",iiiint:"\u2A0C",iiint:"\u222D",iinfin:"\u29DC",iiota:"\u2129",IJlig:"\u0132",ijlig:"\u0133",Im:"\u2111",Imacr:"\u012A",imacr:"\u012B",image:"\u2111",ImaginaryI:"\u2148",imagline:"\u2110",imagpart:"\u2111",imath:"\u0131",imof:"\u22B7",imped:"\u01B5",Implies:"\u21D2",in:"\u2208",incare:"\u2105",infin:"\u221E",infintie:"\u29DD",inodot:"\u0131",Int:"\u222C",int:"\u222B",intcal:"\u22BA",integers:"\u2124",Integral:"\u222B",intercal:"\u22BA",Intersection:"\u22C2",intlarhk:"\u2A17",intprod:"\u2A3C",InvisibleComma:"\u2063",InvisibleTimes:"\u2062",IOcy:"\u0401",iocy:"\u0451",Iogon:"\u012E",iogon:"\u012F",Iopf:"\u{1D540}",iopf:"\u{1D55A}",Iota:"\u0399",iota:"\u03B9",iprod:"\u2A3C",iquest:"\xBF",Iscr:"\u2110",iscr:"\u{1D4BE}",isin:"\u2208",isindot:"\u22F5",isinE:"\u22F9",isins:"\u22F4",isinsv:"\u22F3",isinv:"\u2208",it:"\u2062",Itilde:"\u0128",itilde:"\u0129",Iukcy:"\u0406",iukcy:"\u0456",Iuml:"\xCF",iuml:"\xEF",Jcirc:"\u0134",jcirc:"\u0135",Jcy:"\u0419",jcy:"\u0439",Jfr:"\u{1D50D}",jfr:"\u{1D527}",jmath:"\u0237",Jopf:"\u{1D541}",jopf:"\u{1D55B}",Jscr:"\u{1D4A5}",jscr:"\u{1D4BF}",Jsercy:"\u0408",jsercy:"\u0458",Jukcy:"\u0404",jukcy:"\u0454",Kappa:"\u039A",kappa:"\u03BA",kappav:"\u03F0",Kcedil:"\u0136",kcedil:"\u0137",Kcy:"\u041A",kcy:"\u043A",Kfr:"\u{1D50E}",kfr:"\u{1D528}",kgreen:"\u0138",KHcy:"\u0425",khcy:"\u0445",KJcy:"\u040C",kjcy:"\u045C",Kopf:"\u{1D542}",kopf:"\u{1D55C}",Kscr:"\u{1D4A6}",kscr:"\u{1D4C0}",lAarr:"\u21DA",Lacute:"\u0139",lacute:"\u013A",laemptyv:"\u29B4",lagran:"\u2112",Lambda:"\u039B",lambda:"\u03BB",Lang:"\u27EA",lang:"\u27E8",langd:"\u2991",langle:"\u27E8",lap:"\u2A85",Laplacetrf:"\u2112",laquo:"\xAB",Larr:"\u219E",lArr:"\u21D0",larr:"\u2190",larrb:"\u21E4",larrbfs:"\u291F",larrfs:"\u291D",larrhk:"\u21A9",larrlp:"\u21AB",larrpl:"\u2939",larrsim:"\u2973",larrtl:"\u21A2",lat:"\u2AAB",lAtail:"\u291B",latail:"\u2919",late:"\u2AAD",lates:"\u2AAD\uFE00",lBarr:"\u290E",lbarr:"\u290C",lbbrk:"\u2772",lbrace:"{",lbrack:"[",lbrke:"\u298B",lbrksld:"\u298F",lbrkslu:"\u298D",Lcaron:"\u013D",lcaron:"\u013E",Lcedil:"\u013B",lcedil:"\u013C",lceil:"\u2308",lcub:"{",Lcy:"\u041B",lcy:"\u043B",ldca:"\u2936",ldquo:"\u201C",ldquor:"\u201E",ldrdhar:"\u2967",ldrushar:"\u294B",ldsh:"\u21B2",lE:"\u2266",le:"\u2264",LeftAngleBracket:"\u27E8",LeftArrow:"\u2190",Leftarrow:"\u21D0",leftarrow:"\u2190",LeftArrowBar:"\u21E4",LeftArrowRightArrow:"\u21C6",leftarrowtail:"\u21A2",LeftCeiling:"\u2308",LeftDoubleBracket:"\u27E6",LeftDownTeeVector:"\u2961",LeftDownVector:"\u21C3",LeftDownVectorBar:"\u2959",LeftFloor:"\u230A",leftharpoondown:"\u21BD",leftharpoonup:"\u21BC",leftleftarrows:"\u21C7",LeftRightArrow:"\u2194",Leftrightarrow:"\u21D4",leftrightarrow:"\u2194",leftrightarrows:"\u21C6",leftrightharpoons:"\u21CB",leftrightsquigarrow:"\u21AD",LeftRightVector:"\u294E",LeftTee:"\u22A3",LeftTeeArrow:"\u21A4",LeftTeeVector:"\u295A",leftthreetimes:"\u22CB",LeftTriangle:"\u22B2",LeftTriangleBar:"\u29CF",LeftTriangleEqual:"\u22B4",LeftUpDownVector:"\u2951",LeftUpTeeVector:"\u2960",LeftUpVector:"\u21BF",LeftUpVectorBar:"\u2958",LeftVector:"\u21BC",LeftVectorBar:"\u2952",lEg:"\u2A8B",leg:"\u22DA",leq:"\u2264",leqq:"\u2266",leqslant:"\u2A7D",les:"\u2A7D",lescc:"\u2AA8",lesdot:"\u2A7F",lesdoto:"\u2A81",lesdotor:"\u2A83",lesg:"\u22DA\uFE00",lesges:"\u2A93",lessapprox:"\u2A85",lessdot:"\u22D6",lesseqgtr:"\u22DA",lesseqqgtr:"\u2A8B",LessEqualGreater:"\u22DA",LessFullEqual:"\u2266",LessGreater:"\u2276",lessgtr:"\u2276",LessLess:"\u2AA1",lesssim:"\u2272",LessSlantEqual:"\u2A7D",LessTilde:"\u2272",lfisht:"\u297C",lfloor:"\u230A",Lfr:"\u{1D50F}",lfr:"\u{1D529}",lg:"\u2276",lgE:"\u2A91",lHar:"\u2962",lhard:"\u21BD",lharu:"\u21BC",lharul:"\u296A",lhblk:"\u2584",LJcy:"\u0409",ljcy:"\u0459",Ll:"\u22D8",ll:"\u226A",llarr:"\u21C7",llcorner:"\u231E",Lleftarrow:"\u21DA",llhard:"\u296B",lltri:"\u25FA",Lmidot:"\u013F",lmidot:"\u0140",lmoust:"\u23B0",lmoustache:"\u23B0",lnap:"\u2A89",lnapprox:"\u2A89",lnE:"\u2268",lne:"\u2A87",lneq:"\u2A87",lneqq:"\u2268",lnsim:"\u22E6",loang:"\u27EC",loarr:"\u21FD",lobrk:"\u27E6",LongLeftArrow:"\u27F5",Longleftarrow:"\u27F8",longleftarrow:"\u27F5",LongLeftRightArrow:"\u27F7",Longleftrightarrow:"\u27FA",longleftrightarrow:"\u27F7",longmapsto:"\u27FC",LongRightArrow:"\u27F6",Longrightarrow:"\u27F9",longrightarrow:"\u27F6",looparrowleft:"\u21AB",looparrowright:"\u21AC",lopar:"\u2985",Lopf:"\u{1D543}",lopf:"\u{1D55D}",loplus:"\u2A2D",lotimes:"\u2A34",lowast:"\u2217",lowbar:"_",LowerLeftArrow:"\u2199",LowerRightArrow:"\u2198",loz:"\u25CA",lozenge:"\u25CA",lozf:"\u29EB",lpar:"(",lparlt:"\u2993",lrarr:"\u21C6",lrcorner:"\u231F",lrhar:"\u21CB",lrhard:"\u296D",lrm:"\u200E",lrtri:"\u22BF",lsaquo:"\u2039",Lscr:"\u2112",lscr:"\u{1D4C1}",Lsh:"\u21B0",lsh:"\u21B0",lsim:"\u2272",lsime:"\u2A8D",lsimg:"\u2A8F",lsqb:"[",lsquo:"\u2018",lsquor:"\u201A",Lstrok:"\u0141",lstrok:"\u0142",Lt:"\u226A",LT:"<",lt:"<",ltcc:"\u2AA6",ltcir:"\u2A79",ltdot:"\u22D6",lthree:"\u22CB",ltimes:"\u22C9",ltlarr:"\u2976",ltquest:"\u2A7B",ltri:"\u25C3",ltrie:"\u22B4",ltrif:"\u25C2",ltrPar:"\u2996",lurdshar:"\u294A",luruhar:"\u2966",lvertneqq:"\u2268\uFE00",lvnE:"\u2268\uFE00",macr:"\xAF",male:"\u2642",malt:"\u2720",maltese:"\u2720",Map:"\u2905",map:"\u21A6",mapsto:"\u21A6",mapstodown:"\u21A7",mapstoleft:"\u21A4",mapstoup:"\u21A5",marker:"\u25AE",mcomma:"\u2A29",Mcy:"\u041C",mcy:"\u043C",mdash:"\u2014",mDDot:"\u223A",measuredangle:"\u2221",MediumSpace:"\u205F",Mellintrf:"\u2133",Mfr:"\u{1D510}",mfr:"\u{1D52A}",mho:"\u2127",micro:"\xB5",mid:"\u2223",midast:"*",midcir:"\u2AF0",middot:"\xB7",minus:"\u2212",minusb:"\u229F",minusd:"\u2238",minusdu:"\u2A2A",MinusPlus:"\u2213",mlcp:"\u2ADB",mldr:"\u2026",mnplus:"\u2213",models:"\u22A7",Mopf:"\u{1D544}",mopf:"\u{1D55E}",mp:"\u2213",Mscr:"\u2133",mscr:"\u{1D4C2}",mstpos:"\u223E",Mu:"\u039C",mu:"\u03BC",multimap:"\u22B8",mumap:"\u22B8",nabla:"\u2207",Nacute:"\u0143",nacute:"\u0144",nang:"\u2220\u20D2",nap:"\u2249",napE:"\u2A70\u0338",napid:"\u224B\u0338",napos:"\u0149",napprox:"\u2249",natur:"\u266E",natural:"\u266E",naturals:"\u2115",nbsp:"\xA0",nbump:"\u224E\u0338",nbumpe:"\u224F\u0338",ncap:"\u2A43",Ncaron:"\u0147",ncaron:"\u0148",Ncedil:"\u0145",ncedil:"\u0146",ncong:"\u2247",ncongdot:"\u2A6D\u0338",ncup:"\u2A42",Ncy:"\u041D",ncy:"\u043D",ndash:"\u2013",ne:"\u2260",nearhk:"\u2924",neArr:"\u21D7",nearr:"\u2197",nearrow:"\u2197",nedot:"\u2250\u0338",NegativeMediumSpace:"\u200B",NegativeThickSpace:"\u200B",NegativeThinSpace:"\u200B",NegativeVeryThinSpace:"\u200B",nequiv:"\u2262",nesear:"\u2928",nesim:"\u2242\u0338",NestedGreaterGreater:"\u226B",NestedLessLess:"\u226A",NewLine:`
93
+ `,nexist:"\u2204",nexists:"\u2204",Nfr:"\u{1D511}",nfr:"\u{1D52B}",ngE:"\u2267\u0338",nge:"\u2271",ngeq:"\u2271",ngeqq:"\u2267\u0338",ngeqslant:"\u2A7E\u0338",nges:"\u2A7E\u0338",nGg:"\u22D9\u0338",ngsim:"\u2275",nGt:"\u226B\u20D2",ngt:"\u226F",ngtr:"\u226F",nGtv:"\u226B\u0338",nhArr:"\u21CE",nharr:"\u21AE",nhpar:"\u2AF2",ni:"\u220B",nis:"\u22FC",nisd:"\u22FA",niv:"\u220B",NJcy:"\u040A",njcy:"\u045A",nlArr:"\u21CD",nlarr:"\u219A",nldr:"\u2025",nlE:"\u2266\u0338",nle:"\u2270",nLeftarrow:"\u21CD",nleftarrow:"\u219A",nLeftrightarrow:"\u21CE",nleftrightarrow:"\u21AE",nleq:"\u2270",nleqq:"\u2266\u0338",nleqslant:"\u2A7D\u0338",nles:"\u2A7D\u0338",nless:"\u226E",nLl:"\u22D8\u0338",nlsim:"\u2274",nLt:"\u226A\u20D2",nlt:"\u226E",nltri:"\u22EA",nltrie:"\u22EC",nLtv:"\u226A\u0338",nmid:"\u2224",NoBreak:"\u2060",NonBreakingSpace:"\xA0",Nopf:"\u2115",nopf:"\u{1D55F}",Not:"\u2AEC",not:"\xAC",NotCongruent:"\u2262",NotCupCap:"\u226D",NotDoubleVerticalBar:"\u2226",NotElement:"\u2209",NotEqual:"\u2260",NotEqualTilde:"\u2242\u0338",NotExists:"\u2204",NotGreater:"\u226F",NotGreaterEqual:"\u2271",NotGreaterFullEqual:"\u2267\u0338",NotGreaterGreater:"\u226B\u0338",NotGreaterLess:"\u2279",NotGreaterSlantEqual:"\u2A7E\u0338",NotGreaterTilde:"\u2275",NotHumpDownHump:"\u224E\u0338",NotHumpEqual:"\u224F\u0338",notin:"\u2209",notindot:"\u22F5\u0338",notinE:"\u22F9\u0338",notinva:"\u2209",notinvb:"\u22F7",notinvc:"\u22F6",NotLeftTriangle:"\u22EA",NotLeftTriangleBar:"\u29CF\u0338",NotLeftTriangleEqual:"\u22EC",NotLess:"\u226E",NotLessEqual:"\u2270",NotLessGreater:"\u2278",NotLessLess:"\u226A\u0338",NotLessSlantEqual:"\u2A7D\u0338",NotLessTilde:"\u2274",NotNestedGreaterGreater:"\u2AA2\u0338",NotNestedLessLess:"\u2AA1\u0338",notni:"\u220C",notniva:"\u220C",notnivb:"\u22FE",notnivc:"\u22FD",NotPrecedes:"\u2280",NotPrecedesEqual:"\u2AAF\u0338",NotPrecedesSlantEqual:"\u22E0",NotReverseElement:"\u220C",NotRightTriangle:"\u22EB",NotRightTriangleBar:"\u29D0\u0338",NotRightTriangleEqual:"\u22ED",NotSquareSubset:"\u228F\u0338",NotSquareSubsetEqual:"\u22E2",NotSquareSuperset:"\u2290\u0338",NotSquareSupersetEqual:"\u22E3",NotSubset:"\u2282\u20D2",NotSubsetEqual:"\u2288",NotSucceeds:"\u2281",NotSucceedsEqual:"\u2AB0\u0338",NotSucceedsSlantEqual:"\u22E1",NotSucceedsTilde:"\u227F\u0338",NotSuperset:"\u2283\u20D2",NotSupersetEqual:"\u2289",NotTilde:"\u2241",NotTildeEqual:"\u2244",NotTildeFullEqual:"\u2247",NotTildeTilde:"\u2249",NotVerticalBar:"\u2224",npar:"\u2226",nparallel:"\u2226",nparsl:"\u2AFD\u20E5",npart:"\u2202\u0338",npolint:"\u2A14",npr:"\u2280",nprcue:"\u22E0",npre:"\u2AAF\u0338",nprec:"\u2280",npreceq:"\u2AAF\u0338",nrArr:"\u21CF",nrarr:"\u219B",nrarrc:"\u2933\u0338",nrarrw:"\u219D\u0338",nRightarrow:"\u21CF",nrightarrow:"\u219B",nrtri:"\u22EB",nrtrie:"\u22ED",nsc:"\u2281",nsccue:"\u22E1",nsce:"\u2AB0\u0338",Nscr:"\u{1D4A9}",nscr:"\u{1D4C3}",nshortmid:"\u2224",nshortparallel:"\u2226",nsim:"\u2241",nsime:"\u2244",nsimeq:"\u2244",nsmid:"\u2224",nspar:"\u2226",nsqsube:"\u22E2",nsqsupe:"\u22E3",nsub:"\u2284",nsubE:"\u2AC5\u0338",nsube:"\u2288",nsubset:"\u2282\u20D2",nsubseteq:"\u2288",nsubseteqq:"\u2AC5\u0338",nsucc:"\u2281",nsucceq:"\u2AB0\u0338",nsup:"\u2285",nsupE:"\u2AC6\u0338",nsupe:"\u2289",nsupset:"\u2283\u20D2",nsupseteq:"\u2289",nsupseteqq:"\u2AC6\u0338",ntgl:"\u2279",Ntilde:"\xD1",ntilde:"\xF1",ntlg:"\u2278",ntriangleleft:"\u22EA",ntrianglelefteq:"\u22EC",ntriangleright:"\u22EB",ntrianglerighteq:"\u22ED",Nu:"\u039D",nu:"\u03BD",num:"#",numero:"\u2116",numsp:"\u2007",nvap:"\u224D\u20D2",nVDash:"\u22AF",nVdash:"\u22AE",nvDash:"\u22AD",nvdash:"\u22AC",nvge:"\u2265\u20D2",nvgt:">\u20D2",nvHarr:"\u2904",nvinfin:"\u29DE",nvlArr:"\u2902",nvle:"\u2264\u20D2",nvlt:"<\u20D2",nvltrie:"\u22B4\u20D2",nvrArr:"\u2903",nvrtrie:"\u22B5\u20D2",nvsim:"\u223C\u20D2",nwarhk:"\u2923",nwArr:"\u21D6",nwarr:"\u2196",nwarrow:"\u2196",nwnear:"\u2927",Oacute:"\xD3",oacute:"\xF3",oast:"\u229B",ocir:"\u229A",Ocirc:"\xD4",ocirc:"\xF4",Ocy:"\u041E",ocy:"\u043E",odash:"\u229D",Odblac:"\u0150",odblac:"\u0151",odiv:"\u2A38",odot:"\u2299",odsold:"\u29BC",OElig:"\u0152",oelig:"\u0153",ofcir:"\u29BF",Ofr:"\u{1D512}",ofr:"\u{1D52C}",ogon:"\u02DB",Ograve:"\xD2",ograve:"\xF2",ogt:"\u29C1",ohbar:"\u29B5",ohm:"\u03A9",oint:"\u222E",olarr:"\u21BA",olcir:"\u29BE",olcross:"\u29BB",oline:"\u203E",olt:"\u29C0",Omacr:"\u014C",omacr:"\u014D",Omega:"\u03A9",omega:"\u03C9",Omicron:"\u039F",omicron:"\u03BF",omid:"\u29B6",ominus:"\u2296",Oopf:"\u{1D546}",oopf:"\u{1D560}",opar:"\u29B7",OpenCurlyDoubleQuote:"\u201C",OpenCurlyQuote:"\u2018",operp:"\u29B9",oplus:"\u2295",Or:"\u2A54",or:"\u2228",orarr:"\u21BB",ord:"\u2A5D",order:"\u2134",orderof:"\u2134",ordf:"\xAA",ordm:"\xBA",origof:"\u22B6",oror:"\u2A56",orslope:"\u2A57",orv:"\u2A5B",oS:"\u24C8",Oscr:"\u{1D4AA}",oscr:"\u2134",Oslash:"\xD8",oslash:"\xF8",osol:"\u2298",Otilde:"\xD5",otilde:"\xF5",Otimes:"\u2A37",otimes:"\u2297",otimesas:"\u2A36",Ouml:"\xD6",ouml:"\xF6",ovbar:"\u233D",OverBar:"\u203E",OverBrace:"\u23DE",OverBracket:"\u23B4",OverParenthesis:"\u23DC",par:"\u2225",para:"\xB6",parallel:"\u2225",parsim:"\u2AF3",parsl:"\u2AFD",part:"\u2202",PartialD:"\u2202",Pcy:"\u041F",pcy:"\u043F",percnt:"%",period:".",permil:"\u2030",perp:"\u22A5",pertenk:"\u2031",Pfr:"\u{1D513}",pfr:"\u{1D52D}",Phi:"\u03A6",phi:"\u03C6",phiv:"\u03D5",phmmat:"\u2133",phone:"\u260E",Pi:"\u03A0",pi:"\u03C0",pitchfork:"\u22D4",piv:"\u03D6",planck:"\u210F",planckh:"\u210E",plankv:"\u210F",plus:"+",plusacir:"\u2A23",plusb:"\u229E",pluscir:"\u2A22",plusdo:"\u2214",plusdu:"\u2A25",pluse:"\u2A72",PlusMinus:"\xB1",plusmn:"\xB1",plussim:"\u2A26",plustwo:"\u2A27",pm:"\xB1",Poincareplane:"\u210C",pointint:"\u2A15",Popf:"\u2119",popf:"\u{1D561}",pound:"\xA3",Pr:"\u2ABB",pr:"\u227A",prap:"\u2AB7",prcue:"\u227C",prE:"\u2AB3",pre:"\u2AAF",prec:"\u227A",precapprox:"\u2AB7",preccurlyeq:"\u227C",Precedes:"\u227A",PrecedesEqual:"\u2AAF",PrecedesSlantEqual:"\u227C",PrecedesTilde:"\u227E",preceq:"\u2AAF",precnapprox:"\u2AB9",precneqq:"\u2AB5",precnsim:"\u22E8",precsim:"\u227E",Prime:"\u2033",prime:"\u2032",primes:"\u2119",prnap:"\u2AB9",prnE:"\u2AB5",prnsim:"\u22E8",prod:"\u220F",Product:"\u220F",profalar:"\u232E",profline:"\u2312",profsurf:"\u2313",prop:"\u221D",Proportion:"\u2237",Proportional:"\u221D",propto:"\u221D",prsim:"\u227E",prurel:"\u22B0",Pscr:"\u{1D4AB}",pscr:"\u{1D4C5}",Psi:"\u03A8",psi:"\u03C8",puncsp:"\u2008",Qfr:"\u{1D514}",qfr:"\u{1D52E}",qint:"\u2A0C",Qopf:"\u211A",qopf:"\u{1D562}",qprime:"\u2057",Qscr:"\u{1D4AC}",qscr:"\u{1D4C6}",quaternions:"\u210D",quatint:"\u2A16",quest:"?",questeq:"\u225F",QUOT:'"',quot:'"',rAarr:"\u21DB",race:"\u223D\u0331",Racute:"\u0154",racute:"\u0155",radic:"\u221A",raemptyv:"\u29B3",Rang:"\u27EB",rang:"\u27E9",rangd:"\u2992",range:"\u29A5",rangle:"\u27E9",raquo:"\xBB",Rarr:"\u21A0",rArr:"\u21D2",rarr:"\u2192",rarrap:"\u2975",rarrb:"\u21E5",rarrbfs:"\u2920",rarrc:"\u2933",rarrfs:"\u291E",rarrhk:"\u21AA",rarrlp:"\u21AC",rarrpl:"\u2945",rarrsim:"\u2974",Rarrtl:"\u2916",rarrtl:"\u21A3",rarrw:"\u219D",rAtail:"\u291C",ratail:"\u291A",ratio:"\u2236",rationals:"\u211A",RBarr:"\u2910",rBarr:"\u290F",rbarr:"\u290D",rbbrk:"\u2773",rbrace:"}",rbrack:"]",rbrke:"\u298C",rbrksld:"\u298E",rbrkslu:"\u2990",Rcaron:"\u0158",rcaron:"\u0159",Rcedil:"\u0156",rcedil:"\u0157",rceil:"\u2309",rcub:"}",Rcy:"\u0420",rcy:"\u0440",rdca:"\u2937",rdldhar:"\u2969",rdquo:"\u201D",rdquor:"\u201D",rdsh:"\u21B3",Re:"\u211C",real:"\u211C",realine:"\u211B",realpart:"\u211C",reals:"\u211D",rect:"\u25AD",REG:"\xAE",reg:"\xAE",ReverseElement:"\u220B",ReverseEquilibrium:"\u21CB",ReverseUpEquilibrium:"\u296F",rfisht:"\u297D",rfloor:"\u230B",Rfr:"\u211C",rfr:"\u{1D52F}",rHar:"\u2964",rhard:"\u21C1",rharu:"\u21C0",rharul:"\u296C",Rho:"\u03A1",rho:"\u03C1",rhov:"\u03F1",RightAngleBracket:"\u27E9",RightArrow:"\u2192",Rightarrow:"\u21D2",rightarrow:"\u2192",RightArrowBar:"\u21E5",RightArrowLeftArrow:"\u21C4",rightarrowtail:"\u21A3",RightCeiling:"\u2309",RightDoubleBracket:"\u27E7",RightDownTeeVector:"\u295D",RightDownVector:"\u21C2",RightDownVectorBar:"\u2955",RightFloor:"\u230B",rightharpoondown:"\u21C1",rightharpoonup:"\u21C0",rightleftarrows:"\u21C4",rightleftharpoons:"\u21CC",rightrightarrows:"\u21C9",rightsquigarrow:"\u219D",RightTee:"\u22A2",RightTeeArrow:"\u21A6",RightTeeVector:"\u295B",rightthreetimes:"\u22CC",RightTriangle:"\u22B3",RightTriangleBar:"\u29D0",RightTriangleEqual:"\u22B5",RightUpDownVector:"\u294F",RightUpTeeVector:"\u295C",RightUpVector:"\u21BE",RightUpVectorBar:"\u2954",RightVector:"\u21C0",RightVectorBar:"\u2953",ring:"\u02DA",risingdotseq:"\u2253",rlarr:"\u21C4",rlhar:"\u21CC",rlm:"\u200F",rmoust:"\u23B1",rmoustache:"\u23B1",rnmid:"\u2AEE",roang:"\u27ED",roarr:"\u21FE",robrk:"\u27E7",ropar:"\u2986",Ropf:"\u211D",ropf:"\u{1D563}",roplus:"\u2A2E",rotimes:"\u2A35",RoundImplies:"\u2970",rpar:")",rpargt:"\u2994",rppolint:"\u2A12",rrarr:"\u21C9",Rrightarrow:"\u21DB",rsaquo:"\u203A",Rscr:"\u211B",rscr:"\u{1D4C7}",Rsh:"\u21B1",rsh:"\u21B1",rsqb:"]",rsquo:"\u2019",rsquor:"\u2019",rthree:"\u22CC",rtimes:"\u22CA",rtri:"\u25B9",rtrie:"\u22B5",rtrif:"\u25B8",rtriltri:"\u29CE",RuleDelayed:"\u29F4",ruluhar:"\u2968",rx:"\u211E",Sacute:"\u015A",sacute:"\u015B",sbquo:"\u201A",Sc:"\u2ABC",sc:"\u227B",scap:"\u2AB8",Scaron:"\u0160",scaron:"\u0161",sccue:"\u227D",scE:"\u2AB4",sce:"\u2AB0",Scedil:"\u015E",scedil:"\u015F",Scirc:"\u015C",scirc:"\u015D",scnap:"\u2ABA",scnE:"\u2AB6",scnsim:"\u22E9",scpolint:"\u2A13",scsim:"\u227F",Scy:"\u0421",scy:"\u0441",sdot:"\u22C5",sdotb:"\u22A1",sdote:"\u2A66",searhk:"\u2925",seArr:"\u21D8",searr:"\u2198",searrow:"\u2198",sect:"\xA7",semi:";",seswar:"\u2929",setminus:"\u2216",setmn:"\u2216",sext:"\u2736",Sfr:"\u{1D516}",sfr:"\u{1D530}",sfrown:"\u2322",sharp:"\u266F",SHCHcy:"\u0429",shchcy:"\u0449",SHcy:"\u0428",shcy:"\u0448",ShortDownArrow:"\u2193",ShortLeftArrow:"\u2190",shortmid:"\u2223",shortparallel:"\u2225",ShortRightArrow:"\u2192",ShortUpArrow:"\u2191",shy:"\xAD",Sigma:"\u03A3",sigma:"\u03C3",sigmaf:"\u03C2",sigmav:"\u03C2",sim:"\u223C",simdot:"\u2A6A",sime:"\u2243",simeq:"\u2243",simg:"\u2A9E",simgE:"\u2AA0",siml:"\u2A9D",simlE:"\u2A9F",simne:"\u2246",simplus:"\u2A24",simrarr:"\u2972",slarr:"\u2190",SmallCircle:"\u2218",smallsetminus:"\u2216",smashp:"\u2A33",smeparsl:"\u29E4",smid:"\u2223",smile:"\u2323",smt:"\u2AAA",smte:"\u2AAC",smtes:"\u2AAC\uFE00",SOFTcy:"\u042C",softcy:"\u044C",sol:"/",solb:"\u29C4",solbar:"\u233F",Sopf:"\u{1D54A}",sopf:"\u{1D564}",spades:"\u2660",spadesuit:"\u2660",spar:"\u2225",sqcap:"\u2293",sqcaps:"\u2293\uFE00",sqcup:"\u2294",sqcups:"\u2294\uFE00",Sqrt:"\u221A",sqsub:"\u228F",sqsube:"\u2291",sqsubset:"\u228F",sqsubseteq:"\u2291",sqsup:"\u2290",sqsupe:"\u2292",sqsupset:"\u2290",sqsupseteq:"\u2292",squ:"\u25A1",Square:"\u25A1",square:"\u25A1",SquareIntersection:"\u2293",SquareSubset:"\u228F",SquareSubsetEqual:"\u2291",SquareSuperset:"\u2290",SquareSupersetEqual:"\u2292",SquareUnion:"\u2294",squarf:"\u25AA",squf:"\u25AA",srarr:"\u2192",Sscr:"\u{1D4AE}",sscr:"\u{1D4C8}",ssetmn:"\u2216",ssmile:"\u2323",sstarf:"\u22C6",Star:"\u22C6",star:"\u2606",starf:"\u2605",straightepsilon:"\u03F5",straightphi:"\u03D5",strns:"\xAF",Sub:"\u22D0",sub:"\u2282",subdot:"\u2ABD",subE:"\u2AC5",sube:"\u2286",subedot:"\u2AC3",submult:"\u2AC1",subnE:"\u2ACB",subne:"\u228A",subplus:"\u2ABF",subrarr:"\u2979",Subset:"\u22D0",subset:"\u2282",subseteq:"\u2286",subseteqq:"\u2AC5",SubsetEqual:"\u2286",subsetneq:"\u228A",subsetneqq:"\u2ACB",subsim:"\u2AC7",subsub:"\u2AD5",subsup:"\u2AD3",succ:"\u227B",succapprox:"\u2AB8",succcurlyeq:"\u227D",Succeeds:"\u227B",SucceedsEqual:"\u2AB0",SucceedsSlantEqual:"\u227D",SucceedsTilde:"\u227F",succeq:"\u2AB0",succnapprox:"\u2ABA",succneqq:"\u2AB6",succnsim:"\u22E9",succsim:"\u227F",SuchThat:"\u220B",Sum:"\u2211",sum:"\u2211",sung:"\u266A",Sup:"\u22D1",sup:"\u2283",sup1:"\xB9",sup2:"\xB2",sup3:"\xB3",supdot:"\u2ABE",supdsub:"\u2AD8",supE:"\u2AC6",supe:"\u2287",supedot:"\u2AC4",Superset:"\u2283",SupersetEqual:"\u2287",suphsol:"\u27C9",suphsub:"\u2AD7",suplarr:"\u297B",supmult:"\u2AC2",supnE:"\u2ACC",supne:"\u228B",supplus:"\u2AC0",Supset:"\u22D1",supset:"\u2283",supseteq:"\u2287",supseteqq:"\u2AC6",supsetneq:"\u228B",supsetneqq:"\u2ACC",supsim:"\u2AC8",supsub:"\u2AD4",supsup:"\u2AD6",swarhk:"\u2926",swArr:"\u21D9",swarr:"\u2199",swarrow:"\u2199",swnwar:"\u292A",szlig:"\xDF",Tab:" ",target:"\u2316",Tau:"\u03A4",tau:"\u03C4",tbrk:"\u23B4",Tcaron:"\u0164",tcaron:"\u0165",Tcedil:"\u0162",tcedil:"\u0163",Tcy:"\u0422",tcy:"\u0442",tdot:"\u20DB",telrec:"\u2315",Tfr:"\u{1D517}",tfr:"\u{1D531}",there4:"\u2234",Therefore:"\u2234",therefore:"\u2234",Theta:"\u0398",theta:"\u03B8",thetasym:"\u03D1",thetav:"\u03D1",thickapprox:"\u2248",thicksim:"\u223C",ThickSpace:"\u205F\u200A",thinsp:"\u2009",ThinSpace:"\u2009",thkap:"\u2248",thksim:"\u223C",THORN:"\xDE",thorn:"\xFE",Tilde:"\u223C",tilde:"\u02DC",TildeEqual:"\u2243",TildeFullEqual:"\u2245",TildeTilde:"\u2248",times:"\xD7",timesb:"\u22A0",timesbar:"\u2A31",timesd:"\u2A30",tint:"\u222D",toea:"\u2928",top:"\u22A4",topbot:"\u2336",topcir:"\u2AF1",Topf:"\u{1D54B}",topf:"\u{1D565}",topfork:"\u2ADA",tosa:"\u2929",tprime:"\u2034",TRADE:"\u2122",trade:"\u2122",triangle:"\u25B5",triangledown:"\u25BF",triangleleft:"\u25C3",trianglelefteq:"\u22B4",triangleq:"\u225C",triangleright:"\u25B9",trianglerighteq:"\u22B5",tridot:"\u25EC",trie:"\u225C",triminus:"\u2A3A",TripleDot:"\u20DB",triplus:"\u2A39",trisb:"\u29CD",tritime:"\u2A3B",trpezium:"\u23E2",Tscr:"\u{1D4AF}",tscr:"\u{1D4C9}",TScy:"\u0426",tscy:"\u0446",TSHcy:"\u040B",tshcy:"\u045B",Tstrok:"\u0166",tstrok:"\u0167",twixt:"\u226C",twoheadleftarrow:"\u219E",twoheadrightarrow:"\u21A0",Uacute:"\xDA",uacute:"\xFA",Uarr:"\u219F",uArr:"\u21D1",uarr:"\u2191",Uarrocir:"\u2949",Ubrcy:"\u040E",ubrcy:"\u045E",Ubreve:"\u016C",ubreve:"\u016D",Ucirc:"\xDB",ucirc:"\xFB",Ucy:"\u0423",ucy:"\u0443",udarr:"\u21C5",Udblac:"\u0170",udblac:"\u0171",udhar:"\u296E",ufisht:"\u297E",Ufr:"\u{1D518}",ufr:"\u{1D532}",Ugrave:"\xD9",ugrave:"\xF9",uHar:"\u2963",uharl:"\u21BF",uharr:"\u21BE",uhblk:"\u2580",ulcorn:"\u231C",ulcorner:"\u231C",ulcrop:"\u230F",ultri:"\u25F8",Umacr:"\u016A",umacr:"\u016B",uml:"\xA8",UnderBar:"_",UnderBrace:"\u23DF",UnderBracket:"\u23B5",UnderParenthesis:"\u23DD",Union:"\u22C3",UnionPlus:"\u228E",Uogon:"\u0172",uogon:"\u0173",Uopf:"\u{1D54C}",uopf:"\u{1D566}",UpArrow:"\u2191",Uparrow:"\u21D1",uparrow:"\u2191",UpArrowBar:"\u2912",UpArrowDownArrow:"\u21C5",UpDownArrow:"\u2195",Updownarrow:"\u21D5",updownarrow:"\u2195",UpEquilibrium:"\u296E",upharpoonleft:"\u21BF",upharpoonright:"\u21BE",uplus:"\u228E",UpperLeftArrow:"\u2196",UpperRightArrow:"\u2197",Upsi:"\u03D2",upsi:"\u03C5",upsih:"\u03D2",Upsilon:"\u03A5",upsilon:"\u03C5",UpTee:"\u22A5",UpTeeArrow:"\u21A5",upuparrows:"\u21C8",urcorn:"\u231D",urcorner:"\u231D",urcrop:"\u230E",Uring:"\u016E",uring:"\u016F",urtri:"\u25F9",Uscr:"\u{1D4B0}",uscr:"\u{1D4CA}",utdot:"\u22F0",Utilde:"\u0168",utilde:"\u0169",utri:"\u25B5",utrif:"\u25B4",uuarr:"\u21C8",Uuml:"\xDC",uuml:"\xFC",uwangle:"\u29A7",vangrt:"\u299C",varepsilon:"\u03F5",varkappa:"\u03F0",varnothing:"\u2205",varphi:"\u03D5",varpi:"\u03D6",varpropto:"\u221D",vArr:"\u21D5",varr:"\u2195",varrho:"\u03F1",varsigma:"\u03C2",varsubsetneq:"\u228A\uFE00",varsubsetneqq:"\u2ACB\uFE00",varsupsetneq:"\u228B\uFE00",varsupsetneqq:"\u2ACC\uFE00",vartheta:"\u03D1",vartriangleleft:"\u22B2",vartriangleright:"\u22B3",Vbar:"\u2AEB",vBar:"\u2AE8",vBarv:"\u2AE9",Vcy:"\u0412",vcy:"\u0432",VDash:"\u22AB",Vdash:"\u22A9",vDash:"\u22A8",vdash:"\u22A2",Vdashl:"\u2AE6",Vee:"\u22C1",vee:"\u2228",veebar:"\u22BB",veeeq:"\u225A",vellip:"\u22EE",Verbar:"\u2016",verbar:"|",Vert:"\u2016",vert:"|",VerticalBar:"\u2223",VerticalLine:"|",VerticalSeparator:"\u2758",VerticalTilde:"\u2240",VeryThinSpace:"\u200A",Vfr:"\u{1D519}",vfr:"\u{1D533}",vltri:"\u22B2",vnsub:"\u2282\u20D2",vnsup:"\u2283\u20D2",Vopf:"\u{1D54D}",vopf:"\u{1D567}",vprop:"\u221D",vrtri:"\u22B3",Vscr:"\u{1D4B1}",vscr:"\u{1D4CB}",vsubnE:"\u2ACB\uFE00",vsubne:"\u228A\uFE00",vsupnE:"\u2ACC\uFE00",vsupne:"\u228B\uFE00",Vvdash:"\u22AA",vzigzag:"\u299A",Wcirc:"\u0174",wcirc:"\u0175",wedbar:"\u2A5F",Wedge:"\u22C0",wedge:"\u2227",wedgeq:"\u2259",weierp:"\u2118",Wfr:"\u{1D51A}",wfr:"\u{1D534}",Wopf:"\u{1D54E}",wopf:"\u{1D568}",wp:"\u2118",wr:"\u2240",wreath:"\u2240",Wscr:"\u{1D4B2}",wscr:"\u{1D4CC}",xcap:"\u22C2",xcirc:"\u25EF",xcup:"\u22C3",xdtri:"\u25BD",Xfr:"\u{1D51B}",xfr:"\u{1D535}",xhArr:"\u27FA",xharr:"\u27F7",Xi:"\u039E",xi:"\u03BE",xlArr:"\u27F8",xlarr:"\u27F5",xmap:"\u27FC",xnis:"\u22FB",xodot:"\u2A00",Xopf:"\u{1D54F}",xopf:"\u{1D569}",xoplus:"\u2A01",xotime:"\u2A02",xrArr:"\u27F9",xrarr:"\u27F6",Xscr:"\u{1D4B3}",xscr:"\u{1D4CD}",xsqcup:"\u2A06",xuplus:"\u2A04",xutri:"\u25B3",xvee:"\u22C1",xwedge:"\u22C0",Yacute:"\xDD",yacute:"\xFD",YAcy:"\u042F",yacy:"\u044F",Ycirc:"\u0176",ycirc:"\u0177",Ycy:"\u042B",ycy:"\u044B",yen:"\xA5",Yfr:"\u{1D51C}",yfr:"\u{1D536}",YIcy:"\u0407",yicy:"\u0457",Yopf:"\u{1D550}",yopf:"\u{1D56A}",Yscr:"\u{1D4B4}",yscr:"\u{1D4CE}",YUcy:"\u042E",yucy:"\u044E",Yuml:"\u0178",yuml:"\xFF",Zacute:"\u0179",zacute:"\u017A",Zcaron:"\u017D",zcaron:"\u017E",Zcy:"\u0417",zcy:"\u0437",Zdot:"\u017B",zdot:"\u017C",zeetrf:"\u2128",ZeroWidthSpace:"\u200B",Zeta:"\u0396",zeta:"\u03B6",Zfr:"\u2128",zfr:"\u{1D537}",ZHcy:"\u0416",zhcy:"\u0436",zigrarr:"\u21DD",Zopf:"\u2124",zopf:"\u{1D56B}",Zscr:"\u{1D4B5}",zscr:"\u{1D4CF}",zwj:"\u200D",zwnj:"\u200C"});exports.entityMap=exports.HTML_ENTITIES}});var require_sax=__commonJS({"node_modules/@xmldom/xmldom/lib/sax.js"(exports){"use strict";var conventions=require_conventions(),g=require_grammar(),errors=require_errors(),isHTMLEscapableRawTextElement=conventions.isHTMLEscapableRawTextElement,isHTMLMimeType=conventions.isHTMLMimeType,isHTMLRawTextElement=conventions.isHTMLRawTextElement,hasOwn=conventions.hasOwn,NAMESPACE=conventions.NAMESPACE,ParseError=errors.ParseError,DOMException2=errors.DOMException,S_TAG=0,S_ATTR=1,S_ATTR_SPACE=2,S_EQ=3,S_ATTR_NOQUOT_VALUE=4,S_ATTR_END=5,S_TAG_SPACE=6,S_TAG_CLOSE=7;function XMLReader(){}XMLReader.prototype={parse:function(source,defaultNSMap,entityMap){var domBuilder=this.domBuilder;domBuilder.startDocument(),_copy(defaultNSMap,defaultNSMap=Object.create(null)),parse(source,defaultNSMap,entityMap,domBuilder,this.errorHandler),domBuilder.endDocument()}};var ENTITY_REG=/&#?\w+;?/g;function parse(source,defaultNSMapCopy,entityMap,domBuilder,errorHandler){var isHTML=isHTMLMimeType(domBuilder.mimeType);source.indexOf(g.UNICODE_REPLACEMENT_CHARACTER)>=0&&errorHandler.warning("Unicode replacement character detected, source encoding issues?");function fixedFromCharCode(code){if(code>65535){code-=65536;var surrogate1=55296+(code>>10),surrogate2=56320+(code&1023);return String.fromCharCode(surrogate1,surrogate2)}else return String.fromCharCode(code)}function entityReplacer(a2){var complete=a2[a2.length-1]===";"?a2:a2+";";if(!isHTML&&complete!==a2)return errorHandler.error("EntityRef: expecting ;"),a2;var match=g.Reference.exec(complete);if(!match||match[0].length!==complete.length)return errorHandler.error("entity not matching Reference production: "+a2),a2;var k=complete.slice(1,-1);return hasOwn(entityMap,k)?entityMap[k]:k.charAt(0)==="#"?fixedFromCharCode(parseInt(k.substring(1).replace("x","0x"))):(errorHandler.error("entity not found:"+a2),a2)}function appendText(end2){if(end2>start){var xt=source.substring(start,end2).replace(ENTITY_REG,entityReplacer);locator&&position(start),domBuilder.characters(xt,0,end2-start),start=end2}}var lineStart=0,lineEnd=0,linePattern=/\r\n?|\n|$/g,locator=domBuilder.locator;function position(p,m){for(;p>=lineEnd&&(m=linePattern.exec(source));)lineStart=lineEnd,lineEnd=m.index+m[0].length,locator.lineNumber++;locator.columnNumber=p-lineStart+1}for(var parseStack=[{currentNSMap:defaultNSMapCopy}],unclosedTags=[],start=0;;){try{var tagStart=source.indexOf("<",start);if(tagStart<0){if(!isHTML&&unclosedTags.length>0)return errorHandler.fatalError("unclosed xml tag(s): "+unclosedTags.join(", "));if(!source.substring(start).match(/^\s*$/)){var doc=domBuilder.doc,text=doc.createTextNode(source.substring(start));if(doc.documentElement)return errorHandler.error("Extra content at the end of the document");doc.appendChild(text),domBuilder.currentElement=text}return}if(tagStart>start){var fromSource=source.substring(start,tagStart);!isHTML&&unclosedTags.length===0&&(fromSource=fromSource.replace(new RegExp(g.S_OPT.source,"g"),""),fromSource&&errorHandler.error("Unexpected content outside root element: '"+fromSource+"'")),appendText(tagStart)}switch(source.charAt(tagStart+1)){case"/":var end=source.indexOf(">",tagStart+2),tagNameRaw=source.substring(tagStart+2,end>0?end:void 0);if(!tagNameRaw)return errorHandler.fatalError("end tag name missing");var endTagNameStrict=g.reg("^",g.QName_group,g.S_OPT,"$"),tagNameMatch=end>0&&endTagNameStrict.exec(tagNameRaw);if(!tagNameMatch){var leadingTagNameMatch=end>0&&g.reg("^",g.QName_group).exec(tagNameRaw);if(isHTML&&leadingTagNameMatch)errorHandler.warning('end tag name contains invalid trailing characters: "'+tagNameRaw+'"'),tagNameMatch=leadingTagNameMatch;else if(leadingTagNameMatch&&new RegExp(endTagNameStrict.source,endTagNameStrict.flags+"m").test(tagNameRaw))errorHandler.error('end tag name is followed by a line break and trailing content: "'+tagNameRaw+'"'),tagNameMatch=leadingTagNameMatch;else return errorHandler.fatalError('end tag name contains invalid characters: "'+tagNameRaw+'"')}if(!domBuilder.currentElement&&!domBuilder.doc.documentElement)return;var currentTagName=unclosedTags[unclosedTags.length-1]||domBuilder.currentElement.tagName||domBuilder.doc.documentElement.tagName||"";if(currentTagName!==tagNameMatch[1]){var tagNameLower=tagNameMatch[1].toLowerCase();if(!isHTML||currentTagName.toLowerCase()!==tagNameLower)return errorHandler.fatalError('Opening and ending tag mismatch: "'+currentTagName+'" != "'+tagNameRaw+'"')}var config=parseStack.pop();unclosedTags.pop();var localNSMap=config.localNSMap;if(domBuilder.endElement(config.uri,config.localName,currentTagName),localNSMap)for(var prefix in localNSMap)hasOwn(localNSMap,prefix)&&domBuilder.endPrefixMapping(prefix);end++;break;case"?":locator&&position(tagStart),end=parseProcessingInstruction(source,tagStart,domBuilder,errorHandler);break;case"!":locator&&position(tagStart),end=parseDoctypeCommentOrCData(source,tagStart,domBuilder,errorHandler,isHTML);break;default:locator&&position(tagStart);var el=new ElementAttributes,currentNSMap=parseStack[parseStack.length-1].currentNSMap,end=parseElementStartPart(source,tagStart,el,currentNSMap,entityReplacer,errorHandler,isHTML),len=el.length;if(el.closed||(isHTML&&conventions.isHTMLVoidElement(el.tagName)?el.closed=!0:unclosedTags.push(el.tagName)),locator&&len){for(var locator2=copyLocator(locator,{}),i=0;i<len;i++){var a=el[i];position(a.offset),a.locator=copyLocator(locator,{})}domBuilder.locator=locator2,appendElement(el,domBuilder,currentNSMap)&&parseStack.push(el),domBuilder.locator=locator}else appendElement(el,domBuilder,currentNSMap)&&parseStack.push(el);isHTML&&!el.closed?end=parseHtmlSpecialContent(source,end,el.tagName,entityReplacer,domBuilder):end++}}catch(e){if(e instanceof ParseError)throw e;if(e instanceof DOMException2)return errorHandler.fatalError("Error constructing the DOM: "+e.name+": "+e.message,e);errorHandler.error("element parse error: "+e),end=-1}end>start?start=end:appendText(Math.max(tagStart,start)+1)}}function copyLocator(f,t){return t.lineNumber=f.lineNumber,t.columnNumber=f.columnNumber,t}function parseElementStartPart(source,start,el,currentNSMap,entityReplacer,errorHandler,isHTML){function addAttribute(qname,value2,startIndex){if(hasOwn(el.attributeNames,qname))return errorHandler.fatalError("Attribute "+qname+" redefined");if(!isHTML&&value2.indexOf("<")>=0)return errorHandler.fatalError("Unescaped '<' not allowed in attributes values");el.addValue(qname,value2.replace(/[\t\n\r]/g," ").replace(ENTITY_REG,entityReplacer),startIndex)}for(var attrName,value,p=++start,s=S_TAG;;){var c=source.charAt(p);if(s===S_TAG&&c==="<")throw new Error("unexpected < in tag name: "+source.slice(start,p));switch(c){case"=":if(s===S_ATTR)attrName=source.slice(start,p),s=S_EQ;else if(s===S_ATTR_SPACE)s=S_EQ;else throw new Error("attribute equal must after attrName");break;case"'":case'"':if(s===S_EQ||s===S_ATTR)if(s===S_ATTR&&(errorHandler.warning('attribute value must after "="'),attrName=source.slice(start,p)),start=p+1,p=source.indexOf(c,start),p>0)value=source.slice(start,p),addAttribute(attrName,value,start-1),s=S_ATTR_END;else throw new Error("attribute value no end '"+c+"' match");else if(s==S_ATTR_NOQUOT_VALUE)value=source.slice(start,p),addAttribute(attrName,value,start),errorHandler.warning('attribute "'+attrName+'" missed start quot('+c+")!!"),start=p+1,s=S_ATTR_END;else throw new Error('attribute value must after "="');break;case"/":switch(s){case S_TAG:el.setTagName(source.slice(start,p));case S_ATTR_END:case S_TAG_SPACE:case S_TAG_CLOSE:s=S_TAG_CLOSE,el.closed=!0;case S_ATTR_NOQUOT_VALUE:case S_ATTR:break;case S_ATTR_SPACE:el.closed=!0;break;default:throw new Error("attribute invalid close char('/')")}break;case"":return errorHandler.error("unexpected end of input"),s==S_TAG&&el.setTagName(source.slice(start,p)),p;case">":switch(s){case S_TAG:el.setTagName(source.slice(start,p));case S_ATTR_END:case S_TAG_SPACE:case S_TAG_CLOSE:break;case S_ATTR_NOQUOT_VALUE:case S_ATTR:value=source.slice(start,p),value.slice(-1)==="/"&&(el.closed=!0,value=value.slice(0,-1));case S_ATTR_SPACE:s===S_ATTR_SPACE&&(value=attrName),s==S_ATTR_NOQUOT_VALUE?(errorHandler.warning('attribute "'+value+'" missed quot(")!'),addAttribute(attrName,value,start)):(isHTML||errorHandler.warning('attribute "'+value+'" missed value!! "'+value+'" instead!!'),addAttribute(value,value,start));break;case S_EQ:if(!isHTML)return errorHandler.fatalError(`AttValue: ' or " expected`)}return p;case"\x80":c=" ";default:if(c<=" ")switch(s){case S_TAG:el.setTagName(source.slice(start,p)),s=S_TAG_SPACE;break;case S_ATTR:attrName=source.slice(start,p),s=S_ATTR_SPACE;break;case S_ATTR_NOQUOT_VALUE:var value=source.slice(start,p);errorHandler.warning('attribute "'+value+'" missed quot(")!!'),addAttribute(attrName,value,start);case S_ATTR_END:s=S_TAG_SPACE;break}else switch(s){case S_ATTR_SPACE:isHTML||errorHandler.warning('attribute "'+attrName+'" missed value!! "'+attrName+'" instead2!!'),addAttribute(attrName,attrName,start),start=p,s=S_ATTR;break;case S_ATTR_END:errorHandler.warning('attribute space is required"'+attrName+'"!!');case S_TAG_SPACE:s=S_ATTR,start=p;break;case S_EQ:s=S_ATTR_NOQUOT_VALUE,start=p;break;case S_TAG_CLOSE:throw new Error("elements closed character '/' and '>' must be connected to")}}p++}}function appendElement(el,domBuilder,currentNSMap){for(var tagName=el.tagName,localNSMap=null,i=el.length;i--;){var a=el[i],qName=a.qName,value=a.value,nsp=qName.indexOf(":");if(nsp>0)var prefix=a.prefix=qName.slice(0,nsp),localName=qName.slice(nsp+1),nsPrefix=prefix==="xmlns"&&localName;else localName=qName,prefix=null,nsPrefix=qName==="xmlns"&&"";a.localName=localName,nsPrefix!==!1&&(localNSMap==null&&(localNSMap=Object.create(null),currentNSMap=Object.create(currentNSMap)),currentNSMap[nsPrefix]=localNSMap[nsPrefix]=value,a.uri=NAMESPACE.XMLNS,domBuilder.startPrefixMapping(nsPrefix,value))}for(var i=el.length;i--;)a=el[i],a.prefix&&(a.prefix==="xml"&&(a.uri=NAMESPACE.XML),a.prefix!=="xmlns"&&(a.uri=currentNSMap[a.prefix]));var nsp=tagName.indexOf(":");nsp>0?(prefix=el.prefix=tagName.slice(0,nsp),localName=el.localName=tagName.slice(nsp+1)):(prefix=null,localName=el.localName=tagName);var ns=el.uri=currentNSMap[prefix||""];if(domBuilder.startElement(ns,localName,tagName,el),el.closed){if(domBuilder.endElement(ns,localName,tagName),localNSMap)for(prefix in localNSMap)hasOwn(localNSMap,prefix)&&domBuilder.endPrefixMapping(prefix)}else return el.currentNSMap=currentNSMap,el.localNSMap=localNSMap,!0}function parseHtmlSpecialContent(source,elStartEnd,tagName,entityReplacer,domBuilder){var isEscapableRaw=isHTMLEscapableRawTextElement(tagName);if(isEscapableRaw||isHTMLRawTextElement(tagName)){var closeTag=new RegExp("</"+tagName.replace(/[.*+?^${}()|[\]\\]/g,"\\$&")+">","ig");closeTag.lastIndex=elStartEnd;var match=closeTag.exec(source),elEndStart=match?match.index:-1;if(elEndStart<0)return elStartEnd+1;var text=source.substring(elStartEnd+1,elEndStart);return isEscapableRaw&&(text=text.replace(ENTITY_REG,entityReplacer)),domBuilder.characters(text,0,text.length),elEndStart}return elStartEnd+1}function _copy(source,target){for(var n in source)hasOwn(source,n)&&(target[n]=source[n])}function parseUtils(source,start){var index=start;function char(n){return n=n||0,source.charAt(index+n)}function skip(n){n=n||1,index+=n}function skipBlanks(){for(var blanks=0;index<source.length;){var c=char();if(c!==" "&&c!==`
94
+ `&&c!==" "&&c!=="\r")return blanks;blanks++,skip()}return-1}function substringFromIndex(){return source.substring(index)}function substringStartsWith(text){return source.substring(index,index+text.length)===text}function substringStartsWithCaseInsensitive(text){return source.substring(index,index+text.length).toUpperCase()===text.toUpperCase()}function getMatch(args){var expr=g.reg("^",args),match=expr.exec(substringFromIndex());return match?(skip(match[0].length),match[0]):null}return{char,getIndex:function(){return index},getMatch,getSource:function(){return source},skip,skipBlanks,substringFromIndex,substringStartsWith,substringStartsWithCaseInsensitive}}function parseDoctypeInternalSubset(p,errorHandler){function parsePI(p2,errorHandler2){var match=g.PI.exec(p2.substringFromIndex());return match?match[1].toLowerCase()==="xml"?errorHandler2.fatalError("xml declaration is only allowed at the start of the document, but found at position "+p2.getIndex()):(p2.skip(match[0].length),match[0]):errorHandler2.fatalError("processing instruction is not well-formed at position "+p2.getIndex())}var source=p.getSource();if(p.char()==="["){p.skip(1);for(var intSubsetStart=p.getIndex();p.getIndex()<source.length;){if(p.skipBlanks(),p.char()==="]"){var internalSubset=source.substring(intSubsetStart,p.getIndex());return p.skip(1),internalSubset}var current=null;if(p.char()==="<"&&p.char(1)==="!")switch(p.char(2)){case"E":p.char(3)==="L"?current=p.getMatch(g.elementdecl):p.char(3)==="N"&&(current=p.getMatch(g.EntityDecl));break;case"A":current=p.getMatch(g.AttlistDecl);break;case"N":current=p.getMatch(g.NotationDecl);break;case"-":current=p.getMatch(g.Comment);break}else if(p.char()==="<"&&p.char(1)==="?")current=parsePI(p,errorHandler);else if(p.char()==="%")current=p.getMatch(g.PEReference);else return errorHandler.fatalError("Error detected in Markup declaration");if(!current)return errorHandler.fatalError("Error in internal subset at position "+p.getIndex())}return errorHandler.fatalError("doctype internal subset is not well-formed, missing ]")}}function parseDoctypeCommentOrCData(source,start,domBuilder,errorHandler,isHTML){var p=parseUtils(source,start);switch(isHTML?p.char(2).toUpperCase():p.char(2)){case"-":var comment=p.getMatch(g.Comment);return comment?(domBuilder.comment(comment,g.COMMENT_START.length,comment.length-g.COMMENT_START.length-g.COMMENT_END.length),p.getIndex()):errorHandler.fatalError("comment is not well-formed at position "+p.getIndex());case"[":var cdata=p.getMatch(g.CDSect);return cdata?!isHTML&&!domBuilder.currentElement?errorHandler.fatalError("CDATA outside of element"):(domBuilder.startCDATA(),domBuilder.characters(cdata,g.CDATA_START.length,cdata.length-g.CDATA_START.length-g.CDATA_END.length),domBuilder.endCDATA(),p.getIndex()):errorHandler.fatalError("Invalid CDATA starting at position "+start);case"D":{if(domBuilder.doc&&domBuilder.doc.documentElement)return errorHandler.fatalError("Doctype not allowed inside or after documentElement at position "+p.getIndex());if(isHTML?!p.substringStartsWithCaseInsensitive(g.DOCTYPE_DECL_START):!p.substringStartsWith(g.DOCTYPE_DECL_START))return errorHandler.fatalError("Expected "+g.DOCTYPE_DECL_START+" at position "+p.getIndex());if(p.skip(g.DOCTYPE_DECL_START.length),p.skipBlanks()<1)return errorHandler.fatalError("Expected whitespace after "+g.DOCTYPE_DECL_START+" at position "+p.getIndex());var doctype={name:void 0,publicId:void 0,systemId:void 0,internalSubset:void 0};if(doctype.name=p.getMatch(g.Name),!doctype.name)return errorHandler.fatalError("doctype name missing or contains unexpected characters at position "+p.getIndex());if(isHTML&&doctype.name.toLowerCase()!=="html"&&errorHandler.warning("Unexpected DOCTYPE in HTML document at position "+p.getIndex()),p.skipBlanks(),p.substringStartsWith(g.PUBLIC)||p.substringStartsWith(g.SYSTEM)){var match=g.ExternalID_match.exec(p.substringFromIndex());if(!match)return errorHandler.fatalError("doctype external id is not well-formed at position "+p.getIndex());match.groups.SystemLiteralOnly!==void 0?doctype.systemId=match.groups.SystemLiteralOnly:(doctype.systemId=match.groups.SystemLiteral,doctype.publicId=match.groups.PubidLiteral),p.skip(match[0].length)}else if(isHTML&&p.substringStartsWithCaseInsensitive(g.SYSTEM)){if(p.skip(g.SYSTEM.length),p.skipBlanks()<1)return errorHandler.fatalError("Expected whitespace after "+g.SYSTEM+" at position "+p.getIndex());if(doctype.systemId=p.getMatch(g.ABOUT_LEGACY_COMPAT_SystemLiteral),!doctype.systemId)return errorHandler.fatalError("Expected "+g.ABOUT_LEGACY_COMPAT+" in single or double quotes after "+g.SYSTEM+" at position "+p.getIndex())}return isHTML&&doctype.systemId&&!g.ABOUT_LEGACY_COMPAT_SystemLiteral.test(doctype.systemId)&&errorHandler.warning("Unexpected doctype.systemId in HTML document at position "+p.getIndex()),isHTML||(p.skipBlanks(),doctype.internalSubset=parseDoctypeInternalSubset(p,errorHandler)),p.skipBlanks(),p.char()!==">"?errorHandler.fatalError("doctype not terminated with > at position "+p.getIndex()):(p.skip(1),domBuilder.startDTD(doctype.name,doctype.publicId,doctype.systemId,doctype.internalSubset),domBuilder.endDTD(),p.getIndex())}default:return errorHandler.fatalError('Not well-formed XML starting with "<!" at position '+start)}}function parseProcessingInstruction(source,start,domBuilder,errorHandler){var match=source.substring(start).match(g.PI);if(!match)return errorHandler.fatalError("Invalid processing instruction starting at position "+start);if(match[1].toLowerCase()==="xml"){if(start>0)return errorHandler.fatalError("processing instruction at position "+start+" is an xml declaration which is only at the start of the document");if(!g.XMLDecl.test(source.substring(start)))return errorHandler.fatalError("xml declaration is not well-formed")}return domBuilder.processingInstruction(match[1],match[2]),start+match[0].length}function ElementAttributes(){this.attributeNames=Object.create(null)}ElementAttributes.prototype={setTagName:function(tagName){if(!g.QName_exact.test(tagName))throw new Error("invalid tagName:"+tagName);this.tagName=tagName},addValue:function(qName,value,offset){if(!g.QName_exact.test(qName))throw new Error("invalid attribute:"+qName);this.attributeNames[qName]=this.length,this[this.length++]={qName,value,offset}},length:0,getLocalName:function(i){return this[i].localName},getLocator:function(i){return this[i].locator},getQName:function(i){return this[i].qName},getURI:function(i){return this[i].uri},getValue:function(i){return this[i].value}};exports.XMLReader=XMLReader;exports.parseUtils=parseUtils;exports.parseDoctypeCommentOrCData=parseDoctypeCommentOrCData}});var require_dom_parser=__commonJS({"node_modules/@xmldom/xmldom/lib/dom-parser.js"(exports){"use strict";var conventions=require_conventions(),dom=require_dom2(),errors=require_errors(),entities=require_entities(),sax=require_sax(),DOMImplementation=dom.DOMImplementation,hasDefaultHTMLNamespace=conventions.hasDefaultHTMLNamespace,isHTMLMimeType=conventions.isHTMLMimeType,isValidMimeType=conventions.isValidMimeType,MIME_TYPE=conventions.MIME_TYPE,NAMESPACE=conventions.NAMESPACE,ParseError=errors.ParseError,XMLReader=sax.XMLReader;function normalizeLineEndings(input){return input.replace(/\r[\n\u0085]/g,`
95
+ `).replace(/[\r\u0085\u2028\u2029]/g,`
96
+ `)}function DOMParser2(options){if(options=options||{},options.locator===void 0&&(options.locator=!0),this.assign=options.assign||conventions.assign,this.domHandler=options.domHandler||DOMHandler,this.onError=options.onError||options.errorHandler,options.errorHandler&&typeof options.errorHandler!="function")throw new TypeError("errorHandler object is no longer supported, switch to onError!");options.errorHandler&&options.errorHandler("warning","The `errorHandler` option has been deprecated, use `onError` instead!",this),this.normalizeLineEndings=options.normalizeLineEndings||normalizeLineEndings,this.locator=!!options.locator,this.xmlns=this.assign(Object.create(null),options.xmlns)}DOMParser2.prototype.parseFromString=function(source,mimeType){if(!isValidMimeType(mimeType))throw new TypeError('DOMParser.parseFromString: the provided mimeType "'+mimeType+'" is not valid.');var defaultNSMap=this.assign(Object.create(null),this.xmlns),entityMap=entities.XML_ENTITIES,defaultNamespace=defaultNSMap[""]||null;hasDefaultHTMLNamespace(mimeType)?(entityMap=entities.HTML_ENTITIES,defaultNamespace=NAMESPACE.HTML):mimeType===MIME_TYPE.XML_SVG_IMAGE&&(defaultNamespace=NAMESPACE.SVG),defaultNSMap[""]=defaultNamespace,defaultNSMap.xml=defaultNSMap.xml||NAMESPACE.XML;var domBuilder=new this.domHandler({mimeType,defaultNamespace,onError:this.onError}),locator=this.locator?{}:void 0;this.locator&&domBuilder.setDocumentLocator(locator);var sax2=new XMLReader;sax2.errorHandler=domBuilder,sax2.domBuilder=domBuilder;var isXml=!conventions.isHTMLMimeType(mimeType);return isXml&&typeof source!="string"&&sax2.errorHandler.fatalError("source is not a string"),sax2.parse(this.normalizeLineEndings(String(source)),defaultNSMap,entityMap),domBuilder.doc.documentElement||sax2.errorHandler.fatalError("missing root element"),domBuilder.doc};function DOMHandler(options){var opt=options||{};this.mimeType=opt.mimeType||MIME_TYPE.XML_APPLICATION,this.defaultNamespace=opt.defaultNamespace||null,this.cdata=!1,this.currentElement=void 0,this.doc=void 0,this.locator=void 0,this.onError=opt.onError}function position(locator,node){node.lineNumber=locator.lineNumber,node.columnNumber=locator.columnNumber}DOMHandler.prototype={startDocument:function(){var impl=new DOMImplementation;this.doc=isHTMLMimeType(this.mimeType)?impl.createHTMLDocument(!1):impl.createDocument(this.defaultNamespace,"")},startElement:function(namespaceURI,localName,qName,attrs){var doc=this.doc,el=doc.createElementNS(namespaceURI,qName||localName),len=attrs.length;appendElement(this,el),this.currentElement=el,this.locator&&position(this.locator,el);for(var i=0;i<len;i++){var namespaceURI=attrs.getURI(i),value=attrs.getValue(i),qName=attrs.getQName(i),attr=doc.createAttributeNS(namespaceURI,qName);this.locator&&position(attrs.getLocator(i),attr),attr.value=attr.nodeValue=value,el.setAttributeNode(attr)}},endElement:function(namespaceURI,localName,qName){this.currentElement=this.currentElement.parentNode},startPrefixMapping:function(prefix,uri){},endPrefixMapping:function(prefix){},processingInstruction:function(target,data){var ins=this.doc.createProcessingInstruction(target,data);this.locator&&position(this.locator,ins),appendElement(this,ins)},ignorableWhitespace:function(ch,start,length){},characters:function(chars,start,length){if(chars=_toString.apply(this,arguments),chars){if(this.cdata)var charNode=this.doc.createCDATASection(chars);else var charNode=this.doc.createTextNode(chars);this.currentElement?this.currentElement.appendChild(charNode):/^\s*$/.test(chars)&&this.doc.appendChild(charNode),this.locator&&position(this.locator,charNode)}},skippedEntity:function(name){},endDocument:function(){this.doc.normalize()},setDocumentLocator:function(locator){locator&&(locator.lineNumber=0),this.locator=locator},comment:function(chars,start,length){chars=_toString.apply(this,arguments);var comm=this.doc.createComment(chars);this.locator&&position(this.locator,comm),appendElement(this,comm)},startCDATA:function(){this.cdata=!0},endCDATA:function(){this.cdata=!1},startDTD:function(name,publicId,systemId,internalSubset){var impl=this.doc.implementation;if(impl&&impl.createDocumentType){var dt=impl.createDocumentType(name,publicId,systemId,internalSubset);this.locator&&position(this.locator,dt),appendElement(this,dt),this.doc.doctype=dt}},reportError:function(level,message){if(typeof this.onError=="function")try{this.onError(level,message,this)}catch(e){throw new ParseError("Reporting "+level+' "'+message+'" caused '+e,this.locator)}else console.error("[xmldom "+level+"] "+message,_locator(this.locator))},warning:function(message){this.reportError("warning",message)},error:function(message){this.reportError("error",message)},fatalError:function(message,cause){throw this.reportError("fatalError",message),new ParseError(message,this.locator,cause)}};function _locator(l){if(l)return`
97
+ @#[line:`+l.lineNumber+",col:"+l.columnNumber+"]"}function _toString(chars,start,length){return typeof chars=="string"?chars.substr(start,length):chars.length>=start+length||start?new java.lang.String(chars,start,length)+"":chars}"endDTD,startEntity,endEntity,attributeDecl,elementDecl,externalEntityDecl,internalEntityDecl,resolveEntity,getExternalSubset,notationDecl,unparsedEntityDecl".replace(/\w+/g,function(key){DOMHandler.prototype[key]=function(){return null}});function appendElement(handler,node){handler.currentElement?handler.currentElement.appendChild(node):handler.doc.appendChild(node)}function onErrorStopParsing(level){if(level==="error")throw"onErrorStopParsing"}function onWarningStopParsing(){throw"onWarningStopParsing"}exports.__DOMHandler=DOMHandler;exports.DOMParser=DOMParser2;exports.normalizeLineEndings=normalizeLineEndings;exports.onErrorStopParsing=onErrorStopParsing;exports.onWarningStopParsing=onWarningStopParsing}});var require_lib2=__commonJS({"node_modules/@xmldom/xmldom/lib/index.js"(exports){"use strict";var conventions=require_conventions();exports.assign=conventions.assign;exports.hasDefaultHTMLNamespace=conventions.hasDefaultHTMLNamespace;exports.isHTMLMimeType=conventions.isHTMLMimeType;exports.isValidMimeType=conventions.isValidMimeType;exports.MIME_TYPE=conventions.MIME_TYPE;exports.NAMESPACE=conventions.NAMESPACE;var errors=require_errors();exports.DOMException=errors.DOMException;exports.DOMExceptionName=errors.DOMExceptionName;exports.ExceptionCode=errors.ExceptionCode;exports.ParseError=errors.ParseError;var dom=require_dom2();exports.Attr=dom.Attr;exports.CDATASection=dom.CDATASection;exports.CharacterData=dom.CharacterData;exports.Comment=dom.Comment;exports.Document=dom.Document;exports.DocumentFragment=dom.DocumentFragment;exports.DocumentType=dom.DocumentType;exports.DOMImplementation=dom.DOMImplementation;exports.Element=dom.Element;exports.Entity=dom.Entity;exports.EntityReference=dom.EntityReference;exports.LiveNodeList=dom.LiveNodeList;exports.NamedNodeMap=dom.NamedNodeMap;exports.Node=dom.Node;exports.NodeList=dom.NodeList;exports.Notation=dom.Notation;exports.ProcessingInstruction=dom.ProcessingInstruction;exports.Text=dom.Text;exports.XMLSerializer=dom.XMLSerializer;var domParser=require_dom_parser();exports.DOMParser=domParser.DOMParser;exports.normalizeLineEndings=domParser.normalizeLineEndings;exports.onErrorStopParsing=domParser.onErrorStopParsing;exports.onWarningStopParsing=domParser.onWarningStopParsing}});var require_dist=__commonJS({"node_modules/mathml-to-latex/dist/index.cjs"(exports){"use strict";var xmldom=require_lib2(),conversionMemo=null,setConversionMemo=memo=>{let previous=conversionMemo;return conversionMemo=memo,previous},mathMLElementToLaTeXConverter=mathMLElement=>{let precomputed=conversionMemo?.get(mathMLElement);return precomputed!==void 0?new PrecomputedConverter(precomputed):new MathMLElementToLatexConverterAdapter(mathMLElement).toLatexConverter()},PrecomputedConverter=class{constructor(_latex){this._latex=_latex}convert(){return this._latex}},normalizeWhiteSpaces=str=>str.replace(/\s+/g," "),Math$1=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let unnormalizedLatex=this._mathmlElement.children.map(child=>mathMLElementToLaTeXConverter(child)).map(converter=>converter.convert()).join(" ");return normalizeWhiteSpaces(unnormalizedLatex)}},Wrapper=class{constructor(open,close){this._open=open,this._close=close}wrap(str){return this._open+str+this._close}},BracketWrapper=class{constructor(){this._open="{",this._close="}"}wrap(str){return new Wrapper(this._open,this._close).wrap(str)}},ParenthesisWrapper=class{constructor(){this._open="\\left(",this._close="\\right)"}wrap(str){return new Wrapper(this._open,this._close).wrap(str)}wrapIfMoreThanOneChar(str){return str.length<=1?str:this.wrap(str)}},allMathOperatorsByChar={_:"\\underline","&#x23E1;":"\\underbrace","&#x23E0;":"\\overbrace","&#x23DF;":"\\underbrace","&#x23DE;":"\\overbrace","&#x23DD;":"\\underbrace","&#x23DC;":"\\overbrace","&#x23B5;":"\\underbrace","&#x23B4;":"\\overbrace","&#x20DC;":"\\square","&#x20DB;":"\\square","&#x2064;":"","&#x2057;":"''''","&#x203E;":"\\bar","&#x2037;":"```","&#x2036;":"``","&#x2035;":"`","&#x2034;":"'''","&#x2033;":"''","&#x201F;":"``","&#x201E;":",,","&#x201B;":"`","&#x201A;":",","&#x302;":"\\hat","&#x2F7;":"\\sim","&#x2DD;":"\\sim","&#x2DC;":"\\sim","&#x2DA;":"\\circ","&#x2D9;":"\\cdot","&#x2D8;":"","&#x2CD;":"\\_","&#x2CB;":"\u02CB","&#x2CA;":"\u02CA","&#x2C9;":"\u02C9","&#x2C7;":"","&#x2C6;":"\\hat","&#xBA;":"o","&#xB9;":"1","&#xB8;":"\xB8","&#xB4;":"\xB4","&#xB3;":"3","&#xB2;":"2","&#xB0;":"\\circ","&#xAF;":"\\bar","&#xAA;":"a","&#xA8;":"\\cdot\\cdot","~":"\\sim","`":"`","^":"\\hat","--":"--","++":"++","&amp;":"\\&","&#x2061;":"","&#x221C;":"\\sqrt[4]{}","&#x221B;":"\\sqrt[3]{}","&#x221A;":"\\sqrt{}","&#x2146;":"d","&#x2145;":"\\mathbb{D}","?":"?","@":"@","//":"//","!!":"!!","!":"!","&#x266F;":"\\#","&#x266E;":"","&#x266D;":"","&#x2032;":"'","&lt;>":"<>","**":"\\star\\star","&#x2207;":"\\nabla","&#x2202;":"\\partial","&#x2299;":"\\bigodot","&#xAC;":"\\neg","&#x2222;":"\\measuredangle","&#x2221;":"\\measuredangle","&#x2220;":"\\angle","&#xF7;":"\\div","/":"/","&#x2216;":"\\backslash","\\":"\\backslash","%":"\\%","&#x2297;":"\\bigotimes","&#xB7;":"\\cdot","&#x2A3F;":"\\coprod","&#x2A2F;":"\\times","&#x22C5;":"\\cdot","&#x22A1;":"\\boxdot","&#x22A0;":"\\boxtimes","&#x2062;":"","&#x2043;":"-","&#x2022;":"\\cdot","&#xD7;":"\\times",".":".","*":"\\star","&#x222A;":"\\cup","&#x2229;":"\\cap","&#x2210;":"\\coprod","&#x220F;":"\\prod","&#x2240;":"","&#x2AFF;":"","&#x2AFC;":"\\mid\\mid\\mid","&#x2A09;":"\\times","&#x2A08;":"","&#x2A07;":"","&#x2A06;":"\\sqcup","&#x2A05;":"\\sqcap","&#x2A02;":"\\otimes","&#x2A00;":"\\odot","&#x22C2;":"\\cap","&#x22C1;":"\\vee","&#x22C0;":"\\wedge","&#x2A04;":"\\uplus","&#x2A03;":"\\cup","&#x22C3;":"\\cup","&#x2A1C;":"\\underline{\\int}","&#x2A1B;":"\\overline{\\int}","&#x2A1A;":"\\int","&#x2A19;":"\\int","&#x2A18;":"\\int","&#x2A17;":"\\int","&#x2A16;":"\\oint","&#x2A15;":"\\oint","&#x2A14;":"\\int","&#x2A13;":"\\int","&#x2A12;":"\\int","&#x2A11;":"\\int","&#x2A10;":"\\int","&#x2A0F;":"\\bcancel{\\int}","&#x2A0E;":"","&#x2A0D;":"\\hcancel{\\int}","&#x2A0C;":"\\iiiint","&#x2233;":"\\oint","&#x2232;":"\\oint","&#x2231;":"\\int","&#x2230;":"\\oiint","&#x222F;":"\\oiint","&#x222E;":"\\oint","&#x222B;":"\\int","&#x2A01;":"\\oplus","&#x2298;":"\\oslash","&#x2296;":"\\ominus","&#x2295;":"\\oplus","&#x222D;":"\\iiint","&#x222C;":"\\iint","&#x2A0B;":"","&#x2A0A;":"","&#x2211;":"\\sum","&#x229F;":"\\boxminus","&#x229E;":"\\boxplus","&#x2214;":"\\dot{+}","&#x2213;":"+-","&#x2212;":"-","&#xB1;":"\\pm","-":"-","+":"+","&#x2B46;":"\\Rrightarrow","&#x2B45;":"\\Lleftarrow","&#x29F4;":":\\rightarrow","&#x29EF;":"","&#x29DF;":"\\bullet-\\bullet","&#x299F;":"\\angle","&#x299E;":"\\measuredangle","&#x299D;":"\\measuredangle","&#x299C;":"\\perp","&#x299B;":"\\measuredangle","&#x299A;":"","&#x2999;":"\\vdots","&#x297F;":"","&#x297E;":"","&#x297D;":"\\prec","&#x297C;":"\\succ","&#x297B;":"\\underset{\\rightarrow}{\\supset}","&#x297A;":"","&#x2979;":"\\underset{\\rightarrow}{\\subset}","&#x2978;":"\\underset{\\rightarrow}{>}","&#x2977;":"","&#x2976;":"\\underset{\\leftarrow}{<}","&#x2975;":"\\underset{\\approx}{\\rightarrow}","&#x2974;":"\\underset{\\sim}{\\rightarrow}","&#x2973;":"\\underset{\\sim}{\\leftarrow}","&#x2972;":"\\overset{\\sim}{\\rightarrow}","&#x2971;":"\\overset{=}{\\rightarrow}","&#x2970;":"","&#x296F;":"","&#x296E;":"","&#x296D;":"\\overline{\\rightharpoondown}","&#x296C;":"\\underline{\\rightharpoonup}","&#x296B;":"\\overline{\\leftharpoondown}","&#x296A;":"\\underline{\\leftharpoonup}","&#x2969;":"\\rightleftharpoons","&#x2968;":"\\rightleftharpoons","&#x2967;":"\\rightleftharpoons","&#x2966;":"\\rightleftharpoons","&#x2965;":"\\Downarrow","&#x2964;":"\\Rightarrow","&#x2963;":"\\Uparrow","&#x2962;":"\\Leftarrow","&#x2961;":"\\downarrow","&#x2960;":"\\uparrow","&#x295F;":"\\rightarrow","&#x295E;":"\\leftarrow","&#x295D;":"\\downarrow","&#x295C;":"\\uparrow","&#x295B;":"\\rightarrow","&#x295A;":"\\leftarrow","&#x2959;":"\\downarrow","&#x2958;":"\\uparrow","&#x2957;":"\\rightarrow","&#x2956;":"\\leftarrow","&#x2955;":"\\downarrow","&#x2954;":"\\uparrow","&#x2953;":"\\rightarrow","&#x2952;":"\\leftarrow","&#x2951;":"\\updownarrow","&#x2950;":"\\leftrightarrow","&#x294F;":"\\updownarrow","&#x294E;":"\\leftrightarrow","&#x294D;":"\\updownarrow","&#x294C;":"\\updownarrow","&#x294B;":"\\leftrightarrow","&#x294A;":"\\leftrightarrow","&#x2949;":"","&#x2948;":"\\leftrightarrow","&#x2947;":"\\nrightarrow","&#x2946;":"","&#x2945;":"","&#x2944;":"\\rightleftarrows","&#x2943;":"\\leftrightarrows","&#x2942;":"\\rightleftarrows","&#x2941;":"\\circlearrowright","&#x2940;":"\\circlearrowleft","&#x293F;":"\\rightarrow","&#x293E;":"\\leftarrow","&#x293D;":"","&#x293C;":"","&#x293B;":"","&#x293A;":"","&#x2939;":"","&#x2938;":"","&#x2937;":"\\Rsh","&#x2936;":"\\Lsh","&#x2935;":"\\downarrow","&#x2934;":"\\uparrow","&#x2933;":"\\leadsto","&#x2932;":"","&#x2931;":"","&#x2930;":"","&#x292F;":"","&#x292E;":"","&#x292D;":"","&#x292C;":"\\times","&#x292B;":"\\times","&#x292A;":"","&#x2929;":"","&#x2928;":"","&#x2927;":"","&#x2926;":"","&#x2925;":"","&#x2924;":"","&#x2923;":"","&#x2922;":"","&#x2921;":"","&#x2920;":"\\mapsto\\cdot","&#x291F;":"\\cdot\\leftarrow","&#x291E;":"\\rightarrow\\cdot","&#x291D;":"\\leftarrow","&#x291C;":"\\rightarrow","&#x291B;":"\\leftarrow","&#x291A;":"\\rightarrow","&#x2919;":"\\leftarrow","&#x2918;":"\\rightarrow","&#x2917;":"\\rightarrow","&#x2916;":"\\rightarrow","&#x2915;":"\\rightarrow","&#x2914;":"\\rightarrow","&#x2913;":"\\downarrow","&#x2912;":"\\uparrow","&#x2911;":"\\rightarrow","&#x2910;":"\\rightarrow","&#x290F;":"\\rightarrow","&#x290E;":"\\leftarrow","&#x290D;":"\\rightarrow","&#x290C;":"\\leftarrow","&#x290B;":"\\Downarrow","&#x290A;":"\\Uparrow","&#x2909;":"\\uparrow","&#x2908;":"\\downarrow","&#x2907;":"\\Rightarrow","&#x2906;":"\\Leftarrow","&#x2905;":"\\mapsto","&#x2904;":"\\nLeftrightarrow","&#x2903;":"\\nRightarrow","&#x2902;":"\\nLeftarrow","&#x2901;":"\\rightsquigarrow","&#x2900;":"\\rightsquigarrow","&#x27FF;":"\\rightsquigarrow","&#x27FE;":"\\Rightarrow","&#x27FD;":"\\Leftarrow","&#x27FC;":"\\mapsto","&#x27FB;":"\\leftarrow","&#x27FA;":"\\Longleftrightarrow","&#x27F9;":"\\Longrightarrow","&#x27F8;":"\\Longleftarrow","&#x27F7;":"\\leftrightarrow","&#x27F6;":"\\rightarrow","&#x27F5;":"\\leftarrow","&#x27F1;":"\\Downarrow","&#x27F0;":"\\Uparrow","&#x22B8;":"\\rightarrow","&#x21FF;":"\\leftrightarrow","&#x21FE;":"\\rightarrow","&#x21FD;":"\\leftarrow","&#x21FC;":"\\nleftrightarrow","&#x21FB;":"\\nrightarrow","&#x21FA;":"\\nleftarrow","&#x21F9;":"\\nleftrightarrow","&#x21F8;":"\\nrightarrow","&#x21F7;":"\\nleftarrow","&#x21F6;":"\\Rrightarrow","&#x21F5;":"","&#x21F4;":"\\rightarrow","&#x21F3;":"\\Updownarrow","&#x21F2;":"\\searrow","&#x21F1;":"\\nwarrow","&#x21F0;":"\\Leftarrow","&#x21EF;":"\\Uparrow","&#x21EE;":"\\Uparrow","&#x21ED;":"\\Uparrow","&#x21EC;":"\\Uparrow","&#x21EB;":"\\Uparrow","&#x21EA;":"\\Uparrow","&#x21E9;":"\\Downarrow","&#x21E8;":"\\Rightarrow","&#x21E7;":"\\Uparrow","&#x21E6;":"\\Leftarrow","&#x21E5;":"\\rightarrow","&#x21E4;":"\\leftarrow","&#x21E3;":"\\downarrow","&#x21E2;":"\\rightarrow","&#x21E1;":"\\uparrow","&#x21E0;":"\\leftarrow","&#x21DF;":"\\downarrow","&#x21DE;":"\\uparrow","&#x21DD;":"\\rightsquigarrow","&#x21DC;":"\\leftarrow","&#x21DB;":"\\Rrightarrow","&#x21DA;":"\\Lleftarrow","&#x21D9;":"\\swarrow","&#x21D8;":"\\searrow","&#x21D7;":"\\nearrow","&#x21D6;":"\\nwarrow","&#x21D5;":"\\Updownarrow","&#x21D4;":"\\Leftrightarrow","&#x21D3;":"\\Downarrow","&#x21D2;":"\\Rightarrow","&#x21D1;":"\\Uparrow","&#x21D0;":"\\Leftarrow","&#x21CF;":"\\nRightarrow","&#x21CE;":"\\nLeftrightarrow","&#x21CD;":"\\nLeftarrow","&#x21CC;":"\\rightleftharpoons","&#x21CB;":"\\leftrightharpoons","&#x21CA;":"\\downdownarrows","&#x21C9;":"\\rightrightarrows","&#x21C8;":"\\upuparrows","&#x21C7;":"\\leftleftarrows","&#x21C6;":"\\leftrightarrows","&#x21C5;":"","&#x21C4;":"\\rightleftarrows","&#x21C3;":"\\downharpoonleft","&#x21C2;":"\\downharpoonright","&#x21C1;":"\\rightharpoondown","&#x21C0;":"\\rightharpoonup","&#x21BF;":"\\upharpoonleft","&#x21BE;":"\\upharpoonright","&#x21BD;":"\\leftharpoondown","&#x21BC;":"\\leftharpoonup","&#x21BB;":"\\circlearrowright","&#x21BA;":"\\circlearrowleft","&#x21B9;":"\\leftrightarrows","&#x21B8;":"\\overline{\\nwarrow}","&#x21B7;":"\\curvearrowright","&#x21B6;":"\\curvearrowleft","&#x21B5;":"\\swarrow","&#x21B4;":"\\searrow","&#x21B3;":"\\Rsh","&#x21B2;":"\\Lsh","&#x21B1;":"\\Rsh","&#x21B0;":"\\Lsh","&#x21AF;":"\\swarrow","&#x21AE;":"","&#x21AD;":"\\leftrightsquigarrow","&#x21AC;":"\\looparrowright","&#x21AB;":"\\looparrowleft","&#x21AA;":"\\hookrightarrow","&#x21A9;":"\\hookleftarrow","&#x21A8;":"\\underline{\\updownarrow}","&#x21A7;":"\\downarrow","&#x21A6;":"\\rightarrowtail","&#x21A5;":"\\uparrow","&#x21A4;":"\\leftarrowtail","&#x21A3;":"\\rightarrowtail","&#x21A2;":"\\leftarrowtail","&#x21A1;":"\\downarrow","&#x21A0;":"\\twoheadrightarrow","&#x219F;":"\\uparrow","&#x219E;":"\\twoheadleftarrow","&#x219D;":"\\nearrow","&#x219C;":"\\nwarrow","&#x219B;":"","&#x219A;":"","&#x2199;":"\\swarrow","&#x2198;":"\\searrow","&#x2197;":"\\nearrow","&#x2196;":"\\nwarrow","&#x2195;":"\\updownarrow","&#x2194;":"\\leftrightarrow","&#x2193;":"\\downarrow","&#x2192;":"\\rightarrow","&#x2191;":"\\uparrow","&#x2190;":"\\leftarrow","|||":"\\left|||\\right.","||":"\\left\\|\\right.","|":"\\left|\\right.","&#x2AFE;":"","&#x2AFD;":"//","&#x2AFB;":"///","&#x2AFA;":"","&#x2AF9;":"","&#x2AF8;":"","&#x2AF7;":"","&#x2AF6;":"\\vdots","&#x2AF5;":"","&#x2AF4;":"","&#x2AF3;":"","&#x2AF2;":"\\nparallel","&#x2AF1;":"","&#x2AF0;":"","&#x2AEF;":"","&#x2AEE;":"\\bcancel{\\mid}","&#x2AED;":"","&#x2AEC;":"","&#x2AEB;":"","&#x2AEA;":"","&#x2AE9;":"","&#x2AE8;":"\\underline{\\perp}","&#x2AE7;":"\\overline{\\top}","&#x2AE6;":"","&#x2AE5;":"","&#x2AE4;":"","&#x2AE3;":"","&#x2AE2;":"","&#x2AE1;":"","&#x2AE0;":"\\perp","&#x2ADF;":"\\top","&#x2ADE;":"\\dashv","&#x2ADD;&#x338;":"","&#x2ADD;":"","&#x2ADB;":"\\pitchfork","&#x2ADA;":"","&#x2AD9;":"","&#x2AD8;":"","&#x2AD7;":"","&#x2AD6;":"","&#x2AD5;":"","&#x2AD4;":"","&#x2AD3;":"","&#x2AD2;":"","&#x2AD1;":"","&#x2AD0;":"","&#x2ACF;":"","&#x2ACE;":"","&#x2ACD;":"","&#x2ACC;":"\\underset{\\neq}{\\supset}","&#x2ACB;":"\\underset{\\neq}{\\subset}","&#x2ACA;":"\\underset{\\approx}{\\supset}","&#x2AC9;":"\\underset{\\approx}{\\subset}","&#x2AC8;":"\\underset{\\sim}{\\supset}","&#x2AC7;":"\\underset{\\sim}{\\subset}","&#x2AC6;":"\\supseteqq","&#x2AC5;":"\\subseteqq","&#x2AC4;":"\\dot{\\supseteq}","&#x2AC3;":"\\dot{\\subseteq}","&#x2AC2;":"\\underset{\\times}{\\supset}","&#x2AC1;":"\\underset{\\times}{\\subset}","&#x2AC0;":"\\underset{+}{\\supset}","&#x2ABF;":"\\underset{+}{\\subset}","&#x2ABE;":"","&#x2ABD;":"","&#x2ABC;":"\\gg ","&#x2ABB;":"\\ll","&#x2ABA;":"\\underset{\\cancel{\\approx}}{\\succ}","&#x2AB9;":"\\underset{\\cancel{\\approx}}{\\prec}","&#x2AB8;":"\\underset{\\approx}{\\succ}","&#x2AB7;":"\\underset{\\approx}{\\prec}","&#x2AB6;":"\\underset{\\cancel{=}}{\\succ}","&#x2AB5;":"\\underset{\\cancel{=}}{\\prec}","&#x2AB4;":"\\underset{=}{\\succ}","&#x2AB3;":"\\underset{=}{\\prec}","&#x2AB2;":"","&#x2AB1;":"","&#x2AAE;":"","&#x2AAD;":"\\underline{\\hcancel{>}}","&#x2AAC;":"\\underline{\\hcancel{>}}","&#x2AAB;":"\\hcancel{>}","&#x2AAA;":"\\hcancel{<}","&#x2AA9;":"","&#x2AA8;":"","&#x2AA7;":"\\vartriangleright","&#x2AA6;":"\\vartriangleleft","&#x2AA5;":"><","&#x2AA4;":"><","&#x2AA3;":"\\underline{\\ll}","&#x2AA2;&#x338;":"\\cancel{\\gg}","&#x2AA2;":"\\gg","&#x2AA1;&#x338;":"\\cancel{\\ll}","&#x2AA1;":"\\ll","&#x2AA0;":"\\overset{\\sim}{\\geqq}","&#x2A9F;":"\\overset{\\sim}{\\leqq}","&#x2A9E;":"\\overset{\\sim}{>}","&#x2A9D;":"\\overset{\\sim}{<}","&#x2A9C;":"","&#x2A9B;":"","&#x2A9A;":"\\overset{=}{>}","&#x2A99;":"\\overset{=}{<}","&#x2A98;":"","&#x2A97;":"","&#x2A96;":"","&#x2A95;":"","&#x2A94;":"","&#x2A93;":"","&#x2A92;":"\\underset{=}{\\gtrless}","&#x2A91;":"\\underset{=}{\\lessgtr}","&#x2A90;":"\\underset{<}{\\gtrsim}","&#x2A8F;":"\\underset{>}{\\lesssim}","&#x2A8E;":"\\underset{\\simeq}{>}","&#x2A8D;":"\\underset{\\simeq}{<}","&#x2A8C;":"\\gtreqqless","&#x2A8B;":"\\lesseqqgtr","&#x2A8A;":"\\underset{\\cancel{\\approx}}{>}","&#x2A89;":"\\underset{\\approx}{<}","&#x2A86;":"\\underset{\\approx}{>}","&#x2A85;":"\\underset{\\approx}{<}","&#x2A84;":"","&#x2A83;":"","&#x2A82;":"","&#x2A81;":"","&#x2A80;":"","&#x2A7F;":"","&#x2A7E;&#x338;":"\\bcancel{\\geq}","&#x2A7E;":"\\geq","&#x2A7D;&#x338;":"\\bcancel{\\leq}","&#x2A7D;":"\\leq","&#x2A7C;":"","&#x2A7B;":"","&#x2A7A;":"","&#x2A79;":"","&#x2A78;":"\\overset{\\dots}{\\equiv}","&#x2A77;":"","&#x2A76;":"===","&#x2A75;":"==","&#x2A74;":"::=","&#x2A73;":"","&#x2A72;":"\\underset{=}{+}","&#x2A71;":"\\overset{=}{+}","&#x2A70;":"\\overset{\\approx}{=}","&#x2A6F;":"\\overset{\\wedge}{=}","&#x2A6E;":"\\overset{*}{=}","&#x2A6D;":"\\dot{\\approx}","&#x2A6C;":"","&#x2A6B;":"","&#x2A6A;":"\\dot{\\sim}","&#x2A69;":"","&#x2A68;":"","&#x2A67;":"\\dot{\\equiv}","&#x2A66;":"\\underset{\\cdot}{=}","&#x2A65;":"","&#x2A64;":"","&#x2A63;":"\\underset{=}{\\vee}","&#x2A62;":"\\overset{=}{\\vee}","&#x2A61;":"ul(vv)","&#x2A60;":"\\underset{=}{\\wedge}","&#x2A5F;":"\\underline{\\wedge}","&#x2A5E;":"\\overset{=}{\\wedge}","&#x2A5D;":"\\hcancel{\\vee}","&#x2A5C;":"\\hcancel{\\wedge}","&#x2A5B;":"","&#x2A5A;":"","&#x2A59;":"","&#x2A58;":"\\vee","&#x2A57;":"\\wedge","&#x2A56;":"","&#x2A55;":"","&#x2A54;":"","&#x2A53;":"","&#x2A52;":"\\dot{\\vee}","&#x2A51;":"\\dot{\\wedge}","&#x2A50;":"","&#x2A4F;":"","&#x2A4E;":"","&#x2A4D;":"\\overline{\\cap}","&#x2A4C;":"\\overline{\\cup}","&#x2A4B;":"","&#x2A4A;":"","&#x2A49;":"","&#x2A48;":"","&#x2A47;":"","&#x2A46;":"","&#x2A45;":"","&#x2A44;":"","&#x2A43;":"\\overline{\\cap}","&#x2A42;":"\\overline{\\cup}","&#x2A41;":"","&#x2A40;":"","&#x2A3E;":"","&#x2A3D;":"\\llcorner","&#x2A3C;":"\\lrcorner","&#x2A3B;":"","&#x2A3A;":"","&#x2A39;":"","&#x2A38;":"","&#x2A37;":"","&#x2A36;":"\\hat{\\otimes}","&#x2A35;":"","&#x2A34;":"","&#x2A33;":"","&#x2A32;":"\\underline{\\times}","&#x2A31;":"\\underline{\\times}","&#x2A30;":"\\dot{\\times}","&#x2A2E;":"","&#x2A2D;":"","&#x2A2C;":"","&#x2A2B;":"","&#x2A2A;":"","&#x2A29;":"","&#x2A28;":"","&#x2A27;":"","&#x2A26;":"\\underset{\\sim}{+}","&#x2A25;":"\\underset{\\circ}{+}","&#x2A24;":"\\overset{\\sim}{+}","&#x2A23;":"\\hat{+}","&#x2A22;":"\\dot{+}","&#x2A21;":"\\upharpoonright","&#x2A20;":">>","&#x2A1F;":"","&#x2A1E;":"\\triangleleft","&#x2A1D;":"\\bowtie","&#x29FF;":"","&#x29FE;":"+","&#x29FB;":"\\hcancel{|||}","&#x29FA;":"\\hcancel{||}","&#x29F9;":"\\backslash","&#x29F8;":"/","&#x29F7;":"hcancel{\backslash}","&#x29F6;":"","&#x29F5;":"\\backslash","&#x29F2;":"\\Phi","&#x29F1;":"","&#x29F0;":"","&#x29EE;":"","&#x29ED;":"","&#x29EC;":"","&#x29EB;":"\\lozenge","&#x29EA;":"","&#x29E9;":"","&#x29E8;":"","&#x29E7;":"\\ddagger","&#x29E2;":"\\sqcup\\sqcup","&#x29E1;":"","&#x29E0;":"\\square","&#x29DE;":"","&#x29DD;":"","&#x29DC;":"","&#x29DB;":"\\{\\{","&#x29D9;":"\\{","&#x29D8;":"\\}","&#x29D7;":"","&#x29D6;":"","&#x29D5;":"\\bowtie","&#x29D4;":"\\bowtie","&#x29D3;":"\\bowtie","&#x29D2;":"\\bowtie","&#x29D1;":"\\bowtie","&#x29D0;&#x338;":"| \\not\\triangleright","&#x29D0;":"| \\triangleright","&#x29CF;&#x338;":"\\not\\triangleleft |","&#x29CF;":"\\triangleleft |","&#x29CE;":"","&#x29CD;":"\\triangle","&#x29CC;":"","&#x29CB;":"\\underline{\\triangle}","&#x29CA;":"\\dot{\\triangle}","&#x29C9;":"","&#x29C8;":"\\boxed{\\circ}","&#x29C7;":"\\boxed{\\circ}","&#x29C6;":"\\boxed{\\rightarrow}","&#x29C5;":"\\bcancel{\\square}","&#x29C4;":"\\cancel{\\square}","&#x29C3;":"\\odot","&#x29C2;":"\\odot","&#x29BF;":"\\odot","&#x29BE;":"\\odot","&#x29BD;":"\\varnothing","&#x29BC;":"\\oplus","&#x29BB;":"\\otimes","&#x29BA;":"","&#x29B9;":"\\varnothing","&#x29B8;":"\\varnothing","&#x29B7;":"\\ominus","&#x29B6;":"\\ominus","&#x29B5;":"\\ominus","&#x29B4;":"\\vec{\\varnothing}","&#x29B3;":"\\vec{\\varnothing}","&#x29B2;":"\\dot{\\varnothing}","&#x29B1;":"\\overline{\\varnothing}","&#x29B0;":"\\varnothing","&#x29AF;":"","&#x29AE;":"","&#x29AD;":"","&#x29AC;":"","&#x29AB;":"","&#x29AA;":"","&#x29A9;":"","&#x29A8;":"","&#x29A7;":"","&#x29A6;":"","&#x29A5;":"","&#x29A4;":"","&#x29A3;":"","&#x29A2;":"","&#x29A1;":"\\not\\lor","&#x29A0;":"\\bcancel{>}","&#x2982;":":","&#x2981;":"\\circ","&#x2758;":"|","&#x25B2;":"\\bigtriangleup","&#x22FF;":"\\Epsilon","&#x22FE;":"\\overline{\\ni}","&#x22FD;":"\\overline{\\ni}","&#x22FC;":"\\in","&#x22FB;":"\\in","&#x22FA;":"\\in","&#x22F9;":"\\underline{\\in}","&#x22F8;":"\\underline{\\in}","&#x22F7;":"\\overline{\\in}","&#x22F6;":"\\overline{\\in}","&#x22F5;":"\\dot{\\in}","&#x22F4;":"\\in","&#x22F3;":"\\in","&#x22F2;":"\\in","&#x22F0;":"\\ddots","&#x22E9;":"\\underset{\\sim}{\\succ}","&#x22E8;":"\\underset{\\sim}{\\prec}","&#x22E7;":"\\underset{\\not\\sim}{>}","&#x22E6;":"\\underset{\\not\\sim}{<}","&#x22E5;":"\\not\\sqsupseteq","&#x22E4;":"\\not\\sqsubseteq","&#x22E3;":"\\not\\sqsupseteq","&#x22E2;":"\\not\\sqsubseteq","&#x22E1;":"\\nsucc","&#x22E0;":"\\nprec","&#x22DF;":"\\succ","&#x22DE;":"\\prec","&#x22DD;":"\\overline{>}","&#x22DC;":"\\overline{<}","&#x22DB;":"\\underset{>}{\\leq}","&#x22DA;":"\\underset{<}{\\geq}","&#x22D5;":"\\#","&#x22D3;":"\\cup","&#x22D2;":"\\cap","&#x22D1;":"\\supset","&#x22D0;":"\\subset","&#x22CF;":"\\wedge","&#x22CE;":"\\vee","&#x22CD;":"\\simeq","&#x22C8;":"\\bowtie","&#x22C7;":"\\ast","&#x22C6;":"\\star","&#x22C4;":"\\diamond","&#x22BF;":"\\triangle","&#x22BE;":"\\measuredangle","&#x22BD;":"\\overline{\\lor}","&#x22BC;":"\\overline{\\land}","&#x22BB;":"\\underline{\\lor}","&#x22BA;":"\\top","&#x22B9;":"","&#x22B7;":"\\circ\\multimap","&#x22B6;":"\\circ\\multimap","&#x22B3;":"\\triangleright","&#x22B2;":"\\triangleleft","&#x22B1;":"\\succ","&#x22B0;":"\\prec","&#x22AB;":"|\\models","&#x22AA;":"|\\models","&#x22A7;":"\\models","&#x22A6;":"\\vdash","&#x229D;":"\\ominus","&#x229C;":"\\ominus","&#x229B;":"\\odot","&#x229A;":"\\odot","&#x2294;":"\\sqcup","&#x2293;":"\\sqcap","&#x2292;":"\\sqsupseteq","&#x2291;":"\\sqsubseteq","&#x2290;&#x338;":"\\not\\sqsupset","&#x2290;":"\\sqsupset","&#x228F;&#x338;":"\\not\\sqsubset","&#x228F;":"\\sqsubset","&#x228E;":"\\cup","&#x228D;":"\\cup","&#x228C;":"\\cup","&#x227F;&#x338;":"\\not\\succsim","&#x227F;":"\\succsim","&#x227E;":"\\precsim","&#x2279;":"\\not\\overset{>}{<}","&#x2278;":"\\not\\overset{>}{<}","&#x2277;":"\\overset{>}{<}","&#x2276;":"\\overset{<}{>}","&#x2275;":"\\not\\geg","&#x2274;":"\\not\\leq","&#x2273;":"\\geg","&#x2272;":"\\leq","&#x226C;":"","&#x2267;":"\\geg","&#x2266;&#x338;":"\\not\\leq","&#x2266;":"\\leq","&#x2263;":"\\overset{=}{=} ","&#x225E;":"\\overset{m}{=} ","&#x225D;":"\\overset{def}{=}","&#x2258;":"=","&#x2256;":"=","&#x2255;":"=:","&#x2253;":"\\doteq","&#x2252;":"\\doteq","&#x2251;":"\\doteq","&#x2250;":"\\doteq","&#x224F;&#x338;":"","&#x224F;":"","&#x224E;&#x338;":"","&#x224E;":"","&#x224C;":"\\approx","&#x224B;":"\\approx","&#x224A;":"\\approx","&#x2242;&#x338;":"\\neq","&#x2242;":"=","&#x223F;":"\\sim","&#x223E;":"\\infty","&#x223D;&#x331;":"\\sim","&#x223D;":"\\sim","&#x223B;":"\\sim","&#x223A;":":-:","&#x2239;":"-:","&#x2238;":"\\bot","&#x2237;":"::","&#x2236;":":","&#x2223;":"|","&#x221F;":"\\llcorner","&#x2219;":"\\cdot","&#x2218;":"\\circ","&#x2217;":"*","&#x2215;":"/","&#x220E;":"\\square","&#x220D;":"\\ni","&#x220A;":"\\in","&#x2206;":"\\Delta","&#x2044;":"/","&#x2AB0;&#x338;":"\\nsucceq","&#x2AB0;":"\\succeq","&#x2AAF;&#x338;":"\\npreceq","&#x2AAF;":"\\preceq","&#x2A88;":"\\ngeqslant","&#x2A87;":"\\nleqslant","&#x29F3;":"\\Phi","&#x29E6;":"\\models","&#x29E5;":"\\not\\equiv","&#x29E4;":"\\approx\\neq","&#x29E3;":"\\neq","&#x29C1;":"\\circle","&#x29C0;":"\\circle","&#x25E6;":"\\circle","&#x25D7;":"\\circle","&#x25D6;":"\\circle","&#x25CF;":"\\circle","&#x25CE;":"\\circledcirc","&#x25CD;":"\\circledcirc","&#x25CC;":"\\circledcirc","&#x25C9;":"\\circledcirc","&#x25C8;":"\\diamond","&#x25C7;":"\\diamond","&#x25C6;":"\\diamond","&#x25C5;":"\\triangleleft","&#x25C4;":"\\triangleleft","&#x25C3;":"\\triangleleft","&#x25C2;":"\\triangleleft","&#x25C1;":"\\triangleleft","&#x25C0;":"\\triangleleft","&#x25BF;":"\\triangledown","&#x25BE;":"\\triangledown","&#x25BD;":"\\triangledown","&#x25BC;":"\\triangledown","&#x25B9;":"\\triangleright","&#x25B8;":"\\triangleright","&#x25B7;":"\\triangleright","&#x25B6;":"\\triangleright","&#x25B5;":"\\triangle","&#x25B4;":"\\triangle","&#x25B3;":"\\triangle","&#x25B1;":"\\square","&#x25B0;":"\\square","&#x25AF;":"\\square","&#x25AE;":"\\square","&#x25AD;":"\\square","&#x25AB;":"\\square","&#x25AA;":"\\square","&#x25A1;":"\\square","&#x25A0;":"\\square","&#x22ED;":"\\not\\triangleright","&#x22EC;":"\\not\\triangleleft","&#x22EB;":"\\not\\triangleright","&#x22EA;":"\\not\\triangleleft","&#x22D9;":"\\ggg","&#x22D8;":"\\lll","&#x22D7;":"*>","&#x22D6;":"<*","&#x22D4;":"\\pitchfork","&#x22CC;":"","&#x22CB;":"","&#x22CA;":"\\rtimes","&#x22C9;":"\\ltimes","&#x22B5;":"\\triangleright","&#x22B4;":"","&#x22A5;":"\\bot","&#x2281;":"\\nsucc","&#x2280;":"\\preceq","&#x227D;":"\\succeq","&#x227C;":"\\preceq","&#x227B;":"\\succ","&#x227A;":"\\prec","&#x2271;":"\\geq/","&#x2270;":"\\leq/","&#x226D;":"\\neq","&#x226B;&#x338;":"\\not\\gg","&#x226B;":"\\gg","&#x226A;&#x338;":"\\not\\ll","&#x226A;":"\\ll","&#x2269;":"\\ngeqslant","&#x2268;":"\\nleqslant","&#x2261;":"\\equiv","&#x225F;":"\\doteq","&#x225C;":"\\triangleq","&#x225B;":"\\doteq","&#x225A;":"\\triangleq","&#x2259;":"\\triangleq","&#x2257;":"\\doteq","&#x2254;":":=","&#x224D;":"\\asymp","&#x2247;":"\\ncong","&#x2246;":"\\ncong","&#x2245;":"\\cong","&#x2244;":"\\not\\simeq","&#x2243;":"\\simeq","&#x2241;":"\\not\\sim","&#x2226;":"\\not\\parallel","&#x2225;":"\\parallel","&#x2224;":"\\not|","&#x221D;":"\\propto","==":"==","=":"=",":=":":=","/=":"=","-=":"-=","+=":"+=","*=":"*=","!=":"!=","&#x2260;":"\\neq","&#x2262;":"\\equiv /","&#x2249;":"\\approx /","&#x223C;":"sim","&#x2248;":"\\approx","&#x226E;":"</","&lt;":"<","&#x226F;":">/",">=":">=",">":">","&#x2265;":"\\geq","&#x2264;":"\\leq","&lt;=":"<=","&#x228B;":"\\supsetneq","&#x228A;":"\\subsetneq","&#x2289;":"\\nsupseteq","&#x2288;":"\\nsubseteq","&#x2287;":"\\supseteq","&#x2286;":"\\subseteq","&#x2285;":"\\not\\supset","&#x2284;":"\\not\\subset","&#x2283;&#x20D2;":"\\supset |","&#x2283;":"\\supset","&#x2282;&#x20D2;":"\\subset |","&#x2282;":"\\subset","&#x220C;":"\\not\\in","&#x2209;":"\\notin","&#x2208;":"\\in","&#x2201;":"C","&#x2204;":"\\nexists","&#x2203;":"\\exists","&#x2200;":"\\forall","&#x2227;":"\\land","&amp;&amp;":"\\&\\&","&#x2228;":"\\lor","&#x22AF;":"\\cancel{\\vDash}","&#x22AE;":"\\cancel{\\Vdash}","&#x22AD;":"\\nvDash","&#x22AC;":"\\nvDash","&#x22A9;":"\\Vdash","&#x22A8;":"\\vDash","&#x22A4;":"\\top","&#x22A3;":"\\dashv","&#x22A2;":"\\vdash","&#x220B;":"\\ni","&#x22F1;":"\\ddots","&#x22EF;":"\\hdots","&#x22EE;":"\\vdots","&#x2026;":"\\hdots","&#x3F6;":"\\ni",":":":","...":"\\cdots","..":"..","->":"->","&#x2235;":"\\because","&#x2234;":"\\therefore ","&#x2063;":"",",":",",";":";","&#x29FD;":"\\}","&#x29FC;":"\\{","&#x2998;":"\\]","&#x2997;":"\\[","&#x2996;":"\\ll","&#x2995;":"\\gg","&#x2994;":"\\gg","&#x2993;":"\\ll","&#x2992;":"\\gg","&#x2991;":"\\ll","&#x2990;":"\\]","&#x298F;":"\\]","&#x298E;":"\\]","&#x298D;":"\\[","&#x298C;":"\\[","&#x298B;":"\\]","&#x298A;":"\\triangleright","&#x2989;":"\\triangleleft","&#x2988;":"|\\)","&#x2987;":"\\(|","&#x2986;":"|\\)","&#x2985;":"\\(\\(","&#x2984;":"|\\}","&#x2983;":"\\{|","&#x2980;":"\\||","&#x27EF;":"\\left. \\right]","&#x27EE;":"\\left[ \\right.","&#x27ED;":"\\left. \\right]]","&#x27EC;":"\\left[[ \\right.","&#x27EB;":"\\gg","&#x27EA;":"\\ll","&#x27E9;":"\\rangle","&#x27E8;":"\\langle","&#x27E7;":"\\left. \\right]]","&#x27E6;":"\\left[[ \\right.","&#x2773;":"\\left.\\right)","&#x2772;":"\\left(\\right.","&#x232A;":"\\rangle","&#x2329;":"\\langle","&#x230B;":"\\rfloor","&#x230A;":"\\lfloor","&#x2309;":"\\rceil","&#x2308;":"\\lceil","&#x2016;":"\\parallel","}":"\\left.\\right\\}","{":"\\left\\{\\right.","]":"\\left]\\right.","[":"\\left[\\right.",")":"\\left.\\right)","(":"\\left(\\right.","&#x201D;":'"',"&#x201C;":"``","&#x2019;":"'","&#x2018;":"`","%CE%B1":"\\alpha","%CE%B2":"\\beta","%CE%B3":"\\gamma","%CE%93":"\\Gamma","%CE%B4":"\\delta","%CE%94":"\\Delta","%CF%B5":"\\epsilon","%CE%B6":"\\zeta","%CE%B7":"\\eta","%CE%B8":"\\theta","%CE%98":"\\Theta","%CE%B9":"\\iota","%CE%BA":"\\kappa","%CE%BB":"\\lambda","%CE%BC":"\\mu","%CE%BD":"\\nu","%CE%BF":"\\omicron","%CF%80":"\\pi","%CE%A0":"\\Pi","%CF%81":"\\pho","%CF%83":"\\sigma","%CE%A3":"\\Sigma","%CF%84":"\\tau","%CF%85":"\\upsilon","%CE%A5":"\\Upsilon","%CF%95":"\\phi","%CE%A6":"\\Phi","%CF%87":"\\chi","%CF%88":"\\psi","%CE%A8":"\\Psi","%CF%89":"\\omega","%CE%A9":"\\Omega"},allMathOperatorsByGlyph={_:"\\underline","\u23E1":"\\underbrace","\u23E0":"\\overbrace","\u23DF":"\\underbrace","\u23DE":"\\overbrace","\u23DD":"\\underbrace","\u23DC":"\\overbrace","\u23B5":"\\underbrace","\u23B4":"\\overbrace","\u20DC":"\\square","\u20DB":"\\square","\u2064":"","\u2057":"''''","\u203E":"\\overline","\u2037":"```","\u2036":"``","\u2035":"`","\u2034":"'''","\u2033":"''","\u201F":"``","\u201E":",,","\u201B":"`","\u201A":",","^":"\\hat","\u02F7":"\\sim","\u02DD":"\\sim","\u02DC":"\\sim","\u02DA":"\\circ","\u02D9":"\\cdot","\u02D8":" ","\u02CD":"\\_","\u02CB":"\u02CB","\u02CA":"\u02CA","\u02C9":"\u02C9","\u02C7":"","\u02C6":"\\hat",\u00BA:"o","\xB9":"1","\xB8":",","\xB4":"\xB4","\xB3":"3","\xB2":"2","\xB0":"\\circ","\xAF":"\\bar",\u00AA:"a","\u219B":"\\nrightarrow","\xA8":"\\cdot\\cdot","~":"\\sim","`":"`","--":"--","++":"++","&":"\\&","\u221C":"\\sqrt[4]{}","\u221B":"\\sqrt[3]{}","\u221A":"\\sqrt{}","\u2146":"d","\u2145":"\\mathbb{D}","?":"?","@":"@","//":"//","!!":"!!","!":"!","\u266F":"\\#","\u266E":"","\u266D":"","\u2032":"'","<>":"<>","**":"\\star\\star","\u2207":"\\nabla","\u2202":"\\partial","\u2299":"\\bigodot","\xAC":"\\neg","\u2222":"\\measuredangle","\u2221":"\\measuredangle","\u2220":"\\angle","\xF7":"\\div","/":"/","\u2216":"\\backslash","\\":"\\backslash","%":"\\%","\u2297":"\\bigotimes","\xB7":"\\cdot","\u2A3F":"\\coprod","\u2A2F":"\\times","\u22C5":"\\cdot","\u22A1":"\\boxdot","\u22A0":"\\boxtimes","\u2062":"","\u2061":"","\u2043":"-","\u2022":"\\cdot",".":".","*":"\\star","\u222A":"\\cup","\u2229":"\\cap","\u2210":"\\coprod","\u220F":"\\prod","\u2240":"","\u2AFF":"","\u2AFC":"\\mid\\mid\\mid","\u2A09":"\\times","\u2A08":"","\u2A07":"","\u2A06":"\\sqcup","\u2A05":"\\sqcap","\u2A02":"\\otimes","\u2A00":"\\odot","\u22C2":"\\cap","\u22C1":"\\vee","\u22C0":"\\wedge","\u2A04":"\\uplus","\u2A03":"\\cup","\u22C3":"\\cup","\u2A1C":"\\underline{\\int}","\u2A1B":"\\overline{\\int}","\u2A1A":"\\int","\u2A19":"\\int","\u2A18":"\\int","\u2A17":"\\int","\u2A16":"\\oint","\u2A15":"\\oint","\u2A14":"\\int","\u2A13":"\\int","\u2A12":"\\int","\u2A11":"\\int","\u2A10":"\\int","\u2A0F":"\\bcancel{\\int}","\u2A0E":"","\u2A0D":"\\hcancel{\\int}","\u2A0C":"\\iiiint","\u2233":"\\oint","\u2232":"\\oint","\u2231":"\\int","\u2230":"\\oiint","\u222F":"\\oiint","\u222E":"\\oint","\u222B":"\\int","\u2A01":"\\oplus","\u2298":"\\oslash","\u2296":"\\ominus","\u2295":"\\oplus","\u222D":"\\iiint","\u222C":"\\iint","\u2A0B":"","\u2A0A":"","\u2211":"\\sum","\u229F":"\\boxminus","\u229E":"\\boxplus","\u2214":"\\dot{+}","\u2213":"+-","\u2212":"-","\xB1":"\\pm","-":"-","+":"+","\u2B46":"\\Rrightarrow","\u2B45":"\\Lleftarrow","\u29F4":":\\rightarrow","\u29EF":"","\u29DF":"\\bullet-\\bullet","\u299F":"\\angle","\u299E":"\\measuredangle","\u299D":"\\measuredangle","\u299C":"\\perp","\u299B":"\\measuredangle","\u299A":"","\u2999":"\\vdots","\u297F":"","\u297E":"","\u297D":"\\prec","\u297C":"\\succ","\u297B":"\\underset{\\rightarrow}{\\supset}","\u297A":"","\u2979":"\\underset{\\rightarrow}{\\subset}","\u2978":"\\underset{\\rightarrow}{>}","\u2977":"","\u2976":"\\underset{\\leftarrow}{<}","\u2975":"\\underset{\\approx}{\\rightarrow}","\u2974":"\\underset{\\sim}{\\rightarrow}","\u2973":"\\underset{\\sim}{\\leftarrow}","\u2972":"\\overset{\\sim}{\\rightarrow}","\u2971":"\\overset{=}{\\rightarrow}","\u2970":"","\u296F":"","\u296E":"","\u296D":"\\overline{\\rightharpoondown}","\u296C":"\\underline{\\rightharpoonup}","\u296B":"\\overline{\\leftharpoondown}","\u296A":"\\underline{\\leftharpoonup}","\u2969":"\\rightleftharpoons","\u2968":"\\rightleftharpoons","\u2967":"\\rightleftharpoons","\u2966":"\\rightleftharpoons","\u2965":"\\Downarrow","\u2964":"\\Rightarrow","\u2963":"\\Uparrow","\u2962":"\\Leftarrow","\u2961":"\\downarrow","\u2960":"\\uparrow","\u295F":"\\rightarrow","\u295E":"\\leftarrow","\u295D":"\\downarrow","\u295C":"\\uparrow","\u295B":"\\rightarrow","\u295A":"\\leftarrow","\u2959":"\\downarrow","\u2958":"\\uparrow","\u2957":"\\rightarrow","\u2956":"\\leftarrow","\u2955":"\\downarrow","\u2954":"\\uparrow","\u2953":"\\rightarrow","\u2952":"\\leftarrow","\u2951":"\\updownarrow","\u2950":"\\leftrightarrow","\u294F":"\\updownarrow","\u294E":"\\leftrightarrow","\u294D":"\\updownarrow","\u294C":"\\updownarrow","\u294B":"\\leftrightarrow","\u294A":"\\leftrightarrow","\u2949":"","\u2948":"\\leftrightarrow","\u2947":"\\nrightarrow","\u2946":"","\u2945":"","\u2944":"\\rightleftarrows","\u2943":"\\leftrightarrows","\u2942":"\\rightleftarrows","\u2941":"\\circlearrowright","\u2940":"\\circlearrowleft","\u293F":"\\rightarrow","\u293E":"\\leftarrow","\u293D":"\\leftarrow","\u293C":"\\rightarrow","\u293B":"\\rightarrow","\u293A":"\\leftarrow","\u2939":"\\downarrow","\u2938":"\\downarrow","\u2937":"\\Rsh","\u2936":"\\Lsh","\u2935":"\\downarrow","\u2934":"\\uparrow","\u2933":"\\rightarrow","\u2932":"\\leftarrow","\u2931":" ","\u2930":" ","\u292F":" ","\u292E":" ","\u292D":" ","\u292C":"\\times","\u292B":"\\times","\u292A":" ","\u2929":" ","\u2928":" ","\u2927":" ","\u2926":" ","\u2925":" ","\u2924":" ","\u2923":" ","\u2922":" ","\u2921":" ","\u2920":"\\mapsto\\cdot","\u291F":"\\cdot\\leftarrow","\u291E":"\\rightarrow\\cdot","\u291D":"\\leftarrow","\u291C":"\\rightarrow","\u291B":"\\leftarrow","\u291A":"\\rightarrow","\u2919":"\\leftarrow","\u2918":"\\rightarrow","\u2917":"\\rightarrow","\u2916":"\\rightarrow","\u2915":"\\rightarrow","\u2914":"\\rightarrow","\u2913":"\\downarrow","\u2912":"\\uparrow","\u2911":"\\rightarrow","\u2910":"\\rightarrow","\u290F":"\\rightarrow","\u290E":"\\leftarrow","\u290D":"\\rightarrow","\u290C":"\\leftarrow","\u290B":"\\Downarrow","\u290A":"\\Uparrow","\u2909":"\\uparrow","\u2908":"\\downarrow","\u2907":"\\Rightarrow","\u2906":"\\Leftarrow","\u2905":"\\mapsto","\u2904":"\\nLeftrightarrow","\u2903":"\\nRightarrow","\u2902":"\\nLeftarrow","\u2901":"\\rightsquigarrow","\u2900":"\\rightsquigarrow","\u27FF":"\\rightsquigarrow","\u27FE":"\\Rightarrow","\u27FD":"\\Leftarrow","\u27FC":"\\mapsto","\u27FB":"\\leftarrow","\u27FA":"\\Longleftrightarrow","\u27F9":"\\Longrightarrow","\u27F8":"\\Longleftarrow","\u27F7":"\\leftrightarrow","\u27F6":"\\rightarrow","\u27F5":"\\leftarrow","\u27F1":"\\Downarrow","\u27F0":"\\Uparrow","\u22B8":"\\rightarrow","\u21FF":"\\leftrightarrow","\u21FE":"\\rightarrow","\u21FD":"\\leftarrow","\u21FC":"\\nleftrightarrow","\u21FB":"\\nrightarrow","\u21FA":"\\nleftarrow","\u21F9":"\\nleftrightarrow","\u21F8":"\\nrightarrow","\u21F7":"\\nleftarrow","\u21F6":"\\Rrightarrow","\u21F5":"","\u21F4":"\\rightarrow","\u21F3":"\\Updownarrow","\u21F2":"\\searrow","\u21F1":"\\nwarrow","\u21F0":"\\Leftarrow","\u21EF":"\\Uparrow","\u21EE":"\\Uparrow","\u21ED":"\\Uparrow","\u21EC":"\\Uparrow","\u21EB":"\\Uparrow","\u21EA":"\\Uparrow","\u21E9":"\\Downarrow","\u21E8":"\\Rightarrow","\u21E7":"\\Uparrow","\u21E6":"\\Leftarrow","\u21E5":"\\rightarrow","\u21E4":"\\leftarrow","\u21E3":"\\downarrow","\u21E2":"\\rightarrow","\u21E1":"\\uparrow","\u21E0":"\\leftarrow","\u21DF":"\\downarrow","\u21DE":"\\uparrow","\u21DD":"\\rightsquigarrow","\u21DC":"\\leftarrow","\u21DB":"\\Rrightarrow","\u21DA":"\\Lleftarrow","\u21D9":"\\swarrow","\u21D8":"\\searrow","\u21D7":"\\nearrow","\u21D6":"\\nwarrow","\u21D5":"\\Updownarrow","\u21D4":"\\Leftrightarrow","\u21D3":"\\Downarrow","\u21D2":"\\Rightarrow","\u21D1":"\\Uparrow","\u21D0":"\\Leftarrow","\u21CF":"\\nRightarrow","\u21CE":"\\nLeftrightarrow","\u21CD":"\\nLeftarrow","\u21CC":"\\rightleftharpoons","\u21CB":"\\leftrightharpoons","\u21CA":"\\downdownarrows","\u21C9":"\\rightrightarrows","\u21C8":"\\upuparrows","\u21C7":"\\leftleftarrows","\u21C6":"\\leftrightarrows","\u21C5":"","\u21C4":"\\rightleftarrows","\u21C3":"\\downharpoonleft","\u21C2":"\\downharpoonright","\u21C1":"\\rightharpoondown","\u21C0":"\\rightharpoonup","\u21BF":"\\upharpoonleft","\u21BE":"\\upharpoonright","\u21BD":"\\leftharpoondown","\u21BC":"\\leftharpoonup","\u21BB":"\\circlearrowright","\u21BA":"\\circlearrowleft","\u21B9":"\\leftrightarrows","\u21B8":"\\overline{\\nwarrow}","\u21B7":"\\curvearrowright","\u21B6":"\\curvearrowleft","\u21B5":"\\swarrow","\u21B4":"\\searrow","\u21B3":"\\Rsh","\u21B2":"\\Lsh","\u21B1":"\\Rsh","\u21B0":"\\Lsh","\u21AF":"\\swarrow","\u21AE":"","\u21AD":"\\leftrightsquigarrow","\u21AC":"\\looparrowright","\u21AB":"\\looparrowleft","\u21AA":"\\hookrightarrow","\u21A9":"\\hookleftarrow","\u21A8":"\\underline{\\updownarrow}","\u21A7":"\\downarrow","\u21A6":"\\mapsto","\u21A5":"\\uparrow","\u21A4":"\\leftarrowtail","\u21A3":"\\rightarrowtail","\u21A2":"\\leftarrowtail","\u21A1":"\\downarrow","\u21A0":"\\twoheadrightarrow","\u219F":"\\uparrow","\u219E":"\\twoheadleftarrow","\u219D":"\\nearrow","\u219C":"\\nwarrow","\u219A":"","\u2199":"\\swarrow","\u2198":"\\searrow","\u2197":"\\nearrow","\u2196":"\\nwarrow","\u2195":"\\updownarrow","\u2194":"\\leftrightarrow","\u2193":"\\downarrow","\u2192":"\\rightarrow","\u2191":"\\uparrow","\u2190":"\\leftarrow","|||":"\\left|||\\right.","||":"\\left\\|\\right.","|":"\\mid","\u2AFE":"","\u2AFD":"//","\u2AFB":"///","\u2AFA":"","\u2AF9":"","\u2AF8":"","\u2AF7":"","\u2AF6":"\\vdots","\u2AF5":"","\u2AF4":"","\u2AF3":"","\u2AF2":"\\nparallel","\u2AF1":"","\u2AF0":"","\u2AEF":"","\u2AEE":"\\bcancel{\\mid}","\u2AED":"","\u2AEC":"","\u2AEB":"","\u2AEA":"","\u2AE9":"","\u2AE8":"\\underline{\\perp}","\u2AE7":"\\overline{\\top}","\u2AE6":"","\u2AE5":"","\u2AE4":"","\u2AE3":"","\u2AE2":"","\u2AE1":"","\u2AE0":"\\perp","\u2ADF":"\\top","\u2ADE":"\\dashv","\u2ADD\u0338":"","\u2ADD":"","\u2ADB":"\\pitchfork","\u2ADA":"","\u2AD9":"","\u2AD8":"","\u2AD7":"","\u2AD6":"","\u2AD5":"","\u2AD4":"","\u2AD3":"","\u2AD2":"","\u2AD1":"","\u2AD0":"","\u2ACF":"","\u2ACE":"","\u2ACD":"","\u2ACC":"\\underset{\\neq}{\\supset}","\u2ACB":"\\underset{\\neq}{\\subset}","\u2ACA":"\\underset{\\approx}{\\supset}","\u2AC9":"\\underset{\\approx}{\\subset}","\u2AC8":"\\underset{\\sim}{\\supset}","\u2AC7":"\\underset{\\sim}{\\subset}","\u2AC6":"\\supseteqq","\u2AC5":"\\subseteqq","\u2AC4":"\\dot{\\supseteq}","\u2AC3":"\\dot{\\subseteq}","\u2AC2":"\\underset{\\times}{\\supset}","\u2AC1":"\\underset{\\times}{\\subset}","\u2AC0":"\\underset{+}{\\supset}","\u2ABF":"\\underset{+}{\\subset}","\u2ABE":"","\u2ABD":"","\u2ABC":"\\gg ","\u2ABB":"\\ll","\u2ABA":"\\underset{\\cancel{\\approx}}{\\succ}","\u2AB9":"\\underset{\\cancel{\\approx}}{\\prec}","\u2AB8":"\\underset{\\approx}{\\succ}","\u2AB7":"\\underset{\\approx}{\\prec}","\u2AB6":"\\underset{\\cancel{=}}{\\succ}","\u2AB5":"\\underset{\\cancel{=}}{\\prec}","\u2AB4":"\\underset{=}{\\succ}","\u2AB3":"\\underset{=}{\\prec}","\u2AB2":"","\u2AB1":"","\u2AAE":"","\u2AAD":"\\underline{\\hcancel{>}}","\u2AAC":"\\underline{\\hcancel{>}}","\u2AAB":"\\hcancel{>}","\u2AAA":"\\hcancel{<}","\u2AA9":"","\u2AA8":"","\u2AA7":"\\vartriangleright","\u2AA6":"\\vartriangleleft","\u2AA5":"><","\u2AA4":"><","\u2AA3":"\\underline{\\ll}","\u2AA2\u0338":"\\cancel{\\gg}","\u2AA2":"\\gg","\u2AA1\u0338":"\\cancel{\\ll}","\u2AA1":"\\ll","\u2AA0":"\\overset{\\sim}{\\geqq}","\u2A9F":"\\overset{\\sim}{\\leqq}","\u2A9E":"\\overset{\\sim}{>}","\u2A9D":"\\overset{\\sim}{<}","\u2A9C":"","\u2A9B":"","\u2A9A":"\\overset{=}{>}","\u2A99":"\\overset{=}{<}","\u2A98":"","\u2A97":"","\u2A96":"","\u2A95":"","\u2A94":"","\u2A93":"","\u2A92":"\\underset{=}{\\gtrless}","\u2A91":"\\underset{=}{\\lessgtr}","\u2A90":"\\underset{<}{\\gtrsim}","\u2A8F":"\\underset{>}{\\lesssim}","\u2A8E":"\\underset{\\simeq}{>}","\u2A8D":"\\underset{\\simeq}{<}","\u2A8C":"\\gtreqqless","\u2A8B":"\\lesseqqgtr","\u2A8A":"\\underset{\\cancel{\\approx}}{>}","\u2A89":"\\underset{\\approx}{<}","\u2A86":"\\underset{\\approx}{>}","\u2A85":"\\underset{\\approx}{<}","\u2A84":"","\u2A83":"","\u2A82":"","\u2A81":"","\u2A80":"","\u2A7F":"","\u2A7E\u0338":"\\bcancel{\\geq}","\u2A7E":"\\geq","\u2A7D\u0338":"\\bcancel{\\leq}","\u2A7D":"\\leq","\u2A7C":"","\u2A7B":"","\u2A7A":"","\u2A79":"","\u2A78":"\\overset{\\dots}{\\equiv}","\u2A77":"","\u2A76":"===","\u2A75":"==","\u2A74":"::=","\u2A73":"","\u2A72":"\\underset{=}{+}","\u2A71":"\\overset{=}{+}","\u2A70":"\\overset{\\approx}{=}","\u2A6F":"\\overset{\\wedge}{=}","\u2A6E":"\\overset{*}{=}","\u2A6D":"\\dot{\\approx}","\u2A6C":"","\u2A6B":"","\u2A6A":"\\dot{\\sim}","\u2A69":"","\u2A68":"","\u2A67":"\\dot{\\equiv}","\u2A66":"\\underset{\\cdot}{=}","\u2A65":"","\u2A64":"","\u2A63":"\\underset{=}{\\vee}","\u2A62":"\\overset{=}{\\vee}","\u2A61":"ul(vv)","\u2A60":"\\underset{=}{\\wedge}","\u2A5F":"\\underline{\\wedge}","\u2A5E":"\\overset{=}{\\wedge}","\u2A5D":"\\hcancel{\\vee}","\u2A5C":"\\hcancel{\\wedge}","\u2A5B":"","\u2A5A":"","\u2A59":"","\u2A58":"\\vee","\u2A57":"\\wedge","\u2A56":"","\u2A55":"","\u2A54":"","\u2A53":"","\u2A52":"\\dot{\\vee}","\u2A51":"\\dot{\\wedge}","\u2A50":"","\u2A4F":"","\u2A4E":"","\u2A4D":"\\overline{\\cap}","\u2A4C":"\\overline{\\cup}","\u2A4B":"","\u2A4A":"","\u2A49":"","\u2A48":"","\u2A47":"","\u2A46":"","\u2A45":"","\u2A44":"","\u2A43":"\\overline{\\cap}","\u2A42":"\\overline{\\cup}","\u2A41":"","\u2A40":"","\u2A3E":"","\u2A3D":"\\llcorner","\u2A3C":"\\lrcorner","\u2A3B":"","\u2A3A":"","\u2A39":"","\u2A38":"","\u2A37":"","\u2A36":"\\hat{\\otimes}","\u2A35":"","\u2A34":"","\u2A33":"","\u2A32":"\\underline{\\times}","\u2A31":"\\underline{\\times}","\u2A30":"\\dot{\\times}","\u2A2E":"\\bigodot","\u2A2D":"\\bigodot","\u2A2C":"","\u2A2B":"","\u2A2A":"","\u2A29":"","\u2A28":"","\u2A27":"","\u25FB":"\\Box","\u2A26":"\\underset{\\sim}{+}","\u2A25":"\\underset{\\circ}{+}","\u2A24":"\\overset{\\sim}{+}","\u2A23":"\\hat{+}","\u2A22":"\\dot{+}","\u2A21":"\\upharpoonright","\u2A20":">>","\u2A1F":"","\u2A1E":"\\triangleleft","\u2A1D":"\\bowtie","\u29FF":"","\u29FE":"+","\u29FB":"\\hcancel{|||}","\u29FA":"\\hcancel{||}","\u29F9":"\\backslash","\u29F8":"/","\u29F7":"hcancel{\backslash}","\u29F6":"","\u29F5":"\\backslash","\u29F2":"\\Phi","\u29F1":"","\u29F0":"","\u29EE":"","\u29ED":"","\u29EC":"","\u29EB":"\\lozenge","\u29EA":"","\u29E9":"","\u29E8":"","\u29E7":"\\ddagger","\u29E2":"\\sqcup\\sqcup","\u29E1":"","\u29E0":"\\square","\u29DE":"","\u29DD":"","\u29DC":"","\u29DB":"\\{\\{","\u29D9":"\\{","\u29D8":"\\}","\u29D7":"","\u29D6":"","\u29D5":"\\bowtie","\u29D4":"\\bowtie","\u29D3":"\\bowtie","\u29D2":"\\bowtie","\u29D1":"\\bowtie","\u29D0\u0338":"| \\not\\triangleright","\u29D0":"| \\triangleright","\u29CF\u0338":"\\not\\triangleleft |","\u29CF":"\\triangleleft |","\u29CE":"","\u29CD":"\\triangle","\u29CC":"","\u29CB":"\\underline{\\triangle}","\u29CA":"\\dot{\\triangle}","\u29C9":"","\u29C8":"\\boxed{\\circ}","\u29C7":"\\boxed{\\circ}","\u29C6":"\\boxed{\\rightarrow}","\u29C5":"\\bcancel{\\square}","\u29C4":"\\cancel{\\square}","\u29C3":"\\odot","\u29C2":"\\odot","\u29BF":"\\odot","\u29BE":"\\odot","\u29BD":"\\varnothing","\u29BC":"\\oplus","\u29BB":"\\otimes","\u29BA":"","\u29B9":"\\varnothing","\u29B8":"\\varnothing","\u29B7":"\\ominus","\u29B6":"\\ominus","\u29B5":"\\ominus","\u29B4":"\\vec{\\varnothing}","\u29B3":"\\vec{\\varnothing}","\u29B2":"\\dot{\\varnothing}","\u29B1":"\\overline{\\varnothing}","\u29B0":"\\varnothing","\u29AF":"\\measuredangle","\u29AE":"\\measuredangle","\u29AD":"\\measuredangle","\u29AC":"\\measuredangle","\u29AB":"\\measuredangle","\u29AA":"\\measuredangle","\u29A9":"\\measuredangle","\u29A8":"\\measuredangle","\u29A7":"","\u29A6":"","\u29A5":"","\u29A4":"","\u29A3":"\\ulcorner","\u29A2":"\\measuredangle","\u29A1":"\\not\\lor","\u29A0":"\\bcancel{>}","\u2982":":","\u2981":"\\cdot","\u2758":"\\mid","\u25B2":"\\bigtriangleup","\u22FF":"\\Epsilon","\u22FE":"\\overline{\\ni}","\u22FD":"\\overline{\\ni}","\u22FC":"\\in","\u22FB":"\\in","\u22FA":"\\in","\u22F9":"\\underline{\\in}","\u22F8":"\\underline{\\in}","\u22F7":"\\overline{\\in}","\u22F6":"\\overline{\\in}","\u22F5":"\\dot{\\in}","\u22F4":"\\in","\u22F3":"\\in","\u22F2":"\\in","\u22F0":"\\ddots","\u0589":":","\u22E9":"\\underset{\\sim}{\\succ}","\u22E8":"\\underset{\\sim}{\\prec}","\u22E7":"\\underset{\\not\\sim}{>}","\u22E6":"\\underset{\\not\\sim}{<}","\u22E5":"\\not\\sqsupseteq","\u22E4":"\\not\\sqsubseteq","\u22E3":"\\not\\sqsupseteq","\u22E2":"\\not\\sqsubseteq","\u22E1":"\\nsucc","\u22E0":"\\nprec","\u22DF":"\\succ","\u22DE":"\\prec","\u22DD":"\\overline{>}","\u22DC":"\\overline{<}","\u22DB":"\\underset{>}{\\leq}","\u22DA":"\\underset{<}{\\geq}","\u22D5":"\\#","\u22D3":"\\cup","\u22D2":"\\cap","\u22D1":"\\supset","\u22D0":"\\subset","\u22CF":"\\wedge","\u22CE":"\\vee","\u22CD":"\\simeq","\u22C8":"\\Join","\u22C7":"\\ast","\u22C6":"\\star","\u22C4":"\\diamond","\u22BF":"\\triangle","\u22BE":"\\measuredangle","\u22BD":"\\overline{\\lor}","\u22BC":"\\overline{\\land}","\u22BB":"\\underline{\\lor}","\u22BA":"\\top",\u571F:"\\pm",\u5341:"+","\u22B9":"","\u22B7":"\\circ\\multimap","\u22B6":"\\circ\\multimap","\u22B3":"\\triangleright","\u22B2":"\\triangleleft","\u22B1":"\\succ","\u22B0":"\\prec","\u22AB":"|\\models","\u22AA":"|\\models","\u22A7":"\\models","\u22A6":"\\vdash","\u229D":"\\ominus","\u229C":"\\ominus","\u229B":"\\odot","\u229A":"\\odot","\u2294":"\\sqcup","\u2293":"\\sqcap","\u2292":"\\sqsupseteq","\u2291":"\\sqsubseteq","\u2290\u0338":"\\not\\sqsupset","\u2290":"\\sqsupset","\u228F\u0338":"\\not\\sqsubset","\u228F":"\\sqsubset","\u228E":"\\cup","\u228D":"\\cup","\u228C":"\\cup","\u227F\u0338":"\\not\\succsim","\u227F":"\\succsim","\u227E":"\\precsim","\u2279":"\\not\\overset{>}{<}","\u2278":"\\not\\overset{>}{<}","\u2277":"\\overset{>}{<}","\u2276":"\\overset{<}{>}","\u2275":"\\not\\geg","\u2274":"\\not\\leq","\u2273":"\\geg","\u2272":"\\leq","\u226C":"","\u2267":"\\geqq","\u2266\u0338":"\\not\\leq","\u2266":"\\leq","\u2263":"\\overset{=}{=} ","\u225E":"\\overset{m}{=} ","\u225D":"\\overset{def}{=}","\u2258":"=","\u2256":"=","\u2255":"=:","\u2253":"\\doteq","\u2252":"\\doteq","\u2251":"\\doteq","\u2250":"\\doteq","\u224F\u0338":"","\u224F":"","\u224E\u0338":"","\u224E":"","\u224C":"\\approx","\u224B":"\\approx","\u224A":"\\approx","\u2242\u0338":"\\neq","\u2242":"=","\u223F":"\\sim","\u223E":"\\infty","\u223D\u0331":"\\sim","\u223D":"\\sim","\u223B":"\\sim","\u223A":":-:","\u2239":"-:","\u2238":"\\bot","\u2237":"::","\u2236":":","\u2223":"\\mid","\u221F":"\\llcorner","\u2218":"\\circ","\u2217":"*","\u2215":"/","\u220E":"\\square","\u220D":"\\ni","\u220A":"\\in","\u2206":"\\Delta","\u2044":"/","\u2AB0\u0338":"\\nsucceq","\u2AB0":"\\succeq","\u2AAF\u0338":"\\npreceq","\u2AAF":"\\preceq","\u2A88":"\\ngeqslant","\u2A87":"\\nleqslant","\u29F3":"\\Phi","\u29E6":"\\models","\u29E5":"\\not\\equiv","\u29E4":"\\approx\\neq","\u29E3":"\\neq","\u29C1":"\\circle","\u29C0":"\\circle","\u25E6":"\\circle","\u25D7":"\\circle","\u25D6":"\\circle","\u25CF":"\\circle","\u25CE":"\\circledcirc","\u25CD":"\\circledcirc","\u25CC":"\\circledcirc","\u25C9":"\\circledcirc","\u25C8":"\\diamond","\u25C7":"\\diamond","\u25C6":"\\diamond","\u25C5":"\\triangleleft","\u25C4":"\\triangleleft","\u25C3":"\\triangleleft","\u25C2":"\\triangleleft","\u25C1":"\\triangleleft","\u25C0":"\\triangleleft","\u25BF":"\\triangledown","\u25BE":"\\triangledown","\u25BD":"\\triangledown","\u25BC":"\\triangledown","\u25B9":"\\triangleright","\u25B8":"\\triangleright","\u25B7":"\\triangleright","\u25B6":"\\triangleright","\u25B5":"\\triangle","\u25B4":"\\triangle","\u25B3":"\\triangle","\u25B1":"\\square","\u25B0":"\\blacksquare","\u25AF":"\\square","\u25AE":"\\blacksquare","\u25AD":"\\square","\u25AB":"\\square","\u25AA":"\\square","\u25A1":"\\square","\u25A0":"\\blacksquare","\u22ED":"\\not\\triangleright","\u22EC":"\\not\\triangleleft","\u22EB":"\\not\\triangleright","\u22EA":"\\not\\triangleleft","\u22D9":"\\ggg","\u22D8":"\\lll","\u22D7":"*>","\u22D6":"<*","\u22D4":"\\pitchfork","\u22CC":"","\u22CB":"\\bowtie","\u22CA":"\\ltimes","\u22C9":"\\rtimes","\u22B5":"\\triangleright","\\triangleleft":"","\u22A5":"\\bot","\u2281":"\\nsucc","\u2280":"\\preceq","\u227D":"\\succeq","\u227C":"\\preceq","\u227B":"\\succ","\u227A":"\\prec","\u2271":"\\geq/","\u2270":"\\leq/","\u226D":"\\neq","\u226B\u0338":"\\not\\gg","\u226B":"\\gg","\u226A\u0338":"\\not\\ll","\u226A":"\\ll","\u2269":"\\ngeqslant","\u2268":"\\nleqslant","\u2261":"\\equiv","\u225F":"\\doteq","\u225C":"\\triangleq","\u225B":"\\doteq","\u225A":"\\triangleq","\u2259":"\\triangleq","\u2257":"\\doteq","\u2254":":=","\u224D":"\\asymp","\u2247":"\\ncong","\u2246":"\\ncong","\u2245":"\\cong","\u2244":"\\not\\simeq","\u2243":"\\simeq","\u2241":"\\not\\sim","\u2226":"\\not\\parallel","\u2225":"\\parallel","\u2224":"\\not|","\u221D":"\\propto","==":"==","=":"=",":=":":=","/=":"=","-=":"-=","+=":"+=","*=":"*=","!=":"!=","\u2260":"\\neq","\u2262":"\\equiv /","\u2249":"\\approx /","\u223C":"\\sim","\u2248":"\\approx","\u226E":"</","<":"<","\u226F":">/",">=":">=",">":">","\u2265":"\\geq","\u2264":"\\leq","<=":"<=","\u228B":"\\supsetneq","\u228A":"\\subsetneq","\u2289":"\\nsupseteq","\u2288":"\\nsubseteq","\u2287":"\\supseteq","\u2286":"\\subseteq","\u2285":"\\not\\supset","\u2284":"\\not\\subset","\u2283\u20D2":"\\supset |","\u2283":"\\supset","\u2282\u20D2":"\\subset |","\u2282":"\\subset","\u220C":"\\not\\in","\u2209":"\\notin","\u2208":"\\in","\u2201":"C","\u2204":"\\nexists","\u2203":"\\exists","\u2200":"\\forall","\u2227":"\\land","&&":"\\&\\&","\u2228":"\\lor","\u22AF":"\\cancel{\\vDash}","\u22AE":"\\cancel{\\Vdash}","\u22AD":"\\nvDash","\u22AC":"\\nvDash","\u22A9":"\\Vdash","\u22A8":"\\vDash","\u22A4":"\\top","\u22A3":"\\dashv","\u22A2":"\\vdash","\u220B":"\\ni","\u22F1":"\\ddots","\u22EF":"\\hdots","\u22EE":"\\vdots","\u03F6":"\\ni",":":":","...":"\\cdots","..":"..","->":"->","\u2235":"\\because","\u2234":"\\therefore ","\u2063":"",",":",",";":";","\u29FD":"\\}","\u29FC":"\\{","\u2998":"\\]","\u2997":"\\[","\u2996":"\\ll","\u2995":"\\gg","\u2994":"\\gg","\u2993":"\\ll","\u2992":"\\gg","\u2991":"\\ll","\u2990":"\\]","\u298F":"\\]","\u298E":"\\]","\u298D":"\\[","\u298C":"\\[","\u298B":"\\]","\u298A":"\\triangleright","\u2989":"\\triangleleft","\u2988":"|\\)","\u2987":"\\(|","\u2986":"|\\)","\u2985":"\\(\\(","\u2984":"|\\}","\u2983":"\\{|","\u2980":"\\||","\u27EF":"\\left. \\right]","\u27EE":"\\left[ \\right.","\u27ED":"\\left. \\right]]","\u27EC":"\\left[[ \\right.","\u27EB":"\\gg","\u27EA":"\\ll","\u27E7":"\\)|","\u27E6":"\\(|","\u2773":"\\left.\\right)","\u2772":"\\left(\\right.","\u232A":"\\rangle","\u2329":"\\langle","\u230B":"\\rfloor","\u230A":"\\lfloor","\u2309":"\\rceil","\u2308":"\\lceil","\u2016":"\\parallel","}":"\\left.\\right\\}","{":"\\left\\{\\right.","]":"\\left]\\right.","[":"\\left[\\right.",")":"\\left.\\right)","(":"\\left(\\right.","\u201D":'\\"',"\u201C":"\\text{``}","\u2019":"'","\u2018":"`",\u03B1:"\\alpha",\u03B2:"\\beta",\u03B3:"\\gamma",\u0393:"\\Gamma",\u03B4:"\\delta",\u0394:"\\Delta","\u03F5":"\\epsilon",\u03B6:"\\zeta",\u03B7:"\\eta",\u03B8:"\\theta",\u0398:"\\Theta",\u03B9:"\\iota",\u03BA:"\\kappa",\u03BB:"\\lambda",\u03BD:"\\nu",\u03BF:"\\omicron",\u03C0:"\\pi",\u03A0:"\\Pi",\u03C1:"\\rho",\u03C3:"\\sigma",\u03A3:"\\Sigma",\u03C4:"\\tau",\u03C5:"\\upsilon",\u03A5:"\\Upsilon",\u03D5:"\\phi",\u03A6:"\\Phi",\u03C7:"\\chi",\u03C8:"\\psi",\u03A8:"\\Psi",\u03C9:"\\omega",\u03A9:"\\Omega",\u2126:"\\Omega","\u2205":"\\emptyset","\u27F2":"\\circlearrowleft","\u27F3":"\\circlearrowright","\xD7":"\\times","\xBD":"\\dfrac{1}{2}",\u03BC:"\\mu",\u04E8:"\\theta","\u2713":"\\checkmark","\u27E9":"\\rangle","\u27E8":"\\langle","\xBC":"\\dfrac{1}{4}","\u2026":"\\ldots",\u210F:"\\hbar",\u211C:"\\mathfrak{R}",\u0472:"\\theta",\u00D8:"\\emptyset",\u03F1:"\\varrho",\u0444:"\\phi",\u2107:"\\varepsilon",T:"T","\u2219":"\\cdot",\u03A1:"P","\u221E":"\\infty",\u1401:"\\nabla",\u019E:"\\eta","\u207A":"^{+}","\u207B":"^{-}","\u207C":"^{=}","\u207D":"^{(}","\u207E":"^{)}","\u3017":"\\)|","\u3016":"\\langle","\u037E":";","\u0D66":"\\circ","\u2534":"\\perp","\u2715":"\\times","\u23BB":"-","\xBB":"\\gg","\u2B06":"\\uparrow","\u2B07":"\\downarrow","\u2B05":"\\leftarrow","\u27A1":"\\rightarrow","\u23BC":"-","\u239C":"\\mid","\u23A5":"\\mid",\u0127:"\\hbar","\u2B95":"\\rightarrow","\u30FB":"\\cdot","\xA6":"\\mid","\xA3":"\\pounds","\xA5":"\\yen","\u2717":"\\times","\u2714":"\\checkmark",\u207F:"^{n}","\xAB":"\\ll",\u0E40:"\\prime","\u2020":"\\dagger","\u2502":"\\mid",$:"\\$","#":"\\#","\u2103":"\\text{\\textdegree C}","\u2109":"\\text{\\textdegree F}","\u2588":"\\blacksquare","\u2127":"\\mho","\u2147":"\\text{e}",\u027C:"r","\u2021":"\\ddagger",\u1F31:"i",\u03D2:"\\Upsilon","\u{1D6FF}":"\\delta","\u02F3":"\\cdot",\u0473:"\\theta","\u{1D719}":"\\phi",\u041F:"\\prod",\u043E:"o",\u0452:"\\hbar","\u0245":"\\Lambda","\u0964":"\\mid","\u20AC":"\\euro",\u1FE1:"\\bar{u}",\u03C6:"\\varphi","\u023C":"c","\u{1D7AE}":"\\epsilon",\u03A7:"\\mathsf{X}","\u2099":"_{n}"},allMathSymbolsByChar={"&#xA0;":"\\textrm{ }","&#x2203;":"\\exists","&#x2200;":"\\forall","&#x21D4;":"\\iff","&#x21D2;":"=>","&#xAC;":"\\neg","&#x2124;":"\\mathbb{Z}","&#x211D;":"\\mathbb{R}","&#x211A;":"\\mathbb{Q}","&#x2115;":"\\mathbb{N}","&#x2102;":"CC","&#x25A1;":"\\square","&#x22C4;":"\\diamond","&#x25B3;":"\\triangle","&#x2322;":"\\frown","&#x2220;":"\\angle","&#x22F1;":"\\ddots","&#x22EE;":"\\vdots","&#x2235;":"\\because","&#x2234;":"\\therefore","&#x2135;":"\\aleph","&#x2205;":"\\oslash","&#xB1;":"\\pm","&#x2207;":"\\nabla","&#x2202;":"\\partial","&#x222E;":"\\oint","&#x222B;":"\\int","&#x22C3;":"\\cup","&#x222A;":"\\cup","&#x22C2;":"\\cap","&#x2229;":"\\cap","&#x22C1;":"\\vee","&#x2228;":"\\vee","&#x22C0;":"\\wedge","&#x2227;":"\\wedge","&#x220F;":"\\prod","&#x2211;":"\\sum","&#x2299;":"\\bigodot","&#x2297;":"\\bigoplus","&#x2295;":"o+","&#x2218;":"@","&#x22C8;":"\\bowtie","&#x22CA;":"\\rtimes","&#x22C9;":"\\ltimes","&#xF7;":"\\div","&#xD7;":"\\times","\\":"\\backslash","&#x22C6;":"\\star","&#x2217;":"\\star","&#x22C5;":"\\cdot","&#x3A9;":"\\Omega","&#x3C9;":"\\omega","&#x3A8;":"\\Psi","&#x3C8;":"\\psi","&#x3C7;":"\\chi","&#x3C6;":"\\varphi","&#x3A6;":"\\Phi","&#x3D5;":"\\phi","&#x3C5;":"\\upsilon","&#x3C4;":"\\tau","&#x3A3;":"\\Sigma","&#x3C3;":"\\sigma","&#x3C1;":"\\rho","&#x3A0;":"\\Pi","&#x3C0;":"\\pi","&#x39E;":"\\Xi","&#x3BE;":"\\xi","&#x3BD;":"\\nu","&#x3BC;":"\\mu","&#x39B;":"\\Lambda","&#x3BB;":"\\lambda","&#x3BA;":"\\kappa","&#x3B9;":"\\iota","&#x3D1;":"\\vartheta","&#x398;":"\\Theta","&#x3B8;":"\\theta","&#x3B7;":"\\eta","&#x3B6;":"\\zeta","&#x25B;":"\\varepsilon","&#x3B5;":"\\epsilon","&#x394;":"\\Delta","&#x3B4;":"\\delta","&#x393;":"\\Gamma","&#x3B3;":"\\gamma","&#x3B2;":"\\beta","&#x3B1;":"\\alpha","&#x221E;":"\\infty","\u202C":"\\text{\\textdir TRT}","\u200E":"\\text{\\textdir LTR}"},allMathSymbolsByGlyph={" ":"\\textrm{ }","\u2061":"","\u2062":"","\u2063":"","\u2064":"","\u2203":"\\exists","\u2200":"\\forall","\u21D4":"\\iff","\u21D2":"\\Rightarrow","\xAC":"\\neg","\u25A1":"\\square","\u22C4":"\\diamond","\u25B3":"\\triangle","\u2322":"\\frown","\u2220":"\\angle","\u22F1":"\\ddots","\u22EE":"\\vdots","\u2235":"\\because","\u2234":"\\therefore",\u2135:"\\aleph","\u2205":"\\emptyset","\xB1":"\\pm","\u2207":"\\nabla","\u2202":"\\partial","\u222E":"\\oint","\u222B":"\\int","\u22C3":"\\cup","\u222A":"\\cup","\u22C2":"\\cap","\u2229":"\\cap","\u22C1":"\\vee","\u2228":"\\vee","\u22C0":"\\wedge","\u2227":"\\wedge","\u220F":"\\prod","\u2211":"\\sum","\u2299":"\\bigodot","\u2297":"\\bigoplus","\u2295":"o+","\u2218":"@","\u22C8":"\\bowtie","\u22CA":"\\rtimes","\u22C9":"\\ltimes","\xF7":"\\div","\xD7":"\\times","\\":"\\backslash","\u22C6":"\\star","\u2217":"\\star","\u22C5":"\\cdot",\u03A9:"\\Omega",\u03C9:"\\omega",\u03A8:"\\Psi",\u03C8:"\\psi",\u03C7:"\\chi",\u03C6:"\\varphi",\u03A6:"\\Phi",\u03D5:"\\phi",\u03C5:"\\upsilon",\u03C4:"\\tau",\u03A3:"\\Sigma",\u03C3:"\\sigma",\u03C1:"\\rho",\u03A0:"\\Pi",\u03C0:"\\pi",\u039E:"\\Xi",\u03BE:"\\xi",\u03BD:"\\nu",\u03BC:"\\mu",\u039B:"\\Lambda",\u03BB:"\\lambda",\u03BA:"\\kappa",\u03B9:"\\iota",\u03D1:"\\vartheta",\u0398:"\\Theta",\u03B8:"\\theta",\u03B7:"\\eta",\u03B6:"\\zeta",\u025B:"\\varepsilon",\u03B5:"\\epsilon",\u0394:"\\Delta",\u03B4:"\\delta",\u0393:"\\Gamma",\u03B3:"\\gamma",\u03B2:"\\beta",\u03B1:"\\alpha","\u221E":"\\infty","\u03F5":"\\epsilon",\u00B5:"\\mu","\xB2":"^{2}",\u0131:"\\imath","\u220E":"\\blacksquare",\u0E21:"\\mathbf{m}",\u2126:"\\Omega","\u27F2":"\\circlearrowleft","\u27F3":"\\circlearrowright",\u0924:" ","\xA5":"\\yen","\u207D":"^{(}","\u207E":"^{)}",\u00DF:"\\ss",\u040B:"\\hbar","\u29B5":"\\ominus","\u22BF":"\\bigtriangleup","\u219B'":"\\nrightarrow","\u2020":"\\dagger",\u0E40:"\\prime",\u767D:" ","\u2FF1":" ",\u2138:"\\wp",\uD4F0:" ",\u207F:"^{n}","\u2714":"\\checkmark","\u2717":"\\times","\xBD":"\\dfrac{1}{2}",\u04E8:"\\theta","\u2713":"\\checkmark","\u27E9":"\\rangle","\u27E8":"\\langle","\u2329":"\\langle","\xBC":"\\dfrac{1}{4}","\u2026":"\\ldots",\u210F:"\\hbar",\u211C:"\\mathfrak{R}",\u0472:"\\theta",\u00D8:"\\emptyset",\u03F1:"\\varrho",\u0444:"\\phi",T:"T","\u2219":"\\cdot",\u03A1:"P",\u1401:"\\nabla",\u019E:"\\eta",\u0263:"\\gamma",\u045B:"\\hbar",\u0190:"\\varepsilon","\u2145":"\\_{D}","\u{1D706}":"\\lambda","\u3017":"\\rangle","\u3016":"\\langle","\u037E":";","\u{1D465}":"x","\u{1D466}":"y","\u{1D467}":"z","\u{1D456}":"i","\u{1D457}":"j","\u{1D458}":"k","\u{1D45A}":"m","\u{1D452}":"e","\u{1D45F}":"r",\u0273:"\\eta","\u{1D6FD}":"\\beta","\u2375":"\\omega","\u2118":"\\wp","\u{1D70B}":"\\pi",\u0404:"\\epsilon",\u0454:"\\epsilon","\u{1D700}":"\\epsilon",\u043F:"\\pi",\u039D:"\\nu",\u0275:"\\theta","\u{1D713}":"\\psi","\u03F4":"\\theta",\u0278:"\\phi","\u04F6":"\\Gamma",\u026D:"\\ell",\u028B:"\\upsilon","\u{1D6DF}":"\\varphi","\u236C":"\\theta",\u0424:"\\Phi","\u{1D711}":"\\varphi","\u2148":"i",\u03BF:"o",\u01A1:"o",\u0192:"f","\u2374":"\\rho","\u{1F1FD}":"x","\u{1D45D}":"p","\u{1D45E}":"q","\u{1D460}":"s","\u{1D461}":"t","\u{1D462}":"u","\u{1D463}":"v","\u{1D464}":"w","\u{1D44E}":"a","\u{1D44F}":"b","\u{1D450}":"c","\u{1D451}":"d","\u{1D453}":"f","\u{1D454}":"g","\u{1D459}":"l","\u{1D45B}":"n","\u{1D45C}":"o","\u{1D500}":"w","\u{1D69F}":"v",\u1E41:"m","\u0D66":"\\circ","\u2534":"\\perp","\u2715":"\\times","\u2223":"\\mid",\u0553:"\\Phi","\u239C":"\\mid",\u0127:"\\hbar",\u1348:" ","\u29A8":"\\llbracket",\u1EBF:"\\hat{e}","\xA2":"\\cent","\u2939":"\\downarrow","\u2938":"\\downarrow","\u2937":"\\Rsh","\u2936":"\\Lsh","\u2935":"\\downarrow","\u2934":"\\uparrow","\u2933":"\\rightarrow","|":"\\mid","\u23A5":"\\mid","\u2665":"\\heartsuit",\u041E:"0",\u03A5:"Y",\u0445:"x","\u{1D4CF}":"z","\u{1D4CE}":"y","\u{1D4CD}":"x",\u0440:"p",\u0430:"a","\xA3":"\\pounds",m:"m","\u{1D6B5}":"\\Xi","\u24EA":"\\textcircled{0}","\u2460":"\\textcircled{1}","\u2461":"\\textcircled{2}","\u2462":"\\textcircled{3}","\u2463":"\\textcircled{4}","\u2464":"\\textcircled{5}","\u2465":"\\textcircled{6}","\u2466":"\\textcircled{7}","\u2467":"\\textcircled{8}","\u2468":"\\textcircled{9}","\u2469":"\\textcircled{10}","\u246A":"\\textcircled{11}","\u246B":"\\textcircled{12}","\u246C":"\\textcircled{13}","\u246D":"\\textcircled{14}","\u246E":"\\textcircled{15}","\u246F":"\\textcircled{16}","\u2470":"\\textcircled{17}","\u2471":"\\textcircled{18}","\u2472":"\\textcircled{19}","\u2473":"\\textcircled{20}","\u3251":"\\textcircled{21}","\u3252":"\\textcircled{22}","\u3253":"\\textcircled{23}","\u3254":"\\textcircled{24}","\u3255":"\\textcircled{25}","\u3256":"\\textcircled{26}","\u3257":"\\textcircled{27}","\u3258":"\\textcircled{28}","\u3259":"\\textcircled{29}","\u325A":"\\textcircled{30}","\u325B":"\\textcircled{31}","\u325C":"\\textcircled{32}","\u325D":"\\textcircled{33}","\u325E":"\\textcircled{34}","\u325F":"\\textcircled{35}","\u32B1":"\\textcircled{36}","\u32B2":"\\textcircled{37}","\u32B3":"\\textcircled{38}","\u32B4":"\\textcircled{39}","\u32B5":"\\textcircled{40}","\u32B6":"\\textcircled{41}","\u32B7":"\\textcircled{42}","\u32B8":"\\textcircled{43}","\u32B9":"\\textcircled{44}","\u32BA":"\\textcircled{45}","\u32BB":"\\textcircled{46}","\u32BC":"\\textcircled{47}","\u32BD":"\\textcircled{48}","\u32BE":"\\textcircled{49}","\u32BF":"\\textcircled{50}","&":"\\&","\u2016":"\\parallel","%":"\\%","\u201C":"\\text{``}",$:"\\$","#":"\\#","\u2103":"\\text{\\textdegree C}","\u2109":"\\text{\\textdegree F}","\u2588":"\\blacksquare","\u2127":"\\mho","\u230B":"\\rfloor","\u230A":"\\lfloor","\u2309":"\\rceil","\u2308":"\\lceil",\u2107:"\\varepsilon","\u2147":"\\text{e}",\u027C:"r","\u219B":"\\nrightarrow","\u02C6":"\\hat{}","\u203E":"\\overline","\u2192":"\\rightarrow","\u2021":"\\ddagger","\u30FB":"\\cdot","\u25B1":"\\square","\u2206":"\\Delta",\u1F31:"i","\u2221":"\\angle",\u03D2:"\\Upsilon","\u2193":"\\downarrow","\u2191":"\\uparrow","\xBB":"\\gg","\u22A4":"\\top","\u29F8":"/","\u{1D6FF}":"\\delta","\u02F3":"\\cdot","\u0589":":","\u29AA":"\\measuredangle","\u29A9":"\\measuredangle","\u29AB":"\\measuredangle","\u2981":"\\cdot",\u0473:"\\theta","\u29A2":"\\measuredangle","\xB8":",","\u23BB":"\\overline","\u27E6":"\\llbracket","\u{1D719}":"\\phi",\u041F:"\\prod",\u043E:"o","\u2248":"\\approx","\u2264":"\\leq",\u0452:"\\hbar","\u0245":"\\Lambda",\u571F:"\\pm","\u23BC":"-",\u5341:"+","\u2260":"\\neq","\u2190":"\\leftarrow","\u0964":"\\mid","\u20AC":"\\euro","\u02D8":" ",\u1FE1:"\\bar{u}","\u2225":"\\parallel","\u2194":"\\leftrightarrow","\u221A":"\\sqrt{}","\u023C":"c","\u{1D7AE}":"\\epsilon","\xB7":"\\cdot","\u29AC":"\\measuredangle","\u29AE":"\\measuredangle","\u29AD":"\\measuredangle","\xAB":"\\ll",\u03A7:"\\mathsf{X}","\u2502":"\\mid","\u232A":"\\rangle","\u2099":"_{n}","\u25AB":"\\square","\u25CF":"\\circle","\u201D":'\\"'},doubleBarFenceGlyphs=new Set(["||","\u2016","\u2225"]),latexAccents=["\\hat","\\bar","\\underbrace","\\overbrace"],mathNumberByGlyph={"\u2080":"_{0}","\u2081":"_{1}","\u2082":"_{2}","\u2083":"_{3}","\u2084":"_{4}","\u2085":"_{5}","\u2086":"_{6}","\u2087":"_{7}","\u2088":"_{8}","\u2089":"_{9}","\u2070":"^{0}","\xB9":"^{1}","\xB2":"^{2}","\xB3":"^{3}","\u2074":"^{4}","\u2075":"^{5}","\u2076":"^{6}","\u2077":"^{7}","\u2078":"^{8}","\u2079":"^{9}",\u207F:"^{n}","\u2099":"_{n}","\u24EA":"\\textcircled{0}","\u2460":"\\textcircled{1}","\u2461":"\\textcircled{2}","\u2462":"\\textcircled{3}","\u2463":"\\textcircled{4}","\u2464":"\\textcircled{5}","\u2465":"\\textcircled{6}","\u2466":"\\textcircled{7}","\u2467":"\\textcircled{8}","\u2468":"\\textcircled{9}","\u2469":"\\textcircled{10}","\u246A":"\\textcircled{11}","\u246B":"\\textcircled{12}","\u246C":"\\textcircled{13}","\u246D":"\\textcircled{14}","\u246E":"\\textcircled{15}","\u246F":"\\textcircled{16}","\u2470":"\\textcircled{17}","\u2471":"\\textcircled{18}","\u2472":"\\textcircled{19}","\u2473":"\\textcircled{20}","\u3251":"\\textcircled{21}","\u3252":"\\textcircled{22}","\u3253":"\\textcircled{23}","\u3254":"\\textcircled{24}","\u3255":"\\textcircled{25}","\u3256":"\\textcircled{26}","\u3257":"\\textcircled{27}","\u3258":"\\textcircled{28}","\u3259":"\\textcircled{29}","\u325A":"\\textcircled{30}","\u325B":"\\textcircled{31}","\u325C":"\\textcircled{32}","\u325D":"\\textcircled{33}","\u325E":"\\textcircled{34}","\u325F":"\\textcircled{35}","\u32B1":"\\textcircled{36}","\u32B2":"\\textcircled{37}","\u32B3":"\\textcircled{38}","\u32B4":"\\textcircled{39}","\u32B5":"\\textcircled{40}","\u32B6":"\\textcircled{41}","\u32B7":"\\textcircled{42}","\u32B8":"\\textcircled{43}","\u32B9":"\\textcircled{44}","\u32BA":"\\textcircled{45}","\u32BB":"\\textcircled{46}","\u32BC":"\\textcircled{47}","\u32BD":"\\textcircled{48}","\u32BE":"\\textcircled{49}","\u32BF":"\\textcircled{50}","\xBD":"\\dfrac{1}{2}","\u2153":"\\dfrac{1}{3}","\u2154":"\\dfrac{2}{3}","\xBC":"\\dfrac{1}{4}","\xBE":"\\dfrac{3}{4}","\u2155":"\\dfrac{1}{5}","\u2156":"\\dfrac{2}{5}","\u2157":"\\dfrac{3}{5}","\u2158":"\\dfrac{4}{5}","\u2159":"\\dfrac{1}{6}","\u215A":"\\dfrac{5}{6}","\u2150":"\\dfrac{1}{7}","\u215B":"\\dfrac{1}{8}","\u215C":"\\dfrac{3}{8}","\u215D":"\\dfrac{5}{8}","\u215E":"\\dfrac{7}{8}","\u2151":"\\dfrac{1}{9}","\u2152":"\\dfrac{1}{10}"},HashUTF8ToLtXConverter=class{convert(char){if(char.match(/[a-z0-9]/i))return char;let accentChar=vowelsWithAccents[char];if(accentChar){let lxtCmd=this.convertAccentCharToLtX(accentChar);return lxtCmd||char}let specialChar=this.convertSpecialCharToLtX(char);return specialChar||char}convertAccentCharToLtX(char){let{char:vowel,accent}=char,cmd=accentToLTXCmd[accent];return cmd?`\\${cmd}{${vowel}}`:null}convertSpecialCharToLtX(char){let specialFontChar=specialFontChars[char];if(!specialFontChar)return null;let{letter,fontCmd}=specialFontChar;return`\\${fontCmd}{${letter}}`}},vowelsWithAccents={\u00E1:{char:"a",accent:"\xB4"},\u00E0:{char:"a",accent:"`"},\u00E2:{char:"a",accent:"^"},\u00E3:{char:"a",accent:"~"},\u00E4:{char:"a",accent:"\xA8"},\u00E5:{char:"a",accent:"\u02DA"},\u0105:{char:"a",accent:"\u02D9"},\u0103:{char:"a",accent:"\u02D8"},\u01CE:{char:"a",accent:"\u02C7"},\u01DF:{char:"a",accent:"\u02C6"},\u01FB:{char:"a",accent:"\u02D9"},\u01E1:{char:"a",accent:"-"},\u0101:{char:"a",accent:"-"},\u00E9:{char:"e",accent:"\xB4"},\u00E8:{char:"e",accent:"`"},\u00EA:{char:"e",accent:"^"},\u00EB:{char:"e",accent:"\xA8"},\u0119:{char:"e",accent:"\u02D9"},\u011B:{char:"e",accent:"\u02C7"},\u0207:{char:"i",accent:"^"},\u0451:{char:"e",accent:"\xA8"},\u0113:{char:"e",accent:"-"},\u00ED:{char:"i",accent:"\xB4"},\u00EC:{char:"i",accent:"`"},\u00EE:{char:"i",accent:"^"},\u00EF:{char:"i",accent:"\xA8"},\u012F:{char:"i",accent:"\u02D9"},\u01D0:{char:"i",accent:"\u02C7"},\u0209:{char:"i",accent:"`"},\u020B:{char:"i",accent:"\xA8"},\u012B:{char:"i",accent:"-"},\u00F3:{char:"o",accent:"\xB4"},\u00F2:{char:"o",accent:"`"},\u00F4:{char:"o",accent:"^"},\u00F5:{char:"o",accent:"~"},\u00F6:{char:"o",accent:"\xA8"},\u0151:{char:"o",accent:"\u02DD"},\u01D2:{char:"o",accent:"\u02C7"},\u020D:{char:"o",accent:"`"},\u020F:{char:"o",accent:"\xA8"},\u022B:{char:"o",accent:"\u02D8"},\u022D:{char:"o",accent:"\u02DD"},\u022F:{char:"o",accent:"\u02D9"},\u014D:{char:"o",accent:"-"},\u00FA:{char:"u",accent:"\xB4"},\u00F9:{char:"u",accent:"`"},\u00FB:{char:"u",accent:"^"},\u00FC:{char:"u",accent:"\xA8"},\u0171:{char:"u",accent:"\u02DD"},\u01D4:{char:"u",accent:"\u02C7"},\u01D6:{char:"u",accent:"\xA8"},\u01D8:{char:"u",accent:"\xA8"},\u01DA:{char:"u",accent:"\xA8"},\u01DC:{char:"u",accent:"\xA8"},\u0215:{char:"u",accent:"`"},\u0217:{char:"u",accent:"\xA8"},\u016B:{char:"u",accent:"-"},\u00FD:{char:"y",accent:"\xB4"},\u1EF3:{char:"y",accent:"`"},\u0177:{char:"y",accent:"^"},\u00FF:{char:"y",accent:"\xA8"},\u0233:{char:"y",accent:"-"},\u00C1:{char:"A",accent:"\xB4"},\u00C0:{char:"A",accent:"`"},\u00C2:{char:"A",accent:"^"},\u00C3:{char:"A",accent:"~"},\u00C4:{char:"A",accent:"\xA8"},\u00C5:{char:"A",accent:"\u02DA"},\u212B:{char:"A",accent:"\u02DA"},\u0226:{char:"A",accent:"\u02D9"},\u0102:{char:"A",accent:"\u02D8"},\u01CD:{char:"A",accent:"\u02C7"},\u01DE:{char:"A",accent:"\u02DD"},\u01FA:{char:"A",accent:"\u02DA"},\u01E0:{char:"A",accent:"-"},\u0100:{char:"A",accent:"-"},\u00C9:{char:"E",accent:"\xB4"},\u00C8:{char:"E",accent:"`"},\u0116:{char:"E",accent:"\u02D9"},\u00CA:{char:"E",accent:"^"},\u00CB:{char:"E",accent:"\xA8"},\u011A:{char:"E",accent:"\u02C7"},\u0204:{char:"E",accent:"`"},\u0206:{char:"E",accent:"\xA8"},\u0112:{char:"E",accent:"-"},\u00CD:{char:"I",accent:"\xB4"},\u00CC:{char:"I",accent:"`"},\u00CE:{char:"I",accent:"^"},\u00CF:{char:"I",accent:"\xA8"},\u012C:{char:"I",accent:"\u02D8"},\u01CF:{char:"I",accent:"\u02C7"},\u0208:{char:"I",accent:"`"},\u020A:{char:"I",accent:"\xA8"},\u012A:{char:"I",accent:"-"},\u00D3:{char:"O",accent:"\xB4"},\u00D2:{char:"O",accent:"`"},\u00D4:{char:"O",accent:"^"},\u00D5:{char:"O",accent:"~"},\u00D6:{char:"O",accent:"\xA8"},\u0150:{char:"O",accent:"\u02DD"},\u01D1:{char:"O",accent:"\u02C7"},\u020C:{char:"O",accent:"`"},\u020E:{char:"O",accent:"\xA8"},\u022A:{char:"O",accent:"\u02D8"},\u022C:{char:"O",accent:"\u02DD"},\u022E:{char:"O",accent:"\u02D9"},\u014C:{char:"O",accent:"-"},\u00DA:{char:"U",accent:"\xB4"},\u00D9:{char:"U",accent:"`"},\u00DB:{char:"U",accent:"^"},\u00DC:{char:"U",accent:"\xA8"},\u0170:{char:"U",accent:"\u02DD"},\u01D3:{char:"U",accent:"\u02C7"},\u01D5:{char:"U",accent:"\xA8"},\u0214:{char:"U",accent:"`"},\u0216:{char:"U",accent:"\xA8"},\u016A:{char:"U",accent:"-"},\u00DD:{char:"Y",accent:"\xB4"},\u1EF2:{char:"Y",accent:"`"},\u0176:{char:"Y",accent:"^"},\u0178:{char:"Y",accent:"\xA8"},\u0232:{char:"Y",accent:"-"},\u00F1:{char:"n",accent:"~"},\u00D1:{char:"N",accent:"~"},\u00E7:{char:"c",accent:"\u02D9"},\u00C7:{char:"C",accent:"\u02D9"},\u1E7D:{char:"v",accent:"~"},\u1E7C:{char:"V",accent:"~"},\u0135:{char:"j",accent:"^"},\u0134:{char:"J",accent:"^"},\u017A:{char:"z",accent:"\xB4"},\u0179:{char:"Z",accent:"\xB4"},\u017B:{char:"Z",accent:"^"},\u017C:{char:"z",accent:"^"},\u017D:{char:"Z",accent:"\u02C7"},\u017E:{char:"z",accent:"\u02C7"},\u1E91:{char:"z",accent:"\u02C6"}},accentToLTXCmd={"\xB4":"acute","`":"grave","^":"hat","~":"tilde","\xA8":"ddot","\u02DA":"mathring","\u02D8":"breve","\u02C7":"check","\u02DD":"H","\u02D9":"dot","-":"bar","\u02C6":"hat","\u02DC":"tilde"},specialFontChars={"\u{1D400}":{letter:"A",fontCmd:"mathbf"},"\u{1D401}":{letter:"B",fontCmd:"mathbf"},"\u{1D402}":{letter:"C",fontCmd:"mathbf"},"\u{1D403}":{letter:"D",fontCmd:"mathbf"},"\u{1D404}":{letter:"E",fontCmd:"mathbf"},\u0395:{letter:"E",fontCmd:"mathbf"},"\u{1D405}":{letter:"F",fontCmd:"mathbf"},"\u{1D406}":{letter:"G",fontCmd:"mathbf"},"\u{1D407}":{letter:"H",fontCmd:"mathbf"},"\u{1D408}":{letter:"I",fontCmd:"mathbf"},"\u{1D409}":{letter:"J",fontCmd:"mathbf"},"\u{1D40A}":{letter:"K",fontCmd:"mathbf"},"\u{1D40B}":{letter:"L",fontCmd:"mathbf"},"\u{1D40C}":{letter:"M",fontCmd:"mathbf"},"\u{1D40D}":{letter:"N",fontCmd:"mathbf"},"\u{1D40E}":{letter:"O",fontCmd:"mathbf"},"\u{1D40F}":{letter:"P",fontCmd:"mathbf"},"\u{1D410}":{letter:"Q",fontCmd:"mathbf"},"\u{1D411}":{letter:"R",fontCmd:"mathbf"},"\u{1D412}":{letter:"S",fontCmd:"mathbf"},"\u{1D413}":{letter:"T",fontCmd:"mathbf"},"\u{1D414}":{letter:"U",fontCmd:"mathbf"},"\u{1D415}":{letter:"V",fontCmd:"mathbf"},"\u{1D416}":{letter:"W",fontCmd:"mathbf"},"\u{1D417}":{letter:"X",fontCmd:"mathbf"},"\u{1D786}":{letter:"X",fontCmd:"mathbf"},"\u{1D418}":{letter:"Y",fontCmd:"mathbf"},"\u{1D419}":{letter:"Z",fontCmd:"mathbf"},"\u{1D7CE}":{letter:"0",fontCmd:"mathbf"},"\u{1D7CF}":{letter:"1",fontCmd:"mathbf"},"\u{1D7D0}":{letter:"2",fontCmd:"mathbf"},"\u{1D7D1}":{letter:"3",fontCmd:"mathbf"},"\u{1D7D2}":{letter:"4",fontCmd:"mathbf"},"\u{1D7D3}":{letter:"5",fontCmd:"mathbf"},"\u{1D7D4}":{letter:"6",fontCmd:"mathbf"},"\u{1D7D5}":{letter:"7",fontCmd:"mathbf"},"\u{1D7D6}":{letter:"8",fontCmd:"mathbf"},"\u{1D7D7}":{letter:"9",fontCmd:"mathbf"},"\u{1D434}":{letter:"A",fontCmd:"mathit"},"\u{1D435}":{letter:"B",fontCmd:"mathit"},"\u{1D436}":{letter:"C",fontCmd:"mathit"},"\u{1D437}":{letter:"D",fontCmd:"mathit"},"\u{1D438}":{letter:"E",fontCmd:"mathit"},"\u{1D439}":{letter:"F",fontCmd:"mathit"},"\u{1D43A}":{letter:"G",fontCmd:"mathit"},"\u{1D43B}":{letter:"H",fontCmd:"mathit"},"\u{1D43C}":{letter:"I",fontCmd:"mathit"},\u0399:{letter:"I",fontCmd:"mathit"},"\u{1D43D}":{letter:"J",fontCmd:"mathit"},"\u{1D43E}":{letter:"K",fontCmd:"mathit"},"\u{1D43F}":{letter:"L",fontCmd:"mathit"},"\u{1D440}":{letter:"M",fontCmd:"mathit"},"\u{1D441}":{letter:"N",fontCmd:"mathit"},"\u{1D442}":{letter:"O",fontCmd:"mathit"},"\u{1D443}":{letter:"P",fontCmd:"mathit"},"\u{1D444}":{letter:"Q",fontCmd:"mathit"},"\u{1D445}":{letter:"R",fontCmd:"mathit"},"\u{1D446}":{letter:"S",fontCmd:"mathit"},"\u{1D447}":{letter:"T",fontCmd:"mathit"},"\u{1D448}":{letter:"U",fontCmd:"mathit"},"\u{1D449}":{letter:"V",fontCmd:"mathit"},"\u{1D44A}":{letter:"W",fontCmd:"mathit"},"\u{1D44B}":{letter:"X",fontCmd:"mathit"},"\u{1D44C}":{letter:"Y",fontCmd:"mathit"},"\u{1D44D}":{letter:"Z",fontCmd:"mathit"},"\u{1D538}":{letter:"A",fontCmd:"mathbb"},"\u{1D539}":{letter:"B",fontCmd:"mathbb"},\u2102:{letter:"C",fontCmd:"mathbb"},"\u{1D53B}":{letter:"D",fontCmd:"mathbb"},"\u{1D53C}":{letter:"E",fontCmd:"mathbb"},"\u{1D53D}":{letter:"F",fontCmd:"mathbb"},"\u{1D53E}":{letter:"G",fontCmd:"mathbb"},\u210D:{letter:"H",fontCmd:"mathbb"},"\u{1D540}":{letter:"I",fontCmd:"mathbb"},"\u{1D541}":{letter:"J",fontCmd:"mathbb"},"\u{1D542}":{letter:"K",fontCmd:"mathbb"},"\u{1D543}":{letter:"L",fontCmd:"mathbb"},"\u{1D544}":{letter:"M",fontCmd:"mathbb"},\u2115:{letter:"N",fontCmd:"mathbb"},"\u{1D546}":{letter:"O",fontCmd:"mathbb"},\u2119:{letter:"P",fontCmd:"mathbb"},\u211A:{letter:"Q",fontCmd:"mathbb"},\u211D:{letter:"R",fontCmd:"mathbb"},"\u{1D54A}":{letter:"S",fontCmd:"mathbb"},"\u{1D54B}":{letter:"T",fontCmd:"mathbb"},"\u{1D54C}":{letter:"U",fontCmd:"mathbb"},"\u{1D54D}":{letter:"V",fontCmd:"mathbb"},"\u{1D54E}":{letter:"W",fontCmd:"mathbb"},"\u{1D54F}":{letter:"X",fontCmd:"mathbb"},"\u{1D550}":{letter:"Y",fontCmd:"mathbb"},\u2124:{letter:"Z",fontCmd:"mathbb"},"\u{1D7D8}":{letter:"0",fontCmd:"mathbb"},"\u{1D7D9}":{letter:"1",fontCmd:"mathbb"},"\u{1D7DA}":{letter:"2",fontCmd:"mathbb"},"\u{1D7DB}":{letter:"3",fontCmd:"mathbb"},"\u{1D7DC}":{letter:"4",fontCmd:"mathbb"},"\u{1D7DD}":{letter:"5",fontCmd:"mathbb"},"\u{1D7DE}":{letter:"6",fontCmd:"mathbb"},"\u{1D7DF}":{letter:"7",fontCmd:"mathbb"},"\u{1D7E0}":{letter:"8",fontCmd:"mathbb"},"\u{1D7E1}":{letter:"9",fontCmd:"mathbb"},"\u{1D49C}":{letter:"A",fontCmd:"mathcal"},"\u{1D4D0}":{letter:"A",fontCmd:"mathcal"},\u212C:{letter:"B",fontCmd:"mathcal"},"\u{1D49E}":{letter:"C",fontCmd:"mathcal"},"\u{1D49F}":{letter:"D",fontCmd:"mathcal"},"\u{1D4D3}":{letter:"D",fontCmd:"mathcal"},\u2130:{letter:"E",fontCmd:"mathcal"},\u2131:{letter:"F",fontCmd:"mathcal"},"\u{1D4D5}":{letter:"F",fontCmd:"mathcal"},"\u{1D4A2}":{letter:"G",fontCmd:"mathcal"},\u210B:{letter:"H",fontCmd:"mathcal"},\u2110:{letter:"I",fontCmd:"mathcal"},"\u{1D4A5}":{letter:"J",fontCmd:"mathcal"},"\u{1D4A6}":{letter:"K",fontCmd:"mathcal"},\u2112:{letter:"L",fontCmd:"mathcal"},"\u{1D4DB}":{letter:"L",fontCmd:"mathcal"},\u2133:{letter:"M",fontCmd:"mathcal"},"\u{1D4A9}":{letter:"N",fontCmd:"mathcal"},"\u{1D4AA}":{letter:"O",fontCmd:"mathcal"},"\u{1D4DE}":{letter:"O",fontCmd:"mathcal"},"\u{1D4AB}":{letter:"P",fontCmd:"mathcal"},"\u{1D4AC}":{letter:"Q",fontCmd:"mathcal"},\u211B:{letter:"R",fontCmd:"mathcal"},"\u{1D57D}":{letter:"R",fontCmd:"mathcal"},"\u211F":{letter:"R",fontCmd:"mathcal"},"\u{1D4AE}":{letter:"S",fontCmd:"mathcal"},"\u{1D4AF}":{letter:"T",fontCmd:"mathcal"},"\u{1D4B0}":{letter:"U",fontCmd:"mathcal"},"\u{1D4B1}":{letter:"V",fontCmd:"mathcal"},"\u{1D4B2}":{letter:"W",fontCmd:"mathcal"},"\u{1D4B3}":{letter:"X",fontCmd:"mathcal"},"\u{1D4B4}":{letter:"Y",fontCmd:"mathcal"},"\u{1D4B5}":{letter:"Z",fontCmd:"mathcal"},"\u{1D504}":{letter:"A",fontCmd:"mathfrak"},"\u{1D505}":{letter:"B",fontCmd:"mathfrak"},\u212D:{letter:"C",fontCmd:"mathfrak"},"\u{1D507}":{letter:"D",fontCmd:"mathfrak"},"\u{1D508}":{letter:"E",fontCmd:"mathfrak"},"\u{1D509}":{letter:"F",fontCmd:"mathfrak"},"\u{1D50A}":{letter:"G",fontCmd:"mathfrak"},\u210C:{letter:"H",fontCmd:"mathfrak"},\u2111:{letter:"I",fontCmd:"mathfrak"},"\u{1D50D}":{letter:"J",fontCmd:"mathfrak"},"\u{1D50E}":{letter:"K",fontCmd:"mathfrak"},"\u{1D50F}":{letter:"L",fontCmd:"mathfrak"},"\u{1D510}":{letter:"M",fontCmd:"mathfrak"},"\u{1D511}":{letter:"N",fontCmd:"mathfrak"},"\u{1D512}":{letter:"O",fontCmd:"mathfrak"},"\u{1D513}":{letter:"P",fontCmd:"mathfrak"},"\u{1D514}":{letter:"Q",fontCmd:"mathfrak"},\u211C:{letter:"R",fontCmd:"mathfrak"},"\u{1D516}":{letter:"S",fontCmd:"mathfrak"},"\u{1D517}":{letter:"T",fontCmd:"mathfrak"},"\u{1D518}":{letter:"U",fontCmd:"mathfrak"},"\u{1D519}":{letter:"V",fontCmd:"mathfrak"},"\u{1D51A}":{letter:"W",fontCmd:"mathfrak"},"\u{1D51B}":{letter:"X",fontCmd:"mathfrak"},"\u{1D51C}":{letter:"Y",fontCmd:"mathfrak"},\u2128:{letter:"Z",fontCmd:"mathfrak"},"\u{1D5A0}":{letter:"A",fontCmd:"mathsf"},\u0391:{letter:"A",fontCmd:"mathsf"},"\u{1D5A1}":{letter:"B",fontCmd:"mathsf"},\u0392:{letter:"B",fontCmd:"mathsf"},"\u{1D5A2}":{letter:"C",fontCmd:"mathsf"},"\u{1D5A3}":{letter:"D",fontCmd:"mathsf"},"\u{1D5A4}":{letter:"E",fontCmd:"mathsf"},"\u{1D5A5}":{letter:"F",fontCmd:"mathsf"},"\u{1D5A6}":{letter:"G",fontCmd:"mathsf"},"\u{1D5A7}":{letter:"H",fontCmd:"mathsf"},"\u{1D5A8}":{letter:"I",fontCmd:"mathsf"},"\u{1D5A9}":{letter:"J",fontCmd:"mathsf"},"\u0237":{letter:"J",fontCmd:"mathsf"},"\u{1D5AA}":{letter:"K",fontCmd:"mathsf"},\u039A:{letter:"K",fontCmd:"mathsf"},"\u{1D5AB}":{letter:"L",fontCmd:"mathsf"},"\u{1D5AC}":{letter:"M",fontCmd:"mathsf"},"\u{1D5AD}":{letter:"N",fontCmd:"mathsf"},"\u{1D5AE}":{letter:"O",fontCmd:"mathsf"},"\u{1D5AF}":{letter:"P",fontCmd:"mathsf"},"\u{1D5B0}":{letter:"Q",fontCmd:"mathsf"},"\u{1D5B1}":{letter:"R",fontCmd:"mathsf"},"\u{1D5B2}":{letter:"S",fontCmd:"mathsf"},"\u{1D5B3}":{letter:"T",fontCmd:"mathsf"},"\u{1D5B4}":{letter:"U",fontCmd:"mathsf"},"\u{1D5B5}":{letter:"V",fontCmd:"mathsf"},"\u{1D5B6}":{letter:"W",fontCmd:"mathsf"},"\u{1D5B7}":{letter:"X",fontCmd:"mathsf"},\u03A7:{letter:"X",fontCmd:"mathsf"},"\u{1D5B8}":{letter:"Y",fontCmd:"mathsf"},"\u{1D5B9}":{letter:"Z",fontCmd:"mathsf"},"\u{1D6A8}":{letter:"A",fontCmd:"mathtt"},"\u{1D6A9}":{letter:"B",fontCmd:"mathtt"},"\u{1D6AA}":{letter:"\\Gamma",fontCmd:"mathtt"},"\u{1D6AB}":{letter:"\\Delta",fontCmd:"mathtt"},"\u{1D6AC}":{letter:"E",fontCmd:"mathtt"},"\u{1D6AD}":{letter:"F",fontCmd:"mathtt"},"\u{1D6AE}":{letter:"G",fontCmd:"mathtt"},"\u{1D6AF}":{letter:"\\Theta",fontCmd:"mathtt"},"\u{1D6B0}":{letter:"I",fontCmd:"mathtt"},"\u{1D6B1}":{letter:"J",fontCmd:"mathtt"},"\u{1D6B2}":{letter:"\\Lambda",fontCmd:"mathtt"},"\u{1D6B3}":{letter:"L",fontCmd:"mathtt"},"\u{1D6B4}":{letter:"M",fontCmd:"mathtt"},"\u{1D6B5}":{letter:"\\Pi",fontCmd:"mathtt"},"\u{1D6B6}":{letter:"O",fontCmd:"mathtt"},"\u{1D6B7}":{letter:"\\Pi",fontCmd:"mathtt"},"\u{1D6B8}":{letter:"Q",fontCmd:"mathtt"},"\u{1D6B9}":{letter:"R",fontCmd:"mathtt"},"\u{1D6BA}":{letter:"S",fontCmd:"mathtt"},"\u{1D6BB}":{letter:"T",fontCmd:"mathtt"},"\u{1D6BC}":{letter:"U",fontCmd:"mathtt"},"\u{1D6BD}":{letter:"\\Phi",fontCmd:"mathtt"},"\u{1D6BE}":{letter:"W",fontCmd:"mathtt"},"\u{1D6BF}":{letter:"\\Psi",fontCmd:"mathtt"},"\u{1D6C0}":{letter:"\\Omega",fontCmd:"mathtt"}},GenericWrapper=class{constructor(open,close){this._open="\\left"+this._toLatexDelimiter(open),this._close="\\right"+this._toLatexDelimiter(close)}wrap(str){return new Wrapper(this._open,this._close).wrap(str)}_toLatexDelimiter(delimiter){var _a;return(_a=DELIMITER_TRANSLATIONS.get(delimiter))!==null&&_a!==void 0?_a:delimiter}},DELIMITER_TRANSLATIONS=new Map([["{","\\{"],["}","\\}"],...[...doubleBarFenceGlyphs].map(glyph=>[glyph,"\\|"])]),JoinWithManySeparators=class _JoinWithManySeparators{constructor(separators){this._separators=separators}static join(arr,separators,defaultSeparator=""){let effectiveSeparators=separators.length>0?separators:defaultSeparator!==void 0?[defaultSeparator]:[];return new _JoinWithManySeparators(effectiveSeparators)._join(arr)}_join(arr){return arr.reduce((joinedStr,currentStr,currentIndex,strArr)=>{let separator=currentIndex===strArr.length-1?"":this._get(currentIndex);return joinedStr+currentStr+separator},"")}_get(index){return this._separators[index]?this._separators[index]:this._separators[this._separators.length-1]}},ownLookup=(table,key)=>Object.prototype.hasOwnProperty.call(table,key)?table[key]:void 0,Character=class _Character{constructor(value){this._value=value}static apply(value){return new _Character(value)._apply()}_apply(){var _a,_b,_c;return(_c=(_b=(_a=this._findByCharacter())!==null&&_a!==void 0?_a:this._findByGlyph())!==null&&_b!==void 0?_b:this._findByNumber())!==null&&_c!==void 0?_c:new HashUTF8ToLtXConverter().convert(this._value)}_findByCharacter(){return ownLookup(allMathSymbolsByChar,this._value)}_findByGlyph(){return ownLookup(allMathSymbolsByGlyph,this._value)}_findByNumber(){return ownLookup(mathNumberByGlyph,this._value)}},MI=class{constructor(mathElement){this.utf8Converter=new HashUTF8ToLtXConverter,this._mathmlElement=mathElement}convert(){let normalizedValue=normalizeWhiteSpaces(this._mathmlElement.value);if(normalizedValue===" ")return Character.apply(normalizedValue);let trimmedValue=normalizedValue.trim(),convertedChar=Character.apply(trimmedValue),parsedChar=this.utf8Converter.convert(convertedChar);return parsedChar!==convertedChar?parsedChar:this.wrapInMathVariant(convertedChar,this.getMathVariant(this._mathmlElement.attributes))}getMathVariant(attributes){if(!(!attributes||!attributes.mathvariant))return attributes.mathvariant}wrapInMathVariant(value,mathVariant){switch(mathVariant){case"bold":return`\\mathbf{${value}}`;case"italic":return`\\mathit{${value}}`;case"bold-italic":return`\\mathbf{\\mathit{${value}}}`;case"double-struck":return`\\mathbb{${value}}`;case"bold-fraktur":return`\\mathbf{\\mathfrak{${value}}}`;case"script":return`\\mathcal{${value}}`;case"bold-script":return`\\mathbf{\\mathcal{${value}}}`;case"fraktur":return`\\mathfrak{${value}}`;case"sans-serif":return`\\mathsf{${value}}`;case"bold-sans-serif":return`\\mathbf{\\mathsf{${value}}}`;case"sans-serif-italic":return`\\mathsf{\\mathit{${value}}}`;case"sans-serif-bold-italic":return`\\mathbf{\\mathsf{\\mathit{${value}}}}`;case"monospace":return`\\mathtt{${value}}`;default:return value}}},Operator=class _Operator{constructor(value){this._value=value}static operate(value){return new _Operator(value)._operate()}_operate(){var _a,_b,_c;return(_c=(_b=(_a=this._findByCharacter())!==null&&_a!==void 0?_a:this._findByGlyph())!==null&&_b!==void 0?_b:this._findByNumber())!==null&&_c!==void 0?_c:new HashUTF8ToLtXConverter().convert(this._value)}_findByCharacter(){return ownLookup(allMathOperatorsByChar,this._value)}_findByGlyph(){return ownLookup(allMathOperatorsByGlyph,this._value)}_findByNumber(){return ownLookup(mathNumberByGlyph,this._value)}},MO=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let trimmedValue=normalizeWhiteSpaces(this._mathmlElement.value).trim();return Operator.operate(trimmedValue)}},MN=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let normalizedValue=normalizeWhiteSpaces(this._mathmlElement.value).trim();return ownLookup(mathNumberByGlyph,normalizedValue)||normalizedValue}},MSqrt=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){return`\\sqrt{${this._mathmlElement.children.map(child=>mathMLElementToLaTeXConverter(child)).map(converter=>converter.convert()).join(" ")}}`}},Vector=class{constructor(open,close,separators,defaultSeparator){this.separators=separators,this.defaultSeparator=defaultSeparator,this.open=open||"(",this.close=close||")"}apply(latexContents){let contentWithoutWrapper=JoinWithManySeparators.join(latexContents,this.separators,this.defaultSeparator);return new GenericWrapper(this.open,this.close).wrap(contentWithoutWrapper)}},Separators=class{constructor(open,close){this.open=open,this.close=close}wrap(str){return new GenericWrapper(this.open,this.close).wrap(str)}areParentheses(){return this._compare("(",")")}areSquareBrackets(){return this._compare("[","]")}areBrackets(){return this._compare("{","}")}areDivides(){return this._compare("|","|")}areParallels(){return this.open===this.close&&doubleBarFenceGlyphs.has(this.open)}areNotEqual(){return this.open!==this.close}_compare(openToCompare,closeToCompare){return this.open===openToCompare&&this.close===closeToCompare}},Matrix=class{constructor(open,close){this._genericCommand="matrix",this.separators=new Separators(open,close)}apply(latexContents){let command=this._command,matrix=`\\begin{${command}}
98
+ ${latexContents.join("")}
99
+ \\end{${command}}`;return command===this._genericCommand?this.separators.wrap(matrix):matrix}get _command(){return this.separators.areParentheses()?"pmatrix":this.separators.areSquareBrackets()?"bmatrix":this.separators.areBrackets()?"Bmatrix":this.separators.areDivides()?"vmatrix":this.separators.areParallels()?"Vmatrix":this.separators.areNotEqual()?this._genericCommand:"bmatrix"}},MFenced=class{constructor(mathmlElement){this._mathmlElement=mathmlElement,this.open=this._mathmlElement.attributes.open||"",this.close=this._mathmlElement.attributes.close||""}convert(){let latexChildren=this._mathmlElement.children.map(child=>mathMLElementToLaTeXConverter(child)).map(converter=>converter.convert());if(this._isThereRelativeOfName(this._mathmlElement.children,"mtable"))return new Matrix(this.open,this.close).apply(latexChildren);let separatorsAttr=this._mathmlElement.attributes.separators,hasSeparatorsAttribute=separatorsAttr!==void 0,separatorsArray=separatorsAttr?Array.from(separatorsAttr):[],defaultSeparator=hasSeparatorsAttribute?"":",";return new Vector(this.open,this.close,separatorsArray,defaultSeparator).apply(latexChildren)}_isThereRelativeOfName(mathmlElements,elementName){var _a;let stack=[...mathmlElements];for(;stack.length>0;){let element=stack.pop();if(element.name===elementName)return!0;stack.push(...(_a=element.children)!==null&&_a!==void 0?_a:[])}return!1}},InvalidNumberOfChildrenError=class extends Error{constructor(tagName,expectedNumberOfChild,currentNumberOfChild,comparison="exactly"){super(`${tagName} tag must have ${comparison} ${expectedNumberOfChild} children. It's actually ${currentNumberOfChild}`),this.name="InvalidNumberOfChildrenError"}},LineThickness=class{constructor(raw){this._raw=raw}toLaTeX(){if(!this._raw)return null;let value=this._raw.trim().toLowerCase();if(value==="medium")return null;if(value==="thin")return formatPoints(DEFAULT_RULE_THICKNESS_PT*.5);if(value==="thick")return formatPoints(DEFAULT_RULE_THICKNESS_PT*2);let match=value.match(/^(-?\d*\.?\d+)\s*([a-z%]*)$/);if(!match)return null;let amount=parseFloat(match[1]),unit=match[2];return amount===0?"0pt":unit===""?amount===1?null:formatPoints(amount*DEFAULT_RULE_THICKNESS_PT):unit==="px"?formatPoints(amount*PT_PER_PX):unit==="%"?formatPoints(amount/100*DEFAULT_RULE_THICKNESS_PT):TEX_LENGTH_UNITS.includes(unit)?`${amount}${unit}`:null}},DEFAULT_RULE_THICKNESS_PT=.4,PT_PER_PX=.75,TEX_LENGTH_UNITS=["pt","pc","in","cm","mm","em","ex","bp","dd","cc"];function formatPoints(valuePt){return`${Math.round(valuePt*1e4)/1e4}pt`}var MFrac=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let{children,name}=this._mathmlElement,childrenLength=children.length;if(childrenLength!==2)throw new InvalidNumberOfChildrenError(name,2,childrenLength);let num=mathMLElementToLaTeXConverter(children[0]).convert(),den=mathMLElementToLaTeXConverter(children[1]).convert();if(this._isBevelled())return`${this._wrapIfMoreThanOneChar(num)}/${this._wrapIfMoreThanOneChar(den)}`;let thickness=new LineThickness(this._mathmlElement.attributes.linethickness).toLaTeX();return thickness!==null?`\\genfrac{}{}{${thickness}}{}{${num}}{${den}}`:`\\frac{${num}}{${den}}`}_wrapIfMoreThanOneChar(str){return new ParenthesisWrapper().wrapIfMoreThanOneChar(str)}_isBevelled(){return!!this._mathmlElement.attributes.bevelled}},MRoot=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let{name,children}=this._mathmlElement,childrenLength=children.length;if(childrenLength!==2)throw new InvalidNumberOfChildrenError(name,2,childrenLength);let content=mathMLElementToLaTeXConverter(children[0]).convert();return`\\sqrt[${mathMLElementToLaTeXConverter(children[1]).convert()}]{${content}}`}},MAction=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let{children}=this._mathmlElement;return this._isToggle()?children.map(child=>mathMLElementToLaTeXConverter(child)).map(converter=>converter.convert()).join(" \\Longrightarrow "):mathMLElementToLaTeXConverter(children[0]).convert()}_isToggle(){let{actiontype}=this._mathmlElement.attributes;return actiontype==="toggle"||!actiontype}},MEnclose=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let latexJoinedChildren=this._mathmlElement.children.map(child=>mathMLElementToLaTeXConverter(child)).map(converter=>converter.convert()).join(" ");return this._notation==="actuarial"?`\\overline{\\left.${latexJoinedChildren}\\right|}`:this._notation==="radical"?`\\sqrt{${latexJoinedChildren}}`:["box","roundedbox","circle"].includes(this._notation)?`\\boxed{${latexJoinedChildren}}`:this._notation==="left"?`\\left|${latexJoinedChildren}`:this._notation==="right"?`${latexJoinedChildren}\\right|`:this._notation==="top"?`\\overline{${latexJoinedChildren}}`:this._notation==="bottom"?`\\underline{${latexJoinedChildren}}`:this._notation==="updiagonalstrike"?`\\cancel{${latexJoinedChildren}}`:this._notation==="downdiagonalstrike"?`\\bcancel{${latexJoinedChildren}}`:this._notation==="updiagonalarrow"?`\\cancelto{}{${latexJoinedChildren}}`:["verticalstrike","horizontalstrike"].includes(this._notation)?`\\hcancel{${latexJoinedChildren}}`:this._notation==="madruwb"?`\\underline{${latexJoinedChildren}\\right|}`:this._notation==="phasorangle"?`{\\angle \\underline{${latexJoinedChildren}}}`:`\\overline{\\left.\\right)${latexJoinedChildren}}`}get _notation(){return this._mathmlElement.attributes.notation||"longdiv"}},MError=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){return`\\color{red}{${this._mathmlElement.children.map(child=>mathMLElementToLaTeXConverter(child)).map(converter=>converter.convert()).join(" ")}}`}},MPhantom=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){return""}},MSup=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let{name,children}=this._mathmlElement,childrenLength=children.length;if(childrenLength!==2)throw new InvalidNumberOfChildrenError(name,2,childrenLength);let baseChild=children[0],exponentChild=children[1];return`${this._handleBaseChild(baseChild)}^${this._handleExponentChild(exponentChild)}`}_handleBaseChild(base){let baseChildren=base.children,baseStr=mathMLElementToLaTeXConverter(base).convert();return baseChildren.length<=1?baseStr:new ParenthesisWrapper().wrapIfMoreThanOneChar(baseStr)}_handleExponentChild(exponent){let exponentStr=mathMLElementToLaTeXConverter(exponent).convert();return new BracketWrapper().wrap(exponentStr)}},MSub=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let{name,children}=this._mathmlElement,childrenLength=children.length;if(childrenLength!==2)throw new InvalidNumberOfChildrenError(name,2,childrenLength);let baseChild=children[0],subscriptChild=children[1];return`${this._handleBaseChild(baseChild)}_${this._handleSubscriptChild(subscriptChild)}`}_handleBaseChild(base){let baseChildren=base.children,baseStr=mathMLElementToLaTeXConverter(base).convert();return baseChildren.length<=1?baseStr:new ParenthesisWrapper().wrapIfMoreThanOneChar(baseStr)}_handleSubscriptChild(subscript){let subscriptStr=mathMLElementToLaTeXConverter(subscript).convert();return new BracketWrapper().wrap(subscriptStr)}},MSubsup=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let{name,children}=this._mathmlElement,childrenLength=children.length;if(childrenLength!==3)throw new InvalidNumberOfChildrenError(name,3,childrenLength);let baseChild=children[0],subscriptChild=children[1],superscriptChild=children[2];return`${this._handleBaseChild(baseChild)}_${this._handleSubscriptChild(subscriptChild)}^${this._handleSuperscriptChild(superscriptChild)}`}_handleBaseChild(base){let baseChildren=base.children,baseStr=mathMLElementToLaTeXConverter(base).convert();return baseChildren.length<=1?baseStr:new ParenthesisWrapper().wrapIfMoreThanOneChar(baseStr)}_handleSubscriptChild(subscript){let subscriptStr=mathMLElementToLaTeXConverter(subscript).convert();return new BracketWrapper().wrap(subscriptStr)}_handleSuperscriptChild(superscript){let superscriptStr=mathMLElementToLaTeXConverter(superscript).convert();return new BracketWrapper().wrap(superscriptStr)}},MMultiscripts=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let{name,children}=this._mathmlElement;if(children.length===0)throw new InvalidNumberOfChildrenError(name,1,0,"at least");let base=this._baseLatex(children[0]),{prescripts,postscripts}=this._splitScripts(children.slice(1));return this._pairsLatex(prescripts,!0)+base+this._pairsLatex(postscripts,!1)}_baseLatex(base){let latex=mathMLElementToLaTeXConverter(base).convert();return latex===""?"{}":latex.length===1?latex:`{${latex}}`}_splitScripts(scripts){let markerIndex=scripts.findIndex(child=>child.name==="mprescripts"),postscripts=markerIndex===-1?scripts:scripts.slice(0,markerIndex),prescripts=markerIndex===-1?[]:scripts.slice(markerIndex+1);return{prescripts:this._toPairs(prescripts),postscripts:this._toPairs(postscripts)}}_toPairs(elements){let pairs=[];for(let i=0;i<elements.length;i+=2)pairs.push({sub:this._scriptLatex(elements[i]),sup:this._scriptLatex(elements[i+1])});return pairs}_scriptLatex(element){return element===void 0||element.name==="none"?"":mathMLElementToLaTeXConverter(element).convert()}_pairsLatex(pairs,isPrescript){let latex="",attachesToBase=!isPrescript;for(let pair of pairs){let scripts=(pair.sub?`_{${pair.sub}}`:"")+(pair.sup?`^{${pair.sup}}`:"");scripts!==""&&(latex+=(attachesToBase?"":"{}")+scripts,attachesToBase=!1)}return latex}},TextCommand=class{constructor(mathvariant){this._mathvariant=mathvariant||"normal"}apply(value){return this._commands.reduce((acc,command,index)=>index===0?`${command}{${value}}`:`${command}{${acc}}`,"")}get _commands(){switch(this._mathvariant){case"bold":return["\\textbf"];case"italic":return["\\textit"];case"bold-italic":return["\\textit","\\textbf"];case"double-struck":return["\\mathbb"];case"monospace":return["\\mathtt"];case"bold-fraktur":case"fraktur":return["\\mathfrak"];default:return["\\text"]}}},MText=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let{attributes,value}=this._mathmlElement;return[...value].map(char=>/^[a-zA-Z0-9]$/.test(char)||char===" "?{value:char,isAlphanumeric:!0}:{value:char,isAlphanumeric:!1}).reduce((acc,char)=>{if(char.isAlphanumeric){let lastChar=acc[acc.length-1];if(lastChar&&lastChar.isAlphanumeric)return lastChar.value+=char.value,acc}return[...acc,char]},[]).map(char=>char.isAlphanumeric?new TextCommand(attributes.mathvariant).apply(char.value):new MI({name:"mi",attributes:{},children:[],value:char.value}).convert()).join("")}},MUnderover=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let{name,children}=this._mathmlElement,childrenLength=children.length;if(childrenLength!==3)throw new InvalidNumberOfChildrenError(name,3,childrenLength);let base=mathMLElementToLaTeXConverter(children[0]).convert(),underContent=mathMLElementToLaTeXConverter(children[1]).convert(),overContent=mathMLElementToLaTeXConverter(children[2]).convert();return`${base}_{${underContent}}^{${overContent}}`}},EquationAlignment=class _EquationAlignment{constructor(table){this._table=table}static matches(table){return new _EquationAlignment(table)._matches()}_matches(){let tokens=new Set(this._columnAlignTokens());return tokens.has("right")&&tokens.has("left")}_columnAlignTokens(){let rows=this._rows(),cells=rows.reduce((acc,row)=>acc.concat(this._cells(row)),[]);return[this._table,...rows,...cells].map(element=>element.attributes.columnalign).filter(value=>!!value).reduce((acc,value)=>acc.concat(value.trim().split(/\s+/)),[])}_rows(){return this._table.children.filter(child=>child.name==="mtr")}_cells(row){return row.children.filter(child=>child.name==="mtd")}},MTable=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let tableContent=this._mathmlElement.children.map(child=>mathMLElementToLaTeXConverter(child)).map(converter=>converter.convert()).join(` \\\\
100
+ `);return this._hasFlag("innerTable")?this._wrap(tableContent,"matrix"):this._hasFlag("bareTable")?this._wrap(tableContent,EquationAlignment.matches(this._mathmlElement)?"aligned":"matrix"):tableContent}_wrap(latex,environment){return`\\begin{${environment}}${latex}\\end{${environment}}`}_hasFlag(flag){return!!this._mathmlElement.attributes[flag]}},MTr=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let row=this._mathmlElement.children.map(child=>mathMLElementToLaTeXConverter(child)).map(converter=>converter.convert()).join(" & ");return this._mathmlElement.attributes.bareRow?`\\begin{matrix}${row}\\end{matrix}`:row}},GenericSpacingWrapper=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){return this._mathmlElement.children.map(child=>mathMLElementToLaTeXConverter(child)).map(converter=>converter.convert()).join(" ")}},UnderOverSetter=class{constructor(type){this._type=type}apply(content,accent){return latexAccents.includes(accent)?`${accent}{${content}}`:`${this._defaultCommand}{${accent}}{${content}}`}get _defaultCommand(){return this._type===TagTypes.Under?"\\underset":"\\overset"}},TagTypes;(function(TagTypes2){TagTypes2[TagTypes2.Under=0]="Under",TagTypes2[TagTypes2.Over=1]="Over"})(TagTypes||(TagTypes={}));var GenericUnderOver=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let{name,children}=this._mathmlElement,childrenLength=children.length;if(childrenLength!==2)throw new InvalidNumberOfChildrenError(name,2,childrenLength);let content=mathMLElementToLaTeXConverter(children[0]).convert(),accent=mathMLElementToLaTeXConverter(children[1]).convert();return this._applyCommand(content,accent)}_applyCommand(content,accent){let type=this._mathmlElement.name.match(/under/)?TagTypes.Under:TagTypes.Over;return new UnderOverSetter(type).apply(content,accent)}},LinearSystemPattern=class _LinearSystemPattern{constructor(element){this._element=element}static matches(element){return new _LinearSystemPattern(element)._matches()}_matches(){var _a;if(this._element.name!=="mrow")return!1;let children=(_a=this._element.children)!==null&&_a!==void 0?_a:[];return children.length!==2&&children.length!==3?!1:this._isOpeningBrace(children[0])&&this._isTable(children[1])&&this._isEmptyClosing(children[2])}_isOpeningBrace(child){return child.name==="mo"&&child.value.trim()==="{"}_isTable(child){return child.name==="mtable"}_isEmptyClosing(child){return child===void 0||child.name==="mo"&&child.value.trim()===""}},MRow=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){return LinearSystemPattern.matches(this._mathmlElement)?this._convertAsLinearSystem():this._mathmlElement.children.map(child=>mathMLElementToLaTeXConverter(child)).map(converter=>converter.convert()).join(" ")}_convertAsLinearSystem(){return`\\begin{cases} ${this._mathmlElement.children[1].children.map(child=>mathMLElementToLaTeXConverter(child)).map(converter=>converter.convert()).join(" \\\\ ")} \\end{cases}`}},MSpace=class{constructor(mathElement){this._mathmlElement=mathElement}convert(){let{linebreak}=this._mathmlElement.attributes;return linebreak==="newline"?" \\\\ ":" "}},Void=class{constructor(_mathmlElement){this._mathmlElement=_mathmlElement}convert(){return""}},VoidMathMLElement=class{constructor(){this.name="void",this.value="",this.children=[],this.attributes={}}},MathMLElementToLatexConverterAdapter=class{constructor(mathMLElement){this._mathMLElement=mathMLElement??new VoidMathMLElement}toLatexConverter(){let{name}=this._mathMLElement,Converter=fromMathMLElementToLatexConverter[name]||GenericSpacingWrapper;return new Converter(this._mathMLElement)}},fromMathMLElementToLatexConverter={math:Math$1,mi:MI,mo:MO,mn:MN,msqrt:MSqrt,mfenced:MFenced,mfrac:MFrac,mroot:MRoot,maction:MAction,menclose:MEnclose,merror:MError,mphantom:MPhantom,msup:MSup,msub:MSub,msubsup:MSubsup,mmultiscripts:MMultiscripts,mtext:MText,munderover:MUnderover,mtable:MTable,mtr:MTr,mover:GenericUnderOver,munder:GenericUnderOver,mrow:MRow,mspace:MSpace,mpadded:GenericSpacingWrapper,void:Void},FenceNormalizer=class{constructor(root){this._root=root}normalize(){let stack=[this._root];for(;stack.length>0;){let children=stack.pop().children;if(!children||children.length===0)continue;let paired=new FencePairing(children).pair();paired!==children&&children.splice(0,children.length,...paired);for(let child of children)stack.push(child)}}},FencePairing=class{constructor(children){this._children=children}pair(){let root=[],openFrames=[],current=root,paired=!1;for(let child of this._children){let top=openFrames[openFrames.length-1];if(this._opensFrame(child,top)){let frame={opener:child,content:[]};openFrames.push(frame),current=frame.content;continue}if(this._closesFrame(child,top)){let frame=openFrames.pop();current=openFrames.length>0?openFrames[openFrames.length-1].content:root,current.push(this._makeFence(frame.opener,child,frame.content)),paired=!0;continue}let scriptCloser=this._scriptBaseCloser(child,top);if(scriptCloser!==void 0){let frame=openFrames.pop();current=openFrames.length>0?openFrames[openFrames.length-1].content:root;let fence=this._makeFence(frame.opener,scriptCloser,frame.content);current.push(Object.assign(Object.assign({},child),{children:[fence,...child.children.slice(1)]})),paired=!0;continue}current.push(child)}if(!paired)return this._children;for(let frame of openFrames)this._spill(frame,root);return root}_spill(frame,target){target.push(frame.opener);for(let node of frame.content)target.push(node)}_makeFence(opener,closer,content){return{name:"mfenced",value:"",children:[content.length===1?content[0]:this._wrapInRow(content)],attributes:{open:opener.value.trim(),close:closer.value.trim()}}}_wrapInRow(children){return{name:"mrow",value:"",children,attributes:{}}}_scriptBaseCloser(child,top){if(top===void 0||!this._isBar(top.opener)||!SCRIPT_ELEMENTS.has(child.name)||child.children.length===0)return;let base=child.children[0],bar=base.name==="mrow"&&base.children.length===1?base.children[0]:base;if(!(bar.name!=="mo"||bar.value.trim()!==top.opener.value.trim()))return bar}_opensFrame(child,top){return this._isOpener(child)?!0:this._isBar(child)&&!this._closesBar(child,top)}_closesFrame(child,top){return top===void 0?!1:this._isCloser(child)&&this._isOpener(top.opener)?!0:this._closesBar(child,top)}_closesBar(child,top){return top===void 0||!this._isBar(child)||!this._isBar(top.opener)?!1:top.opener.value.trim()===child.value.trim()}_isOpener(element){return element.name==="mo"&&OPENERS.has(element.value.trim())}_isCloser(element){return element.name==="mo"&&CLOSERS.has(element.value.trim())}_isBar(element){return element.name==="mo"&&BARS.has(element.value.trim())}},OPENERS=new Set(["(","[","{"]),CLOSERS=new Set([")","]","}"]),BARS=new Set(["|",...doubleBarFenceGlyphs]),SCRIPT_ELEMENTS=new Set(["msub","msup","msubsup"]),TableAnnotator=class{constructor(root){this._root=root}normalize(){let stack=[{node:this._root,insideMtable:!1,wrapped:!1}];for(;stack.length>0;){let frame=stack.pop();this._annotate(frame),this._pushChildren(frame,stack)}}_annotate({node,insideMtable,wrapped}){node.name==="mtable"&&(insideMtable?node.attributes.innerTable="innerTable":wrapped||(node.attributes.bareTable="bareTable")),node.name==="mtr"&&!insideMtable&&(node.attributes.bareRow="bareRow")}_pushChildren({node,insideMtable,wrapped},stack){var _a;let childInsideMtable=insideMtable||node.name==="mtable",childWrapped=wrapped||node.name==="mfenced",linearSystemTable=LinearSystemPattern.matches(node)?node.children[1]:void 0,children=(_a=node.children)!==null&&_a!==void 0?_a:[];for(let i=0;i<children.length;i++)stack.push({node:children[i],insideMtable:childInsideMtable,wrapped:childWrapped||children[i]===linearSystemTable})}},convertTreeToLatex=root=>{var _a,_b;for(let normalizer of makeTreeNormalizers(root))normalizer.normalize();let memo=new Map,stack=[{node:root,visited:!1}],previousMemo=setConversionMemo(memo);try{for(;stack.length>0;){let frame=stack[stack.length-1];if(!frame.visited){frame.visited=!0;let children=(_a=frame.node.children)!==null&&_a!==void 0?_a:[];for(let i=children.length-1;i>=0;i--)stack.push({node:children[i],visited:!1});continue}stack.pop(),memo.set(frame.node,new MathMLElementToLatexConverterAdapter(frame.node).toLatexConverter().convert())}}finally{setConversionMemo(previousMemo)}return(_b=memo.get(root))!==null&&_b!==void 0?_b:""},makeTreeNormalizers=root=>[new FenceNormalizer(root),new TableAnnotator(root)],XmlToMathMLAdapter=class{constructor(elementsConvertor,errorHandler){this._xml="",this._elementsConvertor=elementsConvertor,this._errorHandler=errorHandler,this._xmlDOM=new xmldom.DOMParser({onError:(_level,message)=>this._fixError(message)})}convert(xml){return this._xml=this._removeLineBreaks(xml),this._xml=this._removeMsWordPrefixes(this._xml),this._elementsConvertor.convert(this._mathMLElements)}_fixError(errorMessage){this._xml=this._errorHandler.fixError(this._xml,errorMessage)}_removeLineBreaks(xml){let LINE_BREAK=/\n|\r\n|\r/g;return xml.replace(LINE_BREAK,"")}_removeMsWordPrefixes(xml){let MS_WORD_PREFIX=/mml:/g;return xml.replace(MS_WORD_PREFIX,"")}get _mathMLElements(){let document2=this._parse();this._errorHandler.isThereAnyErrors()&&(this._errorHandler.cleanErrors(),document2=this._parse());let elements=document2?.getElementsByTagName("math");return elements?Array.from(elements):[]}_parse(){try{return this._xmlDOM.parseFromString(this._xml,"text/xml")}catch{return}}},ErrorHandler=class{constructor(){this._errors=[]}fixError(xml,errorMessage){return this._isMissingAttributeValueError(errorMessage)?(this._errors.push(errorMessage),this._fixMissingAttribute(errorMessage,xml)):xml}isThereAnyErrors(){return this._errors.length>0}cleanErrors(){this._errors=[]}_fixMissingAttribute(errorMessage,xml){let missingAttribute=this._attributeNameFromError(errorMessage);if(missingAttribute)return xml.replace(this._matchMissingValueForAttribute(missingAttribute),"");for(;this._mathGenericMissingValue().exec(xml);)xml=xml.replace(this._mathGenericMissingValue(),"$1$3");return xml}_attributeNameFromError(errorMessage){var _a;return(_a=errorMessage.match(/attribute "([^"]+)" missed value/))===null||_a===void 0?void 0:_a[1]}_matchMissingValueForAttribute(attribute){return new RegExp(`(${attribute}=(?!("|')))|(${attribute}(?!("|')))`,"gm")}_mathGenericMissingValue(){return/(\<.* )(\w+=(?!\"|\'))(.*\>)/gm}_isMissingAttributeValueError(errorMessage){return!!errorMessage.includes("attribute")&&!!errorMessage.includes("missed")||errorMessage.includes("attribute value missed")||errorMessage.includes(`AttValue: ' or " expected`)}},ElementsToMathMLAdapter=class{convert(els){let result=[],stack=[];for(let i=els.length-1;i>=0;i--)stack.push({el:els[i],target:result});for(;stack.length>0;){let{el,target}=stack.pop();if(el.tagName===void 0)continue;let node=this._convertElement(el);if(target.push(node),!this._hasElementChild(el))continue;let children=Array.from(el.childNodes);for(let i=children.length-1;i>=0;i--)stack.push({el:children[i],target:node.children})}return result}_convertElement(el){return{name:el.tagName,attributes:this._convertElementAttributes(el.attributes),value:this._hasElementChild(el)?"":el.textContent||"",children:[]}}_convertElementAttributes(attributes){return Array.from(attributes).reduce((acc,attr)=>Object.assign({[attr.nodeName]:attr.nodeValue===attr.nodeName?"":attr.nodeValue},acc),{})}_hasElementChild(el){let childNodes=el.childNodes;return!!childNodes&&childNodes.length!==0&&this._isThereAnyNoTextNode(childNodes)}_isThereAnyNoTextNode(children){return Array.from(children).some(child=>child.nodeName!=="#text")}},makeToMathElementsConverter=()=>{let elementsToMathMLAdapter=new ElementsToMathMLAdapter,errorHandler=new ErrorHandler;return new XmlToMathMLAdapter(elementsToMathMLAdapter,errorHandler)},MathMLToLaTeX=class{static convert(mathml){return makeToMathElementsConverter().convert(mathml).map(mathMLElement=>convertTreeToLatex(mathMLElement)).join("").trim()}};exports.MathMLToLaTeX=MathMLToLaTeX}});var require_math_base=__commonJS({"node_modules/defuddle/dist/elements/math.base.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.LOOKS_LIKE_LATEX_RE=exports.mathSelectors=exports.mathFastCheck=exports.isBlockDisplay=exports.getBasicLatexFromElement=exports.getMathMLFromElement=exports.reconstructMathMLFromMjx=void 0;exports.extractLatexFromImageSrc=extractLatexFromImageSrc;exports.wrapRawLatexDelimiters=wrapRawLatexDelimiters;var dom_1=require_dom(),utils_1=require_utils(),INVISIBLE_MATH_CHARS=/[⁡⁢⁣⁤]/g,normalizeMathGlyphs=s=>s.normalize("NFKC").replace(INVISIBLE_MATH_CHARS,""),MJX_TOKEN_TAGS=new Set(["mi","mo","mn","mtext","ms","mspace","mglyph"]),MJX_STRUCTURAL_TAGS=new Set(["mrow","mstyle","mpadded","mphantom","menclose","merror","mtable","mtr","mtd","mlabeledtr"]),MJX_DROP_TAGS=new Set(["mjx-nstrut","mjx-dstrut","mjx-strut","mjx-line","mjx-spacer","mjx-break","mjx-mark"]),directChild=(node,tag)=>{for(let child of Array.from(node.children))if(child.tagName.toLowerCase()===tag)return child;return null},flattenMjxChildren=(node,doc,skip)=>{if(!node)return[];let out=[];for(let child of Array.from(node.children))child!==skip&&out.push(...convertMjxNode(child,doc));return out},wrapParts=(parts,doc)=>{if(parts.length===1)return parts[0];let mrow=doc.createElement("mrow");return parts.forEach(p=>mrow.appendChild(p)),mrow},buildEl=(name,children,doc)=>{let el=doc.createElement(name);return children.forEach(c=>el.appendChild(c)),el},convertMjxNode=(node,doc)=>{let tag=node.tagName.toLowerCase();if(tag==="mjx-c"){let text=normalizeMathGlyphs(node.textContent||"");return text?[doc.createTextNode(text)]:[]}if(MJX_DROP_TAGS.has(tag))return[];if(!tag.startsWith("mjx-"))return[];let name=tag.slice(4);if(MJX_TOKEN_TAGS.has(name)){let text=normalizeMathGlyphs(node.textContent||"");if(!text&&name!=="mspace")return[];let el=doc.createElement(name);return text&&(el.textContent=text),[el]}if(MJX_STRUCTURAL_TAGS.has(name))return[buildEl(name,flattenMjxChildren(node,doc),doc)];switch(name){case"mfrac":{let num=wrapParts(flattenMjxChildren(node.querySelector("mjx-num"),doc),doc),den=wrapParts(flattenMjxChildren(node.querySelector("mjx-den"),doc),doc);return[buildEl("mfrac",[num,den],doc)]}case"msqrt":{let box=node.querySelector("mjx-box");return[buildEl("msqrt",flattenMjxChildren(box||node,doc),doc)]}case"msub":case"msup":{let script=directChild(node,"mjx-script"),base=wrapParts(flattenMjxChildren(node,doc,script),doc),sup=wrapParts(flattenMjxChildren(script,doc),doc);return[buildEl(name,[base,sup],doc)]}case"msubsup":{let script=directChild(node,"mjx-script"),base=wrapParts(flattenMjxChildren(node,doc,script),doc),parts=flattenMjxChildren(script,doc),sub=parts.length>1?parts[parts.length-1]:parts[0]||doc.createElement("mrow"),sup=parts.length>1?parts[0]:doc.createElement("mrow");return[buildEl("msubsup",[base,sub,sup],doc)]}case"munder":case"mover":case"munderover":{let base=wrapParts(flattenMjxChildren(node.querySelector("mjx-base"),doc),doc),under=node.querySelector("mjx-under"),over=node.querySelector("mjx-over");return name==="munder"?[buildEl("munder",[base,wrapParts(flattenMjxChildren(under,doc),doc)],doc)]:name==="mover"?[buildEl("mover",[base,wrapParts(flattenMjxChildren(over,doc),doc)],doc)]:[buildEl("munderover",[base,wrapParts(flattenMjxChildren(under,doc),doc),wrapParts(flattenMjxChildren(over,doc),doc)],doc)]}default:return flattenMjxChildren(node,doc)}},reconstructMathMLFromMjx=(mjxMath,doc)=>{let math=doc.createElement("math");math.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML");for(let child of Array.from(mjxMath.children))for(let n of convertMjxNode(child,doc))math.appendChild(n);if(math.childNodes.length===0)return null;let isBlock=mjxMath.getAttribute("display")==="true";return isBlock&&math.setAttribute("display","block"),{mathml:math.outerHTML,latex:null,isBlock}};exports.reconstructMathMLFromMjx=reconstructMathMLFromMjx;var flattenTaggedEquationTables=mathEl=>{let doc=mathEl.ownerDocument;if(!doc)return;let tables=Array.from(mathEl.querySelectorAll("mtable"));for(let table of tables){let rows=Array.from(table.children).filter(child=>{let name=child.tagName.toLowerCase();return name==="mtr"||name==="mlabeledtr"});if(rows.length!==1)continue;let row=rows[0];if(row.tagName.toLowerCase()!=="mlabeledtr")continue;let cells=Array.from(row.children).filter(child=>child.tagName.toLowerCase()==="mtd");if(cells.length<2)continue;let[labelCell,...contentCells]=cells,replacement=doc.createElement("mrow");for(let cell of contentCells)for(;cell.firstChild;)replacement.appendChild(cell.firstChild);if(labelCell.childNodes.length>0){let spacer=doc.createElement("mspace");for(spacer.setAttribute("width","2em"),replacement.appendChild(spacer);labelCell.firstChild;)replacement.appendChild(labelCell.firstChild)}table.replaceWith(replacement)}},serializeNormalizedMathML=mathEl=>{let clone=mathEl.cloneNode(!0);return flattenTaggedEquationTables(clone),clone.outerHTML},getMathMLFromElement=el=>{if(el.tagName.toLowerCase()==="math"){let isBlock=el.getAttribute("display")==="block";return{mathml:serializeNormalizedMathML(el),latex:el.getAttribute("alttext")||null,isBlock}}let mathmlStr=el.getAttribute("data-mathml");if(mathmlStr){let doc=el.ownerDocument||document,mathElement=(0,dom_1.parseHTML)(doc,mathmlStr).querySelector("math");if(mathElement){let isBlock=mathElement.getAttribute("display")==="block";return{mathml:serializeNormalizedMathML(mathElement),latex:mathElement.getAttribute("alttext")||null,isBlock}}}let assistiveMmlContainer=el.querySelector(".MJX_Assistive_MathML, mjx-assistive-mml");if(assistiveMmlContainer){let mathElement=assistiveMmlContainer.querySelector("math");if(mathElement){let mathDisplayAttr=mathElement.getAttribute("display"),containerDisplayAttr=assistiveMmlContainer.getAttribute("display"),isBlock=mathDisplayAttr==="block"||containerDisplayAttr==="block";return{mathml:serializeNormalizedMathML(mathElement),latex:mathElement.getAttribute("alttext")||null,isBlock}}}let katexMathml=el.querySelector(".katex-mathml math");if(katexMathml)return{mathml:serializeNormalizedMathML(katexMathml),latex:null,isBlock:!1};let mjxMath=el.tagName.toLowerCase()==="mjx-math"?el:el.querySelector("mjx-math");if(mjxMath){let doc=el.ownerDocument||document,reconstructed=(0,exports.reconstructMathMLFromMjx)(mjxMath,doc);if(reconstructed)return reconstructed}return null};exports.getMathMLFromElement=getMathMLFromElement;var getBasicLatexFromElement=el=>{let dataLatex=el.getAttribute("data-latex");if(dataLatex)return dataLatex;let dataMath=el.getAttribute("data-math");if(dataMath)return dataMath;let parentDataEntry=el.parentElement?.classList.contains("hurmet-tex")?el.parentElement.getAttribute("data-entry"):null;if(parentDataEntry)return parentDataEntry;if(el.tagName.toLowerCase()==="img"&&el.classList.contains("latex")){let altLatex=el.getAttribute("alt");if(altLatex)return altLatex;let src=el.getAttribute("src");if(src){let match=src.match(/latex\.php\?latex=([^&]+)/);if(match)return decodeURIComponent(match[1]).replace(/\+/g," ").replace(/%5C/g,"\\")}}let annotation=el.querySelector('annotation[encoding="application/x-tex"]');if(annotation?.textContent)return annotation.textContent.trim();if(el.matches(".katex")){let katexAnnotation=el.querySelector('.katex-mathml annotation[encoding="application/x-tex"]');if(katexAnnotation?.textContent)return katexAnnotation.textContent.trim()}if(el.matches('script[type="math/tex"]')||el.matches('script[type="math/tex; mode=display"]'))return el.textContent?.trim()||null;if(el.parentElement){let siblingScript=el.parentElement.querySelector('script[type="math/tex"], script[type="math/tex; mode=display"]');if(siblingScript)return siblingScript.textContent?.trim()||null}return el.tagName.toLowerCase()==="math"&&el.textContent?.trim()?el.textContent.trim():el.getAttribute("alt")||null};exports.getBasicLatexFromElement=getBasicLatexFromElement;var isBlockDisplay=el=>{if(el.getAttribute("display")==="block")return!0;let classNames=(0,dom_1.getClassName)(el).toLowerCase();if(classNames.includes("display")||classNames.includes("block")||el.closest('.katex-display, .MathJax_Display, [data-display="block"]')||el.previousElementSibling?.tagName.toLowerCase()==="p"||el.matches(".mwe-math-fallback-image-display"))return!0;if(el.matches(".katex"))return el.closest(".katex-display")!==null;if(el.hasAttribute("display"))return el.getAttribute("display")==="true";if(el.matches('script[type="math/tex; mode=display"]'))return!0;let parentContainer=el.closest("[display]");return parentContainer?parentContainer.getAttribute("display")==="true":!1};exports.isBlockDisplay=isBlockDisplay;exports.mathFastCheck='math, mjx-container, .MathJax, .katex, img.latex, [data-math], [data-latex], script[type^="math/"]';exports.mathSelectors=['img.latex[src*="latex.php"]',"span.MathJax","mjx-container",'script[type="math/tex"]','script[type="math/tex; mode=display"]','.MathJax_Preview + script[type="math/tex"]',".MathJax_Display",".MathJax_SVG",".MathJax_MathML",".mwe-math-element",".mwe-math-fallback-image-inline",".mwe-math-fallback-image-display",".mwe-math-mathml-inline",".mwe-math-mathml-display",".katex",".katex-display",".katex-mathml",".katex-html","[data-katex]",'script[type="math/katex"]',"math","[data-math]","[data-latex]","[data-tex]",'script[type^="math/"]','annotation[encoding="application/x-tex"]'].join(",");var LATEX_PARAM_REGEXES=["latex","chl","tex","eq","math"].map(param=>new RegExp(`[?&]${param}=([^&#]+)`,"i"));exports.LOOKS_LIKE_LATEX_RE=/\\[a-zA-Z]{2,}/;function extractLatexFromImageSrc(src){for(let re of LATEX_PARAM_REGEXES){let match=src.match(re);if(match){let latex=decodeLatex(match[1]);if(latex)return latex}}let queryMatch=src.match(/\?([^#]+)/);if(queryMatch){let latex=decodeLatex(queryMatch[1]);if(latex)return latex}let segments=src.split("?")[0].split("/");for(let i=segments.length-1;i>=0;i--)if(/%5[Cc]/.test(segments[i])){let latex=decodeLatex(segments[i]);if(latex)return latex}return null}function decodeLatex(raw){try{let decoded=decodeURIComponent(raw.replace(/\+/g," "));return exports.LOOKS_LIKE_LATEX_RE.test(decoded)?decoded:null}catch{return null}}function hasMathLibrary(doc){let scripts=Array.from(doc.querySelectorAll("script[src]"));for(let s of scripts){let src=(s.getAttribute("src")||"").toLowerCase();if(src.includes("mathjax")||src.includes("katex"))return!0}let inlineScripts=Array.from(doc.querySelectorAll("script:not([src])"));for(let s of inlineScripts){let text=s.textContent||"";if(/MathJax\s*[.=]/.test(text)||/katex/i.test(text))return!0}return!1}var LATEX_DELIM_RE=/\$\$([\s\S]+?)\$\$|\\\[([\s\S]+?)\\\]|\$([^\s$][^$]*[^\s$]|[^\s$])\$|\\\(([\s\S]+?)\\\)/g,LATEX_CMD_RE=/\\[a-zA-Z]/,LATEX_STRUCT_RE=/[_^{}]/;function containsLatexCommand(s){return LATEX_CMD_RE.test(s)||LATEX_STRUCT_RE.test(s)}var RAW_LATEX_SKIP_TAGS=new Set(["PRE","CODE","SCRIPT","STYLE","MATH","SVG","TEXTAREA"]);function wrapRawLatexDelimiters(element,doc){if(!hasMathLibrary(doc)||element.querySelector(exports.mathFastCheck))return;let textNodes=[];function walk(node){if(!((0,utils_1.isElement)(node)&&RAW_LATEX_SKIP_TAGS.has(node.tagName)))if((0,utils_1.isTextNode)(node))textNodes.push(node);else for(let child=node.firstChild;child;child=child.nextSibling)walk(child)}walk(element);for(let textNode of textNodes){let text=textNode.textContent||"";if(!text.includes("$")&&!text.includes("\\(")&&!text.includes("\\["))continue;let parts=[],lastIndex=0,hasBlockMath=!1;LATEX_DELIM_RE.lastIndex=0;let match;for(;(match=LATEX_DELIM_RE.exec(text))!==null;){let blockContent=match[1]??match[2],inlineContent=match[3]??match[4],isBlock=blockContent!==void 0,latex=(blockContent??inlineContent).trim();!(match[2]!==void 0||match[4]!==void 0)&&!containsLatexCommand(latex)||(lastIndex<match.index&&parts.push(text.slice(lastIndex,match.index)),isBlock&&(hasBlockMath=!0),parts.push({latex,isBlock}),lastIndex=match.index+match[0].length)}if(parts.length===0)continue;if(lastIndex<text.length&&parts.push(text.slice(lastIndex)),hasBlockMath){let hasSurroundingText=parts.some(p=>typeof p=="string"&&p.trim().length>0),parent=textNode.parentElement,parentHasOtherContent=parent?Array.from(parent.childNodes).some(n=>n!==textNode&&((0,utils_1.isTextNode)(n)&&(n.textContent||"").trim().length>0||(0,utils_1.isElement)(n))):!1;if(hasSurroundingText||parentHasOtherContent)for(let part of parts)typeof part!="string"&&(part.isBlock=!1)}let frag=doc.createDocumentFragment();for(let part of parts)if(typeof part=="string")frag.appendChild(doc.createTextNode(part));else{let mathEl=doc.createElement("math");mathEl.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),mathEl.setAttribute("display",part.isBlock?"block":"inline"),mathEl.setAttribute("data-latex",part.latex),mathEl.textContent=part.latex,frag.appendChild(mathEl)}textNode.replaceWith(frag)}}}});var require_temml=__commonJS({"node_modules/temml/dist/temml.cjs"(exports,module){"use strict";var ParseError=class _ParseError{constructor(message,token){let error=" "+message,start,loc=token&&token.loc;if(loc&&loc.start<=loc.end){let input=loc.lexer.input;start=loc.start;let end=loc.end;start===input.length?error+=" at end of input: ":error+=" at position "+(start+1)+`:
101
+ `;let underlined=input.slice(start,end).replace(/[^]/g,"$&\u0332"),left;start>15?left="\u2026"+input.slice(start-15,start):left=input.slice(0,start);let right;end+15<input.length?right=input.slice(end,end+15)+"\u2026":right=input.slice(end),error+=left+underlined+right}let self=new Error(error);return self.name="ParseError",self.__proto__=_ParseError.prototype,self.position=start,self}};ParseError.prototype.__proto__=Error.prototype;var deflt=function(options,key,defaultIfUndefined){if(!Object.prototype.hasOwnProperty.call(options,key))return defaultIfUndefined;let setting=options[key];return setting===void 0?defaultIfUndefined:setting},uppercase=/([A-Z])/g,hyphenate=function(str){return str.replace(uppercase,"-$1").toLowerCase()},ESCAPE_LOOKUP={"&":"&amp;",">":"&gt;","<":"&lt;",'"':"&quot;","'":"&#x27;"},ESCAPE_REGEX=/[&><"']/g;function escape(text2){return String(text2).replace(ESCAPE_REGEX,match=>ESCAPE_LOOKUP[match])}var getBaseElem=function(group){return group.type==="ordgroup"||group.type==="color"?group.body.length===1?getBaseElem(group.body[0]):group:group.type==="font"?getBaseElem(group.body):group},isCharacterBox=function(group){let baseElem=getBaseElem(group);return baseElem.type==="mathord"||baseElem.type==="textord"||baseElem.type==="atom"},assert=function(value){if(!value)throw new Error("Expected non-null, but got "+String(value));return value},protocolFromUrl=function(url){let protocol=/^[\x00-\x20]*([^\\/#?]*?)(:|&#0*58|&#x0*3a|&colon)/i.exec(url);return protocol?protocol[2]!==":"||!/^[a-zA-Z][a-zA-Z0-9+\-.]*$/.test(protocol[1])?null:protocol[1].toLowerCase():"_relative"},round=function(n){return+n.toFixed(4)},smalls="aceg\u0131\u0237mnopqrsuvwxyz\u03B1\u03B3\u03B5\u03B7\u03B9\u03BA\u03BC\u03BD\u03BF\u03C0\u03C1\u03C2\u03C3\u03C4\u03C5\u03C7\u03C9\u03D5\u{1D41A}\u{1D41C}\u{1D41E}\u{1D420}\u{1D426}\u{1D427}\u{1D428}\u{1D429}\u{1D42A}\u{1D42B}\u{1D42C}\u{1D42E}\u{1D42F}\u{1D430}\u{1D431}\u{1D432}\u{1D433}",FORBIDDEN_MACRO_KEYS=["__proto__","prototype","constructor"],sanitizeMacros=macros2=>{if(macros2==null||typeof macros2!="object")return Object.create(null);for(let key of FORBIDDEN_MACRO_KEYS)Object.prototype.hasOwnProperty.call(macros2,key)&&delete macros2[key];return Object.setPrototypeOf(macros2,null)},Settings=class{constructor(options){options=options||{},this.displayMode=deflt(options,"displayMode",!1),this.annotate=deflt(options,"annotate",!1),this.leqno=deflt(options,"leqno",!1),this.throwOnError=deflt(options,"throwOnError",!1),this.errorColor=deflt(options,"errorColor","#b22222"),this.macros=sanitizeMacros(Object.prototype.hasOwnProperty.call(options,"macros")?options.macros:void 0),this.wrap=deflt(options,"wrap","none"),this.xml=deflt(options,"xml",!1),this.colorIsTextColor=deflt(options,"colorIsTextColor",!1),this.strict=deflt(options,"strict",!1),this.trust=deflt(options,"trust",!1);let maxSize=Object.prototype.hasOwnProperty.call(options,"maxSize")?options.maxSize:void 0;this.maxSize=maxSize===void 0?[1/0,1/0]:Array.isArray(maxSize)?maxSize:[1/0,1/0],this.maxExpand=Math.max(0,deflt(options,"maxExpand",1e3)),this.wrapDelimiterPairs=!0}isTrusted(context){if(context.url&&!context.protocol){let protocol=protocolFromUrl(context.url);if(protocol==null)return!1;context.protocol=protocol}return!!(typeof this.trust=="function"?this.trust(context):this.trust)}},_functions={},_mathmlGroupBuilders={};function defineFunction({type,names,props,handler,mathmlBuilder:mathmlBuilder2}){let data={type,numArgs:props.numArgs,argTypes:props.argTypes,allowedInArgument:!!props.allowedInArgument,allowedInText:!!props.allowedInText,allowedInMath:props.allowedInMath===void 0?!0:props.allowedInMath,numOptionalArgs:props.numOptionalArgs||0,infix:!!props.infix,primitive:!!props.primitive,handler};for(let i=0;i<names.length;++i)_functions[names[i]]=data;type&&mathmlBuilder2&&(_mathmlGroupBuilders[type]=mathmlBuilder2)}function defineFunctionBuilders({type,mathmlBuilder:mathmlBuilder2}){defineFunction({type,names:[],props:{numArgs:0},handler(){throw new Error("Should never be called.")},mathmlBuilder:mathmlBuilder2})}var normalizeArgument=function(arg){return arg.type==="ordgroup"&&arg.body.length===1?arg.body[0]:arg},ordargument=function(arg){return arg.type==="ordgroup"?arg.body:[arg]},DocumentFragment=class{constructor(children){this.children=children,this.classes=[],this.style={}}hasClass(className){return this.classes.includes(className)}toNode(){let frag=document.createDocumentFragment();for(let i=0;i<this.children.length;i++)frag.appendChild(this.children[i].toNode());return frag}toMarkup(){let markup="";for(let i=0;i<this.children.length;i++)markup+=this.children[i].toMarkup();return markup}toText(){let toText=child=>child.toText();return this.children.map(toText).join("")}},createClass=function(classes){return classes.filter(cls=>cls).join(" ")},initNode=function(classes,style){this.classes=classes||[],this.attributes={},this.style=style||{}},toNode=function(tagName){let node=document.createElement(tagName);node.className=createClass(this.classes);for(let style in this.style)Object.prototype.hasOwnProperty.call(this.style,style)&&(node.style[style]=this.style[style]);for(let attr in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,attr)&&node.setAttribute(attr,this.attributes[attr]);for(let i=0;i<this.children.length;i++)node.appendChild(this.children[i].toNode());return node},toMarkup=function(tagName){let markup=`<${tagName}`;this.classes.length&&(markup+=` class="${escape(createClass(this.classes))}"`);let styles="";for(let style in this.style)Object.prototype.hasOwnProperty.call(this.style,style)&&(styles+=`${hyphenate(style)}:${this.style[style]};`);styles&&(markup+=` style="${styles}"`);for(let attr in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,attr)&&(markup+=` ${attr}="${escape(this.attributes[attr])}"`);markup+=">";for(let i=0;i<this.children.length;i++)markup+=this.children[i].toMarkup();return markup+=`</${tagName}>`,markup},Span=class{constructor(classes,children,style){initNode.call(this,classes,style),this.children=children||[]}setAttribute(attribute,value){this.attributes[attribute]=value}toNode(){return toNode.call(this,"span")}toMarkup(){return toMarkup.call(this,"span")}},TextNode$1=class{constructor(text2){this.text=text2}toNode(){return document.createTextNode(this.text)}toMarkup(){return escape(this.text)}},AnchorNode=class{constructor(href,classes,children){this.href=href,this.classes=classes,this.children=children||[]}toNode(){let node=document.createElement("a");node.setAttribute("href",this.href),this.classes.length>0&&(node.className=createClass(this.classes));for(let i=0;i<this.children.length;i++)node.appendChild(this.children[i].toNode());return node}toMarkup(){let markup=`<a href='${escape(this.href)}'`;this.classes.length>0&&(markup+=` class="${escape(createClass(this.classes))}"`),markup+=">";for(let i=0;i<this.children.length;i++)markup+=this.children[i].toMarkup();return markup+="</a>",markup}},Img=class{constructor(src,alt,style){this.alt=alt,this.src=src,this.classes=["mord"],this.style=style}hasClass(className){return this.classes.includes(className)}toNode(){let node=document.createElement("img");node.src=this.src,node.alt=this.alt,node.className="mord";for(let style in this.style)Object.prototype.hasOwnProperty.call(this.style,style)&&(node.style[style]=this.style[style]);return node}toMarkup(){let markup=`<img src='${this.src}' alt='${this.alt}'`,styles="";for(let style in this.style)Object.prototype.hasOwnProperty.call(this.style,style)&&(styles+=`${hyphenate(style)}:${this.style[style]};`);return styles&&(markup+=` style="${escape(styles)}"`),markup+=">",markup}};function newDocumentFragment(children){return new DocumentFragment(children)}var MathNode=class{constructor(type,children,classes,style){this.type=type,this.attributes={},this.children=children||[],this.classes=classes||[],this.style=style||{},this.label=""}setAttribute(name,value){this.attributes[name]=value}getAttribute(name){return this.attributes[name]}setLabel(value){this.label=value}toNode(){let node=document.createElementNS("http://www.w3.org/1998/Math/MathML",this.type);for(let attr in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,attr)&&node.setAttribute(attr,this.attributes[attr]);this.classes.length>0&&(node.className=createClass(this.classes));for(let style in this.style)Object.prototype.hasOwnProperty.call(this.style,style)&&(node.style[style]=this.style[style]);for(let i=0;i<this.children.length;i++)node.appendChild(this.children[i].toNode());return node}toMarkup(){let markup="<"+this.type;for(let attr in this.attributes)Object.prototype.hasOwnProperty.call(this.attributes,attr)&&(markup+=" "+attr+'="',markup+=escape(this.attributes[attr]),markup+='"');this.classes.length>0&&(markup+=` class="${escape(createClass(this.classes))}"`);let styles="";for(let style in this.style)Object.prototype.hasOwnProperty.call(this.style,style)&&(styles+=`${hyphenate(style)}:${this.style[style]};`);styles&&(markup+=` style="${styles}"`),markup+=">";for(let i=0;i<this.children.length;i++)markup+=this.children[i].toMarkup();return markup+="</"+this.type+">",markup}toText(){return this.children.map(child=>child.toText()).join("")}},TextNode=class{constructor(text2){this.text=text2}toNode(){return document.createTextNode(this.text)}toMarkup(){return escape(this.toText())}toText(){return this.text}},wrapWithMstyle=expression=>{let node;return expression.length===1&&expression[0].type==="mrow"?(node=expression.pop(),node.type="mstyle"):node=new MathNode("mstyle",expression),node},estimatedWidth=node=>{let width=0;if(node.body&&Array.isArray(node.body))for(let item of node.body)width+=estimatedWidth(item);else if(node.body)width+=estimatedWidth(node.body);else if(node.type==="supsub")width+=estimatedWidth(node.base),node.sub&&(width+=.7*estimatedWidth(node.sub)),node.sup&&(width+=.7*estimatedWidth(node.sup));else if(node.type==="mathord"||node.type==="textord")for(let ch of node.text.split("")){let codePoint=ch.codePointAt(0);96<codePoint&&codePoint<123||944<codePoint&&codePoint<970?width+=.56:47<codePoint&&codePoint<58?width+=.5:width+=.92}else width+=1;return width},stretchyCodePoint={widehat:"\u02C6",widecheck:"\u02C7",widetilde:"~",wideparen:"\u23DC",utilde:"~",overleftarrow:"\u2190",underleftarrow:"\u2190",xleftarrow:"\u2190",overrightarrow:"\u2192",underrightarrow:"\u2192",xrightarrow:"\u2192",underbrace:"\u23DF",overbrace:"\u23DE",overbracket:"\u23B4",underbracket:"\u23B5",overgroup:"\u23E0",overparen:"\u23DC",undergroup:"\u23E1",underparen:"\u23DD",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",xtwoheadleftarrow:"\u219E",xtwoheadrightarrow:"\u21A0",xlongequal:"=",xrightleftarrows:"\u21C4",xtofrom:"\u21C4",xleftrightharpoons:"\u21CB",xrightleftharpoons:"\u21CC",yields:"\u2192",yieldsLeft:"\u2190",mesomerism:"\u2194",longrightharpoonup:"\u21C0",longleftharpoondown:"\u21BD",eqrightharpoonup:"\u21C0",eqleftharpoondown:"\u21BD","\\cdrightarrow":"\u2192","\\cdleftarrow":"\u2190","\\cdlongequal":"=",yieldsLeftRight:"\u21C4",chemequilibrium:"\u21CC"},mathMLnode=function(label){let child=new TextNode(stretchyCodePoint[label.slice(1)]),node=new MathNode("mo",[child]);return node.setAttribute("stretchy","true"),node},wideHats=["\\widehat","\\widecheck"],accentNode=group=>{let mo=mathMLnode(group.label);if(group.label.indexOf("tilde")>-1){let width=estimatedWidth(group.base);1<width&&width<1.6?mo.classes.push("tml-tilde-2"):1.6<=width&&width<2.5?mo.classes.push("tml-tilde-3"):2.5<=width&&mo.classes.push("tml-tilde-4")}else if(wideHats.includes(group.label)){let width=estimatedWidth(group.base);0<width&&width<=1?mo.classes.push("tml-hat-1"):1<width&&width<1.6?mo.classes.push("tml-hat-2"):1.6<=width&&width<2.5?mo.classes.push("tml-hat-3"):2.5<=width&&mo.classes.push("tml-hat-4")}return mo},ATOMS={bin:1,close:1,inner:1,open:1,punct:1,rel:1},NON_ATOMS={"accent-token":1,mathord:1,"op-token":1,spacing:1,textord:1},symbols=Object.create(null);symbols.math=Object.create(null);symbols.text=Object.create(null);function defineSymbol(mode,group,replace,name,acceptUnicodeChar){if(mode!=="math"&&mode!=="text")throw new TypeError(`Invalid mode: ${mode} called in defineSymbol`);let entry={group,replace};symbols[mode][name]=entry,acceptUnicodeChar&&replace&&(symbols[mode][replace]=entry)}var math="math",text="text",accent="accent-token",bin="bin",close="close",inner="inner",mathord="mathord",op="op-token",open="open",punct="punct",rel="rel",spacing="spacing",textord="textord";defineSymbol(math,rel,"\u2261","\\equiv",!0);defineSymbol(math,rel,"\u227A","\\prec",!0);defineSymbol(math,rel,"\u227B","\\succ",!0);defineSymbol(math,rel,"\u223C","\\sim",!0);defineSymbol(math,rel,"\u27C2","\\perp",!0);defineSymbol(math,rel,"\u2AAF","\\preceq",!0);defineSymbol(math,rel,"\u2AB0","\\succeq",!0);defineSymbol(math,rel,"\u2243","\\simeq",!0);defineSymbol(math,rel,"\u224C","\\backcong",!0);defineSymbol(math,rel,"|","\\mid",!0);defineSymbol(math,rel,"\u226A","\\ll",!0);defineSymbol(math,rel,"\u226B","\\gg",!0);defineSymbol(math,rel,"\u224D","\\asymp",!0);defineSymbol(math,rel,"\u2225","\\parallel");defineSymbol(math,rel,"\u2323","\\smile",!0);defineSymbol(math,rel,"\u2291","\\sqsubseteq",!0);defineSymbol(math,rel,"\u2292","\\sqsupseteq",!0);defineSymbol(math,rel,"\u2250","\\doteq",!0);defineSymbol(math,rel,"\u2322","\\frown",!0);defineSymbol(math,rel,"\u220B","\\ni",!0);defineSymbol(math,rel,"\u220C","\\notni",!0);defineSymbol(math,rel,"\u221D","\\propto",!0);defineSymbol(math,rel,"\u22A2","\\vdash",!0);defineSymbol(math,rel,"\u22A3","\\dashv",!0);defineSymbol(math,rel,"\u220B","\\owns");defineSymbol(math,rel,"\u2258","\\arceq",!0);defineSymbol(math,rel,"\u2259","\\wedgeq",!0);defineSymbol(math,rel,"\u225A","\\veeeq",!0);defineSymbol(math,rel,"\u225B","\\stareq",!0);defineSymbol(math,rel,"\u225D","\\eqdef",!0);defineSymbol(math,rel,"\u225E","\\measeq",!0);defineSymbol(math,rel,"\u225F","\\questeq",!0);defineSymbol(math,rel,"\u2260","\\ne",!0);defineSymbol(math,rel,"\u2260","\\neq");defineSymbol(math,rel,"\u2A75","\\eqeq",!0);defineSymbol(math,rel,"\u2A76","\\eqeqeq",!0);defineSymbol(math,rel,"\u2237","\\dblcolon",!0);defineSymbol(math,rel,"\u2254","\\coloneqq",!0);defineSymbol(math,rel,"\u2255","\\eqqcolon",!0);defineSymbol(math,rel,"\u2239","\\eqcolon",!0);defineSymbol(math,rel,"\u2A74","\\Coloneqq",!0);defineSymbol(math,punct,".","\\ldotp");defineSymbol(math,punct,"\xB7","\\cdotp");defineSymbol(math,textord,"#","\\#");defineSymbol(text,textord,"#","\\#");defineSymbol(math,textord,"&","\\&");defineSymbol(text,textord,"&","\\&");defineSymbol(math,textord,"\u2135","\\aleph",!0);defineSymbol(math,textord,"\u2200","\\forall",!0);defineSymbol(math,textord,"\u210F","\\hbar",!0);defineSymbol(math,textord,"\u2203","\\exists",!0);defineSymbol(math,open,"\u2207","\\nabla",!0);defineSymbol(math,textord,"\u266D","\\flat",!0);defineSymbol(math,textord,"\u2113","\\ell",!0);defineSymbol(math,textord,"\u266E","\\natural",!0);defineSymbol(math,textord,"\u212B","\\Angstrom",!0);defineSymbol(text,textord,"\u212B","\\Angstrom",!0);defineSymbol(math,textord,"\u2663","\\clubsuit",!0);defineSymbol(math,textord,"\u2667","\\varclubsuit",!0);defineSymbol(math,textord,"\u2118","\\wp",!0);defineSymbol(math,textord,"\u266F","\\sharp",!0);defineSymbol(math,textord,"\u2662","\\diamondsuit",!0);defineSymbol(math,textord,"\u2666","\\vardiamondsuit",!0);defineSymbol(math,textord,"\u211C","\\Re",!0);defineSymbol(math,textord,"\u2661","\\heartsuit",!0);defineSymbol(math,textord,"\u2665","\\varheartsuit",!0);defineSymbol(math,textord,"\u2111","\\Im",!0);defineSymbol(math,textord,"\u2660","\\spadesuit",!0);defineSymbol(math,textord,"\u2664","\\varspadesuit",!0);defineSymbol(math,textord,"\u2640","\\female",!0);defineSymbol(math,textord,"\u2642","\\male",!0);defineSymbol(math,textord,"\xA7","\\S",!0);defineSymbol(text,textord,"\xA7","\\S");defineSymbol(math,textord,"\xB6","\\P",!0);defineSymbol(text,textord,"\xB6","\\P");defineSymbol(text,textord,"\u263A","\\smiley",!0);defineSymbol(math,textord,"\u263A","\\smiley",!0);defineSymbol(math,textord,"\u2020","\\dag");defineSymbol(text,textord,"\u2020","\\dag");defineSymbol(text,textord,"\u2020","\\textdagger");defineSymbol(math,textord,"\u2021","\\ddag");defineSymbol(text,textord,"\u2021","\\ddag");defineSymbol(text,textord,"\u2021","\\textdaggerdbl");defineSymbol(math,close,"\u23B1","\\rmoustache",!0);defineSymbol(math,open,"\u23B0","\\lmoustache",!0);defineSymbol(math,close,"\u27EF","\\rgroup",!0);defineSymbol(math,open,"\u27EE","\\lgroup",!0);defineSymbol(math,bin,"\u2213","\\mp",!0);defineSymbol(math,bin,"\u2296","\\ominus",!0);defineSymbol(math,bin,"\u228E","\\uplus",!0);defineSymbol(math,bin,"\u2293","\\sqcap",!0);defineSymbol(math,bin,"\u2217","\\ast");defineSymbol(math,bin,"\u2294","\\sqcup",!0);defineSymbol(math,bin,"\u25EF","\\bigcirc",!0);defineSymbol(math,bin,"\u2219","\\bullet",!0);defineSymbol(math,bin,"\u2021","\\ddagger");defineSymbol(math,bin,"\u2240","\\wr",!0);defineSymbol(math,bin,"\u2A3F","\\amalg");defineSymbol(math,bin,"&","\\And");defineSymbol(math,bin,"\u2AFD","\\sslash",!0);defineSymbol(math,rel,"\u27F5","\\longleftarrow",!0);defineSymbol(math,rel,"\u21D0","\\Leftarrow",!0);defineSymbol(math,rel,"\u27F8","\\Longleftarrow",!0);defineSymbol(math,rel,"\u27F6","\\longrightarrow",!0);defineSymbol(math,rel,"\u21D2","\\Rightarrow",!0);defineSymbol(math,rel,"\u27F9","\\Longrightarrow",!0);defineSymbol(math,rel,"\u2194","\\leftrightarrow",!0);defineSymbol(math,rel,"\u27F7","\\longleftrightarrow",!0);defineSymbol(math,rel,"\u21D4","\\Leftrightarrow",!0);defineSymbol(math,rel,"\u27FA","\\Longleftrightarrow",!0);defineSymbol(math,rel,"\u21A4","\\mapsfrom",!0);defineSymbol(math,rel,"\u21A6","\\mapsto",!0);defineSymbol(math,rel,"\u27FC","\\longmapsto",!0);defineSymbol(math,rel,"\u2197","\\nearrow",!0);defineSymbol(math,rel,"\u21A9","\\hookleftarrow",!0);defineSymbol(math,rel,"\u21AA","\\hookrightarrow",!0);defineSymbol(math,rel,"\u2198","\\searrow",!0);defineSymbol(math,rel,"\u21BC","\\leftharpoonup",!0);defineSymbol(math,rel,"\u21C0","\\rightharpoonup",!0);defineSymbol(math,rel,"\u2199","\\swarrow",!0);defineSymbol(math,rel,"\u21BD","\\leftharpoondown",!0);defineSymbol(math,rel,"\u21C1","\\rightharpoondown",!0);defineSymbol(math,rel,"\u2196","\\nwarrow",!0);defineSymbol(math,rel,"\u21CC","\\rightleftharpoons",!0);defineSymbol(math,mathord,"\u21AF","\\lightning",!0);defineSymbol(math,mathord,"\u220E","\\QED",!0);defineSymbol(math,mathord,"\u2030","\\permil",!0);defineSymbol(text,textord,"\u2030","\\permil");defineSymbol(math,mathord,"\u2609","\\astrosun",!0);defineSymbol(math,mathord,"\u263C","\\sun",!0);defineSymbol(math,mathord,"\u263E","\\leftmoon",!0);defineSymbol(math,mathord,"\u263D","\\rightmoon",!0);defineSymbol(math,mathord,"\u2295","\\Earth");defineSymbol(math,rel,"\u226E","\\nless",!0);defineSymbol(math,rel,"\u2A87","\\lneq",!0);defineSymbol(math,rel,"\u2268","\\lneqq",!0);defineSymbol(math,rel,"\u2268\uFE00","\\lvertneqq");defineSymbol(math,rel,"\u22E6","\\lnsim",!0);defineSymbol(math,rel,"\u2A89","\\lnapprox",!0);defineSymbol(math,rel,"\u2280","\\nprec",!0);defineSymbol(math,rel,"\u22E0","\\npreceq",!0);defineSymbol(math,rel,"\u22E8","\\precnsim",!0);defineSymbol(math,rel,"\u2AB9","\\precnapprox",!0);defineSymbol(math,rel,"\u2241","\\nsim",!0);defineSymbol(math,rel,"\u2224","\\nmid",!0);defineSymbol(math,rel,"\u2224","\\nshortmid");defineSymbol(math,rel,"\u22AC","\\nvdash",!0);defineSymbol(math,rel,"\u22AD","\\nvDash",!0);defineSymbol(math,rel,"\u22EA","\\ntriangleleft");defineSymbol(math,rel,"\u22EC","\\ntrianglelefteq",!0);defineSymbol(math,rel,"\u2284","\\nsubset",!0);defineSymbol(math,rel,"\u2285","\\nsupset",!0);defineSymbol(math,rel,"\u228A","\\subsetneq",!0);defineSymbol(math,rel,"\u228A\uFE00","\\varsubsetneq");defineSymbol(math,rel,"\u2ACB","\\subsetneqq",!0);defineSymbol(math,rel,"\u2ACB\uFE00","\\varsubsetneqq");defineSymbol(math,rel,"\u226F","\\ngtr",!0);defineSymbol(math,rel,"\u2A88","\\gneq",!0);defineSymbol(math,rel,"\u2269","\\gneqq",!0);defineSymbol(math,rel,"\u2269\uFE00","\\gvertneqq");defineSymbol(math,rel,"\u22E7","\\gnsim",!0);defineSymbol(math,rel,"\u2A8A","\\gnapprox",!0);defineSymbol(math,rel,"\u2281","\\nsucc",!0);defineSymbol(math,rel,"\u22E1","\\nsucceq",!0);defineSymbol(math,rel,"\u22E9","\\succnsim",!0);defineSymbol(math,rel,"\u2ABA","\\succnapprox",!0);defineSymbol(math,rel,"\u2246","\\ncong",!0);defineSymbol(math,rel,"\u2226","\\nparallel",!0);defineSymbol(math,rel,"\u2226","\\nshortparallel");defineSymbol(math,rel,"\u22AF","\\nVDash",!0);defineSymbol(math,rel,"\u22EB","\\ntriangleright");defineSymbol(math,rel,"\u22ED","\\ntrianglerighteq",!0);defineSymbol(math,rel,"\u228B","\\supsetneq",!0);defineSymbol(math,rel,"\u228B","\\varsupsetneq");defineSymbol(math,rel,"\u2ACC","\\supsetneqq",!0);defineSymbol(math,rel,"\u2ACC\uFE00","\\varsupsetneqq");defineSymbol(math,rel,"\u22AE","\\nVdash",!0);defineSymbol(math,rel,"\u2AB5","\\precneqq",!0);defineSymbol(math,rel,"\u2AB6","\\succneqq",!0);defineSymbol(math,bin,"\u22B4","\\unlhd");defineSymbol(math,bin,"\u22B5","\\unrhd");defineSymbol(math,rel,"\u219A","\\nleftarrow",!0);defineSymbol(math,rel,"\u219B","\\nrightarrow",!0);defineSymbol(math,rel,"\u21CD","\\nLeftarrow",!0);defineSymbol(math,rel,"\u21CF","\\nRightarrow",!0);defineSymbol(math,rel,"\u21AE","\\nleftrightarrow",!0);defineSymbol(math,rel,"\u21CE","\\nLeftrightarrow",!0);defineSymbol(math,rel,"\u25B3","\\vartriangle");defineSymbol(math,textord,"\u210F","\\hslash");defineSymbol(math,textord,"\u25BD","\\triangledown");defineSymbol(math,textord,"\u25CA","\\lozenge");defineSymbol(math,textord,"\u24C8","\\circledS");defineSymbol(math,textord,"\xAE","\\circledR",!0);defineSymbol(text,textord,"\xAE","\\circledR");defineSymbol(text,textord,"\xAE","\\textregistered");defineSymbol(math,textord,"\u2221","\\measuredangle",!0);defineSymbol(math,textord,"\u2204","\\nexists");defineSymbol(math,textord,"\u2127","\\mho");defineSymbol(math,textord,"\u2132","\\Finv",!0);defineSymbol(math,textord,"\u2141","\\Game",!0);defineSymbol(math,textord,"\u2035","\\backprime");defineSymbol(math,textord,"\u2036","\\backdprime");defineSymbol(math,textord,"\u2037","\\backtrprime");defineSymbol(math,textord,"\u25B2","\\blacktriangle");defineSymbol(math,textord,"\u25BC","\\blacktriangledown");defineSymbol(math,textord,"\u25A0","\\blacksquare");defineSymbol(math,textord,"\u29EB","\\blacklozenge");defineSymbol(math,textord,"\u2605","\\bigstar");defineSymbol(math,textord,"\u2222","\\sphericalangle",!0);defineSymbol(math,textord,"\u2201","\\complement",!0);defineSymbol(math,textord,"\u2571","\\diagup");defineSymbol(math,textord,"\u2572","\\diagdown");defineSymbol(math,textord,"\u25A1","\\square");defineSymbol(math,textord,"\u25A1","\\Box");defineSymbol(math,textord,"\u25CA","\\Diamond");defineSymbol(math,textord,"\xA5","\\yen",!0);defineSymbol(text,textord,"\xA5","\\yen",!0);defineSymbol(math,textord,"\u2713","\\checkmark",!0);defineSymbol(text,textord,"\u2713","\\checkmark");defineSymbol(math,textord,"\u2717","\\ballotx",!0);defineSymbol(text,textord,"\u2717","\\ballotx");defineSymbol(text,textord,"\u2022","\\textbullet");defineSymbol(math,textord,"\u2136","\\beth",!0);defineSymbol(math,textord,"\u2138","\\daleth",!0);defineSymbol(math,textord,"\u2137","\\gimel",!0);defineSymbol(math,textord,"\u03DD","\\digamma",!0);defineSymbol(math,textord,"\u03F0","\\varkappa");defineSymbol(math,open,"\u231C","\\ulcorner",!0);defineSymbol(math,close,"\u231D","\\urcorner",!0);defineSymbol(math,open,"\u231E","\\llcorner",!0);defineSymbol(math,close,"\u231F","\\lrcorner",!0);defineSymbol(math,rel,"\u2266","\\leqq",!0);defineSymbol(math,rel,"\u2A7D","\\leqslant",!0);defineSymbol(math,rel,"\u2A95","\\eqslantless",!0);defineSymbol(math,rel,"\u2272","\\lesssim",!0);defineSymbol(math,rel,"\u2A85","\\lessapprox",!0);defineSymbol(math,rel,"\u224A","\\approxeq",!0);defineSymbol(math,bin,"\u22D6","\\lessdot");defineSymbol(math,rel,"\u22D8","\\lll",!0);defineSymbol(math,rel,"\u2276","\\lessgtr",!0);defineSymbol(math,rel,"\u22DA","\\lesseqgtr",!0);defineSymbol(math,rel,"\u2A8B","\\lesseqqgtr",!0);defineSymbol(math,rel,"\u2251","\\doteqdot");defineSymbol(math,rel,"\u2253","\\risingdotseq",!0);defineSymbol(math,rel,"\u2252","\\fallingdotseq",!0);defineSymbol(math,rel,"\u223D","\\backsim",!0);defineSymbol(math,rel,"\u22CD","\\backsimeq",!0);defineSymbol(math,rel,"\u2AC5","\\subseteqq",!0);defineSymbol(math,rel,"\u22D0","\\Subset",!0);defineSymbol(math,rel,"\u228F","\\sqsubset",!0);defineSymbol(math,rel,"\u227C","\\preccurlyeq",!0);defineSymbol(math,rel,"\u22DE","\\curlyeqprec",!0);defineSymbol(math,rel,"\u227E","\\precsim",!0);defineSymbol(math,rel,"\u2AB7","\\precapprox",!0);defineSymbol(math,rel,"\u22B2","\\vartriangleleft");defineSymbol(math,rel,"\u22B4","\\trianglelefteq");defineSymbol(math,rel,"\u22A8","\\vDash",!0);defineSymbol(math,rel,"\u22AB","\\VDash",!0);defineSymbol(math,rel,"\u22AA","\\Vvdash",!0);defineSymbol(math,rel,"\u2323","\\smallsmile");defineSymbol(math,rel,"\u2322","\\smallfrown");defineSymbol(math,rel,"\u224F","\\bumpeq",!0);defineSymbol(math,rel,"\u224E","\\Bumpeq",!0);defineSymbol(math,rel,"\u2267","\\geqq",!0);defineSymbol(math,rel,"\u2A7E","\\geqslant",!0);defineSymbol(math,rel,"\u2A96","\\eqslantgtr",!0);defineSymbol(math,rel,"\u2273","\\gtrsim",!0);defineSymbol(math,rel,"\u2A86","\\gtrapprox",!0);defineSymbol(math,bin,"\u22D7","\\gtrdot");defineSymbol(math,rel,"\u22D9","\\ggg",!0);defineSymbol(math,rel,"\u2277","\\gtrless",!0);defineSymbol(math,rel,"\u22DB","\\gtreqless",!0);defineSymbol(math,rel,"\u2A8C","\\gtreqqless",!0);defineSymbol(math,rel,"\u2256","\\eqcirc",!0);defineSymbol(math,rel,"\u2257","\\circeq",!0);defineSymbol(math,rel,"\u225C","\\triangleq",!0);defineSymbol(math,rel,"\u223C","\\thicksim");defineSymbol(math,rel,"\u2248","\\thickapprox");defineSymbol(math,rel,"\u2AC6","\\supseteqq",!0);defineSymbol(math,rel,"\u22D1","\\Supset",!0);defineSymbol(math,rel,"\u2290","\\sqsupset",!0);defineSymbol(math,rel,"\u227D","\\succcurlyeq",!0);defineSymbol(math,rel,"\u22DF","\\curlyeqsucc",!0);defineSymbol(math,rel,"\u227F","\\succsim",!0);defineSymbol(math,rel,"\u2AB8","\\succapprox",!0);defineSymbol(math,rel,"\u22B3","\\vartriangleright");defineSymbol(math,rel,"\u22B5","\\trianglerighteq");defineSymbol(math,rel,"\u22A9","\\Vdash",!0);defineSymbol(math,rel,"\u2223","\\shortmid");defineSymbol(math,rel,"\u2225","\\shortparallel");defineSymbol(math,rel,"\u226C","\\between",!0);defineSymbol(math,rel,"\u22D4","\\pitchfork",!0);defineSymbol(math,rel,"\u221D","\\varpropto");defineSymbol(math,rel,"\u25C0","\\blacktriangleleft");defineSymbol(math,rel,"\u2234","\\therefore",!0);defineSymbol(math,rel,"\u220D","\\backepsilon");defineSymbol(math,rel,"\u25B6","\\blacktriangleright");defineSymbol(math,rel,"\u2235","\\because",!0);defineSymbol(math,rel,"\u22D8","\\llless");defineSymbol(math,rel,"\u22D9","\\gggtr");defineSymbol(math,bin,"\u22B2","\\lhd");defineSymbol(math,bin,"\u22B3","\\rhd");defineSymbol(math,rel,"\u2242","\\eqsim",!0);defineSymbol(math,rel,"\u2251","\\Doteq",!0);defineSymbol(math,rel,"\u297D","\\strictif",!0);defineSymbol(math,rel,"\u297C","\\strictfi",!0);defineSymbol(math,bin,"\u2214","\\dotplus",!0);defineSymbol(math,bin,"\u2216","\\smallsetminus");defineSymbol(math,bin,"\u22D2","\\Cap",!0);defineSymbol(math,bin,"\u22D3","\\Cup",!0);defineSymbol(math,bin,"\u2A5E","\\doublebarwedge",!0);defineSymbol(math,bin,"\u229F","\\boxminus",!0);defineSymbol(math,bin,"\u229E","\\boxplus",!0);defineSymbol(math,bin,"\u29C4","\\boxslash",!0);defineSymbol(math,bin,"\u22C7","\\divideontimes",!0);defineSymbol(math,bin,"\u22C9","\\ltimes",!0);defineSymbol(math,bin,"\u22CA","\\rtimes",!0);defineSymbol(math,bin,"\u22CB","\\leftthreetimes",!0);defineSymbol(math,bin,"\u22CC","\\rightthreetimes",!0);defineSymbol(math,bin,"\u22CF","\\curlywedge",!0);defineSymbol(math,bin,"\u22CE","\\curlyvee",!0);defineSymbol(math,bin,"\u229D","\\circleddash",!0);defineSymbol(math,bin,"\u229B","\\circledast",!0);defineSymbol(math,bin,"\u22BA","\\intercal",!0);defineSymbol(math,bin,"\u22D2","\\doublecap");defineSymbol(math,bin,"\u22D3","\\doublecup");defineSymbol(math,bin,"\u22A0","\\boxtimes",!0);defineSymbol(math,bin,"\u22C8","\\bowtie",!0);defineSymbol(math,bin,"\u22C8","\\Join");defineSymbol(math,bin,"\u27D5","\\leftouterjoin",!0);defineSymbol(math,bin,"\u27D6","\\rightouterjoin",!0);defineSymbol(math,bin,"\u27D7","\\fullouterjoin",!0);defineSymbol(math,bin,"\u2238","\\dotminus",!0);defineSymbol(math,bin,"\u27D1","\\wedgedot",!0);defineSymbol(math,bin,"\u27C7","\\veedot",!0);defineSymbol(math,bin,"\u2A62","\\doublebarvee",!0);defineSymbol(math,bin,"\u2A63","\\veedoublebar",!0);defineSymbol(math,bin,"\u2A5F","\\wedgebar",!0);defineSymbol(math,bin,"\u2A60","\\wedgedoublebar",!0);defineSymbol(math,bin,"\u2A54","\\Vee",!0);defineSymbol(math,bin,"\u2A53","\\Wedge",!0);defineSymbol(math,bin,"\u2A43","\\barcap",!0);defineSymbol(math,bin,"\u2A42","\\barcup",!0);defineSymbol(math,bin,"\u2A48","\\capbarcup",!0);defineSymbol(math,bin,"\u2A40","\\capdot",!0);defineSymbol(math,bin,"\u2A47","\\capovercup",!0);defineSymbol(math,bin,"\u2A46","\\cupovercap",!0);defineSymbol(math,bin,"\u2A4D","\\closedvarcap",!0);defineSymbol(math,bin,"\u2A4C","\\closedvarcup",!0);defineSymbol(math,bin,"\u2A2A","\\minusdot",!0);defineSymbol(math,bin,"\u2A2B","\\minusfdots",!0);defineSymbol(math,bin,"\u2A2C","\\minusrdots",!0);defineSymbol(math,bin,"\u22BB","\\Xor",!0);defineSymbol(math,bin,"\u22BC","\\Nand",!0);defineSymbol(math,bin,"\u22BD","\\Nor",!0);defineSymbol(math,bin,"\u22BD","\\barvee");defineSymbol(math,bin,"\u2AF4","\\interleave",!0);defineSymbol(math,bin,"\u29E2","\\shuffle",!0);defineSymbol(math,bin,"\u2AF6","\\threedotcolon",!0);defineSymbol(math,bin,"\u2982","\\typecolon",!0);defineSymbol(math,bin,"\u223E","\\invlazys",!0);defineSymbol(math,bin,"\u2A4B","\\twocaps",!0);defineSymbol(math,bin,"\u2A4A","\\twocups",!0);defineSymbol(math,bin,"\u2A4E","\\Sqcap",!0);defineSymbol(math,bin,"\u2A4F","\\Sqcup",!0);defineSymbol(math,bin,"\u2A56","\\veeonvee",!0);defineSymbol(math,bin,"\u2A55","\\wedgeonwedge",!0);defineSymbol(math,bin,"\u29D7","\\blackhourglass",!0);defineSymbol(math,bin,"\u29C6","\\boxast",!0);defineSymbol(math,bin,"\u29C8","\\boxbox",!0);defineSymbol(math,bin,"\u29C7","\\boxcircle",!0);defineSymbol(math,bin,"\u229C","\\circledequal",!0);defineSymbol(math,bin,"\u29B7","\\circledparallel",!0);defineSymbol(math,bin,"\u29B6","\\circledvert",!0);defineSymbol(math,bin,"\u29B5","\\circlehbar",!0);defineSymbol(math,bin,"\u27E1","\\concavediamond",!0);defineSymbol(math,bin,"\u27E2","\\concavediamondtickleft",!0);defineSymbol(math,bin,"\u27E3","\\concavediamondtickright",!0);defineSymbol(math,bin,"\u22C4","\\diamond",!0);defineSymbol(math,bin,"\u29D6","\\hourglass",!0);defineSymbol(math,bin,"\u27E0","\\lozengeminus",!0);defineSymbol(math,bin,"\u233D","\\obar",!0);defineSymbol(math,bin,"\u29B8","\\obslash",!0);defineSymbol(math,bin,"\u2A38","\\odiv",!0);defineSymbol(math,bin,"\u29C1","\\ogreaterthan",!0);defineSymbol(math,bin,"\u29C0","\\olessthan",!0);defineSymbol(math,bin,"\u29B9","\\operp",!0);defineSymbol(math,bin,"\u2A37","\\Otimes",!0);defineSymbol(math,bin,"\u2A36","\\otimeshat",!0);defineSymbol(math,bin,"\u22C6","\\star",!0);defineSymbol(math,bin,"\u25B3","\\triangle",!0);defineSymbol(math,bin,"\u2A3A","\\triangleminus",!0);defineSymbol(math,bin,"\u2A39","\\triangleplus",!0);defineSymbol(math,bin,"\u2A3B","\\triangletimes",!0);defineSymbol(math,bin,"\u27E4","\\whitesquaretickleft",!0);defineSymbol(math,bin,"\u27E5","\\whitesquaretickright",!0);defineSymbol(math,bin,"\u2A33","\\smashtimes",!0);defineSymbol(math,rel,"\u21E2","\\dashrightarrow",!0);defineSymbol(math,rel,"\u21E0","\\dashleftarrow",!0);defineSymbol(math,rel,"\u21C7","\\leftleftarrows",!0);defineSymbol(math,rel,"\u21C6","\\leftrightarrows",!0);defineSymbol(math,rel,"\u21DA","\\Lleftarrow",!0);defineSymbol(math,rel,"\u219E","\\twoheadleftarrow",!0);defineSymbol(math,rel,"\u21A2","\\leftarrowtail",!0);defineSymbol(math,rel,"\u21AB","\\looparrowleft",!0);defineSymbol(math,rel,"\u21CB","\\leftrightharpoons",!0);defineSymbol(math,rel,"\u21B6","\\curvearrowleft",!0);defineSymbol(math,rel,"\u21BA","\\circlearrowleft",!0);defineSymbol(math,rel,"\u21B0","\\Lsh",!0);defineSymbol(math,rel,"\u21C8","\\upuparrows",!0);defineSymbol(math,rel,"\u21BF","\\upharpoonleft",!0);defineSymbol(math,rel,"\u21C3","\\downharpoonleft",!0);defineSymbol(math,rel,"\u22B6","\\origof",!0);defineSymbol(math,rel,"\u22B7","\\imageof",!0);defineSymbol(math,rel,"\u22B8","\\multimap",!0);defineSymbol(math,rel,"\u21AD","\\leftrightsquigarrow",!0);defineSymbol(math,rel,"\u21C9","\\rightrightarrows",!0);defineSymbol(math,rel,"\u21C4","\\rightleftarrows",!0);defineSymbol(math,rel,"\u21A0","\\twoheadrightarrow",!0);defineSymbol(math,rel,"\u21A3","\\rightarrowtail",!0);defineSymbol(math,rel,"\u21AC","\\looparrowright",!0);defineSymbol(math,rel,"\u21B7","\\curvearrowright",!0);defineSymbol(math,rel,"\u21BB","\\circlearrowright",!0);defineSymbol(math,rel,"\u21B1","\\Rsh",!0);defineSymbol(math,rel,"\u21CA","\\downdownarrows",!0);defineSymbol(math,rel,"\u21BE","\\upharpoonright",!0);defineSymbol(math,rel,"\u21C2","\\downharpoonright",!0);defineSymbol(math,rel,"\u21DD","\\rightsquigarrow",!0);defineSymbol(math,rel,"\u21DD","\\leadsto");defineSymbol(math,rel,"\u21DB","\\Rrightarrow",!0);defineSymbol(math,rel,"\u21BE","\\restriction");defineSymbol(math,textord,"\u2018","`");defineSymbol(math,textord,"$","\\$");defineSymbol(text,textord,"$","\\$");defineSymbol(text,textord,"$","\\textdollar");defineSymbol(math,textord,"\xA2","\\cent");defineSymbol(text,textord,"\xA2","\\cent");defineSymbol(math,textord,"%","\\%");defineSymbol(text,textord,"%","\\%");defineSymbol(math,textord,"_","\\_");defineSymbol(text,textord,"_","\\_");defineSymbol(text,textord,"_","\\textunderscore");defineSymbol(text,textord,"\u2423","\\textvisiblespace",!0);defineSymbol(math,textord,"\u2220","\\angle",!0);defineSymbol(math,textord,"\u221E","\\infty",!0);defineSymbol(math,textord,"\u2032","\\prime");defineSymbol(math,textord,"\u2033","\\dprime");defineSymbol(math,textord,"\u2034","\\trprime");defineSymbol(math,textord,"\u2057","\\qprime");defineSymbol(math,textord,"\u25B3","\\triangle");defineSymbol(text,textord,"\u0391","\\Alpha",!0);defineSymbol(text,textord,"\u0392","\\Beta",!0);defineSymbol(text,textord,"\u0393","\\Gamma",!0);defineSymbol(text,textord,"\u0394","\\Delta",!0);defineSymbol(text,textord,"\u0395","\\Epsilon",!0);defineSymbol(text,textord,"\u0396","\\Zeta",!0);defineSymbol(text,textord,"\u0397","\\Eta",!0);defineSymbol(text,textord,"\u0398","\\Theta",!0);defineSymbol(text,textord,"\u0399","\\Iota",!0);defineSymbol(text,textord,"\u039A","\\Kappa",!0);defineSymbol(text,textord,"\u039B","\\Lambda",!0);defineSymbol(text,textord,"\u039C","\\Mu",!0);defineSymbol(text,textord,"\u039D","\\Nu",!0);defineSymbol(text,textord,"\u039E","\\Xi",!0);defineSymbol(text,textord,"\u039F","\\Omicron",!0);defineSymbol(text,textord,"\u03A0","\\Pi",!0);defineSymbol(text,textord,"\u03A1","\\Rho",!0);defineSymbol(text,textord,"\u03A3","\\Sigma",!0);defineSymbol(text,textord,"\u03A4","\\Tau",!0);defineSymbol(text,textord,"\u03A5","\\Upsilon",!0);defineSymbol(text,textord,"\u03A6","\\Phi",!0);defineSymbol(text,textord,"\u03A7","\\Chi",!0);defineSymbol(text,textord,"\u03A8","\\Psi",!0);defineSymbol(text,textord,"\u03A9","\\Omega",!0);defineSymbol(math,mathord,"\u0391","\\Alpha",!0);defineSymbol(math,mathord,"\u0392","\\Beta",!0);defineSymbol(math,mathord,"\u0393","\\Gamma",!0);defineSymbol(math,mathord,"\u0394","\\Delta",!0);defineSymbol(math,mathord,"\u0395","\\Epsilon",!0);defineSymbol(math,mathord,"\u0396","\\Zeta",!0);defineSymbol(math,mathord,"\u0397","\\Eta",!0);defineSymbol(math,mathord,"\u0398","\\Theta",!0);defineSymbol(math,mathord,"\u0399","\\Iota",!0);defineSymbol(math,mathord,"\u039A","\\Kappa",!0);defineSymbol(math,mathord,"\u039B","\\Lambda",!0);defineSymbol(math,mathord,"\u039C","\\Mu",!0);defineSymbol(math,mathord,"\u039D","\\Nu",!0);defineSymbol(math,mathord,"\u039E","\\Xi",!0);defineSymbol(math,mathord,"\u039F","\\Omicron",!0);defineSymbol(math,mathord,"\u03A0","\\Pi",!0);defineSymbol(math,mathord,"\u03A1","\\Rho",!0);defineSymbol(math,mathord,"\u03A3","\\Sigma",!0);defineSymbol(math,mathord,"\u03A4","\\Tau",!0);defineSymbol(math,mathord,"\u03A5","\\Upsilon",!0);defineSymbol(math,mathord,"\u03A6","\\Phi",!0);defineSymbol(math,mathord,"\u03A7","\\Chi",!0);defineSymbol(math,mathord,"\u03A8","\\Psi",!0);defineSymbol(math,mathord,"\u03A9","\\Omega",!0);defineSymbol(math,open,"\xAC","\\neg",!0);defineSymbol(math,open,"\xAC","\\lnot");defineSymbol(math,textord,"\u22A4","\\top");defineSymbol(math,textord,"\u22A5","\\bot");defineSymbol(math,textord,"\u2205","\\emptyset");defineSymbol(math,textord,"\u2300","\\varnothing");defineSymbol(math,mathord,"\u03B1","\\alpha",!0);defineSymbol(math,mathord,"\u03B2","\\beta",!0);defineSymbol(math,mathord,"\u03B3","\\gamma",!0);defineSymbol(math,mathord,"\u03B4","\\delta",!0);defineSymbol(math,mathord,"\u03F5","\\epsilon",!0);defineSymbol(math,mathord,"\u03B6","\\zeta",!0);defineSymbol(math,mathord,"\u03B7","\\eta",!0);defineSymbol(math,mathord,"\u03B8","\\theta",!0);defineSymbol(math,mathord,"\u03B9","\\iota",!0);defineSymbol(math,mathord,"\u03BA","\\kappa",!0);defineSymbol(math,mathord,"\u03BB","\\lambda",!0);defineSymbol(math,mathord,"\u03BC","\\mu",!0);defineSymbol(math,mathord,"\u03BD","\\nu",!0);defineSymbol(math,mathord,"\u03BE","\\xi",!0);defineSymbol(math,mathord,"\u03BF","\\omicron",!0);defineSymbol(math,mathord,"\u03C0","\\pi",!0);defineSymbol(math,mathord,"\u03C1","\\rho",!0);defineSymbol(math,mathord,"\u03C3","\\sigma",!0);defineSymbol(math,mathord,"\u03C4","\\tau",!0);defineSymbol(math,mathord,"\u03C5","\\upsilon",!0);defineSymbol(math,mathord,"\u03D5","\\phi",!0);defineSymbol(math,mathord,"\u03C7","\\chi",!0);defineSymbol(math,mathord,"\u03C8","\\psi",!0);defineSymbol(math,mathord,"\u03C9","\\omega",!0);defineSymbol(math,mathord,"\u03B5","\\varepsilon",!0);defineSymbol(math,mathord,"\u03D1","\\vartheta",!0);defineSymbol(math,mathord,"\u03D6","\\varpi",!0);defineSymbol(math,mathord,"\u03F1","\\varrho",!0);defineSymbol(math,mathord,"\u03C2","\\varsigma",!0);defineSymbol(math,mathord,"\u03C6","\\varphi",!0);defineSymbol(math,mathord,"\u03D8","\\Coppa",!0);defineSymbol(math,mathord,"\u03D9","\\coppa",!0);defineSymbol(math,mathord,"\u03D9","\\varcoppa",!0);defineSymbol(math,mathord,"\u03DE","\\Koppa",!0);defineSymbol(math,mathord,"\u03DF","\\koppa",!0);defineSymbol(math,mathord,"\u03E0","\\Sampi",!0);defineSymbol(math,mathord,"\u03E1","\\sampi",!0);defineSymbol(math,mathord,"\u03DA","\\Stigma",!0);defineSymbol(math,mathord,"\u03DB","\\stigma",!0);defineSymbol(math,mathord,"\u2AEB","\\Bot");defineSymbol(math,textord,"\xF0","\\eth",!0);defineSymbol(text,textord,"\xF0","\xF0");defineSymbol(math,textord,"\xC5","\\AA");defineSymbol(text,textord,"\xC5","\\AA",!0);defineSymbol(math,textord,"\xC6","\\AE",!0);defineSymbol(text,textord,"\xC6","\\AE",!0);defineSymbol(math,textord,"\xD0","\\DH",!0);defineSymbol(text,textord,"\xD0","\\DH",!0);defineSymbol(math,textord,"\xDE","\\TH",!0);defineSymbol(text,textord,"\xDE","\\TH",!0);defineSymbol(math,textord,"\xDF","\\ss",!0);defineSymbol(text,textord,"\xDF","\\ss",!0);defineSymbol(math,textord,"\xE5","\\aa");defineSymbol(text,textord,"\xE5","\\aa",!0);defineSymbol(math,textord,"\xE6","\\ae",!0);defineSymbol(text,textord,"\xE6","\\ae",!0);defineSymbol(math,textord,"\xF0","\\dh");defineSymbol(text,textord,"\xF0","\\dh",!0);defineSymbol(math,textord,"\xFE","\\th",!0);defineSymbol(text,textord,"\xFE","\\th",!0);defineSymbol(math,textord,"\u0110","\\DJ",!0);defineSymbol(text,textord,"\u0110","\\DJ",!0);defineSymbol(math,textord,"\u0111","\\dj",!0);defineSymbol(text,textord,"\u0111","\\dj",!0);defineSymbol(math,textord,"\u0141","\\L",!0);defineSymbol(text,textord,"\u0141","\\L",!0);defineSymbol(math,textord,"\u0141","\\l",!0);defineSymbol(text,textord,"\u0141","\\l",!0);defineSymbol(math,textord,"\u014A","\\NG",!0);defineSymbol(text,textord,"\u014A","\\NG",!0);defineSymbol(math,textord,"\u014B","\\ng",!0);defineSymbol(text,textord,"\u014B","\\ng",!0);defineSymbol(math,textord,"\u0152","\\OE",!0);defineSymbol(text,textord,"\u0152","\\OE",!0);defineSymbol(math,textord,"\u0153","\\oe",!0);defineSymbol(text,textord,"\u0153","\\oe",!0);defineSymbol(math,bin,"\u2217","\u2217",!0);defineSymbol(math,bin,"+","+");defineSymbol(math,bin,"\u2217","*");defineSymbol(math,bin,"\u2044","/",!0);defineSymbol(math,bin,"\u2044","\u2044");defineSymbol(math,bin,"\u2212","-",!0);defineSymbol(math,bin,"\u22C5","\\cdot",!0);defineSymbol(math,bin,"\u2218","\\circ",!0);defineSymbol(math,bin,"\xF7","\\div",!0);defineSymbol(math,bin,"\xB1","\\pm",!0);defineSymbol(math,bin,"\xD7","\\times",!0);defineSymbol(math,bin,"\u2229","\\cap",!0);defineSymbol(math,bin,"\u222A","\\cup",!0);defineSymbol(math,bin,"\u2216","\\setminus",!0);defineSymbol(math,bin,"\u2227","\\land");defineSymbol(math,bin,"\u2228","\\lor");defineSymbol(math,bin,"\u2227","\\wedge",!0);defineSymbol(math,bin,"\u2228","\\vee",!0);defineSymbol(math,open,"\u27E6","\\llbracket",!0);defineSymbol(math,close,"\u27E7","\\rrbracket",!0);defineSymbol(math,open,"\u27E8","\\langle",!0);defineSymbol(math,open,"\u27EA","\\lAngle",!0);defineSymbol(math,open,"\u2989","\\llangle",!0);defineSymbol(math,open,"|","\\lvert");defineSymbol(math,open,"\u2016","\\lVert",!0);defineSymbol(math,textord,"!","\\oc");defineSymbol(math,textord,"?","\\wn");defineSymbol(math,textord,"\u2193","\\shpos");defineSymbol(math,textord,"\u2195","\\shift");defineSymbol(math,textord,"\u2191","\\shneg");defineSymbol(math,close,"?","?");defineSymbol(math,close,"!","!");defineSymbol(math,close,"\u203C","\u203C");defineSymbol(math,close,"\u27E9","\\rangle",!0);defineSymbol(math,close,"\u27EB","\\rAngle",!0);defineSymbol(math,close,"\u298A","\\rrangle",!0);defineSymbol(math,close,"|","\\rvert");defineSymbol(math,close,"\u2016","\\rVert");defineSymbol(math,open,"\u2983","\\lBrace",!0);defineSymbol(math,close,"\u2984","\\rBrace",!0);defineSymbol(math,rel,"=","\\equal",!0);defineSymbol(math,rel,":",":");defineSymbol(math,rel,"\u2248","\\approx",!0);defineSymbol(math,rel,"\u2245","\\cong",!0);defineSymbol(math,rel,"\u2265","\\ge");defineSymbol(math,rel,"\u2265","\\geq",!0);defineSymbol(math,rel,"\u2190","\\gets");defineSymbol(math,rel,">","\\gt",!0);defineSymbol(math,rel,"\u2208","\\in",!0);defineSymbol(math,rel,"\u2209","\\notin",!0);defineSymbol(math,rel,"\uE020","\\@not");defineSymbol(math,rel,"\u2282","\\subset",!0);defineSymbol(math,rel,"\u2283","\\supset",!0);defineSymbol(math,rel,"\u2286","\\subseteq",!0);defineSymbol(math,rel,"\u2287","\\supseteq",!0);defineSymbol(math,rel,"\u2288","\\nsubseteq",!0);defineSymbol(math,rel,"\u2288","\\nsubseteqq");defineSymbol(math,rel,"\u2289","\\nsupseteq",!0);defineSymbol(math,rel,"\u2289","\\nsupseteqq");defineSymbol(math,rel,"\u22A8","\\models");defineSymbol(math,rel,"\u2190","\\leftarrow",!0);defineSymbol(math,rel,"\u2264","\\le");defineSymbol(math,rel,"\u2264","\\leq",!0);defineSymbol(math,rel,"<","\\lt",!0);defineSymbol(math,rel,"\u2192","\\rightarrow",!0);defineSymbol(math,rel,"\u2192","\\to");defineSymbol(math,rel,"\u2271","\\ngeq",!0);defineSymbol(math,rel,"\u2271","\\ngeqq");defineSymbol(math,rel,"\u2271","\\ngeqslant");defineSymbol(math,rel,"\u2270","\\nleq",!0);defineSymbol(math,rel,"\u2270","\\nleqq");defineSymbol(math,rel,"\u2270","\\nleqslant");defineSymbol(math,rel,"\u2AEB","\\Perp",!0);defineSymbol(math,spacing,"\xA0","\\ ");defineSymbol(math,spacing,"\xA0","\\space");defineSymbol(math,spacing,"\xA0","\\nobreakspace");defineSymbol(text,spacing,"\xA0","\\ ");defineSymbol(text,spacing,"\xA0"," ");defineSymbol(text,spacing,"\xA0","\\space");defineSymbol(text,spacing,"\xA0","\\nobreakspace");defineSymbol(math,spacing,null,"\\nobreak");defineSymbol(math,spacing,null,"\\allowbreak");defineSymbol(math,punct,",",",");defineSymbol(text,punct,":",":");defineSymbol(math,punct,";",";");defineSymbol(math,bin,"\u22BC","\\barwedge");defineSymbol(math,bin,"\u22BB","\\veebar");defineSymbol(math,bin,"\u2299","\\odot",!0);defineSymbol(math,bin,"\u2295\uFE0E","\\oplus");defineSymbol(math,bin,"\u2297","\\otimes",!0);defineSymbol(math,textord,"\u2202","\\partial",!0);defineSymbol(math,bin,"\u2298","\\oslash",!0);defineSymbol(math,bin,"\u229A","\\circledcirc",!0);defineSymbol(math,bin,"\u22A1","\\boxdot",!0);defineSymbol(math,bin,"\u25B3","\\bigtriangleup");defineSymbol(math,bin,"\u25BD","\\bigtriangledown");defineSymbol(math,bin,"\u2020","\\dagger");defineSymbol(math,bin,"\u22C4","\\diamond");defineSymbol(math,bin,"\u25C3","\\triangleleft");defineSymbol(math,bin,"\u25B9","\\triangleright");defineSymbol(math,open,"{","\\{");defineSymbol(text,textord,"{","\\{");defineSymbol(text,textord,"{","\\textbraceleft");defineSymbol(math,close,"}","\\}");defineSymbol(text,textord,"}","\\}");defineSymbol(text,textord,"}","\\textbraceright");defineSymbol(math,open,"{","\\lbrace");defineSymbol(math,close,"}","\\rbrace");defineSymbol(math,open,"[","\\lbrack",!0);defineSymbol(text,textord,"[","\\lbrack",!0);defineSymbol(math,close,"]","\\rbrack",!0);defineSymbol(text,textord,"]","\\rbrack",!0);defineSymbol(math,open,"(","\\lparen",!0);defineSymbol(math,close,")","\\rparen",!0);defineSymbol(math,open,"\u2987","\\llparenthesis",!0);defineSymbol(math,close,"\u2988","\\rrparenthesis",!0);defineSymbol(text,textord,"<","\\textless",!0);defineSymbol(text,textord,">","\\textgreater",!0);defineSymbol(math,open,"\u230A","\\lfloor",!0);defineSymbol(math,close,"\u230B","\\rfloor",!0);defineSymbol(math,open,"\u2308","\\lceil",!0);defineSymbol(math,close,"\u2309","\\rceil",!0);defineSymbol(math,textord,"\\","\\backslash");defineSymbol(math,textord,"|","|");defineSymbol(math,textord,"|","\\vert");defineSymbol(text,textord,"|","\\textbar",!0);defineSymbol(math,textord,"\u2016","\\|");defineSymbol(math,textord,"\u2016","\\Vert");defineSymbol(text,textord,"\u2016","\\textbardbl");defineSymbol(text,textord,"~","\\textasciitilde");defineSymbol(text,textord,"\\","\\textbackslash");defineSymbol(text,textord,"^","\\textasciicircum");defineSymbol(math,rel,"\u2191","\\uparrow",!0);defineSymbol(math,rel,"\u21D1","\\Uparrow",!0);defineSymbol(math,rel,"\u2193","\\downarrow",!0);defineSymbol(math,rel,"\u21D3","\\Downarrow",!0);defineSymbol(math,rel,"\u2195","\\updownarrow",!0);defineSymbol(math,rel,"\u21D5","\\Updownarrow",!0);defineSymbol(math,op,"\u2210","\\coprod");defineSymbol(math,op,"\u22C1","\\bigvee");defineSymbol(math,op,"\u22C0","\\bigwedge");defineSymbol(math,op,"\u2A04","\\biguplus");defineSymbol(math,op,"\u2A04","\\bigcupplus");defineSymbol(math,op,"\u2A03","\\bigcupdot");defineSymbol(math,op,"\u2A07","\\bigdoublevee");defineSymbol(math,op,"\u2A08","\\bigdoublewedge");defineSymbol(math,op,"\u22C2","\\bigcap");defineSymbol(math,op,"\u22C3","\\bigcup");defineSymbol(math,op,"\u222B","\\int");defineSymbol(math,op,"\u222B","\\intop");defineSymbol(math,op,"\u222C","\\iint");defineSymbol(math,op,"\u222D","\\iiint");defineSymbol(math,op,"\u220F","\\prod");defineSymbol(math,op,"\u2211","\\sum");defineSymbol(math,op,"\u2A02","\\bigotimes");defineSymbol(math,op,"\u2A01","\\bigoplus");defineSymbol(math,op,"\u2A00","\\bigodot");defineSymbol(math,op,"\u2A09","\\bigtimes");defineSymbol(math,op,"\u222E","\\oint");defineSymbol(math,op,"\u222F","\\oiint");defineSymbol(math,op,"\u2230","\\oiiint");defineSymbol(math,op,"\u2231","\\intclockwise");defineSymbol(math,op,"\u2232","\\varointclockwise");defineSymbol(math,op,"\u2A0C","\\iiiint");defineSymbol(math,op,"\u2A0D","\\intbar");defineSymbol(math,op,"\u2A0E","\\intBar");defineSymbol(math,op,"\u2A0F","\\fint");defineSymbol(math,op,"\u2A12","\\rppolint");defineSymbol(math,op,"\u2A13","\\scpolint");defineSymbol(math,op,"\u2A15","\\pointint");defineSymbol(math,op,"\u2A16","\\sqint");defineSymbol(math,op,"\u2A17","\\intlarhk");defineSymbol(math,op,"\u2A18","\\intx");defineSymbol(math,op,"\u2A19","\\intcap");defineSymbol(math,op,"\u2A1A","\\intcup");defineSymbol(math,op,"\u2A05","\\bigsqcap");defineSymbol(math,op,"\u2A06","\\bigsqcup");defineSymbol(math,op,"\u222B","\\smallint");defineSymbol(text,inner,"\u2026","\\textellipsis");defineSymbol(math,inner,"\u2026","\\mathellipsis");defineSymbol(text,inner,"\u2026","\\ldots",!0);defineSymbol(math,inner,"\u2026","\\ldots",!0);defineSymbol(math,inner,"\u22F0","\\iddots",!0);defineSymbol(math,inner,"\u22EF","\\@cdots",!0);defineSymbol(math,inner,"\u22F1","\\ddots",!0);defineSymbol(math,textord,"\u22EE","\\varvdots");defineSymbol(text,textord,"\u22EE","\\varvdots");defineSymbol(math,accent,"\xB4","\\acute");defineSymbol(math,accent,"`","\\grave");defineSymbol(math,accent,"\xA8","\\ddot");defineSymbol(math,accent,"\u2026","\\dddot");defineSymbol(math,accent,"\u2026.","\\ddddot");defineSymbol(math,accent,"~","\\tilde");defineSymbol(math,accent,"\u203E","\\bar");defineSymbol(math,accent,"\u02D8","\\breve");defineSymbol(math,accent,"\u02C7","\\check");defineSymbol(math,accent,"\u02C6","\\hat");defineSymbol(math,accent,"\u2192","\\vec");defineSymbol(math,accent,"\u02D9","\\dot");defineSymbol(math,accent,"\u02DA","\\mathring");defineSymbol(math,mathord,"\u0131","\\imath",!0);defineSymbol(math,mathord,"\u0237","\\jmath",!0);defineSymbol(math,textord,"\u0131","\u0131");defineSymbol(math,textord,"\u0237","\u0237");defineSymbol(text,textord,"\u0131","\\i",!0);defineSymbol(text,textord,"\u0237","\\j",!0);defineSymbol(text,textord,"\xF8","\\o",!0);defineSymbol(math,mathord,"\xF8","\\o",!0);defineSymbol(text,textord,"\xD8","\\O",!0);defineSymbol(math,mathord,"\xD8","\\O",!0);defineSymbol(text,accent,"\u02CA","\\'");defineSymbol(text,accent,"\u02CB","\\`");defineSymbol(text,accent,"\u02C6","\\^");defineSymbol(text,accent,"~","\\~");defineSymbol(text,accent,"\u02C9","\\=");defineSymbol(text,accent,"\u02D8","\\u");defineSymbol(text,accent,"\u02D9","\\.");defineSymbol(text,accent,"\xB8","\\c");defineSymbol(text,accent,"\u02DA","\\r");defineSymbol(text,accent,"\u02C7","\\v");defineSymbol(text,accent,"\xA8",'\\"');defineSymbol(text,accent,"\u02DD","\\H");defineSymbol(math,accent,"\u02CA","\\'");defineSymbol(math,accent,"\u02CB","\\`");defineSymbol(math,accent,"\u02C6","\\^");defineSymbol(math,accent,"~","\\~");defineSymbol(math,accent,"\u02C9","\\=");defineSymbol(math,accent,"\u02D8","\\u");defineSymbol(math,accent,"\u02D9","\\.");defineSymbol(math,accent,"\xB8","\\c");defineSymbol(math,accent,"\u02DA","\\r");defineSymbol(math,accent,"\u02C7","\\v");defineSymbol(math,accent,"\xA8",'\\"');defineSymbol(math,accent,"\u02DD","\\H");var ligatures={"--":!0,"---":!0,"``":!0,"''":!0};defineSymbol(text,textord,"\u2013","--",!0);defineSymbol(text,textord,"\u2013","\\textendash");defineSymbol(text,textord,"\u2014","---",!0);defineSymbol(text,textord,"\u2014","\\textemdash");defineSymbol(text,textord,"\u2018","`",!0);defineSymbol(text,textord,"\u2018","\\textquoteleft");defineSymbol(text,textord,"\u2019","'",!0);defineSymbol(text,textord,"\u2019","\\textquoteright");defineSymbol(text,textord,"\u201C","``",!0);defineSymbol(text,textord,"\u201C","\\textquotedblleft");defineSymbol(text,textord,"\u201D","''",!0);defineSymbol(text,textord,"\u201D","\\textquotedblright");defineSymbol(math,textord,"\xB0","\\degree",!0);defineSymbol(text,textord,"\xB0","\\degree");defineSymbol(text,textord,"\xB0","\\textdegree",!0);defineSymbol(math,textord,"\xA3","\\pounds");defineSymbol(math,textord,"\xA3","\\mathsterling",!0);defineSymbol(text,textord,"\xA3","\\pounds");defineSymbol(text,textord,"\xA3","\\textsterling",!0);defineSymbol(math,textord,"\u2720","\\maltese");defineSymbol(text,textord,"\u2720","\\maltese");defineSymbol(math,textord,"\u20AC","\\euro",!0);defineSymbol(text,textord,"\u20AC","\\euro",!0);defineSymbol(text,textord,"\u20AC","\\texteuro");defineSymbol(math,textord,"\xA9","\\copyright",!0);defineSymbol(text,textord,"\xA9","\\textcopyright");defineSymbol(math,textord,"\u2300","\\diameter",!0);defineSymbol(text,textord,"\u2300","\\diameter");defineSymbol(math,textord,"\u{1D6E4}","\\varGamma");defineSymbol(math,textord,"\u{1D6E5}","\\varDelta");defineSymbol(math,textord,"\u{1D6E9}","\\varTheta");defineSymbol(math,textord,"\u{1D6EC}","\\varLambda");defineSymbol(math,textord,"\u{1D6EF}","\\varXi");defineSymbol(math,textord,"\u{1D6F1}","\\varPi");defineSymbol(math,textord,"\u{1D6F4}","\\varSigma");defineSymbol(math,textord,"\u{1D6F6}","\\varUpsilon");defineSymbol(math,textord,"\u{1D6F7}","\\varPhi");defineSymbol(math,textord,"\u{1D6F9}","\\varPsi");defineSymbol(math,textord,"\u{1D6FA}","\\varOmega");defineSymbol(text,textord,"\u{1D6E4}","\\varGamma");defineSymbol(text,textord,"\u{1D6E5}","\\varDelta");defineSymbol(text,textord,"\u{1D6E9}","\\varTheta");defineSymbol(text,textord,"\u{1D6EC}","\\varLambda");defineSymbol(text,textord,"\u{1D6EF}","\\varXi");defineSymbol(text,textord,"\u{1D6F1}","\\varPi");defineSymbol(text,textord,"\u{1D6F4}","\\varSigma");defineSymbol(text,textord,"\u{1D6F6}","\\varUpsilon");defineSymbol(text,textord,"\u{1D6F7}","\\varPhi");defineSymbol(text,textord,"\u{1D6F9}","\\varPsi");defineSymbol(text,textord,"\u{1D6FA}","\\varOmega");var mathTextSymbols='0123456789/@."';for(let i=0;i<mathTextSymbols.length;i++){let ch=mathTextSymbols.charAt(i);defineSymbol(math,textord,ch,ch)}var textSymbols='0123456789!@*()-=+";:?/.,';for(let i=0;i<textSymbols.length;i++){let ch=textSymbols.charAt(i);defineSymbol(text,textord,ch,ch)}var letters="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz";for(let i=0;i<letters.length;i++){let ch=letters.charAt(i);defineSymbol(math,mathord,ch,ch),defineSymbol(text,textord,ch,ch)}var narrow="\xC7\xD0\xDE\xE7\xFE\u2102\u210D\u2115\u2119\u211A\u211D\u2124\u210E\u210F\u210A\u210B\u210C\u2110\u2111\u2112\u2113\u2118\u211B\u211C\u212C\u2130\u2131\u2133\u212D\u2128";for(let i=0;i<narrow.length;i++){let ch=narrow.charAt(i);defineSymbol(math,mathord,ch,ch),defineSymbol(text,textord,ch,ch)}var wideChar="";for(let i=0;i<letters.length;i++){wideChar=String.fromCharCode(55349,56320+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar),wideChar=String.fromCharCode(55349,56372+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar),wideChar=String.fromCharCode(55349,56424+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar),wideChar=String.fromCharCode(55349,56580+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar),wideChar=String.fromCharCode(55349,56736+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar),wideChar=String.fromCharCode(55349,56788+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar),wideChar=String.fromCharCode(55349,56840+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar),wideChar=String.fromCharCode(55349,56944+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar),wideChar=String.fromCharCode(55349,56632+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar);let ch=letters.charAt(i);wideChar=String.fromCharCode(55349,56476+i),defineSymbol(math,mathord,ch,wideChar),defineSymbol(text,textord,ch,wideChar)}for(let i=0;i<10;i++)wideChar=String.fromCharCode(55349,57294+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar),wideChar=String.fromCharCode(55349,57314+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar),wideChar=String.fromCharCode(55349,57324+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar),wideChar=String.fromCharCode(55349,57334+i),defineSymbol(math,mathord,wideChar,wideChar),defineSymbol(text,textord,wideChar,wideChar);function setLineBreaks(expression,wrapMode,isDisplayMode){let mtrs=[],mrows=[],block=[],numTopLevelEquals=0,i=0;for(;i<expression.length;){for(;expression[i]instanceof DocumentFragment;)expression.splice(i,1,...expression[i].children);let node=expression[i];if(node.attributes&&node.attributes.linebreak&&node.attributes.linebreak==="newline"){block.length>0&&mrows.push(new MathNode("mrow",block)),mrows.push(node),block=[];let mtd=new MathNode("mtd",mrows);mtd.style.textAlign="left",mtrs.push(new MathNode("mtr",[mtd])),mrows=[],i+=1;continue}if(block.push(node),node.type&&node.type==="mo"&&node.children.length===1&&!(node.attributes.form&&node.attributes.form==="prefix")&&!Object.prototype.hasOwnProperty.call(node.attributes,"movablelimits")){let ch=node.children[0].text;if(wrapMode==="="&&ch==="="){if(numTopLevelEquals+=1,numTopLevelEquals>1){block.pop();let element=new MathNode("mrow",block);mrows.push(element),block=[node]}}else if(wrapMode==="tex"){let next=i<expression.length-1?expression[i+1]:null,glueIsFreeOfNobreak=!0;if(!(next&&next.type==="mtext"&&next.attributes.linebreak&&next.attributes.linebreak==="nobreak"))for(let j=i+1;j<expression.length;j++){let nd=expression[j];if(nd.type&&nd.type==="mspace"&&!(nd.attributes.linebreak&&nd.attributes.linebreak==="newline"))block.push(nd),i+=1,nd.attributes&&nd.attributes.linebreak&&nd.attributes.linebreak==="nobreak"&&(glueIsFreeOfNobreak=!1);else break}if(glueIsFreeOfNobreak){let element=new MathNode("mrow",block);mrows.push(element),block=[]}}}i+=1}if(block.length>0){let element=new MathNode("mrow",block);mrows.push(element)}if(mtrs.length>0){let mtd=new MathNode("mtd",mrows);mtd.style.textAlign="left";let mtr=new MathNode("mtr",[mtd]);mtrs.push(mtr);let mtable=new MathNode("mtable",mtrs);return isDisplayMode||(mtable.setAttribute("columnalign","left"),mtable.setAttribute("rowspacing","0em")),mtable}return newDocumentFragment(mrows)}var makeText=function(text2,mode,style){return symbols[mode][text2]&&symbols[mode][text2].replace&&text2.charCodeAt(0)!==55349&&!(Object.prototype.hasOwnProperty.call(ligatures,text2)&&style&&(style.fontFamily&&style.fontFamily.slice(4,6)==="tt"||style.font&&style.font.slice(4,6)==="tt"))&&(text2=symbols[mode][text2].replace),new TextNode(text2)},copyChar=(newRow,child)=>{if(newRow.children.length===0||newRow.children[newRow.children.length-1].type!=="mtext"){let mtext=new MathNode("mtext",[new TextNode(child.children[0].text)]);newRow.children.push(mtext)}else newRow.children[newRow.children.length-1].children[0].text+=child.children[0].text},consolidateText=mrow=>{if(mrow.type!=="mrow"&&mrow.type!=="mstyle"||mrow.children.length===0)return mrow;let newRow=new MathNode("mrow");for(let i=0;i<mrow.children.length;i++){let child=mrow.children[i];if(child.type==="mtext"&&Object.keys(child.attributes).length===0)copyChar(newRow,child);else if(child.type==="mrow"){let canConsolidate=!0;for(let j=0;j<child.children.length;j++)if(child.children[j].type!=="mtext"||Object.keys(child.attributes).length!==0){canConsolidate=!1;break}if(canConsolidate)for(let j=0;j<child.children.length;j++){let grandChild=child.children[j];copyChar(newRow,grandChild)}else newRow.children.push(child)}else newRow.children.push(child)}for(let i=0;i<newRow.children.length;i++)if(newRow.children[i].type==="mtext"){let mtext=newRow.children[i];mtext.children[0].text.charAt(0)===" "&&(mtext.children[0].text="\xA0"+mtext.children[0].text.slice(1));let L=mtext.children[0].text.length;L>0&&mtext.children[0].text.charAt(L-1)===" "&&(mtext.children[0].text=mtext.children[0].text.slice(0,-1)+"\xA0");for(let[key,value]of Object.entries(mrow.attributes))mtext.attributes[key]=value}return newRow.children.length===1&&newRow.children[0].type==="mtext"?newRow.children[0]:newRow},makeRow=function(body,semisimple=!1){if(body.length===1&&!(body[0]instanceof DocumentFragment))return body[0];if(!semisimple){body[0]instanceof MathNode&&body[0].type==="mo"&&!body[0].attributes.fence&&(body[0].attributes.lspace="0em",body[0].attributes.rspace="0em");let end=body.length-1;body[end]instanceof MathNode&&body[end].type==="mo"&&!body[end].attributes.fence&&(body[end].attributes.lspace="0em",body[end].attributes.rspace="0em")}return new MathNode("mrow",body)};function isNumberPunctuation(group){if(!group)return!1;if(group.type==="mi"&&group.children.length===1){let child=group.children[0];return child instanceof TextNode&&child.text==="."}else if(group.type==="mtext"&&group.children.length===1){let child=group.children[0];return child instanceof TextNode&&child.text==="\u2008"}else if(group.type==="mo"&&group.children.length===1&&group.getAttribute("separator")==="true"&&group.getAttribute("lspace")==="0em"&&group.getAttribute("rspace")==="0em"){let child=group.children[0];return child instanceof TextNode&&child.text===","}else return!1}var isComma=(expression,i)=>{let node=expression[i],followingNode=expression[i+1];return node.type==="atom"&&node.text===","&&node.loc&&followingNode.loc&&node.loc.end===followingNode.loc.start},isRel=item=>item.type==="atom"&&item.family==="rel"||item.type==="mclass"&&item.mclass==="mrel",buildExpression=function(expression,style,semisimple=!1){if(!semisimple&&expression.length===1){let group=buildGroup$1(expression[0],style);return group instanceof MathNode&&group.type==="mo"&&(group.setAttribute("lspace","0em"),group.setAttribute("rspace","0em")),[group]}let groups=[],groupArray=[],lastGroup;for(let i=0;i<expression.length;i++)groupArray.push(buildGroup$1(expression[i],style));for(let i=0;i<groupArray.length;i++){let group=groupArray[i];if(i<expression.length-1&&isRel(expression[i])&&isRel(expression[i+1])&&group.setAttribute("rspace","0em"),i>0&&isRel(expression[i])&&isRel(expression[i-1])&&group.setAttribute("lspace","0em"),group.type==="mn"&&lastGroup&&lastGroup.type==="mn"){lastGroup.children.push(...group.children);continue}else if(isNumberPunctuation(group)&&lastGroup&&lastGroup.type==="mn"){lastGroup.children.push(...group.children);continue}else if(lastGroup&&lastGroup.type==="mn"&&i<groupArray.length-1&&groupArray[i+1].type==="mn"&&isComma(expression,i)){lastGroup.children.push(...group.children);continue}else if(group.type==="mn"&&isNumberPunctuation(lastGroup))group.children=[...lastGroup.children,...group.children],groups.pop();else if((group.type==="msup"||group.type==="msub")&&group.children.length>=1&&lastGroup&&(lastGroup.type==="mn"||isNumberPunctuation(lastGroup))){let base=group.children[0];base instanceof MathNode&&base.type==="mn"&&lastGroup&&(base.children=[...lastGroup.children,...base.children],groups.pop())}groups.push(group),lastGroup=group}return groups},buildExpressionRow=function(expression,style,semisimple=!1){return makeRow(buildExpression(expression,style,semisimple),semisimple)},buildGroup$1=function(group,style){if(!group)return new MathNode("mrow");if(_mathmlGroupBuilders[group.type])return _mathmlGroupBuilders[group.type](group,style);throw new ParseError("Got group of unknown type: '"+group.type+"'")},glue$1=_=>new MathNode("mtd",[],[],{padding:"0",width:"50%"}),labelContainers=["mrow","mtd","mtable","mtr"],getLabel=parent=>{for(let node of parent.children)if(node.type&&labelContainers.includes(node.type)){if(node.classes&&node.classes[0]==="tml-label")return node.label;{let label=getLabel(node);if(label)return label}}else if(!node.type){let label=getLabel(node);if(label)return label}},taggedExpression=(expression,tag,style,leqno)=>{tag=buildExpressionRow(tag[0].body,style),tag=consolidateText(tag),tag.classes.push("tml-tag");let label=getLabel(expression);expression=new MathNode("mtd",[expression]);let rowArray=[glue$1(),expression,glue$1()];rowArray[leqno?0:2].children.push(tag);let mtr=new MathNode("mtr",rowArray,["tml-tageqn"]);label&&mtr.setAttribute("id",label);let table=new MathNode("mtable",[mtr]);return table.style.width="100%",table.setAttribute("displaystyle","true"),table};function buildMathML(tree,texExpression,style,settings){let tag=null;tree.length===1&&tree[0].type==="tag"&&(tag=tree[0].tag,tree=tree[0].body);let expression=buildExpression(tree,style);if(expression.length===1&&expression[0]instanceof AnchorNode)return expression[0];let wrap=settings.displayMode||settings.annotate?"none":settings.wrap,n1=expression.length===0?null:expression[0],wrapper=expression.length===1&&tag===null&&n1 instanceof MathNode?expression[0]:setLineBreaks(expression,wrap,settings.displayMode);if(tag&&(wrapper=taggedExpression(wrapper,tag,style,settings.leqno)),settings.annotate){let annotation=new MathNode("annotation",[new TextNode(texExpression)]);annotation.setAttribute("encoding","application/x-tex"),wrapper=new MathNode("semantics",[wrapper,annotation])}let math2=new MathNode("math",[wrapper]);return settings.xml&&math2.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),settings.displayMode&&(math2.setAttribute("display","block"),math2.style.display="block math",math2.classes=["tml-display"]),math2}var smallNudge="DHKLUcegorsuvxyz\u03A0\u03A5\u03A8\u03B1\u03B4\u03B7\u03B9\u03BC\u03BD\u03BF\u03C4\u03C5\u03C7\u03F5",mediumNudge="BCEGIMNOPQRSTXZlpqtw\u0393\u0398\u039E\u03A3\u03A6\u03A9\u03B2\u03B5\u03B6\u03B8\u03BE\u03C1\u03C2\u03C6\u03C8\u03D1\u03D5\u03F1",largeNudge="AFJdf\u0394\u039B",mathmlBuilder$a=(group,style)=>{let accentNode$1=group.isStretchy?accentNode(group):new MathNode("mo",[makeText(group.label,group.mode)]);group.isStretchy||accentNode$1.setAttribute("stretchy","false"),group.label!=="\\vec"&&(accentNode$1.style.mathDepth="0");let tag=group.label==="\\c"?"munder":"mover",needsWbkVertShift=needsWebkitVerticalShift.has(group.label);if(tag==="mover"&&group.mode==="math"&&!group.isStretchy&&group.base.text&&group.base.text.length===1){let text2=group.base.text,isVec=group.label==="\\vec",vecPostfix=isVec==="\\vec"?"-vec":"";isVec&&accentNode$1.classes.push("tml-vec");let wbkPostfix=isVec?"-vec":needsWbkVertShift?"-acc":"";smallNudge.indexOf(text2)>-1?(accentNode$1.classes.push(`chr-sml${vecPostfix}`),accentNode$1.classes.push(`wbk-sml${wbkPostfix}`)):mediumNudge.indexOf(text2)>-1?(accentNode$1.classes.push(`chr-med${vecPostfix}`),accentNode$1.classes.push(`wbk-med${wbkPostfix}`)):largeNudge.indexOf(text2)>-1?(accentNode$1.classes.push(`chr-lrg${vecPostfix}`),accentNode$1.classes.push(`wbk-lrg${wbkPostfix}`)):isVec?accentNode$1.classes.push("wbk-vec"):needsWbkVertShift&&accentNode$1.classes.push("wbk-acc")}else needsWbkVertShift&&accentNode$1.classes.push("wbk-acc");return new MathNode(tag,[buildGroup$1(group.base,style),accentNode$1])},nonStretchyAccents=new Set(["\\acute","\\check","\\grave","\\ddot","\\dddot","\\ddddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring"]),needsWebkitVerticalShift=new Set(["\\acute","\\bar","\\breve","\\check","\\dot","\\ddot","\\grave","\\hat","\\mathring","\\`","\\'","\\^","\\=","\\u","\\.",'\\"',"\\r","\\H","\\v"]),combiningChar={"\\`":"\u0300","\\'":"\u0301","\\^":"\u0302","\\~":"\u0303","\\=":"\u0304","\\u":"\u0306","\\.":"\u0307",'\\"':"\u0308","\\r":"\u030A","\\H":"\u030B","\\v":"\u030C","\\c":"\u0327"};defineFunction({type:"accent",names:["\\acute","\\grave","\\ddot","\\dddot","\\ddddot","\\tilde","\\bar","\\breve","\\check","\\hat","\\vec","\\dot","\\mathring","\\overparen","\\widecheck","\\widehat","\\wideparen","\\widetilde","\\overrightarrow","\\overleftarrow","\\Overrightarrow","\\overleftrightarrow","\\overgroup","\\overleftharpoon","\\overrightharpoon"],props:{numArgs:1},handler:(context,args)=>{let base=normalizeArgument(args[0]),isStretchy=!nonStretchyAccents.has(context.funcName);return{type:"accent",mode:context.parser.mode,label:context.funcName,isStretchy,base}},mathmlBuilder:mathmlBuilder$a});defineFunction({type:"accent",names:["\\'","\\`","\\^","\\~","\\=","\\c","\\u","\\.",'\\"',"\\r","\\H","\\v"],props:{numArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["primitive"]},handler:(context,args)=>{let base=normalizeArgument(args[0]),mode=context.parser.mode;return mode==="math"&&context.parser.settings.strict&&console.log(`Temml parse error: Command ${context.funcName} is invalid in math mode.`),mode==="text"&&base.text&&base.text.length===1&&context.funcName in combiningChar&&smalls.indexOf(base.text)>-1?{type:"textord",mode:"text",text:base.text+combiningChar[context.funcName]}:context.funcName==="\\c"&&mode==="text"&&base.text&&base.text.length===1?{type:"textord",mode:"text",text:base.text+"\u0327"}:{type:"accent",mode,label:context.funcName,isStretchy:!1,base}},mathmlBuilder:mathmlBuilder$a});defineFunction({type:"accentUnder",names:["\\underleftarrow","\\underrightarrow","\\underleftrightarrow","\\undergroup","\\underparen","\\utilde"],props:{numArgs:1},handler:({parser,funcName},args)=>{let base=args[0];return{type:"accentUnder",mode:parser.mode,label:funcName,base}},mathmlBuilder:(group,style)=>{let accentNode$1=accentNode(group);return accentNode$1.style["math-depth"]=0,new MathNode("munder",[buildGroup$1(group.base,style),accentNode$1])}});var ptPerUnit={pt:800/803,pc:12*800/803,dd:1238/1157*800/803,cc:14856/1157*800/803,nd:685/642*800/803,nc:1370/107*800/803,sp:1/65536*800/803,mm:25.4/72,cm:2.54/72,in:1/72,px:96/72},validUnits=["em","ex","mu","pt","mm","cm","in","px","bp","pc","dd","cc","nd","nc","sp"],validUnit=function(unit){return typeof unit!="string"&&(unit=unit.unit),validUnits.indexOf(unit)>-1},emScale=styleLevel=>{let scriptLevel2=Math.max(styleLevel-1,0);return[1,.7,.5][scriptLevel2]},calculateSize=function(sizeValue,style){let number=sizeValue.number;if(style.maxSize[0]<0&&number>0)return{number:0,unit:"em"};let unit=sizeValue.unit;switch(unit){case"mm":case"cm":case"in":case"px":return number*ptPerUnit[unit]>style.maxSize[1]?{number:style.maxSize[1],unit:"pt"}:{number,unit};case"em":case"ex":return unit==="ex"&&(number*=.431),number=Math.min(number/emScale(style.level),style.maxSize[0]),{number:round(number),unit:"em"};case"bp":return number>style.maxSize[1]&&(number=style.maxSize[1]),{number,unit:"pt"};case"pt":case"pc":case"dd":case"cc":case"nd":case"nc":case"sp":return number=Math.min(number*ptPerUnit[unit],style.maxSize[1]),{number:round(number),unit:"pt"};case"mu":return number=Math.min(number/18,style.maxSize[0]),{number:round(number),unit:"em"};default:throw new ParseError("Invalid unit: '"+unit+"'")}},padding=width=>{let node=new MathNode("mspace");return node.setAttribute("width",width+"em"),node},paddedNode=(group,lspace=.3,rspace=0,mustSmash=!1)=>{if(group==null&&rspace===0)return padding(lspace);let row=group?[group]:[];if(lspace!==0&&row.unshift(padding(lspace)),rspace>0&&row.push(padding(rspace)),mustSmash){let mpadded=new MathNode("mpadded",row);return mpadded.setAttribute("height","0.1px"),mpadded}else return new MathNode("mrow",row)},labelSize=(size,scriptLevel2)=>Number(size)/emScale(scriptLevel2),munderoverNode=(fName,body,below,style)=>{let arrowNode=mathMLnode(fName),isEq=fName.slice(1,3)==="eq",minWidth=fName.charAt(1)==="x"?"1.75":fName.slice(2,4)==="cd"?"3.0":isEq?"1.0":"2.0";arrowNode.setAttribute("lspace","0"),arrowNode.setAttribute("rspace",isEq?"0.5em":"0");let labelStyle=style.withLevel(style.level<2?2:3),minArrowWidth=labelSize(minWidth,labelStyle.level),dummyWidth=labelSize(minWidth,3),emptyLabel=paddedNode(null,minArrowWidth.toFixed(4),0),dummyNode=paddedNode(null,dummyWidth.toFixed(4),0),space=labelSize(isEq?0:.3,labelStyle.level).toFixed(4),upperNode,lowerNode,gotUpper=body&&body.body&&(body.body.body||body.body.length>0);if(gotUpper){let label=buildGroup$1(body,labelStyle);label=paddedNode(label,space,space,fName==="\\\\cdrightarrow"||fName==="\\\\cdleftarrow"),upperNode=new MathNode("mover",[label,dummyNode])}let gotLower=below&&below.body&&(below.body.body||below.body.length>0);if(gotLower){let label=buildGroup$1(below,labelStyle);label=paddedNode(label,space,space),lowerNode=new MathNode("munder",[label,dummyNode])}let node;return!gotUpper&&!gotLower?node=new MathNode("mover",[arrowNode,emptyLabel]):gotUpper&&gotLower?node=new MathNode("munderover",[arrowNode,lowerNode,upperNode]):gotUpper?node=new MathNode("mover",[arrowNode,upperNode]):node=new MathNode("munder",[arrowNode,lowerNode]),minWidth==="3.0"&&(node.style.height="1em"),node.setAttribute("accent","false"),node};defineFunction({type:"xArrow",names:["\\xleftarrow","\\xrightarrow","\\xLeftarrow","\\xRightarrow","\\xleftrightarrow","\\xLeftrightarrow","\\xhookleftarrow","\\xhookrightarrow","\\xmapsto","\\xrightharpoondown","\\xrightharpoonup","\\xleftharpoondown","\\xleftharpoonup","\\xlongequal","\\xtwoheadrightarrow","\\xtwoheadleftarrow","\\xtofrom","\\xleftrightharpoons","\\xrightleftharpoons","\\yields","\\yieldsLeft","\\mesomerism","\\longrightharpoonup","\\longleftharpoondown","\\yieldsLeftRight","\\chemequilibrium","\\\\cdrightarrow","\\\\cdleftarrow","\\\\cdlongequal"],props:{numArgs:1,numOptionalArgs:1},handler({parser,funcName},args,optArgs){return{type:"xArrow",mode:parser.mode,name:funcName,body:args[0],below:optArgs[0]}},mathmlBuilder(group,style){let row=[munderoverNode(group.name,group.body,group.below,style)];return row.unshift(padding(.2778)),row.push(padding(.2778)),new MathNode("mrow",row)}});var arrowComponent={"\\equilibriumRight":["\\longrightharpoonup","\\eqleftharpoondown"],"\\equilibriumLeft":["\\eqrightharpoonup","\\longleftharpoondown"]};defineFunction({type:"stackedArrow",names:["\\equilibriumRight","\\equilibriumLeft"],props:{numArgs:1,numOptionalArgs:1},handler({parser,funcName},args,optArgs){let lowerArrowBody=args[0]?{type:"hphantom",mode:parser.mode,body:args[0]}:null,upperArrowBelow=optArgs[0]?{type:"hphantom",mode:parser.mode,body:optArgs[0]}:null;return{type:"stackedArrow",mode:parser.mode,name:funcName,body:args[0],upperArrowBelow,lowerArrowBody,below:optArgs[0]}},mathmlBuilder(group,style){let topLabel=arrowComponent[group.name][0],botLabel=arrowComponent[group.name][1],topArrow=munderoverNode(topLabel,group.body,group.upperArrowBelow,style),botArrow=munderoverNode(botLabel,group.lowerArrowBody,group.below,style),wrapper,raiseNode=new MathNode("mpadded",[topArrow]);if(raiseNode.setAttribute("voffset","0.3em"),raiseNode.setAttribute("height","+0.3em"),raiseNode.setAttribute("depth","-0.3em"),group.name==="\\equilibriumLeft"){let botNode=new MathNode("mpadded",[botArrow]);botNode.setAttribute("width","0.5em"),wrapper=new MathNode("mpadded",[padding(.2778),botNode,raiseNode,padding(.2778)])}else raiseNode.setAttribute("width",group.name==="\\equilibriumRight"?"0.5em":"0"),wrapper=new MathNode("mpadded",[padding(.2778),raiseNode,botArrow,padding(.2778)]);return wrapper.setAttribute("voffset","-0.18em"),wrapper.setAttribute("height","-0.18em"),wrapper.setAttribute("depth","+0.18em"),wrapper}});var _environments={};function defineEnvironment({type,names,props,handler,mathmlBuilder:mathmlBuilder2}){let data={type,numArgs:props.numArgs||0,allowedInText:!1,numOptionalArgs:0,handler};for(let i=0;i<names.length;++i)_environments[names[i]]=data;mathmlBuilder2&&(_mathmlGroupBuilders[type]=mathmlBuilder2)}function assertNodeType(node,type){if(!node||node.type!==type)throw new Error(`Expected node of type ${type}, but got `+(node?`node of type ${node.type}`:String(node)));return node}function assertSymbolNodeType(node){let typedNode=checkSymbolNodeType(node);if(!typedNode)throw new Error("Expected node of symbol group type, but got "+(node?`node of type ${node.type}`:String(node)));return typedNode}function checkSymbolNodeType(node){return node&&(node.type==="atom"||node.type==="delimiter"||Object.prototype.hasOwnProperty.call(NON_ATOMS,node.type))?node:null}var cdArrowFunctionName={">":"\\\\cdrightarrow","<":"\\\\cdleftarrow","=":"\\\\cdlongequal",A:"\\uparrow",V:"\\downarrow","|":"\\Vert",".":"no arrow"},newCell=()=>({type:"styling",body:[],mode:"math",scriptLevel:"display"}),isStartOfArrow=node=>node.type==="textord"&&node.text==="@",isLabelEnd=(node,endChar)=>(node.type==="mathord"||node.type==="atom")&&node.text===endChar;function cdArrow(arrowChar,labels,parser){let funcName=cdArrowFunctionName[arrowChar];switch(funcName){case"\\\\cdrightarrow":case"\\\\cdleftarrow":return parser.callFunction(funcName,[labels[0]],[labels[1]]);case"\\uparrow":case"\\downarrow":{let leftLabel=parser.callFunction("\\\\cdleft",[labels[0]],[]),bareArrow={type:"atom",text:funcName,mode:"math",family:"rel"},sizedArrow=parser.callFunction("\\Big",[bareArrow],[]),rightLabel=parser.callFunction("\\\\cdright",[labels[1]],[]),arrowGroup={type:"ordgroup",mode:"math",body:[leftLabel,sizedArrow,rightLabel],semisimple:!0};return parser.callFunction("\\\\cdparent",[arrowGroup],[])}case"\\\\cdlongequal":return parser.callFunction("\\\\cdlongequal",[],[]);case"\\Vert":{let arrow={type:"textord",text:"\\Vert",mode:"math"};return parser.callFunction("\\Big",[arrow],[])}default:return{type:"textord",text:" ",mode:"math"}}}function parseCD(parser){let parsedRows=[];for(parser.gullet.beginGroup(),parser.gullet.macros.set("\\cr","\\\\\\relax"),parser.gullet.beginGroup();;){parsedRows.push(parser.parseExpression(!1,"\\\\")),parser.gullet.endGroup(),parser.gullet.beginGroup();let next=parser.fetch().text;if(next==="&"||next==="\\\\")parser.consume();else if(next==="\\end"){parsedRows[parsedRows.length-1].length===0&&parsedRows.pop();break}else throw new ParseError("Expected \\\\ or \\cr or \\end",parser.nextToken)}let row=[],body=[row];for(let i=0;i<parsedRows.length;i++){let rowNodes=parsedRows[i],cell=newCell();for(let j=0;j<rowNodes.length;j++)if(!isStartOfArrow(rowNodes[j]))cell.body.push(rowNodes[j]);else{row.push(cell),j+=1;let arrowChar=assertSymbolNodeType(rowNodes[j]).text,labels=new Array(2);if(labels[0]={type:"ordgroup",mode:"math",body:[]},labels[1]={type:"ordgroup",mode:"math",body:[]},!("=|.".indexOf(arrowChar)>-1))if("<>AV".indexOf(arrowChar)>-1)for(let labelNum=0;labelNum<2;labelNum++){let inLabel=!0;for(let k=j+1;k<rowNodes.length;k++){if(isLabelEnd(rowNodes[k],arrowChar)){inLabel=!1,j=k;break}if(isStartOfArrow(rowNodes[k]))throw new ParseError("Missing a "+arrowChar+" character to complete a CD arrow.",rowNodes[k]);labels[labelNum].body.push(rowNodes[k])}if(inLabel)throw new ParseError("Missing a "+arrowChar+" character to complete a CD arrow.",rowNodes[j])}else throw new ParseError('Expected one of "<>AV=|." after @.');let arrow=cdArrow(arrowChar,labels,parser);row.push(arrow),cell=newCell()}i%2===0?row.push(cell):row.shift(),row=[],body.push(row)}return body.pop(),parser.gullet.endGroup(),parser.gullet.endGroup(),{type:"array",mode:"math",body,tags:null,labels:new Array(body.length+1).fill(""),envClasses:["jot","cd"],cols:[],hLinesBeforeRow:new Array(body.length+1).fill([])}}defineFunction({type:"cdlabel",names:["\\\\cdleft","\\\\cdright"],props:{numArgs:1},handler({parser,funcName},args){return{type:"cdlabel",mode:parser.mode,side:funcName.slice(4),label:args[0]}},mathmlBuilder(group,style){if(group.label.body.length===0)return new MathNode("mrow",style);let mrow=buildGroup$1(group.label,style);group.side==="left"&&mrow.classes.push("tml-shift-left");let mtd=new MathNode("mtd",[mrow]);mtd.style.padding="0";let mtr=new MathNode("mtr",[mtd]),mtable=new MathNode("mtable",[mtr]),label=new MathNode("mpadded",[mtable]);return label.setAttribute("width","0.1px"),label.setAttribute("displaystyle","false"),label.setAttribute("scriptlevel","1"),label}});defineFunction({type:"cdlabelparent",names:["\\\\cdparent"],props:{numArgs:1},handler({parser},args){return{type:"cdlabelparent",mode:parser.mode,fragment:args[0]}},mathmlBuilder(group,style){return new MathNode("mrow",[buildGroup$1(group.fragment,style)])}});var ordGroup=body=>({type:"ordgroup",mode:"math",body,semisimple:!0}),phantom=(body,type)=>({type,mode:"math",body:ordGroup(body)}),bordermatrixParseTree=(matrix,delimiters2)=>{let body=matrix.body;body[0].shift();let leftColumnBody=new Array(body.length-1).fill().map(()=>[]);for(let i=1;i<body.length;i++){leftColumnBody[i-1].push(body[i].shift());let phantomBody=[];for(let j=0;j<body[i].length;j++)phantomBody.push(body[i][j]);leftColumnBody[i-1].push(phantom(phantomBody,"vphantom"))}let topRowBody=new Array(body.length).fill().map(()=>[]);for(let j=0;j<body[0].length;j++)topRowBody[0].push(body[0][j]);for(let i=1;i<body.length;i++)for(let j=0;j<body[0].length;j++)topRowBody[i].push(phantom(body[i][j].body,"hphantom"));for(let j=0;j<body[0].length;j++)body[0][j]=phantom(body[0][j].body,"hphantom");let leftColumn={type:"array",mode:"math",body:leftColumnBody,cols:[{type:"align",align:"c"}],rowGaps:new Array(leftColumnBody.length-1).fill(null),hLinesBeforeRow:new Array(leftColumnBody.length+1).fill().map(()=>[]),envClasses:[],scriptLevel:"text",arraystretch:1,labels:new Array(leftColumnBody.length).fill(""),arraycolsep:{number:.04,unit:"em"}},topWrapper={type:"styling",mode:"math",scriptLevel:"text",body:[{type:"array",mode:"math",body:topRowBody,cols:new Array(topRowBody.length).fill({type:"align",align:"c"}),rowGaps:new Array(topRowBody.length-1).fill(null),hLinesBeforeRow:new Array(topRowBody.length+1).fill().map(()=>[]),envClasses:[],scriptLevel:"text",arraystretch:1,labels:new Array(topRowBody.length).fill(""),arraycolsep:null}]},mover={type:"supsub",mode:"math",stack:!0,base:{type:"op",mode:"math",limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!0,symbol:!1,suppressBaseShift:!0,body:[{type:"leftright",mode:"math",body:[matrix],left:delimiters2?delimiters2[0]:"(",right:delimiters2?delimiters2[1]:")",rightColor:void 0}]},sup:topWrapper,sub:null};return ordGroup([leftColumn,mover])},SourceLocation=class _SourceLocation{constructor(lexer,start,end){this.lexer=lexer,this.start=start,this.end=end}static range(first,second){return second?!first||!first.loc||!second.loc||first.loc.lexer!==second.loc.lexer?null:new _SourceLocation(first.loc.lexer,first.loc.start,second.loc.end):first&&first.loc}},Token=class _Token{constructor(text2,loc){this.text=text2,this.loc=loc}range(endToken,text2){return new _Token(text2,SourceLocation.range(this,endToken))}},StyleLevel={DISPLAY:0,TEXT:1,SCRIPT:2,SCRIPTSCRIPT:3},_macros=Object.create(null);function defineMacro(name,body){_macros[name]=body}var macros=_macros;defineMacro("\\noexpand",function(context){let t=context.popToken();return context.isExpandable(t.text)&&(t.noexpand=!0,t.treatAsRelax=!0),{tokens:[t],numArgs:0}});defineMacro("\\expandafter",function(context){let t=context.popToken();return context.expandOnce(!0),{tokens:[t],numArgs:0}});defineMacro("\\@firstoftwo",function(context){return{tokens:context.consumeArgs(2)[0],numArgs:0}});defineMacro("\\@secondoftwo",function(context){return{tokens:context.consumeArgs(2)[1],numArgs:0}});defineMacro("\\@ifnextchar",function(context){let args=context.consumeArgs(3);context.consumeSpaces();let nextToken=context.future();return args[0].length===1&&args[0][0].text===nextToken.text?{tokens:args[1],numArgs:0}:{tokens:args[2],numArgs:0}});defineMacro("\\@ifstar","\\@ifnextchar *{\\@firstoftwo{#1}}");defineMacro("\\TextOrMath",function(context){let args=context.consumeArgs(2);return context.mode==="text"?{tokens:args[0],numArgs:0}:{tokens:args[1],numArgs:0}});var stringFromArg=arg=>{let str="";for(let i=arg.length-1;i>-1;i--)str+=arg[i].text;return str},digitToNumber={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},nextCharNumber=context=>{let numStr=context.future().text;return numStr==="EOF"?[null,""]:[digitToNumber[numStr.charAt(0)],numStr]},appendCharNumbers=(number,numStr,base)=>{for(let i=1;i<numStr.length;i++){let digit=digitToNumber[numStr.charAt(i)];number*=base,number+=digit}return number};defineMacro("\\char",function(context){let token=context.popToken(),base,number="";if(token.text==="'")base=8,token=context.popToken();else if(token.text==='"')base=16,token=context.popToken();else if(token.text==="`")if(token=context.popToken(),token.text[0]==="\\")number=token.text.charCodeAt(1);else{if(token.text==="EOF")throw new ParseError("\\char` missing argument");number=token.text.charCodeAt(0)}else base=10;if(base){let numStr=token.text;if(number=digitToNumber[numStr.charAt(0)],number==null||number>=base)throw new ParseError(`Invalid base-${base} digit ${token.text}`);number=appendCharNumbers(number,numStr,base);let digit;for([digit,numStr]=nextCharNumber(context);digit!=null&&digit<base;)number*=base,number+=digit,number=appendCharNumbers(number,numStr,base),context.popToken(),[digit,numStr]=nextCharNumber(context)}return`\\@char{${number}}`});function recreateArgStr(context){let tokens=context.consumeArgs(1)[0],str="",expectedLoc=tokens[tokens.length-1].loc.start;for(let i=tokens.length-1;i>=0;i--){let actualLoc=tokens[i].loc.start;actualLoc>expectedLoc&&(str+=" ",expectedLoc=actualLoc),str+=tokens[i].text,expectedLoc+=tokens[i].text.length}return str}defineMacro("\\surd","\\sqrt{\\vphantom{|}}");defineMacro("\u2295","\\oplus");defineMacro("\\long","");defineMacro("\\bgroup","{");defineMacro("\\egroup","}");defineMacro("~","\\nobreakspace");defineMacro("\\lq","`");defineMacro("\\rq","'");defineMacro("\\aa","\\r a");defineMacro("\\Bbbk","\\Bbb{k}");defineMacro("\\mathstrut","\\vphantom{(}");defineMacro("\\underbar","\\underline{\\text{#1}}");defineMacro("\\vdots","{\\varvdots\\rule{0pt}{15pt}}");defineMacro("\u22EE","\\vdots");defineMacro("\\arraystretch","1");defineMacro("\\arraycolsep","6pt");defineMacro("\\substack","\\begin{subarray}{c}#1\\end{subarray}");defineMacro("\\iff","\\DOTSB\\;\\Longleftrightarrow\\;");defineMacro("\\implies","\\DOTSB\\;\\Longrightarrow\\;");defineMacro("\\impliedby","\\DOTSB\\;\\Longleftarrow\\;");var dotsByToken={",":"\\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","\\bigsqcap":"\\dotsb","\\bigsqcup":"\\dotsb","\\bigtimes":"\\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","\\DOTSX":"\\dotsx"};defineMacro("\\dots",function(context){let thedots="\\dotso",next=context.expandAfterFuture().text;return next in dotsByToken?thedots=dotsByToken[next]:(next.slice(0,4)==="\\not"||next in symbols.math&&["bin","rel"].includes(symbols.math[next].group))&&(thedots="\\dotsb"),thedots});var spaceAfterDots={")":!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};defineMacro("\\dotso",function(context){return context.future().text in spaceAfterDots?"\\ldots\\,":"\\ldots"});defineMacro("\\dotsc",function(context){let next=context.future().text;return next in spaceAfterDots&&next!==","?"\\ldots\\,":"\\ldots"});defineMacro("\\cdots",function(context){return context.future().text in spaceAfterDots?"\\@cdots\\,":"\\@cdots"});defineMacro("\\dotsb","\\cdots");defineMacro("\\dotsm","\\cdots");defineMacro("\\dotsi","\\!\\cdots");defineMacro("\\idotsint","\\int\\!\\cdots\\!\\int");defineMacro("\\dotsx","\\ldots\\,");defineMacro("\\DOTSI","\\relax");defineMacro("\\DOTSB","\\relax");defineMacro("\\DOTSX","\\relax");defineMacro("\\tmspace","\\TextOrMath{\\kern#1#3}{\\mskip#1#2}\\relax");defineMacro("\\,","{\\tmspace+{3mu}{.1667em}}");defineMacro("\\thinspace","\\,");defineMacro("\\>","\\mskip{4mu}");defineMacro("\\:","{\\tmspace+{4mu}{.2222em}}");defineMacro("\\medspace","\\:");defineMacro("\\;","{\\tmspace+{5mu}{.2777em}}");defineMacro("\\thickspace","\\;");defineMacro("\\!","{\\tmspace-{3mu}{.1667em}}");defineMacro("\\negthinspace","\\!");defineMacro("\\negmedspace","{\\tmspace-{4mu}{.2222em}}");defineMacro("\\negthickspace","{\\tmspace-{5mu}{.277em}}");defineMacro("\\enspace","\\kern.5em ");defineMacro("\\enskip","\\hskip.5em\\relax");defineMacro("\\quad","\\hskip1em\\relax");defineMacro("\\qquad","\\hskip2em\\relax");defineMacro("\\AA","\\TextOrMath{\\Angstrom}{\\mathring{A}}\\relax");defineMacro("\\tag","\\@ifstar\\tag@literal\\tag@paren");defineMacro("\\tag@paren","\\tag@literal{({#1})}");defineMacro("\\tag@literal",context=>{if(context.macros.get("\\df@tag"))throw new ParseError("Multiple \\tag");return"\\gdef\\df@tag{\\text{#1}}"});defineMacro("\\notag","\\nonumber");defineMacro("\\nonumber","\\gdef\\@eqnsw{0}");defineMacro("\\bmod","\\mathbin{\\text{mod}}");defineMacro("\\pod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern8mu}{\\mkern8mu}{\\mkern8mu}(#1)");defineMacro("\\pmod","\\pod{{\\rm mod}\\mkern6mu#1}");defineMacro("\\mod","\\allowbreak\\mathchoice{\\mkern18mu}{\\mkern12mu}{\\mkern12mu}{\\mkern12mu}{\\rm mod}\\,\\,#1");defineMacro("\\newline","\\\\\\relax");defineMacro("\\TeX","\\textrm{T}\\kern-.1667em\\raisebox{-.5ex}{E}\\kern-.125em\\textrm{X}");defineMacro("\\LaTeX","\\textrm{L}\\kern-.35em\\raisebox{0.2em}{\\scriptstyle A}\\kern-.15em\\TeX");defineMacro("\\Temml","\\textrm{T}\\kern-0.2em\\lower{0.2em}{\\textrm{E}}\\kern-0.08em{\\textrm{M}\\kern-0.08em\\raise{0.2em}\\textrm{M}\\kern-0.08em\\textrm{L}}");defineMacro("\\hspace","\\@ifstar\\@hspacer\\@hspace");defineMacro("\\@hspace","\\hskip #1\\relax");defineMacro("\\@hspacer","\\rule{0pt}{0pt}\\hskip #1\\relax");defineMacro("\\colon",'\\mathpunct{\\char"3a}');defineMacro("\\prescript","\\pres@cript{_{#1}^{#2}}{}{#3}");defineMacro("\\ordinarycolon",'\\char"3a');defineMacro("\\vcentcolon","\\mathrel{\\raisebox{0.035em}{\\ordinarycolon}}");defineMacro("\\coloneq",'\\mathrel{\\raisebox{0.035em}{\\ordinarycolon}\\char"2212}');defineMacro("\\Coloneq",'\\mathrel{\\char"2237\\char"2212}');defineMacro("\\Eqqcolon",'\\mathrel{\\char"3d\\char"2237}');defineMacro("\\Eqcolon",'\\mathrel{\\char"2212\\char"2237}');defineMacro("\\colonapprox",'\\mathrel{\\raisebox{0.035em}{\\ordinarycolon}\\char"2248}');defineMacro("\\Colonapprox",'\\mathrel{\\char"2237\\char"2248}');defineMacro("\\colonsim",'\\mathrel{\\raisebox{0.035em}{\\ordinarycolon}\\char"223c}');defineMacro("\\Colonsim",'\\mathrel{\\raisebox{0.035em}{\\ordinarycolon}\\char"223c}');defineMacro("\\ratio","\\vcentcolon");defineMacro("\\coloncolon","\\dblcolon");defineMacro("\\colonequals","\\coloneqq");defineMacro("\\coloncolonequals","\\Coloneqq");defineMacro("\\equalscolon","\\eqqcolon");defineMacro("\\equalscoloncolon","\\Eqqcolon");defineMacro("\\colonminus","\\coloneq");defineMacro("\\coloncolonminus","\\Coloneq");defineMacro("\\minuscolon","\\eqcolon");defineMacro("\\minuscoloncolon","\\Eqcolon");defineMacro("\\coloncolonapprox","\\Colonapprox");defineMacro("\\coloncolonsim","\\Colonsim");defineMacro("\\notni","\\mathrel{\\char`\u220C}");defineMacro("\\limsup","\\DOTSB\\operatorname*{lim\\,sup}");defineMacro("\\liminf","\\DOTSB\\operatorname*{lim\\,inf}");defineMacro("\\injlim","\\DOTSB\\operatorname*{inj\\,lim}");defineMacro("\\projlim","\\DOTSB\\operatorname*{proj\\,lim}");defineMacro("\\varlimsup","\\DOTSB\\operatorname*{\\overline{\\text{lim}}}");defineMacro("\\varliminf","\\DOTSB\\operatorname*{\\underline{\\text{lim}}}");defineMacro("\\varinjlim","\\DOTSB\\operatorname*{\\underrightarrow{\\text{lim}}}");defineMacro("\\varprojlim","\\DOTSB\\operatorname*{\\underleftarrow{\\text{lim}}}");defineMacro("\\centerdot","{\\medspace\\rule{0.167em}{0.189em}\\medspace}");defineMacro("\\argmin","\\DOTSB\\operatorname*{arg\\,min}");defineMacro("\\argmax","\\DOTSB\\operatorname*{arg\\,max}");defineMacro("\\plim","\\DOTSB\\operatorname*{plim}");defineMacro("\\leftmodels","\\mathop{\\reflectbox{$\\models$}}");defineMacro("\\bra","\\mathinner{\\langle{#1}|}");defineMacro("\\ket","\\mathinner{|{#1}\\rangle}");defineMacro("\\braket","\\mathinner{\\langle{#1}\\rangle}");defineMacro("\\Bra","\\left\\langle#1\\right|");defineMacro("\\Ket","\\left|#1\\right\\rangle");var replaceVert=(argStr,match)=>{let replaceStr=`}\\,\\middle${match[0]==="|"?"\\vert":"\\Vert"}\\,{`;return argStr.slice(0,match.index)+replaceStr+argStr.slice(match.index+match[0].length)};defineMacro("\\Braket",function(context){let argStr=recreateArgStr(context),regEx=/\|\||\||\\\|/g,match;for(;(match=regEx.exec(argStr))!==null;)argStr=replaceVert(argStr,match);return"\\left\\langle{"+argStr+"}\\right\\rangle"});defineMacro("\\Set",function(context){let argStr=recreateArgStr(context),match=/\|\||\||\\\|/.exec(argStr);return match&&(argStr=replaceVert(argStr,match)),"\\left\\{\\:{"+argStr+"}\\:\\right\\}"});defineMacro("\\set",function(context){return"\\{{"+recreateArgStr(context).replace(/\|/,"}\\mid{")+"}\\}"});defineMacro("\\angln","{\\angl n}");defineMacro("\\odv","\\@ifstar\\odv@next\\odv@numerator");defineMacro("\\odv@numerator","\\frac{\\mathrm{d}#1}{\\mathrm{d}#2}");defineMacro("\\odv@next","\\frac{\\mathrm{d}}{\\mathrm{d}#2}#1");defineMacro("\\pdv","\\@ifstar\\pdv@next\\pdv@numerator");var pdvHelper=args=>{let numerator=args[0][0].text,denoms=stringFromArg(args[1]).split(","),power=String(denoms.length),numOp=power==="1"?"\\partial":`\\partial^${power}`,denominator="";return denoms.map(e=>{denominator+="\\partial "+e.trim()+"\\,"}),[numerator,numOp,denominator.replace(/\\,$/,"")]};defineMacro("\\pdv@numerator",function(context){let[numerator,numOp,denominator]=pdvHelper(context.consumeArgs(2));return`\\frac{${numOp} ${numerator}}{${denominator}}`});defineMacro("\\pdv@next",function(context){let[numerator,numOp,denominator]=pdvHelper(context.consumeArgs(2));return`\\frac{${numOp}}{${denominator}} ${numerator}`});defineMacro("\\upalpha","\\up@greek{\\alpha}");defineMacro("\\upbeta","\\up@greek{\\beta}");defineMacro("\\upgamma","\\up@greek{\\gamma}");defineMacro("\\updelta","\\up@greek{\\delta}");defineMacro("\\upepsilon","\\up@greek{\\epsilon}");defineMacro("\\upzeta","\\up@greek{\\zeta}");defineMacro("\\upeta","\\up@greek{\\eta}");defineMacro("\\uptheta","\\up@greek{\\theta}");defineMacro("\\upiota","\\up@greek{\\iota}");defineMacro("\\upkappa","\\up@greek{\\kappa}");defineMacro("\\uplambda","\\up@greek{\\lambda}");defineMacro("\\upmu","\\up@greek{\\mu}");defineMacro("\\upnu","\\up@greek{\\nu}");defineMacro("\\upxi","\\up@greek{\\xi}");defineMacro("\\upomicron","\\up@greek{\\omicron}");defineMacro("\\uppi","\\up@greek{\\pi}");defineMacro("\\upalpha","\\up@greek{\\alpha}");defineMacro("\\uprho","\\up@greek{\\rho}");defineMacro("\\upsigma","\\up@greek{\\sigma}");defineMacro("\\uptau","\\up@greek{\\tau}");defineMacro("\\upupsilon","\\up@greek{\\upsilon}");defineMacro("\\upphi","\\up@greek{\\phi}");defineMacro("\\upchi","\\up@greek{\\chi}");defineMacro("\\uppsi","\\up@greek{\\psi}");defineMacro("\\upomega","\\up@greek{\\omega}");defineMacro("\\invamp",'\\mathbin{\\char"214b}');defineMacro("\\parr",'\\mathbin{\\char"214b}');defineMacro("\\upand",'\\mathbin{\\char"214b}');defineMacro("\\with",'\\mathbin{\\char"26}');defineMacro("\\multimapinv",'\\mathrel{\\char"27dc}');defineMacro("\\multimapboth",'\\mathrel{\\char"29df}');defineMacro("\\scoh",'{\\mkern5mu\\char"2322\\mkern5mu}');defineMacro("\\sincoh",'{\\mkern5mu\\char"2323\\mkern5mu}');defineMacro("\\coh",`{\\mkern5mu\\rule{}{0.7em}\\mathrlap{\\smash{\\raise2mu{\\char"2322}}}
102
+ {\\smash{\\lower4mu{\\char"2323}}}\\mkern5mu}`);defineMacro("\\incoh",`{\\mkern5mu\\rule{}{0.7em}\\mathrlap{\\smash{\\raise2mu{\\char"2323}}}
103
+ {\\smash{\\lower4mu{\\char"2322}}}\\mkern5mu}`);defineMacro("\\standardstate","\\text{\\tiny\\char`\u29B5}");defineMacro("\\ce",function(context){return chemParse(context.consumeArgs(1)[0],"ce")});defineMacro("\\pu",function(context){return chemParse(context.consumeArgs(1)[0],"pu")});defineMacro("\\uniDash","{\\rule{0.672em}{0.06em}}");defineMacro("\\triDash","{\\rule{0.15em}{0.06em}\\kern2mu\\rule{0.15em}{0.06em}\\kern2mu\\rule{0.15em}{0.06em}}");defineMacro("\\tripleDash","\\kern0.075em\\raise0.25em{\\triDash}\\kern0.075em");defineMacro("\\tripleDashOverLine","\\kern0.075em\\mathrlap{\\raise0.125em{\\uniDash}}\\raise0.34em{\\triDash}\\kern0.075em");defineMacro("\\tripleDashOverDoubleLine","\\kern0.075em\\mathrlap{\\mathrlap{\\raise0.48em{\\triDash}}\\raise0.27em{\\uniDash}}{\\raise0.05em{\\uniDash}}\\kern0.075em");defineMacro("\\tripleDashBetweenDoubleLine","\\kern0.075em\\mathrlap{\\mathrlap{\\raise0.48em{\\uniDash}}\\raise0.27em{\\triDash}}{\\raise0.05em{\\uniDash}}\\kern0.075em");var chemParse=function(tokens,stateMachine){for(var str="",expectedLoc=tokens.length&&tokens[tokens.length-1].loc.start,i=tokens.length-1;i>=0;i--)tokens[i].loc.start>expectedLoc&&(str+=" ",expectedLoc=tokens[i].loc.start),str+=tokens[i].text,expectedLoc+=tokens[i].text.length;var tex=texify.go(mhchemParser.go(str,stateMachine));return tex},mhchemParser={go:function(input,stateMachine){if(!input)return[];stateMachine===void 0&&(stateMachine="ce");var state="0",buffer={};buffer.parenthesisLevel=0,input=input.replace(/\n/g," "),input=input.replace(/[\u2212\u2013\u2014\u2010]/g,"-"),input=input.replace(/[\u2026]/g,"...");for(var lastInput,watchdog=10,output=[];;){lastInput!==input?(watchdog=10,lastInput=input):watchdog--;var machine=mhchemParser.stateMachines[stateMachine],t=machine.transitions[state]||machine.transitions["*"];iterateTransitions:for(var i=0;i<t.length;i++){var matches=mhchemParser.patterns.match_(t[i].pattern,input);if(matches){for(var task=t[i].task,iA=0;iA<task.action_.length;iA++){var o;if(machine.actions[task.action_[iA].type_])o=machine.actions[task.action_[iA].type_](buffer,matches.match_,task.action_[iA].option);else if(mhchemParser.actions[task.action_[iA].type_])o=mhchemParser.actions[task.action_[iA].type_](buffer,matches.match_,task.action_[iA].option);else throw["MhchemBugA","mhchem bug A. Please report. ("+task.action_[iA].type_+")"];mhchemParser.concatArray(output,o)}if(state=task.nextState||state,input.length>0){if(task.revisit||(input=matches.remainder),!task.toContinue)break iterateTransitions}else return output}}if(watchdog<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(a,b){if(b)if(Array.isArray(b))for(var iB=0;iB<b.length;iB++)a.push(b[iB]);else a.push(b)},patterns:{patterns:{empty:/^$/,else:/^./,else2:/^./,space:/^\s/,"space A":/^\s(?=[A-Z\\$])/,space$:/^\s$/,"a-z":/^[a-z]/,x:/^x/,x$:/^x$/,i$:/^i$/,letters:/^(?:[a-zA-Z\u03B1-\u03C9\u0391-\u03A9?@]|(?:\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))))+/,"\\greek":/^\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega|Gamma|Delta|Theta|Lambda|Xi|Pi|Sigma|Upsilon|Phi|Psi|Omega)(?:\s+|\{\}|(?![a-zA-Z]))/,"one lowercase latin letter $":/^(?:([a-z])(?:$|[^a-zA-Z]))$/,"$one lowercase latin letter$ $":/^\$(?:([a-z])(?:$|[^a-zA-Z]))\$$/,"one lowercase greek letter $":/^(?:\$?[\u03B1-\u03C9]\$?|\$?\\(?:alpha|beta|gamma|delta|epsilon|zeta|eta|theta|iota|kappa|lambda|mu|nu|xi|omicron|pi|rho|sigma|tau|upsilon|phi|chi|psi|omega)\s*\$?)(?:\s+|\{\}|(?![a-zA-Z]))$/,digits:/^[0-9]+/,"-9.,9":/^[+\-]?(?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))/,"-9.,9 no missing 0":/^[+\-]?[0-9]+(?:[.,][0-9]+)?/,"(-)(9.,9)(e)(99)":function(input){var m=input.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))?(\((?:[0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+))\))?(?:([eE]|\s*(\*|x|\\times|\u00D7)\s*10\^)([+\-]?[0-9]+|\{[+\-]?[0-9]+\}))?/);return m&&m[0]?{match_:m.splice(1),remainder:input.substr(m[0].length)}:null},"(-)(9)^(-9)":function(input){var m=input.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/);return m&&m[0]?{match_:m.splice(1),remainder:input.substr(m[0].length)}:null},"state of aggregation $":function(input){var a=mhchemParser.patterns.findObserveGroups(input,"",/^\([a-z]{1,3}(?=[\),])/,")","");if(a&&a.remainder.match(/^($|[\s,;\)\]\}])/))return a;var m=input.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/);return m?{match_:m[0],remainder:input.substr(m[0].length)}:null},"_{(state of aggregation)}$":/^_\{(\([a-z]{1,3}\))\}/,"{[(":/^(?:\\\{|\[|\()/,")]}":/^(?:\)|\]|\\\})/,", ":/^[,;]\s*/,",":/^[,;]/,".":/^[.]/,". ":/^([.\u22C5\u00B7\u2022])\s*/,"...":/^\.\.\.(?=$|[^.])/,"* ":/^([*])\s*/,"^{(...)}":function(input){return mhchemParser.patterns.findObserveGroups(input,"^{","","","}")},"^($...$)":function(input){return mhchemParser.patterns.findObserveGroups(input,"^","$","$","")},"^a":/^\^([0-9]+|[^\\_])/,"^\\x{}{}":function(input){return mhchemParser.patterns.findObserveGroups(input,"^",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"^\\x{}":function(input){return mhchemParser.patterns.findObserveGroups(input,"^",/^\\[a-zA-Z]+\{/,"}","")},"^\\x":/^\^(\\[a-zA-Z]+)\s*/,"^(-1)":/^\^(-?\d+)/,"'":/^'/,"_{(...)}":function(input){return mhchemParser.patterns.findObserveGroups(input,"_{","","","}")},"_($...$)":function(input){return mhchemParser.patterns.findObserveGroups(input,"_","$","$","")},_9:/^_([+\-]?[0-9]+|[^\\])/,"_\\x{}{}":function(input){return mhchemParser.patterns.findObserveGroups(input,"_",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"_\\x{}":function(input){return mhchemParser.patterns.findObserveGroups(input,"_",/^\\[a-zA-Z]+\{/,"}","")},"_\\x":/^_(\\[a-zA-Z]+)\s*/,"^_":/^(?:\^(?=_)|\_(?=\^)|[\^_]$)/,"{}":/^\{\}/,"{...}":function(input){return mhchemParser.patterns.findObserveGroups(input,"","{","}","")},"{(...)}":function(input){return mhchemParser.patterns.findObserveGroups(input,"{","","","}")},"$...$":function(input){return mhchemParser.patterns.findObserveGroups(input,"","$","$","")},"${(...)}$":function(input){return mhchemParser.patterns.findObserveGroups(input,"${","","","}$")},"$(...)$":function(input){return mhchemParser.patterns.findObserveGroups(input,"$","","","$")},"=<>":/^[=<>]/,"#":/^[#\u2261]/,"+":/^\+/,"-$":/^-(?=[\s_},;\]/]|$|\([a-z]+\))/,"-9":/^-(?=[0-9])/,"- orbital overlap":/^-(?=(?:[spd]|sp)(?:$|[\s,;\)\]\}]))/,"-":/^-/,"pm-operator":/^(?:\\pm|\$\\pm\$|\+-|\+\/-)/,operator:/^(?:\+|(?:[\-=<>]|<<|>>|\\approx|\$\\approx\$)(?=\s|$|-?[0-9]))/,arrowUpDown:/^(?:v|\(v\)|\^|\(\^\))(?=$|[\s,;\)\]\}])/,"\\bond{(...)}":function(input){return mhchemParser.patterns.findObserveGroups(input,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(input){return mhchemParser.patterns.findObserveGroups(input,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(input){return mhchemParser.patterns.findObserveGroups(input,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(input){return mhchemParser.patterns.findObserveGroups(input,"",/^\\[a-zA-Z]+\{/,"}","")},"\\ca":/^\\ca(?:\s+|(?![a-zA-Z]))/,"\\x":/^(?:\\[a-zA-Z]+\s*|\\[_&{}%])/,orbital:/^(?:[0-9]{1,2}[spdfgh]|[0-9]{0,2}sp)(?=$|[^a-zA-Z])/,others:/^[\/~|]/,"\\frac{(...)}":function(input){return mhchemParser.patterns.findObserveGroups(input,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(input){return mhchemParser.patterns.findObserveGroups(input,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(input){return mhchemParser.patterns.findObserveGroups(input,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(input){return mhchemParser.patterns.findObserveGroups(input,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(input){return mhchemParser.patterns.findObserveGroups(input,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(input){return mhchemParser.patterns.findObserveGroups(input,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(input){return mhchemParser.patterns.findObserveGroups(input,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(input){return mhchemParser.patterns.findObserveGroups(input,"\\ce{","","","}")},oxidation$:/^(?:[+-][IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"d-oxidation$":/^(?:[+-]?\s?[IVX]+|\\pm\s*0|\$\\pm\$\s*0)$/,"roman numeral":/^[IVX]+/,"1/2$":/^[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+(?:\$[a-z]\$|[a-z])?$/,amount:function(input){var match;if(match=input.match(/^(?:(?:(?:\([+\-]?[0-9]+\/[0-9]+\)|[+\-]?(?:[0-9]+|\$[a-z]\$|[a-z])\/[0-9]+|[+\-]?[0-9]+[.,][0-9]+|[+\-]?\.[0-9]+|[+\-]?[0-9]+)(?:[a-z](?=\s*[A-Z]))?)|[+\-]?[a-z](?=\s*[A-Z])|\+(?!\s))/),match)return{match_:match[0],remainder:input.substr(match[0].length)};var a=mhchemParser.patterns.findObserveGroups(input,"","$","$","");return a&&(match=a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/),match)?{match_:match[0],remainder:input.substr(match[0].length)}:null},amount2:function(input){return this.amount(input)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(input){if(input.match(/^\([a-z]+\)$/))return null;var match=input.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return match?{match_:match[0],remainder:input.substr(match[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(input,begExcl,begIncl,endIncl,endExcl,beg2Excl,beg2Incl,end2Incl,end2Excl,combine){var _match=function(input2,pattern){if(typeof pattern=="string")return input2.indexOf(pattern)!==0?null:pattern;var match2=input2.match(pattern);return match2?match2[0]:null},_findObserveGroups=function(input2,i,endChars){for(var braces=0;i<input2.length;){var a=input2.charAt(i),match2=_match(input2.substr(i),endChars);if(match2!==null&&braces===0)return{endMatchBegin:i,endMatchEnd:i+match2.length};if(a==="{")braces++;else if(a==="}"){if(braces===0)throw["ExtraCloseMissingOpen","Extra close brace or missing open brace"];braces--}i++}return braces>0,null},match=_match(input,begExcl);if(match===null||(input=input.substr(match.length),match=_match(input,begIncl),match===null))return null;var e=_findObserveGroups(input,match.length,endIncl||endExcl);if(e===null)return null;var match1=input.substring(0,endIncl?e.endMatchEnd:e.endMatchBegin);if(beg2Excl||beg2Incl){var group2=this.findObserveGroups(input.substr(e.endMatchEnd),beg2Excl,beg2Incl,end2Incl,end2Excl);if(group2===null)return null;var matchRet=[match1,group2.match_];return{match_:combine?matchRet.join(""):matchRet,remainder:group2.remainder}}else return{match_:match1,remainder:input.substr(e.endMatchEnd)}},match_:function(m,input){var pattern=mhchemParser.patterns.patterns[m];if(pattern===void 0)throw["MhchemBugP","mhchem bug P. Please report. ("+m+")"];if(typeof pattern=="function")return mhchemParser.patterns.patterns[m](input);var match=input.match(pattern);if(match){var mm;return match[2]?mm=[match[1],match[2]]:match[1]?mm=match[1]:mm=match[0],{match_:mm,remainder:input.substr(match[0].length)}}return null}},actions:{"a=":function(buffer,m){buffer.a=(buffer.a||"")+m},"b=":function(buffer,m){buffer.b=(buffer.b||"")+m},"p=":function(buffer,m){buffer.p=(buffer.p||"")+m},"o=":function(buffer,m){buffer.o=(buffer.o||"")+m},"q=":function(buffer,m){buffer.q=(buffer.q||"")+m},"d=":function(buffer,m){buffer.d=(buffer.d||"")+m},"rm=":function(buffer,m){buffer.rm=(buffer.rm||"")+m},"text=":function(buffer,m){buffer.text_=(buffer.text_||"")+m},insert:function(buffer,m,a){return{type_:a}},"insert+p1":function(buffer,m,a){return{type_:a,p1:m}},"insert+p1+p2":function(buffer,m,a){return{type_:a,p1:m[0],p2:m[1]}},copy:function(buffer,m){return m},rm:function(buffer,m){return{type_:"rm",p1:m||""}},text:function(buffer,m){return mhchemParser.go(m,"text")},"{text}":function(buffer,m){var ret=["{"];return mhchemParser.concatArray(ret,mhchemParser.go(m,"text")),ret.push("}"),ret},"tex-math":function(buffer,m){return mhchemParser.go(m,"tex-math")},"tex-math tight":function(buffer,m){return mhchemParser.go(m,"tex-math tight")},bond:function(buffer,m,k){return{type_:"bond",kind_:k||m}},"color0-output":function(buffer,m){return{type_:"color0",color:m[0]}},ce:function(buffer,m){return mhchemParser.go(m)},"1/2":function(buffer,m){var ret=[];m.match(/^[+\-]/)&&(ret.push(m.substr(0,1)),m=m.substr(1));var n=m.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/);return n[1]=n[1].replace(/\$/g,""),ret.push({type_:"frac",p1:n[1],p2:n[2]}),n[3]&&(n[3]=n[3].replace(/\$/g,""),ret.push({type_:"tex-math",p1:n[3]})),ret},"9,9":function(buffer,m){return mhchemParser.go(m,"9,9")}},createTransitions:function(o){var pattern,state,stateArray,i,transitions={};for(pattern in o)for(state in o[pattern])for(stateArray=state.split("|"),o[pattern][state].stateArray=stateArray,i=0;i<stateArray.length;i++)transitions[stateArray[i]]=[];for(pattern in o)for(state in o[pattern])for(stateArray=o[pattern][state].stateArray||[],i=0;i<stateArray.length;i++){var p=o[pattern][state];if(p.action_){p.action_=[].concat(p.action_);for(var k=0;k<p.action_.length;k++)typeof p.action_[k]=="string"&&(p.action_[k]={type_:p.action_[k]})}else p.action_=[];for(var patternArray=pattern.split("|"),j=0;j<patternArray.length;j++)if(stateArray[i]==="*")for(var t in transitions)transitions[t].push({pattern:patternArray[j],task:p});else transitions[stateArray[i]].push({pattern:patternArray[j],task:p})}return transitions},stateMachines:{}};mhchemParser.stateMachines={ce:{transitions:mhchemParser.createTransitions({empty:{"*":{action_:"output"}},else:{"0|1|2":{action_:"beginsWithBond=false",revisit:!0,toContinue:!0}},oxidation$:{0:{action_:"oxidation-output"}},CMT:{r:{action_:"rdt=",nextState:"rt"},rd:{action_:"rqt=",nextState:"rdt"}},arrowUpDown:{"0|1|2|as":{action_:["sb=false","output","operator"],nextState:"1"}},uprightEntities:{"0|1|2":{action_:["o=","output"],nextState:"1"}},orbital:{"0|1|2|3":{action_:"o=",nextState:"o"}},"->":{"0|1|2|3":{action_:"r=",nextState:"r"},"a|as":{action_:["output","r="],nextState:"r"},"*":{action_:["output","r="],nextState:"r"}},"+":{o:{action_:"d= kv",nextState:"d"},"d|D":{action_:"d=",nextState:"d"},q:{action_:"d=",nextState:"qd"},"qd|qD":{action_:"d=",nextState:"qd"},dq:{action_:["output","d="],nextState:"d"},3:{action_:["sb=false","output","operator"],nextState:"0"}},amount:{"0|2":{action_:"a=",nextState:"a"}},"pm-operator":{"0|1|2|a|as":{action_:["sb=false","output",{type_:"operator",option:"\\pm"}],nextState:"0"}},operator:{"0|1|2|a|as":{action_:["sb=false","output","operator"],nextState:"0"}},"-$":{"o|q":{action_:["charge or bond","output"],nextState:"qd"},d:{action_:"d=",nextState:"d"},D:{action_:["output",{type_:"bond",option:"-"}],nextState:"3"},q:{action_:"d=",nextState:"qd"},qd:{action_:"d=",nextState:"qd"},"qD|dq":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},"-9":{"3|o":{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"3"}},"- orbital overlap":{o:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},d:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"}},"-":{"0|1|2":{action_:[{type_:"output",option:1},"beginsWithBond=true",{type_:"bond",option:"-"}],nextState:"3"},3:{action_:{type_:"bond",option:"-"}},a:{action_:["output",{type_:"insert",option:"hyphen"}],nextState:"2"},as:{action_:[{type_:"output",option:2},{type_:"bond",option:"-"}],nextState:"3"},b:{action_:"b="},o:{action_:{type_:"- after o/d",option:!1},nextState:"2"},q:{action_:{type_:"- after o/d",option:!1},nextState:"2"},"d|qd|dq":{action_:{type_:"- after o/d",option:!0},nextState:"2"},"D|qD|p":{action_:["output",{type_:"bond",option:"-"}],nextState:"3"}},amount2:{"1|3":{action_:"a=",nextState:"a"}},letters:{"0|1|2|3|a|as|b|p|bp|o":{action_:"o=",nextState:"o"},"q|dq":{action_:["output","o="],nextState:"o"},"d|D|qd|qD":{action_:"o after d",nextState:"o"}},digits:{o:{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},q:{action_:["output","o="],nextState:"o"},a:{action_:"o=",nextState:"o"}},"space A":{"b|p|bp":{}},space:{a:{nextState:"as"},0:{action_:"sb=false"},"1|2":{action_:"sb=true"},"r|rt|rd|rdt|rdq":{action_:"output",nextState:"0"},"*":{action_:["output","sb=true"],nextState:"1"}},"1st-level escape":{"1|2":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}]},"*":{action_:["output",{type_:"insert+p1",option:"1st-level escape"}],nextState:"0"}},"[(...)]":{"r|rt":{action_:"rd=",nextState:"rd"},"rd|rdt":{action_:"rq=",nextState:"rdq"}},"...":{"o|d|D|dq|qd|qD":{action_:["output",{type_:"bond",option:"..."}],nextState:"3"},"*":{action_:[{type_:"output",option:1},{type_:"insert",option:"ellipsis"}],nextState:"1"}},". |* ":{"*":{action_:["output",{type_:"insert",option:"addition compound"}],nextState:"1"}},"state of aggregation $":{"*":{action_:["output","state of aggregation"],nextState:"1"}},"{[(":{"a|as|o":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"0|1|2|3":{action_:["o=","output","parenthesisLevel++"],nextState:"2"},"*":{action_:["output","o=","output","parenthesisLevel++"],nextState:"2"}},")]}":{"0|1|2|3|b|p|bp|o":{action_:["o=","parenthesisLevel--"],nextState:"o"},"a|as|d|D|q|qd|qD|dq":{action_:["output","o=","parenthesisLevel--"],nextState:"o"}},", ":{"*":{action_:["output","comma"],nextState:"0"}},"^_":{"*":{}},"^{(...)}|^($...$)":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"D"},q:{action_:"d=",nextState:"qD"},"d|D|qd|qD|dq":{action_:["output","d="],nextState:"D"}},"^a|^\\x{}{}|^\\x{}|^\\x|'":{"0|1|2|as":{action_:"b=",nextState:"b"},p:{action_:"b=",nextState:"bp"},"3|o":{action_:"d= kv",nextState:"d"},q:{action_:"d=",nextState:"qd"},"d|qd|D|qD":{action_:"d="},dq:{action_:["output","d="],nextState:"d"}},"_{(state of aggregation)}$":{"d|D|q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"_{(...)}|_($...$)|_9|_\\x{}{}|_\\x{}|_\\x":{"0|1|2|as":{action_:"p=",nextState:"p"},b:{action_:"p=",nextState:"bp"},"3|o":{action_:"q=",nextState:"q"},"d|D":{action_:"q=",nextState:"dq"},"q|qd|qD|dq":{action_:["output","q="],nextState:"q"}},"=<>":{"0|1|2|3|a|as|o|q|d|D|qd|qD|dq":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"#":{"0|1|2|3|a|as|o":{action_:[{type_:"output",option:2},{type_:"bond",option:"#"}],nextState:"3"}},"{}":{"*":{action_:{type_:"output",option:1},nextState:"1"}},"{...}":{"0|1|2|3|a|as|b|p|bp":{action_:"o=",nextState:"o"},"o|d|D|q|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"$...$":{a:{action_:"a="},"0|1|2|3|as|b|p|bp|o":{action_:"o=",nextState:"o"},"as|o":{action_:"o="},"q|d|D|qd|qD|dq":{action_:["output","o="],nextState:"o"}},"\\bond{(...)}":{"*":{action_:[{type_:"output",option:2},"bond"],nextState:"3"}},"\\frac{(...)}":{"*":{action_:[{type_:"output",option:1},"frac-output"],nextState:"3"}},"\\overset{(...)}":{"*":{action_:[{type_:"output",option:2},"overset-output"],nextState:"3"}},"\\underset{(...)}":{"*":{action_:[{type_:"output",option:2},"underset-output"],nextState:"3"}},"\\underbrace{(...)}":{"*":{action_:[{type_:"output",option:2},"underbrace-output"],nextState:"3"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:[{type_:"output",option:2},"color-output"],nextState:"3"}},"\\color{(...)}0":{"*":{action_:[{type_:"output",option:2},"color0-output"]}},"\\ce{(...)}":{"*":{action_:[{type_:"output",option:2},"ce"],nextState:"3"}},"\\,":{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"1"}},"\\x{}{}|\\x{}|\\x":{"0|1|2|3|a|as|b|p|bp|o|c0":{action_:["o=","output"],nextState:"3"},"*":{action_:["output","o=","output"],nextState:"3"}},others:{"*":{action_:[{type_:"output",option:1},"copy"],nextState:"3"}},else2:{a:{action_:"a to o",nextState:"o",revisit:!0},as:{action_:["output","sb=true"],nextState:"1",revisit:!0},"r|rt|rd|rdt|rdq":{action_:["output"],nextState:"0",revisit:!0},"*":{action_:["output","copy"],nextState:"3"}}}),actions:{"o after d":function(buffer,m){var ret;if((buffer.d||"").match(/^[0-9]+$/)){var tmp=buffer.d;buffer.d=void 0,ret=this.output(buffer),buffer.b=tmp}else ret=this.output(buffer);return mhchemParser.actions["o="](buffer,m),ret},"d= kv":function(buffer,m){buffer.d=m,buffer.dType="kv"},"charge or bond":function(buffer,m){if(buffer.beginsWithBond){var ret=[];return mhchemParser.concatArray(ret,this.output(buffer)),mhchemParser.concatArray(ret,mhchemParser.actions.bond(buffer,m,"-")),ret}else buffer.d=m},"- after o/d":function(buffer,m,isAfterD){var c1=mhchemParser.patterns.match_("orbital",buffer.o||""),c2=mhchemParser.patterns.match_("one lowercase greek letter $",buffer.o||""),c3=mhchemParser.patterns.match_("one lowercase latin letter $",buffer.o||""),c4=mhchemParser.patterns.match_("$one lowercase latin letter$ $",buffer.o||""),hyphenFollows=m==="-"&&(c1&&c1.remainder===""||c2||c3||c4);hyphenFollows&&!buffer.a&&!buffer.b&&!buffer.p&&!buffer.d&&!buffer.q&&!c1&&c3&&(buffer.o="$"+buffer.o+"$");var ret=[];return hyphenFollows?(mhchemParser.concatArray(ret,this.output(buffer)),ret.push({type_:"hyphen"})):(c1=mhchemParser.patterns.match_("digits",buffer.d||""),isAfterD&&c1&&c1.remainder===""?(mhchemParser.concatArray(ret,mhchemParser.actions["d="](buffer,m)),mhchemParser.concatArray(ret,this.output(buffer))):(mhchemParser.concatArray(ret,this.output(buffer)),mhchemParser.concatArray(ret,mhchemParser.actions.bond(buffer,m,"-")))),ret},"a to o":function(buffer){buffer.o=buffer.a,buffer.a=void 0},"sb=true":function(buffer){buffer.sb=!0},"sb=false":function(buffer){buffer.sb=!1},"beginsWithBond=true":function(buffer){buffer.beginsWithBond=!0},"beginsWithBond=false":function(buffer){buffer.beginsWithBond=!1},"parenthesisLevel++":function(buffer){buffer.parenthesisLevel++},"parenthesisLevel--":function(buffer){buffer.parenthesisLevel--},"state of aggregation":function(buffer,m){return{type_:"state of aggregation",p1:mhchemParser.go(m,"o")}},comma:function(buffer,m){var a=m.replace(/\s*$/,""),withSpace=a!==m;return withSpace&&buffer.parenthesisLevel===0?{type_:"comma enumeration L",p1:a}:{type_:"comma enumeration M",p1:a}},output:function(buffer,m,entityFollows){var ret;if(!buffer.r)ret=[],!buffer.a&&!buffer.b&&!buffer.p&&!buffer.o&&!buffer.q&&!buffer.d&&!entityFollows||(buffer.sb&&ret.push({type_:"entitySkip"}),!buffer.o&&!buffer.q&&!buffer.d&&!buffer.b&&!buffer.p&&entityFollows!==2?(buffer.o=buffer.a,buffer.a=void 0):!buffer.o&&!buffer.q&&!buffer.d&&(buffer.b||buffer.p)?(buffer.o=buffer.a,buffer.d=buffer.b,buffer.q=buffer.p,buffer.a=buffer.b=buffer.p=void 0):buffer.o&&buffer.dType==="kv"&&mhchemParser.patterns.match_("d-oxidation$",buffer.d||"")?buffer.dType="oxidation":buffer.o&&buffer.dType==="kv"&&!buffer.q&&(buffer.dType=void 0),ret.push({type_:"chemfive",a:mhchemParser.go(buffer.a,"a"),b:mhchemParser.go(buffer.b,"bd"),p:mhchemParser.go(buffer.p,"pq"),o:mhchemParser.go(buffer.o,"o"),q:mhchemParser.go(buffer.q,"pq"),d:mhchemParser.go(buffer.d,buffer.dType==="oxidation"?"oxidation":"bd"),dType:buffer.dType}));else{var rd;buffer.rdt==="M"?rd=mhchemParser.go(buffer.rd,"tex-math"):buffer.rdt==="T"?rd=[{type_:"text",p1:buffer.rd||""}]:rd=mhchemParser.go(buffer.rd);var rq;buffer.rqt==="M"?rq=mhchemParser.go(buffer.rq,"tex-math"):buffer.rqt==="T"?rq=[{type_:"text",p1:buffer.rq||""}]:rq=mhchemParser.go(buffer.rq),ret={type_:"arrow",r:buffer.r,rd,rq}}for(var p in buffer)p!=="parenthesisLevel"&&p!=="beginsWithBond"&&delete buffer[p];return ret},"oxidation-output":function(buffer,m){var ret=["{"];return mhchemParser.concatArray(ret,mhchemParser.go(m,"oxidation")),ret.push("}"),ret},"frac-output":function(buffer,m){return{type_:"frac-ce",p1:mhchemParser.go(m[0]),p2:mhchemParser.go(m[1])}},"overset-output":function(buffer,m){return{type_:"overset",p1:mhchemParser.go(m[0]),p2:mhchemParser.go(m[1])}},"underset-output":function(buffer,m){return{type_:"underset",p1:mhchemParser.go(m[0]),p2:mhchemParser.go(m[1])}},"underbrace-output":function(buffer,m){return{type_:"underbrace",p1:mhchemParser.go(m[0]),p2:mhchemParser.go(m[1])}},"color-output":function(buffer,m){return{type_:"color",color1:m[0],color2:mhchemParser.go(m[1])}},"r=":function(buffer,m){buffer.r=m},"rdt=":function(buffer,m){buffer.rdt=m},"rd=":function(buffer,m){buffer.rd=m},"rqt=":function(buffer,m){buffer.rqt=m},"rq=":function(buffer,m){buffer.rq=m},operator:function(buffer,m,p1){return{type_:"operator",kind_:p1||m}}}},a:{transitions:mhchemParser.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},"$(...)$":{"*":{action_:"tex-math tight",nextState:"1"}},",":{"*":{action_:{type_:"insert",option:"commaDecimal"}}},else2:{"*":{action_:"copy"}}}),actions:{}},o:{transitions:mhchemParser.createTransitions({empty:{"*":{}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"1",revisit:!0}},letters:{"*":{action_:"rm"}},"\\ca":{"*":{action_:{type_:"insert",option:"circa"}}},"\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"{text}"}},else2:{"*":{action_:"copy"}}}),actions:{}},text:{transitions:mhchemParser.createTransitions({empty:{"*":{action_:"output"}},"{...}":{"*":{action_:"text="}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"\\greek":{"*":{action_:["output","rm"]}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:["output","copy"]}},else:{"*":{action_:"text="}}}),actions:{output:function(buffer){if(buffer.text_){var ret={type_:"text",p1:buffer.text_};for(var p in buffer)delete buffer[p];return ret}}}},pq:{transitions:mhchemParser.createTransitions({empty:{"*":{}},"state of aggregation $":{"*":{action_:"state of aggregation"}},i$:{0:{nextState:"!f",revisit:!0}},"(KV letters),":{0:{action_:"rm",nextState:"0"}},formula$:{0:{nextState:"f",revisit:!0}},"1/2$":{0:{action_:"1/2"}},else:{0:{nextState:"!f",revisit:!0}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"a-z":{f:{action_:"tex-math"}},letters:{"*":{action_:"rm"}},"-9.,9":{"*":{action_:"9,9"}},",":{"*":{action_:{type_:"insert+p1",option:"comma enumeration S"}}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"state of aggregation":function(buffer,m){return{type_:"state of aggregation subscript",p1:mhchemParser.go(m,"o")}},"color-output":function(buffer,m){return{type_:"color",color1:m[0],color2:mhchemParser.go(m[1],"pq")}}}},bd:{transitions:mhchemParser.createTransitions({empty:{"*":{}},x$:{0:{nextState:"!f",revisit:!0}},formula$:{0:{nextState:"f",revisit:!0}},else:{0:{nextState:"!f",revisit:!0}},"-9.,9 no missing 0":{"*":{action_:"9,9"}},".":{"*":{action_:{type_:"insert",option:"electron dot"}}},"a-z":{f:{action_:"tex-math"}},x:{"*":{action_:{type_:"insert",option:"KV x"}}},letters:{"*":{action_:"rm"}},"'":{"*":{action_:{type_:"insert",option:"prime"}}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},"{(...)}":{"*":{action_:"text"}},"\\color{(...)}{(...)}1|\\color(...){(...)}2":{"*":{action_:"color-output"}},"\\color{(...)}0":{"*":{action_:"color0-output"}},"\\ce{(...)}":{"*":{action_:"ce"}},"\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"copy"}},else2:{"*":{action_:"copy"}}}),actions:{"color-output":function(buffer,m){return{type_:"color",color1:m[0],color2:mhchemParser.go(m[1],"bd")}}}},oxidation:{transitions:mhchemParser.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(buffer,m){return{type_:"roman numeral",p1:m||""}}}},"tex-math":{transitions:mhchemParser.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(buffer){if(buffer.o){var ret={type_:"tex-math",p1:buffer.o};for(var p in buffer)delete buffer[p];return ret}}}},"tex-math tight":{transitions:mhchemParser.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(buffer,m){buffer.o=(buffer.o||"")+"{"+m+"}"},output:function(buffer){if(buffer.o){var ret={type_:"tex-math",p1:buffer.o};for(var p in buffer)delete buffer[p];return ret}}}},"9,9":{transitions:mhchemParser.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:mhchemParser.createTransitions({empty:{"*":{action_:"output"}},space$:{"*":{action_:["output","space"]}},"{[(|)]}":{"0|a":{action_:"copy"}},"(-)(9)^(-9)":{0:{action_:"number^",nextState:"a"}},"(-)(9.,9)(e)(99)":{0:{action_:"enumber",nextState:"a"}},space:{"0|a":{}},"pm-operator":{"0|a":{action_:{type_:"operator",option:"\\pm"},nextState:"0"}},operator:{"0|a":{action_:"copy",nextState:"0"}},"//":{d:{action_:"o=",nextState:"/"}},"/":{d:{action_:"o=",nextState:"/"}},"{...}|else":{"0|d":{action_:"d=",nextState:"d"},a:{action_:["space","d="],nextState:"d"},"/|q":{action_:"q=",nextState:"q"}}}),actions:{enumber:function(buffer,m){var ret=[];return m[0]==="+-"||m[0]==="+/-"?ret.push("\\pm "):m[0]&&ret.push(m[0]),m[1]&&(mhchemParser.concatArray(ret,mhchemParser.go(m[1],"pu-9,9")),m[2]&&(m[2].match(/[,.]/)?mhchemParser.concatArray(ret,mhchemParser.go(m[2],"pu-9,9")):ret.push(m[2])),m[3]=m[4]||m[3],m[3]&&(m[3]=m[3].trim(),m[3]==="e"||m[3].substr(0,1)==="*"?ret.push({type_:"cdot"}):ret.push({type_:"times"}))),m[3]&&ret.push("10^{"+m[5]+"}"),ret},"number^":function(buffer,m){var ret=[];return m[0]==="+-"||m[0]==="+/-"?ret.push("\\pm "):m[0]&&ret.push(m[0]),mhchemParser.concatArray(ret,mhchemParser.go(m[1],"pu-9,9")),ret.push("^{"+m[2]+"}"),ret},operator:function(buffer,m,p1){return{type_:"operator",kind_:p1||m}},space:function(){return{type_:"pu-space-1"}},output:function(buffer){var ret,md=mhchemParser.patterns.match_("{(...)}",buffer.d||"");md&&md.remainder===""&&(buffer.d=md.match_);var mq=mhchemParser.patterns.match_("{(...)}",buffer.q||"");if(mq&&mq.remainder===""&&(buffer.q=mq.match_),buffer.d&&(buffer.d=buffer.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),buffer.d=buffer.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),buffer.q){buffer.q=buffer.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),buffer.q=buffer.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var b5={d:mhchemParser.go(buffer.d,"pu"),q:mhchemParser.go(buffer.q,"pu")};buffer.o==="//"?ret={type_:"pu-frac",p1:b5.d,p2:b5.q}:(ret=b5.d,b5.d.length>1||b5.q.length>1?ret.push({type_:" / "}):ret.push({type_:"/"}),mhchemParser.concatArray(ret,b5.q))}else ret=mhchemParser.go(buffer.d,"pu-2");for(var p in buffer)delete buffer[p];return ret}}},"pu-2":{transitions:mhchemParser.createTransitions({empty:{"*":{action_:"output"}},"*":{"*":{action_:["output","cdot"],nextState:"0"}},"\\x":{"*":{action_:"rm="}},space:{"*":{action_:["output","space"],nextState:"0"}},"^{(...)}|^(-1)":{1:{action_:"^(-1)"}},"-9.,9":{0:{action_:"rm=",nextState:"0"},1:{action_:"^(-1)",nextState:"0"}},"{...}|else":{"*":{action_:"rm=",nextState:"1"}}}),actions:{cdot:function(){return{type_:"tight cdot"}},"^(-1)":function(buffer,m){buffer.rm+="^{"+m+"}"},space:function(){return{type_:"pu-space-2"}},output:function(buffer){var ret=[];if(buffer.rm){var mrm=mhchemParser.patterns.match_("{(...)}",buffer.rm||"");mrm&&mrm.remainder===""?ret=mhchemParser.go(mrm.match_,"pu"):ret={type_:"rm",p1:buffer.rm}}for(var p in buffer)delete buffer[p];return ret}}},"pu-9,9":{transitions:mhchemParser.createTransitions({empty:{0:{action_:"output-0"},o:{action_:"output-o"}},",":{0:{action_:["output-0","comma"],nextState:"o"}},".":{0:{action_:["output-0","copy"],nextState:"o"}},else:{"*":{action_:"text="}}}),actions:{comma:function(){return{type_:"commaDecimal"}},"output-0":function(buffer){var ret=[];if(buffer.text_=buffer.text_||"",buffer.text_.length>4){var a=buffer.text_.length%3;a===0&&(a=3);for(var i=buffer.text_.length-3;i>0;i-=3)ret.push(buffer.text_.substr(i,3)),ret.push({type_:"1000 separator"});ret.push(buffer.text_.substr(0,a)),ret.reverse()}else ret.push(buffer.text_);for(var p in buffer)delete buffer[p];return ret},"output-o":function(buffer){var ret=[];if(buffer.text_=buffer.text_||"",buffer.text_.length>4){for(var a=buffer.text_.length-3,i=0;i<a;i+=3)ret.push(buffer.text_.substr(i,3)),ret.push({type_:"1000 separator"});ret.push(buffer.text_.substr(i))}else ret.push(buffer.text_);for(var p in buffer)delete buffer[p];return ret}}}};var texify={go:function(input,isInner){if(!input)return"";for(var res="",cee=!1,i=0;i<input.length;i++){var inputi=input[i];typeof inputi=="string"?res+=inputi:(res+=texify._go2(inputi),inputi.type_==="1st-level escape"&&(cee=!0))}return!isInner&&!cee&&res&&(res="{"+res+"}"),res},_goInner:function(input){return input&&texify.go(input,!0)},_go2:function(buf){var res;switch(buf.type_){case"chemfive":res="";var b5={a:texify._goInner(buf.a),b:texify._goInner(buf.b),p:texify._goInner(buf.p),o:texify._goInner(buf.o),q:texify._goInner(buf.q),d:texify._goInner(buf.d)};b5.a&&(b5.a.match(/^[+\-]/)&&(b5.a="{"+b5.a+"}"),res+=b5.a+"\\,"),(b5.b||b5.p)&&(res+="{\\vphantom{X}}",res+="^{\\hphantom{"+(b5.b||"")+"}}_{\\hphantom{"+(b5.p||"")+"}}",res+="{\\vphantom{X}}",res+="^{\\vphantom{2}\\mathllap{"+(b5.b||"")+"}}",res+="_{\\vphantom{2}\\mathllap{"+(b5.p||"")+"}}"),b5.o&&(b5.o.match(/^[+\-]/)&&(b5.o="{"+b5.o+"}"),res+=b5.o),buf.dType==="kv"?((b5.d||b5.q)&&(res+="{\\vphantom{X}}"),b5.d&&(res+="^{"+b5.d+"}"),b5.q&&(res+="_{"+b5.q+"}")):buf.dType==="oxidation"?(b5.d&&(res+="{\\vphantom{X}}",res+="^{"+b5.d+"}"),b5.q&&(res+="{{}}",res+="_{"+b5.q+"}")):(b5.q&&(res+="{{}}",res+="_{"+b5.q+"}"),b5.d&&(res+="{{}}",res+="^{"+b5.d+"}"));break;case"rm":res="\\mathrm{"+buf.p1+"}";break;case"text":buf.p1.match(/[\^_]/)?(buf.p1=buf.p1.replace(" ","~").replace("-","\\text{-}"),res="\\mathrm{"+buf.p1+"}"):res="\\text{"+buf.p1+"}";break;case"roman numeral":res="\\mathrm{"+buf.p1+"}";break;case"state of aggregation":res="\\mskip2mu "+texify._goInner(buf.p1);break;case"state of aggregation subscript":res="\\mskip1mu "+texify._goInner(buf.p1);break;case"bond":if(res=texify._getBond(buf.kind_),!res)throw["MhchemErrorBond","mhchem Error. Unknown bond type ("+buf.kind_+")"];break;case"frac":var c="\\frac{"+buf.p1+"}{"+buf.p2+"}";res="\\mathchoice{\\textstyle"+c+"}{"+c+"}{"+c+"}{"+c+"}";break;case"pu-frac":var d="\\frac{"+texify._goInner(buf.p1)+"}{"+texify._goInner(buf.p2)+"}";res="\\mathchoice{\\textstyle"+d+"}{"+d+"}{"+d+"}{"+d+"}";break;case"tex-math":res=buf.p1+" ";break;case"frac-ce":res="\\frac{"+texify._goInner(buf.p1)+"}{"+texify._goInner(buf.p2)+"}";break;case"overset":res="\\overset{"+texify._goInner(buf.p1)+"}{"+texify._goInner(buf.p2)+"}";break;case"underset":res="\\underset{"+texify._goInner(buf.p1)+"}{"+texify._goInner(buf.p2)+"}";break;case"underbrace":res="\\underbrace{"+texify._goInner(buf.p1)+"}_{"+texify._goInner(buf.p2)+"}";break;case"color":res="{\\color{"+buf.color1+"}{"+texify._goInner(buf.color2)+"}}";break;case"color0":res="\\color{"+buf.color+"}";break;case"arrow":var b6={rd:texify._goInner(buf.rd),rq:texify._goInner(buf.rq)},arrow=texify._getArrow(buf.r);b6.rq&&(arrow+="[{\\rm "+b6.rq+"}]"),b6.rd?arrow+="{\\rm "+b6.rd+"}":arrow+="{}",res=arrow;break;case"operator":res=texify._getOperator(buf.kind_);break;case"1st-level escape":res=buf.p1+" ";break;case"space":res=" ";break;case"entitySkip":res="~";break;case"pu-space-1":res="~";break;case"pu-space-2":res="\\mkern3mu ";break;case"1000 separator":res="\\mkern2mu ";break;case"commaDecimal":res="{,}";break;case"comma enumeration L":res="{"+buf.p1+"}\\mkern6mu ";break;case"comma enumeration M":res="{"+buf.p1+"}\\mkern3mu ";break;case"comma enumeration S":res="{"+buf.p1+"}\\mkern1mu ";break;case"hyphen":res="\\text{-}";break;case"addition compound":res="\\,{\\cdot}\\,";break;case"electron dot":res="\\mkern1mu \\text{\\textbullet}\\mkern1mu ";break;case"KV x":res="{\\times}";break;case"prime":res="\\prime ";break;case"cdot":res="\\cdot ";break;case"tight cdot":res="\\mkern1mu{\\cdot}\\mkern1mu ";break;case"times":res="\\times ";break;case"circa":res="{\\sim}";break;case"^":res="uparrow";break;case"v":res="downarrow";break;case"ellipsis":res="\\ldots ";break;case"/":res="/";break;case" / ":res="\\,/\\,";break;default:throw["MhchemBugT","mhchem bug T. Please report."]}return res},_getArrow:function(a){switch(a){case"->":return"\\yields";case"\u2192":return"\\yields";case"\u27F6":return"\\yields";case"<-":return"\\yieldsLeft";case"<->":return"\\mesomerism";case"<-->":return"\\yieldsLeftRight";case"<=>":return"\\chemequilibrium";case"\u21CC":return"\\chemequilibrium";case"<=>>":return"\\equilibriumRight";case"<<=>":return"\\equilibriumLeft";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(a){switch(a){case"-":return"{-}";case"1":return"{-}";case"=":return"{=}";case"2":return"{=}";case"#":return"{\\equiv}";case"3":return"{\\equiv}";case"~":return"{\\tripleDash}";case"~-":return"{\\tripleDashOverLine}";case"~=":return"{\\tripleDashOverDoubleLine}";case"~--":return"{\\tripleDashOverDoubleLine}";case"-~-":return"{\\tripleDashBetweenDoubleLine}";case"...":return"{{\\cdot}{\\cdot}{\\cdot}}";case"....":return"{{\\cdot}{\\cdot}{\\cdot}{\\cdot}}";case"->":return"{\\rightarrow}";case"<-":return"{\\leftarrow}";case"<":return"{<}";case">":return"{>}";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getOperator:function(a){switch(a){case"+":return" {}+{} ";case"-":return" {}-{} ";case"=":return" {}={} ";case"<":return" {}<{} ";case">":return" {}>{} ";case"<<":return" {}\\ll{} ";case">>":return" {}\\gg{} ";case"\\pm":return" {}\\pm{} ";case"\\approx":return" {}\\approx{} ";case"$\\approx$":return" {}\\approx{} ";case"v":return" \\downarrow{} ";case"(v)":return" \\downarrow{} ";case"^":return" \\uparrow{} ";case"(^)":return" \\uparrow{} ";default:throw["MhchemBugT","mhchem bug T. Please report."]}}};defineMacro("\\darr","\\downarrow");defineMacro("\\dArr","\\Downarrow");defineMacro("\\Darr","\\Downarrow");defineMacro("\\lang","\\langle");defineMacro("\\rang","\\rangle");defineMacro("\\uarr","\\uparrow");defineMacro("\\uArr","\\Uparrow");defineMacro("\\Uarr","\\Uparrow");defineMacro("\\N","\\mathbb{N}");defineMacro("\\R","\\mathbb{R}");defineMacro("\\Z","\\mathbb{Z}");defineMacro("\\alef","\\aleph");defineMacro("\\alefsym","\\aleph");defineMacro("\\bull","\\bullet");defineMacro("\\clubs","\\clubsuit");defineMacro("\\cnums","\\mathbb{C}");defineMacro("\\Complex","\\mathbb{C}");defineMacro("\\Dagger","\\ddagger");defineMacro("\\diamonds","\\diamondsuit");defineMacro("\\empty","\\emptyset");defineMacro("\\exist","\\exists");defineMacro("\\harr","\\leftrightarrow");defineMacro("\\hArr","\\Leftrightarrow");defineMacro("\\Harr","\\Leftrightarrow");defineMacro("\\hearts","\\heartsuit");defineMacro("\\image","\\Im");defineMacro("\\infin","\\infty");defineMacro("\\isin","\\in");defineMacro("\\larr","\\leftarrow");defineMacro("\\lArr","\\Leftarrow");defineMacro("\\Larr","\\Leftarrow");defineMacro("\\lrarr","\\leftrightarrow");defineMacro("\\lrArr","\\Leftrightarrow");defineMacro("\\Lrarr","\\Leftrightarrow");defineMacro("\\natnums","\\mathbb{N}");defineMacro("\\plusmn","\\pm");defineMacro("\\rarr","\\rightarrow");defineMacro("\\rArr","\\Rightarrow");defineMacro("\\Rarr","\\Rightarrow");defineMacro("\\real","\\Re");defineMacro("\\reals","\\mathbb{R}");defineMacro("\\Reals","\\mathbb{R}");defineMacro("\\sdot","\\cdot");defineMacro("\\sect","\\S");defineMacro("\\spades","\\spadesuit");defineMacro("\\sub","\\subset");defineMacro("\\sube","\\subseteq");defineMacro("\\supe","\\supseteq");defineMacro("\\thetasym","\\vartheta");defineMacro("\\weierp","\\wp");defineMacro("\\quantity","{\\left\\{ #1 \\right\\}}");defineMacro("\\qty","{\\left\\{ #1 \\right\\}}");defineMacro("\\pqty","{\\left( #1 \\right)}");defineMacro("\\bqty","{\\left[ #1 \\right]}");defineMacro("\\vqty","{\\left\\vert #1 \\right\\vert}");defineMacro("\\Bqty","{\\left\\{ #1 \\right\\}}");defineMacro("\\absolutevalue","{\\left\\vert #1 \\right\\vert}");defineMacro("\\abs","{\\left\\vert #1 \\right\\vert}");defineMacro("\\norm","{\\left\\Vert #1 \\right\\Vert}");defineMacro("\\evaluated","{\\left.#1 \\right\\vert}");defineMacro("\\eval","{\\left.#1 \\right\\vert}");defineMacro("\\order","{\\mathcal{O} \\left( #1 \\right)}");defineMacro("\\commutator","{\\left[ #1 , #2 \\right]}");defineMacro("\\comm","{\\left[ #1 , #2 \\right]}");defineMacro("\\anticommutator","{\\left\\{ #1 , #2 \\right\\}}");defineMacro("\\acomm","{\\left\\{ #1 , #2 \\right\\}}");defineMacro("\\poissonbracket","{\\left\\{ #1 , #2 \\right\\}}");defineMacro("\\pb","{\\left\\{ #1 , #2 \\right\\}}");defineMacro("\\vectorbold","{\\boldsymbol{ #1 }}");defineMacro("\\vb","{\\boldsymbol{ #1 }}");defineMacro("\\vectorarrow","{\\vec{\\boldsymbol{ #1 }}}");defineMacro("\\va","{\\vec{\\boldsymbol{ #1 }}}");defineMacro("\\vectorunit","{{\\boldsymbol{\\hat{ #1 }}}}");defineMacro("\\vu","{{\\boldsymbol{\\hat{ #1 }}}}");defineMacro("\\dotproduct","\\mathbin{\\boldsymbol\\cdot}");defineMacro("\\vdot","{\\boldsymbol\\cdot}");defineMacro("\\crossproduct","\\mathbin{\\boldsymbol\\times}");defineMacro("\\cross","\\mathbin{\\boldsymbol\\times}");defineMacro("\\cp","\\mathbin{\\boldsymbol\\times}");defineMacro("\\gradient","{\\boldsymbol\\nabla}");defineMacro("\\grad","{\\boldsymbol\\nabla}");defineMacro("\\divergence","{\\grad\\vdot}");defineMacro("\\curl","{\\grad\\cross}");defineMacro("\\laplacian","\\nabla^2");defineMacro("\\tr","{\\operatorname{tr}}");defineMacro("\\Tr","{\\operatorname{Tr}}");defineMacro("\\rank","{\\operatorname{rank}}");defineMacro("\\erf","{\\operatorname{erf}}");defineMacro("\\Res","{\\operatorname{Res}}");defineMacro("\\principalvalue","{\\mathcal{P}}");defineMacro("\\pv","{\\mathcal{P}}");defineMacro("\\PV","{\\operatorname{P.V.}}");defineMacro("\\qqtext","{\\quad\\text{ #1 }\\quad}");defineMacro("\\qq","{\\quad\\text{ #1 }\\quad}");defineMacro("\\qcomma","{\\text{,}\\quad}");defineMacro("\\qc","{\\text{,}\\quad}");defineMacro("\\qcc","{\\quad\\text{c.c.}\\quad}");defineMacro("\\qif","{\\quad\\text{if}\\quad}");defineMacro("\\qthen","{\\quad\\text{then}\\quad}");defineMacro("\\qelse","{\\quad\\text{else}\\quad}");defineMacro("\\qotherwise","{\\quad\\text{otherwise}\\quad}");defineMacro("\\qunless","{\\quad\\text{unless}\\quad}");defineMacro("\\qgiven","{\\quad\\text{given}\\quad}");defineMacro("\\qusing","{\\quad\\text{using}\\quad}");defineMacro("\\qassume","{\\quad\\text{assume}\\quad}");defineMacro("\\qsince","{\\quad\\text{since}\\quad}");defineMacro("\\qlet","{\\quad\\text{let}\\quad}");defineMacro("\\qfor","{\\quad\\text{for}\\quad}");defineMacro("\\qall","{\\quad\\text{all}\\quad}");defineMacro("\\qeven","{\\quad\\text{even}\\quad}");defineMacro("\\qodd","{\\quad\\text{odd}\\quad}");defineMacro("\\qinteger","{\\quad\\text{integer}\\quad}");defineMacro("\\qand","{\\quad\\text{and}\\quad}");defineMacro("\\qor","{\\quad\\text{or}\\quad}");defineMacro("\\qas","{\\quad\\text{as}\\quad}");defineMacro("\\qin","{\\quad\\text{in}\\quad}");defineMacro("\\differential","{\\text{d}}");defineMacro("\\dd","{\\text{d}}");defineMacro("\\derivative","{\\frac{\\text{d}{ #1 }}{\\text{d}{ #2 }}}");defineMacro("\\dv","{\\frac{\\text{d}{ #1 }}{\\text{d}{ #2 }}}");defineMacro("\\partialderivative","{\\frac{\\partial{ #1 }}{\\partial{ #2 }}}");defineMacro("\\variation","{\\delta}");defineMacro("\\var","{\\delta}");defineMacro("\\functionalderivative","{\\frac{\\delta{ #1 }}{\\delta{ #2 }}}");defineMacro("\\fdv","{\\frac{\\delta{ #1 }}{\\delta{ #2 }}}");defineMacro("\\innerproduct","{\\left\\langle {#1} \\mid { #2} \\right\\rangle}");defineMacro("\\outerproduct","{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}");defineMacro("\\dyad","{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}");defineMacro("\\ketbra","{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}");defineMacro("\\op","{\\left\\vert { #1 } \\right\\rangle\\left\\langle { #2} \\right\\vert}");defineMacro("\\expectationvalue","{\\left\\langle {#1 } \\right\\rangle}");defineMacro("\\expval","{\\left\\langle {#1 } \\right\\rangle}");defineMacro("\\ev","{\\left\\langle {#1 } \\right\\rangle}");defineMacro("\\matrixelement","{\\left\\langle{ #1 }\\right\\vert{ #2 }\\left\\vert{#3}\\right\\rangle}");defineMacro("\\matrixel","{\\left\\langle{ #1 }\\right\\vert{ #2 }\\left\\vert{#3}\\right\\rangle}");defineMacro("\\mel","{\\left\\langle{ #1 }\\right\\vert{ #2 }\\left\\vert{#3}\\right\\rangle}");function getHLines(parser){let hlineInfo=[];parser.consumeSpaces();let nxt=parser.fetch().text;for(nxt==="\\relax"&&(parser.consume(),parser.consumeSpaces(),nxt=parser.fetch().text);nxt==="\\hline"||nxt==="\\hdashline";)parser.consume(),hlineInfo.push(nxt==="\\hdashline"),parser.consumeSpaces(),nxt=parser.fetch().text;return hlineInfo}var validateAmsEnvironmentContext=context=>{if(!context.parser.settings.displayMode)throw new ParseError(`{${context.envName}} can be used only in display mode.`)},sizeRegEx$1=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/,arrayGaps=macros2=>{let arraystretch=macros2.get("\\arraystretch");typeof arraystretch!="string"&&(arraystretch=stringFromArg(arraystretch.tokens)),arraystretch=isNaN(arraystretch)?null:Number(arraystretch);let arraycolsepStr=macros2.get("\\arraycolsep");typeof arraycolsepStr!="string"&&(arraycolsepStr=stringFromArg(arraycolsepStr.tokens));let match=sizeRegEx$1.exec(arraycolsepStr),arraycolsep=match?{number:+(match[1]+match[2]),unit:match[3]}:null;return[arraystretch,arraycolsep]},checkCellForLabels=cell=>{let rowLabel="";for(let i=0;i<cell.length;i++)if(cell[i].type==="label"){if(rowLabel)throw new ParseError("Multiple \\labels in one row");rowLabel=cell[i].string}return rowLabel};function getAutoTag(name){if(name.indexOf("ed")===-1)return name.indexOf("*")===-1}function parseArray(parser,{cols,envClasses,autoTag,singleRow,emptySingleRow,maxNumCols,leqno,arraystretch,arraycolsep},scriptLevel2){let endToken=envClasses&&envClasses.includes("bordermatrix")?"}":"\\end";parser.gullet.beginGroup(),singleRow||parser.gullet.macros.set("\\cr","\\\\\\relax"),parser.gullet.beginGroup();let row=[],body=[row],rowGaps=[],labels=[],hLinesBeforeRow=[],tags=autoTag!=null?[]:void 0;function beginRow(){autoTag&&parser.gullet.macros.set("\\@eqnsw","1",!0)}function endRow(){tags&&(parser.gullet.macros.get("\\df@tag")?(tags.push(parser.subparse([new Token("\\df@tag")])),parser.gullet.macros.set("\\df@tag",void 0,!0)):tags.push(!!autoTag&&parser.gullet.macros.get("\\@eqnsw")==="1"))}for(beginRow(),hLinesBeforeRow.push(getHLines(parser));;){let cell=parser.parseExpression(!1,singleRow?"\\end":"\\\\");parser.gullet.endGroup(),parser.gullet.beginGroup(),cell={type:"ordgroup",mode:parser.mode,body:cell,semisimple:!0},row.push(cell);let next=parser.fetch().text;if(next==="&"){if(maxNumCols&&row.length===maxNumCols)if(envClasses.includes("array")){if(parser.settings.strict)throw new ParseError("Too few columns specified in the {array} column argument.",parser.nextToken)}else throw maxNumCols===2?new ParseError("The split environment accepts no more than two columns",parser.nextToken):new ParseError("The equation environment accepts only one column",parser.nextToken);parser.consume()}else if(next===endToken){endRow(),row.length===1&&cell.body.length===0&&(body.length>1||!emptySingleRow)&&body.pop(),labels.push(checkCellForLabels(cell.body)),hLinesBeforeRow.length<body.length+1&&hLinesBeforeRow.push([]);break}else if(next==="\\\\"){parser.consume();let size;parser.gullet.future().text!==" "&&(size=parser.parseSizeGroup(!0)),rowGaps.push(size?size.value:null),endRow(),labels.push(checkCellForLabels(cell.body)),hLinesBeforeRow.push(getHLines(parser)),row=[],body.push(row),beginRow()}else throw new ParseError("Expected & or \\\\ or \\cr or "+endToken,parser.nextToken)}return parser.gullet.endGroup(),parser.gullet.endGroup(),{type:"array",mode:parser.mode,body,cols,rowGaps,hLinesBeforeRow,envClasses,autoTag,scriptLevel:scriptLevel2,tags,labels,leqno,arraystretch,arraycolsep}}function dCellStyle(envName){return envName.slice(0,1)==="d"?"display":"text"}var alignMap={c:"center ",l:"left ",r:"right "},glue=group=>{let glueNode=new MathNode("mtd",[]);return glueNode.style={padding:"0",width:"50%"},group.envClasses.includes("multline")&&(glueNode.style.width="7.5%"),glueNode},mathmlBuilder$9=function(group,style){let tbl=[],numRows=group.body.length,hlines=group.hLinesBeforeRow,tagIsPresent=group.tags&&group.tags.some(tag=>tag);for(let i=0;i<numRows;i++){let rw=group.body[i],row=[],cellLevel=group.scriptLevel==="text"?StyleLevel.TEXT:group.scriptLevel==="script"?StyleLevel.SCRIPT:StyleLevel.DISPLAY;for(let j=0;j<rw.length;j++){let mtd=new MathNode("mtd",[buildGroup$1(rw[j],style.withLevel(cellLevel))]);if(group.envClasses.includes("multline")){let align=i===0?"left":i===numRows-1?"right":"center";align!=="center"&&mtd.classes.push("tml-"+align)}row.push(mtd)}let numColumns=group.body[0].length;for(let k=0;k<numColumns-rw.length;k++)row.push(new MathNode("mtd",[],[],style));if(tagIsPresent){let tag=group.tags[i],tagElement;tag===!0?tagElement=new MathNode("mtext",[new Span(["tml-eqn"])]):tag===!1?tagElement=new MathNode("mtext",[],[]):(tagElement=buildExpressionRow(tag[0].body,style.withLevel(cellLevel),!0),tagElement=consolidateText(tagElement),tagElement.classes=["tml-tag"]),tagElement&&(row.unshift(glue(group)),row.push(glue(group)),group.leqno?row[0].children.push(tagElement):row[row.length-1].children.push(tagElement))}let mtr=new MathNode("mtr",row,[]),label=group.labels.shift();label&&group.tags&&group.tags[i]&&(mtr.setAttribute("id",label),Array.isArray(group.tags[i])&&mtr.classes.push("tml-tageqn")),i===0&&hlines[0].length>0&&(hlines[0].length===2?mtr.children.forEach(cell=>{cell.style.borderTop="0.15em double"}):mtr.children.forEach(cell=>{cell.style.borderTop=hlines[0][0]?"0.06em dashed":"0.06em solid"})),hlines[i+1].length>0&&(hlines[i+1].length===2?mtr.children.forEach(cell=>{cell.style.borderBottom="0.15em double"}):mtr.children.forEach(cell=>{cell.style.borderBottom=hlines[i+1][0]?"0.06em dashed":"0.06em solid"}));let mustSquashRow=!0;for(let j=0;j<mtr.children.length;j++){let child=mtr.children[j].children[0];if(!(child&&child.type==="mpadded"&&child.attributes.height==="0px")){mustSquashRow=!1;break}}if(mustSquashRow){mtr.classes.push("ff-squash");for(let j=0;j<mtr.children.length;j++)mtr.children[j].style.paddingTop="0",mtr.children[j].style.paddingBottom="0"}tbl.push(mtr)}if(group.arraystretch&&group.arraystretch!==1){let pad=String(1.4*group.arraystretch-.8)+"ex";for(let i=0;i<tbl.length;i++)for(let j=0;j<tbl[i].children.length;j++)tbl[i].children[j].style.paddingTop=pad,tbl[i].children[j].style.paddingBottom=pad}let sidePadding,sidePadUnit;if(group.envClasses.length>0&&(sidePadding=group.envClasses.includes("abut")||group.envClasses.includes("cases")?"0":group.envClasses.includes("small")?"0.1389":group.envClasses.includes("cd")?"0.25":"0.4",sidePadUnit="em"),group.arraycolsep){let arraySidePad=calculateSize(group.arraycolsep,style);sidePadding=arraySidePad.number.toFixed(4),sidePadUnit=arraySidePad.unit}if(sidePadding){let numCols=tbl.length===0?0:tbl[0].children.length,sidePad=(j,hand)=>j===0&&hand===0||j===numCols-1&&hand===1?"0":group.envClasses[0]!=="align"?sidePadding:hand===1?"0":tagIsPresent?j%2?"1":"0":j%2?"0":"1";for(let i=0;i<tbl.length;i++)for(let j=0;j<tbl[i].children.length;j++)tbl[i].children[j].style.paddingLeft=`${sidePad(j,0)}${sidePadUnit}`,tbl[i].children[j].style.paddingRight=`${sidePad(j,1)}${sidePadUnit}`}if(group.envClasses.length===0)for(let i=0;i<tbl.length;i++)tbl[i].children[0].style.paddingLeft="0em",tbl[i].children.length===tbl[0].children.length&&(tbl[i].children[tbl[i].children.length-1].style.paddingRight="0em");if(group.envClasses.length>0){let align=group.envClasses.includes("align")||group.envClasses.includes("alignat");for(let i=0;i<tbl.length;i++){let row=tbl[i];if(align){for(let j=0;j<row.children.length;j++)row.children[j].classes=["tml-"+(j%2?"left":"right")];if(tagIsPresent){let k=group.leqno?0:row.children.length-1;row.children[k].classes=[]}}if(row.children.length>1&&group.envClasses.includes("cases")&&(row.children[1].style.paddingLeft="1em"),group.envClasses.includes("cases")||group.envClasses.includes("subarray"))for(let cell of row.children)cell.classes.push("tml-left")}}let table=new MathNode("mtable",tbl);if(group.envClasses.length>0&&(group.envClasses.includes("jot")?table.classes.push("tml-jot"):group.envClasses.includes("small")&&table.classes.push("tml-small")),group.scriptLevel==="display"&&table.setAttribute("displaystyle","true"),(group.autoTag||group.envClasses.includes("multline"))&&(table.style.width="100%"),group.cols&&group.cols.length>0){let cols=group.cols,prevTypeWasAlign=!1,iStart=0,iEnd=cols.length;for(;cols[iStart].type==="separator";)iStart+=1;for(;cols[iEnd-1].type==="separator";)iEnd-=1;if(cols[0].type==="separator"){let sep=cols[1].type==="separator"?"0.15em double":cols[0].separator==="|"?"0.06em solid ":"0.06em dashed ";for(let row of table.children)row.children[0].style.borderLeft=sep}let iCol=tagIsPresent?0:-1;for(let i=iStart;i<iEnd;i++)if(cols[i].type==="align"){let colAlign=alignMap[cols[i].align];iCol+=1;for(let row of table.children)colAlign.trim()!=="center"&&iCol<row.children.length&&(row.children[iCol].classes=["tml-"+colAlign.trim()]);prevTypeWasAlign=!0}else if(cols[i].type==="separator"){if(prevTypeWasAlign){let sep=cols[i+1].type==="separator"?"0.15em double":cols[i].separator==="|"?"0.06em solid":"0.06em dashed";for(let row of table.children)iCol<row.children.length&&(row.children[iCol].style.borderRight=sep)}prevTypeWasAlign=!1}if(cols[cols.length-1].type==="separator"){let sep=cols[cols.length-2].type==="separator"?"0.15em double":cols[cols.length-1].separator==="|"?"0.06em solid":"0.06em dashed";for(let row of table.children)row.children[row.children.length-1].style.borderRight=sep,row.children[row.children.length-1].style.paddingRight="0.4em"}}return group.envClasses.includes("small")&&(table=new MathNode("mstyle",[table]),table.setAttribute("scriptlevel","1")),table},alignedHandler=function(context,args){context.envName.indexOf("ed")===-1&&validateAmsEnvironmentContext(context);let isSplit=context.envName==="split",cols=[],res=parseArray(context.parser,{cols,emptySingleRow:!0,autoTag:isSplit?void 0:getAutoTag(context.envName),envClasses:["abut","jot"],maxNumCols:context.envName==="split"?2:void 0,leqno:context.parser.settings.leqno},"display"),numMaths,numCols=0,isAlignedAt=context.envName.indexOf("at")>-1;if(args[0]&&isAlignedAt){let arg0="";for(let i=0;i<args[0].body.length;i++){let textord2=assertNodeType(args[0].body[i],"textord");arg0+=textord2.text}if(isNaN(arg0))throw new ParseError("The alignat enviroment requires a numeric first argument.");numMaths=Number(arg0),numCols=numMaths*2}res.body.forEach(function(row){if(isAlignedAt){let curMaths=row.length/2;if(numMaths<curMaths)throw new ParseError(`Too many math in a row: expected ${numMaths}, but got ${curMaths}`,row[0])}else numCols<row.length&&(numCols=row.length)});for(let i=0;i<numCols;++i){let align="r";i%2===1&&(align="l"),cols[i]={type:"align",align}}return context.envName==="split"||(isAlignedAt?res.envClasses.push("alignat"):res.envClasses[0]="align"),res};defineEnvironment({type:"array",names:["array","darray"],props:{numArgs:1},handler(context,args){let cols=(checkSymbolNodeType(args[0])?[args[0]]:assertNodeType(args[0],"ordgroup").body).map(function(nde){let ca=assertSymbolNodeType(nde).text;if("lcr".indexOf(ca)!==-1)return{type:"align",align:ca};if(ca==="|")return{type:"separator",separator:"|"};if(ca===":")return{type:"separator",separator:":"};throw new ParseError("Unknown column alignment: "+ca,nde)}),[arraystretch,arraycolsep]=arrayGaps(context.parser.gullet.macros),res={cols,envClasses:["array"],maxNumCols:cols.length,arraystretch,arraycolsep};return parseArray(context.parser,res,dCellStyle(context.envName))},mathmlBuilder:mathmlBuilder$9});defineEnvironment({type:"array",names:["matrix","pmatrix","bmatrix","Bmatrix","vmatrix","Vmatrix","matrix*","pmatrix*","bmatrix*","Bmatrix*","vmatrix*","Vmatrix*"],props:{numArgs:0},handler(context){let delimiters2={matrix:null,pmatrix:["(",")"],bmatrix:["[","]"],Bmatrix:["\\{","\\}"],vmatrix:["|","|"],Vmatrix:["\\Vert","\\Vert"]}[context.envName.replace("*","")],colAlign="c",payload={envClasses:[],cols:[]};if(context.envName.charAt(context.envName.length-1)==="*"){let parser=context.parser;if(parser.consumeSpaces(),parser.fetch().text==="["){if(parser.consume(),parser.consumeSpaces(),colAlign=parser.fetch().text,"lcr".indexOf(colAlign)===-1)throw new ParseError("Expected l or c or r",parser.nextToken);parser.consume(),parser.consumeSpaces(),parser.expect("]"),parser.consume(),payload.cols=[]}}let res=parseArray(context.parser,payload,"text");res.cols=res.body.length>0?new Array(res.body[0].length).fill({type:"align",align:colAlign}):[];let[arraystretch,arraycolsep]=arrayGaps(context.parser.gullet.macros);return res.arraystretch=arraystretch,arraycolsep&&!(arraycolsep===6&&arraycolsep==="pt")&&(res.arraycolsep=arraycolsep),delimiters2?{type:"leftright",mode:context.mode,body:[res],left:delimiters2[0],right:delimiters2[1],rightColor:void 0}:res},mathmlBuilder:mathmlBuilder$9});defineEnvironment({type:"array",names:["bordermatrix"],props:{numArgs:0},handler(context){let payload={cols:[],envClasses:["bordermatrix"]},res=parseArray(context.parser,payload,"text");return res.cols=res.body.length>0?new Array(res.body[0].length).fill({type:"align",align:"c"}):[],res.envClasses=[],res.arraystretch=1,context.envName==="matrix"?res:bordermatrixParseTree(res,context.delimiters)},mathmlBuilder:mathmlBuilder$9});defineEnvironment({type:"array",names:["smallmatrix"],props:{numArgs:0},handler(context){let payload={envClasses:["small"]};return parseArray(context.parser,payload,"script")},mathmlBuilder:mathmlBuilder$9});defineEnvironment({type:"array",names:["subarray"],props:{numArgs:1},handler(context,args){let cols=(checkSymbolNodeType(args[0])?[args[0]]:assertNodeType(args[0],"ordgroup").body).map(function(nde){let ca=assertSymbolNodeType(nde).text;if("lc".indexOf(ca)!==-1)return{type:"align",align:ca};throw new ParseError("Unknown column alignment: "+ca,nde)});if(cols.length>1)throw new ParseError("{subarray} can contain only one column");let res={cols,envClasses:["small"]};if(res=parseArray(context.parser,res,"script"),res.body.length>0&&res.body[0].length>1)throw new ParseError("{subarray} can contain only one column");return res},mathmlBuilder:mathmlBuilder$9});defineEnvironment({type:"array",names:["cases","dcases","rcases","drcases"],props:{numArgs:0},handler(context){let payload={cols:[],envClasses:["cases"]},res=parseArray(context.parser,payload,dCellStyle(context.envName));return{type:"leftright",mode:context.mode,body:[res],left:context.envName.indexOf("r")>-1?".":"\\{",right:context.envName.indexOf("r")>-1?"\\}":".",rightColor:void 0}},mathmlBuilder:mathmlBuilder$9});defineEnvironment({type:"array",names:["align","align*","aligned","split"],props:{numArgs:0},handler:alignedHandler,mathmlBuilder:mathmlBuilder$9});defineEnvironment({type:"array",names:["alignat","alignat*","alignedat"],props:{numArgs:1},handler:alignedHandler,mathmlBuilder:mathmlBuilder$9});defineEnvironment({type:"array",names:["gathered","gather","gather*"],props:{numArgs:0},handler(context){context.envName!=="gathered"&&validateAmsEnvironmentContext(context);let res={cols:[],envClasses:["abut","jot"],autoTag:getAutoTag(context.envName),emptySingleRow:!0,leqno:context.parser.settings.leqno};return parseArray(context.parser,res,"display")},mathmlBuilder:mathmlBuilder$9});defineEnvironment({type:"array",names:["equation","equation*"],props:{numArgs:0},handler(context){validateAmsEnvironmentContext(context);let res={autoTag:getAutoTag(context.envName),emptySingleRow:!0,singleRow:!0,maxNumCols:1,envClasses:["align"],leqno:context.parser.settings.leqno};return parseArray(context.parser,res,"display")},mathmlBuilder:mathmlBuilder$9});defineEnvironment({type:"array",names:["multline","multline*"],props:{numArgs:0},handler(context){validateAmsEnvironmentContext(context);let res={autoTag:context.envName==="multline",maxNumCols:1,envClasses:["jot","multline"],leqno:context.parser.settings.leqno};return parseArray(context.parser,res,"display")},mathmlBuilder:mathmlBuilder$9});defineEnvironment({type:"array",names:["CD"],props:{numArgs:0},handler(context){return validateAmsEnvironmentContext(context),parseCD(context.parser)},mathmlBuilder:mathmlBuilder$9});defineFunction({type:"text",names:["\\hline","\\hdashline"],props:{numArgs:0,allowedInText:!0,allowedInMath:!0},handler(context,args){throw new ParseError(`${context.funcName} valid only within array environment`)}});var environments=_environments;defineFunction({type:"bordermatrix",names:["\\bordermatrix","\\matrix"],props:{numArgs:0,numOptionalArgs:1},handler:({parser,funcName},args,optArgs)=>{let delimiters2=["(",")"];if(funcName==="\\bordermatrix"&&optArgs[0]&&optArgs[0].body){let body=optArgs[0].body;body.length===1&&body[0].type==="delimiter"&&(delimiters2=[body[0].left,body[0].right])}parser.consumeSpaces(),parser.consume();let env=environments.bordermatrix,context={mode:parser.mode,envName:funcName.slice(1),delimiters:delimiters2,parser},result=env.handler(context);return parser.expect("}",!0),result}});defineFunction({type:"cancelto",names:["\\cancelto"],props:{numArgs:2},handler({parser},args){let to=args[0],body=args[1];return{type:"cancelto",mode:parser.mode,body,to,isCharacterBox:isCharacterBox(body)}},mathmlBuilder(group,style){let fromNode=new MathNode("mrow",[buildGroup$1(group.body,style)],["ff-narrow"]),phantom2=new MathNode("mphantom",[buildGroup$1(group.body,style)]),arrow=new MathNode("mrow",[phantom2],["tml-cancelto"]);arrow.style.color=style.color,group.isCharacterBox&&smalls.indexOf(group.body.body[0].text)>-1&&(arrow.style.left="0.1em",arrow.style.width="90%");let node=new MathNode("mrow",[fromNode,arrow],["menclose"]);if(!group.isCharacterBox||/[f∫∑]/.test(group.body.body[0].text))phantom2.style.paddingRight="0.2em";else{phantom2.style.padding="0.5ex 0.1em 0 0";let strut=new MathNode("mspace",[]);strut.setAttribute("height","0.85em"),fromNode.children.push(strut)}let dummyNode;if(group.isCharacterBox)dummyNode=new MathNode("mspace",[]),dummyNode.setAttribute("height","1em");else{let inner2=buildGroup$1(group.body,style),zeroWidthNode=new MathNode("mpadded",[inner2]);zeroWidthNode.setAttribute("width","0.1px"),dummyNode=new MathNode("mphantom",[zeroWidthNode])}let toNode2=buildGroup$1(group.to,style);toNode2.style.color=style.color;let zeroWidthToNode=new MathNode("mpadded",[toNode2]);if(!group.isCharacterBox||/[f∫∑]/.test(group.body.body[0].text)){let w=new MathNode("mspace",[]);w.setAttribute("width","0.2em"),zeroWidthToNode.children.unshift(w)}zeroWidthToNode.setAttribute("width","0.1px");let mover=new MathNode("mover",[dummyNode,zeroWidthToNode]),nudgeLeft=new MathNode("mrow",[],["ff-nudge-left"]);return newDocumentFragment([makeRow([node,mover]),nudgeLeft])}});defineFunction({type:"textord",names:["\\@char"],props:{numArgs:1,allowedInText:!0},handler({parser,token},args){let group=assertNodeType(args[0],"ordgroup").body,number="";for(let i=0;i<group.length;i++){let node=assertNodeType(group[i],"textord");number+=node.text}let code=parseInt(number);if(isNaN(code))throw new ParseError(`\\@char has non-numeric argument ${number}`,token);return{type:"textord",mode:parser.mode,text:String.fromCodePoint(code)}}});var htmlRegEx=/^(#[a-f0-9]{3}|#?[a-f0-9]{6})$/i,htmlOrNameRegEx=/^(#[a-f0-9]{3}|#?[a-f0-9]{6}|[a-z]+)$/i,RGBregEx=/^ *\d{1,3} *(?:, *\d{1,3} *){2}$/,rgbRegEx=/^ *[10](?:\.\d*)? *(?:, *[10](?:\.\d*)? *){2}$/,xcolorHtmlRegEx=/^[a-f0-9]{6}$/i,toHex=num=>{let str=num.toString(16);return str.length===1&&(str="0"+str),str},xcolors=JSON.parse(`{
104
+ "Apricot": "#ffb484",
105
+ "Aquamarine": "#08b4bc",
106
+ "Bittersweet": "#c84c14",
107
+ "blue": "#0000FF",
108
+ "Blue": "#303494",
109
+ "BlueGreen": "#08b4bc",
110
+ "BlueViolet": "#503c94",
111
+ "BrickRed": "#b8341c",
112
+ "brown": "#BF8040",
113
+ "Brown": "#802404",
114
+ "BurntOrange": "#f8941c",
115
+ "CadetBlue": "#78749c",
116
+ "CarnationPink": "#f884b4",
117
+ "Cerulean": "#08a4e4",
118
+ "CornflowerBlue": "#40ace4",
119
+ "cyan": "#00FFFF",
120
+ "Cyan": "#08acec",
121
+ "Dandelion": "#ffbc44",
122
+ "darkgray": "#404040",
123
+ "DarkOrchid": "#a8548c",
124
+ "Emerald": "#08ac9c",
125
+ "ForestGreen": "#089c54",
126
+ "Fuchsia": "#90348c",
127
+ "Goldenrod": "#ffdc44",
128
+ "gray": "#808080",
129
+ "Gray": "#98949c",
130
+ "green": "#00FF00",
131
+ "Green": "#08a44c",
132
+ "GreenYellow": "#e0e474",
133
+ "JungleGreen": "#08ac9c",
134
+ "Lavender": "#f89cc4",
135
+ "lightgray": "#c0c0c0",
136
+ "lime": "#BFFF00",
137
+ "LimeGreen": "#90c43c",
138
+ "magenta": "#FF00FF",
139
+ "Magenta": "#f0048c",
140
+ "Mahogany": "#b0341c",
141
+ "Maroon": "#b03434",
142
+ "Melon": "#f89c7c",
143
+ "MidnightBlue": "#086494",
144
+ "Mulberry": "#b03c94",
145
+ "NavyBlue": "#086cbc",
146
+ "olive": "#7F7F00",
147
+ "OliveGreen": "#407c34",
148
+ "orange": "#FF8000",
149
+ "Orange": "#f8843c",
150
+ "OrangeRed": "#f0145c",
151
+ "Orchid": "#b074ac",
152
+ "Peach": "#f8945c",
153
+ "Periwinkle": "#8074bc",
154
+ "PineGreen": "#088c74",
155
+ "pink": "#ff7f7f",
156
+ "Plum": "#98248c",
157
+ "ProcessBlue": "#08b4ec",
158
+ "purple": "#BF0040",
159
+ "Purple": "#a0449c",
160
+ "RawSienna": "#983c04",
161
+ "red": "#ff0000",
162
+ "Red": "#f01c24",
163
+ "RedOrange": "#f86434",
164
+ "RedViolet": "#a0246c",
165
+ "Rhodamine": "#f0549c",
166
+ "Royallue": "#0874bc",
167
+ "RoyalPurple": "#683c9c",
168
+ "RubineRed": "#f0047c",
169
+ "Salmon": "#f8948c",
170
+ "SeaGreen": "#30bc9c",
171
+ "Sepia": "#701404",
172
+ "SkyBlue": "#48c4dc",
173
+ "SpringGreen": "#c8dc64",
174
+ "Tan": "#e09c74",
175
+ "teal": "#007F7F",
176
+ "TealBlue": "#08acb4",
177
+ "Thistle": "#d884b4",
178
+ "Turquoise": "#08b4cc",
179
+ "violet": "#800080",
180
+ "Violet": "#60449c",
181
+ "VioletRed": "#f054a4",
182
+ "WildStrawberry": "#f0246c",
183
+ "yellow": "#FFFF00",
184
+ "Yellow": "#fff404",
185
+ "YellowGreen": "#98cc6c",
186
+ "YellowOrange": "#ffa41c"
187
+ }`),colorFromSpec=(model,spec)=>{let color="";if(model==="HTML"){if(!htmlRegEx.test(spec))throw new ParseError("Invalid HTML input.");color=spec}else if(model==="RGB"){if(!RGBregEx.test(spec))throw new ParseError("Invalid RGB input.");spec.split(",").map(e=>{color+=toHex(Number(e.trim()))})}else{if(!rgbRegEx.test(spec))throw new ParseError("Invalid rbg input.");spec.split(",").map(e=>{let num=Number(e.trim());if(num>1)throw new ParseError("Color rgb input must be < 1.");color+=toHex(Number((num*255).toFixed(0)))})}return color.charAt(0)!=="#"&&(color="#"+color),color},validateColor=(color,macros2,token)=>{let macroName=`\\\\color@${color}`;if(!htmlOrNameRegEx.exec(color))throw new ParseError("Invalid color: '"+color+"'",token);return xcolorHtmlRegEx.test(color)?"#"+color:(color.charAt(0)==="#"||(macros2.has(macroName)?color=macros2.get(macroName).tokens[0].text:xcolors[color]&&(color=xcolors[color])),color)},mathmlBuilder$8=(group,style)=>{let expr=buildExpression(group.body,style.withColor(group.color));return expr.length===0&&expr.push(new MathNode("mrow")),expr=expr.map(e=>(e.style.color=group.color,e)),newDocumentFragment(expr)};defineFunction({type:"color",names:["\\textcolor"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,argTypes:["raw","raw","original"]},handler({parser,token},args,optArgs){let model=optArgs[0]&&assertNodeType(optArgs[0],"raw").string,color="";if(model){let spec=assertNodeType(args[0],"raw").string;color=colorFromSpec(model,spec)}else color=validateColor(assertNodeType(args[0],"raw").string,parser.gullet.macros,token);let body=args[1];return{type:"color",mode:parser.mode,color,isTextColor:!0,body:ordargument(body)}},mathmlBuilder:mathmlBuilder$8});defineFunction({type:"color",names:["\\color"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0,argTypes:["raw","raw"]},handler({parser,breakOnTokenText,token},args,optArgs){let model=optArgs[0]&&assertNodeType(optArgs[0],"raw").string,color="";if(model){let spec=assertNodeType(args[0],"raw").string;color=colorFromSpec(model,spec)}else color=validateColor(assertNodeType(args[0],"raw").string,parser.gullet.macros,token);let body=parser.parseExpression(!0,breakOnTokenText,!0);return{type:"color",mode:parser.mode,color,isTextColor:!1,body}},mathmlBuilder:mathmlBuilder$8});defineFunction({type:"color",names:["\\definecolor"],props:{numArgs:3,allowedInText:!0,argTypes:["raw","raw","raw"]},handler({parser,funcName,token},args){let name=assertNodeType(args[0],"raw").string;if(!/^[A-Za-z]+$/.test(name))throw new ParseError("Color name must be latin letters.",token);let model=assertNodeType(args[1],"raw").string;if(!["HTML","RGB","rgb"].includes(model))throw new ParseError("Color model must be HTML, RGB, or rgb.",token);let spec=assertNodeType(args[2],"raw").string,color=colorFromSpec(model,spec);return parser.gullet.macros.set(`\\\\color@${name}`,{tokens:[{text:color}],numArgs:0}),{type:"internal",mode:parser.mode}}});defineFunction({type:"cr",names:["\\\\"],props:{numArgs:0,numOptionalArgs:0,allowedInText:!0},handler({parser},args,optArgs){let size=parser.gullet.future().text==="["?parser.parseSizeGroup(!0):null,newLine=!parser.settings.displayMode;return{type:"cr",mode:parser.mode,newLine,size:size&&assertNodeType(size,"size").value}},mathmlBuilder(group,style){let node=new MathNode("mo");if(group.newLine&&(node.setAttribute("linebreak","newline"),group.size)){let size=calculateSize(group.size,style);node.setAttribute("height",size.number+size.unit)}return node}});var globalMap={"\\global":"\\global","\\long":"\\\\globallong","\\\\globallong":"\\\\globallong","\\def":"\\gdef","\\gdef":"\\gdef","\\edef":"\\xdef","\\xdef":"\\xdef","\\let":"\\\\globallet","\\futurelet":"\\\\globalfuture"},checkControlSequence=tok=>{let name=tok.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(name))throw new ParseError("Expected a control sequence",tok);return name},getRHS=parser=>{let tok=parser.gullet.popToken();return tok.text==="="&&(tok=parser.gullet.popToken(),tok.text===" "&&(tok=parser.gullet.popToken())),tok},letCommand=(parser,name,tok,global)=>{let macro=parser.gullet.macros.get(tok.text);macro==null&&(tok.noexpand=!0,macro={tokens:[tok],numArgs:0,unexpandable:!parser.gullet.isExpandable(tok.text)}),parser.gullet.macros.set(name,macro,global)};defineFunction({type:"internal",names:["\\global","\\long","\\\\globallong"],props:{numArgs:0,allowedInText:!0},handler({parser,funcName}){parser.consumeSpaces();let token=parser.fetch();if(globalMap[token.text])return(funcName==="\\global"||funcName==="\\\\globallong")&&(token.text=globalMap[token.text]),assertNodeType(parser.parseFunction(),"internal");throw new ParseError("Invalid token after macro prefix",token)}});defineFunction({type:"internal",names:["\\def","\\gdef","\\edef","\\xdef"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler({parser,funcName}){let tok=parser.gullet.popToken(),name=tok.text;if(/^(?:[\\{}$&#^_]|EOF)$/.test(name))throw new ParseError("Expected a control sequence",tok);let numArgs=0,insert,delimiters2=[[]];for(;parser.gullet.future().text!=="{";)if(tok=parser.gullet.popToken(),tok.text==="#"){if(parser.gullet.future().text==="{"){insert=parser.gullet.future(),delimiters2[numArgs].push("{");break}if(tok=parser.gullet.popToken(),!/^[1-9]$/.test(tok.text))throw new ParseError(`Invalid argument number "${tok.text}"`);if(parseInt(tok.text)!==numArgs+1)throw new ParseError(`Argument number "${tok.text}" out of order`);numArgs++,delimiters2.push([])}else{if(tok.text==="EOF")throw new ParseError("Expected a macro definition");delimiters2[numArgs].push(tok.text)}let{tokens}=parser.gullet.consumeArg();if(insert&&tokens.unshift(insert),funcName==="\\edef"||funcName==="\\xdef"){if(tokens=parser.gullet.expandTokens(tokens),tokens.length>parser.gullet.settings.maxExpand)throw new ParseError("Too many expansions in an "+funcName);tokens.reverse()}return parser.gullet.macros.set(name,{tokens,numArgs,delimiters:delimiters2},funcName===globalMap[funcName]),{type:"internal",mode:parser.mode}}});defineFunction({type:"internal",names:["\\let","\\\\globallet"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler({parser,funcName}){let name=checkControlSequence(parser.gullet.popToken());parser.gullet.consumeSpaces();let tok=getRHS(parser);return letCommand(parser,name,tok,funcName==="\\\\globallet"),{type:"internal",mode:parser.mode}}});defineFunction({type:"internal",names:["\\futurelet","\\\\globalfuture"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler({parser,funcName}){let name=checkControlSequence(parser.gullet.popToken()),middle=parser.gullet.popToken(),tok=parser.gullet.popToken();return letCommand(parser,name,tok,funcName==="\\\\globalfuture"),parser.gullet.pushToken(tok),parser.gullet.pushToken(middle),{type:"internal",mode:parser.mode}}});defineFunction({type:"internal",names:["\\newcommand","\\renewcommand","\\providecommand"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler({parser,funcName}){let name="",tok=parser.gullet.popToken();tok.text==="{"?(name=checkControlSequence(parser.gullet.popToken()),parser.gullet.popToken()):name=checkControlSequence(tok);let exists=parser.gullet.isDefined(name);if(exists&&funcName==="\\newcommand")throw new ParseError(`\\newcommand{${name}} attempting to redefine ${name}; use \\renewcommand`);if(!exists&&funcName==="\\renewcommand")throw new ParseError(`\\renewcommand{${name}} when command ${name} does not yet exist; use \\newcommand`);let numArgs=0;if(parser.gullet.future().text==="["){let tok2=parser.gullet.popToken();if(tok2=parser.gullet.popToken(),!/^[0-9]$/.test(tok2.text))throw new ParseError(`Invalid number of arguments: "${tok2.text}"`);if(numArgs=parseInt(tok2.text),tok2=parser.gullet.popToken(),tok2.text!=="]")throw new ParseError(`Invalid argument "${tok2.text}"`)}let{tokens}=parser.gullet.consumeArg();return funcName==="\\providecommand"&&parser.gullet.macros.has(name)||parser.gullet.macros.set(name,{tokens,numArgs}),{type:"internal",mode:parser.mode}}});var delimiterSizes={"\\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}},leftToRight={"(":")","\\lparen":"\\rparen","[":"]","\\lbrack":"\\rbrack","\\{":"\\}","\\lbrace":"\\rbrace","\u2987":"\u2988","\\llparenthesis":"\\rrparenthesis","\\lfloor":"\\rfloor","\u230A":"\u230B","\\lceil":"\\rceil","\u2308":"\u2309","\\langle":"\\rangle","\u27E8":"\u27E9","\\lAngle":"\\rAngle","\u27EA":"\u27EB","\\llangle":"\\rrangle","\u2989":"\u298A","\\lvert":"\\rvert","\\lVert":"\\rVert","\\lgroup":"\\rgroup","\u27EE":"\u27EF","\\lmoustache":"\\rmoustache","\u23B0":"\u23B1","\\llbracket":"\\rrbracket","\u27E6":"\u27E7","\\lBrace":"\\rBrace","\u2983":"\u2984"},leftDelimiterNames=new Set(Object.keys(leftToRight));new Set(Object.values(leftToRight));var delimiters=new Set(["(","\\lparen",")","\\rparen","[","\\lbrack","]","\\rbrack","\\{","\\lbrace","\\}","\\rbrace","\u2987","\\llparenthesis","\u2988","\\rrparenthesis","\\lfloor","\\rfloor","\u230A","\u230B","\\lceil","\\rceil","\u2308","\u2309","<",">","\\langle","\u27E8","\\rangle","\u27E9","\\lAngle","\u27EA","\\rAngle","\u27EB","\\llangle","\u2989","\\rrangle","\u298A","\\lt","\\gt","\\lvert","\\rvert","\\lVert","\\rVert","\\lgroup","\\rgroup","\u27EE","\u27EF","\\lmoustache","\\rmoustache","\u23B0","\u23B1","\\llbracket","\\rrbracket","\u27E6","\u27E7","\\lBrace","\\rBrace","\u2983","\u2984","/","\\backslash","|","\\vert","\\|","\\Vert","\u2016","\\uparrow","\\Uparrow","\\downarrow","\\Downarrow","\\updownarrow","\\Updownarrow","."]),dels=new Set(["}","\\left","\\middle","\\right"]),isDelimiter=str=>str.length>0&&(delimiters.has(str)||delimiterSizes[str]||dels.has(str)),sizeToMaxHeight=[0,1.2,1.8,2.4,3];function checkDelimiter(delim,context){delim.type==="ordgroup"&&delim.body.length===1&&(delim=delim.body[0]);let symDelim=checkSymbolNodeType(delim);if(symDelim&&delimiters.has(symDelim.text))return(symDelim.text==="<"||symDelim.text==="\\lt")&&(symDelim.text="\u27E8"),(symDelim.text===">"||symDelim.text==="\\gt")&&(symDelim.text="\u27E9"),symDelim;throw symDelim?new ParseError(`Invalid delimiter '${symDelim.text}' after '${context.funcName}'`,delim):new ParseError(`Invalid delimiter type '${delim.type}'`,delim)}var needExplicitStretch=new Set(["/","\\","\\backslash","\u2216","\\vert","|"]),makeFenceMo=(delim,mode,form,isStretchy)=>{let text2=delim==="."?"":delim,node=new MathNode("mo",[makeText(text2,mode)]);return node.setAttribute("fence","true"),node.setAttribute("form",form),node.setAttribute("stretchy",isStretchy?"true":"false"),node};defineFunction({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:(context,args)=>{let delim=checkDelimiter(args[0],context),delimNode={type:"delimsizing",mode:context.parser.mode,size:delimiterSizes[context.funcName].size,mclass:delimiterSizes[context.funcName].mclass,delim:delim.text},nextToken=context.parser.fetch().text;return nextToken!=="^"&&nextToken!=="_"?delimNode:{type:"ordgroup",mode:"math",body:[delimNode,{type:"ordgroup",mode:"math",body:[]}]}},mathmlBuilder:group=>{let children=[],delim=group.delim==="."?"":group.delim;children.push(makeText(delim,group.mode));let node=new MathNode("mo",children);return group.mclass==="mopen"||group.mclass==="mclose"?node.setAttribute("fence","true"):node.setAttribute("fence","false"),(needExplicitStretch.has(delim)||delim.indexOf("arrow")>-1)&&node.setAttribute("stretchy","true"),node.setAttribute("symmetric","true"),node.setAttribute("minsize",sizeToMaxHeight[group.size]+"em"),node.setAttribute("maxsize",sizeToMaxHeight[group.size]+"em"),node}});function assertParsed(group){if(!group.body)throw new Error("Bug: The delim ParseNode wasn't fully parsed.")}defineFunction({type:"leftright-right",names:["\\right"],props:{numArgs:1,argTypes:["primitive"]},handler:(context,args)=>({type:"leftright-right",mode:context.parser.mode,delim:checkDelimiter(args[0],context).text})});defineFunction({type:"leftright",names:["\\left"],props:{numArgs:1,argTypes:["primitive"]},handler:(context,args)=>{let delim=checkDelimiter(args[0],context),parser=context.parser;++parser.leftrightDepth;let body=parser.parseExpression(!1,"\\right",!0),nextToken=parser.fetch();for(;nextToken.text==="\\middle";){parser.consume();let middle=parser.fetch().text;if(!symbols.math[middle])throw new ParseError(`Invalid delimiter '${middle}' after '\\middle'`);checkDelimiter({type:"atom",mode:"math",text:middle},{funcName:"\\middle"}),body.push({type:"middle",mode:"math",delim:middle}),parser.consume(),body=body.concat(parser.parseExpression(!1,"\\right",!0)),nextToken=parser.fetch()}--parser.leftrightDepth,parser.expect("\\right",!1);let right=assertNodeType(parser.parseFunction(),"leftright-right");return{type:"leftright",mode:parser.mode,body,left:delim.text,right:right.delim,isStretchy:!0}},mathmlBuilder:(group,style)=>{assertParsed(group);let inner2=buildExpression(group.body,style),leftNode=makeFenceMo(group.left,group.mode,"prefix",!0);inner2.unshift(leftNode);let rightNode=makeFenceMo(group.right,group.mode,"postfix",!0);if(group.body.length>0){let lastElement=group.body[group.body.length-1];lastElement.type==="color"&&!lastElement.isTextColor&&rightNode.setAttribute("mathcolor",lastElement.color)}return inner2.push(rightNode),makeRow(inner2)}});defineFunction({type:"delimiter",names:Array.from(leftDelimiterNames),props:{numArgs:0,allowedInText:!0,allowedInMath:!0,allowedInArgument:!0},handler:({parser,funcName,token})=>{if(parser.mode==="text")return{type:"textord",mode:"text",text:funcName,loc:token.loc};if(!parser.settings.wrapDelimiterPairs)return{type:"atom",mode:"math",family:"open",loc:token.loc,text:funcName};let rightDelim=leftToRight[funcName],body=parser.parseExpression(!1,rightDelim,!1);if(parser.fetch().text!==rightDelim)throw new ParseError("Unmatched delimiter");return parser.consume(),{type:"delimiter",mode:parser.mode,body,left:funcName,right:rightDelim}},mathmlBuilder:(group,style)=>{assertParsed(group);let inner2=buildExpression(group.body,style),leftNode=makeFenceMo(group.left,group.mode,"prefix",!1);inner2.unshift(leftNode);let rightNode=makeFenceMo(group.right,group.mode,"postfix",!1);if(group.body.length>0){let lastElement=group.body[group.body.length-1];lastElement.type==="color"&&!lastElement.isTextColor&&rightNode.setAttribute("mathcolor",lastElement.color)}return inner2.push(rightNode),makeRow(inner2)}});defineFunction({type:"middle",names:["\\middle"],props:{numArgs:1,argTypes:["primitive"]},handler:(context,args)=>{let delim=checkDelimiter(args[0],context);if(!context.parser.leftrightDepth)throw new ParseError("\\middle without preceding \\left",delim);return{type:"middle",mode:context.parser.mode,delim:delim.text}},mathmlBuilder:group=>{let textNode=makeText(group.delim,group.mode),middleNode=new MathNode("mo",[textNode]);return middleNode.setAttribute("stretchy","true"),middleNode.setAttribute("form","infix"),textNode.text!=="/"&&(middleNode.setAttribute("lspace","0.05em"),middleNode.setAttribute("rspace","0.05em")),middleNode}});var boxTags=["\\boxed","\\fcolorbox","\\colorbox"],mathmlBuilder$7=(group,style)=>{let tag=boxTags.includes(group.label)?"mrow":"menclose",node=new MathNode(tag,[buildGroup$1(group.body,style)]);switch(group.label){case"\\overline":node.setAttribute("notation","top"),node.classes.push("tml-overline");break;case"\\underline":node.setAttribute("notation","bottom"),node.classes.push("tml-underline");break;case"\\cancel":node.setAttribute("notation","updiagonalstrike"),node.children.push(new MathNode("mrow",[],["tml-cancel","upstrike"]));break;case"\\bcancel":node.setAttribute("notation","downdiagonalstrike"),node.children.push(new MathNode("mrow",[],["tml-cancel","downstrike"]));break;case"\\sout":node.setAttribute("notation","horizontalstrike"),node.children.push(new MathNode("mrow",[],["tml-cancel","sout"]));break;case"\\xcancel":node.setAttribute("notation","updiagonalstrike downdiagonalstrike"),node.children.push(new MathNode("mrow",[],["tml-cancel","tml-xcancel"]));break;case"\\longdiv":node.setAttribute("notation","longdiv"),node.classes.push("longdiv-top"),node.children.push(new MathNode("mrow",[],["longdiv-arc"]));break;case"\\phase":node.setAttribute("notation","phasorangle"),node.classes.push("phasor-bottom"),node.children.push(new MathNode("mrow",[],["phasor-angle"]));break;case"\\textcircled":node.setAttribute("notation","circle"),node.classes.push("circle-pad"),node.children.push(new MathNode("mrow",[],["textcircle"]));break;case"\\angl":node.setAttribute("notation","actuarial"),node.classes.push("actuarial");break;case"\\boxed":node.style.padding="3pt",node.style.border="1px solid",node.setAttribute("scriptlevel","0"),node.setAttribute("displaystyle","true");break;case"\\fbox":node.setAttribute("notation","box"),node.classes.push("tml-fbox");break;case"\\fcolorbox":case"\\colorbox":{node.style.padding="0.3em",group.label==="\\fcolorbox"&&(node.style.border="0.0667em solid "+String(group.borderColor));break}}return group.backgroundColor&&node.setAttribute("mathbackground",group.backgroundColor),node};defineFunction({type:"enclose",names:["\\colorbox"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,argTypes:["raw","raw","text"]},handler({parser,funcName},args,optArgs){let model=optArgs[0]&&assertNodeType(optArgs[0],"raw").string,color="";if(model){let spec=assertNodeType(args[0],"raw").string;color=colorFromSpec(model,spec)}else color=validateColor(assertNodeType(args[0],"raw").string,parser.gullet.macros);let body=args[1];return{type:"enclose",mode:parser.mode,label:funcName,backgroundColor:color,body}},mathmlBuilder:mathmlBuilder$7});defineFunction({type:"enclose",names:["\\fcolorbox"],props:{numArgs:3,numOptionalArgs:1,allowedInText:!0,argTypes:["raw","raw","raw","text"]},handler({parser,funcName},args,optArgs){let model=optArgs[0]&&assertNodeType(optArgs[0],"raw").string,borderColor="",backgroundColor;if(model){let borderSpec=assertNodeType(args[0],"raw").string,backgroundSpec=assertNodeType(args[0],"raw").string;borderColor=colorFromSpec(model,borderSpec),backgroundColor=colorFromSpec(model,backgroundSpec)}else borderColor=validateColor(assertNodeType(args[0],"raw").string,parser.gullet.macros),backgroundColor=validateColor(assertNodeType(args[1],"raw").string,parser.gullet.macros);let body=args[2];return{type:"enclose",mode:parser.mode,label:funcName,backgroundColor,borderColor,body}},mathmlBuilder:mathmlBuilder$7});defineFunction({type:"enclose",names:["\\fbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler({parser},args){return{type:"enclose",mode:parser.mode,label:"\\fbox",body:args[0]}}});defineFunction({type:"enclose",names:["\\angl","\\cancel","\\bcancel","\\xcancel","\\overline","\\boxed","\\longdiv","\\phase"],props:{numArgs:1},handler({parser,funcName},args){let body=args[0];return{type:"enclose",mode:parser.mode,label:funcName,body}},mathmlBuilder:mathmlBuilder$7});defineFunction({type:"enclose",names:["\\sout"],props:{numArgs:1,allowedInText:!0},handler({parser,funcName},args){let body=args[0];return{type:"enclose",mode:parser.mode,label:funcName,body}},mathmlBuilder:mathmlBuilder$7});defineFunction({type:"enclose",names:["\\underline"],props:{numArgs:1,allowedInText:!0},handler({parser,funcName},args){let body=args[0];return{type:"enclose",mode:parser.mode,label:funcName,body}},mathmlBuilder:mathmlBuilder$7});defineFunction({type:"enclose",names:["\\textcircled"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler({parser,funcName},args){let body=args[0];return{type:"enclose",mode:parser.mode,label:funcName,body}},mathmlBuilder:mathmlBuilder$7});defineFunction({type:"environment",names:["\\begin","\\end"],props:{numArgs:1,argTypes:["text"]},handler({parser,funcName},args){let nameGroup=args[0];if(nameGroup.type!=="ordgroup")throw new ParseError("Invalid environment name",nameGroup);let envName="";for(let i=0;i<nameGroup.body.length;++i)envName+=assertNodeType(nameGroup.body[i],"textord").text;if(funcName==="\\begin"){if(!Object.prototype.hasOwnProperty.call(environments,envName))throw new ParseError("No such environment: "+envName,nameGroup);let env=environments[envName],{args:args2,optArgs}=parser.parseArguments("\\begin{"+envName+"}",env),context={mode:parser.mode,envName,parser},result=env.handler(context,args2,optArgs);parser.expect("\\end",!1);let endNameToken=parser.nextToken,end=assertNodeType(parser.parseFunction(),"environment");if(end.name!==envName)throw new ParseError(`Mismatch: \\begin{${envName}} matched by \\end{${end.name}}`,endNameToken);return result}return{type:"environment",mode:parser.mode,name:envName,nameGroup}}});defineFunction({type:"envTag",names:["\\env@tag"],props:{numArgs:1,argTypes:["math"]},handler({parser},args){return{type:"envTag",mode:parser.mode,body:args[0]}},mathmlBuilder(group,style){return new MathNode("mrow")}});defineFunction({type:"noTag",names:["\\env@notag"],props:{numArgs:0},handler({parser}){return{type:"noTag",mode:parser.mode}},mathmlBuilder(group,style){return new MathNode("mrow")}});var script=Object.freeze({B:8426,E:8427,F:8427,H:8387,I:8391,L:8390,M:8422,R:8393,e:8394,g:8355,o:8389}),frak=Object.freeze({C:8426,H:8388,I:8392,R:8394,Z:8398}),bbb=Object.freeze({C:8383,H:8389,N:8391,P:8393,Q:8393,R:8395,Z:8394}),bold=Object.freeze({"\u03F5":119527,\u03D1:119564,\u03F0:119534,\u03C6:119577,\u03F1:119535,\u03D6:119563}),boldItalic=Object.freeze({"\u03F5":119643,\u03D1:119680,\u03F0:119650,\u03C6:119693,\u03F1:119651,\u03D6:119679}),boldsf=Object.freeze({"\u03F5":119701,\u03D1:119738,\u03F0:119708,\u03C6:119751,\u03F1:119709,\u03D6:119737}),bisf=Object.freeze({"\u03F5":119759,\u03D1:119796,\u03F0:119766,\u03C6:119809,\u03F1:119767,\u03D6:119795}),offset=Object.freeze({upperCaseLatin:{normal:ch=>0,bold:ch=>119743,italic:ch=>119795,"bold-italic":ch=>119847,script:ch=>script[ch]||119899,"script-bold":ch=>119951,fraktur:ch=>frak[ch]||120003,"fraktur-bold":ch=>120107,"double-struck":ch=>bbb[ch]||120055,"sans-serif":ch=>120159,"sans-serif-bold":ch=>120211,"sans-serif-italic":ch=>120263,"sans-serif-bold-italic":ch=>120380,monospace:ch=>120367},lowerCaseLatin:{normal:ch=>0,bold:ch=>119737,italic:ch=>ch==="h"?8358:119789,"bold-italic":ch=>119841,script:ch=>script[ch]||119893,"script-bold":ch=>119945,fraktur:ch=>119997,"fraktur-bold":ch=>120101,"double-struck":ch=>120049,"sans-serif":ch=>120153,"sans-serif-bold":ch=>120205,"sans-serif-italic":ch=>120257,"sans-serif-bold-italic":ch=>120309,monospace:ch=>120361},upperCaseGreek:{normal:ch=>0,bold:ch=>119575,italic:ch=>119633,"bold-italic":ch=>119575,script:ch=>0,"script-bold":ch=>0,fraktur:ch=>0,"fraktur-bold":ch=>0,"double-struck":ch=>0,"sans-serif":ch=>119749,"sans-serif-bold":ch=>119749,"sans-serif-italic":ch=>0,"sans-serif-bold-italic":ch=>119807,monospace:ch=>0},lowerCaseGreek:{normal:ch=>0,bold:ch=>119569,italic:ch=>119627,"bold-italic":ch=>ch==="\u03D5"?119678:119685,script:ch=>0,"script-bold":ch=>0,fraktur:ch=>0,"fraktur-bold":ch=>0,"double-struck":ch=>0,"sans-serif":ch=>119743,"sans-serif-bold":ch=>119743,"sans-serif-italic":ch=>0,"sans-serif-bold-italic":ch=>119801,monospace:ch=>0},varGreek:{normal:ch=>0,bold:ch=>bold[ch]||-51,italic:ch=>0,"bold-italic":ch=>boldItalic[ch]||58,script:ch=>0,"script-bold":ch=>0,fraktur:ch=>0,"fraktur-bold":ch=>0,"double-struck":ch=>0,"sans-serif":ch=>boldsf[ch]||116,"sans-serif-bold":ch=>boldsf[ch]||116,"sans-serif-italic":ch=>0,"sans-serif-bold-italic":ch=>bisf[ch]||174,monospace:ch=>0},numeral:{normal:ch=>0,bold:ch=>120734,italic:ch=>0,"bold-italic":ch=>0,script:ch=>0,"script-bold":ch=>0,fraktur:ch=>0,"fraktur-bold":ch=>0,"double-struck":ch=>120744,"sans-serif":ch=>120754,"sans-serif-bold":ch=>120764,"sans-serif-italic":ch=>0,"sans-serif-bold-italic":ch=>0,monospace:ch=>120774}}),variantChar=(ch,variant)=>{let codePoint=ch.codePointAt(0),block=64<codePoint&&codePoint<91?"upperCaseLatin":96<codePoint&&codePoint<123?"lowerCaseLatin":912<codePoint&&codePoint<938?"upperCaseGreek":944<codePoint&&codePoint<970||ch==="\u03D5"?"lowerCaseGreek":120545<codePoint&&codePoint<120572||bold[ch]?"varGreek":47<codePoint&&codePoint<58?"numeral":"other";return block==="other"?ch:String.fromCodePoint(codePoint+offset[block][variant](ch))},smallCaps=Object.freeze({a:"\u1D00",b:"\u0299",c:"\u1D04",d:"\u1D05",e:"\u1D07",f:"\uA730",g:"\u0262",h:"\u029C",i:"\u026A",j:"\u1D0A",k:"\u1D0B",l:"\u029F",m:"\u1D0D",n:"\u0274",o:"\u1D0F",p:"\u1D18",q:"\u01EB",r:"\u0280",s:"s",t:"\u1D1B",u:"\u1D1C",v:"\u1D20",w:"\u1D21",x:"x",y:"\u028F",z:"\u1D22"}),varNameFonts=["mathrm","mathit"],isLongVariableName=(group,font)=>{if(!varNameFonts.includes(font)||!group.body||group.body.type!=="ordgroup"||group.body.body.length===1||group.body.body[0].type!=="mathord")return!1;for(let i=1;i<group.body.body.length;i++){let parseNodeType=group.body.body[i].type;if(!(parseNodeType==="mathord"||parseNodeType==="textord"&&!isNaN(group.body.body[i].text)))return!1}return!0},mathmlBuilder$6=(group,style)=>{let font=group.font,newStyle=style.withFont(font),mathGroup=buildGroup$1(group.body,newStyle);if(mathGroup.children.length===0)return mathGroup;if(font==="boldsymbol"&&["mo","mpadded","mrow"].includes(mathGroup.type))return mathGroup.style.fontWeight="bold",mathGroup;if(isLongVariableName(group,font)){let mi2=mathGroup.children[0].children[0].children?mathGroup.children[0].children[0]:mathGroup.children[0];delete mi2.attributes.mathvariant;for(let i=1;i<mathGroup.children.length;i++)mi2.children[0].text+=mathGroup.children[i].children[0].children?mathGroup.children[i].children[0].children[0].text:mathGroup.children[i].children[0].text;if(font==="mathit")return mi2.children[0].text=mi2.children[0].text.split("").map(c=>variantChar(c,"italic")).join(""),mi2;let mpadded=new MathNode("mpadded",[mi2]);return mpadded.setAttribute("lspace","0"),mpadded}let canConsolidate=mathGroup.children[0].type==="mo";for(let i=1;i<mathGroup.children.length;i++)mathGroup.children[i].type==="mo"&&font==="boldsymbol"&&(mathGroup.children[i].style.fontWeight="bold"),mathGroup.children[i].type!=="mi"&&(canConsolidate=!1),(mathGroup.children[i].attributes&&mathGroup.children[i].attributes.mathvariant||"")!=="normal"&&(canConsolidate=!1);if(!canConsolidate)return mathGroup;let mi=mathGroup.children[0];for(let i=1;i<mathGroup.children.length;i++)mi.children.push(mathGroup.children[i].children[0]);if(mi.attributes.mathvariant&&mi.attributes.mathvariant==="normal"){let bogus=new MathNode("mtext",new TextNode("\u200B"));return new MathNode("mrow",[bogus,mi])}return mi},fontAliases={"\\Bbb":"\\mathbb","\\bold":"\\mathbf","\\frak":"\\mathfrak","\\bm":"\\boldsymbol"};defineFunction({type:"font",names:["\\mathrm","\\mathit","\\mathbf","\\mathnormal","\\up@greek","\\boldsymbol","\\mathbb","\\mathcal","\\mathfrak","\\mathscr","\\mathsf","\\mathsfit","\\mathtt","\\Bbb","\\bm","\\bold","\\frak"],props:{numArgs:1,allowedInArgument:!0},handler:({parser,funcName},args)=>{let body=normalizeArgument(args[0]),func=funcName;return func in fontAliases&&(func=fontAliases[func]),{type:"font",mode:parser.mode,font:func.slice(1),body}},mathmlBuilder:mathmlBuilder$6});defineFunction({type:"font",names:["\\rm","\\sf","\\tt","\\bf","\\it","\\cal"],props:{numArgs:0,allowedInText:!0},handler:({parser,funcName,breakOnTokenText},args)=>{let{mode}=parser,body=parser.parseExpression(!0,breakOnTokenText,!0),fontStyle=`math${funcName.slice(1)}`;return{type:"font",mode,font:fontStyle,body:{type:"ordgroup",mode:parser.mode,body}}},mathmlBuilder:mathmlBuilder$6});var stylArray=["display","text","script","scriptscript"],scriptLevel={auto:-1,display:0,text:0,script:1,scriptscript:2},adjustStyle=(functionSize,originalStyle)=>{let style=originalStyle;if(functionSize==="display"){let newSize=style.level>=StyleLevel.SCRIPT?StyleLevel.TEXT:StyleLevel.DISPLAY;style=style.withLevel(newSize)}else functionSize==="text"&&style.level===StyleLevel.DISPLAY?style=style.withLevel(StyleLevel.TEXT):functionSize==="auto"?style=style.incrementLevel():functionSize==="script"?style=style.withLevel(StyleLevel.SCRIPT):functionSize==="scriptscript"&&(style=style.withLevel(StyleLevel.SCRIPTSCRIPT));return style},mathmlBuilder$5=(group,style)=>{style=adjustStyle(group.scriptLevel,style);let numer=buildGroup$1(group.numer,style),denom=buildGroup$1(group.denom,style);style.level===3&&(numer.style.mathDepth="2",numer.setAttribute("scriptlevel","2"),denom.style.mathDepth="2",denom.setAttribute("scriptlevel","2"));let node=new MathNode("mfrac",[numer,denom]);if(!group.hasBarLine)node.setAttribute("linethickness","0px");else if(group.barSize){let ruleWidth=calculateSize(group.barSize,style);node.setAttribute("linethickness",ruleWidth.number+ruleWidth.unit)}if(group.leftDelim!=null||group.rightDelim!=null){let withDelims=[];if(group.leftDelim!=null){let leftOp=new MathNode("mo",[new TextNode(group.leftDelim.replace("\\",""))]);leftOp.setAttribute("fence","true"),withDelims.push(leftOp)}if(withDelims.push(node),group.rightDelim!=null){let rightOp=new MathNode("mo",[new TextNode(group.rightDelim.replace("\\",""))]);rightOp.setAttribute("fence","true"),withDelims.push(rightOp)}node=makeRow(withDelims)}return group.scriptLevel!=="auto"&&(node=new MathNode("mstyle",[node]),node.setAttribute("displaystyle",String(group.scriptLevel==="display")),node.setAttribute("scriptlevel",scriptLevel[group.scriptLevel])),node};defineFunction({type:"genfrac",names:["\\cfrac","\\dfrac","\\frac","\\tfrac","\\dbinom","\\binom","\\tbinom","\\\\atopfrac","\\\\bracefrac","\\\\brackfrac"],props:{numArgs:2,allowedInArgument:!0},handler:({parser,funcName},args)=>{let numer=args[0],denom=args[1],hasBarLine=!1,leftDelim=null,rightDelim=null,scriptLevel2="auto";switch(funcName){case"\\cfrac":case"\\dfrac":case"\\frac":case"\\tfrac":hasBarLine=!0;break;case"\\\\atopfrac":hasBarLine=!1;break;case"\\dbinom":case"\\binom":case"\\tbinom":leftDelim="(",rightDelim=")";break;case"\\\\bracefrac":leftDelim="\\{",rightDelim="\\}";break;case"\\\\brackfrac":leftDelim="[",rightDelim="]";break;default:throw new Error("Unrecognized genfrac command")}return funcName==="\\cfrac"||funcName.startsWith("\\d")?scriptLevel2="display":funcName.startsWith("\\t")&&(scriptLevel2="text"),{type:"genfrac",mode:parser.mode,continued:!1,numer,denom,hasBarLine,leftDelim,rightDelim,scriptLevel:scriptLevel2,barSize:null}},mathmlBuilder:mathmlBuilder$5});defineFunction({type:"infix",names:["\\over","\\choose","\\atop","\\brace","\\brack"],props:{numArgs:0,infix:!0},handler({parser,funcName,token}){let replaceWith;switch(funcName){case"\\over":replaceWith="\\frac";break;case"\\choose":replaceWith="\\binom";break;case"\\atop":replaceWith="\\\\atopfrac";break;case"\\brace":replaceWith="\\\\bracefrac";break;case"\\brack":replaceWith="\\\\brackfrac";break;default:throw new Error("Unrecognized infix genfrac command")}return{type:"infix",mode:parser.mode,replaceWith,token}}});var delimFromValue=function(delimString){let delim=null;return delimString.length>0&&(delim=delimString,delim=delim==="."?null:delim),delim};defineFunction({type:"genfrac",names:["\\genfrac"],props:{numArgs:6,allowedInArgument:!0,argTypes:["math","math","size","text","math","math"]},handler({parser},args){let numer=args[4],denom=args[5],leftNode=normalizeArgument(args[0]),leftDelim=leftNode.type==="atom"&&leftNode.family==="open"?delimFromValue(leftNode.text):null,rightNode=normalizeArgument(args[1]),rightDelim=rightNode.type==="atom"&&rightNode.family==="close"?delimFromValue(rightNode.text):null,barNode=assertNodeType(args[2],"size"),hasBarLine,barSize=null;barNode.isBlank?hasBarLine=!0:(barSize=barNode.value,hasBarLine=barSize.number>0);let scriptLevel2="auto",styl=args[3];if(styl.type==="ordgroup"){if(styl.body.length>0){let textOrd=assertNodeType(styl.body[0],"textord");scriptLevel2=stylArray[Number(textOrd.text)]}}else styl=assertNodeType(styl,"textord"),scriptLevel2=stylArray[Number(styl.text)];return{type:"genfrac",mode:parser.mode,numer,denom,continued:!1,hasBarLine,barSize,leftDelim,rightDelim,scriptLevel:scriptLevel2}},mathmlBuilder:mathmlBuilder$5});defineFunction({type:"infix",names:["\\above"],props:{numArgs:1,argTypes:["size"],infix:!0},handler({parser,funcName,token},args){return{type:"infix",mode:parser.mode,replaceWith:"\\\\abovefrac",barSize:assertNodeType(args[0],"size").value,token}}});defineFunction({type:"genfrac",names:["\\\\abovefrac"],props:{numArgs:3,argTypes:["math","size","math"]},handler:({parser,funcName},args)=>{let numer=args[0],barSize=assert(assertNodeType(args[1],"infix").barSize),denom=args[2],hasBarLine=barSize.number>0;return{type:"genfrac",mode:parser.mode,numer,denom,continued:!1,hasBarLine,barSize,leftDelim:null,rightDelim:null,scriptLevel:"auto"}},mathmlBuilder:mathmlBuilder$5});defineFunction({type:"hbox",names:["\\hbox"],props:{numArgs:1,argTypes:["hbox"],allowedInArgument:!0,allowedInText:!1},handler({parser},args){return{type:"hbox",mode:parser.mode,body:ordargument(args[0])}},mathmlBuilder(group,style){let newStyle=style.withLevel(StyleLevel.TEXT),mrow=buildExpressionRow(group.body,newStyle);return consolidateText(mrow)}});var mathmlBuilder$4=(group,style)=>{let accentNode2=mathMLnode(group.label);return accentNode2.style["math-depth"]=0,new MathNode(group.isOver?"mover":"munder",[buildGroup$1(group.base,style),accentNode2])};defineFunction({type:"horizBracket",names:["\\overbrace","\\underbrace","\\overbracket","\\underbracket"],props:{numArgs:1},handler({parser,funcName},args){return{type:"horizBracket",mode:parser.mode,label:funcName,isOver:/^\\over/.test(funcName),base:args[0]}},mathmlBuilder:mathmlBuilder$4});defineFunction({type:"html",names:["\\class","\\id","\\style","\\data"],props:{numArgs:2,argTypes:["raw","original"],allowedInText:!0},handler:({parser,funcName,token},args)=>{let value=assertNodeType(args[0],"raw").string,body=args[1];if(parser.settings.strict)throw new ParseError(`Function "${funcName}" is disabled in strict mode`,token);let trustContext,attributes={};switch(funcName){case"\\class":attributes.class=value,trustContext={command:"\\class",class:value};break;case"\\id":attributes.id=value,trustContext={command:"\\id",id:value};break;case"\\style":attributes.style=value,trustContext={command:"\\style",style:value};break;case"\\data":{let data=value.split(",");for(let i=0;i<data.length;i++){let keyVal=data[i].split("=");if(keyVal.length!==2)throw new ParseError("Error parsing key-value for \\data");attributes["data-"+keyVal[0].trim()]=keyVal[1].trim()}trustContext={command:"\\data",attributes};break}default:throw new Error("Unrecognized html command")}if(!parser.settings.isTrusted(trustContext))throw new ParseError(`Function "${funcName}" is not trusted`,token);return{type:"html",mode:parser.mode,attributes,body:ordargument(body)}},mathmlBuilder:(group,style)=>{let element=buildExpressionRow(group.body,style),classes=[];group.attributes.class&&classes.push(...group.attributes.class.trim().split(/\s+/)),element.classes=classes;for(let attr in group.attributes)attr!=="class"&&Object.prototype.hasOwnProperty.call(group.attributes,attr)&&element.setAttribute(attr,group.attributes[attr]);return element}});var sizeData=function(str){if(/^[-+]? *(\d+(\.\d*)?|\.\d+)$/.test(str))return{number:+str,unit:"bp"};{let match=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/.exec(str);if(!match)throw new ParseError("Invalid size: '"+str+"' in \\includegraphics");let data={number:+(match[1]+match[2]),unit:match[3]};if(!validUnit(data))throw new ParseError("Invalid unit: '"+data.unit+"' in \\includegraphics.");return data}};defineFunction({type:"includegraphics",names:["\\includegraphics"],props:{numArgs:1,numOptionalArgs:1,argTypes:["raw","url"],allowedInText:!1},handler:({parser,token},args,optArgs)=>{let width={number:0,unit:"em"},height={number:.9,unit:"em"},totalheight={number:0,unit:"em"},alt="";if(optArgs[0]){let attributes=assertNodeType(optArgs[0],"raw").string.split(",");for(let i=0;i<attributes.length;i++){let keyVal=attributes[i].split("=");if(keyVal.length===2){let str=keyVal[1].trim();switch(keyVal[0].trim()){case"alt":alt=str;break;case"width":width=sizeData(str);break;case"height":height=sizeData(str);break;case"totalheight":totalheight=sizeData(str);break;default:throw new ParseError("Invalid key: '"+keyVal[0]+"' in \\includegraphics.")}}}}let src=assertNodeType(args[0],"url").url;if(alt===""&&(alt=src,alt=alt.replace(/^.*[\\/]/,""),alt=alt.substring(0,alt.lastIndexOf("."))),!parser.settings.isTrusted({command:"\\includegraphics",url:src}))throw new ParseError('Function "\\includegraphics" is not trusted',token);return{type:"includegraphics",mode:parser.mode,alt,width,height,totalheight,src}},mathmlBuilder:(group,style)=>{let height=calculateSize(group.height,style),depth={number:0,unit:"em"};group.totalheight.number>0&&group.totalheight.unit===height.unit&&group.totalheight.number>height.number&&(depth.number=group.totalheight.number-height.number,depth.unit=height.unit);let width=0;group.width.number>0&&(width=calculateSize(group.width,style));let graphicStyle={height:height.number+depth.number+"em"};width.number>0&&(graphicStyle.width=width.number+width.unit),depth.number>0&&(graphicStyle.verticalAlign=-depth.number+depth.unit);let node=new Img(group.src,group.alt,graphicStyle);return node.height=height,node.depth=depth,new MathNode("mtext",[node])}});defineFunction({type:"kern",names:["\\kern","\\mkern","\\hskip","\\mskip"],props:{numArgs:1,argTypes:["size"],primitive:!0,allowedInText:!0},handler({parser,funcName,token},args){let size=assertNodeType(args[0],"size");if(parser.settings.strict){let mathFunction=funcName[1]==="m",muUnit=size.value.unit==="mu";if(mathFunction){if(!muUnit)throw new ParseError(`LaTeX's ${funcName} supports only mu units, not ${size.value.unit} units`,token);if(parser.mode!=="math")throw new ParseError(`LaTeX's ${funcName} works only in math mode`,token)}else if(muUnit)throw new ParseError(`LaTeX's ${funcName} doesn't support mu units`,token)}return{type:"kern",mode:parser.mode,dimension:size.value}},mathmlBuilder(group,style){let dimension=calculateSize(group.dimension,style),ch=dimension.number>0&&dimension.unit==="em"?spaceCharacter(dimension.number):"";if(group.mode==="text"&&ch.length>0){let character=new TextNode(ch);return new MathNode("mtext",[character])}else if(dimension.number>=0){let node=new MathNode("mspace");return node.setAttribute("width",dimension.number+dimension.unit),node}else{let node=new MathNode("mrow");return node.style.marginLeft=dimension.number+dimension.unit,node}}});var spaceCharacter=function(width){return width>=.05555&&width<=.05556?"\u200A":width>=.1666&&width<=.1667?"\u2009":width>=.2222&&width<=.2223?"\u2005":width>=.2777&&width<=.2778?"\u2005\u200A":""},invalidIdRegEx=/[^A-Za-z_0-9-]/g;defineFunction({type:"label",names:["\\label"],props:{numArgs:1,argTypes:["raw"]},handler({parser},args){return{type:"label",mode:parser.mode,string:args[0].string.replace(invalidIdRegEx,"")}},mathmlBuilder(group,style){let node=new MathNode("mrow",[],["tml-label"]);return group.string.length>0&&node.setLabel(group.string),node}});var textModeLap=["\\clap","\\llap","\\rlap"];defineFunction({type:"lap",names:["\\mathllap","\\mathrlap","\\mathclap","\\clap","\\llap","\\rlap"],props:{numArgs:1,allowedInText:!0},handler:({parser,funcName,token},args)=>{if(textModeLap.includes(funcName)){if(parser.settings.strict&&parser.mode!=="text")throw new ParseError(`{${funcName}} can be used only in text mode.
188
+ Try \\math${funcName.slice(1)}`,token);funcName=funcName.slice(1)}else funcName=funcName.slice(5);let body=args[0];return{type:"lap",mode:parser.mode,alignment:funcName,body}},mathmlBuilder:(group,style)=>{let strut;if(group.alignment==="llap"){let phantomInner=buildExpression(ordargument(group.body),style),phantom2=new MathNode("mphantom",phantomInner);strut=new MathNode("mpadded",[phantom2]),strut.setAttribute("width","0.1px")}let inner2=buildGroup$1(group.body,style),node;if(group.alignment==="llap"?(inner2.style.position="absolute",inner2.style.right="0",inner2.style.bottom="0",node=new MathNode("mpadded",[strut,inner2])):node=new MathNode("mpadded",[inner2]),group.alignment==="rlap")group.body.body.length>0&&group.body.body[0].type==="genfrac"&&node.setAttribute("lspace","0.16667em");else{let offset2=group.alignment==="llap"?"-1":"-0.5";node.setAttribute("lspace",offset2+"width"),group.alignment==="llap"?node.style.position="relative":(node.style.display="flex",node.style.justifyContent="center")}return node.setAttribute("width","0.1px"),node}});defineFunction({type:"ordgroup",names:["\\(","$"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler({funcName,parser},args){let outerMode=parser.mode;parser.switchMode("math");let close2=funcName==="\\("?"\\)":"$",body=parser.parseExpression(!1,close2);return parser.expect(close2),parser.switchMode(outerMode),{type:"ordgroup",mode:parser.mode,body}}});defineFunction({type:"text",names:["\\)","\\]"],props:{numArgs:0,allowedInText:!0,allowedInMath:!1},handler(context,token){throw new ParseError(`Mismatched ${context.funcName}`,token)}});var chooseStyle=(group,style)=>{switch(style.level){case StyleLevel.DISPLAY:return group.display;case StyleLevel.TEXT:return group.text;case StyleLevel.SCRIPT:return group.script;case StyleLevel.SCRIPTSCRIPT:return group.scriptscript;default:return group.text}};defineFunction({type:"mathchoice",names:["\\mathchoice"],props:{numArgs:4,primitive:!0},handler:({parser},args)=>({type:"mathchoice",mode:parser.mode,display:ordargument(args[0]),text:ordargument(args[1]),script:ordargument(args[2]),scriptscript:ordargument(args[3])}),mathmlBuilder:(group,style)=>{let body=chooseStyle(group,style);return buildExpressionRow(body,style)}});var textAtomTypes=["text","textord","mathord","atom"];function mathmlBuilder$3(group,style){let node,inner2=buildExpression(group.body,style);if(group.mclass==="minner")node=new MathNode("mpadded",inner2);else if(group.mclass==="mord")group.isCharacterBox||inner2[0].type==="mathord"?(node=inner2[0],node.type="mi",node.children.length===1&&node.children[0].text&&node.children[0].text==="\u2207"&&node.setAttribute("mathvariant","normal")):node=new MathNode("mi",inner2);else{node=new MathNode("mrow",inner2),group.mustPromote?(node=inner2[0],node.type="mo",group.isCharacterBox&&group.body[0].text&&/[A-Za-z]/.test(group.body[0].text)&&node.setAttribute("mathvariant","italic")):node=new MathNode("mrow",inner2);let doSpacing=style.level<2;node.type==="mrow"?doSpacing&&(group.mclass==="mbin"?(node.children.unshift(padding(.2222)),node.children.push(padding(.2222))):group.mclass==="mrel"?(node.children.unshift(padding(.2778)),node.children.push(padding(.2778))):group.mclass==="mpunct"?node.children.push(padding(.1667)):group.mclass==="minner"&&(node.children.unshift(padding(.0556)),node.children.push(padding(.0556)))):group.mclass==="mbin"?(node.attributes.lspace=doSpacing?"0.2222em":"0",node.attributes.rspace=doSpacing?"0.2222em":"0"):group.mclass==="mrel"?(node.attributes.lspace=doSpacing?"0.2778em":"0",node.attributes.rspace=doSpacing?"0.2778em":"0"):group.mclass==="mpunct"?(node.attributes.lspace="0em",node.attributes.rspace=doSpacing?"0.1667em":"0"):group.mclass==="mopen"||group.mclass==="mclose"?(node.attributes.lspace="0em",node.attributes.rspace="0em"):group.mclass==="minner"&&doSpacing&&(node.attributes.lspace="0.0556em",node.attributes.width="+0.1111em"),group.mclass==="mopen"||group.mclass==="mclose"||(delete node.attributes.stretchy,delete node.attributes.form)}return node}defineFunction({type:"mclass",names:["\\mathord","\\mathbin","\\mathrel","\\mathopen","\\mathclose","\\mathpunct","\\mathinner"],props:{numArgs:1,primitive:!0},handler({parser,funcName},args){let body=args[0],isCharacterBox$1=isCharacterBox(body),mustPromote=!0,mord={type:"mathord",text:"",mode:parser.mode},arr=body.body?body.body:[body];for(let arg of arr)if(textAtomTypes.includes(arg.type))symbols[parser.mode][arg.text]?mord.text+=symbols[parser.mode][arg.text].replace:arg.text?mord.text+=arg.text:arg.body&&arg.body.map(e=>{mord.text+=e.text});else{mustPromote=!1;break}return mustPromote&&funcName==="\\mathord"&&mord.type==="mathord"&&mord.text.length>1?mord:{type:"mclass",mode:parser.mode,mclass:"m"+funcName.slice(5),body:ordargument(mustPromote?mord:body),isCharacterBox:isCharacterBox$1,mustPromote}},mathmlBuilder:mathmlBuilder$3});var binrelClass=arg=>{let atom=arg.type==="ordgroup"&&arg.body.length&&arg.body.length===1?arg.body[0]:arg;if(atom.type==="atom"){let family=arg.body.length>0&&arg.body[0].text&&symbols.math[arg.body[0].text]?symbols.math[arg.body[0].text].group:atom.family;return family==="bin"||family==="rel"?"m"+family:"mord"}else return"mord"};defineFunction({type:"mclass",names:["\\@binrel"],props:{numArgs:2},handler({parser},args){return{type:"mclass",mode:parser.mode,mclass:binrelClass(args[0]),body:ordargument(args[1]),isCharacterBox:isCharacterBox(args[1])}}});defineFunction({type:"mclass",names:["\\stackrel","\\overset","\\underset"],props:{numArgs:2},handler({parser,funcName},args){let baseArg=args[1],shiftedArg=args[0],mclass;funcName!=="\\stackrel"?mclass=binrelClass(baseArg):mclass="mrel";let baseOp={type:mclass==="mrel"||mclass==="mbin"?"op":"ordgroup",mode:baseArg.mode,limits:!0,alwaysHandleSupSub:!0,parentIsSupSub:!1,symbol:!1,suppressBaseShift:funcName!=="\\stackrel",body:ordargument(baseArg)};return{type:"supsub",mode:shiftedArg.mode,stack:!0,base:baseOp,sup:funcName==="\\underset"?null:shiftedArg,sub:funcName==="\\underset"?shiftedArg:null}},mathmlBuilder:mathmlBuilder$3});var buildGroup=(el,style,noneNode)=>{if(!el)return noneNode;let node=buildGroup$1(el,style);return node.type==="mrow"&&node.children.length===0?noneNode:node};defineFunction({type:"multiscript",names:["\\sideset","\\pres@cript"],props:{numArgs:3},handler({parser,funcName,token},args){if(args[2].body.length===0)throw new ParseError(funcName+"cannot parse an empty base.");let base=args[2].body[0];if(parser.settings.strict&&funcName==="\\sideset"&&!base.symbol)throw new ParseError("The base of \\sideset must be a big operator. Try \\prescript.");if(args[0].body.length>0&&args[0].body[0].type!=="supsub"||args[1].body.length>0&&args[1].body[0].type!=="supsub")throw new ParseError("\\sideset can parse only subscripts and superscripts in its first two arguments",token);let prescripts=args[0].body.length>0?args[0].body[0]:null,postscripts=args[1].body.length>0?args[1].body[0]:null;return!prescripts&&!postscripts?base:prescripts?{type:"multiscript",mode:parser.mode,isSideset:funcName==="\\sideset",prescripts,postscripts,base}:{type:"styling",mode:parser.mode,scriptLevel:"text",body:[{type:"supsub",mode:parser.mode,base,sup:postscripts.sup,sub:postscripts.sub}]}},mathmlBuilder(group,style){let base=buildGroup$1(group.base,style),prescriptsNode=new MathNode("mprescripts"),noneNode=new MathNode("none"),children=[],preSub=buildGroup(group.prescripts.sub,style,noneNode),preSup=buildGroup(group.prescripts.sup,style,noneNode);if(group.isSideset&&(preSub.setAttribute("style","text-align: left;"),preSup.setAttribute("style","text-align: left;")),group.postscripts){let postSub=buildGroup(group.postscripts.sub,style,noneNode),postSup=buildGroup(group.postscripts.sup,style,noneNode);children=[base,postSub,postSup,prescriptsNode,preSub,preSup]}else children=[base,prescriptsNode,preSub,preSup];return new MathNode("mmultiscripts",children)}});defineFunction({type:"not",names:["\\not"],props:{numArgs:1,primitive:!0,allowedInText:!1},handler({parser},args){let isCharacterBox$1=isCharacterBox(args[0]),body;return isCharacterBox$1?(body=ordargument(args[0]),body[0].text.charAt(0)==="\\"&&(body[0].text=symbols.math[body[0].text].replace),body[0].text=body[0].text.slice(0,1)+"\u0338"+body[0].text.slice(1)):body=[{type:"textord",mode:"math",text:"\u0338"},{type:"kern",mode:"math",dimension:{number:-.6,unit:"em"}},args[0]],{type:"not",mode:parser.mode,body,isCharacterBox:isCharacterBox$1}},mathmlBuilder(group,style){return group.isCharacterBox?buildExpression(group.body,style,!0)[0]:buildExpressionRow(group.body,style)}});var ordAtomTypes=["textord","mathord","atom"],noSuccessor=["\\smallint"],ordTypes=["textord","mathord","ordgroup","close","leftright","font"],setSpacing=node=>{node.attributes.lspace="0.1667em",node.attributes.rspace="0.1667em"},mathmlBuilder$2=(group,style)=>{let node;if(group.symbol)node=new MathNode("mo",[makeText(group.name,group.mode)]),noSuccessor.includes(group.name)?node.setAttribute("largeop","false"):node.setAttribute("movablelimits","false"),group.fromMathOp&&setSpacing(node);else if(group.body)node=new MathNode("mo",buildExpression(group.body,style)),group.fromMathOp&&setSpacing(node);else if(node=new MathNode("mi",[new TextNode(group.name.slice(1))]),!group.parentIsSupSub){let operator=new MathNode("mo",[makeText("\u2061","text")]),row=[node,operator];if(group.needsLeadingSpace){let lead=new MathNode("mspace");lead.setAttribute("width","0.1667em"),row.unshift(lead)}if(!group.isFollowedByDelimiter){let trail=new MathNode("mspace");trail.setAttribute("width","0.1667em"),row.push(trail)}node=new MathNode("mrow",row)}return node},singleCharBigOps={"\u220F":"\\prod","\u2210":"\\coprod","\u2211":"\\sum","\u22C0":"\\bigwedge","\u22C1":"\\bigvee","\u22C2":"\\bigcap","\u22C3":"\\bigcup","\u2A00":"\\bigodot","\u2A01":"\\bigoplus","\u2A02":"\\bigotimes","\u2A04":"\\biguplus","\u2A05":"\\bigsqcap","\u2A06":"\\bigsqcup","\u2A03":"\\bigcupdot","\u2A07":"\\bigdoublevee","\u2A08":"\\bigdoublewedge","\u2A09":"\\bigtimes"};defineFunction({type:"op",names:["\\coprod","\\bigvee","\\bigwedge","\\biguplus","\\bigcupplus","\\bigcupdot","\\bigcap","\\bigcup","\\bigdoublevee","\\bigdoublewedge","\\intop","\\prod","\\sum","\\bigotimes","\\bigoplus","\\bigodot","\\bigsqcap","\\bigsqcup","\\bigtimes","\\smallint","\u220F","\u2210","\u2211","\u22C0","\u22C1","\u22C2","\u22C3","\u2A00","\u2A01","\u2A02","\u2A03","\u2A04","\u2A05","\u2A06","\u2A07","\u2A08","\u2A09"],props:{numArgs:0},handler:({parser,funcName},args)=>{let fName=funcName;return fName.length===1&&(fName=singleCharBigOps[fName]),{type:"op",mode:parser.mode,limits:!0,parentIsSupSub:!1,symbol:!0,stack:!1,name:fName}},mathmlBuilder:mathmlBuilder$2});defineFunction({type:"op",names:["\\mathop"],props:{numArgs:1,primitive:!0},handler:({parser},args)=>{let body=args[0],arr=body.body?body.body:[body],isSymbol=arr.length===1&&ordAtomTypes.includes(arr[0].type);return{type:"op",mode:parser.mode,limits:!0,parentIsSupSub:!1,symbol:isSymbol,fromMathOp:!0,stack:!1,name:isSymbol?arr[0].text:null,body:isSymbol?null:ordargument(body)}},mathmlBuilder:mathmlBuilder$2});var singleCharIntegrals={"\u222B":"\\int","\u222C":"\\iint","\u222D":"\\iiint","\u222E":"\\oint","\u222F":"\\oiint","\u2230":"\\oiiint","\u2231":"\\intclockwise","\u2232":"\\varointclockwise","\u2A0C":"\\iiiint","\u2A0D":"\\intbar","\u2A0E":"\\intBar","\u2A0F":"\\fint","\u2A12":"\\rppolint","\u2A13":"\\scpolint","\u2A15":"\\pointint","\u2A16":"\\sqint","\u2A17":"\\intlarhk","\u2A18":"\\intx","\u2A19":"\\intcap","\u2A1A":"\\intcup"};defineFunction({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","\\sgn","\\tan","\\tanh","\\tg","\\th"],props:{numArgs:0},handler({parser,funcName}){let prevAtomType=parser.prevAtomType,next=parser.gullet.future().text;return{type:"op",mode:parser.mode,limits:!1,parentIsSupSub:!1,symbol:!1,stack:!1,isFollowedByDelimiter:isDelimiter(next),needsLeadingSpace:prevAtomType.length>0&&ordTypes.includes(prevAtomType),name:funcName}},mathmlBuilder:mathmlBuilder$2});defineFunction({type:"op",names:["\\det","\\gcd","\\inf","\\lim","\\max","\\min","\\Pr","\\sup"],props:{numArgs:0},handler({parser,funcName}){let prevAtomType=parser.prevAtomType,next=parser.gullet.future().text;return{type:"op",mode:parser.mode,limits:!0,parentIsSupSub:!1,symbol:!1,stack:!1,isFollowedByDelimiter:isDelimiter(next),needsLeadingSpace:prevAtomType.length>0&&ordTypes.includes(prevAtomType),name:funcName}},mathmlBuilder:mathmlBuilder$2});defineFunction({type:"op",names:["\\int","\\iint","\\iiint","\\iiiint","\\oint","\\oiint","\\oiiint","\\intclockwise","\\varointclockwise","\\intbar","\\intBar","\\fint","\\rppolint","\\scpolint","\\pointint","\\sqint","\\intlarhk","\\intx","\\intcap","\\intcup","\u222B","\u222C","\u222D","\u222E","\u222F","\u2230","\u2231","\u2232","\u2A0C","\u2A0D","\u2A0E","\u2A0F","\u2A12","\u2A13","\u2A15","\u2A16","\u2A17","\u2A18","\u2A19","\u2A1A"],props:{numArgs:0,allowedInArgument:!0},handler({parser,funcName}){let fName=funcName;return fName.length===1&&(fName=singleCharIntegrals[fName]),{type:"op",mode:parser.mode,limits:!1,parentIsSupSub:!1,symbol:!0,stack:!1,name:fName}},mathmlBuilder:mathmlBuilder$2});var mathmlBuilder$1=(group,style)=>{let expression=buildExpression(group.body,style.withFont("mathrm")),isAllString=!0;for(let i=0;i<expression.length;i++){let node=expression[i];if(node instanceof MathNode)switch(((node.type==="mrow"||node.type==="mpadded")&&node.children.length===1&&node.children[0]instanceof MathNode||node.type==="mrow"&&node.children.length===2&&node.children[0]instanceof MathNode&&node.children[1]instanceof MathNode&&node.children[1].type==="mspace"&&!node.children[1].attributes.width&&node.children[1].children.length===0)&&(node=node.children[0]),node.type){case"mi":case"mn":case"ms":case"mtext":break;case"mspace":if(node.attributes.width){let width=node.attributes.width.replace("em",""),ch=spaceCharacter(Number(width));ch===""?isAllString=!1:expression[i]=new MathNode("mtext",[new TextNode(ch)])}break;case"mo":{let child=node.children[0];node.children.length===1&&child instanceof TextNode?child.text=child.text.replace(/\u2212/,"-").replace(/\u2217/,"*"):isAllString=!1;break}default:isAllString=!1}else isAllString=!1}if(isAllString){let word=expression.map(node=>node.toText()).join("");expression=[new TextNode(word)]}else if(expression.length===1&&["mover","munder"].includes(expression[0].type)&&(expression[0].children[0].type==="mi"||expression[0].children[0].type==="mtext")){if(expression[0].children[0].type="mi",group.parentIsSupSub)return new MathNode("mrow",expression);{let operator=new MathNode("mo",[makeText("\u2061","text")]);return newDocumentFragment([expression[0],operator])}}let wrapper;if(isAllString?(wrapper=new MathNode("mi",expression),expression[0].text.length===1&&wrapper.setAttribute("mathvariant","normal")):wrapper=new MathNode("mrow",expression),!group.parentIsSupSub){let operator=new MathNode("mo",[makeText("\u2061","text")]),fragment=[wrapper,operator];if(group.needsLeadingSpace){let space=new MathNode("mspace");space.setAttribute("width","0.1667em"),fragment.unshift(space)}if(!group.isFollowedByDelimiter){let trail=new MathNode("mspace");trail.setAttribute("width","0.1667em"),fragment.push(trail)}return newDocumentFragment(fragment)}return wrapper};defineFunction({type:"operatorname",names:["\\operatorname@","\\operatornamewithlimits"],props:{numArgs:1,allowedInArgument:!0},handler:({parser,funcName},args)=>{let body=args[0],prevAtomType=parser.prevAtomType,next=parser.gullet.future().text;return{type:"operatorname",mode:parser.mode,body:ordargument(body),alwaysHandleSupSub:funcName==="\\operatornamewithlimits",limits:!1,parentIsSupSub:!1,isFollowedByDelimiter:isDelimiter(next),needsLeadingSpace:prevAtomType.length>0&&ordTypes.includes(prevAtomType)}},mathmlBuilder:mathmlBuilder$1});defineMacro("\\operatorname","\\@ifstar\\operatornamewithlimits\\operatorname@");defineFunctionBuilders({type:"ordgroup",mathmlBuilder(group,style){return buildExpressionRow(group.body,style,group.semisimple)}});defineFunction({type:"phantom",names:["\\phantom"],props:{numArgs:1,allowedInText:!0},handler:({parser},args)=>{let body=args[0];return{type:"phantom",mode:parser.mode,body:ordargument(body)}},mathmlBuilder:(group,style)=>{let inner2=buildExpression(group.body,style);return new MathNode("mphantom",inner2)}});defineFunction({type:"hphantom",names:["\\hphantom"],props:{numArgs:1,allowedInText:!0},handler:({parser},args)=>{let body=args[0];return{type:"hphantom",mode:parser.mode,body}},mathmlBuilder:(group,style)=>{let inner2=buildExpression(ordargument(group.body),style),phantom2=new MathNode("mphantom",inner2),node=new MathNode("mpadded",[phantom2]);return node.setAttribute("height","0px"),node.setAttribute("depth","0px"),node}});defineFunction({type:"vphantom",names:["\\vphantom"],props:{numArgs:1,allowedInText:!0},handler:({parser},args)=>{let body=args[0];return{type:"vphantom",mode:parser.mode,body}},mathmlBuilder:(group,style)=>{let inner2=buildExpression(ordargument(group.body),style),phantom2=new MathNode("mphantom",inner2),node=new MathNode("mpadded",[phantom2]);return node.setAttribute("width","0.1px"),node}});defineFunction({type:"pmb",names:["\\pmb"],props:{numArgs:1,allowedInText:!0},handler({parser},args){return{type:"pmb",mode:parser.mode,body:ordargument(args[0])}},mathmlBuilder(group,style){let inner2=buildExpression(group.body,style),node=wrapWithMstyle(inner2);return node.setAttribute("style","font-weight:bold"),node}});var mathmlBuilder=(group,style)=>{let newStyle=style.withLevel(StyleLevel.TEXT),node=new MathNode("mpadded",[buildGroup$1(group.body,newStyle)]),dy=calculateSize(group.dy,style);return node.setAttribute("voffset",dy.number+dy.unit),dy.number>0?node.style.padding=dy.number+dy.unit+" 0 0 0":node.style.padding="0 0 "+Math.abs(dy.number)+dy.unit+" 0",node};defineFunction({type:"raise",names:["\\raise","\\lower"],props:{numArgs:2,argTypes:["size","primitive"],primitive:!0},handler({parser,funcName},args){let amount=assertNodeType(args[0],"size").value;funcName==="\\lower"&&(amount.number*=-1);let body=args[1];return{type:"raise",mode:parser.mode,dy:amount,body}},mathmlBuilder});defineFunction({type:"raise",names:["\\raisebox"],props:{numArgs:2,argTypes:["size","hbox"],allowedInText:!0},handler({parser,funcName},args){let amount=assertNodeType(args[0],"size").value,body=args[1];return{type:"raise",mode:parser.mode,dy:amount,body}},mathmlBuilder});defineFunction({type:"ref",names:["\\ref","\\eqref"],props:{numArgs:1,argTypes:["raw"]},handler({parser,funcName},args){return{type:"ref",mode:parser.mode,funcName,string:args[0].string.replace(invalidIdRegEx,"")}},mathmlBuilder(group,style){let classes=group.funcName==="\\ref"?["tml-ref"]:["tml-ref","tml-eqref"];return new AnchorNode("#"+group.string,classes,null)}});defineFunction({type:"reflect",names:["\\reflectbox"],props:{numArgs:1,argTypes:["hbox"],allowedInText:!0},handler({parser},args){return{type:"reflect",mode:parser.mode,body:args[0]}},mathmlBuilder(group,style){let node=buildGroup$1(group.body,style);return node.style.transform="scaleX(-1)",node}});defineFunction({type:"internal",names:["\\relax"],props:{numArgs:0,allowedInText:!0,allowedInArgument:!0},handler({parser}){return{type:"internal",mode:parser.mode}}});defineFunction({type:"rule",names:["\\rule"],props:{numArgs:2,numOptionalArgs:1,allowedInText:!0,allowedInMath:!0,argTypes:["size","size","size"]},handler({parser},args,optArgs){let shift=optArgs[0],width=assertNodeType(args[0],"size"),height=assertNodeType(args[1],"size");return{type:"rule",mode:parser.mode,shift:shift&&assertNodeType(shift,"size").value,width:width.value,height:height.value}},mathmlBuilder(group,style){let width=calculateSize(group.width,style),height=calculateSize(group.height,style),shift=group.shift?calculateSize(group.shift,style):{number:0,unit:"em"},color=style.color&&style.getColor()||"black",rule=new MathNode("mspace");if(width.number>0&&height.number>0&&rule.setAttribute("mathbackground",color),rule.setAttribute("width",width.number+width.unit),rule.setAttribute("height",height.number+height.unit),shift.number===0)return rule;let wrapper=new MathNode("mpadded",[rule]);return shift.number>=0?wrapper.setAttribute("height","+"+shift.number+shift.unit):(wrapper.setAttribute("height",shift.number+shift.unit),wrapper.setAttribute("depth","+"+-shift.number+shift.unit)),wrapper.setAttribute("voffset",shift.number+shift.unit),wrapper}});var numRegEx=/^[0-9]$/,unicodeNumSubs={0:"\u2080",1:"\u2081",2:"\u2082",3:"\u2083",4:"\u2084",5:"\u2085",6:"\u2086",7:"\u2087",8:"\u2088",9:"\u2089"},unicodeNumSups={0:"\u2070",1:"\xB9",2:"\xB2",3:"\xB3",4:"\u2074",5:"\u2075",6:"\u2076",7:"\u2077",8:"\u2078",9:"\u2079"};defineFunction({type:"sfrac",names:["\\sfrac"],props:{numArgs:2,allowedInText:!0,allowedInMath:!0},handler({parser},args){let numerator="";for(let node of args[0].body){if(node.type!=="textord"||!numRegEx.test(node.text))throw new ParseError("Numerator must be an integer.",node);numerator+=node.text}let denominator="";for(let node of args[1].body){if(node.type!=="textord"||!numRegEx.test(node.text))throw new ParseError("Denominator must be an integer.",node);denominator+=node.text}return{type:"sfrac",mode:parser.mode,numerator,denominator}},mathmlBuilder(group,style){let numerator=group.numerator.split("").map(c=>unicodeNumSups[c]).join(""),denominator=group.denominator.split("").map(c=>unicodeNumSubs[c]).join(""),text2=new TextNode(numerator+"\u2044"+denominator,group.mode,style);return new MathNode("mn",[text2],["special-fraction"])}});var sizeMap={"\\tiny":.5,"\\sixptsize":.6,"\\Tiny":.6,"\\scriptsize":.7,"\\footnotesize":.8,"\\small":.9,"\\normalsize":1,"\\large":1.2,"\\Large":1.44,"\\LARGE":1.728,"\\huge":2.074,"\\Huge":2.488};defineFunction({type:"sizing",names:["\\tiny","\\sixptsize","\\Tiny","\\scriptsize","\\footnotesize","\\small","\\normalsize","\\large","\\Large","\\LARGE","\\huge","\\Huge"],props:{numArgs:0,allowedInText:!0},handler:({breakOnTokenText,funcName,parser},args)=>{parser.settings.strict&&parser.mode==="math"&&console.log(`Temml strict-mode warning: Command ${funcName} is invalid in math mode.`);let body=parser.parseExpression(!1,breakOnTokenText,!0);return{type:"sizing",mode:parser.mode,funcName,body}},mathmlBuilder:(group,style)=>{let newStyle=style.withFontSize(sizeMap[group.funcName]),inner2=buildExpression(group.body,newStyle),node=wrapWithMstyle(inner2),factor=(sizeMap[group.funcName]/style.fontSize).toFixed(4);return node.setAttribute("mathsize",factor+"em"),node}});defineFunction({type:"smash",names:["\\smash"],props:{numArgs:1,numOptionalArgs:1,allowedInText:!0},handler:({parser},args,optArgs)=>{let smashHeight=!1,smashDepth=!1,tbArg=optArgs[0]&&assertNodeType(optArgs[0],"ordgroup");if(tbArg){let letter="";for(let i=0;i<tbArg.body.length;++i)if(letter=tbArg.body[i].text,letter==="t")smashHeight=!0;else if(letter==="b")smashDepth=!0;else{smashHeight=!1,smashDepth=!1;break}}else smashHeight=!0,smashDepth=!0;let body=args[0];return{type:"smash",mode:parser.mode,body,smashHeight,smashDepth}},mathmlBuilder:(group,style)=>{let node=new MathNode("mpadded",[buildGroup$1(group.body,style)]);return group.smashHeight&&node.setAttribute("height","0px"),group.smashDepth&&node.setAttribute("depth","0px"),node}});var xHeights=["a","c","e","\u0131","m","n","o","r","s","u","v","w","x","z","\u03B1","\u03B5","\u03B9","\u03BA","\u03BD","\u03BF","\u03C0","\u03C3","\u03C4","\u03C5","\u03C9","\\alpha","\\epsilon","\\iota","\\kappa","\\nu","\\omega","\\pi","\\tau","\\omega"];defineFunction({type:"sqrt",names:["\\sqrt"],props:{numArgs:1,numOptionalArgs:1},handler({parser},args,optArgs){let index=optArgs[0],body=args[0];return body.body&&body.body.length===1&&body.body[0].text&&xHeights.includes(body.body[0].text)&&body.body.push({type:"rule",mode:"math",shift:null,width:{number:0,unit:"pt"},height:{number:.5,unit:"em"}}),{type:"sqrt",mode:parser.mode,body,index}},mathmlBuilder(group,style){let{body,index}=group;return index?new MathNode("mroot",[buildGroup$1(body,style),buildGroup$1(index,style.incrementLevel())]):new MathNode("msqrt",[buildGroup$1(body,style)])}});var styleMap={display:0,text:1,script:2,scriptscript:3},styleAttributes={display:["0","true"],text:["0","false"],script:["1","false"],scriptscript:["2","false"]};defineFunction({type:"styling",names:["\\displaystyle","\\textstyle","\\scriptstyle","\\scriptscriptstyle"],props:{numArgs:0,allowedInText:!0,primitive:!0},handler({breakOnTokenText,funcName,parser},args){let body=parser.parseExpression(!0,breakOnTokenText,!0),scriptLevel2=funcName.slice(1,funcName.length-5);return{type:"styling",mode:parser.mode,scriptLevel:scriptLevel2,body}},mathmlBuilder(group,style){let newStyle=style.withLevel(styleMap[group.scriptLevel]),inner2=buildExpression(group.body,newStyle),node=wrapWithMstyle(inner2),attr=styleAttributes[group.scriptLevel];return node.setAttribute("scriptlevel",attr[0]),node.setAttribute("displaystyle",attr[1]),node}});var symbolRegEx=/^m(over|under|underover)$/,smallPad="DHKLUcegorsuvxyz\u03A0\u03A5\u03A8\u03B1\u03B4\u03B7\u03B9\u03BC\u03BD\u03BF\u03C4\u03C5\u03C7\u03F5",mediumPad="BCEFGIMNOPQRSTXZlpqtw\u0393\u0398\u039E\u03A3\u03A6\u03A9\u03B2\u03B5\u03B6\u03B8\u03BE\u03C1\u03C2\u03C6\u03C8\u03D1\u03D5\u03F1",largePad="AJdf\u0394\u039B";defineFunctionBuilders({type:"supsub",mathmlBuilder(group,style){let isBracket=!1,isOver,isSup,appendApplyFunction=!1,appendSpace=!1,needsLeadingSpace=!1;group.base&&group.base.type==="horizBracket"&&(isSup=!!group.sup,isSup===group.base.isOver&&(isBracket=!0,isOver=group.base.isOver)),group.base&&!group.stack&&(group.base.type==="op"||group.base.type==="operatorname")&&(group.base.parentIsSupSub=!0,appendApplyFunction=!group.base.symbol,appendSpace=appendApplyFunction&&!group.isFollowedByDelimiter,needsLeadingSpace=group.base.needsLeadingSpace);let children=group.stack&&group.base.body.length===1?[buildGroup$1(group.base.body[0],style)]:[buildGroup$1(group.base,style)],childStyle=style.inSubOrSup();if(group.sub){let sub=buildGroup$1(group.sub,childStyle);style.level===3&&sub.setAttribute("scriptlevel","2"),children.push(sub)}if(group.sup){let sup=buildGroup$1(group.sup,childStyle);if(style.level===3&&sup.setAttribute("scriptlevel","2"),group.base&&group.base.text&&group.base.text.length===1){let text2=group.base.text;smallPad.indexOf(text2)>-1?sup.classes.push("tml-sml-pad"):mediumPad.indexOf(text2)>-1?sup.classes.push("tml-med-pad"):largePad.indexOf(text2)>-1&&sup.classes.push("tml-lrg-pad")}children.push(sup)}let nodeType;if(isBracket)nodeType=isOver?"mover":"munder";else if(group.sub)if(group.sup){let base=group.base;base&&(base.type==="op"&&base.limits||base.type==="multiscript")&&(style.level===StyleLevel.DISPLAY||base.alwaysHandleSupSub)||base&&base.type==="operatorname"&&base.alwaysHandleSupSub&&(style.level===StyleLevel.DISPLAY||base.limits)?nodeType="munderover":nodeType="msubsup"}else{let base=group.base;group.stack||base&&base.type==="op"&&base.limits&&(style.level===StyleLevel.DISPLAY||base.alwaysHandleSupSub)||base&&base.type==="operatorname"&&base.alwaysHandleSupSub&&(base.limits||style.level===StyleLevel.DISPLAY)?nodeType="munder":nodeType="msub"}else{let base=group.base;base&&base.type==="op"&&base.limits&&(style.level===StyleLevel.DISPLAY||base.alwaysHandleSupSub)||base&&base.type==="operatorname"&&base.alwaysHandleSupSub&&(base.limits||style.level===StyleLevel.DISPLAY)?nodeType="mover":nodeType="msup"}let node=new MathNode(nodeType,children);if(appendApplyFunction){let operator=new MathNode("mo",[makeText("\u2061","text")]);if(needsLeadingSpace){let space=new MathNode("mspace");space.setAttribute("width","0.1667em"),node=newDocumentFragment([space,node,operator])}else node=newDocumentFragment([node,operator]);if(appendSpace){let space=new MathNode("mspace");space.setAttribute("width","0.1667em"),node.children.push(space)}}else symbolRegEx.test(nodeType)&&(node=new MathNode("mrow",[node]));return node}});var short=["\\shortmid","\\nshortmid","\\shortparallel","\\nshortparallel","\\smallsetminus"],arrows=["\\Rsh","\\Lsh","\\restriction"],isArrow=str=>{if(str.length===1){let codePoint=str.codePointAt(0);return 8591<codePoint&&codePoint<8704}return str.indexOf("arrow")>-1||str.indexOf("harpoon")>-1||arrows.includes(str)};defineFunctionBuilders({type:"atom",mathmlBuilder(group,style){let node=new MathNode("mo",[makeText(group.text,group.mode)]);if(group.family==="punct")node.setAttribute("separator","true");else if(group.family==="open"||group.family==="close")group.family==="open"?(node.setAttribute("form","prefix"),node.setAttribute("stretchy","false")):group.family==="close"&&(node.setAttribute("form","postfix"),node.setAttribute("stretchy","false"));else if(group.text==="\\mid")node.setAttribute("lspace","0.22em"),node.setAttribute("rspace","0.22em"),node.setAttribute("stretchy","false");else if(group.family==="rel"&&isArrow(group.text))node.setAttribute("stretchy","false");else if(short.includes(group.text))node.setAttribute("mathsize","70%");else if(group.text===":")node.attributes.lspace="0.2222em",node.attributes.rspace="0.2222em";else if(group.needsSpacing)return group.family==="bin"?new MathNode("mrow",[padding(.222),node,padding(.222)]):new MathNode("mrow",[padding(.2778),node,padding(.2778)]);return node}});var fontMap={mathbf:"bold",mathrm:"normal",textit:"italic",mathit:"italic",mathnormal:"italic",mathbb:"double-struck",mathcal:"script",mathfrak:"fraktur",mathscr:"script",mathsf:"sans-serif",mathtt:"monospace"},getVariant=function(group,style){if(style.fontFamily==="texttt")return"monospace";if(style.fontFamily==="textsc")return"normal";if(style.fontFamily==="textsf")return style.fontShape==="textit"&&style.fontWeight==="textbf"?"sans-serif-bold-italic":style.fontShape==="textit"?"sans-serif-italic":style.fontWeight==="textbf"?"sans-serif-bold":"sans-serif";if(style.fontShape==="textit"&&style.fontWeight==="textbf")return"bold-italic";if(style.fontShape==="textit")return"italic";if(style.fontWeight==="textbf")return"bold";let font=style.font;if(!font||font==="mathnormal")return null;let mode=group.mode;switch(font){case"mathit":return"italic";case"mathrm":{let codePoint=group.text.codePointAt(0);return 939<codePoint&&codePoint<975?"italic":"normal"}case"greekItalic":return"italic";case"up@greek":return"normal";case"boldsymbol":case"mathboldsymbol":return"bold-italic";case"mathbf":return"bold";case"mathbb":return"double-struck";case"mathfrak":return"fraktur";case"mathscr":case"mathcal":return"script";case"mathsf":return"sans-serif";case"mathsfit":return"sans-serif-italic";case"mathtt":return"monospace"}let text2=group.text;return symbols[mode][text2]&&symbols[mode][text2].replace&&(text2=symbols[mode][text2].replace),Object.prototype.hasOwnProperty.call(fontMap,font)?fontMap[font]:null},numberRegEx=/^\d(?:[\d,.]*\d)?$/,latinRegEx=/[A-Ba-z]/,primes=new Set(["\\prime","\\dprime","\\trprime","\\qprime","\\backprime","\\backdprime","\\backtrprime"]),italicNumber=(text2,variant,tag)=>{let mn=new MathNode(tag,[text2]),wrapper=new MathNode("mstyle",[mn]);return wrapper.style["font-style"]="italic",wrapper.style["font-family"]="Cambria, 'Times New Roman', serif",variant==="bold-italic"&&(wrapper.style["font-weight"]="bold"),wrapper};defineFunctionBuilders({type:"mathord",mathmlBuilder(group,style){let text2=makeText(group.text,group.mode,style),codePoint=text2.text.codePointAt(0),defaultVariant=912<codePoint&&codePoint<938?"normal":"italic",variant=getVariant(group,style)||defaultVariant;if(variant==="script")return text2.text=variantChar(text2.text,variant),new MathNode("mi",[text2],[style.font]);variant!=="italic"&&(text2.text=variantChar(text2.text,variant));let node=new MathNode("mi",[text2]);if(variant==="normal"&&(node.setAttribute("mathvariant","normal"),text2.text.length===1)){let mspace=new MathNode("mspace",[]);node=new MathNode("mrow",[node,mspace])}return node}});defineFunctionBuilders({type:"textord",mathmlBuilder(group,style){let ch=group.text,codePoint=ch.codePointAt(0);style.fontFamily==="textsc"&&96<codePoint&&codePoint<123&&(ch=smallCaps[ch]);let text2=makeText(ch,group.mode,style),variant=getVariant(group,style)||"normal",node;if(numberRegEx.test(group.text)){let tag=group.mode==="text"?"mtext":"mn";if(variant==="italic"||variant==="bold-italic")return italicNumber(text2,variant,tag);variant!=="normal"&&(text2.text=text2.text.split("").map(c=>variantChar(c,variant)).join("")),node=new MathNode(tag,[text2])}else if(group.mode==="text")variant!=="normal"&&(text2.text=variantChar(text2.text,variant)),node=new MathNode("mtext",[text2]);else if(primes.has(group.text))node=new MathNode("mo",[text2]),node.classes.push("tml-prime");else{let origText=text2.text;variant!=="italic"&&(text2.text=variantChar(text2.text,variant)),node=new MathNode("mi",[text2]),text2.text===origText&&latinRegEx.test(origText)&&node.setAttribute("mathvariant","italic")}return node}});var cssSpace={"\\nobreak":"nobreak","\\allowbreak":"allowbreak"},regularSpace={" ":{},"\\ ":{},"~":{className:"nobreak"},"\\space":{},"\\nobreakspace":{className:"nobreak"}};defineFunctionBuilders({type:"spacing",mathmlBuilder(group,style){let node;if(Object.prototype.hasOwnProperty.call(regularSpace,group.text))node=new MathNode("mtext",[new TextNode("\xA0")]);else if(Object.prototype.hasOwnProperty.call(cssSpace,group.text))node=new MathNode("mo"),group.text==="\\nobreak"&&node.setAttribute("linebreak","nobreak");else throw new ParseError(`Unknown type of space "${group.text}"`);return node}});defineFunctionBuilders({type:"tag"});var textFontFamilies={"\\text":void 0,"\\textrm":"textrm","\\textsf":"textsf","\\texttt":"texttt","\\textnormal":"textrm","\\textsc":"textsc"},textFontWeights={"\\textbf":"textbf","\\textmd":"textmd"},textFontShapes={"\\textit":"textit","\\textup":"textup"},styleWithFont=(group,style)=>{let font=group.font;if(font){if(textFontFamilies[font])return style.withTextFontFamily(textFontFamilies[font]);if(textFontWeights[font])return style.withTextFontWeight(textFontWeights[font]);if(font==="\\emph")return style.fontShape==="textit"?style.withTextFontShape("textup"):style.withTextFontShape("textit")}else return style;return style.withTextFontShape(textFontShapes[font])};defineFunction({type:"text",names:["\\text","\\textrm","\\textsf","\\texttt","\\textnormal","\\textsc","\\textbf","\\textmd","\\textit","\\textup","\\emph"],props:{numArgs:1,argTypes:["text"],allowedInArgument:!0,allowedInText:!0},handler({parser,funcName},args){let body=args[0];return{type:"text",mode:parser.mode,body:ordargument(body),font:funcName}},mathmlBuilder(group,style){let newStyle=styleWithFont(group,style),mrow=buildExpressionRow(group.body,newStyle);return consolidateText(mrow)}});defineFunction({type:"vcenter",names:["\\vcenter"],props:{numArgs:1,argTypes:["original"],allowedInText:!1},handler({parser},args){return{type:"vcenter",mode:parser.mode,body:args[0]}},mathmlBuilder(group,style){let mtd=new MathNode("mtd",[buildGroup$1(group.body,style)]);mtd.style.padding="0";let mtr=new MathNode("mtr",[mtd]);return new MathNode("mtable",[mtr])}});defineFunction({type:"verb",names:["\\verb"],props:{numArgs:0,allowedInText:!0},handler(context,args,optArgs){throw new ParseError("\\verb ended by end of line instead of matching delimiter")},mathmlBuilder(group,style){let text2=new TextNode(makeVerb(group)),node=new MathNode("mtext",[text2]);return node.setAttribute("mathvariant","monospace"),node}});var makeVerb=group=>group.body.replace(/ /g,group.star?"\u2423":"\xA0"),functions=_functions,spaceRegexString=`[ \r
189
+ ]`,controlWordRegexString="\\\\[a-zA-Z@]+",controlSymbolRegexString="\\\\[^\uD800-\uDFFF]",controlWordWhitespaceRegexString=`(${controlWordRegexString})${spaceRegexString}*`,controlSpaceRegexString=`\\\\(
190
+ |[ \r ]+
191
+ ?)[ \r ]*`,combiningDiacriticalMarkString="[\u0300-\u036F]",combiningDiacriticalMarksEndRegex=new RegExp(`${combiningDiacriticalMarkString}+$`),tokenRegexString=`(${spaceRegexString}+)|${controlSpaceRegexString}|([!-\\[\\]-\u2027\u202A-\uD7FF\uF900-\uFFFF]${combiningDiacriticalMarkString}*|[\uD800-\uDBFF][\uDC00-\uDFFF]${combiningDiacriticalMarkString}*|\\\\verb\\*([^]).*?\\4|\\\\verb([^*a-zA-Z]).*?\\5|${controlWordWhitespaceRegexString}|${controlSymbolRegexString})`,Lexer=class{constructor(input,settings){this.input=input,this.settings=settings,this.tokenRegex=new RegExp(tokenRegexString,"g"),this.catcodes={"%":14,"~":13}}setCatcode(char,code){this.catcodes[char]=code}lex(){let input=this.input,pos=this.tokenRegex.lastIndex;if(pos===input.length)return new Token("EOF",new SourceLocation(this,pos,pos));let match=this.tokenRegex.exec(input);if(match===null||match.index!==pos)throw new ParseError(`Unexpected character: '${input[pos]}'`,new Token(input[pos],new SourceLocation(this,pos,pos+1)));let text2=match[6]||match[3]||(match[2]?"\\ ":" ");if(this.catcodes[text2]===14){let nlIndex=input.indexOf(`
192
+ `,this.tokenRegex.lastIndex);if(nlIndex===-1){if(this.tokenRegex.lastIndex=input.length,this.settings.strict)throw new ParseError("% comment has no terminating newline; LaTeX would fail because of commenting the end of math mode")}else this.tokenRegex.lastIndex=nlIndex+1;return this.lex()}return new Token(text2,new SourceLocation(this,pos,this.tokenRegex.lastIndex))}},Namespace=class{constructor(builtins=Object.create(null),globalMacros=Object.create(null)){this.current=globalMacros,this.builtins=builtins,this.undefStack=[]}beginGroup(){this.undefStack.push(Object.create(null))}endGroup(){if(this.undefStack.length===0)throw new ParseError("Unbalanced namespace destruction: attempt to pop global namespace; please report this as a bug");let undefs=this.undefStack.pop();for(let undef in undefs)Object.prototype.hasOwnProperty.call(undefs,undef)&&(undefs[undef]===void 0?delete this.current[undef]:this.current[undef]=undefs[undef])}has(name){return Object.prototype.hasOwnProperty.call(this.current,name)||Object.prototype.hasOwnProperty.call(this.builtins,name)}get(name){return Object.prototype.hasOwnProperty.call(this.current,name)?this.current[name]:this.builtins[name]}set(name,value,global=!1){if(global){for(let i=0;i<this.undefStack.length;i++)delete this.undefStack[i][name];this.undefStack.length>0&&(this.undefStack[this.undefStack.length-1][name]=value)}else{let top=this.undefStack[this.undefStack.length-1];top&&!Object.prototype.hasOwnProperty.call(top,name)&&(top[name]=this.current[name])}this.current[name]=value}},implicitCommands={"^":!0,_:!0,"\\limits":!0,"\\nolimits":!0},MacroExpander=class{constructor(input,settings,mode){this.settings=settings,this.expansionCount=0,this.feed(input),this.macros=new Namespace(macros,settings.macros),this.mode=mode,this.stack=[]}feed(input){this.lexer=new Lexer(input,this.settings)}switchMode(newMode){this.mode=newMode}beginGroup(){this.macros.beginGroup()}endGroup(){this.macros.endGroup()}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(token){this.stack.push(token)}pushTokens(tokens){this.stack.push(...tokens)}scanArgument(isOptional){let start,end,tokens;if(isOptional){if(this.consumeSpaces(),this.future().text!=="[")return null;start=this.popToken(),{tokens,end}=this.consumeArg(["]"])}else({tokens,start,end}=this.consumeArg());return this.pushToken(new Token("EOF",end.loc)),this.pushTokens(tokens),new Token("",SourceLocation.range(start,end))}consumeSpaces(){for(;this.future().text===" ";)this.stack.pop()}consumeArg(delims){let tokens=[],isDelimited=delims&&delims.length>0;isDelimited||this.consumeSpaces();let start=this.future(),tok,depth=0,match=0;do{if(tok=this.popToken(),tokens.push(tok),tok.text==="{")++depth;else if(tok.text==="}"){if(--depth,depth===-1)throw new ParseError("Extra }",tok)}else if(tok.text==="EOF")throw new ParseError("Unexpected end of input in a macro argument, expected '"+(delims&&isDelimited?delims[match]:"}")+"'",tok);if(delims&&isDelimited)if((depth===0||depth===1&&delims[match]==="{")&&tok.text===delims[match]){if(++match,match===delims.length){tokens.splice(-match,match);break}}else match=0}while(depth!==0||isDelimited);return start.text==="{"&&tokens[tokens.length-1].text==="}"&&(tokens.pop(),tokens.shift()),tokens.reverse(),{tokens,start,end:tok}}consumeArgs(numArgs,delimiters2){if(delimiters2){if(delimiters2.length!==numArgs+1)throw new ParseError("The length of delimiters doesn't match the number of args!");let delims=delimiters2[0];for(let i=0;i<delims.length;i++){let tok=this.popToken();if(delims[i]!==tok.text)throw new ParseError("Use of the macro doesn't match its definition",tok)}}let args=[];for(let i=0;i<numArgs;i++)args.push(this.consumeArg(delimiters2&&delimiters2[i+1]).tokens);return args}expandOnce(expandableOnly){let topToken=this.popToken(),name=topToken.text,expansion=topToken.noexpand?null:this._getExpansion(name);if(expansion==null||expandableOnly&&expansion.unexpandable){if(expandableOnly&&expansion==null&&name[0]==="\\"&&!this.isDefined(name))throw new ParseError("Undefined control sequence: "+name);return this.pushToken(topToken),!1}if(this.expansionCount++,this.expansionCount>this.settings.maxExpand)throw new ParseError("Too many expansions: infinite loop or need to increase maxExpand setting");let tokens=expansion.tokens,args=this.consumeArgs(expansion.numArgs,expansion.delimiters);if(expansion.numArgs){tokens=tokens.slice();for(let i=tokens.length-1;i>=0;--i){let tok=tokens[i];if(tok.text==="#"){if(i===0)throw new ParseError("Incomplete placeholder at end of macro body",tok);if(tok=tokens[--i],tok.text==="#")tokens.splice(i+1,1);else if(/^[1-9]$/.test(tok.text))tokens.splice(i,2,...args[+tok.text-1]);else throw new ParseError("Not a valid argument number",tok)}}}return this.pushTokens(tokens),tokens.length}expandAfterFuture(){return this.expandOnce(),this.future()}expandNextToken(){for(;;)if(this.expandOnce()===!1){let token=this.stack.pop();return token.treatAsRelax&&(token.text="\\relax"),token}throw new Error}expandMacro(name){return this.macros.has(name)?this.expandTokens([new Token(name)]):void 0}expandTokens(tokens){let output=[],oldStackLength=this.stack.length;for(this.pushTokens(tokens);this.stack.length>oldStackLength;)if(this.expandOnce(!0)===!1){let token=this.stack.pop();token.treatAsRelax&&(token.noexpand=!1,token.treatAsRelax=!1),output.push(token)}return output}expandMacroAsText(name){let tokens=this.expandMacro(name);return tokens&&tokens.map(token=>token.text).join("")}_getExpansion(name){let definition=this.macros.get(name);if(definition==null)return definition;if(name.length===1){let catcode=this.lexer.catcodes[name];if(catcode!=null&&catcode!==13)return}let expansion=typeof definition=="function"?definition(this):definition;if(typeof expansion=="string"){let numArgs=0;if(expansion.indexOf("#")!==-1){let stripped=expansion.replace(/##/g,"");for(;stripped.indexOf("#"+(numArgs+1))!==-1;)++numArgs}let bodyLexer=new Lexer(expansion,this.settings),tokens=[],tok=bodyLexer.lex();for(;tok.text!=="EOF";)tokens.push(tok),tok=bodyLexer.lex();return tokens.reverse(),{tokens,numArgs}}return expansion}isDefined(name){return this.macros.has(name)||Object.prototype.hasOwnProperty.call(functions,name)||Object.prototype.hasOwnProperty.call(symbols.math,name)||Object.prototype.hasOwnProperty.call(symbols.text,name)||Object.prototype.hasOwnProperty.call(implicitCommands,name)}isExpandable(name){let macro=this.macros.get(name);return macro!=null?typeof macro=="string"||typeof macro=="function"||!macro.unexpandable:Object.prototype.hasOwnProperty.call(functions,name)&&!functions[name].primitive}},unicodeSubRegEx=/^[₊₋₌₍₎₀₁₂₃₄₅₆₇₈₉ₐₑₕᵢⱼₖₗₘₙₒₚᵣₛₜᵤᵥₓᵦᵧᵨᵩᵪ]/,uSubsAndSups=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"}),asciiFromScript=Object.freeze({"\u{1D49C}":"A",\u212C:"B","\u{1D49E}":"C","\u{1D49F}":"D",\u2130:"E",\u2131:"F","\u{1D4A2}":"G",\u210B:"H",\u2110:"I","\u{1D4A5}":"J","\u{1D4A6}":"K",\u2112:"L",\u2133:"M","\u{1D4A9}":"N","\u{1D4AA}":"O","\u{1D4AB}":"P","\u{1D4AC}":"Q",\u211B:"R","\u{1D4AE}":"S","\u{1D4AF}":"T","\u{1D4B0}":"U","\u{1D4B1}":"V","\u{1D4B2}":"W","\u{1D4B3}":"X","\u{1D4B4}":"Y","\u{1D4B5}":"Z"}),unicodeAccents={"\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"}},unicodeSymbols={\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",\u010D:"c\u030C",\u0109:"c\u0302",\u010B:"c\u0307",\u010F:"d\u030C",\u1E0B:"d\u0307",\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",\u011B:"e\u030C",\u00EA:"e\u0302",\u1EBF:"e\u0302\u0301",\u1EC1:"e\u0302\u0300",\u1EC5:"e\u0302\u0303",\u0117:"e\u0307",\u1E1F:"f\u0307",\u01F5:"g\u0301",\u1E21:"g\u0304",\u011F:"g\u0306",\u01E7:"g\u030C",\u011D:"g\u0302",\u0121:"g\u0307",\u1E27:"h\u0308",\u021F:"h\u030C",\u0125:"h\u0302",\u1E23:"h\u0307",\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",\u013A:"l\u0301",\u013E:"l\u030C",\u1E3F:"m\u0301",\u1E41:"m\u0307",\u0144:"n\u0301",\u01F9:"n\u0300",\u00F1:"n\u0303",\u0148:"n\u030C",\u1E45:"n\u0307",\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",\u015B:"s\u0301",\u1E65:"s\u0301\u0307",\u0161:"s\u030C",\u1E67:"s\u030C\u0307",\u015D:"s\u0302",\u1E61:"s\u0307",\u1E97:"t\u0308",\u0165:"t\u030C",\u1E6B:"t\u0307",\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",\u010C:"C\u030C",\u0108:"C\u0302",\u010A:"C\u0307",\u010E:"D\u030C",\u1E0A:"D\u0307",\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",\u011A:"E\u030C",\u00CA:"E\u0302",\u1EBE:"E\u0302\u0301",\u1EC0:"E\u0302\u0300",\u1EC4:"E\u0302\u0303",\u0116:"E\u0307",\u1E1E:"F\u0307",\u01F4:"G\u0301",\u1E20:"G\u0304",\u011E:"G\u0306",\u01E6:"G\u030C",\u011C:"G\u0302",\u0120:"G\u0307",\u1E26:"H\u0308",\u021E:"H\u030C",\u0124:"H\u0302",\u1E22:"H\u0307",\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",\u0139:"L\u0301",\u013D:"L\u030C",\u1E3E:"M\u0301",\u1E40:"M\u0307",\u0143:"N\u0301",\u01F8:"N\u0300",\u00D1:"N\u0303",\u0147:"N\u030C",\u1E44:"N\u0307",\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",\u015A:"S\u0301",\u1E64:"S\u0301\u0307",\u0160:"S\u030C",\u1E66:"S\u030C\u0307",\u015C:"S\u0302",\u1E60:"S\u0307",\u0164:"T\u030C",\u1E6A:"T\u0307",\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"},binLeftCancellers=["bin","op","open","punct","rel"],sizeRegEx=/([-+]?) *(\d+(?:\.\d*)?|\.\d+) *([a-z]{2})/,textRegEx=/^ *\\text/,Parser=class _Parser{constructor(input,settings,isPreamble=!1){this.mode="math",this.gullet=new MacroExpander(input,settings,this.mode),this.settings=settings,this.isPreamble=isPreamble,this.leftrightDepth=0,this.prevAtomType=""}expect(text2,consume=!0){if(this.fetch().text!==text2)throw new ParseError(`Expected '${text2}', got '${this.fetch().text}'`,this.fetch());consume&&this.consume()}consume(){this.nextToken=null}fetch(){return this.nextToken==null&&(this.nextToken=this.gullet.expandNextToken()),this.nextToken}switchMode(newMode){this.mode=newMode,this.gullet.switchMode(newMode)}parse(){this.gullet.beginGroup(),this.settings.colorIsTextColor&&this.gullet.macros.set("\\color","\\textcolor");let parse=this.parseExpression(!1);if(this.expect("EOF"),this.isPreamble){let macros2=Object.create(null);return Object.entries(this.gullet.macros.current).forEach(([key,value])=>{macros2[key]=value}),this.gullet.endGroup(),macros2}let tag=this.gullet.macros.get("\\df@tag");return this.gullet.endGroup(),tag&&(this.gullet.macros.current["\\df@tag"]=tag),parse}static get endOfExpression(){return["}","\\endgroup","\\end","\\right","\\endtoggle","&"]}subparse(tokens){let oldToken=this.nextToken;this.consume(),this.gullet.pushToken(new Token("}")),this.gullet.pushTokens(tokens);let parse=this.parseExpression(!1);return this.expect("}"),this.nextToken=oldToken,parse}parseExpression(breakOnInfix,breakOnTokenText,breakOnMiddle){let body=[];for(this.prevAtomType="";;){this.mode==="math"&&this.consumeSpaces();let lex=this.fetch();if(_Parser.endOfExpression.indexOf(lex.text)!==-1||breakOnTokenText&&lex.text===breakOnTokenText||breakOnMiddle&&lex.text==="\\middle"||breakOnInfix&&functions[lex.text]&&functions[lex.text].infix)break;let atom=this.parseAtom(breakOnTokenText);if(atom){if(atom.type==="internal")continue}else break;body.push(atom),this.prevAtomType=atom.type==="atom"?atom.family:atom.type}return this.mode==="text"&&this.formLigatures(body),this.handleInfixNodes(body)}handleInfixNodes(body){let overIndex=-1,funcName;for(let i=0;i<body.length;i++)if(body[i].type==="infix"){if(overIndex!==-1)throw new ParseError("only one infix operator per group",body[i].token);overIndex=i,funcName=body[i].replaceWith}if(overIndex!==-1&&funcName){let numerNode,denomNode,numerBody=body.slice(0,overIndex),denomBody=body.slice(overIndex+1);numerBody.length===1&&numerBody[0].type==="ordgroup"?numerNode=numerBody[0]:numerNode={type:"ordgroup",mode:this.mode,body:numerBody},denomBody.length===1&&denomBody[0].type==="ordgroup"?denomNode=denomBody[0]:denomNode={type:"ordgroup",mode:this.mode,body:denomBody};let node;return funcName==="\\\\abovefrac"?node=this.callFunction(funcName,[numerNode,body[overIndex],denomNode],[]):node=this.callFunction(funcName,[numerNode,denomNode],[]),[node]}else return body}handleSupSubscript(name){let symbolToken=this.fetch(),symbol=symbolToken.text;this.consume(),this.consumeSpaces();let group;do group=this.parseGroup(name);while(group.type&&group.type==="internal");if(!group)throw new ParseError("Expected group after '"+symbol+"'",symbolToken);return group}formatUnsupportedCmd(text2){let textordArray=[];for(let i=0;i<text2.length;i++)textordArray.push({type:"textord",mode:"text",text:text2[i]});let textNode={type:"text",mode:this.mode,body:textordArray};return{type:"color",mode:this.mode,color:this.settings.errorColor,body:[textNode]}}parseAtom(breakOnTokenText){let base=this.parseGroup("atom",breakOnTokenText);if(base&&base.type==="internal"||this.mode==="text")return base;let superscript,subscript;for(;;){this.consumeSpaces();let lex=this.fetch();if(lex.text==="\\limits"||lex.text==="\\nolimits"){if(base&&base.type==="op"){let limits=lex.text==="\\limits";base.limits=limits,base.alwaysHandleSupSub=!0}else if(base&&base.type==="operatorname")base.alwaysHandleSupSub&&(base.limits=lex.text==="\\limits");else throw new ParseError("Limit controls must follow a math operator",lex);this.consume()}else if(lex.text==="^"){if(superscript)throw new ParseError("Double superscript",lex);superscript=this.handleSupSubscript("superscript")}else if(lex.text==="_"){if(subscript)throw new ParseError("Double subscript",lex);subscript=this.handleSupSubscript("subscript")}else if(lex.text==="'"){if(superscript)throw new ParseError("Double superscript",lex);let prime={type:"textord",mode:this.mode,text:"\\prime"},primes2=[prime];for(this.consume();this.fetch().text==="'";)primes2.push(prime),this.consume();this.fetch().text==="^"&&primes2.push(this.handleSupSubscript("superscript")),superscript={type:"ordgroup",mode:this.mode,body:primes2}}else if(uSubsAndSups[lex.text]){let isSub=unicodeSubRegEx.test(lex.text),subsupTokens=[];for(subsupTokens.push(new Token(uSubsAndSups[lex.text])),this.consume();;){let token=this.fetch().text;if(!uSubsAndSups[token]||unicodeSubRegEx.test(token)!==isSub)break;subsupTokens.unshift(new Token(uSubsAndSups[token])),this.consume()}let body=this.subparse(subsupTokens);isSub?subscript={type:"ordgroup",mode:"math",body}:superscript={type:"ordgroup",mode:"math",body}}else break}if(superscript||subscript){if(base&&base.type==="multiscript"&&!base.postscripts)return base.postscripts={sup:superscript,sub:subscript},base;{let isFollowedByDelimiter=!base||base.type!=="op"&&base.type!=="operatorname"?void 0:isDelimiter(this.nextToken.text);return{type:"supsub",mode:this.mode,base,sup:superscript,sub:subscript,isFollowedByDelimiter}}}else return base}parseFunction(breakOnTokenText,name){let token=this.fetch(),func=token.text,funcData=functions[func];if(!funcData)return null;if(this.consume(),name&&name!=="atom"&&!funcData.allowedInArgument)throw new ParseError("Got function '"+func+"' with no arguments"+(name?" as "+name:""),token);if(this.mode==="text"&&!funcData.allowedInText)throw new ParseError("Can't use function '"+func+"' in text mode",token);if(this.mode==="math"&&funcData.allowedInMath===!1)throw new ParseError("Can't use function '"+func+"' in math mode",token);let prevAtomType=this.prevAtomType,{args,optArgs}=this.parseArguments(func,funcData);return this.prevAtomType=prevAtomType,this.callFunction(func,args,optArgs,token,breakOnTokenText)}callFunction(name,args,optArgs,token,breakOnTokenText){let context={funcName:name,parser:this,token,breakOnTokenText},func=functions[name];if(func&&func.handler)return func.handler(context,args,optArgs);throw new ParseError(`No function handler for ${name}`)}parseArguments(func,funcData){let totalArgs=funcData.numArgs+funcData.numOptionalArgs;if(totalArgs===0)return{args:[],optArgs:[]};let args=[],optArgs=[];for(let i=0;i<totalArgs;i++){let argType=funcData.argTypes&&funcData.argTypes[i],isOptional=i<funcData.numOptionalArgs;(funcData.primitive&&argType==null||funcData.type==="sqrt"&&i===1&&optArgs[0]==null)&&(argType="primitive");let arg=this.parseGroupOfType(`argument to '${func}'`,argType,isOptional);if(isOptional)optArgs.push(arg);else if(arg!=null)args.push(arg);else throw new ParseError("Null argument, please report this as a bug")}return{args,optArgs}}parseGroupOfType(name,type,optional){switch(type){case"size":return this.parseSizeGroup(optional);case"url":return this.parseUrlGroup(optional);case"math":case"text":return this.parseArgumentGroup(optional,type);case"hbox":{let group=this.parseArgumentGroup(optional,"text");return group!=null?{type:"styling",mode:group.mode,body:[group],scriptLevel:"text"}:null}case"raw":{let token=this.parseStringGroup("raw",optional);return token!=null?{type:"raw",mode:"text",string:token.text}:null}case"primitive":{if(optional)throw new ParseError("A primitive argument cannot be optional");let group=this.parseGroup(name);if(group==null)throw new ParseError("Expected group as "+name,this.fetch());return group}case"original":case null:case void 0:return this.parseArgumentGroup(optional);default:throw new ParseError("Unknown group type as "+name,this.fetch())}}consumeSpaces(){for(;;){let ch=this.fetch().text;if(ch===" "||ch==="\xA0"||ch==="\uFE0E")this.consume();else break}}parseStringGroup(modeName,optional){let argToken=this.gullet.scanArgument(optional);if(argToken==null)return null;let str="",nextToken;for(;(nextToken=this.fetch()).text!=="EOF";)str+=nextToken.text,this.consume();return this.consume(),argToken.text=str,argToken}parseRegexGroup(regex,modeName){let firstToken=this.fetch(),lastToken=firstToken,str="",nextToken;for(;(nextToken=this.fetch()).text!=="EOF"&&regex.test(str+nextToken.text);)lastToken=nextToken,str+=lastToken.text,this.consume();if(str==="")throw new ParseError("Invalid "+modeName+": '"+firstToken.text+"'",firstToken);return firstToken.range(lastToken,str)}parseSizeGroup(optional){let res,isBlank=!1;if(this.gullet.consumeSpaces(),!optional&&this.gullet.future().text!=="{"?res=this.parseRegexGroup(/^[-+]? *(?:$|\d+|\d+\.\d*|\.\d*) *[a-z]{0,2} *$/,"size"):res=this.parseStringGroup("size",optional),!res)return null;!optional&&res.text.length===0&&(res.text="0pt",isBlank=!0);let match=sizeRegEx.exec(res.text);if(!match)throw new ParseError("Invalid size: '"+res.text+"'",res);let data={number:+(match[1]+match[2]),unit:match[3]};if(!validUnit(data))throw new ParseError("Invalid unit: '"+data.unit+"'",res);return{type:"size",mode:this.mode,value:data,isBlank}}parseUrlGroup(optional){this.gullet.lexer.setCatcode("%",13),this.gullet.lexer.setCatcode("~",12);let res=this.parseStringGroup("url",optional);if(this.gullet.lexer.setCatcode("%",14),this.gullet.lexer.setCatcode("~",13),res==null)return null;let url=res.text.replace(/\\([#$%&~_^{}])/g,"$1");return url=res.text.replace(/{\u2044}/g,"/"),{type:"url",mode:this.mode,url}}parseArgumentGroup(optional,mode){let argToken=this.gullet.scanArgument(optional);if(argToken==null)return null;let outerMode=this.mode;mode&&this.switchMode(mode),this.gullet.beginGroup();let expression=this.parseExpression(!1,"EOF");this.expect("EOF"),this.gullet.endGroup();let result={type:"ordgroup",mode:this.mode,loc:argToken.loc,body:expression};return mode&&this.switchMode(outerMode),result}parseGroup(name,breakOnTokenText){let firstToken=this.fetch(),text2=firstToken.text;if(name==="argument to '\\left'")return this.parseSymbol();let result;if(text2==="{"||text2==="\\begingroup"||text2==="\\toggle"){this.consume();let groupEnd=text2==="{"?"}":text2==="\\begingroup"?"\\endgroup":"\\endtoggle";this.gullet.beginGroup();let expression=this.parseExpression(!1,groupEnd),lastToken=this.fetch();this.expect(groupEnd),this.gullet.endGroup(),result={type:lastToken.text==="\\endtoggle"?"toggle":"ordgroup",mode:this.mode,loc:SourceLocation.range(firstToken,lastToken),body:expression,semisimple:text2==="\\begingroup"||void 0}}else if(result=this.parseFunction(breakOnTokenText,name)||this.parseSymbol(),result==null&&text2[0]==="\\"&&!Object.prototype.hasOwnProperty.call(implicitCommands,text2)){if(this.settings.throwOnError)throw new ParseError("Unsupported function name: "+text2,firstToken);result=this.formatUnsupportedCmd(text2),this.consume()}return result}formLigatures(group){let n=group.length-1;for(let i=0;i<n;++i){let a=group[i],v=a.text;v==="-"&&group[i+1].text==="-"&&(i+1<n&&group[i+2].text==="-"?(group.splice(i,3,{type:"textord",mode:"text",loc:SourceLocation.range(a,group[i+2]),text:"---"}),n-=2):(group.splice(i,2,{type:"textord",mode:"text",loc:SourceLocation.range(a,group[i+1]),text:"--"}),n-=1)),(v==="'"||v==="`")&&group[i+1].text===v&&(group.splice(i,2,{type:"textord",mode:"text",loc:SourceLocation.range(a,group[i+1]),text:v+v}),n-=1)}}parseSymbol(){let nucleus=this.fetch(),text2=nucleus.text;if(/^\\verb[^a-zA-Z]/.test(text2)){this.consume();let arg=text2.slice(5),star=arg.charAt(0)==="*";if(star&&(arg=arg.slice(1)),arg.length<2||arg.charAt(0)!==arg.slice(-1))throw new ParseError(`\\verb assertion failed --
193
+ please report what input caused this bug`);return arg=arg.slice(1,-1),{type:"verb",mode:"text",body:arg,star}}if(Object.prototype.hasOwnProperty.call(unicodeSymbols,text2[0])&&this.mode==="math"&&!symbols[this.mode][text2[0]]){if(this.settings.strict&&this.mode==="math")throw new ParseError(`Accented Unicode text character "${text2[0]}" used in math mode`,nucleus);text2=unicodeSymbols[text2[0]]+text2.slice(1)}let match=this.mode==="math"?combiningDiacriticalMarksEndRegex.exec(text2):null;match&&(text2=text2.substring(0,match.index),text2==="i"?text2="\u0131":text2==="j"&&(text2="\u0237"));let symbol;if(symbols[this.mode][text2]){let group=symbols[this.mode][text2].group;group==="bin"&&(binLeftCancellers.includes(this.prevAtomType)||this.prevAtomType==="")&&(group="open");let loc=SourceLocation.range(nucleus),s;if(Object.prototype.hasOwnProperty.call(ATOMS,group)){let family=group;s={type:"atom",mode:this.mode,family,loc,text:text2},(family==="rel"||family==="bin")&&this.prevAtomType==="text"&&textRegEx.test(loc.lexer.input.slice(loc.end))&&(s.needsSpacing=!0)}else{if(asciiFromScript[text2]){this.consume();let nextCode=this.fetch().text.charCodeAt(0),font=nextCode===65025?"mathscr":"mathcal";return(nextCode===65024||nextCode===65025)&&this.consume(),{type:"font",mode:"math",font,body:{type:"mathord",mode:"math",loc,text:asciiFromScript[text2]}}}s={type:group,mode:this.mode,loc,text:text2}}symbol=s}else if(text2.charCodeAt(0)>=128||combiningDiacriticalMarksEndRegex.exec(text2)){if(this.settings.strict&&this.mode==="math")throw new ParseError(`Unicode text character "${text2[0]}" used in math mode`,nucleus);symbol={type:"textord",mode:"text",loc:SourceLocation.range(nucleus),text:text2}}else return null;if(this.consume(),match)for(let i=0;i<match[0].length;i++){let accent2=match[0][i];if(!unicodeAccents[accent2])throw new ParseError(`Unknown accent ' ${accent2}'`,nucleus);let command=unicodeAccents[accent2][this.mode]||unicodeAccents[accent2].text;if(!command)throw new ParseError(`Accent ${accent2} unsupported in ${this.mode} mode`,nucleus);symbol={type:"accent",mode:this.mode,loc:SourceLocation.range(nucleus),label:command,isStretchy:!1,base:symbol}}return symbol}},parseTree=function(toParse,settings){if(!(typeof toParse=="string"||toParse instanceof String))throw new TypeError("Temml can only parse string typed expression");let tree,parser;try{parser=new Parser(toParse,settings),delete parser.gullet.macros.current["\\df@tag"],tree=parser.parse()}catch(error){if(error.toString()==="ParseError: Unmatched delimiter")settings.wrapDelimiterPairs=!1,parser=new Parser(toParse,settings),delete parser.gullet.macros.current["\\df@tag"],tree=parser.parse();else throw error}if(!(tree.length>0&&tree[0].type&&tree[0].type==="array"&&tree[0].addEqnNum)&&parser.gullet.macros.get("\\df@tag")){if(!settings.displayMode)throw new ParseError("\\tag works only in display mode");parser.gullet.feed("\\df@tag"),tree=[{type:"tag",mode:"text",body:tree,tag:parser.parse()}]}return tree},subOrSupLevel=[2,2,3,3],Style=class _Style{constructor(data){this.level=data.level,this.color=data.color,this.font=data.font||"",this.fontFamily=data.fontFamily||"",this.fontSize=data.fontSize||1,this.fontWeight=data.fontWeight||"",this.fontShape=data.fontShape||"",this.maxSize=data.maxSize}extend(extension){let data={level:this.level,color:this.color,font:this.font,fontFamily:this.fontFamily,fontSize:this.fontSize,fontWeight:this.fontWeight,fontShape:this.fontShape,maxSize:this.maxSize};for(let key in extension)Object.prototype.hasOwnProperty.call(extension,key)&&(data[key]=extension[key]);return new _Style(data)}withLevel(n){return this.extend({level:n})}incrementLevel(){return this.extend({level:Math.min(this.level+1,3)})}inSubOrSup(){return this.extend({level:subOrSupLevel[this.level]})}withColor(color){return this.extend({color})}withFont(font){return this.extend({font})}withTextFontFamily(fontFamily){return this.extend({fontFamily,font:""})}withFontSize(num){return this.extend({fontSize:num})}withTextFontWeight(fontWeight){return this.extend({fontWeight,font:""})}withTextFontShape(fontShape){return this.extend({fontShape,font:""})}getColor(){return this.color}},version="0.13.5";function postProcess(block){let labelMap={},i=0,amsEqns=document.getElementsByClassName("tml-eqn");for(let parent of amsEqns)for(i+=1,parent.setAttribute("id","tml-eqn-"+String(i));parent.tagName!=="mtable";)if(parent.getElementsByClassName("tml-label").length>0){let id=parent.attributes.id.value;labelMap[id]=String(i);break}else parent=parent.parentElement;let taggedEqns=document.getElementsByClassName("tml-tageqn");for(let parent of taggedEqns)if(parent.getElementsByClassName("tml-label").length>0){let tags=parent.getElementsByClassName("tml-tag");if(tags.length>0){let id=parent.attributes.id.value;labelMap[id]=tags[0].textContent}}[...block.getElementsByClassName("tml-ref")].forEach(ref=>{let attr=ref.getAttribute("href"),str=labelMap[attr.slice(1)];ref.className.indexOf("tml-eqref")===-1?(str=str.replace(/^\(/,""),str=str.replace(/\)$/,"")):(str.charAt(0)!=="("&&(str="("+str),str.slice(-1)!==")"&&(str=str+")"));let mtext=document.createElementNS("http://www.w3.org/1998/Math/MathML","mtext");mtext.appendChild(document.createTextNode(str));let math2=document.createElementNS("http://www.w3.org/1998/Math/MathML","math");math2.appendChild(mtext),ref.textContent="",ref.appendChild(math2)})}var findEndOfMath=function(delimiter,text2,startIndex){let index=startIndex,braceLevel=0,delimLength=delimiter.length;for(;index<text2.length;){let character=text2[index];if(braceLevel<=0&&text2.slice(index,index+delimLength)===delimiter)return index;character==="\\"?index++:character==="{"?braceLevel++:character==="}"&&braceLevel--,index++}return-1},escapeRegex=function(string){return string.replace(/[-/\\^$*+?.()|[\]{}]/g,"\\$&")},amsRegex=/^\\(?:begin|(?:eq)?ref){/,splitAtDelimiters=function(text2,delimiters2){let index,data=[],regexLeft=new RegExp("("+delimiters2.map(x=>escapeRegex(x.left)).join("|")+")");for(;index=text2.search(regexLeft),index!==-1;){index>0&&(data.push({type:"text",data:text2.slice(0,index)}),text2=text2.slice(index));let i=delimiters2.findIndex(delim=>text2.startsWith(delim.left));if(index=findEndOfMath(delimiters2[i].right,text2,delimiters2[i].left.length),index===-1)break;let rawData=text2.slice(0,index+delimiters2[i].right.length),math2=amsRegex.test(rawData)?rawData:text2.slice(delimiters2[i].left.length,index);data.push({type:"math",data:math2,rawData,display:delimiters2[i].display}),text2=text2.slice(index+delimiters2[i].right.length)}return text2!==""&&data.push({type:"text",data:text2}),data},defaultDelimiters=[{left:"$$",right:"$$",display:!0},{left:"\\(",right:"\\)",display:!1},{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{equation*}",right:"\\end{equation*}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{align*}",right:"\\end{align*}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{alignat*}",right:"\\end{alignat*}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{gather*}",right:"\\end{gather*}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\ref{",right:"}",display:!1},{left:"\\eqref{",right:"}",display:!1},{left:"\\[",right:"\\]",display:!0}],firstDraftDelimiters={$:[{left:"$$",right:"$$",display:!0},{left:"$`",right:"`$",display:!1},{left:"$",right:"$",display:!1}],"(":[{left:"\\[",right:"\\]",display:!0},{left:"\\(",right:"\\)",display:!1}]},amsDelimiters=[{left:"\\begin{equation}",right:"\\end{equation}",display:!0},{left:"\\begin{equation*}",right:"\\end{equation*}",display:!0},{left:"\\begin{align}",right:"\\end{align}",display:!0},{left:"\\begin{align*}",right:"\\end{align*}",display:!0},{left:"\\begin{alignat}",right:"\\end{alignat}",display:!0},{left:"\\begin{alignat*}",right:"\\end{alignat*}",display:!0},{left:"\\begin{gather}",right:"\\end{gather}",display:!0},{left:"\\begin{gather*}",right:"\\end{gather*}",display:!0},{left:"\\begin{CD}",right:"\\end{CD}",display:!0},{left:"\\ref{",right:"}",display:!1},{left:"\\eqref{",right:"}",display:!1}],delimitersFromKey=key=>key==="$"||key==="("?firstDraftDelimiters[key]:key==="$+"||key==="(+"?firstDraftDelimiters[key.slice(0,1)].concat(amsDelimiters):key==="ams"?amsDelimiters:key==="all"?firstDraftDelimiters["("].concat(firstDraftDelimiters.$).concat(amsDelimiters):defaultDelimiters,renderMathInText=function(text2,optionsCopy){let data=splitAtDelimiters(text2,optionsCopy.delimiters);if(data.length===1&&data[0].type==="text")return null;let fragment=document.createDocumentFragment();for(let i=0;i<data.length;i++)if(data[i].type==="text")fragment.appendChild(document.createTextNode(data[i].data));else{let span=document.createElement("span"),math2=data[i].data;optionsCopy.displayMode=data[i].display;try{optionsCopy.preProcess&&(math2=optionsCopy.preProcess(math2)),temml.render(math2,span,optionsCopy)}catch(e){if(!(e instanceof ParseError))throw e;optionsCopy.errorCallback("Temml auto-render: Failed to parse `"+data[i].data+"` with ",e),fragment.appendChild(document.createTextNode(data[i].rawData));continue}fragment.appendChild(span)}return fragment},renderElem=function(elem,optionsCopy){for(let i=0;i<elem.childNodes.length;i++){let childNode=elem.childNodes[i];if(childNode.nodeType===3){let frag=renderMathInText(childNode.textContent,optionsCopy);frag&&(i+=frag.childNodes.length-1,elem.replaceChild(frag,childNode))}else if(childNode.nodeType===1){let className=" "+childNode.className+" ";optionsCopy.ignoredTags.indexOf(childNode.nodeName.toLowerCase())===-1&&optionsCopy.ignoredClasses.every(x=>className.indexOf(" "+x+" ")===-1)&&renderElem(childNode,optionsCopy)}}},renderMathInElement=function(elem,options){if(!elem)throw new Error("No element provided to render");let optionsCopy={};for(let option in options)Object.prototype.hasOwnProperty.call(options,option)&&(optionsCopy[option]=options[option]);optionsCopy.fences?optionsCopy.delimiters=delimitersFromKey(optionsCopy.fences):optionsCopy.delimiters=optionsCopy.delimiters||defaultDelimiters,optionsCopy.ignoredTags=optionsCopy.ignoredTags||["script","noscript","style","textarea","pre","code","option"],optionsCopy.ignoredClasses=optionsCopy.ignoredClasses||[],optionsCopy.errorCallback=optionsCopy.errorCallback||console.error,optionsCopy.macros=optionsCopy.macros||Object.create(null),renderElem(elem,optionsCopy),postProcess(elem)},render=function(expression,baseNode,options={}){baseNode.textContent="";let alreadyInMathElement=baseNode.tagName.toLowerCase()==="math";alreadyInMathElement&&(options.wrap="none");let math2=renderToMathMLTree(expression,options);alreadyInMathElement?(baseNode.textContent="",math2.children.forEach(e=>{baseNode.appendChild(e.toNode())})):math2.children.length>1?(baseNode.textContent="",math2.children.forEach(e=>{baseNode.appendChild(e.toNode())})):baseNode.appendChild(math2.toNode())};typeof document<"u"&&document.compatMode!=="CSS1Compat"&&(typeof console<"u"&&console.warn("Warning: Temml doesn't work in quirks mode. Make sure your website has a suitable doctype."),render=function(){throw new ParseError("Temml doesn't work in quirks mode.")});var renderToString=function(expression,options){return renderToMathMLTree(expression,options).toMarkup()},generateParseTree=function(expression,options){let settings=new Settings(options);return parseTree(expression,settings)},definePreamble=function(expression,options){let settings=new Settings(options);if(settings.macros=Object.create(null),!(typeof expression=="string"||expression instanceof String))throw new TypeError("Temml can only parse string typed expression");let parser=new Parser(expression,settings,!0);return delete parser.gullet.macros.current["\\df@tag"],parser.parse()},renderError=function(error,expression,options){if(options.throwOnError||!(error instanceof ParseError))throw error;let node=new Span(["temml-error"],[new TextNode$1(expression+`
194
+
195
+ `+error.toString())]);return node.style.color=options.errorColor,node.style.whiteSpace="pre-line",node},renderToMathMLTree=function(expression,options){let settings=new Settings(options);try{let tree=parseTree(expression,settings),style=new Style({level:settings.displayMode?StyleLevel.DISPLAY:StyleLevel.TEXT,maxSize:settings.maxSize});return buildMathML(tree,expression,style,settings)}catch(error){return renderError(error,expression,settings)}},temml$1={version,render,renderToString,renderMathInElement,postProcess,ParseError,definePreamble,__parse:generateParseTree,__renderToMathMLTree:renderToMathMLTree,__defineSymbol:defineSymbol,__defineMacro:defineMacro};module.exports=temml$1}});var require_math_full=__commonJS({"node_modules/defuddle/dist/elements/math.full.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.mathRules=exports.createCleanMathEl=exports.getLatexFromElement=void 0;var mathml_to_latex_1=require_dist(),math_base_1=require_math_base(),dom_1=require_dom(),getLatexFromElement=el=>{let basicLatex=(0,math_base_1.getBasicLatexFromElement)(el);if(basicLatex)return basicLatex;let mathData=(0,math_base_1.getMathMLFromElement)(el);if(mathData?.mathml)try{return mathml_to_latex_1.MathMLToLaTeX.convert(mathData.mathml)}catch(e){console.warn("Failed to convert MathML to LaTeX:",e)}return null};exports.getLatexFromElement=getLatexFromElement;var createCleanMathEl=(mathData,latex,isBlock,doc)=>{let cleanMathEl=doc.createElement("math");if(cleanMathEl.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),cleanMathEl.setAttribute("display",isBlock?"block":"inline"),cleanMathEl.setAttribute("data-latex",latex||""),mathData?.mathml){let mathContent=(0,dom_1.parseHTML)(doc,mathData.mathml).querySelector("math");mathContent&&(0,dom_1.transferContent)(mathContent,cleanMathEl)}else if(latex)try{let mathml=require_temml().renderToString(latex,{displayMode:isBlock,throwOnError:!1}),mathContent=(0,dom_1.parseHTML)(doc,mathml).querySelector("math");if(mathContent)for(;mathContent.firstChild;)cleanMathEl.appendChild(mathContent.firstChild);else cleanMathEl.textContent=latex}catch(e){console.warn("Failed to convert LaTeX to MathML:",e),cleanMathEl.textContent=latex}return cleanMathEl};exports.createCleanMathEl=createCleanMathEl;exports.mathRules=[{selector:math_base_1.mathSelectors,element:"math",fastCheck:math_base_1.mathFastCheck,transform:el=>{if(!("classList"in el)||!("getAttribute"in el)||!("querySelector"in el))return el;let mathData=(0,math_base_1.getMathMLFromElement)(el),latex=(0,exports.getLatexFromElement)(el),isBlock=(0,math_base_1.isBlockDisplay)(el),cleanMathEl=(0,exports.createCleanMathEl)(mathData,latex,isBlock,el.ownerDocument);return el.parentElement&&!el.matches('script[type^="math/"]')&&el.parentElement.querySelectorAll('script[type^="math/"], .MathJax_Preview, script[type="text/javascript"][src*="mathjax"], script[type="text/javascript"][src*="katex"]').forEach(el2=>el2.remove()),cleanMathEl}}]}});var require_math=__commonJS({"node_modules/defuddle/dist/elements/math.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.createCleanMathEl=exports.mathRules=void 0;var math_full_1=require_math_full();Object.defineProperty(exports,"mathRules",{enumerable:!0,get:function(){return math_full_1.mathRules}});Object.defineProperty(exports,"createCleanMathEl",{enumerable:!0,get:function(){return math_full_1.createCleanMathEl}})}});var require_code=__commonJS({"node_modules/defuddle/dist/elements/code.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.codeBlockRules=void 0;var utils_1=require_utils(),HIGHLIGHTER_PATTERNS=[/^language-(\w+)$/,/^lang-(\w+)$/,/^(\w+)-code$/,/^code-(\w+)$/,/^syntax-(\w+)$/,/^code-snippet__(\w+)$/,/^highlight-(\w+)$/,/^(\w+)-snippet$/,/(?:^|\s)(?:language|lang|brush|syntax)-(\w+)(?:\s|$)/i],CODE_LANGUAGES=new Set(["abap","actionscript","ada","adoc","agda","antlr4","applescript","arduino","armasm","asciidoc","aspnet","atom","bash","batch","c","clojure","cmake","cobol","coffeescript","cpp","c++","crystal","csharp","cs","dart","django","dockerfile","dotnet","elixir","elm","erlang","fortran","fsharp","gdscript","gitignore","glsl","golang","gradle","graphql","groovy","haskell","hs","haxe","hlsl","html","idris","java","javascript","js","jsx","jsdoc","json","jsonp","julia","kotlin","latex","lean","lean4","lisp","elisp","livescript","lua","makefile","markdown","md","markup","masm","mathml","matlab","mongodb","mysql","nasm","nginx","nim","nix","objc","ocaml","pascal","perl","php","postgresql","powershell","prolog","puppet","python","regex","rss","ruby","rb","rust","scala","scheme","shell","sh","solidity","sparql","sql","ssml","svg","swift","tcl","terraform","tex","toml","typescript","ts","tsx","unrealscript","verilog","vhdl","webassembly","wasm","xml","yaml","yml","zig"]);exports.codeBlockRules=[{selector:["pre",'div[class*="prismjs"]',".syntaxhighlighter",".highlight",".highlight-source",".wp-block-syntaxhighlighter-code",".wp-block-code",'div[class*="language-"]',".code-block[data-lang]","code.hl.block"].join(", "),element:"pre",transform:(el,doc)=>{if(!(el2=>"classList"in el2&&"getAttribute"in el2&&"querySelector"in el2)(el))return el;el.querySelectorAll('button, [class*="codeblock-button"]').forEach(btn=>btn.remove()),el.querySelectorAll('[class*="header"], [class*="toolbar"], [class*="titlebar"], [class*="title-bar"]').forEach(elem=>{let tag=elem.tagName;if(tag!=="DIV"&&tag!=="SPAN")return;let lineAncestor=elem.closest?.("[data-line], .line");if(lineAncestor&&el.contains(lineAncestor)||elem.querySelector("[data-line], .line, pre"))return;let text=(elem.textContent||"").trim();(0,utils_1.countWords)(text)<=5&&elem.remove()});let getCodeLanguage=element=>{let dataLang=element.getAttribute("data-lang")||element.getAttribute("data-language")||element.getAttribute("language");if(dataLang)return dataLang.toLowerCase();let classNames=Array.from(element.classList||[]);if(element.classList?.contains("syntaxhighlighter")){let langClass=classNames.find(c=>!["syntaxhighlighter","nogutter"].includes(c));if(langClass&&CODE_LANGUAGES.has(langClass.toLowerCase()))return langClass.toLowerCase()}for(let className of classNames)for(let pattern of HIGHLIGHTER_PATTERNS){let match=className.toLowerCase().match(pattern);if(match&&match[1]&&CODE_LANGUAGES.has(match[1].toLowerCase()))return match[1].toLowerCase()}for(let className of classNames)if(CODE_LANGUAGES.has(className.toLowerCase()))return className.toLowerCase();return""},language="",currentElement=el;for(;currentElement&&!language;){if(language=getCodeLanguage(currentElement),!language&&currentElement===el){let codeEl=currentElement.querySelector('code[data-lang], code[class*="language-"]')||currentElement.querySelector("code");codeEl&&(language=getCodeLanguage(codeEl))}currentElement=currentElement.parentElement}let cmContent=el.querySelector(".cm-content");if(cmContent&&!language){let allDivs=Array.from(el.querySelectorAll("div"));for(let div of allDivs){if(div.contains(cmContent))continue;let text=(div.textContent||"").trim().toLowerCase();if(text&&CODE_LANGUAGES.has(text)){language=text;break}}}let extractWordPressContent=element=>{let codeContainer=element.querySelector(".syntaxhighlighter table .code .container");if(codeContainer)return Array.from(codeContainer.children).map(line=>Array.from(line.querySelectorAll("code")).map(code2=>{let text=code2.textContent||"";return code2.classList?.contains("spaces")&&(text=" ".repeat(text.length)),text}).join("")||line.textContent||"").join(`
196
+ `);let codeLines=element.querySelectorAll(".code .line");return codeLines.length>0?Array.from(codeLines).map(line=>Array.from(line.querySelectorAll("code")).map(code2=>code2.textContent||"").join("")||line.textContent||"").join(`
197
+ `):""},extractStructuredText=element=>{if((0,utils_1.isTextNode)(element))return element.parentElement?.querySelector("[data-line], .line")&&!(element.textContent||"").trim()?"":element.textContent||"";let text="";if((0,utils_1.isElement)(element)){if(element.matches(".hover-info, .hover-container")||element.tagName==="BUTTON"||element.tagName==="STYLE")return"";if(element.tagName==="BR"){let prev=element.previousElementSibling;return prev&&prev.matches('div[class*="line"], span[class*="line"], .ec-line, [data-line-number], [data-line]')?"":`
198
+ `}if(element.matches("span.lnt")||element.matches("span.lineno")||element.matches(".react-syntax-highlighter-line-number")||element.matches(".rouge-gutter"))return"";if((element.tagName==="DIV"||element.tagName==="SPAN")&&element.children.length===2){let gutter=(element.children[0].textContent||"").trim();if(/^\d+$/.test(gutter))return extractStructuredText(element.children[1]).replace(/\n$/,"")+`
199
+ `}if(element.matches('div[class*="line"], span[class*="line"], .ec-line, [data-line-number], [data-line]')){let codeContainer=element.querySelector('.code:not(.token), .content:not(.token), [class*="code-"], [class*="content-"]');if(codeContainer)return(codeContainer.textContent||"").replace(/\n$/,"")+`
200
+ `;let lineNumber=element.querySelector('.line-number, .gutter, [class*="line-number"], [class*="gutter"]');return lineNumber?Array.from(element.childNodes).filter(node=>!lineNumber.contains(node)).map(node=>extractStructuredText(node)).join("").replace(/\n$/,"")+`
201
+ `:(element.textContent||"").replace(/\n$/,"")+`
202
+ `}element.childNodes.forEach(child=>{text+=extractStructuredText(child)})}return text},codeContent="";if(el.matches(".syntaxhighlighter, .wp-block-syntaxhighlighter-code")&&(codeContent=extractWordPressContent(el)),!codeContent&&cmContent)codeContent=extractStructuredText(cmContent);else if(!codeContent){let extractTarget=el;if(el.tagName!=="PRE"&&el.tagName!=="CODE"){let pres=Array.from(el.querySelectorAll("pre")),codePre=pres.find(p=>p.querySelector('code[data-lang], code[class*="language-"], .line, [data-line]'))||pres.find(p=>p.querySelector("span[class]")&&!p.classList.contains("lineno"));codePre&&(extractTarget=codePre)}codeContent=extractStructuredText(extractTarget)}if(el.matches("code.hl.block"))codeContent=codeContent.replace(/^[ \t]+|[ \t]+$/g,"").replace(/\t/g," ").replace(/\u00a0/g," ").replace(/^\n+/,"");else{codeContent=codeContent.replace(/\t/g," ").replace(/\u00a0/g," ");let lines=codeContent.split(`
203
+ `),minIndent=1/0;for(let line of lines){let firstChar=line.search(/\S/);firstChar>-1&&(minIndent=Math.min(minIndent,firstChar))}minIndent===1/0&&(minIndent=0),minIndent>0&&(codeContent=lines.map(line=>line.slice(minIndent)).join(`
204
+ `)),codeContent=codeContent.replace(/^\s+|\s+$/g,"").replace(/\n{3,}/g,`
205
+
206
+ `).replace(/^\n+/,"").replace(/\n+$/,"")}let ancestor=el;for(let i=0;i<3&&ancestor;i++){let container=ancestor.parentElement;if(!container||container.tagName==="BODY"||container.children.length>5||container.closest?.("[data-callout]"))break;let siblings=Array.from(container.children);for(let sib of siblings){if(sib.contains(el))continue;let sibTag=sib.tagName;if(sibTag!=="DIV"&&sibTag!=="SPAN")continue;let sibText=(sib.textContent||"").trim();(0,utils_1.countWords)(sibText)<=5&&!sib.querySelector("pre, code, img, svg, table, h1, h2, h3, h4, h5, h6, p, blockquote, ul, ol, hr")&&sib.remove()}ancestor=container}let newPre=doc.createElement("pre");el.matches("code.hl.block, pre.hl.lean.lean-output")&&newPre.setAttribute("data-verso-code","true");let code=doc.createElement("code");return language&&(code.setAttribute("data-lang",language),code.setAttribute("class",`language-${language}`)),code.textContent=codeContent,newPre.appendChild(code),newPre}}]}});var require_headings=__commonJS({"node_modules/defuddle/dist/elements/headings.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.headingRules=void 0;exports.removePermalinkAnchors=removePermalinkAnchors;exports.isPermalinkAnchor=isPermalinkAnchor;var constants_1=require_constants();function removePermalinkAnchors(element){Array.from(element.querySelectorAll("h1 a, h2 a, h3 a, h4 a, h5 a, h6 a, a.permalink, a.anchor-link, a.heading-anchor")).forEach(link=>{isPermalinkAnchor(link)&&link.remove()})}function isPermalinkAnchor(node){if(node.tagName.toLowerCase()!=="a")return!1;let href=node.getAttribute("href")||"",title=(node.getAttribute("title")||"").toLowerCase(),className=(node.getAttribute("class")||"").toLowerCase(),text=(node.textContent||"").trim();return!!(href.startsWith("#")||title.includes("permalink")||className.includes("permalink")||className.includes("heading-anchor")||className.includes("anchor-link")||/^[#¶§🔗\uFEFF]$/.test(text))}function isHeadingNavElement(node){let tag=node.tagName.toLowerCase();return!!(tag==="button"||tag==="a"&&isPermalinkAnchor(node)||node.classList.contains("anchor")||node.classList.contains("permalink-widget")||(tag==="span"||tag==="div")&&Array.from(node.querySelectorAll("a")).some(a=>isPermalinkAnchor(a)))}exports.headingRules=[{selector:"h1, h2, h3, h4, h5, h6",element:"keep",transform:el=>{let doc=el.ownerDocument;if(!doc)return el;let newHeading=doc.createElement(el.tagName);if(Array.from(el.attributes).forEach(attr=>{constants_1.ALLOWED_ATTRIBUTES.has(attr.name)&&newHeading.setAttribute(attr.name,attr.value)}),!el.children.length)return newHeading.textContent=el.textContent?.trim()||"",newHeading;let clone=el.cloneNode(!0),navigationText=new Map,toRemove=[];Array.from(clone.querySelectorAll("*")).forEach(child=>{if(!isHeadingNavElement(child))return;navigationText.set(child,child.textContent?.trim()||"");let parent=child.parentElement;parent&&parent!==clone&&parent.textContent?.trim()===child.textContent?.trim()&&navigationText.set(parent,child.textContent?.trim()||""),toRemove.push(child)}),toRemove.forEach(element=>element.remove());let textContent=clone.textContent?.trim()||"";return!textContent&&navigationText.size>0&&(textContent=Array.from(navigationText.values())[0]),newHeading.textContent=textContent,newHeading}}]}});var require_images=__commonJS({"node_modules/defuddle/dist/elements/images.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.imageRules=void 0;exports.isBase64Placeholder=isBase64Placeholder;var utils_1=require_utils(),dom_1=require_dom(),constants_1=require_constants(),b64DataUrlRegex=/^data:image\/([^;]+);base64,/,srcsetPattern=/\.(jpg|jpeg|png|webp)\s+\d/,srcPattern=/^\s*\S+\.(jpg|jpeg|png|webp)\S*\s*$/,imageUrlPattern=/\.(jpg|jpeg|png|webp|gif|avif)(\?.*)?$/i,widthPattern=/\s(\d+)w/,dprPattern=/dpr=(\d+(?:\.\d+)?)/,urlPattern=/^([^\s]+)/,absoluteUrlPattern=/^https?:\/\//,filenamePattern=/^[\w\-\.\/\\]+\.(jpg|jpeg|png|gif|webp|svg)$/i,datePattern=/^\d{4}-\d{2}-\d{2}$/;exports.imageRules=[{selector:"picture",element:"picture",transform:(el,doc)=>{let sourceElements=el.querySelectorAll("source"),imgElement=el.querySelector("img");if(!imgElement){let bestSource=selectBestSource(sourceElements);if(bestSource){let srcset=bestSource.getAttribute("srcset");if(srcset){let newImg=doc.createElement("img");return applySrcsetToImage(srcset,newImg),el.replaceChildren(newImg),el}}return el}let bestSrcset=null,bestSrc=null;if(sourceElements.length>0){let bestSource=selectBestSource(sourceElements);bestSource&&(bestSrcset=bestSource.getAttribute("srcset"),bestSrcset&&(bestSrc=extractFirstUrlFromSrcset(bestSrcset)))}if(bestSrcset&&imgElement.setAttribute("srcset",bestSrcset),bestSrc&&isValidImageUrl(bestSrc))imgElement.setAttribute("src",bestSrc);else if(!imgElement.hasAttribute("src")||!isValidImageUrl(imgElement.getAttribute("src")||"")){let firstUrl=extractFirstUrlFromSrcset(imgElement.getAttribute("srcset")||bestSrcset||"");firstUrl&&isValidImageUrl(firstUrl)&&imgElement.setAttribute("src",firstUrl)}return sourceElements.forEach(source=>source.remove()),el}},{selector:"uni-image-full-width",element:"figure",transform:(el,doc)=>{let figure=doc.createElement("figure"),img=doc.createElement("img"),originalImg=el.querySelector("img");if(!originalImg)return figure;let bestSrc=originalImg.getAttribute("src"),dataLoadingAttr=originalImg.getAttribute("data-loading");if(dataLoadingAttr)try{let dataLoading=JSON.parse(dataLoadingAttr);dataLoading.desktop&&isValidImageUrl(dataLoading.desktop)&&(bestSrc=dataLoading.desktop)}catch{}if(bestSrc&&isValidImageUrl(bestSrc))img.setAttribute("src",bestSrc);else return figure;let altText=originalImg.getAttribute("alt");altText||(altText=el.getAttribute("alt-text")),altText&&img.setAttribute("alt",altText),figure.appendChild(img);let figcaptionEl=el.querySelector("figcaption");if(figcaptionEl){let captionText=figcaptionEl.textContent?.trim();if(captionText&&captionText.length>5){let figcaption=doc.createElement("figcaption"),richTextP=figcaptionEl.querySelector(".rich-text p");richTextP?(0,dom_1.transferContent)(richTextP,figcaption):figcaption.textContent=captionText,figure.appendChild(figcaption)}}return figure}},{selector:'img[data-src], img[data-srcset], img[loading="lazy"], img.lazy, img.lazyload, img[src^="data:image/svg+xml"]',element:"img",transform:(el,doc)=>{let src=el.getAttribute("src")||"",hasBetterSource=hasBetterImageSource(el);(isBase64Placeholder(src)||isSvgDataUrl(src))&&hasBetterSource&&el.removeAttribute("src");let dataSrc=el.getAttribute("data-src");dataSrc&&!el.getAttribute("src")&&el.setAttribute("src",dataSrc);let dataSrcset=el.getAttribute("data-srcset");dataSrcset&&!el.getAttribute("srcset")&&el.setAttribute("srcset",dataSrcset);for(let i=0;i<el.attributes.length;i++){let attr=el.attributes[i];if(attr.name==="src"||attr.name==="srcset"||attr.name==="alt")continue;let firstChar=attr.value.charAt(0);if(!(firstChar==="{"||firstChar==="[")){if(srcsetPattern.test(attr.value))el.setAttribute("srcset",attr.value);else if(srcPattern.test(attr.value)){let currentSrc=el.getAttribute("src")||"",hasAbsoluteSrc=absoluteUrlPattern.test(currentSrc),isAbsoluteNew=absoluteUrlPattern.test(attr.value);(!hasAbsoluteSrc||isAbsoluteNew)&&el.setAttribute("src",attr.value)}}}return el.classList.remove("lazy","lazyload"),el.removeAttribute("data-ll-status"),el.removeAttribute("data-src"),el.removeAttribute("data-srcset"),el.removeAttribute("loading"),el}},{selector:"span:has(img)",element:"span",transform:(el,doc)=>{try{if(!containsImage(el))return el;for(let child of el.children)if(constants_1.BLOCK_LEVEL_ELEMENTS.has(child.tagName.toLowerCase()))return el;let imgElement=findMainImage(el);if(!imgElement)return el;let caption=findCaption(el),processedImg=processImageElement(imgElement,doc);if(caption&&hasMeaningfulCaption(caption)){let figure=createFigureWithCaption(processedImg,caption,doc);return caption.parentNode&&caption.parentNode.removeChild(caption),figure}else return processedImg}catch{return el}}},{selector:'figure, p:has([class*="caption"])',element:"figure",transform:(el,doc)=>{try{if(!containsImage(el))return el;let imgElement=findMainImage(el);if(!imgElement)return el;let caption=findCaption(el);if(caption&&hasMeaningfulCaption(caption)){let currentImg=findMainImage(el),imageToAdd;return currentImg?imageToAdd=currentImg:imageToAdd=processImageElement(imgElement,doc),createFigureWithCaption(imageToAdd,caption,doc)}else return el}catch{return el}}}];function createFigureWithCaption(imageElement,captionElement,doc){let figure=doc.createElement("figure");figure.appendChild(imageElement.cloneNode(!0));let figcaption=doc.createElement("figcaption"),uniqueCaptionContent=extractUniqueCaptionContent(captionElement);return figcaption.appendChild((0,dom_1.parseHTML)(doc,uniqueCaptionContent)),figure.appendChild(figcaption),figure}function applySrcsetToImage(srcset,img){img.setAttribute("srcset",srcset);let firstUrl=extractFirstUrlFromSrcset(srcset);firstUrl&&isValidImageUrl(firstUrl)&&img.setAttribute("src",firstUrl)}function copyAttributesExcept(source,target,excludeAttrs){for(let i=0;i<source.attributes.length;i++){let attr=source.attributes[i];excludeAttrs.includes(attr.name)||target.setAttribute(attr.name,attr.value)}}function isBase64Placeholder(src){let match=src.match(b64DataUrlRegex);if(!match||match[1]==="svg+xml")return!1;let b64starts=match[0].length;return src.length-b64starts<133}function isSvgDataUrl(src){return src.startsWith("data:image/svg+xml")}function isValidImageUrl(src){return src.startsWith("data:")||!src||src.trim()===""?!1:imageUrlPattern.test(src)||src.includes("image")||src.includes("img")||src.includes("photo")}function hasBetterImageSource(element){if(element.hasAttribute("data-src")||element.hasAttribute("data-srcset"))return!0;for(let i=0;i<element.attributes.length;i++){let attr=element.attributes[i];if(attr.name!=="src"&&(attr.name.startsWith("data-")&&/\.(jpg|jpeg|png|webp|gif)(\?.*)?$/i.test(attr.value)||/\.(jpg|jpeg|png|webp|gif)(\?.*)?$/i.test(attr.value)))return!0}return!1}function containsImage(element){return isImageElement(element)?!0:element.querySelectorAll("img, video, picture, source").length>0}function isImageElement(element){let tagName=element.tagName.toLowerCase();return tagName==="img"||tagName==="video"||tagName==="picture"||tagName==="source"}function findMainImage(element){if(isImageElement(element))return element;let pictureElements=element.querySelectorAll("picture");if(pictureElements.length>0)return pictureElements[0];let imgElements=element.querySelectorAll("img"),filteredImgElements=[];for(let i=0;i<imgElements.length;i++){let img=imgElements[i],src=img.getAttribute("src")||"",alt=img.getAttribute("alt")||"";isSvgDataUrl(src)||isBase64Placeholder(src)||!alt.trim()&&imgElements.length>1||filteredImgElements.push(img)}if(filteredImgElements.length>0)return filteredImgElements[0];let videoElements=element.querySelectorAll("video");if(videoElements.length>0)return videoElements[0];let anySourceElements=element.querySelectorAll("source");if(anySourceElements.length>0)return anySourceElements[0];let allImages=element.querySelectorAll("img, picture, source, video");return allImages.length>0?allImages[0]:null}function findCaption(element){let figcaption=element.querySelector("figcaption");if(figcaption)return figcaption;let captionSelectors=['[class*="caption"]','[class*="description"]','[class*="alt"]','[class*="title"]','[class*="credit"]','[class*="text"]','[class*="post-thumbnail-text"]','[class*="image-caption"]','[class*="photo-caption"]',"[aria-label]","[title]"],foundCaptions=new Set,combinedSelector=captionSelectors.join(", "),captionElements=element.querySelectorAll(combinedSelector);for(let i=0;i<captionElements.length;i++){let captionEl=captionElements[i];if(isImageElement(captionEl))continue;let textContent=captionEl.textContent?.trim();if(textContent&&textContent.length>0&&!foundCaptions.has(textContent))return foundCaptions.add(textContent),captionEl}let imgElement=element.querySelector("img");if(imgElement&&imgElement.hasAttribute("alt")){let altText=imgElement.getAttribute("alt");if(altText&&altText.trim().length>0){let captionEl=element.ownerDocument.createElement("div");return captionEl.textContent=altText,captionEl}}if(element.parentElement){let siblings=element.parentElement.children;for(let i=0;i<siblings.length;i++){let sibling=siblings[i];if(sibling===element)continue;if(Array.from(sibling.classList).some(cls=>cls.includes("caption")||cls.includes("credit")||cls.includes("text")||cls.includes("description"))){let textContent=sibling.textContent?.trim();if(textContent&&textContent.length>0)return sibling}}}let imgElements=element.querySelectorAll("img");for(let i=0;i<imgElements.length;i++){let img=imgElements[i];if(!img.parentElement)continue;let nextElement=img.nextElementSibling;for(;nextElement;){if(["EM","STRONG","SPAN","I","B","SMALL","CITE"].includes(nextElement.tagName)){let textContent=nextElement.textContent?.trim();if(textContent&&textContent.length>0)return nextElement}nextElement=nextElement.nextElementSibling}}for(let i=0;i<imgElements.length;i++){let img=imgElements[i],parent=img.parentElement;if(!parent)continue;let textElements=parent.querySelectorAll("em, strong, span, i, b, small, cite");for(let j=0;j<textElements.length;j++){let textEl=textElements[j];if(textEl===img)continue;let textContent=textEl.textContent?.trim();if(textContent&&textContent.length>0)return textEl}}return null}function extractUniqueCaptionContent(caption){let textNodes=[],processedTexts=new Set,processNode=node=>{if((0,utils_1.isTextNode)(node)){let text=node.textContent?.trim()||"";text&&!processedTexts.has(text)&&(textNodes.push(text),processedTexts.add(text))}else if((0,utils_1.isElement)(node)){let childNodes2=node.childNodes;for(let i=0;i<childNodes2.length;i++)processNode(childNodes2[i])}},childNodes=caption.childNodes;for(let i=0;i<childNodes.length;i++)processNode(childNodes[i]);return textNodes.length>0?textNodes.join(" "):(0,dom_1.serializeHTML)(caption)}function hasMeaningfulCaption(caption){let textContent=caption.textContent?.trim()||"";return!(textContent.length<10||textContent.startsWith("http://")||textContent.startsWith("https://")||filenamePattern.test(textContent)||textContent.match(/^\d+$/)||datePattern.test(textContent))}function processImageElement(element,doc){let tagName=element.tagName.toLowerCase();if(tagName==="img")return processImgElement(element,doc);if(tagName==="picture"){let imgInside=element.querySelector("img");return imgInside?processImgElement(imgInside,doc):element.cloneNode(!0)}else if(tagName==="source")return processSourceElement(element,doc);return element.cloneNode(!0)}function processImgElement(element,doc){let src=element.getAttribute("src")||"";if(isBase64Placeholder(src)||isSvgDataUrl(src)){let parent=element.parentElement;if(parent){let sourceElements=parent.querySelectorAll("source"),filteredSources=[];for(let i=0;i<sourceElements.length;i++){let source=sourceElements[i];source.hasAttribute("data-srcset")&&source.getAttribute("data-srcset")!==""&&filteredSources.push(source)}if(filteredSources.length>0){let newImg=doc.createElement("img"),dataSrc=element.getAttribute("data-src");return dataSrc&&!isSvgDataUrl(dataSrc)&&newImg.setAttribute("src",dataSrc),copyAttributesExcept(element,newImg,["src"]),newImg}}}return element.cloneNode(!0)}function processSourceElement(element,doc){let newImg=doc.createElement("img"),srcset=element.getAttribute("srcset");srcset&&applySrcsetToImage(srcset,newImg);let parent=element.parentElement;if(parent){let imgElements=parent.querySelectorAll("img"),filteredImgElements=[];for(let i=0;i<imgElements.length;i++){let img=imgElements[i],src=img.getAttribute("src")||"";!isBase64Placeholder(src)&&!isSvgDataUrl(src)&&src!==""&&filteredImgElements.push(img)}if(filteredImgElements.length>0){if(copyAttributesExcept(filteredImgElements[0],newImg,["src","srcset"]),!newImg.hasAttribute("src")||!isValidImageUrl(newImg.getAttribute("src")||"")){let imgSrc=filteredImgElements[0].getAttribute("src");imgSrc&&isValidImageUrl(imgSrc)&&newImg.setAttribute("src",imgSrc)}}else{let dataSrcImg=parent.querySelector("img[data-src]");if(dataSrcImg&&(copyAttributesExcept(dataSrcImg,newImg,["src","srcset"]),!newImg.hasAttribute("src")||!isValidImageUrl(newImg.getAttribute("src")||""))){let dataSrc=dataSrcImg.getAttribute("data-src");dataSrc&&isValidImageUrl(dataSrc)&&newImg.setAttribute("src",dataSrc)}}}return newImg}function extractFirstUrlFromSrcset(srcset){if(!srcset||!srcset.trim())return null;let trimmed=srcset.trim(),entryPattern=/(.+?)\s+(\d+(?:\.\d+)?[wx])/g,match,lastIndex=0;for(;(match=entryPattern.exec(trimmed))!==null;){let url=match[1].trim();if(lastIndex>0&&(url=url.replace(/^,\s*/,"")),lastIndex=entryPattern.lastIndex,!!url&&!isSvgDataUrl(url))return url}let urlMatch=trimmed.match(urlPattern);return urlMatch&&urlMatch[1]&&!isSvgDataUrl(urlMatch[1])?urlMatch[1]:null}function selectBestSource(sources){if(sources.length===0)return null;if(sources.length===1)return sources[0];for(let i=0;i<sources.length;i++)if(!sources[i].hasAttribute("media"))return sources[i];let bestSource=null,maxResolution=0;for(let i=0;i<sources.length;i++){let source=sources[i],srcset=source.getAttribute("srcset");if(!srcset)continue;let widthMatch=srcset.match(widthPattern),dprMatch=srcset.match(dprPattern);if(widthMatch&&widthMatch[1]){let width=parseInt(widthMatch[1],10),dpr=dprMatch?parseFloat(dprMatch[1]):1,resolution=width*dpr;resolution>maxResolution&&(maxResolution=resolution,bestSource=source)}}return bestSource||sources[0]}}});var require_standardize=__commonJS({"node_modules/defuddle/dist/standardize.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.standardizeExtractorOutput=standardizeExtractorOutput;exports.standardizeContent=standardizeContent;exports.removeOrphanedDividers=removeOrphanedDividers;var constants_1=require_constants(),math_1=require_math(),math_base_1=require_math_base(),code_1=require_code(),headings_1=require_headings(),images_1=require_images(),utils_1=require_utils(),dom_1=require_dom(),comments_1=require_comments(),_debug=!1,ELEMENT_STANDARDIZATION_RULES=[...math_1.mathRules,...code_1.codeBlockRules,...headings_1.headingRules,...images_1.imageRules,{selector:'div[data-testid^="paragraph"], div[role="paragraph"]',element:"p",transform:(el,doc)=>{let p=doc.createElement("p");return(0,dom_1.transferContent)(el,p),Array.from(el.attributes).forEach(attr=>{constants_1.ALLOWED_ATTRIBUTES.has(attr.name)&&p.setAttribute(attr.name,attr.value)}),p}},{selector:'div[role="list"]',element:"ul",transform:(el,doc)=>{let isOrdered=(el.querySelector('div[role="listitem"] .label')?.textContent?.trim()||"").match(/^\d+\)/),list=doc.createElement(isOrdered?"ol":"ul");return el.querySelectorAll('div[role="listitem"]').forEach(item=>{let li=doc.createElement("li"),content=item.querySelector(".content");content&&(content.querySelectorAll('div[role="paragraph"]').forEach(div=>{let p=doc.createElement("p");(0,dom_1.transferContent)(div,p),div.replaceWith(p)}),content.querySelectorAll('div[role="list"]').forEach(nestedList=>{let isNestedOrdered=(nestedList.querySelector('div[role="listitem"] .label')?.textContent?.trim()||"").match(/^\d+\)/),newNestedList=doc.createElement(isNestedOrdered?"ol":"ul");nestedList.querySelectorAll('div[role="listitem"]').forEach(nestedItem=>{let nestedLi=doc.createElement("li"),nestedContent=nestedItem.querySelector(".content");nestedContent&&(nestedContent.querySelectorAll('div[role="paragraph"]').forEach(div=>{let p=doc.createElement("p");(0,dom_1.transferContent)(div,p),div.replaceWith(p)}),(0,dom_1.transferContent)(nestedContent,nestedLi)),newNestedList.appendChild(nestedLi)}),nestedList.replaceWith(newNestedList)}),(0,dom_1.transferContent)(content,li)),list.appendChild(li)}),list}},{selector:'div[role="listitem"]',element:"li",transform:(el,doc)=>{let content=el.querySelector(".content");return content?(content.querySelectorAll('div[role="paragraph"]').forEach(div=>{let p=doc.createElement("p");(0,dom_1.transferContent)(div,p),div.replaceWith(p)}),content):el}}];function standardizeExtractorOutput(element,debug=!1){_debug=debug,stripUnwantedAttributes(element,debug,!0),debug||removeEmptyElements(element),stripExtraBrElements(element)}function standardizeContent(element,metadata,doc,debug=!1,subProfile){_debug=debug;let step=subProfile?(name,fn)=>{let t=performance.now(),r=fn();return subProfile[name]=(subProfile[name]??0)+Math.round(performance.now()-t),r}:(_,fn)=>fn();step("standardizeDropCaps",()=>standardizeDropCaps(element)),step("standardizeSpaces",()=>standardizeSpaces(element)),step("removeHtmlComments",()=>removeHtmlComments(element)),step("standardizeHeadings",()=>standardizeHeadings(element,metadata.title,doc)),step("wrapPreformattedCode",()=>wrapPreformattedCode(element,doc)),step("standardizeElements",()=>standardizeElements(element,doc,subProfile)),step("resolveSvgColors",()=>resolveSvgColors(element,doc)),debug?(step("stripUnwantedAttributes",()=>stripUnwantedAttributes(element,debug)),step("removeTrailingHeadings",()=>removeTrailingHeadings(element)),step("stripExtraBrElements",()=>stripExtraBrElements(element)),(0,utils_1.logDebug)(_debug,"Debug mode: Skipping div flattening to preserve structure")):(step("replaceCustomElements",()=>replaceCustomElements(element,doc)),step("convertDataAsSpans",()=>convertDataAsSpans(element,doc)),step("convertBlockSpans",()=>convertBlockSpans(element,doc)),step("unwrapLayoutTables",()=>unwrapLayoutTables(element)),step("flattenWrapperElements[1]",()=>flattenWrapperElements(element,doc)),step("removePermalinkAnchors",()=>(0,headings_1.removePermalinkAnchors)(element)),step("stripUnwantedAttributes",()=>stripUnwantedAttributes(element,debug)),step("unwrapBareSpans",()=>unwrapBareSpans(element)),step("unwrapSpecialLinks",()=>{Array.from(element.querySelectorAll("code a")).forEach(unwrapElement),Array.from(element.querySelectorAll('a[href^="javascript:"]')).forEach(unwrapElement),Array.from(element.querySelectorAll("a")).forEach(link=>{let href=link.getAttribute("href");if(!href||href.startsWith("#"))return;let heading=Array.from(link.children).find(c=>/^H[1-6]$/.test(c.nodeName));if(!heading)return;let innerLink=doc.createElement("a");for(innerLink.setAttribute("href",href);heading.firstChild;)innerLink.appendChild(heading.firstChild);heading.appendChild(innerLink),unwrapElement(link)}),Array.from(element.querySelectorAll('a[href^="#"]')).forEach(link=>{link.querySelector("h1, h2, h3, h4, h5, h6")&&unwrapElement(link)})}),step("removeObsoleteElements",()=>element.querySelectorAll("object, embed, applet").forEach(el=>el.remove())),step("removeEmptyElements",()=>removeEmptyElements(element)),step("removeTrailingHeadings",()=>removeTrailingHeadings(element)),step("removeOrphanedDividers[1]",()=>removeOrphanedDividers(element)),step("flattenWrapperElements[2]",()=>flattenWrapperElements(element,doc)),step("removeOrphanedDividers[2]",()=>removeOrphanedDividers(element)),step("stripExtraBrElements",()=>stripExtraBrElements(element)),step("removeEmptyLines",()=>removeEmptyLines(element,doc)))}function wrapPreformattedCode(element,doc){let codeElements=Array.from(element.querySelectorAll("code"));for(let code of codeElements){if(code.closest("pre"))continue;let style=code.getAttribute("style")||"";if(!/white-space\s*:\s*pre/.test(style))continue;let pre=doc.createElement("pre");code.parentNode?.insertBefore(pre,code),pre.appendChild(code)}}function standardizeSpaces(element){let processNode=node=>{if((0,utils_1.isElement)(node)){let tag=node.tagName.toLowerCase();if(tag==="pre"||tag==="code"||(0,utils_1.isSVGElement)(node))return}if((0,utils_1.isTextNode)(node)){let text=node.textContent||"",newText=text.replace(/\xA0/g," ");newText!==text&&(node.textContent=newText)}node.hasChildNodes()&&Array.from(node.childNodes).forEach(processNode)};processNode(element)}function removeTrailingHeadings(element){let removedCount=0,hasContentAfter=el=>{let nextContent="",sibling=el.nextSibling;for(;sibling;)((0,utils_1.isTextNode)(sibling)||(0,utils_1.isElement)(sibling))&&(nextContent+=sibling.textContent||""),sibling=sibling.nextSibling;if(nextContent.trim())return!0;let parent=el.parentElement;return parent&&parent!==element?hasContentAfter(parent):!1},headings=Array.from(element.querySelectorAll("h1, h2, h3, h4, h5, h6")).reverse();for(let heading of headings)if(!hasContentAfter(heading))heading.remove(),removedCount++;else break;removedCount>0&&(0,utils_1.logDebug)(_debug,"Removed trailing headings:",removedCount)}function removeOrphanedDividers(element){for(;;){let node=element.firstChild;for(;node&&(0,utils_1.isTextNode)(node)&&!(node.textContent||"").trim();)node=node.nextSibling;if(node&&(0,utils_1.isElement)(node)&&node.tagName.toLowerCase()==="hr")node.remove();else break}for(;;){let node=element.lastChild;for(;node&&(0,utils_1.isTextNode)(node)&&!(node.textContent||"").trim();)node=node.previousSibling;if(node&&(0,utils_1.isElement)(node)&&node.tagName.toLowerCase()==="hr")node.remove();else break}for(let hr of element.querySelectorAll("hr")){if(!hr.parentNode)continue;let node=hr.nextSibling;for(;node;){if((0,utils_1.isTextNode)(node)&&!(node.textContent||"").trim()){node=node.nextSibling;continue}if((0,utils_1.isElement)(node)&&node.tagName==="HR"){let next=node.nextSibling;node.remove(),node=next;continue}break}}}function standardizeHeadings(element,title,doc){let h1s=element.getElementsByTagName("h1");Array.from(h1s).forEach(h1=>{let h2=doc.createElement("h2");(0,dom_1.transferContent)(h1,h2),Array.from(h1.attributes).forEach(attr=>{constants_1.ALLOWED_ATTRIBUTES.has(attr.name)&&h2.setAttribute(attr.name,attr.value)}),h1.parentNode?.replaceChild(h2,h1)});let h2s=element.getElementsByTagName("h2");if(h2s.length>0){let firstH2=h2s[0],permalinkText="";for(let a of firstH2.querySelectorAll("a"))(0,headings_1.isPermalinkAnchor)(a)&&(permalinkText+=a.textContent||"");let firstH2Text=(0,utils_1.normalizeText)((firstH2.textContent||"").replace(permalinkText,"")),normalizedTitle=(0,utils_1.normalizeText)(title);normalizedTitle&&normalizedTitle===firstH2Text&&firstH2.remove()}}function removeHtmlComments(element){let removedCount=0,walker=element.ownerDocument.createTreeWalker(element,128),comments=[];for(;walker.nextNode();)comments.push(walker.currentNode);for(let node of comments)node.parentNode?.removeChild(node),removedCount++;(0,utils_1.logDebug)(_debug,"Removed HTML comments:",removedCount)}function filterExtractorClasses(value){return value.split(/\s+/).filter(comments_1.isExtractorClass).join(" ")}function stripUnwantedAttributes(element,debug,extractorOutput=!1){let attributeCount=0,processElement=el=>{if((0,utils_1.isSVGElement)(el)){!debug&&el.hasAttribute("class")&&(el.removeAttribute("class"),attributeCount++);return}let attributes=Array.from(el.attributes),tag=el.tagName.toLowerCase();attributes.forEach(attr=>{let attrName=attr.name.toLowerCase(),attrValue=attr.value;if(!(attrName==="id"&&(attrValue.startsWith("fnref:")||attrValue.startsWith("fn:")||attrValue==="footnotes")||attrName==="class"&&(tag==="code"&&attrValue.startsWith("language-")||attrValue==="footnote-backref"||/^callout(?:-|$)/.test(attrValue))||extractorOutput&&attrName==="data-defuddle")){if(extractorOutput&&!debug&&attrName==="class"){let kept=filterExtractorClasses(attrValue);if(kept){kept!==attrValue&&(el.setAttribute("class",kept),attributeCount++);return}}debug?!constants_1.ALLOWED_ATTRIBUTES.has(attrName)&&!constants_1.ALLOWED_ATTRIBUTES_DEBUG.has(attrName)&&!attrName.startsWith("data-")&&(el.removeAttribute(attr.name),attributeCount++):constants_1.ALLOWED_ATTRIBUTES.has(attrName)||(el.removeAttribute(attr.name),attributeCount++)}})};processElement(element),element.querySelectorAll("*").forEach(processElement),(0,utils_1.logDebug)(_debug,"Stripped attributes:",attributeCount)}function unwrapElement(el){for(;el.firstChild;)el.parentNode?.insertBefore(el.firstChild,el);el.remove()}function unwrapLayoutTables(element){let tables=Array.from(element.querySelectorAll("table")),count=0;for(let table of tables){if(!table.parentNode||table.querySelector("thead, tfoot, th, caption"))continue;let nonEmptyCells=Array.from(table.querySelectorAll(":scope > tbody > tr > td, :scope > tr > td")).filter(td=>td.textContent?.trim());if(nonEmptyCells.length!==1)continue;let cell=nonEmptyCells[0],children=Array.from(cell.children).filter(c=>c.textContent?.trim());children.length===1&&constants_1.BLOCK_LEVEL_ELEMENTS.has(children[0].tagName.toLowerCase())&&(table.replaceWith(children[0]),count++)}(0,utils_1.logDebug)(_debug,"Unwrapped layout tables:",count)}var TW_BLOCK_RE=/(?:^|\s)block(?:\s|$)/,DISPLAY_BLOCK_RE=/display\s*:\s*block/i;function replaceCustomElements(element,doc){let customElements=Array.from(element.querySelectorAll("*")).filter(el=>el.tagName.includes("-")&&!constants_1.INLINE_ELEMENTS.has(el.tagName.toLowerCase())&&!(0,utils_1.isSVGElement)(el)).reverse(),replacedCount=0;for(let el of customElements){if(!el.parentNode)continue;let div=doc.createElement("div");for(;el.firstChild;)div.appendChild(el.firstChild);el.replaceWith(div),replacedCount++}(0,utils_1.logDebug)(_debug,"Replaced custom elements with divs:",replacedCount)}var DATA_AS_ALLOWED=new Set(["p","h1","h2","h3","h4","h5","h6","li","blockquote"]);function standardizeDropCaps(element){let caps=Array.from(element.querySelectorAll('span[data-caps="initial"]')),count=0;for(let span of caps){if(!span.parentNode)continue;let next=span.nextElementSibling;if(next&&next.tagName==="SMALL"){let initial=span.textContent||"",rest=next.textContent||"",merged=span.ownerDocument.createTextNode(initial+rest);span.parentNode.insertBefore(merged,span),next.remove(),span.remove()}else unwrapElement(span);count++}count>0&&element.normalize(),(0,utils_1.logDebug)(_debug,"Standardized drop caps:",count)}function convertDataAsSpans(element,doc){let convertedCount=0,spans=Array.from(element.querySelectorAll("span[data-as]"));for(let span of spans){if(!span.parentNode)continue;let target=span.getAttribute("data-as").toLowerCase();if(!DATA_AS_ALLOWED.has(target))continue;let replacement=doc.createElement(target);(0,dom_1.transferContent)(span,replacement),span.replaceWith(replacement),convertedCount++}(0,utils_1.logDebug)(_debug,"Converted data-as spans:",convertedCount)}function convertBlockSpans(element,doc){let convertedCount=0,spans=Array.from(element.querySelectorAll('span[class*="block"], span[style*="block"]'));for(let span of spans){if(!span.parentNode||!(TW_BLOCK_RE.test((0,dom_1.getClassName)(span))||DISPLAY_BLOCK_RE.test(span.getAttribute("style")||""))||!span.textContent?.trim())continue;let p=doc.createElement("p");(0,dom_1.transferContent)(span,p),span.replaceWith(p),convertedCount++}(0,utils_1.logDebug)(_debug,"Converted block spans to paragraphs:",convertedCount)}function unwrapBareSpans(element){let spans=Array.from(element.querySelectorAll("span")).reverse(),unwrappedCount=0;for(let span of spans){if(!span.parentNode||span.attributes.length>0)continue;let parent=span.parentNode;if(parent){for(;span.firstChild;)parent.insertBefore(span.firstChild,span);span.remove(),unwrappedCount++}}unwrappedCount>0&&element.normalize(),(0,utils_1.logDebug)(_debug,"Unwrapped bare spans:",unwrappedCount)}var LIGHT_DARK_RE=/light-dark\(\s*([^,]+?)\s*,\s*[^)]+?\)/g,CSS_VAR_RE=/var\(--([^,)]+)(?:,\s*([^)]+))?\)/,SVG_COLOR_ATTRS=["fill","stroke","color","stop-color","flood-color","lighting-color"];function resolveSvgColors(element,doc){let svgs=element.querySelectorAll("svg");if(svgs.length===0)return;let defaultView=doc.defaultView,isBrowser=typeof window<"u"&&defaultView===window,resolveCache=new Map,resolveVar=(value,svgParent)=>{if(value=value.replace(LIGHT_DARK_RE,(_match,lightVal)=>lightVal.trim()),!value.includes("var("))return value;if(isBrowser){let cached=resolveCache.get(value);if(cached)return cached;let anchor=svgParent||doc.documentElement;try{let temp=doc.createElement("div");temp.style.color=value,anchor.appendChild(temp);let computed=defaultView.getComputedStyle(temp).color;if(temp.remove(),computed&&!computed.includes("var("))return resolveCache.set(value,computed),computed}catch{}}let varMatch=value.match(CSS_VAR_RE);if(varMatch){let fallback=varMatch[2]?.trim();if(fallback&&!fallback.includes("var("))return fallback;let name=varMatch[1].toLowerCase(),twMatch=name.match(/(?:^|-)([a-z]+)-(\d{2,3})$/);if(twMatch){let hex=constants_1.TAILWIND_COLORS[twMatch[1]]?.[twMatch[2]];if(hex)return hex}if(name.endsWith("-black"))return"#000";if(name.endsWith("-white"))return"#fff";if(name.includes("background")||name.includes("card")||name.includes("surface")||name.includes("bg"))return"Canvas";if(name.includes("border")||name.includes("divider")||name.includes("separator"))return"#ccc";if(name.includes("muted")||name.includes("subtle")||name.includes("secondary")||name.includes("placeholder"))return"#888"}return"currentColor"};for(let svg of Array.from(svgs)){let svgParent=svg.parentElement,allEls=[svg,...Array.from(svg.querySelectorAll("*"))];for(let el of allEls){for(let attrName of SVG_COLOR_ATTRS){let val=el.getAttribute(attrName);!val||!val.includes("var(")&&!val.includes("light-dark(")||el.setAttribute(attrName,resolveVar(val,svgParent))}let style=el.getAttribute("style");if(style&&(style.includes("var(")||style.includes("light-dark("))){let resolved=style.replace(LIGHT_DARK_RE,(_match,lightVal)=>lightVal.trim());resolved=resolved.replace(/var\(--[^,)]+(?:,\s*[^)]+)?\)/g,match=>resolveVar(match,svgParent)),el.setAttribute("style",resolved)}resolveTailwindClasses(el)}applySvgFallbackStyles(svg)}}var SVG_FILLED_TAGS=new Set(["path","rect","circle","ellipse","polygon"]),SVG_STROKE_TAGS=new Set(["line","polyline"]),SVG_TEXT_TAGS=new Set(["text","tspan"]),SVG_NON_RENDERED_ANCESTOR="defs, clipPath, mask, pattern, marker",GRIDLINE_STROKE_OPACITY="0.2";function hasStyleProp(el,prop){let style=el.getAttribute("style");return style?new RegExp(`(?:^|;)\\s*${prop}\\s*:`).test(style):!1}function applySvgFallbackStyles(svg){if(svg.querySelector("style"))return;let allEls=Array.from(svg.querySelectorAll("*")),hasUnstyled=!1;for(let el of allEls){let tag=el.tagName.toLowerCase();if(SVG_FILLED_TAGS.has(tag)&&el.getAttribute("class")&&!el.closest(SVG_NON_RENDERED_ANCESTOR)&&!(el.hasAttribute("fill")||hasStyleProp(el,"fill"))){hasUnstyled=!0;break}}if(hasUnstyled)for(let el of allEls){let tag=el.tagName.toLowerCase(),isFilled=SVG_FILLED_TAGS.has(tag),isStroke=SVG_STROKE_TAGS.has(tag),isText=SVG_TEXT_TAGS.has(tag);if(!isFilled&&!isStroke&&!isText||!el.getAttribute("class")||el.closest(SVG_NON_RENDERED_ANCESTOR))continue;if(isText){!el.hasAttribute("fill")&&!hasStyleProp(el,"fill")&&el.setAttribute("fill","currentColor");continue}let hasFill=el.hasAttribute("fill")&&el.getAttribute("fill")!=="none",hasStrokeAttr=el.hasAttribute("stroke")||hasStyleProp(el,"stroke");if(isFilled&&!el.hasAttribute("fill")&&!hasStyleProp(el,"fill")&&el.setAttribute("fill","none"),!hasStrokeAttr){if(isStroke)el.setAttribute("stroke","currentColor"),el.hasAttribute("stroke-opacity")||el.setAttribute("stroke-opacity",GRIDLINE_STROKE_OPACITY);else if(isFilled&&!hasFill){let d=el.getAttribute("d")||"";/Z\s*$/i.test(d.trim())||el.setAttribute("stroke","currentColor")}}}}function resolveTailwindClasses(el){let className=el.getAttribute("class");if(!className)return;let tokens=className.split(/\s+/),keep=[],styles=[];for(let token of tokens){let match=token.match(constants_1.TW_COLOR_CLASS_RE);if(match){let[,prop,color,shade,opacity]=match,hex=constants_1.TAILWIND_COLORS[color]?.[shade];if(hex){if(opacity){let a=parseInt(opacity)/100,r=parseInt(hex.slice(1,3),16),g=parseInt(hex.slice(3,5),16),b=parseInt(hex.slice(5,7),16);el.setAttribute(prop,`rgba(${r},${g},${b},${a})`)}else el.setAttribute(prop,hex);continue}}if(match=token.match(constants_1.TW_SPECIAL_CLASS_RE),match){el.setAttribute(match[1],constants_1.TAILWIND_SPECIAL[match[2]]);continue}if(match=token.match(constants_1.TW_ARBITRARY_RE),match&&!match[1].startsWith("#")&&!match[1].startsWith("rgb")&&!match[1].startsWith("hsl")){styles.push(`font-size:${match[1]}`);continue}if(token==="font-semibold"){styles.push("font-weight:600");continue}if(token==="font-bold"){styles.push("font-weight:700");continue}if(token==="font-medium"){styles.push("font-weight:500");continue}if(token==="font-mono"){styles.push("font-family:monospace");continue}keep.push(token)}if(keep.length!==tokens.length&&(keep.length>0?el.setAttribute("class",keep.join(" ")):el.removeAttribute("class"),styles.length>0)){let existing=el.getAttribute("style")||"",sep=existing&&!existing.endsWith(";")?";":"";el.setAttribute("style",existing+sep+styles.join(";"))}}function removeEmptyElements(element){let removedCount=0,isEmptyElement=el=>{if(constants_1.ALLOWED_EMPTY_ELEMENTS.has(el.tagName.toLowerCase()))return!1;if(el.tagName==="DIV"){let children=el.children;if(children.length>0){let allCommaSpans=!0;for(let i=0;i<children.length;i++){let child=children[i];if(child.tagName!=="SPAN"){allCommaSpans=!1;break}let content=child.textContent?.trim()||"";if(content!==","&&content!==""&&content!==" "){allCommaSpans=!1;break}}if(allCommaSpans)return!0}}let textContent=el.textContent||"";if(textContent.trim().length>0||textContent.includes("\xA0"))return!1;if(!el.hasChildNodes())return!0;let childNodes=el.childNodes;for(let i=0;i<childNodes.length;i++){let node=childNodes[i];if((0,utils_1.isElement)(node)&&node.tagName.toLowerCase()==="br")continue;if(!(0,utils_1.isTextNode)(node))return!1;let nodeText=node.textContent||"";if(nodeText.trim().length>0||nodeText.includes("\xA0"))return!1}return!0},allElements=Array.from(element.querySelectorAll("*")).reverse();for(let el of allElements)el.parentNode&&isEmptyElement(el)&&(el.remove(),removedCount++);(0,utils_1.logDebug)(_debug,"Removed empty elements:",removedCount)}function stripExtraBrElements(element){let processedCount=0,startTime=Date.now(),brElements=Array.from(element.getElementsByTagName("br")),consecutiveBrs=[],processBrs=()=>{if(consecutiveBrs.length>2)for(let i=2;i<consecutiveBrs.length;i++)consecutiveBrs[i].remove(),processedCount++;consecutiveBrs=[]};brElements.forEach(currentNode=>{let isConsecutive=!1;if(consecutiveBrs.length>0){let lastBr=consecutiveBrs[consecutiveBrs.length-1];skipWhitespace(currentNode,"previous")===lastBr&&(isConsecutive=!0)}isConsecutive?consecutiveBrs.push(currentNode):(processBrs(),consecutiveBrs=[currentNode])}),processBrs();let remainingBrs=Array.from(element.getElementsByTagName("br"));for(let br of remainingBrs){let parent=br.parentElement;if(!parent||br.closest("pre, code"))continue;let parentTag=parent.tagName.toLowerCase();if(constants_1.BLOCK_LEVEL_ELEMENTS.has(parentTag)||parentTag==="body"){let group=[br],scan=skipWhitespace(br,"next");for(;scan&&(0,utils_1.isElement)(scan)&&scan.tagName.toLowerCase()==="br";)group.push(scan),scan=skipWhitespace(scan,"next");let prev=skipWhitespace(group[0],"previous"),next=skipWhitespace(group[group.length-1],"next"),prevIsBlock=prev&&(0,utils_1.isElement)(prev)&&constants_1.BLOCK_LEVEL_ELEMENTS.has(prev.tagName.toLowerCase()),nextIsBlock=next&&(0,utils_1.isElement)(next)&&constants_1.BLOCK_LEVEL_ELEMENTS.has(next.tagName.toLowerCase());if(prevIsBlock&&nextIsBlock||prevIsBlock&&!next||!prev){for(let b of group)b.remove(),processedCount++;continue}}constants_1.BLOCK_LEVEL_ELEMENTS.has(parentTag)&&(skipWhitespace(br,"next")||(br.remove(),processedCount++))}let endTime=Date.now();(0,utils_1.logDebug)(_debug,"Standardized br elements:",{removed:processedCount,processingTime:`${(endTime-startTime).toFixed(2)}ms`})}function skipWhitespace(node,direction){let prop=direction==="previous"?"previousSibling":"nextSibling",sibling=node[prop];for(;sibling&&(0,utils_1.isTextNode)(sibling)&&!sibling.textContent?.trim();)sibling=sibling[prop];return sibling}function moveWhitespaceOutside(node,doc,direction){let child=direction==="leading"?node.firstChild:node.lastChild;if(!child||!(0,utils_1.isTextNode)(child))return 0;let text=child.textContent||"",trimmed=direction==="leading"?text.replace(/^\s+/,""):text.replace(/\s+$/,"");if(trimmed===text||!node.parentNode)return 0;child.textContent=trimmed;let neighbor=direction==="leading"?node.previousSibling:node.nextSibling;if(!(neighbor&&(0,utils_1.isTextNode)(neighbor)&&(direction==="leading"?(neighbor.textContent||"").endsWith(" "):(neighbor.textContent||"").startsWith(" ")))){let insertBefore=direction==="leading"?node:node.nextSibling;node.parentNode.insertBefore(doc.createTextNode(" "),insertBefore)}return 1}function isFootnoteRef(node){return(0,utils_1.isElement)(node)&&node.tagName.toLowerCase()==="sup"&&(node.getAttribute("id")||"").startsWith("fnref:")}function removeEmptyLines(element,doc){let removedCount=0,startTime=Date.now(),removeEmptyTextNodes=node=>{if((0,utils_1.isElement)(node)){let tag=node.tagName.toLowerCase();if(tag==="pre"||tag==="code")return}if(Array.from(node.childNodes).forEach(removeEmptyTextNodes),(0,utils_1.isTextNode)(node)){let text=node.textContent||"";if(!text||/^[\u200C\u200B\u200D\u200E\u200F\uFEFF]*$/.test(text))node.parentNode?.removeChild(node),removedCount++;else{let newText=text.replace(/[\n\r]+/g," ").replace(/\t+/g," ").replace(/ {2,}/g," ").replace(/^[ ]+$/," ").replace(/\s+([,.!?:;])/g,"$1").replace(/[\u200B\u200D\u200E\u200F\uFEFF]+/g,"").replace(/(?:\xA0){2,}/g,"\xA0");newText!==text&&(node.textContent=newText,removedCount+=text.length-newText.length)}}},cleanupEmptyElements=node=>{if(!(0,utils_1.isElement)(node))return;let tag=node.tagName.toLowerCase();if(tag==="pre"||tag==="code")return;Array.from(node.childNodes).filter(utils_1.isElement).forEach(cleanupEmptyElements),node.normalize();let isBlockElement=(0,utils_1.getComputedStyle)(node)?.display==="block",whitespacePattern=isBlockElement?/^[\n\r\t \u200C\u200B\u200D\u200E\u200F\uFEFF\xA0]*$/:/^[\n\r\t\u200C\u200B\u200D\u200E\u200F\uFEFF]*$/;for(;node.firstChild&&(0,utils_1.isTextNode)(node.firstChild)&&(node.firstChild.textContent||"").match(whitespacePattern);)node.removeChild(node.firstChild),removedCount++;for(;node.lastChild&&(0,utils_1.isTextNode)(node.lastChild)&&(node.lastChild.textContent||"").match(whitespacePattern);)node.removeChild(node.lastChild),removedCount++;if(!isBlockElement&&constants_1.INLINE_ELEMENTS.has(tag)&&node.parentNode&&(removedCount+=moveWhitespaceOutside(node,doc,"leading"),removedCount+=moveWhitespaceOutside(node,doc,"trailing")),!isBlockElement){let children=Array.from(node.childNodes);for(let i=0;i<children.length-1;i++){let current=children[i],next=children[i+1];if((0,utils_1.isElement)(current)||(0,utils_1.isElement)(next)){let nextContent=next.textContent||"",currentContent=current.textContent||"",nextIsFootnoteRef=isFootnoteRef(next),nextStartsWithPunctuation=nextContent.match(/^[,.!?:;)\]]/),currentEndsWithPunctuation=currentContent.match(/[,.!?:;(\[]\s*$/),hasSpace=(0,utils_1.isTextNode)(current)&&(current.textContent||"").endsWith(" ")||(0,utils_1.isTextNode)(next)&&(next.textContent||"").startsWith(" ");if(!nextIsFootnoteRef&&!nextStartsWithPunctuation&&!currentEndsWithPunctuation&&!hasSpace){let space=doc.createTextNode(" ");node.insertBefore(space,next)}}}}};removeEmptyTextNodes(element),cleanupEmptyElements(element);let endTime=Date.now();(0,utils_1.logDebug)(_debug,"Removed empty lines:",{charactersRemoved:removedCount,processingTime:`${(endTime-startTime).toFixed(2)}ms`})}function standardizeElements(element,doc,subProfile){let processedCount=0,stepSE=subProfile?(name,fn)=>{let t=performance.now(),r=fn();return subProfile["se:"+name]=(subProfile["se:"+name]??0)+Math.round(performance.now()-t),r}:(_,fn)=>fn();stepSE("wrapRawLatexDelimiters",()=>(0,math_base_1.wrapRawLatexDelimiters)(element,doc)),stepSE("convertLatexImages",()=>{for(let img of Array.from(element.querySelectorAll("img[src]"))){let src=img.getAttribute("src");if(!src)continue;let latex=(0,math_base_1.extractLatexFromImageSrc)(src);if(!latex){let alt=img.getAttribute("alt")||"";math_base_1.LOOKS_LIKE_LATEX_RE.test(alt)&&(latex=alt)}if(!latex)continue;let isBlock=/\\begin\{/.test(latex)||img.parentElement?.tagName.toLowerCase()==="p"&&img.parentElement.childNodes.length===1,mathEl=(0,math_1.createCleanMathEl)(null,latex,isBlock,doc);img.replaceWith(mathEl),processedCount++}}),ELEMENT_STANDARDIZATION_RULES.forEach(rule=>{let selectorKey=rule.selector.substring(0,30);stepSE(selectorKey,()=>{if(rule.fastCheck&&!element.querySelector(rule.fastCheck))return;let elements;try{elements=element.querySelectorAll(rule.selector)}catch{return}elements.forEach(el=>{if(rule.transform){let transformed=rule.transform(el,doc);el.replaceWith(transformed),processedCount++}})})}),Array.from(element.querySelectorAll("code > pre")).forEach(pre=>{let outerCode=pre.parentElement;!outerCode||outerCode.tagName!=="CODE"||outerCode.replaceWith(pre)}),Array.from(element.querySelectorAll("table.ltx_equation, table.ltx_eqn_table, table.ltx_equationgroup")).forEach(table=>{let mathElements=table.querySelectorAll("math");if(mathElements.length===0)return;let fragment=doc.createDocumentFragment();mathElements.forEach(mathEl=>{let alttext=mathEl.getAttribute("alttext"),annotation=mathEl.querySelector('annotation[encoding="application/x-tex"]'),latex=alttext||annotation?.textContent?.trim()||"";if(!latex)return;let isBlock=mathEl.getAttribute("display")==="block"||table.classList.contains("ltx_equation")||table.classList.contains("ltx_equationgroup"),cleanMath=doc.createElement("math");cleanMath.setAttribute("xmlns","http://www.w3.org/1998/Math/MathML"),cleanMath.setAttribute("display",isBlock?"block":"inline"),cleanMath.setAttribute("data-latex",latex),cleanMath.textContent=latex,fragment.appendChild(cleanMath)}),fragment.childNodes.length>0&&(table.replaceWith(fragment),processedCount++)}),Array.from(element.querySelectorAll("span.ltx_note_outer")).forEach(outer=>{outer.remove(),processedCount++}),Array.from(element.querySelectorAll("a.ltx_ref")).forEach(link=>{if(link.querySelector("span.ltx_ref_tag, span.ltx_text.ltx_ref_tag")){let text=doc.createTextNode(link.textContent||"");link.replaceWith(text),processedCount++}});for(let table of Array.from(element.querySelectorAll("table"))){if(!table.parentNode)continue;let cells=table.querySelectorAll("td, th");cells.length>0&&Array.from(cells).every(cell=>!(cell.textContent||"").trim())&&!table.querySelector("img, picture, video, audio, iframe, svg, math")&&(table.remove(),processedCount++)}Array.from(element.querySelectorAll("table")).forEach(table=>{if(!table.parentNode)return;let directCells=Array.from(table.querySelectorAll("td, th")).filter(cell=>(0,dom_1.isDirectTableChild)(cell,table));if(directCells.some(cell=>cell.tagName==="TH"))return;let directRows=Array.from(table.querySelectorAll("tr")).filter(row=>(0,dom_1.isDirectTableChild)(row,table));if(directRows.length===0||!directRows.every(tr=>directCells.filter(cell=>cell.parentNode===tr).length<=1))return;let fragment=doc.createDocumentFragment();directCells.forEach(cell=>{for(;cell.firstChild;)fragment.appendChild(cell.firstChild)}),table.replaceWith(fragment),processedCount++}),element.querySelectorAll("video:not([controls])").forEach(el=>{el.setAttribute("controls","")}),element.querySelectorAll("lite-youtube").forEach(el=>{let videoId=el.getAttribute("videoid");if(!videoId)return;let iframe=doc.createElement("iframe");iframe.width="560",iframe.height="315",iframe.src=`https://www.youtube.com/embed/${videoId}`,iframe.title=el.getAttribute("videotitle")||"YouTube video player",iframe.frameBorder="0",iframe.allow="accelerometer; autoplay; clipboard-write; encrypted-media; gyroscope; picture-in-picture; web-share",iframe.setAttribute("allowfullscreen",""),el.replaceWith(iframe),processedCount++}),(0,utils_1.logDebug)(_debug,"Converted embedded elements:",processedCount),mergeAdjacentVersoCodeBlocks(element)}function mergeAdjacentVersoCodeBlocks(root){let getCodeNode=pre=>{let code=null;for(let child of pre.children){if(child.tagName.toLowerCase()!=="code"||code)return null;code=child}return code},getLanguage=code=>{let dataLang=(code.getAttribute("data-lang")||"").toLowerCase();return dataLang||(code.getAttribute("class")||"").match(/(?:^|\s)language-([a-z0-9_+-]+)(?:\s|$)/i)?.[1]?.toLowerCase()||""},candidates=root.querySelectorAll('pre[data-verso-code="true"]'),parents=new Set;for(let candidate of candidates){let parent=candidate.parentElement;parent&&parents.add(parent)}for(let container of parents){let children=Array.from(container.childNodes);for(let i=0;i<children.length;i++){let startNode=children[i];if(!(0,utils_1.isElement)(startNode)||startNode.tagName.toLowerCase()!=="pre"||startNode.getAttribute("data-verso-code")!=="true")continue;let startCode=getCodeNode(startNode);if(!startCode)continue;let language=getLanguage(startCode);if(language!=="lean"&&language!=="lean4")continue;let run=[{pre:startNode,code:startCode}],betweenWhitespace=[],j=i+1;for(;j<children.length;){let node=children[j];if((0,utils_1.isTextNode)(node)&&!(node.textContent||"").trim()){betweenWhitespace.push(node),j++;continue}if(!(0,utils_1.isElement)(node)||node.tagName.toLowerCase()!=="pre")break;let pre=node;if(pre.getAttribute("data-verso-code")!=="true")break;let code=getCodeNode(pre);if(!code||getLanguage(code)!==language)break;run.push({pre,code}),j++}if(run.length<=1)continue;let merged=run.map(({code})=>(code.textContent||"").replace(/\r?\n$/,"")).join(`
207
+ `).replace(/\n{3,}/g,`
208
+
209
+ `).replace(/^\n+|\n+$/g,"");startCode.textContent=merged;for(let k=1;k<run.length;k++)run[k].pre.remove();for(let node of betweenWhitespace)node.parentNode?.removeChild(node);i=j-1}}}function flattenWrapperElements(element,doc){let processedCount=0,startTime=Date.now(),keepProcessing=!0;function hasDirectInlineContent(el){for(let child of el.childNodes)if((0,utils_1.isTextNode)(child)&&child.textContent?.trim()||(0,utils_1.isElement)(child)&&constants_1.INLINE_ELEMENTS.has(child.nodeName.toLowerCase()))return!0;return!1}let shouldPreserveElement=el=>{let tagName=el.tagName.toLowerCase();if((0,utils_1.isSVGElement)(el)||constants_1.PRESERVE_ELEMENTS.has(tagName)||el.getAttribute("data-callout")||el.closest?.("[data-callout]"))return!0;let role=el.getAttribute("role");if(role&&["article","main","navigation","banner","contentinfo"].includes(role))return!0;let className=(0,dom_1.getClassName)(el);return!!(className&&className.toLowerCase().match(/(?:article|main|content|footnote|reference|bibliography)/)||Array.from(el.children).some(child=>constants_1.PRESERVE_ELEMENTS.has(child.tagName.toLowerCase())||child.getAttribute("role")==="article"||!!(0,dom_1.getClassName)(child)&&(0,dom_1.getClassName)(child).toLowerCase().match(/(?:article|main|content|footnote|reference|bibliography)/)))},isWrapperElement=el=>{if(hasDirectInlineContent(el))return!1;if(!el.textContent?.trim())return!0;let children=Array.from(el.children);if(children.length===0||children.every(child=>constants_1.BLOCK_LEVEL_ELEMENTS.has(child.tagName.toLowerCase())))return!0;let className=(0,dom_1.getClassName)(el).toLowerCase();return!!(/(?:wrapper|container|layout|row|col|grid|flex|outer|inner|content-area)/i.test(className)||Array.from(el.childNodes).filter(node=>(0,utils_1.isTextNode)(node)&&node.textContent?.trim()).length===0||children.length>0&&!children.some(child=>{let tag=child.tagName.toLowerCase();return constants_1.INLINE_ELEMENTS.has(tag)}))},processElement=el=>{if(!el.parentNode||shouldPreserveElement(el))return!1;let tagName=el.tagName.toLowerCase();if(!constants_1.ALLOWED_EMPTY_ELEMENTS.has(tagName)&&!el.children.length&&!el.textContent?.trim())return el.remove(),processedCount++,!0;if(el.parentElement===element){let children=Array.from(el.children);if(children.length>0&&!children.some(child=>{let tag=child.tagName.toLowerCase();return constants_1.INLINE_ELEMENTS.has(tag)})){let fragment=doc.createDocumentFragment();for(;el.firstChild;)fragment.appendChild(el.firstChild);return el.replaceWith(fragment),processedCount++,!0}}if(isWrapperElement(el)){let fragment=doc.createDocumentFragment();for(;el.firstChild;)fragment.appendChild(el.firstChild);return el.replaceWith(fragment),processedCount++,!0}let childNodes=Array.from(el.childNodes);if(childNodes.length>0&&childNodes.every(child=>(0,utils_1.isTextNode)(child)||(0,utils_1.isElement)(child)&&constants_1.INLINE_ELEMENTS.has(child.nodeName.toLowerCase()))&&el.textContent?.trim()){let p=doc.createElement("p");for(;el.firstChild;)p.appendChild(el.firstChild);return el.replaceWith(p),processedCount++,!0}if(el.children.length===1){let child=el.firstElementChild,childTag=child.tagName.toLowerCase();if(constants_1.BLOCK_ELEMENTS_SET.has(childTag)&&!shouldPreserveElement(child))return el.replaceWith(child),processedCount++,!0}let nestingDepth=0,parent=el.parentElement;for(;parent;){let parentTag=parent.tagName.toLowerCase();constants_1.BLOCK_ELEMENTS_SET.has(parentTag)&&nestingDepth++,parent=parent.parentElement}if(nestingDepth>0&&!hasDirectInlineContent(el)){let fragment=doc.createDocumentFragment();for(;el.firstChild;)fragment.appendChild(el.firstChild);return el.replaceWith(fragment),processedCount++,!0}return!1},processTopLevelElements=()=>{let topElements=Array.from(element.children).filter(el=>constants_1.BLOCK_ELEMENTS_SET.has(el.tagName.toLowerCase())),modified=!1;return topElements.forEach(el=>{processElement(el)&&(modified=!0)}),modified},processRemainingElements=()=>{let allElements=Array.from(element.querySelectorAll(constants_1.BLOCK_ELEMENTS_SELECTOR)).sort((a,b)=>{let getDepth=el=>{let depth=0,parent=el.parentElement;for(;parent;){let parentTag=parent.tagName.toLowerCase();constants_1.BLOCK_ELEMENTS_SET.has(parentTag)&&depth++,parent=parent.parentElement}return depth};return getDepth(b)-getDepth(a)}),modified=!1;return allElements.forEach(el=>{processElement(el)&&(modified=!0)}),modified},finalCleanup=()=>{let remainingElements=Array.from(element.querySelectorAll(constants_1.BLOCK_ELEMENTS_SELECTOR)),modified=!1;return remainingElements.forEach(el=>{let children=Array.from(el.children);if(children.length>0&&children.every(child=>child.tagName.toLowerCase()==="p")||!shouldPreserveElement(el)&&isWrapperElement(el)){let fragment=doc.createDocumentFragment();for(;el.firstChild;)fragment.appendChild(el.firstChild);el.replaceWith(fragment),processedCount++,modified=!0}}),modified};do keepProcessing=!1,processTopLevelElements()&&(keepProcessing=!0),processRemainingElements()&&(keepProcessing=!0),finalCleanup()&&(keepProcessing=!0);while(keepProcessing);let endTime=Date.now();(0,utils_1.logDebug)(_debug,"Flattened wrapper elements:",{count:processedCount,processingTime:`${(endTime-startTime).toFixed(2)}ms`})}}});var require_footnotes=__commonJS({"node_modules/defuddle/dist/elements/footnotes.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.FOOTNOTE_SECTION_RE=void 0;exports.standardizeFootnotes=standardizeFootnotes;var constants_1=require_constants(),dom_1=require_dom(),utils_1=require_utils(),standardize_1=require_standardize();exports.FOOTNOTE_SECTION_RE=/^(foot\s*notes?|end\s*notes?|notes?|references?)$/i;var BACKREF_SYMBOLS_RE=/^[\^\u21A9\u21A5\u2191\u21B5\u2934\u2935\u23CE]+$/,CITE_REF_RE=/^#cite_ref-/,FOOTNOTE_MARKER_RE=/^\[?\(?(\d{1,4})\)?\]?$/;function getHrefFragment(anchor){return(anchor?.getAttribute("href")||"").split("#").pop()?.toLowerCase()||""}var INLINE_REF_EXTRACTORS=[{selector:"sup.footnoteref",extract:el=>el.querySelector('a[id^="footnoteref-"]')?.id.match(/^footnoteref-(\d+)$/)?.[1]||""},{selector:'a[id^="ref-link"]',extract:el=>el.textContent?.trim()||""},{selector:'a[role="doc-biblioref"]',extract:el=>{let xmlRid=el.getAttribute("data-xml-rid");if(xmlRid)return xmlRid;let href=el.getAttribute("href")||"";return href.startsWith("#core-R")?href.replace("#core-",""):""}},{selector:"a.footnote-anchor, span.footnote-hovercard-target a",extract:el=>(el.id?.replace("footnote-anchor-","")||"").toLowerCase()},{selector:"sup.reference",extract:el=>{let id="";return el.querySelectorAll("a").forEach(link=>{let match=(link.getAttribute("href")||"").split("/").pop()?.match(/(?:cite_note|cite_ref)-(.+)/);match&&(id=match[1].toLowerCase())}),id}},{selector:'sup[id^="fnref:"], span[id^="fnref:"]',extract:el=>el.id.replace("fnref:","").toLowerCase()},{selector:'sup[id^="fnr"]',extract:el=>el.id.replace("fnr","").toLowerCase()},{selector:"sup.footnote-reference",extract:el=>getHrefFragment(el.querySelector('a[href^="#"]'))},{selector:"span.footnote-reference",extract:el=>{let attrId=el.getAttribute("data-footnote-id")||"";return attrId||(el.id?.startsWith("fnref")?el.id.replace("fnref","").toLowerCase():"")}},{selector:"span.footnote-link",extract:el=>el.getAttribute("data-footnote-id")||""},{selector:"a.citation",extract:el=>el.textContent?.trim()||""},{selector:'a[id^="fnref"]',extract:el=>el.id.replace("fnref","").toLowerCase()},{selector:'a[data-type="noteref"]',extract:el=>getHrefFragment(el)}],FootnoteHandler=class{constructor(doc){this.pendingRemovals=[],this.doc=doc}makeRefId(footnoteNumber,refsLength){return refsLength>0?`fnref:${footnoteNumber}-${refsLength+1}`:`fnref:${footnoteNumber}`}mergeFootnotes(target,source){for(let[num,data]of Object.entries(source)){let n=parseInt(num);target[n]||(target[n]=data)}}addFootnote(state,id,content,explicitNum){if(!id||state.processedIds.has(id))return!1;let key=explicitNum??state.count;return state.footnotes[key]={content,originalId:id,refs:[]},state.processedIds.add(id),explicitNum===void 0?state.count++:explicitNum>=state.count&&(state.count=explicitNum+1),!0}createFootnoteItem(footnoteNumber,content,refs){let doc=typeof content=="string"?this.doc:content.ownerDocument,newItem=doc.createElement("li");if(newItem.className="footnote",newItem.id=`fn:${footnoteNumber}`,typeof content=="string"){let paragraph=doc.createElement("p");paragraph.appendChild((0,dom_1.parseHTML)(doc,content)),newItem.appendChild(paragraph)}else{let children=Array.from(content.children),hasParagraphs=children.some(c=>c.tagName.toLowerCase()==="p"),hasBlockChildren=children.some(c=>constants_1.BLOCK_LEVEL_ELEMENTS.has(c.tagName.toLowerCase()));if(!hasParagraphs&&!hasBlockChildren){let paragraph=doc.createElement("p");(0,dom_1.transferContent)(content,paragraph),this.removeBackrefs(paragraph),newItem.appendChild(paragraph)}else!hasParagraphs&&hasBlockChildren?children.forEach(child=>{if(this.isBackrefLink(child))return;let clone=child.cloneNode(!0);this.removeBackrefs(clone),newItem.appendChild(clone)}):children.forEach(child=>{if(!this.isBackrefLink(child))if(child.tagName.toLowerCase()==="p"){if(!child.textContent?.trim()&&!child.querySelector("img, br"))return;let newP=doc.createElement("p");(0,dom_1.transferContent)(child,newP),this.removeBackrefs(newP),newItem.appendChild(newP)}else{let clone=child.cloneNode(!0);this.removeBackrefs(clone),newItem.appendChild(clone)}})}let lastParagraph=newItem.querySelector("p:last-of-type")||newItem;return refs.forEach((refId,index)=>{let backlink=doc.createElement("a");backlink.href=`#${refId}`,backlink.title="return to article",backlink.className="footnote-backref",backlink.textContent="\u21A9",index<refs.length-1&&(backlink.textContent+=" "),lastParagraph.appendChild(backlink)}),newItem}collectFootnotes(element){let state={footnotes:{},processedIds:new Set,count:1};element.querySelectorAll(constants_1.FOOTNOTE_LIST_SELECTORS).forEach(list=>{if(list.matches("div.footnotes-footer")){list.querySelectorAll("div.footnote-footer").forEach(div=>{let match=(div.id||"").match(/^footnote-(\d+)$/);if(!match)return;let id=match[1];if(state.processedIds.has(id))return;let clone=div.cloneNode(!0),backLink=clone.querySelector("a");backLink&&backLink.remove();let text=(0,dom_1.serializeHTML)(clone).replace(/^\s*\.\s*/,""),contentDiv=element.ownerDocument.createElement("div");contentDiv.appendChild((0,dom_1.parseHTML)(element.ownerDocument,text.trim())),this.addFootnote(state,id,contentDiv)});return}if(list.matches("div.footnote-definition")&&!list.parentElement?.matches("div.footnote-definitions")){let id=(list.id||"").toLowerCase(),clone=list.cloneNode(!0),label=clone.querySelector("sup.footnote-definition-label");label&&label.remove(),this.addFootnote(state,id,clone);return}if(list.matches("div.footnote-definitions")){list.querySelectorAll("div.footnote-definition").forEach(def=>{let supEl=def.querySelector("sup[id]"),body=def.querySelector(".footnote-body");!supEl||!body||this.addFootnote(state,(supEl.id||"").toLowerCase(),body.cloneNode(!0))});let parent=list.parentElement;parent&&parent!==element&&parent.classList?.contains("footnotes")&&this.pendingRemovals.push(parent);return}if(list.matches("ol.easy-footnotes-wrapper")){list.querySelectorAll("li.easy-footnote-single").forEach(li=>{let idSpan=li.querySelector('span[id^="easy-footnote-bottom-"]');if(!idSpan)return;let clone=li.cloneNode(!0);clone.querySelector('span[id^="easy-footnote-bottom-"]')?.remove(),clone.querySelector("a.easy-footnote-to-top")?.remove(),this.addFootnote(state,idSpan.id.toLowerCase(),clone)}),element.querySelectorAll("span.easy-footnote-margin-adjust").forEach(span=>{this.pendingRemovals.push(span)});return}if(list.matches("div.footnotes-segment")){list.querySelectorAll("h5.footnote-body-heading").forEach(heading=>{let id=(heading.querySelector("a[id]")?.id||"").toLowerCase();if(!id)return;let contentDiv=element.ownerDocument.createElement("div"),sibling=heading.nextElementSibling;for(;sibling&&!(sibling.tagName.toLowerCase()==="h5"&&sibling.classList?.contains("footnote-body-heading"));)(sibling.textContent?.trim()||sibling.querySelector?.("img, br"))&&contentDiv.appendChild(sibling.cloneNode(!0)),sibling=sibling.nextElementSibling;this.addFootnote(state,id,contentDiv)}),this.pendingRemovals.push(list);return}if(list.matches('div.footnote[data-component-name="FootnoteToDOM"]')){let anchor=list.querySelector("a.footnote-number"),content=list.querySelector(".footnote-content");anchor&&content&&this.addFootnote(state,anchor.id.replace("footnote-","").toLowerCase(),content);return}list.querySelectorAll('li, div[role="listitem"]').forEach(li=>{let{id,content}=this.extractListItemIdAndContent(li);this.addFootnote(state,id,content||li)})});let fallbacks=[this.tryDataTypeFootnotes,this.tryGenericIdDetection,this.tryWordExport,this.tryGoogleDocs,this.tryLabeledSection,this.tryLooseFootnotes,this.tryClassFootnote,this.tryBrSeparatedFootnotes];for(let fallback of fallbacks){if(state.count>1)break;fallback.call(this,element,state)}return state.footnotes}tryDataTypeFootnotes(element,state){element.querySelectorAll('p[data-type="footnote"][id]').forEach(def=>{let id=(def.id||"").toLowerCase();if(!id)return;let contentDiv=element.ownerDocument.createElement("div"),clone=def.cloneNode(!0),marker=clone.firstElementChild;marker&&marker.tagName.toLowerCase()==="sup"&&marker.querySelector('a[href*="#"]')&&(marker.remove(),this.trimLeadingWhitespace(clone)),contentDiv.appendChild(clone),this.addFootnote(state,id,contentDiv),this.pendingRemovals.push(def)})}tryGenericIdDetection(element,state){let candidateRefs=new Map;if(element.querySelectorAll('a[href*="#"]').forEach(a=>{let fragment=getHrefFragment(a);if(!fragment)return;let text=a.textContent?.trim()||"";FOOTNOTE_MARKER_RE.test(text)&&(candidateRefs.has(fragment)||candidateRefs.set(fragment,[]),candidateRefs.get(fragment).push(a))}),candidateRefs.size<2)return;let fragmentSet=new Set(candidateRefs.keys()),containers=element.querySelectorAll("div, section, aside, footer, ol, ul"),bestContainer=null,bestMatchCount=0;if(containers.forEach(container=>{if(container===element)return;let matchCount=this.findMatchingFootnoteElements(container,fragmentSet).length;matchCount>=2&&matchCount>=bestMatchCount&&(bestMatchCount=matchCount,bestContainer=container)}),!bestContainer)return;let orderedElements=this.findMatchingFootnoteElements(bestContainer,fragmentSet),footnoteFragments=new Set(orderedElements.map(({id})=>id)),externalTotal=0,externalMatch=0;candidateRefs.forEach((anchors,frag)=>{anchors.some(a=>bestContainer.contains(a))||(externalTotal++,footnoteFragments.has(frag)&&externalMatch++)}),externalMatch<Math.max(2,Math.ceil(externalTotal*.75))&&(bestContainer=null),orderedElements.forEach(({el,id})=>{if(state.processedIds.has(id))return;let contentDiv=element.ownerDocument.createElement("div"),clone=el.cloneNode(!0),idAnchor=clone.querySelector(`a[id="${id}"]`);idAnchor&&(!idAnchor.textContent?.trim()||/^\d+[.)]*\s*$/.test(idAnchor.textContent.trim()))&&idAnchor.remove();let namedAnchor=clone.querySelector("a[name]");namedAnchor&&namedAnchor.getAttribute("name")?.toLowerCase()===id&&namedAnchor.remove();let firstText=clone.childNodes[0];firstText&&firstText.nodeType===3&&(firstText.textContent=firstText.textContent.replace(/^\d+\.\s*/,"").replace(/^\s+/,"")),clone.matches("li")?(0,dom_1.transferContent)(clone,contentDiv):contentDiv.appendChild(clone);let sibling=el.nextElementSibling;for(;sibling&&!sibling.id;){let sibAnchorId=this.getChildAnchorId(sibling);if(sibAnchorId&&fragmentSet.has(sibAnchorId))break;contentDiv.appendChild(sibling.cloneNode(!0)),sibling=sibling.nextElementSibling}this.addFootnote(state,id,contentDiv)}),bestContainer&&this.pendingRemovals.push(bestContainer)}tryWordExport(element,state){let wordBackrefs=Array.from(element.querySelectorAll('a[href*="#_ftnref"]'));if(wordBackrefs.length<2)return;let pairs=[];wordBackrefs.forEach(anchor=>{let match=getHrefFragment(anchor).match(/^_ftnref(\d+)$/);match&&pairs.push({num:parseInt(match[1]),anchor})}),pairs.sort((a,b)=>a.num-b.num),pairs.forEach(({num,anchor})=>{let originalId=`_ftn${num}`;if(state.processedIds.has(originalId))return;let container=anchor.parentElement;for(;container&&container!==element;){let tag=container.tagName.toLowerCase();if(tag==="p"||tag==="div"||tag==="li")break;container=container.parentElement}if(!container||container===element)return;let clone=container.cloneNode(!0),backrefAnchor=clone.querySelector('a[href*="_ftnref"]');if(backrefAnchor){let wrapSup=backrefAnchor.closest("sup");wrapSup?wrapSup.remove():backrefAnchor.remove()}let contentDiv=element.ownerDocument.createElement("div");contentDiv.appendChild(clone),this.addFootnote(state,originalId,contentDiv,num),this.pendingRemovals.push(container)})}tryGoogleDocs(element,state){let gdocPairs=[];if(element.querySelectorAll('p[id^="ftnt"]').forEach(p=>{let match=(p.id||"").match(/^ftnt(\d+)$/);match&&gdocPairs.push({num:parseInt(match[1]),el:p})}),gdocPairs.length<2)return;gdocPairs.sort((a,b)=>a.num-b.num),gdocPairs.forEach(({num,el})=>{let originalId=`ftnt${num}`;if(state.processedIds.has(originalId))return;let clone=el.cloneNode(!0);clone.querySelector('a[href*="#ftnt_ref"]')?.remove();let contentDiv=element.ownerDocument.createElement("div");contentDiv.appendChild(clone),this.addFootnote(state,originalId,contentDiv,num),this.pendingRemovals.push(el);let parent=el.parentElement;parent&&parent!==element&&parent.tagName.toLowerCase()==="div"&&parent.children.length===1&&this.pendingRemovals.push(parent)});let firstEl=gdocPairs[0].el,firstParent=firstEl.parentElement,prev=(firstParent&&firstParent!==element&&firstParent.tagName.toLowerCase()==="div"?firstParent:firstEl).previousElementSibling;prev&&/^h[1-6]$/.test(prev.tagName.toLowerCase())&&exports.FOOTNOTE_SECTION_RE.test(prev.textContent?.trim()||"")&&this.pendingRemovals.push(prev)}tryLooseFootnotes(element,state){let numbered=this.findLooseFootnoteParagraphs(element);if(!numbered)return;let{paragraphs,toRemove}=numbered,toRemoveSet=new Set(toRemove);for(let i=0;i<paragraphs.length;i++){let{num,el:defPara}=paragraphs[i],nextDef=paragraphs[i+1]?.el??null,contentDiv=this.stripMarkerAndWrap(defPara),sibling=defPara.nextElementSibling;for(;sibling&&sibling!==nextDef&&toRemoveSet.has(sibling);)contentDiv.appendChild(sibling.cloneNode(!0)),sibling=sibling.nextElementSibling;this.addFootnote(state,String(num),contentDiv)}this.pendingRemovals.push(...toRemove)}tryClassFootnote(element,state){let footnoteParagraphs=[];element.querySelectorAll("p.footnote").forEach(p=>{let num=this.parseFootnoteNum(p);num!==null&&footnoteParagraphs.push({num,el:p})});for(let{num,el:defPara}of footnoteParagraphs)this.addFootnote(state,String(num),this.stripMarkerAndWrap(defPara));this.pendingRemovals.push(...footnoteParagraphs.map(p=>p.el))}tryLabeledSection(element,state){let containers=element.querySelectorAll("div, section, aside");for(let container of Array.from(containers)){let className=(0,dom_1.getClassName)(container),id=container.id||"";if(!/footnote/i.test(className)&&!/footnote/i.test(id))continue;let heading=container.querySelector("h1, h2, h3, h4, h5, h6");if(!(!heading||!exports.FOOTNOTE_SECTION_RE.test(heading.textContent?.trim()||""))&&!(!this.collectSectionParagraphs(container,state)&&!this.collectSectionList(container,state))){this.pendingRemovals.push(container);break}}}tryBrSeparatedFootnotes(element,state){let linkedFragments=new Set;if(element.querySelectorAll('a[href^="#"]').forEach(a=>{if(FOOTNOTE_MARKER_RE.test(a.textContent?.trim()||"")){let fragment=getHrefFragment(a);fragment&&linkedFragments.add(fragment)}}),!(linkedFragments.size<2))for(let block of Array.from(element.querySelectorAll("p, div"))){if(!block.querySelector("br"))continue;let defs=[];for(let nodes of this.splitOnBreaks(block)){let anchor=this.leadingAnchor(nodes);if(!anchor)continue;let id=(anchor.getAttribute("name")||anchor.id||"").toLowerCase();!id||!linkedFragments.has(id)||defs.push({id,nodes:nodes.filter(n=>n!==anchor)})}if(defs.length<2)continue;defs.forEach(({id,nodes})=>{let contentDiv=element.ownerDocument.createElement("div");nodes.forEach(node=>contentDiv.appendChild(node.cloneNode(!0))),this.removeBackrefs(contentDiv),this.trimLeadingWhitespace(contentDiv),this.addFootnote(state,id,contentDiv)}),this.pendingRemovals.push(block);let prev=block.previousElementSibling;prev?.tagName.toLowerCase()==="hr"&&this.pendingRemovals.push(prev);return}}splitOnBreaks(block){let segments=[],current=[];for(let node of Array.from(block.childNodes))(0,utils_1.isElement)(node)&&node.tagName.toLowerCase()==="br"?(current.length&&segments.push(current),current=[]):current.push(node);return current.length&&segments.push(current),segments}leadingAnchor(nodes){for(let node of nodes){if((0,utils_1.isTextNode)(node)){if(node.textContent?.trim())return null;continue}if((0,utils_1.isElement)(node))return node.tagName.toLowerCase()!=="a"?null:node.hasAttribute("name")||node.id?node:null}return null}collectSectionParagraphs(container,state){let paragraphs=[];if(container.querySelectorAll("p").forEach(p=>{let num=this.parseFootnoteNum(p);num!==null&&paragraphs.push({num,el:p})}),paragraphs.length===0)return!1;let numberedSet=new Set(paragraphs.map(p=>p.el));for(let{num,el:defPara}of paragraphs){let contentDiv=this.stripMarkerAndWrap(defPara),sibling=defPara.nextElementSibling;for(;sibling&&!numberedSet.has(sibling);)sibling.textContent?.trim()&&contentDiv.appendChild(sibling.cloneNode(!0)),this.pendingRemovals.push(sibling),sibling=sibling.nextElementSibling;this.addFootnote(state,String(num),contentDiv),this.pendingRemovals.push(defPara)}return!0}collectSectionList(container,state){let list=container.querySelector("ol");if(!list)return!1;let items=Array.from(list.children).filter(el=>el.tagName?.toLowerCase()==="li");return items.length===0?!1:(items.forEach((li,index)=>{this.addFootnote(state,li.id?.toLowerCase()||String(index+1),li.cloneNode(!0))}),!0)}trimLeadingWhitespace(parent){let first=parent.firstChild;first?.nodeType===3&&(first.textContent=first.textContent.replace(/^\s+/,""))}isBoldWrappedSup(el){let tag=el.tagName?.toLowerCase();return(tag==="b"||tag==="strong")&&el.firstChild===el.firstElementChild&&el.firstElementChild?.tagName?.toLowerCase()==="sup"}stripMarkerAndWrap(el){let contentDiv=el.ownerDocument.createElement("div"),clone=el.cloneNode(!0),marker=clone.firstElementChild;return marker&&(this.isBoldWrappedSup(marker)?(marker.firstElementChild.remove(),this.trimLeadingWhitespace(marker)):(marker.remove(),this.trimLeadingWhitespace(clone))),contentDiv.appendChild(clone),contentDiv}parseFootnoteNum(el){if(!el.firstChild)return null;let first=el.firstElementChild;if(!first||first!==el.firstChild)return null;let tag=first.tagName.toLowerCase();if(this.isBoldWrappedSup(first)&&(first=first.firstElementChild,tag="sup"),tag!=="sup"&&tag!=="strong")return null;let numText=first.textContent?.trim()||"",num=parseInt(numText,10);return!isNaN(num)&&num>=1&&String(num)===numText?num:null}crossValidate(element,paragraphs){let numberedNums=new Set(paragraphs.map(p=>p.num)),matchedNums=new Set;return element.querySelectorAll("sup").forEach(sup=>{if(paragraphs.some(fn=>fn.el.contains(sup))||sup.querySelector("a"))return;let text=sup.textContent?.trim()||"",n=parseInt(text,10);!isNaN(n)&&n>=1&&String(n)===text&&numberedNums.has(n)&&matchedNums.add(n)}),matchedNums.size>=2}findLooseFootnoteParagraphs(element){let allPs=Array.from(element.querySelectorAll("p")),container=allPs.length>0?allPs[allPs.length-1].parentElement??element:element,children=Array.from(container.children);for(let i=children.length-1;i>=0;i--){if(children[i].tagName.toLowerCase()!=="hr")continue;let paragraphs=[];for(let j=i+1;j<children.length;j++){let num=this.parseFootnoteNum(children[j]);num!==null&&paragraphs.push({num,el:children[j]})}if(paragraphs.length>=2&&this.crossValidate(element,paragraphs))return{paragraphs,toRemove:children.slice(i)};break}let trailingNumbered=[],firstFootnoteIdx=-1;for(let i=children.length-1;i>=0;i--){let child=children[i],tag=child.tagName.toLowerCase();if(tag==="p"){let num=this.parseFootnoteNum(child);if(num!==null){trailingNumbered.unshift({num,el:child}),firstFootnoteIdx=i;continue}break}if(!(tag==="ul"||tag==="ol"||tag==="blockquote"))break}if(trailingNumbered.length>=2&&this.crossValidate(element,trailingNumbered)){let toRemove=children.slice(firstFootnoteIdx),prev=trailingNumbered[0].el.previousElementSibling;if(prev){let prevTag=prev.tagName.toLowerCase();/^h[1-6]$/.test(prevTag)&&exports.FOOTNOTE_SECTION_RE.test(prev.textContent?.trim()||"")&&toRemove.unshift(prev)}return{paragraphs:trailingNumbered,toRemove}}let halfParaIdx=Math.floor(allPs.length/2),scattered=[];for(let i=halfParaIdx;i<allPs.length;i++){let num=this.parseFootnoteNum(allPs[i]);num!==null&&scattered.push({num,el:allPs[i]})}return scattered.length>=2&&this.crossValidate(element,scattered)?{paragraphs:scattered,toRemove:scattered.map(p=>p.el)}:null}isBackrefLink(el){if(el.tagName?.toLowerCase()!=="a")return!1;let text=el.textContent?.trim().replace(/\uFE0E|\uFE0F/g,"")||"";if(BACKREF_SYMBOLS_RE.test(text)||el.classList?.contains("footnote-backref"))return!0;let href=el.getAttribute("href")||"";return CITE_REF_RE.test(href)}removeBackrefs(el){for(el.querySelectorAll("a").forEach(a=>{if(this.isBackrefLink(a)){let parent=a.parentElement;parent?.tagName?.toLowerCase()==="sup"&&parent.children.length===1?parent.remove():a.remove()}});el.firstChild&&el.firstChild.nodeType===3;){let text=el.firstChild.textContent;if(text&&/^[\s\^,.;]*$/.test(text)&&text.includes("^"))el.firstChild.remove();else break}for(;el.lastChild&&el.lastChild.nodeType===3;){let text=el.lastChild.textContent;if(/^\s*$/.test(text))el.lastChild.remove();else break}}getChildAnchorId(el){let anchor=el.querySelector("a[id], a[name]");return anchor?(anchor.id||anchor.getAttribute("name")||"").toLowerCase():""}extractListItemIdAndContent(li){let citationsDiv=li.querySelector(".citations");if(citationsDiv?.id?.toLowerCase().startsWith("r"))return{id:citationsDiv.id.toLowerCase(),content:citationsDiv.querySelector(".citation-content")||null};let rawId=(li.id||"").toLowerCase();for(let prefix of["bib.bib","fn:","fn"])if(rawId.startsWith(prefix))return{id:rawId.slice(prefix.length),content:li};if(li.hasAttribute("data-counter"))return{id:(li.getAttribute("data-counter")||"").replace(/\.$/,"").toLowerCase(),content:li};let match=rawId.split("/").pop()?.match(/cite_note-(.+)/);return{id:match?match[1]:rawId,content:li}}findMatchingFootnoteElements(container,fragmentSet){let results=[],seen=new Set;return container.querySelectorAll("li, p, div").forEach(el=>{let id="";if(el.id&&fragmentSet.has(el.id.toLowerCase()))id=el.id.toLowerCase();else if(!el.id){let anchorId=this.getChildAnchorId(el);anchorId&&fragmentSet.has(anchorId)&&(id=anchorId)}id&&!seen.has(id)&&(results.push({el,id}),seen.add(id))}),results}replaceContainerPreservingText(container,footnoteRef){let directText="",hasChildElements=!1;for(let node of container.childNodes)(0,utils_1.isTextNode)(node)?directText+=node.textContent||"":(0,utils_1.isElement)(node)&&(hasChildElements=!0);if(directText=directText.trim(),directText&&hasChildElements){let fragment=container.ownerDocument.createDocumentFragment();fragment.appendChild(container.ownerDocument.createTextNode(directText)),fragment.appendChild(footnoteRef),container.replaceWith(fragment)}else container.replaceWith(footnoteRef)}findOuterFootnoteContainer(el){let current=el,parent=el.parentElement;for(;parent;){let tag=parent.tagName.toLowerCase();if(tag!=="span"&&tag!=="sup")break;if(tag==="span"){let hasNonFootnoteContent=!1;for(let child of parent.childNodes)if(child!==current){if((0,utils_1.isTextNode)(child)&&child.textContent?.trim()){hasNonFootnoteContent=!0;break}if((0,utils_1.isElement)(child)&&child.tagName.toLowerCase()!=="sup"){hasNonFootnoteContent=!0;break}}if(hasNonFootnoteContent)break}current=parent,parent=parent.parentElement}return current}createFootnoteReference(footnoteNumber,refId){let sup=this.doc.createElement("sup");sup.id=refId;let link=this.doc.createElement("a");return link.href=`#fn:${footnoteNumber}`,link.textContent=footnoteNumber,sup.appendChild(link),sup}collectInlineSidenotes(element){let footnotes={},containers=element.querySelectorAll("span.footnote-container, span.sidenote-container, span.inline-footnote");if(containers.length===0){let footrefs=element.querySelectorAll("label.footref");if(footrefs.length>0){let footnoteCount2=1;return footrefs.forEach(label=>{let sibling=label.nextElementSibling;if(sibling?.tagName==="INPUT"&&sibling.classList?.contains("footref-toggle")&&(sibling=sibling.nextElementSibling),!sibling||sibling.tagName!=="SPAN"||!sibling.classList?.contains("sidenote"))return;let content=sibling.cloneNode(!0),leadingSup=content.querySelector("sup");leadingSup&&content.firstChild===leadingSup&&leadingSup.remove(),footnotes[footnoteCount2]={content,originalId:String(footnoteCount2),refs:[`fnref:${footnoteCount2}`]};let ref=this.createFootnoteReference(String(footnoteCount2),`fnref:${footnoteCount2}`),inputEl=label.nextElementSibling;inputEl?.tagName==="INPUT"&&inputEl.classList?.contains("footref-toggle")&&inputEl.remove(),sibling.remove(),label.replaceWith(ref),footnoteCount2++}),element.querySelectorAll("footer").forEach(footer=>{footer.querySelector(".footdef")&&footer.remove()}),footnotes}return element.querySelectorAll("span.sidenote").forEach(sidenote=>{sidenote.remove()}),footnotes}let footnoteCount=1;return containers.forEach(container=>{let content=container.querySelector("span.footnote, span.sidenote, span.footnoteContent");if(!content)return;footnotes[footnoteCount]={content:content.cloneNode(!0),originalId:String(footnoteCount),refs:[`fnref:${footnoteCount}`]};let ref=this.createFootnoteReference(String(footnoteCount),`fnref:${footnoteCount}`);container.replaceWith(ref),footnoteCount++}),footnotes}collectSidenotesColumn(element){let footnotes={},columns=Array.from(element.querySelectorAll(".sidenotes-column"));if(columns.length===0){let ancestor=element.parentElement;for(let i=0;i<3&&ancestor&&columns.length===0;i++)columns=Array.from(ancestor.querySelectorAll(":scope > .sidenotes-column")),ancestor=ancestor.parentElement}if(columns.length===0)return footnotes;let footnoteCount=1;return columns.forEach(column=>{column.querySelectorAll(".sidenote[id]").forEach(sidenote=>{let id=sidenote.id;if(!id)return;let num=sidenote.querySelector(".sidenote__id")?.textContent?.replace(/\D/g,""),footnoteNumber=num?parseInt(num,10):footnoteCount,contentDiv=this.doc.createElement("div");Array.from(sidenote.childNodes).forEach(node=>{(0,utils_1.isElement)(node)&&(node.classList?.contains("sidenote__id")||node.classList?.contains("sidenote__label")||node.classList?.contains("sn-backref"))||contentDiv.appendChild(node.cloneNode(!0))}),this.removeBackrefs(contentDiv),footnotes[footnoteNumber]={content:contentDiv,originalId:id.toLowerCase(),refs:[]},footnoteCount++}),column.remove()}),footnotes}collectAsideFootnotes(element){let footnotes={},ols=Array.from(element.querySelectorAll("aside > ol[start]"));return ols.length===0||ols.forEach(ol=>{let aside=ol.parentElement,footnoteNumber=parseInt(ol.getAttribute("start")||"",10);if(isNaN(footnoteNumber)||footnoteNumber<1)return;let items=Array.from(ol.querySelectorAll("li"));if(items.length===0)return;let contentDiv=this.doc.createElement("div");items.length===1?(0,dom_1.transferContent)(items[0].cloneNode(!0),contentDiv):items.forEach(li=>{let p=this.doc.createElement("p");(0,dom_1.transferContent)(li.cloneNode(!0),p),contentDiv.appendChild(p)}),footnotes[footnoteNumber]={content:contentDiv,originalId:String(footnoteNumber),refs:[]},aside.remove()}),footnotes}collectHiddenAsideFootnotes(element){let footnotes={},refs=Array.from(element.querySelectorAll("span[data-definition]"));if(refs.length===0)return footnotes;let asideMap=new Map;element.querySelectorAll("aside[id]").forEach(aside=>{asideMap.set(aside.id,aside)});let footnoteCount=1;return refs.forEach(ref=>{let defId=ref.getAttribute("data-definition");if(!defId)return;let aside=asideMap.get(defId);if(!aside)return;let contentDiv=this.doc.createElement("div");(0,dom_1.transferContent)(aside,contentDiv),aside.remove();let footnoteNumber=String(footnoteCount),refId=`fnref:${footnoteNumber}`;footnotes[footnoteCount]={content:contentDiv,originalId:defId.toLowerCase(),refs:[refId]},ref.replaceWith(this.createFootnoteReference(footnoteNumber,refId)),footnoteCount++}),footnotes}standardizeFootnotes(element){let sidenotes=this.collectInlineSidenotes(element),footnotes=this.collectHiddenAsideFootnotes(element);this.mergeFootnotes(footnotes,this.collectFootnotes(element)),this.mergeFootnotes(footnotes,this.collectSidenotesColumn(element)),this.mergeFootnotes(footnotes,this.collectAsideFootnotes(element));let footnoteInlineReferences=element.querySelectorAll(constants_1.FOOTNOTE_INLINE_REFERENCES),supGroups=new Map,footnotesByOriginalId=new Map;Object.entries(footnotes).forEach(([num,data])=>{footnotesByOriginalId.set(data.originalId.toLowerCase(),[num,data])}),footnoteInlineReferences.forEach(el=>{if(!el||!el.parentNode||!el.textContent?.trim())return;if(el.matches("cite.ltx_cite")){let refs=[];if(el.querySelectorAll("a").forEach(link=>{let href=link.getAttribute("href");if(!href)return;let match=href.split("/").pop()?.match(/bib\.bib(\d+)/);if(!match)return;let entry=footnotesByOriginalId.get(match[1].toLowerCase());if(!entry)return;let[fnNum,fnData]=entry,refId=this.makeRefId(fnNum,fnData.refs.length);fnData.refs.push(refId),refs.push(this.createFootnoteReference(fnNum,refId))}),refs.length>0){let container=this.findOuterFootnoteContainer(el),fragment=el.ownerDocument.createDocumentFragment();refs.forEach((ref,i)=>{i>0&&fragment.appendChild(el.ownerDocument.createTextNode(" ")),fragment.appendChild(ref)}),container.replaceWith(fragment)}return}let footnoteId="";for(let{selector,extract}of INLINE_REF_EXTRACTORS)if(el.matches(selector)){footnoteId=extract(el);break}if(!footnoteId){let href=el.getAttribute("href");href&&(footnoteId=href.replace(/^[#]/,"").toLowerCase())}if(footnoteId){let footnoteEntry=footnotesByOriginalId.get(footnoteId.toLowerCase());if(footnoteEntry){let[footnoteNumber,footnoteData]=footnoteEntry,container=this.findOuterFootnoteContainer(el),isSup=container.tagName.toLowerCase()==="sup";if(isSup&&supGroups.get(container)?.some(r=>r.footnoteNumber===footnoteNumber))return;let refId=this.makeRefId(footnoteNumber,footnoteData.refs.length);footnoteData.refs.push(refId),isSup?(supGroups.has(container)||supGroups.set(container,[]),supGroups.get(container).push({footnoteNumber,refId})):this.replaceContainerPreservingText(container,this.createFootnoteReference(footnoteNumber,refId))}}});let unmatchedFootnotes=Object.entries(footnotes).filter(([_,data])=>data.refs.length===0);if(unmatchedFootnotes.length>0){let footnoteIdMap=new Map,footnoteNumMap=new Map;unmatchedFootnotes.forEach(([num,data])=>{footnoteIdMap.set(data.originalId,[num,data]),footnoteNumMap.set(num,[num,data])});let isInsideFootnotes=el=>el.closest('[id^="fnref:"]')||el.closest("#footnotes")||this.pendingRemovals.some(g=>g.contains(el)),assignRef=(el,entry)=>{let[footnoteNumber,footnoteData]=entry,refId=this.makeRefId(footnoteNumber,footnoteData.refs.length);footnoteData.refs.push(refId);let container=this.findOuterFootnoteContainer(el);this.replaceContainerPreservingText(container,this.createFootnoteReference(footnoteNumber,refId))};element.querySelectorAll('a[href*="#"]').forEach(link=>{if(!link.parentNode||isInsideFootnotes(link))return;let fragment=getHrefFragment(link);if(!fragment)return;let entry=footnoteIdMap.get(fragment);if(!entry)return;let text=link.textContent?.trim()||"";FOOTNOTE_MARKER_RE.test(text)&&assignRef(link,entry)}),Object.values(footnotes).some(d=>d.refs.length===0)&&element.querySelectorAll("sup, span.footnote-ref").forEach(el=>{if(!el.parentNode||el.id?.startsWith("fnref:")||el.closest("#footnotes"))return;let match=(el.textContent?.trim()||"").match(FOOTNOTE_MARKER_RE);if(!match)return;let entry=footnoteNumMap.get(match[1])||footnoteIdMap.get(match[1]);!entry||entry[1].refs.length>0||assignRef(el,entry)})}supGroups.forEach((refs,container)=>{let fragment=this.doc.createDocumentFragment();refs.forEach(({footnoteNumber,refId})=>{fragment.appendChild(this.createFootnoteReference(footnoteNumber,refId))}),container.replaceWith(fragment)});let newList=this.doc.createElement("div");newList.id="footnotes";let orderedList=this.doc.createElement("ol"),allFootnotes={...sidenotes,...footnotes};Object.entries(allFootnotes).forEach(([number,data])=>{orderedList.appendChild(this.createFootnoteItem(parseInt(number),data.content,data.refs))}),element.querySelectorAll(constants_1.FOOTNOTE_LIST_SELECTORS).forEach(list=>list.remove()),this.pendingRemovals.forEach(el=>{el.parentNode&&el.remove()}),(0,standardize_1.removeOrphanedDividers)(element),orderedList.children.length>0&&(newList.appendChild(orderedList),element.appendChild(newList))}};function standardizeFootnotes(element){let doc=element.ownerDocument;if(!doc)return;new FootnoteHandler(doc).standardizeFootnotes(element)}}});var require_callouts=__commonJS({"node_modules/defuddle/dist/elements/callouts.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.standardizeCallouts=standardizeCallouts;var dom_1=require_dom();function createCallout(doc,type,title,contentSource){let callout=doc.createElement("div");callout.setAttribute("data-callout",type),callout.className="callout";let titleDiv=doc.createElement("div");titleDiv.className="callout-title";let titleInner=doc.createElement("div");titleInner.className="callout-title-inner",titleInner.textContent=title,titleDiv.appendChild(titleInner),callout.appendChild(titleDiv);let contentDiv=doc.createElement("div");return contentDiv.className="callout-content",(0,dom_1.transferContent)(contentSource,contentDiv),callout.appendChild(contentDiv),callout}function standardizeCallouts(element){let doc=element.ownerDocument;if(!doc)return;let obsidianCollapsed=Array.from(element.querySelectorAll(".callout.is-collapsed, .callout.is-collapsible"));for(let el of obsidianCollapsed){let isCollapsed=el.classList.contains("is-collapsed");el.classList.remove("is-collapsed","is-collapsible"),el.hasAttribute("data-callout-fold")||el.setAttribute("data-callout-fold",isCollapsed?"-":"+");let fold=el.querySelector(".callout-fold");fold&&fold.remove();let content=el.querySelector(".callout-content");if(content){let style=content.getAttribute("style");if(style){let cleaned=style.replace(/display\s*:\s*none\s*;?/gi,"").trim();cleaned?content.setAttribute("style",cleaned):content.removeAttribute("style")}}}let githubAlerts=Array.from(element.querySelectorAll(".markdown-alert"));for(let el of githubAlerts){let typeClass=Array.from(el.classList).find(c=>c.startsWith("markdown-alert-")&&c!=="markdown-alert"),type=typeClass?typeClass.replace("markdown-alert-",""):"note",title=type.charAt(0).toUpperCase()+type.slice(1),titleEl=el.querySelector(".markdown-alert-title");titleEl&&titleEl.remove(),el.replaceWith(createCallout(doc,type,title,el))}let calloutAsides=Array.from(element.querySelectorAll('aside[class*="callout"]'));for(let el of calloutAsides){let typeClass=Array.from(el.classList).find(c=>c.startsWith("callout-")),type=typeClass?typeClass.replace("callout-",""):"note",title=type.charAt(0).toUpperCase()+type.slice(1),contentEl=el.querySelector(".callout-content");el.replaceWith(createCallout(doc,type,title,contentEl||el))}let admonitionTypes=new Set(["info","warning","note","tip","danger","caution","important","abstract","success","question","failure","bug","example","quote"]),admonitions=Array.from(element.querySelectorAll(".admonition"));for(let el of admonitions){if(el.getAttribute("data-callout"))continue;let type=Array.from(el.classList).find(c=>admonitionTypes.has(c))||"note",titleEl=el.querySelector(".admonition-title"),title=titleEl?.textContent?.trim()||type.charAt(0).toUpperCase()+type.slice(1);titleEl&&titleEl.remove();let contentEl=el.querySelector(".admonition-content")||el.querySelector(".details-content")||el;el.replaceWith(createCallout(doc,type,title,contentEl))}let bootstrapAlerts=Array.from(element.querySelectorAll('.alert[class*="alert-"]'));for(let el of bootstrapAlerts){let typeClass=Array.from(el.classList).find(c=>c.startsWith("alert-")&&c!=="alert-dismissible"),type=typeClass?typeClass.replace("alert-",""):"note",titleEl=el.querySelector(".alert-heading, .alert-title"),title=titleEl?.textContent?.trim()||type.charAt(0).toUpperCase()+type.slice(1);titleEl&&titleEl.remove(),el.replaceWith(createCallout(doc,type,title,el))}}}});var require_scoring=__commonJS({"node_modules/defuddle/dist/removals/scoring.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.ContentScorer=void 0;var constants_1=require_constants(),utils_1=require_utils(),dom_1=require_dom(),contentIndicators=["admonition","article","content","entry","image","img","font","figure","figcaption","pre","main","post","story","table"],navigationIndicators=["advertisement","all rights reserved","banner","cookie","comments","copyright","follow me","follow us","footer","header","homepage","login","menu","more articles","more like this","most read","nav","navigation","newsletter","popular","privacy","recommended","register","related","responses","share","sidebar","sign in","sign up","signup","social","sponsored","subscribe","terms","trending"],socialProfilePattern=/\b(linkedin\.com\/(in|company)\/|twitter\.com\/(?!intent\b)\w|x\.com\/(?!intent\b)\w|facebook\.com\/(?!share\b)\w|instagram\.com\/\w|threads\.net\/\w|mastodon\.\w)/i,datePattern=/(?:(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*\s+\d{1,2}|\d{1,2}(?:st|nd|rd|th)?\s+(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*)/i,bylinePattern=/\bBy\s+[A-Z]/,navigationIndicatorRegexes=navigationIndicators.map(indicator=>new RegExp(`\\b${indicator.replace(/\s+/g,"\\s+")}\\b`)),navigationHeadingPattern=new RegExp(navigationIndicators.map(i=>i.replace(/\s+/g,"\\s+")).join("|"),"i"),tocHeadingPattern=/^(?:table of )?contents$|^on this page$|^in this (?:article|guide|post)$/i,contentDatePattern=/\b(?:(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*\s+\d{1,2},?\s+\d{4}|\d{1,2}(?:st|nd|rd|th)?\s+(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*,?\s+\d{4})\b/i,contentAuthorPattern=/\b(?:by|written by|author:)\s+[A-Za-z\s]+\b/i,nonContentPatterns=["advert","ad-","ads","banner","cookie","copyright","footer","header","homepage","menu","nav","newsletter","popular","privacy","recommended","related","rights","share","sidebar","social","sponsored","subscribe","terms","trending","widget"],ContentScorer=class _ContentScorer{constructor(doc,debug=!1){this.doc=doc,this.debug=debug}static scoreElement(element){let score=0,text=element.textContent||"",words=(0,utils_1.countWords)(text);score+=words;let paragraphs=element.getElementsByTagName("p").length;score+=paragraphs*10;let commas=text.split(/,/).length-1;score+=commas;let imageDensity=element.getElementsByTagName("img").length/(words||1);score-=imageDensity*3;try{let style=element.getAttribute("style")||"",align=element.getAttribute("align")||"";(style.includes("float: right")||style.includes("text-align: right")||align==="right")&&(score+=5)}catch{}contentDatePattern.test(text)&&(score+=10),contentAuthorPattern.test(text)&&(score+=10);let className=(0,dom_1.getClassName)(element).toLowerCase();(className.includes("content")||className.includes("article")||className.includes("post"))&&(score+=15),element.querySelector(constants_1.FOOTNOTE_INLINE_REFERENCES)&&(score+=10),element.querySelector(constants_1.FOOTNOTE_LIST_SELECTORS)&&(score+=10);let nestedTables=element.getElementsByTagName("table").length;if(score-=nestedTables*5,element.tagName.toLowerCase()==="td"){let parentTable=element.closest("table");if(parentTable){let tableWidth=parseInt(parentTable.getAttribute("width")||"0"),tableAlign=parentTable.getAttribute("align")||"",tableClass=(0,dom_1.getClassName)(parentTable).toLowerCase();if(tableWidth>400||tableAlign==="center"||tableClass.includes("content")||tableClass.includes("article")){let allCells=Array.from(parentTable.getElementsByTagName("td")),cellIndex=allCells.indexOf(element);cellIndex>0&&cellIndex<allCells.length-1&&(score+=10)}}}let linkElements=element.getElementsByTagName("a"),linkTextLength=0;for(let i=0;i<linkElements.length;i++)linkTextLength+=(linkElements[i].textContent||"").length;let textLength=text.length||1,linkDensity=Math.min(linkTextLength/textLength,.5);return score*=1-linkDensity,score}static findBestElement(elements,minScore=50){let bestElement=null,bestScore=0;return elements.forEach(element=>{let score=this.scoreElement(element);score>bestScore&&(bestScore=score,bestElement=element)}),bestScore>minScore?bestElement:null}static scoreAndRemove(doc,debug=!1,debugRemovals,mainContent){let startTime=Date.now(),elementsToRemove=new Map;Array.from(doc.querySelectorAll(constants_1.BLOCK_ELEMENTS_SELECTOR)).forEach(element=>{if(elementsToRemove.has(element)||mainContent&&element.contains(mainContent)||element.closest("pre")||element.closest("[data-defuddle]")||element.closest("td, th")||_ContentScorer.isLikelyContent(element))return;let score=_ContentScorer.scoreNonContentBlock(element);score<0&&elementsToRemove.set(element,score)}),elementsToRemove.forEach((score,el)=>{debug&&debugRemovals&&debugRemovals.push({step:"scoreAndRemove",reason:`score: ${score}`,text:(0,utils_1.textPreview)(el)}),el.remove()});let endTime=Date.now();(0,utils_1.logDebug)(debug,"Removed non-content blocks:",{count:elementsToRemove.size,processingTime:`${(endTime-startTime).toFixed(2)}ms`})}static isLikelyContent(element){let role=element.getAttribute("role");if(role&&["article","main","contentinfo"].includes(role))return!0;let className=(0,dom_1.getClassName)(element).toLowerCase(),id=element.id.toLowerCase();for(let indicator of contentIndicators)if(className.includes(indicator)||id.includes(indicator))return!0;if(element.querySelector("pre, table, figure, picture"))return!0;let text=element.textContent||"",words=(0,utils_1.countWords)(text),headingChild=element.querySelector("h1, h2, h3, h4, h5, h6");if(headingChild){let headingText=(headingChild.textContent||"").trim();if(headingText&&headingText===text.trim()){let headingLower=headingText.toLowerCase();if(!navigationHeadingPattern.test(headingLower)&&!tocHeadingPattern.test(headingLower))return!0}}if(words<1e3){let headings=element.querySelectorAll("h1, h2, h3, h4, h5, h6"),hasNavigationHeading=!1;for(let i=0;i<headings.length;i++){let headingText=(headings[i].textContent||"").toLowerCase().trim();if(navigationHeadingPattern.test(headingText)){hasNavigationHeading=!0;break}}if(hasNavigationHeading&&(words<200||element.getElementsByTagName("a").length/(words||1)>.2))return!1}if(_ContentScorer.isCardGrid(element,words))return!1;if(words<80){let links=element.getElementsByTagName("a");for(let i=0;i<links.length;i++){let href=(links[i].getAttribute("href")||"").toLowerCase();if(socialProfilePattern.test(href))return!1}}let paragraphs=element.getElementsByTagName("p").length,listItems=element.getElementsByTagName("li").length,contentBlocks=paragraphs+listItems;return!!(words>50&&contentBlocks>1||words>100||words>30&&contentBlocks>0||words>=10&&/[.?!]/.test(text)&&element.getElementsByTagName("a").length/words<.1)}static scoreNonContentBlock(element){try{if(element.matches(constants_1.FOOTNOTE_LIST_SELECTORS)||element.querySelector(constants_1.FOOTNOTE_LIST_SELECTORS)||element.closest(constants_1.FOOTNOTE_LIST_SELECTORS))return 0}catch{}let score=0,text=element.textContent||"",words=(0,utils_1.countWords)(text);if(words<3)return 0;let commas=text.split(/,/).length-1;score+=commas;let textLower=text.toLowerCase(),indicatorMatches=0;for(let regex of navigationIndicatorRegexes)regex.test(textLower)&&indicatorMatches++;score-=indicatorMatches*10;let linkElements=element.getElementsByTagName("a"),links=linkElements.length;if(links/(words||1)>.5&&(score-=15),links>1&&words<80){let linkTextLength=0;for(let i=0;i<linkElements.length;i++)linkTextLength+=(linkElements[i].textContent||"").length;let totalTextLength=text.length;totalTextLength>0&&linkTextLength/totalTextLength>.8&&(score-=15)}let lists=element.getElementsByTagName("ul").length+element.getElementsByTagName("ol").length;if(lists>0&&links>lists*3&&(score-=10),words<80){let elLinks=element.getElementsByTagName("a");for(let i=0;i<elLinks.length;i++){let href=(elLinks[i].getAttribute("href")||"").toLowerCase();if(socialProfilePattern.test(href)){score-=15;break}}}words<15&&bylinePattern.test(text)&&datePattern.test(text)&&(score-=10),_ContentScorer.isCardGrid(element,words)&&(score-=15);let className=(0,dom_1.getClassName)(element).toLowerCase(),id=element.id.toLowerCase();for(let pattern of nonContentPatterns)(className.includes(pattern)||id.includes(pattern))&&(score-=8);return score}static isCardGrid(element,words){if(words<3||words>=500)return!1;let headings=element.querySelectorAll("h2, h3, h4");if(headings.length<3||element.querySelectorAll("img").length<2)return!1;let headingWordCount=0;for(let i=0;i<headings.length;i++)headingWordCount+=(0,utils_1.countWords)(headings[i].textContent||"");return(words-headingWordCount)/headings.length<20}};exports.ContentScorer=ContentScorer}});var require_small_images=__commonJS({"node_modules/defuddle/dist/removals/small-images.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.getElementIdentifier=getElementIdentifier;exports.findSmallImages=findSmallImages;exports.removeSmallImages=removeSmallImages;var utils_1=require_utils(),dom_1=require_dom(),images_1=require_images(),math_base_1=require_math_base(),STYLE_WIDTH_PATTERN=/width\s*:\s*(\d+)/,STYLE_HEIGHT_PATTERN=/height\s*:\s*(\d+)/,URL_WIDTH_PATTERN=/(?:width[=:/]|[/,?&]w[_:=])(\d+)/;function getElementIdentifier(element){if(element.tagName.toLowerCase()==="img"){let dataSrc=element.getAttribute("data-src");if(dataSrc)return`src:${dataSrc}`;let src=element.getAttribute("src")||"",srcset=element.getAttribute("srcset")||"",dataSrcset=element.getAttribute("data-srcset");if(src)return`src:${src}`;if(srcset)return`srcset:${srcset}`;if(dataSrcset)return`srcset:${dataSrcset}`}let id=element.id||"",className=(0,dom_1.getClassName)(element),viewBox=element.tagName.toLowerCase()==="svg"&&element.getAttribute("viewBox")||"";return id?`id:${id}`:viewBox?`viewBox:${viewBox}`:className?`class:${className}`:null}function findSmallImages(doc,debug){let smallImages=new Set,processedCount=0,elements=doc.querySelectorAll("img, svg"),defaultView=doc.defaultView,isBrowser=typeof window<"u"&&defaultView===window;for(let element of elements){let attrWidth=parseInt(element.getAttribute("width")||"0"),attrHeight=parseInt(element.getAttribute("height")||"0"),viewBoxWidth=0,viewBoxHeight=0;if(element.tagName.toLowerCase()==="svg"){let viewBox=element.getAttribute("viewBox");if(viewBox){let parts=viewBox.split(/[\s,]+/);parts.length===4&&(viewBoxWidth=parseFloat(parts[2])||0,viewBoxHeight=parseFloat(parts[3])||0)}}let style=element.getAttribute("style")||"",styleWidth=parseInt(style.match(STYLE_WIDTH_PATTERN)?.[1]||"0"),styleHeight=parseInt(style.match(STYLE_HEIGHT_PATTERN)?.[1]||"0"),computedWidth=0,computedHeight=0;if(isBrowser){try{let cs=defaultView.getComputedStyle(element);computedWidth=parseInt(cs.width)||0,computedHeight=parseInt(cs.height)||0}catch{}try{let rect=element.getBoundingClientRect();rect.width>0&&(computedWidth=computedWidth||rect.width),rect.height>0&&(computedHeight=computedHeight||rect.height)}catch{}}let widths=[attrWidth,styleWidth,computedWidth,viewBoxWidth].filter(d=>d>0),heights=[attrHeight,styleHeight,computedHeight,viewBoxHeight].filter(d=>d>0);if(widths.length===0&&heights.length===0&&element.tagName.toLowerCase()==="img"){let oneXMatch=(element.getAttribute("srcset")||"").match(/(\S+)\s+1x/);if(oneXMatch){let urlWidth=parseInt(oneXMatch[1].match(URL_WIDTH_PATTERN)?.[1]||"0");urlWidth>0&&widths.push(urlWidth)}}if(widths.length>0||heights.length>0){let effectiveWidth=widths.length>0?Math.min(...widths):1/0,effectiveHeight=heights.length>0?Math.min(...heights):1/0;if(effectiveWidth<33||effectiveHeight<33){if(element.tagName.toLowerCase()==="img"){let alt=element.getAttribute("alt")||"";if(math_base_1.LOOKS_LIKE_LATEX_RE.test(alt)||element.classList.contains("latex")||element.classList.contains("tex")||element.getAttribute("data-latex")||element.getAttribute("data-math"))continue}let identifier=getElementIdentifier(element);identifier&&(smallImages.add(identifier),processedCount++)}}}return(0,utils_1.logDebug)(debug,"Found small elements:",processedCount),smallImages}function removeSmallImages(doc,smallImages,debug){let removedCount=0;["img","svg"].forEach(tag=>{let elements=doc.getElementsByTagName(tag);Array.from(elements).forEach(element=>{if(tag==="img"){let src=element.getAttribute("src")||"",hasAltSrc=element.getAttribute("srcset")||element.getAttribute("data-src")||element.getAttribute("data-srcset")||element.getAttribute("data-lazy-src")||element.getAttribute("data-original");if(!src&&!hasAltSrc){element.remove(),removedCount++;return}if(!hasAltSrc&&!element.closest("picture")&&(0,images_1.isBase64Placeholder)(src)){element.remove(),removedCount++;return}}let identifier=getElementIdentifier(element);identifier&&smallImages.has(identifier)&&(element.remove(),removedCount++)})}),(0,utils_1.logDebug)(debug,"Removed small elements:",removedCount)}}});var require_hidden=__commonJS({"node_modules/defuddle/dist/removals/hidden.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.removeHiddenElements=removeHiddenElements;var utils_1=require_utils(),dom_1=require_dom();function removeHiddenElements(doc,debug,debugRemovals){let count=0,elementsToRemove=new Map,hiddenStylePattern=/(?:^|;\s*)(?:display\s*:\s*none|visibility\s*:\s*hidden|opacity\s*:\s*0)(?:\s*;|\s*$)/i,defaultView=doc.defaultView,isBrowser=typeof window<"u"&&defaultView===window,allElements=doc.querySelectorAll("*");for(let element of allElements){if(element.querySelector("math, [data-mathml], .katex-mathml")||element.tagName.toLowerCase()==="math")continue;let style=element.getAttribute("style");if(style&&hiddenStylePattern.test(style)){let reason=style.includes("display")?"display:none":style.includes("visibility")?"visibility:hidden":"opacity:0";elementsToRemove.set(element,reason),count++;continue}if(isBrowser)try{let computedStyle=defaultView.getComputedStyle(element),reason="";if(computedStyle.display==="none"?reason="display:none":computedStyle.visibility==="hidden"?reason="visibility:hidden":computedStyle.opacity==="0"&&(reason="opacity:0"),reason){elementsToRemove.set(element,reason),count++;continue}}catch{}let className=element.getAttribute("class")||"";if(className){let tokens=className.split(/\s+/);if((0,dom_1.hasResponsiveShowClass)(className))continue;for(let token of tokens){let isExact=token==="hidden"||token==="invisible",isVariant=!token.includes("[")&&(token.endsWith(":hidden")||token.endsWith(":invisible"));if(isExact||isVariant){elementsToRemove.set(element,`class:${token}`),count++;break}}}}elementsToRemove.forEach((reason,el)=>{debug&&debugRemovals&&debugRemovals.push({step:"removeHiddenElements",reason,text:(0,utils_1.textPreview)(el)}),el.remove()}),(0,utils_1.logDebug)(debug,"Removed hidden elements:",count)}}});var require_selectors=__commonJS({"node_modules/defuddle/dist/removals/selectors.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.removeBySelector=removeBySelector;var constants_1=require_constants(),utils_1=require_utils(),dom_1=require_dom();function removeBySelector(doc,debug,removeExact=!0,removePartial=!0,mainContent,debugRemovals,skipHiddenExactSelectors=!1){let startTime=Date.now(),exactSelectorCount=0,partialSelectorCount=0,elementsToRemove=new Map;if(removeExact&&doc.querySelectorAll(constants_1.EXACT_SELECTORS_JOINED).forEach(el=>{if(el?.parentNode){if(skipHiddenExactSelectors){let hiddenAncestor=el.closest(constants_1.HIDDEN_EXACT_SKIP_SELECTOR),role=(el.getAttribute("role")||"").toLowerCase();if(el.matches(constants_1.HIDDEN_EXACT_SELECTOR)||hiddenAncestor&&role==="dialog")return}if(el.closest("pre, code")||el.matches(constants_1.HIDDEN_EXACT_SELECTOR)&&(0,dom_1.hasResponsiveShowClass)((0,dom_1.getClassName)(el)))return;elementsToRemove.set(el,{type:"exact"}),exactSelectorCount++}}),removePartial){let individualRegexes=debug?constants_1.PARTIAL_SELECTORS.map(p=>({pattern:p,regex:new RegExp(p,"i"),anchored:new RegExp("^(?:"+p+")$","i")})):null,docElements=doc.querySelectorAll(constants_1.TEST_ATTRIBUTES_SELECTOR),mainElements=mainContent?mainContent.querySelectorAll(constants_1.TEST_ATTRIBUTES_SELECTOR):[];new Set([...docElements,...mainElements]).forEach(el=>{if(elementsToRemove.has(el)||el.closest("[data-defuddle]"))return;let tag=el.tagName;if(tag==="CODE"||tag==="PRE"||el.querySelector("pre")||el.closest("code, pre"))return;let isHeading=/^H[1-6]$/.test(tag),attrs=(isHeading?(0,dom_1.getClassName)(el):(0,dom_1.getClassName)(el)+" "+(el.getAttribute("data-component")||"")+" "+(el.getAttribute("data-test")||"")+" "+(el.getAttribute("data-testid")||"")+" "+(el.getAttribute("data-test-id")||"")+" "+(el.getAttribute("data-qa")||"")+" "+(el.getAttribute("data-cy")||"")).toLowerCase(),id=isHeading?"":(el.id||"").toLowerCase(),hasAttrs=attrs.trim()!=="";if(!hasAttrs&&!id)return;let attrsMatch=hasAttrs&&constants_1.PARTIAL_SELECTORS_REGEX.test(attrs),idHasDelimiter=id?/[\s_\-:.]/.test(id):!1,idMatch=id?idHasDelimiter?constants_1.PARTIAL_SELECTORS_REGEX.test(id):constants_1.PARTIAL_SELECTORS_ANCHORED_REGEX.test(id):!1;if(attrsMatch||idMatch){let useSubstring=attrsMatch||idHasDelimiter,matchString=attrsMatch?attrs:id,matchedPattern=individualRegexes?individualRegexes.find(r=>(useSubstring?r.regex:r.anchored).test(matchString))?.pattern:void 0;elementsToRemove.set(el,{type:"partial",selector:matchedPattern}),partialSelectorCount++}})}elementsToRemove.forEach(({type,selector},el)=>{if(!(mainContent&&el.contains(mainContent))&&!(el.tagName==="A"&&el.closest("h1, h2, h3, h4, h5, h6"))){try{if(el.matches(constants_1.FOOTNOTE_LIST_SELECTORS)||el.querySelector(constants_1.FOOTNOTE_LIST_SELECTORS))return;let parent=el.parentElement;if(parent&&parent.matches(constants_1.FOOTNOTE_LIST_SELECTORS)||el.classList?.contains("footnote-backref")&&el.closest("#footnotes"))return}catch{}if(el.tagName==="BUTTON"&&el.querySelector("img, picture, video")){let parent=el.parentElement;if(parent){for(let media of Array.from(el.querySelectorAll("img, picture, video")))parent.insertBefore(media,el);el.remove()}return}if(el.tagName==="BUTTON"&&el.closest("p, li, td, th, span, h1, h2, h3, h4, h5, h6")){el.replaceWith(...Array.from(el.childNodes));return}debug&&debugRemovals&&debugRemovals.push({step:"removeBySelector",selector:type==="exact"?"exact":selector,reason:type==="exact"?"exact selector match":`partial match: ${selector}`,text:(0,utils_1.textPreview)(el)}),el.remove()}});let endTime=Date.now();(0,utils_1.logDebug)(debug,"Removed clutter elements:",{exactSelectors:exactSelectorCount,partialSelectors:partialSelectorCount,total:elementsToRemove.size,processingTime:`${(endTime-startTime).toFixed(2)}ms`})}}});var require_content_boundary=__commonJS({"node_modules/defuddle/dist/content-boundary.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.findContentStart=findContentStart;exports.isAboveContentStart=isAboveContentStart;var utils_1=require_utils(),DATE_PATTERN=/(?:(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*\s+\d{1,2}|\d{1,2}(?:st|nd|rd|th)?\s+(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*|\d{4}[-/]\d{1,2}[-/]\d{1,2})/i,BYLINE_PATTERN=/^by\s+\S/i,SENTENCE_PUNCT=/[.!?]/,HIDDEN_CLASS_RE=/\b(?:isHidden(?:-[A-Za-z0-9_]+)?|is-hidden)\b/,CANDIDATE_TAGS=new Set(["P","DIV","SECTION","ARTICLE","BLOCKQUOTE","FONT"]),LEAF_CANDIDATE_TAGS=new Set(["P","BLOCKQUOTE","FONT"]),DIALOG_SELECTOR='[role="dialog"], [role="alertdialog"]',SKIP_ANCESTOR_SELECTOR=`aside, nav, header, footer, form, ${DIALOG_SELECTOR}`,PROSE_MIN_WORDS=7;function findTitleElement(mainContent,title){let normalizedTitle=(0,utils_1.normalizeText)(title);if(!normalizedTitle)return null;let headings=mainContent.querySelectorAll("h1, h2");for(let h of headings)if((0,utils_1.normalizeText)(h.textContent||"")===normalizedTitle)return h;return null}function linkTextLength(el){let len=0;for(let a of el.querySelectorAll("a"))len+=(a.textContent||"").length;return len}function isProseBlock(el){if(!el.tagName||!CANDIDATE_TAGS.has(el.tagName)||el.closest(SKIP_ANCESTOR_SELECTOR))return!1;let className=typeof el.className=="string"?el.className:"";if(HIDDEN_CLASS_RE.test(className)||el.querySelector(DIALOG_SELECTOR)||el.querySelector("script, style"))return!1;let text=(el.textContent||"").trim();if(!text)return!1;let words=(0,utils_1.countWords)(text);return!(words<PROSE_MIN_WORDS||!SENTENCE_PUNCT.test(text)||BYLINE_PATTERN.test(text)&&words<15||DATE_PATTERN.test(text)&&words<20||linkTextLength(el)>text.length*.7||el.tagName==="DIV"&&!el.querySelector("p"))}function findContentStart(mainContent,title){let start=findTitleElement(mainContent,title)||null,walker=mainContent.ownerDocument.createTreeWalker(mainContent,1);start&&(walker.currentNode=start);let leafHit=null,containerHit=null,node=walker.nextNode();for(;node;){let el=node;if(isProseBlock(el)){if(LEAF_CANDIDATE_TAGS.has(el.tagName)){leafHit=el;break}containerHit||(containerHit=el)}node=walker.nextNode()}if(leafHit)return leafHit;if(containerHit){let result=containerHit;for(;;){let qualifyingChild=null,multiple=!1;for(let child of result.children)if(isProseBlock(child)){if(qualifyingChild){multiple=!0;break}qualifyingChild=child}if(qualifyingChild&&!multiple)result=qualifyingChild;else break}return result}return start?findContentStart(mainContent,""):null}function isAboveContentStart(el,boundary){if(!boundary||el===boundary)return!1;let pos=el.compareDocumentPosition(boundary);return pos&1?!1:!!(pos&4)}}});var require_content_patterns=__commonJS({"node_modules/defuddle/dist/removals/content-patterns.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.removeEyebrowLabel=removeEyebrowLabel;exports.removeByContentPattern=removeByContentPattern;var constants_1=require_constants(),utils_1=require_utils(),content_boundary_1=require_content_boundary(),CONTENT_DATE_PATTERN=/(?:(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*\s+\d{1,2}|\d{1,2}(?:st|nd|rd|th)?\s+(?:Jan|Feb|Mar|Apr|May|Jun|Jul|Aug|Sep|Oct|Nov|Dec)[a-z]*|\d{4}[-/]\d{1,2}[-/]\d{1,2})/i,RELATIVE_TIME_PATTERN=/\b\d+\s+(?:second|minute|hour|day|week|month|year)s?\s+ago\b/i,CONTENT_READ_TIME_PATTERN=/\d+\s*min(?:ute)?s?\s+read\b|(?:read(?:ing)?\s+time)\s*:?\s*\d+\s*min(?:ute)?s?\b/i,BYLINE_UPPERCASE_PATTERN=new RegExp("^\\p{Lu}","u"),STARTS_WITH_BY_PATTERN=/^(?:posted\s+)?by\s+\S/i,METADATA_LABEL_PATTERN=/^(?:date|published|updated|posted|from|to|subject)\s*:/i,BOILERPLATE_PATTERNS=[/^This (?:article|story|piece) (?:appeared|was published|originally appeared) in\b/i,/^A version of this (?:article|story) (?:appeared|was published) in\b/i,/^Originally (?:published|appeared) (?:in|on|at)\b/i,/^Any re-?use permitted\b/i,/^©\s*(?:Copyright\s+)?\d{4}/i,/^Comments?$/i,/^Leave a (?:comment|reply)$/i,/^Loading\.{3}$/,/^Affiliate links\b.*\b(?:earn|commission)/i,/\bRead our Comment Policy\b/i,/^Thank you for (?:being part of|joining) our community\b/i],NEWSLETTER_PATTERN=/\bsubscribe\b[\s\S]{0,40}\bnewsletter\b|\bnewsletter\b[\s\S]{0,40}\bsubscribe\b|\bsign[- ]up\b[\s\S]{0,80}\b(?:newsletter|email alert)|\b(?:don[\u2019']?t (?:want to )?miss|never miss)\b[\s\S]{0,80}\b(?:latest|best|exclusive|reports?|updates?|source)/i,SOCIAL_COUNTER_PATTERN=/^\d+\s+(?:Likes?|Comments?|Shares?|Retweets?|Reposts?|Restacks?)$/i,TIMEZONE_WIDGET_PATTERN=/^current time in$/i,PINNED_LABEL_PATTERN=/^pinned$/i,AUTHOR_CONTACT_LABEL_PATTERN=/^(?:written by|(?:author|contact|reporter|correspondent)s?)$/i,SHARE_AUTHOR_LABEL=/^(?:share|follow|authors?|written\s+by)$/i,CONTENT_ELEMENT_NO_IMG_SELECTOR=constants_1.CONTENT_ELEMENT_SELECTOR.replace(/img, picture, /,""),EMAIL_PATTERN=/[\w.-]+@[\w.-]+\.\w+/,PHONE_PATTERN=/\(?\d{3}\)?[\s.‑–-]?\d{3}[\s.‑–-]?\d{4}/,HEADING_TAG_PATTERN=/^H[1-6]$/,HEADING_SELECTOR="h1, h2, h3, h4, h5, h6";function isOrContainsHeading(el){return HEADING_TAG_PATTERN.test(el.tagName)||!!el.querySelector(HEADING_SELECTOR)}function isNewsletterElement(el,maxWords){let text=el.textContent?.trim()||"",words=(0,utils_1.countWords)(text);if(words<2||words>maxWords||el.querySelector(constants_1.CONTENT_ELEMENT_SELECTOR))return!1;let normalizedText=text.replace(/([a-z])([A-Z])/g,"$1 $2").replace(/[\u2018\u2019]/g,"'");return NEWSLETTER_PATTERN.test(normalizedText)}var RELATED_HEADING_PATTERN=/^(?:related (?:posts?|articles?|content|stories|reads?|reading)|you (?:might|may|could) (?:also )?(?:like|enjoy|be interested in)|read (?:next|more|also)|further reading|see also|more (?:from .*|from|articles?|posts?|like this)|more to (?:read|explore)|explore more|about (?:the )?author|latest (?:news|events?|posts?|articles?|stories)(?:\s*[&+]\s*(?:news|events?|posts?|articles?|stories))?)$/i,CTA_HEADING_PATTERN=/^(?:subscribe|sign up|follow us|share this|stay (?:updated|connected)|join (?:us|our)|search (?:the |our )?(?:site|blog|archives?|newsroom|website|catalog|store|shop|database))$/i,RELATED_INTRO_PATTERN=/^for more (?:on|about)\b/i,METADATA_STRIP_BASE=[/\b(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:t(?:ember)?)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)\b/gi,/\b(?:Mon(?:day)?|Tue(?:s(?:day)?)?|Wed(?:nesday)?|Thu(?:rs(?:day)?)?|Fri(?:day)?|Sat(?:urday)?|Sun(?:day)?)\b/gi,/\b\d+(?:st|nd|rd|th)?\b/g,/\d{4}[-/]\d{1,2}[-/]\d{1,2}/g],READ_TIME_STRIP_PATTERNS=[...METADATA_STRIP_BASE,/\bmin(?:ute)?s?\b/gi,/\bread(?:ing)?\b/gi,/\btime\b/gi,/\bestimated\b/gi,/[/|·•—–\-,:.\s]+/g],BYLINE_STRIP_PATTERNS=[...METADATA_STRIP_BASE,/\bby\b/gi,/[/|·•—–\-,]+/g];function hasFollowingProse(el,minWords=25){let sibling=el.nextElementSibling;for(;sibling;){if(sibling.tagName==="P"&&(0,utils_1.countWords)(sibling.textContent||"")>=minWords)return!0;for(let p of sibling.querySelectorAll("p"))if((0,utils_1.countWords)(p.textContent||"")>=minWords)return!0;sibling=sibling.nextElementSibling}return!1}function precedingProseWords(el,mainContent){let words=0,node=el;for(;node&&node!==mainContent;){let sibling=node.previousElementSibling;for(;sibling;){if(sibling.tagName==="P")words+=(0,utils_1.countWords)(sibling.textContent||"");else for(let p of sibling.querySelectorAll("p"))words+=(0,utils_1.countWords)(p.textContent||"");sibling=sibling.previousElementSibling}node=node.parentElement}return words}function walkUpToWrapper(el,text,mainContent){let target=el;for(;target.parentElement&&target.parentElement!==mainContent&&(target.parentElement.textContent?.trim()||"")===text;)target=target.parentElement;return target}function removeTrailingSiblings(element,removeSelf,debug,debugRemovals){let sibling=element.nextElementSibling;for(;sibling;){let next=sibling.nextElementSibling;if(sibling.id==="footnotes"){sibling=next;continue}debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"trailing non-content",text:(0,utils_1.textPreview)(sibling)}),sibling.remove(),sibling=next}removeSelf&&(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"boilerplate text",text:(0,utils_1.textPreview)(element)}),element.remove())}function removeTrailingWithCascade(target,mainContent,debug,debugRemovals){let ancestors=[],anc=target.parentElement;for(;anc&&anc!==mainContent;)ancestors.push(anc),anc=anc.parentElement;removeTrailingSiblings(target,!0,debug,debugRemovals);for(let ancestor of ancestors)removeTrailingSiblings(ancestor,!1,debug,debugRemovals)}function walkUpIsolated(el,mainContent){let target=el;for(;target.parentElement&&target.parentElement!==mainContent;){let precedingWords=0,sib=target.previousElementSibling;for(;sib&&(precedingWords+=(0,utils_1.countWords)(sib.textContent||""),!(precedingWords>10));)sib=sib.previousElementSibling;if(precedingWords>10)break;target=target.parentElement}return target}function removeThinPrecedingSection(target,debug,debugRemovals){let prevSib=target.previousElementSibling;if(!prevSib||(0,utils_1.countWords)(prevSib.textContent||"")>=50||prevSib.querySelector(constants_1.CONTENT_ELEMENT_SELECTOR))return;let beforePrev=prevSib.previousElementSibling;beforePrev&&isOrContainsHeading(beforePrev)||(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"thin CTA section",text:(0,utils_1.textPreview)(prevSib)}),prevSib.remove())}function removeHeroHeader(mainContent,contentStart,debug,debugRemovals){let timeElements=mainContent.querySelectorAll("time");if(timeElements.length!==0)for(let time of timeElements){if(!(0,content_boundary_1.isAboveContentStart)(time,contentStart))continue;let bestBlock=null,current=time.parentElement;for(;current&&current!==mainContent;){if(current.querySelector("h1, h2")&&current.querySelector("time")){let blockText=current.textContent?.trim()||"",totalWords=(0,utils_1.countWords)(blockText),metadataEls=new Set;for(let el of current.querySelectorAll("h1, h2, h3, time, [aria-label]")){let dominated=!1;for(let existing of metadataEls)if(existing.contains(el)){dominated=!0;break}dominated||metadataEls.add(el)}let metadataWords=0;for(let el of metadataEls)metadataWords+=(0,utils_1.countWords)(el.textContent||"");if(totalWords-metadataWords<30)bestBlock=current;else break}current=current.parentElement}if(bestBlock){debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"hero header block",text:(0,utils_1.textPreview)(bestBlock)}),bestBlock.remove();return}}}function isBreadcrumbList(list){let listItems=list.querySelectorAll("li");if(listItems.length<2||listItems.length>8)return!1;let listLinks=Array.from(list.querySelectorAll("a"));if(listLinks.length<1||listLinks.length>=listItems.length||list.querySelector("img, p, figure, blockquote"))return!1;for(let item of listItems)if((0,utils_1.countWords)(item.textContent||"")>8)return!1;let allInternal=!0,hasBreadcrumbLink=!1,shortLinkTexts=!0;for(let a of listLinks){let href=a.getAttribute("href")||"";if(href.startsWith("http")||href.startsWith("//")){allInternal=!1;break}(href==="/"||/^\/[a-zA-Z0-9_-]+\/?$/.test(href))&&(hasBreadcrumbLink=!0),(a.textContent||"").trim().split(/\s+/).filter(Boolean).length>5&&(shortLinkTexts=!1)}return allInternal&&hasBreadcrumbLink&&shortLinkTexts}function removeEyebrowLabel(mainContent,debug,debugRemovals){let firstHeading=mainContent.querySelector("h1")||mainContent.querySelector("h2");if(!firstHeading)return;let current=firstHeading;for(;current.parentElement&&current.parentElement!==mainContent&&!current.previousElementSibling;)current=current.parentElement;let prev=current.previousElementSibling;if(!prev)return;let text=prev.textContent?.trim()||"",words=(0,utils_1.countWords)(text);words<1||words>6||text.length>40||/[.!?]/.test(text)||CONTENT_DATE_PATTERN.test(text)||prev.querySelector("img, picture, video, iframe, figure, table, pre, code, time, [datetime], h1, h2, h3, h4, h5, h6, ul, ol, blockquote")||(debug&&debugRemovals&&debugRemovals.push({step:"removeEyebrowLabel",reason:"eyebrow label",text:(0,utils_1.textPreview)(prev)}),prev.remove())}function removeByContentPattern(mainContent,debug,url,title,description,debugRemovals){let contentStart=(0,content_boundary_1.findContentStart)(mainContent,title),isPreContent=el=>(0,content_boundary_1.isAboveContentStart)(el,contentStart),normalizedTitle=(0,utils_1.normalizeText)(title),normalizedDesc=(0,utils_1.normalizeText)(description),firstList=mainContent.querySelector("ul, ol");if(firstList&&isBreadcrumbList(firstList)){let target=firstList;for(;target.parentElement&&target.parentElement!==mainContent&&target.parentElement.children.length===1;)target=target.parentElement;debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"breadcrumb navigation list",text:(0,utils_1.textPreview)(target)}),target.remove()}let firstH1=mainContent.querySelector("h1");if(firstH1)for(let link of mainContent.querySelectorAll("a[href]")){if(!link.parentNode||!(link.compareDocumentPosition(firstH1)&4)||!link.querySelector("div")||link.querySelector("img, picture, video"))continue;let text=link.textContent?.trim()||"";(0,utils_1.countWords)(text)>25||/[.!?]\s/.test(text)||(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"promotional banner link",text:(0,utils_1.textPreview)(link)}),link.remove())}removeHeroHeader(mainContent,contentStart,debug,debugRemovals);for(let media of mainContent.querySelectorAll("audio, video")){if(!media.parentNode||!media.getAttribute("src")&&!media.querySelector("source"))continue;let container=media;for(;container.parentElement&&container.parentElement!==mainContent&&!((0,utils_1.countWords)(container.parentElement.textContent?.trim()||"")>25);)container=container.parentElement;let containerText=container.textContent?.trim()||"",isListenWidget=/\blisten\s+to\s+(?:this\s+)?(?:article|story|post|episode|podcast)\b/i.test(containerText),isPreContentPlayer=!isListenWidget&&isPreContent(container)&&(0,utils_1.countWords)(containerText)<=25;(isListenWidget||isPreContentPlayer)&&(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"audio player widget",text:(0,utils_1.textPreview)(container)}),container.remove())}let contentText=mainContent.textContent||"",parsedPageUrl=null;try{parsedPageUrl=new URL(url)}catch{}for(let list of mainContent.querySelectorAll("ul, ol")){if(!list.parentNode||list.closest("#footnotes"))continue;let listText=list.textContent?.trim()||"",listPos=contentText.indexOf(listText.substring(0,60));if(listPos<0||listPos>contentText.length*.3)continue;let links=Array.from(list.querySelectorAll("a[href]"));if(links.length<3||list.querySelector(constants_1.CONTENT_ELEMENT_SELECTOR))continue;let anchorCount=0;for(let link of links){let href=link.getAttribute("href")||"";if(href.startsWith("#"))anchorCount++;else if(parsedPageUrl&&href.includes("#"))try{let resolved=new URL(href,url);resolved.pathname===parsedPageUrl.pathname&&resolved.hostname===parsedPageUrl.hostname&&anchorCount++}catch{}}if(anchorCount<3||anchorCount/links.length<.8)continue;let target=list;for(;target.parentElement&&target.parentElement!==mainContent&&target.parentElement.children.length===1;)target=target.parentElement;let prevEl=target.previousElementSibling;if(prevEl&&HEADING_TAG_PATTERN.test(prevEl.tagName)){let hText=prevEl.textContent?.trim()||"";/^(?:table of )?contents$|^on this page$|^in this (?:article|guide|post)$/i.test(hText)&&(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"table of contents heading",text:(0,utils_1.textPreview)(prevEl)}),prevEl.remove())}let prevSib=target.previousElementSibling,nextSib=target.nextElementSibling;debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"table of contents",text:(0,utils_1.textPreview)(target)}),target.remove(),prevSib?.tagName==="HR"&&prevSib.remove(),nextSib?.tagName==="HR"&&nextSib.remove();break}let candidates=Array.from(mainContent.querySelectorAll("p, span, div, time")),bylineFound=!1,authorDateFound=!1;for(let el of candidates){if(!el.parentNode)continue;let text=el.textContent?.trim()||"",words=(0,utils_1.countWords)(text);if(words>15||words===0||el.closest("pre, code"))continue;let tag=el.tagName,hasDate=CONTENT_DATE_PATTERN.test(text),pos=-2,getPos=()=>(pos===-2&&(pos=contentText.indexOf(text)),pos);if(TIMEZONE_WIDGET_PATTERN.test(text)&&getPos()<=300){let target=el;target.parentElement&&target.parentElement!==mainContent&&(target=target.parentElement),debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"timezone widget",text:(0,utils_1.textPreview)(target)}),target.remove();continue}if(words===1&&PINNED_LABEL_PATTERN.test(text)){debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"pinned label",text:(0,utils_1.textPreview)(el)}),el.remove();continue}for(let[normalized,reason]of[[normalizedTitle,"duplicate title"],[normalizedDesc,"duplicate description"]])if(normalized&&words>=3&&isPreContent(el)&&(0,utils_1.normalizeText)(text)===normalized){debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason,text:(0,utils_1.textPreview)(el)}),el.remove();break}if(el.parentNode){if((tag==="DIV"||tag==="P")&&words>=1&&words<=10&&(hasDate||RELATIVE_TIME_PATTERN.test(text))&&!METADATA_LABEL_PATTERN.test(text)&&!/[.!?]/.test(text)&&isPreContent(el)&&!Array.from(el.querySelectorAll("p, h1, h2, h3, h4, h5, h6")).some(b=>(0,utils_1.countWords)(b.textContent||"")>8)){debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"article metadata header block",text:(0,utils_1.textPreview)(el)}),el.remove();continue}if(tag==="DIV"&&words>=1&&words<=5&&!/[.!?]/.test(text)&&isPreContent(el)&&el.querySelector("img")){let links=el.querySelectorAll("a[href]");if(links.length>0){let linkTextLen=0;for(let link of links)linkTextLen+=(link.textContent?.trim()||"").length;if(linkTextLen/(text.length||1)>=.8){debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"category badge",text:(0,utils_1.textPreview)(el)}),el.remove();continue}}}if(!bylineFound&&STARTS_WITH_BY_PATTERN.test(text)&&words>=2&&!/[.!?]$/.test(text)&&isPreContent(el)){let target=walkUpToWrapper(el,text,mainContent);debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"author byline",text:(0,utils_1.textPreview)(target)}),target.remove(),bylineFound=!0;continue}if(CONTENT_READ_TIME_PATTERN.test(text)&&(hasDate?el.querySelectorAll("p, div, section, article").length===0:words<=5&&isPreContent(el))){let cleaned=text;for(let pattern of READ_TIME_STRIP_PATTERNS)cleaned=cleaned.replace(pattern,"");if(cleaned.trim().length===0){let target=hasDate?el:walkUpToWrapper(el,text,mainContent);debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"read time metadata",text:(0,utils_1.textPreview)(target)}),target.remove();continue}}if(!authorDateFound&&words>=2&&words<=10&&hasDate&&!METADATA_LABEL_PATTERN.test(text)&&isPreContent(el)){let residual=text;for(let pattern of BYLINE_STRIP_PATTERNS)residual=residual.replace(pattern,"");if(residual=residual.trim(),residual){let nameWords=residual.split(/\s+/).filter(w=>w.length>0);if(nameWords.length>=1&&nameWords.length<=4&&nameWords.every(w=>BYLINE_UPPERCASE_PATTERN.test(w))){let target=walkUpToWrapper(el,text,mainContent);debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"author date metadata",text:(0,utils_1.textPreview)(target)}),target.remove(),authorDateFound=!0;continue}}}if(hasDate&&words<=5&&isPreContent(el)){let residual=text;for(let pattern of METADATA_STRIP_BASE)residual=residual.replace(pattern,"");if(residual=residual.replace(/[,\s/\-]+/g,"").trim(),residual.length===0){let target=walkUpToWrapper(el,text,mainContent);debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"standalone date metadata",text:(0,utils_1.textPreview)(target)}),target.remove();continue}}}}let timeElements=Array.from(mainContent.querySelectorAll("time"));for(let time of timeElements){if(!time.parentNode)continue;let target=time,targetText=target.textContent?.trim()||"";for(;target.parentElement&&target.parentElement!==mainContent;){let parentTag=target.parentElement.tagName.toLowerCase(),parentText=target.parentElement.textContent?.trim()||"";if(parentTag==="p"&&parentText===targetText){target=target.parentElement;break}if(["i","em","span","b","strong","small"].includes(parentTag)&&parentText===targetText){target=target.parentElement,targetText=parentText;continue}break}let text=target.textContent?.trim()||"";if((0,utils_1.countWords)(text)>10)continue;let pos=contentText.indexOf(text),distFromEnd=contentText.length-(pos+text.length);pos>200&&distFromEnd>200||(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"boundary date element",text:(0,utils_1.textPreview)(target)}),target.remove())}let metadataLists=mainContent.querySelectorAll("ul, ol, dl");for(let list of metadataLists){if(!list.parentNode||list.closest("#footnotes"))continue;let isDl=list.tagName==="DL",items=Array.from(list.children).filter(el=>isDl?el.tagName==="DD":el.tagName==="LI"),minItems=isDl?1:2;if(items.length<minItems||items.length>8)continue;let listText=list.textContent?.trim()||"",listPos=contentText.indexOf(listText),distFromEnd=contentText.length-(listPos+listText.length);if(listPos>500&&distFromEnd>500)continue;let prevSibling=list.previousElementSibling;if(prevSibling&&(isOrContainsHeading(prevSibling)||(prevSibling.textContent?.trim()||"").endsWith(":")))continue;let isMetadata=!0;for(let item of items){let text=item.textContent?.trim()||"";if((0,utils_1.countWords)(text)>8){isMetadata=!1;break}if(/[.!?]$/.test(text)){isMetadata=!1;break}}if(!isMetadata||(0,utils_1.countWords)(listText)>30)continue;let target=walkUpToWrapper(list,listText,mainContent);debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"blog metadata list",text:(0,utils_1.textPreview)(target)}),target.remove()}let urlPath=parsedPageUrl?.pathname||"",pageHost=parsedPageUrl?.hostname.replace(/^www\./,"")||"";if(urlPath){let shortElements=mainContent.querySelectorAll("div, span, p, a[href]"),firstHeading=mainContent.querySelector("h1, h2, h3");for(let el of shortElements){if(!el.parentNode)continue;let text=el.textContent?.trim()||"";if((0,utils_1.countWords)(text)>10||el.querySelectorAll("p, div, section, article").length>0||el.matches("a[href]")&&el.parentElement&&el.parentElement!==mainContent&&(el.parentElement.textContent?.trim()||"")!==text&&(el.closest("p")||!firstHeading||!(el.compareDocumentPosition(firstHeading)&4)))continue;let link=el.matches("a[href]")?el:el.querySelector("a[href]");if(link)try{let linkPath=new URL(link.getAttribute("href")||"",url).pathname,linkDir=linkPath.replace(/\/[^/]*$/,"/"),isParentIndex=/^index\.(html?|php)$/i.test(linkPath.split("/").pop()||"")&&urlPath.startsWith(linkDir);linkPath!=="/"&&linkPath!==urlPath&&(urlPath.startsWith(linkPath)||isParentIndex)&&(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"section breadcrumb",text:(0,utils_1.textPreview)(el)}),el.remove())}catch{}}}if(pageHost){let headings=mainContent.querySelectorAll("h2, h3, h4, h5, h6");for(let heading of headings){if(!heading.parentNode)continue;let list=heading.nextElementSibling;if(!list||list.tagName!=="UL"&&list.tagName!=="OL")continue;let items=Array.from(list.children).filter(el=>el.tagName==="LI");if(items.length<2)continue;let trailingContent=!1,checkEl=list;for(;checkEl&&checkEl!==mainContent;){let sibling=checkEl.nextElementSibling;for(;sibling;){if((sibling.textContent?.trim()||"").length>0){trailingContent=!0;break}sibling=sibling.nextElementSibling}if(trailingContent)break;checkEl=checkEl.parentElement}if(trailingContent)continue;let allExternalLinks=!0;for(let item of items){let links=item.querySelectorAll("a[href]");if(links.length===0){allExternalLinks=!1;break}let itemText=item.textContent?.trim()||"",linkTextLen=0;for(let link of links){linkTextLen+=(link.textContent?.trim()||"").length;try{if(new URL(link.getAttribute("href")||"",url).hostname.replace(/^www\./,"")===pageHost){allExternalLinks=!1;break}}catch{}}if(!allExternalLinks)break;if(linkTextLen<itemText.length*.6){allExternalLinks=!1;break}}allExternalLinks&&(debug&&debugRemovals&&(debugRemovals.push({step:"removeByContentPattern",reason:"trailing external link list",text:(0,utils_1.textPreview)(heading)}),debugRemovals.push({step:"removeByContentPattern",reason:"trailing external link list",text:(0,utils_1.textPreview)(list)})),list.remove(),heading.remove())}}let lastChild=mainContent.lastElementChild;for(;lastChild&&["HR","BR"].includes(lastChild.tagName);)lastChild=lastChild.previousElementSibling;if(lastChild&&["SECTION","DIV","ASIDE"].includes(lastChild.tagName)){let paras=[],hasNonPara=!1;for(let child of lastChild.children)if(child.textContent?.trim()){if(child.tagName==="P")paras.push(child);else if(child.tagName!=="BR"){hasNonPara=!0;break}}paras.length>=2&&!hasNonPara&&paras.every(p=>{let text=(p.textContent?.trim()||"").replace(/\s+/g," "),links=p.querySelectorAll("a[href]");if(links.length===0)return!1;let linkTextLen=0;for(let link of links)linkTextLen+=(link.textContent?.trim()||"").length;if(linkTextLen/(text.length||1)<=.6)return!1;let nonLinkText=text;for(let link of links)nonLinkText=nonLinkText.split(link.textContent?.trim()||"").join("");return!/[.!?]/.test(nonLinkText)})&&(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"trailing related posts block",text:(0,utils_1.textPreview)(lastChild)}),lastChild.remove())}let totalWords=(0,utils_1.countWords)(mainContent.textContent||"");if(totalWords>300){let trailingEls=[],trailingWords=0,child=mainContent.lastElementChild;for(;child;){if(child.id==="footnotes"){child=child.previousElementSibling;continue}if(child.tagName==="HR"){trailingEls.push(child);break}let svgWords=0;for(let svg of child.querySelectorAll("svg"))svgWords+=(0,utils_1.countWords)(svg.textContent||"");let words=(0,utils_1.countWords)(child.textContent?.trim()||"")-svgWords;if(words>25)break;trailingWords+=words,trailingEls.push(child),child=child.previousElementSibling}if(trailingEls.length>=1&&trailingWords<totalWords*.15){let hasHeading=trailingEls.some(el=>isOrContainsHeading(el)),hasContent=trailingEls.some(el=>el.querySelector(constants_1.CONTENT_ELEMENT_SELECTOR)),proseParagraphs=0;for(let el of trailingEls)el.tagName==="P"&&(0,utils_1.countWords)(el.textContent||"")>5&&proseParagraphs++;if(hasHeading&&!hasContent&&proseParagraphs<2)for(let el of trailingEls)debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"trailing thin section",text:(0,utils_1.textPreview)(el)}),el.remove()}}let fullText=mainContent.textContent||"",boilerplateElements=mainContent.querySelectorAll("p, div, span, section");for(let el of boilerplateElements){if(!el.parentNode||el.closest("pre, code"))continue;let text=el.textContent?.trim()||"",words=(0,utils_1.countWords)(text);if(!(words>50||words<1)){for(let pattern of BOILERPLATE_PATTERNS)if(pattern.test(text)){let target=el;for(;target.parentElement&&target.parentElement!==mainContent&&!target.nextElementSibling;)target=target.parentElement;let targetText=target.textContent||"";if(fullText.indexOf(targetText)<200){target!==el&&!el.nextElementSibling&&(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"boilerplate text",text:(0,utils_1.textPreview)(el)}),el.remove());continue}removeTrailingWithCascade(target,mainContent,debug,debugRemovals);break}}}for(let heading of mainContent.querySelectorAll("h2, h3, h4, h5, h6")){if(!heading.parentNode)continue;let headingText=heading.textContent?.trim()||"",isCta=CTA_HEADING_PATTERN.test(headingText);if(!isCta&&!RELATED_HEADING_PATTERN.test(headingText)||contentText.indexOf(headingText)<500)continue;let target=walkUpIsolated(heading,mainContent);if(hasFollowingProse(target)){if(target===heading)continue;debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"inline related content section",text:(0,utils_1.textPreview)(target)}),target.remove();continue}if(target===heading){if(!isCta)continue;removeTrailingSiblings(heading,!0,debug,debugRemovals)}else removeThinPrecedingSection(target,debug,debugRemovals),debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"related content section",text:(0,utils_1.textPreview)(target)}),removeTrailingWithCascade(target,mainContent,debug,debugRemovals);break}for(let el of mainContent.querySelectorAll("p")){if(!el.parentNode)continue;let text=el.textContent?.trim()||"";RELATED_INTRO_PATTERN.test(text)&&((0,utils_1.countWords)(text)>20||el.querySelector(constants_1.CONTENT_ELEMENT_SELECTOR)||(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"related content intro",text:(0,utils_1.textPreview)(el)}),el.remove()))}let contentWordCount=(0,utils_1.countWords)(contentText);for(let el of mainContent.querySelectorAll("div, ul, ol")){if(!el.parentNode||el.children.length<2||el.querySelectorAll("img, picture").length<2)continue;let children=Array.from(el.children),cardCount=children.filter(c=>c.querySelector("img, picture")&&(c.querySelector("h2, h3, h4")||c.querySelector("a[href]"))).length;if(cardCount<2||cardCount<children.length*.7)continue;let firstText=children[0].textContent?.trim().substring(0,30)||"";if(!(firstText.length>=5?contentText.indexOf(firstText)>=500:children.every(c=>c.querySelector("a[href]"))&&precedingProseWords(el,mainContent)>=100))continue;let gridWords=(0,utils_1.countWords)(el.textContent||"");if(contentWordCount>0&&gridWords/contentWordCount>.3)continue;let target=walkUpIsolated(el,mainContent);if(!(target===el||(0,utils_1.countWords)(target.textContent||"")>gridWords*2+15)&&!hasFollowingProse(target)){removeThinPrecedingSection(target,debug,debugRemovals),debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"related post cards",text:(0,utils_1.textPreview)(target)}),removeTrailingSiblings(target,!0,debug,debugRemovals);break}}for(let el of mainContent.querySelectorAll("div, section, aside")){if(!el.parentNode||el.closest("pre, code")||!isNewsletterElement(el,60))continue;let elWords=(0,utils_1.countWords)(el.textContent?.trim()||""),target=el;for(;target.parentElement&&target.parentElement!==mainContent&&!((0,utils_1.countWords)(target.parentElement.textContent?.trim()||"")>elWords*2+15);)target=target.parentElement;debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"newsletter signup",text:(0,utils_1.textPreview)(target)}),target.remove();break}for(let el of mainContent.querySelectorAll("ul"))if(el.parentNode&&isNewsletterElement(el,30)){debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"newsletter signup list",text:(0,utils_1.textPreview)(el)}),el.remove();break}for(let el of mainContent.querySelectorAll("div, section")){if(!el.parentNode)continue;let text=el.textContent?.trim()||"",words=(0,utils_1.countWords)(text);if(words<2||words>40)continue;let pos=contentText.indexOf(text.substring(0,60));if(pos<0||contentText.length-(pos+text.length)>300)continue;let children=el.querySelectorAll("div, span, p, dt, dd, li"),hasLabel=!1;for(let child of children){let childText=child.textContent?.trim()||"";if(AUTHOR_CONTACT_LABEL_PATTERN.test(childText)){hasLabel=!0;break}}if(!hasLabel||!(EMAIL_PATTERN.test(text)||PHONE_PATTERN.test(text)||el.querySelector('a[href^="mailto:"]')))continue;let target=walkUpIsolated(el,mainContent);debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"author contact block",text:(0,utils_1.textPreview)(target)}),target.remove();break}for(let el of mainContent.querySelectorAll("p, span, div")){if(!el.parentNode)continue;let elText=el.textContent?.trim()||"";if(!SHARE_AUTHOR_LABEL.test(elText))continue;let container=el;for(;container.parentElement&&container.parentElement!==mainContent;){let parent=container.parentElement;if((0,utils_1.countWords)(parent.textContent?.trim()||"")>15)break;container=parent}container.querySelector(CONTENT_ELEMENT_NO_IMG_SELECTOR)||(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"author/share widget",text:(0,utils_1.textPreview)(container)}),container.remove())}for(let el of mainContent.querySelectorAll("a, p, div, span")){if(!el.parentNode)continue;let text=el.textContent?.trim()||"";if(!SOCIAL_COUNTER_PATTERN.test(text)||el.tagName==="A"&&el.getAttribute("href"))continue;if(el.tagName!=="A"){let pos=contentText.indexOf(text);if(contentText.length-(pos+text.length)>200)continue}let target=walkUpToWrapper(el,text,mainContent);debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"social engagement counter",text:(0,utils_1.textPreview)(target)}),target.remove()}for(let el of mainContent.querySelectorAll("div")){if(!el.parentNode)continue;let text=el.textContent?.trim()||"",words=(0,utils_1.countWords)(text);if(words<1||words>10||/[.!?]/.test(text)||el.querySelector(constants_1.CONTENT_ELEMENT_SELECTOR))continue;let pos=contentText.indexOf(text);if(pos<0||contentText.length-(pos+text.length)>300)continue;let links=el.querySelectorAll("a[href]");if(links.length===0)continue;let linkTextLen=0;for(let link of links)linkTextLen+=(link.textContent?.trim()||"").length;linkTextLen/(text.length||1)<.8||(debug&&debugRemovals&&debugRemovals.push({step:"removeByContentPattern",reason:"trailing tag link block",text:(0,utils_1.textPreview)(el)}),el.remove())}}}});var require_metadata_block=__commonJS({"node_modules/defuddle/dist/removals/metadata-block.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.removeMetadataBlock=removeMetadataBlock;var DATE_RE=/\b(?:(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:t(?:ember)?)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)\s+\d{1,2}[\s,]+\d{4}|\d{1,2}(?:st|nd|rd|th)?\s+(?:Jan(?:uary)?|Feb(?:ruary)?|Mar(?:ch)?|Apr(?:il)?|May|Jun(?:e)?|Jul(?:y)?|Aug(?:ust)?|Sep(?:t(?:ember)?)?|Oct(?:ober)?|Nov(?:ember)?|Dec(?:ember)?)\s+\d{4}|\d{4}[-/]\d{1,2}[-/]\d{1,2})\b/i;function removeMetadataBlock(mainContent){let contentH1=mainContent.querySelector("h1");if(!contentH1)return;let sibling=contentH1.nextElementSibling;for(let i=0;i<3&&sibling;i++){let next=sibling.nextElementSibling,text=sibling.textContent?.trim()||"";if(text.length>0&&text.length<300){let hasDate=DATE_RE.test(text);if(!hasDate){for(let el of sibling.querySelectorAll("p, time"))if(DATE_RE.test(el.textContent?.trim()||"")){hasDate=!0;break}}if(hasDate){sibling.remove();break}}sibling=next}}}});var require_defuddle=__commonJS({"node_modules/defuddle/dist/defuddle.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Defuddle=void 0;var metadata_1=require_metadata(),extractor_registry_1=require_extractor_registry(),constants_1=require_constants(),standardize_1=require_standardize(),footnotes_1=require_footnotes(),callouts_1=require_callouts(),scoring_1=require_scoring(),small_images_1=require_small_images(),hidden_1=require_hidden(),selectors_1=require_selectors(),content_patterns_1=require_content_patterns(),metadata_block_1=require_metadata_block(),utils_1=require_utils(),dom_1=require_dom(),STANDARD_VARIABLE_KEYS=new Set(["title","author","published","site","description","image","language"]),UNSAFE_CSS_CLASS_RE=/[:\[\]()#>~+,]/,Defuddle=class _Defuddle{constructor(doc,options={}){this._schemaOrgData=void 0,this._schemaOrgExtracted=!1,this._inExtractorPipelineRun=!1,this.doc=doc,this.options=options,this.debug=options.debug||!1}getSchemaOrgData(){return this._schemaOrgExtracted||(this._schemaOrgData=this._extractSchemaOrgData(this.doc),this._schemaOrgExtracted=!0),this._schemaOrgData}parse(){this.doc.body&&(this._normalizeAttributes(this.doc.body),this._resolveNoscriptImages(this.doc.body));let result=this.parseInternal();if(result.wordCount<200){this._log("Initial parse returned very little content, trying again");let retryResult=this.parseInternal({removePartialSelectors:!1});retryResult.wordCount>result.wordCount*2&&(this._log("Retry produced more content"),result=retryResult)}if(result.wordCount<50){this._log("Still very little content, retrying without hidden-element removal");let hiddenRetry=this.parseInternal({removeHiddenElements:!1});hiddenRetry.wordCount>result.wordCount*2&&(this._log("Hidden-element retry produced more content"),result=hiddenRetry);let hiddenSelector=this.findLargestHiddenContentSelector();if(hiddenSelector){this._log("Retrying with hidden content selector:",hiddenSelector);let hiddenSelectorRetry=this.parseInternal({removeHiddenElements:!1,removePartialSelectors:!1,contentSelector:hiddenSelector});(hiddenSelectorRetry.wordCount>result.wordCount||hiddenSelectorRetry.wordCount>Math.max(20,result.wordCount*.7)&&hiddenSelectorRetry.content.length<result.content.length)&&(this._log("Hidden-selector retry produced better focused content"),result=hiddenSelectorRetry)}}if(result.wordCount<50){this._log("Still very little content, retrying without scoring/partial selectors (possible index page)");let indexRetry=this.parseInternal({removeLowScoring:!1,removePartialSelectors:!1,removeContentPatterns:!1});indexRetry.wordCount>result.wordCount&&(this._log("Index page retry produced more content"),result=indexRetry)}let schemaText=this._getSchemaText(result.schemaOrgData);if(schemaText&&this.countHtmlWords(schemaText)>result.wordCount*1.5){let liveDoc=this.doc,safeDoc=liveDoc.cloneNode(!0);this._stripUnsafeElements(safeDoc.body),this.doc=safeDoc;try{let bestMatch=this._findElementBySchemaText(this.doc.body,schemaText);if(bestMatch){let selector=this.getElementSelector(bestMatch);this._log("Schema.org suggests a better content element, retrying with selector:",selector),result=this.parseInternal({contentSelector:selector})}else{this._log("Using schema.org text as content (DOM element not found)");let safeSchemaHtml=this._sanitizeExtractorHtml(schemaText);result.content=safeSchemaHtml,result.wordCount=this.countHtmlWords(safeSchemaHtml)}}finally{this.doc=liveDoc}}return result}_getSchemaText(schemaOrgData,depth=0){if(!schemaOrgData||depth>10)return"";let items=Array.isArray(schemaOrgData)?schemaOrgData:[schemaOrgData];for(let item of items){if(Array.isArray(item)){let found=this._getSchemaText(item,depth+1);if(found)return found;continue}if(item?.text&&typeof item.text=="string")return item.text;if(item?.articleBody&&typeof item.articleBody=="string")return item.articleBody;if(item?.["@graph"]&&Array.isArray(item["@graph"])){let found=this._getSchemaText(item["@graph"],depth+1);if(found)return found}}return""}_serializeFallbackBody(){if(!this.doc.body)return"";let safeBody=this.doc.body.cloneNode(!0);return this._stripUnsafeElements(safeBody),this.resolveContentUrls((0,dom_1.serializeHTML)(safeBody))}_stripUnsafeElements(body){if(!body)return;let dangerousElements=body.querySelectorAll('script:not([type^="math/"]), style, noscript, frame, frameset, object, embed, applet, base, animate, set, animatemotion, animatetransform, animatecolor, discard, animateMotion, animateTransform, animateColor');for(let el of dangerousElements)el.remove();let allElements=[body,...Array.from(body.querySelectorAll("*"))];for(let el of allElements)for(let attr of Array.from(el.attributes)){let name=attr.name.toLowerCase();if(name.startsWith("on"))el.removeAttribute(attr.name);else if(name==="srcdoc")el.removeAttribute(attr.name);else if(["href","src","action","formaction","xlink:href"].includes(name)){let allowInlineImage=!(name==="src"&&el.tagName==="IFRAME");(0,dom_1.isDangerousUrl)(attr.value,allowInlineImage)&&el.removeAttribute(attr.name)}}}_deduplicateImages(body){for(let figure of body.querySelectorAll("figure")){let figImgs=Array.from(figure.querySelectorAll("img")).filter(img=>!img.closest("noscript")&&img.parentElement);if(figImgs.length<2)continue;let groups=new Map;for(let img of figImgs){let src=img.getAttribute("src")||"";if(!src||src.startsWith("data:"))continue;let key=(img.getAttribute("alt")||"").trim()||null,group=groups.get(key)||[];group.push(img),groups.set(key,group)}for(let[key,group]of groups)group.length<2||key!==null&&group.every(img=>img.getAttribute("src")===group[0].getAttribute("src"))||this._keepBestImage(group)}let imgs=Array.from(body.querySelectorAll("img"));for(let i=0;i<imgs.length-1;i++){let img=imgs[i];if(!img.parentElement||img.closest("noscript")||img.closest("figure"))continue;let alt=(img.getAttribute("alt")||"").trim();if(!alt)continue;let src=img.getAttribute("src")||"";if(!src||src.startsWith("data:"))continue;let other=imgs[i+1];if(!other.parentElement||other.closest("noscript")||other.closest("figure")||(other.getAttribute("alt")||"").trim()!==alt)continue;let otherSrc=other.getAttribute("src")||"";!otherSrc||otherSrc.startsWith("data:")||otherSrc!==src&&this._noVisibleContentBetween(img,other)&&this._keepBestImage([img,other])}for(let img of Array.from(body.querySelectorAll("img"))){if(!img.parentElement||img.closest("a, figure, noscript"))continue;let src=img.getAttribute("src")||"";if(!src||src.startsWith("data:"))continue;let parent=img.parentElement,normalizedSrc=this._normalizeSrc(src);for(let link of parent.querySelectorAll(":scope > a[href]")){if(!link.querySelector("img"))continue;let href=link.getAttribute("href")||"";if(normalizedSrc===this._normalizeSrc(href)){img.remove();break}}}}_keepBestImage(group){let best=group[0];for(let i=1;i<group.length;i++){let winner=this._pickBestImage(best,group[i]);(winner===best?group[i]:best).remove(),best=winner}}_noVisibleContentBetween(a,b){let next=node=>{if(!node)return null;if(node.firstChild)return node.firstChild;let n=node;for(;n;){if(n.nextSibling)return n.nextSibling;n=n.parentNode}return null};for(let node=next(a);node&&node!==b;node=next(node))if(node.nodeType===3&&(node.textContent||"").trim())return!1;return!0}_normalizeSrc(url){return url.replace(/^https?:\/\//,"").split("?")[0]}_removeCoverImage(body,metadataImage){if(!metadataImage)return;let metaNorm=this._normalizeSrc(metadataImage);for(let img of body.querySelectorAll("img")){let src=img.getAttribute("src")||"";if(!src||src.startsWith("data:")||this._normalizeSrc(src)!==metaNorm)continue;let bestUrl=this._getLargestImageSrc(img),figure=img.closest("figure");return figure&&figure.querySelector("figcaption")||img.remove(),bestUrl}}_pickBestImage(a,b){let tierA=a.getAttribute("srcset")?2:a.closest("picture")?1:0,tierB=b.getAttribute("srcset")?2:b.closest("picture")?1:0;if(tierA!==tierB)return tierA>tierB?a:b;let widthA=_Defuddle._urlWidth(a),widthB=_Defuddle._urlWidth(b);return widthA!==widthB?widthA>widthB?a:b:a}static _urlWidth(img){let m=(img.getAttribute("src")||"").match(_Defuddle._urlWidthPattern);return m?parseInt(m[1],10):0}_normalizeAttributes(body){let renames=[["srcSet","srcset"]],elements=body.querySelectorAll("img, source");for(let el of elements)for(let[from,to]of renames){let value=el.getAttribute(from);value!==null&&(el.removeAttribute(from),el.setAttribute(to,value))}}_resolveNoscriptImages(body){let noscripts=body.querySelectorAll("noscript");for(let noscript of noscripts){let noscriptImg=noscript.querySelector("img");if(!noscriptImg){let html=noscript.innerHTML||"";if(html.includes("<img")||(html=noscript.textContent||""),!html.includes("<img"))continue;noscriptImg=(0,dom_1.parseHTML)(this.doc,html).querySelector("img")}if(!noscriptImg)continue;let realSrc=noscriptImg.getAttribute("src")||"";if(!realSrc||realSrc.startsWith("data:"))continue;let alt=noscriptImg.getAttribute("alt"),parent=noscript.parentElement;if(!parent)continue;let matched=!1,siblingImgs=parent.querySelectorAll(":scope > img");for(let img of siblingImgs){if(!(img.getAttribute("src")||"").startsWith("data:")||!alt||img.getAttribute("alt")!==alt)continue;img.setAttribute("src",realSrc);let srcset=noscriptImg.getAttribute("srcset")||"";srcset&&img.setAttribute("srcset",srcset),matched=!0;break}if(!matched&&this._isLazyImageContext(noscript)){let existingImgs=(noscript.closest("figure")||parent).querySelectorAll("img"),hasRealImage=!1;for(let img of existingImgs){if(img.closest("noscript"))continue;let src=img.getAttribute("src")||"";if(src&&!src.startsWith("data:")){hasRealImage=!0;break}}if(!hasRealImage){let promotedImg=noscriptImg.cloneNode(!0);parent.insertBefore(promotedImg,noscript)}}}}_isLazyImageContext(noscript){if(noscript.closest("figure"))return!0;let parent=noscript.parentElement;if(parent){for(let sibling of parent.children)if(sibling!==noscript&&(0,dom_1.getClassName)(sibling).toLowerCase().includes("lazy"))return!0;let parentCls=(0,dom_1.getClassName)(parent).toLowerCase();if(parentCls.includes("image")||parentCls.includes("img")||parentCls.includes("picture")||parentCls.includes("photo")||parentCls.includes("media"))return!0}return!1}_findElementBySchemaText(root,schemaText){let searchPhrase=(schemaText.split(/\n\s*\n/)[0]?.trim()||"").substring(0,100).trim();if(!searchPhrase)return null;let schemaWordCount=(0,utils_1.countWords)(schemaText),bestMatch=null,bestSize=1/0,allElements=root.querySelectorAll("*");for(let el of allElements){if(el===root)continue;let elText=el.textContent||"";if(!elText.includes(searchPhrase))continue;let elWords=(0,utils_1.countWords)(elText);elWords>=schemaWordCount*.8&&elWords<bestSize&&(bestSize=elWords,bestMatch=el)}return bestMatch}findLargestHiddenContentSelector(){let body=this.doc.body;if(!body)return;let candidates=Array.from(body.querySelectorAll(constants_1.HIDDEN_EXACT_SKIP_SELECTOR)).filter(el=>!(el.getAttribute("class")||"").includes("math")),best=null,bestWords=0;for(let el of candidates){let words=(0,utils_1.countWords)(el.textContent||"");words>bestWords&&(best=el,bestWords=words)}if(!(!best||bestWords<30))return this.getElementSelector(best)}_getLargestImageSrc(img){let srcset=img.getAttribute("srcset")||"";if(!srcset)return img.getAttribute("src")||"";let entryPattern=/(.+?)\s+(\d+(?:\.\d+)?)w/g,bestUrl="",bestWidth=0,match,lastIndex=0;for(;(match=entryPattern.exec(srcset))!==null;){let url2=match[1].trim();lastIndex>0&&(url2=url2.replace(/^,\s*/,"")),lastIndex=entryPattern.lastIndex;let width=parseFloat(match[2]);url2&&width>bestWidth&&(bestWidth=width,bestUrl=url2)}let url=bestUrl||img.getAttribute("src")||"";return url=url.replace(/,w_\d+/g,"").replace(/,c_\w+/g,""),url}async parseAsync(){if(this.options.useAsync!==!1){let asyncResult=await this.tryAsyncExtractor(extractor_registry_1.ExtractorRegistry.findPreferredAsyncExtractor.bind(extractor_registry_1.ExtractorRegistry));if(asyncResult)return asyncResult}let result=this.parse();return result.wordCount>0||this.options.useAsync===!1?result:await this.tryAsyncExtractor(extractor_registry_1.ExtractorRegistry.findAsyncExtractor.bind(extractor_registry_1.ExtractorRegistry))??result}async fetchAsyncVariables(){if(this.options.useAsync===!1)return null;try{let url=this.options.url||this.doc.URL,schemaOrgData=this.getSchemaOrgData(),extractorOpts={includeReplies:this.options.includeReplies??"extractors",language:this.options.language,fetch:this.options.fetch},extractor=extractor_registry_1.ExtractorRegistry.findPreferredAsyncExtractor(this.doc,url,schemaOrgData,extractorOpts);if(extractor){let extracted=await extractor.extractAsync();return this.getExtractorVariables(extracted.variables)||null}}catch(error){console.error("Defuddle","Error fetching async variables:",error)}return null}async tryAsyncExtractor(finder){try{let url=this.options.url||this.doc.URL,schemaOrgData=this.getSchemaOrgData(),extractorOpts={includeReplies:this.options.includeReplies??"extractors",language:this.options.language,fetch:this.options.fetch},extractor=finder(this.doc,url,schemaOrgData,extractorOpts);if(extractor){let startTime=Date.now(),extracted=await extractor.extractAsync(),pageMetaTags=this._collectMetaTags(),metadata=metadata_1.MetadataExtractor.extract(this.doc,schemaOrgData,pageMetaTags);return this.buildExtractorResponse(extracted,metadata,startTime,extractor,pageMetaTags)}}catch(error){console.error("Defuddle","Error in async extraction:",error)}return null}parseInternal(overrideOptions={}){let startTime=Date.now(),profile={},doProfile=this.options.profile??!1,profileStep=(name,fn)=>{if(!doProfile)return fn();let t=performance.now(),result=fn();return profile[name]=Math.round(performance.now()-t),result};if(!this.doc.documentElement){let url=this.options.url||"";return{content:"",title:"",description:"",domain:url?new URL(url).hostname:"",favicon:"",image:"",language:"",parseTime:Date.now()-startTime,published:"",author:"",site:"",schemaOrgData:null,wordCount:0}}let options={removeExactSelectors:!0,removePartialSelectors:!0,removeHiddenElements:!0,removeLowScoring:!0,removeSmallImages:!0,removeContentPatterns:!0,standardize:!0,includeReplies:"extractors",...this.options,...overrideOptions},debugRemovals=[],schemaOrgData=this.getSchemaOrgData();this._metaTags||(this._metaTags=this._collectMetaTags());let pageMetaTags=this._metaTags;this._metadata||(this._metadata=metadata_1.MetadataExtractor.extract(this.doc,schemaOrgData,pageMetaTags));let metadata=this._metadata;options.removeImages&&this.removeImages(this.doc);try{let url=options.url||this.doc.URL,extractorOpts={includeReplies:options.includeReplies,language:options.language,fetch:options.fetch};if(!this._inExtractorPipelineRun){let extractor=extractor_registry_1.ExtractorRegistry.findExtractor(this.doc,url,schemaOrgData,extractorOpts);if(extractor&&extractor.canExtract()){let extracted=extractor.extract();if(extracted.contentSelector){this._inExtractorPipelineRun=!0;try{let pipelineResult=this.parseInternal({contentSelector:extracted.contentSelector,removeLowScoring:!1,removeHiddenElements:!1}),variables=this.getExtractorVariables(extracted.variables);return{...pipelineResult,title:extracted.variables?.title||pipelineResult.title,description:extracted.variables?.description||pipelineResult.description,author:extracted.variables?.author||pipelineResult.author,published:extracted.variables?.published||pipelineResult.published,site:extracted.variables?.site||pipelineResult.site,language:extracted.variables?.language||pipelineResult.language,extractorType:extractor.constructor.name.replace("Extractor","").toLowerCase(),...variables?{variables}:{}}}finally{this._inExtractorPipelineRun=!1}}return this.buildExtractorResponse(extracted,metadata,startTime,extractor,pageMetaTags)}}this._mobileStyles||(this._mobileStyles=this._evaluateMediaQueries(this.doc));let mobileStyles=this._mobileStyles;this._smallImages||(this._smallImages=(0,small_images_1.findSmallImages)(this.doc,this.debug));let smallImages=this._smallImages,clone;profileStep("cloneDocument",()=>{clone=this.doc.cloneNode(!0),clone.body?.normalize()}),profileStep("flattenShadowRoots",()=>this.flattenShadowRoots(this.doc,clone)),profileStep("resolveStreamedContent",()=>this.resolveStreamedContent(clone)),profileStep("applyMobileStyles",()=>this.applyMobileStyles(clone,mobileStyles));let mainContent=profileStep("findMainContent",()=>{let found=null;if(options.contentSelector&&(found=clone.querySelector(options.contentSelector),this._log("Using contentSelector:",options.contentSelector,found?"found":"not found")),found||(found=this.findMainContent(clone)),found){let defuddleAncestor=found.closest("[data-defuddle]");defuddleAncestor&&(found=defuddleAncestor)}if(found&&found.tagName.toLowerCase()==="body"){let schemaText=this._getSchemaText(schemaOrgData);if(schemaText){let schemaContent=this._findElementBySchemaText(clone.body,schemaText);schemaContent&&(this._log("Found content element via schema.org text"),found=schemaContent)}}return found});if(!mainContent){let fallbackContent=this._serializeFallbackBody(),endTime2=Date.now();return{content:fallbackContent,...metadata,wordCount:this.countHtmlWords(fallbackContent),parseTime:Math.round(endTime2-startTime),metaTags:pageMetaTags}}profileStep("removeMetadataBlock",()=>{(metadata.published||metadata.author)&&(0,metadata_block_1.removeMetadataBlock)(mainContent),mainContent.querySelectorAll("wbr").forEach(el=>el.remove())}),profileStep("adoptExternalFootnotes",()=>{options.standardize&&this.adoptExternalFootnotes(mainContent,clone)}),profileStep("standardizeFootnotesCallouts",()=>{options.standardize&&((0,footnotes_1.standardizeFootnotes)(mainContent),(0,callouts_1.standardizeCallouts)(mainContent))}),profileStep("removeSmallImages",()=>{options.removeSmallImages&&(0,small_images_1.removeSmallImages)(clone,smallImages,this.debug)}),profileStep("removeHiddenElements",()=>{options.removeHiddenElements&&(0,hidden_1.removeHiddenElements)(clone,this.debug,debugRemovals)}),profileStep("removeEyebrowLabel",()=>{options.removeContentPatterns&&mainContent&&(0,content_patterns_1.removeEyebrowLabel)(mainContent,this.debug,debugRemovals)}),profileStep("removeBySelector",()=>{(options.removeExactSelectors||options.removePartialSelectors)&&(0,selectors_1.removeBySelector)(clone,this.debug,options.removeExactSelectors,options.removePartialSelectors,mainContent,debugRemovals,options.removeHiddenElements===!1)}),profileStep("removeLowScoring",()=>{options.removeLowScoring&&scoring_1.ContentScorer.scoreAndRemove(clone,this.debug,debugRemovals,mainContent)}),profileStep("removeByContentPattern",()=>{if(options.removeContentPatterns&&mainContent){let url2=this.options.url||this.doc.URL||"";(0,content_patterns_1.removeByContentPattern)(mainContent,this.debug,url2,metadata.title||"",metadata.description||"",debugRemovals)}}),profileStep("standardizeContent",()=>{options.standardize&&(0,standardize_1.standardizeContent)(mainContent,metadata,this.doc,this.debug,doProfile?profile:void 0)}),profileStep("resolveRelativeUrls",()=>this.resolveRelativeUrls(mainContent)),this._deduplicateImages(mainContent);let bestCoverUrl=this._removeCoverImage(mainContent,metadata.image||"");bestCoverUrl&&(metadata.image=bestCoverUrl),this._stripUnsafeElements(mainContent);let content=mainContent.outerHTML,endTime=Date.now(),result={content,...metadata,wordCount:this.countHtmlWords(content),parseTime:Math.round(endTime-startTime),metaTags:pageMetaTags};return this.debug&&(result.debug={contentSelector:this.getElementSelector(mainContent),removals:debugRemovals}),this.options.profile&&(result.profile=profile),result}catch(error){console.error("Defuddle","Error processing document:",error);let errorContent=this._serializeFallbackBody(),endTime=Date.now();return{content:errorContent,...metadata,wordCount:this.countHtmlWords(errorContent),parseTime:Math.round(endTime-startTime),metaTags:pageMetaTags}}}countHtmlWords(content){let text=content.replace(/<[^>]*>/g," ").replace(/&nbsp;/gi," ").replace(/&amp;/gi,"&").replace(/&lt;/gi,"<").replace(/&gt;/gi,">").replace(/&quot;/gi,'"').replace(/&#\d+;/g," ").replace(/&\w+;/g," ");return(0,utils_1.countWords)(text)}_log(...args){this.debug&&console.log("Defuddle:",...args)}_evaluateMediaQueries(doc){let mobileStyles=[],maxWidthRegex=/max-width[^:]*:\s*(\d+)/;try{if(!doc.styleSheets)return mobileStyles;Array.from(doc.styleSheets).filter(sheet=>{try{return sheet.cssRules,!0}catch(e){return e instanceof DOMException&&e.name==="SecurityError",!1}}).flatMap(sheet=>{try{return typeof CSSMediaRule>"u"?[]:Array.from(sheet.cssRules).filter(rule=>rule instanceof CSSMediaRule&&rule.conditionText.includes("max-width"))}catch(e){return this.debug&&console.warn("Defuddle: Failed to process stylesheet:",e),[]}}).forEach(rule=>{let match=rule.conditionText.match(maxWidthRegex);if(match){let maxWidth=parseInt(match[1]);constants_1.MOBILE_WIDTH<=maxWidth&&Array.from(rule.cssRules).filter(r=>r instanceof CSSStyleRule).forEach(cssRule=>{try{mobileStyles.push({selector:cssRule.selectorText,styles:cssRule.style.cssText})}catch(e){this.debug&&console.warn("Defuddle: Failed to process CSS rule:",e)}})}})}catch(e){console.error("Defuddle: Error evaluating media queries:",e)}return mobileStyles}applyMobileStyles(doc,mobileStyles){let appliedCount=0;mobileStyles.forEach(({selector,styles})=>{try{doc.querySelectorAll(selector).forEach(element=>{element.setAttribute("style",(element.getAttribute("style")||"")+styles),appliedCount++})}catch(e){console.error("Defuddle","Error applying styles for selector:",selector,e)}})}removeImages(doc){let images=doc.getElementsByTagName("img");Array.from(images).forEach(image=>{image.remove()})}findMainContent(doc){let candidates=[];if(constants_1.ENTRY_POINT_ELEMENTS.forEach((selector,index)=>{doc.querySelectorAll(selector).forEach(element=>{let score=(constants_1.ENTRY_POINT_ELEMENTS.length-index)*40;score+=scoring_1.ContentScorer.scoreElement(element),candidates.push({element,score,selectorIndex:index})})}),candidates.length===0)return this.findContentByScoring(doc);if(candidates.sort((a,b)=>b.score-a.score),this.debug&&this._log("Content candidates:",candidates.map(c=>({element:c.element.tagName,selector:this.getElementSelector(c.element),score:c.score}))),candidates.length===1&&candidates[0].element.tagName.toLowerCase()==="body"){let tableContent=this.findTableBasedContent(doc);if(tableContent)return tableContent}let top=candidates[0],best=top;for(let i=1;i<candidates.length;i++){let child=candidates[i],childWords=(0,utils_1.countWords)(child.element.textContent||"");if(child.selectorIndex<best.selectorIndex&&best.element.contains(child.element)&&childWords>50){let siblingsAtIndex=0;for(let c of candidates)if(c.selectorIndex===child.selectorIndex&&top.element.contains(c.element)&&++siblingsAtIndex>1)break;if(siblingsAtIndex>1)continue;best=child}}return best!==top?best.element:top.element}findTableBasedContent(doc){if(!Array.from(doc.getElementsByTagName("table")).some(table=>{let width=parseInt(table.getAttribute("width")||"0"),style=this.getComputedStyle(table),tableClass=(0,dom_1.getClassName)(table).toLowerCase();return width>400||style?.width?.includes("px")&&parseInt(style.width)>400||table.getAttribute("align")==="center"||tableClass.includes("content")||tableClass.includes("article")||Array.from(table.getElementsByTagName("tr")).some(row=>{let cells2=Array.from(row.children).filter(c=>c.tagName==="TD");return cells2.length>=2&&cells2.some(c=>c.getAttribute("width"))})}))return null;let cells=Array.from(doc.getElementsByTagName("td")),bestCell=scoring_1.ContentScorer.findBestElement(cells);if(!bestCell)return null;let bestCellWords=(0,utils_1.countWords)(bestCell.textContent||""),bodyWords=(0,utils_1.countWords)((doc.body||doc.documentElement).textContent||"");return bestCellWords*2<bodyWords?null:bestCell}findContentByScoring(doc){let candidates=[];return doc.querySelectorAll(constants_1.BLOCK_ELEMENTS_SELECTOR).forEach(element=>{let score=scoring_1.ContentScorer.scoreElement(element);score>0&&candidates.push({score,element})}),candidates.length>0?candidates.sort((a,b)=>b.score-a.score)[0].element:null}getElementSelector(element){let parts=[],current=element;for(;current&&current!==this.doc.documentElement;){let selector=current.tagName.toLowerCase();if(current.id)selector+="#"+current.id;else if((0,dom_1.getClassName)(current)){let safe=(0,dom_1.getClassName)(current).trim().split(/\s+/).filter(cls=>!UNSAFE_CSS_CLASS_RE.test(cls));safe.length&&(selector+="."+safe.join("."))}parts.unshift(selector),current=current.parentElement}return parts.join(" > ")}getComputedStyle(element){return(0,utils_1.getComputedStyle)(element)}adoptExternalFootnotes(mainContent,root){let body=root.body||root;!body||mainContent===body||body.querySelectorAll("div, section, aside").forEach(el=>{let className=(0,dom_1.getClassName)(el),id=el.id||"";if(!/footnote/i.test(className)&&!/footnote/i.test(id)||mainContent.contains(el)||el.contains(mainContent))return;let heading=el.querySelector("h1, h2, h3, h4, h5, h6");!heading||!footnotes_1.FOOTNOTE_SECTION_RE.test(heading.textContent?.trim()||"")||mainContent.appendChild(el)})}resolveRelativeUrls(element){let docUrl=this.options.url||this.doc.URL;if(!docUrl)return;let baseUrl=docUrl,baseEl=this.doc.querySelector("base[href]");if(baseEl){let baseHref=baseEl.getAttribute("href");if(baseHref)try{baseUrl=new URL(baseHref,docUrl).href}catch{}}let resolve=url=>{let normalized=url.trim().replace(/^\\?["']+/,"").replace(/\\?["']+$/,"");if(normalized.startsWith("#"))return normalized;try{return new URL(normalized,baseUrl).href}catch{return normalized||url}};element.querySelectorAll("[href]").forEach(el=>{let href=el.getAttribute("href");href&&el.setAttribute("href",resolve(href))}),element.querySelectorAll("[src]").forEach(el=>{let src=el.getAttribute("src");src&&el.setAttribute("src",resolve(src))}),element.querySelectorAll("[srcset]").forEach(el=>{let srcset=el.getAttribute("srcset");if(srcset){let entryPattern=/(.+?)\s+(\d+(?:\.\d+)?[wx])/g,entries=[],match,lastIdx=0;for(;(match=entryPattern.exec(srcset))!==null;){let url=match[1].trim();lastIdx>0&&(url=url.replace(/^,\s*/,"")),lastIdx=entryPattern.lastIndex,entries.push(`${resolve(url)} ${match[2]}`)}if(entries.length>0)el.setAttribute("srcset",entries.join(", "));else{let resolved=srcset.split(",").map(entry=>{let parts=entry.trim().split(/\s+/);return parts[0]&&(parts[0]=resolve(parts[0])),parts.join(" ")}).join(", ");el.setAttribute("srcset",resolved)}}}),element.querySelectorAll("[poster]").forEach(el=>{let poster=el.getAttribute("poster");poster&&el.setAttribute("poster",resolve(poster))})}flattenShadowRoots(original,clone){if(!original.body||!clone.body)return;let origElements=Array.from(original.body.querySelectorAll("*")),firstShadow=origElements.find(el=>el.shadowRoot);if(!firstShadow)return;let cloneElements=Array.from(clone.body.querySelectorAll("*"));if((firstShadow.shadowRoot?.childNodes?.length??0)>0)for(let i=origElements.length-1;i>=0;i--){let origEl=origElements[i];if(!origEl.shadowRoot)continue;let cloneEl=cloneElements[i];if(!cloneEl)continue;let shadowHtml=origEl.shadowRoot.innerHTML;shadowHtml.length>0&&this.replaceShadowHost(cloneEl,shadowHtml,clone)}else{let shadowData=[];for(let i=0;i<origElements.length;i++){let origEl=origElements[i],shadowHtml=origEl.getAttribute("data-defuddle-shadow");if(!shadowHtml)continue;let cloneEl=cloneElements[i];cloneEl&&(shadowData.push({cloneEl,html:shadowHtml}),origEl.removeAttribute("data-defuddle-shadow"),cloneEl.removeAttribute("data-defuddle-shadow"))}for(let{cloneEl,html}of shadowData)this.replaceShadowHost(cloneEl,html,clone)}}resolveStreamedContent(doc){let scripts=doc.querySelectorAll("script"),swaps=[],rcPattern=/\$RC\("(B:\d+)","(S:\d+)"\)/g;for(let script of scripts){let text=script.textContent||"";if(!text.includes("$RC("))continue;rcPattern.lastIndex=0;let match;for(;(match=rcPattern.exec(text))!==null;)swaps.push({templateId:match[1],contentId:match[2]})}if(swaps.length===0)return;let swapCount=0;for(let{templateId,contentId}of swaps){let template=doc.getElementById(templateId),content=doc.getElementById(contentId);if(!template||!content)continue;let parent=template.parentNode;if(!parent)continue;let next=template.nextSibling,foundMarker=!1;for(;next;){let following=next.nextSibling;if(next.nodeType===8&&next.data==="/$"){next.remove(),foundMarker=!0;break}next.remove(),next=following}if(foundMarker){for(;content.firstChild;)parent.insertBefore(content.firstChild,template);template.remove(),content.remove(),swapCount++}}swapCount>0&&this._log("Resolved streamed content:",swapCount,"suspense boundaries")}replaceShadowHost(el,shadowHtml,doc){let fragment=(0,dom_1.parseHTML)(doc,shadowHtml);if(el.tagName.includes("-")){let div=doc.createElement("div");div.appendChild(fragment),el.parentNode?.replaceChild(div,el)}else el.textContent="",el.appendChild(fragment)}resolveContentUrls(html){if(!(this.options.url||this.doc.URL))return html;let container=this.doc.createElement("div");return container.appendChild((0,dom_1.parseHTML)(this.doc,html)),this.resolveRelativeUrls(container),(0,dom_1.serializeHTML)(container)}_extractSchemaOrgData(doc){let schemaScripts=doc.querySelectorAll('script[type="application/ld+json"]'),rawSchemaItems=[];schemaScripts.forEach(script=>{let jsonContent=script.textContent||"";try{jsonContent=jsonContent.replace(/\/\*[\s\S]*?\*\/|^\s*\/\/.*$/gm,"").replace(/^\s*<!\[CDATA\[([\s\S]*?)\]\]>\s*$/,"$1").replace(/^\s*(\*\/|\/\*)\s*|\s*(\*\/|\/\*)\s*$/g,"").trim();let jsonData=JSON.parse(jsonContent);jsonData["@graph"]&&Array.isArray(jsonData["@graph"])?rawSchemaItems.push(...jsonData["@graph"]):rawSchemaItems.push(jsonData)}catch(error){console.error("Defuddle: Error parsing schema.org data:",error),this.debug&&console.error("Defuddle: Problematic JSON content:",jsonContent)}});let decodeStringsInObject=item=>{if(typeof item=="string")return this._decodeHTMLEntities(item);if(Array.isArray(item))return item.map(decodeStringsInObject);if(typeof item=="object"&&item!==null){let newItem={};for(let key in item)Object.prototype.hasOwnProperty.call(item,key)&&(newItem[key]=decodeStringsInObject(item[key]));return newItem}return item};return rawSchemaItems.map(decodeStringsInObject)}_collectMetaTags(){let pageMetaTags=[];return this.doc.querySelectorAll("meta").forEach(meta=>{let name=meta.getAttribute("name"),property=meta.getAttribute("property"),content=meta.getAttribute("content");content&&pageMetaTags.push({name,property,content:this._decodeHTMLEntities(content)})}),pageMetaTags}_decodeHTMLEntities(text){return(0,dom_1.decodeHTMLEntities)(this.doc,text)}buildExtractorResponse(extracted,metadata,startTime,extractor,pageMetaTags){let contentHtml=this._sanitizeExtractorHtml(extracted.contentHtml),variables=this.getExtractorVariables(extracted.variables);return{content:contentHtml,title:extracted.variables?.title||metadata.title,description:extracted.variables?.description||metadata.description,domain:metadata.domain,favicon:metadata.favicon,image:metadata.image,language:extracted.variables?.language||metadata.language,published:extracted.variables?.published||metadata.published,author:extracted.variables?.author||metadata.author,site:extracted.variables?.site||metadata.site,schemaOrgData:metadata.schemaOrgData,wordCount:this.countHtmlWords(contentHtml),parseTime:Math.round(Date.now()-startTime),extractorType:extractor.constructor.name.replace("Extractor","").toLowerCase(),metaTags:pageMetaTags,...variables?{variables}:{}}}_sanitizeExtractorHtml(html){if(!html)return html;let container=this.doc.createElement("div");return container.appendChild((0,dom_1.parseHTML)(this.doc,html)),this._stripUnsafeElements(container),this.resolveRelativeUrls(container),(0,standardize_1.standardizeExtractorOutput)(container,this.debug),(0,dom_1.serializeHTML)(container)}getExtractorVariables(variables){if(!variables)return;let custom={},hasCustom=!1;for(let[key,value]of Object.entries(variables))STANDARD_VARIABLE_KEYS.has(key)||(custom[key]=value,hasCustom=!0);return hasCustom?custom:void 0}};exports.Defuddle=Defuddle;Defuddle._urlWidthPattern=/(?:width[=:/]|[/,?&]w[_:=])(\d+)/}});var require_markdown=__commonJS({"node_modules/defuddle/dist/markdown.js"(exports){"use strict";var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.isGenericElement=isGenericElement;exports.asGenericElement=asGenericElement;exports.createMarkdownContent=createMarkdownContent;exports.toMarkdown=toMarkdown;var turndown_1=__importDefault(require_turndown_cjs()),utils_1=require_utils(),dom_1=require_dom();function isGenericElement(node){return node!==null&&typeof node=="object"&&"getAttribute"in node}function asGenericElement(node){return node}var WIDTH_DESCRIPTOR_RE=/^(\d+)w,?$/,DENSITY_DESCRIPTOR_RE=/^\d+(?:\.\d+)?x,?$/,MATHML_NODE_NAMES=new Set(["annotation","maction","math","menclose","merror","mfenced","mfrac","mi","mmultiscripts","mn","mo","mover","mpadded","mphantom","mprescripts","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msubsup","msup","mtable","mtd","mtext","mtr","munder","munderover","none","semantics"]),COMPLEX_MATHML_NODE_NAMES=new Set(["menclose","mfrac","mmultiscripts","mover","mroot","msqrt","msub","msubsup","msup","mtable","mtd","mtr","munder","munderover"]);function formatMarkdownLinkDestination(href){return/\s/.test(href)?`<${href.replace(/>/g,"\\>")}>`:href.replace(/([()])/g,"\\$1")}function formatMarkdownLinkTitle(title){return title?` "${title.replace(/(\n+\s*)+/g,`
210
+ `).replace(/"/g,'\\"')}"`:""}function getBestImageSrc(node){let srcset=node.getAttribute("srcset");if(srcset){let bestUrl="",bestWidth=0,tokens=srcset.trim().split(/\s+/),urlParts=[];for(let token of tokens){let widthMatch=token.match(WIDTH_DESCRIPTOR_RE);if(widthMatch){let width=parseInt(widthMatch[1],10);if(urlParts.length>0&&width>bestWidth){let url=urlParts.join(" ").replace(/^,\s*/,"");url&&(bestWidth=width,bestUrl=url)}urlParts=[]}else DENSITY_DESCRIPTOR_RE.test(token)?urlParts=[]:urlParts.push(token)}if(bestUrl)return bestUrl}return node.getAttribute("src")||""}var BLANK_QUOTE_LINE_RUN=/^([ \t]*>[ \t>]*)(?:\n[ \t]*>[ \t>]*)+$/gm;function createMarkdownContent(content,url){let footnotes={},turndownService=new turndown_1.default({headingStyle:"atx",hr:"---",bulletListMarker:"-",codeBlockStyle:"fenced",emDelimiter:"*",preformattedCode:!0}),baseEscape=turndownService.escape.bind(turndownService);turndownService.escape=s=>baseEscape(s).replace(/<(?=\/?[A-Za-z][A-Za-z0-9-]*(?:\s|\/?>))/g,"\\<"),turndownService.addRule("table",{filter:"table",replacement:function(content2,node){if(!isGenericElement(node))return content2;if(node.classList?.contains("ltx_equation")||node.classList?.contains("ltx_eqn_table")||node.classList?.contains("numblk"))return handleNestedEquations(node);let hasNestedTables=Array.from(node.querySelectorAll("table")).some(t=>t!==node),directCells=Array.from(node.querySelectorAll("td, th")).filter(el=>(0,dom_1.isDirectTableChild)(el,node));if(hasNestedTables||directCells.length<=1){let directRows=Array.from(node.querySelectorAll("tr")).filter(el=>(0,dom_1.isDirectTableChild)(el,node)),cellCounts=directRows.map(tr=>directCells.filter(cell=>cell.parentNode===tr).length);if(directRows.length>0&&new Set(cellCounts).size===1&&cellCounts[0]<=1||hasNestedTables)return`
211
+
212
+ `+turndownService.turndown(directCells.map(cell=>(0,dom_1.serializeHTML)(cell)).join(""))+`
213
+
214
+ `}if(Array.from(node.querySelectorAll("td, th")).some(cell=>isGenericElement(cell)&&(cell.hasAttribute("colspan")||cell.hasAttribute("rowspan"))))return`
215
+
216
+ `+cleanupTableHTML(node)+`
217
+
218
+ `;let tableEl=node,rows=(tableEl.rows&&tableEl.rows.length>0?Array.from(tableEl.rows):Array.from(node.querySelectorAll("tr")).filter(tr=>(0,dom_1.isDirectTableChild)(tr,node))).map(row=>(row.cells&&row.cells.length>0?Array.from(row.cells):Array.from(row.querySelectorAll("td, th")).filter(cell=>cell.parentNode===row)).map(cell=>{let cellContent=turndownService.turndown((0,dom_1.serializeHTML)(cell)).replace(/\n/g," ").trim();return cellContent=cellContent.replace(/\|/g,"\\|"),cellContent}));if(!rows.length)return content2;let columnCount=Math.max(...rows.map(r=>r.length));if(columnCount===0)return content2;let formatRow=cells2=>`| ${(cells2.length<columnCount?[...cells2,...Array(columnCount-cells2.length).fill("")]:cells2).join(" | ")} |`,separatorRow=`| ${Array(columnCount).fill("---").join(" | ")} |`;return`
219
+
220
+ ${[formatRow(rows[0]),separatorRow,...rows.slice(1).map(formatRow)].join(`
221
+ `)}
222
+
223
+ `}}),turndownService.remove(["style","script"]),turndownService.keep(["iframe","video","audio","sup","sub","svg","math"]),turndownService.addRule("button",{filter:"button",replacement:content2=>content2}),turndownService.addRule("list",{filter:["ul","ol"],replacement:function(content2,node){content2=content2.trim();let element=node;return(!(element.parentNode&&(element.parentNode.nodeName==="UL"||element.parentNode.nodeName==="OL"))?`
224
+ `:"")+content2+`
225
+ `}}),turndownService.addRule("listItem",{filter:"li",replacement:function(content2,node,options){if(!isGenericElement(node))return content2;let isTaskListItem=node.classList?.contains("task-list-item"),checkbox=node.querySelector('input[type="checkbox"]'),taskListMarker="";isTaskListItem&&checkbox&&isGenericElement(checkbox)&&(content2=content2.replace(/<input[^>]*>/,""),taskListMarker=checkbox.getAttribute("checked")?"[x] ":"[ ] "),content2=content2.replace(/\n+$/,"").split(`
226
+ `).filter(line=>line.length>0).join(`
227
+ `);let prefix=options.bulletListMarker+" ",parent=node.parentNode,level=0,currentParent=node.parentNode;for(;currentParent&&isGenericElement(currentParent);){if(currentParent.nodeName==="UL"||currentParent.nodeName==="OL")level++;else if(currentParent.nodeName!=="LI")break;currentParent=currentParent.parentNode}let indentLevel=Math.max(0,level-1);if(prefix=" ".repeat(indentLevel)+prefix,parent&&isGenericElement(parent)&&parent.nodeName==="OL"){let start=parent.getAttribute("start"),index=1,children=Array.from(parent.children||[]);for(let i=0;i<children.length;i++)if(children[i]===node){index=i+1;break}prefix=" ".repeat(level-1)+(start?Number(start)+index-1:index)+". "}return prefix+taskListMarker+content2.trim()+(node.nextSibling&&!/\n$/.test(content2)?`
228
+ `:"")}}),turndownService.addRule("figure",{filter:"figure",replacement:function(content2,node){if(!isGenericElement(node))return content2;let img=node.querySelector("img"),figcaption=node.querySelector("figcaption");if(!img||!isGenericElement(img)||Array.from(node.querySelectorAll("p")).some(p=>{let ancestor=p.parentNode;for(;ancestor&&ancestor!==node;){if(ancestor.nodeName==="FIGCAPTION")return!1;ancestor=ancestor.parentNode}return!0}))return content2;let alt=img.getAttribute("alt")||"",src=getBestImageSrc(img),caption="";if(figcaption&&isGenericElement(figcaption)){let tagSpan=figcaption.querySelector(".ltx_tag_figure"),tagText=tagSpan&&isGenericElement(tagSpan)?tagSpan.textContent?.trim():"",captionContent=(0,dom_1.serializeHTML)(figcaption),ownerDoc=node.ownerDocument;captionContent=captionContent.replace(/<math.*?>(.*?)<\/math>/g,(match,mathContent,offset,string)=>{let latex="";if(ownerDoc){let mathElement=(0,dom_1.parseHTML)(ownerDoc,match).querySelector("math");latex=mathElement&&isGenericElement(mathElement)?extractLatex(mathElement):""}let prevChar=string[offset-1]||"",nextChar=string[offset+match.length]||"",isStartOfLine=offset===0||/\s/.test(prevChar),isEndOfLine=offset+match.length===string.length||/\s/.test(nextChar),leftSpace=!isStartOfLine&&!/[\s$]/.test(prevChar)?" ":"",rightSpace=!isEndOfLine&&!/[\s$]/.test(nextChar)?" ":"";return`${leftSpace}$${latex}$${rightSpace}`});let captionMarkdown=turndownService.turndown(captionContent);caption=`${tagText} ${captionMarkdown}`.trim()}return caption=caption.replace(/\[([^\]]+)\]\(([^)]+)\)/g,(match,text,href)=>`[${text}](${href})`),`![${alt}](${src})
229
+
230
+ ${caption}
231
+
232
+ `}}),turndownService.addRule("image",{filter:"img",replacement:function(content2,node){if(!isGenericElement(node))return content2;let alt=node.getAttribute("alt")||"",src=getBestImageSrc(node),title=node.getAttribute("title")||"",titlePart=title?` "${title}"`:"";return src?`![${alt}](${src}${titlePart})`:""}}),turndownService.addRule("embedToMarkdown",{filter:function(node){if(!isGenericElement(node))return!1;let src=node.getAttribute("src");return!!src&&(!!src.match(/(?:youtube\.com|youtube-nocookie\.com|youtu\.be)/)||!!src.match(/(?:twitter\.com|x\.com)/))},replacement:function(content2,node){if(!isGenericElement(node))return content2;let src=node.getAttribute("src");if(src){let youtubeMatch=src.match(/(?:https?:\/\/)?(?:www\.)?(?:youtube\.com|youtube-nocookie\.com|youtu\.be)\/(?:embed\/|watch\?v=)?([a-zA-Z0-9_-]+)/);if(youtubeMatch&&youtubeMatch[1])return`
233
+ ![](https://www.youtube.com/watch?v=${youtubeMatch[1]})
234
+ `;let tweetDirectMatch=src.match(/(?:https?:\/\/)?(?:www\.)?(?:twitter\.com|x\.com)\/([^/]+)\/status\/([0-9]+)/);if(tweetDirectMatch)return`
235
+ ![](https://x.com/${tweetDirectMatch[1]}/status/${tweetDirectMatch[2]})
236
+ `;let tweetEmbedMatch=src.match(/(?:https?:\/\/)?(?:platform\.)?twitter\.com\/embed\/Tweet\.html\?.*?id=([0-9]+)/);if(tweetEmbedMatch)return`
237
+ ![](https://x.com/i/status/${tweetEmbedMatch[1]})
238
+ `}return content2}}),turndownService.addRule("highlight",{filter:"mark",replacement:function(content2){return"=="+content2+"=="}}),turndownService.addRule("strikethrough",{filter:node=>node.nodeName==="DEL"||node.nodeName==="S"||node.nodeName==="STRIKE",replacement:function(content2){return"~~"+content2+"~~"}}),turndownService.addRule("link",{filter:"a",replacement:function(content2,node){if(!isGenericElement(node))return content2;let href=node.getAttribute("href");if(!href)return content2;let title=formatMarkdownLinkTitle(node.getAttribute("title")),destination=formatMarkdownLinkDestination(href);return`[${content2}](${destination}${title})`}}),turndownService.addRule("complexLinkStructure",{filter:function(node,options){return node.nodeName==="A"&&node.childNodes.length>1&&Array.from(node.childNodes).some(child=>["H1","H2","H3","H4","H5","H6"].includes(child.nodeName))},replacement:function(content2,node,options){if(!isGenericElement(node))return content2;let href=node.getAttribute("href"),title=node.getAttribute("title"),headingNode=node.querySelector("h1, h2, h3, h4, h5, h6"),headingContent=headingNode?turndownService.turndown(headingNode.outerHTML):"";headingNode&&headingNode.remove();let remainingContent=turndownService.turndown((0,dom_1.serializeHTML)(node)),markdown=`${headingContent}
239
+
240
+ ${remainingContent}
241
+
242
+ `;return href&&(markdown+=`[View original](${formatMarkdownLinkDestination(href)}${formatMarkdownLinkTitle(title)})`),markdown}}),turndownService.addRule("arXivEnumerate",{filter:node=>node.nodeName==="OL"&&isGenericElement(node)&&(node.classList?.contains("ltx_enumerate")??!1),replacement:function(content2,node){return isGenericElement(node)?`
243
+
244
+ `+Array.from(node.children||[]).map((item,index)=>{if(isGenericElement(item)){let itemContent=((0,dom_1.serializeHTML)(item)||"").replace(/^<span class="ltx_tag ltx_tag_item">\d+\.<\/span>\s*/,"");return`${index+1}. ${turndownService.turndown(itemContent)}`}return""}).join(`
245
+
246
+ `)+`
247
+
248
+ `:content2}}),turndownService.addRule("citations",{filter:node=>{if(isGenericElement(node)){let id=node.getAttribute("id");return node.nodeName==="SUP"&&id!==null&&id.startsWith("fnref:")}return!1},replacement:(content2,node)=>{if(isGenericElement(node)){let id=node.getAttribute("id");if(node.nodeName==="SUP"&&id!==null&&id.startsWith("fnref:"))return`[^${id.replace("fnref:","").split("-")[0]}]`}return content2}}),turndownService.addRule("footnotesList",{filter:node=>{if(isGenericElement(node)){let parentNode=node.parentNode;return node.nodeName==="OL"&&parentNode!==null&&isGenericElement(parentNode)&&parentNode.getAttribute("id")==="footnotes"}return!1},replacement:(content2,node)=>isGenericElement(node)?`
249
+
250
+ `+Array.from(node.children||[]).map(li=>{let id;if(isGenericElement(li)){let liId=li.getAttribute("id");if(liId!==null)if(liId.startsWith("fn:"))id=liId.replace("fn:","");else{let match=liId.split("/").pop()?.match(/cite_note-(.+)/);id=match?match[1]:liId}let supElement=li.querySelector("sup");supElement&&isGenericElement(supElement)&&supElement.textContent?.trim()===id&&supElement.remove();let cleanedContent=turndownService.turndown((0,dom_1.serializeHTML)(li)).replace(/\s*↩︎$/,"").trim();return`[^${id?.toLowerCase()}]: ${cleanedContent}`}return""}).join(`
251
+
252
+ `)+`
253
+
254
+ `:content2}),turndownService.addRule("removals",{filter:function(node){return isGenericElement(node)?!!(node.getAttribute("href")?.includes("#fnref")||node.classList?.contains("footnote-backref")):!1},replacement:function(content2,node){return""}}),turndownService.addRule("handleTextNodesInTables",{filter:function(node){return(0,utils_1.isTextNode)(node)&&node.parentNode!==null&&node.parentNode.nodeName==="TD"},replacement:function(content2){return content2}}),turndownService.addRule("preformattedCode",{filter:node=>node.nodeName==="PRE",replacement:(content2,node)=>{if(!isGenericElement(node))return content2;let codeElement=node.querySelector("code");if(!codeElement||!isGenericElement(codeElement))return content2;let language=codeElement.getAttribute("data-lang")||codeElement.getAttribute("data-language")||codeElement.getAttribute("class")?.match(/language-(\w+)/)?.[1]||node.getAttribute("data-language")||"",cleanCode=(codeElement.textContent||"").trim().replace(/`/g,"\\`");return`
255
+ \`\`\`${language}
256
+ ${cleanCode}
257
+ \`\`\`
258
+ `}}),turndownService.addRule("math",{filter:node=>node.nodeName.toLowerCase()==="math"||isGenericElement(node)&&(node.classList?.contains("mwe-math-element")||node.classList?.contains("mwe-math-fallback-image-inline")||node.classList?.contains("mwe-math-fallback-image-display")),replacement:(content2,node)=>{if(!isGenericElement(node))return content2;let latex=extractLatex(node);if(latex=latex.trim(),!(typeof node.closest=="function"?node.closest("table")!==null:!1)&&(node.getAttribute("display")==="block"||node.classList?.contains("mwe-math-fallback-image-display")||isOnlyMathInParagraph(node)||node.parentNode&&isGenericElement(node.parentNode)&&node.parentNode.classList?.contains("mwe-math-element")&&node.parentNode.previousSibling&&isGenericElement(node.parentNode.previousSibling)&&node.parentNode.previousSibling.nodeName.toLowerCase()==="p"))return latex=formatBlockLatex(latex),`
259
+ $$
260
+ ${latex}
261
+ $$
262
+ `;{let prevNode=node.previousSibling,nextNode=node.nextSibling,prevChar=prevNode&&isGenericElement(prevNode)&&prevNode.textContent?.slice(-1)||"",nextChar=nextNode&&isGenericElement(nextNode)&&nextNode.textContent?.[0]||"",isStartOfLine=!prevNode||(0,utils_1.isTextNode)(prevNode)&&prevNode.textContent?.trim()==="",isEndOfLine=!nextNode||(0,utils_1.isTextNode)(nextNode)&&nextNode.textContent?.trim()==="",leftSpace=!isStartOfLine&&prevChar&&!/[\s$]/.test(prevChar)?" ":"",rightSpace=!isEndOfLine&&nextChar&&!/[\s$]/.test(nextChar)?" ":"";return`${leftSpace}$${latex}$${rightSpace}`}}}),turndownService.addRule("katex",{filter:node=>isGenericElement(node)&&(node.classList?.contains("math")||node.classList?.contains("katex")),replacement:(content2,node)=>{if(!isGenericElement(node))return content2;let latex=node.getAttribute("data-latex");if(!latex){let mathml=node.querySelector('.katex-mathml annotation[encoding="application/x-tex"]');latex=mathml&&isGenericElement(mathml)&&mathml.textContent||""}latex||(latex=node.textContent?.trim()||"");let mathElement=node.querySelector(".katex-mathml math");return node.classList?.contains("math-inline")||mathElement&&isGenericElement(mathElement)&&mathElement.getAttribute("display")!=="block"?`$${latex}$`:`
263
+ $$
264
+ ${latex}
265
+ $$
266
+ `}}),turndownService.addRule("callout",{filter:node=>isGenericElement(node)&&!!node.getAttribute("data-callout")&&node.classList?.contains("callout"),replacement:(content2,node)=>{if(!isGenericElement(node))return content2;let type=node.getAttribute("data-callout")||"note",fold=node.getAttribute("data-callout-fold"),foldIndicator=fold==="-"||fold==="+"?fold:"",title=node.querySelector(".callout-title-inner")?.textContent?.trim()||type.charAt(0).toUpperCase()+type.slice(1),titleDiv=node.querySelector(".callout-title");titleDiv&&titleDiv.remove();let contentEl=node.querySelector(".callout-content"),quotedContent=(contentEl?turndownService.turndown(contentEl.innerHTML):turndownService.turndown(node.innerHTML)).trim().split(`
267
+ `).map(line=>`> ${line}`).join(`
268
+ `);return`
269
+
270
+ > [!${type}]${foldIndicator} ${title}
271
+ ${quotedContent}
272
+
273
+ `}});function handleNestedEquations(element){let mathElements=element.querySelectorAll("math");return mathElements.length===0?"":Array.from(mathElements).map(mathElement=>{let latex=mathElement.querySelector('annotation[encoding="application/x-tex"]')?.textContent?.trim()||mathElement.getAttribute("alttext")?.trim();return latex?mathElement.closest(".ltx_eqn_inline, .mwe-math-element-inline")!==null?`$${latex}$`:`
274
+ $$
275
+ ${latex}
276
+ $$`:""}).join(`
277
+
278
+ `)}function cleanupTableHTML(element){let allowedAttributes=["src","href","style","align","width","height","rowspan","colspan","bgcolor","scope","valign","headers"],cleanElement=element2=>{Array.from(element2.attributes).forEach(attr=>{allowedAttributes.includes(attr.name)||element2.removeAttribute(attr.name)}),element2.childNodes.forEach(child=>{(0,utils_1.isElement)(child)&&cleanElement(child)})},tableClone=element.cloneNode(!0);return cleanElement(tableClone),tableClone.outerHTML.replace(/&amp;/g,"&").replace(/&lt;/g,"<").replace(/&gt;/g,">")}function extractLatex(element){let annotation=element.querySelector('annotation[encoding="application/x-tex"]');if(annotation?.textContent?.trim())return annotation.textContent.trim();let latex=element.getAttribute("data-latex"),alttext=element.getAttribute("alttext"),hasMathML=hasMathMLChildren(element),hasComplexMathML=hasComplexMathMLChildren(element);if(latex&&(!hasMathML||isTrustworthyLatexAttribute(latex,hasComplexMathML)))return latex.trim();if(alttext&&(!hasMathML||isTrustworthyLatexAttribute(alttext,hasComplexMathML)))return alttext.trim();if(element.nodeName.toLowerCase()==="math"&&hasMathML){let converted=convertMathMLToLatex(element);if(converted)return converted}return latex?latex.trim():alttext?alttext.trim():""}function hasMathMLChildren(element){return Array.from(element.children||[]).some(child=>child.namespaceURI==="http://www.w3.org/1998/Math/MathML"||MATHML_NODE_NAMES.has(child.nodeName.toLowerCase()))}function hasComplexMathMLChildren(element){let visit=node=>COMPLEX_MATHML_NODE_NAMES.has(node.nodeName.toLowerCase())?!0:Array.from(node.children||[]).some(child=>visit(child));return visit(element)}function convertMathMLToLatex(element){try{let{MathMLToLaTeX}=require_dist(),mathML=(element.outerHTML||`<math>${element.innerHTML}</math>`).replace(/&amp;nbsp;/g,"&#xA0;").replace(/&nbsp;/g,"&#xA0;");return MathMLToLaTeX.convert(mathML).trim()}catch{}return""}function isLikelyLatexSource(value){return/\\[a-zA-Z]+|[_^{}]|[$&]|\\\\|\\begin\{/.test(value)}function isTrustworthyLatexAttribute(value,hasComplexMathML){if(isLikelyLatexSource(value))return!0;let trimmed=value.trim();return!trimmed||hasComplexMathML?!1:!/[a-zA-Z]{3,}-[a-zA-Z]{2,}/.test(trimmed)}function hasLatexEnvironment(value){return/\\begin\{[^}]+\}/.test(value)}function formatBlockLatex(value){let latex=value.trim();if(!latex)return latex;let bareMatrix=latex.match(/^\\begin\{matrix\}([\s\S]*?)\\end\{matrix\}$/);return bareMatrix&&!hasLatexEnvironment(bareMatrix[1])?`\\begin{aligned}
279
+ ${bareMatrix[1].trim()}
280
+ \\end{aligned}`:hasLatexEnvironment(latex)?latex:latex.includes("\\\\")||latex.includes("&")?`\\begin{aligned}
281
+ ${latex}
282
+ \\end{aligned}`:latex}function isOnlyMathInParagraph(element){let parent=element.parentNode;if(!parent||!isGenericElement(parent)||parent.nodeName.toLowerCase()!=="p")return!1;let elementChildren=Array.from(parent.children||[]);if(elementChildren.length!==1||elementChildren[0]!==element)return!1;let currentNode=element;return Array.from(parent.childNodes||[]).every(child=>child===currentNode||(0,utils_1.isTextNode)(child)&&child.textContent?.trim()==="")}try{content=content.replace(/<wbr\s*\/?>/gi,"");let markdown=turndownService.turndown(content),titleMatch=markdown.match(/^# .+\n+/);if(titleMatch&&(markdown=markdown.slice(titleMatch[0].length)),markdown=markdown.replace(/\n*(?<!!)\[]\([^)]+\)\n*/g,""),markdown=markdown.replace(/!(?=!\[|\[!\[)/g,"! "),markdown=markdown.replace(/\n{3,}/g,`
283
+
284
+ `),markdown=markdown.replace(BLANK_QUOTE_LINE_RUN,"$1"),Object.keys(footnotes).length>0){markdown+=`
285
+
286
+ ---
287
+
288
+ `;for(let[id,content2]of Object.entries(footnotes))markdown+=`[^${id}]: ${content2}
289
+
290
+ `}return markdown.trim()}catch(error){return console.error("Error converting HTML to Markdown:",error),console.log("Problematic content:",content.substring(0,1e3)+"..."),`Partial conversion completed with errors. Original HTML:
291
+
292
+ ${content}`}}function toMarkdown(result,options,url){options.markdown?result.content=createMarkdownContent(result.content,url):options.separateMarkdown&&(result.contentMarkdown=createMarkdownContent(result.content,url))}}});var require_symbols=__commonJS({"node_modules/linkedom/cjs/shared/symbols.js"(exports){"use strict";var CHANGED=Symbol("changed");exports.CHANGED=CHANGED;var CLASS_LIST=Symbol("classList");exports.CLASS_LIST=CLASS_LIST;var CUSTOM_ELEMENTS=Symbol("CustomElements");exports.CUSTOM_ELEMENTS=CUSTOM_ELEMENTS;var CONTENT=Symbol("content");exports.CONTENT=CONTENT;var DATASET=Symbol("dataset");exports.DATASET=DATASET;var DOCTYPE=Symbol("doctype");exports.DOCTYPE=DOCTYPE;var DOM_PARSER=Symbol("DOMParser");exports.DOM_PARSER=DOM_PARSER;var END=Symbol("end");exports.END=END;var EVENT_TARGET=Symbol("EventTarget");exports.EVENT_TARGET=EVENT_TARGET;var GLOBALS=Symbol("globals");exports.GLOBALS=GLOBALS;var IMAGE=Symbol("image");exports.IMAGE=IMAGE;var MIME=Symbol("mime");exports.MIME=MIME;var MUTATION_OBSERVER=Symbol("MutationObserver");exports.MUTATION_OBSERVER=MUTATION_OBSERVER;var NEXT=Symbol("next");exports.NEXT=NEXT;var OWNER_ELEMENT=Symbol("ownerElement");exports.OWNER_ELEMENT=OWNER_ELEMENT;var PREV=Symbol("prev");exports.PREV=PREV;var PRIVATE=Symbol("private");exports.PRIVATE=PRIVATE;var SHEET=Symbol("sheet");exports.SHEET=SHEET;var START=Symbol("start");exports.START=START;var STYLE=Symbol("style");exports.STYLE=STYLE;var UPGRADE=Symbol("upgrade");exports.UPGRADE=UPGRADE;var VALUE=Symbol("value");exports.VALUE=VALUE}});var require_decode_codepoint=__commonJS({"node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode-codepoint.js"(exports){"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0});exports.fromCodePoint=void 0;exports.replaceCodePoint=replaceCodePoint;exports.decodeCodePoint=decodeCodePoint;var decodeMap=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);exports.fromCodePoint=(_a=String.fromCodePoint)!==null&&_a!==void 0?_a:(codePoint=>{let output="";return codePoint>65535&&(codePoint-=65536,output+=String.fromCharCode(codePoint>>>10&1023|55296),codePoint=56320|codePoint&1023),output+=String.fromCharCode(codePoint),output});function replaceCodePoint(codePoint){var _a2;return codePoint>=55296&&codePoint<=57343||codePoint>1114111?65533:(_a2=decodeMap.get(codePoint))!==null&&_a2!==void 0?_a2:codePoint}function decodeCodePoint(codePoint){return(0,exports.fromCodePoint)(replaceCodePoint(codePoint))}}});var require_decode_shared=__commonJS({"node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/decode-shared.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.decodeBase64=decodeBase64;function decodeBase64(input){let binary=typeof atob=="function"?atob(input):typeof Buffer.from=="function"?Buffer.from(input,"base64").toString("binary"):new Buffer(input,"base64").toString("binary"),evenLength=binary.length&-2,out=new Uint16Array(evenLength/2);for(let index=0,outIndex=0;index<evenLength;index+=2){let lo=binary.charCodeAt(index),hi=binary.charCodeAt(index+1);out[outIndex++]=lo|hi<<8}return out}}});var require_decode_data_html=__commonJS({"node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-html.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.htmlDecodeTree=void 0;var decode_shared_js_1=require_decode_shared();exports.htmlDecodeTree=(0,decode_shared_js_1.decodeBase64)("QR08ALkAAgH6AYsDNQR2BO0EPgXZBQEGLAbdBxMISQrvCmQLfQurDKQNLw4fD4YPpA+6D/IPAAAAAAAAAAAAAAAAKhBMEY8TmxUWF2EYLBkxGuAa3RsJHDscWR8YIC8jSCSIJcMl6ie3Ku8rEC0CLjoupS7kLgAIRU1hYmNmZ2xtbm9wcnN0dVQAWgBeAGUAaQBzAHcAfgCBAIQAhwCSAJoAoACsALMAbABpAGcAO4DGAMZAUAA7gCYAJkBjAHUAdABlADuAwQDBQHIiZXZlAAJhAAFpeW0AcgByAGMAO4DCAMJAEGRyAADgNdgE3XIAYQB2AGUAO4DAAMBA8CFoYZFj4SFjcgBhZAAAoFMqAAFncIsAjgBvAG4ABGFmAADgNdg43fAlbHlGdW5jdGlvbgCgYSBpAG4AZwA7gMUAxUAAAWNzpACoAHIAAOA12Jzc6SFnbgCgVCJpAGwAZABlADuAwwDDQG0AbAA7gMQAxEAABGFjZWZvcnN1xQDYANoA7QDxAPYA+QD8AAABY3LJAM8AayNzbGFzaAAAoBYidgHTANUAAKDnKmUAZAAAoAYjeQARZIABY3J0AOAA5QDrAGEidXNlAACgNSLuI291bGxpcwCgLCFhAJJjcgAA4DXYBd1wAGYAAOA12Dnd5SF2ZdhiYwDyAOoAbSJwZXEAAKBOIgAHSE9hY2RlZmhpbG9yc3UXARoBHwE6AVIBVQFiAWQBZgGCAakB6QHtAfIBYwB5ACdkUABZADuAqQCpQIABY3B5ACUBKAE1AfUhdGUGYWmg0iJ0KGFsRGlmZmVyZW50aWFsRAAAoEUhbCJleXMAAKAtIQACYWVpb0EBRAFKAU0B8iFvbgxhZABpAGwAO4DHAMdAcgBjAAhhbiJpbnQAAKAwIm8AdAAKYQABZG5ZAV0BaSJsbGEAuGB0I2VyRG90ALdg8gA5AWkAp2NyImNsZQAAAkRNUFRwAXQBeQF9AW8AdAAAoJkiaSJudXMAAKCWIuwhdXMAoJUiaSJtZXMAAKCXIm8AAAFjc4cBlAFrKndpc2VDb250b3VySW50ZWdyYWwAAKAyImUjQ3VybHkAAAFEUZwBpAFvJXVibGVRdW90ZQAAoB0gdSJvdGUAAKAZIAACbG5wdbABtgHNAdgBbwBuAGWgNyIAoHQqgAFnaXQAvAHBAcUB8iJ1ZW50AKBhIm4AdAAAoC8i7yV1ckludGVncmFsAKAuIgABZnLRAdMBAKACIe8iZHVjdACgECJuLnRlckNsb2Nrd2lzZUNvbnRvdXJJbnRlZ3JhbAAAoDMi7yFzcwCgLypjAHIAAOA12J7ccABDoNMiYQBwAACgTSKABURKU1phY2VmaW9zAAsCEgIVAhgCGwIsAjQCOQI9AnMCfwNvoEUh9CJyYWhkAKARKWMAeQACZGMAeQAFZGMAeQAPZIABZ3JzACECJQIoAuchZXIAoCEgcgAAoKEhaAB2AACg5CoAAWF5MAIzAvIhb24OYRRkbAB0oAciYQCUY3IAAOA12AfdAAFhZkECawIAAWNtRQJnAvIjaXRpY2FsAAJBREdUUAJUAl8CYwJjInV0ZQC0YG8AdAFZAloC2WJiJGxlQWN1dGUA3WJyImF2ZQBgYGkibGRlANxi7yFuZACgxCJmJWVyZW50aWFsRAAAoEYhcAR9AgAAAAAAAIECjgIAABoDZgAA4DXYO91EoagAhQKJAm8AdAAAoNwgcSJ1YWwAAKBQIuIhbGUAA0NETFJVVpkCqAK1Au8C/wIRA28AbgB0AG8AdQByAEkAbgB0AGUAZwByAGEA7ADEAW8AdAKvAgAAAACwAqhgbiNBcnJvdwAAoNMhAAFlb7kC0AJmAHQAgAFBUlQAwQLGAs0CciJyb3cAAKDQIekkZ2h0QXJyb3cAoNQhZQDlACsCbgBnAAABTFLWAugC5SFmdAABQVLcAuECciJyb3cAAKD4J+kkZ2h0QXJyb3cAoPon6SRnaHRBcnJvdwCg+SdpImdodAAAAUFU9gL7AnIicm93AACg0iFlAGUAAKCoInAAQQIGAwAAAAALA3Iicm93AACg0SFvJHduQXJyb3cAAKDVIWUlcnRpY2FsQmFyAACgJSJuAAADQUJMUlRhJAM2AzoDWgNxA3oDciJyb3cAAKGTIUJVLAMwA2EAcgAAoBMpcCNBcnJvdwAAoPUhciJldmUAEWPlIWZ00gJDAwAASwMAAFIDaSVnaHRWZWN0b3IAAKBQKWUkZVZlY3RvcgAAoF4p5SJjdG9yQqC9IWEAcgAAoFYpaSJnaHQA1AFiAwAAaQNlJGVWZWN0b3IAAKBfKeUiY3RvckKgwSFhAHIAAKBXKWUAZQBBoKQiciJyb3cAAKCnIXIAcgBvAPcAtAIAAWN0gwOHA3IAAOA12J/c8iFvaxBhAAhOVGFjZGZnbG1vcHFzdHV4owOlA6kDsAO/A8IDxgPNA9ID8gP9AwEEFAQeBCAEJQRHAEphSAA7gNAA0EBjAHUAdABlADuAyQDJQIABYWl5ALYDuQO+A/Ihb24aYXIAYwA7gMoAykAtZG8AdAAWYXIAAOA12AjdcgBhAHYAZQA7gMgAyEDlIm1lbnQAoAgiAAFhcNYD2QNjAHIAEmF0AHkAUwLhAwAAAADpA20lYWxsU3F1YXJlAACg+yVlJ3J5U21hbGxTcXVhcmUAAKCrJQABZ3D2A/kDbwBuABhhZgAA4DXYPN3zImlsb26VY3UAAAFhaQYEDgRsAFSgdSppImxkZQAAoEIi7CNpYnJpdW0AoMwhAAFjaRgEGwRyAACgMCFtAACgcyphAJdjbQBsADuAywDLQAABaXApBC0E8yF0cwCgAyLvJG5lbnRpYWxFAKBHIYACY2Zpb3MAPQQ/BEMEXQRyBHkAJGRyAADgNdgJ3WwibGVkAFMCTAQAAAAAVARtJWFsbFNxdWFyZQAAoPwlZSdyeVNtYWxsU3F1YXJlAACgqiVwA2UEAABpBAAAAABtBGYAAOA12D3dwSFsbACgACLyI2llcnRyZgCgMSFjAPIAcQQABkpUYWJjZGZnb3JzdIgEiwSOBJMElwSkBKcEqwStBLIE5QTqBGMAeQADZDuAPgA+QO0hbWFkoJMD3GNyImV2ZQAeYYABZWl5AJ0EoASjBOQhaWwiYXIAYwAcYRNkbwB0ACBhcgAA4DXYCt0AoNkicABmAADgNdg+3eUiYXRlcgADRUZHTFNUvwTIBM8E1QTZBOAEcSJ1YWwATKBlIuUhc3MAoNsidSRsbEVxdWFsAACgZyJyI2VhdGVyAACgoirlIXNzAKB3IuwkYW50RXF1YWwAoH4qaSJsZGUAAKBzImMAcgAA4DXYotwAoGsiAARBYWNmaW9zdfkE/QQFBQgFCwUTBSIFKwVSIkRjeQAqZAABY3QBBQQFZQBrAMdiXmDpIXJjJGFyAACgDCFsJWJlcnRTcGFjZQAAoAsh8AEYBQAAGwVmAACgDSHpJXpvbnRhbExpbmUAoAAlAAFjdCYFKAXyABIF8iFvayZhbQBwAEQBMQU5BW8AdwBuAEgAdQBtAPAAAAFxInVhbAAAoE8iAAdFSk9hY2RmZ21ub3N0dVMFVgVZBVwFYwVtBXAFcwV6BZAFtgXFBckFzQVjAHkAFWTsIWlnMmFjAHkAAWRjAHUAdABlADuAzQDNQAABaXlnBWwFcgBjADuAzgDOQBhkbwB0ADBhcgAAoBEhcgBhAHYAZQA7gMwAzEAAoREhYXB/BYsFAAFjZ4MFhQVyACphaSNuYXJ5SQAAoEghbABpAGUA8wD6AvQBlQUAAKUFZaAsIgABZ3KaBZ4F8iFhbACgKyLzI2VjdGlvbgCgwiJpI3NpYmxlAAABQ1SsBbEFbyJtbWEAAKBjIGkibWVzAACgYiCAAWdwdAC8Bb8FwwVvAG4ALmFmAADgNdhA3WEAmWNjAHIAAKAQIWkibGRlAChh6wHSBQAA1QVjAHkABmRsADuAzwDPQIACY2Zvc3UA4QXpBe0F8gX9BQABaXnlBegFcgBjADRhGWRyAADgNdgN3XAAZgAA4DXYQd3jAfcFAAD7BXIAAOA12KXc8iFjeQhk6yFjeQRkgANISmFjZm9zAAwGDwYSBhUGHQYhBiYGYwB5ACVkYwB5AAxk8CFwYZpjAAFleRkGHAbkIWlsNmEaZHIAAOA12A7dcABmAADgNdhC3WMAcgAA4DXYptyABUpUYWNlZmxtb3N0AD0GQAZDBl4GawZkB2gHcAd0B80H2gdjAHkACWQ7gDwAPECAAmNtbnByAEwGTwZSBlUGWwb1IXRlOWHiIWRhm2NnAACg6ifsI2FjZXRyZgCgEiFyAACgniGAAWFleQBkBmcGagbyIW9uPWHkIWlsO2EbZAABZnNvBjQHdAAABUFDREZSVFVWYXKABp4GpAbGBssG3AYDByEHwQIqBwABbnKEBowGZyVsZUJyYWNrZXQAAKDoJ/Ihb3cAoZAhQlKTBpcGYQByAACg5CHpJGdodEFycm93AKDGIWUjaWxpbmcAAKAII28A9QGqBgAAsgZiJWxlQnJhY2tldAAAoOYnbgDUAbcGAAC+BmUkZVZlY3RvcgAAoGEp5SJjdG9yQqDDIWEAcgAAoFkpbCJvb3IAAKAKI2kiZ2h0AAABQVbSBtcGciJyb3cAAKCUIeUiY3RvcgCgTikAAWVy4AbwBmUAAKGjIkFW5gbrBnIicm93AACgpCHlImN0b3IAoFopaSNhbmdsZQBCorIi+wYAAAAA/wZhAHIAAKDPKXEidWFsAACgtCJwAIABRFRWAAoHEQcYB+8kd25WZWN0b3IAoFEpZSRlVmVjdG9yAACgYCnlImN0b3JCoL8hYQByAACgWCnlImN0b3JCoLwhYQByAACgUilpAGcAaAB0AGEAcgByAG8A9wDMAnMAAANFRkdMU1Q/B0cHTgdUB1gHXwfxJXVhbEdyZWF0ZXIAoNoidSRsbEVxdWFsAACgZiJyI2VhdGVyAACgdiLlIXNzAKChKuwkYW50RXF1YWwAoH0qaSJsZGUAAKByInIAAOA12A/dZaDYIuYjdGFycm93AKDaIWkiZG90AD9hgAFucHcAege1B7kHZwAAAkxSbHKCB5QHmwerB+UhZnQAAUFSiAeNB3Iicm93AACg9SfpJGdodEFycm93AKD3J+kkZ2h0QXJyb3cAoPYn5SFmdAABYXLcAqEHaQBnAGgAdABhAHIAcgBvAPcA5wJpAGcAaAB0AGEAcgByAG8A9wDuAmYAAOA12EPdZQByAAABTFK/B8YHZSRmdEFycm93AACgmSHpJGdodEFycm93AKCYIYABY2h0ANMH1QfXB/IAWgYAoLAh8iFva0FhAKBqIgAEYWNlZmlvc3XpB+wH7gf/BwMICQgOCBEIcAAAoAUpeQAcZAABZGzyB/kHaSR1bVNwYWNlAACgXyBsI2ludHJmAACgMyFyAADgNdgQ3e4jdXNQbHVzAKATInAAZgAA4DXYRN1jAPIA/gecY4AESmFjZWZvc3R1ACEIJAgoCDUIgQiFCDsKQApHCmMAeQAKZGMidXRlAENhgAFhZXkALggxCDQI8iFvbkdh5CFpbEVhHWSAAWdzdwA7CGEIfQjhInRpdmWAAU1UVgBECEwIWQhlJWRpdW1TcGFjZQAAoAsgaABpAAABY25SCFMIawBTAHAAYQBjAOUASwhlAHIAeQBUAGgAaQDuAFQI9CFlZAABR0xnCHUIcgBlAGEAdABlAHIARwByAGUAYQB0AGUA8gDrBGUAcwBzAEwAZQBzAPMA2wdMImluZQAKYHIAAOA12BHdAAJCbnB0jAiRCJkInAhyImVhawAAoGAgwiZyZWFraW5nU3BhY2WgYGYAAKAVIUOq7CqzCMIIzQgAAOcIGwkAAAAAAAAtCQAAbwkAAIcJAACdCcAJGQoAADQKAAFvdbYIvAjuI2dydWVudACgYiJwIkNhcAAAoG0ibyh1YmxlVmVydGljYWxCYXIAAKAmIoABbHF4ANII1wjhCOUibWVudACgCSL1IWFsVKBgImkibGRlAADgQiI4A2kic3RzAACgBCJyI2VhdGVyAACjbyJFRkdMU1T1CPoIAgkJCQ0JFQlxInVhbAAAoHEidSRsbEVxdWFsAADgZyI4A3IjZWF0ZXIAAOBrIjgD5SFzcwCgeSLsJGFudEVxdWFsAOB+KjgDaSJsZGUAAKB1IvUhbXBEASAJJwnvI3duSHVtcADgTiI4A3EidWFsAADgTyI4A2UAAAFmczEJRgn0JFRyaWFuZ2xlQqLqIj0JAAAAAEIJYQByAADgzyk4A3EidWFsAACg7CJzAICibiJFR0xTVABRCVYJXAlhCWkJcSJ1YWwAAKBwInIjZWF0ZXIAAKB4IuUhc3MA4GoiOAPsJGFudEVxdWFsAOB9KjgDaSJsZGUAAKB0IuUic3RlZAABR0x1CX8J8iZlYXRlckdyZWF0ZXIA4KIqOAPlI3NzTGVzcwDgoSo4A/IjZWNlZGVzAKGAIkVTjwmVCXEidWFsAADgryo4A+wkYW50RXF1YWwAoOAiAAFlaaAJqQl2JmVyc2VFbGVtZW50AACgDCLnJWh0VHJpYW5nbGVCousitgkAAAAAuwlhAHIAAODQKTgDcSJ1YWwAAKDtIgABcXXDCeAJdSNhcmVTdQAAAWJwywnVCfMhZXRF4I8iOANxInVhbAAAoOIi5SJyc2V0ReCQIjgDcSJ1YWwAAKDjIoABYmNwAOYJ8AkNCvMhZXRF4IIi0iBxInVhbAAAoIgi4yJlZWRzgKGBIkVTVAD6CQAKBwpxInVhbAAA4LAqOAPsJGFudEVxdWFsAKDhImkibGRlAADgfyI4A+UicnNldEXggyLSIHEidWFsAACgiSJpImxkZQCAoUEiRUZUACIKJwouCnEidWFsAACgRCJ1JGxsRXF1YWwAAKBHImkibGRlAACgSSJlJXJ0aWNhbEJhcgAAoCQiYwByAADgNdip3GkAbABkAGUAO4DRANFAnWMAB0VhY2RmZ21vcHJzdHV2XgphCmgKcgp2CnoKgQqRCpYKqwqtCrsKyArNCuwhaWdSYWMAdQB0AGUAO4DTANNAAAFpeWwKcQpyAGMAO4DUANRAHmRiImxhYwBQYXIAAOA12BLdcgBhAHYAZQA7gNIA0kCAAWFlaQCHCooKjQpjAHIATGFnAGEAqWNjInJvbgCfY3AAZgAA4DXYRt3lI25DdXJseQABRFGeCqYKbyV1YmxlUXVvdGUAAKAcIHUib3RlAACgGCAAoFQqAAFjbLEKtQpyAADgNdiq3GEAcwBoADuA2ADYQGkAbAHACsUKZABlADuA1QDVQGUAcwAAoDcqbQBsADuA1gDWQGUAcgAAAUJQ0wrmCgABYXLXCtoKcgAAoD4gYQBjAAABZWvgCuIKAKDeI2UAdAAAoLQjYSVyZW50aGVzaXMAAKDcI4AEYWNmaGlsb3JzAP0KAwsFCwkLCwsMCxELIwtaC3IjdGlhbEQAAKACInkAH2RyAADgNdgT3WkApmOgY/Ujc01pbnVzsWAAAWlwFQsgC24AYwBhAHIAZQBwAGwAYQBuAOUACgVmAACgGSGAobsqZWlvACoLRQtJC+MiZWRlc4CheiJFU1QANAs5C0ALcSJ1YWwAAKCvKuwkYW50RXF1YWwAoHwiaSJsZGUAAKB+Im0AZQAAoDMgAAFkcE0LUQv1IWN0AKAPIm8jcnRpb24AYaA3ImwAAKAdIgABY2leC2ILcgAA4DXYq9yoYwACVWZvc2oLbwtzC3cLTwBUADuAIgAiQHIAAOA12BTdcABmAACgGiFjAHIAAOA12KzcAAZCRWFjZWZoaW9yc3WPC5MLlwupC7YL2AvbC90LhQyTDJoMowzhIXJyAKAQKUcAO4CuAK5AgAFjbnIAnQugC6ML9SF0ZVRhZwAAoOsncgB0oKAhbAAAoBYpgAFhZXkArwuyC7UL8iFvblhh5CFpbFZhIGR2oBwhZSJyc2UAAAFFVb8LzwsAAWxxwwvIC+UibWVudACgCyL1JGlsaWJyaXVtAKDLIXAmRXF1aWxpYnJpdW0AAKBvKXIAAKAcIW8AoWPnIWh0AARBQ0RGVFVWYewLCgwQDDIMNwxeDHwM9gIAAW5y8Av4C2clbGVCcmFja2V0AACg6SfyIW93AKGSIUJM/wsDDGEAcgAAoOUhZSRmdEFycm93AACgxCFlI2lsaW5nAACgCSNvAPUBFgwAAB4MYiVsZUJyYWNrZXQAAKDnJ24A1AEjDAAAKgxlJGVWZWN0b3IAAKBdKeUiY3RvckKgwiFhAHIAAKBVKWwib29yAACgCyMAAWVyOwxLDGUAAKGiIkFWQQxGDHIicm93AACgpiHlImN0b3IAoFspaSNhbmdsZQBCorMiVgwAAAAAWgxhAHIAAKDQKXEidWFsAACgtSJwAIABRFRWAGUMbAxzDO8kd25WZWN0b3IAoE8pZSRlVmVjdG9yAACgXCnlImN0b3JCoL4hYQByAACgVCnlImN0b3JCoMAhYQByAACgUykAAXB1iQyMDGYAAKAdIe4kZEltcGxpZXMAoHAp6SRnaHRhcnJvdwCg2yEAAWNongyhDHIAAKAbIQCgsSHsJGVEZWxheWVkAKD0KYAGSE9hY2ZoaW1vcXN0dQC/DMgMzAzQDOIM5gwKDQ0NFA0ZDU8NVA1YDQABQ2PDDMYMyCFjeSlkeQAoZEYiVGN5ACxkYyJ1dGUAWmEAorwqYWVpedgM2wzeDOEM8iFvbmBh5CFpbF5hcgBjAFxhIWRyAADgNdgW3e8hcnQAAkRMUlXvDPYM/QwEDW8kd25BcnJvdwAAoJMhZSRmdEFycm93AACgkCHpJGdodEFycm93AKCSIXAjQXJyb3cAAKCRIechbWGjY+EkbGxDaXJjbGUAoBgicABmAADgNdhK3XICHw0AAAAAIg10AACgGiLhIXJlgKGhJUlTVQAqDTINSg3uJXRlcnNlY3Rpb24AoJMidQAAAWJwNw1ADfMhZXRFoI8icSJ1YWwAAKCRIuUicnNldEWgkCJxInVhbAAAoJIibiJpb24AAKCUImMAcgAA4DXYrtxhAHIAAKDGIgACYmNtcF8Nag2ODZANc6DQImUAdABFoNAicSJ1YWwAAKCGIgABY2huDYkNZSJlZHMAgKF7IkVTVAB4DX0NhA1xInVhbAAAoLAq7CRhbnRFcXVhbACgfSJpImxkZQAAoH8iVABoAGEA9ADHCwCgESIAodEiZXOVDZ8NciJzZXQARaCDInEidWFsAACghyJlAHQAAKDRIoAFSFJTYWNmaGlvcnMAtQ27Db8NyA3ODdsN3w3+DRgOHQ4jDk8AUgBOADuA3gDeQMEhREUAoCIhAAFIY8MNxg1jAHkAC2R5ACZkAAFidcwNzQ0JYKRjgAFhZXkA1A3XDdoN8iFvbmRh5CFpbGJhImRyAADgNdgX3QABZWnjDe4N8gHoDQAA7Q3lImZvcmUAoDQiYQCYYwABY27yDfkNayNTcGFjZQAA4F8gCiDTInBhY2UAoAkg7CFkZYChPCJFRlQABw4MDhMOcSJ1YWwAAKBDInUkbGxFcXVhbAAAoEUiaSJsZGUAAKBIInAAZgAA4DXYS93pI3BsZURvdACg2yAAAWN0Jw4rDnIAAOA12K/c8iFva2Zh4QpFDlYOYA5qDgAAbg5yDgAAAAAAAAAAAAB5DnwOqA6zDgAADg8RDxYPGg8AAWNySA5ODnUAdABlADuA2gDaQHIAb6CfIeMhaXIAoEkpcgDjAVsOAABdDnkADmR2AGUAbGEAAWl5Yw5oDnIAYwA7gNsA20AjZGIibGFjAHBhcgAA4DXYGN1yAGEAdgBlADuA2QDZQOEhY3JqYQABZGl/Dp8OZQByAAABQlCFDpcOAAFhcokOiw5yAF9gYQBjAAABZWuRDpMOAKDfI2UAdAAAoLUjYSVyZW50aGVzaXMAAKDdI28AbgBQoMMi7CF1cwCgjiIAAWdwqw6uDm8AbgByYWYAAOA12EzdAARBREVUYWRwc78O0g7ZDuEOBQPqDvMOBw9yInJvdwDCoZEhyA4AAMwOYQByAACgEilvJHduQXJyb3cAAKDFIW8kd25BcnJvdwAAoJUhcSV1aWxpYnJpdW0AAKBuKWUAZQBBoKUiciJyb3cAAKClIW8AdwBuAGEAcgByAG8A9wAQA2UAcgAAAUxS+Q4AD2UkZnRBcnJvdwAAoJYh6SRnaHRBcnJvdwCglyFpAGyg0gNvAG4ApWPpIW5nbmFjAHIAAOA12LDcaSJsZGUAaGFtAGwAO4DcANxAgAREYmNkZWZvc3YALQ8xDzUPNw89D3IPdg97D4AP4SFzaACgqyJhAHIAAKDrKnkAEmThIXNobKCpIgCg5ioAAWVyQQ9DDwCgwSKAAWJ0eQBJD00Paw9hAHIAAKAWIGmgFiDjIWFsAAJCTFNUWA9cD18PZg9hAHIAAKAjIukhbmV8YGUkcGFyYXRvcgAAoFgnaSJsZGUAAKBAItQkaGluU3BhY2UAoAogcgAA4DXYGd1wAGYAAOA12E3dYwByAADgNdix3GQiYXNoAACgqiKAAmNlZm9zAI4PkQ+VD5kPng/pIXJjdGHkIWdlAKDAInIAAOA12BrdcABmAADgNdhO3WMAcgAA4DXYstwAAmZpb3OqD64Prw+0D3IAAOA12BvdnmNwAGYAAOA12E/dYwByAADgNdiz3IAEQUlVYWNmb3N1AMgPyw/OD9EP2A/gD+QP6Q/uD2MAeQAvZGMAeQAHZGMAeQAuZGMAdQB0AGUAO4DdAN1AAAFpedwP3w9yAGMAdmErZHIAAOA12BzdcABmAADgNdhQ3WMAcgAA4DXYtNxtAGwAeGEABEhhY2RlZm9z/g8BEAUQDRAQEB0QIBAkEGMAeQAWZGMidXRlAHlhAAFheQkQDBDyIW9ufWEXZG8AdAB7YfIBFRAAABwQbwBXAGkAZAB0AOgAVAhhAJZjcgAAoCghcABmAACgJCFjAHIAAOA12LXc4QtCEEkQTRAAAGcQbRByEAAAAAAAAAAAeRCKEJcQ8hD9EAAAGxEhETIROREAAD4RYwB1AHQAZQA7gOEA4UByImV2ZQADYYCiPiJFZGl1eQBWEFkQWxBgEGUQAOA+IjMDAKA/InIAYwA7gOIA4kB0AGUAO4C0ALRAMGRsAGkAZwA7gOYA5kByoGEgAOA12B7dcgBhAHYAZQA7gOAA4EAAAWVwfBCGEAABZnCAEIQQ8yF5bQCgNSHoAIMQaABhALFjAAFhcI0QWwAAAWNskRCTEHIAAWFnAACgPypkApwQAAAAALEQAKInImFkc3ajEKcQqRCuEG4AZAAAoFUqAKBcKmwib3BlAACgWCoAoFoqAKMgImVsbXJzersQvRDAEN0Q5RDtEACgpCllAACgICJzAGQAYaAhImEEzhDQENIQ1BDWENgQ2hDcEACgqCkAoKkpAKCqKQCgqykAoKwpAKCtKQCgrikAoK8pdAB2oB8iYgBkoL4iAKCdKQABcHTpEOwQaAAAoCIixWDhIXJyAKB8IwABZ3D1EPgQbwBuAAVhZgAA4DXYUt0Ao0giRWFlaW9wBxEJEQ0RDxESERQRAKBwKuMhaXIAoG8qAKBKImQAAKBLInMAJ2DyIW94ZaBIIvEADhFpAG4AZwA7gOUA5UCAAWN0eQAmESoRKxFyAADgNdi23CpgbQBwAGWgSCLxAPgBaQBsAGQAZQA7gOMA40BtAGwAO4DkAORAAAFjaUERRxFvAG4AaQBuAPQA6AFuAHQAAKARKgAITmFiY2RlZmlrbG5vcHJzdWQRaBGXEZ8RpxGrEdIR1hErEjASexKKEn0RThNbE3oTbwB0AACg7SoAAWNybBGJEWsAAAJjZXBzdBF4EX0RghHvIW5nAKBMInAjc2lsb24A9mNyImltZQAAoDUgaQBtAGWgPSJxAACgzSJ2AY0RkRFlAGUAAKC9ImUAZABnoAUjZQAAoAUjcgBrAHSgtSPiIXJrAKC2IwABb3mjEaYRbgDnAHcRMWTxIXVvAKAeIIACY21wcnQAtBG5Eb4RwRHFEeEhdXPloDUi5ABwInR5dgAAoLApcwDpAH0RbgBvAPUA6gCAAWFodwDLEcwRzhGyYwCgNiHlIWVuAKBsInIAAOA12B/dZwCAA2Nvc3R1dncA4xHyEQUSEhIhEiYSKRKAAWFpdQDpEesR7xHwAKMFcgBjAACg7yVwAACgwyKAAWRwdAD4EfwRABJvAHQAAKAAKuwhdXMAoAEqaSJtZXMAAKACKnECCxIAAAAADxLjIXVwAKAGKmEAcgAAoAUm8iNpYW5nbGUAAWR1GhIeEu8hd24AoL0lcAAAoLMlcCJsdXMAAKAEKmUA5QBCD+UAkg9hInJvdwAAoA0pgAFha28ANhJoEncSAAFjbjoSZRJrAIABbHN0AEESRxJNEm8jemVuZ2UAAKDrKXEAdQBhAHIA5QBcBPIjaWFuZ2xlgKG0JWRscgBYElwSYBLvIXduAKC+JeUhZnQAoMIlaSJnaHQAAKC4JWsAAKAjJLEBbRIAAHUSsgFxEgAAcxIAoJIlAKCRJTQAAKCTJWMAawAAoIglAAFlb38ShxJx4D0A5SD1IWl2AOBhIuUgdAAAoBAjAAJwdHd4kRKVEpsSnxJmAADgNdhT3XSgpSJvAG0AAKClIvQhaWUAoMgiAAZESFVWYmRobXB0dXayEsES0RLgEvcS+xIKExoTHxMjEygTNxMAAkxSbHK5ErsSvRK/EgCgVyUAoFQlAKBWJQCgUyUAolAlRFVkdckSyxLNEs8SAKBmJQCgaSUAoGQlAKBnJQACTFJsctgS2hLcEt4SAKBdJQCgWiUAoFwlAKBZJQCjUSVITFJobHLrEu0S7xLxEvMS9RIAoGwlAKBjJQCgYCUAoGslAKBiJQCgXyVvAHgAAKDJKQACTFJscgITBBMGEwgTAKBVJQCgUiUAoBAlAKAMJQCiACVEVWR1EhMUExYTGBMAoGUlAKBoJQCgLCUAoDQlaSJudXMAAKCfIuwhdXMAoJ4iaSJtZXMAAKCgIgACTFJsci8TMRMzEzUTAKBbJQCgWCUAoBglAKAUJQCjAiVITFJobHJCE0QTRhNIE0oTTBMAoGolAKBhJQCgXiUAoDwlAKAkJQCgHCUAAWV2UhNVE3YA5QD5AGIAYQByADuApgCmQAACY2Vpb2ITZhNqE24TcgAA4DXYt9xtAGkAAKBPIG0A5aA9IogRbAAAoVwAYmh0E3YTAKDFKfMhdWIAoMgnbAF+E4QTbABloCIgdAAAoCIgcAAAoU4iRWWJE4sTAKCuKvGgTyI8BeEMqRMAAN8TABQDFB8UAAAjFDQUAAAAAIUUAAAAAI0UAAAAANcU4xT3FPsUAACIFQAAlhWAAWNwcgCuE7ET1RP1IXRlB2GAoikiYWJjZHMAuxO/E8QTzhPSE24AZAAAoEQqciJjdXAAAKBJKgABYXXIE8sTcAAAoEsqcAAAoEcqbwB0AACgQCoA4CkiAP4AAWVv2RPcE3QAAKBBIO4ABAUAAmFlaXXlE+8T9RP4E/AB6hMAAO0TcwAAoE0qbwBuAA1hZABpAGwAO4DnAOdAcgBjAAlhcABzAHOgTCptAACgUCpvAHQAC2GAAWRtbgAIFA0UEhRpAGwAO4C4ALhAcCJ0eXYAAKCyKXQAAIGiADtlGBQZFKJAcgBkAG8A9ABiAXIAAOA12CDdgAFjZWkAKBQqFDIUeQBHZGMAawBtoBMn4SFyawCgEyfHY3IAAKPLJUVjZWZtcz8UQRRHFHcUfBSAFACgwykAocYCZWxGFEkUcQAAoFciZQBhAlAUAAAAAGAUciJyb3cAAAFsclYUWhTlIWZ0AKC6IWkiZ2h0AACguyGAAlJTYWNkAGgUaRRrFG8UcxSuYACgyCRzAHQAAKCbIukhcmMAoJoi4SFzaACgnSJuImludAAAoBAqaQBkAACg7yrjIWlyAKDCKfUhYnN1oGMmaQB0AACgYybsApMUmhS2FAAAwxRvAG4AZaA6APGgVCKrAG0CnxQAAAAAoxRhAHSgLABAYAChASJmbKcUqRTuABMNZQAAAW14rhSyFOUhbnQAoAEiZQDzANIB5wG6FAAAwBRkoEUibwB0AACgbSpuAPQAzAGAAWZyeQDIFMsUzhQA4DXYVN1vAOQA1wEAgakAO3MeAdMUcgAAoBchAAFhb9oU3hRyAHIAAKC1IXMAcwAAoBcnAAFjdeYU6hRyAADgNdi43AABYnDuFPIUZaDPKgCg0SploNAqAKDSKuQhb3QAoO8igANkZWxwcnZ3AAYVEBUbFSEVRBVlFYQV4SFycgABbHIMFQ4VAKA4KQCgNSlwAhYVAAAAABkVcgAAoN4iYwAAoN8i4SFycnCgtiEAoD0pgKIqImJjZG9zACsVMBU6FT4VQRVyImNhcAAAoEgqAAFhdTQVNxVwAACgRipwAACgSipvAHQAAKCNInIAAKBFKgDgKiIA/gACYWxydksVURVuFXMVcgByAG2gtyEAoDwpeQCAAWV2dwBYFWUVaRVxAHACXxUAAAAAYxVyAGUA4wAXFXUA4wAZFWUAZQAAoM4iZSJkZ2UAAKDPImUAbgA7gKQApEBlI2Fycm93AAABbHJ7FX8V5SFmdACgtiFpImdodAAAoLchZQDkAG0VAAFjaYsVkRVvAG4AaQBuAPQAkwFuAHQAAKAxImwiY3R5AACgLSOACUFIYWJjZGVmaGlqbG9yc3R1d3oAuBW7Fb8V1RXgFegV+RUKFhUWHxZUFlcWZRbFFtsW7xb7FgUXChdyAPIAtAJhAHIAAKBlKQACZ2xyc8YVyhXOFdAV5yFlcgCgICDlIXRoAKA4IfIA9QxoAHagECAAoKMiawHZFd4VYSJyb3cAAKAPKWEA4wBfAgABYXnkFecV8iFvbg9hNGQAoUYhYW/tFfQVAAFnciEC8RVyAACgyiF0InNlcQAAoHcqgAFnbG0A/xUCFgUWO4CwALBAdABhALRjcCJ0eXYAAKCxKQABaXIOFhIW8yFodACgfykA4DXYId1hAHIAAAFschsWHRYAoMMhAKDCIYACYWVnc3YAKBauAjYWOhY+Fm0AAKHEIm9zLhY0Fm4AZABzoMQi9SFpdACgZiZhIm1tYQDdY2kAbgAAoPIiAKH3AGlvQxZRFmQAZQAAgfcAO29KFksW90BuI3RpbWVzAACgxyJuAPgAUBZjAHkAUmRjAG8CXhYAAAAAYhZyAG4AAKAeI28AcAAAoA0jgAJscHR1dwBuFnEWdRaSFp4W7CFhciRgZgAA4DXYVd0AotkCZW1wc30WhBaJFo0WcQBkoFAibwB0AACgUSJpIm51cwAAoDgi7CF1cwCgFCLxInVhcmUAoKEiYgBsAGUAYgBhAHIAdwBlAGQAZwDlANcAbgCAAWFkaAClFqoWtBZyAHIAbwD3APUMbwB3AG4AYQByAHIAbwB3APMA8xVhI3Jwb29uAAABbHK8FsAWZQBmAPQAHBZpAGcAaAD0AB4WYgHJFs8WawBhAHIAbwD3AJILbwLUFgAAAADYFnIAbgAAoB8jbwBwAACgDCOAAWNvdADhFukW7BYAAXJ55RboFgDgNdi53FVkbAAAoPYp8iFvaxFhAAFkcvMW9xZvAHQAAKDxImkA5qC/JVsSAAFhaP8WAhdyAPIANQNhAPIA1wvhIm5nbGUAoKYpAAFjaQ4XEBd5AF9k5yJyYXJyAKD/JwAJRGFjZGVmZ2xtbm9wcXJzdHV4MRc4F0YXWxcyBF4XaRd5F40XrBe0F78X2RcVGCEYLRg1GEAYAAFEbzUXgRZvAPQA+BUAAWNzPBdCF3UAdABlADuA6QDpQPQhZXIAoG4qAAJhaW95TRdQF1YXWhfyIW9uG2FyAGOgViI7gOoA6kDsIW9uAKBVIk1kbwB0ABdhAAFEcmIXZhdvAHQAAKBSIgDgNdgi3XKhmipuF3QXYQB2AGUAO4DoAOhAZKCWKm8AdAAAoJgqgKGZKmlscwCAF4UXhxfuInRlcnMAoOcjAKATIWSglSpvAHQAAKCXKoABYXBzAJMXlheiF2MAcgATYXQAeQBzogUinxcAAAAAoRdlAHQAAKAFInAAMaADIDMBqRerFwCgBCAAoAUgAAFnc7AXsRdLYXAAAKACIAABZ3C4F7sXbwBuABlhZgAA4DXYVt2AAWFscwDFF8sXzxdyAHOg1SJsAACg4yl1AHMAAKBxKmkAAKG1A2x21RfYF28AbgC1Y/VjAAJjc3V24BfoF/0XEBgAAWlv5BdWF3IAYwAAoFYiaQLuFwAAAADwF+0ADQThIW50AAFnbPUX+Rd0AHIAAKCWKuUhc3MAoJUqgAFhZWkAAxgGGAoYbABzAD1gcwB0AACgXyJ2AESgYSJEAACgeCrwImFyc2wAoOUpAAFEYRkYHRhvAHQAAKBTInIAcgAAoHEpgAFjZGkAJxgqGO0XcgAAoC8hbwD0AIwCAAFhaDEYMhi3YzuA8ADwQAABbXI5GD0YbAA7gOsA60BvAACgrCCAAWNpcABGGEgYSxhsACFgcwD0ACwEAAFlb08YVxhjAHQAYQB0AGkAbwDuABoEbgBlAG4AdABpAGEAbADlADME4Ql1GAAAgRgAAIMYiBgAAAAAoRilGAAAqhgAALsYvhjRGAAA1xgnGWwAbABpAG4AZwBkAG8AdABzAGUA8QBlF3kARGRtImFsZQAAoEAmgAFpbHIAjRiRGJ0Y7CFpZwCgA/tpApcYAAAAAJoYZwAAoAD7aQBnAACgBPsA4DXYI93sIWlnAKAB++whaWcA4GYAagCAAWFsdACvGLIYthh0AACgbSZpAGcAAKAC+24AcwAAoLElbwBmAJJh8AHCGAAAxhhmAADgNdhX3QABYWvJGMwYbADsAGsEdqDUIgCg2SphI3J0aW50AACgDSoAAWFv2hgiGQABY3PeGB8ZsQPnGP0YBRkSGRUZAAAdGbID7xjyGPQY9xj5GAAA+xg7gL0AvUAAoFMhO4C8ALxAAKBVIQCgWSEAoFshswEBGQAAAxkAoFQhAKBWIbQCCxkOGQAAAAAQGTuAvgC+QACgVyEAoFwhNQAAoFghtgEZGQAAGxkAoFohAKBdITgAAKBeIWwAAKBEIHcAbgAAoCIjYwByAADgNdi73IAIRWFiY2RlZmdpamxub3JzdHYARhlKGVoZXhlmGWkZkhmWGZkZnRmgGa0ZxhnLGc8Z4BkjGmygZyIAoIwqgAFjbXAAUBlTGVgZ9SF0ZfVhbQBhAOSgswM6FgCghipyImV2ZQAfYQABaXliGWUZcgBjAB1hM2RvAHQAIWGAoWUibHFzAMYEcBl6GfGhZSLOBAAAdhlsAGEAbgD0AN8EgKF+KmNkbACBGYQZjBljAACgqSpvAHQAb6CAKmyggioAoIQqZeDbIgD+cwAAoJQqcgAA4DXYJN3noGsirATtIWVsAKA3IWMAeQBTZIChdyJFYWoApxmpGasZAKCSKgCgpSoAoKQqAAJFYWVztBm2Gb0ZwhkAoGkicABwoIoq8iFveACgiipxoIgq8aCIKrUZaQBtAACg5yJwAGYAAOA12FjdYQB2AOUAYwIAAWNp0xnWGXIAAKAKIW0AAKFzImVs3BneGQCgjioAoJAqAIM+ADtjZGxxco0E6xn0GfgZ/BkBGgABY2nvGfEZAKCnKnIAAKB6Km8AdAAAoNci0CFhcgCglSl1ImVzdAAAoHwqgAJhZGVscwAKGvQZFhrVBCAa8AEPGgAAFBpwAHIAbwD4AFkZcgAAoHgpcQAAAWxxxAQbGmwAZQBzAPMASRlpAO0A5AQAAWVuJxouGnIjdG5lcXEAAOBpIgD+xQAsGgAFQWFiY2Vma29zeUAaQxpmGmoabRqDGocalhrCGtMacgDyAMwCAAJpbG1yShpOGlAaVBpyAHMA8ABxD2YAvWBpAGwA9AASBQABZHJYGlsaYwB5AEpkAKGUIWN3YBpkGmkAcgAAoEgpAKCtIWEAcgAAoA8h6SFyYyVhgAFhbHIAcxp7Gn8a8iF0c3WgZSZpAHQAAKBlJuwhaXAAoCYg4yFvbgCguSJyAADgNdgl3XMAAAFld4wakRphInJvdwAAoCUpYSJyb3cAAKAmKYACYW1vcHIAnxqjGqcauhq+GnIAcgAAoP8h9CFodACgOyJrAAABbHKsGrMaZSRmdGFycm93AACgqSHpJGdodGFycm93AKCqIWYAAOA12Fnd4iFhcgCgFSCAAWNsdADIGswa0BpyAADgNdi93GEAcwDoAGka8iFvaydhAAFicNca2xr1IWxsAKBDIOghZW4AoBAg4Qr2GgAA/RoAAAgbExsaGwAAIRs7GwAAAAA+G2IbmRuVG6sbAACyG80b0htjAHUAdABlADuA7QDtQAChYyBpeQEbBhtyAGMAO4DuAO5AOGQAAWN4CxsNG3kANWRjAGwAO4ChAKFAAAFmcssCFhsA4DXYJt1yAGEAdgBlADuA7ADsQIChSCFpbm8AJxsyGzYbAAFpbisbLxtuAHQAAKAMKnQAAKAtIuYhaW4AoNwpdABhAACgKSHsIWlnM2GAAWFvcABDG1sbXhuAAWNndABJG0sbWRtyACthgAFlbHAAcQVRG1UbaQBuAOUAyAVhAHIA9AByBWgAMWFmAACgtyJlAGQAtWEAoggiY2ZvdGkbbRt1G3kb4SFyZQCgBSFpAG4AdKAeImkAZQAAoN0pZABvAPQAWxsAoisiY2VscIEbhRuPG5QbYQBsAACguiIAAWdyiRuNG2UAcgDzACMQ4wCCG2EicmhrAACgFyryIW9kAKA8KgACY2dwdJ8boRukG6gbeQBRZG8AbgAvYWYAAOA12FrdYQC5Y3UAZQBzAHQAO4C/AL9AAAFjabUbuRtyAADgNdi+3G4AAKIIIkVkc3bCG8QbyBvQAwCg+SJvAHQAAKD1Inag9CIAoPMiaaBiIOwhZGUpYesB1hsAANkbYwB5AFZkbAA7gO8A70AAA2NmbW9zdeYb7hvyG/Ub+hsFHAABaXnqG+0bcgBjADVhOWRyAADgNdgn3eEhdGg3YnAAZgAA4DXYW93jAf8bAAADHHIAAOA12L/c8iFjeVhk6yFjeVRkAARhY2ZnaGpvcxUcGhwiHCYcKhwtHDAcNRzwIXBhdqC6A/BjAAFleR4cIRzkIWlsN2E6ZHIAAOA12CjdciJlZW4AOGFjAHkARWRjAHkAXGRwAGYAAOA12FzdYwByAADgNdjA3IALQUJFSGFiY2RlZmdoamxtbm9wcnN0dXYAXhxtHHEcdRx5HN8cBx0dHTwd3B3tHfEdAR4EHh0eLB5FHrwewx7hHgkfPR9LH4ABYXJ0AGQcZxxpHHIA8gBvB/IAxQLhIWlsAKAbKeEhcnIAoA4pZ6BmIgCgiyphAHIAAKBiKWMJjRwAAJAcAACVHAAAAAAAAAAAAACZHJwcAACmHKgcrRwAANIc9SF0ZTph7SJwdHl2AKC0KXIAYQDuAFoG4iFkYbtjZwAAoegnZGyhHKMcAKCRKeUAiwYAoIUqdQBvADuAqwCrQHIAgKOQIWJmaGxwc3QAuhy/HMIcxBzHHMoczhxmoOQhcwAAoB8pcwAAoB0p6wCyGnAAAKCrIWwAAKA5KWkAbQAAoHMpbAAAoKIhAKGrKmFl1hzaHGkAbAAAoBkpc6CtKgDgrSoA/oABYWJyAOUc6RztHHIAcgAAoAwpcgBrAACgcicAAWFr8Rz4HGMAAAFla/Yc9xx7YFtgAAFlc/wc/hwAoIspbAAAAWR1Ax0FHQCgjykAoI0pAAJhZXV5Dh0RHRodHB3yIW9uPmEAAWRpFR0YHWkAbAA8YewAowbiAPccO2QAAmNxcnMkHScdLB05HWEAAKA2KXUAbwDyoBwgqhEAAWR1MB00HeghYXIAoGcpcyJoYXIAAKBLKWgAAKCyIQCiZCJmZ3FzRB1FB5Qdnh10AIACYWhscnQATh1WHWUdbB2NHXIicm93AHSgkCFhAOkAzxxhI3Jwb29uAAABZHVeHWId7yF3bgCgvSFwAACgvCHlJGZ0YXJyb3dzAKDHIWkiZ2h0AIABYWhzAHUdex2DHXIicm93APOglCGdBmEAcgBwAG8AbwBuAPMAzgtxAHUAaQBnAGEAcgByAG8A9wBlGugkcmVldGltZXMAoMsi8aFkIk0HAACaHWwAYQBuAPQAXgcAon0qY2Rnc6YdqR2xHbcdYwAAoKgqbwB0AG+gfypyoIEqAKCDKmXg2iIA/nMAAKCTKoACYWRlZ3MAwB3GHcod1h3ZHXAAcAByAG8A+ACmHG8AdAAAoNYicQAAAWdxzx3SHXQA8gBGB2cAdADyAHQcdADyAFMHaQDtAGMHgAFpbHIA4h3mHeod8yFodACgfClvAG8A8gDKBgDgNdgp3UWgdiIAoJEqYQH1Hf4dcgAAAWR1YB35HWygvCEAoGopbABrAACghCVjAHkAWWQAomoiYWNodAweDx4VHhkecgDyAGsdbwByAG4AZQDyAGAW4SFyZACgaylyAGkAAKD6JQABaW8hHiQe5CFvdEBh9SFzdGGgsCPjIWhlAKCwIwACRWFlczMeNR48HkEeAKBoInAAcKCJKvIhb3gAoIkqcaCHKvGghyo0HmkAbQAAoOYiAARhYm5vcHR3elIeXB5fHoUelh6mHqsetB4AAW5yVh5ZHmcAAKDsJ3IAAKD9IXIA6wCwBmcAgAFsbXIAZh52Hnse5SFmdAABYXKIB2weaQBnAGgAdABhAHIAcgBvAPcAkwfhInBzdG8AoPwnaQBnAGgAdABhAHIAcgBvAPcAmgdwI2Fycm93AAABbHKNHpEeZQBmAPQAxhxpImdodAAAoKwhgAFhZmwAnB6fHqIecgAAoIUpAOA12F3ddQBzAACgLSppIm1lcwAAoDQqYQGvHrMecwB0AACgFyLhAIoOZaHKJbkeRhLuIWdlAKDKJWEAcgBsoCgAdAAAoJMpgAJhY2htdADMHs8e1R7bHt0ecgDyAJ0GbwByAG4AZQDyANYWYQByAGSgyyEAoG0pAKAOIHIAaQAAoL8iAANhY2hpcXTrHu8e1QfzHv0eBh/xIXVvAKA5IHIAAOA12MHcbQDloXIi+h4AAPweAKCNKgCgjyoAAWJ19xwBH28AcqAYIACgGiDyIW9rQmEAhDwAO2NkaGlscXJCBhcfxh0gHyQfKB8sHzEfAAFjaRsfHR8AoKYqcgAAoHkqcgBlAOUAkx3tIWVzAKDJIuEhcnIAoHYpdSJlc3QAAKB7KgABUGk1HzkfYQByAACglillocMlAgdfEnIAAAFkdUIfRx9zImhhcgAAoEop6CFhcgCgZikAAWVuTx9WH3IjdG5lcXEAAOBoIgD+xQBUHwAHRGFjZGVmaGlsbm9wc3VuH3Ifoh+rH68ftx+7H74f5h/uH/MfBwj/HwsgxCFvdACgOiIAAmNscHJ5H30fiR+eH3IAO4CvAK9AAAFldIEfgx8AoEImZaAgJ3MAZQAAoCAnc6CmIXQAbwCAoaYhZGx1AJQfmB+cH28AdwDuAHkDZQBmAPQA6gbwAOkO6yFlcgCgriUAAW95ph+qH+0hbWEAoCkqPGThIXNoAKAUIOElc3VyZWRhbmdsZQCgISJyAADgNdgq3W8AAKAnIYABY2RuAMQfyR/bH3IAbwA7gLUAtUBhoiMi0B8AANMf1x9zAPQAKxFpAHIAAKDwKm8AdAA7gLcAt0B1AHMA4qESIh4TAADjH3WgOCIAoCoqYwHqH+0fcAAAoNsq8gB+GnAAbAB1APMACAgAAWRw9x/7H+UhbHMAoKciZgAA4DXYXt0AAWN0AyAHIHIAAOA12MLc8CFvcwCgPiJsobwDECAVIPQiaW1hcACguCJhAPAAEyAADEdMUlZhYmNkZWZnaGlqbG1vcHJzdHV2dzwgRyBmIG0geSCqILgg2iDeIBEhFSEyIUMhTSFQIZwhnyHSIQAiIyKLIrEivyIUIwABZ3RAIEMgAODZIjgD9uBrItIgBwmAAWVsdABNIF8gYiBmAHQAAAFhclMgWCByInJvdwAAoM0h6SRnaHRhcnJvdwCgziEA4NgiOAP24Goi0iBfCekkZ2h0YXJyb3cAoM8hAAFEZHEgdSDhIXNoAKCvIuEhc2gAoK4igAJiY25wdACCIIYgiSCNIKIgbABhAACgByL1IXRlRGFnAADgICLSIACiSSJFaW9wlSCYIJwgniAA4HAqOANkAADgSyI4A3MASWFyAG8A+AAyCnUAcgBhoG4mbADzoG4mmwjzAa8gAACzIHAAO4CgAKBAbQBwAOXgTiI4AyoJgAJhZW91eQDBIMogzSDWINkg8AHGIAAAyCAAoEMqbwBuAEhh5CFpbEZhbgBnAGSgRyJvAHQAAOBtKjgDcAAAoEIqPWThIXNoAKATIACjYCJBYWRxc3jpIO0g+SD+IAIhDCFyAHIAAKDXIXIAAAFocvIg9SBrAACgJClvoJch9wAGD28AdAAA4FAiOAN1AGkA9gC7CAABZWkGIQohYQByAACgKCntAN8I6SFzdPOgBCLlCHIAAOA12CvdAAJFZXN0/wgcISshLiHxoXEiIiEAABMJ8aFxIgAJAAAnIWwAYQBuAPQAEwlpAO0AGQlyoG8iAKBvIoABQWFwADghOyE/IXIA8gBeIHIAcgAAoK4hYQByAACg8ipzogsiSiEAAAAAxwtkoPwiAKD6ImMAeQBaZIADQUVhZGVzdABcIV8hYiFmIWkhkyGWIXIA8gBXIADgZiI4A3IAcgAAoJohcgAAoCUggKFwImZxcwBwIYQhjiF0AAABYXJ1IXohcgByAG8A9wBlIWkAZwBoAHQAYQByAHIAbwD3AD4h8aFwImAhAACKIWwAYQBuAPQAZwlz4H0qOAMAoG4iaQDtAG0JcqBuImkA5aDqIkUJaQDkADoKAAFwdKMhpyFmAADgNdhf3YCBrAA7aW4AriGvIcchrEBuAIChCSJFZHYAtyG6Ib8hAOD5IjgDbwB0AADg9SI4A+EB1gjEIcYhAKD3IgCg9iJpAHagDCLhAagJzyHRIQCg/iIAoP0igAFhb3IA2CHsIfEhcgCAoSYiYXN0AOAh5SHpIWwAbABlAOwAywhsAADg/SrlIADgAiI4A2wiaW50AACgFCrjoYAi9yEAAPohdQDlAJsJY+CvKjgDZaCAIvEAkwkAAkFhaXQHIgoiFyIeInIA8gBsIHIAcgAAoZshY3cRIhQiAOAzKTgDAOCdITgDZyRodGFycm93AACgmyFyAGkA5aDrIr4JgANjaGltcHF1AC8iPCJHIpwhTSJQIloigKGBImNlcgA2Iv0JOSJ1AOUABgoA4DXYw9zvIXJ0bQKdIQAAAABEImEAcgDhAOEhbQBloEEi8aBEIiYKYQDyAMsIcwB1AAABYnBWIlgi5QDUCeUA3wmAAWJjcABgInMieCKAoYQiRWVzAGci7glqIgDgxSo4A2UAdABl4IIi0iBxAPGgiCJoImMAZaCBIvEA/gmAoYUiRWVzAH8iFgqCIgDgxio4A2UAdABl4IMi0iBxAPGgiSKAIgACZ2lscpIilCKaIpwi7AAMCWwAZABlADuA8QDxQOcAWwlpI2FuZ2xlAAABbHKkIqoi5SFmdGWg6iLxAEUJaSJnaHQAZaDrIvEAvgltoL0DAKEjAGVzuCK8InIAbwAAoBYhcAAAoAcggARESGFkZ2lscnMAziLSItYi2iLeIugi7SICIw8j4SFzaACgrSLhIXJyAKAEKXAAAOBNItIg4SFzaACgrCIAAWV04iLlIgDgZSLSIADgPgDSIG4iZmluAACg3imAAUFldADzIvci+iJyAHIAAKACKQDgZCLSIHLgPADSIGkAZQAA4LQi0iAAAUF0BiMKI3IAcgAAoAMp8iFpZQDgtSLSIGkAbQAA4Dwi0iCAAUFhbgAaIx4jKiNyAHIAAKDWIXIAAAFociMjJiNrAACgIylvoJYh9wD/DuUhYXIAoCcpUxJqFAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAAVCMAAF4jaSN/I4IjjSOeI8AUAAAAAKYjwCMAANoj3yMAAO8jHiQvJD8kRCQAAWNzVyNsFHUAdABlADuA8wDzQAABaXlhI2cjcgBjoJoiO4D0APRAPmSAAmFiaW9zAHEjdCN3I3EBeiNzAOgAdhTsIWFjUWF2AACgOCrvIWxkAKC8KewhaWdTYQABY3KFI4kjaQByAACgvykA4DXYLN1vA5QjAAAAAJYjAACcI24A22JhAHYAZQA7gPIA8kAAoMEpAAFibaEjjAphAHIAAKC1KQACYWNpdKwjryO6I70jcgDyAFkUAAFpcrMjtiNyAACgvinvIXNzAKC7KW4A5QDZCgCgwCmAAWFlaQDFI8gjyyNjAHIATWFnAGEAyWOAAWNkbgDRI9Qj1iPyIW9uv2MAoLYpdQDzAHgBcABmAADgNdhg3YABYWVsAOQj5yPrI3IAAKC3KXIAcAAAoLkpdQDzAHwBAKMoImFkaW9zdvkj/CMPJBMkFiQbJHIA8gBeFIChXSplZm0AAyQJJAwkcgBvoDQhZgAAoDQhO4CqAKpAO4C6ALpA5yFvZgCgtiJyAACgVipsIm9wZQAAoFcqAKBbKoABY2xvACMkJSQrJPIACCRhAHMAaAA7gPgA+EBsAACgmCJpAGwBMyQ4JGQAZQA7gPUA9UBlAHMAYaCXInMAAKA2Km0AbAA7gPYA9kDiIWFyAKA9I+EKXiQAAHokAAB8JJQkAACYJKkkAAAAALUkEQsAAPAkAAAAAAQleiUAAIMlcgCAoSUiYXN0AGUkbyQBCwCBtgA7bGokayS2QGwAZQDsABgDaQJ1JAAAAAB4JG0AAKDzKgCg/Sp5AD9kcgCAAmNpbXB0AIUkiCSLJJkSjyRuAHQAJWBvAGQALmBpAGwAAKAwIOUhbmsAoDEgcgAA4DXYLd2AAWltbwCdJKAkpCR2oMYD1WNtAGEA9AD+B24AZQAAoA4m9KHAA64kAAC0JGMjaGZvcmsAAKDUItZjAAFhdbgkxCRuAAABY2u9JMIkawBooA8hAKAOIfYAaRpzAACkKwBhYmNkZW1zdNMkIRPXJNsk4STjJOck6yTjIWlyAKAjKmkAcgAAoCIqAAFvdYsW3yQAoCUqAKByKm4AO4CxALFAaQBtAACgJip3AG8AAKAnKoABaXB1APUk+iT+JO4idGludACgFSpmAADgNdhh3W4AZAA7gKMAo0CApHoiRWFjZWlub3N1ABMlFSUYJRslTCVRJVklSSV1JQCgsypwAACgtyp1AOUAPwtjoK8qgKJ6ImFjZW5zACclLSU0JTYlSSVwAHAAcgBvAPgAFyV1AHIAbAB5AGUA8QA/C/EAOAuAAWFlcwA8JUElRSXwInByb3gAoLkqcQBxAACgtSppAG0AAKDoImkA7QBEC20AZQDzoDIgIguAAUVhcwBDJVclRSXwAEAlgAFkZnAATwtfJXElgAFhbHMAZSVpJW0l7CFhcgCgLiPpIW5lAKASI/UhcmYAoBMjdKAdIu8AWQvyIWVsAKCwIgABY2l9JYElcgAA4DXYxdzIY24iY3NwAACgCCAAA2Zpb3BzdZElKxuVJZolnyWkJXIAAOA12C7dcABmAADgNdhi3XIiaW1lAACgVyBjAHIAAOA12MbcgAFhZW8AqiW6JcAldAAAAWVpryW2JXIAbgBpAG8AbgDzABkFbgB0AACgFipzAHQAZaA/APEACRj0AG0LgApBQkhhYmNkZWZoaWxtbm9wcnN0dXgA4yXyJfYl+iVpJpAmpia9JtUm5ib4JlonaCdxJ3UnnietJ7EnyCfiJ+cngAFhcnQA6SXsJe4lcgDyAJkM8gD6AuEhaWwAoBwpYQByAPIA3BVhAHIAAKBkKYADY2RlbnFydAAGJhAmEyYYJiYmKyZaJgABZXUKJg0mAOA9IjEDdABlAFVhaQDjACAN7SJwdHl2AKCzKWcAgKHpJ2RlbAAgJiImJCYAoJIpAKClKeUA9wt1AG8AO4C7ALtAcgAApZIhYWJjZmhscHN0dz0mQCZFJkcmSiZMJk4mUSZVJlgmcAAAoHUpZqDlIXMAAKAgKQCgMylzAACgHinrALka8ACVHmwAAKBFKWkAbQAAoHQpbAAAoKMhAKCdIQABYWleJmImaQBsAACgGilvAG6gNiJhAGwA8wB2C4ABYWJyAG8mciZ2JnIA8gAvEnIAawAAoHMnAAFha3omgSZjAAABZWt/JoAmfWBdYAABZXOFJocmAKCMKWwAAAFkdYwmjiYAoI4pAKCQKQACYWV1eZcmmiajJqUm8iFvbllhAAFkaZ4moSZpAGwAV2HsAA8M4gCAJkBkAAJjbHFzrSawJrUmuiZhAACgNylkImhhcgAAoGkpdQBvAPKgHSCjAWgAAKCzIYABYWNnAMMm0iaUC2wAgKEcIWlwcwDLJs4migxuAOUAoAxhAHIA9ADaC3QAAKCtJYABaWxyANsm3ybjJvMhaHQAoH0pbwBvAPIANgwA4DXYL90AAWFv6ib1JnIAAAFkde8m8SYAoMEhbKDAIQCgbCl2oMED8WOAAWducwD+Jk4nUCdoAHQAAANhaGxyc3QKJxInISc1Jz0nRydyInJvdwB0oJIhYQDpAFYmYSNycG9vbgAAAWR1GiceJ28AdwDuAPAmcAAAoMAh5SFmdAABYWgnJy0ncgByAG8AdwDzAAkMYQByAHAAbwBvAG4A8wATBGklZ2h0YXJyb3dzAACgySFxAHUAaQBnAGEAcgByAG8A9wBZJugkcmVldGltZXMAoMwiZwDaYmkAbgBnAGQAbwB0AHMAZQDxABwYgAFhaG0AYCdjJ2YncgDyAAkMYQDyABMEAKAPIG8idXN0AGGgsSPjIWhlAKCxI+0haWQAoO4qAAJhYnB0fCeGJ4knmScAAW5ygCeDJ2cAAKDtJ3IAAKD+IXIA6wAcDIABYWZsAI8nkieVJ3IAAKCGKQDgNdhj3XUAcwAAoC4qaSJtZXMAAKA1KgABYXCiJ6gncgBnoCkAdAAAoJQp7yJsaW50AKASKmEAcgDyADwnAAJhY2hxuCe8J6EMwCfxIXVvAKA6IHIAAOA12MfcAAFidYAmxCdvAPKgGSCoAYABaGlyAM4n0ifWJ3IAZQDlAE0n7SFlcwCgyiJpAIChuSVlZmwAXAxjEt4n9CFyaQCgzinsInVoYXIAoGgpAKAeIWENBSgJKA0oSyhVKIYoAACLKLAoAAAAAOMo5ygAABApJCkxKW0pcSmHKaYpAACYKgAAAACxKmMidXRlAFthcQB1AO8ABR+ApHsiRWFjZWlucHN5ABwoHignKCooLygyKEEoRihJKACgtCrwASMoAAAlKACguCpvAG4AYWF1AOUAgw1koLAqaQBsAF9hcgBjAF1hgAFFYXMAOCg6KD0oAKC2KnAAAKC6KmkAbQAAoOki7yJsaW50AKATKmkA7QCIDUFkbwB0AGKixSKRFgAAAABTKACgZiqAA0FhY21zdHgAYChkKG8ocyh1KHkogihyAHIAAKDYIXIAAAFocmkoayjrAJAab6CYIfcAzAd0ADuApwCnQGkAO2D3IWFyAKApKW0AAAFpbn4ozQBuAHUA8wDOAHQAAKA2J3IA7+A12DDdIxkAAmFjb3mRKJUonSisKHIAcAAAoG8mAAFoeZkonChjAHkASWRIZHIAdABtAqUoAAAAAKgoaQDkAFsPYQByAGEA7ABsJDuArQCtQAABZ22zKLsobQBhAAChwwNmdroouijCY4CjPCJkZWdsbnByAMgozCjPKNMo1yjaKN4obwB0AACgairxoEMiCw5FoJ4qAKCgKkWgnSoAoJ8qZQAAoEYi7CF1cwCgJCrhIXJyAKByKWEAcgDyAPwMAAJhZWl07Sj8KAEpCCkAAWxz8Sj4KGwAcwBlAHQAbQDpAH8oaABwAACgMyrwImFyc2wAoOQpAAFkbFoPBSllAACgIyNloKoqc6CsKgDgrCoA/oABZmxwABUpGCkfKfQhY3lMZGKgLwBhoMQpcgAAoD8jZgAA4DXYZN1hAAABZHIoKRcDZQBzAHWgYCZpAHQAAKBgJoABY3N1ADYpRilhKQABYXU6KUApcABzoJMiAOCTIgD+cABzoJQiAOCUIgD+dQAAAWJwSylWKQChjyJlcz4NUCllAHQAZaCPIvEAPw0AoZAiZXNIDVspZQB0AGWgkCLxAEkNAKGhJWFmZilbBHIAZQFrKVwEAKChJWEAcgDyAAMNAAJjZW10dyl7KX8pgilyAADgNdjI3HQAbQDuAM4AaQDsAAYpYQByAOYAVw0AAWFyiimOKXIA5qAGJhESAAFhbpIpoylpImdodAAAAWVwmSmgKXAAcwBpAGwAbwDuANkXaADpAKAkcwCvYIACYmNtbnAArin8KY4NJSooKgCkgiJFZGVtbnByc7wpvinCKcgpzCnUKdgp3CkAoMUqbwB0AACgvSpkoIYibwB0AACgwyr1IWx0AKDBKgABRWXQKdIpAKDLKgCgiiLsIXVzAKC/KuEhcnIAoHkpgAFlaXUA4inxKfQpdAAAoYIiZW7oKewpcQDxoIYivSllAHEA8aCKItEpbQAAoMcqAAFicPgp+ikAoNUqAKDTKmMAgKJ7ImFjZW5zAAcqDSoUKhYqRihwAHAAcgBvAPgAIyh1AHIAbAB5AGUA8QCDDfEAfA2AAWFlcwAcKiIqPShwAHAAcgBvAPgAPChxAPEAOShnAACgaiYApoMiMTIzRWRlaGxtbnBzPCo/KkIqRSpHKlIqWCpjKmcqaypzKncqO4C5ALlAO4CyALJAO4CzALNAAKDGKgABb3NLKk4qdAAAoL4qdQBiAACg2CpkoIcibwB0AACgxCpzAAABb3VdKmAqbAAAoMknYgAAoNcq4SFycgCgeyn1IWx0AKDCKgABRWVvKnEqAKDMKgCgiyLsIXVzAKDAKoABZWl1AH0qjCqPKnQAAKGDImVugyqHKnEA8aCHIkYqZQBxAPGgiyJwKm0AAKDIKgABYnCTKpUqAKDUKgCg1iqAAUFhbgCdKqEqrCpyAHIAAKDZIXIAAAFocqYqqCrrAJUab6CZIfcAxQf3IWFyAKAqKWwAaQBnADuA3wDfQOELzyrZKtwq6SrsKvEqAAD1KjQrAAAAAAAAAAAAAEwrbCsAAHErvSsAAAAAAADRK3IC1CoAAAAA2CrnIWV0AKAWI8RjcgDrAOUKgAFhZXkA4SrkKucq8iFvbmVh5CFpbGNhQmRvAPQAIg5sInJlYwAAoBUjcgAA4DXYMd0AAmVpa2/7KhIrKCsuK/IBACsAAAkrZQAAATRm6g0EK28AcgDlAOsNYQBzorgDECsAAAAAEit5AG0A0WMAAWNuFislK2sAAAFhcxsrIStwAHAAcgBvAPgAFw5pAG0AAKA8InMA8AD9DQABYXMsKyEr8AAXDnIAbgA7gP4A/kDsATgrOyswG2QA5QBnAmUAcwCAgdcAO2JkAEMrRCtJK9dAYaCgInIAAKAxKgCgMCqAAWVwcwBRK1MraSvhAAkh4qKkIlsrXysAAAAAYytvAHQAAKA2I2kAcgAAoPEqb+A12GXdcgBrAACg2irhAHgociJpbWUAAKA0IIABYWlwAHYreSu3K2QA5QC+DYADYWRlbXBzdACFK6MrmiunK6wrsCuzK24iZ2xlAACitSVkbHFykCuUK5ornCvvIXduAKC/JeUhZnRloMMl8QACBwCgXCJpImdodABloLkl8QBdDG8AdAAAoOwlaSJudXMAAKA6KuwhdXMAoDkqYgAAoM0p6SFtZQCgOyrlInppdW0AoOIjgAFjaHQAwivKK80rAAFyecYrySsA4DXYydxGZGMAeQBbZPIhb2tnYQABaW/UK9creAD0ANERaCJlYWQAAAFsct4r5ytlAGYAdABhAHIAcgBvAPcAXQbpJGdodGFycm93AKCgIQAJQUhhYmNkZmdobG1vcHJzdHV3CiwNLBEsHSwnLDEsQCxLLFIsYix6LIQsjyzLLOgs7Sz/LAotcgDyAAkDYQByAACgYykAAWNyFSwbLHUAdABlADuA+gD6QPIACQ1yAOMBIywAACUseQBeZHYAZQBtYQABaXkrLDAscgBjADuA+wD7QENkgAFhYmgANyw6LD0scgDyANEO7CFhY3FhYQDyAOAOAAFpckQsSCzzIWh0AKB+KQDgNdgy3XIAYQB2AGUAO4D5APlAYQFWLF8scgAAAWxyWixcLACgvyEAoL4hbABrAACggCUAAWN0Zix2LG8CbCwAAAAAcyxyAG4AZaAcI3IAAKAcI28AcAAAoA8jcgBpAACg+CUAAWFsfiyBLGMAcgBrYTuAqACoQAABZ3CILIssbwBuAHNhZgAA4DXYZt0AA2FkaGxzdZksniynLLgsuyzFLHIAcgBvAPcACQ1vAHcAbgBhAHIAcgBvAPcA2A5hI3Jwb29uAAABbHKvLLMsZQBmAPQAWyxpAGcAaAD0AF0sdQDzAKYOaQAAocUDaGzBLMIs0mNvAG4AxWPwI2Fycm93cwCgyCGAAWNpdADRLOEs5CxvAtcsAAAAAN4scgBuAGWgHSNyAACgHSNvAHAAAKAOI24AZwBvYXIAaQAAoPklYwByAADgNdjK3IABZGlyAPMs9yz6LG8AdAAAoPAi7CFkZWlhaQBmoLUlAKC0JQABYW0DLQYtcgDyAMosbAA7gPwA/EDhIm5nbGUAoKcpgAdBQkRhY2RlZmxub3Byc3oAJy0qLTAtNC2bLZ0toS2/LcMtxy3TLdgt3C3gLfwtcgDyABADYQByAHag6CoAoOkqYQBzAOgA/gIAAW5yOC08LechcnQAoJwpgANla25wcnN0AJkpSC1NLVQtXi1iLYItYQBwAHAA4QAaHG8AdABoAGkAbgDnAKEXgAFoaXIAoSmzJFotbwBwAPQAdCVooJUh7wD4JgABaXVmLWotZwBtAOEAuygAAWJwbi14LXMjZXRuZXEAceCKIgD+AODLKgD+cyNldG5lcQBx4IsiAP4A4MwqAP4AAWhyhi2KLWUAdADhABIraSNhbmdsZQAAAWxyki2WLeUhZnQAoLIiaSJnaHQAAKCzInkAMmThIXNoAKCiIoABZWxyAKcttC24LWKiKCKuLQAAAACyLWEAcgAAoLsicQAAoFoi7CFpcACg7iIAAWJ0vC1eD2EA8gBfD3IAAOA12DPddAByAOkAlS1zAHUAAAFicM0t0C0A4IIi0iAA4IMi0iBwAGYAAOA12GfdcgBvAPAAWQt0AHIA6QCaLQABY3XkLegtcgAA4DXYy9wAAWJw7C30LW4AAAFFZXUt8S0A4IoiAP5uAAABRWV/LfktAOCLIgD+6SJnemFnAKCaKYADY2Vmb3BycwANLhAuJS4pLiMuLi40LukhcmN1YQABZGkULiEuAAFiZxguHC5hAHIAAKBfKmUAcaAnIgCgWSLlIXJwAKAYIXIAAOA12DTdcABmAADgNdho3WWgQCJhAHQA6ABqD2MAcgAA4DXYzNzjCuQRUC4AAFQuAABYLmIuAAAAAGMubS5wLnQuAAAAAIguki4AAJouJxIqEnQAcgDpAB0ScgAA4DXYNd0AAUFhWy5eLnIA8gDnAnIA8gCTB75jAAFBYWYuaS5yAPIA4AJyAPIAjAdhAPAAeh5pAHMAAKD7IoABZHB0APgReS6DLgABZmx9LoAuAOA12GnddQDzAP8RaQBtAOUABBIAAUFhiy6OLnIA8gDuAnIA8gCaBwABY3GVLgoScgAA4DXYzdwAAXB0nS6hLmwAdQDzACUScgDpACASAARhY2VmaW9zdbEuvC7ELsguzC7PLtQu2S5jAAABdXm2LrsudABlADuA/QD9QE9kAAFpecAuwy5yAGMAd2FLZG4AO4ClAKVAcgAA4DXYNt1jAHkAV2RwAGYAAOA12GrdYwByAADgNdjO3AABY23dLt8ueQBOZGwAO4D/AP9AAAVhY2RlZmhpb3N38y73Lv8uAi8MLxAvEy8YLx0vIi9jInV0ZQB6YQABYXn7Lv4u8iFvbn5hN2RvAHQAfGEAAWV0Bi8KL3QAcgDmAB8QYQC2Y3IAAOA12DfdYwB5ADZk5yJyYXJyAKDdIXAAZgAA4DXYa91jAHIAAOA12M/cAAFqbiYvKC8AoA0gagAAoAwg")}});var require_decode_data_xml=__commonJS({"node_modules/htmlparser2/node_modules/entities/dist/commonjs/generated/decode-data-xml.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.xmlDecodeTree=void 0;var decode_shared_js_1=require_decode_shared();exports.xmlDecodeTree=(0,decode_shared_js_1.decodeBase64)("AAJhZ2xxBwARABMAFQBtAg0AAAAAAA8AcAAmYG8AcwAnYHQAPmB0ADxg9SFvdCJg")}});var require_bin_trie_flags=__commonJS({"node_modules/htmlparser2/node_modules/entities/dist/commonjs/internal/bin-trie-flags.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.BinTrieFlags=void 0;var BinTrieFlags;(function(BinTrieFlags2){BinTrieFlags2[BinTrieFlags2.VALUE_LENGTH=49152]="VALUE_LENGTH",BinTrieFlags2[BinTrieFlags2.FLAG13=8192]="FLAG13",BinTrieFlags2[BinTrieFlags2.BRANCH_LENGTH=8064]="BRANCH_LENGTH",BinTrieFlags2[BinTrieFlags2.JUMP_TABLE=127]="JUMP_TABLE"})(BinTrieFlags||(exports.BinTrieFlags=BinTrieFlags={}))}});var require_decode=__commonJS({"node_modules/htmlparser2/node_modules/entities/dist/commonjs/decode.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.xmlDecodeTree=exports.htmlDecodeTree=exports.replaceCodePoint=exports.fromCodePoint=exports.decodeCodePoint=exports.EntityDecoder=exports.DecodingMode=void 0;exports.determineBranch=determineBranch;exports.decodeHTML=decodeHTML;exports.decodeHTMLAttribute=decodeHTMLAttribute;exports.decodeHTMLStrict=decodeHTMLStrict;exports.decodeXML=decodeXML;var decode_codepoint_js_1=require_decode_codepoint(),decode_data_html_js_1=require_decode_data_html(),decode_data_xml_js_1=require_decode_data_xml(),bin_trie_flags_js_1=require_bin_trie_flags(),CharCodes;(function(CharCodes2){CharCodes2[CharCodes2.NUM=35]="NUM",CharCodes2[CharCodes2.SEMI=59]="SEMI",CharCodes2[CharCodes2.EQUALS=61]="EQUALS",CharCodes2[CharCodes2.ZERO=48]="ZERO",CharCodes2[CharCodes2.NINE=57]="NINE",CharCodes2[CharCodes2.LOWER_A=97]="LOWER_A",CharCodes2[CharCodes2.LOWER_F=102]="LOWER_F",CharCodes2[CharCodes2.LOWER_X=120]="LOWER_X",CharCodes2[CharCodes2.LOWER_Z=122]="LOWER_Z",CharCodes2[CharCodes2.UPPER_A=65]="UPPER_A",CharCodes2[CharCodes2.UPPER_F=70]="UPPER_F",CharCodes2[CharCodes2.UPPER_Z=90]="UPPER_Z"})(CharCodes||(CharCodes={}));var TO_LOWER_BIT=32;function isNumber(code){return code>=CharCodes.ZERO&&code<=CharCodes.NINE}function isHexadecimalCharacter(code){return code>=CharCodes.UPPER_A&&code<=CharCodes.UPPER_F||code>=CharCodes.LOWER_A&&code<=CharCodes.LOWER_F}function isAsciiAlphaNumeric(code){return code>=CharCodes.UPPER_A&&code<=CharCodes.UPPER_Z||code>=CharCodes.LOWER_A&&code<=CharCodes.LOWER_Z||isNumber(code)}function isEntityInAttributeInvalidEnd(code){return code===CharCodes.EQUALS||isAsciiAlphaNumeric(code)}var EntityDecoderState;(function(EntityDecoderState2){EntityDecoderState2[EntityDecoderState2.EntityStart=0]="EntityStart",EntityDecoderState2[EntityDecoderState2.NumericStart=1]="NumericStart",EntityDecoderState2[EntityDecoderState2.NumericDecimal=2]="NumericDecimal",EntityDecoderState2[EntityDecoderState2.NumericHex=3]="NumericHex",EntityDecoderState2[EntityDecoderState2.NamedEntity=4]="NamedEntity"})(EntityDecoderState||(EntityDecoderState={}));var DecodingMode;(function(DecodingMode2){DecodingMode2[DecodingMode2.Legacy=0]="Legacy",DecodingMode2[DecodingMode2.Strict=1]="Strict",DecodingMode2[DecodingMode2.Attribute=2]="Attribute"})(DecodingMode||(exports.DecodingMode=DecodingMode={}));var EntityDecoder=class{constructor(decodeTree,emitCodePoint,errors){this.decodeTree=decodeTree,this.emitCodePoint=emitCodePoint,this.errors=errors,this.state=EntityDecoderState.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=DecodingMode.Strict,this.runConsumed=0}startEntity(decodeMode){this.decodeMode=decodeMode,this.state=EntityDecoderState.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1,this.runConsumed=0}write(input,offset){switch(this.state){case EntityDecoderState.EntityStart:return input.charCodeAt(offset)===CharCodes.NUM?(this.state=EntityDecoderState.NumericStart,this.consumed+=1,this.stateNumericStart(input,offset+1)):(this.state=EntityDecoderState.NamedEntity,this.stateNamedEntity(input,offset));case EntityDecoderState.NumericStart:return this.stateNumericStart(input,offset);case EntityDecoderState.NumericDecimal:return this.stateNumericDecimal(input,offset);case EntityDecoderState.NumericHex:return this.stateNumericHex(input,offset);case EntityDecoderState.NamedEntity:return this.stateNamedEntity(input,offset)}}stateNumericStart(input,offset){return offset>=input.length?-1:(input.charCodeAt(offset)|TO_LOWER_BIT)===CharCodes.LOWER_X?(this.state=EntityDecoderState.NumericHex,this.consumed+=1,this.stateNumericHex(input,offset+1)):(this.state=EntityDecoderState.NumericDecimal,this.stateNumericDecimal(input,offset))}stateNumericHex(input,offset){for(;offset<input.length;){let char=input.charCodeAt(offset);if(isNumber(char)||isHexadecimalCharacter(char)){let digit=char<=CharCodes.NINE?char-CharCodes.ZERO:(char|TO_LOWER_BIT)-CharCodes.LOWER_A+10;this.result=this.result*16+digit,this.consumed++,offset++}else return this.emitNumericEntity(char,3)}return-1}stateNumericDecimal(input,offset){for(;offset<input.length;){let char=input.charCodeAt(offset);if(isNumber(char))this.result=this.result*10+(char-CharCodes.ZERO),this.consumed++,offset++;else return this.emitNumericEntity(char,2)}return-1}emitNumericEntity(lastCp,expectedLength){var _a;if(this.consumed<=expectedLength)return(_a=this.errors)===null||_a===void 0||_a.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(lastCp===CharCodes.SEMI)this.consumed+=1;else if(this.decodeMode===DecodingMode.Strict)return 0;return this.emitCodePoint((0,decode_codepoint_js_1.replaceCodePoint)(this.result),this.consumed),this.errors&&(lastCp!==CharCodes.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed}stateNamedEntity(input,offset){let{decodeTree}=this,current=decodeTree[this.treeIndex],valueLength=(current&bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH)>>14;for(;offset<input.length;){if(valueLength===0&&(current&bin_trie_flags_js_1.BinTrieFlags.FLAG13)!==0){let runLength=(current&bin_trie_flags_js_1.BinTrieFlags.BRANCH_LENGTH)>>7;if(this.runConsumed===0){let firstChar=current&bin_trie_flags_js_1.BinTrieFlags.JUMP_TABLE;if(input.charCodeAt(offset)!==firstChar)return this.result===0?0:this.emitNotTerminatedNamedEntity();offset++,this.excess++,this.runConsumed++}for(;this.runConsumed<runLength;){if(offset>=input.length)return-1;let charIndexInPacked=this.runConsumed-1,packedWord=decodeTree[this.treeIndex+1+(charIndexInPacked>>1)],expectedChar=charIndexInPacked%2===0?packedWord&255:packedWord>>8&255;if(input.charCodeAt(offset)!==expectedChar)return this.runConsumed=0,this.result===0?0:this.emitNotTerminatedNamedEntity();offset++,this.excess++,this.runConsumed++}this.runConsumed=0,this.treeIndex+=1+(runLength>>1),current=decodeTree[this.treeIndex],valueLength=(current&bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH)>>14}if(offset>=input.length)break;let char=input.charCodeAt(offset);if(char===CharCodes.SEMI&&valueLength!==0&&(current&bin_trie_flags_js_1.BinTrieFlags.FLAG13)!==0)return this.emitNamedEntityData(this.treeIndex,valueLength,this.consumed+this.excess);if(this.treeIndex=determineBranch(decodeTree,current,this.treeIndex+Math.max(1,valueLength),char),this.treeIndex<0)return this.result===0||this.decodeMode===DecodingMode.Attribute&&(valueLength===0||isEntityInAttributeInvalidEnd(char))?0:this.emitNotTerminatedNamedEntity();if(current=decodeTree[this.treeIndex],valueLength=(current&bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH)>>14,valueLength!==0){if(char===CharCodes.SEMI)return this.emitNamedEntityData(this.treeIndex,valueLength,this.consumed+this.excess);this.decodeMode!==DecodingMode.Strict&&(current&bin_trie_flags_js_1.BinTrieFlags.FLAG13)===0&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}offset++,this.excess++}return-1}emitNotTerminatedNamedEntity(){var _a;let{result,decodeTree}=this,valueLength=(decodeTree[result]&bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH)>>14;return this.emitNamedEntityData(result,valueLength,this.consumed),(_a=this.errors)===null||_a===void 0||_a.missingSemicolonAfterCharacterReference(),this.consumed}emitNamedEntityData(result,valueLength,consumed){let{decodeTree}=this;return this.emitCodePoint(valueLength===1?decodeTree[result]&~(bin_trie_flags_js_1.BinTrieFlags.VALUE_LENGTH|bin_trie_flags_js_1.BinTrieFlags.FLAG13):decodeTree[result+1],consumed),valueLength===3&&this.emitCodePoint(decodeTree[result+2],consumed),consumed}end(){var _a;switch(this.state){case EntityDecoderState.NamedEntity:return this.result!==0&&(this.decodeMode!==DecodingMode.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case EntityDecoderState.NumericDecimal:return this.emitNumericEntity(0,2);case EntityDecoderState.NumericHex:return this.emitNumericEntity(0,3);case EntityDecoderState.NumericStart:return(_a=this.errors)===null||_a===void 0||_a.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case EntityDecoderState.EntityStart:return 0}}};exports.EntityDecoder=EntityDecoder;function getDecoder(decodeTree){let returnValue="",decoder=new EntityDecoder(decodeTree,data=>returnValue+=(0,decode_codepoint_js_1.fromCodePoint)(data));return function(input,decodeMode){let lastIndex=0,offset=0;for(;(offset=input.indexOf("&",offset))>=0;){returnValue+=input.slice(lastIndex,offset),decoder.startEntity(decodeMode);let length=decoder.write(input,offset+1);if(length<0){lastIndex=offset+decoder.end();break}lastIndex=offset+length,offset=length===0?lastIndex+1:lastIndex}let result=returnValue+input.slice(lastIndex);return returnValue="",result}}function determineBranch(decodeTree,current,nodeIndex,char){let branchCount=(current&bin_trie_flags_js_1.BinTrieFlags.BRANCH_LENGTH)>>7,jumpOffset=current&bin_trie_flags_js_1.BinTrieFlags.JUMP_TABLE;if(branchCount===0)return jumpOffset!==0&&char===jumpOffset?nodeIndex:-1;if(jumpOffset){let value=char-jumpOffset;return value<0||value>=branchCount?-1:decodeTree[nodeIndex+value]-1}let packedKeySlots=branchCount+1>>1,lo=0,hi=branchCount-1;for(;lo<=hi;){let mid=lo+hi>>>1,slot=mid>>1,midKey=decodeTree[nodeIndex+slot]>>(mid&1)*8&255;if(midKey<char)lo=mid+1;else if(midKey>char)hi=mid-1;else return decodeTree[nodeIndex+packedKeySlots+mid]}return-1}var htmlDecoder=getDecoder(decode_data_html_js_1.htmlDecodeTree),xmlDecoder=getDecoder(decode_data_xml_js_1.xmlDecodeTree);function decodeHTML(htmlString,mode=DecodingMode.Legacy){return htmlDecoder(htmlString,mode)}function decodeHTMLAttribute(htmlAttribute){return htmlDecoder(htmlAttribute,DecodingMode.Attribute)}function decodeHTMLStrict(htmlString){return htmlDecoder(htmlString,DecodingMode.Strict)}function decodeXML(xmlString){return xmlDecoder(xmlString,DecodingMode.Strict)}var decode_codepoint_js_2=require_decode_codepoint();Object.defineProperty(exports,"decodeCodePoint",{enumerable:!0,get:function(){return decode_codepoint_js_2.decodeCodePoint}});Object.defineProperty(exports,"fromCodePoint",{enumerable:!0,get:function(){return decode_codepoint_js_2.fromCodePoint}});Object.defineProperty(exports,"replaceCodePoint",{enumerable:!0,get:function(){return decode_codepoint_js_2.replaceCodePoint}});var decode_data_html_js_2=require_decode_data_html();Object.defineProperty(exports,"htmlDecodeTree",{enumerable:!0,get:function(){return decode_data_html_js_2.htmlDecodeTree}});var decode_data_xml_js_2=require_decode_data_xml();Object.defineProperty(exports,"xmlDecodeTree",{enumerable:!0,get:function(){return decode_data_xml_js_2.xmlDecodeTree}})}});var require_Tokenizer=__commonJS({"node_modules/htmlparser2/dist/commonjs/Tokenizer.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.QuoteType=void 0;var decode_1=require_decode(),CharCodes;(function(CharCodes2){CharCodes2[CharCodes2.Tab=9]="Tab",CharCodes2[CharCodes2.NewLine=10]="NewLine",CharCodes2[CharCodes2.FormFeed=12]="FormFeed",CharCodes2[CharCodes2.CarriageReturn=13]="CarriageReturn",CharCodes2[CharCodes2.Space=32]="Space",CharCodes2[CharCodes2.ExclamationMark=33]="ExclamationMark",CharCodes2[CharCodes2.Number=35]="Number",CharCodes2[CharCodes2.Amp=38]="Amp",CharCodes2[CharCodes2.SingleQuote=39]="SingleQuote",CharCodes2[CharCodes2.DoubleQuote=34]="DoubleQuote",CharCodes2[CharCodes2.Dash=45]="Dash",CharCodes2[CharCodes2.Slash=47]="Slash",CharCodes2[CharCodes2.Zero=48]="Zero",CharCodes2[CharCodes2.Nine=57]="Nine",CharCodes2[CharCodes2.Semi=59]="Semi",CharCodes2[CharCodes2.Lt=60]="Lt",CharCodes2[CharCodes2.Eq=61]="Eq",CharCodes2[CharCodes2.Gt=62]="Gt",CharCodes2[CharCodes2.Questionmark=63]="Questionmark",CharCodes2[CharCodes2.UpperA=65]="UpperA",CharCodes2[CharCodes2.LowerA=97]="LowerA",CharCodes2[CharCodes2.UpperF=70]="UpperF",CharCodes2[CharCodes2.LowerF=102]="LowerF",CharCodes2[CharCodes2.UpperZ=90]="UpperZ",CharCodes2[CharCodes2.LowerZ=122]="LowerZ",CharCodes2[CharCodes2.LowerX=120]="LowerX",CharCodes2[CharCodes2.OpeningSquareBracket=91]="OpeningSquareBracket"})(CharCodes||(CharCodes={}));var State;(function(State2){State2[State2.Text=1]="Text",State2[State2.BeforeTagName=2]="BeforeTagName",State2[State2.InTagName=3]="InTagName",State2[State2.InSelfClosingTag=4]="InSelfClosingTag",State2[State2.BeforeClosingTagName=5]="BeforeClosingTagName",State2[State2.InClosingTagName=6]="InClosingTagName",State2[State2.AfterClosingTagName=7]="AfterClosingTagName",State2[State2.BeforeAttributeName=8]="BeforeAttributeName",State2[State2.InAttributeName=9]="InAttributeName",State2[State2.AfterAttributeName=10]="AfterAttributeName",State2[State2.BeforeAttributeValue=11]="BeforeAttributeValue",State2[State2.InAttributeValueDq=12]="InAttributeValueDq",State2[State2.InAttributeValueSq=13]="InAttributeValueSq",State2[State2.InAttributeValueNq=14]="InAttributeValueNq",State2[State2.BeforeDeclaration=15]="BeforeDeclaration",State2[State2.InDeclaration=16]="InDeclaration",State2[State2.InProcessingInstruction=17]="InProcessingInstruction",State2[State2.BeforeComment=18]="BeforeComment",State2[State2.CDATASequence=19]="CDATASequence",State2[State2.InSpecialComment=20]="InSpecialComment",State2[State2.InCommentLike=21]="InCommentLike",State2[State2.BeforeSpecialS=22]="BeforeSpecialS",State2[State2.BeforeSpecialT=23]="BeforeSpecialT",State2[State2.SpecialStartSequence=24]="SpecialStartSequence",State2[State2.InSpecialTag=25]="InSpecialTag",State2[State2.InEntity=26]="InEntity"})(State||(State={}));function isWhitespace(c){return c===CharCodes.Space||c===CharCodes.NewLine||c===CharCodes.Tab||c===CharCodes.FormFeed||c===CharCodes.CarriageReturn}function isEndOfTagSection(c){return c===CharCodes.Slash||c===CharCodes.Gt||isWhitespace(c)}function isASCIIAlpha(c){return c>=CharCodes.LowerA&&c<=CharCodes.LowerZ||c>=CharCodes.UpperA&&c<=CharCodes.UpperZ}var QuoteType;(function(QuoteType2){QuoteType2[QuoteType2.NoValue=0]="NoValue",QuoteType2[QuoteType2.Unquoted=1]="Unquoted",QuoteType2[QuoteType2.Single=2]="Single",QuoteType2[QuoteType2.Double=3]="Double"})(QuoteType||(exports.QuoteType=QuoteType={}));var Sequences={Cdata:new Uint8Array([67,68,65,84,65,91]),CdataEnd:new Uint8Array([93,93,62]),CommentEnd:new Uint8Array([45,45,62]),ScriptEnd:new Uint8Array([60,47,115,99,114,105,112,116]),StyleEnd:new Uint8Array([60,47,115,116,121,108,101]),TitleEnd:new Uint8Array([60,47,116,105,116,108,101]),TextareaEnd:new Uint8Array([60,47,116,101,120,116,97,114,101,97]),XmpEnd:new Uint8Array([60,47,120,109,112])},Tokenizer=class{constructor({xmlMode=!1,decodeEntities=!0},cbs){this.cbs=cbs,this.state=State.Text,this.buffer="",this.sectionStart=0,this.index=0,this.entityStart=0,this.baseState=State.Text,this.isSpecial=!1,this.running=!0,this.offset=0,this.currentSequence=void 0,this.sequenceIndex=0,this.xmlMode=xmlMode,this.decodeEntities=decodeEntities,this.entityDecoder=new decode_1.EntityDecoder(xmlMode?decode_1.xmlDecodeTree:decode_1.htmlDecodeTree,(cp,consumed)=>this.emitCodePoint(cp,consumed))}reset(){this.state=State.Text,this.buffer="",this.sectionStart=0,this.index=0,this.baseState=State.Text,this.currentSequence=void 0,this.running=!0,this.offset=0}write(chunk){this.offset+=this.buffer.length,this.buffer=chunk,this.parse()}end(){this.running&&this.finish()}pause(){this.running=!1}resume(){this.running=!0,this.index<this.buffer.length+this.offset&&this.parse()}stateText(c){c===CharCodes.Lt||!this.decodeEntities&&this.fastForwardTo(CharCodes.Lt)?(this.index>this.sectionStart&&this.cbs.ontext(this.sectionStart,this.index),this.state=State.BeforeTagName,this.sectionStart=this.index):this.decodeEntities&&c===CharCodes.Amp&&this.startEntity()}stateSpecialStartSequence(c){let isEnd=this.sequenceIndex===this.currentSequence.length;if(!(isEnd?isEndOfTagSection(c):(c|32)===this.currentSequence[this.sequenceIndex]))this.isSpecial=!1;else if(!isEnd){this.sequenceIndex++;return}this.sequenceIndex=0,this.state=State.InTagName,this.stateInTagName(c)}stateInSpecialTag(c){if(this.sequenceIndex===this.currentSequence.length){if(c===CharCodes.Gt||isWhitespace(c)){let endOfText=this.index-this.currentSequence.length;if(this.sectionStart<endOfText){let actualIndex=this.index;this.index=endOfText,this.cbs.ontext(this.sectionStart,endOfText),this.index=actualIndex}this.isSpecial=!1,this.sectionStart=endOfText+2,this.stateInClosingTagName(c);return}this.sequenceIndex=0}(c|32)===this.currentSequence[this.sequenceIndex]?this.sequenceIndex+=1:this.sequenceIndex===0?this.currentSequence===Sequences.TitleEnd?this.decodeEntities&&c===CharCodes.Amp&&this.startEntity():this.fastForwardTo(CharCodes.Lt)&&(this.sequenceIndex=1):this.sequenceIndex=+(c===CharCodes.Lt)}stateCDATASequence(c){c===Sequences.Cdata[this.sequenceIndex]?++this.sequenceIndex===Sequences.Cdata.length&&(this.state=State.InCommentLike,this.currentSequence=Sequences.CdataEnd,this.sequenceIndex=0,this.sectionStart=this.index+1):(this.sequenceIndex=0,this.state=State.InDeclaration,this.stateInDeclaration(c))}fastForwardTo(c){for(;++this.index<this.buffer.length+this.offset;)if(this.buffer.charCodeAt(this.index-this.offset)===c)return!0;return this.index=this.buffer.length+this.offset-1,!1}stateInCommentLike(c){c===this.currentSequence[this.sequenceIndex]?++this.sequenceIndex===this.currentSequence.length&&(this.currentSequence===Sequences.CdataEnd?this.cbs.oncdata(this.sectionStart,this.index,2):this.cbs.oncomment(this.sectionStart,this.index,2),this.sequenceIndex=0,this.sectionStart=this.index+1,this.state=State.Text):this.sequenceIndex===0?this.fastForwardTo(this.currentSequence[0])&&(this.sequenceIndex=1):c!==this.currentSequence[this.sequenceIndex-1]&&(this.sequenceIndex=0)}isTagStartChar(c){return this.xmlMode?!isEndOfTagSection(c):isASCIIAlpha(c)}startSpecial(sequence,offset){this.isSpecial=!0,this.currentSequence=sequence,this.sequenceIndex=offset,this.state=State.SpecialStartSequence}stateBeforeTagName(c){if(c===CharCodes.ExclamationMark)this.state=State.BeforeDeclaration,this.sectionStart=this.index+1;else if(c===CharCodes.Questionmark)this.state=State.InProcessingInstruction,this.sectionStart=this.index+1;else if(this.isTagStartChar(c)){let lower=c|32;this.sectionStart=this.index,this.xmlMode?this.state=State.InTagName:lower===Sequences.ScriptEnd[2]?this.state=State.BeforeSpecialS:lower===Sequences.TitleEnd[2]||lower===Sequences.XmpEnd[2]?this.state=State.BeforeSpecialT:this.state=State.InTagName}else c===CharCodes.Slash?this.state=State.BeforeClosingTagName:(this.state=State.Text,this.stateText(c))}stateInTagName(c){isEndOfTagSection(c)&&(this.cbs.onopentagname(this.sectionStart,this.index),this.sectionStart=-1,this.state=State.BeforeAttributeName,this.stateBeforeAttributeName(c))}stateBeforeClosingTagName(c){isWhitespace(c)||(c===CharCodes.Gt?this.state=State.Text:(this.state=this.isTagStartChar(c)?State.InClosingTagName:State.InSpecialComment,this.sectionStart=this.index))}stateInClosingTagName(c){(c===CharCodes.Gt||isWhitespace(c))&&(this.cbs.onclosetag(this.sectionStart,this.index),this.sectionStart=-1,this.state=State.AfterClosingTagName,this.stateAfterClosingTagName(c))}stateAfterClosingTagName(c){(c===CharCodes.Gt||this.fastForwardTo(CharCodes.Gt))&&(this.state=State.Text,this.sectionStart=this.index+1)}stateBeforeAttributeName(c){c===CharCodes.Gt?(this.cbs.onopentagend(this.index),this.isSpecial?(this.state=State.InSpecialTag,this.sequenceIndex=0):this.state=State.Text,this.sectionStart=this.index+1):c===CharCodes.Slash?this.state=State.InSelfClosingTag:isWhitespace(c)||(this.state=State.InAttributeName,this.sectionStart=this.index)}stateInSelfClosingTag(c){c===CharCodes.Gt?(this.cbs.onselfclosingtag(this.index),this.state=State.Text,this.sectionStart=this.index+1,this.isSpecial=!1):isWhitespace(c)||(this.state=State.BeforeAttributeName,this.stateBeforeAttributeName(c))}stateInAttributeName(c){(c===CharCodes.Eq||isEndOfTagSection(c))&&(this.cbs.onattribname(this.sectionStart,this.index),this.sectionStart=this.index,this.state=State.AfterAttributeName,this.stateAfterAttributeName(c))}stateAfterAttributeName(c){c===CharCodes.Eq?this.state=State.BeforeAttributeValue:c===CharCodes.Slash||c===CharCodes.Gt?(this.cbs.onattribend(QuoteType.NoValue,this.sectionStart),this.sectionStart=-1,this.state=State.BeforeAttributeName,this.stateBeforeAttributeName(c)):isWhitespace(c)||(this.cbs.onattribend(QuoteType.NoValue,this.sectionStart),this.state=State.InAttributeName,this.sectionStart=this.index)}stateBeforeAttributeValue(c){c===CharCodes.DoubleQuote?(this.state=State.InAttributeValueDq,this.sectionStart=this.index+1):c===CharCodes.SingleQuote?(this.state=State.InAttributeValueSq,this.sectionStart=this.index+1):isWhitespace(c)||(this.sectionStart=this.index,this.state=State.InAttributeValueNq,this.stateInAttributeValueNoQuotes(c))}handleInAttributeValue(c,quote){c===quote||!this.decodeEntities&&this.fastForwardTo(quote)?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(quote===CharCodes.DoubleQuote?QuoteType.Double:QuoteType.Single,this.index+1),this.state=State.BeforeAttributeName):this.decodeEntities&&c===CharCodes.Amp&&this.startEntity()}stateInAttributeValueDoubleQuotes(c){this.handleInAttributeValue(c,CharCodes.DoubleQuote)}stateInAttributeValueSingleQuotes(c){this.handleInAttributeValue(c,CharCodes.SingleQuote)}stateInAttributeValueNoQuotes(c){isWhitespace(c)||c===CharCodes.Gt?(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=-1,this.cbs.onattribend(QuoteType.Unquoted,this.index),this.state=State.BeforeAttributeName,this.stateBeforeAttributeName(c)):this.decodeEntities&&c===CharCodes.Amp&&this.startEntity()}stateBeforeDeclaration(c){c===CharCodes.OpeningSquareBracket?(this.state=State.CDATASequence,this.sequenceIndex=0):this.state=c===CharCodes.Dash?State.BeforeComment:State.InDeclaration}stateInDeclaration(c){(c===CharCodes.Gt||this.fastForwardTo(CharCodes.Gt))&&(this.cbs.ondeclaration(this.sectionStart,this.index),this.state=State.Text,this.sectionStart=this.index+1)}stateInProcessingInstruction(c){(c===CharCodes.Gt||this.fastForwardTo(CharCodes.Gt))&&(this.cbs.onprocessinginstruction(this.sectionStart,this.index),this.state=State.Text,this.sectionStart=this.index+1)}stateBeforeComment(c){c===CharCodes.Dash?(this.state=State.InCommentLike,this.currentSequence=Sequences.CommentEnd,this.sequenceIndex=2,this.sectionStart=this.index+1):this.state=State.InDeclaration}stateInSpecialComment(c){(c===CharCodes.Gt||this.fastForwardTo(CharCodes.Gt))&&(this.cbs.oncomment(this.sectionStart,this.index,0),this.state=State.Text,this.sectionStart=this.index+1)}stateBeforeSpecialS(c){let lower=c|32;lower===Sequences.ScriptEnd[3]?this.startSpecial(Sequences.ScriptEnd,4):lower===Sequences.StyleEnd[3]?this.startSpecial(Sequences.StyleEnd,4):(this.state=State.InTagName,this.stateInTagName(c))}stateBeforeSpecialT(c){switch(c|32){case Sequences.TitleEnd[3]:{this.startSpecial(Sequences.TitleEnd,4);break}case Sequences.TextareaEnd[3]:{this.startSpecial(Sequences.TextareaEnd,4);break}case Sequences.XmpEnd[3]:{this.startSpecial(Sequences.XmpEnd,4);break}default:this.state=State.InTagName,this.stateInTagName(c)}}startEntity(){this.baseState=this.state,this.state=State.InEntity,this.entityStart=this.index,this.entityDecoder.startEntity(this.xmlMode?decode_1.DecodingMode.Strict:this.baseState===State.Text||this.baseState===State.InSpecialTag?decode_1.DecodingMode.Legacy:decode_1.DecodingMode.Attribute)}stateInEntity(){let indexInBuffer=this.index-this.offset,length=this.entityDecoder.write(this.buffer,indexInBuffer);if(length>=0)this.state=this.baseState,length===0&&(this.index-=1);else{if(indexInBuffer<this.buffer.length&&this.buffer.charCodeAt(indexInBuffer)===CharCodes.Amp){this.state=this.baseState,this.index-=1;return}this.index=this.offset+this.buffer.length-1}}cleanup(){this.running&&this.sectionStart!==this.index&&(this.state===State.Text||this.state===State.InSpecialTag&&this.sequenceIndex===0?(this.cbs.ontext(this.sectionStart,this.index),this.sectionStart=this.index):(this.state===State.InAttributeValueDq||this.state===State.InAttributeValueSq||this.state===State.InAttributeValueNq)&&(this.cbs.onattribdata(this.sectionStart,this.index),this.sectionStart=this.index))}shouldContinue(){return this.index<this.buffer.length+this.offset&&this.running}parse(){for(;this.shouldContinue();){let c=this.buffer.charCodeAt(this.index-this.offset);switch(this.state){case State.Text:{this.stateText(c);break}case State.SpecialStartSequence:{this.stateSpecialStartSequence(c);break}case State.InSpecialTag:{this.stateInSpecialTag(c);break}case State.CDATASequence:{this.stateCDATASequence(c);break}case State.InAttributeValueDq:{this.stateInAttributeValueDoubleQuotes(c);break}case State.InAttributeName:{this.stateInAttributeName(c);break}case State.InCommentLike:{this.stateInCommentLike(c);break}case State.InSpecialComment:{this.stateInSpecialComment(c);break}case State.BeforeAttributeName:{this.stateBeforeAttributeName(c);break}case State.InTagName:{this.stateInTagName(c);break}case State.InClosingTagName:{this.stateInClosingTagName(c);break}case State.BeforeTagName:{this.stateBeforeTagName(c);break}case State.AfterAttributeName:{this.stateAfterAttributeName(c);break}case State.InAttributeValueSq:{this.stateInAttributeValueSingleQuotes(c);break}case State.BeforeAttributeValue:{this.stateBeforeAttributeValue(c);break}case State.BeforeClosingTagName:{this.stateBeforeClosingTagName(c);break}case State.AfterClosingTagName:{this.stateAfterClosingTagName(c);break}case State.BeforeSpecialS:{this.stateBeforeSpecialS(c);break}case State.BeforeSpecialT:{this.stateBeforeSpecialT(c);break}case State.InAttributeValueNq:{this.stateInAttributeValueNoQuotes(c);break}case State.InSelfClosingTag:{this.stateInSelfClosingTag(c);break}case State.InDeclaration:{this.stateInDeclaration(c);break}case State.BeforeDeclaration:{this.stateBeforeDeclaration(c);break}case State.BeforeComment:{this.stateBeforeComment(c);break}case State.InProcessingInstruction:{this.stateInProcessingInstruction(c);break}case State.InEntity:{this.stateInEntity();break}}this.index++}this.cleanup()}finish(){this.state===State.InEntity&&(this.entityDecoder.end(),this.state=this.baseState),this.handleTrailingData(),this.cbs.onend()}handleTrailingData(){let endIndex=this.buffer.length+this.offset;this.sectionStart>=endIndex||(this.state===State.InCommentLike?this.currentSequence===Sequences.CdataEnd?this.cbs.oncdata(this.sectionStart,endIndex,0):this.cbs.oncomment(this.sectionStart,endIndex,0):this.state===State.InTagName||this.state===State.BeforeAttributeName||this.state===State.BeforeAttributeValue||this.state===State.AfterAttributeName||this.state===State.InAttributeName||this.state===State.InAttributeValueSq||this.state===State.InAttributeValueDq||this.state===State.InAttributeValueNq||this.state===State.InClosingTagName||this.cbs.ontext(this.sectionStart,endIndex))}emitCodePoint(cp,consumed){this.baseState!==State.Text&&this.baseState!==State.InSpecialTag?(this.sectionStart<this.entityStart&&this.cbs.onattribdata(this.sectionStart,this.entityStart),this.sectionStart=this.entityStart+consumed,this.index=this.sectionStart-1,this.cbs.onattribentity(cp)):(this.sectionStart<this.entityStart&&this.cbs.ontext(this.sectionStart,this.entityStart),this.sectionStart=this.entityStart+consumed,this.index=this.sectionStart-1,this.cbs.ontextentity(cp,this.sectionStart))}};exports.default=Tokenizer}});var require_Parser=__commonJS({"node_modules/htmlparser2/dist/commonjs/Parser.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})();Object.defineProperty(exports,"__esModule",{value:!0});exports.Parser=void 0;var Tokenizer_js_1=__importStar(require_Tokenizer()),decode_1=require_decode(),formTags=new Set(["input","option","optgroup","select","button","datalist","textarea"]),pTag=new Set(["p"]),tableSectionTags=new Set(["thead","tbody"]),ddtTags=new Set(["dd","dt"]),rtpTags=new Set(["rt","rp"]),openImpliesClose=new Map([["tr",new Set(["tr","th","td"])],["th",new Set(["th"])],["td",new Set(["thead","th","td"])],["body",new Set(["head","link","script"])],["li",new Set(["li"])],["p",pTag],["h1",pTag],["h2",pTag],["h3",pTag],["h4",pTag],["h5",pTag],["h6",pTag],["select",formTags],["input",formTags],["output",formTags],["button",formTags],["datalist",formTags],["textarea",formTags],["option",new Set(["option"])],["optgroup",new Set(["optgroup","option"])],["dd",ddtTags],["dt",ddtTags],["address",pTag],["article",pTag],["aside",pTag],["blockquote",pTag],["details",pTag],["div",pTag],["dl",pTag],["fieldset",pTag],["figcaption",pTag],["figure",pTag],["footer",pTag],["form",pTag],["header",pTag],["hr",pTag],["main",pTag],["nav",pTag],["ol",pTag],["pre",pTag],["section",pTag],["table",pTag],["ul",pTag],["rt",rtpTags],["rp",rtpTags],["tbody",tableSectionTags],["tfoot",tableSectionTags]]),voidElements=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]),foreignContextElements=new Set(["math","svg"]),htmlIntegrationElements=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignobject","desc","title"]),reNameEnd=/\s|\//,Parser=class{constructor(cbs,options={}){var _a,_b,_c,_d,_e,_f;this.options=options,this.startIndex=0,this.endIndex=0,this.openTagStart=0,this.tagname="",this.attribname="",this.attribvalue="",this.attribs=null,this.stack=[],this.buffers=[],this.bufferOffset=0,this.writeIndex=0,this.ended=!1,this.cbs=cbs??{},this.htmlMode=!this.options.xmlMode,this.lowerCaseTagNames=(_a=options.lowerCaseTags)!==null&&_a!==void 0?_a:this.htmlMode,this.lowerCaseAttributeNames=(_b=options.lowerCaseAttributeNames)!==null&&_b!==void 0?_b:this.htmlMode,this.recognizeSelfClosing=(_c=options.recognizeSelfClosing)!==null&&_c!==void 0?_c:!this.htmlMode,this.tokenizer=new((_d=options.Tokenizer)!==null&&_d!==void 0?_d:Tokenizer_js_1.default)(this.options,this),this.foreignContext=[!this.htmlMode],(_f=(_e=this.cbs).onparserinit)===null||_f===void 0||_f.call(_e,this)}ontext(start,endIndex){var _a,_b;let data=this.getSlice(start,endIndex);this.endIndex=endIndex-1,(_b=(_a=this.cbs).ontext)===null||_b===void 0||_b.call(_a,data),this.startIndex=endIndex}ontextentity(cp,endIndex){var _a,_b;this.endIndex=endIndex-1,(_b=(_a=this.cbs).ontext)===null||_b===void 0||_b.call(_a,(0,decode_1.fromCodePoint)(cp)),this.startIndex=endIndex}isVoidElement(name){return this.htmlMode&&voidElements.has(name)}onopentagname(start,endIndex){this.endIndex=endIndex;let name=this.getSlice(start,endIndex);this.lowerCaseTagNames&&(name=name.toLowerCase()),this.emitOpenTag(name)}emitOpenTag(name){var _a,_b,_c,_d;this.openTagStart=this.startIndex,this.tagname=name;let impliesClose=this.htmlMode&&openImpliesClose.get(name);if(impliesClose)for(;this.stack.length>0&&impliesClose.has(this.stack[0]);){let element=this.stack.shift();(_b=(_a=this.cbs).onclosetag)===null||_b===void 0||_b.call(_a,element,!0)}this.isVoidElement(name)||(this.stack.unshift(name),this.htmlMode&&(foreignContextElements.has(name)?this.foreignContext.unshift(!0):htmlIntegrationElements.has(name)&&this.foreignContext.unshift(!1))),(_d=(_c=this.cbs).onopentagname)===null||_d===void 0||_d.call(_c,name),this.cbs.onopentag&&(this.attribs={})}endOpenTag(isImplied){var _a,_b;this.startIndex=this.openTagStart,this.attribs&&((_b=(_a=this.cbs).onopentag)===null||_b===void 0||_b.call(_a,this.tagname,this.attribs,isImplied),this.attribs=null),this.cbs.onclosetag&&this.isVoidElement(this.tagname)&&this.cbs.onclosetag(this.tagname,!0),this.tagname=""}onopentagend(endIndex){this.endIndex=endIndex,this.endOpenTag(!1),this.startIndex=endIndex+1}onclosetag(start,endIndex){var _a,_b,_c,_d,_e,_f,_g,_h;this.endIndex=endIndex;let name=this.getSlice(start,endIndex);if(this.lowerCaseTagNames&&(name=name.toLowerCase()),this.htmlMode&&(foreignContextElements.has(name)||htmlIntegrationElements.has(name))&&this.foreignContext.shift(),this.isVoidElement(name))this.htmlMode&&name==="br"&&((_d=(_c=this.cbs).onopentagname)===null||_d===void 0||_d.call(_c,"br"),(_f=(_e=this.cbs).onopentag)===null||_f===void 0||_f.call(_e,"br",{},!0),(_h=(_g=this.cbs).onclosetag)===null||_h===void 0||_h.call(_g,"br",!1));else{let pos=this.stack.indexOf(name);if(pos!==-1)for(let index=0;index<=pos;index++){let element=this.stack.shift();(_b=(_a=this.cbs).onclosetag)===null||_b===void 0||_b.call(_a,element,index!==pos)}else this.htmlMode&&name==="p"&&(this.emitOpenTag("p"),this.closeCurrentTag(!0))}this.startIndex=endIndex+1}onselfclosingtag(endIndex){this.endIndex=endIndex,this.recognizeSelfClosing||this.foreignContext[0]?(this.closeCurrentTag(!1),this.startIndex=endIndex+1):this.onopentagend(endIndex)}closeCurrentTag(isOpenImplied){var _a,_b;let name=this.tagname;this.endOpenTag(isOpenImplied),this.stack[0]===name&&((_b=(_a=this.cbs).onclosetag)===null||_b===void 0||_b.call(_a,name,!isOpenImplied),this.stack.shift())}onattribname(start,endIndex){this.startIndex=start;let name=this.getSlice(start,endIndex);this.attribname=this.lowerCaseAttributeNames?name.toLowerCase():name}onattribdata(start,endIndex){this.attribvalue+=this.getSlice(start,endIndex)}onattribentity(cp){this.attribvalue+=(0,decode_1.fromCodePoint)(cp)}onattribend(quote,endIndex){var _a,_b;this.endIndex=endIndex,(_b=(_a=this.cbs).onattribute)===null||_b===void 0||_b.call(_a,this.attribname,this.attribvalue,quote===Tokenizer_js_1.QuoteType.Double?'"':quote===Tokenizer_js_1.QuoteType.Single?"'":quote===Tokenizer_js_1.QuoteType.NoValue?void 0:null),this.attribs&&!Object.prototype.hasOwnProperty.call(this.attribs,this.attribname)&&(this.attribs[this.attribname]=this.attribvalue),this.attribvalue=""}getInstructionName(value){let index=value.search(reNameEnd),name=index<0?value:value.substr(0,index);return this.lowerCaseTagNames&&(name=name.toLowerCase()),name}ondeclaration(start,endIndex){this.endIndex=endIndex;let value=this.getSlice(start,endIndex);if(this.cbs.onprocessinginstruction){let name=this.getInstructionName(value);this.cbs.onprocessinginstruction(`!${name}`,`!${value}`)}this.startIndex=endIndex+1}onprocessinginstruction(start,endIndex){this.endIndex=endIndex;let value=this.getSlice(start,endIndex);if(this.cbs.onprocessinginstruction){let name=this.getInstructionName(value);this.cbs.onprocessinginstruction(`?${name}`,`?${value}`)}this.startIndex=endIndex+1}oncomment(start,endIndex,offset){var _a,_b,_c,_d;this.endIndex=endIndex,(_b=(_a=this.cbs).oncomment)===null||_b===void 0||_b.call(_a,this.getSlice(start,endIndex-offset)),(_d=(_c=this.cbs).oncommentend)===null||_d===void 0||_d.call(_c),this.startIndex=endIndex+1}oncdata(start,endIndex,offset){var _a,_b,_c,_d,_e,_f,_g,_h,_j,_k;this.endIndex=endIndex;let value=this.getSlice(start,endIndex-offset);!this.htmlMode||this.options.recognizeCDATA?((_b=(_a=this.cbs).oncdatastart)===null||_b===void 0||_b.call(_a),(_d=(_c=this.cbs).ontext)===null||_d===void 0||_d.call(_c,value),(_f=(_e=this.cbs).oncdataend)===null||_f===void 0||_f.call(_e)):((_h=(_g=this.cbs).oncomment)===null||_h===void 0||_h.call(_g,`[CDATA[${value}]]`),(_k=(_j=this.cbs).oncommentend)===null||_k===void 0||_k.call(_j)),this.startIndex=endIndex+1}onend(){var _a,_b;if(this.cbs.onclosetag){this.endIndex=this.startIndex;for(let index=0;index<this.stack.length;index++)this.cbs.onclosetag(this.stack[index],!0)}(_b=(_a=this.cbs).onend)===null||_b===void 0||_b.call(_a)}reset(){var _a,_b,_c,_d;(_b=(_a=this.cbs).onreset)===null||_b===void 0||_b.call(_a),this.tokenizer.reset(),this.tagname="",this.attribname="",this.attribs=null,this.stack.length=0,this.startIndex=0,this.endIndex=0,(_d=(_c=this.cbs).onparserinit)===null||_d===void 0||_d.call(_c,this),this.buffers.length=0,this.foreignContext.length=0,this.foreignContext.unshift(!this.htmlMode),this.bufferOffset=0,this.writeIndex=0,this.ended=!1}parseComplete(data){this.reset(),this.end(data)}getSlice(start,end){for(;start-this.bufferOffset>=this.buffers[0].length;)this.shiftBuffer();let slice=this.buffers[0].slice(start-this.bufferOffset,end-this.bufferOffset);for(;end-this.bufferOffset>this.buffers[0].length;)this.shiftBuffer(),slice+=this.buffers[0].slice(0,end-this.bufferOffset);return slice}shiftBuffer(){this.bufferOffset+=this.buffers[0].length,this.writeIndex--,this.buffers.shift()}write(chunk){var _a,_b;if(this.ended){(_b=(_a=this.cbs).onerror)===null||_b===void 0||_b.call(_a,new Error(".write() after done!"));return}this.buffers.push(chunk),this.tokenizer.running&&(this.tokenizer.write(chunk),this.writeIndex++)}end(chunk){var _a,_b;if(this.ended){(_b=(_a=this.cbs).onerror)===null||_b===void 0||_b.call(_a,new Error(".end() after done!"));return}chunk&&this.write(chunk),this.ended=!0,this.tokenizer.end()}pause(){this.tokenizer.pause()}resume(){for(this.tokenizer.resume();this.tokenizer.running&&this.writeIndex<this.buffers.length;)this.tokenizer.write(this.buffers[this.writeIndex++]);this.ended&&this.tokenizer.end()}parseChunk(chunk){this.write(chunk)}done(chunk){this.end(chunk)}};exports.Parser=Parser}});var require_lib3=__commonJS({"node_modules/htmlparser2/node_modules/domelementtype/lib/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.Doctype=exports.CDATA=exports.Tag=exports.Style=exports.Script=exports.Comment=exports.Directive=exports.Text=exports.Root=exports.isTag=exports.ElementType=void 0;var ElementType;(function(ElementType2){ElementType2.Root="root",ElementType2.Text="text",ElementType2.Directive="directive",ElementType2.Comment="comment",ElementType2.Script="script",ElementType2.Style="style",ElementType2.Tag="tag",ElementType2.CDATA="cdata",ElementType2.Doctype="doctype"})(ElementType=exports.ElementType||(exports.ElementType={}));function isTag(elem){return elem.type===ElementType.Tag||elem.type===ElementType.Script||elem.type===ElementType.Style}exports.isTag=isTag;exports.Root=ElementType.Root;exports.Text=ElementType.Text;exports.Directive=ElementType.Directive;exports.Comment=ElementType.Comment;exports.Script=ElementType.Script;exports.Style=ElementType.Style;exports.Tag=ElementType.Tag;exports.CDATA=ElementType.CDATA;exports.Doctype=ElementType.Doctype}});var require_node=__commonJS({"node_modules/htmlparser2/node_modules/domhandler/lib/node.js"(exports){"use strict";var __extends=exports&&exports.__extends||(function(){var extendStatics=function(d,b){return extendStatics=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(d2,b2){d2.__proto__=b2}||function(d2,b2){for(var p in b2)Object.prototype.hasOwnProperty.call(b2,p)&&(d2[p]=b2[p])},extendStatics(d,b)};return function(d,b){if(typeof b!="function"&&b!==null)throw new TypeError("Class extends value "+String(b)+" is not a constructor or null");extendStatics(d,b);function __(){this.constructor=d}d.prototype=b===null?Object.create(b):(__.prototype=b.prototype,new __)}})(),__assign=exports&&exports.__assign||function(){return __assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p])}return t},__assign.apply(this,arguments)};Object.defineProperty(exports,"__esModule",{value:!0});exports.cloneNode=exports.hasChildren=exports.isDocument=exports.isDirective=exports.isComment=exports.isText=exports.isCDATA=exports.isTag=exports.Element=exports.Document=exports.CDATA=exports.NodeWithChildren=exports.ProcessingInstruction=exports.Comment=exports.Text=exports.DataNode=exports.Node=void 0;var domelementtype_1=require_lib3(),Node=(function(){function Node2(){this.parent=null,this.prev=null,this.next=null,this.startIndex=null,this.endIndex=null}return Object.defineProperty(Node2.prototype,"parentNode",{get:function(){return this.parent},set:function(parent){this.parent=parent},enumerable:!1,configurable:!0}),Object.defineProperty(Node2.prototype,"previousSibling",{get:function(){return this.prev},set:function(prev){this.prev=prev},enumerable:!1,configurable:!0}),Object.defineProperty(Node2.prototype,"nextSibling",{get:function(){return this.next},set:function(next){this.next=next},enumerable:!1,configurable:!0}),Node2.prototype.cloneNode=function(recursive){return recursive===void 0&&(recursive=!1),cloneNode(this,recursive)},Node2})();exports.Node=Node;var DataNode=(function(_super){__extends(DataNode2,_super);function DataNode2(data){var _this=_super.call(this)||this;return _this.data=data,_this}return Object.defineProperty(DataNode2.prototype,"nodeValue",{get:function(){return this.data},set:function(data){this.data=data},enumerable:!1,configurable:!0}),DataNode2})(Node);exports.DataNode=DataNode;var Text=(function(_super){__extends(Text2,_super);function Text2(){var _this=_super!==null&&_super.apply(this,arguments)||this;return _this.type=domelementtype_1.ElementType.Text,_this}return Object.defineProperty(Text2.prototype,"nodeType",{get:function(){return 3},enumerable:!1,configurable:!0}),Text2})(DataNode);exports.Text=Text;var Comment=(function(_super){__extends(Comment2,_super);function Comment2(){var _this=_super!==null&&_super.apply(this,arguments)||this;return _this.type=domelementtype_1.ElementType.Comment,_this}return Object.defineProperty(Comment2.prototype,"nodeType",{get:function(){return 8},enumerable:!1,configurable:!0}),Comment2})(DataNode);exports.Comment=Comment;var ProcessingInstruction=(function(_super){__extends(ProcessingInstruction2,_super);function ProcessingInstruction2(name,data){var _this=_super.call(this,data)||this;return _this.name=name,_this.type=domelementtype_1.ElementType.Directive,_this}return Object.defineProperty(ProcessingInstruction2.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),ProcessingInstruction2})(DataNode);exports.ProcessingInstruction=ProcessingInstruction;var NodeWithChildren=(function(_super){__extends(NodeWithChildren2,_super);function NodeWithChildren2(children){var _this=_super.call(this)||this;return _this.children=children,_this}return Object.defineProperty(NodeWithChildren2.prototype,"firstChild",{get:function(){var _a;return(_a=this.children[0])!==null&&_a!==void 0?_a:null},enumerable:!1,configurable:!0}),Object.defineProperty(NodeWithChildren2.prototype,"lastChild",{get:function(){return this.children.length>0?this.children[this.children.length-1]:null},enumerable:!1,configurable:!0}),Object.defineProperty(NodeWithChildren2.prototype,"childNodes",{get:function(){return this.children},set:function(children){this.children=children},enumerable:!1,configurable:!0}),NodeWithChildren2})(Node);exports.NodeWithChildren=NodeWithChildren;var CDATA=(function(_super){__extends(CDATA2,_super);function CDATA2(){var _this=_super!==null&&_super.apply(this,arguments)||this;return _this.type=domelementtype_1.ElementType.CDATA,_this}return Object.defineProperty(CDATA2.prototype,"nodeType",{get:function(){return 4},enumerable:!1,configurable:!0}),CDATA2})(NodeWithChildren);exports.CDATA=CDATA;var Document=(function(_super){__extends(Document2,_super);function Document2(){var _this=_super!==null&&_super.apply(this,arguments)||this;return _this.type=domelementtype_1.ElementType.Root,_this}return Object.defineProperty(Document2.prototype,"nodeType",{get:function(){return 9},enumerable:!1,configurable:!0}),Document2})(NodeWithChildren);exports.Document=Document;var Element=(function(_super){__extends(Element2,_super);function Element2(name,attribs,children,type){children===void 0&&(children=[]),type===void 0&&(type=name==="script"?domelementtype_1.ElementType.Script:name==="style"?domelementtype_1.ElementType.Style:domelementtype_1.ElementType.Tag);var _this=_super.call(this,children)||this;return _this.name=name,_this.attribs=attribs,_this.type=type,_this}return Object.defineProperty(Element2.prototype,"nodeType",{get:function(){return 1},enumerable:!1,configurable:!0}),Object.defineProperty(Element2.prototype,"tagName",{get:function(){return this.name},set:function(name){this.name=name},enumerable:!1,configurable:!0}),Object.defineProperty(Element2.prototype,"attributes",{get:function(){var _this=this;return Object.keys(this.attribs).map(function(name){var _a,_b;return{name,value:_this.attribs[name],namespace:(_a=_this["x-attribsNamespace"])===null||_a===void 0?void 0:_a[name],prefix:(_b=_this["x-attribsPrefix"])===null||_b===void 0?void 0:_b[name]}})},enumerable:!1,configurable:!0}),Element2})(NodeWithChildren);exports.Element=Element;function isTag(node){return(0,domelementtype_1.isTag)(node)}exports.isTag=isTag;function isCDATA(node){return node.type===domelementtype_1.ElementType.CDATA}exports.isCDATA=isCDATA;function isText(node){return node.type===domelementtype_1.ElementType.Text}exports.isText=isText;function isComment(node){return node.type===domelementtype_1.ElementType.Comment}exports.isComment=isComment;function isDirective(node){return node.type===domelementtype_1.ElementType.Directive}exports.isDirective=isDirective;function isDocument(node){return node.type===domelementtype_1.ElementType.Root}exports.isDocument=isDocument;function hasChildren(node){return Object.prototype.hasOwnProperty.call(node,"children")}exports.hasChildren=hasChildren;function cloneNode(node,recursive){recursive===void 0&&(recursive=!1);var result;if(isText(node))result=new Text(node.data);else if(isComment(node))result=new Comment(node.data);else if(isTag(node)){var children=recursive?cloneChildren(node.children):[],clone_1=new Element(node.name,__assign({},node.attribs),children);children.forEach(function(child){return child.parent=clone_1}),node.namespace!=null&&(clone_1.namespace=node.namespace),node["x-attribsNamespace"]&&(clone_1["x-attribsNamespace"]=__assign({},node["x-attribsNamespace"])),node["x-attribsPrefix"]&&(clone_1["x-attribsPrefix"]=__assign({},node["x-attribsPrefix"])),result=clone_1}else if(isCDATA(node)){var children=recursive?cloneChildren(node.children):[],clone_2=new CDATA(children);children.forEach(function(child){return child.parent=clone_2}),result=clone_2}else if(isDocument(node)){var children=recursive?cloneChildren(node.children):[],clone_3=new Document(children);children.forEach(function(child){return child.parent=clone_3}),node["x-mode"]&&(clone_3["x-mode"]=node["x-mode"]),result=clone_3}else if(isDirective(node)){var instruction=new ProcessingInstruction(node.name,node.data);node["x-name"]!=null&&(instruction["x-name"]=node["x-name"],instruction["x-publicId"]=node["x-publicId"],instruction["x-systemId"]=node["x-systemId"]),result=instruction}else throw new Error("Not implemented yet: ".concat(node.type));return result.startIndex=node.startIndex,result.endIndex=node.endIndex,node.sourceCodeLocation!=null&&(result.sourceCodeLocation=node.sourceCodeLocation),result}exports.cloneNode=cloneNode;function cloneChildren(childs){for(var children=childs.map(function(child){return cloneNode(child,!0)}),i=1;i<children.length;i++)children[i].prev=children[i-1],children[i-1].next=children[i];return children}}});var require_lib4=__commonJS({"node_modules/htmlparser2/node_modules/domhandler/lib/index.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.DomHandler=void 0;var domelementtype_1=require_lib3(),node_js_1=require_node();__exportStar(require_node(),exports);var defaultOpts={withStartIndices:!1,withEndIndices:!1,xmlMode:!1},DomHandler=(function(){function DomHandler2(callback,options,elementCB){this.dom=[],this.root=new node_js_1.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null,typeof options=="function"&&(elementCB=options,options=defaultOpts),typeof callback=="object"&&(options=callback,callback=void 0),this.callback=callback??null,this.options=options??defaultOpts,this.elementCB=elementCB??null}return DomHandler2.prototype.onparserinit=function(parser){this.parser=parser},DomHandler2.prototype.onreset=function(){this.dom=[],this.root=new node_js_1.Document(this.dom),this.done=!1,this.tagStack=[this.root],this.lastNode=null,this.parser=null},DomHandler2.prototype.onend=function(){this.done||(this.done=!0,this.parser=null,this.handleCallback(null))},DomHandler2.prototype.onerror=function(error){this.handleCallback(error)},DomHandler2.prototype.onclosetag=function(){this.lastNode=null;var elem=this.tagStack.pop();this.options.withEndIndices&&(elem.endIndex=this.parser.endIndex),this.elementCB&&this.elementCB(elem)},DomHandler2.prototype.onopentag=function(name,attribs){var type=this.options.xmlMode?domelementtype_1.ElementType.Tag:void 0,element=new node_js_1.Element(name,attribs,void 0,type);this.addNode(element),this.tagStack.push(element)},DomHandler2.prototype.ontext=function(data){var lastNode=this.lastNode;if(lastNode&&lastNode.type===domelementtype_1.ElementType.Text)lastNode.data+=data,this.options.withEndIndices&&(lastNode.endIndex=this.parser.endIndex);else{var node=new node_js_1.Text(data);this.addNode(node),this.lastNode=node}},DomHandler2.prototype.oncomment=function(data){if(this.lastNode&&this.lastNode.type===domelementtype_1.ElementType.Comment){this.lastNode.data+=data;return}var node=new node_js_1.Comment(data);this.addNode(node),this.lastNode=node},DomHandler2.prototype.oncommentend=function(){this.lastNode=null},DomHandler2.prototype.oncdatastart=function(){var text=new node_js_1.Text(""),node=new node_js_1.CDATA([text]);this.addNode(node),text.parent=node,this.lastNode=text},DomHandler2.prototype.oncdataend=function(){this.lastNode=null},DomHandler2.prototype.onprocessinginstruction=function(name,data){var node=new node_js_1.ProcessingInstruction(name,data);this.addNode(node)},DomHandler2.prototype.handleCallback=function(error){if(typeof this.callback=="function")this.callback(error,this.dom);else if(error)throw error},DomHandler2.prototype.addNode=function(node){var parent=this.tagStack[this.tagStack.length-1],previousSibling=parent.children[parent.children.length-1];this.options.withStartIndices&&(node.startIndex=this.parser.startIndex),this.options.withEndIndices&&(node.endIndex=this.parser.endIndex),parent.children.push(node),previousSibling&&(node.prev=previousSibling,previousSibling.next=node),node.parent=parent,this.lastNode=null},DomHandler2})();exports.DomHandler=DomHandler;exports.default=DomHandler}});var require_decode_data_html2=__commonJS({"node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-html.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=new Uint16Array('\u1D41<\xD5\u0131\u028A\u049D\u057B\u05D0\u0675\u06DE\u07A2\u07D6\u080F\u0A4A\u0A91\u0DA1\u0E6D\u0F09\u0F26\u10CA\u1228\u12E1\u1415\u149D\u14C3\u14DF\u1525\0\0\0\0\0\0\u156B\u16CD\u198D\u1C12\u1DDD\u1F7E\u2060\u21B0\u228D\u23C0\u23FB\u2442\u2824\u2912\u2D08\u2E48\u2FCE\u3016\u32BA\u3639\u37AC\u38FE\u3A28\u3A71\u3AE0\u3B2E\u0800EMabcfglmnoprstu\\bfms\x7F\x84\x8B\x90\x95\x98\xA6\xB3\xB9\xC8\xCFlig\u803B\xC6\u40C6P\u803B&\u4026cute\u803B\xC1\u40C1reve;\u4102\u0100iyx}rc\u803B\xC2\u40C2;\u4410r;\uC000\u{1D504}rave\u803B\xC0\u40C0pha;\u4391acr;\u4100d;\u6A53\u0100gp\x9D\xA1on;\u4104f;\uC000\u{1D538}plyFunction;\u6061ing\u803B\xC5\u40C5\u0100cs\xBE\xC3r;\uC000\u{1D49C}ign;\u6254ilde\u803B\xC3\u40C3ml\u803B\xC4\u40C4\u0400aceforsu\xE5\xFB\xFE\u0117\u011C\u0122\u0127\u012A\u0100cr\xEA\xF2kslash;\u6216\u0176\xF6\xF8;\u6AE7ed;\u6306y;\u4411\u0180crt\u0105\u010B\u0114ause;\u6235noullis;\u612Ca;\u4392r;\uC000\u{1D505}pf;\uC000\u{1D539}eve;\u42D8c\xF2\u0113mpeq;\u624E\u0700HOacdefhilorsu\u014D\u0151\u0156\u0180\u019E\u01A2\u01B5\u01B7\u01BA\u01DC\u0215\u0273\u0278\u027Ecy;\u4427PY\u803B\xA9\u40A9\u0180cpy\u015D\u0162\u017Aute;\u4106\u0100;i\u0167\u0168\u62D2talDifferentialD;\u6145leys;\u612D\u0200aeio\u0189\u018E\u0194\u0198ron;\u410Cdil\u803B\xC7\u40C7rc;\u4108nint;\u6230ot;\u410A\u0100dn\u01A7\u01ADilla;\u40B8terDot;\u40B7\xF2\u017Fi;\u43A7rcle\u0200DMPT\u01C7\u01CB\u01D1\u01D6ot;\u6299inus;\u6296lus;\u6295imes;\u6297o\u0100cs\u01E2\u01F8kwiseContourIntegral;\u6232eCurly\u0100DQ\u0203\u020FoubleQuote;\u601Duote;\u6019\u0200lnpu\u021E\u0228\u0247\u0255on\u0100;e\u0225\u0226\u6237;\u6A74\u0180git\u022F\u0236\u023Aruent;\u6261nt;\u622FourIntegral;\u622E\u0100fr\u024C\u024E;\u6102oduct;\u6210nterClockwiseContourIntegral;\u6233oss;\u6A2Fcr;\uC000\u{1D49E}p\u0100;C\u0284\u0285\u62D3ap;\u624D\u0580DJSZacefios\u02A0\u02AC\u02B0\u02B4\u02B8\u02CB\u02D7\u02E1\u02E6\u0333\u048D\u0100;o\u0179\u02A5trahd;\u6911cy;\u4402cy;\u4405cy;\u440F\u0180grs\u02BF\u02C4\u02C7ger;\u6021r;\u61A1hv;\u6AE4\u0100ay\u02D0\u02D5ron;\u410E;\u4414l\u0100;t\u02DD\u02DE\u6207a;\u4394r;\uC000\u{1D507}\u0100af\u02EB\u0327\u0100cm\u02F0\u0322ritical\u0200ADGT\u0300\u0306\u0316\u031Ccute;\u40B4o\u0174\u030B\u030D;\u42D9bleAcute;\u42DDrave;\u4060ilde;\u42DCond;\u62C4ferentialD;\u6146\u0470\u033D\0\0\0\u0342\u0354\0\u0405f;\uC000\u{1D53B}\u0180;DE\u0348\u0349\u034D\u40A8ot;\u60DCqual;\u6250ble\u0300CDLRUV\u0363\u0372\u0382\u03CF\u03E2\u03F8ontourIntegra\xEC\u0239o\u0274\u0379\0\0\u037B\xBB\u0349nArrow;\u61D3\u0100eo\u0387\u03A4ft\u0180ART\u0390\u0396\u03A1rrow;\u61D0ightArrow;\u61D4e\xE5\u02CAng\u0100LR\u03AB\u03C4eft\u0100AR\u03B3\u03B9rrow;\u67F8ightArrow;\u67FAightArrow;\u67F9ight\u0100AT\u03D8\u03DErrow;\u61D2ee;\u62A8p\u0241\u03E9\0\0\u03EFrrow;\u61D1ownArrow;\u61D5erticalBar;\u6225n\u0300ABLRTa\u0412\u042A\u0430\u045E\u047F\u037Crrow\u0180;BU\u041D\u041E\u0422\u6193ar;\u6913pArrow;\u61F5reve;\u4311eft\u02D2\u043A\0\u0446\0\u0450ightVector;\u6950eeVector;\u695Eector\u0100;B\u0459\u045A\u61BDar;\u6956ight\u01D4\u0467\0\u0471eeVector;\u695Fector\u0100;B\u047A\u047B\u61C1ar;\u6957ee\u0100;A\u0486\u0487\u62A4rrow;\u61A7\u0100ct\u0492\u0497r;\uC000\u{1D49F}rok;\u4110\u0800NTacdfglmopqstux\u04BD\u04C0\u04C4\u04CB\u04DE\u04E2\u04E7\u04EE\u04F5\u0521\u052F\u0536\u0552\u055D\u0560\u0565G;\u414AH\u803B\xD0\u40D0cute\u803B\xC9\u40C9\u0180aiy\u04D2\u04D7\u04DCron;\u411Arc\u803B\xCA\u40CA;\u442Dot;\u4116r;\uC000\u{1D508}rave\u803B\xC8\u40C8ement;\u6208\u0100ap\u04FA\u04FEcr;\u4112ty\u0253\u0506\0\0\u0512mallSquare;\u65FBerySmallSquare;\u65AB\u0100gp\u0526\u052Aon;\u4118f;\uC000\u{1D53C}silon;\u4395u\u0100ai\u053C\u0549l\u0100;T\u0542\u0543\u6A75ilde;\u6242librium;\u61CC\u0100ci\u0557\u055Ar;\u6130m;\u6A73a;\u4397ml\u803B\xCB\u40CB\u0100ip\u056A\u056Fsts;\u6203onentialE;\u6147\u0280cfios\u0585\u0588\u058D\u05B2\u05CCy;\u4424r;\uC000\u{1D509}lled\u0253\u0597\0\0\u05A3mallSquare;\u65FCerySmallSquare;\u65AA\u0370\u05BA\0\u05BF\0\0\u05C4f;\uC000\u{1D53D}All;\u6200riertrf;\u6131c\xF2\u05CB\u0600JTabcdfgorst\u05E8\u05EC\u05EF\u05FA\u0600\u0612\u0616\u061B\u061D\u0623\u066C\u0672cy;\u4403\u803B>\u403Emma\u0100;d\u05F7\u05F8\u4393;\u43DCreve;\u411E\u0180eiy\u0607\u060C\u0610dil;\u4122rc;\u411C;\u4413ot;\u4120r;\uC000\u{1D50A};\u62D9pf;\uC000\u{1D53E}eater\u0300EFGLST\u0635\u0644\u064E\u0656\u065B\u0666qual\u0100;L\u063E\u063F\u6265ess;\u62DBullEqual;\u6267reater;\u6AA2ess;\u6277lantEqual;\u6A7Eilde;\u6273cr;\uC000\u{1D4A2};\u626B\u0400Aacfiosu\u0685\u068B\u0696\u069B\u069E\u06AA\u06BE\u06CARDcy;\u442A\u0100ct\u0690\u0694ek;\u42C7;\u405Eirc;\u4124r;\u610ClbertSpace;\u610B\u01F0\u06AF\0\u06B2f;\u610DizontalLine;\u6500\u0100ct\u06C3\u06C5\xF2\u06A9rok;\u4126mp\u0144\u06D0\u06D8ownHum\xF0\u012Fqual;\u624F\u0700EJOacdfgmnostu\u06FA\u06FE\u0703\u0707\u070E\u071A\u071E\u0721\u0728\u0744\u0778\u078B\u078F\u0795cy;\u4415lig;\u4132cy;\u4401cute\u803B\xCD\u40CD\u0100iy\u0713\u0718rc\u803B\xCE\u40CE;\u4418ot;\u4130r;\u6111rave\u803B\xCC\u40CC\u0180;ap\u0720\u072F\u073F\u0100cg\u0734\u0737r;\u412AinaryI;\u6148lie\xF3\u03DD\u01F4\u0749\0\u0762\u0100;e\u074D\u074E\u622C\u0100gr\u0753\u0758ral;\u622Bsection;\u62C2isible\u0100CT\u076C\u0772omma;\u6063imes;\u6062\u0180gpt\u077F\u0783\u0788on;\u412Ef;\uC000\u{1D540}a;\u4399cr;\u6110ilde;\u4128\u01EB\u079A\0\u079Ecy;\u4406l\u803B\xCF\u40CF\u0280cfosu\u07AC\u07B7\u07BC\u07C2\u07D0\u0100iy\u07B1\u07B5rc;\u4134;\u4419r;\uC000\u{1D50D}pf;\uC000\u{1D541}\u01E3\u07C7\0\u07CCr;\uC000\u{1D4A5}rcy;\u4408kcy;\u4404\u0380HJacfos\u07E4\u07E8\u07EC\u07F1\u07FD\u0802\u0808cy;\u4425cy;\u440Cppa;\u439A\u0100ey\u07F6\u07FBdil;\u4136;\u441Ar;\uC000\u{1D50E}pf;\uC000\u{1D542}cr;\uC000\u{1D4A6}\u0580JTaceflmost\u0825\u0829\u082C\u0850\u0863\u09B3\u09B8\u09C7\u09CD\u0A37\u0A47cy;\u4409\u803B<\u403C\u0280cmnpr\u0837\u083C\u0841\u0844\u084Dute;\u4139bda;\u439Bg;\u67EAlacetrf;\u6112r;\u619E\u0180aey\u0857\u085C\u0861ron;\u413Ddil;\u413B;\u441B\u0100fs\u0868\u0970t\u0500ACDFRTUVar\u087E\u08A9\u08B1\u08E0\u08E6\u08FC\u092F\u095B\u0390\u096A\u0100nr\u0883\u088FgleBracket;\u67E8row\u0180;BR\u0899\u089A\u089E\u6190ar;\u61E4ightArrow;\u61C6eiling;\u6308o\u01F5\u08B7\0\u08C3bleBracket;\u67E6n\u01D4\u08C8\0\u08D2eeVector;\u6961ector\u0100;B\u08DB\u08DC\u61C3ar;\u6959loor;\u630Aight\u0100AV\u08EF\u08F5rrow;\u6194ector;\u694E\u0100er\u0901\u0917e\u0180;AV\u0909\u090A\u0910\u62A3rrow;\u61A4ector;\u695Aiangle\u0180;BE\u0924\u0925\u0929\u62B2ar;\u69CFqual;\u62B4p\u0180DTV\u0937\u0942\u094CownVector;\u6951eeVector;\u6960ector\u0100;B\u0956\u0957\u61BFar;\u6958ector\u0100;B\u0965\u0966\u61BCar;\u6952ight\xE1\u039Cs\u0300EFGLST\u097E\u098B\u0995\u099D\u09A2\u09ADqualGreater;\u62DAullEqual;\u6266reater;\u6276ess;\u6AA1lantEqual;\u6A7Dilde;\u6272r;\uC000\u{1D50F}\u0100;e\u09BD\u09BE\u62D8ftarrow;\u61DAidot;\u413F\u0180npw\u09D4\u0A16\u0A1Bg\u0200LRlr\u09DE\u09F7\u0A02\u0A10eft\u0100AR\u09E6\u09ECrrow;\u67F5ightArrow;\u67F7ightArrow;\u67F6eft\u0100ar\u03B3\u0A0Aight\xE1\u03BFight\xE1\u03CAf;\uC000\u{1D543}er\u0100LR\u0A22\u0A2CeftArrow;\u6199ightArrow;\u6198\u0180cht\u0A3E\u0A40\u0A42\xF2\u084C;\u61B0rok;\u4141;\u626A\u0400acefiosu\u0A5A\u0A5D\u0A60\u0A77\u0A7C\u0A85\u0A8B\u0A8Ep;\u6905y;\u441C\u0100dl\u0A65\u0A6FiumSpace;\u605Flintrf;\u6133r;\uC000\u{1D510}nusPlus;\u6213pf;\uC000\u{1D544}c\xF2\u0A76;\u439C\u0480Jacefostu\u0AA3\u0AA7\u0AAD\u0AC0\u0B14\u0B19\u0D91\u0D97\u0D9Ecy;\u440Acute;\u4143\u0180aey\u0AB4\u0AB9\u0ABEron;\u4147dil;\u4145;\u441D\u0180gsw\u0AC7\u0AF0\u0B0Eative\u0180MTV\u0AD3\u0ADF\u0AE8ediumSpace;\u600Bhi\u0100cn\u0AE6\u0AD8\xEB\u0AD9eryThi\xEE\u0AD9ted\u0100GL\u0AF8\u0B06reaterGreate\xF2\u0673essLes\xF3\u0A48Line;\u400Ar;\uC000\u{1D511}\u0200Bnpt\u0B22\u0B28\u0B37\u0B3Areak;\u6060BreakingSpace;\u40A0f;\u6115\u0680;CDEGHLNPRSTV\u0B55\u0B56\u0B6A\u0B7C\u0BA1\u0BEB\u0C04\u0C5E\u0C84\u0CA6\u0CD8\u0D61\u0D85\u6AEC\u0100ou\u0B5B\u0B64ngruent;\u6262pCap;\u626DoubleVerticalBar;\u6226\u0180lqx\u0B83\u0B8A\u0B9Bement;\u6209ual\u0100;T\u0B92\u0B93\u6260ilde;\uC000\u2242\u0338ists;\u6204reater\u0380;EFGLST\u0BB6\u0BB7\u0BBD\u0BC9\u0BD3\u0BD8\u0BE5\u626Fqual;\u6271ullEqual;\uC000\u2267\u0338reater;\uC000\u226B\u0338ess;\u6279lantEqual;\uC000\u2A7E\u0338ilde;\u6275ump\u0144\u0BF2\u0BFDownHump;\uC000\u224E\u0338qual;\uC000\u224F\u0338e\u0100fs\u0C0A\u0C27tTriangle\u0180;BE\u0C1A\u0C1B\u0C21\u62EAar;\uC000\u29CF\u0338qual;\u62ECs\u0300;EGLST\u0C35\u0C36\u0C3C\u0C44\u0C4B\u0C58\u626Equal;\u6270reater;\u6278ess;\uC000\u226A\u0338lantEqual;\uC000\u2A7D\u0338ilde;\u6274ested\u0100GL\u0C68\u0C79reaterGreater;\uC000\u2AA2\u0338essLess;\uC000\u2AA1\u0338recedes\u0180;ES\u0C92\u0C93\u0C9B\u6280qual;\uC000\u2AAF\u0338lantEqual;\u62E0\u0100ei\u0CAB\u0CB9verseElement;\u620CghtTriangle\u0180;BE\u0CCB\u0CCC\u0CD2\u62EBar;\uC000\u29D0\u0338qual;\u62ED\u0100qu\u0CDD\u0D0CuareSu\u0100bp\u0CE8\u0CF9set\u0100;E\u0CF0\u0CF3\uC000\u228F\u0338qual;\u62E2erset\u0100;E\u0D03\u0D06\uC000\u2290\u0338qual;\u62E3\u0180bcp\u0D13\u0D24\u0D4Eset\u0100;E\u0D1B\u0D1E\uC000\u2282\u20D2qual;\u6288ceeds\u0200;EST\u0D32\u0D33\u0D3B\u0D46\u6281qual;\uC000\u2AB0\u0338lantEqual;\u62E1ilde;\uC000\u227F\u0338erset\u0100;E\u0D58\u0D5B\uC000\u2283\u20D2qual;\u6289ilde\u0200;EFT\u0D6E\u0D6F\u0D75\u0D7F\u6241qual;\u6244ullEqual;\u6247ilde;\u6249erticalBar;\u6224cr;\uC000\u{1D4A9}ilde\u803B\xD1\u40D1;\u439D\u0700Eacdfgmoprstuv\u0DBD\u0DC2\u0DC9\u0DD5\u0DDB\u0DE0\u0DE7\u0DFC\u0E02\u0E20\u0E22\u0E32\u0E3F\u0E44lig;\u4152cute\u803B\xD3\u40D3\u0100iy\u0DCE\u0DD3rc\u803B\xD4\u40D4;\u441Eblac;\u4150r;\uC000\u{1D512}rave\u803B\xD2\u40D2\u0180aei\u0DEE\u0DF2\u0DF6cr;\u414Cga;\u43A9cron;\u439Fpf;\uC000\u{1D546}enCurly\u0100DQ\u0E0E\u0E1AoubleQuote;\u601Cuote;\u6018;\u6A54\u0100cl\u0E27\u0E2Cr;\uC000\u{1D4AA}ash\u803B\xD8\u40D8i\u016C\u0E37\u0E3Cde\u803B\xD5\u40D5es;\u6A37ml\u803B\xD6\u40D6er\u0100BP\u0E4B\u0E60\u0100ar\u0E50\u0E53r;\u603Eac\u0100ek\u0E5A\u0E5C;\u63DEet;\u63B4arenthesis;\u63DC\u0480acfhilors\u0E7F\u0E87\u0E8A\u0E8F\u0E92\u0E94\u0E9D\u0EB0\u0EFCrtialD;\u6202y;\u441Fr;\uC000\u{1D513}i;\u43A6;\u43A0usMinus;\u40B1\u0100ip\u0EA2\u0EADncareplan\xE5\u069Df;\u6119\u0200;eio\u0EB9\u0EBA\u0EE0\u0EE4\u6ABBcedes\u0200;EST\u0EC8\u0EC9\u0ECF\u0EDA\u627Aqual;\u6AAFlantEqual;\u627Cilde;\u627Eme;\u6033\u0100dp\u0EE9\u0EEEuct;\u620Fortion\u0100;a\u0225\u0EF9l;\u621D\u0100ci\u0F01\u0F06r;\uC000\u{1D4AB};\u43A8\u0200Ufos\u0F11\u0F16\u0F1B\u0F1FOT\u803B"\u4022r;\uC000\u{1D514}pf;\u611Acr;\uC000\u{1D4AC}\u0600BEacefhiorsu\u0F3E\u0F43\u0F47\u0F60\u0F73\u0FA7\u0FAA\u0FAD\u1096\u10A9\u10B4\u10BEarr;\u6910G\u803B\xAE\u40AE\u0180cnr\u0F4E\u0F53\u0F56ute;\u4154g;\u67EBr\u0100;t\u0F5C\u0F5D\u61A0l;\u6916\u0180aey\u0F67\u0F6C\u0F71ron;\u4158dil;\u4156;\u4420\u0100;v\u0F78\u0F79\u611Cerse\u0100EU\u0F82\u0F99\u0100lq\u0F87\u0F8Eement;\u620Builibrium;\u61CBpEquilibrium;\u696Fr\xBB\u0F79o;\u43A1ght\u0400ACDFTUVa\u0FC1\u0FEB\u0FF3\u1022\u1028\u105B\u1087\u03D8\u0100nr\u0FC6\u0FD2gleBracket;\u67E9row\u0180;BL\u0FDC\u0FDD\u0FE1\u6192ar;\u61E5eftArrow;\u61C4eiling;\u6309o\u01F5\u0FF9\0\u1005bleBracket;\u67E7n\u01D4\u100A\0\u1014eeVector;\u695Dector\u0100;B\u101D\u101E\u61C2ar;\u6955loor;\u630B\u0100er\u102D\u1043e\u0180;AV\u1035\u1036\u103C\u62A2rrow;\u61A6ector;\u695Biangle\u0180;BE\u1050\u1051\u1055\u62B3ar;\u69D0qual;\u62B5p\u0180DTV\u1063\u106E\u1078ownVector;\u694FeeVector;\u695Cector\u0100;B\u1082\u1083\u61BEar;\u6954ector\u0100;B\u1091\u1092\u61C0ar;\u6953\u0100pu\u109B\u109Ef;\u611DndImplies;\u6970ightarrow;\u61DB\u0100ch\u10B9\u10BCr;\u611B;\u61B1leDelayed;\u69F4\u0680HOacfhimoqstu\u10E4\u10F1\u10F7\u10FD\u1119\u111E\u1151\u1156\u1161\u1167\u11B5\u11BB\u11BF\u0100Cc\u10E9\u10EEHcy;\u4429y;\u4428FTcy;\u442Ccute;\u415A\u0280;aeiy\u1108\u1109\u110E\u1113\u1117\u6ABCron;\u4160dil;\u415Erc;\u415C;\u4421r;\uC000\u{1D516}ort\u0200DLRU\u112A\u1134\u113E\u1149ownArrow\xBB\u041EeftArrow\xBB\u089AightArrow\xBB\u0FDDpArrow;\u6191gma;\u43A3allCircle;\u6218pf;\uC000\u{1D54A}\u0272\u116D\0\0\u1170t;\u621Aare\u0200;ISU\u117B\u117C\u1189\u11AF\u65A1ntersection;\u6293u\u0100bp\u118F\u119Eset\u0100;E\u1197\u1198\u628Fqual;\u6291erset\u0100;E\u11A8\u11A9\u6290qual;\u6292nion;\u6294cr;\uC000\u{1D4AE}ar;\u62C6\u0200bcmp\u11C8\u11DB\u1209\u120B\u0100;s\u11CD\u11CE\u62D0et\u0100;E\u11CD\u11D5qual;\u6286\u0100ch\u11E0\u1205eeds\u0200;EST\u11ED\u11EE\u11F4\u11FF\u627Bqual;\u6AB0lantEqual;\u627Dilde;\u627FTh\xE1\u0F8C;\u6211\u0180;es\u1212\u1213\u1223\u62D1rset\u0100;E\u121C\u121D\u6283qual;\u6287et\xBB\u1213\u0580HRSacfhiors\u123E\u1244\u1249\u1255\u125E\u1271\u1276\u129F\u12C2\u12C8\u12D1ORN\u803B\xDE\u40DEADE;\u6122\u0100Hc\u124E\u1252cy;\u440By;\u4426\u0100bu\u125A\u125C;\u4009;\u43A4\u0180aey\u1265\u126A\u126Fron;\u4164dil;\u4162;\u4422r;\uC000\u{1D517}\u0100ei\u127B\u1289\u01F2\u1280\0\u1287efore;\u6234a;\u4398\u0100cn\u128E\u1298kSpace;\uC000\u205F\u200ASpace;\u6009lde\u0200;EFT\u12AB\u12AC\u12B2\u12BC\u623Cqual;\u6243ullEqual;\u6245ilde;\u6248pf;\uC000\u{1D54B}ipleDot;\u60DB\u0100ct\u12D6\u12DBr;\uC000\u{1D4AF}rok;\u4166\u0AE1\u12F7\u130E\u131A\u1326\0\u132C\u1331\0\0\0\0\0\u1338\u133D\u1377\u1385\0\u13FF\u1404\u140A\u1410\u0100cr\u12FB\u1301ute\u803B\xDA\u40DAr\u0100;o\u1307\u1308\u619Fcir;\u6949r\u01E3\u1313\0\u1316y;\u440Eve;\u416C\u0100iy\u131E\u1323rc\u803B\xDB\u40DB;\u4423blac;\u4170r;\uC000\u{1D518}rave\u803B\xD9\u40D9acr;\u416A\u0100di\u1341\u1369er\u0100BP\u1348\u135D\u0100ar\u134D\u1350r;\u405Fac\u0100ek\u1357\u1359;\u63DFet;\u63B5arenthesis;\u63DDon\u0100;P\u1370\u1371\u62C3lus;\u628E\u0100gp\u137B\u137Fon;\u4172f;\uC000\u{1D54C}\u0400ADETadps\u1395\u13AE\u13B8\u13C4\u03E8\u13D2\u13D7\u13F3rrow\u0180;BD\u1150\u13A0\u13A4ar;\u6912ownArrow;\u61C5ownArrow;\u6195quilibrium;\u696Eee\u0100;A\u13CB\u13CC\u62A5rrow;\u61A5own\xE1\u03F3er\u0100LR\u13DE\u13E8eftArrow;\u6196ightArrow;\u6197i\u0100;l\u13F9\u13FA\u43D2on;\u43A5ing;\u416Ecr;\uC000\u{1D4B0}ilde;\u4168ml\u803B\xDC\u40DC\u0480Dbcdefosv\u1427\u142C\u1430\u1433\u143E\u1485\u148A\u1490\u1496ash;\u62ABar;\u6AEBy;\u4412ash\u0100;l\u143B\u143C\u62A9;\u6AE6\u0100er\u1443\u1445;\u62C1\u0180bty\u144C\u1450\u147Aar;\u6016\u0100;i\u144F\u1455cal\u0200BLST\u1461\u1465\u146A\u1474ar;\u6223ine;\u407Ceparator;\u6758ilde;\u6240ThinSpace;\u600Ar;\uC000\u{1D519}pf;\uC000\u{1D54D}cr;\uC000\u{1D4B1}dash;\u62AA\u0280cefos\u14A7\u14AC\u14B1\u14B6\u14BCirc;\u4174dge;\u62C0r;\uC000\u{1D51A}pf;\uC000\u{1D54E}cr;\uC000\u{1D4B2}\u0200fios\u14CB\u14D0\u14D2\u14D8r;\uC000\u{1D51B};\u439Epf;\uC000\u{1D54F}cr;\uC000\u{1D4B3}\u0480AIUacfosu\u14F1\u14F5\u14F9\u14FD\u1504\u150F\u1514\u151A\u1520cy;\u442Fcy;\u4407cy;\u442Ecute\u803B\xDD\u40DD\u0100iy\u1509\u150Drc;\u4176;\u442Br;\uC000\u{1D51C}pf;\uC000\u{1D550}cr;\uC000\u{1D4B4}ml;\u4178\u0400Hacdefos\u1535\u1539\u153F\u154B\u154F\u155D\u1560\u1564cy;\u4416cute;\u4179\u0100ay\u1544\u1549ron;\u417D;\u4417ot;\u417B\u01F2\u1554\0\u155BoWidt\xE8\u0AD9a;\u4396r;\u6128pf;\u6124cr;\uC000\u{1D4B5}\u0BE1\u1583\u158A\u1590\0\u15B0\u15B6\u15BF\0\0\0\0\u15C6\u15DB\u15EB\u165F\u166D\0\u1695\u169B\u16B2\u16B9\0\u16BEcute\u803B\xE1\u40E1reve;\u4103\u0300;Ediuy\u159C\u159D\u15A1\u15A3\u15A8\u15AD\u623E;\uC000\u223E\u0333;\u623Frc\u803B\xE2\u40E2te\u80BB\xB4\u0306;\u4430lig\u803B\xE6\u40E6\u0100;r\xB2\u15BA;\uC000\u{1D51E}rave\u803B\xE0\u40E0\u0100ep\u15CA\u15D6\u0100fp\u15CF\u15D4sym;\u6135\xE8\u15D3ha;\u43B1\u0100ap\u15DFc\u0100cl\u15E4\u15E7r;\u4101g;\u6A3F\u0264\u15F0\0\0\u160A\u0280;adsv\u15FA\u15FB\u15FF\u1601\u1607\u6227nd;\u6A55;\u6A5Clope;\u6A58;\u6A5A\u0380;elmrsz\u1618\u1619\u161B\u161E\u163F\u164F\u1659\u6220;\u69A4e\xBB\u1619sd\u0100;a\u1625\u1626\u6221\u0461\u1630\u1632\u1634\u1636\u1638\u163A\u163C\u163E;\u69A8;\u69A9;\u69AA;\u69AB;\u69AC;\u69AD;\u69AE;\u69AFt\u0100;v\u1645\u1646\u621Fb\u0100;d\u164C\u164D\u62BE;\u699D\u0100pt\u1654\u1657h;\u6222\xBB\xB9arr;\u637C\u0100gp\u1663\u1667on;\u4105f;\uC000\u{1D552}\u0380;Eaeiop\u12C1\u167B\u167D\u1682\u1684\u1687\u168A;\u6A70cir;\u6A6F;\u624Ad;\u624Bs;\u4027rox\u0100;e\u12C1\u1692\xF1\u1683ing\u803B\xE5\u40E5\u0180cty\u16A1\u16A6\u16A8r;\uC000\u{1D4B6};\u402Amp\u0100;e\u12C1\u16AF\xF1\u0288ilde\u803B\xE3\u40E3ml\u803B\xE4\u40E4\u0100ci\u16C2\u16C8onin\xF4\u0272nt;\u6A11\u0800Nabcdefiklnoprsu\u16ED\u16F1\u1730\u173C\u1743\u1748\u1778\u177D\u17E0\u17E6\u1839\u1850\u170D\u193D\u1948\u1970ot;\u6AED\u0100cr\u16F6\u171Ek\u0200ceps\u1700\u1705\u170D\u1713ong;\u624Cpsilon;\u43F6rime;\u6035im\u0100;e\u171A\u171B\u623Dq;\u62CD\u0176\u1722\u1726ee;\u62BDed\u0100;g\u172C\u172D\u6305e\xBB\u172Drk\u0100;t\u135C\u1737brk;\u63B6\u0100oy\u1701\u1741;\u4431quo;\u601E\u0280cmprt\u1753\u175B\u1761\u1764\u1768aus\u0100;e\u010A\u0109ptyv;\u69B0s\xE9\u170Cno\xF5\u0113\u0180ahw\u176F\u1771\u1773;\u43B2;\u6136een;\u626Cr;\uC000\u{1D51F}g\u0380costuvw\u178D\u179D\u17B3\u17C1\u17D5\u17DB\u17DE\u0180aiu\u1794\u1796\u179A\xF0\u0760rc;\u65EFp\xBB\u1371\u0180dpt\u17A4\u17A8\u17ADot;\u6A00lus;\u6A01imes;\u6A02\u0271\u17B9\0\0\u17BEcup;\u6A06ar;\u6605riangle\u0100du\u17CD\u17D2own;\u65BDp;\u65B3plus;\u6A04e\xE5\u1444\xE5\u14ADarow;\u690D\u0180ako\u17ED\u1826\u1835\u0100cn\u17F2\u1823k\u0180lst\u17FA\u05AB\u1802ozenge;\u69EBriangle\u0200;dlr\u1812\u1813\u1818\u181D\u65B4own;\u65BEeft;\u65C2ight;\u65B8k;\u6423\u01B1\u182B\0\u1833\u01B2\u182F\0\u1831;\u6592;\u65914;\u6593ck;\u6588\u0100eo\u183E\u184D\u0100;q\u1843\u1846\uC000=\u20E5uiv;\uC000\u2261\u20E5t;\u6310\u0200ptwx\u1859\u185E\u1867\u186Cf;\uC000\u{1D553}\u0100;t\u13CB\u1863om\xBB\u13CCtie;\u62C8\u0600DHUVbdhmptuv\u1885\u1896\u18AA\u18BB\u18D7\u18DB\u18EC\u18FF\u1905\u190A\u1910\u1921\u0200LRlr\u188E\u1890\u1892\u1894;\u6557;\u6554;\u6556;\u6553\u0280;DUdu\u18A1\u18A2\u18A4\u18A6\u18A8\u6550;\u6566;\u6569;\u6564;\u6567\u0200LRlr\u18B3\u18B5\u18B7\u18B9;\u655D;\u655A;\u655C;\u6559\u0380;HLRhlr\u18CA\u18CB\u18CD\u18CF\u18D1\u18D3\u18D5\u6551;\u656C;\u6563;\u6560;\u656B;\u6562;\u655Fox;\u69C9\u0200LRlr\u18E4\u18E6\u18E8\u18EA;\u6555;\u6552;\u6510;\u650C\u0280;DUdu\u06BD\u18F7\u18F9\u18FB\u18FD;\u6565;\u6568;\u652C;\u6534inus;\u629Flus;\u629Eimes;\u62A0\u0200LRlr\u1919\u191B\u191D\u191F;\u655B;\u6558;\u6518;\u6514\u0380;HLRhlr\u1930\u1931\u1933\u1935\u1937\u1939\u193B\u6502;\u656A;\u6561;\u655E;\u653C;\u6524;\u651C\u0100ev\u0123\u1942bar\u803B\xA6\u40A6\u0200ceio\u1951\u1956\u195A\u1960r;\uC000\u{1D4B7}mi;\u604Fm\u0100;e\u171A\u171Cl\u0180;bh\u1968\u1969\u196B\u405C;\u69C5sub;\u67C8\u016C\u1974\u197El\u0100;e\u1979\u197A\u6022t\xBB\u197Ap\u0180;Ee\u012F\u1985\u1987;\u6AAE\u0100;q\u06DC\u06DB\u0CE1\u19A7\0\u19E8\u1A11\u1A15\u1A32\0\u1A37\u1A50\0\0\u1AB4\0\0\u1AC1\0\0\u1B21\u1B2E\u1B4D\u1B52\0\u1BFD\0\u1C0C\u0180cpr\u19AD\u19B2\u19DDute;\u4107\u0300;abcds\u19BF\u19C0\u19C4\u19CA\u19D5\u19D9\u6229nd;\u6A44rcup;\u6A49\u0100au\u19CF\u19D2p;\u6A4Bp;\u6A47ot;\u6A40;\uC000\u2229\uFE00\u0100eo\u19E2\u19E5t;\u6041\xEE\u0693\u0200aeiu\u19F0\u19FB\u1A01\u1A05\u01F0\u19F5\0\u19F8s;\u6A4Don;\u410Ddil\u803B\xE7\u40E7rc;\u4109ps\u0100;s\u1A0C\u1A0D\u6A4Cm;\u6A50ot;\u410B\u0180dmn\u1A1B\u1A20\u1A26il\u80BB\xB8\u01ADptyv;\u69B2t\u8100\xA2;e\u1A2D\u1A2E\u40A2r\xE4\u01B2r;\uC000\u{1D520}\u0180cei\u1A3D\u1A40\u1A4Dy;\u4447ck\u0100;m\u1A47\u1A48\u6713ark\xBB\u1A48;\u43C7r\u0380;Ecefms\u1A5F\u1A60\u1A62\u1A6B\u1AA4\u1AAA\u1AAE\u65CB;\u69C3\u0180;el\u1A69\u1A6A\u1A6D\u42C6q;\u6257e\u0261\u1A74\0\0\u1A88rrow\u0100lr\u1A7C\u1A81eft;\u61BAight;\u61BB\u0280RSacd\u1A92\u1A94\u1A96\u1A9A\u1A9F\xBB\u0F47;\u64C8st;\u629Birc;\u629Aash;\u629Dnint;\u6A10id;\u6AEFcir;\u69C2ubs\u0100;u\u1ABB\u1ABC\u6663it\xBB\u1ABC\u02EC\u1AC7\u1AD4\u1AFA\0\u1B0Aon\u0100;e\u1ACD\u1ACE\u403A\u0100;q\xC7\xC6\u026D\u1AD9\0\0\u1AE2a\u0100;t\u1ADE\u1ADF\u402C;\u4040\u0180;fl\u1AE8\u1AE9\u1AEB\u6201\xEE\u1160e\u0100mx\u1AF1\u1AF6ent\xBB\u1AE9e\xF3\u024D\u01E7\u1AFE\0\u1B07\u0100;d\u12BB\u1B02ot;\u6A6Dn\xF4\u0246\u0180fry\u1B10\u1B14\u1B17;\uC000\u{1D554}o\xE4\u0254\u8100\xA9;s\u0155\u1B1Dr;\u6117\u0100ao\u1B25\u1B29rr;\u61B5ss;\u6717\u0100cu\u1B32\u1B37r;\uC000\u{1D4B8}\u0100bp\u1B3C\u1B44\u0100;e\u1B41\u1B42\u6ACF;\u6AD1\u0100;e\u1B49\u1B4A\u6AD0;\u6AD2dot;\u62EF\u0380delprvw\u1B60\u1B6C\u1B77\u1B82\u1BAC\u1BD4\u1BF9arr\u0100lr\u1B68\u1B6A;\u6938;\u6935\u0270\u1B72\0\0\u1B75r;\u62DEc;\u62DFarr\u0100;p\u1B7F\u1B80\u61B6;\u693D\u0300;bcdos\u1B8F\u1B90\u1B96\u1BA1\u1BA5\u1BA8\u622Arcap;\u6A48\u0100au\u1B9B\u1B9Ep;\u6A46p;\u6A4Aot;\u628Dr;\u6A45;\uC000\u222A\uFE00\u0200alrv\u1BB5\u1BBF\u1BDE\u1BE3rr\u0100;m\u1BBC\u1BBD\u61B7;\u693Cy\u0180evw\u1BC7\u1BD4\u1BD8q\u0270\u1BCE\0\0\u1BD2re\xE3\u1B73u\xE3\u1B75ee;\u62CEedge;\u62CFen\u803B\xA4\u40A4earrow\u0100lr\u1BEE\u1BF3eft\xBB\u1B80ight\xBB\u1BBDe\xE4\u1BDD\u0100ci\u1C01\u1C07onin\xF4\u01F7nt;\u6231lcty;\u632D\u0980AHabcdefhijlorstuwz\u1C38\u1C3B\u1C3F\u1C5D\u1C69\u1C75\u1C8A\u1C9E\u1CAC\u1CB7\u1CFB\u1CFF\u1D0D\u1D7B\u1D91\u1DAB\u1DBB\u1DC6\u1DCDr\xF2\u0381ar;\u6965\u0200glrs\u1C48\u1C4D\u1C52\u1C54ger;\u6020eth;\u6138\xF2\u1133h\u0100;v\u1C5A\u1C5B\u6010\xBB\u090A\u016B\u1C61\u1C67arow;\u690Fa\xE3\u0315\u0100ay\u1C6E\u1C73ron;\u410F;\u4434\u0180;ao\u0332\u1C7C\u1C84\u0100gr\u02BF\u1C81r;\u61CAtseq;\u6A77\u0180glm\u1C91\u1C94\u1C98\u803B\xB0\u40B0ta;\u43B4ptyv;\u69B1\u0100ir\u1CA3\u1CA8sht;\u697F;\uC000\u{1D521}ar\u0100lr\u1CB3\u1CB5\xBB\u08DC\xBB\u101E\u0280aegsv\u1CC2\u0378\u1CD6\u1CDC\u1CE0m\u0180;os\u0326\u1CCA\u1CD4nd\u0100;s\u0326\u1CD1uit;\u6666amma;\u43DDin;\u62F2\u0180;io\u1CE7\u1CE8\u1CF8\u40F7de\u8100\xF7;o\u1CE7\u1CF0ntimes;\u62C7n\xF8\u1CF7cy;\u4452c\u026F\u1D06\0\0\u1D0Arn;\u631Eop;\u630D\u0280lptuw\u1D18\u1D1D\u1D22\u1D49\u1D55lar;\u4024f;\uC000\u{1D555}\u0280;emps\u030B\u1D2D\u1D37\u1D3D\u1D42q\u0100;d\u0352\u1D33ot;\u6251inus;\u6238lus;\u6214quare;\u62A1blebarwedg\xE5\xFAn\u0180adh\u112E\u1D5D\u1D67ownarrow\xF3\u1C83arpoon\u0100lr\u1D72\u1D76ef\xF4\u1CB4igh\xF4\u1CB6\u0162\u1D7F\u1D85karo\xF7\u0F42\u026F\u1D8A\0\0\u1D8Ern;\u631Fop;\u630C\u0180cot\u1D98\u1DA3\u1DA6\u0100ry\u1D9D\u1DA1;\uC000\u{1D4B9};\u4455l;\u69F6rok;\u4111\u0100dr\u1DB0\u1DB4ot;\u62F1i\u0100;f\u1DBA\u1816\u65BF\u0100ah\u1DC0\u1DC3r\xF2\u0429a\xF2\u0FA6angle;\u69A6\u0100ci\u1DD2\u1DD5y;\u445Fgrarr;\u67FF\u0900Dacdefglmnopqrstux\u1E01\u1E09\u1E19\u1E38\u0578\u1E3C\u1E49\u1E61\u1E7E\u1EA5\u1EAF\u1EBD\u1EE1\u1F2A\u1F37\u1F44\u1F4E\u1F5A\u0100Do\u1E06\u1D34o\xF4\u1C89\u0100cs\u1E0E\u1E14ute\u803B\xE9\u40E9ter;\u6A6E\u0200aioy\u1E22\u1E27\u1E31\u1E36ron;\u411Br\u0100;c\u1E2D\u1E2E\u6256\u803B\xEA\u40EAlon;\u6255;\u444Dot;\u4117\u0100Dr\u1E41\u1E45ot;\u6252;\uC000\u{1D522}\u0180;rs\u1E50\u1E51\u1E57\u6A9Aave\u803B\xE8\u40E8\u0100;d\u1E5C\u1E5D\u6A96ot;\u6A98\u0200;ils\u1E6A\u1E6B\u1E72\u1E74\u6A99nters;\u63E7;\u6113\u0100;d\u1E79\u1E7A\u6A95ot;\u6A97\u0180aps\u1E85\u1E89\u1E97cr;\u4113ty\u0180;sv\u1E92\u1E93\u1E95\u6205et\xBB\u1E93p\u01001;\u1E9D\u1EA4\u0133\u1EA1\u1EA3;\u6004;\u6005\u6003\u0100gs\u1EAA\u1EAC;\u414Bp;\u6002\u0100gp\u1EB4\u1EB8on;\u4119f;\uC000\u{1D556}\u0180als\u1EC4\u1ECE\u1ED2r\u0100;s\u1ECA\u1ECB\u62D5l;\u69E3us;\u6A71i\u0180;lv\u1EDA\u1EDB\u1EDF\u43B5on\xBB\u1EDB;\u43F5\u0200csuv\u1EEA\u1EF3\u1F0B\u1F23\u0100io\u1EEF\u1E31rc\xBB\u1E2E\u0269\u1EF9\0\0\u1EFB\xED\u0548ant\u0100gl\u1F02\u1F06tr\xBB\u1E5Dess\xBB\u1E7A\u0180aei\u1F12\u1F16\u1F1Als;\u403Dst;\u625Fv\u0100;D\u0235\u1F20D;\u6A78parsl;\u69E5\u0100Da\u1F2F\u1F33ot;\u6253rr;\u6971\u0180cdi\u1F3E\u1F41\u1EF8r;\u612Fo\xF4\u0352\u0100ah\u1F49\u1F4B;\u43B7\u803B\xF0\u40F0\u0100mr\u1F53\u1F57l\u803B\xEB\u40EBo;\u60AC\u0180cip\u1F61\u1F64\u1F67l;\u4021s\xF4\u056E\u0100eo\u1F6C\u1F74ctatio\xEE\u0559nential\xE5\u0579\u09E1\u1F92\0\u1F9E\0\u1FA1\u1FA7\0\0\u1FC6\u1FCC\0\u1FD3\0\u1FE6\u1FEA\u2000\0\u2008\u205Allingdotse\xF1\u1E44y;\u4444male;\u6640\u0180ilr\u1FAD\u1FB3\u1FC1lig;\u8000\uFB03\u0269\u1FB9\0\0\u1FBDg;\u8000\uFB00ig;\u8000\uFB04;\uC000\u{1D523}lig;\u8000\uFB01lig;\uC000fj\u0180alt\u1FD9\u1FDC\u1FE1t;\u666Dig;\u8000\uFB02ns;\u65B1of;\u4192\u01F0\u1FEE\0\u1FF3f;\uC000\u{1D557}\u0100ak\u05BF\u1FF7\u0100;v\u1FFC\u1FFD\u62D4;\u6AD9artint;\u6A0D\u0100ao\u200C\u2055\u0100cs\u2011\u2052\u03B1\u201A\u2030\u2038\u2045\u2048\0\u2050\u03B2\u2022\u2025\u2027\u202A\u202C\0\u202E\u803B\xBD\u40BD;\u6153\u803B\xBC\u40BC;\u6155;\u6159;\u615B\u01B3\u2034\0\u2036;\u6154;\u6156\u02B4\u203E\u2041\0\0\u2043\u803B\xBE\u40BE;\u6157;\u615C5;\u6158\u01B6\u204C\0\u204E;\u615A;\u615D8;\u615El;\u6044wn;\u6322cr;\uC000\u{1D4BB}\u0880Eabcdefgijlnorstv\u2082\u2089\u209F\u20A5\u20B0\u20B4\u20F0\u20F5\u20FA\u20FF\u2103\u2112\u2138\u0317\u213E\u2152\u219E\u0100;l\u064D\u2087;\u6A8C\u0180cmp\u2090\u2095\u209Dute;\u41F5ma\u0100;d\u209C\u1CDA\u43B3;\u6A86reve;\u411F\u0100iy\u20AA\u20AErc;\u411D;\u4433ot;\u4121\u0200;lqs\u063E\u0642\u20BD\u20C9\u0180;qs\u063E\u064C\u20C4lan\xF4\u0665\u0200;cdl\u0665\u20D2\u20D5\u20E5c;\u6AA9ot\u0100;o\u20DC\u20DD\u6A80\u0100;l\u20E2\u20E3\u6A82;\u6A84\u0100;e\u20EA\u20ED\uC000\u22DB\uFE00s;\u6A94r;\uC000\u{1D524}\u0100;g\u0673\u061Bmel;\u6137cy;\u4453\u0200;Eaj\u065A\u210C\u210E\u2110;\u6A92;\u6AA5;\u6AA4\u0200Eaes\u211B\u211D\u2129\u2134;\u6269p\u0100;p\u2123\u2124\u6A8Arox\xBB\u2124\u0100;q\u212E\u212F\u6A88\u0100;q\u212E\u211Bim;\u62E7pf;\uC000\u{1D558}\u0100ci\u2143\u2146r;\u610Am\u0180;el\u066B\u214E\u2150;\u6A8E;\u6A90\u8300>;cdlqr\u05EE\u2160\u216A\u216E\u2173\u2179\u0100ci\u2165\u2167;\u6AA7r;\u6A7Aot;\u62D7Par;\u6995uest;\u6A7C\u0280adels\u2184\u216A\u2190\u0656\u219B\u01F0\u2189\0\u218Epro\xF8\u209Er;\u6978q\u0100lq\u063F\u2196les\xF3\u2088i\xED\u066B\u0100en\u21A3\u21ADrtneqq;\uC000\u2269\uFE00\xC5\u21AA\u0500Aabcefkosy\u21C4\u21C7\u21F1\u21F5\u21FA\u2218\u221D\u222F\u2268\u227Dr\xF2\u03A0\u0200ilmr\u21D0\u21D4\u21D7\u21DBrs\xF0\u1484f\xBB\u2024il\xF4\u06A9\u0100dr\u21E0\u21E4cy;\u444A\u0180;cw\u08F4\u21EB\u21EFir;\u6948;\u61ADar;\u610Firc;\u4125\u0180alr\u2201\u220E\u2213rts\u0100;u\u2209\u220A\u6665it\xBB\u220Alip;\u6026con;\u62B9r;\uC000\u{1D525}s\u0100ew\u2223\u2229arow;\u6925arow;\u6926\u0280amopr\u223A\u223E\u2243\u225E\u2263rr;\u61FFtht;\u623Bk\u0100lr\u2249\u2253eftarrow;\u61A9ightarrow;\u61AAf;\uC000\u{1D559}bar;\u6015\u0180clt\u226F\u2274\u2278r;\uC000\u{1D4BD}as\xE8\u21F4rok;\u4127\u0100bp\u2282\u2287ull;\u6043hen\xBB\u1C5B\u0AE1\u22A3\0\u22AA\0\u22B8\u22C5\u22CE\0\u22D5\u22F3\0\0\u22F8\u2322\u2367\u2362\u237F\0\u2386\u23AA\u23B4cute\u803B\xED\u40ED\u0180;iy\u0771\u22B0\u22B5rc\u803B\xEE\u40EE;\u4438\u0100cx\u22BC\u22BFy;\u4435cl\u803B\xA1\u40A1\u0100fr\u039F\u22C9;\uC000\u{1D526}rave\u803B\xEC\u40EC\u0200;ino\u073E\u22DD\u22E9\u22EE\u0100in\u22E2\u22E6nt;\u6A0Ct;\u622Dfin;\u69DCta;\u6129lig;\u4133\u0180aop\u22FE\u231A\u231D\u0180cgt\u2305\u2308\u2317r;\u412B\u0180elp\u071F\u230F\u2313in\xE5\u078Ear\xF4\u0720h;\u4131f;\u62B7ed;\u41B5\u0280;cfot\u04F4\u232C\u2331\u233D\u2341are;\u6105in\u0100;t\u2338\u2339\u621Eie;\u69DDdo\xF4\u2319\u0280;celp\u0757\u234C\u2350\u235B\u2361al;\u62BA\u0100gr\u2355\u2359er\xF3\u1563\xE3\u234Darhk;\u6A17rod;\u6A3C\u0200cgpt\u236F\u2372\u2376\u237By;\u4451on;\u412Ff;\uC000\u{1D55A}a;\u43B9uest\u803B\xBF\u40BF\u0100ci\u238A\u238Fr;\uC000\u{1D4BE}n\u0280;Edsv\u04F4\u239B\u239D\u23A1\u04F3;\u62F9ot;\u62F5\u0100;v\u23A6\u23A7\u62F4;\u62F3\u0100;i\u0777\u23AElde;\u4129\u01EB\u23B8\0\u23BCcy;\u4456l\u803B\xEF\u40EF\u0300cfmosu\u23CC\u23D7\u23DC\u23E1\u23E7\u23F5\u0100iy\u23D1\u23D5rc;\u4135;\u4439r;\uC000\u{1D527}ath;\u4237pf;\uC000\u{1D55B}\u01E3\u23EC\0\u23F1r;\uC000\u{1D4BF}rcy;\u4458kcy;\u4454\u0400acfghjos\u240B\u2416\u2422\u2427\u242D\u2431\u2435\u243Bppa\u0100;v\u2413\u2414\u43BA;\u43F0\u0100ey\u241B\u2420dil;\u4137;\u443Ar;\uC000\u{1D528}reen;\u4138cy;\u4445cy;\u445Cpf;\uC000\u{1D55C}cr;\uC000\u{1D4C0}\u0B80ABEHabcdefghjlmnoprstuv\u2470\u2481\u2486\u248D\u2491\u250E\u253D\u255A\u2580\u264E\u265E\u2665\u2679\u267D\u269A\u26B2\u26D8\u275D\u2768\u278B\u27C0\u2801\u2812\u0180art\u2477\u247A\u247Cr\xF2\u09C6\xF2\u0395ail;\u691Barr;\u690E\u0100;g\u0994\u248B;\u6A8Bar;\u6962\u0963\u24A5\0\u24AA\0\u24B1\0\0\0\0\0\u24B5\u24BA\0\u24C6\u24C8\u24CD\0\u24F9ute;\u413Amptyv;\u69B4ra\xEE\u084Cbda;\u43BBg\u0180;dl\u088E\u24C1\u24C3;\u6991\xE5\u088E;\u6A85uo\u803B\xAB\u40ABr\u0400;bfhlpst\u0899\u24DE\u24E6\u24E9\u24EB\u24EE\u24F1\u24F5\u0100;f\u089D\u24E3s;\u691Fs;\u691D\xEB\u2252p;\u61ABl;\u6939im;\u6973l;\u61A2\u0180;ae\u24FF\u2500\u2504\u6AABil;\u6919\u0100;s\u2509\u250A\u6AAD;\uC000\u2AAD\uFE00\u0180abr\u2515\u2519\u251Drr;\u690Crk;\u6772\u0100ak\u2522\u252Cc\u0100ek\u2528\u252A;\u407B;\u405B\u0100es\u2531\u2533;\u698Bl\u0100du\u2539\u253B;\u698F;\u698D\u0200aeuy\u2546\u254B\u2556\u2558ron;\u413E\u0100di\u2550\u2554il;\u413C\xEC\u08B0\xE2\u2529;\u443B\u0200cqrs\u2563\u2566\u256D\u257Da;\u6936uo\u0100;r\u0E19\u1746\u0100du\u2572\u2577har;\u6967shar;\u694Bh;\u61B2\u0280;fgqs\u258B\u258C\u0989\u25F3\u25FF\u6264t\u0280ahlrt\u2598\u25A4\u25B7\u25C2\u25E8rrow\u0100;t\u0899\u25A1a\xE9\u24F6arpoon\u0100du\u25AF\u25B4own\xBB\u045Ap\xBB\u0966eftarrows;\u61C7ight\u0180ahs\u25CD\u25D6\u25DErrow\u0100;s\u08F4\u08A7arpoon\xF3\u0F98quigarro\xF7\u21F0hreetimes;\u62CB\u0180;qs\u258B\u0993\u25FAlan\xF4\u09AC\u0280;cdgs\u09AC\u260A\u260D\u261D\u2628c;\u6AA8ot\u0100;o\u2614\u2615\u6A7F\u0100;r\u261A\u261B\u6A81;\u6A83\u0100;e\u2622\u2625\uC000\u22DA\uFE00s;\u6A93\u0280adegs\u2633\u2639\u263D\u2649\u264Bppro\xF8\u24C6ot;\u62D6q\u0100gq\u2643\u2645\xF4\u0989gt\xF2\u248C\xF4\u099Bi\xED\u09B2\u0180ilr\u2655\u08E1\u265Asht;\u697C;\uC000\u{1D529}\u0100;E\u099C\u2663;\u6A91\u0161\u2669\u2676r\u0100du\u25B2\u266E\u0100;l\u0965\u2673;\u696Alk;\u6584cy;\u4459\u0280;acht\u0A48\u2688\u268B\u2691\u2696r\xF2\u25C1orne\xF2\u1D08ard;\u696Bri;\u65FA\u0100io\u269F\u26A4dot;\u4140ust\u0100;a\u26AC\u26AD\u63B0che\xBB\u26AD\u0200Eaes\u26BB\u26BD\u26C9\u26D4;\u6268p\u0100;p\u26C3\u26C4\u6A89rox\xBB\u26C4\u0100;q\u26CE\u26CF\u6A87\u0100;q\u26CE\u26BBim;\u62E6\u0400abnoptwz\u26E9\u26F4\u26F7\u271A\u272F\u2741\u2747\u2750\u0100nr\u26EE\u26F1g;\u67ECr;\u61FDr\xEB\u08C1g\u0180lmr\u26FF\u270D\u2714eft\u0100ar\u09E6\u2707ight\xE1\u09F2apsto;\u67FCight\xE1\u09FDparrow\u0100lr\u2725\u2729ef\xF4\u24EDight;\u61AC\u0180afl\u2736\u2739\u273Dr;\u6985;\uC000\u{1D55D}us;\u6A2Dimes;\u6A34\u0161\u274B\u274Fst;\u6217\xE1\u134E\u0180;ef\u2757\u2758\u1800\u65CAnge\xBB\u2758ar\u0100;l\u2764\u2765\u4028t;\u6993\u0280achmt\u2773\u2776\u277C\u2785\u2787r\xF2\u08A8orne\xF2\u1D8Car\u0100;d\u0F98\u2783;\u696D;\u600Eri;\u62BF\u0300achiqt\u2798\u279D\u0A40\u27A2\u27AE\u27BBquo;\u6039r;\uC000\u{1D4C1}m\u0180;eg\u09B2\u27AA\u27AC;\u6A8D;\u6A8F\u0100bu\u252A\u27B3o\u0100;r\u0E1F\u27B9;\u601Arok;\u4142\u8400<;cdhilqr\u082B\u27D2\u2639\u27DC\u27E0\u27E5\u27EA\u27F0\u0100ci\u27D7\u27D9;\u6AA6r;\u6A79re\xE5\u25F2mes;\u62C9arr;\u6976uest;\u6A7B\u0100Pi\u27F5\u27F9ar;\u6996\u0180;ef\u2800\u092D\u181B\u65C3r\u0100du\u2807\u280Dshar;\u694Ahar;\u6966\u0100en\u2817\u2821rtneqq;\uC000\u2268\uFE00\xC5\u281E\u0700Dacdefhilnopsu\u2840\u2845\u2882\u288E\u2893\u28A0\u28A5\u28A8\u28DA\u28E2\u28E4\u0A83\u28F3\u2902Dot;\u623A\u0200clpr\u284E\u2852\u2863\u287Dr\u803B\xAF\u40AF\u0100et\u2857\u2859;\u6642\u0100;e\u285E\u285F\u6720se\xBB\u285F\u0100;s\u103B\u2868to\u0200;dlu\u103B\u2873\u2877\u287Bow\xEE\u048Cef\xF4\u090F\xF0\u13D1ker;\u65AE\u0100oy\u2887\u288Cmma;\u6A29;\u443Cash;\u6014asuredangle\xBB\u1626r;\uC000\u{1D52A}o;\u6127\u0180cdn\u28AF\u28B4\u28C9ro\u803B\xB5\u40B5\u0200;acd\u1464\u28BD\u28C0\u28C4s\xF4\u16A7ir;\u6AF0ot\u80BB\xB7\u01B5us\u0180;bd\u28D2\u1903\u28D3\u6212\u0100;u\u1D3C\u28D8;\u6A2A\u0163\u28DE\u28E1p;\u6ADB\xF2\u2212\xF0\u0A81\u0100dp\u28E9\u28EEels;\u62A7f;\uC000\u{1D55E}\u0100ct\u28F8\u28FDr;\uC000\u{1D4C2}pos\xBB\u159D\u0180;lm\u2909\u290A\u290D\u43BCtimap;\u62B8\u0C00GLRVabcdefghijlmoprstuvw\u2942\u2953\u297E\u2989\u2998\u29DA\u29E9\u2A15\u2A1A\u2A58\u2A5D\u2A83\u2A95\u2AA4\u2AA8\u2B04\u2B07\u2B44\u2B7F\u2BAE\u2C34\u2C67\u2C7C\u2CE9\u0100gt\u2947\u294B;\uC000\u22D9\u0338\u0100;v\u2950\u0BCF\uC000\u226B\u20D2\u0180elt\u295A\u2972\u2976ft\u0100ar\u2961\u2967rrow;\u61CDightarrow;\u61CE;\uC000\u22D8\u0338\u0100;v\u297B\u0C47\uC000\u226A\u20D2ightarrow;\u61CF\u0100Dd\u298E\u2993ash;\u62AFash;\u62AE\u0280bcnpt\u29A3\u29A7\u29AC\u29B1\u29CCla\xBB\u02DEute;\u4144g;\uC000\u2220\u20D2\u0280;Eiop\u0D84\u29BC\u29C0\u29C5\u29C8;\uC000\u2A70\u0338d;\uC000\u224B\u0338s;\u4149ro\xF8\u0D84ur\u0100;a\u29D3\u29D4\u666El\u0100;s\u29D3\u0B38\u01F3\u29DF\0\u29E3p\u80BB\xA0\u0B37mp\u0100;e\u0BF9\u0C00\u0280aeouy\u29F4\u29FE\u2A03\u2A10\u2A13\u01F0\u29F9\0\u29FB;\u6A43on;\u4148dil;\u4146ng\u0100;d\u0D7E\u2A0Aot;\uC000\u2A6D\u0338p;\u6A42;\u443Dash;\u6013\u0380;Aadqsx\u0B92\u2A29\u2A2D\u2A3B\u2A41\u2A45\u2A50rr;\u61D7r\u0100hr\u2A33\u2A36k;\u6924\u0100;o\u13F2\u13F0ot;\uC000\u2250\u0338ui\xF6\u0B63\u0100ei\u2A4A\u2A4Ear;\u6928\xED\u0B98ist\u0100;s\u0BA0\u0B9Fr;\uC000\u{1D52B}\u0200Eest\u0BC5\u2A66\u2A79\u2A7C\u0180;qs\u0BBC\u2A6D\u0BE1\u0180;qs\u0BBC\u0BC5\u2A74lan\xF4\u0BE2i\xED\u0BEA\u0100;r\u0BB6\u2A81\xBB\u0BB7\u0180Aap\u2A8A\u2A8D\u2A91r\xF2\u2971rr;\u61AEar;\u6AF2\u0180;sv\u0F8D\u2A9C\u0F8C\u0100;d\u2AA1\u2AA2\u62FC;\u62FAcy;\u445A\u0380AEadest\u2AB7\u2ABA\u2ABE\u2AC2\u2AC5\u2AF6\u2AF9r\xF2\u2966;\uC000\u2266\u0338rr;\u619Ar;\u6025\u0200;fqs\u0C3B\u2ACE\u2AE3\u2AEFt\u0100ar\u2AD4\u2AD9rro\xF7\u2AC1ightarro\xF7\u2A90\u0180;qs\u0C3B\u2ABA\u2AEAlan\xF4\u0C55\u0100;s\u0C55\u2AF4\xBB\u0C36i\xED\u0C5D\u0100;r\u0C35\u2AFEi\u0100;e\u0C1A\u0C25i\xE4\u0D90\u0100pt\u2B0C\u2B11f;\uC000\u{1D55F}\u8180\xAC;in\u2B19\u2B1A\u2B36\u40ACn\u0200;Edv\u0B89\u2B24\u2B28\u2B2E;\uC000\u22F9\u0338ot;\uC000\u22F5\u0338\u01E1\u0B89\u2B33\u2B35;\u62F7;\u62F6i\u0100;v\u0CB8\u2B3C\u01E1\u0CB8\u2B41\u2B43;\u62FE;\u62FD\u0180aor\u2B4B\u2B63\u2B69r\u0200;ast\u0B7B\u2B55\u2B5A\u2B5Flle\xEC\u0B7Bl;\uC000\u2AFD\u20E5;\uC000\u2202\u0338lint;\u6A14\u0180;ce\u0C92\u2B70\u2B73u\xE5\u0CA5\u0100;c\u0C98\u2B78\u0100;e\u0C92\u2B7D\xF1\u0C98\u0200Aait\u2B88\u2B8B\u2B9D\u2BA7r\xF2\u2988rr\u0180;cw\u2B94\u2B95\u2B99\u619B;\uC000\u2933\u0338;\uC000\u219D\u0338ghtarrow\xBB\u2B95ri\u0100;e\u0CCB\u0CD6\u0380chimpqu\u2BBD\u2BCD\u2BD9\u2B04\u0B78\u2BE4\u2BEF\u0200;cer\u0D32\u2BC6\u0D37\u2BC9u\xE5\u0D45;\uC000\u{1D4C3}ort\u026D\u2B05\0\0\u2BD6ar\xE1\u2B56m\u0100;e\u0D6E\u2BDF\u0100;q\u0D74\u0D73su\u0100bp\u2BEB\u2BED\xE5\u0CF8\xE5\u0D0B\u0180bcp\u2BF6\u2C11\u2C19\u0200;Ees\u2BFF\u2C00\u0D22\u2C04\u6284;\uC000\u2AC5\u0338et\u0100;e\u0D1B\u2C0Bq\u0100;q\u0D23\u2C00c\u0100;e\u0D32\u2C17\xF1\u0D38\u0200;Ees\u2C22\u2C23\u0D5F\u2C27\u6285;\uC000\u2AC6\u0338et\u0100;e\u0D58\u2C2Eq\u0100;q\u0D60\u2C23\u0200gilr\u2C3D\u2C3F\u2C45\u2C47\xEC\u0BD7lde\u803B\xF1\u40F1\xE7\u0C43iangle\u0100lr\u2C52\u2C5Ceft\u0100;e\u0C1A\u2C5A\xF1\u0C26ight\u0100;e\u0CCB\u2C65\xF1\u0CD7\u0100;m\u2C6C\u2C6D\u43BD\u0180;es\u2C74\u2C75\u2C79\u4023ro;\u6116p;\u6007\u0480DHadgilrs\u2C8F\u2C94\u2C99\u2C9E\u2CA3\u2CB0\u2CB6\u2CD3\u2CE3ash;\u62ADarr;\u6904p;\uC000\u224D\u20D2ash;\u62AC\u0100et\u2CA8\u2CAC;\uC000\u2265\u20D2;\uC000>\u20D2nfin;\u69DE\u0180Aet\u2CBD\u2CC1\u2CC5rr;\u6902;\uC000\u2264\u20D2\u0100;r\u2CCA\u2CCD\uC000<\u20D2ie;\uC000\u22B4\u20D2\u0100At\u2CD8\u2CDCrr;\u6903rie;\uC000\u22B5\u20D2im;\uC000\u223C\u20D2\u0180Aan\u2CF0\u2CF4\u2D02rr;\u61D6r\u0100hr\u2CFA\u2CFDk;\u6923\u0100;o\u13E7\u13E5ear;\u6927\u1253\u1A95\0\0\0\0\0\0\0\0\0\0\0\0\0\u2D2D\0\u2D38\u2D48\u2D60\u2D65\u2D72\u2D84\u1B07\0\0\u2D8D\u2DAB\0\u2DC8\u2DCE\0\u2DDC\u2E19\u2E2B\u2E3E\u2E43\u0100cs\u2D31\u1A97ute\u803B\xF3\u40F3\u0100iy\u2D3C\u2D45r\u0100;c\u1A9E\u2D42\u803B\xF4\u40F4;\u443E\u0280abios\u1AA0\u2D52\u2D57\u01C8\u2D5Alac;\u4151v;\u6A38old;\u69BClig;\u4153\u0100cr\u2D69\u2D6Dir;\u69BF;\uC000\u{1D52C}\u036F\u2D79\0\0\u2D7C\0\u2D82n;\u42DBave\u803B\xF2\u40F2;\u69C1\u0100bm\u2D88\u0DF4ar;\u69B5\u0200acit\u2D95\u2D98\u2DA5\u2DA8r\xF2\u1A80\u0100ir\u2D9D\u2DA0r;\u69BEoss;\u69BBn\xE5\u0E52;\u69C0\u0180aei\u2DB1\u2DB5\u2DB9cr;\u414Dga;\u43C9\u0180cdn\u2DC0\u2DC5\u01CDron;\u43BF;\u69B6pf;\uC000\u{1D560}\u0180ael\u2DD4\u2DD7\u01D2r;\u69B7rp;\u69B9\u0380;adiosv\u2DEA\u2DEB\u2DEE\u2E08\u2E0D\u2E10\u2E16\u6228r\xF2\u1A86\u0200;efm\u2DF7\u2DF8\u2E02\u2E05\u6A5Dr\u0100;o\u2DFE\u2DFF\u6134f\xBB\u2DFF\u803B\xAA\u40AA\u803B\xBA\u40BAgof;\u62B6r;\u6A56lope;\u6A57;\u6A5B\u0180clo\u2E1F\u2E21\u2E27\xF2\u2E01ash\u803B\xF8\u40F8l;\u6298i\u016C\u2E2F\u2E34de\u803B\xF5\u40F5es\u0100;a\u01DB\u2E3As;\u6A36ml\u803B\xF6\u40F6bar;\u633D\u0AE1\u2E5E\0\u2E7D\0\u2E80\u2E9D\0\u2EA2\u2EB9\0\0\u2ECB\u0E9C\0\u2F13\0\0\u2F2B\u2FBC\0\u2FC8r\u0200;ast\u0403\u2E67\u2E72\u0E85\u8100\xB6;l\u2E6D\u2E6E\u40B6le\xEC\u0403\u0269\u2E78\0\0\u2E7Bm;\u6AF3;\u6AFDy;\u443Fr\u0280cimpt\u2E8B\u2E8F\u2E93\u1865\u2E97nt;\u4025od;\u402Eil;\u6030enk;\u6031r;\uC000\u{1D52D}\u0180imo\u2EA8\u2EB0\u2EB4\u0100;v\u2EAD\u2EAE\u43C6;\u43D5ma\xF4\u0A76ne;\u660E\u0180;tv\u2EBF\u2EC0\u2EC8\u43C0chfork\xBB\u1FFD;\u43D6\u0100au\u2ECF\u2EDFn\u0100ck\u2ED5\u2EDDk\u0100;h\u21F4\u2EDB;\u610E\xF6\u21F4s\u0480;abcdemst\u2EF3\u2EF4\u1908\u2EF9\u2EFD\u2F04\u2F06\u2F0A\u2F0E\u402Bcir;\u6A23ir;\u6A22\u0100ou\u1D40\u2F02;\u6A25;\u6A72n\u80BB\xB1\u0E9Dim;\u6A26wo;\u6A27\u0180ipu\u2F19\u2F20\u2F25ntint;\u6A15f;\uC000\u{1D561}nd\u803B\xA3\u40A3\u0500;Eaceinosu\u0EC8\u2F3F\u2F41\u2F44\u2F47\u2F81\u2F89\u2F92\u2F7E\u2FB6;\u6AB3p;\u6AB7u\xE5\u0ED9\u0100;c\u0ECE\u2F4C\u0300;acens\u0EC8\u2F59\u2F5F\u2F66\u2F68\u2F7Eppro\xF8\u2F43urlye\xF1\u0ED9\xF1\u0ECE\u0180aes\u2F6F\u2F76\u2F7Approx;\u6AB9qq;\u6AB5im;\u62E8i\xED\u0EDFme\u0100;s\u2F88\u0EAE\u6032\u0180Eas\u2F78\u2F90\u2F7A\xF0\u2F75\u0180dfp\u0EEC\u2F99\u2FAF\u0180als\u2FA0\u2FA5\u2FAAlar;\u632Eine;\u6312urf;\u6313\u0100;t\u0EFB\u2FB4\xEF\u0EFBrel;\u62B0\u0100ci\u2FC0\u2FC5r;\uC000\u{1D4C5};\u43C8ncsp;\u6008\u0300fiopsu\u2FDA\u22E2\u2FDF\u2FE5\u2FEB\u2FF1r;\uC000\u{1D52E}pf;\uC000\u{1D562}rime;\u6057cr;\uC000\u{1D4C6}\u0180aeo\u2FF8\u3009\u3013t\u0100ei\u2FFE\u3005rnion\xF3\u06B0nt;\u6A16st\u0100;e\u3010\u3011\u403F\xF1\u1F19\xF4\u0F14\u0A80ABHabcdefhilmnoprstux\u3040\u3051\u3055\u3059\u30E0\u310E\u312B\u3147\u3162\u3172\u318E\u3206\u3215\u3224\u3229\u3258\u326E\u3272\u3290\u32B0\u32B7\u0180art\u3047\u304A\u304Cr\xF2\u10B3\xF2\u03DDail;\u691Car\xF2\u1C65ar;\u6964\u0380cdenqrt\u3068\u3075\u3078\u307F\u308F\u3094\u30CC\u0100eu\u306D\u3071;\uC000\u223D\u0331te;\u4155i\xE3\u116Emptyv;\u69B3g\u0200;del\u0FD1\u3089\u308B\u308D;\u6992;\u69A5\xE5\u0FD1uo\u803B\xBB\u40BBr\u0580;abcfhlpstw\u0FDC\u30AC\u30AF\u30B7\u30B9\u30BC\u30BE\u30C0\u30C3\u30C7\u30CAp;\u6975\u0100;f\u0FE0\u30B4s;\u6920;\u6933s;\u691E\xEB\u225D\xF0\u272El;\u6945im;\u6974l;\u61A3;\u619D\u0100ai\u30D1\u30D5il;\u691Ao\u0100;n\u30DB\u30DC\u6236al\xF3\u0F1E\u0180abr\u30E7\u30EA\u30EEr\xF2\u17E5rk;\u6773\u0100ak\u30F3\u30FDc\u0100ek\u30F9\u30FB;\u407D;\u405D\u0100es\u3102\u3104;\u698Cl\u0100du\u310A\u310C;\u698E;\u6990\u0200aeuy\u3117\u311C\u3127\u3129ron;\u4159\u0100di\u3121\u3125il;\u4157\xEC\u0FF2\xE2\u30FA;\u4440\u0200clqs\u3134\u3137\u313D\u3144a;\u6937dhar;\u6969uo\u0100;r\u020E\u020Dh;\u61B3\u0180acg\u314E\u315F\u0F44l\u0200;ips\u0F78\u3158\u315B\u109Cn\xE5\u10BBar\xF4\u0FA9t;\u65AD\u0180ilr\u3169\u1023\u316Esht;\u697D;\uC000\u{1D52F}\u0100ao\u3177\u3186r\u0100du\u317D\u317F\xBB\u047B\u0100;l\u1091\u3184;\u696C\u0100;v\u318B\u318C\u43C1;\u43F1\u0180gns\u3195\u31F9\u31FCht\u0300ahlrst\u31A4\u31B0\u31C2\u31D8\u31E4\u31EErrow\u0100;t\u0FDC\u31ADa\xE9\u30C8arpoon\u0100du\u31BB\u31BFow\xEE\u317Ep\xBB\u1092eft\u0100ah\u31CA\u31D0rrow\xF3\u0FEAarpoon\xF3\u0551ightarrows;\u61C9quigarro\xF7\u30CBhreetimes;\u62CCg;\u42DAingdotse\xF1\u1F32\u0180ahm\u320D\u3210\u3213r\xF2\u0FEAa\xF2\u0551;\u600Foust\u0100;a\u321E\u321F\u63B1che\xBB\u321Fmid;\u6AEE\u0200abpt\u3232\u323D\u3240\u3252\u0100nr\u3237\u323Ag;\u67EDr;\u61FEr\xEB\u1003\u0180afl\u3247\u324A\u324Er;\u6986;\uC000\u{1D563}us;\u6A2Eimes;\u6A35\u0100ap\u325D\u3267r\u0100;g\u3263\u3264\u4029t;\u6994olint;\u6A12ar\xF2\u31E3\u0200achq\u327B\u3280\u10BC\u3285quo;\u603Ar;\uC000\u{1D4C7}\u0100bu\u30FB\u328Ao\u0100;r\u0214\u0213\u0180hir\u3297\u329B\u32A0re\xE5\u31F8mes;\u62CAi\u0200;efl\u32AA\u1059\u1821\u32AB\u65B9tri;\u69CEluhar;\u6968;\u611E\u0D61\u32D5\u32DB\u32DF\u332C\u3338\u3371\0\u337A\u33A4\0\0\u33EC\u33F0\0\u3428\u3448\u345A\u34AD\u34B1\u34CA\u34F1\0\u3616\0\0\u3633cute;\u415Bqu\xEF\u27BA\u0500;Eaceinpsy\u11ED\u32F3\u32F5\u32FF\u3302\u330B\u330F\u331F\u3326\u3329;\u6AB4\u01F0\u32FA\0\u32FC;\u6AB8on;\u4161u\xE5\u11FE\u0100;d\u11F3\u3307il;\u415Frc;\u415D\u0180Eas\u3316\u3318\u331B;\u6AB6p;\u6ABAim;\u62E9olint;\u6A13i\xED\u1204;\u4441ot\u0180;be\u3334\u1D47\u3335\u62C5;\u6A66\u0380Aacmstx\u3346\u334A\u3357\u335B\u335E\u3363\u336Drr;\u61D8r\u0100hr\u3350\u3352\xEB\u2228\u0100;o\u0A36\u0A34t\u803B\xA7\u40A7i;\u403Bwar;\u6929m\u0100in\u3369\xF0nu\xF3\xF1t;\u6736r\u0100;o\u3376\u2055\uC000\u{1D530}\u0200acoy\u3382\u3386\u3391\u33A0rp;\u666F\u0100hy\u338B\u338Fcy;\u4449;\u4448rt\u026D\u3399\0\0\u339Ci\xE4\u1464ara\xEC\u2E6F\u803B\xAD\u40AD\u0100gm\u33A8\u33B4ma\u0180;fv\u33B1\u33B2\u33B2\u43C3;\u43C2\u0400;deglnpr\u12AB\u33C5\u33C9\u33CE\u33D6\u33DE\u33E1\u33E6ot;\u6A6A\u0100;q\u12B1\u12B0\u0100;E\u33D3\u33D4\u6A9E;\u6AA0\u0100;E\u33DB\u33DC\u6A9D;\u6A9Fe;\u6246lus;\u6A24arr;\u6972ar\xF2\u113D\u0200aeit\u33F8\u3408\u340F\u3417\u0100ls\u33FD\u3404lsetm\xE9\u336Ahp;\u6A33parsl;\u69E4\u0100dl\u1463\u3414e;\u6323\u0100;e\u341C\u341D\u6AAA\u0100;s\u3422\u3423\u6AAC;\uC000\u2AAC\uFE00\u0180flp\u342E\u3433\u3442tcy;\u444C\u0100;b\u3438\u3439\u402F\u0100;a\u343E\u343F\u69C4r;\u633Ff;\uC000\u{1D564}a\u0100dr\u344D\u0402es\u0100;u\u3454\u3455\u6660it\xBB\u3455\u0180csu\u3460\u3479\u349F\u0100au\u3465\u346Fp\u0100;s\u1188\u346B;\uC000\u2293\uFE00p\u0100;s\u11B4\u3475;\uC000\u2294\uFE00u\u0100bp\u347F\u348F\u0180;es\u1197\u119C\u3486et\u0100;e\u1197\u348D\xF1\u119D\u0180;es\u11A8\u11AD\u3496et\u0100;e\u11A8\u349D\xF1\u11AE\u0180;af\u117B\u34A6\u05B0r\u0165\u34AB\u05B1\xBB\u117Car\xF2\u1148\u0200cemt\u34B9\u34BE\u34C2\u34C5r;\uC000\u{1D4C8}tm\xEE\xF1i\xEC\u3415ar\xE6\u11BE\u0100ar\u34CE\u34D5r\u0100;f\u34D4\u17BF\u6606\u0100an\u34DA\u34EDight\u0100ep\u34E3\u34EApsilo\xEE\u1EE0h\xE9\u2EAFs\xBB\u2852\u0280bcmnp\u34FB\u355E\u1209\u358B\u358E\u0480;Edemnprs\u350E\u350F\u3511\u3515\u351E\u3523\u352C\u3531\u3536\u6282;\u6AC5ot;\u6ABD\u0100;d\u11DA\u351Aot;\u6AC3ult;\u6AC1\u0100Ee\u3528\u352A;\u6ACB;\u628Alus;\u6ABFarr;\u6979\u0180eiu\u353D\u3552\u3555t\u0180;en\u350E\u3545\u354Bq\u0100;q\u11DA\u350Feq\u0100;q\u352B\u3528m;\u6AC7\u0100bp\u355A\u355C;\u6AD5;\u6AD3c\u0300;acens\u11ED\u356C\u3572\u3579\u357B\u3326ppro\xF8\u32FAurlye\xF1\u11FE\xF1\u11F3\u0180aes\u3582\u3588\u331Bppro\xF8\u331Aq\xF1\u3317g;\u666A\u0680123;Edehlmnps\u35A9\u35AC\u35AF\u121C\u35B2\u35B4\u35C0\u35C9\u35D5\u35DA\u35DF\u35E8\u35ED\u803B\xB9\u40B9\u803B\xB2\u40B2\u803B\xB3\u40B3;\u6AC6\u0100os\u35B9\u35BCt;\u6ABEub;\u6AD8\u0100;d\u1222\u35C5ot;\u6AC4s\u0100ou\u35CF\u35D2l;\u67C9b;\u6AD7arr;\u697Bult;\u6AC2\u0100Ee\u35E4\u35E6;\u6ACC;\u628Blus;\u6AC0\u0180eiu\u35F4\u3609\u360Ct\u0180;en\u121C\u35FC\u3602q\u0100;q\u1222\u35B2eq\u0100;q\u35E7\u35E4m;\u6AC8\u0100bp\u3611\u3613;\u6AD4;\u6AD6\u0180Aan\u361C\u3620\u362Drr;\u61D9r\u0100hr\u3626\u3628\xEB\u222E\u0100;o\u0A2B\u0A29war;\u692Alig\u803B\xDF\u40DF\u0BE1\u3651\u365D\u3660\u12CE\u3673\u3679\0\u367E\u36C2\0\0\0\0\0\u36DB\u3703\0\u3709\u376C\0\0\0\u3787\u0272\u3656\0\0\u365Bget;\u6316;\u43C4r\xEB\u0E5F\u0180aey\u3666\u366B\u3670ron;\u4165dil;\u4163;\u4442lrec;\u6315r;\uC000\u{1D531}\u0200eiko\u3686\u369D\u36B5\u36BC\u01F2\u368B\0\u3691e\u01004f\u1284\u1281a\u0180;sv\u3698\u3699\u369B\u43B8ym;\u43D1\u0100cn\u36A2\u36B2k\u0100as\u36A8\u36AEppro\xF8\u12C1im\xBB\u12ACs\xF0\u129E\u0100as\u36BA\u36AE\xF0\u12C1rn\u803B\xFE\u40FE\u01EC\u031F\u36C6\u22E7es\u8180\xD7;bd\u36CF\u36D0\u36D8\u40D7\u0100;a\u190F\u36D5r;\u6A31;\u6A30\u0180eps\u36E1\u36E3\u3700\xE1\u2A4D\u0200;bcf\u0486\u36EC\u36F0\u36F4ot;\u6336ir;\u6AF1\u0100;o\u36F9\u36FC\uC000\u{1D565}rk;\u6ADA\xE1\u3362rime;\u6034\u0180aip\u370F\u3712\u3764d\xE5\u1248\u0380adempst\u3721\u374D\u3740\u3751\u3757\u375C\u375Fngle\u0280;dlqr\u3730\u3731\u3736\u3740\u3742\u65B5own\xBB\u1DBBeft\u0100;e\u2800\u373E\xF1\u092E;\u625Cight\u0100;e\u32AA\u374B\xF1\u105Aot;\u65ECinus;\u6A3Alus;\u6A39b;\u69CDime;\u6A3Bezium;\u63E2\u0180cht\u3772\u377D\u3781\u0100ry\u3777\u377B;\uC000\u{1D4C9};\u4446cy;\u445Brok;\u4167\u0100io\u378B\u378Ex\xF4\u1777head\u0100lr\u3797\u37A0eftarro\xF7\u084Fightarrow\xBB\u0F5D\u0900AHabcdfghlmoprstuw\u37D0\u37D3\u37D7\u37E4\u37F0\u37FC\u380E\u381C\u3823\u3834\u3851\u385D\u386B\u38A9\u38CC\u38D2\u38EA\u38F6r\xF2\u03EDar;\u6963\u0100cr\u37DC\u37E2ute\u803B\xFA\u40FA\xF2\u1150r\u01E3\u37EA\0\u37EDy;\u445Eve;\u416D\u0100iy\u37F5\u37FArc\u803B\xFB\u40FB;\u4443\u0180abh\u3803\u3806\u380Br\xF2\u13ADlac;\u4171a\xF2\u13C3\u0100ir\u3813\u3818sht;\u697E;\uC000\u{1D532}rave\u803B\xF9\u40F9\u0161\u3827\u3831r\u0100lr\u382C\u382E\xBB\u0957\xBB\u1083lk;\u6580\u0100ct\u3839\u384D\u026F\u383F\0\0\u384Arn\u0100;e\u3845\u3846\u631Cr\xBB\u3846op;\u630Fri;\u65F8\u0100al\u3856\u385Acr;\u416B\u80BB\xA8\u0349\u0100gp\u3862\u3866on;\u4173f;\uC000\u{1D566}\u0300adhlsu\u114B\u3878\u387D\u1372\u3891\u38A0own\xE1\u13B3arpoon\u0100lr\u3888\u388Cef\xF4\u382Digh\xF4\u382Fi\u0180;hl\u3899\u389A\u389C\u43C5\xBB\u13FAon\xBB\u389Aparrows;\u61C8\u0180cit\u38B0\u38C4\u38C8\u026F\u38B6\0\0\u38C1rn\u0100;e\u38BC\u38BD\u631Dr\xBB\u38BDop;\u630Eng;\u416Fri;\u65F9cr;\uC000\u{1D4CA}\u0180dir\u38D9\u38DD\u38E2ot;\u62F0lde;\u4169i\u0100;f\u3730\u38E8\xBB\u1813\u0100am\u38EF\u38F2r\xF2\u38A8l\u803B\xFC\u40FCangle;\u69A7\u0780ABDacdeflnoprsz\u391C\u391F\u3929\u392D\u39B5\u39B8\u39BD\u39DF\u39E4\u39E8\u39F3\u39F9\u39FD\u3A01\u3A20r\xF2\u03F7ar\u0100;v\u3926\u3927\u6AE8;\u6AE9as\xE8\u03E1\u0100nr\u3932\u3937grt;\u699C\u0380eknprst\u34E3\u3946\u394B\u3952\u395D\u3964\u3996app\xE1\u2415othin\xE7\u1E96\u0180hir\u34EB\u2EC8\u3959op\xF4\u2FB5\u0100;h\u13B7\u3962\xEF\u318D\u0100iu\u3969\u396Dgm\xE1\u33B3\u0100bp\u3972\u3984setneq\u0100;q\u397D\u3980\uC000\u228A\uFE00;\uC000\u2ACB\uFE00setneq\u0100;q\u398F\u3992\uC000\u228B\uFE00;\uC000\u2ACC\uFE00\u0100hr\u399B\u399Fet\xE1\u369Ciangle\u0100lr\u39AA\u39AFeft\xBB\u0925ight\xBB\u1051y;\u4432ash\xBB\u1036\u0180elr\u39C4\u39D2\u39D7\u0180;be\u2DEA\u39CB\u39CFar;\u62BBq;\u625Alip;\u62EE\u0100bt\u39DC\u1468a\xF2\u1469r;\uC000\u{1D533}tr\xE9\u39AEsu\u0100bp\u39EF\u39F1\xBB\u0D1C\xBB\u0D59pf;\uC000\u{1D567}ro\xF0\u0EFBtr\xE9\u39B4\u0100cu\u3A06\u3A0Br;\uC000\u{1D4CB}\u0100bp\u3A10\u3A18n\u0100Ee\u3980\u3A16\xBB\u397En\u0100Ee\u3992\u3A1E\xBB\u3990igzag;\u699A\u0380cefoprs\u3A36\u3A3B\u3A56\u3A5B\u3A54\u3A61\u3A6Airc;\u4175\u0100di\u3A40\u3A51\u0100bg\u3A45\u3A49ar;\u6A5Fe\u0100;q\u15FA\u3A4F;\u6259erp;\u6118r;\uC000\u{1D534}pf;\uC000\u{1D568}\u0100;e\u1479\u3A66at\xE8\u1479cr;\uC000\u{1D4CC}\u0AE3\u178E\u3A87\0\u3A8B\0\u3A90\u3A9B\0\0\u3A9D\u3AA8\u3AAB\u3AAF\0\0\u3AC3\u3ACE\0\u3AD8\u17DC\u17DFtr\xE9\u17D1r;\uC000\u{1D535}\u0100Aa\u3A94\u3A97r\xF2\u03C3r\xF2\u09F6;\u43BE\u0100Aa\u3AA1\u3AA4r\xF2\u03B8r\xF2\u09EBa\xF0\u2713is;\u62FB\u0180dpt\u17A4\u3AB5\u3ABE\u0100fl\u3ABA\u17A9;\uC000\u{1D569}im\xE5\u17B2\u0100Aa\u3AC7\u3ACAr\xF2\u03CEr\xF2\u0A01\u0100cq\u3AD2\u17B8r;\uC000\u{1D4CD}\u0100pt\u17D6\u3ADCr\xE9\u17D4\u0400acefiosu\u3AF0\u3AFD\u3B08\u3B0C\u3B11\u3B15\u3B1B\u3B21c\u0100uy\u3AF6\u3AFBte\u803B\xFD\u40FD;\u444F\u0100iy\u3B02\u3B06rc;\u4177;\u444Bn\u803B\xA5\u40A5r;\uC000\u{1D536}cy;\u4457pf;\uC000\u{1D56A}cr;\uC000\u{1D4CE}\u0100cm\u3B26\u3B29y;\u444El\u803B\xFF\u40FF\u0500acdefhiosw\u3B42\u3B48\u3B54\u3B58\u3B64\u3B69\u3B6D\u3B74\u3B7A\u3B80cute;\u417A\u0100ay\u3B4D\u3B52ron;\u417E;\u4437ot;\u417C\u0100et\u3B5D\u3B61tr\xE6\u155Fa;\u43B6r;\uC000\u{1D537}cy;\u4436grarr;\u61DDpf;\uC000\u{1D56B}cr;\uC000\u{1D4CF}\u0100jn\u3B85\u3B87;\u600Dj;\u600C'.split("").map(function(c){return c.charCodeAt(0)}))}});var require_decode_data_xml2=__commonJS({"node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/decode-data-xml.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.default=new Uint16Array("\u0200aglq \x1B\u026D\0\0p;\u4026os;\u4027t;\u403Et;\u403Cuot;\u4022".split("").map(function(c){return c.charCodeAt(0)}))}});var require_decode_codepoint2=__commonJS({"node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode_codepoint.js"(exports){"use strict";var _a;Object.defineProperty(exports,"__esModule",{value:!0});exports.replaceCodePoint=exports.fromCodePoint=void 0;var decodeMap=new Map([[0,65533],[128,8364],[130,8218],[131,402],[132,8222],[133,8230],[134,8224],[135,8225],[136,710],[137,8240],[138,352],[139,8249],[140,338],[142,381],[145,8216],[146,8217],[147,8220],[148,8221],[149,8226],[150,8211],[151,8212],[152,732],[153,8482],[154,353],[155,8250],[156,339],[158,382],[159,376]]);exports.fromCodePoint=(_a=String.fromCodePoint)!==null&&_a!==void 0?_a:function(codePoint){var output="";return codePoint>65535&&(codePoint-=65536,output+=String.fromCharCode(codePoint>>>10&1023|55296),codePoint=56320|codePoint&1023),output+=String.fromCharCode(codePoint),output};function replaceCodePoint(codePoint){var _a2;return codePoint>=55296&&codePoint<=57343||codePoint>1114111?65533:(_a2=decodeMap.get(codePoint))!==null&&_a2!==void 0?_a2:codePoint}exports.replaceCodePoint=replaceCodePoint;function decodeCodePoint(codePoint){return(0,exports.fromCodePoint)(replaceCodePoint(codePoint))}exports.default=decodeCodePoint}});var require_decode2=__commonJS({"node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/decode.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result},__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.decodeXML=exports.decodeHTMLStrict=exports.decodeHTMLAttribute=exports.decodeHTML=exports.determineBranch=exports.EntityDecoder=exports.DecodingMode=exports.BinTrieFlags=exports.fromCodePoint=exports.replaceCodePoint=exports.decodeCodePoint=exports.xmlDecodeTree=exports.htmlDecodeTree=void 0;var decode_data_html_js_1=__importDefault(require_decode_data_html2());exports.htmlDecodeTree=decode_data_html_js_1.default;var decode_data_xml_js_1=__importDefault(require_decode_data_xml2());exports.xmlDecodeTree=decode_data_xml_js_1.default;var decode_codepoint_js_1=__importStar(require_decode_codepoint2());exports.decodeCodePoint=decode_codepoint_js_1.default;var decode_codepoint_js_2=require_decode_codepoint2();Object.defineProperty(exports,"replaceCodePoint",{enumerable:!0,get:function(){return decode_codepoint_js_2.replaceCodePoint}});Object.defineProperty(exports,"fromCodePoint",{enumerable:!0,get:function(){return decode_codepoint_js_2.fromCodePoint}});var CharCodes;(function(CharCodes2){CharCodes2[CharCodes2.NUM=35]="NUM",CharCodes2[CharCodes2.SEMI=59]="SEMI",CharCodes2[CharCodes2.EQUALS=61]="EQUALS",CharCodes2[CharCodes2.ZERO=48]="ZERO",CharCodes2[CharCodes2.NINE=57]="NINE",CharCodes2[CharCodes2.LOWER_A=97]="LOWER_A",CharCodes2[CharCodes2.LOWER_F=102]="LOWER_F",CharCodes2[CharCodes2.LOWER_X=120]="LOWER_X",CharCodes2[CharCodes2.LOWER_Z=122]="LOWER_Z",CharCodes2[CharCodes2.UPPER_A=65]="UPPER_A",CharCodes2[CharCodes2.UPPER_F=70]="UPPER_F",CharCodes2[CharCodes2.UPPER_Z=90]="UPPER_Z"})(CharCodes||(CharCodes={}));var TO_LOWER_BIT=32,BinTrieFlags;(function(BinTrieFlags2){BinTrieFlags2[BinTrieFlags2.VALUE_LENGTH=49152]="VALUE_LENGTH",BinTrieFlags2[BinTrieFlags2.BRANCH_LENGTH=16256]="BRANCH_LENGTH",BinTrieFlags2[BinTrieFlags2.JUMP_TABLE=127]="JUMP_TABLE"})(BinTrieFlags=exports.BinTrieFlags||(exports.BinTrieFlags={}));function isNumber(code){return code>=CharCodes.ZERO&&code<=CharCodes.NINE}function isHexadecimalCharacter(code){return code>=CharCodes.UPPER_A&&code<=CharCodes.UPPER_F||code>=CharCodes.LOWER_A&&code<=CharCodes.LOWER_F}function isAsciiAlphaNumeric(code){return code>=CharCodes.UPPER_A&&code<=CharCodes.UPPER_Z||code>=CharCodes.LOWER_A&&code<=CharCodes.LOWER_Z||isNumber(code)}function isEntityInAttributeInvalidEnd(code){return code===CharCodes.EQUALS||isAsciiAlphaNumeric(code)}var EntityDecoderState;(function(EntityDecoderState2){EntityDecoderState2[EntityDecoderState2.EntityStart=0]="EntityStart",EntityDecoderState2[EntityDecoderState2.NumericStart=1]="NumericStart",EntityDecoderState2[EntityDecoderState2.NumericDecimal=2]="NumericDecimal",EntityDecoderState2[EntityDecoderState2.NumericHex=3]="NumericHex",EntityDecoderState2[EntityDecoderState2.NamedEntity=4]="NamedEntity"})(EntityDecoderState||(EntityDecoderState={}));var DecodingMode;(function(DecodingMode2){DecodingMode2[DecodingMode2.Legacy=0]="Legacy",DecodingMode2[DecodingMode2.Strict=1]="Strict",DecodingMode2[DecodingMode2.Attribute=2]="Attribute"})(DecodingMode=exports.DecodingMode||(exports.DecodingMode={}));var EntityDecoder=(function(){function EntityDecoder2(decodeTree,emitCodePoint,errors){this.decodeTree=decodeTree,this.emitCodePoint=emitCodePoint,this.errors=errors,this.state=EntityDecoderState.EntityStart,this.consumed=1,this.result=0,this.treeIndex=0,this.excess=1,this.decodeMode=DecodingMode.Strict}return EntityDecoder2.prototype.startEntity=function(decodeMode){this.decodeMode=decodeMode,this.state=EntityDecoderState.EntityStart,this.result=0,this.treeIndex=0,this.excess=1,this.consumed=1},EntityDecoder2.prototype.write=function(str,offset){switch(this.state){case EntityDecoderState.EntityStart:return str.charCodeAt(offset)===CharCodes.NUM?(this.state=EntityDecoderState.NumericStart,this.consumed+=1,this.stateNumericStart(str,offset+1)):(this.state=EntityDecoderState.NamedEntity,this.stateNamedEntity(str,offset));case EntityDecoderState.NumericStart:return this.stateNumericStart(str,offset);case EntityDecoderState.NumericDecimal:return this.stateNumericDecimal(str,offset);case EntityDecoderState.NumericHex:return this.stateNumericHex(str,offset);case EntityDecoderState.NamedEntity:return this.stateNamedEntity(str,offset)}},EntityDecoder2.prototype.stateNumericStart=function(str,offset){return offset>=str.length?-1:(str.charCodeAt(offset)|TO_LOWER_BIT)===CharCodes.LOWER_X?(this.state=EntityDecoderState.NumericHex,this.consumed+=1,this.stateNumericHex(str,offset+1)):(this.state=EntityDecoderState.NumericDecimal,this.stateNumericDecimal(str,offset))},EntityDecoder2.prototype.addToNumericResult=function(str,start,end,base){if(start!==end){var digitCount=end-start;this.result=this.result*Math.pow(base,digitCount)+parseInt(str.substr(start,digitCount),base),this.consumed+=digitCount}},EntityDecoder2.prototype.stateNumericHex=function(str,offset){for(var startIdx=offset;offset<str.length;){var char=str.charCodeAt(offset);if(isNumber(char)||isHexadecimalCharacter(char))offset+=1;else return this.addToNumericResult(str,startIdx,offset,16),this.emitNumericEntity(char,3)}return this.addToNumericResult(str,startIdx,offset,16),-1},EntityDecoder2.prototype.stateNumericDecimal=function(str,offset){for(var startIdx=offset;offset<str.length;){var char=str.charCodeAt(offset);if(isNumber(char))offset+=1;else return this.addToNumericResult(str,startIdx,offset,10),this.emitNumericEntity(char,2)}return this.addToNumericResult(str,startIdx,offset,10),-1},EntityDecoder2.prototype.emitNumericEntity=function(lastCp,expectedLength){var _a;if(this.consumed<=expectedLength)return(_a=this.errors)===null||_a===void 0||_a.absenceOfDigitsInNumericCharacterReference(this.consumed),0;if(lastCp===CharCodes.SEMI)this.consumed+=1;else if(this.decodeMode===DecodingMode.Strict)return 0;return this.emitCodePoint((0,decode_codepoint_js_1.replaceCodePoint)(this.result),this.consumed),this.errors&&(lastCp!==CharCodes.SEMI&&this.errors.missingSemicolonAfterCharacterReference(),this.errors.validateNumericCharacterReference(this.result)),this.consumed},EntityDecoder2.prototype.stateNamedEntity=function(str,offset){for(var decodeTree=this.decodeTree,current=decodeTree[this.treeIndex],valueLength=(current&BinTrieFlags.VALUE_LENGTH)>>14;offset<str.length;offset++,this.excess++){var char=str.charCodeAt(offset);if(this.treeIndex=determineBranch(decodeTree,current,this.treeIndex+Math.max(1,valueLength),char),this.treeIndex<0)return this.result===0||this.decodeMode===DecodingMode.Attribute&&(valueLength===0||isEntityInAttributeInvalidEnd(char))?0:this.emitNotTerminatedNamedEntity();if(current=decodeTree[this.treeIndex],valueLength=(current&BinTrieFlags.VALUE_LENGTH)>>14,valueLength!==0){if(char===CharCodes.SEMI)return this.emitNamedEntityData(this.treeIndex,valueLength,this.consumed+this.excess);this.decodeMode!==DecodingMode.Strict&&(this.result=this.treeIndex,this.consumed+=this.excess,this.excess=0)}}return-1},EntityDecoder2.prototype.emitNotTerminatedNamedEntity=function(){var _a,_b=this,result=_b.result,decodeTree=_b.decodeTree,valueLength=(decodeTree[result]&BinTrieFlags.VALUE_LENGTH)>>14;return this.emitNamedEntityData(result,valueLength,this.consumed),(_a=this.errors)===null||_a===void 0||_a.missingSemicolonAfterCharacterReference(),this.consumed},EntityDecoder2.prototype.emitNamedEntityData=function(result,valueLength,consumed){var decodeTree=this.decodeTree;return this.emitCodePoint(valueLength===1?decodeTree[result]&~BinTrieFlags.VALUE_LENGTH:decodeTree[result+1],consumed),valueLength===3&&this.emitCodePoint(decodeTree[result+2],consumed),consumed},EntityDecoder2.prototype.end=function(){var _a;switch(this.state){case EntityDecoderState.NamedEntity:return this.result!==0&&(this.decodeMode!==DecodingMode.Attribute||this.result===this.treeIndex)?this.emitNotTerminatedNamedEntity():0;case EntityDecoderState.NumericDecimal:return this.emitNumericEntity(0,2);case EntityDecoderState.NumericHex:return this.emitNumericEntity(0,3);case EntityDecoderState.NumericStart:return(_a=this.errors)===null||_a===void 0||_a.absenceOfDigitsInNumericCharacterReference(this.consumed),0;case EntityDecoderState.EntityStart:return 0}},EntityDecoder2})();exports.EntityDecoder=EntityDecoder;function getDecoder(decodeTree){var ret="",decoder=new EntityDecoder(decodeTree,function(str){return ret+=(0,decode_codepoint_js_1.fromCodePoint)(str)});return function(str,decodeMode){for(var lastIndex=0,offset=0;(offset=str.indexOf("&",offset))>=0;){ret+=str.slice(lastIndex,offset),decoder.startEntity(decodeMode);var len=decoder.write(str,offset+1);if(len<0){lastIndex=offset+decoder.end();break}lastIndex=offset+len,offset=len===0?lastIndex+1:lastIndex}var result=ret+str.slice(lastIndex);return ret="",result}}function determineBranch(decodeTree,current,nodeIdx,char){var branchCount=(current&BinTrieFlags.BRANCH_LENGTH)>>7,jumpOffset=current&BinTrieFlags.JUMP_TABLE;if(branchCount===0)return jumpOffset!==0&&char===jumpOffset?nodeIdx:-1;if(jumpOffset){var value=char-jumpOffset;return value<0||value>=branchCount?-1:decodeTree[nodeIdx+value]-1}for(var lo=nodeIdx,hi=lo+branchCount-1;lo<=hi;){var mid=lo+hi>>>1,midVal=decodeTree[mid];if(midVal<char)lo=mid+1;else if(midVal>char)hi=mid-1;else return decodeTree[mid+branchCount]}return-1}exports.determineBranch=determineBranch;var htmlDecoder=getDecoder(decode_data_html_js_1.default),xmlDecoder=getDecoder(decode_data_xml_js_1.default);function decodeHTML(str,mode){return mode===void 0&&(mode=DecodingMode.Legacy),htmlDecoder(str,mode)}exports.decodeHTML=decodeHTML;function decodeHTMLAttribute(str){return htmlDecoder(str,DecodingMode.Attribute)}exports.decodeHTMLAttribute=decodeHTMLAttribute;function decodeHTMLStrict(str){return htmlDecoder(str,DecodingMode.Strict)}exports.decodeHTMLStrict=decodeHTMLStrict;function decodeXML(str){return xmlDecoder(str,DecodingMode.Strict)}exports.decodeXML=decodeXML}});var require_encode_html=__commonJS({"node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/generated/encode-html.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});function restoreDiff(arr){for(var i=1;i<arr.length;i++)arr[i][0]+=arr[i-1][0]+1;return arr}exports.default=new Map(restoreDiff([[9,"&Tab;"],[0,"&NewLine;"],[22,"&excl;"],[0,"&quot;"],[0,"&num;"],[0,"&dollar;"],[0,"&percnt;"],[0,"&amp;"],[0,"&apos;"],[0,"&lpar;"],[0,"&rpar;"],[0,"&ast;"],[0,"&plus;"],[0,"&comma;"],[1,"&period;"],[0,"&sol;"],[10,"&colon;"],[0,"&semi;"],[0,{v:"&lt;",n:8402,o:"&nvlt;"}],[0,{v:"&equals;",n:8421,o:"&bne;"}],[0,{v:"&gt;",n:8402,o:"&nvgt;"}],[0,"&quest;"],[0,"&commat;"],[26,"&lbrack;"],[0,"&bsol;"],[0,"&rbrack;"],[0,"&Hat;"],[0,"&lowbar;"],[0,"&DiacriticalGrave;"],[5,{n:106,o:"&fjlig;"}],[20,"&lbrace;"],[0,"&verbar;"],[0,"&rbrace;"],[34,"&nbsp;"],[0,"&iexcl;"],[0,"&cent;"],[0,"&pound;"],[0,"&curren;"],[0,"&yen;"],[0,"&brvbar;"],[0,"&sect;"],[0,"&die;"],[0,"&copy;"],[0,"&ordf;"],[0,"&laquo;"],[0,"&not;"],[0,"&shy;"],[0,"&circledR;"],[0,"&macr;"],[0,"&deg;"],[0,"&PlusMinus;"],[0,"&sup2;"],[0,"&sup3;"],[0,"&acute;"],[0,"&micro;"],[0,"&para;"],[0,"&centerdot;"],[0,"&cedil;"],[0,"&sup1;"],[0,"&ordm;"],[0,"&raquo;"],[0,"&frac14;"],[0,"&frac12;"],[0,"&frac34;"],[0,"&iquest;"],[0,"&Agrave;"],[0,"&Aacute;"],[0,"&Acirc;"],[0,"&Atilde;"],[0,"&Auml;"],[0,"&angst;"],[0,"&AElig;"],[0,"&Ccedil;"],[0,"&Egrave;"],[0,"&Eacute;"],[0,"&Ecirc;"],[0,"&Euml;"],[0,"&Igrave;"],[0,"&Iacute;"],[0,"&Icirc;"],[0,"&Iuml;"],[0,"&ETH;"],[0,"&Ntilde;"],[0,"&Ograve;"],[0,"&Oacute;"],[0,"&Ocirc;"],[0,"&Otilde;"],[0,"&Ouml;"],[0,"&times;"],[0,"&Oslash;"],[0,"&Ugrave;"],[0,"&Uacute;"],[0,"&Ucirc;"],[0,"&Uuml;"],[0,"&Yacute;"],[0,"&THORN;"],[0,"&szlig;"],[0,"&agrave;"],[0,"&aacute;"],[0,"&acirc;"],[0,"&atilde;"],[0,"&auml;"],[0,"&aring;"],[0,"&aelig;"],[0,"&ccedil;"],[0,"&egrave;"],[0,"&eacute;"],[0,"&ecirc;"],[0,"&euml;"],[0,"&igrave;"],[0,"&iacute;"],[0,"&icirc;"],[0,"&iuml;"],[0,"&eth;"],[0,"&ntilde;"],[0,"&ograve;"],[0,"&oacute;"],[0,"&ocirc;"],[0,"&otilde;"],[0,"&ouml;"],[0,"&div;"],[0,"&oslash;"],[0,"&ugrave;"],[0,"&uacute;"],[0,"&ucirc;"],[0,"&uuml;"],[0,"&yacute;"],[0,"&thorn;"],[0,"&yuml;"],[0,"&Amacr;"],[0,"&amacr;"],[0,"&Abreve;"],[0,"&abreve;"],[0,"&Aogon;"],[0,"&aogon;"],[0,"&Cacute;"],[0,"&cacute;"],[0,"&Ccirc;"],[0,"&ccirc;"],[0,"&Cdot;"],[0,"&cdot;"],[0,"&Ccaron;"],[0,"&ccaron;"],[0,"&Dcaron;"],[0,"&dcaron;"],[0,"&Dstrok;"],[0,"&dstrok;"],[0,"&Emacr;"],[0,"&emacr;"],[2,"&Edot;"],[0,"&edot;"],[0,"&Eogon;"],[0,"&eogon;"],[0,"&Ecaron;"],[0,"&ecaron;"],[0,"&Gcirc;"],[0,"&gcirc;"],[0,"&Gbreve;"],[0,"&gbreve;"],[0,"&Gdot;"],[0,"&gdot;"],[0,"&Gcedil;"],[1,"&Hcirc;"],[0,"&hcirc;"],[0,"&Hstrok;"],[0,"&hstrok;"],[0,"&Itilde;"],[0,"&itilde;"],[0,"&Imacr;"],[0,"&imacr;"],[2,"&Iogon;"],[0,"&iogon;"],[0,"&Idot;"],[0,"&imath;"],[0,"&IJlig;"],[0,"&ijlig;"],[0,"&Jcirc;"],[0,"&jcirc;"],[0,"&Kcedil;"],[0,"&kcedil;"],[0,"&kgreen;"],[0,"&Lacute;"],[0,"&lacute;"],[0,"&Lcedil;"],[0,"&lcedil;"],[0,"&Lcaron;"],[0,"&lcaron;"],[0,"&Lmidot;"],[0,"&lmidot;"],[0,"&Lstrok;"],[0,"&lstrok;"],[0,"&Nacute;"],[0,"&nacute;"],[0,"&Ncedil;"],[0,"&ncedil;"],[0,"&Ncaron;"],[0,"&ncaron;"],[0,"&napos;"],[0,"&ENG;"],[0,"&eng;"],[0,"&Omacr;"],[0,"&omacr;"],[2,"&Odblac;"],[0,"&odblac;"],[0,"&OElig;"],[0,"&oelig;"],[0,"&Racute;"],[0,"&racute;"],[0,"&Rcedil;"],[0,"&rcedil;"],[0,"&Rcaron;"],[0,"&rcaron;"],[0,"&Sacute;"],[0,"&sacute;"],[0,"&Scirc;"],[0,"&scirc;"],[0,"&Scedil;"],[0,"&scedil;"],[0,"&Scaron;"],[0,"&scaron;"],[0,"&Tcedil;"],[0,"&tcedil;"],[0,"&Tcaron;"],[0,"&tcaron;"],[0,"&Tstrok;"],[0,"&tstrok;"],[0,"&Utilde;"],[0,"&utilde;"],[0,"&Umacr;"],[0,"&umacr;"],[0,"&Ubreve;"],[0,"&ubreve;"],[0,"&Uring;"],[0,"&uring;"],[0,"&Udblac;"],[0,"&udblac;"],[0,"&Uogon;"],[0,"&uogon;"],[0,"&Wcirc;"],[0,"&wcirc;"],[0,"&Ycirc;"],[0,"&ycirc;"],[0,"&Yuml;"],[0,"&Zacute;"],[0,"&zacute;"],[0,"&Zdot;"],[0,"&zdot;"],[0,"&Zcaron;"],[0,"&zcaron;"],[19,"&fnof;"],[34,"&imped;"],[63,"&gacute;"],[65,"&jmath;"],[142,"&circ;"],[0,"&caron;"],[16,"&breve;"],[0,"&DiacriticalDot;"],[0,"&ring;"],[0,"&ogon;"],[0,"&DiacriticalTilde;"],[0,"&dblac;"],[51,"&DownBreve;"],[127,"&Alpha;"],[0,"&Beta;"],[0,"&Gamma;"],[0,"&Delta;"],[0,"&Epsilon;"],[0,"&Zeta;"],[0,"&Eta;"],[0,"&Theta;"],[0,"&Iota;"],[0,"&Kappa;"],[0,"&Lambda;"],[0,"&Mu;"],[0,"&Nu;"],[0,"&Xi;"],[0,"&Omicron;"],[0,"&Pi;"],[0,"&Rho;"],[1,"&Sigma;"],[0,"&Tau;"],[0,"&Upsilon;"],[0,"&Phi;"],[0,"&Chi;"],[0,"&Psi;"],[0,"&ohm;"],[7,"&alpha;"],[0,"&beta;"],[0,"&gamma;"],[0,"&delta;"],[0,"&epsi;"],[0,"&zeta;"],[0,"&eta;"],[0,"&theta;"],[0,"&iota;"],[0,"&kappa;"],[0,"&lambda;"],[0,"&mu;"],[0,"&nu;"],[0,"&xi;"],[0,"&omicron;"],[0,"&pi;"],[0,"&rho;"],[0,"&sigmaf;"],[0,"&sigma;"],[0,"&tau;"],[0,"&upsi;"],[0,"&phi;"],[0,"&chi;"],[0,"&psi;"],[0,"&omega;"],[7,"&thetasym;"],[0,"&Upsi;"],[2,"&phiv;"],[0,"&piv;"],[5,"&Gammad;"],[0,"&digamma;"],[18,"&kappav;"],[0,"&rhov;"],[3,"&epsiv;"],[0,"&backepsilon;"],[10,"&IOcy;"],[0,"&DJcy;"],[0,"&GJcy;"],[0,"&Jukcy;"],[0,"&DScy;"],[0,"&Iukcy;"],[0,"&YIcy;"],[0,"&Jsercy;"],[0,"&LJcy;"],[0,"&NJcy;"],[0,"&TSHcy;"],[0,"&KJcy;"],[1,"&Ubrcy;"],[0,"&DZcy;"],[0,"&Acy;"],[0,"&Bcy;"],[0,"&Vcy;"],[0,"&Gcy;"],[0,"&Dcy;"],[0,"&IEcy;"],[0,"&ZHcy;"],[0,"&Zcy;"],[0,"&Icy;"],[0,"&Jcy;"],[0,"&Kcy;"],[0,"&Lcy;"],[0,"&Mcy;"],[0,"&Ncy;"],[0,"&Ocy;"],[0,"&Pcy;"],[0,"&Rcy;"],[0,"&Scy;"],[0,"&Tcy;"],[0,"&Ucy;"],[0,"&Fcy;"],[0,"&KHcy;"],[0,"&TScy;"],[0,"&CHcy;"],[0,"&SHcy;"],[0,"&SHCHcy;"],[0,"&HARDcy;"],[0,"&Ycy;"],[0,"&SOFTcy;"],[0,"&Ecy;"],[0,"&YUcy;"],[0,"&YAcy;"],[0,"&acy;"],[0,"&bcy;"],[0,"&vcy;"],[0,"&gcy;"],[0,"&dcy;"],[0,"&iecy;"],[0,"&zhcy;"],[0,"&zcy;"],[0,"&icy;"],[0,"&jcy;"],[0,"&kcy;"],[0,"&lcy;"],[0,"&mcy;"],[0,"&ncy;"],[0,"&ocy;"],[0,"&pcy;"],[0,"&rcy;"],[0,"&scy;"],[0,"&tcy;"],[0,"&ucy;"],[0,"&fcy;"],[0,"&khcy;"],[0,"&tscy;"],[0,"&chcy;"],[0,"&shcy;"],[0,"&shchcy;"],[0,"&hardcy;"],[0,"&ycy;"],[0,"&softcy;"],[0,"&ecy;"],[0,"&yucy;"],[0,"&yacy;"],[1,"&iocy;"],[0,"&djcy;"],[0,"&gjcy;"],[0,"&jukcy;"],[0,"&dscy;"],[0,"&iukcy;"],[0,"&yicy;"],[0,"&jsercy;"],[0,"&ljcy;"],[0,"&njcy;"],[0,"&tshcy;"],[0,"&kjcy;"],[1,"&ubrcy;"],[0,"&dzcy;"],[7074,"&ensp;"],[0,"&emsp;"],[0,"&emsp13;"],[0,"&emsp14;"],[1,"&numsp;"],[0,"&puncsp;"],[0,"&ThinSpace;"],[0,"&hairsp;"],[0,"&NegativeMediumSpace;"],[0,"&zwnj;"],[0,"&zwj;"],[0,"&lrm;"],[0,"&rlm;"],[0,"&dash;"],[2,"&ndash;"],[0,"&mdash;"],[0,"&horbar;"],[0,"&Verbar;"],[1,"&lsquo;"],[0,"&CloseCurlyQuote;"],[0,"&lsquor;"],[1,"&ldquo;"],[0,"&CloseCurlyDoubleQuote;"],[0,"&bdquo;"],[1,"&dagger;"],[0,"&Dagger;"],[0,"&bull;"],[2,"&nldr;"],[0,"&hellip;"],[9,"&permil;"],[0,"&pertenk;"],[0,"&prime;"],[0,"&Prime;"],[0,"&tprime;"],[0,"&backprime;"],[3,"&lsaquo;"],[0,"&rsaquo;"],[3,"&oline;"],[2,"&caret;"],[1,"&hybull;"],[0,"&frasl;"],[10,"&bsemi;"],[7,"&qprime;"],[7,{v:"&MediumSpace;",n:8202,o:"&ThickSpace;"}],[0,"&NoBreak;"],[0,"&af;"],[0,"&InvisibleTimes;"],[0,"&ic;"],[72,"&euro;"],[46,"&tdot;"],[0,"&DotDot;"],[37,"&complexes;"],[2,"&incare;"],[4,"&gscr;"],[0,"&hamilt;"],[0,"&Hfr;"],[0,"&Hopf;"],[0,"&planckh;"],[0,"&hbar;"],[0,"&imagline;"],[0,"&Ifr;"],[0,"&lagran;"],[0,"&ell;"],[1,"&naturals;"],[0,"&numero;"],[0,"&copysr;"],[0,"&weierp;"],[0,"&Popf;"],[0,"&Qopf;"],[0,"&realine;"],[0,"&real;"],[0,"&reals;"],[0,"&rx;"],[3,"&trade;"],[1,"&integers;"],[2,"&mho;"],[0,"&zeetrf;"],[0,"&iiota;"],[2,"&bernou;"],[0,"&Cayleys;"],[1,"&escr;"],[0,"&Escr;"],[0,"&Fouriertrf;"],[1,"&Mellintrf;"],[0,"&order;"],[0,"&alefsym;"],[0,"&beth;"],[0,"&gimel;"],[0,"&daleth;"],[12,"&CapitalDifferentialD;"],[0,"&dd;"],[0,"&ee;"],[0,"&ii;"],[10,"&frac13;"],[0,"&frac23;"],[0,"&frac15;"],[0,"&frac25;"],[0,"&frac35;"],[0,"&frac45;"],[0,"&frac16;"],[0,"&frac56;"],[0,"&frac18;"],[0,"&frac38;"],[0,"&frac58;"],[0,"&frac78;"],[49,"&larr;"],[0,"&ShortUpArrow;"],[0,"&rarr;"],[0,"&darr;"],[0,"&harr;"],[0,"&updownarrow;"],[0,"&nwarr;"],[0,"&nearr;"],[0,"&LowerRightArrow;"],[0,"&LowerLeftArrow;"],[0,"&nlarr;"],[0,"&nrarr;"],[1,{v:"&rarrw;",n:824,o:"&nrarrw;"}],[0,"&Larr;"],[0,"&Uarr;"],[0,"&Rarr;"],[0,"&Darr;"],[0,"&larrtl;"],[0,"&rarrtl;"],[0,"&LeftTeeArrow;"],[0,"&mapstoup;"],[0,"&map;"],[0,"&DownTeeArrow;"],[1,"&hookleftarrow;"],[0,"&hookrightarrow;"],[0,"&larrlp;"],[0,"&looparrowright;"],[0,"&harrw;"],[0,"&nharr;"],[1,"&lsh;"],[0,"&rsh;"],[0,"&ldsh;"],[0,"&rdsh;"],[1,"&crarr;"],[0,"&cularr;"],[0,"&curarr;"],[2,"&circlearrowleft;"],[0,"&circlearrowright;"],[0,"&leftharpoonup;"],[0,"&DownLeftVector;"],[0,"&RightUpVector;"],[0,"&LeftUpVector;"],[0,"&rharu;"],[0,"&DownRightVector;"],[0,"&dharr;"],[0,"&dharl;"],[0,"&RightArrowLeftArrow;"],[0,"&udarr;"],[0,"&LeftArrowRightArrow;"],[0,"&leftleftarrows;"],[0,"&upuparrows;"],[0,"&rightrightarrows;"],[0,"&ddarr;"],[0,"&leftrightharpoons;"],[0,"&Equilibrium;"],[0,"&nlArr;"],[0,"&nhArr;"],[0,"&nrArr;"],[0,"&DoubleLeftArrow;"],[0,"&DoubleUpArrow;"],[0,"&DoubleRightArrow;"],[0,"&dArr;"],[0,"&DoubleLeftRightArrow;"],[0,"&DoubleUpDownArrow;"],[0,"&nwArr;"],[0,"&neArr;"],[0,"&seArr;"],[0,"&swArr;"],[0,"&lAarr;"],[0,"&rAarr;"],[1,"&zigrarr;"],[6,"&larrb;"],[0,"&rarrb;"],[15,"&DownArrowUpArrow;"],[7,"&loarr;"],[0,"&roarr;"],[0,"&hoarr;"],[0,"&forall;"],[0,"&comp;"],[0,{v:"&part;",n:824,o:"&npart;"}],[0,"&exist;"],[0,"&nexist;"],[0,"&empty;"],[1,"&Del;"],[0,"&Element;"],[0,"&NotElement;"],[1,"&ni;"],[0,"&notni;"],[2,"&prod;"],[0,"&coprod;"],[0,"&sum;"],[0,"&minus;"],[0,"&MinusPlus;"],[0,"&dotplus;"],[1,"&Backslash;"],[0,"&lowast;"],[0,"&compfn;"],[1,"&radic;"],[2,"&prop;"],[0,"&infin;"],[0,"&angrt;"],[0,{v:"&ang;",n:8402,o:"&nang;"}],[0,"&angmsd;"],[0,"&angsph;"],[0,"&mid;"],[0,"&nmid;"],[0,"&DoubleVerticalBar;"],[0,"&NotDoubleVerticalBar;"],[0,"&and;"],[0,"&or;"],[0,{v:"&cap;",n:65024,o:"&caps;"}],[0,{v:"&cup;",n:65024,o:"&cups;"}],[0,"&int;"],[0,"&Int;"],[0,"&iiint;"],[0,"&conint;"],[0,"&Conint;"],[0,"&Cconint;"],[0,"&cwint;"],[0,"&ClockwiseContourIntegral;"],[0,"&awconint;"],[0,"&there4;"],[0,"&becaus;"],[0,"&ratio;"],[0,"&Colon;"],[0,"&dotminus;"],[1,"&mDDot;"],[0,"&homtht;"],[0,{v:"&sim;",n:8402,o:"&nvsim;"}],[0,{v:"&backsim;",n:817,o:"&race;"}],[0,{v:"&ac;",n:819,o:"&acE;"}],[0,"&acd;"],[0,"&VerticalTilde;"],[0,"&NotTilde;"],[0,{v:"&eqsim;",n:824,o:"&nesim;"}],[0,"&sime;"],[0,"&NotTildeEqual;"],[0,"&cong;"],[0,"&simne;"],[0,"&ncong;"],[0,"&ap;"],[0,"&nap;"],[0,"&ape;"],[0,{v:"&apid;",n:824,o:"&napid;"}],[0,"&backcong;"],[0,{v:"&asympeq;",n:8402,o:"&nvap;"}],[0,{v:"&bump;",n:824,o:"&nbump;"}],[0,{v:"&bumpe;",n:824,o:"&nbumpe;"}],[0,{v:"&doteq;",n:824,o:"&nedot;"}],[0,"&doteqdot;"],[0,"&efDot;"],[0,"&erDot;"],[0,"&Assign;"],[0,"&ecolon;"],[0,"&ecir;"],[0,"&circeq;"],[1,"&wedgeq;"],[0,"&veeeq;"],[1,"&triangleq;"],[2,"&equest;"],[0,"&ne;"],[0,{v:"&Congruent;",n:8421,o:"&bnequiv;"}],[0,"&nequiv;"],[1,{v:"&le;",n:8402,o:"&nvle;"}],[0,{v:"&ge;",n:8402,o:"&nvge;"}],[0,{v:"&lE;",n:824,o:"&nlE;"}],[0,{v:"&gE;",n:824,o:"&ngE;"}],[0,{v:"&lnE;",n:65024,o:"&lvertneqq;"}],[0,{v:"&gnE;",n:65024,o:"&gvertneqq;"}],[0,{v:"&ll;",n:new Map(restoreDiff([[824,"&nLtv;"],[7577,"&nLt;"]]))}],[0,{v:"&gg;",n:new Map(restoreDiff([[824,"&nGtv;"],[7577,"&nGt;"]]))}],[0,"&between;"],[0,"&NotCupCap;"],[0,"&nless;"],[0,"&ngt;"],[0,"&nle;"],[0,"&nge;"],[0,"&lesssim;"],[0,"&GreaterTilde;"],[0,"&nlsim;"],[0,"&ngsim;"],[0,"&LessGreater;"],[0,"&gl;"],[0,"&NotLessGreater;"],[0,"&NotGreaterLess;"],[0,"&pr;"],[0,"&sc;"],[0,"&prcue;"],[0,"&sccue;"],[0,"&PrecedesTilde;"],[0,{v:"&scsim;",n:824,o:"&NotSucceedsTilde;"}],[0,"&NotPrecedes;"],[0,"&NotSucceeds;"],[0,{v:"&sub;",n:8402,o:"&NotSubset;"}],[0,{v:"&sup;",n:8402,o:"&NotSuperset;"}],[0,"&nsub;"],[0,"&nsup;"],[0,"&sube;"],[0,"&supe;"],[0,"&NotSubsetEqual;"],[0,"&NotSupersetEqual;"],[0,{v:"&subne;",n:65024,o:"&varsubsetneq;"}],[0,{v:"&supne;",n:65024,o:"&varsupsetneq;"}],[1,"&cupdot;"],[0,"&UnionPlus;"],[0,{v:"&sqsub;",n:824,o:"&NotSquareSubset;"}],[0,{v:"&sqsup;",n:824,o:"&NotSquareSuperset;"}],[0,"&sqsube;"],[0,"&sqsupe;"],[0,{v:"&sqcap;",n:65024,o:"&sqcaps;"}],[0,{v:"&sqcup;",n:65024,o:"&sqcups;"}],[0,"&CirclePlus;"],[0,"&CircleMinus;"],[0,"&CircleTimes;"],[0,"&osol;"],[0,"&CircleDot;"],[0,"&circledcirc;"],[0,"&circledast;"],[1,"&circleddash;"],[0,"&boxplus;"],[0,"&boxminus;"],[0,"&boxtimes;"],[0,"&dotsquare;"],[0,"&RightTee;"],[0,"&dashv;"],[0,"&DownTee;"],[0,"&bot;"],[1,"&models;"],[0,"&DoubleRightTee;"],[0,"&Vdash;"],[0,"&Vvdash;"],[0,"&VDash;"],[0,"&nvdash;"],[0,"&nvDash;"],[0,"&nVdash;"],[0,"&nVDash;"],[0,"&prurel;"],[1,"&LeftTriangle;"],[0,"&RightTriangle;"],[0,{v:"&LeftTriangleEqual;",n:8402,o:"&nvltrie;"}],[0,{v:"&RightTriangleEqual;",n:8402,o:"&nvrtrie;"}],[0,"&origof;"],[0,"&imof;"],[0,"&multimap;"],[0,"&hercon;"],[0,"&intcal;"],[0,"&veebar;"],[1,"&barvee;"],[0,"&angrtvb;"],[0,"&lrtri;"],[0,"&bigwedge;"],[0,"&bigvee;"],[0,"&bigcap;"],[0,"&bigcup;"],[0,"&diam;"],[0,"&sdot;"],[0,"&sstarf;"],[0,"&divideontimes;"],[0,"&bowtie;"],[0,"&ltimes;"],[0,"&rtimes;"],[0,"&leftthreetimes;"],[0,"&rightthreetimes;"],[0,"&backsimeq;"],[0,"&curlyvee;"],[0,"&curlywedge;"],[0,"&Sub;"],[0,"&Sup;"],[0,"&Cap;"],[0,"&Cup;"],[0,"&fork;"],[0,"&epar;"],[0,"&lessdot;"],[0,"&gtdot;"],[0,{v:"&Ll;",n:824,o:"&nLl;"}],[0,{v:"&Gg;",n:824,o:"&nGg;"}],[0,{v:"&leg;",n:65024,o:"&lesg;"}],[0,{v:"&gel;",n:65024,o:"&gesl;"}],[2,"&cuepr;"],[0,"&cuesc;"],[0,"&NotPrecedesSlantEqual;"],[0,"&NotSucceedsSlantEqual;"],[0,"&NotSquareSubsetEqual;"],[0,"&NotSquareSupersetEqual;"],[2,"&lnsim;"],[0,"&gnsim;"],[0,"&precnsim;"],[0,"&scnsim;"],[0,"&nltri;"],[0,"&NotRightTriangle;"],[0,"&nltrie;"],[0,"&NotRightTriangleEqual;"],[0,"&vellip;"],[0,"&ctdot;"],[0,"&utdot;"],[0,"&dtdot;"],[0,"&disin;"],[0,"&isinsv;"],[0,"&isins;"],[0,{v:"&isindot;",n:824,o:"&notindot;"}],[0,"&notinvc;"],[0,"&notinvb;"],[1,{v:"&isinE;",n:824,o:"&notinE;"}],[0,"&nisd;"],[0,"&xnis;"],[0,"&nis;"],[0,"&notnivc;"],[0,"&notnivb;"],[6,"&barwed;"],[0,"&Barwed;"],[1,"&lceil;"],[0,"&rceil;"],[0,"&LeftFloor;"],[0,"&rfloor;"],[0,"&drcrop;"],[0,"&dlcrop;"],[0,"&urcrop;"],[0,"&ulcrop;"],[0,"&bnot;"],[1,"&profline;"],[0,"&profsurf;"],[1,"&telrec;"],[0,"&target;"],[5,"&ulcorn;"],[0,"&urcorn;"],[0,"&dlcorn;"],[0,"&drcorn;"],[2,"&frown;"],[0,"&smile;"],[9,"&cylcty;"],[0,"&profalar;"],[7,"&topbot;"],[6,"&ovbar;"],[1,"&solbar;"],[60,"&angzarr;"],[51,"&lmoustache;"],[0,"&rmoustache;"],[2,"&OverBracket;"],[0,"&bbrk;"],[0,"&bbrktbrk;"],[37,"&OverParenthesis;"],[0,"&UnderParenthesis;"],[0,"&OverBrace;"],[0,"&UnderBrace;"],[2,"&trpezium;"],[4,"&elinters;"],[59,"&blank;"],[164,"&circledS;"],[55,"&boxh;"],[1,"&boxv;"],[9,"&boxdr;"],[3,"&boxdl;"],[3,"&boxur;"],[3,"&boxul;"],[3,"&boxvr;"],[7,"&boxvl;"],[7,"&boxhd;"],[7,"&boxhu;"],[7,"&boxvh;"],[19,"&boxH;"],[0,"&boxV;"],[0,"&boxdR;"],[0,"&boxDr;"],[0,"&boxDR;"],[0,"&boxdL;"],[0,"&boxDl;"],[0,"&boxDL;"],[0,"&boxuR;"],[0,"&boxUr;"],[0,"&boxUR;"],[0,"&boxuL;"],[0,"&boxUl;"],[0,"&boxUL;"],[0,"&boxvR;"],[0,"&boxVr;"],[0,"&boxVR;"],[0,"&boxvL;"],[0,"&boxVl;"],[0,"&boxVL;"],[0,"&boxHd;"],[0,"&boxhD;"],[0,"&boxHD;"],[0,"&boxHu;"],[0,"&boxhU;"],[0,"&boxHU;"],[0,"&boxvH;"],[0,"&boxVh;"],[0,"&boxVH;"],[19,"&uhblk;"],[3,"&lhblk;"],[3,"&block;"],[8,"&blk14;"],[0,"&blk12;"],[0,"&blk34;"],[13,"&square;"],[8,"&blacksquare;"],[0,"&EmptyVerySmallSquare;"],[1,"&rect;"],[0,"&marker;"],[2,"&fltns;"],[1,"&bigtriangleup;"],[0,"&blacktriangle;"],[0,"&triangle;"],[2,"&blacktriangleright;"],[0,"&rtri;"],[3,"&bigtriangledown;"],[0,"&blacktriangledown;"],[0,"&dtri;"],[2,"&blacktriangleleft;"],[0,"&ltri;"],[6,"&loz;"],[0,"&cir;"],[32,"&tridot;"],[2,"&bigcirc;"],[8,"&ultri;"],[0,"&urtri;"],[0,"&lltri;"],[0,"&EmptySmallSquare;"],[0,"&FilledSmallSquare;"],[8,"&bigstar;"],[0,"&star;"],[7,"&phone;"],[49,"&female;"],[1,"&male;"],[29,"&spades;"],[2,"&clubs;"],[1,"&hearts;"],[0,"&diamondsuit;"],[3,"&sung;"],[2,"&flat;"],[0,"&natural;"],[0,"&sharp;"],[163,"&check;"],[3,"&cross;"],[8,"&malt;"],[21,"&sext;"],[33,"&VerticalSeparator;"],[25,"&lbbrk;"],[0,"&rbbrk;"],[84,"&bsolhsub;"],[0,"&suphsol;"],[28,"&LeftDoubleBracket;"],[0,"&RightDoubleBracket;"],[0,"&lang;"],[0,"&rang;"],[0,"&Lang;"],[0,"&Rang;"],[0,"&loang;"],[0,"&roang;"],[7,"&longleftarrow;"],[0,"&longrightarrow;"],[0,"&longleftrightarrow;"],[0,"&DoubleLongLeftArrow;"],[0,"&DoubleLongRightArrow;"],[0,"&DoubleLongLeftRightArrow;"],[1,"&longmapsto;"],[2,"&dzigrarr;"],[258,"&nvlArr;"],[0,"&nvrArr;"],[0,"&nvHarr;"],[0,"&Map;"],[6,"&lbarr;"],[0,"&bkarow;"],[0,"&lBarr;"],[0,"&dbkarow;"],[0,"&drbkarow;"],[0,"&DDotrahd;"],[0,"&UpArrowBar;"],[0,"&DownArrowBar;"],[2,"&Rarrtl;"],[2,"&latail;"],[0,"&ratail;"],[0,"&lAtail;"],[0,"&rAtail;"],[0,"&larrfs;"],[0,"&rarrfs;"],[0,"&larrbfs;"],[0,"&rarrbfs;"],[2,"&nwarhk;"],[0,"&nearhk;"],[0,"&hksearow;"],[0,"&hkswarow;"],[0,"&nwnear;"],[0,"&nesear;"],[0,"&seswar;"],[0,"&swnwar;"],[8,{v:"&rarrc;",n:824,o:"&nrarrc;"}],[1,"&cudarrr;"],[0,"&ldca;"],[0,"&rdca;"],[0,"&cudarrl;"],[0,"&larrpl;"],[2,"&curarrm;"],[0,"&cularrp;"],[7,"&rarrpl;"],[2,"&harrcir;"],[0,"&Uarrocir;"],[0,"&lurdshar;"],[0,"&ldrushar;"],[2,"&LeftRightVector;"],[0,"&RightUpDownVector;"],[0,"&DownLeftRightVector;"],[0,"&LeftUpDownVector;"],[0,"&LeftVectorBar;"],[0,"&RightVectorBar;"],[0,"&RightUpVectorBar;"],[0,"&RightDownVectorBar;"],[0,"&DownLeftVectorBar;"],[0,"&DownRightVectorBar;"],[0,"&LeftUpVectorBar;"],[0,"&LeftDownVectorBar;"],[0,"&LeftTeeVector;"],[0,"&RightTeeVector;"],[0,"&RightUpTeeVector;"],[0,"&RightDownTeeVector;"],[0,"&DownLeftTeeVector;"],[0,"&DownRightTeeVector;"],[0,"&LeftUpTeeVector;"],[0,"&LeftDownTeeVector;"],[0,"&lHar;"],[0,"&uHar;"],[0,"&rHar;"],[0,"&dHar;"],[0,"&luruhar;"],[0,"&ldrdhar;"],[0,"&ruluhar;"],[0,"&rdldhar;"],[0,"&lharul;"],[0,"&llhard;"],[0,"&rharul;"],[0,"&lrhard;"],[0,"&udhar;"],[0,"&duhar;"],[0,"&RoundImplies;"],[0,"&erarr;"],[0,"&simrarr;"],[0,"&larrsim;"],[0,"&rarrsim;"],[0,"&rarrap;"],[0,"&ltlarr;"],[1,"&gtrarr;"],[0,"&subrarr;"],[1,"&suplarr;"],[0,"&lfisht;"],[0,"&rfisht;"],[0,"&ufisht;"],[0,"&dfisht;"],[5,"&lopar;"],[0,"&ropar;"],[4,"&lbrke;"],[0,"&rbrke;"],[0,"&lbrkslu;"],[0,"&rbrksld;"],[0,"&lbrksld;"],[0,"&rbrkslu;"],[0,"&langd;"],[0,"&rangd;"],[0,"&lparlt;"],[0,"&rpargt;"],[0,"&gtlPar;"],[0,"&ltrPar;"],[3,"&vzigzag;"],[1,"&vangrt;"],[0,"&angrtvbd;"],[6,"&ange;"],[0,"&range;"],[0,"&dwangle;"],[0,"&uwangle;"],[0,"&angmsdaa;"],[0,"&angmsdab;"],[0,"&angmsdac;"],[0,"&angmsdad;"],[0,"&angmsdae;"],[0,"&angmsdaf;"],[0,"&angmsdag;"],[0,"&angmsdah;"],[0,"&bemptyv;"],[0,"&demptyv;"],[0,"&cemptyv;"],[0,"&raemptyv;"],[0,"&laemptyv;"],[0,"&ohbar;"],[0,"&omid;"],[0,"&opar;"],[1,"&operp;"],[1,"&olcross;"],[0,"&odsold;"],[1,"&olcir;"],[0,"&ofcir;"],[0,"&olt;"],[0,"&ogt;"],[0,"&cirscir;"],[0,"&cirE;"],[0,"&solb;"],[0,"&bsolb;"],[3,"&boxbox;"],[3,"&trisb;"],[0,"&rtriltri;"],[0,{v:"&LeftTriangleBar;",n:824,o:"&NotLeftTriangleBar;"}],[0,{v:"&RightTriangleBar;",n:824,o:"&NotRightTriangleBar;"}],[11,"&iinfin;"],[0,"&infintie;"],[0,"&nvinfin;"],[4,"&eparsl;"],[0,"&smeparsl;"],[0,"&eqvparsl;"],[5,"&blacklozenge;"],[8,"&RuleDelayed;"],[1,"&dsol;"],[9,"&bigodot;"],[0,"&bigoplus;"],[0,"&bigotimes;"],[1,"&biguplus;"],[1,"&bigsqcup;"],[5,"&iiiint;"],[0,"&fpartint;"],[2,"&cirfnint;"],[0,"&awint;"],[0,"&rppolint;"],[0,"&scpolint;"],[0,"&npolint;"],[0,"&pointint;"],[0,"&quatint;"],[0,"&intlarhk;"],[10,"&pluscir;"],[0,"&plusacir;"],[0,"&simplus;"],[0,"&plusdu;"],[0,"&plussim;"],[0,"&plustwo;"],[1,"&mcomma;"],[0,"&minusdu;"],[2,"&loplus;"],[0,"&roplus;"],[0,"&Cross;"],[0,"&timesd;"],[0,"&timesbar;"],[1,"&smashp;"],[0,"&lotimes;"],[0,"&rotimes;"],[0,"&otimesas;"],[0,"&Otimes;"],[0,"&odiv;"],[0,"&triplus;"],[0,"&triminus;"],[0,"&tritime;"],[0,"&intprod;"],[2,"&amalg;"],[0,"&capdot;"],[1,"&ncup;"],[0,"&ncap;"],[0,"&capand;"],[0,"&cupor;"],[0,"&cupcap;"],[0,"&capcup;"],[0,"&cupbrcap;"],[0,"&capbrcup;"],[0,"&cupcup;"],[0,"&capcap;"],[0,"&ccups;"],[0,"&ccaps;"],[2,"&ccupssm;"],[2,"&And;"],[0,"&Or;"],[0,"&andand;"],[0,"&oror;"],[0,"&orslope;"],[0,"&andslope;"],[1,"&andv;"],[0,"&orv;"],[0,"&andd;"],[0,"&ord;"],[1,"&wedbar;"],[6,"&sdote;"],[3,"&simdot;"],[2,{v:"&congdot;",n:824,o:"&ncongdot;"}],[0,"&easter;"],[0,"&apacir;"],[0,{v:"&apE;",n:824,o:"&napE;"}],[0,"&eplus;"],[0,"&pluse;"],[0,"&Esim;"],[0,"&Colone;"],[0,"&Equal;"],[1,"&ddotseq;"],[0,"&equivDD;"],[0,"&ltcir;"],[0,"&gtcir;"],[0,"&ltquest;"],[0,"&gtquest;"],[0,{v:"&leqslant;",n:824,o:"&nleqslant;"}],[0,{v:"&geqslant;",n:824,o:"&ngeqslant;"}],[0,"&lesdot;"],[0,"&gesdot;"],[0,"&lesdoto;"],[0,"&gesdoto;"],[0,"&lesdotor;"],[0,"&gesdotol;"],[0,"&lap;"],[0,"&gap;"],[0,"&lne;"],[0,"&gne;"],[0,"&lnap;"],[0,"&gnap;"],[0,"&lEg;"],[0,"&gEl;"],[0,"&lsime;"],[0,"&gsime;"],[0,"&lsimg;"],[0,"&gsiml;"],[0,"&lgE;"],[0,"&glE;"],[0,"&lesges;"],[0,"&gesles;"],[0,"&els;"],[0,"&egs;"],[0,"&elsdot;"],[0,"&egsdot;"],[0,"&el;"],[0,"&eg;"],[2,"&siml;"],[0,"&simg;"],[0,"&simlE;"],[0,"&simgE;"],[0,{v:"&LessLess;",n:824,o:"&NotNestedLessLess;"}],[0,{v:"&GreaterGreater;",n:824,o:"&NotNestedGreaterGreater;"}],[1,"&glj;"],[0,"&gla;"],[0,"&ltcc;"],[0,"&gtcc;"],[0,"&lescc;"],[0,"&gescc;"],[0,"&smt;"],[0,"&lat;"],[0,{v:"&smte;",n:65024,o:"&smtes;"}],[0,{v:"&late;",n:65024,o:"&lates;"}],[0,"&bumpE;"],[0,{v:"&PrecedesEqual;",n:824,o:"&NotPrecedesEqual;"}],[0,{v:"&sce;",n:824,o:"&NotSucceedsEqual;"}],[2,"&prE;"],[0,"&scE;"],[0,"&precneqq;"],[0,"&scnE;"],[0,"&prap;"],[0,"&scap;"],[0,"&precnapprox;"],[0,"&scnap;"],[0,"&Pr;"],[0,"&Sc;"],[0,"&subdot;"],[0,"&supdot;"],[0,"&subplus;"],[0,"&supplus;"],[0,"&submult;"],[0,"&supmult;"],[0,"&subedot;"],[0,"&supedot;"],[0,{v:"&subE;",n:824,o:"&nsubE;"}],[0,{v:"&supE;",n:824,o:"&nsupE;"}],[0,"&subsim;"],[0,"&supsim;"],[2,{v:"&subnE;",n:65024,o:"&varsubsetneqq;"}],[0,{v:"&supnE;",n:65024,o:"&varsupsetneqq;"}],[2,"&csub;"],[0,"&csup;"],[0,"&csube;"],[0,"&csupe;"],[0,"&subsup;"],[0,"&supsub;"],[0,"&subsub;"],[0,"&supsup;"],[0,"&suphsub;"],[0,"&supdsub;"],[0,"&forkv;"],[0,"&topfork;"],[0,"&mlcp;"],[8,"&Dashv;"],[1,"&Vdashl;"],[0,"&Barv;"],[0,"&vBar;"],[0,"&vBarv;"],[1,"&Vbar;"],[0,"&Not;"],[0,"&bNot;"],[0,"&rnmid;"],[0,"&cirmid;"],[0,"&midcir;"],[0,"&topcir;"],[0,"&nhpar;"],[0,"&parsim;"],[9,{v:"&parsl;",n:8421,o:"&nparsl;"}],[44343,{n:new Map(restoreDiff([[56476,"&Ascr;"],[1,"&Cscr;"],[0,"&Dscr;"],[2,"&Gscr;"],[2,"&Jscr;"],[0,"&Kscr;"],[2,"&Nscr;"],[0,"&Oscr;"],[0,"&Pscr;"],[0,"&Qscr;"],[1,"&Sscr;"],[0,"&Tscr;"],[0,"&Uscr;"],[0,"&Vscr;"],[0,"&Wscr;"],[0,"&Xscr;"],[0,"&Yscr;"],[0,"&Zscr;"],[0,"&ascr;"],[0,"&bscr;"],[0,"&cscr;"],[0,"&dscr;"],[1,"&fscr;"],[1,"&hscr;"],[0,"&iscr;"],[0,"&jscr;"],[0,"&kscr;"],[0,"&lscr;"],[0,"&mscr;"],[0,"&nscr;"],[1,"&pscr;"],[0,"&qscr;"],[0,"&rscr;"],[0,"&sscr;"],[0,"&tscr;"],[0,"&uscr;"],[0,"&vscr;"],[0,"&wscr;"],[0,"&xscr;"],[0,"&yscr;"],[0,"&zscr;"],[52,"&Afr;"],[0,"&Bfr;"],[1,"&Dfr;"],[0,"&Efr;"],[0,"&Ffr;"],[0,"&Gfr;"],[2,"&Jfr;"],[0,"&Kfr;"],[0,"&Lfr;"],[0,"&Mfr;"],[0,"&Nfr;"],[0,"&Ofr;"],[0,"&Pfr;"],[0,"&Qfr;"],[1,"&Sfr;"],[0,"&Tfr;"],[0,"&Ufr;"],[0,"&Vfr;"],[0,"&Wfr;"],[0,"&Xfr;"],[0,"&Yfr;"],[1,"&afr;"],[0,"&bfr;"],[0,"&cfr;"],[0,"&dfr;"],[0,"&efr;"],[0,"&ffr;"],[0,"&gfr;"],[0,"&hfr;"],[0,"&ifr;"],[0,"&jfr;"],[0,"&kfr;"],[0,"&lfr;"],[0,"&mfr;"],[0,"&nfr;"],[0,"&ofr;"],[0,"&pfr;"],[0,"&qfr;"],[0,"&rfr;"],[0,"&sfr;"],[0,"&tfr;"],[0,"&ufr;"],[0,"&vfr;"],[0,"&wfr;"],[0,"&xfr;"],[0,"&yfr;"],[0,"&zfr;"],[0,"&Aopf;"],[0,"&Bopf;"],[1,"&Dopf;"],[0,"&Eopf;"],[0,"&Fopf;"],[0,"&Gopf;"],[1,"&Iopf;"],[0,"&Jopf;"],[0,"&Kopf;"],[0,"&Lopf;"],[0,"&Mopf;"],[1,"&Oopf;"],[3,"&Sopf;"],[0,"&Topf;"],[0,"&Uopf;"],[0,"&Vopf;"],[0,"&Wopf;"],[0,"&Xopf;"],[0,"&Yopf;"],[1,"&aopf;"],[0,"&bopf;"],[0,"&copf;"],[0,"&dopf;"],[0,"&eopf;"],[0,"&fopf;"],[0,"&gopf;"],[0,"&hopf;"],[0,"&iopf;"],[0,"&jopf;"],[0,"&kopf;"],[0,"&lopf;"],[0,"&mopf;"],[0,"&nopf;"],[0,"&oopf;"],[0,"&popf;"],[0,"&qopf;"],[0,"&ropf;"],[0,"&sopf;"],[0,"&topf;"],[0,"&uopf;"],[0,"&vopf;"],[0,"&wopf;"],[0,"&xopf;"],[0,"&yopf;"],[0,"&zopf;"]]))}],[8906,"&fflig;"],[0,"&filig;"],[0,"&fllig;"],[0,"&ffilig;"],[0,"&ffllig;"]]))}});var require_escape=__commonJS({"node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/escape.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.escapeText=exports.escapeAttribute=exports.escapeUTF8=exports.escape=exports.encodeXML=exports.getCodePoint=exports.xmlReplacer=void 0;exports.xmlReplacer=/["&'<>$\x80-\uFFFF]/g;var xmlCodeMap=new Map([[34,"&quot;"],[38,"&amp;"],[39,"&apos;"],[60,"&lt;"],[62,"&gt;"]]);exports.getCodePoint=String.prototype.codePointAt!=null?function(str,index){return str.codePointAt(index)}:function(c,index){return(c.charCodeAt(index)&64512)===55296?(c.charCodeAt(index)-55296)*1024+c.charCodeAt(index+1)-56320+65536:c.charCodeAt(index)};function encodeXML(str){for(var ret="",lastIdx=0,match;(match=exports.xmlReplacer.exec(str))!==null;){var i=match.index,char=str.charCodeAt(i),next=xmlCodeMap.get(char);next!==void 0?(ret+=str.substring(lastIdx,i)+next,lastIdx=i+1):(ret+="".concat(str.substring(lastIdx,i),"&#x").concat((0,exports.getCodePoint)(str,i).toString(16),";"),lastIdx=exports.xmlReplacer.lastIndex+=+((char&64512)===55296))}return ret+str.substr(lastIdx)}exports.encodeXML=encodeXML;exports.escape=encodeXML;function getEscaper(regex,map){return function(data){for(var match,lastIdx=0,result="";match=regex.exec(data);)lastIdx!==match.index&&(result+=data.substring(lastIdx,match.index)),result+=map.get(match[0].charCodeAt(0)),lastIdx=match.index+1;return result+data.substring(lastIdx)}}exports.escapeUTF8=getEscaper(/[&<>'"]/g,xmlCodeMap);exports.escapeAttribute=getEscaper(/["&\u00A0]/g,new Map([[34,"&quot;"],[38,"&amp;"],[160,"&nbsp;"]]));exports.escapeText=getEscaper(/[&<>\u00A0]/g,new Map([[38,"&amp;"],[60,"&lt;"],[62,"&gt;"],[160,"&nbsp;"]]))}});var require_encode=__commonJS({"node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/encode.js"(exports){"use strict";var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.encodeNonAsciiHTML=exports.encodeHTML=void 0;var encode_html_js_1=__importDefault(require_encode_html()),escape_js_1=require_escape(),htmlReplacer=/[\t\n!-,./:-@[-`\f{-}$\x80-\uFFFF]/g;function encodeHTML(data){return encodeHTMLTrieRe(htmlReplacer,data)}exports.encodeHTML=encodeHTML;function encodeNonAsciiHTML(data){return encodeHTMLTrieRe(escape_js_1.xmlReplacer,data)}exports.encodeNonAsciiHTML=encodeNonAsciiHTML;function encodeHTMLTrieRe(regExp,str){for(var ret="",lastIdx=0,match;(match=regExp.exec(str))!==null;){var i=match.index;ret+=str.substring(lastIdx,i);var char=str.charCodeAt(i),next=encode_html_js_1.default.get(char);if(typeof next=="object"){if(i+1<str.length){var nextChar=str.charCodeAt(i+1),value=typeof next.n=="number"?next.n===nextChar?next.o:void 0:next.n.get(nextChar);if(value!==void 0){ret+=value,lastIdx=regExp.lastIndex+=1;continue}}next=next.v}if(next!==void 0)ret+=next,lastIdx=i+1;else{var cp=(0,escape_js_1.getCodePoint)(str,i);ret+="&#x".concat(cp.toString(16),";"),lastIdx=regExp.lastIndex+=+(cp!==char)}}return ret+str.substr(lastIdx)}}});var require_lib5=__commonJS({"node_modules/htmlparser2/node_modules/dom-serializer/node_modules/entities/lib/index.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.decodeXMLStrict=exports.decodeHTML5Strict=exports.decodeHTML4Strict=exports.decodeHTML5=exports.decodeHTML4=exports.decodeHTMLAttribute=exports.decodeHTMLStrict=exports.decodeHTML=exports.decodeXML=exports.DecodingMode=exports.EntityDecoder=exports.encodeHTML5=exports.encodeHTML4=exports.encodeNonAsciiHTML=exports.encodeHTML=exports.escapeText=exports.escapeAttribute=exports.escapeUTF8=exports.escape=exports.encodeXML=exports.encode=exports.decodeStrict=exports.decode=exports.EncodingMode=exports.EntityLevel=void 0;var decode_js_1=require_decode2(),encode_js_1=require_encode(),escape_js_1=require_escape(),EntityLevel;(function(EntityLevel2){EntityLevel2[EntityLevel2.XML=0]="XML",EntityLevel2[EntityLevel2.HTML=1]="HTML"})(EntityLevel=exports.EntityLevel||(exports.EntityLevel={}));var EncodingMode;(function(EncodingMode2){EncodingMode2[EncodingMode2.UTF8=0]="UTF8",EncodingMode2[EncodingMode2.ASCII=1]="ASCII",EncodingMode2[EncodingMode2.Extensive=2]="Extensive",EncodingMode2[EncodingMode2.Attribute=3]="Attribute",EncodingMode2[EncodingMode2.Text=4]="Text"})(EncodingMode=exports.EncodingMode||(exports.EncodingMode={}));function decode(data,options){options===void 0&&(options=EntityLevel.XML);var level=typeof options=="number"?options:options.level;if(level===EntityLevel.HTML){var mode=typeof options=="object"?options.mode:void 0;return(0,decode_js_1.decodeHTML)(data,mode)}return(0,decode_js_1.decodeXML)(data)}exports.decode=decode;function decodeStrict(data,options){var _a;options===void 0&&(options=EntityLevel.XML);var opts=typeof options=="number"?{level:options}:options;return(_a=opts.mode)!==null&&_a!==void 0||(opts.mode=decode_js_1.DecodingMode.Strict),decode(data,opts)}exports.decodeStrict=decodeStrict;function encode(data,options){options===void 0&&(options=EntityLevel.XML);var opts=typeof options=="number"?{level:options}:options;return opts.mode===EncodingMode.UTF8?(0,escape_js_1.escapeUTF8)(data):opts.mode===EncodingMode.Attribute?(0,escape_js_1.escapeAttribute)(data):opts.mode===EncodingMode.Text?(0,escape_js_1.escapeText)(data):opts.level===EntityLevel.HTML?opts.mode===EncodingMode.ASCII?(0,encode_js_1.encodeNonAsciiHTML)(data):(0,encode_js_1.encodeHTML)(data):(0,escape_js_1.encodeXML)(data)}exports.encode=encode;var escape_js_2=require_escape();Object.defineProperty(exports,"encodeXML",{enumerable:!0,get:function(){return escape_js_2.encodeXML}});Object.defineProperty(exports,"escape",{enumerable:!0,get:function(){return escape_js_2.escape}});Object.defineProperty(exports,"escapeUTF8",{enumerable:!0,get:function(){return escape_js_2.escapeUTF8}});Object.defineProperty(exports,"escapeAttribute",{enumerable:!0,get:function(){return escape_js_2.escapeAttribute}});Object.defineProperty(exports,"escapeText",{enumerable:!0,get:function(){return escape_js_2.escapeText}});var encode_js_2=require_encode();Object.defineProperty(exports,"encodeHTML",{enumerable:!0,get:function(){return encode_js_2.encodeHTML}});Object.defineProperty(exports,"encodeNonAsciiHTML",{enumerable:!0,get:function(){return encode_js_2.encodeNonAsciiHTML}});Object.defineProperty(exports,"encodeHTML4",{enumerable:!0,get:function(){return encode_js_2.encodeHTML}});Object.defineProperty(exports,"encodeHTML5",{enumerable:!0,get:function(){return encode_js_2.encodeHTML}});var decode_js_2=require_decode2();Object.defineProperty(exports,"EntityDecoder",{enumerable:!0,get:function(){return decode_js_2.EntityDecoder}});Object.defineProperty(exports,"DecodingMode",{enumerable:!0,get:function(){return decode_js_2.DecodingMode}});Object.defineProperty(exports,"decodeXML",{enumerable:!0,get:function(){return decode_js_2.decodeXML}});Object.defineProperty(exports,"decodeHTML",{enumerable:!0,get:function(){return decode_js_2.decodeHTML}});Object.defineProperty(exports,"decodeHTMLStrict",{enumerable:!0,get:function(){return decode_js_2.decodeHTMLStrict}});Object.defineProperty(exports,"decodeHTMLAttribute",{enumerable:!0,get:function(){return decode_js_2.decodeHTMLAttribute}});Object.defineProperty(exports,"decodeHTML4",{enumerable:!0,get:function(){return decode_js_2.decodeHTML}});Object.defineProperty(exports,"decodeHTML5",{enumerable:!0,get:function(){return decode_js_2.decodeHTML}});Object.defineProperty(exports,"decodeHTML4Strict",{enumerable:!0,get:function(){return decode_js_2.decodeHTMLStrict}});Object.defineProperty(exports,"decodeHTML5Strict",{enumerable:!0,get:function(){return decode_js_2.decodeHTMLStrict}});Object.defineProperty(exports,"decodeXMLStrict",{enumerable:!0,get:function(){return decode_js_2.decodeXML}})}});var require_foreignNames=__commonJS({"node_modules/htmlparser2/node_modules/dom-serializer/lib/foreignNames.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.attributeNames=exports.elementNames=void 0;exports.elementNames=new Map(["altGlyph","altGlyphDef","altGlyphItem","animateColor","animateMotion","animateTransform","clipPath","feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence","foreignObject","glyphRef","linearGradient","radialGradient","textPath"].map(function(val){return[val.toLowerCase(),val]}));exports.attributeNames=new Map(["definitionURL","attributeName","attributeType","baseFrequency","baseProfile","calcMode","clipPathUnits","diffuseConstant","edgeMode","filterUnits","glyphRef","gradientTransform","gradientUnits","kernelMatrix","kernelUnitLength","keyPoints","keySplines","keyTimes","lengthAdjust","limitingConeAngle","markerHeight","markerUnits","markerWidth","maskContentUnits","maskUnits","numOctaves","pathLength","patternContentUnits","patternTransform","patternUnits","pointsAtX","pointsAtY","pointsAtZ","preserveAlpha","preserveAspectRatio","primitiveUnits","refX","refY","repeatCount","repeatDur","requiredExtensions","requiredFeatures","specularConstant","specularExponent","spreadMethod","startOffset","stdDeviation","stitchTiles","surfaceScale","systemLanguage","tableValues","targetX","targetY","textLength","viewBox","viewTarget","xChannelSelector","yChannelSelector","zoomAndPan"].map(function(val){return[val.toLowerCase(),val]}))}});var require_lib6=__commonJS({"node_modules/htmlparser2/node_modules/dom-serializer/lib/index.js"(exports){"use strict";var __assign=exports&&exports.__assign||function(){return __assign=Object.assign||function(t){for(var s,i=1,n=arguments.length;i<n;i++){s=arguments[i];for(var p in s)Object.prototype.hasOwnProperty.call(s,p)&&(t[p]=s[p])}return t},__assign.apply(this,arguments)},__createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k in mod)k!=="default"&&Object.prototype.hasOwnProperty.call(mod,k)&&__createBinding(result,mod,k);return __setModuleDefault(result,mod),result};Object.defineProperty(exports,"__esModule",{value:!0});exports.render=void 0;var ElementType=__importStar(require_lib3()),entities_1=require_lib5(),foreignNames_js_1=require_foreignNames(),unencodedElements=new Set(["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"]);function replaceQuotes(value){return value.replace(/"/g,"&quot;")}function formatAttributes(attributes,opts){var _a;if(attributes){var encode=((_a=opts.encodeEntities)!==null&&_a!==void 0?_a:opts.decodeEntities)===!1?replaceQuotes:opts.xmlMode||opts.encodeEntities!=="utf8"?entities_1.encodeXML:entities_1.escapeAttribute;return Object.keys(attributes).map(function(key){var _a2,_b,value=(_a2=attributes[key])!==null&&_a2!==void 0?_a2:"";return opts.xmlMode==="foreign"&&(key=(_b=foreignNames_js_1.attributeNames.get(key))!==null&&_b!==void 0?_b:key),!opts.emptyAttrs&&!opts.xmlMode&&value===""?key:"".concat(key,'="').concat(encode(value),'"')}).join(" ")}}var singleTag=new Set(["area","base","basefont","br","col","command","embed","frame","hr","img","input","isindex","keygen","link","meta","param","source","track","wbr"]);function render(node,options){options===void 0&&(options={});for(var nodes=("length"in node)?node:[node],output="",i=0;i<nodes.length;i++)output+=renderNode(nodes[i],options);return output}exports.render=render;exports.default=render;function renderNode(node,options){switch(node.type){case ElementType.Root:return render(node.children,options);case ElementType.Doctype:case ElementType.Directive:return renderDirective(node);case ElementType.Comment:return renderComment(node);case ElementType.CDATA:return renderCdata(node);case ElementType.Script:case ElementType.Style:case ElementType.Tag:return renderTag(node,options);case ElementType.Text:return renderText(node,options)}}var foreignModeIntegrationPoints=new Set(["mi","mo","mn","ms","mtext","annotation-xml","foreignObject","desc","title"]),foreignElements=new Set(["svg","math"]);function renderTag(elem,opts){var _a;opts.xmlMode==="foreign"&&(elem.name=(_a=foreignNames_js_1.elementNames.get(elem.name))!==null&&_a!==void 0?_a:elem.name,elem.parent&&foreignModeIntegrationPoints.has(elem.parent.name)&&(opts=__assign(__assign({},opts),{xmlMode:!1}))),!opts.xmlMode&&foreignElements.has(elem.name)&&(opts=__assign(__assign({},opts),{xmlMode:"foreign"}));var tag="<".concat(elem.name),attribs=formatAttributes(elem.attribs,opts);return attribs&&(tag+=" ".concat(attribs)),elem.children.length===0&&(opts.xmlMode?opts.selfClosingTags!==!1:opts.selfClosingTags&&singleTag.has(elem.name))?(opts.xmlMode||(tag+=" "),tag+="/>"):(tag+=">",elem.children.length>0&&(tag+=render(elem.children,opts)),(opts.xmlMode||!singleTag.has(elem.name))&&(tag+="</".concat(elem.name,">"))),tag}function renderDirective(elem){return"<".concat(elem.data,">")}function renderText(elem,opts){var _a,data=elem.data||"";return((_a=opts.encodeEntities)!==null&&_a!==void 0?_a:opts.decodeEntities)!==!1&&!(!opts.xmlMode&&elem.parent&&unencodedElements.has(elem.parent.name))&&(data=opts.xmlMode||opts.encodeEntities!=="utf8"?(0,entities_1.encodeXML)(data):(0,entities_1.escapeText)(data)),data}function renderCdata(elem){return"<![CDATA[".concat(elem.children[0].data,"]]>")}function renderComment(elem){return"<!--".concat(elem.data,"-->")}}});var require_stringify=__commonJS({"node_modules/htmlparser2/node_modules/domutils/lib/stringify.js"(exports){"use strict";var __importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.getOuterHTML=getOuterHTML;exports.getInnerHTML=getInnerHTML;exports.getText=getText;exports.textContent=textContent;exports.innerText=innerText;var domhandler_1=require_lib4(),dom_serializer_1=__importDefault(require_lib6()),domelementtype_1=require_lib3();function getOuterHTML(node,options){return(0,dom_serializer_1.default)(node,options)}function getInnerHTML(node,options){return(0,domhandler_1.hasChildren)(node)?node.children.map(function(node2){return getOuterHTML(node2,options)}).join(""):""}function getText(node){return Array.isArray(node)?node.map(getText).join(""):(0,domhandler_1.isTag)(node)?node.name==="br"?`
293
+ `:getText(node.children):(0,domhandler_1.isCDATA)(node)?getText(node.children):(0,domhandler_1.isText)(node)?node.data:""}function textContent(node){return Array.isArray(node)?node.map(textContent).join(""):(0,domhandler_1.hasChildren)(node)&&!(0,domhandler_1.isComment)(node)?textContent(node.children):(0,domhandler_1.isText)(node)?node.data:""}function innerText(node){return Array.isArray(node)?node.map(innerText).join(""):(0,domhandler_1.hasChildren)(node)&&(node.type===domelementtype_1.ElementType.Tag||(0,domhandler_1.isCDATA)(node))?innerText(node.children):(0,domhandler_1.isText)(node)?node.data:""}}});var require_traversal=__commonJS({"node_modules/htmlparser2/node_modules/domutils/lib/traversal.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.getChildren=getChildren;exports.getParent=getParent;exports.getSiblings=getSiblings;exports.getAttributeValue=getAttributeValue;exports.hasAttrib=hasAttrib;exports.getName=getName;exports.nextElementSibling=nextElementSibling;exports.prevElementSibling=prevElementSibling;var domhandler_1=require_lib4();function getChildren(elem){return(0,domhandler_1.hasChildren)(elem)?elem.children:[]}function getParent(elem){return elem.parent||null}function getSiblings(elem){var _a,_b,parent=getParent(elem);if(parent!=null)return getChildren(parent);for(var siblings=[elem],prev=elem.prev,next=elem.next;prev!=null;)siblings.unshift(prev),_a=prev,prev=_a.prev;for(;next!=null;)siblings.push(next),_b=next,next=_b.next;return siblings}function getAttributeValue(elem,name){var _a;return(_a=elem.attribs)===null||_a===void 0?void 0:_a[name]}function hasAttrib(elem,name){return elem.attribs!=null&&Object.prototype.hasOwnProperty.call(elem.attribs,name)&&elem.attribs[name]!=null}function getName(elem){return elem.name}function nextElementSibling(elem){for(var _a,next=elem.next;next!==null&&!(0,domhandler_1.isTag)(next);)_a=next,next=_a.next;return next}function prevElementSibling(elem){for(var _a,prev=elem.prev;prev!==null&&!(0,domhandler_1.isTag)(prev);)_a=prev,prev=_a.prev;return prev}}});var require_manipulation=__commonJS({"node_modules/htmlparser2/node_modules/domutils/lib/manipulation.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.removeElement=removeElement;exports.replaceElement=replaceElement;exports.appendChild=appendChild;exports.append=append;exports.prependChild=prependChild;exports.prepend=prepend;function removeElement(elem){if(elem.prev&&(elem.prev.next=elem.next),elem.next&&(elem.next.prev=elem.prev),elem.parent){var childs=elem.parent.children,childsIndex=childs.lastIndexOf(elem);childsIndex>=0&&childs.splice(childsIndex,1)}elem.next=null,elem.prev=null,elem.parent=null}function replaceElement(elem,replacement){var prev=replacement.prev=elem.prev;prev&&(prev.next=replacement);var next=replacement.next=elem.next;next&&(next.prev=replacement);var parent=replacement.parent=elem.parent;if(parent){var childs=parent.children;childs[childs.lastIndexOf(elem)]=replacement,elem.parent=null}}function appendChild(parent,child){if(removeElement(child),child.next=null,child.parent=parent,parent.children.push(child)>1){var sibling=parent.children[parent.children.length-2];sibling.next=child,child.prev=sibling}else child.prev=null}function append(elem,next){removeElement(next);var parent=elem.parent,currNext=elem.next;if(next.next=currNext,next.prev=elem,elem.next=next,next.parent=parent,currNext){if(currNext.prev=next,parent){var childs=parent.children;childs.splice(childs.lastIndexOf(currNext),0,next)}}else parent&&parent.children.push(next)}function prependChild(parent,child){if(removeElement(child),child.parent=parent,child.prev=null,parent.children.unshift(child)!==1){var sibling=parent.children[1];sibling.prev=child,child.next=sibling}else child.next=null}function prepend(elem,prev){removeElement(prev);var parent=elem.parent;if(parent){var childs=parent.children;childs.splice(childs.indexOf(elem),0,prev)}elem.prev&&(elem.prev.next=prev),prev.parent=parent,prev.prev=elem.prev,prev.next=elem,elem.prev=prev}}});var require_querying=__commonJS({"node_modules/htmlparser2/node_modules/domutils/lib/querying.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.filter=filter;exports.find=find;exports.findOneChild=findOneChild;exports.findOne=findOne;exports.existsOne=existsOne;exports.findAll=findAll;var domhandler_1=require_lib4();function filter(test,node,recurse,limit){return recurse===void 0&&(recurse=!0),limit===void 0&&(limit=1/0),find(test,Array.isArray(node)?node:[node],recurse,limit)}function find(test,nodes,recurse,limit){for(var result=[],nodeStack=[Array.isArray(nodes)?nodes:[nodes]],indexStack=[0];;){if(indexStack[0]>=nodeStack[0].length){if(indexStack.length===1)return result;nodeStack.shift(),indexStack.shift();continue}var elem=nodeStack[0][indexStack[0]++];if(test(elem)&&(result.push(elem),--limit<=0))return result;recurse&&(0,domhandler_1.hasChildren)(elem)&&elem.children.length>0&&(indexStack.unshift(0),nodeStack.unshift(elem.children))}}function findOneChild(test,nodes){return nodes.find(test)}function findOne(test,nodes,recurse){recurse===void 0&&(recurse=!0);for(var searchedNodes=Array.isArray(nodes)?nodes:[nodes],i=0;i<searchedNodes.length;i++){var node=searchedNodes[i];if((0,domhandler_1.isTag)(node)&&test(node))return node;if(recurse&&(0,domhandler_1.hasChildren)(node)&&node.children.length>0){var found=findOne(test,node.children,!0);if(found)return found}}return null}function existsOne(test,nodes){return(Array.isArray(nodes)?nodes:[nodes]).some(function(node){return(0,domhandler_1.isTag)(node)&&test(node)||(0,domhandler_1.hasChildren)(node)&&existsOne(test,node.children)})}function findAll(test,nodes){for(var result=[],nodeStack=[Array.isArray(nodes)?nodes:[nodes]],indexStack=[0];;){if(indexStack[0]>=nodeStack[0].length){if(nodeStack.length===1)return result;nodeStack.shift(),indexStack.shift();continue}var elem=nodeStack[0][indexStack[0]++];(0,domhandler_1.isTag)(elem)&&test(elem)&&result.push(elem),(0,domhandler_1.hasChildren)(elem)&&elem.children.length>0&&(indexStack.unshift(0),nodeStack.unshift(elem.children))}}}});var require_legacy=__commonJS({"node_modules/htmlparser2/node_modules/domutils/lib/legacy.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.testElement=testElement;exports.getElements=getElements;exports.getElementById=getElementById;exports.getElementsByTagName=getElementsByTagName;exports.getElementsByClassName=getElementsByClassName;exports.getElementsByTagType=getElementsByTagType;var domhandler_1=require_lib4(),querying_js_1=require_querying(),Checks={tag_name:function(name){return typeof name=="function"?function(elem){return(0,domhandler_1.isTag)(elem)&&name(elem.name)}:name==="*"?domhandler_1.isTag:function(elem){return(0,domhandler_1.isTag)(elem)&&elem.name===name}},tag_type:function(type){return typeof type=="function"?function(elem){return type(elem.type)}:function(elem){return elem.type===type}},tag_contains:function(data){return typeof data=="function"?function(elem){return(0,domhandler_1.isText)(elem)&&data(elem.data)}:function(elem){return(0,domhandler_1.isText)(elem)&&elem.data===data}}};function getAttribCheck(attrib,value){return typeof value=="function"?function(elem){return(0,domhandler_1.isTag)(elem)&&value(elem.attribs[attrib])}:function(elem){return(0,domhandler_1.isTag)(elem)&&elem.attribs[attrib]===value}}function combineFuncs(a,b){return function(elem){return a(elem)||b(elem)}}function compileTest(options){var funcs=Object.keys(options).map(function(key){var value=options[key];return Object.prototype.hasOwnProperty.call(Checks,key)?Checks[key](value):getAttribCheck(key,value)});return funcs.length===0?null:funcs.reduce(combineFuncs)}function testElement(options,node){var test=compileTest(options);return test?test(node):!0}function getElements(options,nodes,recurse,limit){limit===void 0&&(limit=1/0);var test=compileTest(options);return test?(0,querying_js_1.filter)(test,nodes,recurse,limit):[]}function getElementById(id,nodes,recurse){return recurse===void 0&&(recurse=!0),Array.isArray(nodes)||(nodes=[nodes]),(0,querying_js_1.findOne)(getAttribCheck("id",id),nodes,recurse)}function getElementsByTagName(tagName,nodes,recurse,limit){return recurse===void 0&&(recurse=!0),limit===void 0&&(limit=1/0),(0,querying_js_1.filter)(Checks.tag_name(tagName),nodes,recurse,limit)}function getElementsByClassName(className,nodes,recurse,limit){return recurse===void 0&&(recurse=!0),limit===void 0&&(limit=1/0),(0,querying_js_1.filter)(getAttribCheck("class",className),nodes,recurse,limit)}function getElementsByTagType(type,nodes,recurse,limit){return recurse===void 0&&(recurse=!0),limit===void 0&&(limit=1/0),(0,querying_js_1.filter)(Checks.tag_type(type),nodes,recurse,limit)}}});var require_helpers=__commonJS({"node_modules/htmlparser2/node_modules/domutils/lib/helpers.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.DocumentPosition=void 0;exports.removeSubsets=removeSubsets;exports.compareDocumentPosition=compareDocumentPosition;exports.uniqueSort=uniqueSort;var domhandler_1=require_lib4();function removeSubsets(nodes){for(var idx=nodes.length;--idx>=0;){var node=nodes[idx];if(idx>0&&nodes.lastIndexOf(node,idx-1)>=0){nodes.splice(idx,1);continue}for(var ancestor=node.parent;ancestor;ancestor=ancestor.parent)if(nodes.includes(ancestor)){nodes.splice(idx,1);break}}return nodes}var DocumentPosition;(function(DocumentPosition2){DocumentPosition2[DocumentPosition2.DISCONNECTED=1]="DISCONNECTED",DocumentPosition2[DocumentPosition2.PRECEDING=2]="PRECEDING",DocumentPosition2[DocumentPosition2.FOLLOWING=4]="FOLLOWING",DocumentPosition2[DocumentPosition2.CONTAINS=8]="CONTAINS",DocumentPosition2[DocumentPosition2.CONTAINED_BY=16]="CONTAINED_BY"})(DocumentPosition||(exports.DocumentPosition=DocumentPosition={}));function compareDocumentPosition(nodeA,nodeB){var aParents=[],bParents=[];if(nodeA===nodeB)return 0;for(var current=(0,domhandler_1.hasChildren)(nodeA)?nodeA:nodeA.parent;current;)aParents.unshift(current),current=current.parent;for(current=(0,domhandler_1.hasChildren)(nodeB)?nodeB:nodeB.parent;current;)bParents.unshift(current),current=current.parent;for(var maxIdx=Math.min(aParents.length,bParents.length),idx=0;idx<maxIdx&&aParents[idx]===bParents[idx];)idx++;if(idx===0)return DocumentPosition.DISCONNECTED;var sharedParent=aParents[idx-1],siblings=sharedParent.children,aSibling=aParents[idx],bSibling=bParents[idx];return siblings.indexOf(aSibling)>siblings.indexOf(bSibling)?sharedParent===nodeB?DocumentPosition.FOLLOWING|DocumentPosition.CONTAINED_BY:DocumentPosition.FOLLOWING:sharedParent===nodeA?DocumentPosition.PRECEDING|DocumentPosition.CONTAINS:DocumentPosition.PRECEDING}function uniqueSort(nodes){return nodes=nodes.filter(function(node,i,arr){return!arr.includes(node,i+1)}),nodes.sort(function(a,b){var relative=compareDocumentPosition(a,b);return relative&DocumentPosition.PRECEDING?-1:relative&DocumentPosition.FOLLOWING?1:0}),nodes}}});var require_feeds=__commonJS({"node_modules/htmlparser2/node_modules/domutils/lib/feeds.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.getFeed=getFeed;var stringify_js_1=require_stringify(),legacy_js_1=require_legacy();function getFeed(doc){var feedRoot=getOneElement(isValidFeed,doc);return feedRoot?feedRoot.name==="feed"?getAtomFeed(feedRoot):getRssFeed(feedRoot):null}function getAtomFeed(feedRoot){var _a,childs=feedRoot.children,feed={type:"atom",items:(0,legacy_js_1.getElementsByTagName)("entry",childs).map(function(item){var _a2,children=item.children,entry={media:getMediaElements(children)};addConditionally(entry,"id","id",children),addConditionally(entry,"title","title",children);var href2=(_a2=getOneElement("link",children))===null||_a2===void 0?void 0:_a2.attribs.href;href2&&(entry.link=href2);var description=fetch("summary",children)||fetch("content",children);description&&(entry.description=description);var pubDate=fetch("updated",children);return pubDate&&(entry.pubDate=new Date(pubDate)),entry})};addConditionally(feed,"id","id",childs),addConditionally(feed,"title","title",childs);var href=(_a=getOneElement("link",childs))===null||_a===void 0?void 0:_a.attribs.href;href&&(feed.link=href),addConditionally(feed,"description","subtitle",childs);var updated=fetch("updated",childs);return updated&&(feed.updated=new Date(updated)),addConditionally(feed,"author","email",childs,!0),feed}function getRssFeed(feedRoot){var _a,_b,childs=(_b=(_a=getOneElement("channel",feedRoot.children))===null||_a===void 0?void 0:_a.children)!==null&&_b!==void 0?_b:[],feed={type:feedRoot.name.substr(0,3),id:"",items:(0,legacy_js_1.getElementsByTagName)("item",feedRoot.children).map(function(item){var children=item.children,entry={media:getMediaElements(children)};addConditionally(entry,"id","guid",children),addConditionally(entry,"title","title",children),addConditionally(entry,"link","link",children),addConditionally(entry,"description","description",children);var pubDate=fetch("pubDate",children)||fetch("dc:date",children);return pubDate&&(entry.pubDate=new Date(pubDate)),entry})};addConditionally(feed,"title","title",childs),addConditionally(feed,"link","link",childs),addConditionally(feed,"description","description",childs);var updated=fetch("lastBuildDate",childs);return updated&&(feed.updated=new Date(updated)),addConditionally(feed,"author","managingEditor",childs,!0),feed}var MEDIA_KEYS_STRING=["url","type","lang"],MEDIA_KEYS_INT=["fileSize","bitrate","framerate","samplingrate","channels","duration","height","width"];function getMediaElements(where){return(0,legacy_js_1.getElementsByTagName)("media:content",where).map(function(elem){for(var attribs=elem.attribs,media={medium:attribs.medium,isDefault:!!attribs.isDefault},_i=0,MEDIA_KEYS_STRING_1=MEDIA_KEYS_STRING;_i<MEDIA_KEYS_STRING_1.length;_i++){var attrib=MEDIA_KEYS_STRING_1[_i];attribs[attrib]&&(media[attrib]=attribs[attrib])}for(var _a=0,MEDIA_KEYS_INT_1=MEDIA_KEYS_INT;_a<MEDIA_KEYS_INT_1.length;_a++){var attrib=MEDIA_KEYS_INT_1[_a];attribs[attrib]&&(media[attrib]=parseInt(attribs[attrib],10))}return attribs.expression&&(media.expression=attribs.expression),media})}function getOneElement(tagName,node){return(0,legacy_js_1.getElementsByTagName)(tagName,node,!0,1)[0]}function fetch(tagName,where,recurse){return recurse===void 0&&(recurse=!1),(0,stringify_js_1.textContent)((0,legacy_js_1.getElementsByTagName)(tagName,where,recurse,1)).trim()}function addConditionally(obj,prop,tagName,where,recurse){recurse===void 0&&(recurse=!1);var val=fetch(tagName,where,recurse);val&&(obj[prop]=val)}function isValidFeed(value){return value==="rss"||value==="feed"||value==="rdf:RDF"}}});var require_lib7=__commonJS({"node_modules/htmlparser2/node_modules/domutils/lib/index.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__exportStar=exports&&exports.__exportStar||function(m,exports2){for(var p in m)p!=="default"&&!Object.prototype.hasOwnProperty.call(exports2,p)&&__createBinding(exports2,m,p)};Object.defineProperty(exports,"__esModule",{value:!0});exports.hasChildren=exports.isDocument=exports.isComment=exports.isText=exports.isCDATA=exports.isTag=void 0;__exportStar(require_stringify(),exports);__exportStar(require_traversal(),exports);__exportStar(require_manipulation(),exports);__exportStar(require_querying(),exports);__exportStar(require_legacy(),exports);__exportStar(require_helpers(),exports);__exportStar(require_feeds(),exports);var domhandler_1=require_lib4();Object.defineProperty(exports,"isTag",{enumerable:!0,get:function(){return domhandler_1.isTag}});Object.defineProperty(exports,"isCDATA",{enumerable:!0,get:function(){return domhandler_1.isCDATA}});Object.defineProperty(exports,"isText",{enumerable:!0,get:function(){return domhandler_1.isText}});Object.defineProperty(exports,"isComment",{enumerable:!0,get:function(){return domhandler_1.isComment}});Object.defineProperty(exports,"isDocument",{enumerable:!0,get:function(){return domhandler_1.isDocument}});Object.defineProperty(exports,"hasChildren",{enumerable:!0,get:function(){return domhandler_1.hasChildren}})}});var require_commonjs=__commonJS({"node_modules/htmlparser2/dist/commonjs/index.js"(exports){"use strict";var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})(),__importDefault=exports&&exports.__importDefault||function(mod){return mod&&mod.__esModule?mod:{default:mod}};Object.defineProperty(exports,"__esModule",{value:!0});exports.DomUtils=exports.getFeed=exports.ElementType=exports.QuoteType=exports.Tokenizer=exports.DefaultHandler=exports.DomHandler=exports.Parser=void 0;exports.parseDocument=parseDocument;exports.parseDOM=parseDOM;exports.createDocumentStream=createDocumentStream;exports.createDomStream=createDomStream;exports.parseFeed=parseFeed;var Parser_js_1=require_Parser(),Parser_js_2=require_Parser();Object.defineProperty(exports,"Parser",{enumerable:!0,get:function(){return Parser_js_2.Parser}});var domhandler_1=require_lib4(),domhandler_2=require_lib4();Object.defineProperty(exports,"DomHandler",{enumerable:!0,get:function(){return domhandler_2.DomHandler}});Object.defineProperty(exports,"DefaultHandler",{enumerable:!0,get:function(){return domhandler_2.DomHandler}});function parseDocument(data,options){let handler=new domhandler_1.DomHandler(void 0,options);return new Parser_js_1.Parser(handler,options).end(data),handler.root}function parseDOM(data,options){return parseDocument(data,options).children}function createDocumentStream(callback,options,elementCallback){let handler=new domhandler_1.DomHandler(error=>callback(error,handler.root),options,elementCallback);return new Parser_js_1.Parser(handler,options)}function createDomStream(callback,options,elementCallback){let handler=new domhandler_1.DomHandler(callback,options,elementCallback);return new Parser_js_1.Parser(handler,options)}var Tokenizer_js_1=require_Tokenizer();Object.defineProperty(exports,"Tokenizer",{enumerable:!0,get:function(){return __importDefault(Tokenizer_js_1).default}});Object.defineProperty(exports,"QuoteType",{enumerable:!0,get:function(){return Tokenizer_js_1.QuoteType}});exports.ElementType=__importStar(require_lib3());var domutils_1=require_lib7(),domutils_2=require_lib7();Object.defineProperty(exports,"getFeed",{enumerable:!0,get:function(){return domutils_2.getFeed}});var parseFeedDefaultOptions={xmlMode:!0};function parseFeed(feed,options=parseFeedDefaultOptions){return(0,domutils_1.getFeed)(parseDOM(feed,options))}exports.DomUtils=__importStar(require_lib7())}});var require_constants2=__commonJS({"node_modules/linkedom/cjs/shared/constants.js"(exports){"use strict";exports.NODE_END=-1;var ELEMENT_NODE=1;exports.ELEMENT_NODE=ELEMENT_NODE;var ATTRIBUTE_NODE=2;exports.ATTRIBUTE_NODE=ATTRIBUTE_NODE;var TEXT_NODE=3;exports.TEXT_NODE=TEXT_NODE;var CDATA_SECTION_NODE=4;exports.CDATA_SECTION_NODE=CDATA_SECTION_NODE;var COMMENT_NODE=8;exports.COMMENT_NODE=COMMENT_NODE;var DOCUMENT_NODE=9;exports.DOCUMENT_NODE=DOCUMENT_NODE;var DOCUMENT_TYPE_NODE=10;exports.DOCUMENT_TYPE_NODE=DOCUMENT_TYPE_NODE;var DOCUMENT_FRAGMENT_NODE=11;exports.DOCUMENT_FRAGMENT_NODE=DOCUMENT_FRAGMENT_NODE;var BLOCK_ELEMENTS=new Set(["ARTICLE","ASIDE","BLOCKQUOTE","BODY","BR","BUTTON","CANVAS","CAPTION","COL","COLGROUP","DD","DIV","DL","DT","EMBED","FIELDSET","FIGCAPTION","FIGURE","FOOTER","FORM","H1","H2","H3","H4","H5","H6","LI","UL","OL","P"]);exports.BLOCK_ELEMENTS=BLOCK_ELEMENTS;var SHOW_ALL=-1;exports.SHOW_ALL=SHOW_ALL;var SHOW_ELEMENT=1;exports.SHOW_ELEMENT=SHOW_ELEMENT;var SHOW_TEXT=4;exports.SHOW_TEXT=SHOW_TEXT;var SHOW_CDATA_SECTION=8;exports.SHOW_CDATA_SECTION=SHOW_CDATA_SECTION;var SHOW_COMMENT=128;exports.SHOW_COMMENT=SHOW_COMMENT;var DOCUMENT_POSITION_DISCONNECTED=1;exports.DOCUMENT_POSITION_DISCONNECTED=DOCUMENT_POSITION_DISCONNECTED;var DOCUMENT_POSITION_PRECEDING=2;exports.DOCUMENT_POSITION_PRECEDING=DOCUMENT_POSITION_PRECEDING;var DOCUMENT_POSITION_FOLLOWING=4;exports.DOCUMENT_POSITION_FOLLOWING=DOCUMENT_POSITION_FOLLOWING;var DOCUMENT_POSITION_CONTAINS=8;exports.DOCUMENT_POSITION_CONTAINS=DOCUMENT_POSITION_CONTAINS;var DOCUMENT_POSITION_CONTAINED_BY=16;exports.DOCUMENT_POSITION_CONTAINED_BY=DOCUMENT_POSITION_CONTAINED_BY;var DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=32;exports.DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC=DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC;var SVG_NAMESPACE="http://www.w3.org/2000/svg";exports.SVG_NAMESPACE=SVG_NAMESPACE}});var require_object=__commonJS({"node_modules/linkedom/cjs/shared/object.js"(exports){"use strict";var{assign,create,defineProperties,entries,getOwnPropertyDescriptors,keys,setPrototypeOf}=Object;exports.assign=assign;exports.create=create;exports.defineProperties=defineProperties;exports.entries=entries;exports.getOwnPropertyDescriptors=getOwnPropertyDescriptors;exports.keys=keys;exports.setPrototypeOf=setPrototypeOf}});var require_utils2=__commonJS({"node_modules/linkedom/cjs/shared/utils.js"(exports){"use strict";var{ELEMENT_NODE}=require_constants2(),{END,MIME,NEXT,PREV}=require_symbols(),$String=String;exports.String=$String;var getEnd=node=>node.nodeType===ELEMENT_NODE?node[END]:node;exports.getEnd=getEnd;var ignoreCase=({ownerDocument})=>ownerDocument[MIME].ignoreCase;exports.ignoreCase=ignoreCase;var knownAdjacent=(prev,next)=>{prev[NEXT]=next,next[PREV]=prev};exports.knownAdjacent=knownAdjacent;var knownBoundaries=(prev,current,next)=>{knownAdjacent(prev,current),knownAdjacent(getEnd(current),next)};exports.knownBoundaries=knownBoundaries;var knownSegment=(prev,start,end,next)=>{knownAdjacent(prev,start),knownAdjacent(getEnd(end),next)};exports.knownSegment=knownSegment;var knownSiblings=(prev,current,next)=>{knownAdjacent(prev,current),knownAdjacent(current,next)};exports.knownSiblings=knownSiblings;var localCase=({localName,ownerDocument})=>ownerDocument[MIME].ignoreCase?localName.toUpperCase():localName;exports.localCase=localCase;var setAdjacent=(prev,next)=>{prev&&(prev[NEXT]=next),next&&(next[PREV]=prev)};exports.setAdjacent=setAdjacent;var htmlToFragment=(ownerDocument,html)=>{let fragment=ownerDocument.createDocumentFragment(),elem=ownerDocument.createElement("");elem.innerHTML=html;let{firstChild,lastChild}=elem;if(firstChild){knownSegment(fragment,firstChild,lastChild,fragment[END]);let child=firstChild;do child.parentNode=fragment;while(child!==lastChild&&(child=getEnd(child)[NEXT]))}return fragment};exports.htmlToFragment=htmlToFragment}});var require_shadow_roots=__commonJS({"node_modules/linkedom/cjs/shared/shadow-roots.js"(exports){"use strict";var shadowRoots=new WeakMap;exports.shadowRoots=shadowRoots}});var require_custom_element_registry=__commonJS({"node_modules/linkedom/cjs/interface/custom-element-registry.js"(exports){"use strict";var{ELEMENT_NODE}=require_constants2(),{END,NEXT,UPGRADE}=require_symbols(),{entries,setPrototypeOf}=require_object(),{shadowRoots}=require_shadow_roots(),reactive=!1,Classes=new WeakMap;exports.Classes=Classes;var customElements=new WeakMap;exports.customElements=customElements;var attributeChangedCallback=(element,attributeName,oldValue,newValue)=>{reactive&&customElements.has(element)&&element.attributeChangedCallback&&element.constructor.observedAttributes.includes(attributeName)&&element.attributeChangedCallback(attributeName,oldValue,newValue)};exports.attributeChangedCallback=attributeChangedCallback;var createTrigger=(method,isConnected)=>element=>{if(customElements.has(element)){let info=customElements.get(element);info.connected!==isConnected&&element.isConnected===isConnected&&(info.connected=isConnected,method in element&&element[method]())}},triggerConnected=createTrigger("connectedCallback",!0),connectedCallback=element=>{if(reactive){triggerConnected(element),shadowRoots.has(element)&&(element=shadowRoots.get(element).shadowRoot);let{[NEXT]:next,[END]:end}=element;for(;next!==end;)next.nodeType===ELEMENT_NODE&&triggerConnected(next),next=next[NEXT]}};exports.connectedCallback=connectedCallback;var triggerDisconnected=createTrigger("disconnectedCallback",!1),disconnectedCallback=element=>{if(reactive){triggerDisconnected(element),shadowRoots.has(element)&&(element=shadowRoots.get(element).shadowRoot);let{[NEXT]:next,[END]:end}=element;for(;next!==end;)next.nodeType===ELEMENT_NODE&&triggerDisconnected(next),next=next[NEXT]}};exports.disconnectedCallback=disconnectedCallback;var CustomElementRegistry=class{constructor(ownerDocument){this.ownerDocument=ownerDocument,this.registry=new Map,this.waiting=new Map,this.active=!1}define(localName,Class,options={}){let{ownerDocument,registry,waiting}=this;if(registry.has(localName))throw new Error("unable to redefine "+localName);if(Classes.has(Class))throw new Error("unable to redefine the same class: "+Class);this.active=reactive=!0;let{extends:extend}=options;Classes.set(Class,{ownerDocument,options:{is:extend?localName:""},localName:extend||localName});let check=extend?element=>element.localName===extend&&element.getAttribute("is")===localName:element=>element.localName===localName;if(registry.set(localName,{Class,check}),waiting.has(localName)){for(let resolve of waiting.get(localName))resolve(Class);waiting.delete(localName)}ownerDocument.querySelectorAll(extend?`${extend}[is="${localName}"]`:localName).forEach(this.upgrade,this)}upgrade(element){if(customElements.has(element))return;let{ownerDocument,registry}=this,ce=element.getAttribute("is")||element.localName;if(registry.has(ce)){let{Class,check}=registry.get(ce);if(check(element)){let{attributes,isConnected}=element;for(let attr of attributes)element.removeAttributeNode(attr);let values=entries(element);for(let[key]of values)delete element[key];setPrototypeOf(element,Class.prototype),ownerDocument[UPGRADE]={element,values},new Class(ownerDocument,ce),customElements.set(element,{connected:isConnected});for(let attr of attributes)element.setAttributeNode(attr);isConnected&&element.connectedCallback&&element.connectedCallback()}}}whenDefined(localName){let{registry,waiting}=this;return new Promise(resolve=>{registry.has(localName)?resolve(registry.get(localName).Class):(waiting.has(localName)||waiting.set(localName,[]),waiting.get(localName).push(resolve))})}get(localName){let info=this.registry.get(localName);return info&&info.Class}getName(Class){if(Classes.has(Class)){let{localName}=Classes.get(Class);return localName}return null}};exports.CustomElementRegistry=CustomElementRegistry}});var require_parse_from_string=__commonJS({"node_modules/linkedom/cjs/shared/parse-from-string.js"(exports){"use strict";var HTMLParser2=require_commonjs(),{ELEMENT_NODE,SVG_NAMESPACE}=require_constants2(),{CUSTOM_ELEMENTS,PREV,END,VALUE}=require_symbols(),{keys}=require_object(),{knownBoundaries,knownSiblings}=require_utils2(),{attributeChangedCallback,connectedCallback}=require_custom_element_registry(),{Parser}=HTMLParser2,notParsing=!0,append=(self,node,active)=>{let end=self[END];return node.parentNode=self,knownBoundaries(end[PREV],node,end),active&&node.nodeType===ELEMENT_NODE&&connectedCallback(node),node},attribute=(element,end,attribute2,value,active)=>{attribute2[VALUE]=value,attribute2.ownerElement=element,knownSiblings(end[PREV],attribute2,end),attribute2.name==="class"&&(element.className=value),active&&attributeChangedCallback(element,attribute2.name,null,value)},isNotParsing=()=>notParsing;exports.isNotParsing=isNotParsing;var parseFromString=(document2,isHTML,markupLanguage)=>{let{active,registry}=document2[CUSTOM_ELEMENTS],node=document2,ownerSVGElement=null,parsingCData=!1;notParsing=!1;let content=new Parser({onprocessinginstruction(name,data){name.toLowerCase()==="!doctype"&&(document2.doctype=data.slice(name.length).trim())},onopentag(name,attributes){let create=!0;if(isHTML){if(ownerSVGElement)node=append(node,document2.createElementNS(SVG_NAMESPACE,name),active),node.ownerSVGElement=ownerSVGElement,create=!1;else if(name==="svg"||name==="SVG")ownerSVGElement=document2.createElementNS(SVG_NAMESPACE,name),node=append(node,ownerSVGElement,active),create=!1;else if(active){let ce=name.includes("-")?name:attributes.is||"";if(ce&&registry.has(ce)){let{Class}=registry.get(ce);node=append(node,new Class,active),delete attributes.is,create=!1}}}create&&(node=append(node,document2.createElement(name),!1));let end=node[END];for(let name2 of keys(attributes))attribute(node,end,document2.createAttribute(name2),attributes[name2],active)},oncomment(data){append(node,document2.createComment(data),active)},ontext(text){parsingCData?append(node,document2.createCDATASection(text),active):append(node,document2.createTextNode(text),active)},oncdatastart(){parsingCData=!0},oncdataend(){parsingCData=!1},onclosetag(){isHTML&&node===ownerSVGElement&&(ownerSVGElement=null),node=node.parentNode}},{lowerCaseAttributeNames:!1,decodeEntities:!0,xmlMode:!isHTML});return content.write(markupLanguage),content.end(),notParsing=!0,document2};exports.parseFromString=parseFromString}});var require_register_html_class=__commonJS({"node_modules/linkedom/cjs/shared/register-html-class.js"(exports){"use strict";var htmlClasses=new Map;exports.htmlClasses=htmlClasses;var registerHTMLClass=(names,Class)=>{for(let name of[].concat(names))htmlClasses.set(name,Class),htmlClasses.set(name.toUpperCase(),Class)};exports.registerHTMLClass=registerHTMLClass}});var require_jsdon=__commonJS({"node_modules/linkedom/cjs/shared/jsdon.js"(exports){"use strict";var{NODE_END,ATTRIBUTE_NODE,CDATA_SECTION_NODE,COMMENT_NODE,DOCUMENT_TYPE_NODE,ELEMENT_NODE,TEXT_NODE}=require_constants2(),{END,NEXT,VALUE}=require_symbols(),{getEnd}=require_utils2(),loopSegment=({[NEXT]:next,[END]:end},json)=>{for(;next!==end;){switch(next.nodeType){case ATTRIBUTE_NODE:attrAsJSON(next,json);break;case TEXT_NODE:case COMMENT_NODE:case CDATA_SECTION_NODE:characterDataAsJSON(next,json);break;case ELEMENT_NODE:elementAsJSON(next,json),next=getEnd(next);break;case DOCUMENT_TYPE_NODE:documentTypeAsJSON(next,json);break}next=next[NEXT]}let last=json.length-1,value=json[last];typeof value=="number"&&value<0?json[last]+=NODE_END:json.push(NODE_END)},attrAsJSON=(attr,json)=>{json.push(ATTRIBUTE_NODE,attr.name);let value=attr[VALUE].trim();value&&json.push(value)};exports.attrAsJSON=attrAsJSON;var characterDataAsJSON=(node,json)=>{let value=node[VALUE];value.trim()&&json.push(node.nodeType,value)};exports.characterDataAsJSON=characterDataAsJSON;var nonElementAsJSON=(node,json)=>{json.push(node.nodeType),loopSegment(node,json)};exports.nonElementAsJSON=nonElementAsJSON;var documentTypeAsJSON=({name,publicId,systemId},json)=>{json.push(DOCUMENT_TYPE_NODE,name),publicId&&json.push(publicId),systemId&&json.push(systemId)};exports.documentTypeAsJSON=documentTypeAsJSON;var elementAsJSON=(element,json)=>{json.push(ELEMENT_NODE,element.localName),loopSegment(element,json)};exports.elementAsJSON=elementAsJSON}});var require_mutation_observer=__commonJS({"node_modules/linkedom/cjs/interface/mutation-observer.js"(exports){"use strict";var{MUTATION_OBSERVER}=require_symbols(),createRecord=(type,target,element,addedNodes,removedNodes,attributeName,oldValue)=>({type,target,addedNodes,removedNodes,attributeName,oldValue,previousSibling:element?.previousSibling||null,nextSibling:element?.nextSibling||null}),queueAttribute=(observer,target,attributeName,attributeFilter,attributeOldValue,oldValue)=>{if(!attributeFilter||attributeFilter.includes(attributeName)){let{callback,records,scheduled}=observer;records.push(createRecord("attributes",target,null,[],[],attributeName,attributeOldValue?oldValue:void 0)),scheduled||(observer.scheduled=!0,Promise.resolve().then(()=>{observer.scheduled=!1,callback(records.splice(0),observer)}))}},attributeChangedCallback=(element,attributeName,oldValue)=>{let{ownerDocument}=element,{active,observers}=ownerDocument[MUTATION_OBSERVER];if(active){for(let observer of observers)for(let[target,{childList,subtree,attributes,attributeFilter,attributeOldValue}]of observer.nodes)if(childList){if(subtree&&(target===ownerDocument||target.contains(element))||!subtree&&target.children.includes(element)){queueAttribute(observer,element,attributeName,attributeFilter,attributeOldValue,oldValue);break}}else if(attributes&&target===element){queueAttribute(observer,element,attributeName,attributeFilter,attributeOldValue,oldValue);break}}};exports.attributeChangedCallback=attributeChangedCallback;var moCallback=(element,parentNode)=>{let{ownerDocument}=element,{active,observers}=ownerDocument[MUTATION_OBSERVER];if(active){for(let observer of observers)for(let[target,{subtree,childList,characterData}]of observer.nodes)if(childList&&(parentNode&&(target===parentNode||subtree&&target.contains(parentNode))||!parentNode&&(subtree&&(target===ownerDocument||target.contains(element))||!subtree&&target[characterData?"childNodes":"children"].includes(element)))){let{callback,records,scheduled}=observer;records.push(createRecord("childList",target,element,parentNode?[]:[element],parentNode?[element]:[])),scheduled||(observer.scheduled=!0,Promise.resolve().then(()=>{observer.scheduled=!1,callback(records.splice(0),observer)}));break}}};exports.moCallback=moCallback;var MutationObserverClass=class{constructor(ownerDocument){let observers=new Set;this.observers=observers,this.active=!1,this.class=class{constructor(callback){this.callback=callback,this.nodes=new Map,this.records=[],this.scheduled=!1}disconnect(){this.records.splice(0),this.nodes.clear(),observers.delete(this),ownerDocument[MUTATION_OBSERVER].active=!!observers.size}observe(target,options={subtree:!1,childList:!1,attributes:!1,attributeFilter:null,attributeOldValue:!1,characterData:!1}){("attributeOldValue"in options||"attributeFilter"in options)&&(options.attributes=!0),options.childList=!!options.childList,options.subtree=!!options.subtree,this.nodes.set(target,options),observers.add(this),ownerDocument[MUTATION_OBSERVER].active=!0}takeRecords(){return this.records.splice(0)}}}};exports.MutationObserverClass=MutationObserverClass}});var require_attributes=__commonJS({"node_modules/linkedom/cjs/shared/attributes.js"(exports){"use strict";var{CLASS_LIST,NEXT,PREV,VALUE}=require_symbols(),{knownAdjacent,knownSiblings}=require_utils2(),{attributeChangedCallback:ceAttributes}=require_custom_element_registry(),{attributeChangedCallback:moAttributes}=require_mutation_observer(),emptyAttributes=new Set(["allowfullscreen","allowpaymentrequest","async","autofocus","autoplay","checked","class","contenteditable","controls","default","defer","disabled","draggable","formnovalidate","hidden","id","ismap","itemscope","loop","multiple","muted","nomodule","novalidate","open","playsinline","readonly","required","reversed","selected","style","truespeed"]);exports.emptyAttributes=emptyAttributes;var setAttribute=(element,attribute)=>{let{[VALUE]:value,name}=attribute;attribute.ownerElement=element,knownSiblings(element,attribute,element[NEXT]),name==="class"&&(element.className=value),moAttributes(element,name,null),ceAttributes(element,name,null,value)};exports.setAttribute=setAttribute;var removeAttribute=(element,attribute)=>{let{[VALUE]:value,name}=attribute;knownAdjacent(attribute[PREV],attribute[NEXT]),attribute.ownerElement=attribute[PREV]=attribute[NEXT]=null,name==="class"&&(element[CLASS_LIST]=null),moAttributes(element,name,value),ceAttributes(element,name,value,null)};exports.removeAttribute=removeAttribute;var booleanAttribute={get(element,name){return element.hasAttribute(name)},set(element,name,value){value?element.setAttribute(name,""):element.removeAttribute(name)}};exports.booleanAttribute=booleanAttribute;var numericAttribute={get(element,name){return parseFloat(element.getAttribute(name)||0)},set(element,name,value){element.setAttribute(name,value)}};exports.numericAttribute=numericAttribute;var stringAttribute={get(element,name){return element.getAttribute(name)||""},set(element,name,value){element.setAttribute(name,value)}};exports.stringAttribute=stringAttribute}});var require_event_target=__commonJS({"node_modules/linkedom/cjs/interface/event-target.js"(exports){"use strict";var wm=new WeakMap;function dispatch(event,listener){return typeof listener=="function"?listener.call(event.target,event):listener.handleEvent(event),event._stopImmediatePropagationFlag}function invokeListeners({currentTarget,target}){let map=wm.get(currentTarget);if(map&&map.has(this.type)){let listeners=map.get(this.type);currentTarget===target?this.eventPhase=this.AT_TARGET:this.eventPhase=this.BUBBLING_PHASE,this.currentTarget=currentTarget,this.target=target;for(let[listener,options]of listeners)if(options&&options.once&&listeners.delete(listener),dispatch(this,listener))break;return delete this.currentTarget,delete this.target,this.cancelBubble}}var DOMEventTarget=class{constructor(){wm.set(this,new Map)}_getParent(){return null}addEventListener(type,listener,options){let map=wm.get(this);map.has(type)||map.set(type,new Map),map.get(type).set(listener,options)}removeEventListener(type,listener){let map=wm.get(this);if(map.has(type)){let listeners=map.get(type);listeners.delete(listener)&&!listeners.size&&map.delete(type)}}dispatchEvent(event){let node=this;for(event.eventPhase=event.CAPTURING_PHASE;node;)node.dispatchEvent&&event._path.push({currentTarget:node,target:this}),node=event.bubbles&&node._getParent&&node._getParent();return event._path.some(invokeListeners,event),event._path=[],event.eventPhase=event.NONE,!event.defaultPrevented}};exports.EventTarget=DOMEventTarget}});var require_node_list=__commonJS({"node_modules/linkedom/cjs/interface/node-list.js"(exports){"use strict";var NodeList=class extends Array{item(i){return i<this.length?this[i]:null}};exports.NodeList=NodeList}});var require_node2=__commonJS({"node_modules/linkedom/cjs/interface/node.js"(exports){"use strict";var{ELEMENT_NODE,ATTRIBUTE_NODE,TEXT_NODE,CDATA_SECTION_NODE,COMMENT_NODE,DOCUMENT_NODE,DOCUMENT_FRAGMENT_NODE,DOCUMENT_TYPE_NODE,DOCUMENT_POSITION_DISCONNECTED,DOCUMENT_POSITION_PRECEDING,DOCUMENT_POSITION_FOLLOWING,DOCUMENT_POSITION_CONTAINS,DOCUMENT_POSITION_CONTAINED_BY,DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC}=require_constants2(),{NEXT,PREV}=require_symbols(),{EventTarget}=require_event_target(),{NodeList}=require_node_list(),getParentNodeCount=({parentNode})=>{let count=0;for(;parentNode;)count++,parentNode=parentNode.parentNode;return count},Node=class extends EventTarget{static get ELEMENT_NODE(){return ELEMENT_NODE}static get ATTRIBUTE_NODE(){return ATTRIBUTE_NODE}static get TEXT_NODE(){return TEXT_NODE}static get CDATA_SECTION_NODE(){return CDATA_SECTION_NODE}static get COMMENT_NODE(){return COMMENT_NODE}static get DOCUMENT_NODE(){return DOCUMENT_NODE}static get DOCUMENT_FRAGMENT_NODE(){return DOCUMENT_FRAGMENT_NODE}static get DOCUMENT_TYPE_NODE(){return DOCUMENT_TYPE_NODE}constructor(ownerDocument,localName,nodeType){super(),this.ownerDocument=ownerDocument,this.localName=localName,this.nodeType=nodeType,this.parentNode=null,this[NEXT]=null,this[PREV]=null}get ELEMENT_NODE(){return ELEMENT_NODE}get ATTRIBUTE_NODE(){return ATTRIBUTE_NODE}get TEXT_NODE(){return TEXT_NODE}get CDATA_SECTION_NODE(){return CDATA_SECTION_NODE}get COMMENT_NODE(){return COMMENT_NODE}get DOCUMENT_NODE(){return DOCUMENT_NODE}get DOCUMENT_FRAGMENT_NODE(){return DOCUMENT_FRAGMENT_NODE}get DOCUMENT_TYPE_NODE(){return DOCUMENT_TYPE_NODE}get baseURI(){let ownerDocument=this.nodeType===DOCUMENT_NODE?this:this.ownerDocument;if(ownerDocument){let base=ownerDocument.querySelector("base");if(base)return base.getAttribute("href");let{location}=ownerDocument.defaultView;if(location)return location.href}return null}get isConnected(){return!1}get nodeName(){return this.localName}get parentElement(){return null}get previousSibling(){return null}get previousElementSibling(){return null}get nextSibling(){return null}get nextElementSibling(){return null}get childNodes(){return new NodeList}get firstChild(){return null}get lastChild(){return null}get nodeValue(){return null}set nodeValue(value){}get textContent(){return null}set textContent(value){}normalize(){}cloneNode(){return null}contains(){return!1}insertBefore(newNode,referenceNode){return newNode}appendChild(child){return child}replaceChild(newChild,oldChild){return oldChild}removeChild(child){return child}toString(){return""}hasChildNodes(){return!!this.lastChild}isSameNode(node){return this===node}compareDocumentPosition(target){let result=0;if(this!==target){let self=getParentNodeCount(this),other=getParentNodeCount(target);if(self<other)result+=DOCUMENT_POSITION_FOLLOWING,this.contains(target)&&(result+=DOCUMENT_POSITION_CONTAINED_BY);else if(other<self)result+=DOCUMENT_POSITION_PRECEDING,target.contains(this)&&(result+=DOCUMENT_POSITION_CONTAINS);else if(self&&other){let{childNodes}=this.parentNode;childNodes.indexOf(this)<childNodes.indexOf(target)?result+=DOCUMENT_POSITION_FOLLOWING:result+=DOCUMENT_POSITION_PRECEDING}(!self||!other)&&(result+=DOCUMENT_POSITION_IMPLEMENTATION_SPECIFIC,result+=DOCUMENT_POSITION_DISCONNECTED)}return result}isEqualNode(node){if(this===node)return!0;if(this.nodeType===node.nodeType){switch(this.nodeType){case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:{let aNodes=this.childNodes,bNodes=node.childNodes;return aNodes.length===bNodes.length&&aNodes.every((node2,i)=>node2.isEqualNode(bNodes[i]))}}return this.toString()===node.toString()}return!1}_getParent(){return this.parentNode}getRootNode(){let root=this;for(;root.parentNode;)root=root.parentNode;return root}};exports.Node=Node}});var require_text_escaper=__commonJS({"node_modules/linkedom/cjs/shared/text-escaper.js"(exports){"use strict";var{replace}="",ca=/[<>&\xA0]/g,esca={"\xA0":"&#160;","&":"&amp;","<":"&lt;",">":"&gt;"},pe=m=>esca[m],escape=es=>replace.call(es,ca,pe);exports.escape=escape}});var require_attr=__commonJS({"node_modules/linkedom/cjs/interface/attr.js"(exports){"use strict";var{ATTRIBUTE_NODE}=require_constants2(),{CHANGED,VALUE}=require_symbols(),{String:String2,ignoreCase}=require_utils2(),{attrAsJSON}=require_jsdon(),{emptyAttributes}=require_attributes(),{attributeChangedCallback:moAttributes}=require_mutation_observer(),{attributeChangedCallback:ceAttributes}=require_custom_element_registry(),{Node}=require_node2(),{escape}=require_text_escaper(),QUOTE=/"/g,Attr=class _Attr extends Node{constructor(ownerDocument,name,value=""){super(ownerDocument,name,ATTRIBUTE_NODE),this.ownerElement=null,this.name=String2(name),this[VALUE]=String2(value),this[CHANGED]=!1}get value(){return this[VALUE]}set value(newValue){let{[VALUE]:oldValue,name,ownerElement}=this;this[VALUE]=String2(newValue),this[CHANGED]=!0,ownerElement&&(moAttributes(ownerElement,name,oldValue),ceAttributes(ownerElement,name,oldValue,this[VALUE]))}cloneNode(){let{ownerDocument,name,[VALUE]:value}=this;return new _Attr(ownerDocument,name,value)}toString(){let{name,[VALUE]:value}=this;if(emptyAttributes.has(name)&&!value)return ignoreCase(this)?name:`${name}=""`;let escapedValue=(ignoreCase(this)?value:escape(value)).replace(QUOTE,"&quot;");return`${name}="${escapedValue}"`}toJSON(){let json=[];return attrAsJSON(this,json),json}};exports.Attr=Attr}});var require_node3=__commonJS({"node_modules/linkedom/cjs/shared/node.js"(exports){"use strict";var{CDATA_SECTION_NODE,COMMENT_NODE,DOCUMENT_NODE,DOCUMENT_FRAGMENT_NODE,TEXT_NODE,NODE_END}=require_constants2(),{START,NEXT,PREV}=require_symbols(),{getEnd}=require_utils2(),isConnected=({ownerDocument,parentNode})=>{for(;parentNode;){if(parentNode===ownerDocument)return!0;parentNode=parentNode.parentNode||parentNode.host}return!1};exports.isConnected=isConnected;var parentElement=({parentNode})=>{if(parentNode)switch(parentNode.nodeType){case DOCUMENT_NODE:case DOCUMENT_FRAGMENT_NODE:return null}return parentNode};exports.parentElement=parentElement;var previousSibling=({[PREV]:prev})=>{switch(prev?prev.nodeType:0){case NODE_END:return prev[START];case TEXT_NODE:case COMMENT_NODE:case CDATA_SECTION_NODE:return prev}return null};exports.previousSibling=previousSibling;var nextSibling=node=>{let next=getEnd(node)[NEXT];return next&&(next.nodeType===NODE_END?null:next)};exports.nextSibling=nextSibling}});var require_non_document_type_child_node=__commonJS({"node_modules/linkedom/cjs/mixin/non-document-type-child-node.js"(exports){"use strict";var{ELEMENT_NODE}=require_constants2(),{nextSibling,previousSibling}=require_node3(),nextElementSibling=node=>{let next=nextSibling(node);for(;next&&next.nodeType!==ELEMENT_NODE;)next=nextSibling(next);return next};exports.nextElementSibling=nextElementSibling;var previousElementSibling=node=>{let prev=previousSibling(node);for(;prev&&prev.nodeType!==ELEMENT_NODE;)prev=previousSibling(prev);return prev};exports.previousElementSibling=previousElementSibling}});var require_child_node=__commonJS({"node_modules/linkedom/cjs/mixin/child-node.js"(exports){"use strict";var{ELEMENT_NODE}=require_constants2(),{NEXT,PREV}=require_symbols(),{getEnd,setAdjacent}=require_utils2(),{moCallback}=require_mutation_observer(),{disconnectedCallback}=require_custom_element_registry(),asFragment=(ownerDocument,nodes)=>{let fragment=ownerDocument.createDocumentFragment();return fragment.append(...nodes),fragment},before=(node,nodes)=>{let{ownerDocument,parentNode}=node;parentNode&&parentNode.insertBefore(asFragment(ownerDocument,nodes),node)};exports.before=before;var after=(node,nodes)=>{let{ownerDocument,parentNode}=node;parentNode&&parentNode.insertBefore(asFragment(ownerDocument,nodes),getEnd(node)[NEXT])};exports.after=after;var replaceWith=(node,nodes)=>{let{ownerDocument,parentNode}=node;parentNode&&(nodes.includes(node)&&replaceWith(node,[node=node.cloneNode()]),parentNode.insertBefore(asFragment(ownerDocument,nodes),node),node.remove())};exports.replaceWith=replaceWith;var remove=(prev,current,next)=>{let{parentNode,nodeType}=current;(prev||next)&&(setAdjacent(prev,next),current[PREV]=null,getEnd(current)[NEXT]=null),parentNode&&(current.parentNode=null,moCallback(current,parentNode),nodeType===ELEMENT_NODE&&disconnectedCallback(current))};exports.remove=remove}});var require_character_data=__commonJS({"node_modules/linkedom/cjs/interface/character-data.js"(exports){"use strict";var{NEXT,PREV,VALUE}=require_symbols(),{String:String2}=require_utils2(),{isConnected,parentElement,previousSibling,nextSibling}=require_node3(),{characterDataAsJSON}=require_jsdon(),{previousElementSibling,nextElementSibling}=require_non_document_type_child_node(),{before,after,replaceWith,remove}=require_child_node(),{Node}=require_node2(),{moCallback}=require_mutation_observer(),CharacterData=class extends Node{constructor(ownerDocument,localName,nodeType,data){super(ownerDocument,localName,nodeType),this[VALUE]=String2(data)}get isConnected(){return isConnected(this)}get parentElement(){return parentElement(this)}get previousSibling(){return previousSibling(this)}get nextSibling(){return nextSibling(this)}get previousElementSibling(){return previousElementSibling(this)}get nextElementSibling(){return nextElementSibling(this)}before(...nodes){before(this,nodes)}after(...nodes){after(this,nodes)}replaceWith(...nodes){replaceWith(this,nodes)}remove(){remove(this[PREV],this,this[NEXT])}get data(){return this[VALUE]}set data(value){this[VALUE]=String2(value),moCallback(this,this.parentNode)}get nodeValue(){return this.data}set nodeValue(value){this.data=value}get textContent(){return this.data}set textContent(value){this.data=value}get length(){return this.data.length}substringData(offset,count){return this.data.substr(offset,count)}appendData(data){this.data+=data}insertData(offset,data){let{data:t}=this;this.data=t.slice(0,offset)+data+t.slice(offset)}deleteData(offset,count){let{data:t}=this;this.data=t.slice(0,offset)+t.slice(offset+count)}replaceData(offset,count,data){let{data:t}=this;this.data=t.slice(0,offset)+data+t.slice(offset+count)}toJSON(){let json=[];return characterDataAsJSON(this,json),json}};exports.CharacterData=CharacterData}});var require_cdata_section=__commonJS({"node_modules/linkedom/cjs/interface/cdata-section.js"(exports){"use strict";var{CDATA_SECTION_NODE}=require_constants2(),{VALUE}=require_symbols(),{CharacterData}=require_character_data(),CDATASection=class _CDATASection extends CharacterData{constructor(ownerDocument,data=""){super(ownerDocument,"#cdatasection",CDATA_SECTION_NODE,data)}cloneNode(){let{ownerDocument,[VALUE]:data}=this;return new _CDATASection(ownerDocument,data)}toString(){return`<![CDATA[${this[VALUE]}]]>`}};exports.CDATASection=CDATASection}});var require_comment=__commonJS({"node_modules/linkedom/cjs/interface/comment.js"(exports){"use strict";var{COMMENT_NODE}=require_constants2(),{VALUE}=require_symbols(),{CharacterData}=require_character_data(),Comment=class _Comment extends CharacterData{constructor(ownerDocument,data=""){super(ownerDocument,"#comment",COMMENT_NODE,data)}cloneNode(){let{ownerDocument,[VALUE]:data}=this;return new _Comment(ownerDocument,data)}toString(){return`<!--${this[VALUE]}-->`}};exports.Comment=Comment}});var require_matches=__commonJS({"node_modules/linkedom/cjs/shared/matches.js"(exports){"use strict";var CSSselect=(init_dist(),__toCommonJS(dist_exports)),{ELEMENT_NODE,TEXT_NODE}=require_constants2(),{ignoreCase}=require_utils2(),{isArray}=Array,isTag=({nodeType})=>nodeType===ELEMENT_NODE,existsOne=(test,elements)=>elements.some(element=>isTag(element)&&(test(element)||existsOne(test,getChildren(element)))),getAttributeValue=(element,name)=>name==="class"?element.classList.value:element.getAttribute(name),getChildren=({childNodes})=>childNodes,getName=element=>{let{localName}=element;return ignoreCase(element)?localName.toLowerCase():localName},getParent=({parentNode})=>parentNode,getSiblings=element=>{let{parentNode}=element;return parentNode?getChildren(parentNode):element},getText=node=>isArray(node)?node.map(getText).join(""):isTag(node)?getText(getChildren(node)):node.nodeType===TEXT_NODE?node.data:"",hasAttrib=(element,name)=>element.hasAttribute(name),removeSubsets=nodes=>{let{length}=nodes;for(;length--;){let node=nodes[length];if(length&&-1<nodes.lastIndexOf(node,length-1)){nodes.splice(length,1);continue}for(let{parentNode}=node;parentNode;parentNode=parentNode.parentNode)if(nodes.includes(parentNode)){nodes.splice(length,1);break}}return nodes},findAll=(test,nodes)=>{let matches2=[];for(let node of nodes)isTag(node)&&(test(node)&&matches2.push(node),matches2.push(...findAll(test,getChildren(node))));return matches2},findOne=(test,nodes)=>{for(let node of nodes)if(test(node)||(node=findOne(test,getChildren(node))))return node;return null},adapter={isTag,existsOne,getAttributeValue,getChildren,getName,getParent,getSiblings,getText,hasAttrib,removeSubsets,findAll,findOne},prepareMatch=(element,selectors)=>CSSselect.compile(selectors,{context:selectors.includes(":scope")?element:void 0,xmlMode:!ignoreCase(element),adapter});exports.prepareMatch=prepareMatch;var matches=(element,selectors)=>CSSselect.is(element,selectors,{strict:!0,context:selectors.includes(":scope")?element:void 0,xmlMode:!ignoreCase(element),adapter});exports.matches=matches}});var require_text=__commonJS({"node_modules/linkedom/cjs/interface/text.js"(exports){"use strict";var{TEXT_NODE}=require_constants2(),{VALUE}=require_symbols(),{escape}=require_text_escaper(),{CharacterData}=require_character_data(),Text=class _Text extends CharacterData{constructor(ownerDocument,data=""){super(ownerDocument,"#text",TEXT_NODE,data)}get wholeText(){let text=[],{previousSibling,nextSibling}=this;for(;previousSibling&&previousSibling.nodeType===TEXT_NODE;){text.unshift(previousSibling[VALUE]);previousSibling=previousSibling.previousSibling}for(text.push(this[VALUE]);nextSibling&&nextSibling.nodeType===TEXT_NODE;){text.push(nextSibling[VALUE]);nextSibling=nextSibling.nextSibling}return text.join("")}cloneNode(){let{ownerDocument,[VALUE]:data}=this;return new _Text(ownerDocument,data)}toString(){return escape(this[VALUE])}};exports.Text=Text}});var require_parent_node=__commonJS({"node_modules/linkedom/cjs/mixin/parent-node.js"(exports){"use strict";var{ATTRIBUTE_NODE,DOCUMENT_FRAGMENT_NODE,ELEMENT_NODE,TEXT_NODE,NODE_END,CDATA_SECTION_NODE,COMMENT_NODE}=require_constants2(),{PRIVATE,END,NEXT,PREV,START,VALUE}=require_symbols(),{prepareMatch}=require_matches(),{previousSibling,nextSibling}=require_node3(),{getEnd,knownAdjacent,knownBoundaries,knownSegment,knownSiblings,localCase}=require_utils2(),{Node}=require_node2(),{Text}=require_text(),{NodeList}=require_node_list(),{moCallback}=require_mutation_observer(),{connectedCallback}=require_custom_element_registry(),{nextElementSibling}=require_non_document_type_child_node(),isNode=node=>node instanceof Node,insert=(parentNode,child,nodes)=>{let{ownerDocument}=parentNode;for(let node of nodes)parentNode.insertBefore(isNode(node)?node:new Text(ownerDocument,node),child)},ParentNode=class extends Node{constructor(ownerDocument,localName,nodeType){super(ownerDocument,localName,nodeType),this[PRIVATE]=null,this[NEXT]=this[END]={[NEXT]:null,[PREV]:this,[START]:this,nodeType:NODE_END,ownerDocument:this.ownerDocument,parentNode:null}}get childNodes(){let childNodes=new NodeList,{firstChild}=this;for(;firstChild;)childNodes.push(firstChild),firstChild=nextSibling(firstChild);return childNodes}get children(){let children=new NodeList,{firstElementChild}=this;for(;firstElementChild;)children.push(firstElementChild),firstElementChild=nextElementSibling(firstElementChild);return children}get firstChild(){let{[NEXT]:next,[END]:end}=this;for(;next.nodeType===ATTRIBUTE_NODE;)next=next[NEXT];return next===end?null:next}get firstElementChild(){let{firstChild}=this;for(;firstChild;){if(firstChild.nodeType===ELEMENT_NODE)return firstChild;firstChild=nextSibling(firstChild)}return null}get lastChild(){let prev=this[END][PREV];switch(prev.nodeType){case NODE_END:return prev[START];case ATTRIBUTE_NODE:return null}return prev===this?null:prev}get lastElementChild(){let{lastChild}=this;for(;lastChild;){if(lastChild.nodeType===ELEMENT_NODE)return lastChild;lastChild=previousSibling(lastChild)}return null}get childElementCount(){return this.children.length}prepend(...nodes){insert(this,this.firstChild,nodes)}append(...nodes){insert(this,this[END],nodes)}replaceChildren(...nodes){let{[NEXT]:next,[END]:end}=this;for(;next!==end&&next.nodeType===ATTRIBUTE_NODE;)next=next[NEXT];for(;next!==end;){let after=getEnd(next)[NEXT];next.remove(),next=after}nodes.length&&insert(this,end,nodes)}getElementsByClassName(className){let elements=new NodeList,{[NEXT]:next,[END]:end}=this;for(;next!==end;)next.nodeType===ELEMENT_NODE&&next.hasAttribute("class")&&next.classList.has(className)&&elements.push(next),next=next[NEXT];return elements}getElementsByTagName(tagName){let elements=new NodeList,{[NEXT]:next,[END]:end}=this;for(;next!==end;)next.nodeType===ELEMENT_NODE&&(next.localName===tagName||localCase(next)===tagName)&&elements.push(next),next=next[NEXT];return elements}querySelector(selectors){let matches=prepareMatch(this,selectors),{[NEXT]:next,[END]:end}=this;for(;next!==end;){if(next.nodeType===ELEMENT_NODE&&matches(next))return next;next=next.nodeType===ELEMENT_NODE&&next.localName==="template"?next[END]:next[NEXT]}return null}querySelectorAll(selectors){let matches=prepareMatch(this,selectors),elements=new NodeList,{[NEXT]:next,[END]:end}=this;for(;next!==end;)next.nodeType===ELEMENT_NODE&&matches(next)&&elements.push(next),next=next.nodeType===ELEMENT_NODE&&next.localName==="template"?next[END]:next[NEXT];return elements}appendChild(node){return this.insertBefore(node,this[END])}contains(node){let parentNode=node;for(;parentNode&&parentNode!==this;)parentNode=parentNode.parentNode;return parentNode===this}insertBefore(node,before=null){if(node===before)return node;if(node===this)throw new Error("unable to append a node to itself");let next=before||this[END];switch(node.nodeType){case ELEMENT_NODE:node.remove(),node.parentNode=this,knownBoundaries(next[PREV],node,next),moCallback(node,null),connectedCallback(node);break;case DOCUMENT_FRAGMENT_NODE:{let{[PRIVATE]:parentNode,firstChild,lastChild}=node;if(firstChild){knownSegment(next[PREV],firstChild,lastChild,next),knownAdjacent(node,node[END]),parentNode&&parentNode.replaceChildren();do firstChild.parentNode=this,moCallback(firstChild,null),firstChild.nodeType===ELEMENT_NODE&&connectedCallback(firstChild);while(firstChild!==lastChild&&(firstChild=nextSibling(firstChild)))}break}case TEXT_NODE:case COMMENT_NODE:case CDATA_SECTION_NODE:node.remove();default:node.parentNode=this,knownSiblings(next[PREV],node,next),moCallback(node,null);break}return node}normalize(){let{[NEXT]:next,[END]:end}=this;for(;next!==end;){let{[NEXT]:$next,[PREV]:$prev,nodeType}=next;nodeType===TEXT_NODE&&(next[VALUE]?$prev&&$prev.nodeType===TEXT_NODE&&($prev.textContent+=next.textContent,next.remove()):next.remove()),next=$next}}removeChild(node){if(node.parentNode!==this)throw new Error("node is not a child");return node.remove(),node}replaceChild(node,replaced){let next=getEnd(replaced)[NEXT];return replaced.remove(),this.insertBefore(node,next),replaced}};exports.ParentNode=ParentNode}});var require_non_element_parent_node=__commonJS({"node_modules/linkedom/cjs/mixin/non-element-parent-node.js"(exports){"use strict";var{ELEMENT_NODE}=require_constants2(),{END,NEXT}=require_symbols(),{nonElementAsJSON}=require_jsdon(),{ParentNode}=require_parent_node(),NonElementParentNode=class extends ParentNode{getElementById(id){let{[NEXT]:next,[END]:end}=this;for(;next!==end;){if(next.nodeType===ELEMENT_NODE&&next.id===id)return next;next=next[NEXT]}return null}cloneNode(deep){let{ownerDocument,constructor}=this,nonEPN=new constructor(ownerDocument);if(deep){let{[END]:end}=nonEPN;for(let node of this.childNodes)nonEPN.insertBefore(node.cloneNode(deep),end)}return nonEPN}toString(){let{childNodes,localName}=this;return`<${localName}>${childNodes.join("")}</${localName}>`}toJSON(){let json=[];return nonElementAsJSON(this,json),json}};exports.NonElementParentNode=NonElementParentNode}});var require_document_fragment=__commonJS({"node_modules/linkedom/cjs/interface/document-fragment.js"(exports){"use strict";var{DOCUMENT_FRAGMENT_NODE}=require_constants2(),{NonElementParentNode}=require_non_element_parent_node(),DocumentFragment=class extends NonElementParentNode{constructor(ownerDocument){super(ownerDocument,"#document-fragment",DOCUMENT_FRAGMENT_NODE)}};exports.DocumentFragment=DocumentFragment}});var require_document_type=__commonJS({"node_modules/linkedom/cjs/interface/document-type.js"(exports){"use strict";var{DOCUMENT_TYPE_NODE}=require_constants2(),{documentTypeAsJSON}=require_jsdon(),{Node}=require_node2(),DocumentType=class _DocumentType extends Node{constructor(ownerDocument,name,publicId="",systemId=""){super(ownerDocument,"#document-type",DOCUMENT_TYPE_NODE),this.name=name,this.publicId=publicId,this.systemId=systemId}cloneNode(){let{ownerDocument,name,publicId,systemId}=this;return new _DocumentType(ownerDocument,name,publicId,systemId)}toString(){let{name,publicId,systemId}=this,hasPublic=0<publicId.length,str=[name];return hasPublic&&str.push("PUBLIC",`"${publicId}"`),systemId.length&&(hasPublic||str.push("SYSTEM"),str.push(`"${systemId}"`)),`<!DOCTYPE ${str.join(" ")}>`}toJSON(){let json=[];return documentTypeAsJSON(this,json),json}};exports.DocumentType=DocumentType}});var require_inner_html=__commonJS({"node_modules/linkedom/cjs/mixin/inner-html.js"(exports){"use strict";var{ELEMENT_NODE,DOCUMENT_FRAGMENT_NODE}=require_constants2(),{CUSTOM_ELEMENTS}=require_symbols(),{parseFromString}=require_parse_from_string(),{ignoreCase}=require_utils2(),getInnerHtml=node=>node.childNodes.join("");exports.getInnerHtml=getInnerHtml;var setInnerHtml=(node,html)=>{let{ownerDocument}=node,{constructor}=ownerDocument,document2=new constructor;document2[CUSTOM_ELEMENTS]=ownerDocument[CUSTOM_ELEMENTS];let{childNodes}=parseFromString(document2,ignoreCase(node),html);node.replaceChildren(...childNodes.map(setOwnerDocument,ownerDocument))};exports.setInnerHtml=setInnerHtml;function setOwnerDocument(node){switch(node.ownerDocument=this,node.nodeType){case ELEMENT_NODE:case DOCUMENT_FRAGMENT_NODE:node.childNodes.forEach(setOwnerDocument,this);break}return node}}});var require_cjs=__commonJS({"node_modules/uhyphen/cjs/index.js"(exports,module){"use strict";module.exports=camel=>camel.replace(/(([A-Z0-9])([A-Z0-9][a-z]))|(([a-z0-9]+)([A-Z]))/g,"$2$5-$3$6").toLowerCase()}});var require_string_map=__commonJS({"node_modules/linkedom/cjs/dom/string-map.js"(exports){"use strict";var uhyphen=(m=>m.__esModule?m.default:m)(require_cjs()),{setPrototypeOf}=require_object(),refs=new WeakMap,key=name=>`data-${uhyphen(name)}`,prop=name=>name.slice(5).replace(/-([a-z])/g,(_,$1)=>$1.toUpperCase()),handler={get(dataset,name){if(name in dataset)return refs.get(dataset).getAttribute(key(name))},set(dataset,name,value){return dataset[name]=value,refs.get(dataset).setAttribute(key(name),value),!0},deleteProperty(dataset,name){return name in dataset&&refs.get(dataset).removeAttribute(key(name)),delete dataset[name]}},DOMStringMap=class{constructor(ref){for(let{name,value}of ref.attributes)/^data-/.test(name)&&(this[prop(name)]=value);return refs.set(this,ref),new Proxy(this,handler)}};exports.DOMStringMap=DOMStringMap;setPrototypeOf(DOMStringMap.prototype,null)}});var require_token_list=__commonJS({"node_modules/linkedom/cjs/dom/token-list.js"(exports){"use strict";var{OWNER_ELEMENT}=require_symbols(),{setAttribute}=require_attributes(),{Attr}=require_attr(),{add}=Set.prototype,addTokens=(self,tokens)=>{for(let token of tokens)token&&add.call(self,token)},update=({[OWNER_ELEMENT]:ownerElement,value})=>{let attribute=ownerElement.getAttributeNode("class");attribute?attribute.value=value:setAttribute(ownerElement,new Attr(ownerElement.ownerDocument,"class",value))},DOMTokenList=class extends Set{constructor(ownerElement){super(),this[OWNER_ELEMENT]=ownerElement;let attribute=ownerElement.getAttributeNode("class");attribute&&addTokens(this,attribute.value.split(/\s+/))}get length(){return this.size}get value(){return[...this].join(" ")}add(...tokens){addTokens(this,tokens),update(this)}contains(token){return this.has(token)}remove(...tokens){for(let token of tokens)this.delete(token);update(this)}toggle(token,force){if(this.has(token)){if(force)return!0;this.delete(token),update(this)}else if(force||arguments.length===1)return super.add(token),update(this),!0;return!1}replace(token,newToken){return this.has(token)?(this.delete(token),super.add(newToken),update(this),!0):!1}supports(){return!0}};exports.DOMTokenList=DOMTokenList}});var require_css_style_declaration=__commonJS({"node_modules/linkedom/cjs/interface/css-style-declaration.js"(exports){"use strict";var uhyphen=(m=>m.__esModule?m.default:m)(require_cjs()),{CHANGED,PRIVATE,VALUE}=require_symbols(),refs=new WeakMap,getKeys=style=>[...style.keys()].filter(key=>key!==PRIVATE),updateKeys=style=>{let attr=refs.get(style).getAttributeNode("style");if((!attr||attr[CHANGED]||style.get(PRIVATE)!==attr)&&(style.clear(),attr)){style.set(PRIVATE,attr);for(let rule of attr[VALUE].split(/\s*;\s*/)){let[key,...rest]=rule.split(":");if(rest.length>0){key=key.trim();let value=rest.join(":").trim();key&&value&&style.set(key,value)}}}return attr},handler={get(style,name){return name in prototype?style[name]:(updateKeys(style),name==="length"?getKeys(style).length:/^\d+$/.test(name)?getKeys(style)[name]:style.get(uhyphen(name))??"")},set(style,name,value){if(name==="cssText")style[name]=value;else{let attr=updateKeys(style);if(value==null?style.delete(uhyphen(name)):style.set(uhyphen(name),value),!attr){let element=refs.get(style);attr=element.ownerDocument.createAttribute("style"),element.setAttributeNode(attr),style.set(PRIVATE,attr)}attr[CHANGED]=!1,attr[VALUE]=style.toString()}return!0}},CSSStyleDeclaration=class extends Map{constructor(element){return super(),refs.set(this,element),new Proxy(this,handler)}get cssText(){return this.toString()}set cssText(value){refs.get(this).setAttribute("style",value)}getPropertyValue(name){let self=this[PRIVATE];return handler.get(self,name)}setProperty(name,value){let self=this[PRIVATE];handler.set(self,name,value)}removeProperty(name){let self=this[PRIVATE];handler.set(self,name,null)}[Symbol.iterator](){let self=this[PRIVATE];updateKeys(self);let keys=getKeys(self),{length}=keys,i=0;return{next(){let done=i===length;return{done,value:done?null:keys[i++]}}}}get[PRIVATE](){return this}toString(){let self=this[PRIVATE];updateKeys(self);let cssText=[];return self.forEach(push,cssText),cssText.join(";")}};exports.CSSStyleDeclaration=CSSStyleDeclaration;var{prototype}=CSSStyleDeclaration;function push(value,key){key!==PRIVATE&&this.push(`${key}:${value}`)}}});var require_event=__commonJS({"node_modules/linkedom/cjs/interface/event.js"(exports){"use strict";function getCurrentTarget(ev){return ev.currentTarget}var GlobalEvent=class{static get BUBBLING_PHASE(){return 3}static get AT_TARGET(){return 2}static get CAPTURING_PHASE(){return 1}static get NONE(){return 0}constructor(type,eventInitDict={}){this.type=type,this.bubbles=!!eventInitDict.bubbles,this.cancelBubble=!1,this._stopImmediatePropagationFlag=!1,this.cancelable=!!eventInitDict.cancelable,this.eventPhase=this.NONE,this.timeStamp=Date.now(),this.defaultPrevented=!1,this.originalTarget=null,this.returnValue=null,this.srcElement=null,this.target=null,this._path=[]}get BUBBLING_PHASE(){return 3}get AT_TARGET(){return 2}get CAPTURING_PHASE(){return 1}get NONE(){return 0}preventDefault(){this.defaultPrevented=!0}composedPath(){return this._path.map(getCurrentTarget)}stopPropagation(){this.cancelBubble=!0}stopImmediatePropagation(){this.stopPropagation(),this._stopImmediatePropagationFlag=!0}};exports.Event=GlobalEvent}});var require_named_node_map=__commonJS({"node_modules/linkedom/cjs/interface/named-node-map.js"(exports){"use strict";var NamedNodeMap=class extends Array{constructor(ownerElement){super(),this.ownerElement=ownerElement}getNamedItem(name){return this.ownerElement.getAttributeNode(name)}setNamedItem(attr){this.ownerElement.setAttributeNode(attr),this.unshift(attr)}removeNamedItem(name){let item=this.getNamedItem(name);this.ownerElement.removeAttribute(name),this.splice(this.indexOf(item),1)}item(index){return index<this.length?this[index]:null}getNamedItemNS(_,name){return this.getNamedItem(name)}setNamedItemNS(_,attr){return this.setNamedItem(attr)}removeNamedItemNS(_,name){return this.removeNamedItem(name)}};exports.NamedNodeMap=NamedNodeMap}});var require_shadow_root=__commonJS({"node_modules/linkedom/cjs/interface/shadow-root.js"(exports){"use strict";var{DOCUMENT_FRAGMENT_NODE}=require_constants2(),{getInnerHtml,setInnerHtml}=require_inner_html(),{NonElementParentNode}=require_non_element_parent_node(),ShadowRoot=class extends NonElementParentNode{constructor(host){super(host.ownerDocument,"#shadow-root",DOCUMENT_FRAGMENT_NODE),this.host=host}get innerHTML(){return getInnerHtml(this)}set innerHTML(html){setInnerHtml(this,html)}};exports.ShadowRoot=ShadowRoot}});var require_element=__commonJS({"node_modules/linkedom/cjs/interface/element.js"(exports){"use strict";var{ATTRIBUTE_NODE,BLOCK_ELEMENTS,CDATA_SECTION_NODE,COMMENT_NODE,ELEMENT_NODE,NODE_END,TEXT_NODE,SVG_NAMESPACE}=require_constants2(),{setAttribute,removeAttribute,numericAttribute,stringAttribute}=require_attributes(),{CLASS_LIST,DATASET,STYLE,END,NEXT,PREV,START,MIME}=require_symbols(),{htmlToFragment,ignoreCase,knownAdjacent,localCase,String:String2}=require_utils2(),{elementAsJSON}=require_jsdon(),{matches,prepareMatch}=require_matches(),{shadowRoots}=require_shadow_roots(),{isConnected,parentElement,previousSibling,nextSibling}=require_node3(),{previousElementSibling,nextElementSibling}=require_non_document_type_child_node(),{before,after,replaceWith,remove}=require_child_node(),{getInnerHtml,setInnerHtml}=require_inner_html(),{ParentNode}=require_parent_node(),{DOMStringMap}=require_string_map(),{DOMTokenList}=require_token_list(),{CSSStyleDeclaration}=require_css_style_declaration(),{Event}=require_event(),{NamedNodeMap}=require_named_node_map(),{ShadowRoot}=require_shadow_root(),{NodeList}=require_node_list(),{Attr}=require_attr(),{Text}=require_text(),{escape}=require_text_escaper(),attributesHandler={get(target,key){return key in target?target[key]:target.find(({name})=>name===key)}},create=(ownerDocument,element,localName)=>{if("ownerSVGElement"in element){let svg=ownerDocument.createElementNS(SVG_NAMESPACE,localName);return svg.ownerSVGElement=element.ownerSVGElement,svg}return ownerDocument.createElement(localName)},isVoid=({localName,ownerDocument})=>ownerDocument[MIME].voidElements.test(localName),Element=class extends ParentNode{constructor(ownerDocument,localName){super(ownerDocument,localName,ELEMENT_NODE),this[CLASS_LIST]=null,this[DATASET]=null,this[STYLE]=null}get isConnected(){return isConnected(this)}get parentElement(){return parentElement(this)}get previousSibling(){return previousSibling(this)}get nextSibling(){return nextSibling(this)}get namespaceURI(){return"http://www.w3.org/1999/xhtml"}get previousElementSibling(){return previousElementSibling(this)}get nextElementSibling(){return nextElementSibling(this)}before(...nodes){before(this,nodes)}after(...nodes){after(this,nodes)}replaceWith(...nodes){replaceWith(this,nodes)}remove(){remove(this[PREV],this,this[END][NEXT])}get id(){return stringAttribute.get(this,"id")}set id(value){stringAttribute.set(this,"id",value)}get className(){return this.classList.value}set className(value){let{classList}=this;classList.clear(),classList.add(...String2(value).split(/\s+/))}get nodeName(){return localCase(this)}get tagName(){return localCase(this)}get classList(){return this[CLASS_LIST]||(this[CLASS_LIST]=new DOMTokenList(this))}get dataset(){return this[DATASET]||(this[DATASET]=new DOMStringMap(this))}getBoundingClientRect(){return{x:0,y:0,bottom:0,height:0,left:0,right:0,top:0,width:0}}get nonce(){return stringAttribute.get(this,"nonce")}set nonce(value){stringAttribute.set(this,"nonce",value)}get style(){return this[STYLE]||(this[STYLE]=new CSSStyleDeclaration(this))}get tabIndex(){return numericAttribute.get(this,"tabindex")||-1}set tabIndex(value){numericAttribute.set(this,"tabindex",value)}get slot(){return stringAttribute.get(this,"slot")}set slot(value){stringAttribute.set(this,"slot",value)}get innerText(){let text=[],{[NEXT]:next,[END]:end}=this;for(;next!==end;)next.nodeType===TEXT_NODE?text.push(next.textContent.replace(/\s+/g," ")):text.length&&next[NEXT]!=end&&BLOCK_ELEMENTS.has(next.tagName)&&text.push(`
294
+ `),next=next[NEXT];return text.join("")}get textContent(){let text=[],{[NEXT]:next,[END]:end}=this;for(;next!==end;){let nodeType=next.nodeType;(nodeType===TEXT_NODE||nodeType===CDATA_SECTION_NODE)&&text.push(next.textContent),next=next[NEXT]}return text.join("")}set textContent(text){this.replaceChildren(),text!=null&&text!==""&&this.appendChild(new Text(this.ownerDocument,text))}get innerHTML(){return getInnerHtml(this)}set innerHTML(html){setInnerHtml(this,html)}get outerHTML(){return this.toString()}set outerHTML(html){let template=this.ownerDocument.createElement("");template.innerHTML=html,this.replaceWith(...template.childNodes)}get attributes(){let attributes=new NamedNodeMap(this),next=this[NEXT];for(;next.nodeType===ATTRIBUTE_NODE;)attributes.push(next),next=next[NEXT];return new Proxy(attributes,attributesHandler)}focus(){this.dispatchEvent(new Event("focus"))}getAttribute(name){if(name==="class")return this.className;let attribute=this.getAttributeNode(name);return attribute&&(ignoreCase(this)?attribute.value:escape(attribute.value))}getAttributeNode(name){let next=this[NEXT];for(;next.nodeType===ATTRIBUTE_NODE;){if(next.name===name)return next;next=next[NEXT]}return null}getAttributeNames(){let attributes=new NodeList,next=this[NEXT];for(;next.nodeType===ATTRIBUTE_NODE;)attributes.push(next.name),next=next[NEXT];return attributes}hasAttribute(name){return!!this.getAttributeNode(name)}hasAttributes(){return this[NEXT].nodeType===ATTRIBUTE_NODE}removeAttribute(name){name==="class"&&this[CLASS_LIST]&&this[CLASS_LIST].clear();let next=this[NEXT];for(;next.nodeType===ATTRIBUTE_NODE;){if(next.name===name){removeAttribute(this,next);return}next=next[NEXT]}}removeAttributeNode(attribute){let next=this[NEXT];for(;next.nodeType===ATTRIBUTE_NODE;){if(next===attribute){removeAttribute(this,next);return}next=next[NEXT]}}setAttribute(name,value){if(name==="class")this.className=value;else{let attribute=this.getAttributeNode(name);attribute?attribute.value=value:setAttribute(this,new Attr(this.ownerDocument,name,value))}}setAttributeNode(attribute){let{name}=attribute,previously=this.getAttributeNode(name);if(previously!==attribute){previously&&this.removeAttributeNode(previously);let{ownerElement}=attribute;ownerElement&&ownerElement.removeAttributeNode(attribute),setAttribute(this,attribute)}return previously}toggleAttribute(name,force){return this.hasAttribute(name)?force?!0:(this.removeAttribute(name),!1):force||arguments.length===1?(this.setAttribute(name,""),!0):!1}get shadowRoot(){if(shadowRoots.has(this)){let{mode,shadowRoot}=shadowRoots.get(this);if(mode==="open")return shadowRoot}return null}attachShadow(init){if(shadowRoots.has(this))throw new Error("operation not supported");let shadowRoot=new ShadowRoot(this);return shadowRoots.set(this,{mode:init.mode,shadowRoot}),shadowRoot}matches(selectors){return matches(this,selectors)}closest(selectors){let parentElement2=this,matches2=prepareMatch(parentElement2,selectors);for(;parentElement2&&!matches2(parentElement2);)parentElement2=parentElement2.parentElement;return parentElement2}insertAdjacentElement(position,element){let{parentElement:parentElement2}=this;switch(position){case"beforebegin":if(parentElement2){parentElement2.insertBefore(element,this);break}return null;case"afterbegin":this.insertBefore(element,this.firstChild);break;case"beforeend":this.insertBefore(element,null);break;case"afterend":if(parentElement2){parentElement2.insertBefore(element,this.nextSibling);break}return null}return element}insertAdjacentHTML(position,html){this.insertAdjacentElement(position,htmlToFragment(this.ownerDocument,html))}insertAdjacentText(position,text){let node=this.ownerDocument.createTextNode(text);this.insertAdjacentElement(position,node)}cloneNode(deep=!1){let{ownerDocument,localName}=this,addNext=next2=>{next2.parentNode=parentNode,knownAdjacent($next,next2),$next=next2},clone=create(ownerDocument,this,localName),parentNode=clone,$next=clone,{[NEXT]:next,[END]:prev}=this;for(;next!==prev&&(deep||next.nodeType===ATTRIBUTE_NODE);){switch(next.nodeType){case NODE_END:knownAdjacent($next,parentNode[END]),$next=parentNode[END],parentNode=parentNode.parentNode;break;case ELEMENT_NODE:{let node=create(ownerDocument,next,next.localName);addNext(node),parentNode=node;break}case ATTRIBUTE_NODE:{let attr=next.cloneNode(deep);attr.ownerElement=parentNode,addNext(attr);break}case TEXT_NODE:case COMMENT_NODE:case CDATA_SECTION_NODE:addNext(next.cloneNode(deep));break}next=next[NEXT]}return knownAdjacent($next,clone[END]),clone}toString(){let out=[],{[END]:end}=this,next={[NEXT]:this},isOpened=!1;do switch(next=next[NEXT],next.nodeType){case ATTRIBUTE_NODE:{let attr=" "+next;switch(attr){case" id":case" class":case" style":break;default:out.push(attr)}break}case NODE_END:{let start=next[START];isOpened?("ownerSVGElement"in start?out.push(" />"):isVoid(start)?out.push(ignoreCase(start)?">":" />"):out.push(`></${start.localName}>`),isOpened=!1):out.push(`</${start.localName}>`);break}case ELEMENT_NODE:isOpened&&out.push(">"),next.toString!==this.toString?(out.push(next.toString()),next=next[END],isOpened=!1):(out.push(`<${next.localName}`),isOpened=!0);break;case TEXT_NODE:case COMMENT_NODE:case CDATA_SECTION_NODE:out.push((isOpened?">":"")+next),isOpened=!1;break}while(next!==end);return out.join("")}toJSON(){let json=[];return elementAsJSON(this,json),json}getAttributeNS(_,name){return this.getAttribute(name)}getElementsByTagNameNS(_,name){return this.getElementsByTagName(name)}hasAttributeNS(_,name){return this.hasAttribute(name)}removeAttributeNS(_,name){this.removeAttribute(name)}setAttributeNS(_,name,value){this.setAttribute(name,value)}setAttributeNodeNS(attr){return this.setAttributeNode(attr)}};exports.Element=Element}});var require_element2=__commonJS({"node_modules/linkedom/cjs/svg/element.js"(exports){"use strict";var{Element}=require_element(),{String:String2}=require_utils2(),classNames=new WeakMap,handler={get(target,name){return target[name]},set(target,name,value){return target[name]=value,!0}},SVGElement=class extends Element{constructor(ownerDocument,localName,ownerSVGElement=null){super(ownerDocument,localName),this.ownerSVGElement=ownerSVGElement}get className(){return classNames.has(this)||classNames.set(this,new Proxy({baseVal:"",animVal:""},handler)),classNames.get(this)}set className(value){let{classList}=this;classList.clear(),classList.add(...String2(value).split(/\s+/))}get namespaceURI(){return"http://www.w3.org/2000/svg"}getAttribute(name){return name==="class"?[...this.classList].join(" "):super.getAttribute(name)}setAttribute(name,value){if(name==="class")this.className=value;else if(name==="style"){let{className}=this;className.baseVal=className.animVal=value}super.setAttribute(name,value)}};exports.SVGElement=SVGElement}});var require_facades=__commonJS({"node_modules/linkedom/cjs/shared/facades.js"(exports){"use strict";var{Attr:_Attr}=require_attr(),{CharacterData:_CharacterData}=require_character_data(),{CDATASection:_CDATASection}=require_cdata_section(),{Comment:_Comment}=require_comment(),{DocumentFragment:_DocumentFragment}=require_document_fragment(),{DocumentType:_DocumentType}=require_document_type(),{Element:_Element}=require_element(),{Node:_Node}=require_node2(),{ShadowRoot:_ShadowRoot}=require_shadow_root(),{Text:_Text}=require_text(),{SVGElement:_SVGElement}=require_element2(),{setPrototypeOf}=require_object(),illegalConstructor=()=>{throw new TypeError("Illegal constructor")};exports.illegalConstructor=illegalConstructor;function Attr(){illegalConstructor()}exports.Attr=Attr;setPrototypeOf(Attr,_Attr);Attr.prototype=_Attr.prototype;function CDATASection(){illegalConstructor()}exports.CDATASection=CDATASection;setPrototypeOf(CDATASection,_CDATASection);CDATASection.prototype=_CDATASection.prototype;function CharacterData(){illegalConstructor()}exports.CharacterData=CharacterData;setPrototypeOf(CharacterData,_CharacterData);CharacterData.prototype=_CharacterData.prototype;function Comment(){illegalConstructor()}exports.Comment=Comment;setPrototypeOf(Comment,_Comment);Comment.prototype=_Comment.prototype;function DocumentFragment(){illegalConstructor()}exports.DocumentFragment=DocumentFragment;setPrototypeOf(DocumentFragment,_DocumentFragment);DocumentFragment.prototype=_DocumentFragment.prototype;function DocumentType(){illegalConstructor()}exports.DocumentType=DocumentType;setPrototypeOf(DocumentType,_DocumentType);DocumentType.prototype=_DocumentType.prototype;function Element(){illegalConstructor()}exports.Element=Element;setPrototypeOf(Element,_Element);Element.prototype=_Element.prototype;function Node(){illegalConstructor()}exports.Node=Node;setPrototypeOf(Node,_Node);Node.prototype=_Node.prototype;function ShadowRoot(){illegalConstructor()}exports.ShadowRoot=ShadowRoot;setPrototypeOf(ShadowRoot,_ShadowRoot);ShadowRoot.prototype=_ShadowRoot.prototype;function Text(){illegalConstructor()}exports.Text=Text;setPrototypeOf(Text,_Text);Text.prototype=_Text.prototype;function SVGElement(){illegalConstructor()}exports.SVGElement=SVGElement;setPrototypeOf(SVGElement,_SVGElement);SVGElement.prototype=_SVGElement.prototype;var Facades={Attr,CDATASection,CharacterData,Comment,DocumentFragment,DocumentType,Element,Node,ShadowRoot,Text,SVGElement};exports.Facades=Facades}});var require_element3=__commonJS({"node_modules/linkedom/cjs/html/element.js"(exports){"use strict";var{END,UPGRADE}=require_symbols(),{booleanAttribute,stringAttribute}=require_attributes(),{Event}=require_event(),{Element}=require_element(),{Classes,customElements}=require_custom_element_registry(),Level0=new WeakMap,level0={get(element,name){return Level0.has(element)&&Level0.get(element)[name]||null},set(element,name,value){Level0.has(element)||Level0.set(element,{});let handlers=Level0.get(element),type=name.slice(2);handlers[name]&&element.removeEventListener(type,handlers[name],!1),(handlers[name]=value)&&element.addEventListener(type,value,!1)}},HTMLElement=class extends Element{static get observedAttributes(){return[]}constructor(ownerDocument=null,localName=""){super(ownerDocument,localName);let ownerLess=!ownerDocument,options;if(ownerLess){let{constructor:Class}=this;if(!Classes.has(Class))throw new Error("unable to initialize this Custom Element");({ownerDocument,localName,options}=Classes.get(Class))}if(ownerDocument[UPGRADE]){let{element,values}=ownerDocument[UPGRADE];ownerDocument[UPGRADE]=null;for(let[key,value]of values)element[key]=value;return element}ownerLess&&(this.ownerDocument=this[END].ownerDocument=ownerDocument,this.localName=localName,customElements.set(this,{connected:!1}),options.is&&this.setAttribute("is",options.is))}blur(){this.dispatchEvent(new Event("blur"))}click(){let clickEvent=new Event("click",{bubbles:!0,cancelable:!0});clickEvent.button=0,this.dispatchEvent(clickEvent)}get accessKeyLabel(){let{accessKey}=this;return accessKey&&`Alt+Shift+${accessKey}`}get isContentEditable(){return this.hasAttribute("contenteditable")}get contentEditable(){return booleanAttribute.get(this,"contenteditable")}set contentEditable(value){booleanAttribute.set(this,"contenteditable",value)}get draggable(){return booleanAttribute.get(this,"draggable")}set draggable(value){booleanAttribute.set(this,"draggable",value)}get hidden(){return booleanAttribute.get(this,"hidden")}set hidden(value){booleanAttribute.set(this,"hidden",value)}get spellcheck(){return booleanAttribute.get(this,"spellcheck")}set spellcheck(value){booleanAttribute.set(this,"spellcheck",value)}get accessKey(){return stringAttribute.get(this,"accesskey")}set accessKey(value){stringAttribute.set(this,"accesskey",value)}get dir(){return stringAttribute.get(this,"dir")}set dir(value){stringAttribute.set(this,"dir",value)}get lang(){return stringAttribute.get(this,"lang")}set lang(value){stringAttribute.set(this,"lang",value)}get title(){return stringAttribute.get(this,"title")}set title(value){stringAttribute.set(this,"title",value)}get onabort(){return level0.get(this,"onabort")}set onabort(value){level0.set(this,"onabort",value)}get onblur(){return level0.get(this,"onblur")}set onblur(value){level0.set(this,"onblur",value)}get oncancel(){return level0.get(this,"oncancel")}set oncancel(value){level0.set(this,"oncancel",value)}get oncanplay(){return level0.get(this,"oncanplay")}set oncanplay(value){level0.set(this,"oncanplay",value)}get oncanplaythrough(){return level0.get(this,"oncanplaythrough")}set oncanplaythrough(value){level0.set(this,"oncanplaythrough",value)}get onchange(){return level0.get(this,"onchange")}set onchange(value){level0.set(this,"onchange",value)}get onclick(){return level0.get(this,"onclick")}set onclick(value){level0.set(this,"onclick",value)}get onclose(){return level0.get(this,"onclose")}set onclose(value){level0.set(this,"onclose",value)}get oncontextmenu(){return level0.get(this,"oncontextmenu")}set oncontextmenu(value){level0.set(this,"oncontextmenu",value)}get oncuechange(){return level0.get(this,"oncuechange")}set oncuechange(value){level0.set(this,"oncuechange",value)}get ondblclick(){return level0.get(this,"ondblclick")}set ondblclick(value){level0.set(this,"ondblclick",value)}get ondrag(){return level0.get(this,"ondrag")}set ondrag(value){level0.set(this,"ondrag",value)}get ondragend(){return level0.get(this,"ondragend")}set ondragend(value){level0.set(this,"ondragend",value)}get ondragenter(){return level0.get(this,"ondragenter")}set ondragenter(value){level0.set(this,"ondragenter",value)}get ondragleave(){return level0.get(this,"ondragleave")}set ondragleave(value){level0.set(this,"ondragleave",value)}get ondragover(){return level0.get(this,"ondragover")}set ondragover(value){level0.set(this,"ondragover",value)}get ondragstart(){return level0.get(this,"ondragstart")}set ondragstart(value){level0.set(this,"ondragstart",value)}get ondrop(){return level0.get(this,"ondrop")}set ondrop(value){level0.set(this,"ondrop",value)}get ondurationchange(){return level0.get(this,"ondurationchange")}set ondurationchange(value){level0.set(this,"ondurationchange",value)}get onemptied(){return level0.get(this,"onemptied")}set onemptied(value){level0.set(this,"onemptied",value)}get onended(){return level0.get(this,"onended")}set onended(value){level0.set(this,"onended",value)}get onerror(){return level0.get(this,"onerror")}set onerror(value){level0.set(this,"onerror",value)}get onfocus(){return level0.get(this,"onfocus")}set onfocus(value){level0.set(this,"onfocus",value)}get oninput(){return level0.get(this,"oninput")}set oninput(value){level0.set(this,"oninput",value)}get oninvalid(){return level0.get(this,"oninvalid")}set oninvalid(value){level0.set(this,"oninvalid",value)}get onkeydown(){return level0.get(this,"onkeydown")}set onkeydown(value){level0.set(this,"onkeydown",value)}get onkeypress(){return level0.get(this,"onkeypress")}set onkeypress(value){level0.set(this,"onkeypress",value)}get onkeyup(){return level0.get(this,"onkeyup")}set onkeyup(value){level0.set(this,"onkeyup",value)}get onload(){return level0.get(this,"onload")}set onload(value){level0.set(this,"onload",value)}get onloadeddata(){return level0.get(this,"onloadeddata")}set onloadeddata(value){level0.set(this,"onloadeddata",value)}get onloadedmetadata(){return level0.get(this,"onloadedmetadata")}set onloadedmetadata(value){level0.set(this,"onloadedmetadata",value)}get onloadstart(){return level0.get(this,"onloadstart")}set onloadstart(value){level0.set(this,"onloadstart",value)}get onmousedown(){return level0.get(this,"onmousedown")}set onmousedown(value){level0.set(this,"onmousedown",value)}get onmouseenter(){return level0.get(this,"onmouseenter")}set onmouseenter(value){level0.set(this,"onmouseenter",value)}get onmouseleave(){return level0.get(this,"onmouseleave")}set onmouseleave(value){level0.set(this,"onmouseleave",value)}get onmousemove(){return level0.get(this,"onmousemove")}set onmousemove(value){level0.set(this,"onmousemove",value)}get onmouseout(){return level0.get(this,"onmouseout")}set onmouseout(value){level0.set(this,"onmouseout",value)}get onmouseover(){return level0.get(this,"onmouseover")}set onmouseover(value){level0.set(this,"onmouseover",value)}get onmouseup(){return level0.get(this,"onmouseup")}set onmouseup(value){level0.set(this,"onmouseup",value)}get onmousewheel(){return level0.get(this,"onmousewheel")}set onmousewheel(value){level0.set(this,"onmousewheel",value)}get onpause(){return level0.get(this,"onpause")}set onpause(value){level0.set(this,"onpause",value)}get onplay(){return level0.get(this,"onplay")}set onplay(value){level0.set(this,"onplay",value)}get onplaying(){return level0.get(this,"onplaying")}set onplaying(value){level0.set(this,"onplaying",value)}get onprogress(){return level0.get(this,"onprogress")}set onprogress(value){level0.set(this,"onprogress",value)}get onratechange(){return level0.get(this,"onratechange")}set onratechange(value){level0.set(this,"onratechange",value)}get onreset(){return level0.get(this,"onreset")}set onreset(value){level0.set(this,"onreset",value)}get onresize(){return level0.get(this,"onresize")}set onresize(value){level0.set(this,"onresize",value)}get onscroll(){return level0.get(this,"onscroll")}set onscroll(value){level0.set(this,"onscroll",value)}get onseeked(){return level0.get(this,"onseeked")}set onseeked(value){level0.set(this,"onseeked",value)}get onseeking(){return level0.get(this,"onseeking")}set onseeking(value){level0.set(this,"onseeking",value)}get onselect(){return level0.get(this,"onselect")}set onselect(value){level0.set(this,"onselect",value)}get onshow(){return level0.get(this,"onshow")}set onshow(value){level0.set(this,"onshow",value)}get onstalled(){return level0.get(this,"onstalled")}set onstalled(value){level0.set(this,"onstalled",value)}get onsubmit(){return level0.get(this,"onsubmit")}set onsubmit(value){level0.set(this,"onsubmit",value)}get onsuspend(){return level0.get(this,"onsuspend")}set onsuspend(value){level0.set(this,"onsuspend",value)}get ontimeupdate(){return level0.get(this,"ontimeupdate")}set ontimeupdate(value){level0.set(this,"ontimeupdate",value)}get ontoggle(){return level0.get(this,"ontoggle")}set ontoggle(value){level0.set(this,"ontoggle",value)}get onvolumechange(){return level0.get(this,"onvolumechange")}set onvolumechange(value){level0.set(this,"onvolumechange",value)}get onwaiting(){return level0.get(this,"onwaiting")}set onwaiting(value){level0.set(this,"onwaiting",value)}get onauxclick(){return level0.get(this,"onauxclick")}set onauxclick(value){level0.set(this,"onauxclick",value)}get ongotpointercapture(){return level0.get(this,"ongotpointercapture")}set ongotpointercapture(value){level0.set(this,"ongotpointercapture",value)}get onlostpointercapture(){return level0.get(this,"onlostpointercapture")}set onlostpointercapture(value){level0.set(this,"onlostpointercapture",value)}get onpointercancel(){return level0.get(this,"onpointercancel")}set onpointercancel(value){level0.set(this,"onpointercancel",value)}get onpointerdown(){return level0.get(this,"onpointerdown")}set onpointerdown(value){level0.set(this,"onpointerdown",value)}get onpointerenter(){return level0.get(this,"onpointerenter")}set onpointerenter(value){level0.set(this,"onpointerenter",value)}get onpointerleave(){return level0.get(this,"onpointerleave")}set onpointerleave(value){level0.set(this,"onpointerleave",value)}get onpointermove(){return level0.get(this,"onpointermove")}set onpointermove(value){level0.set(this,"onpointermove",value)}get onpointerout(){return level0.get(this,"onpointerout")}set onpointerout(value){level0.set(this,"onpointerout",value)}get onpointerover(){return level0.get(this,"onpointerover")}set onpointerover(value){level0.set(this,"onpointerover",value)}get onpointerup(){return level0.get(this,"onpointerup")}set onpointerup(value){level0.set(this,"onpointerup",value)}};exports.HTMLElement=HTMLElement}});var require_template_element=__commonJS({"node_modules/linkedom/cjs/html/template-element.js"(exports){"use strict";var{CONTENT,PRIVATE}=require_symbols(),{registerHTMLClass}=require_register_html_class(),{HTMLElement}=require_element3(),tagName="template",HTMLTemplateElement=class extends HTMLElement{constructor(ownerDocument){super(ownerDocument,tagName);let content=this.ownerDocument.createDocumentFragment();(this[CONTENT]=content)[PRIVATE]=this}get content(){if(this.hasChildNodes()&&!this[CONTENT].hasChildNodes())for(let node of this.childNodes)this[CONTENT].appendChild(node.cloneNode(!0));return this[CONTENT]}};registerHTMLClass(tagName,HTMLTemplateElement);exports.HTMLTemplateElement=HTMLTemplateElement}});var require_html_element=__commonJS({"node_modules/linkedom/cjs/html/html-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLHtmlElement=class extends HTMLElement{constructor(ownerDocument,localName="html"){super(ownerDocument,localName)}};exports.HTMLHtmlElement=HTMLHtmlElement}});var require_text_element=__commonJS({"node_modules/linkedom/cjs/html/text-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),{toString}=HTMLElement.prototype,TextElement=class extends HTMLElement{get innerHTML(){return this.textContent}set innerHTML(html){this.textContent=html}toString(){return toString.call(this.cloneNode()).replace("><",()=>`>${this.textContent}<`)}};exports.TextElement=TextElement}});var require_script_element=__commonJS({"node_modules/linkedom/cjs/html/script-element.js"(exports){"use strict";var{booleanAttribute,stringAttribute}=require_attributes(),{registerHTMLClass}=require_register_html_class(),{TextElement}=require_text_element(),tagName="script",HTMLScriptElement=class extends TextElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get type(){return stringAttribute.get(this,"type")}set type(value){stringAttribute.set(this,"type",value)}get src(){return stringAttribute.get(this,"src")}set src(value){stringAttribute.set(this,"src",value)}get defer(){return booleanAttribute.get(this,"defer")}set defer(value){booleanAttribute.set(this,"defer",value)}get crossOrigin(){return stringAttribute.get(this,"crossorigin")}set crossOrigin(value){stringAttribute.set(this,"crossorigin",value)}get nomodule(){return booleanAttribute.get(this,"nomodule")}set nomodule(value){booleanAttribute.set(this,"nomodule",value)}get referrerPolicy(){return stringAttribute.get(this,"referrerpolicy")}set referrerPolicy(value){stringAttribute.set(this,"referrerpolicy",value)}get nonce(){return stringAttribute.get(this,"nonce")}set nonce(value){stringAttribute.set(this,"nonce",value)}get async(){return booleanAttribute.get(this,"async")}set async(value){booleanAttribute.set(this,"async",value)}get text(){return this.textContent}set text(content){this.textContent=content}};registerHTMLClass(tagName,HTMLScriptElement);exports.HTMLScriptElement=HTMLScriptElement}});var require_frame_element=__commonJS({"node_modules/linkedom/cjs/html/frame-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLFrameElement=class extends HTMLElement{constructor(ownerDocument,localName="frame"){super(ownerDocument,localName)}};exports.HTMLFrameElement=HTMLFrameElement}});var require_i_frame_element=__commonJS({"node_modules/linkedom/cjs/html/i-frame-element.js"(exports){"use strict";var{registerHTMLClass}=require_register_html_class(),{booleanAttribute,stringAttribute}=require_attributes(),{HTMLElement}=require_element3(),tagName="iframe",HTMLIFrameElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get src(){return stringAttribute.get(this,"src")}set src(value){stringAttribute.set(this,"src",value)}get srcdoc(){return stringAttribute.get(this,"srcdoc")}set srcdoc(value){stringAttribute.set(this,"srcdoc",value)}get name(){return stringAttribute.get(this,"name")}set name(value){stringAttribute.set(this,"name",value)}get allow(){return stringAttribute.get(this,"allow")}set allow(value){stringAttribute.set(this,"allow",value)}get allowFullscreen(){return booleanAttribute.get(this,"allowfullscreen")}set allowFullscreen(value){booleanAttribute.set(this,"allowfullscreen",value)}get referrerPolicy(){return stringAttribute.get(this,"referrerpolicy")}set referrerPolicy(value){stringAttribute.set(this,"referrerpolicy",value)}get loading(){return stringAttribute.get(this,"loading")}set loading(value){stringAttribute.set(this,"loading",value)}};registerHTMLClass(tagName,HTMLIFrameElement);exports.HTMLIFrameElement=HTMLIFrameElement}});var require_object_element=__commonJS({"node_modules/linkedom/cjs/html/object-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLObjectElement=class extends HTMLElement{constructor(ownerDocument,localName="object"){super(ownerDocument,localName)}};exports.HTMLObjectElement=HTMLObjectElement}});var require_head_element=__commonJS({"node_modules/linkedom/cjs/html/head-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLHeadElement=class extends HTMLElement{constructor(ownerDocument,localName="head"){super(ownerDocument,localName)}};exports.HTMLHeadElement=HTMLHeadElement}});var require_body_element=__commonJS({"node_modules/linkedom/cjs/html/body-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLBodyElement=class extends HTMLElement{constructor(ownerDocument,localName="body"){super(ownerDocument,localName)}};exports.HTMLBodyElement=HTMLBodyElement}});var require_style_element=__commonJS({"node_modules/linkedom/cjs/html/style-element.js"(exports){"use strict";var{parse}=require_lib(),{registerHTMLClass}=require_register_html_class(),{SHEET}=require_symbols(),{TextElement}=require_text_element(),tagName="style",HTMLStyleElement=class extends TextElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName),this[SHEET]=null}get sheet(){let sheet=this[SHEET];return sheet!==null?sheet:this[SHEET]=parse(this.textContent)}get innerHTML(){return super.innerHTML||""}set innerHTML(value){super.textContent=value,this[SHEET]=null}get innerText(){return super.innerText||""}set innerText(value){super.textContent=value,this[SHEET]=null}get textContent(){return super.textContent||""}set textContent(value){super.textContent=value,this[SHEET]=null}};registerHTMLClass(tagName,HTMLStyleElement);exports.HTMLStyleElement=HTMLStyleElement}});var require_time_element=__commonJS({"node_modules/linkedom/cjs/html/time-element.js"(exports){"use strict";var{stringAttribute}=require_attributes(),{registerHTMLClass}=require_register_html_class(),{HTMLElement}=require_element3(),HTMLTimeElement=class extends HTMLElement{constructor(ownerDocument,localName="time"){super(ownerDocument,localName)}get dateTime(){return stringAttribute.get(this,"datetime")}set dateTime(value){stringAttribute.set(this,"datetime",value)}};registerHTMLClass("time",HTMLTimeElement);exports.HTMLTimeElement=HTMLTimeElement}});var require_field_set_element=__commonJS({"node_modules/linkedom/cjs/html/field-set-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLFieldSetElement=class extends HTMLElement{constructor(ownerDocument,localName="fieldset"){super(ownerDocument,localName)}};exports.HTMLFieldSetElement=HTMLFieldSetElement}});var require_embed_element=__commonJS({"node_modules/linkedom/cjs/html/embed-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLEmbedElement=class extends HTMLElement{constructor(ownerDocument,localName="embed"){super(ownerDocument,localName)}};exports.HTMLEmbedElement=HTMLEmbedElement}});var require_hr_element=__commonJS({"node_modules/linkedom/cjs/html/hr-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLHRElement=class extends HTMLElement{constructor(ownerDocument,localName="hr"){super(ownerDocument,localName)}};exports.HTMLHRElement=HTMLHRElement}});var require_progress_element=__commonJS({"node_modules/linkedom/cjs/html/progress-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLProgressElement=class extends HTMLElement{constructor(ownerDocument,localName="progress"){super(ownerDocument,localName)}};exports.HTMLProgressElement=HTMLProgressElement}});var require_paragraph_element=__commonJS({"node_modules/linkedom/cjs/html/paragraph-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLParagraphElement=class extends HTMLElement{constructor(ownerDocument,localName="p"){super(ownerDocument,localName)}};exports.HTMLParagraphElement=HTMLParagraphElement}});var require_table_element=__commonJS({"node_modules/linkedom/cjs/html/table-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLTableElement=class extends HTMLElement{constructor(ownerDocument,localName="table"){super(ownerDocument,localName)}};exports.HTMLTableElement=HTMLTableElement}});var require_frame_set_element=__commonJS({"node_modules/linkedom/cjs/html/frame-set-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLFrameSetElement=class extends HTMLElement{constructor(ownerDocument,localName="frameset"){super(ownerDocument,localName)}};exports.HTMLFrameSetElement=HTMLFrameSetElement}});var require_li_element=__commonJS({"node_modules/linkedom/cjs/html/li-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLLIElement=class extends HTMLElement{constructor(ownerDocument,localName="li"){super(ownerDocument,localName)}};exports.HTMLLIElement=HTMLLIElement}});var require_base_element=__commonJS({"node_modules/linkedom/cjs/html/base-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLBaseElement=class extends HTMLElement{constructor(ownerDocument,localName="base"){super(ownerDocument,localName)}};exports.HTMLBaseElement=HTMLBaseElement}});var require_data_list_element=__commonJS({"node_modules/linkedom/cjs/html/data-list-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLDataListElement=class extends HTMLElement{constructor(ownerDocument,localName="datalist"){super(ownerDocument,localName)}};exports.HTMLDataListElement=HTMLDataListElement}});var require_input_element=__commonJS({"node_modules/linkedom/cjs/html/input-element.js"(exports){"use strict";var{registerHTMLClass}=require_register_html_class(),{booleanAttribute,stringAttribute}=require_attributes(),{HTMLElement}=require_element3(),tagName="input",HTMLInputElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get autofocus(){return booleanAttribute.get(this,"autofocus")||-1}set autofocus(value){booleanAttribute.set(this,"autofocus",value)}get disabled(){return booleanAttribute.get(this,"disabled")}set disabled(value){booleanAttribute.set(this,"disabled",value)}get name(){return this.getAttribute("name")}set name(value){this.setAttribute("name",value)}get placeholder(){return this.getAttribute("placeholder")}set placeholder(value){this.setAttribute("placeholder",value)}get type(){return this.getAttribute("type")}set type(value){this.setAttribute("type",value)}get value(){return stringAttribute.get(this,"value")}set value(value){stringAttribute.set(this,"value",value)}};registerHTMLClass(tagName,HTMLInputElement);exports.HTMLInputElement=HTMLInputElement}});var require_param_element=__commonJS({"node_modules/linkedom/cjs/html/param-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLParamElement=class extends HTMLElement{constructor(ownerDocument,localName="param"){super(ownerDocument,localName)}};exports.HTMLParamElement=HTMLParamElement}});var require_media_element=__commonJS({"node_modules/linkedom/cjs/html/media-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLMediaElement=class extends HTMLElement{constructor(ownerDocument,localName="media"){super(ownerDocument,localName)}};exports.HTMLMediaElement=HTMLMediaElement}});var require_audio_element=__commonJS({"node_modules/linkedom/cjs/html/audio-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLAudioElement=class extends HTMLElement{constructor(ownerDocument,localName="audio"){super(ownerDocument,localName)}};exports.HTMLAudioElement=HTMLAudioElement}});var require_heading_element=__commonJS({"node_modules/linkedom/cjs/html/heading-element.js"(exports){"use strict";var{registerHTMLClass}=require_register_html_class(),{HTMLElement}=require_element3(),tagName="h1",HTMLHeadingElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}};registerHTMLClass([tagName,"h2","h3","h4","h5","h6"],HTMLHeadingElement);exports.HTMLHeadingElement=HTMLHeadingElement}});var require_directory_element=__commonJS({"node_modules/linkedom/cjs/html/directory-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLDirectoryElement=class extends HTMLElement{constructor(ownerDocument,localName="dir"){super(ownerDocument,localName)}};exports.HTMLDirectoryElement=HTMLDirectoryElement}});var require_quote_element=__commonJS({"node_modules/linkedom/cjs/html/quote-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLQuoteElement=class extends HTMLElement{constructor(ownerDocument,localName="quote"){super(ownerDocument,localName)}};exports.HTMLQuoteElement=HTMLQuoteElement}});var require_canvas_element=__commonJS({"node_modules/linkedom/cjs/html/canvas-element.js"(exports){"use strict";var{IMAGE}=require_symbols(),{registerHTMLClass}=require_register_html_class(),{numericAttribute}=require_attributes(),Canvas=require_canvas(),{HTMLElement}=require_element3(),{createCanvas}=Canvas,tagName="canvas",HTMLCanvasElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName),this[IMAGE]=createCanvas(300,150)}get width(){return this[IMAGE].width}set width(value){numericAttribute.set(this,"width",value),this[IMAGE].width=value}get height(){return this[IMAGE].height}set height(value){numericAttribute.set(this,"height",value),this[IMAGE].height=value}getContext(type){return this[IMAGE].getContext(type)}toDataURL(...args){return this[IMAGE].toDataURL(...args)}};registerHTMLClass(tagName,HTMLCanvasElement);exports.HTMLCanvasElement=HTMLCanvasElement}});var require_legend_element=__commonJS({"node_modules/linkedom/cjs/html/legend-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLLegendElement=class extends HTMLElement{constructor(ownerDocument,localName="legend"){super(ownerDocument,localName)}};exports.HTMLLegendElement=HTMLLegendElement}});var require_option_element=__commonJS({"node_modules/linkedom/cjs/html/option-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),{booleanAttribute,stringAttribute}=require_attributes(),{registerHTMLClass}=require_register_html_class(),tagName="option",HTMLOptionElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get value(){return stringAttribute.get(this,"value")}set value(value){stringAttribute.set(this,"value",value)}get selected(){return booleanAttribute.get(this,"selected")}set selected(value){let option=this.parentElement?.querySelector("option[selected]");option&&option!==this&&(option.selected=!1),booleanAttribute.set(this,"selected",value)}};registerHTMLClass(tagName,HTMLOptionElement);exports.HTMLOptionElement=HTMLOptionElement}});var require_span_element=__commonJS({"node_modules/linkedom/cjs/html/span-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLSpanElement=class extends HTMLElement{constructor(ownerDocument,localName="span"){super(ownerDocument,localName)}};exports.HTMLSpanElement=HTMLSpanElement}});var require_meter_element=__commonJS({"node_modules/linkedom/cjs/html/meter-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLMeterElement=class extends HTMLElement{constructor(ownerDocument,localName="meter"){super(ownerDocument,localName)}};exports.HTMLMeterElement=HTMLMeterElement}});var require_video_element=__commonJS({"node_modules/linkedom/cjs/html/video-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLVideoElement=class extends HTMLElement{constructor(ownerDocument,localName="video"){super(ownerDocument,localName)}};exports.HTMLVideoElement=HTMLVideoElement}});var require_table_cell_element=__commonJS({"node_modules/linkedom/cjs/html/table-cell-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLTableCellElement=class extends HTMLElement{constructor(ownerDocument,localName="td"){super(ownerDocument,localName)}};exports.HTMLTableCellElement=HTMLTableCellElement}});var require_title_element=__commonJS({"node_modules/linkedom/cjs/html/title-element.js"(exports){"use strict";var{registerHTMLClass}=require_register_html_class(),{TextElement}=require_text_element(),tagName="title",HTMLTitleElement=class extends TextElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}};registerHTMLClass(tagName,HTMLTitleElement);exports.HTMLTitleElement=HTMLTitleElement}});var require_output_element=__commonJS({"node_modules/linkedom/cjs/html/output-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLOutputElement=class extends HTMLElement{constructor(ownerDocument,localName="output"){super(ownerDocument,localName)}};exports.HTMLOutputElement=HTMLOutputElement}});var require_table_row_element=__commonJS({"node_modules/linkedom/cjs/html/table-row-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLTableRowElement=class extends HTMLElement{constructor(ownerDocument,localName="tr"){super(ownerDocument,localName)}};exports.HTMLTableRowElement=HTMLTableRowElement}});var require_data_element=__commonJS({"node_modules/linkedom/cjs/html/data-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLDataElement=class extends HTMLElement{constructor(ownerDocument,localName="data"){super(ownerDocument,localName)}};exports.HTMLDataElement=HTMLDataElement}});var require_menu_element=__commonJS({"node_modules/linkedom/cjs/html/menu-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLMenuElement=class extends HTMLElement{constructor(ownerDocument,localName="menu"){super(ownerDocument,localName)}};exports.HTMLMenuElement=HTMLMenuElement}});var require_select_element=__commonJS({"node_modules/linkedom/cjs/html/select-element.js"(exports){"use strict";var{registerHTMLClass}=require_register_html_class(),{booleanAttribute}=require_attributes(),{HTMLElement}=require_element3(),{NodeList}=require_node_list(),tagName="select",HTMLSelectElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get options(){let children=new NodeList,{firstElementChild}=this;for(;firstElementChild;)firstElementChild.tagName==="OPTGROUP"?children.push(...firstElementChild.children):children.push(firstElementChild),firstElementChild=firstElementChild.nextElementSibling;return children}get disabled(){return booleanAttribute.get(this,"disabled")}set disabled(value){booleanAttribute.set(this,"disabled",value)}get name(){return this.getAttribute("name")}set name(value){this.setAttribute("name",value)}get value(){return this.querySelector("option[selected]")?.value}};registerHTMLClass(tagName,HTMLSelectElement);exports.HTMLSelectElement=HTMLSelectElement}});var require_br_element=__commonJS({"node_modules/linkedom/cjs/html/br-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLBRElement=class extends HTMLElement{constructor(ownerDocument,localName="br"){super(ownerDocument,localName)}};exports.HTMLBRElement=HTMLBRElement}});var require_button_element=__commonJS({"node_modules/linkedom/cjs/html/button-element.js"(exports){"use strict";var{registerHTMLClass}=require_register_html_class(),{booleanAttribute}=require_attributes(),{HTMLElement}=require_element3(),tagName="button",HTMLButtonElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get disabled(){return booleanAttribute.get(this,"disabled")}set disabled(value){booleanAttribute.set(this,"disabled",value)}get name(){return this.getAttribute("name")}set name(value){this.setAttribute("name",value)}get type(){return this.getAttribute("type")}set type(value){this.setAttribute("type",value)}};registerHTMLClass(tagName,HTMLButtonElement);exports.HTMLButtonElement=HTMLButtonElement}});var require_map_element=__commonJS({"node_modules/linkedom/cjs/html/map-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLMapElement=class extends HTMLElement{constructor(ownerDocument,localName="map"){super(ownerDocument,localName)}};exports.HTMLMapElement=HTMLMapElement}});var require_opt_group_element=__commonJS({"node_modules/linkedom/cjs/html/opt-group-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLOptGroupElement=class extends HTMLElement{constructor(ownerDocument,localName="optgroup"){super(ownerDocument,localName)}};exports.HTMLOptGroupElement=HTMLOptGroupElement}});var require_d_list_element=__commonJS({"node_modules/linkedom/cjs/html/d-list-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLDListElement=class extends HTMLElement{constructor(ownerDocument,localName="dl"){super(ownerDocument,localName)}};exports.HTMLDListElement=HTMLDListElement}});var require_text_area_element=__commonJS({"node_modules/linkedom/cjs/html/text-area-element.js"(exports){"use strict";var{registerHTMLClass}=require_register_html_class(),{booleanAttribute}=require_attributes(),{TextElement}=require_text_element(),tagName="textarea",HTMLTextAreaElement=class extends TextElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get disabled(){return booleanAttribute.get(this,"disabled")}set disabled(value){booleanAttribute.set(this,"disabled",value)}get name(){return this.getAttribute("name")}set name(value){this.setAttribute("name",value)}get placeholder(){return this.getAttribute("placeholder")}set placeholder(value){this.setAttribute("placeholder",value)}get type(){return this.getAttribute("type")}set type(value){this.setAttribute("type",value)}get value(){return this.textContent}set value(content){this.textContent=content}};registerHTMLClass(tagName,HTMLTextAreaElement);exports.HTMLTextAreaElement=HTMLTextAreaElement}});var require_font_element=__commonJS({"node_modules/linkedom/cjs/html/font-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLFontElement=class extends HTMLElement{constructor(ownerDocument,localName="font"){super(ownerDocument,localName)}};exports.HTMLFontElement=HTMLFontElement}});var require_div_element=__commonJS({"node_modules/linkedom/cjs/html/div-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLDivElement=class extends HTMLElement{constructor(ownerDocument,localName="div"){super(ownerDocument,localName)}};exports.HTMLDivElement=HTMLDivElement}});var require_link_element=__commonJS({"node_modules/linkedom/cjs/html/link-element.js"(exports){"use strict";var{registerHTMLClass}=require_register_html_class(),{booleanAttribute,stringAttribute}=require_attributes(),{HTMLElement}=require_element3(),tagName="link",HTMLLinkElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get disabled(){return booleanAttribute.get(this,"disabled")}set disabled(value){booleanAttribute.set(this,"disabled",value)}get href(){return stringAttribute.get(this,"href").trim()}set href(value){stringAttribute.set(this,"href",value)}get hreflang(){return stringAttribute.get(this,"hreflang")}set hreflang(value){stringAttribute.set(this,"hreflang",value)}get media(){return stringAttribute.get(this,"media")}set media(value){stringAttribute.set(this,"media",value)}get rel(){return stringAttribute.get(this,"rel")}set rel(value){stringAttribute.set(this,"rel",value)}get type(){return stringAttribute.get(this,"type")}set type(value){stringAttribute.set(this,"type",value)}};registerHTMLClass(tagName,HTMLLinkElement);exports.HTMLLinkElement=HTMLLinkElement}});var require_slot_element=__commonJS({"node_modules/linkedom/cjs/html/slot-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),{registerHTMLClass}=require_register_html_class(),tagName="slot",HTMLSlotElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get name(){return this.getAttribute("name")}set name(value){this.setAttribute("name",value)}assign(){}assignedNodes(options){let isNamedSlot=!!this.name,hostChildNodes=this.getRootNode().host?.childNodes??[],slottables;if(isNamedSlot?slottables=[...hostChildNodes].filter(node=>node.slot===this.name):slottables=[...hostChildNodes].filter(node=>!node.slot),options?.flatten){let result=[];for(let slottable of slottables)slottable.localName==="slot"?result.push(...slottable.assignedNodes({flatten:!0})):result.push(slottable);slottables=result}return slottables.length?slottables:[...this.childNodes]}assignedElements(options){let slottables=this.assignedNodes(options).filter(n=>n.nodeType===1);return slottables.length?slottables:[...this.children]}};registerHTMLClass(tagName,HTMLSlotElement);exports.HTMLSlotElement=HTMLSlotElement}});var require_form_element=__commonJS({"node_modules/linkedom/cjs/html/form-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLFormElement=class extends HTMLElement{constructor(ownerDocument,localName="form"){super(ownerDocument,localName)}};exports.HTMLFormElement=HTMLFormElement}});var require_image_element=__commonJS({"node_modules/linkedom/cjs/html/image-element.js"(exports){"use strict";var{registerHTMLClass}=require_register_html_class(),{numericAttribute,stringAttribute}=require_attributes(),{HTMLElement}=require_element3(),tagName="img",HTMLImageElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get alt(){return stringAttribute.get(this,"alt")}set alt(value){stringAttribute.set(this,"alt",value)}get sizes(){return stringAttribute.get(this,"sizes")}set sizes(value){stringAttribute.set(this,"sizes",value)}get src(){return stringAttribute.get(this,"src")}set src(value){stringAttribute.set(this,"src",value)}get srcset(){return stringAttribute.get(this,"srcset")}set srcset(value){stringAttribute.set(this,"srcset",value)}get title(){return stringAttribute.get(this,"title")}set title(value){stringAttribute.set(this,"title",value)}get width(){return numericAttribute.get(this,"width")}set width(value){numericAttribute.set(this,"width",value)}get height(){return numericAttribute.get(this,"height")}set height(value){numericAttribute.set(this,"height",value)}};registerHTMLClass(tagName,HTMLImageElement);exports.HTMLImageElement=HTMLImageElement}});var require_pre_element=__commonJS({"node_modules/linkedom/cjs/html/pre-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLPreElement=class extends HTMLElement{constructor(ownerDocument,localName="pre"){super(ownerDocument,localName)}};exports.HTMLPreElement=HTMLPreElement}});var require_u_list_element=__commonJS({"node_modules/linkedom/cjs/html/u-list-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLUListElement=class extends HTMLElement{constructor(ownerDocument,localName="ul"){super(ownerDocument,localName)}};exports.HTMLUListElement=HTMLUListElement}});var require_meta_element=__commonJS({"node_modules/linkedom/cjs/html/meta-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),{registerHTMLClass}=require_register_html_class(),{stringAttribute}=require_attributes(),tagName="meta",HTMLMetaElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get name(){return stringAttribute.get(this,"name")}set name(value){stringAttribute.set(this,"name",value)}get httpEquiv(){return stringAttribute.get(this,"http-equiv")}set httpEquiv(value){stringAttribute.set(this,"http-equiv",value)}get content(){return stringAttribute.get(this,"content")}set content(value){stringAttribute.set(this,"content",value)}get charset(){return stringAttribute.get(this,"charset")}set charset(value){stringAttribute.set(this,"charset",value)}get media(){return stringAttribute.get(this,"media")}set media(value){stringAttribute.set(this,"media",value)}};exports.HTMLMetaElement=HTMLMetaElement;registerHTMLClass(tagName,HTMLMetaElement)}});var require_picture_element=__commonJS({"node_modules/linkedom/cjs/html/picture-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLPictureElement=class extends HTMLElement{constructor(ownerDocument,localName="picture"){super(ownerDocument,localName)}};exports.HTMLPictureElement=HTMLPictureElement}});var require_area_element=__commonJS({"node_modules/linkedom/cjs/html/area-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLAreaElement=class extends HTMLElement{constructor(ownerDocument,localName="area"){super(ownerDocument,localName)}};exports.HTMLAreaElement=HTMLAreaElement}});var require_o_list_element=__commonJS({"node_modules/linkedom/cjs/html/o-list-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLOListElement=class extends HTMLElement{constructor(ownerDocument,localName="ol"){super(ownerDocument,localName)}};exports.HTMLOListElement=HTMLOListElement}});var require_table_caption_element=__commonJS({"node_modules/linkedom/cjs/html/table-caption-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLTableCaptionElement=class extends HTMLElement{constructor(ownerDocument,localName="caption"){super(ownerDocument,localName)}};exports.HTMLTableCaptionElement=HTMLTableCaptionElement}});var require_anchor_element=__commonJS({"node_modules/linkedom/cjs/html/anchor-element.js"(exports){"use strict";var{registerHTMLClass}=require_register_html_class(),{stringAttribute}=require_attributes(),{HTMLElement}=require_element3(),tagName="a",HTMLAnchorElement2=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get href(){return encodeURI(decodeURI(stringAttribute.get(this,"href"))).trim()}set href(value){stringAttribute.set(this,"href",decodeURI(value))}get download(){return encodeURI(decodeURI(stringAttribute.get(this,"download")))}set download(value){stringAttribute.set(this,"download",decodeURI(value))}get target(){return stringAttribute.get(this,"target")}set target(value){stringAttribute.set(this,"target",value)}get type(){return stringAttribute.get(this,"type")}set type(value){stringAttribute.set(this,"type",value)}get rel(){return stringAttribute.get(this,"rel")}set rel(value){stringAttribute.set(this,"rel",value)}};registerHTMLClass(tagName,HTMLAnchorElement2);exports.HTMLAnchorElement=HTMLAnchorElement2}});var require_label_element=__commonJS({"node_modules/linkedom/cjs/html/label-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLLabelElement=class extends HTMLElement{constructor(ownerDocument,localName="label"){super(ownerDocument,localName)}};exports.HTMLLabelElement=HTMLLabelElement}});var require_unknown_element=__commonJS({"node_modules/linkedom/cjs/html/unknown-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLUnknownElement=class extends HTMLElement{constructor(ownerDocument,localName="unknown"){super(ownerDocument,localName)}};exports.HTMLUnknownElement=HTMLUnknownElement}});var require_mod_element=__commonJS({"node_modules/linkedom/cjs/html/mod-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLModElement=class extends HTMLElement{constructor(ownerDocument,localName="mod"){super(ownerDocument,localName)}};exports.HTMLModElement=HTMLModElement}});var require_details_element=__commonJS({"node_modules/linkedom/cjs/html/details-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLDetailsElement=class extends HTMLElement{constructor(ownerDocument,localName="details"){super(ownerDocument,localName)}};exports.HTMLDetailsElement=HTMLDetailsElement}});var require_source_element=__commonJS({"node_modules/linkedom/cjs/html/source-element.js"(exports){"use strict";var{registerHTMLClass}=require_register_html_class(),{stringAttribute}=require_attributes(),{HTMLElement}=require_element3(),tagName="source",HTMLSourceElement=class extends HTMLElement{constructor(ownerDocument,localName=tagName){super(ownerDocument,localName)}get src(){return stringAttribute.get(this,"src")}set src(value){stringAttribute.set(this,"src",value)}get srcset(){return stringAttribute.get(this,"srcset")}set srcset(value){stringAttribute.set(this,"srcset",value)}get sizes(){return stringAttribute.get(this,"sizes")}set sizes(value){stringAttribute.set(this,"sizes",value)}get type(){return stringAttribute.get(this,"type")}set type(value){stringAttribute.set(this,"type",value)}};registerHTMLClass(tagName,HTMLSourceElement);exports.HTMLSourceElement=HTMLSourceElement}});var require_track_element=__commonJS({"node_modules/linkedom/cjs/html/track-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLTrackElement=class extends HTMLElement{constructor(ownerDocument,localName="track"){super(ownerDocument,localName)}};exports.HTMLTrackElement=HTMLTrackElement}});var require_marquee_element=__commonJS({"node_modules/linkedom/cjs/html/marquee-element.js"(exports){"use strict";var{HTMLElement}=require_element3(),HTMLMarqueeElement=class extends HTMLElement{constructor(ownerDocument,localName="marquee"){super(ownerDocument,localName)}};exports.HTMLMarqueeElement=HTMLMarqueeElement}});var require_html_classes=__commonJS({"node_modules/linkedom/cjs/shared/html-classes.js"(exports){"use strict";var{HTMLElement}=require_element3(),{HTMLTemplateElement}=require_template_element(),{HTMLHtmlElement}=require_html_element(),{HTMLScriptElement}=require_script_element(),{HTMLFrameElement}=require_frame_element(),{HTMLIFrameElement}=require_i_frame_element(),{HTMLObjectElement}=require_object_element(),{HTMLHeadElement}=require_head_element(),{HTMLBodyElement}=require_body_element(),{HTMLStyleElement}=require_style_element(),{HTMLTimeElement}=require_time_element(),{HTMLFieldSetElement}=require_field_set_element(),{HTMLEmbedElement}=require_embed_element(),{HTMLHRElement}=require_hr_element(),{HTMLProgressElement}=require_progress_element(),{HTMLParagraphElement}=require_paragraph_element(),{HTMLTableElement}=require_table_element(),{HTMLFrameSetElement}=require_frame_set_element(),{HTMLLIElement}=require_li_element(),{HTMLBaseElement}=require_base_element(),{HTMLDataListElement}=require_data_list_element(),{HTMLInputElement}=require_input_element(),{HTMLParamElement}=require_param_element(),{HTMLMediaElement}=require_media_element(),{HTMLAudioElement}=require_audio_element(),{HTMLHeadingElement}=require_heading_element(),{HTMLDirectoryElement}=require_directory_element(),{HTMLQuoteElement}=require_quote_element(),{HTMLCanvasElement}=require_canvas_element(),{HTMLLegendElement}=require_legend_element(),{HTMLOptionElement}=require_option_element(),{HTMLSpanElement}=require_span_element(),{HTMLMeterElement}=require_meter_element(),{HTMLVideoElement}=require_video_element(),{HTMLTableCellElement}=require_table_cell_element(),{HTMLTitleElement}=require_title_element(),{HTMLOutputElement}=require_output_element(),{HTMLTableRowElement}=require_table_row_element(),{HTMLDataElement}=require_data_element(),{HTMLMenuElement}=require_menu_element(),{HTMLSelectElement}=require_select_element(),{HTMLBRElement}=require_br_element(),{HTMLButtonElement}=require_button_element(),{HTMLMapElement}=require_map_element(),{HTMLOptGroupElement}=require_opt_group_element(),{HTMLDListElement}=require_d_list_element(),{HTMLTextAreaElement}=require_text_area_element(),{HTMLFontElement}=require_font_element(),{HTMLDivElement}=require_div_element(),{HTMLLinkElement}=require_link_element(),{HTMLSlotElement}=require_slot_element(),{HTMLFormElement}=require_form_element(),{HTMLImageElement}=require_image_element(),{HTMLPreElement}=require_pre_element(),{HTMLUListElement}=require_u_list_element(),{HTMLMetaElement}=require_meta_element(),{HTMLPictureElement}=require_picture_element(),{HTMLAreaElement}=require_area_element(),{HTMLOListElement}=require_o_list_element(),{HTMLTableCaptionElement}=require_table_caption_element(),{HTMLAnchorElement:HTMLAnchorElement2}=require_anchor_element(),{HTMLLabelElement}=require_label_element(),{HTMLUnknownElement}=require_unknown_element(),{HTMLModElement}=require_mod_element(),{HTMLDetailsElement}=require_details_element(),{HTMLSourceElement}=require_source_element(),{HTMLTrackElement}=require_track_element(),{HTMLMarqueeElement}=require_marquee_element();exports.HTMLElement=HTMLElement;exports.HTMLTemplateElement=HTMLTemplateElement;exports.HTMLHtmlElement=HTMLHtmlElement;exports.HTMLScriptElement=HTMLScriptElement;exports.HTMLFrameElement=HTMLFrameElement;exports.HTMLIFrameElement=HTMLIFrameElement;exports.HTMLObjectElement=HTMLObjectElement;exports.HTMLHeadElement=HTMLHeadElement;exports.HTMLBodyElement=HTMLBodyElement;exports.HTMLStyleElement=HTMLStyleElement;exports.HTMLTimeElement=HTMLTimeElement;exports.HTMLFieldSetElement=HTMLFieldSetElement;exports.HTMLEmbedElement=HTMLEmbedElement;exports.HTMLHRElement=HTMLHRElement;exports.HTMLProgressElement=HTMLProgressElement;exports.HTMLParagraphElement=HTMLParagraphElement;exports.HTMLTableElement=HTMLTableElement;exports.HTMLFrameSetElement=HTMLFrameSetElement;exports.HTMLLIElement=HTMLLIElement;exports.HTMLBaseElement=HTMLBaseElement;exports.HTMLDataListElement=HTMLDataListElement;exports.HTMLInputElement=HTMLInputElement;exports.HTMLParamElement=HTMLParamElement;exports.HTMLMediaElement=HTMLMediaElement;exports.HTMLAudioElement=HTMLAudioElement;exports.HTMLHeadingElement=HTMLHeadingElement;exports.HTMLDirectoryElement=HTMLDirectoryElement;exports.HTMLQuoteElement=HTMLQuoteElement;exports.HTMLCanvasElement=HTMLCanvasElement;exports.HTMLLegendElement=HTMLLegendElement;exports.HTMLOptionElement=HTMLOptionElement;exports.HTMLSpanElement=HTMLSpanElement;exports.HTMLMeterElement=HTMLMeterElement;exports.HTMLVideoElement=HTMLVideoElement;exports.HTMLTableCellElement=HTMLTableCellElement;exports.HTMLTitleElement=HTMLTitleElement;exports.HTMLOutputElement=HTMLOutputElement;exports.HTMLTableRowElement=HTMLTableRowElement;exports.HTMLDataElement=HTMLDataElement;exports.HTMLMenuElement=HTMLMenuElement;exports.HTMLSelectElement=HTMLSelectElement;exports.HTMLBRElement=HTMLBRElement;exports.HTMLButtonElement=HTMLButtonElement;exports.HTMLMapElement=HTMLMapElement;exports.HTMLOptGroupElement=HTMLOptGroupElement;exports.HTMLDListElement=HTMLDListElement;exports.HTMLTextAreaElement=HTMLTextAreaElement;exports.HTMLFontElement=HTMLFontElement;exports.HTMLDivElement=HTMLDivElement;exports.HTMLLinkElement=HTMLLinkElement;exports.HTMLSlotElement=HTMLSlotElement;exports.HTMLFormElement=HTMLFormElement;exports.HTMLImageElement=HTMLImageElement;exports.HTMLPreElement=HTMLPreElement;exports.HTMLUListElement=HTMLUListElement;exports.HTMLMetaElement=HTMLMetaElement;exports.HTMLPictureElement=HTMLPictureElement;exports.HTMLAreaElement=HTMLAreaElement;exports.HTMLOListElement=HTMLOListElement;exports.HTMLTableCaptionElement=HTMLTableCaptionElement;exports.HTMLAnchorElement=HTMLAnchorElement2;exports.HTMLLabelElement=HTMLLabelElement;exports.HTMLUnknownElement=HTMLUnknownElement;exports.HTMLModElement=HTMLModElement;exports.HTMLDetailsElement=HTMLDetailsElement;exports.HTMLSourceElement=HTMLSourceElement;exports.HTMLTrackElement=HTMLTrackElement;exports.HTMLMarqueeElement=HTMLMarqueeElement;var HTMLClasses={HTMLElement,HTMLTemplateElement,HTMLHtmlElement,HTMLScriptElement,HTMLFrameElement,HTMLIFrameElement,HTMLObjectElement,HTMLHeadElement,HTMLBodyElement,HTMLStyleElement,HTMLTimeElement,HTMLFieldSetElement,HTMLEmbedElement,HTMLHRElement,HTMLProgressElement,HTMLParagraphElement,HTMLTableElement,HTMLFrameSetElement,HTMLLIElement,HTMLBaseElement,HTMLDataListElement,HTMLInputElement,HTMLParamElement,HTMLMediaElement,HTMLAudioElement,HTMLHeadingElement,HTMLDirectoryElement,HTMLQuoteElement,HTMLCanvasElement,HTMLLegendElement,HTMLOptionElement,HTMLSpanElement,HTMLMeterElement,HTMLVideoElement,HTMLTableCellElement,HTMLTitleElement,HTMLOutputElement,HTMLTableRowElement,HTMLDataElement,HTMLMenuElement,HTMLSelectElement,HTMLBRElement,HTMLButtonElement,HTMLMapElement,HTMLOptGroupElement,HTMLDListElement,HTMLTextAreaElement,HTMLFontElement,HTMLDivElement,HTMLLinkElement,HTMLSlotElement,HTMLFormElement,HTMLImageElement,HTMLPreElement,HTMLUListElement,HTMLMetaElement,HTMLPictureElement,HTMLAreaElement,HTMLOListElement,HTMLTableCaptionElement,HTMLAnchorElement:HTMLAnchorElement2,HTMLLabelElement,HTMLUnknownElement,HTMLModElement,HTMLDetailsElement,HTMLSourceElement,HTMLTrackElement,HTMLMarqueeElement};exports.HTMLClasses=HTMLClasses}});var require_mime=__commonJS({"node_modules/linkedom/cjs/shared/mime.js"(exports){"use strict";var voidElements={test:()=>!0},Mime={"text/html":{docType:"<!DOCTYPE html>",ignoreCase:!0,voidElements:/^(?:area|base|br|col|embed|hr|img|input|keygen|link|menuitem|meta|param|source|track|wbr)$/i},"image/svg+xml":{docType:'<?xml version="1.0" encoding="utf-8"?>',ignoreCase:!1,voidElements},"text/xml":{docType:'<?xml version="1.0" encoding="utf-8"?>',ignoreCase:!1,voidElements},"application/xml":{docType:'<?xml version="1.0" encoding="utf-8"?>',ignoreCase:!1,voidElements},"application/xhtml+xml":{docType:'<?xml version="1.0" encoding="utf-8"?>',ignoreCase:!1,voidElements}};exports.Mime=Mime}});var require_custom_event=__commonJS({"node_modules/linkedom/cjs/interface/custom-event.js"(exports){"use strict";var{Event}=require_event(),CustomEvent=class extends Event{constructor(type,eventInitDict={}){super(type,eventInitDict),this.detail=eventInitDict.detail}};exports.CustomEvent=CustomEvent}});var require_input_event=__commonJS({"node_modules/linkedom/cjs/interface/input-event.js"(exports){"use strict";var{Event}=require_event(),InputEvent=class extends Event{constructor(type,inputEventInit={}){super(type,inputEventInit),this.inputType=inputEventInit.inputType,this.data=inputEventInit.data,this.dataTransfer=inputEventInit.dataTransfer,this.isComposing=inputEventInit.isComposing||!1,this.ranges=inputEventInit.ranges}};exports.InputEvent=InputEvent}});var require_image=__commonJS({"node_modules/linkedom/cjs/interface/image.js"(exports){"use strict";var{HTMLImageElement}=require_image_element(),ImageClass=ownerDocument=>class extends HTMLImageElement{constructor(width,height){switch(super(ownerDocument),arguments.length){case 1:this.height=width,this.width=width;break;case 2:this.height=height,this.width=width;break}}};exports.ImageClass=ImageClass}});var require_range=__commonJS({"node_modules/linkedom/cjs/interface/range.js"(exports){"use strict";var{END,NEXT,PREV,START}=require_symbols(),{SVGElement}=require_element2(),{getEnd,htmlToFragment,setAdjacent}=require_utils2(),deleteContents=({[START]:start,[END]:end},fragment=null)=>{setAdjacent(start[PREV],end[NEXT]);do{let after=getEnd(start),next=after===end?after:after[NEXT];fragment?fragment.insertBefore(start,fragment[END]):start.remove(),start=next}while(start!==end)},Range=class _Range{constructor(){this[START]=null,this[END]=null,this.commonAncestorContainer=null}insertNode(newNode){this[END].parentNode.insertBefore(newNode,this[START])}selectNode(node){this[START]=node,this[END]=getEnd(node)}selectNodeContents(node){this.selectNode(node),this.commonAncestorContainer=node}surroundContents(parentNode){parentNode.replaceChildren(this.extractContents())}setStartBefore(node){this[START]=node}setStartAfter(node){this[START]=node.nextSibling}setEndBefore(node){this[END]=getEnd(node.previousSibling)}setEndAfter(node){this[END]=getEnd(node)}cloneContents(){let{[START]:start,[END]:end}=this,fragment=start.ownerDocument.createDocumentFragment();for(;start!==end;)fragment.insertBefore(start.cloneNode(!0),fragment[END]),start=getEnd(start),start!==end&&(start=start[NEXT]);return fragment}deleteContents(){deleteContents(this)}extractContents(){let fragment=this[START].ownerDocument.createDocumentFragment();return deleteContents(this,fragment),fragment}createContextualFragment(html){let{commonAncestorContainer:doc}=this,isSVG="ownerSVGElement"in doc,document2=isSVG?doc.ownerDocument:doc,content=htmlToFragment(document2,html);if(isSVG){let childNodes=[...content.childNodes];content=document2.createDocumentFragment(),Object.setPrototypeOf(content,SVGElement.prototype),content.ownerSVGElement=document2;for(let child of childNodes)Object.setPrototypeOf(child,SVGElement.prototype),child.ownerSVGElement=document2,content.appendChild(child)}else this.selectNode(content);return content}cloneRange(){let range=new _Range;return range[START]=this[START],range[END]=this[END],range}};exports.Range=Range}});var require_tree_walker=__commonJS({"node_modules/linkedom/cjs/interface/tree-walker.js"(exports){"use strict";var{DOCUMENT_NODE,ELEMENT_NODE,TEXT_NODE,CDATA_SECTION_NODE,COMMENT_NODE,SHOW_ALL,SHOW_ELEMENT,SHOW_CDATA_SECTION,SHOW_COMMENT,SHOW_TEXT}=require_constants2(),{PRIVATE,END,NEXT}=require_symbols(),isOK=({nodeType},mask)=>{switch(nodeType){case ELEMENT_NODE:return mask&SHOW_ELEMENT;case TEXT_NODE:return mask&SHOW_TEXT;case COMMENT_NODE:return mask&SHOW_COMMENT;case CDATA_SECTION_NODE:return mask&SHOW_CDATA_SECTION}return 0},TreeWalker=class{constructor(root,whatToShow=SHOW_ALL){this.root=root,this.currentNode=root,this.whatToShow=whatToShow;let{[NEXT]:next,[END]:end}=root;if(root.nodeType===DOCUMENT_NODE){let{documentElement}=root;next=documentElement,end=documentElement[END]}let nodes=[];for(;next&&next!==end;)isOK(next,whatToShow)&&nodes.push(next),next=next[NEXT];this[PRIVATE]={i:0,nodes}}nextNode(){let $=this[PRIVATE];return this.currentNode=$.i<$.nodes.length?$.nodes[$.i++]:null,this.currentNode}};exports.TreeWalker=TreeWalker}});var require_document=__commonJS({"node_modules/linkedom/cjs/interface/document.js"(exports){"use strict";var{DOCUMENT_NODE,DOCUMENT_FRAGMENT_NODE,DOCUMENT_TYPE_NODE,ELEMENT_NODE,SVG_NAMESPACE}=require_constants2(),{CUSTOM_ELEMENTS,DOM_PARSER,GLOBALS,IMAGE,MUTATION_OBSERVER,DOCTYPE,END,NEXT,MIME,EVENT_TARGET,UPGRADE}=require_symbols(),{Facades,illegalConstructor}=require_facades(),{HTMLClasses}=require_html_classes(),{Mime}=require_mime(),{knownSiblings}=require_utils2(),{assign,create,defineProperties,setPrototypeOf}=require_object(),{NonElementParentNode}=require_non_element_parent_node(),{SVGElement}=require_element2(),{Attr}=require_attr(),{CDATASection}=require_cdata_section(),{Comment}=require_comment(),{CustomElementRegistry}=require_custom_element_registry(),{CustomEvent}=require_custom_event(),{DocumentFragment}=require_document_fragment(),{DocumentType}=require_document_type(),{Element}=require_element(),{Event}=require_event(),{EventTarget}=require_event_target(),{InputEvent}=require_input_event(),{ImageClass}=require_image(),{MutationObserverClass}=require_mutation_observer(),{NamedNodeMap}=require_named_node_map(),{NodeList}=require_node_list(),{Range}=require_range(),{Text}=require_text(),{TreeWalker}=require_tree_walker(),query=(method,ownerDocument,selectors)=>{let{[NEXT]:next,[END]:end}=ownerDocument;return method.call({ownerDocument,[NEXT]:next,[END]:end},selectors)},globalExports=assign({},Facades,HTMLClasses,{CustomEvent,Event,EventTarget,InputEvent,NamedNodeMap,NodeList}),window2=new WeakMap,Document=class extends NonElementParentNode{constructor(type){super(null,"#document",DOCUMENT_NODE),this[CUSTOM_ELEMENTS]={active:!1,registry:null},this[MUTATION_OBSERVER]={active:!1,class:null},this[MIME]=Mime[type],this[DOCTYPE]=null,this[DOM_PARSER]=null,this[GLOBALS]=null,this[IMAGE]=null,this[UPGRADE]=null}get defaultView(){return window2.has(this)||window2.set(this,new Proxy(globalThis,{set:(target,name,value)=>{switch(name){case"addEventListener":case"removeEventListener":case"dispatchEvent":this[EVENT_TARGET][name]=value;break;default:target[name]=value;break}return!0},get:(globalThis2,name)=>{switch(name){case"addEventListener":case"removeEventListener":case"dispatchEvent":if(!this[EVENT_TARGET]){let et=this[EVENT_TARGET]=new EventTarget;et.dispatchEvent=et.dispatchEvent.bind(et),et.addEventListener=et.addEventListener.bind(et),et.removeEventListener=et.removeEventListener.bind(et)}return this[EVENT_TARGET][name];case"document":return this;case"navigator":return{userAgent:"Mozilla/5.0 (X11; Linux x86_64) AppleWebKit/537.36 (KHTML, like Gecko) Chrome/88.0.4324.150 Safari/537.36"};case"window":return window2.get(this);case"customElements":return this[CUSTOM_ELEMENTS].registry||(this[CUSTOM_ELEMENTS]=new CustomElementRegistry(this)),this[CUSTOM_ELEMENTS];case"performance":return globalThis2.performance;case"DOMParser":return this[DOM_PARSER];case"Image":return this[IMAGE]||(this[IMAGE]=ImageClass(this)),this[IMAGE];case"MutationObserver":return this[MUTATION_OBSERVER].class||(this[MUTATION_OBSERVER]=new MutationObserverClass(this)),this[MUTATION_OBSERVER].class}return this[GLOBALS]&&this[GLOBALS][name]||globalExports[name]||globalThis2[name]}})),window2.get(this)}get doctype(){let docType=this[DOCTYPE];if(docType)return docType;let{firstChild}=this;return firstChild&&firstChild.nodeType===DOCUMENT_TYPE_NODE?this[DOCTYPE]=firstChild:null}set doctype(value){if(/^([a-z:]+)(\s+system|\s+public(\s+"([^"]+)")?)?(\s+"([^"]+)")?/i.test(value)){let{$1:name,$4:publicId,$6:systemId}=RegExp;this[DOCTYPE]=new DocumentType(this,name,publicId,systemId),knownSiblings(this,this[DOCTYPE],this[NEXT])}}get documentElement(){return this.firstElementChild}get isConnected(){return!0}_getParent(){return this[EVENT_TARGET]}createAttribute(name){return new Attr(this,name)}createCDATASection(data){return new CDATASection(this,data)}createComment(textContent){return new Comment(this,textContent)}createDocumentFragment(){return new DocumentFragment(this)}createDocumentType(name,publicId,systemId){return new DocumentType(this,name,publicId,systemId)}createElement(localName){return new Element(this,localName)}createRange(){let range=new Range;return range.commonAncestorContainer=this,range}createTextNode(textContent){return new Text(this,textContent)}createTreeWalker(root,whatToShow=-1){return new TreeWalker(root,whatToShow)}createNodeIterator(root,whatToShow=-1){return this.createTreeWalker(root,whatToShow)}createEvent(name){let event=create(name==="Event"?new Event(""):new CustomEvent(""));return event.initEvent=event.initCustomEvent=(type,canBubble=!1,cancelable=!1,detail)=>{event.bubbles=!!canBubble,defineProperties(event,{type:{value:type},canBubble:{value:canBubble},cancelable:{value:cancelable},detail:{value:detail}})},event}cloneNode(deep=!1){let{constructor,[CUSTOM_ELEMENTS]:customElements,[DOCTYPE]:doctype}=this,document2=new constructor;if(document2[CUSTOM_ELEMENTS]=customElements,deep){let end=document2[END],{childNodes}=this;for(let{length}=childNodes,i=0;i<length;i++)document2.insertBefore(childNodes[i].cloneNode(!0),end);doctype&&(document2[DOCTYPE]=childNodes[0])}return document2}importNode(externalNode){let deep=1<arguments.length&&!!arguments[1],node=externalNode.cloneNode(deep),{[CUSTOM_ELEMENTS]:customElements}=this,{active}=customElements,upgrade=element=>{let{ownerDocument,nodeType}=element;element.ownerDocument=this,active&&ownerDocument!==this&&nodeType===ELEMENT_NODE&&customElements.upgrade(element)};if(upgrade(node),deep)switch(node.nodeType){case ELEMENT_NODE:case DOCUMENT_FRAGMENT_NODE:{let{[NEXT]:next,[END]:end}=node;for(;next!==end;)next.nodeType===ELEMENT_NODE&&upgrade(next),next=next[NEXT];break}}return node}toString(){return this.childNodes.join("")}querySelector(selectors){return query(super.querySelector,this,selectors)}querySelectorAll(selectors){return query(super.querySelectorAll,this,selectors)}getElementsByTagNameNS(_,name){return this.getElementsByTagName(name)}createAttributeNS(_,name){return this.createAttribute(name)}createElementNS(nsp,localName,options){return nsp===SVG_NAMESPACE?new SVGElement(this,localName,null):this.createElement(localName,options)}};exports.Document=Document;setPrototypeOf(globalExports.Document=function(){illegalConstructor()},Document).prototype=Document.prototype}});var require_document2=__commonJS({"node_modules/linkedom/cjs/html/document.js"(exports){"use strict";var{ELEMENT_NODE}=require_constants2(),{CUSTOM_ELEMENTS,END,NEXT}=require_symbols(),{htmlClasses}=require_register_html_class(),{Document}=require_document(),{NodeList}=require_node_list(),{customElements}=require_custom_element_registry(),{HTMLElement}=require_element3(),createHTMLElement=(ownerDocument,builtin,localName,options)=>{if(!builtin&&htmlClasses.has(localName)){let Class=htmlClasses.get(localName);return new Class(ownerDocument,localName)}let{[CUSTOM_ELEMENTS]:{active,registry}}=ownerDocument;if(active){let ce=builtin?options.is:localName;if(registry.has(ce)){let{Class}=registry.get(ce),element=new Class(ownerDocument,localName);return customElements.set(element,{connected:!1}),element}}return new HTMLElement(ownerDocument,localName)},HTMLDocument=class extends Document{constructor(){super("text/html")}get all(){let nodeList=new NodeList,{[NEXT]:next,[END]:end}=this;for(;next!==end;)next.nodeType===ELEMENT_NODE&&nodeList.push(next),next=next[NEXT];return nodeList}get head(){let{documentElement}=this,{firstElementChild}=documentElement;return(!firstElementChild||firstElementChild.tagName!=="HEAD")&&(firstElementChild=this.createElement("head"),documentElement.prepend(firstElementChild)),firstElementChild}get body(){let{head}=this,{nextElementSibling}=head;return(!nextElementSibling||nextElementSibling.tagName!=="BODY")&&(nextElementSibling=this.createElement("body"),head.after(nextElementSibling)),nextElementSibling}get title(){let{head}=this;return head.getElementsByTagName("title").at(0)?.textContent||""}set title(textContent){let{head}=this,title=head.getElementsByTagName("title").at(0);title?title.textContent=textContent:head.insertBefore(this.createElement("title"),head.firstChild).textContent=textContent}createElement(localName,options){let builtin=!!(options&&options.is),element=createHTMLElement(this,builtin,localName,options);return builtin&&element.setAttribute("is",options.is),element}};exports.HTMLDocument=HTMLDocument}});var require_document3=__commonJS({"node_modules/linkedom/cjs/svg/document.js"(exports){"use strict";var{MIME}=require_symbols(),{Document}=require_document(),SVGDocument=class extends Document{constructor(){super("image/svg+xml")}toString(){return this[MIME].docType+super.toString()}};exports.SVGDocument=SVGDocument}});var require_document4=__commonJS({"node_modules/linkedom/cjs/xml/document.js"(exports){"use strict";var{MIME}=require_symbols(),{Document}=require_document(),XMLDocument=class extends Document{constructor(){super("text/xml")}toString(){return this[MIME].docType+super.toString()}};exports.XMLDocument=XMLDocument}});var require_parser=__commonJS({"node_modules/linkedom/cjs/dom/parser.js"(exports){"use strict";var{DOM_PARSER,GLOBALS}=require_symbols(),{parseFromString}=require_parse_from_string(),{HTMLDocument}=require_document2(),{SVGDocument}=require_document3(),{XMLDocument}=require_document4(),DOMParser2=class _DOMParser{parseFromString(markupLanguage,mimeType,globals=null){let isHTML=!1,document2;return mimeType==="text/html"?(isHTML=!0,document2=new HTMLDocument):mimeType==="image/svg+xml"?document2=new SVGDocument:document2=new XMLDocument,document2[DOM_PARSER]=_DOMParser,globals&&(document2[GLOBALS]=globals),isHTML&&markupLanguage==="..."&&(markupLanguage="<!doctype html><html><head></head><body></body></html>"),markupLanguage?parseFromString(document2,isHTML,markupLanguage):document2}};exports.DOMParser=DOMParser2}});var require_parse_json=__commonJS({"node_modules/linkedom/cjs/shared/parse-json.js"(exports){"use strict";var{NODE_END,ELEMENT_NODE,ATTRIBUTE_NODE,TEXT_NODE,CDATA_SECTION_NODE,COMMENT_NODE,DOCUMENT_NODE,DOCUMENT_TYPE_NODE,DOCUMENT_FRAGMENT_NODE}=require_constants2(),{END,PREV}=require_symbols(),{htmlClasses}=require_register_html_class(),{knownBoundaries,knownSiblings}=require_utils2(),{Attr}=require_attr(),{CDATASection}=require_cdata_section(),{Comment}=require_comment(),{DocumentType}=require_document_type(),{Text}=require_text(),{HTMLDocument}=require_document2(),{HTMLElement}=require_element3(),{SVGElement}=require_element2(),{parse}=JSON,append=(parentNode,node,end)=>{node.parentNode=parentNode,knownSiblings(end[PREV],node,end)},createHTMLElement=(ownerDocument,localName)=>{if(htmlClasses.has(localName)){let Class=htmlClasses.get(localName);return new Class(ownerDocument,localName)}return new HTMLElement(ownerDocument,localName)},parseJSON=value=>{let array=typeof value=="string"?parse(value):value,{length}=array,document2=new HTMLDocument,parentNode=document2,end=parentNode[END],svg=!1,i=0;for(;i<length;){let nodeType=array[i++];switch(nodeType){case ELEMENT_NODE:{let localName=array[i++],isSVG=svg||localName==="svg"||localName==="SVG",element=isSVG?new SVGElement(document2,localName,parentNode.ownerSVGElement||null):createHTMLElement(document2,localName);knownBoundaries(end[PREV],element,end),element.parentNode=parentNode,parentNode=element,end=parentNode[END],svg=isSVG;break}case ATTRIBUTE_NODE:{let name=array[i++],value2=typeof array[i]=="string"?array[i++]:"",attr=new Attr(document2,name,value2);attr.ownerElement=parentNode,knownSiblings(end[PREV],attr,end);break}case TEXT_NODE:append(parentNode,new Text(document2,array[i++]),end);break;case COMMENT_NODE:append(parentNode,new Comment(document2,array[i++]),end);break;case CDATA_SECTION_NODE:append(parentNode,new CDATASection(document2,array[i++]),end);break;case DOCUMENT_TYPE_NODE:{let args=[document2];for(;typeof array[i]=="string";)args.push(array[i++]);args.length===3&&/\.dtd$/i.test(args[2])&&args.splice(2,0,""),append(parentNode,new DocumentType(...args),end);break}case DOCUMENT_FRAGMENT_NODE:parentNode=document2.createDocumentFragment(),end=parentNode[END];case DOCUMENT_NODE:break;default:do nodeType-=NODE_END,svg&&!parentNode.ownerSVGElement&&(svg=!1),parentNode=parentNode.parentNode||parentNode;while(nodeType<0);end=parentNode[END];break}}switch(i&&array[0]){case ELEMENT_NODE:return document2.firstElementChild;case DOCUMENT_FRAGMENT_NODE:return parentNode}return document2};exports.parseJSON=parseJSON;var toJSON=node=>node.toJSON();exports.toJSON=toJSON}});var require_node_filter=__commonJS({"node_modules/linkedom/cjs/interface/node-filter.js"(exports){"use strict";var{SHOW_ALL,SHOW_ELEMENT,SHOW_COMMENT,SHOW_CDATA_SECTION,SHOW_TEXT}=require_constants2(),NodeFilter=class{static get SHOW_ALL(){return SHOW_ALL}static get SHOW_ELEMENT(){return SHOW_ELEMENT}static get SHOW_COMMENT(){return SHOW_COMMENT}static get SHOW_CDATA_SECTION(){return SHOW_CDATA_SECTION}static get SHOW_TEXT(){return SHOW_TEXT}};exports.NodeFilter=NodeFilter}});var require_cjs2=__commonJS({"node_modules/linkedom/cjs/index.js"(exports){"use strict";var{DOMParser:DOMParser2}=require_parser(),{Document:_Document}=require_document(),{illegalConstructor}=require_facades(),{setPrototypeOf}=require_object();(m=>{exports.parseJSON=m.parseJSON,exports.toJSON=m.toJSON})(require_parse_json());(m=>Object.keys(m).map(k=>k!=="default"&&(exports[k]=m[k])))(require_facades());(m=>Object.keys(m).map(k=>k!=="default"&&(exports[k]=m[k])))(require_html_classes());exports.DOMParser=DOMParser2;(m=>{exports.CustomEvent=m.CustomEvent})(require_custom_event());(m=>{exports.Event=m.Event})(require_event());(m=>{exports.EventTarget=m.EventTarget})(require_event_target());(m=>{exports.InputEvent=m.InputEvent})(require_input_event());(m=>{exports.NodeList=m.NodeList})(require_node_list());(m=>{exports.NodeFilter=m.NodeFilter})(require_node_filter());var parseHTML=(html,globals=null)=>new DOMParser2().parseFromString(html,"text/html",globals).defaultView;exports.parseHTML=parseHTML;function Document(){illegalConstructor()}exports.Document=Document;setPrototypeOf(Document,_Document).prototype=_Document.prototype}});var require_linkedom_compat=__commonJS({"node_modules/defuddle/dist/utils/linkedom-compat.js"(exports){"use strict";Object.defineProperty(exports,"__esModule",{value:!0});exports.parseLinkedomHTML=parseLinkedomHTML;var linkedom_1=require_cjs2();function parseLinkedomHTML(html,url){let{document:document2}=(0,linkedom_1.parseHTML)(html),doc=document2;return doc.styleSheets||(doc.styleSheets=[]),doc.defaultView&&!doc.defaultView.getComputedStyle&&(doc.defaultView.getComputedStyle=()=>({display:""})),url&&(doc.URL=url),document2}}});var require_node4=__commonJS({"node_modules/defuddle/dist/node.js"(exports){var __createBinding=exports&&exports.__createBinding||(Object.create?(function(o,m,k,k2){k2===void 0&&(k2=k);var desc=Object.getOwnPropertyDescriptor(m,k);(!desc||("get"in desc?!m.__esModule:desc.writable||desc.configurable))&&(desc={enumerable:!0,get:function(){return m[k]}}),Object.defineProperty(o,k2,desc)}):(function(o,m,k,k2){k2===void 0&&(k2=k),o[k2]=m[k]})),__setModuleDefault=exports&&exports.__setModuleDefault||(Object.create?(function(o,v){Object.defineProperty(o,"default",{enumerable:!0,value:v})}):function(o,v){o.default=v}),__importStar=exports&&exports.__importStar||(function(){var ownKeys=function(o){return ownKeys=Object.getOwnPropertyNames||function(o2){var ar=[];for(var k in o2)Object.prototype.hasOwnProperty.call(o2,k)&&(ar[ar.length]=k);return ar},ownKeys(o)};return function(mod){if(mod&&mod.__esModule)return mod;var result={};if(mod!=null)for(var k=ownKeys(mod),i=0;i<k.length;i++)k[i]!=="default"&&__createBinding(result,mod,k[i]);return __setModuleDefault(result,mod),result}})();Object.defineProperty(exports,"__esModule",{value:!0});exports.DefuddleClass=void 0;exports.Defuddle=Defuddle;var defuddle_1=require_defuddle();Object.defineProperty(exports,"DefuddleClass",{enumerable:!0,get:function(){return defuddle_1.Defuddle}});var markdown_1=require_markdown();async function Defuddle(input,url,options){let doc;if(typeof input=="string"){let{parseLinkedomHTML}=await Promise.resolve().then(()=>__importStar(require_linkedom_compat()));doc=parseLinkedomHTML(input,url)}else typeof input=="object"&&input!==null&&"window"in input&&input.window?.document?(doc=input.window.document,url=url||input.window.location?.href):doc=input;let pageUrl=url||doc.URL||"about:blank",result=await new defuddle_1.Defuddle(doc,{...options,url:pageUrl}).parseAsync();return(0,markdown_1.toMarkdown)(result,options??{},pageUrl),result}}});export default require_node4();