mulmoclaude 0.8.0 → 0.9.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (192) hide show
  1. package/bin/mulmoclaude.js +1 -1
  2. package/client/assets/{JsonEditor-C_RDoefj.js → JsonEditor-o5--tPQH.js} +1 -1
  3. package/client/assets/{index-Cf9gG9r0.js → index-9lmYSaus.js} +243 -237
  4. package/client/assets/index-tOu5ArRZ.css +2 -0
  5. package/client/assets/{lib-Dpph7PBN.js → lib-D6Xy0IFc.js} +1 -1
  6. package/client/assets/purify.es-B27wDFIb-51iYcXuK.js +3 -0
  7. package/client/assets/runtime-protocol-vue-pU0Mw7Zm.js +1 -0
  8. package/client/index.html +6 -6
  9. package/package.json +27 -14
  10. package/server/agent/backend/claude-code.ts +22 -3
  11. package/server/agent/backend/fake-echo.ts +2 -1
  12. package/server/agent/config.ts +105 -12
  13. package/server/agent/mcp-server.ts +137 -84
  14. package/server/agent/mcp-tools/index.ts +1 -1
  15. package/server/agent/mcp-tools/manageCollection.ts +197 -13
  16. package/server/agent/stdioHttpShim.ts +2 -1
  17. package/server/api/routes/chart.ts +21 -92
  18. package/server/api/routes/collections.ts +4 -4
  19. package/server/api/routes/pdf.ts +38 -68
  20. package/server/api/routes/plugins.ts +2 -2
  21. package/server/api/routes/presentHtml.ts +51 -103
  22. package/server/api/routes/runtime-plugin.ts +18 -1
  23. package/server/api/routes/transcribe.ts +100 -0
  24. package/server/build/dispatcher.mjs +14963 -54
  25. package/server/events/collection-change.ts +70 -0
  26. package/server/events/file-change.ts +41 -70
  27. package/server/events/scheduler-adapter.ts +23 -298
  28. package/server/events/task-manager/index.ts +17 -176
  29. package/server/index.ts +30 -5
  30. package/server/notifier/engine.ts +42 -503
  31. package/server/notifier/types.ts +16 -134
  32. package/server/plugins/builtin-dispatch.ts +28 -0
  33. package/server/plugins/html-builtin.ts +28 -0
  34. package/server/plugins/markdown-builtin.ts +70 -0
  35. package/server/plugins/runtime.ts +12 -1
  36. package/server/services/translation/llm.ts +2 -1
  37. package/server/system/config.ts +32 -0
  38. package/server/system/optionalDeps.ts +4 -0
  39. package/server/system/whisper/index.ts +97 -0
  40. package/server/utils/claudeBin.ts +248 -0
  41. package/server/utils/files/attachment-store.ts +33 -57
  42. package/server/utils/files/html-store.ts +11 -10
  43. package/server/utils/files/image-store.ts +8 -41
  44. package/server/utils/files/markdown-image-fill.ts +28 -57
  45. package/server/utils/files/markdown-store.ts +11 -10
  46. package/server/utils/files/path-validator.ts +49 -0
  47. package/server/utils/files/safe.ts +89 -0
  48. package/server/utils/files/spreadsheet-store.ts +6 -35
  49. package/server/utils/files/store-resolvers.ts +58 -0
  50. package/server/utils/files/svg-store.ts +4 -10
  51. package/server/utils/httpError.ts +12 -0
  52. package/server/workspace/chat-index/summarizer.ts +2 -1
  53. package/server/workspace/collections/configure.ts +25 -0
  54. package/server/workspace/collections/index.ts +14 -6
  55. package/server/workspace/collections/notifications.ts +60 -386
  56. package/server/workspace/collections/types.ts +6 -375
  57. package/server/workspace/collections/watcher.ts +18 -397
  58. package/server/workspace/feeds/engine.ts +14 -6
  59. package/server/workspace/feeds/ingestTypes.ts +12 -16
  60. package/server/workspace/feeds/registry.ts +1 -1
  61. package/server/workspace/hooks/handlers/skillBridge.ts +45 -229
  62. package/server/workspace/journal/archivist-cli.ts +9 -8
  63. package/server/workspace/paths.ts +7 -0
  64. package/server/workspace/skills-preset.ts +15 -582
  65. package/server/workspace/workspace.ts +8 -14
  66. package/src/App.vue +95 -6
  67. package/src/components/ChatInput.vue +107 -4
  68. package/src/components/FileContentRenderer.vue +9 -3
  69. package/src/components/SettingsModal.vue +7 -2
  70. package/src/components/SettingsVoiceTab.vue +183 -0
  71. package/src/components/collectionTypes.ts +33 -210
  72. package/src/composables/collections/uiHost.ts +154 -0
  73. package/src/composables/useDynamicFavicon.ts +3 -2
  74. package/src/composables/usePluginErrorBoundary.ts +2 -1
  75. package/src/composables/useVoiceInput.ts +108 -0
  76. package/src/config/apiRoutes.ts +10 -0
  77. package/src/config/pubsubChannels.ts +27 -0
  78. package/src/config/roles.ts +8 -10
  79. package/src/lang/de.ts +22 -111
  80. package/src/lang/en.ts +21 -111
  81. package/src/lang/es.ts +21 -111
  82. package/src/lang/fr.ts +21 -112
  83. package/src/lang/ja.ts +21 -111
  84. package/src/lang/ko.ts +19 -111
  85. package/src/lang/pt-BR.ts +20 -111
  86. package/src/lang/zh.ts +19 -111
  87. package/src/main.ts +3 -0
  88. package/src/plugins/chart/definition.ts +10 -61
  89. package/src/plugins/chart/index.ts +21 -26
  90. package/src/plugins/markdown/definition.ts +11 -78
  91. package/src/plugins/markdown/index.ts +24 -6
  92. package/src/plugins/presentCollection/definition.ts +10 -23
  93. package/src/plugins/presentCollection/index.ts +6 -4
  94. package/src/plugins/presentCollection/plugin.ts +6 -39
  95. package/src/plugins/presentCollection/types.ts +4 -13
  96. package/src/plugins/presentForm/definition.ts +7 -121
  97. package/src/plugins/presentForm/index.ts +20 -11
  98. package/src/plugins/presentForm/plugin.ts +4 -92
  99. package/src/plugins/presentForm/types.ts +18 -85
  100. package/src/plugins/presentHtml/definition.ts +12 -30
  101. package/src/plugins/presentHtml/index.ts +21 -9
  102. package/src/plugins/spreadsheet/View.vue +9 -3
  103. package/src/plugins/spreadsheet/definition.ts +2 -1
  104. package/src/plugins/spreadsheet/engine/calculator.ts +2 -1
  105. package/src/utils/agent/eventDispatch.ts +4 -0
  106. package/src/utils/collections/presentSeed.ts +98 -0
  107. package/src/utils/errors.ts +14 -0
  108. package/src/utils/html/customViewSrcdoc.ts +45 -3
  109. package/src/utils/id.ts +2 -15
  110. package/src/utils/image/rewriteMarkdownImageRefs.ts +3 -1
  111. package/client/assets/index-COpeXkOn.css +0 -2
  112. package/client/assets/purify.es-Fx1Nqyry-BufT4RJl.js +0 -2
  113. package/client/assets/runtime-protocol-vue-D6kcV0wa.js +0 -1
  114. package/server/agent/mcp-tools/x.ts +0 -210
  115. package/server/notifier/store.ts +0 -70
  116. package/server/workspace/collections/delete.ts +0 -186
  117. package/server/workspace/collections/derive.ts +0 -100
  118. package/server/workspace/collections/discovery.ts +0 -776
  119. package/server/workspace/collections/io.ts +0 -346
  120. package/server/workspace/collections/paths.ts +0 -125
  121. package/server/workspace/collections/spawn.ts +0 -213
  122. package/server/workspace/collections/templatePath.ts +0 -51
  123. package/server/workspace/collections/validate.ts +0 -118
  124. package/server/workspace/collections/views.ts +0 -98
  125. package/server/workspace/helps/billing-clients-worklog.md +0 -215
  126. package/server/workspace/helps/billing-invoice.md +0 -458
  127. package/server/workspace/helps/business.md +0 -104
  128. package/server/workspace/helps/collection-skills.md +0 -733
  129. package/server/workspace/helps/custom-view.md +0 -318
  130. package/server/workspace/helps/feeds.md +0 -114
  131. package/server/workspace/helps/gemini.md +0 -57
  132. package/server/workspace/helps/github.md +0 -23
  133. package/server/workspace/helps/guide.md +0 -61
  134. package/server/workspace/helps/index.md +0 -75
  135. package/server/workspace/helps/lessons-collection.md +0 -400
  136. package/server/workspace/helps/mulmoscript.md +0 -249
  137. package/server/workspace/helps/portfolio-tracker.md +0 -211
  138. package/server/workspace/helps/presentation-deck.md +0 -828
  139. package/server/workspace/helps/presenthtml.md +0 -89
  140. package/server/workspace/helps/sandbox.md +0 -97
  141. package/server/workspace/helps/spreadsheet.md +0 -43
  142. package/server/workspace/helps/storyteller.md +0 -101
  143. package/server/workspace/helps/telegram.md +0 -136
  144. package/server/workspace/helps/todo-collection.md +0 -140
  145. package/server/workspace/helps/vocabulary.md +0 -109
  146. package/server/workspace/helps/wiki.md +0 -168
  147. package/server/workspace/skills-preset/mc-cooking-coach/SKILL.md +0 -217
  148. package/server/workspace/skills-preset/mc-library/SKILL.md +0 -188
  149. package/server/workspace/skills-preset/mc-manage-automations/SKILL.md +0 -119
  150. package/server/workspace/skills-preset/mc-manage-skills/SKILL.md +0 -141
  151. package/server/workspace/skills-preset/mc-wiki-deep-lint/SKILL.md +0 -108
  152. package/server/workspace/skills-preset/mc-wiki-health-check/SKILL.md +0 -61
  153. package/server/workspace/skills-preset/mc-wiki-ingest/SKILL.md +0 -182
  154. package/server/workspace/skills-preset/mc-wiki-promote/SKILL.md +0 -175
  155. package/src/components/CollectionCalendarView.vue +0 -243
  156. package/src/components/CollectionCustomView.vue +0 -152
  157. package/src/components/CollectionDayView.vue +0 -308
  158. package/src/components/CollectionEmbedView.vue +0 -69
  159. package/src/components/CollectionKanbanView.vue +0 -214
  160. package/src/components/CollectionRecordModal.vue +0 -93
  161. package/src/components/CollectionRecordPanel.vue +0 -567
  162. package/src/components/CollectionView.vue +0 -2131
  163. package/src/components/CollectionViewConfigModal.vue +0 -108
  164. package/src/components/CollectionsIndexView.vue +0 -152
  165. package/src/components/FeedsView.vue +0 -225
  166. package/src/components/collectionEmbed.ts +0 -29
  167. package/src/composables/collections/useCollectionRendering.ts +0 -327
  168. package/src/plugins/chart/Preview.vue +0 -49
  169. package/src/plugins/chart/View.vue +0 -148
  170. package/src/plugins/markdown/MarpSplitEditor.vue +0 -73
  171. package/src/plugins/markdown/MarpView.vue +0 -301
  172. package/src/plugins/markdown/Preview.vue +0 -102
  173. package/src/plugins/markdown/View.vue +0 -824
  174. package/src/plugins/presentCollection/Preview.vue +0 -30
  175. package/src/plugins/presentCollection/View.vue +0 -81
  176. package/src/plugins/presentForm/Preview.vue +0 -88
  177. package/src/plugins/presentForm/View.vue +0 -682
  178. package/src/plugins/presentHtml/Preview.vue +0 -18
  179. package/src/plugins/presentHtml/View.vue +0 -431
  180. package/src/utils/collections/actionVisible.ts +0 -55
  181. package/src/utils/collections/calendarGrid.ts +0 -328
  182. package/src/utils/collections/collectionViewMode.ts +0 -105
  183. package/src/utils/collections/deriveAll.ts +0 -83
  184. package/src/utils/collections/derivedFormula.ts +0 -364
  185. package/src/utils/collections/draft.ts +0 -160
  186. package/src/utils/collections/enumColors.ts +0 -130
  187. package/src/utils/collections/itemLabel.ts +0 -42
  188. package/src/utils/collections/sortItems.ts +0 -110
  189. package/src/utils/promptSafety.ts +0 -14
  190. /package/client/assets/{_plugin-vue_export-helper-BOai-rQB.js → _plugin-vue_export-helper-B67ILkmu.js} +0 -0
  191. /package/client/assets/{schemas-DuYzyHQc.js → schemas-D_RbFtuQ.js} +0 -0
  192. /package/client/assets/{vue-D4w8THF_.js → vue-UDIWDtr8.js} +0 -0
@@ -115,7 +115,7 @@ ${cliFlagHelpLines()}
115
115
  }
116
116
 
117
117
  if (args.includes("--version")) {
118
- console.log("mulmoclaude 0.8.0");
118
+ console.log("mulmoclaude 0.9.0");
119
119
  process.exit(0);
120
120
  }
121
121
 
@@ -1,4 +1,4 @@
1
- import{Pt as e,Rt as t,Wt as n,X as r,Yn as i,ar as a,at as o,q as s,yn as c}from"./vue.runtime.esm-bundler-BTyIdNAI.js";import{n as l}from"./vue-i18n-CQbxVmNs.js";import{t as u}from"./_plugin-vue_export-helper-BOai-rQB.js";var d=[],f=[];(()=>{let e=`lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o`.split(`,`).map(e=>e?parseInt(e,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?f:d).push(n+=e[t])})();function p(e){if(e<768)return!1;for(let t=0,n=d.length;;){let r=t+n>>1;if(e<d[r])n=r;else if(e>=f[r])t=r+1;else return!0;if(t==n)return!1}}function m(e){return e>=127462&&e<=127487}var h=8205;function g(e,t,n=!0,r=!0){return(n?_:v)(e,t,r)}function _(e,t,n){if(t==e.length)return t;t&&ee(e.charCodeAt(t))&&b(e.charCodeAt(t-1))&&t--;let r=y(e,t);for(t+=x(r);t<e.length;){let i=y(e,t);if(r==h||i==h||n&&p(i))t+=x(i),r=i;else if(m(i)){let n=0,r=t-2;for(;r>=0&&m(y(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function v(e,t,n){for(;t>0;){let r=_(e,t-2,n);if(r<t)return r;t--}return 0}function y(e,t){let n=e.charCodeAt(t);if(!b(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return ee(r)?(n-55296<<10)+(r-56320)+65536:n}function ee(e){return e>=56320&&e<57344}function b(e){return e>=55296&&e<56320}function x(e){return e<65536?1:2}var S=class e{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=ce(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),te.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=ce(this,e,t);let n=[];return this.decompose(e,t,n,0),te.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new w(this),i=new w(e);for(let e=t,a=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new w(this,e)}iterRange(e,t=this.length){return new ae(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t??=this.lines+1;let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new oe(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(t){if(t.length==0)throw RangeError(`A document must have at least one line`);return t.length==1&&!t[0]?e.empty:t.length<=32?new C(t):te.from(C.split(t,[]))}},C=class e extends S{constructor(e,t=ne(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new se(r,o,n,a);r=o+1,n++}}decompose(t,n,r,i){let a=t<=0&&n>=this.length?this:new e(ie(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(i&1){let t=r.pop(),n=re(a.text,t.text.slice(),0,a.length);if(n.length<=32)r.push(new e(n,t.length+a.length));else{let t=n.length>>1;r.push(new e(n.slice(0,t)),new e(n.slice(t)))}}else r.push(a)}replace(t,n,r){if(!(r instanceof e))return super.replace(t,n,r);[t,n]=ce(this,t,n);let i=re(this.text,re(r.text,ie(this.text,0,t)),n),a=this.length+r.length-(n-t);return i.length<=32?new e(i,a):te.from(e.split(i,[]),a)}sliceString(e,t=this.length,n=`
1
+ import{Pt as e,Rt as t,Wt as n,X as r,Yn as i,ar as a,at as o,q as s,yn as c}from"./vue.runtime.esm-bundler-BTyIdNAI.js";import{n as l}from"./vue-i18n-CQbxVmNs.js";import{t as u}from"./_plugin-vue_export-helper-B67ILkmu.js";var d=[],f=[];(()=>{let e=`lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o`.split(`,`).map(e=>e?parseInt(e,36):1);for(let t=0,n=0;t<e.length;t++)(t%2?f:d).push(n+=e[t])})();function p(e){if(e<768)return!1;for(let t=0,n=d.length;;){let r=t+n>>1;if(e<d[r])n=r;else if(e>=f[r])t=r+1;else return!0;if(t==n)return!1}}function m(e){return e>=127462&&e<=127487}var h=8205;function g(e,t,n=!0,r=!0){return(n?_:v)(e,t,r)}function _(e,t,n){if(t==e.length)return t;t&&ee(e.charCodeAt(t))&&b(e.charCodeAt(t-1))&&t--;let r=y(e,t);for(t+=x(r);t<e.length;){let i=y(e,t);if(r==h||i==h||n&&p(i))t+=x(i),r=i;else if(m(i)){let n=0,r=t-2;for(;r>=0&&m(y(e,r));)n++,r-=2;if(n%2==0)break;t+=2}else break}return t}function v(e,t,n){for(;t>0;){let r=_(e,t-2,n);if(r<t)return r;t--}return 0}function y(e,t){let n=e.charCodeAt(t);if(!b(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return ee(r)?(n-55296<<10)+(r-56320)+65536:n}function ee(e){return e>=56320&&e<57344}function b(e){return e>=55296&&e<56320}function x(e){return e<65536?1:2}var S=class e{lineAt(e){if(e<0||e>this.length)throw RangeError(`Invalid position ${e} in document of length ${this.length}`);return this.lineInner(e,!1,1,0)}line(e){if(e<1||e>this.lines)throw RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,n){[e,t]=ce(this,e,t);let r=[];return this.decompose(0,e,r,2),n.length&&n.decompose(0,n.length,r,3),this.decompose(t,this.length,r,1),te.from(r,this.length-(t-e)+n.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=ce(this,e,t);let n=[];return this.decompose(e,t,n,0),te.from(n,t-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let t=this.scanIdentical(e,1),n=this.length-this.scanIdentical(e,-1),r=new w(this),i=new w(e);for(let e=t,a=t;;){if(r.next(e),i.next(e),e=0,r.lineBreak!=i.lineBreak||r.done!=i.done||r.value!=i.value)return!1;if(a+=r.value.length,r.done||a>=n)return!0}}iter(e=1){return new w(this,e)}iterRange(e,t=this.length){return new ae(this,e,t)}iterLines(e,t){let n;if(e==null)n=this.iter();else{t??=this.lines+1;let r=this.line(e).from;n=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new oe(n)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(t){if(t.length==0)throw RangeError(`A document must have at least one line`);return t.length==1&&!t[0]?e.empty:t.length<=32?new C(t):te.from(C.split(t,[]))}},C=class e extends S{constructor(e,t=ne(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.text[i],o=r+a.length;if((t?n:o)>=e)return new se(r,o,n,a);r=o+1,n++}}decompose(t,n,r,i){let a=t<=0&&n>=this.length?this:new e(ie(this.text,t,n),Math.min(n,this.length)-Math.max(0,t));if(i&1){let t=r.pop(),n=re(a.text,t.text.slice(),0,a.length);if(n.length<=32)r.push(new e(n,t.length+a.length));else{let t=n.length>>1;r.push(new e(n.slice(0,t)),new e(n.slice(t)))}}else r.push(a)}replace(t,n,r){if(!(r instanceof e))return super.replace(t,n,r);[t,n]=ce(this,t,n);let i=re(this.text,re(r.text,ie(this.text,0,t)),n),a=this.length+r.length-(n-t);return i.length<=32?new e(i,a):te.from(e.split(i,[]),a)}sliceString(e,t=this.length,n=`
2
2
  `){[e,t]=ce(this,e,t);let r=``;for(let i=0,a=0;i<=t&&a<this.text.length;a++){let o=this.text[a],s=i+o.length;i>e&&a&&(r+=n),e<s&&t>i&&(r+=o.slice(Math.max(0,e-i),t-i)),i=s+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(t,n){let r=[],i=-1;for(let a of t)r.push(a),i+=a.length+1,r.length==32&&(n.push(new e(r,i)),r=[],i=-1);return i>-1&&n.push(new e(r,i)),n}},te=class e extends S{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let t of e)this.lines+=t.lines}lineInner(e,t,n,r){for(let i=0;;i++){let a=this.children[i],o=r+a.length,s=n+a.lines-1;if((t?s:o)>=e)return a.lineInner(e,t,n,r);r=o+1,n=s+1}}decompose(e,t,n,r){for(let i=0,a=0;a<=t&&i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(e<=s&&t>=a){let i=r&(a<=e|(s>=t?2:0));a>=e&&s<=t&&!i?n.push(o):o.decompose(e-a,t-a,n,i)}a=s+1}}replace(t,n,r){if([t,n]=ce(this,t,n),r.lines<this.lines)for(let i=0,a=0;i<this.children.length;i++){let o=this.children[i],s=a+o.length;if(t>=a&&n<=s){let c=o.replace(t-a,n-a,r),l=this.lines-o.lines+c.lines;if(c.lines<l>>4&&c.lines>l>>6){let a=this.children.slice();return a[i]=c,new e(a,this.length-(n-t)+r.length)}return super.replace(a,s,c)}a=s+1}return super.replace(t,n,r)}sliceString(e,t=this.length,n=`
3
3
  `){[e,t]=ce(this,e,t);let r=``;for(let i=0,a=0;i<this.children.length&&a<=t;i++){let o=this.children[i],s=a+o.length;a>e&&i&&(r+=n),e<s&&t>a&&(r+=o.sliceString(e-a,t-a,n)),a=s+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(t,n){if(!(t instanceof e))return 0;let r=0,[i,a,o,s]=n>0?[0,0,this.children.length,t.children.length]:[this.children.length-1,t.children.length-1,-1,-1];for(;;i+=n,a+=n){if(i==o||a==s)return r;let e=this.children[i],c=t.children[a];if(e!=c)return r+e.scanIdentical(c,n);r+=e.length+1}}static from(t,n=t.reduce((e,t)=>e+t.length+1,-1)){let r=0;for(let e of t)r+=e.lines;if(r<32){let e=[];for(let n of t)n.flatten(e);return new C(e,n)}let i=Math.max(32,r>>5),a=i<<1,o=i>>1,s=[],c=0,l=-1,u=[];function d(t){let n;if(t.lines>a&&t instanceof e)for(let e of t.children)d(e);else t.lines>o&&(c>o||!c)?(f(),s.push(t)):t instanceof C&&c&&(n=u[u.length-1])instanceof C&&t.lines+n.lines<=32?(c+=t.lines,l+=t.length+1,u[u.length-1]=new C(n.text.concat(t.text),n.length+1+t.length)):(c+t.lines>i&&f(),c+=t.lines,l+=t.length+1,u.push(t))}function f(){c!=0&&(s.push(u.length==1?u[0]:e.from(u,l)),l=-1,c=u.length=0)}for(let e of t)d(e);return f(),s.length==1?s[0]:new e(s,n)}};S.empty=new C([``],0);function ne(e){let t=-1;for(let n of e)t+=n.length+1;return t}function re(e,t,n=0,r=1e9){for(let i=0,a=0,o=!0;a<e.length&&i<=r;a++){let s=e[a],c=i+s.length;c>=n&&(c>r&&(s=s.slice(0,r-i)),i<n&&(s=s.slice(n-i)),o?(t[t.length-1]+=s,o=!1):t.push(s)),i=c+1}return t}function ie(e,t,n){return re(e,[``],t,n)}var w=class{constructor(e,t=1){this.dir=t,this.done=!1,this.lineBreak=!1,this.value=``,this.nodes=[e],this.offsets=[t>0?1:(e instanceof C?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let n=this.nodes.length-1,r=this.nodes[n],i=this.offsets[n],a=i>>1,o=r instanceof C?r.text.length:r.children.length;if(a==(t>0?o:0)){if(n==0)return this.done=!0,this.value=``,this;t>0&&this.offsets[n-1]++,this.nodes.pop(),this.offsets.pop()}else if((i&1)==(t>0?0:1)){if(this.offsets[n]+=t,e==0)return this.lineBreak=!0,this.value=`
4
4
  `,this;e--}else if(r instanceof C){let i=r.text[a+(t<0?-1:0)];if(this.offsets[n]+=t,i.length>Math.max(0,e))return this.value=e==0?i:t>0?i.slice(e):i.slice(0,i.length-e),this;e-=i.length}else{let i=r.children[a+(t<0?-1:0)];e>i.length?(e-=i.length,this.offsets[n]+=t):(t<0&&this.offsets[n]--,this.nodes.push(i),this.offsets.push(t>0?1:(i instanceof C?i.text.length:i.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},ae=class{constructor(e,t,n){this.value=``,this.done=!1,this.cursor=new w(e,t>n?-1:1),this.pos=t>n?e.length:0,this.from=Math.min(t,n),this.to=Math.max(t,n)}nextInner(e,t){if(t<0?this.pos<=this.from:this.pos>=this.to)return this.value=``,this.done=!0,this;e+=Math.max(0,t<0?this.pos-this.to:this.from-this.pos);let n=t<0?this.pos-this.from:this.to-this.pos;e>n&&(e=n),n-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=n?r:t<0?r.slice(r.length-n):r.slice(0,n),this.done=!this.value,this}next(e=0){return e<0?e=Math.max(e,this.from-this.pos):e>0&&(e=Math.min(e,this.to-this.pos)),this.nextInner(e,this.cursor.dir)}get lineBreak(){return this.cursor.lineBreak&&this.value!=``}},oe=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value=``,this.done=!1}next(e=0){let{done:t,lineBreak:n,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value=``,this.afterBreak=!1):t?(this.done=!0,this.value=``):n?this.afterBreak?this.value=``:(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<`u`&&(S.prototype[Symbol.iterator]=function(){return this.iter()},w.prototype[Symbol.iterator]=ae.prototype[Symbol.iterator]=oe.prototype[Symbol.iterator]=function(){return this});var se=class{constructor(e,t,n,r){this.from=e,this.to=t,this.number=n,this.text=r}get length(){return this.to-this.from}};function ce(e,t,n){return t=Math.max(0,Math.min(e.length,t)),[t,Math.max(t,Math.min(e.length,n))]}function T(e,t,n=!0,r=!0){return g(e,t,n,r)}function le(e){return e>=56320&&e<57344}function ue(e){return e>=55296&&e<56320}function de(e,t){let n=e.charCodeAt(t);if(!ue(n)||t+1==e.length)return n;let r=e.charCodeAt(t+1);return le(r)?(n-55296<<10)+(r-56320)+65536:n}function fe(e){return e<65536?1:2}var pe=/\r\n?|\n/,E=(function(e){return e[e.Simple=0]=`Simple`,e[e.TrackDel=1]=`TrackDel`,e[e.TrackBefore=2]=`TrackBefore`,e[e.TrackAfter=3]=`TrackAfter`,e})(E||={}),me=class e{constructor(e){this.sections=e}get length(){let e=0;for(let t=0;t<this.sections.length;t+=2)e+=this.sections[t];return e}get newLength(){let e=0;for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t+1];e+=n<0?this.sections[t]:n}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,n=0,r=0;t<this.sections.length;){let i=this.sections[t++],a=this.sections[t++];a<0?(e(n,r,i),r+=i):r+=a,n+=i}}iterChangedRanges(e,t=!1){_e(this,e,t)}get invertedDesc(){let t=[];for(let e=0;e<this.sections.length;){let n=this.sections[e++],r=this.sections[e++];r<0?t.push(n,r):t.push(r,n)}return new e(t)}composeDesc(e){return this.empty?e:e.empty?this:ye(this,e)}mapDesc(e,t=!1){return e.empty?this:ve(this,e,t)}mapPos(e,t=-1,n=E.Simple){let r=0,i=0;for(let a=0;a<this.sections.length;){let o=this.sections[a++],s=this.sections[a++],c=r+o;if(s<0){if(c>e)return i+(e-r);i+=o}else{if(n!=E.Simple&&c>=e&&(n==E.TrackDel&&r<e&&c>e||n==E.TrackBefore&&r<e||n==E.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!o)return e==r||t<0?i:i+s;i+=s}r=c}if(e>r)throw RangeError(`Position ${e} is out of range for changeset of length ${r}`);return i}touchesRange(e,t=e){for(let n=0,r=0;n<this.sections.length&&r<=t;){let i=this.sections[n++],a=this.sections[n++],o=r+i;if(a>=0&&r<=t&&o>=e)return r<e&&o>t?`cover`:!0;r=o}return!1}toString(){let e=``;for(let t=0;t<this.sections.length;){let n=this.sections[t++],r=this.sections[t++];e+=(e?` `:``)+n+(r>=0?`:`+r:``)}return e}toJSON(){return this.sections}static fromJSON(t){if(!Array.isArray(t)||t.length%2||t.some(e=>typeof e!=`number`))throw RangeError(`Invalid JSON representation of ChangeDesc`);return new e(t)}static create(t){return new e(t)}},he=class e extends me{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw RangeError(`Applying change set to a document with the wrong length`);return _e(this,(t,n,r,i,a)=>e=e.replace(r,r+(n-t),a),!1),e}mapDesc(e,t=!1){return ve(this,e,t,!0)}invert(t){let n=this.sections.slice(),r=[];for(let e=0,i=0;e<n.length;e+=2){let a=n[e],o=n[e+1];if(o>=0){n[e]=o,n[e+1]=a;let s=e>>1;for(;r.length<s;)r.push(S.empty);r.push(a?t.slice(i,i+a):S.empty)}i+=a}return new e(n,r)}compose(e){return this.empty?e:e.empty?this:ye(this,e,!0)}map(e,t=!1){return e.empty?this:ve(this,e,t,!0)}iterChanges(e,t=!1){_e(this,e,t)}get desc(){return me.create(this.sections)}filter(t){let n=[],r=[],i=[],a=new be(this);done:for(let e=0,o=0;;){let s=e==t.length?1e9:t[e++];for(;o<s||o==s&&a.len==0;){if(a.done)break done;let e=Math.min(a.len,s-o);D(i,e,-1);let t=a.ins==-1?-1:a.off==0?a.ins:0;D(n,e,t),t>0&&ge(r,n,a.text),a.forward(e),o+=e}let c=t[e++];for(;o<c;){if(a.done)break done;let e=Math.min(a.len,c-o);D(n,e,-1),D(i,e,a.ins==-1?-1:a.off==0?a.ins:0),a.forward(e),o+=e}}return{changes:new e(n,r),filtered:me.create(i)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let n=this.sections[t],r=this.sections[t+1];r<0?e.push(n):r==0?e.push([n]):e.push([n].concat(this.inserted[t>>1].toJSON()))}return e}static of(t,n,r){let i=[],a=[],o=0,s=null;function c(t=!1){if(!t&&!i.length)return;o<n&&D(i,n-o,-1);let r=new e(i,a);s=s?s.compose(r.map(s)):r,i=[],a=[],o=0}function l(t){if(Array.isArray(t))for(let e of t)l(e);else if(t instanceof e){if(t.length!=n)throw RangeError(`Mismatched change set length (got ${t.length}, expected ${n})`);c(),s=s?s.compose(t.map(s)):t}else{let{from:e,to:s=e,insert:l}=t;if(e>s||e<0||s>n)throw RangeError(`Invalid change range ${e} to ${s} (in doc of length ${n})`);let u=l?typeof l==`string`?S.of(l.split(r||pe)):l:S.empty,d=u.length;if(e==s&&d==0)return;e<o&&c(),e>o&&D(i,e-o,-1),D(i,s-e,d),ge(a,i,u),o=s}}return l(t),c(!s),s}static empty(t){return new e(t?[t,-1]:[],[])}static fromJSON(t){if(!Array.isArray(t))throw RangeError(`Invalid JSON representation of ChangeSet`);let n=[],r=[];for(let e=0;e<t.length;e++){let i=t[e];if(typeof i==`number`)n.push(i,-1);else if(!Array.isArray(i)||typeof i[0]!=`number`||i.some((e,t)=>t&&typeof e!=`string`))throw RangeError(`Invalid JSON representation of ChangeSet`);else if(i.length==1)n.push(i[0],0);else{for(;r.length<e;)r.push(S.empty);r[e]=S.of(i.slice(1)),n.push(i[0],r[e].length)}}return new e(n,r)}static createSet(t,n){return new e(t,n)}};function D(e,t,n,r=!1){if(t==0&&n<=0)return;let i=e.length-2;i>=0&&n<=0&&n==e[i+1]?e[i]+=t:i>=0&&t==0&&e[i]==0?e[i+1]+=n:r?(e[i]+=t,e[i+1]+=n):e.push(t,n)}function ge(e,t,n){if(n.length==0)return;let r=t.length-2>>1;if(r<e.length)e[e.length-1]=e[e.length-1].append(n);else{for(;e.length<r;)e.push(S.empty);e.push(n)}}function _e(e,t,n){let r=e.inserted;for(let i=0,a=0,o=0;o<e.sections.length;){let s=e.sections[o++],c=e.sections[o++];if(c<0)i+=s,a+=s;else{let l=i,u=a,d=S.empty;for(;l+=s,u+=c,c&&r&&(d=d.append(r[o-2>>1])),!(n||o==e.sections.length||e.sections[o+1]<0);)s=e.sections[o++],c=e.sections[o++];t(i,l,a,u,d),i=l,a=u}}}function ve(e,t,n,r=!1){let i=[],a=r?[]:null,o=new be(e),s=new be(t);for(let e=-1;;)if(o.done&&s.len||s.done&&o.len)throw Error(`Mismatched change set lengths`);else if(o.ins==-1&&s.ins==-1){let e=Math.min(o.len,s.len);D(i,e,-1),o.forward(e),s.forward(e)}else if(s.ins>=0&&(o.ins<0||e==o.i||o.off==0&&(s.len<o.len||s.len==o.len&&!n))){let t=s.len;for(D(i,s.ins,-1);t;){let n=Math.min(o.len,t);o.ins>=0&&e<o.i&&o.len<=n&&(D(i,0,o.ins),a&&ge(a,i,o.text),e=o.i),o.forward(n),t-=n}s.next()}else if(o.ins>=0){let t=0,n=o.len;for(;n;)if(s.ins==-1){let e=Math.min(n,s.len);t+=e,n-=e,s.forward(e)}else if(s.ins==0&&s.len<n)n-=s.len,s.next();else break;D(i,t,e<o.i?o.ins:0),a&&e<o.i&&ge(a,i,o.text),e=o.i,o.forward(o.len-n)}else if(o.done&&s.done)return a?he.createSet(i,a):me.create(i);else throw Error(`Mismatched change set lengths`)}function ye(e,t,n=!1){let r=[],i=n?[]:null,a=new be(e),o=new be(t);for(let e=!1;;)if(a.done&&o.done)return i?he.createSet(r,i):me.create(r);else if(a.ins==0)D(r,a.len,0,e),a.next();else if(o.len==0&&!o.done)D(r,0,o.ins,e),i&&ge(i,r,o.text),o.next();else if(a.done||o.done)throw Error(`Mismatched change set lengths`);else{let t=Math.min(a.len2,o.len),n=r.length;if(a.ins==-1){let n=o.ins==-1?-1:o.off?0:o.ins;D(r,t,n,e),i&&n&&ge(i,r,o.text)}else o.ins==-1?(D(r,a.off?0:a.len,t,e),i&&ge(i,r,a.textBit(t))):(D(r,a.off?0:a.len,o.off?0:o.ins,e),i&&!o.off&&ge(i,r,o.text));e=(a.ins>t||o.ins>=0&&o.len>t)&&(e||r.length>n),a.forward2(t),o.forward(t)}}var be=class{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i<e.length?(this.len=e[this.i++],this.ins=e[this.i++]):(this.len=0,this.ins=-2),this.off=0}get done(){return this.ins==-2}get len2(){return this.ins<0?this.len:this.ins}get text(){let{inserted:e}=this.set,t=this.i-2>>1;return t>=e.length?S.empty:e[t]}textBit(e){let{inserted:t}=this.set,n=this.i-2>>1;return n>=t.length&&!e?S.empty:t[n].slice(this.off,e==null?void 0:this.off+e)}forward(e){e==this.len?this.next():(this.len-=e,this.off+=e)}forward2(e){this.ins==-1?this.forward(e):e==this.ins?this.next():(this.ins-=e,this.off+=e)}},xe=class e{constructor(e,t,n){this.from=e,this.to=t,this.flags=n}get anchor(){return this.flags&32?this.to:this.from}get head(){return this.flags&32?this.from:this.to}get empty(){return this.from==this.to}get assoc(){return this.flags&8?-1:this.flags&16?1:0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(t,n=-1){let r,i;return this.empty?r=i=t.mapPos(this.from,n):(r=t.mapPos(this.from,1),i=t.mapPos(this.to,-1)),r==this.from&&i==this.to?this:new e(r,i,this.flags)}extend(e,t=e,n=0){if(e<=this.anchor&&t>=this.anchor)return O.range(e,t,void 0,void 0,n);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return O.range(this.anchor,r,void 0,void 0,n)}eq(e,t=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!t||!this.empty||this.assoc==e.assoc)}toJSON(){return{anchor:this.anchor,head:this.head}}static fromJSON(e){if(!e||typeof e.anchor!=`number`||typeof e.head!=`number`)throw RangeError(`Invalid JSON representation for SelectionRange`);return O.range(e.anchor,e.head)}static create(t,n,r){return new e(t,n,r)}},O=class e{constructor(e,t){this.ranges=e,this.mainIndex=t}map(t,n=-1){return t.empty?this:e.create(this.ranges.map(e=>e.map(t,n)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let n=0;n<this.ranges.length;n++)if(!this.ranges[n].eq(e.ranges[n],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new e([this.main],0)}addRange(t,n=!0){return e.create([t].concat(this.ranges),n?0:this.mainIndex+1)}replaceRange(t,n=this.mainIndex){let r=this.ranges.slice();return r[n]=t,e.create(r,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(t){if(!t||!Array.isArray(t.ranges)||typeof t.main!=`number`||t.main>=t.ranges.length)throw RangeError(`Invalid JSON representation for EditorSelection`);return new e(t.ranges.map(e=>xe.fromJSON(e)),t.main)}static single(t,n=t){return new e([e.range(t,n)],0)}static create(t,n=0){if(t.length==0)throw RangeError(`A selection needs at least one range`);for(let r=0,i=0;i<t.length;i++){let a=t[i];if(a.empty?a.from<=r:a.from<r)return e.normalized(t.slice(),n);r=a.to}return new e(t,n)}static cursor(e,t=0,n,r){return xe.create(e,e,(t==0?0:t<0?8:16)|(n==null?7:Math.min(6,n))|(r??16777215)<<6)}static range(e,t,n,r,i){let a=(n??16777215)<<6|(r==null?7:Math.min(6,r));return!i&&e!=t&&(i=t<e?1:-1),t<e?xe.create(t,e,48|a):xe.create(e,t,(i?i<0?8:16:0)|a)}static normalized(t,n=0){let r=t[n];t.sort((e,t)=>e.from-t.from),n=t.indexOf(r);for(let r=1;r<t.length;r++){let i=t[r],a=t[r-1];if(i.empty?i.from<=a.to:i.from<a.to){let o=a.from,s=Math.max(i.to,a.to);r<=n&&n--,t.splice(--r,2,i.anchor>i.head?e.range(s,o):e.range(o,s))}}return new e(t,n)}};function Se(e,t){for(let n of e.ranges)if(n.to>t)throw RangeError(`Selection points outside of document`)}var Ce=0,k=class e{constructor(e,t,n,r,i){this.combine=e,this.compareInput=t,this.compare=n,this.isStatic=r,this.id=Ce++,this.default=e([]),this.extensions=typeof i==`function`?i(this):i}get reader(){return this}static define(t={}){return new e(t.combine||(e=>e),t.compareInput||((e,t)=>e===t),t.compare||(t.combine?(e,t)=>e===t:we),!!t.static,t.enables)}of(e){return new Te([],this,0,e)}compute(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new Te(e,this,1,t)}computeN(e,t){if(this.isStatic)throw Error(`Can't compute a static facet`);return new Te(e,this,2,t)}from(e,t){return t||=e=>e,this.compute([e],n=>t(n.field(e)))}};function we(e,t){return e==t||e.length==t.length&&e.every((e,n)=>e===t[n])}var Te=class{constructor(e,t,n,r){this.dependencies=e,this.facet=t,this.type=n,this.value=r,this.id=Ce++}dynamicSlot(e){let t=this.value,n=this.facet.compareInput,r=this.id,i=e[r]>>1,a=this.type==2,o=!1,s=!1,c=[];for(let t of this.dependencies)t==`doc`?o=!0:t==`selection`?s=!0:(e[t.id]??1)&1||c.push(e[t.id]);return{create(e){return e.values[i]=t(e),1},update(e,r){if(o&&r.docChanged||s&&(r.docChanged||r.selection)||De(e,c)){let r=t(e);if(a?!Ee(r,e.values[i],n):!n(r,e.values[i]))return e.values[i]=r,1}return 0},reconfigure:(e,o)=>{let s,c=o.config.address[r];if(c!=null){let r=Be(o,c);if(this.dependencies.every(t=>t instanceof k?o.facet(t)===e.facet(t):t instanceof Ae?o.field(t,!1)==e.field(t,!1):!0)||(a?Ee(s=t(e),r,n):n(s=t(e),r)))return e.values[i]=r,0}else s=t(e);return e.values[i]=s,1}}}};function Ee(e,t,n){if(e.length!=t.length)return!1;for(let r=0;r<e.length;r++)if(!n(e[r],t[r]))return!1;return!0}function De(e,t){let n=!1;for(let r of t)ze(e,r)&1&&(n=!0);return n}function Oe(e,t,n){let r=n.map(t=>e[t.id]),i=n.map(e=>e.type),a=r.filter(e=>!(e&1)),o=e[t.id]>>1;function s(e){let n=[];for(let t=0;t<r.length;t++){let a=Be(e,r[t]);if(i[t]==2)for(let e of a)n.push(e);else n.push(a)}return t.combine(n)}return{create(e){for(let t of r)ze(e,t);return e.values[o]=s(e),1},update(e,n){if(!De(e,a))return 0;let r=s(e);return t.compare(r,e.values[o])?0:(e.values[o]=r,1)},reconfigure(e,i){let a=De(e,r),c=i.config.facets[t.id],l=i.facet(t);if(c&&!a&&we(n,c))return e.values[o]=l,0;let u=s(e);return t.compare(u,l)?(e.values[o]=l,0):(e.values[o]=u,1)}}}var ke=k.define({static:!0}),Ae=class e{constructor(e,t,n,r,i){this.id=e,this.createF=t,this.updateF=n,this.compareF=r,this.spec=i,this.provides=void 0}static define(t){let n=new e(Ce++,t.create,t.update,t.compare||((e,t)=>e===t),t);return t.provide&&(n.provides=t.provide(n)),n}create(e){return(e.facet(ke).find(e=>e.field==this)?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:e=>(e.values[t]=this.create(e),1),update:(e,n)=>{let r=e.values[t],i=this.updateF(r,n);return this.compareF(r,i)?0:(e.values[t]=i,1)},reconfigure:(e,n)=>{let r=e.facet(ke),i=n.facet(ke),a;return(a=r.find(e=>e.field==this))&&a!=i.find(e=>e.field==this)?(e.values[t]=a.create(e),1):n.config.address[this.id]==null?(e.values[t]=this.create(e),1):(e.values[t]=n.field(this),0)}}}init(e){return[this,ke.of({field:this,create:e})]}get extension(){return this}},je={lowest:4,low:3,default:2,high:1,highest:0};function Me(e){return t=>new Pe(t,e)}var Ne={highest:Me(je.highest),high:Me(je.high),default:Me(je.default),low:Me(je.low),lowest:Me(je.lowest)},Pe=class{constructor(e,t){this.inner=e,this.prec=t}},Fe=class e{of(e){return new Ie(this,e)}reconfigure(t){return e.reconfigure.of({compartment:this,extension:t})}get(e){return e.config.compartments.get(this)}},Ie=class{constructor(e,t){this.compartment=e,this.inner=t}},Le=class e{constructor(e,t,n,r,i,a){for(this.base=e,this.compartments=t,this.dynamicSlots=n,this.address=r,this.staticValues=i,this.facets=a,this.statusTemplate=[];this.statusTemplate.length<n.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(t,n,r){let i=[],a=Object.create(null),o=new Map;for(let e of Re(t,n,o))e instanceof Ae?i.push(e):(a[e.facet.id]||(a[e.facet.id]=[])).push(e);let s=Object.create(null),c=[],l=[];for(let e of i)s[e.id]=l.length<<1,l.push(t=>e.slot(t));let u=r?.config.facets;for(let e in a){let t=a[e],n=t[0].facet,i=u&&u[e]||[];if(t.every(e=>e.type==0))if(s[n.id]=c.length<<1|1,we(i,t))c.push(r.facet(n));else{let e=n.combine(t.map(e=>e.value));c.push(r&&n.compare(e,r.facet(n))?r.facet(n):e)}else{for(let e of t)e.type==0?(s[e.id]=c.length<<1|1,c.push(e.value)):(s[e.id]=l.length<<1,l.push(t=>e.dynamicSlot(t)));s[n.id]=l.length<<1,l.push(e=>Oe(e,n,t))}}return new e(t,o,l.map(e=>e(s)),s,c,a)}};function Re(e,t,n){let r=[[],[],[],[],[]],i=new Map;function a(e,o){let s=i.get(e);if(s!=null){if(s<=o)return;let t=r[s].indexOf(e);t>-1&&r[s].splice(t,1),e instanceof Ie&&n.delete(e.compartment)}if(i.set(e,o),Array.isArray(e))for(let t of e)a(t,o);else if(e instanceof Ie){if(n.has(e.compartment))throw RangeError(`Duplicate use of compartment in extensions`);let r=t.get(e.compartment)||e.inner;n.set(e.compartment,r),a(r,o)}else if(e instanceof Pe)a(e.inner,e.prec);else if(e instanceof Ae)r[o].push(e),e.provides&&a(e.provides,o);else if(e instanceof Te)r[o].push(e),e.facet.extensions&&a(e.facet.extensions,je.default);else{let t=e.extension;if(!t)throw Error(`Unrecognized extension value in extension set (${e}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);a(t,o)}}return a(e,je.default),r.reduce((e,t)=>e.concat(t))}function ze(e,t){if(t&1)return 2;let n=t>>1,r=e.status[n];if(r==4)throw Error(`Cyclic dependency between fields and/or facets`);if(r&2)return r;e.status[n]=4;let i=e.computeSlot(e,e.config.dynamicSlots[n]);return e.status[n]=2|i}function Be(e,t){return t&1?e.config.staticValues[t>>1]:e.values[t>>1]}var Ve=k.define(),He=k.define({combine:e=>e.some(e=>e),static:!0}),Ue=k.define({combine:e=>e.length?e[0]:void 0,static:!0}),We=k.define(),Ge=k.define(),Ke=k.define(),qe=k.define({combine:e=>e.length?e[0]:!1}),Je=class{constructor(e,t){this.type=e,this.value=t}static define(){return new Ye}},Ye=class{of(e){return new Je(this,e)}},Xe=class{constructor(e){this.map=e}of(e){return new A(this,e)}},A=class e{constructor(e,t){this.type=e,this.value=t}map(t){let n=this.type.map(this.value,t);return n===void 0?void 0:n==this.value?this:new e(this.type,n)}is(e){return this.type==e}static define(e={}){return new Xe(e.map||(e=>e))}static mapEffects(e,t){if(!e.length)return e;let n=[];for(let r of e){let e=r.map(t);e&&n.push(e)}return n}};A.reconfigure=A.define(),A.appendConfig=A.define();var j=class e{constructor(t,n,r,i,a,o){this.startState=t,this.changes=n,this.selection=r,this.effects=i,this.annotations=a,this.scrollIntoView=o,this._doc=null,this._state=null,r&&Se(r,n.newLength),a.some(t=>t.type==e.time)||(this.annotations=a.concat(e.time.of(Date.now())))}static create(t,n,r,i,a,o){return new e(t,n,r,i,a,o)}get newDoc(){return this._doc||=this.changes.apply(this.startState.doc)}get newSelection(){return this.selection||this.startState.selection.map(this.changes)}get state(){return this._state||this.startState.applyTransaction(this),this._state}annotation(e){for(let t of this.annotations)if(t.type==e)return t.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(t){let n=this.annotation(e.userEvent);return!!(n&&(n==t||n.length>t.length&&n.slice(0,t.length)==t&&n[t.length]==`.`))}};j.time=Je.define(),j.userEvent=Je.define(),j.addToHistory=Je.define(),j.remote=Je.define();function Ze(e,t){let n=[];for(let r=0,i=0;;){let a,o;if(r<e.length&&(i==t.length||t[i]>=e[r]))a=e[r++],o=e[r++];else if(i<t.length)a=t[i++],o=t[i++];else return n;!n.length||n[n.length-1]<a?n.push(a,o):n[n.length-1]<o&&(n[n.length-1]=o)}}function Qe(e,t,n){let r,i,a;return n?(r=t.changes,i=he.empty(t.changes.length),a=e.changes.compose(t.changes)):(r=t.changes.map(e.changes),i=e.changes.mapDesc(t.changes,!0),a=e.changes.compose(r)),{changes:a,selection:t.selection?t.selection.map(i):e.selection?.map(r),effects:A.mapEffects(e.effects,r).concat(A.mapEffects(t.effects,i)),annotations:e.annotations.length?e.annotations.concat(t.annotations):t.annotations,scrollIntoView:e.scrollIntoView||t.scrollIntoView}}function $e(e,t,n){let r=t.selection,i=it(t.annotations);return t.userEvent&&(i=i.concat(j.userEvent.of(t.userEvent))),{changes:t.changes instanceof he?t.changes:he.of(t.changes||[],n,e.facet(Ue)),selection:r&&(r instanceof O?r:O.single(r.anchor,r.head)),effects:it(t.effects),annotations:i,scrollIntoView:!!t.scrollIntoView}}function et(e,t,n){let r=$e(e,t.length?t[0]:{},e.doc.length);t.length&&t[0].filter===!1&&(n=!1);for(let i=1;i<t.length;i++){t[i].filter===!1&&(n=!1);let a=!!t[i].sequential;r=Qe(r,$e(e,t[i],a?r.changes.newLength:e.doc.length),a)}let i=j.create(e,r.changes,r.selection,r.effects,r.annotations,r.scrollIntoView);return nt(n?tt(i):i)}function tt(e){let t=e.startState,n=!0;for(let r of t.facet(We)){let t=r(e);if(t===!1){n=!1;break}Array.isArray(t)&&(n=n===!0?t:Ze(n,t))}if(n!==!0){let r,i;if(n===!1)i=e.changes.invertedDesc,r=he.empty(t.doc.length);else{let t=e.changes.filter(n);r=t.changes,i=t.filtered.mapDesc(t.changes).invertedDesc}e=j.create(t,r,e.selection&&e.selection.map(i),A.mapEffects(e.effects,i),e.annotations,e.scrollIntoView)}let r=t.facet(Ge);for(let n=r.length-1;n>=0;n--){let i=r[n](e);e=i instanceof j?i:Array.isArray(i)&&i.length==1&&i[0]instanceof j?i[0]:et(t,it(i),!1)}return e}function nt(e){let t=e.startState,n=t.facet(Ke),r=e;for(let i=n.length-1;i>=0;i--){let a=n[i](e);a&&Object.keys(a).length&&(r=Qe(r,$e(t,a,e.changes.newLength),!0))}return r==e?e:j.create(t,e.changes,e.selection,r.effects,r.annotations,r.scrollIntoView)}var rt=[];function it(e){return e==null?rt:Array.isArray(e)?e:[e]}var at=(function(e){return e[e.Word=0]=`Word`,e[e.Space=1]=`Space`,e[e.Other=2]=`Other`,e})(at||={}),ot=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,st;try{st=RegExp(`[\\p{Alphabetic}\\p{Number}_]`,`u`)}catch{}function ct(e){if(st)return st.test(e);for(let t=0;t<e.length;t++){let n=e[t];if(/\w/.test(n)||n>`€`&&(n.toUpperCase()!=n.toLowerCase()||ot.test(n)))return!0}return!1}function lt(e){return t=>{if(!/\S/.test(t))return at.Space;if(ct(t))return at.Word;for(let n=0;n<e.length;n++)if(t.indexOf(e[n])>-1)return at.Word;return at.Other}}var M=class e{constructor(e,t,n,r,i,a){this.config=e,this.doc=t,this.selection=n,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=i,a&&(a._state=this);for(let e=0;e<this.config.dynamicSlots.length;e++)ze(this,e<<1);this.computeSlot=null}field(e,t=!0){let n=this.config.address[e.id];if(n==null){if(t)throw RangeError(`Field is not present in this state`);return}return ze(this,n),Be(this,n)}update(...e){return et(this,e,!0)}applyTransaction(t){let n=this.config,{base:r,compartments:i}=n;for(let e of t.effects)e.is(Fe.reconfigure)?(n&&=(i=new Map,n.compartments.forEach((e,t)=>i.set(t,e)),null),i.set(e.value.compartment,e.value.extension)):e.is(A.reconfigure)?(n=null,r=e.value):e.is(A.appendConfig)&&(n=null,r=it(r).concat(e.value));let a;n?a=t.startState.values.slice():(n=Le.resolve(r,i,this),a=new e(n,this.doc,this.selection,n.dynamicSlots.map(()=>null),(e,t)=>t.reconfigure(e,this),null).values);let o=t.startState.facet(He)?t.newSelection:t.newSelection.asSingle();new e(n,t.newDoc,o,a,(e,n)=>n.update(e,t),t)}replaceSelection(e){return typeof e==`string`&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:O.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,n=e(t.ranges[0]),r=this.changes(n.changes),i=[n.range],a=it(n.effects);for(let n=1;n<t.ranges.length;n++){let o=e(t.ranges[n]),s=this.changes(o.changes),c=s.map(r);for(let e=0;e<n;e++)i[e]=i[e].map(c);let l=r.mapDesc(s,!0);i.push(o.range.map(l)),r=r.compose(c),a=A.mapEffects(a,c).concat(A.mapEffects(it(o.effects),l))}return{changes:r,selection:O.create(i,t.mainIndex),effects:a}}changes(t=[]){return t instanceof he?t:he.of(t,this.doc.length,this.facet(e.lineSeparator))}toText(t){return S.of(t.split(this.facet(e.lineSeparator)||pe))}sliceDoc(e=0,t=this.doc.length){return this.doc.sliceString(e,t,this.lineBreak)}facet(e){let t=this.config.address[e.id];return t==null?e.default:(ze(this,t),Be(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let n in e){let r=e[n];r instanceof Ae&&this.config.address[r.id]!=null&&(t[n]=r.spec.toJSON(this.field(e[n]),this))}return t}static fromJSON(t,n={},r){if(!t||typeof t.doc!=`string`)throw RangeError(`Invalid JSON representation for EditorState`);let i=[];if(r){for(let e in r)if(Object.prototype.hasOwnProperty.call(t,e)){let n=r[e],a=t[e];i.push(n.init(e=>n.spec.fromJSON(a,e)))}}return e.create({doc:t.doc,selection:O.fromJSON(t.selection),extensions:n.extensions?i.concat([n.extensions]):i})}static create(t={}){let n=Le.resolve(t.extensions||[],new Map),r=t.doc instanceof S?t.doc:S.of((t.doc||``).split(n.staticFacet(e.lineSeparator)||pe)),i=t.selection?t.selection instanceof O?t.selection:O.single(t.selection.anchor,t.selection.head):O.single(0);return Se(i,r.length),n.staticFacet(He)||(i=i.asSingle()),new e(n,r,i,n.dynamicSlots.map(()=>null),(e,t)=>t.create(e),null)}get tabSize(){return this.facet(e.tabSize)}get lineBreak(){return this.facet(e.lineSeparator)||`