dimcode 0.0.5 → 0.0.6-beta.10

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 (82) hide show
  1. package/README.md +78 -35
  2. package/assets/gui/200.html +1 -0
  3. package/assets/gui/404.html +1 -0
  4. package/assets/gui/_nuxt/0OuYuFdd.js +1 -0
  5. package/assets/gui/_nuxt/1BRcSDDT.js +1 -0
  6. package/assets/gui/_nuxt/5J0xJHOV.js +321 -0
  7. package/assets/gui/_nuxt/6eT8GE5o.js +64 -0
  8. package/assets/gui/_nuxt/9qrePV86.js +61 -0
  9. package/assets/gui/_nuxt/B2dLwdvI.js +7 -0
  10. package/assets/gui/_nuxt/B7D4_qKt.js +10 -0
  11. package/assets/gui/_nuxt/BAs_flqE.js +1 -0
  12. package/assets/gui/_nuxt/BB51-bYG.js +1 -0
  13. package/assets/gui/_nuxt/BElB9nYn.js +60 -0
  14. package/assets/gui/_nuxt/BJjbwZQ7.js +1 -0
  15. package/assets/gui/_nuxt/BL99WVqL.js +1 -0
  16. package/assets/gui/_nuxt/BO9A_Qud.js +1 -0
  17. package/assets/gui/_nuxt/BYSie7N9.js +162 -0
  18. package/assets/gui/_nuxt/BZe2Hr6x.js +1 -0
  19. package/assets/gui/_nuxt/B_R0907Q.js +1 -0
  20. package/assets/gui/_nuxt/BcT6UR04.js +267 -0
  21. package/assets/gui/_nuxt/BgfsbVxC.js +1 -0
  22. package/assets/gui/_nuxt/BhdyVfxG.js +36 -0
  23. package/assets/gui/_nuxt/BmDWW0df.js +1 -0
  24. package/assets/gui/_nuxt/BojRNRsE.js +1 -0
  25. package/assets/gui/_nuxt/BxcNx9LB.js +1 -0
  26. package/assets/gui/_nuxt/CJH9uMnP.js +24 -0
  27. package/assets/gui/_nuxt/CKgCUght.js +1 -0
  28. package/assets/gui/_nuxt/CLlt8osM.js +165 -0
  29. package/assets/gui/_nuxt/CM3agAjz.js +15 -0
  30. package/assets/gui/_nuxt/CN0qvlFN.js +1 -0
  31. package/assets/gui/_nuxt/CNJpRdJ6.js +4 -0
  32. package/assets/gui/_nuxt/CRrxCVWn.js +1 -0
  33. package/assets/gui/_nuxt/CT3j1vwf.js +68 -0
  34. package/assets/gui/_nuxt/CdJQtGWr.js +30 -0
  35. package/assets/gui/_nuxt/CiWev5X2.js +15 -0
  36. package/assets/gui/_nuxt/Ckugh5XE.js +145 -0
  37. package/assets/gui/_nuxt/CqW_5_-N.js +250 -0
  38. package/assets/gui/_nuxt/CtJeA47E.js +4 -0
  39. package/assets/gui/_nuxt/Cu9sB8W2.js +65 -0
  40. package/assets/gui/_nuxt/CyEYbRMh.js +1 -0
  41. package/assets/gui/_nuxt/CzNcg-IY.js +7 -0
  42. package/assets/gui/_nuxt/CzhkyCcg.js +43 -0
  43. package/assets/gui/_nuxt/D8InAP22.js +24 -0
  44. package/assets/gui/_nuxt/DCNZp4ME.js +1 -0
  45. package/assets/gui/_nuxt/DGBBJ9Xx.js +1 -0
  46. package/assets/gui/_nuxt/DLlHnO3U.js +139 -0
  47. package/assets/gui/_nuxt/DMY8e2uq.js +122 -0
  48. package/assets/gui/_nuxt/DNM2C9RQ.js +1 -0
  49. package/assets/gui/_nuxt/DQ8-KXr1.js +1 -0
  50. package/assets/gui/_nuxt/DRGOv7Jx.js +1 -0
  51. package/assets/gui/_nuxt/DTY9QkWn.js +128 -0
  52. package/assets/gui/_nuxt/DZZGaqXx.js +22 -0
  53. package/assets/gui/_nuxt/D_5CzcoO.js +1 -0
  54. package/assets/gui/_nuxt/DhKg5wIH.js +1 -0
  55. package/assets/gui/_nuxt/DhXJpUyf.js +261 -0
  56. package/assets/gui/_nuxt/DoSvhc5U.js +1 -0
  57. package/assets/gui/_nuxt/DvJDa2y1.js +1 -0
  58. package/assets/gui/_nuxt/Gi6I4Gst.js +1 -0
  59. package/assets/gui/_nuxt/SiDb1yUH.js +220 -0
  60. package/assets/gui/_nuxt/XbL3y5x-.js +261 -0
  61. package/assets/gui/_nuxt/YqgMhCSt.js +1 -0
  62. package/assets/gui/_nuxt/builds/latest.json +1 -0
  63. package/assets/gui/_nuxt/builds/meta/0dad00ea-fa1a-4b5b-b2ee-235be40dfee0.json +1 -0
  64. package/assets/gui/_nuxt/chYRGlfM.js +1 -0
  65. package/assets/gui/_nuxt/entry.B4Ab0wk3.css +1 -0
  66. package/assets/gui/_nuxt/error-404.BAwq3L4-.css +1 -0
  67. package/assets/gui/_nuxt/error-500.DFXMopWe.css +1 -0
  68. package/assets/gui/_nuxt/fTY9LIxP.js +1 -0
  69. package/assets/gui/_nuxt/fZZrj866.js +10 -0
  70. package/assets/gui/_nuxt/index.BudxHvB3.css +1 -0
  71. package/assets/gui/_nuxt/kh6OeDug.js +350 -0
  72. package/assets/gui/_nuxt/n2n_ryJ5.js +89 -0
  73. package/assets/gui/_nuxt/oCPQMeLF.js +2 -0
  74. package/assets/gui/_nuxt/p6NW31vF.js +1 -0
  75. package/assets/gui/_nuxt/vY0XMWGW.js +1 -0
  76. package/assets/gui/_nuxt/yG4UzpsV.js +1 -0
  77. package/assets/gui/favicon.ico +0 -0
  78. package/assets/gui/index.html +1 -0
  79. package/assets/gui/robots.txt +2 -0
  80. package/dist/cli.mjs +2124 -478
  81. package/package.json +22 -10
  82. package/scripts/postinstall.mjs +66 -0
package/README.md CHANGED
@@ -1,18 +1,49 @@
1
+ <img src="https://storage-static.fazhiplus.com/zmchat-avatar/0752d736887697a3284138d013052e53+MjI1ZWM1YTAtNmE4Zi00ZWRkLWI0NjktZjNlNzM4N2U0M2M3LjBkZDI2ODc1LWYxMGYtNDBhNC05NWQ1LWJiZGY2ZmEwM2M0OXgxNzY5NzQ4MDM4MTcyNDEwNzYw" alt="Brand Logo" height="100">
2
+
1
3
  # Dimcode CLI
2
4
 
3
- > A powerful AI agent CLI built on GoatChain with an interactive terminal UI (TUI)
5
+ > A powerful AI agent CLI with a beautiful interactive terminal UI (TUI)
4
6
 
5
7
  [![npm version](https://badge.fury.io/js/dimcode.svg)](https://badge.fury.io/js/dimcode)
6
- [![License: MIT](https://img.shields.io/badge/License-MIT-yellow.svg)](https://opensource.org/licenses/MIT)
7
8
 
8
- Dimcode is a command-line interface for AI-powered coding assistance, featuring:
9
+ Dimcode is a command-line interface for AI-powered coding assistance. It helps you move fast with:
9
10
 
10
11
  - 🎨 **Beautiful TUI** - Modern terminal interface built with Vue 3
11
- - 💬 **Multi-session Management** - Manage multiple AI conversations
12
- - 🔧 **Built-in Tools** - File operations, web search, code analysis
13
- - ⚡ **Streaming Responses** - Real-time AI response streaming
14
- - 🎯 **Tool Approvals** - Fine-grained control over tool execution
15
- - 🌈 **Themes** - Customizable color schemes
12
+
13
+ <img src="https://storage-static.fazhiplus.com/zmchat-avatar/7b06958a80a23e038609f65f6c39d1f4+MjI1ZWM1YTAtNmE4Zi00ZWRkLWI0NjktZjNlNzM4N2U0M2M3LjEyOTVhYTU1LWI4YTgtNDA3YS1hNDliLTExMTgxOTU0YTM1NngxNzcwMTkzMzEwOTY2NjM5NjY0" alt="UI" height="300">
14
+
15
+ - 💬 **Multi-session Management** - Organize multiple AI conversations
16
+ - 🔧 **Built-in Tools** - File ops, web search, code analysis, and more
17
+ - ⚡ **Streaming Responses** - See AI outputs in real time
18
+ - 🎯 **Tool Approvals** - Granular control over tool execution
19
+ - 🌈 **Themes** - Flexible, customizable color schemes
20
+
21
+ ## 📈 Download Stats
22
+
23
+ | Metric | Live Badge |
24
+ | ---------------- | -------------------------------------------------------------------------------------------------------- |
25
+ | Weekly downloads | [![npm downloads (week)](https://img.shields.io/npm/dw/dimcode)](https://www.npmjs.com/package/dimcode) |
26
+ | Total downloads | [![npm downloads (total)](https://img.shields.io/npm/dt/dimcode)](https://www.npmjs.com/package/dimcode) |
27
+
28
+ ## ⚡ Get Started in 30 Seconds
29
+
30
+ 1. Install the CLI
31
+
32
+ ```bash
33
+ npm install -g dimcode
34
+ ```
35
+
36
+ 2. Run it
37
+
38
+ ```bash
39
+ dim
40
+ ```
41
+
42
+ 3. Ask for help
43
+
44
+ ```text
45
+ Create a React component for a todo list
46
+ ```
16
47
 
17
48
  ## 📦 Installation
18
49
 
@@ -43,16 +74,6 @@ Run directly without installation:
43
74
  npx dimcode
44
75
  ```
45
76
 
46
- ## 🚀 Quick Start
47
-
48
- After installation, simply run:
49
-
50
- ```bash
51
- dim
52
- ```
53
-
54
- This will launch the interactive terminal UI.
55
-
56
77
  ## 🎮 Usage
57
78
 
58
79
  ### Command Palette
@@ -69,22 +90,40 @@ Press `Ctrl+P` to open the command palette, which provides quick access to:
69
90
 
70
91
  Type slash commands directly in the input field:
71
92
 
72
- | Command | Description |
73
- |---------|-------------|
74
- | `/settings` | Open settings dialog |
75
- | `/approvals` | Manage tool approvals |
76
- | `/sessions` | List all sessions |
77
- | `/new` | Create a new session |
78
- | `/redo` | Redo last interaction (Chat view only) |
93
+ | Command | Description |
94
+ | ----------------- | --------------------------------------- |
95
+ | `/settings` | Open settings dialog (custom providers) |
96
+ | `/config` | Alternative for `/settings` |
97
+ | `/approvals` | Manage tool approvals (auto/all) |
98
+ | `/approval` | Alternative for `/approvals` |
99
+ | `/connect` | Connect a provider |
100
+ | `/models` | Select a model |
101
+ | `/sessions` | List all sessions |
102
+ | `/new` | Create a new session |
103
+ | `/redo` | Redo last interaction |
104
+ | `/rename <title>` | Rename current session |
105
+ | `/timeline` | Jump to a user message |
106
+ | `/tl` | Alternative for `/timeline` |
107
+ | `/review` | Review code changes |
108
+ | `/debug` | Open debug dialog (node mode only) |
79
109
 
80
110
  ### Keyboard Shortcuts
81
111
 
82
- | Shortcut | Action |
83
- |----------|--------|
84
- | `Ctrl+P` | Open command palette |
85
- | `Ctrl+C` | Exit the application |
86
- | `Enter` | Send message |
87
- | `Shift+Enter` | New line in input |
112
+ | Shortcut | Action |
113
+ | ------------- | ------------------------------------------ |
114
+ | `Ctrl+P` | Open command palette |
115
+ | `Ctrl+O` | Expand/collapse all tool calls & thinking |
116
+ | `Ctrl+C` | Clear input (if non-empty); otherwise exit |
117
+ | `Enter` | Send message |
118
+ | `Shift+Enter` | New line in input |
119
+
120
+ ### Input Tips
121
+
122
+ - Drag to select text, then release to auto-copy (when enabled)
123
+ - In the input area, use `Shift+Option` for rectangular selection
124
+ - Triple-click in the input area to select all
125
+ - `Tab` moves focus to the next input field; `Shift+Tab` moves to the previous
126
+ - The CLI is mouse-friendly for selection, scrolling, and clicking buttons/controls
88
127
 
89
128
  ## ⚙️ Configuration
90
129
 
@@ -96,7 +135,7 @@ Create a `.env` file in your working directory or set environment variables:
96
135
  # OpenAI Configuration
97
136
  OPENAI_API_KEY=your_api_key_here
98
137
  OPENAI_BASE_URL=https://api.openai.com/v1 # Optional
99
- MODEL_ID=gpt-4o # Default model
138
+ DIMCODE_MODEL=deepseek-v3.1 # Default model
100
139
 
101
140
  # Serper API for web search (optional)
102
141
  SERPER_API_KEY=your_serper_key_here
@@ -110,33 +149,38 @@ On first launch, Dimcode will guide you through:
110
149
  2. **Model Selection** - Choose your preferred AI model
111
150
  3. **Tool Approvals** - Configure which tools can run automatically
112
151
 
113
- Settings are stored in `~/.goatchain/goatchain/` directory by default (can be customized via `GOATCHAIN_HOME` environment variable).
152
+ Settings are stored in `~/.dimcode/dimcode/` directory by default (can be customized via `DIMCODE_HOME` environment variable).
114
153
 
115
154
  ## 🔧 Built-in Tools
116
155
 
117
156
  Dimcode comes with powerful built-in tools:
118
157
 
119
158
  ### File Operations
159
+
120
160
  - **Read** - Read file contents
121
161
  - **Write** - Create or overwrite files
122
162
  - **Edit** - Make precise edits to existing files
123
163
 
124
164
  ### Code Analysis
165
+
125
166
  - **Grep** - Search content using patterns
126
167
  - **Glob** - Find files by pattern
127
168
  - **AstGrepSearch** - AST-based code search
128
169
  - **AstGrepReplace** - AST-based code refactoring
129
170
 
130
171
  ### Web & Research
172
+
131
173
  - **WebSearch** - Search the web using Serper API
132
174
  - **WebFetch** - Fetch web page content
133
175
 
134
176
  ### Task Management
177
+
135
178
  - **TodoWrite** - Create and manage TODO lists
136
179
  - **Task** - Execute complex multi-step tasks
137
180
  - **Skill** - Store and reuse common workflows
138
181
 
139
182
  ### System
183
+
140
184
  - **Bash** - Execute shell commands (requires approval)
141
185
  - **AskUser** - Request input from user
142
186
 
@@ -166,5 +210,4 @@ dim
166
210
  ## 🔐 Security & Privacy
167
211
 
168
212
  - **Tool Approvals**: By default, sensitive operations (file writes, shell commands) require user approval
169
- - **Local Storage**: All session data is stored locally in `~/.goatchain/goatchain/` (customizable via `GOATCHAIN_HOME`)
170
-
213
+ - **Local Storage**: All session data is stored locally in `~/.dimcode/dimcode/` (customizable via `DIMCODE_HOME`)
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>GoatChain GUI</title><link rel="stylesheet" href="/_nuxt/entry.B4Ab0wk3.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/kh6OeDug.js"><script type="module" src="/_nuxt/kh6OeDug.js" crossorigin></script><meta name="description" content="GoatChain GUI - shared event stream viewer and query console."><script id="unhead:payload" type="application/json">{"title":"GoatChain GUI"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"0dad00ea-fa1a-4b5b-b2ee-235be40dfee0",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1770303359255,false]</script></body></html>
@@ -0,0 +1 @@
1
+ <!DOCTYPE html><html><head><meta charset="utf-8"><meta name="viewport" content="width=device-width, initial-scale=1"><title>GoatChain GUI</title><link rel="stylesheet" href="/_nuxt/entry.B4Ab0wk3.css" crossorigin><link rel="modulepreload" as="script" crossorigin href="/_nuxt/kh6OeDug.js"><script type="module" src="/_nuxt/kh6OeDug.js" crossorigin></script><meta name="description" content="GoatChain GUI - shared event stream viewer and query console."><script id="unhead:payload" type="application/json">{"title":"GoatChain GUI"}</script></head><body><div id="__nuxt"></div><div id="teleports"></div><script>window.__NUXT__={};window.__NUXT__.config={public:{},app:{baseURL:"/",buildId:"0dad00ea-fa1a-4b5b-b2ee-235be40dfee0",buildAssetsDir:"/_nuxt/",cdnURL:""}}</script><script type="application/json" data-nuxt-data="nuxt-app" data-ssr="false" id="__NUXT_DATA__">[{"prerenderedAt":1,"serverRendered":2},1770303359255,false]</script></body></html>
@@ -0,0 +1 @@
1
+ import S from"./DhXJpUyf.js";S.__defineMacro("\\ce",function(o){return A(o.consumeArgs(1)[0],"ce")});S.__defineMacro("\\pu",function(o){return A(o.consumeArgs(1)[0],"pu")});S.__defineMacro("\\tripledash","{\\vphantom{-}\\raisebox{2.56mu}{$\\mkern2mu\\tiny\\text{-}\\mkern1mu\\text{-}\\mkern1mu\\text{-}\\mkern2mu$}}");var A=function(t,e){for(var a="",r=t.length&&t[t.length-1].loc.start,i=t.length-1;i>=0;i--)t[i].loc.start>r&&(a+=" ",r=t[i].loc.start),a+=t[i].text,r+=t[i].text.length;var c=p.go(n.go(a,e));return c},n={go:function(t,e){if(!t)return[];e===void 0&&(e="ce");var a="0",r={};r.parenthesisLevel=0,t=t.replace(/\n/g," "),t=t.replace(/[\u2212\u2013\u2014\u2010]/g,"-"),t=t.replace(/[\u2026]/g,"...");for(var i,c=10,s=[];;){i!==t?(c=10,i=t):c--;var _=n.stateMachines[e],u=_.transitions[a]||_.transitions["*"];t:for(var h=0;h<u.length;h++){var x=n.patterns.match_(u[h].pattern,t);if(x){for(var l=u[h].task,d=0;d<l.action_.length;d++){var g;if(_.actions[l.action_[d].type_])g=_.actions[l.action_[d].type_](r,x.match_,l.action_[d].option);else if(n.actions[l.action_[d].type_])g=n.actions[l.action_[d].type_](r,x.match_,l.action_[d].option);else throw["MhchemBugA","mhchem bug A. Please report. ("+l.action_[d].type_+")"];n.concatArray(s,g)}if(a=l.nextState||a,t.length>0){if(l.revisit||(t=x.remainder),!l.toContinue)break t}else return s}}if(c<=0)throw["MhchemBugU","mhchem bug U. Please report."]}},concatArray:function(t,e){if(e)if(Array.isArray(e))for(var a=0;a<e.length;a++)t.push(e[a]);else t.push(e)},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(t){var e=t.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 e&&e[0]?{match_:e.splice(1),remainder:t.substr(e[0].length)}:null},"(-)(9)^(-9)":function(t){var e=t.match(/^(\+\-|\+\/\-|\+|\-|\\pm\s?)?([0-9]+(?:[,.][0-9]+)?|[0-9]*(?:\.[0-9]+)?)\^([+\-]?[0-9]+|\{[+\-]?[0-9]+\})/);return e&&e[0]?{match_:e.splice(1),remainder:t.substr(e[0].length)}:null},"state of aggregation $":function(t){var e=n.patterns.findObserveGroups(t,"",/^\([a-z]{1,3}(?=[\),])/,")","");if(e&&e.remainder.match(/^($|[\s,;\)\]\}])/))return e;var a=t.match(/^(?:\((?:\\ca\s?)?\$[amothc]\$\))/);return a?{match_:a[0],remainder:t.substr(a[0].length)}:null},"_{(state of aggregation)}$":/^_\{(\([a-z]{1,3}\))\}/,"{[(":/^(?:\\\{|\[|\()/,")]}":/^(?:\)|\]|\\\})/,", ":/^[,;]\s*/,",":/^[,;]/,".":/^[.]/,". ":/^([.\u22C5\u00B7\u2022])\s*/,"...":/^\.\.\.(?=$|[^.])/,"* ":/^([*])\s*/,"^{(...)}":function(t){return n.patterns.findObserveGroups(t,"^{","","","}")},"^($...$)":function(t){return n.patterns.findObserveGroups(t,"^","$","$","")},"^a":/^\^([0-9]+|[^\\_])/,"^\\x{}{}":function(t){return n.patterns.findObserveGroups(t,"^",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"^\\x{}":function(t){return n.patterns.findObserveGroups(t,"^",/^\\[a-zA-Z]+\{/,"}","")},"^\\x":/^\^(\\[a-zA-Z]+)\s*/,"^(-1)":/^\^(-?\d+)/,"'":/^'/,"_{(...)}":function(t){return n.patterns.findObserveGroups(t,"_{","","","}")},"_($...$)":function(t){return n.patterns.findObserveGroups(t,"_","$","$","")},_9:/^_([+\-]?[0-9]+|[^\\])/,"_\\x{}{}":function(t){return n.patterns.findObserveGroups(t,"_",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"_\\x{}":function(t){return n.patterns.findObserveGroups(t,"_",/^\\[a-zA-Z]+\{/,"}","")},"_\\x":/^_(\\[a-zA-Z]+)\s*/,"^_":/^(?:\^(?=_)|\_(?=\^)|[\^_]$)/,"{}":/^\{\}/,"{...}":function(t){return n.patterns.findObserveGroups(t,"","{","}","")},"{(...)}":function(t){return n.patterns.findObserveGroups(t,"{","","","}")},"$...$":function(t){return n.patterns.findObserveGroups(t,"","$","$","")},"${(...)}$":function(t){return n.patterns.findObserveGroups(t,"${","","","}$")},"$(...)$":function(t){return n.patterns.findObserveGroups(t,"$","","","$")},"=<>":/^[=<>]/,"#":/^[#\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(t){return n.patterns.findObserveGroups(t,"\\bond{","","","}")},"->":/^(?:<->|<-->|->|<-|<=>>|<<=>|<=>|[\u2192\u27F6\u21CC])/,CMT:/^[CMT](?=\[)/,"[(...)]":function(t){return n.patterns.findObserveGroups(t,"[","","","]")},"1st-level escape":/^(&|\\\\|\\hline)\s*/,"\\,":/^(?:\\[,\ ;:])/,"\\x{}{}":function(t){return n.patterns.findObserveGroups(t,"",/^\\[a-zA-Z]+\{/,"}","","","{","}","",!0)},"\\x{}":function(t){return n.patterns.findObserveGroups(t,"",/^\\[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(t){return n.patterns.findObserveGroups(t,"\\frac{","","","}","{","","","}")},"\\overset{(...)}":function(t){return n.patterns.findObserveGroups(t,"\\overset{","","","}","{","","","}")},"\\underset{(...)}":function(t){return n.patterns.findObserveGroups(t,"\\underset{","","","}","{","","","}")},"\\underbrace{(...)}":function(t){return n.patterns.findObserveGroups(t,"\\underbrace{","","","}_","{","","","}")},"\\color{(...)}0":function(t){return n.patterns.findObserveGroups(t,"\\color{","","","}")},"\\color{(...)}{(...)}1":function(t){return n.patterns.findObserveGroups(t,"\\color{","","","}","{","","","}")},"\\color(...){(...)}2":function(t){return n.patterns.findObserveGroups(t,"\\color","\\","",/^(?=\{)/,"{","","","}")},"\\ce{(...)}":function(t){return n.patterns.findObserveGroups(t,"\\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(t){var e;if(e=t.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))/),e)return{match_:e[0],remainder:t.substr(e[0].length)};var a=n.patterns.findObserveGroups(t,"","$","$","");return a&&(e=a.match_.match(/^\$(?:\(?[+\-]?(?:[0-9]*[a-z]?[+\-])?[0-9]*[a-z](?:[+\-][0-9]*[a-z]?)?\)?|\+|-)\$$/),e)?{match_:e[0],remainder:t.substr(e[0].length)}:null},amount2:function(t){return this.amount(t)},"(KV letters),":/^(?:[A-Z][a-z]{0,2}|i)(?=,)/,formula$:function(t){if(t.match(/^\([a-z]+\)$/))return null;var e=t.match(/^(?:[a-z]|(?:[0-9\ \+\-\,\.\(\)]+[a-z])+[0-9\ \+\-\,\.\(\)]*|(?:[a-z][0-9\ \+\-\,\.\(\)]+)+[a-z]?)$/);return e?{match_:e[0],remainder:t.substr(e[0].length)}:null},uprightEntities:/^(?:pH|pOH|pC|pK|iPr|iBu)(?=$|[^a-zA-Z])/,"/":/^\s*(\/)\s*/,"//":/^\s*(\/\/)\s*/,"*":/^\s*[*.]\s*/},findObserveGroups:function(t,e,a,r,i,c,s,_,u,h){var x=function(v,m){if(typeof m=="string")return v.indexOf(m)!==0?null:m;var y=v.match(m);return y?y[0]:null},l=function(v,m,y){for(var $=0;m<v.length;){var O=v.charAt(m),z=x(v.substr(m),y);if(z!==null&&$===0)return{endMatchBegin:m,endMatchEnd:m+z.length};if(O==="{")$++;else if(O==="}"){if($===0)throw["ExtraCloseMissingOpen","Extra close brace or missing open brace"];$--}m++}return $>0,null},d=x(t,e);if(d===null||(t=t.substr(d.length),d=x(t,a),d===null))return null;var g=l(t,d.length,r||i);if(g===null)return null;var f=t.substring(0,r?g.endMatchEnd:g.endMatchBegin);if(c||s){var q=this.findObserveGroups(t.substr(g.endMatchEnd),c,s,_,u);if(q===null)return null;var k=[f,q.match_];return{match_:h?k.join(""):k,remainder:q.remainder}}else return{match_:f,remainder:t.substr(g.endMatchEnd)}},match_:function(t,e){var a=n.patterns.patterns[t];if(a===void 0)throw["MhchemBugP","mhchem bug P. Please report. ("+t+")"];if(typeof a=="function")return n.patterns.patterns[t](e);var r=e.match(a);if(r){var i;return r[2]?i=[r[1],r[2]]:r[1]?i=r[1]:i=r[0],{match_:i,remainder:e.substr(r[0].length)}}return null}},actions:{"a=":function(t,e){t.a=(t.a||"")+e},"b=":function(t,e){t.b=(t.b||"")+e},"p=":function(t,e){t.p=(t.p||"")+e},"o=":function(t,e){t.o=(t.o||"")+e},"q=":function(t,e){t.q=(t.q||"")+e},"d=":function(t,e){t.d=(t.d||"")+e},"rm=":function(t,e){t.rm=(t.rm||"")+e},"text=":function(t,e){t.text_=(t.text_||"")+e},insert:function(t,e,a){return{type_:a}},"insert+p1":function(t,e,a){return{type_:a,p1:e}},"insert+p1+p2":function(t,e,a){return{type_:a,p1:e[0],p2:e[1]}},copy:function(t,e){return e},rm:function(t,e){return{type_:"rm",p1:e||""}},text:function(t,e){return n.go(e,"text")},"{text}":function(t,e){var a=["{"];return n.concatArray(a,n.go(e,"text")),a.push("}"),a},"tex-math":function(t,e){return n.go(e,"tex-math")},"tex-math tight":function(t,e){return n.go(e,"tex-math tight")},bond:function(t,e,a){return{type_:"bond",kind_:a||e}},"color0-output":function(t,e){return{type_:"color0",color:e[0]}},ce:function(t,e){return n.go(e)},"1/2":function(t,e){var a=[];e.match(/^[+\-]/)&&(a.push(e.substr(0,1)),e=e.substr(1));var r=e.match(/^([0-9]+|\$[a-z]\$|[a-z])\/([0-9]+)(\$[a-z]\$|[a-z])?$/);return r[1]=r[1].replace(/\$/g,""),a.push({type_:"frac",p1:r[1],p2:r[2]}),r[3]&&(r[3]=r[3].replace(/\$/g,""),a.push({type_:"tex-math",p1:r[3]})),a},"9,9":function(t,e){return n.go(e,"9,9")}},createTransitions:function(t){var e,a,r,i,c={};for(e in t)for(a in t[e])for(r=a.split("|"),t[e][a].stateArray=r,i=0;i<r.length;i++)c[r[i]]=[];for(e in t)for(a in t[e])for(r=t[e][a].stateArray||[],i=0;i<r.length;i++){var s=t[e][a];if(s.action_){s.action_=[].concat(s.action_);for(var _=0;_<s.action_.length;_++)typeof s.action_[_]=="string"&&(s.action_[_]={type_:s.action_[_]})}else s.action_=[];for(var u=e.split("|"),h=0;h<u.length;h++)if(r[i]==="*")for(var x in c)c[x].push({pattern:u[h],task:s});else c[r[i]].push({pattern:u[h],task:s})}return c},stateMachines:{}};n.stateMachines={ce:{transitions:n.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(t,e){var a;if((t.d||"").match(/^[0-9]+$/)){var r=t.d;t.d=void 0,a=this.output(t),t.b=r}else a=this.output(t);return n.actions["o="](t,e),a},"d= kv":function(t,e){t.d=e,t.dType="kv"},"charge or bond":function(t,e){if(t.beginsWithBond){var a=[];return n.concatArray(a,this.output(t)),n.concatArray(a,n.actions.bond(t,e,"-")),a}else t.d=e},"- after o/d":function(t,e,a){var r=n.patterns.match_("orbital",t.o||""),i=n.patterns.match_("one lowercase greek letter $",t.o||""),c=n.patterns.match_("one lowercase latin letter $",t.o||""),s=n.patterns.match_("$one lowercase latin letter$ $",t.o||""),_=e==="-"&&(r&&r.remainder===""||i||c||s);_&&!t.a&&!t.b&&!t.p&&!t.d&&!t.q&&!r&&c&&(t.o="$"+t.o+"$");var u=[];return _?(n.concatArray(u,this.output(t)),u.push({type_:"hyphen"})):(r=n.patterns.match_("digits",t.d||""),a&&r&&r.remainder===""?(n.concatArray(u,n.actions["d="](t,e)),n.concatArray(u,this.output(t))):(n.concatArray(u,this.output(t)),n.concatArray(u,n.actions.bond(t,e,"-")))),u},"a to o":function(t){t.o=t.a,t.a=void 0},"sb=true":function(t){t.sb=!0},"sb=false":function(t){t.sb=!1},"beginsWithBond=true":function(t){t.beginsWithBond=!0},"beginsWithBond=false":function(t){t.beginsWithBond=!1},"parenthesisLevel++":function(t){t.parenthesisLevel++},"parenthesisLevel--":function(t){t.parenthesisLevel--},"state of aggregation":function(t,e){return{type_:"state of aggregation",p1:n.go(e,"o")}},comma:function(t,e){var a=e.replace(/\s*$/,""),r=a!==e;return r&&t.parenthesisLevel===0?{type_:"comma enumeration L",p1:a}:{type_:"comma enumeration M",p1:a}},output:function(t,e,a){var r;if(!t.r)r=[],!t.a&&!t.b&&!t.p&&!t.o&&!t.q&&!t.d&&!a||(t.sb&&r.push({type_:"entitySkip"}),!t.o&&!t.q&&!t.d&&!t.b&&!t.p&&a!==2?(t.o=t.a,t.a=void 0):!t.o&&!t.q&&!t.d&&(t.b||t.p)?(t.o=t.a,t.d=t.b,t.q=t.p,t.a=t.b=t.p=void 0):t.o&&t.dType==="kv"&&n.patterns.match_("d-oxidation$",t.d||"")?t.dType="oxidation":t.o&&t.dType==="kv"&&!t.q&&(t.dType=void 0),r.push({type_:"chemfive",a:n.go(t.a,"a"),b:n.go(t.b,"bd"),p:n.go(t.p,"pq"),o:n.go(t.o,"o"),q:n.go(t.q,"pq"),d:n.go(t.d,t.dType==="oxidation"?"oxidation":"bd"),dType:t.dType}));else{var i;t.rdt==="M"?i=n.go(t.rd,"tex-math"):t.rdt==="T"?i=[{type_:"text",p1:t.rd||""}]:i=n.go(t.rd);var c;t.rqt==="M"?c=n.go(t.rq,"tex-math"):t.rqt==="T"?c=[{type_:"text",p1:t.rq||""}]:c=n.go(t.rq),r={type_:"arrow",r:t.r,rd:i,rq:c}}for(var s in t)s!=="parenthesisLevel"&&s!=="beginsWithBond"&&delete t[s];return r},"oxidation-output":function(t,e){var a=["{"];return n.concatArray(a,n.go(e,"oxidation")),a.push("}"),a},"frac-output":function(t,e){return{type_:"frac-ce",p1:n.go(e[0]),p2:n.go(e[1])}},"overset-output":function(t,e){return{type_:"overset",p1:n.go(e[0]),p2:n.go(e[1])}},"underset-output":function(t,e){return{type_:"underset",p1:n.go(e[0]),p2:n.go(e[1])}},"underbrace-output":function(t,e){return{type_:"underbrace",p1:n.go(e[0]),p2:n.go(e[1])}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:n.go(e[1])}},"r=":function(t,e){t.r=e},"rdt=":function(t,e){t.rdt=e},"rd=":function(t,e){t.rd=e},"rqt=":function(t,e){t.rqt=e},"rq=":function(t,e){t.rq=e},operator:function(t,e,a){return{type_:"operator",kind_:a||e}}}},a:{transitions:n.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:n.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:n.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(t){if(t.text_){var e={type_:"text",p1:t.text_};for(var a in t)delete t[a];return e}}}},pq:{transitions:n.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(t,e){return{type_:"state of aggregation subscript",p1:n.go(e,"o")}},"color-output":function(t,e){return{type_:"color",color1:e[0],color2:n.go(e[1],"pq")}}}},bd:{transitions:n.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(t,e){return{type_:"color",color1:e[0],color2:n.go(e[1],"bd")}}}},oxidation:{transitions:n.createTransitions({empty:{"*":{}},"roman numeral":{"*":{action_:"roman-numeral"}},"${(...)}$|$(...)$":{"*":{action_:"tex-math"}},else:{"*":{action_:"copy"}}}),actions:{"roman-numeral":function(t,e){return{type_:"roman numeral",p1:e||""}}}},"tex-math":{transitions:n.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},else:{"*":{action_:"o="}}}),actions:{output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var a in t)delete t[a];return e}}}},"tex-math tight":{transitions:n.createTransitions({empty:{"*":{action_:"output"}},"\\ce{(...)}":{"*":{action_:["output","ce"]}},"{...}|\\,|\\x{}{}|\\x{}|\\x":{"*":{action_:"o="}},"-|+":{"*":{action_:"tight operator"}},else:{"*":{action_:"o="}}}),actions:{"tight operator":function(t,e){t.o=(t.o||"")+"{"+e+"}"},output:function(t){if(t.o){var e={type_:"tex-math",p1:t.o};for(var a in t)delete t[a];return e}}}},"9,9":{transitions:n.createTransitions({empty:{"*":{}},",":{"*":{action_:"comma"}},else:{"*":{action_:"copy"}}}),actions:{comma:function(){return{type_:"commaDecimal"}}}},pu:{transitions:n.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(t,e){var a=[];return e[0]==="+-"||e[0]==="+/-"?a.push("\\pm "):e[0]&&a.push(e[0]),e[1]&&(n.concatArray(a,n.go(e[1],"pu-9,9")),e[2]&&(e[2].match(/[,.]/)?n.concatArray(a,n.go(e[2],"pu-9,9")):a.push(e[2])),e[3]=e[4]||e[3],e[3]&&(e[3]=e[3].trim(),e[3]==="e"||e[3].substr(0,1)==="*"?a.push({type_:"cdot"}):a.push({type_:"times"}))),e[3]&&a.push("10^{"+e[5]+"}"),a},"number^":function(t,e){var a=[];return e[0]==="+-"||e[0]==="+/-"?a.push("\\pm "):e[0]&&a.push(e[0]),n.concatArray(a,n.go(e[1],"pu-9,9")),a.push("^{"+e[2]+"}"),a},operator:function(t,e,a){return{type_:"operator",kind_:a||e}},space:function(){return{type_:"pu-space-1"}},output:function(t){var e,a=n.patterns.match_("{(...)}",t.d||"");a&&a.remainder===""&&(t.d=a.match_);var r=n.patterns.match_("{(...)}",t.q||"");if(r&&r.remainder===""&&(t.q=r.match_),t.d&&(t.d=t.d.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.d=t.d.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F")),t.q){t.q=t.q.replace(/\u00B0C|\^oC|\^{o}C/g,"{}^{\\circ}C"),t.q=t.q.replace(/\u00B0F|\^oF|\^{o}F/g,"{}^{\\circ}F");var i={d:n.go(t.d,"pu"),q:n.go(t.q,"pu")};t.o==="//"?e={type_:"pu-frac",p1:i.d,p2:i.q}:(e=i.d,i.d.length>1||i.q.length>1?e.push({type_:" / "}):e.push({type_:"/"}),n.concatArray(e,i.q))}else e=n.go(t.d,"pu-2");for(var c in t)delete t[c];return e}}},"pu-2":{transitions:n.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(t,e){t.rm+="^{"+e+"}"},space:function(){return{type_:"pu-space-2"}},output:function(t){var e=[];if(t.rm){var a=n.patterns.match_("{(...)}",t.rm||"");a&&a.remainder===""?e=n.go(a.match_,"pu"):e={type_:"rm",p1:t.rm}}for(var r in t)delete t[r];return e}}},"pu-9,9":{transitions:n.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(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){var a=t.text_.length%3;a===0&&(a=3);for(var r=t.text_.length-3;r>0;r-=3)e.push(t.text_.substr(r,3)),e.push({type_:"1000 separator"});e.push(t.text_.substr(0,a)),e.reverse()}else e.push(t.text_);for(var i in t)delete t[i];return e},"output-o":function(t){var e=[];if(t.text_=t.text_||"",t.text_.length>4){for(var a=t.text_.length-3,r=0;r<a;r+=3)e.push(t.text_.substr(r,3)),e.push({type_:"1000 separator"});e.push(t.text_.substr(r))}else e.push(t.text_);for(var i in t)delete t[i];return e}}}};var p={go:function(t,e){if(!t)return"";for(var a="",r=!1,i=0;i<t.length;i++){var c=t[i];typeof c=="string"?a+=c:(a+=p._go2(c),c.type_==="1st-level escape"&&(r=!0))}return!e&&!r&&a&&(a="{"+a+"}"),a},_goInner:function(t){return t&&p.go(t,!0)},_go2:function(t){var e;switch(t.type_){case"chemfive":e="";var a={a:p._goInner(t.a),b:p._goInner(t.b),p:p._goInner(t.p),o:p._goInner(t.o),q:p._goInner(t.q),d:p._goInner(t.d)};a.a&&(a.a.match(/^[+\-]/)&&(a.a="{"+a.a+"}"),e+=a.a+"\\,"),(a.b||a.p)&&(e+="{\\vphantom{X}}",e+="^{\\hphantom{"+(a.b||"")+"}}_{\\hphantom{"+(a.p||"")+"}}",e+="{\\vphantom{X}}",e+="^{\\smash[t]{\\vphantom{2}}\\mathllap{"+(a.b||"")+"}}",e+="_{\\vphantom{2}\\mathllap{\\smash[t]{"+(a.p||"")+"}}}"),a.o&&(a.o.match(/^[+\-]/)&&(a.o="{"+a.o+"}"),e+=a.o),t.dType==="kv"?((a.d||a.q)&&(e+="{\\vphantom{X}}"),a.d&&(e+="^{"+a.d+"}"),a.q&&(e+="_{\\smash[t]{"+a.q+"}}")):t.dType==="oxidation"?(a.d&&(e+="{\\vphantom{X}}",e+="^{"+a.d+"}"),a.q&&(e+="{\\vphantom{X}}",e+="_{\\smash[t]{"+a.q+"}}")):(a.q&&(e+="{\\vphantom{X}}",e+="_{\\smash[t]{"+a.q+"}}"),a.d&&(e+="{\\vphantom{X}}",e+="^{"+a.d+"}"));break;case"rm":e="\\mathrm{"+t.p1+"}";break;case"text":t.p1.match(/[\^_]/)?(t.p1=t.p1.replace(" ","~").replace("-","\\text{-}"),e="\\mathrm{"+t.p1+"}"):e="\\text{"+t.p1+"}";break;case"roman numeral":e="\\mathrm{"+t.p1+"}";break;case"state of aggregation":e="\\mskip2mu "+p._goInner(t.p1);break;case"state of aggregation subscript":e="\\mskip1mu "+p._goInner(t.p1);break;case"bond":if(e=p._getBond(t.kind_),!e)throw["MhchemErrorBond","mhchem Error. Unknown bond type ("+t.kind_+")"];break;case"frac":var r="\\frac{"+t.p1+"}{"+t.p2+"}";e="\\mathchoice{\\textstyle"+r+"}{"+r+"}{"+r+"}{"+r+"}";break;case"pu-frac":var i="\\frac{"+p._goInner(t.p1)+"}{"+p._goInner(t.p2)+"}";e="\\mathchoice{\\textstyle"+i+"}{"+i+"}{"+i+"}{"+i+"}";break;case"tex-math":e=t.p1+" ";break;case"frac-ce":e="\\frac{"+p._goInner(t.p1)+"}{"+p._goInner(t.p2)+"}";break;case"overset":e="\\overset{"+p._goInner(t.p1)+"}{"+p._goInner(t.p2)+"}";break;case"underset":e="\\underset{"+p._goInner(t.p1)+"}{"+p._goInner(t.p2)+"}";break;case"underbrace":e="\\underbrace{"+p._goInner(t.p1)+"}_{"+p._goInner(t.p2)+"}";break;case"color":e="{\\color{"+t.color1+"}{"+p._goInner(t.color2)+"}}";break;case"color0":e="\\color{"+t.color+"}";break;case"arrow":var c={rd:p._goInner(t.rd),rq:p._goInner(t.rq)},s="\\x"+p._getArrow(t.r);c.rq&&(s+="[{"+c.rq+"}]"),c.rd?s+="{"+c.rd+"}":s+="{}",e=s;break;case"operator":e=p._getOperator(t.kind_);break;case"1st-level escape":e=t.p1+" ";break;case"space":e=" ";break;case"entitySkip":e="~";break;case"pu-space-1":e="~";break;case"pu-space-2":e="\\mkern3mu ";break;case"1000 separator":e="\\mkern2mu ";break;case"commaDecimal":e="{,}";break;case"comma enumeration L":e="{"+t.p1+"}\\mkern6mu ";break;case"comma enumeration M":e="{"+t.p1+"}\\mkern3mu ";break;case"comma enumeration S":e="{"+t.p1+"}\\mkern1mu ";break;case"hyphen":e="\\text{-}";break;case"addition compound":e="\\,{\\cdot}\\,";break;case"electron dot":e="\\mkern1mu \\bullet\\mkern1mu ";break;case"KV x":e="{\\times}";break;case"prime":e="\\prime ";break;case"cdot":e="\\cdot ";break;case"tight cdot":e="\\mkern1mu{\\cdot}\\mkern1mu ";break;case"times":e="\\times ";break;case"circa":e="{\\sim}";break;case"^":e="uparrow";break;case"v":e="downarrow";break;case"ellipsis":e="\\ldots ";break;case"/":e="/";break;case" / ":e="\\,/\\,";break;default:throw["MhchemBugT","mhchem bug T. Please report."]}return e},_getArrow:function(t){switch(t){case"->":return"rightarrow";case"→":return"rightarrow";case"⟶":return"rightarrow";case"<-":return"leftarrow";case"<->":return"leftrightarrow";case"<-->":return"rightleftarrows";case"<=>":return"rightleftharpoons";case"⇌":return"rightleftharpoons";case"<=>>":return"rightequilibrium";case"<<=>":return"leftequilibrium";default:throw["MhchemBugT","mhchem bug T. Please report."]}},_getBond:function(t){switch(t){case"-":return"{-}";case"1":return"{-}";case"=":return"{=}";case"2":return"{=}";case"#":return"{\\equiv}";case"3":return"{\\equiv}";case"~":return"{\\tripledash}";case"~-":return"{\\mathrlap{\\raisebox{-.1em}{$-$}}\\raisebox{.1em}{$\\tripledash$}}";case"~=":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"~--":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$\\tripledash$}}-}";case"-~-":return"{\\mathrlap{\\raisebox{-.2em}{$-$}}\\mathrlap{\\raisebox{.2em}{$-$}}\\tripledash}";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(t){switch(t){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."]}}};
@@ -0,0 +1 @@
1
+ import{e as b,d as C,c as B,w as I,o as M,f as L,g as E,j as O,k as $,v as N,l as p,m as S,n as A,r as D,T as K,p as V,q as w,s as H,t as P,B as U,x as W}from"./kh6OeDug.js";var R=(c,n,o)=>new Promise((a,r)=>{var v=e=>{try{t(o.next(e))}catch(f){r(f)}},d=e=>{try{t(o.throw(e))}catch(f){r(f)}},t=e=>e.done?a(e.value):Promise.resolve(e.value).then(v,d);t((o=o.apply(c,n)).next())});const j={class:"math-inline__loading",role:"status","aria-live":"polite"},y=b(C({__name:"MathInlineNode",props:{node:{}},setup(c){const n=c,o=w(null),a=w(null);let r=!1,v=0,d=!1,t=null;const e=w(!0),f=B();let s=null;function T(){return R(this,null,function*(){if(!a.value||d)return;if(!n.node.content)return e.value=!1,a.value.textContent=n.node.raw,void(r=!0);t&&(t.abort(),t=null);const i=++v,u=new AbortController;if(t=u,!r)try{!s&&o.value&&(s=f(o.value)),yield s?.whenVisible}catch{}const g=n.node.markup==="$$";H(n.node.content,g,{timeout:1500,waitTimeout:0,maxRetries:0,signal:u.signal}).then(l=>{d||i!==v||a.value&&(a.value.innerHTML=l,e.value=!1,r=!0)}).catch(l=>R(null,null,function*(){if(d||i!==v||!a.value)return;const m=l?.code||l?.name,h=m==="KATEX_DISABLED";if(m==="WORKER_INIT_ERROR"||l?.fallbackToRenderer||m===P||m==="WORKER_TIMEOUT"){const k=yield U();if(k){try{const _=n.node.markup==="$$",x=k.renderToString(n.node.content,{throwOnError:n.node.loading,displayMode:_});e.value=!1,a.value.innerHTML=x,r=!0,W(n.node.content,_,x)}catch{}return}}if(h)return e.value=!1,void(a.value.textContent=n.node.raw);r||(e.value=!h),n.node.loading?h&&(a.value.textContent=n.node.raw):(e.value=!1,a.value.textContent=n.node.raw)}))})}return I(()=>n.node.content,()=>{T()}),M(()=>{T()}),L(()=>{var i;d=!0,t&&(t.abort(),t=null),(i=s?.destroy)==null||i.call(s),s=null}),(i,u)=>(E(),O("span",{ref_key:"containerEl",ref:o,class:"math-inline-wrapper"},[$(p("span",{ref_key:"mathElement",ref:a,class:"math-inline"},null,512),[[N,!e.value]]),e.value?(E(),S(K,{key:0,name:"table-node-fade"},{default:A(()=>[p("span",j,[D(i.$slots,"loading",{isLoading:e.value},()=>[u[0]||(u[0]=p("span",{class:"math-inline__spinner animate-spin","aria-hidden":"true"},null,-1)),u[1]||(u[1]=p("span",{class:"sr-only"},"Loading",-1))],!0)])]),_:3})):V("",!0)],512))}}),[["__scopeId","data-v-32b58f6e"]]);y.install=c=>{c.component(y.__name,y)};export{y as default};