dsh-codinput 0.2.0 → 0.3.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.
- package/CHANGELOG.md +17 -0
- package/README.en.md +4 -2
- package/README.md +4 -2
- package/lib/client.js +36 -26
- package/package.json +1 -1
- package/src/client/components/Toolbar.tsx +24 -6
- package/src/client/components/VoiceActivity.tsx +172 -0
- package/src/client/host-types.ts +18 -0
- package/src/client/i18n.ts +21 -0
- package/src/client/services.ts +5 -0
- package/src/client/styles.ts +10 -0
package/lib/client.js
CHANGED
|
@@ -2,7 +2,7 @@ window.__ModuleLoader__.load({ id: "dsh-codinput", factory: (require) => {
|
|
|
2
2
|
var module = { exports: {} };
|
|
3
3
|
var exports = module.exports;
|
|
4
4
|
Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
5
|
-
"use strict";var bs=Object.defineProperty;var Eg=Object.getOwnPropertyDescriptor;var Dg=Object.getOwnPropertyNames;var Rg=Object.prototype.hasOwnProperty;var Lg=(n,e,t)=>e in n?bs(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Dh=(n,e)=>{for(var t in e)bs(n,t,{get:e[t],enumerable:!0})},Og=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of Dg(e))!Rg.call(n,r)&&r!==t&&bs(n,r,{get:()=>e[r],enumerable:!(i=Eg(e,r))||i.enumerable});return n};var Pg=n=>Og(bs({},"__esModule",{value:!0}),n);var ue=(n,e,t)=>Lg(n,typeof e!="symbol"?e+"":e,t);var F1={};Dh(F1,{CodinputBar:()=>Zc,apply:()=>z1,inject:()=>H1,name:()=>_1});module.exports=Pg(F1);function Oe(){let n=window;return n.__dshCodinputDebug??=[],n.__dshCodinputErrs??=[],n.__dshCodinputTriggers??={},n.__dshCodinputKeyboard??={},n.__dshCodinputShell??={},n}function Kt(...n){let e=Oe();e.__dshCodinputDebug.push(n.length===1?n[0]:n),e.__dshCodinputDebug.length>400&&e.__dshCodinputDebug.splice(0,e.__dshCodinputDebug.length-400)}function $e(n,e){let t=Oe();t.__dshCodinputErrs.push({scope:n,error:e instanceof Error?e.stack??e.message:String(e)}),t.__dshCodinputErrs.length>200&&t.__dshCodinputErrs.splice(0,t.__dshCodinputErrs.length-200)}function il(n){Oe().__dshCodinputSessionId=n}function ze(n,e){try{e()}catch(t){$e(n,t)}}var xs=require("react"),ys="dsh-codinput",sl={"head.edit":"\u7F16\u8F91","head.preview":"\u9884\u89C8","head.editOnly":"\u4EC5\u7F16\u8F91","head.previewOnly":"\u4EC5\u9884\u89C8","head.split":"\u7F16\u8F91 + \u9884\u89C8","editor.placeholder":"\u63CF\u8FF0\u4F60\u60F3\u8981\u6784\u5EFA\u7684\u5185\u5BB9\uFF0C/ \u8C03\u7528\u6307\u4EE4\uFF0C@ \u6587\u4EF6\u6216\u5BF9\u8BDD","preview.empty":"\u6682\u65E0\u53EF\u9884\u89C8\u5185\u5BB9","tool.command":"\u6307\u4EE4\uFF08/\uFF09","tool.send":"\u53D1\u9001","tool.model":"\u9009\u62E9\u6A21\u578B\uFF0C\u5F53\u524D {name}","tool.modelPlain":"\u9009\u62E9\u6A21\u578B","tool.context":"\u4E0A\u4E0B\u6587\u5DF2\u7528 {percent}%","tool.contextTitle":"\u4E0A\u4E0B\u6587\u5DF2\u7528","attach.group":"\u8349\u7A3F\u9644\u4EF6","attach.uploading":"\u4E0A\u4F20\u4E2D\u2026","attach.failed":"\u4E0A\u4F20\u5931\u8D25","attach.retry":"\u91CD\u8BD5\u4E0A\u4F20","attach.remove":"\u79FB\u9664\u9644\u4EF6 {name}","attach.scrollLeft":"\u5411\u5DE6\u6EDA\u52A8\u9644\u4EF6","attach.scrollRight":"\u5411\u53F3\u6EDA\u52A8\u9644\u4EF6","attach.channelUnavailable":"\u9644\u4EF6\u901A\u9053\u4E0D\u53EF\u7528","attach.pending":"\u5F85\u4E0A\u4F20\u6587\u4EF6 {name}","stats.session":"\u4F1A\u8BDD\u7EDF\u8BA1","stats.usage":"Token \u7528\u91CF","stats.turns":"{turns} \u8F6E {steps} \u6B65","stats.tps":"{tps} tok/s","stats.modelTime":"\u6A21\u578B\u7528\u65F6","stats.toolTime":"\u5DE5\u5177\u8C03\u7528\u7528\u65F6","stats.ttft":"\u9996 token \u5E73\u5747\uFF08TTFT\uFF09","stats.tpsLabel":"\u8F93\u51FA\u901F\u5EA6\uFF08TPS\uFF09","stats.totalTokens":"{tokens} tok","stats.cacheHit":"\u7F13\u5B58\u547D\u4E2D {percent}%","stats.cacheHitLabel":"\u7F13\u5B58\u547D\u4E2D","stats.cacheRead":"\u7F13\u5B58\u8BFB\u53D6","stats.cacheWrite":"\u7F13\u5B58\u5199\u5165","stats.output":"\u8F93\u51FA","stats.uncached":"\u672A\u7F13\u5B58\u8F93\u5165","stats.breakdown":"\u4E0A\u4E0B\u6587\u5206\u6BB5","stats.prompt":"\u7CFB\u7EDF\u63D0\u793A\u8BCD","stats.tools":"\u5DE5\u5177\u5B9A\u4E49","stats.messages":"\u5BF9\u8BDD\u6D88\u606F","menu.model":"\u6A21\u578B","menu.reasoning":"\u63A8\u7406\u7B49\u7EA7","menu.reasoningNone":"\u5F53\u524D\u6A21\u578B\u672A\u63D0\u4F9B\u63A8\u7406\u7B49\u7EA7\u3002","menu.source.command":"\u6307\u4EE4","menu.source.skill":"\u6280\u80FD","menu.source.subagent":"\u5B50\u667A\u80FD\u4F53","menu.drill":"\u8FDB\u5165\u76EE\u5F55","menu.nav":"\u76EE\u5F55\u5BFC\u822A","menu.triggerCandidates":"\u89E6\u53D1\u5019\u9009\u5EFA\u8BAE","menu.empty":"\u6CA1\u6709\u5339\u914D\u9879","menu.loading":"\u52A0\u8F7D\u4E2D\u2026","menu.loadFailed":"\u52A0\u8F7D\u5931\u8D25","menu.refreshingModels":"\u6B63\u5728\u5237\u65B0\u6A21\u578B\u5217\u8868\u2026","menu.noModels":"\u6CA1\u6709\u53EF\u7528\u7684\u6A21\u578B\u3002","menu.filter":"\u7B5B\u9009\u9009\u9879\u2026","popup.ack":"\u6211\u5DF2\u4E86\u89E3\u8BE5\u64CD\u4F5C\u7684\u5F71\u54CD","perm.trigger":"\u8BBF\u95EE\u6A21\u5F0F\uFF0C\u5F53\u524D\uFF1A{name}","perm.confirmTitle":"\u786E\u8BA4\u542F\u7528\u5B8C\u5168\u6743\u9650\uFF1F","perm.confirmEnable":"\u542F\u7528\u5B8C\u5168\u6743\u9650","perm.warning":"\u542F\u7528\u5B8C\u5168\u6743\u9650\u540E\uFF0C\u667A\u80FD\u4F53\u5C06\u51CF\u5C11\u786E\u8BA4\u6B65\u9AA4\uFF0C\u5E76\u4E14\u53EF\u4EE5\u76F4\u63A5\u6267\u884C\u66F4\u591A\u64CD\u4F5C\uFF0C\u5305\u62EC\u654F\u611F\u64CD\u4F5C\u3001\u6587\u4EF6\u4FEE\u6539\u6216\u5916\u90E8\u547D\u4EE4\u3002\u4EC5\u5EFA\u8BAE\u5728\u4F60\u4FE1\u4EFB\u5F53\u524D\u4EFB\u52A1\u65F6\u4F7F\u7528\u3002","perm.ack":"\u6211\u5DF2\u4E86\u89E3\u98CE\u9669\uFF0C\u5E76\u613F\u610F\u7EE7\u7EED","perm.cancel":"\u53D6\u6D88","perm.close":"\u5173\u95ED","perm.switchFailed":"\u6743\u9650\u5207\u6362\u5931\u8D25","perm.channelRejected":"\u547D\u4EE4\u901A\u9053\u62D2\u7EDD","perm.noInputSurface":"\u65E0\u53EF\u7528\u8F93\u5165\u9762","perm.preset.read-only":"\u4EC5\u53EF\u67E5\u770B","perm.preset.workspace-write":"\u5DE5\u4F5C\u533A\u5185\u4FEE\u6539","perm.preset.danger-full-access":"\u5B8C\u5168\u6743\u9650","set.enabled":"\u542F\u7528\u63A5\u7BA1","set.enabledDesc":"\u5173\u95ED\u5373\u6062\u590D\u5B98\u65B9\u8F93\u5165\u6846\uFF0C\u8349\u7A3F\u4E0D\u4E22\uFF1B/codinput \u540C\u6837\u53EF\u5207\u6362","set.lineNumbers":"\u663E\u793A\u884C\u53F7","set.lineNumbersDesc":"\u5F53\u524D\u884C\u4E0E\u884C\u53F7\u9AD8\u4EAE\u5E38\u5F00","set.font":"\u7F16\u8F91\u5668\u5B57\u4F53","set.fontDesc":"CSS font-family\uFF0C\u7559\u7A7A\u6062\u590D\u9ED8\u8BA4","set.sendKey":"\u53D1\u9001\u5FEB\u6377\u952E","set.sendKeyDesc":"\u70B9\u51FB\u540E\u6309\u4E0B\u4EFB\u610F\u7EC4\u5408\u5B8C\u6210\u5F55\u5236\uFF1B\u4E0E\u6362\u884C\u5FEB\u6377\u952E\u4E0D\u5F97\u76F8\u540C","set.lineBreakKey":"\u6362\u884C\u5FEB\u6377\u952E","set.lineBreakKeyDesc":"\u70B9\u51FB\u540E\u6309\u4E0B\u4EFB\u610F\u7EC4\u5408\u5B8C\u6210\u5F55\u5236\uFF1B\u4E0E\u53D1\u9001\u5FEB\u6377\u952E\u4E0D\u5F97\u76F8\u540C","set.defaultView":"\u9ED8\u8BA4\u89C6\u56FE","set.defaultViewDesc":"\u63A5\u7BA1\u9762\u677F\u521D\u59CB\u663E\u793A\u7684\u5F62\u6001","set.recording":"\u6309\u952E\u2026","set.reset":"\u6062\u590D\u9ED8\u8BA4","set.resetAction":"\u91CD\u7F6E","set.resetAll":"\u6E05\u7A7A\u5168\u90E8 Codinput \u504F\u597D","ball.label":"\u5C55\u5F00 Codinput \u8F93\u5165\u9762\u677F","ball.title":"\u5C55\u5F00 Codinput","side.notice":"\u672C\u4F1A\u8BDD\u7684\u8F93\u5165\u9762\u5DF2\u5728\u53E6\u4E00\u4E2A\u5206\u680F\u4E2D\u6253\u5F00\uFF08\u8F93\u5165\u5165\u53E3\u552F\u4E00\uFF09\u3002","side.guideDesc":"\u4EE3\u7801\u7F16\u8F91\u5668\u98CE\u683C\u7684\u8F93\u5165\u9762\u677F\uFF1B\u5F00\u542F\u671F\u95F4\u4E3B\u8F93\u5165\u6846\u7531\u672C\u9762\u677F\u63A5\u7BA1\uFF08\u5171\u7528\u540C\u4E00\u53F0\u8F93\u5165\u673A\uFF09","side.disabled":"Codinput \u63A5\u7BA1\u5DF2\u5173\u95ED\uFF1A\u4E3B\u8F93\u5165\u5728\u539F\u8F93\u5165\u4F4D\uFF08\u5B98\u65B9\u8F93\u5165\u6846\uFF09\u3002\u8F93\u5165 /codinput \u6216\u5230 \u8BBE\u7F6E \u2192 Codinput \u91CD\u65B0\u5F00\u542F\u3002","tool.attach":"\u6587\u4EF6","tool.stop":"\u505C\u6B62","image.preview":"\u539F\u56FE\u9884\u89C8","image.closePreview":"\u5173\u95ED\u539F\u56FE\u9884\u89C8","image.openOriginal":"\u67E5\u770B\u539F\u56FE","image.openOriginalLabel":"{name}\uFF0C\u70B9\u51FB\u67E5\u770B\u539F\u56FE","cmd.enter":"\u8FDB\u5165 Codinput \u8F93\u5165\u63A5\u7BA1","cmd.exit":"\u9000\u51FA Codinput\uFF0C\u6062\u590D\u5B98\u65B9\u8F93\u5165\u6846"},Rh={"head.edit":"Edit","head.preview":"Preview","head.editOnly":"Edit only","head.previewOnly":"Preview only","head.split":"Edit + Preview","editor.placeholder":"Describe what you want to build \u2014 / for commands, @ for files or chats","preview.empty":"Nothing to preview","tool.command":"Commands (/)","tool.send":"Send","tool.model":"Select model, current {name}","tool.modelPlain":"Select model","tool.context":"Context used {percent}%","tool.contextTitle":"Context used","attach.group":"Draft attachments","attach.uploading":"Uploading\u2026","attach.failed":"Upload failed","attach.retry":"Retry upload","attach.remove":"Remove attachment {name}","attach.scrollLeft":"Scroll attachments left","attach.scrollRight":"Scroll attachments right","attach.channelUnavailable":"Attachment channel unavailable","attach.pending":"Pending file {name}","stats.session":"Session stats","stats.usage":"Token usage","stats.turns":"{turns} turns \xB7 {steps} steps","stats.tps":"{tps} tok/s","stats.modelTime":"Model time","stats.toolTime":"Tool call time","stats.ttft":"Avg first token (TTFT)","stats.tpsLabel":"Output speed (TPS)","stats.totalTokens":"{tokens} tok","stats.cacheHit":"Cache hit {percent}%","stats.cacheHitLabel":"Cache hit","stats.cacheRead":"Cache read","stats.cacheWrite":"Cache write","stats.output":"Output","stats.uncached":"Uncached input","stats.breakdown":"Context breakdown","stats.prompt":"System prompt","stats.tools":"Tool definitions","stats.messages":"Conversation","menu.model":"Model","menu.reasoning":"Reasoning effort","menu.reasoningNone":"The current model exposes no reasoning effort.","menu.source.command":"Commands","menu.source.skill":"Skills","menu.source.subagent":"Subagents","menu.drill":"Open folder","menu.nav":"Folder navigation","menu.triggerCandidates":"Trigger suggestions","menu.empty":"No matches","menu.loading":"Loading\u2026","menu.loadFailed":"Failed to load","menu.refreshingModels":"Refreshing model list\u2026","menu.noModels":"No models available.","menu.filter":"Filter options\u2026","popup.ack":"I understand the impact of this action","perm.trigger":"Access mode, current: {name}","perm.confirmTitle":"Enable full access?","perm.confirmEnable":"Enable full access","perm.warning":"With full access the agent skips most confirmations and can perform more actions directly, including sensitive operations, file writes, or external commands. Only use it when you trust the current task.","perm.ack":"I understand the risk and want to continue","perm.cancel":"Cancel","perm.close":"Close","perm.switchFailed":"Failed to switch permission","perm.channelRejected":"Command channel rejected","perm.noInputSurface":"No input surface available","perm.preset.read-only":"Read only","perm.preset.workspace-write":"Write in workspace","perm.preset.danger-full-access":"Full access","set.enabled":"Take over composer","set.enabledDesc":"Turning it off restores the official composer; the draft is kept. /codinput toggles it too.","set.lineNumbers":"Show line numbers","set.lineNumbersDesc":"The current line and its gutter number stay highlighted","set.font":"Editor font","set.fontDesc":"CSS font-family; leave empty for the default","set.sendKey":"Send shortcut","set.sendKeyDesc":"Click, then press any combination to record it; must differ from the line-break shortcut","set.lineBreakKey":"Line-break shortcut","set.lineBreakKeyDesc":"Click, then press any combination to record it; must differ from the send shortcut","set.defaultView":"Default view","set.defaultViewDesc":"Initial layout of the takeover panel","set.recording":"Press keys\u2026","set.reset":"Reset","set.resetAction":"Reset","set.resetAll":"Clear all Codinput preferences","ball.label":"Open the Codinput input panel","ball.title":"Open Codinput","side.notice":"This session's input panel is already open in another split pane (only one input surface exists).","side.guideDesc":"Code-editor style input panel. While enabled it takes over the composer (sharing the same input machine).","side.disabled":"Codinput takeover is off: the composer is back at its original place (official input). Type /codinput or open Settings \u2192 Codinput to re-enable.","tool.attach":"File","tool.stop":"Stop","image.preview":"Original image preview","image.closePreview":"Close original image preview","image.openOriginal":"View original","image.openOriginalLabel":"{name}, click to view the original","cmd.enter":"Enable the Codinput composer takeover","cmd.exit":"Disable Codinput and restore the official composer"},er=null,ws="zh",rl=new Set;function Ig(){for(let n of rl)n()}function Ng(n,e){return e?n.replace(/\{(\w+)\}/g,(t,i)=>{let r=e[i];return r===void 0?t:String(r)}):n}function Bg(){return ws.startsWith("zh")?sl:Rh}function Lh(n){let e=n;if(e){try{e.register?.(ys,"zh",sl),e.register?.(ys,"en",Rh),er=e.bind?.(ys)??null}catch{try{er=e.bind?.(ys)??null}catch{er=null}}try{let t=e.getSnapshot?.();t?.active&&(ws=t.active),e.subscribe?.(()=>{let i=e.getSnapshot?.();i?.active&&i.active!==ws&&(ws=i.active),Ig()})}catch{}}}function _g(n){return rl.add(n),()=>{rl.delete(n)}}function Oh(n,e){if(er)try{let i=er(n,e);if(i&&i!==n)return i}catch{}let t=Bg()[n]??sl[n];return t===void 0?void 0:Ng(t,e)}function v(n,e){return Oh(n,e)??n}function Si(n,e){return Oh(n,e)}function jt(){let[,n]=(0,xs.useState)(0);return(0,xs.useEffect)(()=>_g(()=>n(e=>e+1)),[]),v}var Y={};function Ph(n){ze("stash.conversation",()=>{n.inject(["conversation"],e=>{Y.conversation=e.conversation})}),ze("stash.services",()=>{n.inject(["slots","sessions","commandUi"],e=>{Y.sessions=e.sessions,Y.commandUi=e.commandUi})}),ze("stash.sidebarRight",()=>{n.inject(["slots","sidebarRightTabs","sidebarRight"],e=>{Y.sidebarRight=e.sidebarRight})}),ze("stash.modelDirectories",()=>{n.inject(["modelDirectories","sessions","remote","remote.session"],e=>{Y.modelDirectories=e.modelDirectories})}),ze("i18n.install",()=>{n.inject(["locale"],e=>{Lh(e.locale)})})}var Ih="dsh-codinput-styles",Hg=`
|
|
5
|
+
"use strict";var ys=Object.defineProperty;var Fg=Object.getOwnPropertyDescriptor;var zg=Object.getOwnPropertyNames;var Wg=Object.prototype.hasOwnProperty;var Vg=(n,e,t)=>e in n?ys(n,e,{enumerable:!0,configurable:!0,writable:!0,value:t}):n[e]=t;var Nh=(n,e)=>{for(var t in e)ys(n,t,{get:e[t],enumerable:!0})},$g=(n,e,t,i)=>{if(e&&typeof e=="object"||typeof e=="function")for(let r of zg(e))!Wg.call(n,r)&&r!==t&&ys(n,r,{get:()=>e[r],enumerable:!(i=Fg(e,r))||i.enumerable});return n};var Ug=n=>$g(ys({},"__esModule",{value:!0}),n);var ce=(n,e,t)=>Vg(n,typeof e!="symbol"?e+"":e,t);var iv={};Nh(iv,{CodinputBar:()=>rh,apply:()=>nv,inject:()=>tv,name:()=>ev});module.exports=Ug(iv);function Oe(){let n=window;return n.__dshCodinputDebug??=[],n.__dshCodinputErrs??=[],n.__dshCodinputTriggers??={},n.__dshCodinputKeyboard??={},n.__dshCodinputShell??={},n}function jt(...n){let e=Oe();e.__dshCodinputDebug.push(n.length===1?n[0]:n),e.__dshCodinputDebug.length>400&&e.__dshCodinputDebug.splice(0,e.__dshCodinputDebug.length-400)}function Pe(n,e){let t=Oe();t.__dshCodinputErrs.push({scope:n,error:e instanceof Error?e.stack??e.message:String(e)}),t.__dshCodinputErrs.length>200&&t.__dshCodinputErrs.splice(0,t.__dshCodinputErrs.length-200)}function sl(n){Oe().__dshCodinputSessionId=n}function ze(n,e){try{e()}catch(t){Pe(n,t)}}var vs=require("react"),ws="dsh-codinput",al={"head.edit":"\u7F16\u8F91","head.preview":"\u9884\u89C8","head.editOnly":"\u4EC5\u7F16\u8F91","head.previewOnly":"\u4EC5\u9884\u89C8","head.split":"\u7F16\u8F91 + \u9884\u89C8","editor.placeholder":"\u63CF\u8FF0\u4F60\u60F3\u8981\u6784\u5EFA\u7684\u5185\u5BB9\uFF0C/ \u8C03\u7528\u6307\u4EE4\uFF0C@ \u6587\u4EF6\u6216\u5BF9\u8BDD","preview.empty":"\u6682\u65E0\u53EF\u9884\u89C8\u5185\u5BB9","tool.command":"\u6307\u4EE4\uFF08/\uFF09","tool.send":"\u53D1\u9001","tool.model":"\u9009\u62E9\u6A21\u578B\uFF0C\u5F53\u524D {name}","tool.modelPlain":"\u9009\u62E9\u6A21\u578B","tool.context":"\u4E0A\u4E0B\u6587\u5DF2\u7528 {percent}%","tool.contextTitle":"\u4E0A\u4E0B\u6587\u5DF2\u7528","attach.group":"\u8349\u7A3F\u9644\u4EF6","attach.uploading":"\u4E0A\u4F20\u4E2D\u2026","attach.failed":"\u4E0A\u4F20\u5931\u8D25","attach.retry":"\u91CD\u8BD5\u4E0A\u4F20","attach.remove":"\u79FB\u9664\u9644\u4EF6 {name}","attach.scrollLeft":"\u5411\u5DE6\u6EDA\u52A8\u9644\u4EF6","attach.scrollRight":"\u5411\u53F3\u6EDA\u52A8\u9644\u4EF6","attach.channelUnavailable":"\u9644\u4EF6\u901A\u9053\u4E0D\u53EF\u7528","attach.pending":"\u5F85\u4E0A\u4F20\u6587\u4EF6 {name}","stats.session":"\u4F1A\u8BDD\u7EDF\u8BA1","stats.usage":"Token \u7528\u91CF","stats.turns":"{turns} \u8F6E {steps} \u6B65","stats.tps":"{tps} tok/s","stats.modelTime":"\u6A21\u578B\u7528\u65F6","stats.toolTime":"\u5DE5\u5177\u8C03\u7528\u7528\u65F6","stats.ttft":"\u9996 token \u5E73\u5747\uFF08TTFT\uFF09","stats.tpsLabel":"\u8F93\u51FA\u901F\u5EA6\uFF08TPS\uFF09","stats.totalTokens":"{tokens} tok","stats.cacheHit":"\u7F13\u5B58\u547D\u4E2D {percent}%","stats.cacheHitLabel":"\u7F13\u5B58\u547D\u4E2D","stats.cacheRead":"\u7F13\u5B58\u8BFB\u53D6","stats.cacheWrite":"\u7F13\u5B58\u5199\u5165","stats.output":"\u8F93\u51FA","stats.uncached":"\u672A\u7F13\u5B58\u8F93\u5165","stats.breakdown":"\u4E0A\u4E0B\u6587\u5206\u6BB5","stats.prompt":"\u7CFB\u7EDF\u63D0\u793A\u8BCD","stats.tools":"\u5DE5\u5177\u5B9A\u4E49","stats.messages":"\u5BF9\u8BDD\u6D88\u606F","menu.model":"\u6A21\u578B","menu.reasoning":"\u63A8\u7406\u7B49\u7EA7","menu.reasoningNone":"\u5F53\u524D\u6A21\u578B\u672A\u63D0\u4F9B\u63A8\u7406\u7B49\u7EA7\u3002","menu.source.command":"\u6307\u4EE4","menu.source.skill":"\u6280\u80FD","menu.source.subagent":"\u5B50\u667A\u80FD\u4F53","menu.drill":"\u8FDB\u5165\u76EE\u5F55","menu.nav":"\u76EE\u5F55\u5BFC\u822A","menu.triggerCandidates":"\u89E6\u53D1\u5019\u9009\u5EFA\u8BAE","menu.empty":"\u6CA1\u6709\u5339\u914D\u9879","menu.loading":"\u52A0\u8F7D\u4E2D\u2026","menu.loadFailed":"\u52A0\u8F7D\u5931\u8D25","menu.refreshingModels":"\u6B63\u5728\u5237\u65B0\u6A21\u578B\u5217\u8868\u2026","menu.noModels":"\u6CA1\u6709\u53EF\u7528\u7684\u6A21\u578B\u3002","menu.filter":"\u7B5B\u9009\u9009\u9879\u2026","popup.ack":"\u6211\u5DF2\u4E86\u89E3\u8BE5\u64CD\u4F5C\u7684\u5F71\u54CD","perm.trigger":"\u8BBF\u95EE\u6A21\u5F0F\uFF0C\u5F53\u524D\uFF1A{name}","perm.confirmTitle":"\u786E\u8BA4\u542F\u7528\u5B8C\u5168\u6743\u9650\uFF1F","perm.confirmEnable":"\u542F\u7528\u5B8C\u5168\u6743\u9650","perm.warning":"\u542F\u7528\u5B8C\u5168\u6743\u9650\u540E\uFF0C\u667A\u80FD\u4F53\u5C06\u51CF\u5C11\u786E\u8BA4\u6B65\u9AA4\uFF0C\u5E76\u4E14\u53EF\u4EE5\u76F4\u63A5\u6267\u884C\u66F4\u591A\u64CD\u4F5C\uFF0C\u5305\u62EC\u654F\u611F\u64CD\u4F5C\u3001\u6587\u4EF6\u4FEE\u6539\u6216\u5916\u90E8\u547D\u4EE4\u3002\u4EC5\u5EFA\u8BAE\u5728\u4F60\u4FE1\u4EFB\u5F53\u524D\u4EFB\u52A1\u65F6\u4F7F\u7528\u3002","perm.ack":"\u6211\u5DF2\u4E86\u89E3\u98CE\u9669\uFF0C\u5E76\u613F\u610F\u7EE7\u7EED","perm.cancel":"\u53D6\u6D88","perm.close":"\u5173\u95ED","perm.switchFailed":"\u6743\u9650\u5207\u6362\u5931\u8D25","perm.channelRejected":"\u547D\u4EE4\u901A\u9053\u62D2\u7EDD","perm.noInputSurface":"\u65E0\u53EF\u7528\u8F93\u5165\u9762","perm.preset.read-only":"\u4EC5\u53EF\u67E5\u770B","perm.preset.workspace-write":"\u5DE5\u4F5C\u533A\u5185\u4FEE\u6539","perm.preset.danger-full-access":"\u5B8C\u5168\u6743\u9650","set.enabled":"\u542F\u7528\u63A5\u7BA1","set.enabledDesc":"\u5173\u95ED\u5373\u6062\u590D\u5B98\u65B9\u8F93\u5165\u6846\uFF0C\u8349\u7A3F\u4E0D\u4E22\uFF1B/codinput \u540C\u6837\u53EF\u5207\u6362","set.lineNumbers":"\u663E\u793A\u884C\u53F7","set.lineNumbersDesc":"\u5F53\u524D\u884C\u4E0E\u884C\u53F7\u9AD8\u4EAE\u5E38\u5F00","set.font":"\u7F16\u8F91\u5668\u5B57\u4F53","set.fontDesc":"CSS font-family\uFF0C\u7559\u7A7A\u6062\u590D\u9ED8\u8BA4","set.sendKey":"\u53D1\u9001\u5FEB\u6377\u952E","set.sendKeyDesc":"\u70B9\u51FB\u540E\u6309\u4E0B\u4EFB\u610F\u7EC4\u5408\u5B8C\u6210\u5F55\u5236\uFF1B\u4E0E\u6362\u884C\u5FEB\u6377\u952E\u4E0D\u5F97\u76F8\u540C","set.lineBreakKey":"\u6362\u884C\u5FEB\u6377\u952E","set.lineBreakKeyDesc":"\u70B9\u51FB\u540E\u6309\u4E0B\u4EFB\u610F\u7EC4\u5408\u5B8C\u6210\u5F55\u5236\uFF1B\u4E0E\u53D1\u9001\u5FEB\u6377\u952E\u4E0D\u5F97\u76F8\u540C","set.defaultView":"\u9ED8\u8BA4\u89C6\u56FE","set.defaultViewDesc":"\u63A5\u7BA1\u9762\u677F\u521D\u59CB\u663E\u793A\u7684\u5F62\u6001","set.recording":"\u6309\u952E\u2026","set.reset":"\u6062\u590D\u9ED8\u8BA4","set.resetAction":"\u91CD\u7F6E","set.resetAll":"\u6E05\u7A7A\u5168\u90E8 Codinput \u504F\u597D","ball.label":"\u5C55\u5F00 Codinput \u8F93\u5165\u9762\u677F","ball.title":"\u5C55\u5F00 Codinput","side.notice":"\u672C\u4F1A\u8BDD\u7684\u8F93\u5165\u9762\u5DF2\u5728\u53E6\u4E00\u4E2A\u5206\u680F\u4E2D\u6253\u5F00\uFF08\u8F93\u5165\u5165\u53E3\u552F\u4E00\uFF09\u3002","side.guideDesc":"\u4EE3\u7801\u7F16\u8F91\u5668\u98CE\u683C\u7684\u8F93\u5165\u9762\u677F\uFF1B\u5F00\u542F\u671F\u95F4\u4E3B\u8F93\u5165\u6846\u7531\u672C\u9762\u677F\u63A5\u7BA1\uFF08\u5171\u7528\u540C\u4E00\u53F0\u8F93\u5165\u673A\uFF09","side.disabled":"Codinput \u63A5\u7BA1\u5DF2\u5173\u95ED\uFF1A\u4E3B\u8F93\u5165\u5728\u539F\u8F93\u5165\u4F4D\uFF08\u5B98\u65B9\u8F93\u5165\u6846\uFF09\u3002\u8F93\u5165 /codinput \u6216\u5230 \u8BBE\u7F6E \u2192 Codinput \u91CD\u65B0\u5F00\u542F\u3002","tool.attach":"\u6587\u4EF6","tool.stop":"\u505C\u6B62","image.preview":"\u539F\u56FE\u9884\u89C8","image.closePreview":"\u5173\u95ED\u539F\u56FE\u9884\u89C8","image.openOriginal":"\u67E5\u770B\u539F\u56FE","image.openOriginalLabel":"{name}\uFF0C\u70B9\u51FB\u67E5\u770B\u539F\u56FE","cmd.enter":"\u8FDB\u5165 Codinput \u8F93\u5165\u63A5\u7BA1","cmd.exit":"\u9000\u51FA Codinput\uFF0C\u6062\u590D\u5B98\u65B9\u8F93\u5165\u6846"},Bh={"head.edit":"Edit","head.preview":"Preview","head.editOnly":"Edit only","head.previewOnly":"Preview only","head.split":"Edit + Preview","editor.placeholder":"Describe what you want to build \u2014 / for commands, @ for files or chats","preview.empty":"Nothing to preview","tool.command":"Commands (/)","tool.send":"Send","tool.model":"Select model, current {name}","tool.modelPlain":"Select model","tool.context":"Context used {percent}%","tool.contextTitle":"Context used","attach.group":"Draft attachments","attach.uploading":"Uploading\u2026","attach.failed":"Upload failed","attach.retry":"Retry upload","attach.remove":"Remove attachment {name}","attach.scrollLeft":"Scroll attachments left","attach.scrollRight":"Scroll attachments right","attach.channelUnavailable":"Attachment channel unavailable","attach.pending":"Pending file {name}","stats.session":"Session stats","stats.usage":"Token usage","stats.turns":"{turns} turns \xB7 {steps} steps","stats.tps":"{tps} tok/s","stats.modelTime":"Model time","stats.toolTime":"Tool call time","stats.ttft":"Avg first token (TTFT)","stats.tpsLabel":"Output speed (TPS)","stats.totalTokens":"{tokens} tok","stats.cacheHit":"Cache hit {percent}%","stats.cacheHitLabel":"Cache hit","stats.cacheRead":"Cache read","stats.cacheWrite":"Cache write","stats.output":"Output","stats.uncached":"Uncached input","stats.breakdown":"Context breakdown","stats.prompt":"System prompt","stats.tools":"Tool definitions","stats.messages":"Conversation","menu.model":"Model","menu.reasoning":"Reasoning effort","menu.reasoningNone":"The current model exposes no reasoning effort.","menu.source.command":"Commands","menu.source.skill":"Skills","menu.source.subagent":"Subagents","menu.drill":"Open folder","menu.nav":"Folder navigation","menu.triggerCandidates":"Trigger suggestions","menu.empty":"No matches","menu.loading":"Loading\u2026","menu.loadFailed":"Failed to load","menu.refreshingModels":"Refreshing model list\u2026","menu.noModels":"No models available.","menu.filter":"Filter options\u2026","popup.ack":"I understand the impact of this action","perm.trigger":"Access mode, current: {name}","perm.confirmTitle":"Enable full access?","perm.confirmEnable":"Enable full access","perm.warning":"With full access the agent skips most confirmations and can perform more actions directly, including sensitive operations, file writes, or external commands. Only use it when you trust the current task.","perm.ack":"I understand the risk and want to continue","perm.cancel":"Cancel","perm.close":"Close","perm.switchFailed":"Failed to switch permission","perm.channelRejected":"Command channel rejected","perm.noInputSurface":"No input surface available","perm.preset.read-only":"Read only","perm.preset.workspace-write":"Write in workspace","perm.preset.danger-full-access":"Full access","set.enabled":"Take over composer","set.enabledDesc":"Turning it off restores the official composer; the draft is kept. /codinput toggles it too.","set.lineNumbers":"Show line numbers","set.lineNumbersDesc":"The current line and its gutter number stay highlighted","set.font":"Editor font","set.fontDesc":"CSS font-family; leave empty for the default","set.sendKey":"Send shortcut","set.sendKeyDesc":"Click, then press any combination to record it; must differ from the line-break shortcut","set.lineBreakKey":"Line-break shortcut","set.lineBreakKeyDesc":"Click, then press any combination to record it; must differ from the send shortcut","set.defaultView":"Default view","set.defaultViewDesc":"Initial layout of the takeover panel","set.recording":"Press keys\u2026","set.reset":"Reset","set.resetAction":"Reset","set.resetAll":"Clear all Codinput preferences","ball.label":"Open the Codinput input panel","ball.title":"Open Codinput","side.notice":"This session's input panel is already open in another split pane (only one input surface exists).","side.guideDesc":"Code-editor style input panel. While enabled it takes over the composer (sharing the same input machine).","side.disabled":"Codinput takeover is off: the composer is back at its original place (official input). Type /codinput or open Settings \u2192 Codinput to re-enable.","tool.attach":"File","tool.stop":"Stop","image.preview":"Original image preview","image.closePreview":"Close original image preview","image.openOriginal":"View original","image.openOriginalLabel":"{name}, click to view the original","cmd.enter":"Enable the Codinput composer takeover","cmd.exit":"Disable Codinput and restore the official composer"},_h=null,tr=null,xs="zh",ll=new Set,ol=new Map;function Kg(){for(let n of ll)n()}function jg(n,e){return e?n.replace(/\{(\w+)\}/g,(t,i)=>{let r=e[i];return r===void 0?t:String(r)}):n}function Gg(){return xs.startsWith("zh")?al:Bh}function Hh(n){let e=n;if(e){_h=e;try{e.register?.(ws,"zh",al),e.register?.(ws,"en",Bh),tr=e.bind?.(ws)??null}catch{try{tr=e.bind?.(ws)??null}catch{tr=null}}try{let t=e.getSnapshot?.();t?.active&&(xs=t.active),e.subscribe?.(()=>{let i=e.getSnapshot?.();i?.active&&i.active!==xs&&(xs=i.active),Kg()})}catch{}}}function Fh(n){if(!ol.has(n)){let e=null;try{e=_h?.bind?.(n)??null}catch{e=null}ol.set(n,e)}return ol.get(n)??null}function qg(n){return ll.add(n),()=>{ll.delete(n)}}function zh(n,e){if(tr)try{let i=tr(n,e);if(i&&i!==n)return i}catch{}let t=Gg()[n]??al[n];return t===void 0?void 0:jg(t,e)}function v(n,e){return zh(n,e)??n}function Ci(n,e){return zh(n,e)}function Gt(){let[,n]=(0,vs.useState)(0);return(0,vs.useEffect)(()=>qg(()=>n(e=>e+1)),[]),v}var X={};function Wh(n){ze("stash.conversation",()=>{n.inject(["conversation"],e=>{X.conversation=e.conversation})}),ze("stash.services",()=>{n.inject(["slots","sessions","commandUi"],e=>{X.slots=e.slots,X.sessions=e.sessions,X.commandUi=e.commandUi})}),ze("stash.sidebarRight",()=>{n.inject(["slots","sidebarRightTabs","sidebarRight"],e=>{X.sidebarRight=e.sidebarRight})}),ze("stash.modelDirectories",()=>{n.inject(["modelDirectories","sessions","remote","remote.session"],e=>{X.modelDirectories=e.modelDirectories})}),ze("i18n.install",()=>{n.inject(["locale"],e=>{Hh(e.locale)})})}var Vh="dsh-codinput-styles",Xg=`
|
|
6
6
|
/* ===== \u62D6\u6587\u4EF6\u5165\u5361\u7247\uFF1A\u843D\u533A\u63D0\u793A\uFF08\u7C98\u8D34/\u62D6\u5165\u9644\u4EF6\u5165\u53E3\uFF09===== */
|
|
7
7
|
.dci-card[data-drop] { outline: 2px solid var(--dsw-alias-state-business-primary, currentColor); outline-offset: -2px; }
|
|
8
8
|
|
|
@@ -74,6 +74,16 @@ Object.defineProperty(exports, Symbol.toStringTag, { value: "Module" });
|
|
|
74
74
|
.dci-tools { align-items: center; min-width: 0; gap: 12px; display: flex; }
|
|
75
75
|
.dci-trailing { align-items: center; flex: none; min-width: 0; gap: 12px; margin-left: auto; display: flex; }
|
|
76
76
|
|
|
77
|
+
/* ===== \u8BED\u97F3\u8F93\u5165\u5EA7\u4F4D\uFF08\u5B98\u65B9 .standardControls / .activity / .activityExpanded\uFF09=====
|
|
78
|
+
\u6309\u94AE\u672C\u4F53\u662F\u5B98\u65B9 activity \u69FD\u4F4D\u6761\u76EE\u7EC4\u4EF6\uFF08Gyyz9a_* \u6837\u5F0F\u7531\u8BED\u97F3\u63D2\u4EF6\u81EA\u5E26\u6CE8\u5165\uFF09\uFF1B
|
|
79
|
+
\u8FD9\u91CC\u53EA\u8D1F\u8D23\u5EA7\u4F4D\uFF1A\u5C55\u5F00\u65F6 capture \u884C\u63A5\u7BA1\u6574\u884C\u3001\u5DE6\u4FA7\u5DE5\u5177\u4E0E\u6A21\u578B\u63A7\u4EF6\u8BA9\u4F4D\u3002 */
|
|
80
|
+
.dci-standard-controls { align-items: center; min-width: 0; gap: 12px; display: flex; }
|
|
81
|
+
.dci-voice-seat { flex: none; align-items: center; display: flex; }
|
|
82
|
+
.dci-voice-seat:empty { display: none; }
|
|
83
|
+
.dci-row[data-voice-active] .dci-tools, .dci-row[data-voice-active] .dci-standard-controls { display: none; }
|
|
84
|
+
.dci-row[data-voice-active] .dci-trailing { flex: 1; margin-left: 0; }
|
|
85
|
+
.dci-row[data-voice-active] .dci-voice-seat { flex: 1; min-width: 0; }
|
|
86
|
+
|
|
77
87
|
/* \u5706\u5F62\u56FE\u6807\u6309\u94AE\uFF08\u5B98\u65B9 .add\uFF09*/
|
|
78
88
|
.dci-add { background: var(--dsw-specific-selector, color-mix(in srgb, currentColor 8%, transparent));
|
|
79
89
|
width: 28px; height: 28px; color: var(--dsw-alias-label-primary, currentColor); cursor: pointer; border: none;
|
|
@@ -504,12 +514,12 @@ button.dci-attach-body { color: inherit; font: inherit; text-align: left; backgr
|
|
|
504
514
|
.dci-btn-primary:hover:not(:disabled) { background: var(--dsw-alias-button-primary-hover, currentColor); }
|
|
505
515
|
.dci-btn-cancel { min-width: 72px; }
|
|
506
516
|
.dci-btn-confirm { min-width: 136px; }
|
|
507
|
-
`;function
|
|
508
|
-
]`).replace("lheading",
|
|
517
|
+
`;function $h(){if(document.getElementById(Vh))return;let n=document.createElement("style");n.id=Vh,n.textContent=Xg,document.head.appendChild(n)}var nr={enabled:!0,lineNumbers:!0,fontFamily:"'JetBrains Mono', ui-monospace, SFMono-Regular, Menlo, Consolas, monospace",sendHotkey:"mod+enter",lineBreakHotkey:"enter",defaultEdit:!0,defaultPreview:!1,composerBodyHeight:null,mode:"normal",floatX:null,floatY:null,floatW:null,floatH:null},Uh="dsh-codinput.prefs.v2",Yg="dsh-codinput.permission-applied",cl=new Set;function ue(){try{let n=window.localStorage.getItem(Uh);if(!n)return{...nr};let e=JSON.parse(n),t={...nr,...e&&typeof e=="object"?e:null},i=e;return i.sendKey==="enter"&&(t.sendHotkey="enter",t.lineBreakHotkey="shift-enter"),t.mode=i.mode==="float"||i.mode==="normal"?i.mode:i.floating===!0?"float":"normal",t}catch{return{...nr}}}function st(n){let e={...ue(),...n};try{window.localStorage.setItem(Uh,JSON.stringify(e))}catch{}for(let t of cl)t();return e}function kn(n){return cl.add(n),()=>cl.delete(n)}function hl(n){try{window.localStorage.setItem(Yg,n)}catch{}}var Cn=require("react"),ir=new Map,dl=new Set,Jg=1,Sn=new Map;function Gh(n,e){return n.visible===e.visible&&n.expanded===e.expanded}function Zg(n){if(n.size!==Sn.size)return!1;for(let[e,t]of n){let i=Sn.get(e);if(!i||!Gh(i,t)||i.owner!==t.owner)return!1}return!0}function ul(){let n=new Map;for(let[e,t]of ir){let i=n.get(t.sessionId);i?!i.visible&&t.visible&&n.set(t.sessionId,{visible:!0,expanded:t.expanded,owner:e}):n.set(t.sessionId,{visible:t.visible,expanded:t.expanded,owner:e})}if(!Zg(n)){Sn=n;for(let e of dl)e()}}function qh(n,e){let t=Jg++;ir.set(t,{sessionId:n,...e}),ul();let i=!1;return{token:t,set(r){let s=ir.get(t);s&&!Gh(s,r)&&(ir.set(t,{sessionId:s.sessionId,...r}),ul())},release(){i||(i=!0,ir.delete(t)&&ul())}}}function Kh(n){return n!==void 0&&Sn.has(n)}function Xh(){return[...Sn.keys()]}function Yh(){return Sn.size>0}function Qg(n){return n===void 0?void 0:Sn.get(n)}function jh(n,e){return e===0||n===void 0?!0:Sn.get(n)?.owner===e}var fl=new Set;function Jh(n){for(let e of fl)e(n)}function Zh(n){return fl.add(n),()=>{fl.delete(n)}}function Qh(n,e){let[t,i]=(0,Cn.useState)(()=>jh(n,e));return(0,Cn.useEffect)(()=>{let r=()=>{let s=jh(n,e);i(o=>o===s?o:s)};return r(),rr(r)},[n,e]),t}function rr(n){return dl.add(n),()=>{dl.delete(n)}}function eu(n){let[e,t]=(0,Cn.useState)(()=>Kh(n));return(0,Cn.useEffect)(()=>{let i=()=>{let r=Kh(n);t(s=>s===r?s:r)};return i(),rr(i)},[n]),e}function tu(n){let e=()=>{let r=Qg(n);return{carried:r!==void 0,collapsed:r!==void 0&&r.expanded===!1&&r.visible===!1}},[t,i]=(0,Cn.useState)(e);return(0,Cn.useEffect)(()=>{let r=()=>{let s=e();i(o=>o.carried===s.carried&&o.collapsed===s.collapsed?o:s)};return r(),rr(r)},[n]),t}var on=require("react"),gg=require("react-dom");var Fo=require("react"),ug=require("react-dom");var ht=require("react");var Ne=require("react");function yl(){return{async:!1,breaks:!1,extensions:null,gfm:!0,hooks:null,pedantic:!1,renderer:null,silent:!1,tokenizer:null,walkTokens:null}}var $n=yl();function lu(n){$n=n}var lr={exec:()=>null};function ae(n,e=""){let t=typeof n=="string"?n:n.source,i={replace:(r,s)=>{let o=typeof s=="string"?s:s.source;return o=o.replace(Je.caret,"$1"),t=t.replace(r,o),i},getRegex:()=>new RegExp(t,e)};return i}var Je={codeRemoveIndent:/^(?: {1,4}| {0,3}\t)/gm,outputLinkReplace:/\\([\[\]])/g,indentCodeCompensation:/^(\s+)(?:```)/,beginningSpace:/^\s+/,endingHash:/#$/,startingSpaceChar:/^ /,endingSpaceChar:/ $/,nonSpaceChar:/[^ ]/,newLineCharGlobal:/\n/g,tabCharGlobal:/\t/g,multipleSpaceGlobal:/\s+/g,blankLine:/^[ \t]*$/,doubleBlankLine:/\n[ \t]*\n[ \t]*$/,blockquoteStart:/^ {0,3}>/,blockquoteSetextReplace:/\n {0,3}((?:=+|-+) *)(?=\n|$)/g,blockquoteSetextReplace2:/^ {0,3}>[ \t]?/gm,listReplaceTabs:/^\t+/,listReplaceNesting:/^ {1,4}(?=( {4})*[^ ])/g,listIsTask:/^\[[ xX]\] /,listReplaceTask:/^\[[ xX]\] +/,anyLine:/\n.*\n/,hrefBrackets:/^<(.*)>$/,tableDelimiter:/[:|]/,tableAlignChars:/^\||\| *$/g,tableRowBlankLine:/\n[ \t]*$/,tableAlignRight:/^ *-+: *$/,tableAlignCenter:/^ *:-+: *$/,tableAlignLeft:/^ *:-+ *$/,startATag:/^<a /i,endATag:/^<\/a>/i,startPreScriptTag:/^<(pre|code|kbd|script)(\s|>)/i,endPreScriptTag:/^<\/(pre|code|kbd|script)(\s|>)/i,startAngleBracket:/^</,endAngleBracket:/>$/,pedanticHrefTitle:/^([^'"]*[^\s])\s+(['"])(.*)\2/,unicodeAlphaNumeric:/[\p{L}\p{N}]/u,escapeTest:/[&<>"']/,escapeReplace:/[&<>"']/g,escapeTestNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/,escapeReplaceNoEncode:/[<>"']|&(?!(#\d{1,7}|#[Xx][a-fA-F0-9]{1,6}|\w+);)/g,unescapeTest:/&(#(?:\d+)|(?:#x[0-9A-Fa-f]+)|(?:\w+));?/ig,caret:/(^|[^\[])\^/g,percentDecode:/%25/g,findPipe:/\|/g,splitPipe:/ \|/,slashPipe:/\\\|/g,carriageReturn:/\r\n|\r/g,spaceLine:/^ +$/gm,notSpaceStart:/^\S*/,endingNewline:/\n$/,listItemRegex:n=>new RegExp(`^( {0,3}${n})((?:[ ][^\\n]*)?(?:\\n|$))`),nextBulletRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:[*+-]|\\d{1,9}[.)])((?:[ ][^\\n]*)?(?:\\n|$))`),hrRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}((?:- *){3,}|(?:_ *){3,}|(?:\\* *){3,})(?:\\n+|$)`),fencesBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}(?:\`\`\`|~~~)`),headingBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}#`),htmlBeginRegex:n=>new RegExp(`^ {0,${Math.min(3,n-1)}}<(?:[a-z].*>|!--)`,"i")},e0=/^(?:[ \t]*(?:\n|$))+/,t0=/^((?: {4}| {0,3}\t)[^\n]+(?:\n(?:[ \t]*(?:\n|$))*)?)+/,n0=/^ {0,3}(`{3,}(?=[^`\n]*(?:\n|$))|~{3,})([^\n]*)(?:\n|$)(?:|([\s\S]*?)(?:\n|$))(?: {0,3}\1[~`]* *(?=\n|$)|$)/,ar=/^ {0,3}((?:-[\t ]*){3,}|(?:_[ \t]*){3,}|(?:\*[ \t]*){3,})(?:\n+|$)/,i0=/^ {0,3}(#{1,6})(?=\s|$)(.*)(?:\n+|$)/,wl=/(?:[*+-]|\d{1,9}[.)])/,au=/^(?!bull |blockCode|fences|blockquote|heading|html|table)((?:.|\n(?!\s*?\n|bull |blockCode|fences|blockquote|heading|html|table))+?)\n {0,3}(=+|-+) *(?:\n+|$)/,cu=ae(au).replace(/bull/g,wl).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/\|table/g,"").getRegex(),r0=ae(au).replace(/bull/g,wl).replace(/blockCode/g,/(?: {4}| {0,3}\t)/).replace(/fences/g,/ {0,3}(?:`{3,}|~{3,})/).replace(/blockquote/g,/ {0,3}>/).replace(/heading/g,/ {0,3}#{1,6}/).replace(/html/g,/ {0,3}<[^\n>]+>\n/).replace(/table/g,/ {0,3}\|?(?:[:\- ]*\|)+[\:\- ]*\n/).getRegex(),xl=/^([^\n]+(?:\n(?!hr|heading|lheading|blockquote|fences|list|html|table| +\n)[^\n]+)*)/,s0=/^[^\n]+/,vl=/(?!\s*\])(?:\\.|[^\[\]\\])+/,o0=ae(/^ {0,3}\[(label)\]: *(?:\n[ \t]*)?([^<\s][^\s]*|<.*?>)(?:(?: +(?:\n[ \t]*)?| *\n[ \t]*)(title))? *(?:\n+|$)/).replace("label",vl).replace("title",/(?:"(?:\\"?|[^"\\])*"|'[^'\n]*(?:\n[^'\n]+)*\n?'|\([^()]*\))/).getRegex(),l0=ae(/^( {0,3}bull)([ \t][^\n]+?)?(?:\n|$)/).replace(/bull/g,wl).getRegex(),Ms="address|article|aside|base|basefont|blockquote|body|caption|center|col|colgroup|dd|details|dialog|dir|div|dl|dt|fieldset|figcaption|figure|footer|form|frame|frameset|h[1-6]|head|header|hr|html|iframe|legend|li|link|main|menu|menuitem|meta|nav|noframes|ol|optgroup|option|p|param|search|section|summary|table|tbody|td|tfoot|th|thead|title|tr|track|ul",kl=/<!--(?:-?>|[\s\S]*?(?:-->|$))/,a0=ae("^ {0,3}(?:<(script|pre|style|textarea)[\\s>][\\s\\S]*?(?:</\\1>[^\\n]*\\n+|$)|comment[^\\n]*(\\n+|$)|<\\?[\\s\\S]*?(?:\\?>\\n*|$)|<![A-Z][\\s\\S]*?(?:>\\n*|$)|<!\\[CDATA\\[[\\s\\S]*?(?:\\]\\]>\\n*|$)|</?(tag)(?: +|\\n|/?>)[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|<(?!script|pre|style|textarea)([a-z][\\w-]*)(?:attribute)*? */?>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$)|</(?!script|pre|style|textarea)[a-z][\\w-]*\\s*>(?=[ \\t]*(?:\\n|$))[\\s\\S]*?(?:(?:\\n[ ]*)+\\n|$))","i").replace("comment",kl).replace("tag",Ms).replace("attribute",/ +[a-zA-Z:_][\w.:-]*(?: *= *"[^"\n]*"| *= *'[^'\n]*'| *= *[^\s"'=<>`]+)?/).getRegex(),hu=ae(xl).replace("hr",ar).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("|table","").replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ms).getRegex(),c0=ae(/^( {0,3}> ?(paragraph|[^\n]*)(?:\n|$))+/).replace("paragraph",hu).getRegex(),Sl={blockquote:c0,code:t0,def:o0,fences:n0,heading:i0,hr:ar,html:a0,lheading:cu,list:l0,newline:e0,paragraph:hu,table:lr,text:s0},nu=ae("^ *([^\\n ].*)\\n {0,3}((?:\\| *)?:?-+:? *(?:\\| *:?-+:? *)*(?:\\| *)?)(?:\\n((?:(?! *\\n|hr|heading|blockquote|code|fences|list|html).*(?:\\n|$))*)\\n*|$)").replace("hr",ar).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("blockquote"," {0,3}>").replace("code","(?: {4}| {0,3} )[^\\n]").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ms).getRegex(),h0={...Sl,lheading:r0,table:nu,paragraph:ae(xl).replace("hr",ar).replace("heading"," {0,3}#{1,6}(?:\\s|$)").replace("|lheading","").replace("table",nu).replace("blockquote"," {0,3}>").replace("fences"," {0,3}(?:`{3,}(?=[^`\\n]*\\n)|~{3,})[^\\n]*\\n").replace("list"," {0,3}(?:[*+-]|1[.)]) ").replace("html","</?(?:tag)(?: +|\\n|/?>)|<(?:script|pre|style|textarea|!--)").replace("tag",Ms).getRegex()},u0={...Sl,html:ae(`^ *(?:comment *(?:\\n|\\s*$)|<(tag)[\\s\\S]+?</\\1> *(?:\\n{2,}|\\s*$)|<tag(?:"[^"]*"|'[^']*'|\\s[^'"/>\\s]*)*?/?> *(?:\\n{2,}|\\s*$))`).replace("comment",kl).replace(/tag/g,"(?!(?:a|em|strong|small|s|cite|q|dfn|abbr|data|time|code|var|samp|kbd|sub|sup|i|b|u|mark|ruby|rt|rp|bdi|bdo|span|br|wbr|ins|del|img)\\b)\\w+(?!:|[^\\w\\s@]*@)\\b").getRegex(),def:/^ *\[([^\]]+)\]: *<?([^\s>]+)>?(?: +(["(][^\n]+[")]))? *(?:\n+|$)/,heading:/^(#{1,6})(.*)(?:\n+|$)/,fences:lr,lheading:/^(.+?)\n {0,3}(=+|-+) *(?:\n+|$)/,paragraph:ae(xl).replace("hr",ar).replace("heading",` *#{1,6} *[^
|
|
518
|
+
]`).replace("lheading",cu).replace("|table","").replace("blockquote"," {0,3}>").replace("|fences","").replace("|list","").replace("|html","").replace("|tag","").getRegex()},d0=/^\\([!"#$%&'()*+,\-./:;<=>?@\[\]\\^_`{|}~])/,f0=/^(`+)([^`]|[^`][\s\S]*?[^`])\1(?!`)/,uu=/^( {2,}|\\)\n(?!\s*$)/,p0=/^(`+|[^`])(?:(?= {2,}\n)|[\s\S]*?(?:(?=[\\<!\[`*_]|\b_|$)|[^ ](?= {2,}\n)))/,Es=/[\p{P}\p{S}]/u,Cl=/[\s\p{P}\p{S}]/u,du=/[^\s\p{P}\p{S}]/u,m0=ae(/^((?![*_])punctSpace)/,"u").replace(/punctSpace/g,Cl).getRegex(),fu=/(?!~)[\p{P}\p{S}]/u,g0=/(?!~)[\s\p{P}\p{S}]/u,b0=/(?:[^\s\p{P}\p{S}]|~)/u,y0=/\[[^[\]]*?\]\((?:\\.|[^\\\(\)]|\((?:\\.|[^\\\(\)])*\))*\)|`[^`]*?`|<[^<>]*?>/g,pu=/^(?:\*+(?:((?!\*)punct)|[^\s*]))|^_+(?:((?!_)punct)|([^\s_]))/,w0=ae(pu,"u").replace(/punct/g,Es).getRegex(),x0=ae(pu,"u").replace(/punct/g,fu).getRegex(),mu="^[^_*]*?__[^_*]*?\\*[^_*]*?(?=__)|[^*]+(?=[^*])|(?!\\*)punct(\\*+)(?=[\\s]|$)|notPunctSpace(\\*+)(?!\\*)(?=punctSpace|$)|(?!\\*)punctSpace(\\*+)(?=notPunctSpace)|[\\s](\\*+)(?!\\*)(?=punct)|(?!\\*)punct(\\*+)(?!\\*)(?=punct)|notPunctSpace(\\*+)(?=notPunctSpace)",v0=ae(mu,"gu").replace(/notPunctSpace/g,du).replace(/punctSpace/g,Cl).replace(/punct/g,Es).getRegex(),k0=ae(mu,"gu").replace(/notPunctSpace/g,b0).replace(/punctSpace/g,g0).replace(/punct/g,fu).getRegex(),S0=ae("^[^_*]*?\\*\\*[^_*]*?_[^_*]*?(?=\\*\\*)|[^_]+(?=[^_])|(?!_)punct(_+)(?=[\\s]|$)|notPunctSpace(_+)(?!_)(?=punctSpace|$)|(?!_)punctSpace(_+)(?=notPunctSpace)|[\\s](_+)(?!_)(?=punct)|(?!_)punct(_+)(?!_)(?=punct)","gu").replace(/notPunctSpace/g,du).replace(/punctSpace/g,Cl).replace(/punct/g,Es).getRegex(),C0=ae(/\\(punct)/,"gu").replace(/punct/g,Es).getRegex(),T0=ae(/^<(scheme:[^\s\x00-\x1f<>]*|email)>/).replace("scheme",/[a-zA-Z][a-zA-Z0-9+.-]{1,31}/).replace("email",/[a-zA-Z0-9.!#$%&'*+/=?^_`{|}~-]+(@)[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?(?:\.[a-zA-Z0-9](?:[a-zA-Z0-9-]{0,61}[a-zA-Z0-9])?)+(?![-_])/).getRegex(),A0=ae(kl).replace("(?:-->|$)","-->").getRegex(),M0=ae("^comment|^</[a-zA-Z][\\w:-]*\\s*>|^<[a-zA-Z][\\w-]*(?:attribute)*?\\s*/?>|^<\\?[\\s\\S]*?\\?>|^<![a-zA-Z]+\\s[\\s\\S]*?>|^<!\\[CDATA\\[[\\s\\S]*?\\]\\]>").replace("comment",A0).replace("attribute",/\s+[a-zA-Z:_][\w.:-]*(?:\s*=\s*"[^"]*"|\s*=\s*'[^']*'|\s*=\s*[^\s"'=<>`]+)?/).getRegex(),Cs=/(?:\[(?:\\.|[^\[\]\\])*\]|\\.|`[^`]*`|[^\[\]\\`])*?/,E0=ae(/^!?\[(label)\]\(\s*(href)(?:(?:[ \t]*(?:\n[ \t]*)?)(title))?\s*\)/).replace("label",Cs).replace("href",/<(?:\\.|[^\n<>\\])+>|[^ \t\n\x00-\x1f]*/).replace("title",/"(?:\\"?|[^"\\])*"|'(?:\\'?|[^'\\])*'|\((?:\\\)?|[^)\\])*\)/).getRegex(),gu=ae(/^!?\[(label)\]\[(ref)\]/).replace("label",Cs).replace("ref",vl).getRegex(),bu=ae(/^!?\[(ref)\](?:\[\])?/).replace("ref",vl).getRegex(),D0=ae("reflink|nolink(?!\\()","g").replace("reflink",gu).replace("nolink",bu).getRegex(),Tl={_backpedal:lr,anyPunctuation:C0,autolink:T0,blockSkip:y0,br:uu,code:f0,del:lr,emStrongLDelim:w0,emStrongRDelimAst:v0,emStrongRDelimUnd:S0,escape:d0,link:E0,nolink:bu,punctuation:m0,reflink:gu,reflinkSearch:D0,tag:M0,text:p0,url:lr},R0={...Tl,link:ae(/^!?\[(label)\]\((.*?)\)/).replace("label",Cs).getRegex(),reflink:ae(/^!?\[(label)\]\s*\[([^\]]*)\]/).replace("label",Cs).getRegex()},ml={...Tl,emStrongRDelimAst:k0,emStrongLDelim:x0,url:ae(/^((?:ftp|https?):\/\/|www\.)(?:[a-zA-Z0-9\-]+\.?)+[^\s<]*|^email/,"i").replace("email",/[A-Za-z0-9._+-]+(@)[a-zA-Z0-9-_]+(?:\.[a-zA-Z0-9-_]*[a-zA-Z0-9])+(?![-_])/).getRegex(),_backpedal:/(?:[^?!.,:;*_'"~()&]+|\([^)]*\)|&(?![a-zA-Z0-9]+;$)|[?!.,:;*_'"~)]+(?!$))+/,del:/^(~~?)(?=[^\s~])((?:\\.|[^\\])*?(?:\\.|[^\s~\\]))\1(?=[^~]|$)/,text:/^([`~]+|[^`~])(?:(?= {2,}\n)|(?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)|[\s\S]*?(?:(?=[\\<!\[`*~_]|\b_|https?:\/\/|ftp:\/\/|www\.|$)|[^ ](?= {2,}\n)|[^a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-](?=[a-zA-Z0-9.!#$%&'*+\/=?_`{\|}~-]+@)))/},L0={...ml,br:ae(uu).replace("{2,}","*").getRegex(),text:ae(ml.text).replace("\\b_","\\b_| {2,}\\n").replace(/\{2,\}/g,"*").getRegex()},ks={normal:Sl,gfm:h0,pedantic:u0},sr={normal:Tl,gfm:ml,breaks:L0,pedantic:R0},O0={"&":"&","<":"<",">":">",'"':""","'":"'"},iu=n=>O0[n];function qt(n,e){if(e){if(Je.escapeTest.test(n))return n.replace(Je.escapeReplace,iu)}else if(Je.escapeTestNoEncode.test(n))return n.replace(Je.escapeReplaceNoEncode,iu);return n}function ru(n){try{n=encodeURI(n).replace(Je.percentDecode,"%")}catch{return null}return n}function su(n,e){let t=n.replace(Je.findPipe,(s,o,l)=>{let a=!1,c=o;for(;--c>=0&&l[c]==="\\";)a=!a;return a?"|":" |"}),i=t.split(Je.splitPipe),r=0;if(i[0].trim()||i.shift(),i.length>0&&!i.at(-1)?.trim()&&i.pop(),e)if(i.length>e)i.splice(e);else for(;i.length<e;)i.push("");for(;r<i.length;r++)i[r]=i[r].trim().replace(Je.slashPipe,"|");return i}function or(n,e,t){let i=n.length;if(i===0)return"";let r=0;for(;r<i;){let s=n.charAt(i-r-1);if(s===e&&!t)r++;else if(s!==e&&t)r++;else break}return n.slice(0,i-r)}function P0(n,e){if(n.indexOf(e[1])===-1)return-1;let t=0;for(let i=0;i<n.length;i++)if(n[i]==="\\")i++;else if(n[i]===e[0])t++;else if(n[i]===e[1]&&(t--,t<0))return i;return t>0?-2:-1}function ou(n,e,t,i,r){let s=e.href,o=e.title||null,l=n[1].replace(r.other.outputLinkReplace,"$1");i.state.inLink=!0;let a={type:n[0].charAt(0)==="!"?"image":"link",raw:t,href:s,title:o,text:l,tokens:i.inlineTokens(l)};return i.state.inLink=!1,a}function I0(n,e,t){let i=n.match(t.other.indentCodeCompensation);if(i===null)return e;let r=i[1];return e.split(`
|
|
509
519
|
`).map(s=>{let o=s.match(t.other.beginningSpace);if(o===null)return s;let[l]=o;return l.length>=r.length?s.slice(r.length):s}).join(`
|
|
510
|
-
`)}var
|
|
511
|
-
`)}}}fences(n){let e=this.rules.block.fences.exec(n);if(e){let t=e[0],i=
|
|
512
|
-
`)}}blockquote(n){let e=this.rules.block.blockquote.exec(n);if(e){let t=
|
|
520
|
+
`)}var Ts=class{constructor(n){ce(this,"options");ce(this,"rules");ce(this,"lexer");this.options=n||$n}space(n){let e=this.rules.block.newline.exec(n);if(e&&e[0].length>0)return{type:"space",raw:e[0]}}code(n){let e=this.rules.block.code.exec(n);if(e){let t=e[0].replace(this.rules.other.codeRemoveIndent,"");return{type:"code",raw:e[0],codeBlockStyle:"indented",text:this.options.pedantic?t:or(t,`
|
|
521
|
+
`)}}}fences(n){let e=this.rules.block.fences.exec(n);if(e){let t=e[0],i=I0(t,e[3]||"",this.rules);return{type:"code",raw:t,lang:e[2]?e[2].trim().replace(this.rules.inline.anyPunctuation,"$1"):e[2],text:i}}}heading(n){let e=this.rules.block.heading.exec(n);if(e){let t=e[2].trim();if(this.rules.other.endingHash.test(t)){let i=or(t,"#");(this.options.pedantic||!i||this.rules.other.endingSpaceChar.test(i))&&(t=i.trim())}return{type:"heading",raw:e[0],depth:e[1].length,text:t,tokens:this.lexer.inline(t)}}}hr(n){let e=this.rules.block.hr.exec(n);if(e)return{type:"hr",raw:or(e[0],`
|
|
522
|
+
`)}}blockquote(n){let e=this.rules.block.blockquote.exec(n);if(e){let t=or(e[0],`
|
|
513
523
|
`).split(`
|
|
514
524
|
`),i="",r="",s=[];for(;t.length>0;){let o=!1,l=[],a;for(a=0;a<t.length;a++)if(this.rules.other.blockquoteStart.test(t[a]))l.push(t[a]),o=!0;else if(!o)l.push(t[a]);else break;t=t.slice(a);let c=l.join(`
|
|
515
525
|
`),h=c.replace(this.rules.other.blockquoteSetextReplace,`
|
|
@@ -527,10 +537,10 @@ ${h}`:h;let u=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
527
537
|
`,1)[0],k;if(d=A,this.options.pedantic?(d=d.replace(this.rules.other.listReplaceNesting," "),k=d):k=d.replace(this.rules.other.tabCharGlobal," "),C.test(d)||_.test(d)||S.test(d)||y.test(d)||x.test(d))break;if(k.search(this.rules.other.nonSpaceChar)>=p||!d.trim())h+=`
|
|
528
538
|
`+k.slice(p);else{if(f||u.replace(this.rules.other.tabCharGlobal," ").search(this.rules.other.nonSpaceChar)>=4||C.test(u)||_.test(u)||x.test(u))break;h+=`
|
|
529
539
|
`+d}!f&&!d.trim()&&(f=!0),c+=A+`
|
|
530
|
-
`,n=n.substring(A.length+1),u=k.slice(p)}}r.loose||(o?r.loose=!0:this.rules.other.doubleBlankLine.test(c)&&(o=!0));let g=null,b;this.options.gfm&&(g=this.rules.other.listIsTask.exec(h),g&&(b=g[0]!=="[ ] ",h=h.replace(this.rules.other.listReplaceTask,""))),r.items.push({type:"list_item",raw:c,task:!!g,checked:b,loose:!1,text:h,tokens:[]}),r.raw+=c}let l=r.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;r.raw=r.raw.trimEnd();for(let a=0;a<r.items.length;a++)if(this.lexer.state.top=!1,r.items[a].tokens=this.lexer.blockTokens(r.items[a].text,[]),!r.loose){let c=r.items[a].tokens.filter(u=>u.type==="space"),h=c.length>0&&c.some(u=>this.rules.other.anyLine.test(u.raw));r.loose=h}if(r.loose)for(let a=0;a<r.items.length;a++)r.items[a].loose=!0;return r}}html(n){let e=this.rules.block.html.exec(n);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(n){let e=this.rules.block.def.exec(n);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:e[0],href:i,title:r}}}table(n){let e=this.rules.block.table.exec(n);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=
|
|
531
|
-
`):[],s={type:"table",raw:e[0],header:[],align:[],rows:[]};if(t.length===i.length){for(let o of i)this.rules.other.tableAlignRight.test(o)?s.align.push("right"):this.rules.other.tableAlignCenter.test(o)?s.align.push("center"):this.rules.other.tableAlignLeft.test(o)?s.align.push("left"):s.align.push(null);for(let o=0;o<t.length;o++)s.header.push({text:t[o],tokens:this.lexer.inline(t[o]),header:!0,align:s.align[o]});for(let o of r)s.rows.push(
|
|
532
|
-
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(n){let e=this.rules.block.text.exec(n);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(n){let e=this.rules.inline.escape.exec(n);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(n){let e=this.rules.inline.tag.exec(n);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(n){let e=this.rules.inline.link.exec(n);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let s=
|
|
533
|
-
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){for(this.options.pedantic&&(e=e.replace(
|
|
540
|
+
`,n=n.substring(A.length+1),u=k.slice(p)}}r.loose||(o?r.loose=!0:this.rules.other.doubleBlankLine.test(c)&&(o=!0));let g=null,b;this.options.gfm&&(g=this.rules.other.listIsTask.exec(h),g&&(b=g[0]!=="[ ] ",h=h.replace(this.rules.other.listReplaceTask,""))),r.items.push({type:"list_item",raw:c,task:!!g,checked:b,loose:!1,text:h,tokens:[]}),r.raw+=c}let l=r.items.at(-1);if(l)l.raw=l.raw.trimEnd(),l.text=l.text.trimEnd();else return;r.raw=r.raw.trimEnd();for(let a=0;a<r.items.length;a++)if(this.lexer.state.top=!1,r.items[a].tokens=this.lexer.blockTokens(r.items[a].text,[]),!r.loose){let c=r.items[a].tokens.filter(u=>u.type==="space"),h=c.length>0&&c.some(u=>this.rules.other.anyLine.test(u.raw));r.loose=h}if(r.loose)for(let a=0;a<r.items.length;a++)r.items[a].loose=!0;return r}}html(n){let e=this.rules.block.html.exec(n);if(e)return{type:"html",block:!0,raw:e[0],pre:e[1]==="pre"||e[1]==="script"||e[1]==="style",text:e[0]}}def(n){let e=this.rules.block.def.exec(n);if(e){let t=e[1].toLowerCase().replace(this.rules.other.multipleSpaceGlobal," "),i=e[2]?e[2].replace(this.rules.other.hrefBrackets,"$1").replace(this.rules.inline.anyPunctuation,"$1"):"",r=e[3]?e[3].substring(1,e[3].length-1).replace(this.rules.inline.anyPunctuation,"$1"):e[3];return{type:"def",tag:t,raw:e[0],href:i,title:r}}}table(n){let e=this.rules.block.table.exec(n);if(!e||!this.rules.other.tableDelimiter.test(e[2]))return;let t=su(e[1]),i=e[2].replace(this.rules.other.tableAlignChars,"").split("|"),r=e[3]?.trim()?e[3].replace(this.rules.other.tableRowBlankLine,"").split(`
|
|
541
|
+
`):[],s={type:"table",raw:e[0],header:[],align:[],rows:[]};if(t.length===i.length){for(let o of i)this.rules.other.tableAlignRight.test(o)?s.align.push("right"):this.rules.other.tableAlignCenter.test(o)?s.align.push("center"):this.rules.other.tableAlignLeft.test(o)?s.align.push("left"):s.align.push(null);for(let o=0;o<t.length;o++)s.header.push({text:t[o],tokens:this.lexer.inline(t[o]),header:!0,align:s.align[o]});for(let o of r)s.rows.push(su(o,s.header.length).map((l,a)=>({text:l,tokens:this.lexer.inline(l),header:!1,align:s.align[a]})));return s}}lheading(n){let e=this.rules.block.lheading.exec(n);if(e)return{type:"heading",raw:e[0],depth:e[2].charAt(0)==="="?1:2,text:e[1],tokens:this.lexer.inline(e[1])}}paragraph(n){let e=this.rules.block.paragraph.exec(n);if(e){let t=e[1].charAt(e[1].length-1)===`
|
|
542
|
+
`?e[1].slice(0,-1):e[1];return{type:"paragraph",raw:e[0],text:t,tokens:this.lexer.inline(t)}}}text(n){let e=this.rules.block.text.exec(n);if(e)return{type:"text",raw:e[0],text:e[0],tokens:this.lexer.inline(e[0])}}escape(n){let e=this.rules.inline.escape.exec(n);if(e)return{type:"escape",raw:e[0],text:e[1]}}tag(n){let e=this.rules.inline.tag.exec(n);if(e)return!this.lexer.state.inLink&&this.rules.other.startATag.test(e[0])?this.lexer.state.inLink=!0:this.lexer.state.inLink&&this.rules.other.endATag.test(e[0])&&(this.lexer.state.inLink=!1),!this.lexer.state.inRawBlock&&this.rules.other.startPreScriptTag.test(e[0])?this.lexer.state.inRawBlock=!0:this.lexer.state.inRawBlock&&this.rules.other.endPreScriptTag.test(e[0])&&(this.lexer.state.inRawBlock=!1),{type:"html",raw:e[0],inLink:this.lexer.state.inLink,inRawBlock:this.lexer.state.inRawBlock,block:!1,text:e[0]}}link(n){let e=this.rules.inline.link.exec(n);if(e){let t=e[2].trim();if(!this.options.pedantic&&this.rules.other.startAngleBracket.test(t)){if(!this.rules.other.endAngleBracket.test(t))return;let s=or(t.slice(0,-1),"\\");if((t.length-s.length)%2===0)return}else{let s=P0(e[2],"()");if(s===-2)return;if(s>-1){let l=(e[0].indexOf("!")===0?5:4)+e[1].length+s;e[2]=e[2].substring(0,s),e[0]=e[0].substring(0,l).trim(),e[3]=""}}let i=e[2],r="";if(this.options.pedantic){let s=this.rules.other.pedanticHrefTitle.exec(i);s&&(i=s[1],r=s[3])}else r=e[3]?e[3].slice(1,-1):"";return i=i.trim(),this.rules.other.startAngleBracket.test(i)&&(this.options.pedantic&&!this.rules.other.endAngleBracket.test(t)?i=i.slice(1):i=i.slice(1,-1)),ou(e,{href:i&&i.replace(this.rules.inline.anyPunctuation,"$1"),title:r&&r.replace(this.rules.inline.anyPunctuation,"$1")},e[0],this.lexer,this.rules)}}reflink(n,e){let t;if((t=this.rules.inline.reflink.exec(n))||(t=this.rules.inline.nolink.exec(n))){let i=(t[2]||t[1]).replace(this.rules.other.multipleSpaceGlobal," "),r=e[i.toLowerCase()];if(!r){let s=t[0].charAt(0);return{type:"text",raw:s,text:s}}return ou(t,r,t[0],this.lexer,this.rules)}}emStrong(n,e,t=""){let i=this.rules.inline.emStrongLDelim.exec(n);if(!i||i[3]&&t.match(this.rules.other.unicodeAlphaNumeric))return;if(!(i[1]||i[2]||"")||!t||this.rules.inline.punctuation.exec(t)){let s=[...i[0]].length-1,o,l,a=s,c=0,h=i[0][0]==="*"?this.rules.inline.emStrongRDelimAst:this.rules.inline.emStrongRDelimUnd;for(h.lastIndex=0,e=e.slice(-1*n.length+s);(i=h.exec(e))!=null;){if(o=i[1]||i[2]||i[3]||i[4]||i[5]||i[6],!o)continue;if(l=[...o].length,i[3]||i[4]){a+=l;continue}else if((i[5]||i[6])&&s%3&&!((s+l)%3)){c+=l;continue}if(a-=l,a>0)continue;l=Math.min(l,l+a+c);let u=[...i[0]][0].length,d=n.slice(0,s+i.index+u+l);if(Math.min(s,l)%2){let p=d.slice(1,-1);return{type:"em",raw:d,text:p,tokens:this.lexer.inlineTokens(p)}}let f=d.slice(2,-2);return{type:"strong",raw:d,text:f,tokens:this.lexer.inlineTokens(f)}}}}codespan(n){let e=this.rules.inline.code.exec(n);if(e){let t=e[2].replace(this.rules.other.newLineCharGlobal," "),i=this.rules.other.nonSpaceChar.test(t),r=this.rules.other.startingSpaceChar.test(t)&&this.rules.other.endingSpaceChar.test(t);return i&&r&&(t=t.substring(1,t.length-1)),{type:"codespan",raw:e[0],text:t}}}br(n){let e=this.rules.inline.br.exec(n);if(e)return{type:"br",raw:e[0]}}del(n){let e=this.rules.inline.del.exec(n);if(e)return{type:"del",raw:e[0],text:e[2],tokens:this.lexer.inlineTokens(e[2])}}autolink(n){let e=this.rules.inline.autolink.exec(n);if(e){let t,i;return e[2]==="@"?(t=e[1],i="mailto:"+t):(t=e[1],i=t),{type:"link",raw:e[0],text:t,href:i,tokens:[{type:"text",raw:t,text:t}]}}}url(n){let e;if(e=this.rules.inline.url.exec(n)){let t,i;if(e[2]==="@")t=e[0],i="mailto:"+t;else{let r;do r=e[0],e[0]=this.rules.inline._backpedal.exec(e[0])?.[0]??"";while(r!==e[0]);t=e[0],e[1]==="www."?i="http://"+e[0]:i=e[0]}return{type:"link",raw:e[0],text:t,href:i,tokens:[{type:"text",raw:t,text:t}]}}}inlineText(n){let e=this.rules.inline.text.exec(n);if(e){let t=this.lexer.state.inRawBlock;return{type:"text",raw:e[0],text:e[0],escaped:t}}}},an=class gl{constructor(e){ce(this,"tokens");ce(this,"options");ce(this,"state");ce(this,"tokenizer");ce(this,"inlineQueue");this.tokens=[],this.tokens.links=Object.create(null),this.options=e||$n,this.options.tokenizer=this.options.tokenizer||new Ts,this.tokenizer=this.options.tokenizer,this.tokenizer.options=this.options,this.tokenizer.lexer=this,this.inlineQueue=[],this.state={inLink:!1,inRawBlock:!1,top:!0};let t={other:Je,block:ks.normal,inline:sr.normal};this.options.pedantic?(t.block=ks.pedantic,t.inline=sr.pedantic):this.options.gfm&&(t.block=ks.gfm,this.options.breaks?t.inline=sr.breaks:t.inline=sr.gfm),this.tokenizer.rules=t}static get rules(){return{block:ks,inline:sr}}static lex(e,t){return new gl(t).lex(e)}static lexInline(e,t){return new gl(t).inlineTokens(e)}lex(e){e=e.replace(Je.carriageReturn,`
|
|
543
|
+
`),this.blockTokens(e,this.tokens);for(let t=0;t<this.inlineQueue.length;t++){let i=this.inlineQueue[t];this.inlineTokens(i.src,i.tokens)}return this.inlineQueue=[],this.tokens}blockTokens(e,t=[],i=!1){for(this.options.pedantic&&(e=e.replace(Je.tabCharGlobal," ").replace(Je.spaceLine,""));e;){let r;if(this.options.extensions?.block?.some(o=>(r=o.call({lexer:this},e,t))?(e=e.substring(r.raw.length),t.push(r),!0):!1))continue;if(r=this.tokenizer.space(e)){e=e.substring(r.raw.length);let o=t.at(-1);r.raw.length===1&&o!==void 0?o.raw+=`
|
|
534
544
|
`:t.push(r);continue}if(r=this.tokenizer.code(e)){e=e.substring(r.raw.length);let o=t.at(-1);o?.type==="paragraph"||o?.type==="text"?(o.raw+=`
|
|
535
545
|
`+r.raw,o.text+=`
|
|
536
546
|
`+r.text,this.inlineQueue.at(-1).src=o.text):t.push(r);continue}if(r=this.tokenizer.fences(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.heading(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.hr(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.blockquote(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.list(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.html(e)){e=e.substring(r.raw.length),t.push(r);continue}if(r=this.tokenizer.def(e)){e=e.substring(r.raw.length);let o=t.at(-1);o?.type==="paragraph"||o?.type==="text"?(o.raw+=`
|
|
@@ -539,7 +549,7 @@ ${h}`:h;let u=this.lexer.state.top;if(this.lexer.state.top=!0,this.lexer.blockTo
|
|
|
539
549
|
`+r.raw,o.text+=`
|
|
540
550
|
`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):t.push(r),i=s.length!==e.length,e=e.substring(r.raw.length);continue}if(r=this.tokenizer.text(e)){e=e.substring(r.raw.length);let o=t.at(-1);o?.type==="text"?(o.raw+=`
|
|
541
551
|
`+r.raw,o.text+=`
|
|
542
|
-
`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):t.push(r);continue}if(e){let o="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let i=e,r=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(i))!=null;)l.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(i))!=null;)i=i.slice(0,r.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(r=this.tokenizer.rules.inline.blockSkip.exec(i))!=null;)i=i.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let s=!1,o="";for(;e;){s||(o=""),s=!1;let l;if(this.options.extensions?.inline?.some(c=>(l=c.call({lexer:this},e,t))?(e=e.substring(l.raw.length),t.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let c=t.at(-1);l.type==="text"&&c?.type==="text"?(c.raw+=l.raw,c.text+=l.text):t.push(l);continue}if(l=this.tokenizer.emStrong(e,i,o)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),t.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),t.push(l);continue}let a=e;if(this.options.extensions?.startInline){let c=1/0,h=e.slice(1),u;this.options.extensions.startInline.forEach(d=>{u=d.call({lexer:this},h),typeof u=="number"&&u>=0&&(c=Math.min(c,u))}),c<1/0&&c>=0&&(a=e.substring(0,c+1))}if(l=this.tokenizer.inlineText(a)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(o=l.raw.slice(-1)),s=!0;let c=t.at(-1);c?.type==="text"?(c.raw+=l.raw,c.text+=l.text):t.push(l);continue}if(e){let c="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return t}},
|
|
552
|
+
`+r.text,this.inlineQueue.pop(),this.inlineQueue.at(-1).src=o.text):t.push(r);continue}if(e){let o="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(o);break}else throw new Error(o)}}return this.state.top=!0,t}inline(e,t=[]){return this.inlineQueue.push({src:e,tokens:t}),t}inlineTokens(e,t=[]){let i=e,r=null;if(this.tokens.links){let l=Object.keys(this.tokens.links);if(l.length>0)for(;(r=this.tokenizer.rules.inline.reflinkSearch.exec(i))!=null;)l.includes(r[0].slice(r[0].lastIndexOf("[")+1,-1))&&(i=i.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.reflinkSearch.lastIndex))}for(;(r=this.tokenizer.rules.inline.anyPunctuation.exec(i))!=null;)i=i.slice(0,r.index)+"++"+i.slice(this.tokenizer.rules.inline.anyPunctuation.lastIndex);for(;(r=this.tokenizer.rules.inline.blockSkip.exec(i))!=null;)i=i.slice(0,r.index)+"["+"a".repeat(r[0].length-2)+"]"+i.slice(this.tokenizer.rules.inline.blockSkip.lastIndex);let s=!1,o="";for(;e;){s||(o=""),s=!1;let l;if(this.options.extensions?.inline?.some(c=>(l=c.call({lexer:this},e,t))?(e=e.substring(l.raw.length),t.push(l),!0):!1))continue;if(l=this.tokenizer.escape(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.tag(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.link(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.reflink(e,this.tokens.links)){e=e.substring(l.raw.length);let c=t.at(-1);l.type==="text"&&c?.type==="text"?(c.raw+=l.raw,c.text+=l.text):t.push(l);continue}if(l=this.tokenizer.emStrong(e,i,o)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.codespan(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.br(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.del(e)){e=e.substring(l.raw.length),t.push(l);continue}if(l=this.tokenizer.autolink(e)){e=e.substring(l.raw.length),t.push(l);continue}if(!this.state.inLink&&(l=this.tokenizer.url(e))){e=e.substring(l.raw.length),t.push(l);continue}let a=e;if(this.options.extensions?.startInline){let c=1/0,h=e.slice(1),u;this.options.extensions.startInline.forEach(d=>{u=d.call({lexer:this},h),typeof u=="number"&&u>=0&&(c=Math.min(c,u))}),c<1/0&&c>=0&&(a=e.substring(0,c+1))}if(l=this.tokenizer.inlineText(a)){e=e.substring(l.raw.length),l.raw.slice(-1)!=="_"&&(o=l.raw.slice(-1)),s=!0;let c=t.at(-1);c?.type==="text"?(c.raw+=l.raw,c.text+=l.text):t.push(l);continue}if(e){let c="Infinite loop on byte: "+e.charCodeAt(0);if(this.options.silent){console.error(c);break}else throw new Error(c)}}return t}},As=class{constructor(n){ce(this,"options");ce(this,"parser");this.options=n||$n}space(n){return""}code({text:n,lang:e,escaped:t}){let i=(e||"").match(Je.notSpaceStart)?.[0],r=n.replace(Je.endingNewline,"")+`
|
|
543
553
|
`;return i?'<pre><code class="language-'+qt(i)+'">'+(t?r:qt(r,!0))+`</code></pre>
|
|
544
554
|
`:"<pre><code>"+(t?r:qt(r,!0))+`</code></pre>
|
|
545
555
|
`}blockquote({tokens:n}){return`<blockquote>
|
|
@@ -557,19 +567,19 @@ ${this.parser.parse(n)}</blockquote>
|
|
|
557
567
|
`}tablerow({text:n}){return`<tr>
|
|
558
568
|
${n}</tr>
|
|
559
569
|
`}tablecell(n){let e=this.parser.parseInline(n.tokens),t=n.header?"th":"td";return(n.align?`<${t} align="${n.align}">`:`<${t}>`)+e+`</${t}>
|
|
560
|
-
`}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${qt(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:e,tokens:t}){let i=this.parser.parseInline(t),r=
|
|
561
|
-
`+this.renderer.text(l);t?i+=this.renderer.paragraph({type:"paragraph",raw:a,text:a,tokens:[{type:"text",raw:a,text:a,escaped:!0}]}):i+=a;continue}default:{let l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return i}parseInline(e,t=this.renderer){let i="";for(let r=0;r<e.length;r++){let s=e[r];if(this.options.extensions?.renderers?.[s.type]){let l=this.options.extensions.renderers[s.type].call({parser:this},s);if(l!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){i+=l||"";continue}}let o=s;switch(o.type){case"escape":{i+=t.text(o);break}case"html":{i+=t.html(o);break}case"link":{i+=t.link(o);break}case"image":{i+=t.image(o);break}case"strong":{i+=t.strong(o);break}case"em":{i+=t.em(o);break}case"codespan":{i+=t.codespan(o);break}case"br":{i+=t.br(o);break}case"del":{i+=t.del(o);break}case"text":{i+=t.text(o);break}default:{let l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return i}},
|
|
562
|
-
Please report this to https://github.com/markedjs/marked.`,n){let i="<p>An error occurred:</p><pre>"+qt(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},
|
|
563
|
-
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function E0(n,e){return T0(n)||A0(n,e)||D0(n,e)||M0()}function D0(n,e){if(n){if(typeof n=="string")return hu(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?hu(n,e):void 0}}var Tu=Object.entries,uu=Object.setPrototypeOf,R0=Object.isFrozen,L0=Object.getPrototypeOf,O0=Object.getOwnPropertyDescriptor,Pe=Object.freeze,Ne=Object.seal,Ci=Object.create,Au=typeof Reflect<"u"&&Reflect,Rl=Au.apply,Ll=Au.construct;Pe||(Pe=function(e){return e});Ne||(Ne=function(e){return e});Rl||(Rl=function(e,t){for(var i=arguments.length,r=new Array(i>2?i-2:0),s=2;s<i;s++)r[s-2]=arguments[s];return e.apply(t,r)});Ll||(Ll=function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return new e(...i)});var Un=Ee(Array.prototype.forEach),P0=Ee(Array.prototype.lastIndexOf),du=Ee(Array.prototype.pop),ar=Ee(Array.prototype.push),I0=Ee(Array.prototype.splice),Ti=Array.isArray,ur=Ee(String.prototype.toLowerCase),Cl=Ee(String.prototype.toString),fu=Ee(String.prototype.match),cr=Ee(String.prototype.replace),pu=Ee(String.prototype.indexOf),N0=Ee(String.prototype.trim),B0=Ee(Number.prototype.toString),_0=Ee(Boolean.prototype.toString),mu=typeof BigInt>"u"?null:Ee(BigInt.prototype.toString),gu=typeof Symbol>"u"?null:Ee(Symbol.prototype.toString),rt=Ee(Object.prototype.hasOwnProperty),hr=Ee(Object.prototype.toString),Ue=Ee(RegExp.prototype.test),$n=H0(TypeError);function Ee(n){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return Rl(n,e,i)}}function H0(n){return function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return Ll(n,t)}}function re(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:ur;if(uu&&uu(n,null),!Ti(e))return n;let i=e.length;for(;i--;){let r=e[i];if(typeof r=="string"){let s=t(r);s!==r&&(R0(e)||(e[i]=s),r=s)}n[r]=!0}return n}function z0(n){for(let e=0;e<n.length;e++)rt(n,e)||(n[e]=null);return n}function ut(n){let e=Ci(null);for(let i of Tu(n)){var t=E0(i,2);let r=t[0],s=t[1];rt(n,r)&&(Ti(s)?e[r]=z0(s):s&&typeof s=="object"&&s.constructor===Object?e[r]=ut(s):e[r]=s)}return e}function F0(n){switch(typeof n){case"string":return n;case"number":return B0(n);case"boolean":return _0(n);case"bigint":return mu?mu(n):"0";case"symbol":return gu?gu(n):"Symbol()";case"undefined":return hr(n);case"function":case"object":{if(n===null)return hr(n);let e=n,t=gt(e,"toString");if(typeof t=="function"){let i=t(e);return typeof i=="string"?i:hr(i)}return hr(n)}default:return hr(n)}}function gt(n,e){for(;n!==null;){let i=O0(n,e);if(i){if(i.get)return Ee(i.get);if(typeof i.value=="function")return Ee(i.value)}n=L0(n)}function t(){return null}return t}function W0(n){try{return Ue(n,""),!0}catch{return!1}}var bu=Pe(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Tl=Pe(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Al=Pe(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),V0=Pe(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Ml=Pe(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),$0=Pe(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),yu=Pe(["#text"]),wu=Pe(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),El=Pe(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),xu=Pe(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Es=Pe(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),U0=Ne(/{{[\w\W]*|^[\w\W]*}}/g),K0=Ne(/<%[\w\W]*|^[\w\W]*%>/g),j0=Ne(/\${[\w\W]*/g),q0=Ne(/^data-[\-\w.\u00B7-\uFFFF]+$/),G0=Ne(/^aria-[\-\w]+$/),vu=Ne(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),X0=Ne(/^(?:\w+script|data):/i),Y0=Ne(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),J0=Ne(/^html$/i),Z0=Ne(/^[a-z][.\w]*(-[.\w]+)+$/i),ku=Ne(/<[/\w!]/g),Su=Ne(/<[/\w]/g),Q0=Ne(/<\/no(script|embed|frames)/i),eb=Ne(/\/>/i),ht={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Mu=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],tb=Pe(re({},Mu)),nb=(function(){let n={};return Un(Mu,e=>{n[e]=Ne(new RegExp("</"+e+"(?=[\\t\\n\\f\\r />])","i"))}),Pe(n)})(),ib=function(){return typeof window>"u"?null:window},rb=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null,r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(i=t.getAttribute(r));let s="dompurify"+(i?"#"+i:"");try{return e.createPolicy(s,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},Cu=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Cn=function(e,t,i,r){return rt(e,t)&&Ti(e[t])?re(r.base?ut(r.base):{},e[t],r.transform):i},Dl=function(e,t,i){let r=rt(e,t)?e[t]:void 0;return r&&typeof r=="object"?ut(r):i()};function Eu(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:ib(),e=E=>Eu(E);if(e.version="3.4.15",e.removed=[],!n||!n.document||n.document.nodeType!==ht.document||!n.Element)return e.isSupported=!1,e;let t=n.document,i=t,r=i.currentScript;n.DocumentFragment;let s=n.HTMLTemplateElement,o=n.Node,l=n.Element,a=n.NodeFilter,c=n.NamedNodeMap;c===void 0&&(n.NamedNodeMap||n.MozNamedAttrMap),n.HTMLFormElement;let h=n.DOMParser,u=n.trustedTypes,d=l.prototype,f=gt(d,"cloneNode"),p=gt(d,"remove"),g=gt(d,"removeAttributeNode"),b=gt(d,"nextSibling"),y=gt(d,"childNodes"),x=gt(d,"parentNode"),C=gt(d,"shadowRoot"),_=gt(d,"attributes"),S=o&&o.prototype?gt(o.prototype,"nodeType"):null,A=o&&o.prototype?gt(o.prototype,"nodeName"):null,k=o&&o.prototype?gt(o.prototype,"ownerDocument"):null,N=function(m){return S?S(m):m.nodeType},B=function(m){return A?A(m):m.nodeName};if(typeof s=="function"){let E=t.createElement("template");E.content&&E.content.ownerDocument&&(t=E.content.ownerDocument)}let F,V="",M,z=!1,W=0,G=function(){if(W>0)throw $n('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},te=function(m){G(),W++;try{return F.createHTML(m)}finally{W--}},_e=function(m){G(),W++;try{return F.createScriptURL(m)}finally{W--}},ct=function(){return z||(M=rb(u,r),z=!0),M},xe=t,Le=xe.implementation,Ve=xe.createNodeIterator,He=xe.createDocumentFragment,Ge=xe.getElementsByTagName,Mt=i.importNode,ie=Cu();e.isSupported=typeof Tu=="function"&&typeof x=="function"&&Le&&Le.createHTMLDocument!==void 0;let on=U0,gi=K0,Fo=j0,Wo=q0,rs=G0,eh=X0,Vo=Y0,th=Z0,$o=vu,H=null,Ce=re({},[...bu,...Tl,...Al,...Ml,...yu]),se=null,Ji=re({},[...wu,...El,...xu,...Es]),et=Object.seal(Ci(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),yn=null,_n=null,Vt=Object.seal(Ci(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),nh=!0,Uo=!0,ih=!1,rh=!0,wn=!1,Hn=!0,zn=!1,Ko=!1,ss=null,os=null,jo=!1,bi=!1,ls=!1,as=!1,sh=!0,oh=!1,lh="user-content-",qo=!0,Go=!1,yi={},wi=null,ah=re({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),ch=null,hh=re({},["audio","video","img","source","image","track"]),uh=null,dh=re({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),cs="http://www.w3.org/1998/Math/MathML",hs="http://www.w3.org/2000/svg",$t="http://www.w3.org/1999/xhtml",xi=$t,Xo=!1,Yo=null,dg=re({},[cs,hs,$t],Cl),fh=Pe(["mi","mo","mn","ms","mtext"]),Jo=re({},fh),ph=Pe(["annotation-xml"]),Zo=re({},ph),fg=re({},["title","style","font","a","script"]),Zi=null,pg=["application/xhtml+xml","text/html"],mg="text/html",Me=null,vi=null,gg=t.createElement("form"),mh=function(m){return m instanceof RegExp||m instanceof Function},Qo=function(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(vi&&vi===m)return;(!m||typeof m!="object")&&(m={}),m=ut(m),Zi=pg.indexOf(m.PARSER_MEDIA_TYPE)===-1?mg:m.PARSER_MEDIA_TYPE,Me=Zi==="application/xhtml+xml"?Cl:ur,H=Cn(m,"ALLOWED_TAGS",Ce,{transform:Me}),se=Cn(m,"ALLOWED_ATTR",Ji,{transform:Me}),Yo=Cn(m,"ALLOWED_NAMESPACES",dg,{transform:Cl}),uh=Cn(m,"ADD_URI_SAFE_ATTR",dh,{transform:Me,base:dh}),ch=Cn(m,"ADD_DATA_URI_TAGS",hh,{transform:Me,base:hh}),wi=Cn(m,"FORBID_CONTENTS",ah,{transform:Me}),yn=Cn(m,"FORBID_TAGS",ut({}),{transform:Me}),_n=Cn(m,"FORBID_ATTR",ut({}),{transform:Me}),yi=rt(m,"USE_PROFILES")?m.USE_PROFILES&&typeof m.USE_PROFILES=="object"?ut(m.USE_PROFILES):m.USE_PROFILES:!1,nh=m.ALLOW_ARIA_ATTR!==!1,Uo=m.ALLOW_DATA_ATTR!==!1,ih=m.ALLOW_UNKNOWN_PROTOCOLS||!1,rh=m.ALLOW_SELF_CLOSE_IN_ATTR!==!1,wn=m.SAFE_FOR_TEMPLATES||!1,Hn=m.SAFE_FOR_XML!==!1,zn=m.WHOLE_DOCUMENT||!1,bi=m.RETURN_DOM||!1,ls=m.RETURN_DOM_FRAGMENT||!1,as=m.RETURN_TRUSTED_TYPE||!1,jo=m.FORCE_BODY||!1,sh=m.SANITIZE_DOM!==!1,oh=m.SANITIZE_NAMED_PROPS||!1,qo=m.KEEP_CONTENT!==!1,Go=m.IN_PLACE||!1,$o=W0(m.ALLOWED_URI_REGEXP)?m.ALLOWED_URI_REGEXP:vu,xi=typeof m.NAMESPACE=="string"?m.NAMESPACE:$t,Jo=Dl(m,"MATHML_TEXT_INTEGRATION_POINTS",()=>re({},fh)),Zo=Dl(m,"HTML_INTEGRATION_POINTS",()=>re({},ph));let w=Dl(m,"CUSTOM_ELEMENT_HANDLING",()=>Ci(null));if(et=Ci(null),rt(w,"tagNameCheck")&&mh(w.tagNameCheck)&&(et.tagNameCheck=w.tagNameCheck),rt(w,"attributeNameCheck")&&mh(w.attributeNameCheck)&&(et.attributeNameCheck=w.attributeNameCheck),rt(w,"allowCustomizedBuiltInElements")&&typeof w.allowCustomizedBuiltInElements=="boolean"&&(et.allowCustomizedBuiltInElements=w.allowCustomizedBuiltInElements),Ne(et),wn&&(Uo=!1),ls&&(bi=!0),yi&&(H=re({},yu),se=Ci(null),yi.html===!0&&(re(H,bu),re(se,wu)),yi.svg===!0&&(re(H,Tl),re(se,El),re(se,Es)),yi.svgFilters===!0&&(re(H,Al),re(se,El),re(se,Es)),yi.mathMl===!0&&(re(H,Ml),re(se,xu),re(se,Es))),Vt.tagCheck=null,Vt.attributeCheck=null,rt(m,"ADD_TAGS")&&(typeof m.ADD_TAGS=="function"?Vt.tagCheck=m.ADD_TAGS:Ti(m.ADD_TAGS)&&(H===Ce&&(H=ut(H)),re(H,m.ADD_TAGS,Me))),rt(m,"ADD_ATTR")&&(typeof m.ADD_ATTR=="function"?Vt.attributeCheck=m.ADD_ATTR:Ti(m.ADD_ATTR)&&(se===Ji&&(se=ut(se)),re(se,m.ADD_ATTR,Me))),rt(m,"ADD_FORBID_CONTENTS")&&Ti(m.ADD_FORBID_CONTENTS)&&(wi===ah&&(wi=ut(wi)),re(wi,m.ADD_FORBID_CONTENTS,Me)),qo&&(H["#text"]=!0),zn&&re(H,["html","head","body"]),H.table&&(re(H,["tbody"]),delete yn.tbody),m.TRUSTED_TYPES_POLICY){if(typeof m.TRUSTED_TYPES_POLICY.createHTML!="function")throw $n('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof m.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw $n('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let T=F;F=m.TRUSTED_TYPES_POLICY;try{V=te("")}catch(I){throw F=T,I}}else m.TRUSTED_TYPES_POLICY===null?(F=void 0,V=""):(F===void 0&&(F=ct()),F&&typeof V=="string"&&(V=te("")));Pe&&Pe(m),vi=m},gh=re({},[...Tl,...Al,...V0]),bh=re({},[...Ml,...$0]),bg=function(m,w,T){return w.namespaceURI===$t?m==="svg":w.namespaceURI===cs?m==="svg"&&(T==="annotation-xml"||Jo[T]):!!gh[m]},yg=function(m,w,T){return w.namespaceURI===$t?m==="math":w.namespaceURI===hs?m==="math"&&Zo[T]:!!bh[m]},wg=function(m,w,T){return w.namespaceURI===hs&&!Zo[T]||w.namespaceURI===cs&&!Jo[T]?!1:!bh[m]&&(fg[m]||!gh[m])},xg=function(m){let w=x(m);(!w||!w.tagName)&&(w={namespaceURI:xi,tagName:"template"});let T=ur(m.tagName),I=ur(w.tagName);return Yo[m.namespaceURI]?m.namespaceURI===hs?bg(T,w,I):m.namespaceURI===cs?yg(T,w,I):m.namespaceURI===$t?wg(T,w,I):!!(Zi==="application/xhtml+xml"&&Yo[m.namespaceURI]):!1},xn=function(m){ar(e.removed,{element:m});try{x(m).removeChild(m)}catch{if(p(m),!x(m))throw $n("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},yh=function(m,w,T){try{g(m,w)}catch{try{m.removeAttribute(T)}catch{}}},us=function(m){ds(m);let w=y(m);if(w){let I=[];Un(w,$=>{ar(I,$)}),Un(I,$=>{try{p($)}catch{}})}let T=_(m);if(T)for(let I=T.length-1;I>=0;--I){let $=T[I],q=$&&$.name;typeof q=="string"&&yh(m,$,q)}},Fn=function(m,w,T){if(!T)try{T=w.getAttributeNode(m)}catch{T=null}ar(e.removed,{attribute:T||null,from:w});try{T?g(w,T):w.removeAttribute(m)}catch{try{w.removeAttribute(m)}catch{}}if(m==="is")if(bi||ls)try{xn(w)}catch{}else try{w.setAttribute(m,"")}catch{}},vg=function(m){let w=_(m);if(w)for(let T=w.length-1;T>=0;--T){let I=w[T],$=I&&I.name;typeof $!="string"||se[Me($)]||yh(m,I,$)}},ds=function(m){let w=[m];for(;w.length>0;){let T=w.pop();N(T)===ht.element&&vg(T);let $=y(T);if($)for(let q=$.length-1;q>=0;--q)w.push($[q])}},wh=function(m,w){return Hn?m==="patchsrc"?!0:m==="for"&&w!=="label"&&w!=="output":!1},kg=function(m){if(!Hn)return;let w=[m];for(;w.length>0;){let T=w.pop(),I=N(T);if(I===ht.processingInstruction||I===ht.comment&&Ue(Su,T.data)){try{p(T)}catch{}continue}if(I===ht.element){let q=T,fe=Me(B(T));try{q.hasAttribute&&q.hasAttribute("patchsrc")&&q.removeAttribute("patchsrc"),q.hasAttribute&&q.hasAttribute("for")&&wh("for",fe)&&q.removeAttribute("for")}catch{}}let $=y(T);if($)for(let q=$.length-1;q>=0;--q)w.push($[q])}},xh=function(m){let w=null,T=null;if(jo)m="<remove></remove>"+m;else{let q=fu(m,/^[\r\n\t ]+/);T=q&&q[0]}Zi==="application/xhtml+xml"&&xi===$t&&(m='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+m+"</body></html>");let I=F?te(m):m;if(xi===$t)try{w=new h().parseFromString(I,Zi)}catch{}if(!w||!w.documentElement){w=Le.createDocument(xi,"template",null);try{w.documentElement.innerHTML=Xo?V:I}catch{}}let $=w.body||w.documentElement;return m&&T&&$.insertBefore(t.createTextNode(T),$.childNodes[0]||null),xi===$t?Ge.call(w,zn?"html":"body")[0]:zn?w.documentElement:$},vh=function(m){let w=k?k(m):m.ownerDocument;return Ve.call(w||m,m,a.SHOW_ELEMENT|a.SHOW_COMMENT|a.SHOW_TEXT|a.SHOW_PROCESSING_INSTRUCTION|a.SHOW_CDATA_SECTION,null)},fs=function(m){return m=cr(m,on," "),m=cr(m,gi," "),m=cr(m,Fo," "),m},el=function(m){var w;m.normalize();let T=k?k(m):m.ownerDocument,I=Ve.call(T||m,m,a.SHOW_TEXT|a.SHOW_COMMENT|a.SHOW_CDATA_SECTION|a.SHOW_PROCESSING_INSTRUCTION,null),$=I.nextNode();for(;$;)$.data=fs($.data),$=I.nextNode();let q=(w=m.querySelectorAll)===null||w===void 0?void 0:w.call(m,"template");q&&Un(q,fe=>{ki(fe.content)&&el(fe.content)})},ps=function(m){let w=A?A(m):null;return typeof w!="string"||Me(w)!=="form"?!1:typeof m.nodeName!="string"||typeof m.textContent!="string"||typeof m.removeChild!="function"||m.attributes!==_(m)||typeof m.removeAttribute!="function"||typeof m.removeAttributeNode!="function"||typeof m.getAttributeNode!="function"||typeof m.setAttribute!="function"||typeof m.namespaceURI!="string"||typeof m.insertBefore!="function"||typeof m.hasChildNodes!="function"||m.nodeType!==S(m)||m.childNodes!==y(m)},ki=function(m){if(!S||typeof m!="object"||m===null)return!1;try{return S(m)===ht.documentFragment}catch{return!1}},Qi=function(m){if(!S||typeof m!="object"||m===null)return!1;try{return typeof S(m)=="number"}catch{return!1}};function Ut(E,m,w){E.length!==0&&Un(E,T=>{T.call(e,m,w,vi)})}let Sg=function(m,w){return!!(Hn&&m.hasChildNodes()&&!Qi(m.firstElementChild)&&Ue(ku,m.textContent)&&Ue(ku,m.innerHTML)||Hn&&m.namespaceURI===$t&&tb[w]&&(Qi(m.firstElementChild)||typeof m.textContent=="string"&&Ue(nb[w],m.textContent))||m.nodeType===ht.processingInstruction||Hn&&m.nodeType===ht.comment&&Ue(Su,m.data))},ms=function(m,w){if(m instanceof RegExp)return Ue(m,w);if(m instanceof Function){for(var T=arguments.length,I=new Array(T>2?T-2:0),$=2;$<T;$++)I[$-2]=arguments[$];return!!m(w,...I)}return!1},Cg=function(m,w,T){if(!yn[w]&&Ah(w)&&ms(et.tagNameCheck,w))return!1;if(qo&&!wi[w]){let I=x(m),$=y(m);if($&&I){let q=$.length;for(let fe=q-1;fe>=0;--fe){let Se=m===T?f($[fe],!0):$[fe];I.insertBefore(Se,b(m))}}}return xn(m),!0},kh=function(m,w,T,I){return m.length===0?w:w===T||w===I?ut(w):w},Sh=function(m,w){return m===w||x(m)!==null?!1:(Go&&ds(m),!0)},Ch=function(m,w){if(Ut(ie.beforeSanitizeElements,m,null),Sh(m,w))return!0;if(ps(m))return xn(m),!0;let T=Me(B(m));if(H=kh(ie.uponSanitizeElement,H,Ce,ss),Ut(ie.uponSanitizeElement,m,{tagName:T,allowedTags:H}),Sh(m,w))return!0;if(Sg(m,T))return xn(m),!0;if(yn[T]||!(Vt.tagCheck instanceof Function&&Vt.tagCheck(T))&&!H[T]){let $=Cg(m,T,w);return $===!1&&Ut(ie.afterSanitizeElements,m,null),$}if(N(m)===ht.element&&!xg(m)||(T==="noscript"||T==="noembed"||T==="noframes")&&Ue(Q0,m.innerHTML))return xn(m),!0;if(wn&&m.nodeType===ht.text){let $=fs(m.textContent);m.textContent!==$&&(ar(e.removed,{element:m.cloneNode()}),m.textContent=$)}return Ut(ie.afterSanitizeElements,m,null),!1},Th=function(m,w,T){if(_n[w]||wh(w,m)||sh&&(w==="id"||w==="name")&&(T in t||T in gg))return!1;let I=se[w]||Vt.attributeCheck instanceof Function&&Vt.attributeCheck(w,m);return Uo&&Ue(Wo,w)||nh&&Ue(rs,w)?!0:I?uh[w]||Ue($o,cr(T,Vo,""))||(w==="src"||w==="xlink:href"||w==="href")&&m!=="script"&&pu(T,"data:")===0&&ch[m]||ih&&!Ue(eh,cr(T,Vo,""))?!0:!T:Ah(m)&&ms(et.tagNameCheck,m)&&ms(et.attributeNameCheck,w,m)||w==="is"&&et.allowCustomizedBuiltInElements&&ms(et.tagNameCheck,T)},Tg=re({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Ah=function(m){return!Tg[ur(m)]&&Ue(th,m)},Ag=function(m,w,T,I){if(F&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!T)switch(u.getAttributeType(m,w)){case"TrustedHTML":return te(I);case"TrustedScriptURL":return _e(I)}return I},Mg=function(m,w,T,I){try{return T?m.setAttributeNS(T,w,I):m.setAttribute(w,I),ps(m)?(xn(m),!1):!0}catch{return Fn(w,m),!1}},Mh=function(m){Ut(ie.beforeSanitizeAttributes,m,null);let w=m.attributes;if(!w||ps(m))return;se=kh(ie.uponSanitizeAttribute,se,Ji,os);let T={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:se,forceKeepAttr:void 0},I=w.length,$=Me(m.nodeName);for(;I--;){let q=w[I],fe=q.name,Se=q.namespaceURI,tt=q.value,nt=Me(fe),nl=tt,Xe=fe==="value"?nl:N0(nl),Eh=!1;if(T.attrName=nt,T.attrValue=Xe,T.keepAttr=!0,T.forceKeepAttr=void 0,Ut(ie.uponSanitizeAttribute,m,T),Xe=T.attrValue,oh&&(nt==="id"||nt==="name")&&pu(Xe,lh)!==0&&(Fn(fe,m,q),Xe=lh+Xe,Eh=!0),Hn&&Ue(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Xe)){Fn(fe,m,q);continue}if(nt==="attributename"&&fu(Xe,"href")){Fn(fe,m,q);continue}if(!T.forceKeepAttr){if(!T.keepAttr){Fn(fe,m,q);continue}if(!rh&&Ue(eb,Xe)){Fn(fe,m,q);continue}if(wn&&(Xe=fs(Xe)),!Th($,nt,Xe)){Fn(fe,m,q);continue}Xe=Ag($,nt,Se,Xe),Xe!==nl&&Mg(m,fe,Se,Xe)&&Eh&&du(e.removed)}}Ut(ie.afterSanitizeAttributes,m,null)},gs=function(m){let w=null,T=vh(m);for(Ut(ie.beforeSanitizeShadowDOM,m,null);w=T.nextNode();)if(Ut(ie.uponSanitizeShadowNode,w,null),Ch(w,m),Mh(w),ki(w.content)&&gs(w.content),N(w)===ht.element){let I=C(w);ki(I)&&(tl(I),gs(I))}Ut(ie.afterSanitizeShadowDOM,m,null)},tl=function(m){let w=[{node:m,shadow:null}];for(;w.length>0;){let T=w.pop();if(T.shadow){gs(T.shadow);continue}let I=T.node,q=N(I)===ht.element,fe=y(I);if(fe)for(let Se=fe.length-1;Se>=0;--Se)w.push({node:fe[Se],shadow:null});if(q){let Se=A?A(I):null;if(typeof Se=="string"&&Me(Se)==="template"){let tt=I.content;ki(tt)&&w.push({node:tt,shadow:null})}}if(q){let Se=C(I);ki(Se)&&w.push({node:null,shadow:Se},{node:Se,shadow:null})}}};return e.sanitize=function(E){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},w=null,T=null,I=null,$=null;if(Xo=!E,Xo&&(E="<!-->"),typeof E!="string"&&!Qi(E)&&(E=F0(E),typeof E!="string"))throw $n("dirty is not a string, aborting");if(!e.isSupported)return E;Ko?(H=ss,se=os):Qo(m),(ie.uponSanitizeElement.length>0||ie.uponSanitizeAttribute.length>0)&&(H=ut(H)),ie.uponSanitizeAttribute.length>0&&(se=ut(se)),e.removed=[];let q=Go&&typeof E!="string"&&Qi(E);if(q){kg(E);let tt=B(E);if(typeof tt=="string"){let nt=Me(tt);if(!H[nt]||yn[nt])throw us(E),$n("root node is forbidden and cannot be sanitized in-place")}if(ps(E))throw us(E),$n("root node is clobbered and cannot be sanitized in-place");try{tl(E)}catch(nt){throw us(E),nt}}else if(Qi(E))w=xh("<!---->"),T=w.ownerDocument.importNode(E,!0),T.nodeType===ht.element&&T.nodeName==="BODY"||T.nodeName==="HTML"?w=T:w.appendChild(T),tl(w);else{if(!bi&&!wn&&!zn&&E.indexOf("<")===-1)return F&&as?te(E):E;if(w=xh(E),!w)return bi?null:as?V:""}w&&jo&&xn(w.firstChild);let fe=q?E:w;try{let tt=vh(fe);for(;I=tt.nextNode();)Ch(I,fe),Mh(I),ki(I.content)&&gs(I.content)}catch(tt){throw q&&(us(E),Un(e.removed,nt=>{nt.element&&ds(nt.element)})),tt}if(q)return Un(e.removed,tt=>{tt.element&&ds(tt.element)}),wn&&el(E),E;if(bi){if(wn&&el(w),ls)for($=He.call(w.ownerDocument);w.firstChild;)$.appendChild(w.firstChild);else $=w;return(se.shadowroot||se.shadowrootmode)&&($=Mt.call(i,$,!0)),$}let Se=zn?w.outerHTML:w.innerHTML;return zn&&H["!doctype"]&&w.ownerDocument&&w.ownerDocument.doctype&&w.ownerDocument.doctype.name&&Ue(J0,w.ownerDocument.doctype.name)&&(Se="<!DOCTYPE "+w.ownerDocument.doctype.name+`>
|
|
564
|
-
`+Se),wn&&(Se=fs(Se)),F&&as?te(Se):Se},e.setConfig=function(){let E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};Qo(E),Ko=!0,ss=H,os=se},e.clearConfig=function(){vi=null,Ko=!1,ss=null,os=null,F=M,V=""},e.isValidAttribute=function(E,m,w){vi||Qo({});let T=Me(E),I=Me(m);return Th(T,I,w)},e.addHook=function(E,m){typeof m=="function"&&rt(ie,E)&&ar(ie[E],m)},e.removeHook=function(E,m){if(rt(ie,E)){if(m!==void 0){let w=P0(ie[E],m);return w===-1?void 0:I0(ie[E],w,1)[0]}return du(ie[E])}},e.removeHooks=function(E){rt(ie,E)&&(ie[E]=[])},e.removeAllHooks=function(){ie=Cu()},e}var Ol=Eu();function Ds(n,e,t,i){let r=t?Array.from(t):[];if(!n||!e||r.length===0)return!1;let s=Y.conversation;if(!s)return i?.("error",v("attach.channelUnavailable")),!1;try{let o=s.createDrafts(n,r);if(o.length===0)return!1;let l=e.addAttachments(o.map(a=>a.id));return l||s.releaseDraftAttachments(o),l}catch(o){return i?.("error",o instanceof Error?o.message:String(o)),!1}}function Du(n){let e=null,t=Y.conversation?.input.shell(n);if(typeof t?.bindFilePicker=="function")return t.bindFilePicker({available:()=>!0,open:()=>{e?.remove();let i=document.createElement("input");e=i,i.type="file",i.multiple=!0,i.style.display="none",i.addEventListener("change",()=>{i.remove(),e===i&&(e=null),Ds(n,Y.conversation?.input.shell(n)??void 0,i.files)}),document.body.appendChild(i),i.click()}})}function Ru(n){return n!==null&&Array.from(n.types).includes("Files")}var K=require("react/jsx-runtime");function Kn(n,e,t){return(0,K.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:e??16,height:e??16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:t,"aria-hidden":"true",children:n})}var Lu=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("path",{d:"M6.8 5.8 2.9 11l4 4.4"}),(0,K.jsx)("path",{d:"M17.2 5.8 21.1 11l-3.9 4.4"}),(0,K.jsx)("path",{d:"M10.7 9.5 12.5 3.9"}),(0,K.jsx)("path",{d:"M16.6 9.4 6.9 14l2.9 1.3.1 2.5q.1.8.7.3l1-2.3 2.2 1.4Z"}),(0,K.jsx)("path",{d:"M9.8 15.3 16.6 9.4"})]});function Ou({size:n,className:e}){return Kn(Lu,n,e)}function Pu({size:n,className:e}){return Kn((0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}),(0,K.jsx)("path",{d:"m15 5 4 4"})]}),n,e)}function Iu({size:n,className:e}){return Kn((0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),(0,K.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}),n,e)}function Nu({size:n,className:e}){return Kn((0,K.jsx)("path",{d:"M18 6 6 18M6 6l12 12"}),n,e)}function Bu({size:n,className:e}){return Kn((0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),(0,K.jsx)("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"})]}),n,e)}function _u({size:n,className:e}){return Kn((0,K.jsx)("path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}),n,e)}function Hu({size:n,className:e}){return Kn((0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,K.jsx)("path",{d:"m21 21-4.3-4.3"})]}),n,e)}function zu({size:n}){return(0,K.jsx)("svg",{width:n??14,height:n??14,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:(0,K.jsx)("path",{d:"M8.64453 1.5V7.34961H14.5V8.65039H8.64453V14.5H7.34473V8.65039H1.5V7.34961H7.34473V1.5H8.64453Z",fill:"currentColor"})})}var Fu="M8.20554 0.899994L14.7901 3.36857V7.01026C14.7901 12 11.0466 14.2103 8.20554 15.3C5.36446 14.2103 1.62012 12 1.62012 7.01026V3.36857L8.20554 0.899994Z",sb="M12.1654 5.7552L8.9447 9.41475C8.73044 9.65816 8.53628 9.8804 8.35774 10.0423C8.1713 10.2114 7.94235 10.3717 7.64016 10.4254C7.48207 10.4535 7.32 10.4552 7.16151 10.4294C6.85843 10.3801 6.62728 10.2223 6.43836 10.0559C6.25752 9.89653 6.06037 9.67732 5.84264 9.43705L4.72925 8.20897L5.63557 7.38707L6.74897 8.61594C6.98603 8.87755 7.12974 9.03533 7.24673 9.13839C7.31033 9.19443 7.34485 9.21476 7.35823 9.22122C7.38068 9.22484 7.40352 9.22515 7.42593 9.22122C7.40522 9.22502 7.42893 9.23294 7.53583 9.136C7.65132 9.03126 7.79316 8.87139 8.02643 8.60638L11.2479 4.94763L12.1654 5.7552Z";function Wu({size:n}){return(0,K.jsxs)("svg",{width:n??16,height:n??16,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,K.jsx)("path",{d:Fu,stroke:"currentColor",strokeWidth:"1.31831",strokeLinejoin:"round"}),(0,K.jsx)("path",{d:sb,fill:"currentColor"})]})}function Vu({size:n}){return(0,K.jsxs)("svg",{width:n??16,height:n??16,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,K.jsx)("path",{d:"M8.08887 0.251709C8.20479 0.23085 8.32486 0.241168 8.43652 0.282959L15.0215 2.75171C15.2787 2.84819 15.4492 3.09414 15.4492 3.3689V7.0105C15.4492 7.10986 15.4441 7.2081 15.4414 7.30542C15.0285 7.07175 14.5905 6.87695 14.1309 6.73022V3.82495L8.20508 1.60327L2.2793 3.82495V7.0105C2.27936 9.7171 3.4745 11.5379 5.02734 12.7947C5.01025 12.9942 5 13.1962 5 13.4001C5.00001 13.7617 5.02722 14.1169 5.08008 14.4636C2.91555 13.0393 0.961014 10.752 0.960938 7.0105V3.3689C0.960938 3.09417 1.13146 2.84821 1.38867 2.75171L7.97461 0.282959L8.08887 0.251709Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M11.3525 5.64688V6.85688H5V5.64688H11.3525Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M9.5824 8.29376V9.50376H5V8.29376H9.5824Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M14.6647 15.6852H10.0338C10.3878 15.3751 10.7567 15.0517 11.0772 14.7706C11.2531 14.6164 11.4144 14.4746 11.5511 14.3547H14.6647V15.6852Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M8.14852 14.1308L7.33925 15.4976C7.22458 15.6912 7.42245 15.9194 7.63037 15.8333L9.09785 15.2254L15.0399 10.0719L14.0905 8.97733L8.14852 14.1308Z",fill:"currentColor"})]})}function $u({size:n}){return(0,K.jsxs)("svg",{width:n??16,height:n??16,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,K.jsx)("path",{d:Fu,stroke:"currentColor",strokeWidth:"1.31831",strokeLinejoin:"round"}),(0,K.jsx)("path",{d:"M9.10094 4.5V8.75939H7.59888V4.5H9.10094Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M9.10094 9.8114V11.5H7.59888V9.8114H9.10094Z",fill:"currentColor"})]})}function Uu({size:n}){return(0,K.jsxs)("svg",{width:n??18,height:n??18,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:[(0,K.jsx)("path",{d:"M6.3002 3.32843L7.69986 3.32843L7.69986 7.79657H6.3002L6.3002 3.32843Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M6.3002 9.01935H7.69986V10.6711H6.3002V9.01935Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M12.6328 6.99976C12.6328 3.88874 10.111 1.36694 7 1.36694C3.88899 1.36695 1.3672 3.88875 1.36719 6.99976C1.36719 10.1108 3.88899 12.6326 7 12.6326C10.111 12.6326 12.6328 10.1108 12.6328 6.99976ZM13.8582 6.99976C13.8582 10.7873 10.7876 13.8579 7 13.8579C3.21244 13.8579 0.141846 10.7873 0.141846 6.99976C0.141857 3.2122 3.21245 0.141612 7 0.141602C10.7876 0.141602 13.8581 3.21219 13.8582 6.99976Z",fill:"currentColor"})]})}function Ku({size:n}){return(0,K.jsx)("svg",{width:n??16,height:n??16,viewBox:"0 0 16 16","aria-hidden":"true",children:(0,K.jsx)("path",{d:"M8.3125 0.980183C8.66767 1.0531 8.97902 1.20418 9.2627 1.43233C9.48724 1.61297 9.73029 1.85793 9.97949 2.10714L14.707 6.83468L13.293 8.24874L9 3.95577V15.0417H7V3.95577L2.70703 8.24874L1.29297 6.83468L6.02051 2.10714C6.26971 1.85793 6.51277 1.61297 6.7373 1.43233C6.97662 1.23986 7.28445 1.04402 7.6875 0.980183C7.8973 0.947006 8.1031 0.95516 8.3125 0.980183Z",fill:"currentColor"})})}function ju({size:n}){return(0,K.jsx)("svg",{width:n??16,height:n??16,viewBox:"0 0 16 16","aria-hidden":"true",children:(0,K.jsx)("rect",{x:"3",y:"3",width:"10",height:"10",rx:"3",fill:"currentColor"})})}function Gt({size:n}){return(0,K.jsx)("svg",{width:n??14,height:n??14,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:(0,K.jsx)("path",{d:"M3.5 5.75L7 9.25L10.5 5.75",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}function qu({size:n=16,className:e}){return(0,K.jsx)("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:Lu})}var Tt=require("react");var Nl=[],Ju=[];(()=>{let n="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,1n,9,16,o,,x,1i,3,,i,,7,a,2,t,3,1k,,,7,2,2,2,3,9,,a,2,q,,2,3,1k,,,5,4,2,2,3,3,,u,2,3,,b,3,1k,,,8,,3,,3,k,2,m,6,,3,1k,,,7,2,2,2,3,7,3,a,2,u,,1n,5,3,3,,4,9,,14,5,1j,,,7,,3,,4,7,2,b,2,t,3,1k,,,7,,3,,4,7,2,b,2,f,,c,4,1j,2,,7,,3,,4,9,,a,2,t,3,1y,,4,6,,,,8,i,2,1p,,,8,c,8,2q,,,a,b,7,21,2,r,,,,,,4,2,1d,k,,2,5,b,,10,9,,2u,b,,6,n,4,4,3,g,4,d,,,3,6,,f,,jj,3,qa,4,s,3,t,2,u,2,1s,w,9,,19,3,,,39,2,y,,3a,c,4,c,63,5,1l,a,,,,,2,o,2,,1c,1a,2,c,k,5,1b,h,12,9,c,3,u,d,1k,e,1c,k,48,3,,l,4,,6,,2,3,5i,1s,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,n,5,4,,2b,2,1e,i,q,i,d,,12,8,p,d,18,4,1b,e,10,,1v,e,c,,8,2,1a,,1f,,,3,2,2,5,2,,,15,5,5,2,6k,8,,2,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,1t,5,8t,2,25,6,1y,b,1d,4,3e,3,1h,f,15,,2,2,a,4,19,b,7,,1p,3,10,e,g,2,18,,c,3,1c,e,8,4,,2,2k,c,6,,2,,4d,c,l,4,1j,2,,7,2,2,2,3,9,,a,2,2,7,3,5,1v,9,,,2,,,4,,5,,,e,2,2a,i,n,,29,k,6j,7,2,9,r,2,2a,h,2y,d,2t,3,2,a,74,f,6t,6,,2,2,4,,,,2,3x,7,2,7,3,,s,a,14,7,,4,8,,9,b,1a,g,5i,8,5j,8,,8,2a,m,,e,3e,6,3,,,2,,7,,,1u,5,,2,,5,9n,4,9,2,,,1c,7,3,5,n,,44l,,6,f,8ug,i,1xc,5,1n,7,t4,,,1j,7,4,29,,b,2,f57,2,3mp,1a,2,n,f2,5,3,6,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,2s,,4g,7,af,,1p,4,e4,4,72,2,6r,,2,,7,2,5,,d6,7,31,7,240,5".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?Ju:Nl).push(t=t+n[e])})();function ob(n){if(n<768)return!1;for(let e=0,t=Nl.length;;){let i=e+t>>1;if(n<Nl[i])t=i;else if(n>=Ju[i])e=i+1;else return!0;if(e==t)return!1}}function Gu(n){return n>=127462&&n<=127487}var Xu=8205;function Zu(n,e,t=!0,i=!0){return(t?Qu:lb)(n,e,i)}function Qu(n,e,t){if(e==n.length)return e;e&&ed(n.charCodeAt(e))&&td(n.charCodeAt(e-1))&&e--;let i=Il(n,e);for(e+=Yu(i);e<n.length;){let r=Il(n,e);if(i==Xu||r==Xu||t&&ob(r))e+=Yu(r),i=r;else if(Gu(r)){let s=0,o=e-2;for(;o>=0&&Gu(Il(n,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function lb(n,e,t){for(;e>1;){let i=Qu(n,e-2,t);if(i<e)return i;e--}return 0}function Il(n,e){let t=n.charCodeAt(e);if(!td(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return ed(i)?(t-55296<<10)+(i-56320)+65536:t}function ed(n){return n>=56320&&n<57344}function td(n){return n>=55296&&n<56320}function Yu(n){return n<65536?1:2}var ee=class n{lineAt(e){if(e<0||e>this.length)throw new 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 new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=Ri(this,e,t);let r=[];return this.decompose(0,e,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(t,this.length,r,1),Mi.from(r,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Ri(this,e,t);let i=[];return this.decompose(e,t,i,0),Mi.from(i,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),i=this.length-this.scanIdentical(e,-1),r=new Xn(this),s=new Xn(e);for(let o=t,l=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(l+=r.value.length,r.done||l>=i)return!0}}iter(e=1){return new Xn(this,e)}iterRange(e,t=this.length){return new Is(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;i=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Ns(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?n.empty:e.length<=32?new dt(e):Mi.from(dt.split(e,[]))}},dt=class n extends ee{constructor(e,t=ab(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,r){for(let s=0;;s++){let o=this.text[s],l=r+o.length;if((t?i:l)>=e)return new _l(r,l,i,o);r=l+1,i++}}decompose(e,t,i,r){let s=e<=0&&t>=this.length?this:new n(nd(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=i.pop(),l=Ps(s.text,o.text.slice(),0,s.length);if(l.length<=32)i.push(new n(l,o.length+s.length));else{let a=l.length>>1;i.push(new n(l.slice(0,a)),new n(l.slice(a)))}}else i.push(s)}replace(e,t,i){if(!(i instanceof n))return super.replace(e,t,i);[e,t]=Ri(this,e,t);let r=Ps(this.text,Ps(i.text,nd(this.text,0,e)),t),s=this.length+i.length-(t-e);return r.length<=32?new n(r,s):Mi.from(n.split(r,[]),s)}sliceString(e,t=this.length,i=`
|
|
565
|
-
`){[e,t]=
|
|
566
|
-
`){[e,t]=
|
|
567
|
-
`,this;e--}else if(r instanceof dt){let a=r.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=r.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof dt?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Is=class{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new Xn(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}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 i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=i?r:t<0?r.slice(r.length-i):r.slice(0,i),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!=""}},Ns=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(ee.prototype[Symbol.iterator]=function(){return this.iter()},Xn.prototype[Symbol.iterator]=Is.prototype[Symbol.iterator]=Ns.prototype[Symbol.iterator]=function(){return this});var _l=class{constructor(e,t,i,r){this.from=e,this.to=t,this.number=i,this.text=r}get length(){return this.to-this.from}};function Ri(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function Be(n,e,t=!0,i=!0){return Zu(n,e,t,i)}function cb(n){return n>=56320&&n<57344}function hb(n){return n>=55296&&n<56320}function ld(n,e){let t=n.charCodeAt(e);if(!hb(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return cb(i)?(t-55296<<10)+(i-56320)+65536:t}function ad(n){return n<65536?1:2}var Hl=/\r\n?|\n/,st=(function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n})(st||(st={})),cn=class n{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 i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,r=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(i,r,s),r+=s):r+=o,i+=s}}iterChangedRanges(e,t=!1){zl(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];r<0?e.push(i,r):e.push(r,i)}return new n(e)}composeDesc(e){return this.empty?e:e.empty?this:cd(this,e)}mapDesc(e,t=!1){return e.empty?this:Fl(this,e,t)}mapPos(e,t=-1,i=st.Simple){let r=0,s=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],a=this.sections[o++],c=r+l;if(a<0){if(c>e)return s+(e-r);s+=l}else{if(i!=st.Simple&&c>=e&&(i==st.TrackDel&&r<e&&c>e||i==st.TrackBefore&&r<e||i==st.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!l)return e==r||t<0?s:s+a;s+=a}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let i=0,r=0;i<this.sections.length&&r<=t;){let s=this.sections[i++],o=this.sections[i++],l=r+s;if(o>=0&&r<=t&&l>=e)return r<e&&l>t?"cover":!0;r=l}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+i+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new n(e)}static create(e){return new n(e)}},Je=class n extends cn{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return zl(this,(t,i,r,s,o)=>e=e.replace(r,r+(i-t),o),!1),e}mapDesc(e,t=!1){return Fl(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let r=0,s=0;r<t.length;r+=2){let o=t[r],l=t[r+1];if(l>=0){t[r]=l,t[r+1]=o;let a=r>>1;for(;i.length<a;)i.push(ee.empty);i.push(o?e.slice(s,s+o):ee.empty)}s+=o}return new n(t,i)}compose(e){return this.empty?e:e.empty?this:cd(this,e,!0)}map(e,t=!1){return e.empty?this:Fl(this,e,t,!0)}iterChanges(e,t=!1){zl(this,e,t)}get desc(){return cn.create(this.sections)}filter(e){let t=[],i=[],r=[],s=new Jn(this);e:for(let o=0,l=0;;){let a=o==e.length?1e9:e[o++];for(;l<a||l==a&&s.len==0;){if(s.done)break e;let h=Math.min(s.len,a-l);Ke(r,h,-1);let u=s.ins==-1?-1:s.off==0?s.ins:0;Ke(t,h,u),u>0&&Tn(i,t,s.text),s.forward(h),l+=h}let c=e[o++];for(;l<c;){if(s.done)break e;let h=Math.min(s.len,c-l);Ke(t,h,-1),Ke(r,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),l+=h}}return{changes:new n(t,i),filtered:cn.create(r)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t],r=this.sections[t+1];r<0?e.push(i):r==0?e.push([i]):e.push([i].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,i){let r=[],s=[],o=0,l=null;function a(h=!1){if(!h&&!r.length)return;o<t&&Ke(r,t-o,-1);let u=new n(r,s);l=l?l.compose(u.map(l)):u,r=[],s=[],o=0}function c(h){if(Array.isArray(h))for(let u of h)c(u);else if(h instanceof n){if(h.length!=t)throw new RangeError(`Mismatched change set length (got ${h.length}, expected ${t})`);a(),l=l?l.compose(h.map(l)):h}else{let{from:u,to:d=u,insert:f}=h;if(u>d||u<0||d>t)throw new RangeError(`Invalid change range ${u} to ${d} (in doc of length ${t})`);let p=f?typeof f=="string"?ee.of(f.split(i||Hl)):f:ee.empty,g=p.length;if(u==d&&g==0)return;u<o&&a(),u>o&&Ke(r,u-o,-1),Ke(r,d-u,g),Tn(s,r,p),o=d}}return c(e),a(!l),l}static empty(e){return new n(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let r=0;r<e.length;r++){let s=e[r];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,l)=>l&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;i.length<r;)i.push(ee.empty);i[r]=ee.of(s.slice(1)),t.push(s[0],i[r].length)}}}return new n(t,i)}static createSet(e,t){return new n(e,t)}};function Ke(n,e,t,i=!1){if(e==0&&t<=0)return;let r=n.length-2;r>=0&&t<=0&&t==n[r+1]?n[r]+=e:r>=0&&e==0&&n[r]==0?n[r+1]+=t:i?(n[r]+=e,n[r+1]+=t):n.push(e,t)}function Tn(n,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<i;)n.push(ee.empty);n.push(t)}}function zl(n,e,t){let i=n.inserted;for(let r=0,s=0,o=0;o<n.sections.length;){let l=n.sections[o++],a=n.sections[o++];if(a<0)r+=l,s+=l;else{let c=r,h=s,u=ee.empty;for(;c+=l,h+=a,a&&i&&(u=u.append(i[o-2>>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)l=n.sections[o++],a=n.sections[o++];e(r,c,s,h,u),r=c,s=h}}}function Fl(n,e,t,i=!1){let r=[],s=i?[]:null,o=new Jn(n),l=new Jn(e);for(let a=-1;;){if(o.done&&l.len||l.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&l.ins==-1){let c=Math.min(o.len,l.len);Ke(r,c,-1),o.forward(c),l.forward(c)}else if(l.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(l.len<o.len||l.len==o.len&&!t))){let c=l.len;for(Ke(r,l.ins,-1);c;){let h=Math.min(o.len,c);o.ins>=0&&a<o.i&&o.len<=h&&(Ke(r,0,o.ins),s&&Tn(s,r,o.text),a=o.i),o.forward(h),c-=h}l.next()}else if(o.ins>=0){let c=0,h=o.len;for(;h;)if(l.ins==-1){let u=Math.min(h,l.len);c+=u,h-=u,l.forward(u)}else if(l.ins==0&&l.len<h)h-=l.len,l.next();else break;Ke(r,c,a<o.i?o.ins:0),s&&a<o.i&&Tn(s,r,o.text),a=o.i,o.forward(o.len-h)}else{if(o.done&&l.done)return s?Je.createSet(r,s):cn.create(r);throw new Error("Mismatched change set lengths")}}}function cd(n,e,t=!1){let i=[],r=t?[]:null,s=new Jn(n),o=new Jn(e);for(let l=!1;;){if(s.done&&o.done)return r?Je.createSet(i,r):cn.create(i);if(s.ins==0)Ke(i,s.len,0,l),s.next();else if(o.len==0&&!o.done)Ke(i,0,o.ins,l),r&&Tn(r,i,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let a=Math.min(s.len2,o.len),c=i.length;if(s.ins==-1){let h=o.ins==-1?-1:o.off?0:o.ins;Ke(i,a,h,l),r&&h&&Tn(r,i,o.text)}else o.ins==-1?(Ke(i,s.off?0:s.len,a,l),r&&Tn(r,i,s.textBit(a))):(Ke(i,s.off?0:s.len,o.off?0:o.ins,l),r&&!o.off&&Tn(r,i,o.text));l=(s.ins>a||o.ins>=0&&o.len>a)&&(l||i.length>c),s.forward2(a),o.forward(a)}}}}var Jn=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?ee.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?ee.empty:t[i].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)}},jn=class n{constructor(e,t,i,r){this.from=e,this.to=t,this.flags=i,this.goalColumn=r}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 undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let i,r;return this.empty?i=r=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new n(i,r,this.flags,this.goalColumn)}extend(e,t=e,i=0){if(e<=this.anchor&&t>=this.anchor)return D.range(e,t,void 0,void 0,i);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return D.range(this.anchor,r,void 0,void 0,i)}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 new RangeError("Invalid JSON representation for SelectionRange");return D.range(e.anchor,e.head)}static create(e,t,i,r){return new n(e,t,i,r)}},D=class n{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:n.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(e.ranges[i],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new n([this.main],0)}addRange(e,t=!0){return n.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let i=this.ranges.slice();return i[t]=e,n.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new n(e.ranges.map(t=>jn.fromJSON(t)),e.main)}static single(e,t=e){return new n([n.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;r<e.length;r++){let s=e[r];if(s.empty?s.from<=i:s.from<i)return n.normalized(e.slice(),t);i=s.to}return new n(e,t)}static cursor(e,t=0,i,r){return jn.create(e,e,(t==0?0:t<0?8:16)|(i==null?7:Math.min(6,i)),r)}static range(e,t,i,r,s){let o=r==null?7:Math.min(6,r);return!s&&e!=t&&(s=t<e?1:-1),s&&(o|=s<0?8:16),t<e?jn.create(t,e,o|32,i):jn.create(e,t,o,i)}static undirectionalRange(e,t){return jn.create(e,t,64,void 0)}static normalized(e,t=0){let i=e[t];e.sort((r,s)=>r.from-s.from),t=e.indexOf(i);for(let r=1;r<e.length;r++){let s=e[r],o=e[r-1];if(s.empty?s.from<=o.to:s.from<o.to){let l=o.from,a=Math.max(s.to,o.to);r<=t&&t--,e.splice(--r,2,s.anchor>s.head?n.range(a,l):n.range(l,a))}}return new n(e,t)}};function hd(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Yl=0,U=class n{constructor(e,t,i,r,s){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=r,this.id=Yl++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new n(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:Jl),!!e.static,e.enables)}of(e){return new Ei([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ei(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ei(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}};function Jl(n,e){return n==e||n.length==e.length&&n.every((t,i)=>t===e[i])}var Ei=class{constructor(e,t,i,r){this.dependencies=e,this.facet=t,this.type=i,this.value=r,this.id=Yl++}dynamicSlot(e){var t;let i=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,l=this.type==2,a=!1,c=!1,h=[];for(let u of this.dependencies)u=="doc"?a=!0:u=="selection"?c=!0:(((t=e[u.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[u.id]);return{create(u){return u.values[o]=i(u),1},update(u,d){if(a&&d.docChanged||c&&(d.docChanged||d.selection)||Wl(u,h)){let f=i(u);if(l?!id(f,u.values[o],r):!r(f,u.values[o]))return u.values[o]=f,1}return 0},reconfigure:(u,d)=>{let f,p=d.config.address[s];if(p!=null){let g=Hs(d,p);if(this.dependencies.every(b=>b instanceof U?d.facet(b)===u.facet(b):b instanceof bt?d.field(b,!1)==u.field(b,!1):!0)||(l?id(f=i(u),g,r):r(f=i(u),g)))return u.values[o]=g,0}else f=i(u);return u.values[o]=f,1}}}get extension(){return this}};function id(n,e,t){if(n.length!=e.length)return!1;for(let i=0;i<n.length;i++)if(!t(n[i],e[i]))return!1;return!0}function Wl(n,e){let t=!1;for(let i of e)fr(n,i)&1&&(t=!0);return t}function ub(n,e,t){let i=t.map(a=>n[a.id]),r=t.map(a=>a.type),s=i.filter(a=>!(a&1)),o=n[e.id]>>1;function l(a){let c=[];for(let h=0;h<i.length;h++){let u=Hs(a,i[h]);if(r[h]==2)for(let d of u)c.push(d);else c.push(u)}return e.combine(c)}return{create(a){for(let c of i)fr(a,c);return a.values[o]=l(a),1},update(a,c){if(!Wl(a,s))return 0;let h=l(a);return e.compare(h,a.values[o])?0:(a.values[o]=h,1)},reconfigure(a,c){let h=Wl(a,i),u=c.config.facets[e.id],d=c.facet(e);if(u&&!h&&Jl(t,u))return a.values[o]=d,0;let f=l(a);return e.compare(f,d)?(a.values[o]=d,0):(a.values[o]=f,1)}}}var Rs=U.define({static:!0}),bt=class n{constructor(e,t,i,r,s){this.id=e,this.createF=t,this.updateF=i,this.compareF=r,this.spec=s,this.provides=void 0}static define(e){let t=new n(Yl++,e.create,e.update,e.compare||((i,r)=>i===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Rs).find(i=>i.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,r)=>{let s=i.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(i.values[t]=o,1)},reconfigure:(i,r)=>{let s=i.facet(Rs),o=r.facet(Rs),l;return(l=s.find(a=>a.field==this))&&l!=o.find(a=>a.field==this)?(i.values[t]=l.create(i),1):r.config.address[this.id]!=null?(i.values[t]=r.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,Rs.of({field:this,create:e})]}get extension(){return this}},qn={lowest:4,low:3,default:2,high:1,highest:0};function dr(n){return e=>new Bs(e,n)}var br={highest:dr(qn.highest),high:dr(qn.high),default:dr(qn.default),low:dr(qn.low),lowest:dr(qn.lowest)},Bs=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},hn=class n{of(e){return new pr(this,e)}reconfigure(e){return n.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},pr=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},_s=class n{constructor(e,t,i,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,i){let r=[],s=Object.create(null),o=new Map;for(let d of db(e,t,o))d instanceof bt?r.push(d):(s[d.facet.id]||(s[d.facet.id]=[])).push(d);let l=Object.create(null),a=[],c=[];for(let d of r)l[d.id]=c.length<<1,c.push(f=>d.slot(f));let h=i?.config.facets;for(let d in s){let f=s[d],p=f[0].facet,g=h&&h[d]||[];if(f.every(b=>b.type==0))if(l[p.id]=a.length<<1|1,Jl(g,f))a.push(i.facet(p));else{let b=p.combine(f.map(y=>y.value));a.push(i&&p.compare(b,i.facet(p))?i.facet(p):b)}else{for(let b of f)b.type==0?(l[b.id]=a.length<<1|1,a.push(b.value)):(l[b.id]=c.length<<1,c.push(y=>b.dynamicSlot(y)));l[p.id]=c.length<<1,c.push(b=>ub(b,p,f))}}let u=c.map(d=>d(l));return new n(e,o,u,l,a,s)}};function db(n,e,t){let i=[[],[],[],[],[]],r=new Map;function s(o,l){let a=r.get(o);if(a!=null){if(a<=l)return;let c=i[a].indexOf(o);c>-1&&i[a].splice(c,1),o instanceof pr&&t.delete(o.compartment)}if(r.set(o,l),Array.isArray(o))for(let c of o)s(c,l);else if(o instanceof pr){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,l)}else if(o instanceof Bs)s(o.inner,o.prec);else if(o instanceof bt)i[l].push(o),o.provides&&s(o.provides,l);else if(o instanceof Ei)i[l].push(o),o.facet.extensions&&s(o.facet.extensions,qn.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,l)}}return s(n,qn.default),i.reduce((o,l)=>o.concat(l))}function fr(n,e){if(e&1)return 2;let t=e>>1,i=n.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;n.status[t]=4;let r=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|r}function Hs(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}var ud=U.define(),Vl=U.define({combine:n=>n.some(e=>e),static:!0}),dd=U.define({combine:n=>n.length?n[0]:void 0,static:!0}),fd=U.define(),pd=U.define(),md=U.define(),gd=U.define({combine:n=>n.length?n[0]:!1}),ot=class{constructor(e,t){this.type=e,this.value=t}static define(){return new $l}},$l=class{of(e){return new ot(this,e)}},Ul=class{constructor(e){this.map=e}of(e){return new ye(this,e)}},ye=class n{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new n(this.type,t)}is(e){return this.type==e}static define(e={}){return new Ul(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let r of e){let s=r.map(t);s&&i.push(s)}return i}};ye.reconfigure=ye.define();ye.appendConfig=ye.define();var De=class n{constructor(e,t,i,r,s,o){this.startState=e,this.changes=t,this.selection=i,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,i&&hd(i,t.newLength),s.some(l=>l.type==n.time)||(this.annotations=s.concat(n.time.of(Date.now())))}static create(e,t,i,r,s,o){return new n(e,t,i,r,s,o)}get newDoc(){return this._doc||(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(e){let t=this.annotation(n.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};De.time=ot.define();De.userEvent=ot.define();De.addToHistory=ot.define();De.remote=ot.define();function fb(n,e){let t=[];for(let i=0,r=0;;){let s,o;if(i<n.length&&(r==e.length||e[r]>=n[i]))s=n[i++],o=n[i++];else if(r<e.length)s=e[r++],o=e[r++];else return t;!t.length||t[t.length-1]<s?t.push(s,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function bd(n,e,t){var i;let r,s,o;return t?(r=e.changes,s=Je.empty(e.changes.length),o=n.changes.compose(e.changes)):(r=e.changes.map(n.changes),s=n.changes.mapDesc(e.changes,!0),o=n.changes.compose(r)),{changes:o,selection:e.selection?e.selection.map(s):(i=n.selection)===null||i===void 0?void 0:i.map(r),effects:ye.mapEffects(n.effects,r).concat(ye.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function Kl(n,e,t){let i=e.selection,r=Di(e.annotations);return e.userEvent&&(r=r.concat(De.userEvent.of(e.userEvent))),{changes:e.changes instanceof Je?e.changes:Je.of(e.changes||[],t,n.facet(dd)),selection:i&&(i instanceof D?i:D.single(i.anchor,i.head)),effects:Di(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function yd(n,e,t){let i=Kl(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let o=!!e[s].sequential;i=bd(i,Kl(n,e[s],o?i.changes.newLength:n.doc.length),o)}let r=De.create(n,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return mb(t?pb(r):r)}function pb(n){let e=n.startState,t=!0;for(let r of e.facet(fd)){let s=r(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:fb(t,s))}if(t!==!0){let r,s;if(t===!1)s=n.changes.invertedDesc,r=Je.empty(e.doc.length);else{let o=n.changes.filter(t);r=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}n=De.create(e,r,n.selection&&n.selection.map(s),ye.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let i=e.facet(pd);for(let r=i.length-1;r>=0;r--){let s=i[r](n);s instanceof De?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof De?n=s[0]:n=yd(e,Di(s),!1)}return n}function mb(n){let e=n.startState,t=e.facet(md),i=n;for(let r=t.length-1;r>=0;r--){let s=t[r](n);s&&Object.keys(s).length&&(i=bd(i,Kl(e,s,n.changes.newLength),!0))}return i==n?n:De.create(e,n.changes,n.selection,i.effects,i.annotations,i.scrollIntoView)}var gb=[];function Di(n){return n==null?gb:Array.isArray(n)?n:[n]}var Et=(function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n})(Et||(Et={})),bb=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,jl;try{jl=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function yb(n){if(jl)return jl.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>"\x80"&&(t.toUpperCase()!=t.toLowerCase()||bb.test(t)))return!0}return!1}function wb(n){return e=>{if(!/\S/.test(e))return Et.Space;if(yb(e))return Et.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return Et.Word;return Et.Other}}var ve=class n{constructor(e,t,i,r,s,o){this.config=e,this.doc=t,this.selection=i,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let l=0;l<this.config.dynamicSlots.length;l++)fr(this,l<<1);this.computeSlot=null}field(e,t=!0){let i=this.config.address[e.id];if(i==null){if(t)throw new RangeError("Field is not present in this state");return}return fr(this,i),Hs(this,i)}update(...e){return yd(this,e,!0)}applyTransaction(e){let t=this.config,{base:i,compartments:r}=t;for(let l of e.effects)l.is(hn.reconfigure)?(t&&(r=new Map,t.compartments.forEach((a,c)=>r.set(c,a)),t=null),r.set(l.value.compartment,l.value.extension)):l.is(ye.reconfigure)?(t=null,i=l.value):l.is(ye.appendConfig)&&(t=null,i=Di(i).concat(l.value));let s;t?s=e.startState.values.slice():(t=_s.resolve(i,r,this),s=new n(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(a,c)=>c.reconfigure(a,this),null).values);let o=e.startState.facet(Vl)?e.newSelection:e.newSelection.asSingle();new n(t,e.newDoc,o,s,(l,a)=>a.update(l,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:D.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),r=this.changes(i.changes),s=[i.range],o=Di(i.effects);for(let l=1;l<t.ranges.length;l++){let a=e(t.ranges[l]),c=this.changes(a.changes),h=c.map(r);for(let d=0;d<l;d++)s[d]=s[d].map(h);let u=r.mapDesc(c,!0);s.push(a.range.map(u)),r=r.compose(h),o=ye.mapEffects(o,h).concat(ye.mapEffects(Di(a.effects),u))}return{changes:r,selection:D.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof Je?e:Je.of(e,this.doc.length,this.facet(n.lineSeparator))}toText(e){return ee.of(e.split(this.facet(n.lineSeparator)||Hl))}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:(fr(this,t),Hs(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let i in e){let r=e[i];r instanceof bt&&this.config.address[r.id]!=null&&(t[i]=r.spec.toJSON(this.field(e[i]),this))}return t}static fromJSON(e,t={},i){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(i){for(let s in i)if(Object.prototype.hasOwnProperty.call(e,s)){let o=i[s],l=e[s];r.push(o.init(a=>o.spec.fromJSON(l,a)))}}return n.create({doc:e.doc,selection:D.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=_s.resolve(e.extensions||[],new Map),i=e.doc instanceof ee?e.doc:ee.of((e.doc||"").split(t.staticFacet(n.lineSeparator)||Hl)),r=e.selection?e.selection instanceof D?e.selection:D.single(e.selection.anchor,e.selection.head):D.single(0);return hd(r,i.length),t.staticFacet(Vl)||(r=r.asSingle()),new n(t,i,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(n.tabSize)}get lineBreak(){return this.facet(n.lineSeparator)||`
|
|
568
|
-
`}get readOnly(){return this.facet(gd)}phrase(e,...t){for(let i of this.facet(n.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?i:t[s-1]})),e}languageDataAt(e,t,i=-1){let r=[];for(let s of this.facet(ud))for(let o of s(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return wb(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-i,l=e-i;for(;o>0;){let a=Be(t,o,!1);if(s(t.slice(a,o))!=Et.Word)break;o=a}for(;l<r;){let a=Be(t,l);if(s(t.slice(l,a))!=Et.Word)break;l=a}return o==l?null:D.range(o+i,l+i)}};ve.allowMultipleSelections=Vl;ve.tabSize=U.define({combine:n=>n.length?n[0]:4});ve.lineSeparator=dd;ve.readOnly=gd;ve.phrases=U.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(r=>n[r]==e[r])}});ve.languageData=ud;ve.changeFilter=fd;ve.transactionFilter=pd;ve.transactionExtender=md;hn.reconfigure=ye.define();function Li(n,e,t={}){let i={};for(let r of n)for(let s of Object.keys(r)){let o=r[s],l=i[s];if(l===void 0)i[s]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(t,s))i[s]=t[s](l,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)i[r]===void 0&&(i[r]=e[r]);return i}var Xt=class{eq(e){return this==e}range(e,t=e){return mr.create(e,t,this)}};Xt.prototype.startSide=Xt.prototype.endSide=0;Xt.prototype.point=!1;Xt.prototype.mapMode=st.TrackDel;function Zl(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}var mr=class n{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new n(e,t,i)}};function ql(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}var Gl=class n{constructor(e,t,i,r){this.from=e,this.to=t,this.value=i,this.maxPoint=r}get length(){return Ai(this.to)}findIndex(e,t,i,r=0){let s=i?this.to:this.from;for(let o=r,l=s.length;;){if(o==l)return o;let a=o+l>>1,c=s[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==o)return c>=0?o:l;c>=0?l=a:o=a+1}}between(e,t,i,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,s);s<o;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t,i,r,s){let o=[],l=[],a=[],c=-1,h=-1;e:for(let u=0;u<this.value.length;u++){let d=this.value[u],f=this.from[u]+e,p=this.to[u]+e,g,b;if(f==p){let y=t.mapPos(f,d.startSide,d.mapMode);if(y==null||(g=b=y,d.startSide!=d.endSide&&(b=t.mapPos(f,d.endSide),b<g)))continue}else if(g=t.mapPos(f,d.startSide),b=t.mapPos(p,d.endSide),g>b||g==b&&d.startSide>0&&d.endSide<=0)continue;if(!((b-g||d.endSide-d.startSide)<0))if(c<0&&(c=g),d.point&&(h=Math.max(h,b-g)),(g-i||d.startSide-r)>=0)o.push(d),l.push(g-c),a.push(b-c),i=b,r=d.endSide;else{if(g==b)for(let y=o.length;y>0;y--){if((g-(a[y-1]+c)||d.startSide-o[y-1].endSide)>=0){o.splice(y,0,d),l.splice(y,0,g-c),a.splice(y,0,b-c);continue e}if((g-(l[y-1]+c)||d.endSide-o[y-1].startSide)>0)break}s(g,b,d)}}return{mapped:o.length?new n(l,a,o,h):null,pos:c}}},ce=class n{constructor(e,t,i,r){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=r}static create(e,t,i,r){return new n(e,t,i,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(ql)),this.isEmpty)return t.length?n.of(t):this;let l=new zs(this,null,-1).goto(0),a=0,c=[],h=new Yn;for(;l.value||a<t.length;)if(a<t.length&&(l.from-t[a].from||l.startSide-t[a].value.startSide)>=0){let u=t[a++];h.addInner(u.from,u.to,u.value,!1)||c.push(u)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(l.chunkIndex)<t[a].from)&&(!o||r>this.chunkEnd(l.chunkIndex)||s<this.chunkPos[l.chunkIndex])&&h.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||r>l.to||s<l.from||o(l.from,l.to,l.value))&&(h.addInner(l.from,l.to,l.value,!1)||c.push(mr.create(l.from,l.to,l.value))),l.next());return h.finishInner(this.nextLayer.isEmpty&&!c.length?n.empty:this.nextLayer.update({add:c,filter:o,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],r=-1,s,o=(a,c,h)=>{s||(s=new Yn),s.addRange(a,c,h,!1)};for(let a=0;a<this.chunk.length;a++){let c=this.chunkPos[a],h=this.chunk[a],u=e.touchesRange(c,c+h.length);if(u===!1)r=Math.max(r,h.maxPoint),t.push(h),i.push(e.mapPos(c));else if(u===!0){let[d,f]=t.length?[Ai(i)+Ai(t).length,Ai(Ai(t).value).endSide]:[-1,-1],{mapped:p,pos:g}=h.map(c,e,d,f,o);p&&(r=Math.max(r,p.maxPoint),t.push(p),i.push(g))}}let l=this.nextLayer.map(e);return s&&(l=s.finishInner(l)),t.length==0?l:new n(i,t,l||n.empty,r)}between(e,t,i){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return gr.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return gr.from(e).goto(t)}static compare(e,t,i,r,s=-1){let o=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),l=t.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),a=rd(o,l,i),c=new Gn(o,a,s),h=new Gn(l,a,s);i.iterGaps((u,d,f)=>sd(c,u,h,d,f,r)),i.empty&&i.length==0&&sd(c,0,h,0,0,r)}static eq(e,t,i=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let l=rd(s,o),a=new Gn(s,l,0).goto(i),c=new Gn(o,l,0).goto(i);for(;;){if(a.to!=c.to||!Xl(a.active,c.active)||a.point&&(!c.point||!Zl(a.point,c.point)))return!1;if(a.to>r)return!0;a.next(),c.next()}}static spans(e,t,i,r,s=-1){let o=new Gn(e,null,s).goto(t),l=t,a=o.openStart;for(;;){let c=Math.min(o.to,i);if(o.point){let h=o.activeForPoint(o.to),u=o.pointFrom<t?h.length+1:o.point.startSide<0?h.length:Math.min(h.length,a);r.point(l,c,o.point,h,u,o.pointRank),a=Math.min(o.openEnd(c),h.length)}else c>l&&(r.span(l,c,o.active,a),a=o.openEnd(c));if(o.to>i)return a+(o.point&&o.to>i?1:0);l=o.to,o.next()}}static of(e,t=!1){let i=new Yn;for(let r of e instanceof mr?[e]:t?xb(e):e)i.add(r.from,r.to,r.value);return i.finish()}static join(e){if(!e.length)return n.empty;let t=Ai(e);for(let i=e.length-2;i>=0;i--)for(let r=e[i];r!=n.empty;r=r.nextLayer)t=new n(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};ce.empty=new ce([],[],null,-1);function Ai(n){return n[n.length-1]}function xb(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let i=n[t];if(ql(e,i)>0)return n.slice().sort(ql);e=i}return n}ce.empty.nextLayer=ce.empty;var Yn=class n{finishChunk(e){this.chunks.push(new Gl(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addRange(e,t,i,!0)}addRange(e,t,i,r){this.addInner(e,t,i,r)||(this.nextLayer||(this.nextLayer=new n)).addRange(e,t,i,r)}addInner(e,t,i,r){let s=e-this.lastTo||i.startSide-this.last.endSide;if(r&&s<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return s<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(ce.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=ce.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function rd(n,e,t){let i=new Map;for(let s of n)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&i.set(s.chunk[o],s.chunkPos[o]);let r=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let l=i.get(s.chunk[o]);l!=null&&(t?t.mapPos(l):l)==s.chunkPos[o]&&!t?.touchesRange(l,l+s.chunk[o].length)&&r.add(s.chunk[o])}return r}var zs=class{constructor(e,t,i,r=0){this.layer=e,this.skip=t,this.minPoint=i,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,i){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!i||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],i=e+t.from[this.rangeIndex];if(this.from=i,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},gr=class n{constructor(e){this.heap=e}static from(e,t=null,i=-1){let r=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=i&&r.push(new zs(o,t,i,s));return r.length==1?r[0]:new n(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)Bl(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)Bl(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Bl(this.heap,0)}}};function Bl(n,e){for(let t=n[e];;){let i=(e<<1)+1;if(i>=n.length)break;let r=n[i];if(i+1<n.length&&r.compare(n[i+1])>=0&&(r=n[i+1],i++),t.compare(r)<0)break;n[i]=t,n[e]=r,e=i}}var Gn=class{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=gr.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Ls(this.active,e),Ls(this.activeTo,e),Ls(this.activeRank,e),this.minActive=od(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:r,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||r-this.activeTo[t])>0;)t++;Os(this.active,t,i),Os(this.activeTo,t,r),Os(this.activeRank,t,s),e&&Os(e,t,this.cursor.from),this.minActive=od(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&Ls(i,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(i){this.openStart=0;for(let r=i.length-1;r>=0&&i[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}};function sd(n,e,t,i,r,s){n.goto(e),t.goto(i);let o=i+r,l=i,a=i-e,c=!!s.boundChange;for(let h=!1;;){let u=n.to+a-t.to,d=u||n.endSide-t.endSide,f=d<0?n.to+a:t.to,p=Math.min(f,o);if(n.point||t.point?(n.point&&t.point&&Zl(n.point,t.point)&&Xl(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(l,p,n.point,t.point),h=!1):(h&&(s.boundChange(l),h=!1),p>l&&!Xl(n.active,t.active)&&s.compareRange(l,p,n.active,t.active),c&&p<o&&(u||n.openEnd(f)!=t.openEnd(f))&&(h=!0)),f>o)break;l=f,d<=0&&n.next(),d>=0&&t.next()}}function Xl(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!Zl(n[t],e[t]))return!1;return!0}function Ls(n,e){for(let t=e,i=n.length-1;t<i;t++)n[t]=n[t+1];n.pop()}function Os(n,e,t){for(let i=n.length-1;i>=e;i--)n[i+1]=n[i];n[e]=t}function od(n,e){let t=-1,i=1e9;for(let r=0;r<e.length;r++)(e[r]-i||n[r].endSide-n[t].endSide)<0&&(t=r,i=e[r]);return t}function Zn(n,e,t=n.length){let i=0;for(let r=0;r<t&&r<n.length;)n.charCodeAt(r)==9?(i+=e-i%e,r++):(i++,r=Be(n,r));return i}function wd(n,e,t,i){for(let r=0,s=0;;){if(s>=e)return r;if(r==n.length)break;s+=n.charCodeAt(r)==9?t-s%t:1,r=Be(n,r)}return i===!0?-1:n.length}var xd=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),Ql=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),vd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},yt=class{constructor(e,t){this.rules=[];let{finish:i}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,l,a,c){let h=[],u=/^@(\w+)\b/.exec(o[0]),d=u&&u[1]=="keyframes";if(u&&l==null)return a.push(o[0]+";");for(let f in l){let p=l[f];if(/&/.test(f))s(f.split(/,\s*/).map(g=>o.map(b=>g.replace(/&/,b))).reduce((g,b)=>g.concat(b)),p,a);else if(p&&typeof p=="object"){if(!u)throw new RangeError("The value of a property ("+f+") should be a primitive value.");s(r(f),p,h,d)}else p!=null&&h.push(f.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+p+";")}(h.length||d)&&a.push((i&&!u&&!c?o.map(i):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(`
|
|
569
|
-
`)}static newName(){let e=
|
|
570
|
-
`;this.styleTag.textContent=o;let l=t.head||t;this.styleTag.parentNode!=l&&l.insertBefore(this.styleTag,l.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var un={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Oi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},vb=typeof navigator<"u"&&/Mac/.test(navigator.platform),kb=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Re=0;Re<10;Re++)un[48+Re]=un[96+Re]=String(Re);var Re;for(Re=1;Re<=24;Re++)un[Re+111]="F"+Re;var Re;for(Re=65;Re<=90;Re++)un[Re]=String.fromCharCode(Re+32),Oi[Re]=String.fromCharCode(Re);var Re;for(Fs in un)Oi.hasOwnProperty(Fs)||(Oi[Fs]=un[Fs]);var Fs;function Sd(n){var e=vb&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||kb&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Oi:un)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Ze=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},la=typeof document<"u"?document:{documentElement:{style:{}}},aa=/Edge\/(\d+)/.exec(Ze.userAgent),tf=/MSIE \d/.test(Ze.userAgent),ca=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ze.userAgent),fo=!!(tf||ca||aa),Cd=!fo&&/gecko\/(\d+)/i.test(Ze.userAgent),ta=!fo&&/Chrome\/(\d+)/.exec(Ze.userAgent),Td="webkitFontSmoothing"in la.documentElement.style,ha=!fo&&/Apple Computer/.test(Ze.vendor),Ad=ha&&(/Mobile\/\w+/.test(Ze.userAgent)||Ze.maxTouchPoints>2),O={mac:Ad||/Mac/.test(Ze.platform),windows:/Win/.test(Ze.platform),linux:/Linux|X11/.test(Ze.platform),ie:fo,ie_version:tf?la.documentMode||6:ca?+ca[1]:aa?+aa[1]:0,gecko:Cd,gecko_version:Cd?+(/Firefox\/(\d+)/.exec(Ze.userAgent)||[0,0])[1]:0,chrome:!!ta,chrome_version:ta?+ta[1]:0,ios:Ad,android:/Android\b/.test(Ze.userAgent),webkit:Td,webkit_version:Td?+(/\bAppleWebKit\/(\d+)/.exec(Ze.userAgent)||[0,0])[1]:0,safari:ha,safari_version:ha?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ze.userAgent)||[0,0])[1]:0,tabSize:la.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Ja(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}var Zs=Object.create(null);function Za(n,e,t){if(n==e)return!0;n||(n=Zs),e||(e=Zs);let i=Object.keys(n),r=Object.keys(e);if(i.length-(t&&i.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of i)if(s!=t&&(r.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function Sb(n,e){for(let t=n.attributes.length-1;t>=0;t--){let i=n.attributes[t].name;e[i]==null&&n.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?n.style.cssText=i:n.getAttribute(t)!=i&&n.setAttribute(t,i)}}function Md(n,e,t){let i=!1;if(e)for(let r in e)t&&r in t||(i=!0,r=="style"?n.style.cssText="":n.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(i=!0,r=="style"?n.style.cssText=t[r]:n.setAttribute(r,t[r]));return i}function Cb(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let i=n.attributes[t];e[i.name]=i.value}return e}var En=class{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},Fe=(function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n})(Fe||(Fe={})),me=class extends Xt{constructor(e,t,i,r){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=r}get heightRelevant(){return!1}static mark(e){return new Rr(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new ni(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,r;if(e.isBlockGap)i=-5e8,r=4e8;else{let{start:s,end:o}=nf(e,t);i=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new ni(e,i,r,t,e.widget||null,!0)}static line(e){return new Lr(e)}static set(e,t=!1){return ce.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};me.none=ce.empty;var Rr=class n extends me{constructor(e){let{start:t,end:i}=nf(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Ja(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Zs}eq(e){return this==e||e instanceof n&&this.tagName==e.tagName&&Za(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};Rr.prototype.point=!1;var Lr=class n extends me{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof n&&this.spec.class==e.spec.class&&Za(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};Lr.prototype.mapMode=st.TrackBefore;Lr.prototype.point=!0;var ni=class n extends me{constructor(e,t,i,r,s,o){super(t,i,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?st.TrackBefore:st.TrackAfter:st.TrackDel}get type(){return this.startSide!=this.endSide?Fe.WidgetRange:this.startSide<=0?Fe.WidgetBefore:Fe.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof n&&Tb(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};ni.prototype.point=!0;function nf(n,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=n;return t==null&&(t=n.inclusive),i==null&&(i=n.inclusive),{start:t??e,end:i??e}}function Tb(n,e){return n==e||!!(n&&e&&n.compare(e))}function _i(n,e,t,i=0){let r=t.length-1;r>=0&&t[r]+i>=n?t[r]=Math.max(t[r],e):t.push(n,e)}var Qs=class n extends Xt{constructor(e,t,i){super(),this.tagName=e,this.attributes=t,this.rank=i}eq(e){return e==this||e instanceof n&&this.tagName==e.tagName&&Za(this.attributes,e.attributes)}static create(e){return new n(e.tagName,e.attributes||Zs,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return ce.of(e,t)}};Qs.prototype.startSide=Qs.prototype.endSide=-1;function Or(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function ua(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function vr(n,e){if(!e.anchorNode)return!1;try{return ua(n,e.anchorNode)}catch{return!1}}function kr(n){return n.nodeType==3?Ir(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Sr(n,e,t,i){return t?Ed(n,e,t,i,-1)||Ed(n,e,t,i,1):!1}function Dn(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function eo(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function Ed(n,e,t,i,r){for(;;){if(n==t&&e==i)return!0;if(e==(r<0?0:pn(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=Dn(n)+(r<0?0:1),n=s}else if(n.nodeType==1){if(n=n.childNodes[e+(r<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=r<0?pn(n):0}else return!1}}function pn(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Pr(n,e){let{left:t,right:i}=n;if(t==i)return n;let r=e?t:i;return{left:r,right:r,top:n.top,bottom:n.bottom}}function Ab(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function rf(n,e){let t=e.width/n.offsetWidth,i=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-n.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function Mb(n,e,t,i,r,s,o,l){let a=n.ownerDocument,c=a.defaultView||window;for(let h=n,u=!1;h&&!u;)if(h.nodeType==1){let d,f=h==a.body,p=1,g=1;if(f)d=Ab(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let x=h.getBoundingClientRect();({scaleX:p,scaleY:g}=rf(h,x)),d={left:x.left,right:x.left+h.clientWidth*p,top:x.top,bottom:x.top+h.clientHeight*g}}let b=0,y=0;if(r=="nearest")e.top<d.top+o?(y=e.top-(d.top+o),t>0&&e.bottom>d.bottom+y&&(y=e.bottom-d.bottom+o)):e.bottom>d.bottom-o&&(y=e.bottom-d.bottom+o,t<0&&e.top-y<d.top&&(y=e.top-(d.top+o)));else{let x=e.bottom-e.top,C=d.bottom-d.top;y=(r=="center"&&x<=C?e.top+x/2-C/2:r=="start"||r=="center"&&t<0?e.top-o:e.bottom-C+o)-d.top}if(i=="nearest"?e.left<d.left+s?(b=e.left-(d.left+s),t>0&&e.right>d.right+b&&(b=e.right-d.right+s)):e.right>d.right-s&&(b=e.right-d.right+s,t<0&&e.left<d.left+b&&(b=e.left-(d.left+s))):b=(i=="center"?e.left+(e.right-e.left)/2-(d.right-d.left)/2:i=="start"==l?e.left-s:e.right-(d.right-d.left)+s)-d.left,b||y)if(f)c.scrollBy(b,y);else{let x=0,C=0;if(y){let _=h.scrollTop;h.scrollTop+=y/g,C=(h.scrollTop-_)*g}if(b){let _=h.scrollLeft;h.scrollLeft+=b/p,x=(h.scrollLeft-_)*p}e={left:e.left-x,top:e.top-C,right:e.right-x,bottom:e.bottom-C},x&&Math.abs(x-b)<1&&(i="nearest"),C&&Math.abs(C-y)<1&&(r="nearest")}if(f)break;(e.top<d.top||e.bottom>d.bottom||e.left<d.left||e.right>d.right)&&(e={left:Math.max(e.left,d.left),right:Math.min(e.right,d.right),top:Math.max(e.top,d.top),bottom:Math.min(e.bottom,d.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function sf(n,e=!0){let t=n.ownerDocument,i=null,r=null;for(let s=n.parentNode;s&&!(s==t.body||(!e||i)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!i&&s.scrollWidth>s.clientWidth&&(i=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:i,y:r}}var da=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?pn(t):0),i,Math.min(e.focusOffset,i?pn(i):0))}set(e,t,i,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=r}};function of(n){let e=[];for(let t=n;t;t=t.nodeType==11?t.host:t.parentNode)t.nodeType==1&&e.push({node:t,left:t.scrollLeft,top:t.scrollTop});return e}function lf(n,e=!0){for(let{node:t,left:i,top:r}of n)e&&t.scrollTop!=r&&(t.scrollTop=r),t.scrollLeft!=i&&(t.scrollLeft=i)}var Qn=null;O.safari&&O.safari_version>=26&&(Qn=!1);function af(n){if(n.setActive)return n.setActive();if(Qn)return n.focus(Qn);let e=of(n);n.focus(Qn==null?{get preventScroll(){return Qn={preventScroll:!0},!0}}:void 0),Qn||(Qn=!1,lf(e))}var Dd;function Ir(n,e,t=e){let i=Dd||(Dd=document.createRange());return i.setEnd(n,t),i.setStart(n,e),i}function Hi(n,e,t,i){let r={key:e,code:e,keyCode:t,which:t,cancelable:!0};i&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=i);let s=new KeyboardEvent("keydown",r);s.synthetic=!0,n.dispatchEvent(s);let o=new KeyboardEvent("keyup",r);return o.synthetic=!0,n.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function Eb(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function Db(n,e){let t=e.focusNode,i=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=i)return!1;for(i=Math.min(i,pn(t));;)if(i){if(t.nodeType!=1)return!1;let r=t.childNodes[i-1];r.contentEditable=="false"?i--:(t=r,i=pn(t))}else{if(t==n)return!0;i=Dn(t),t=t.parentNode}}function cf(n){return n instanceof Window?n.pageYOffset>Math.max(0,n.document.documentElement.scrollHeight-n.innerHeight-4):n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function hf(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=pn(t)}else if(t.parentNode&&!eo(t))i=Dn(t),t=t.parentNode;else return null}}function uf(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i<t.nodeValue.length)return{node:t,offset:i};if(t.nodeType==1&&i<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[i],i=0}else if(t.parentNode&&!eo(t))i=Dn(t)+1,t=t.parentNode;else return null}}var Jt=class n{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new n(e.parentNode,Dn(e),t)}static after(e,t){return new n(e.parentNode,Dn(e)+1,t)}},ge=(function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n})(ge||(ge={})),ii=ge.LTR,Qa=ge.RTL;function df(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}var Rb=df("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Lb=df("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),fa=Object.create(null),Yt=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);fa[e]=t,fa[t]=-e}function ff(n){return n<=247?Rb[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?Lb[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}var Ob=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,vt=class{get dir(){return this.level%2?Qa:ii}constructor(e,t,i){this.from=e,this.to=t,this.level=i}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,i,r){let s=-1;for(let o=0;o<e.length;o++){let l=e[o];if(l.from<=t&&l.to>=t){if(l.level==i)return o;(s<0||(r!=0?r<0?l.from<t:l.to>t:e[s].level>l.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function pf(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++){let i=n[t],r=e[t];if(i.from!=r.from||i.to!=r.to||i.direction!=r.direction||!pf(i.inner,r.inner))return!1}return!0}var de=[];function Pb(n,e,t,i,r){for(let s=0;s<=i.length;s++){let o=s?i[s-1].to:e,l=s<i.length?i[s].from:t,a=s?256:r;for(let c=o,h=a,u=a;c<l;c++){let d=ff(n.charCodeAt(c));d==512?d=h:d==8&&u==4&&(d=16),de[c]=d==4?2:d,d&7&&(u=d),h=d}for(let c=o,h=a,u=a;c<l;c++){let d=de[c];if(d==128)c<l-1&&h==de[c+1]&&h&24?d=de[c]=h:de[c]=256;else if(d==64){let f=c+1;for(;f<l&&de[f]==64;)f++;let p=c&&h==8||f<t&&de[f]==8?u==1?1:8:256;for(let g=c;g<f;g++)de[g]=p;c=f-1}else d==8&&u==1&&(de[c]=1);h=d,d&7&&(u=d)}}}function Ib(n,e,t,i,r){let s=r==1?2:1;for(let o=0,l=0,a=0;o<=i.length;o++){let c=o?i[o-1].to:e,h=o<i.length?i[o].from:t;for(let u=c,d,f,p;u<h;u++)if(f=fa[d=n.charCodeAt(u)])if(f<0){for(let g=l-3;g>=0;g-=3)if(Yt[g+1]==-f){let b=Yt[g+2],y=b&2?r:b&4?b&1?s:r:0;y&&(de[u]=de[Yt[g]]=y),l=g;break}}else{if(Yt.length==189)break;Yt[l++]=u,Yt[l++]=d,Yt[l++]=a}else if((p=de[u])==2||p==1){let g=p==r;a=g?0:1;for(let b=l-3;b>=0;b-=3){let y=Yt[b+2];if(y&2)break;if(g)Yt[b+2]|=2;else{if(y&4)break;Yt[b+2]|=4}}}}}function Nb(n,e,t,i){for(let r=0,s=i;r<=t.length;r++){let o=r?t[r-1].to:n,l=r<t.length?t[r].from:e;for(let a=o;a<l;){let c=de[a];if(c==256){let h=a+1;for(;;)if(h==l){if(r==t.length)break;h=t[r++].to,l=r<t.length?t[r].from:e}else if(de[h]==256)h++;else break;let u=s==1,d=(h<e?de[h]:i)==1,f=u==d?u?1:2:i;for(let p=h,g=r,b=g?t[g-1].to:n;p>a;)p==b&&(p=t[--g].from,b=g?t[g-1].to:n),de[--p]=f;a=h}else s=c,a++}}}function pa(n,e,t,i,r,s,o){let l=i%2?2:1;if(i%2==r%2)for(let a=e,c=0;a<t;){let h=!0,u=!1;if(c==s.length||a<s[c].from){let g=de[a];g!=l&&(h=!1,u=g==16)}let d=!h&&l==1?[]:null,f=h?i:i+1,p=a;e:for(;;)if(c<s.length&&p==s[c].from){if(u)break e;let g=s[c];if(!h)for(let b=g.to,y=c+1;;){if(b==t)break e;if(y<s.length&&s[y].from==b)b=s[y++].to;else{if(de[b]==l)break e;break}}if(c++,d)d.push(g);else{g.from>a&&o.push(new vt(a,g.from,f));let b=g.direction==ii!=!(f%2);ma(n,b?i+1:i,r,g.inner,g.from,g.to,o),a=g.to}p=g.to}else{if(p==t||(h?de[p]!=l:de[p]==l))break;p++}d?pa(n,a,p,i+1,r,d,o):a<p&&o.push(new vt(a,p,f)),a=p}else for(let a=t,c=s.length;a>e;){let h=!0,u=!1;if(!c||a>s[c-1].to){let g=de[a-1];g!=l&&(h=!1,u=g==16)}let d=!h&&l==1?[]:null,f=h?i:i+1,p=a;e:for(;;)if(c&&p==s[c-1].to){if(u)break e;let g=s[--c];if(!h)for(let b=g.from,y=c;;){if(b==e)break e;if(y&&s[y-1].to==b)b=s[--y].from;else{if(de[b-1]==l)break e;break}}if(d)d.push(g);else{g.to<a&&o.push(new vt(g.to,a,f));let b=g.direction==ii!=!(f%2);ma(n,b?i+1:i,r,g.inner,g.from,g.to,o),a=g.from}p=g.from}else{if(p==e||(h?de[p-1]!=l:de[p-1]==l))break;p--}d?pa(n,p,a,i+1,r,d,o):p<a&&o.push(new vt(p,a,f)),a=p}}function ma(n,e,t,i,r,s,o){let l=e%2?2:1;Pb(n,r,s,i,l),Ib(n,r,s,i,l),Nb(r,s,i,l),pa(n,r,s,e,t,i,o)}function Bb(n,e,t){if(!n)return[new vt(0,0,e==Qa?1:0)];if(e==ii&&!t.length&&!Ob.test(n))return mf(n.length);if(t.length)for(;n.length>de.length;)de[de.length]=256;let i=[],r=e==ii?0:1;return ma(n,r,r,t,0,n.length,i),i}function mf(n){return[new vt(0,n,0)]}var gf="";function _b(n,e,t,i,r){var s;let o=i.head-n.from,l=vt.find(e,o,(s=i.bidiLevel)!==null&&s!==void 0?s:-1,i.assoc),a=e[l],c=a.side(r,t);if(o==c){let d=l+=r?1:-1;if(d<0||d>=e.length)return null;a=e[l=d],o=a.side(!r,t),c=a.side(r,t)}let h=Be(n.text,o,a.forward(r,t));(h<a.from||h>a.to)&&(h=c),gf=n.text.slice(Math.min(o,h),Math.max(o,h));let u=l==(r?e.length-1:0)?null:e[l+(r?1:-1)];return u&&h==c&&u.level+(r?0:1)<a.level?D.cursor(u.side(!r,t)+n.from,u.forward(r,t)?1:-1,u.level):D.cursor(h+n.from,a.forward(r,t)?-1:1,a.level)}function Hb(n,e,t){for(let i=e;i<t;i++){let r=ff(n.charCodeAt(i));if(r==1)return ii;if(r==2||r==4)return Qa}return ii}var bf=U.define(),yf=U.define(),wf=U.define(),xf=U.define(),ga=U.define(),vf=U.define(),kf=U.define(),ec=U.define(),tc=U.define(),Sf=U.define({combine:n=>n.some(e=>e)}),Cf=U.define({combine:n=>n.some(e=>e)}),Tf=U.define(),Cr=class n{constructor(e,t,i,r,s,o=!1){this.range=e,this.y=t,this.x=i,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new n(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new n(D.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Ws=ye.define({map:(n,e)=>n.map(e)}),Af=ye.define();function Rt(n,e,t){let i=n.facet(xf);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var dn=U.define({combine:n=>n.length?n[0]:!0}),zb=0,Ii=U.define({combine(n){return n.filter((e,t)=>{for(let i=0;i<t;i++)if(n[i].plugin==e.plugin)return!1;return!0})}}),Ot=class n{constructor(e,t,i,r,s){this.id=e,this.create=t,this.domEventHandlers=i,this.domEventObservers=r,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(Ii.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(Ii.of({plugin:this,arg:e}))}static define(e,t){let{eventHandlers:i,eventObservers:r,provide:s,decorations:o}=t||{};return new n(zb++,e,i,r,l=>{let a=[];return o&&a.push(po.of(c=>{let h=c.plugin(l);return h?o(h):me.none})),s&&a.push(s(l)),a})}static fromClass(e,t){return n.define((i,r)=>new e(i,r),t)}},Tr=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(Rt(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Rt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){Rt(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Mf=U.define(),nc=U.define(),po=U.define(),Ef=U.define(),ic=U.define(),Nr=U.define(),Df=U.define();function Rd(n,e){let t=n.state.facet(Df);if(!t.length)return t;let i=t.map(s=>s instanceof Function?s(n):s),r=[];return ce.spans(i,e.from,e.to,{point(){},span(s,o,l,a){let c=s-e.from,h=o-e.from,u=r;for(let d=l.length-1;d>=0;d--,a--){let f=l[d].spec.bidiIsolate,p;if(f==null&&(f=Hb(e.text,c,h)),a>0&&u.length&&(p=u[u.length-1]).to==c&&p.direction==f)p.to=h,u=p.inner;else{let g={from:c,to:h,direction:f,inner:[]};u.push(g),u=g.inner}}}}),r}var Rf=U.define();function Lf(n){let e=0,t=0,i=0,r=0;for(let s of n.state.facet(Rf)){let o=s(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(i=Math.max(i,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:i,bottom:r}}var yr=U.define(),Lt=class n{constructor(e,t,i,r){this.fromA=e,this.toA=t,this.fromB=i,this.toB=r}join(e){return new n(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>i.toA)){if(r.toA<i.fromA)break;i=i.join(r),e.splice(t-1,1)}}return e.splice(t,0,i),e}static extendWithRanges(e,t){if(t.length==0)return e;let i=[];for(let r=0,s=0,o=0;;){let l=r<e.length?e[r].fromB:1e9,a=s<t.length?t[s]:1e9,c=Math.min(l,a);if(c==1e9)break;let h=c+o,u=c,d=h;for(;;)if(s<t.length&&t[s]<=u){let f=t[s+1];s+=2,u=Math.max(u,f);for(let p=r;p<e.length&&e[p].fromB<=u;p++)o=e[p].toA-e[p].toB;d=Math.max(d,f+o)}else if(r<e.length&&e[r].fromB<=u){let f=e[r++];u=Math.max(u,f.toB),d=Math.max(d,f.toA),o=f.toA-f.toB}else break;i.push(new n(h,d,c,u))}return i}},to=class n{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=Je.empty(this.startState.doc.length);for(let s of i)this.changes=this.changes.compose(s.changes);let r=[];this.changes.iterChangedRanges((s,o,l,a)=>r.push(new Lt(s,o,l,a))),this.changedRanges=r}static create(e,t,i){return new n(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},Fb=[],ke=class{constructor(e,t,i=0){this.dom=e,this.length=t,this.flags=i,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return Fb}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&Sb(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let i=t;for(let r of this.children){if(r==e)return i;i+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,i){return null}domPosFor(e,t){let i=Dn(this.dom),r=this.length?e>0:t>0;return new Jt(this.parent.dom,i+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Fi)return e;return null}static get(e){return e.cmTile}},zi=class extends ke{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,i=null,r,s=e?.node==t?e:null,o=0;for(let l of this.children){if(l.sync(e),o+=l.length+l.breakAfter,r=i?i.nextSibling:t.firstChild,s&&r!=l.dom&&(s.written=!0),l.dom.parentNode==t)for(;r&&r!=l.dom;)r=Ld(r);else t.insertBefore(l.dom,r);i=l.dom}for(r=i?i.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Ld(r);this.length=o}};function Ld(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}var Fi=class extends zi{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=ke.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],i=this,r=0,s=0;;)if(r==i.children.length){if(!t.length)return;i=i.parent,i.breakAfter&&s++,r=t.pop()}else{let o=i.children[r++];if(o instanceof fn)t.push(r),i=o,r=0;else{let l=s+o.length,a=e(o,s);if(a!==void 0)return a;s=l+o.breakAfter}}}resolveBlock(e,t){let i,r=-1,s,o=-1;if(this.blockTiles((l,a)=>{let c=a+l.length;if(e>=a&&e<=c){if(l.isWidget()&&t>=-1&&t<=1){if(l.flags&32)return!0;l.flags&16&&(i=void 0)}(a<e||e==c&&(t<-1?l.length:l.covers(1)))&&(!i||!l.isWidget()&&i.isWidget())&&(i=l,r=e-a),(c>e||e==a&&(t>1?l.length:l.covers(-1)))&&(!s||!l.isWidget()&&s.isWidget())&&(s=l,o=e-a)}}),!i&&!s)throw new Error("No tile at position "+e);return i&&t<0||!s?{tile:i,offset:r}:{tile:s,offset:o}}},fn=class n extends zi{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let i=new n(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}},Wi=class n extends zi{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,i){let r=new n(t||document.createElement("div"),e);return(!t||!i)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,i){let r=null,s=-1,o=null,l=-1;function a(h,u){for(let d=0,f=0;d<h.children.length&&f<=u;d++){let p=h.children[d],g=f+p.length;g>=u&&(p.isComposite()?a(p,u-f):(!o||o.isHidden&&(t>0&&!(o.flags&32)||i&&Vb(o,p)))&&(g>u||p.flags&32&&t<=1)?(o=p,l=u-f):(f<u||p.flags&16&&!p.isHidden&&t>=-1)&&(r=p,s=u-f)),f=g}}a(this,e);let c=(t<0?r:o)||r||o;return c?{tile:c,offset:c==r?s:l}:null}coordsIn(e,t,i){let r=this.resolveInline(e,t,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),t,i):Wb(this)}domIn(e,t){let i=this.resolveInline(e,t);if(i){let{tile:r,offset:s}=i;if(this.dom.contains(r.dom))return r.isText()?new Jt(r.dom,Math.min(r.dom.nodeValue.length,s)):r.domPosFor(s,r.flags&16?1:r.flags&32?-1:t);let o=i.tile.parent,l=!1;for(let a of o.children){if(l)return new Jt(a.dom,0);a==i.tile&&(l=!0)}}return new Jt(this.dom,0)}};function Wb(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=kr(e);return t[t.length-1]||null}function Vb(n,e){let t=n.coordsIn(0,1),i=e.coordsIn(0,1);return t&&i&&i.top<t.bottom}var lt=class n extends zi{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let i=new n(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}},ei=class n extends ke{constructor(e,t){super(e,t.length),this.text=t}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,t,i){let r=this.dom.nodeValue.length;e>r&&(e=r);let s=e,o=e,l=0;e==0&&t<0||e==r&&t>=0?O.chrome||O.gecko||(e?(s--,l=1):o<r&&(o++,l=-1)):t<0?s--:o<r&&o++;let a=Ir(this.dom,s,o).getClientRects();if(!a.length)return null;let c=a[(l?l<0:t>=0)?0:a.length-1];return O.safari&&!l&&c.width==0&&(c=Array.prototype.find.call(a,h=>h.width)||c),i==null?c:Pr(c,(l?l>0:t<0)==i)}static of(e,t){let i=new n(t||document.createTextNode(e),e);return t||(i.flags|=2),i}},ri=class n extends ke{constructor(e,t,i,r){super(e,t,r),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,i){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(i)return Pr(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let l=this.flags&16?!0:this.flags&32?!1:e>0;for(let a=l?s.length-1:0;o=s[a],!(e>0?a==0:a==s.length-1||o.top<o.bottom);a+=l?-1:1);return Pr(o,!l)}}get overrideDOMText(){if(!this.length)return ee.empty;let{root:e}=this;if(!e)return ee.empty;let t=this.posAtStart;return e.view.state.doc.slice(t,t+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,t,i,r,s){return s||(s=e.toDOM(t),e.editable||(s.contentEditable="false")),new n(s,i,e,r)}},Vi=class extends ke{constructor(e){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),super(t,0,e)}get isHidden(){return!0}get overrideDOMText(){return ee.empty}coordsIn(e,t,i){let r=this.dom.getBoundingClientRect();return i==null?r:Pr(r,t>0==i)}},ba=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,i){let{tile:r,index:s,beforeBreak:o,parents:l}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;i&&i.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!l.length)break;i&&i.leave(r),o=!!r.breakAfter,{tile:r,index:s}=l.pop(),s++}else{let a=r.children[s],c=a.breakAfter;(t>0?a.length<=e:a.length<e)&&(!i||i.skip(a,0,a.length)!==!1||!a.isComposite)?(o=!!c,s++,e-=a.length):(l.push({tile:r,index:s}),r=a,s=0,i&&a.isComposite()&&i.enter(a))}else{let a=r.length;if(s<a&&e){let c=Math.min(e,a-s);i&&i.skip(r,s,s+c),e-=c,s+=c}if(s==a)o=!!r.breakAfter,{tile:r,index:s}=l.pop(),s++;else if(!e)break}return this.tile=r,this.index=s,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}},ya=class{constructor(e,t,i,r){this.from=e,this.to=t,this.wrapper=i,this.rank=r}},wa=class{constructor(e,t,i){this.cache=e,this.root=t,this.blockWrappers=i,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,i,r){var s;this.flushBuffer();let o=this.ensureMarks(t,i),l=o.lastChild;if(l&&l.isText()&&!(l.flags&8)&&l.length+e.length<512){this.cache.reused.set(l,2);let a=o.children[o.children.length-1]=new ei(l.dom,l.text+e);a.parent=o}else o.append(r||ei.of(e,(s=this.cache.find(ei))===null||s===void 0?void 0:s.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let i=this.curLine;i.dom!=t.line.dom&&(i.setDOM(this.cache.reused.has(t.line)?na(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let r=i;for(let l=t.marks.length-1;l>=0;l--){let a=t.marks[l],c=r.lastChild;if(c instanceof lt&&c.mark.eq(a.mark))c.dom!=a.dom&&c.setDOM(na(a.dom)),r=c;else{let{dom:h}=a;this.cache.reused.get(a)&&ke.get(a.dom)&&(h=na(a.dom));let u=lt.of(a.mark,h);r.append(u),r=u}this.cache.reused.set(a,2)}let s=ke.get(e.text);s&&this.cache.reused.set(s,2);let o=new ei(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,i){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,i);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,i){this.flushBuffer(),this.ensureMarks(t,i).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var i;e||(e=Of);let r=Wi.start(e,t||((i=this.cache.find(Wi))===null||i===void 0?void 0:i.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var i;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],l;if(t>0&&(l=r.lastChild)&&l instanceof lt&&l.mark.eq(o))r=l,t--;else{let a=lt.of(o,(i=this.cache.find(lt,c=>c.mark.eq(o)))===null||i===void 0?void 0:i.dom);r.append(a),r=a,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!Od(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(O.ios&&Od(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(ia,0,32)||new ri(ia.toDOM(),0,ia,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let t=e.rank*102+e.value.rank,i=new ya(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-i.rank||this.wrappers[r-1].to-i.to)<0;)r--;this.wrappers.splice(r,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let i of this.wrappers){let r=t.lastChild;if(i.from<this.pos&&r instanceof fn&&r.wrapper.eq(i.wrapper))t=r;else{let s=fn.of(i.wrapper,(e=this.cache.find(fn,o=>o.wrapper.eq(i.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),i=this.cache.find(Vi,void 0,1);return i&&(i.flags=t),i||new Vi(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},xa=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let l=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,l)}let t=Math.min(this.text.length,this.textOff+e),i=this.text.slice(this.textOff,t);return this.textOff=t,i}},no=[ri,Wi,ei,lt,Vi,fn,Fi];for(let n=0;n<no.length;n++)no[n].bucket=n;var va=class{constructor(e){this.view=e,this.buckets=no.map(()=>[]),this.index=no.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,i=this.buckets[t];i.length<6?i.push(e):i[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,i=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let l=0;l<s.length;l++){let a=(l+o)%s.length,c=s[a];if((!t||t(c))&&!this.reused.has(c))return s.splice(a,1),a<o&&this.index[r]--,this.reused.set(c,i),c}return null}findWidget(e,t,i){let r=this.buckets[0];if(r.length)for(let s=0,o=0;;s++){if(s==r.length){if(o)return null;o=1,s=0}let l=r[s];if(!this.reused.has(l)&&(o==0?l.widget.compare(e):l.widget.constructor==e.constructor&&e.updateDOM(l.dom,this.view,l.widget)))return r.splice(s,1),s<this.index[0]&&this.index[0]--,l.widget==e&&l.length==t&&(l.flags&497)==i?(this.reused.set(l,1),l):(this.reused.set(l,2),new ri(l.dom,t,e,l.flags&-498|i))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,t=2){if(!this.reused.has(e))return this.reused.set(e,t),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}},ka=class{constructor(e,t,i,r,s){this.view=e,this.decorations=r,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new va(e),this.text=new xa(e.state.doc),this.builder=new wa(this.cache,new Fi(e,e.contentDOM),ce.iter(i)),this.cache.reused.set(t,2),this.old=new ba(t),this.reuseWalker={skip:(o,l,a)=>{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let i=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let l=o<e.length?e[o++]:null,a=l?l.fromA:this.old.root.length;if(a>r){let c=a-r;this.preserve(c,!o,!l),r=a,s+=c}if(!l)break;t&&l.fromA<=t.range.fromA&&l.toA>=t.range.toA?(this.forward(l.fromA,t.range.fromA,t.range.fromA<t.range.toA?1:-1),this.emit(s,t.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(t,i),this.text.skip(t.range.toB-t.range.fromB),this.forward(t.range.fromA,l.toA),this.emit(t.range.toB,l.toB)):(this.forward(l.fromA,l.toA),this.emit(s,l.toB)),s=l.toB,r=l.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,i){let r=Kb(this.old),s=this.openMarks;this.old.advance(e,i?1:-1,{skip:(o,l,a)=>{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(a-l);else{let c=a>0||l<o.length?ri.of(o.widget,this.view,a-l,o.flags&496,this.cache.maybeReuse(o)):this.cache.reuse(o);c.flags&256?(c.flags&=-2,this.builder.addBlockWidget(c)):(this.builder.ensureLine(null),this.builder.addInlineWidget(c,r,s),s=r.length)}else if(o.isText())this.builder.ensureLine(null),!l&&a==o.length&&!this.cache.reused.has(o)?this.builder.addText(o.text,r,s,this.cache.reuse(o)):(this.cache.add(o),this.builder.addText(o.text.slice(l,a),r,s)),s=r.length;else if(o.isLine())o.flags&=-2,this.cache.reused.set(o,1),this.builder.addLine(o);else if(o instanceof Vi)this.cache.add(o);else if(o instanceof lt)this.builder.ensureLine(null),this.builder.addMark(o,r,s),this.cache.reused.set(o,1),s=r.length;else return!1;this.openWidget=!1},enter:o=>{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof lt&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof lt&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let i=null,r=this.builder,s=-1,o=ce.spans(this.decorations,e,t,{point:(l,a,c,h,u,d)=>{if(c instanceof ni){if(this.disallowBlockEffectsFor[d]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(a>this.view.state.doc.lineAt(l).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,u>h.length)r.continueWidget(a-l);else{let f=c.widget||(c.block?Rn.block:Rn.inline),p=$b(c),g=this.cache.findWidget(f,a-l,p)||ri.of(f,this.view,a-l,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(i),r.addBlockWidget(g)):(r.ensureLine(i),r.addInlineWidget(g,h,u))}i=null}else i=Ub(i,c);a>l&&this.text.skip(a-l)},span:(l,a,c,h)=>{for(let u=l;u<a;){let d=this.text.next(Math.min(512,a-u));d==null?(r.addLineStartIfNotCovered(i),r.addBreak(),u++):(r.ensureLine(i),r.addText(d,c,u==l?h:c.length),u+=d.length),i=null}s=c.length}});s>-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(i),this.openMarks=o}forward(e,t,i=1){t-e<=10?this.old.advance(t-e,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(e){let t=[],i=null;for(let r=e.parentNode;;r=r.parentNode){let s=ke.get(r);if(r==this.view.contentDOM)break;s instanceof lt?t.push(s):s?.isLine()?i=s:s instanceof fn||(r.nodeName=="DIV"&&!i?i=new Wi(r,Of):i||t.push(lt.of(new Rr({tagName:r.nodeName.toLowerCase(),attributes:Cb(r)}),r)))}return i?{line:i,marks:t}:null}};function Od(n,e){let t=i=>{for(let r of i.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(n)}function $b(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}var Of={class:"cm-line"};function Ub(n,e){let t=e.spec.attributes,i=e.spec.class;return!t&&!i||(n||(n={class:"cm-line"}),t&&Ja(t,n),i&&(n.class+=" "+i)),n}function Kb(n){let e=[];for(let t=n.parents.length;t>1;t--){let i=t==n.parents.length?n.tile:n.parents[t].tile;i instanceof lt&&e.push(i.mark)}return e}function na(n){let e=ke.get(n);return e&&e.setDOM(n.cloneNode()),n}var Rn=class extends En{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};Rn.inline=new Rn("span");Rn.block=new Rn("div");var ia=new class extends En{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},io=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=me.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Fi(e,e.contentDOM),this.updateInner([new Lt(0,0,0,e.state.doc.length)],null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:h,toA:u})=>u<this.minWidthFrom||h>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!Qb(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?qb(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;i=new Lt(h,u,e.changes.mapPos(h,-1),e.changes.mapPos(u,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(O.ie||O.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,l=this.blockWrappers;this.updateDeco();let a=Yb(o,this.decorations,e.changes);a.length&&(i=Lt.extendWithRanges(i,a));let c=Jb(l,this.blockWrappers,e.changes);return c.length&&(i=Lt.extendWithRanges(i,c)),s&&!i.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(i=s.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(t||e.length){let o=this.tile,l=new ka(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&ke.get(t.text)&&l.cache.reused.set(ke.get(t.text),2),this.tile=l.run(e,t),Sa(o,l.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=O.chrome||O.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||i.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.tile.children)s.isWidget()&&s.widget instanceof Ar&&r.push(s.dom);i.updateGaps(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let i of t.effects)i.is(Af)&&(this.editContextFormatting=i.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:i}=this.tile,r=this.view.root.activeElement,s=r==i,o=!s&&!(this.view.state.facet(dn)||i.tabIndex>-1)&&vr(i,this.view.observer.selectionRange)&&!(r&&i.contains(r));if(!(s||t||o))return;let l=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,c,h;if(a.empty?h=c=this.inlineDOMNearPos(a.anchor,a.assoc||1):(h=this.inlineDOMNearPos(a.head,a.head==a.from?1:-1),c=this.inlineDOMNearPos(a.anchor,a.anchor==a.from?1:-1)),O.gecko&&a.empty&&!this.hasComposition&&jb(c)){let d=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(d,c.node.childNodes[c.offset]||null)),c=h=new Jt(d,0),l=!0}let u=this.view.observer.selectionRange;(l||!u.focusNode||(!Sr(c.node,c.offset,u.anchorNode,u.anchorOffset)||!Sr(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,a))&&(this.view.observer.ignore(()=>{O.android&&O.chrome&&i.contains(u.focusNode)&&Zb(u.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let d=Or(this.view.root);if(d)if(a.empty){if(O.gecko){let f=Gb(c.node,c.offset);if(f&&f!=3){let p=(f==1?hf:uf)(c.node,c.offset);p&&(c=new Jt(p.node,p.offset))}}d.collapse(c.node,c.offset),a.bidiLevel!=null&&d.caretBidiLevel!==void 0&&(d.caretBidiLevel=a.bidiLevel)}else if(d.extend){d.collapse(c.node,c.offset);try{d.extend(h.node,h.offset)}catch{}}else{let f=document.createRange();a.anchor>a.head&&([c,h]=[h,c]),f.setEnd(h.node,h.offset),f.setStart(c.node,c.offset),d.removeAllRanges(),d.addRange(f)}o&&this.view.root.activeElement==i&&(i.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Jt(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new Jt(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Sr(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=Or(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let l=o.posAtStart;if(t.head==l||t.head==l+o.length)return;let a=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!a||!c||a.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);i.collapse(h.node,h.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&i.collapse(r,s)}posFromDOM(e,t){let i=this.tile.nearest(e);if(!i)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=i.posAtStart;if(i.isComposite()){let s;if(e==i.dom)s=i.dom.childNodes[t];else{let o=pn(e)==0?0:t==0?-1:1;for(;;){let l=e.parentNode;if(l==i.dom)break;o==0&&l.firstChild!=l.lastChild&&(e==l.firstChild?o=-1:o=1),e=l}o<0?s=e:s=e.nextSibling}if(s==i.dom.firstChild)return r;for(;s&&!ke.get(s);)s=s.nextSibling;if(!s)return r+i.length;for(let o=0,l=r;;o++){let a=i.children[o];if(a.dom==s)return l;l+=a.length+a.breakAfter}}else return i.isText()?e==i.dom?r+t:r+(t?i.length:0):r}domAtPos(e,t){let{tile:i,offset:r}=this.tile.resolveBlock(e,t);return i.isWidget()?i.domPosFor(r,t):i.domIn(r,t)}inlineDOMNearPos(e,t){let i,r=-1,s=!1,o,l=-1,a=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let u=h+c.length;if(h<=e&&(i=c,r=e-h,s=u<e),u>=e&&!o&&(o=c,l=e-h,a=h>e),h>e&&o)return!0}}),!i&&!o?this.domAtPos(e,t):(s&&o?i=null:a&&i&&(o=null),i&&t<0||!o?i.domIn(r,t):o.domIn(l,t))}coordsAt(e,t,i){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Ar?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,i)}lineAt(e,t){let{tile:i}=this.tile.resolveBlock(e,t);return i.isLine()?i:null}coordsForChar(e){let{tile:t,offset:i}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let l of s.children){if(l.length>=o){let a=r(l,o);if(a)return a}if(o-=l.length,o<0)break}else if(s.isText()&&o<s.length){let l=Be(s.text,o);if(l==o)return null;let a=Ir(s.dom,o,l).getClientRects();for(let c=0;c<a.length;c++){let h=a[c];if(c==a.length-1||h.top<h.bottom&&h.left<h.right)return h}}return null}return r(t,i)}measureVisibleLineHeights(e){let t=[],{from:i,to:r}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==ge.LTR,c=0,h=(u,d,f)=>{for(let p=0;p<u.children.length&&!(d>r);p++){let g=u.children[p],b=d+g.length,y=g.dom.getBoundingClientRect(),{height:x}=y;if(f&&!p&&(c+=y.top-f.top),g instanceof fn)b>i&&h(g,d,y);else if(d>=i&&(c>0&&t.push(-c),t.push(x+c),c=0,o)){let C=g.dom.lastChild,_=C?kr(C):[];if(_.length){let S=_[_.length-1],A=a?S.right-y.left:y.right-S.left;A>l&&(l=A,this.minWidth=s,this.minWidthFrom=d,this.minWidthTo=b)}}f&&p==u.children.length-1&&(c+=f.bottom-y.bottom),d=b+g.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ge.RTL:ge.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let l=0,a;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=kr(c.dom);if(h.length!=1)return;l+=h[0].width,a=h[0].height}if(l)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:l/o.length,textHeight:a}}});if(e)return e;let t=document.createElement("div"),i,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=kr(t.firstChild)[0];i=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:i,t.remove()}),{lineHeight:i,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>i){let l=(t.lineBlockAt(o).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(me.replace({widget:new Ar(l),block:!0,inclusive:!0,isBlockGap:!0}).range(i,o))}if(!s)break;i=s.to+1}return me.set(e)}updateDeco(){let e=1,t=this.view.state.facet(po).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),i=!1,r=this.view.state.facet(ic).map((s,o)=>{let l=typeof s=="function";return l&&(i=!0),l?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=i,t.push(ce.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(Ef).map(s=>typeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Tf))try{if(c(this.view,e.range,e))return!0}catch(h){Rt(this.view.state,h,"scroll handler")}let{range:t}=e,i=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!i)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let s=Lf(this.view),o={left:i.left-s.left,top:i.top-s.top,right:i.right+s.right,bottom:i.bottom+s.bottom},{offsetWidth:l,offsetHeight:a}=this.view.scrollDOM;if(Mb(this.view.scrollDOM,o,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,l),-l),Math.max(Math.min(e.yMargin,a),-a),this.view.textDirection==ge.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(i.top>window.visualViewport.offsetTop+window.visualViewport.height||i.bottom<window.visualViewport.offsetTop)){let c=this.view.docView.lineAt(t.head,1);if(c){let h=of(c.dom);c.dom.scrollIntoView({block:"nearest"}),lf(h,!1)}}}lineHasWidget(e){let t=i=>i.isWidget()||i.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){Sa(this.tile)}};function Sa(n,e){let t=e?.get(n);if(t!=1){t==null&&n.destroy();for(let i of n.children)Sa(i,e)}}function jb(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function Pf(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let i=hf(t.focusNode,t.focusOffset),r=uf(t.focusNode,t.focusOffset),s=i||r;if(r&&i&&r.node!=i.node){let l=ke.get(r.node);if(!l||l.isText()&&l.text!=r.node.nodeValue)s=r;else if(n.docView.lastCompositionAfterCursor){let a=ke.get(i.node);!a||a.isText()&&a.text!=i.node.nodeValue||(s=r)}}if(n.docView.lastCompositionAfterCursor=s!=i,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function qb(n,e,t){let i=Pf(n,t);if(!i)return null;let{node:r,from:s,to:o}=i,l=r.nodeValue;if(/[\n\r]/.test(l)||n.state.doc.sliceString(i.from,i.to)!=l)return null;let a=e.invertedDesc;return{range:new Lt(a.mapPos(s),a.mapPos(o),s,o),text:r}}function Gb(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}var Xb=class{constructor(){this.changes=[]}compareRange(e,t){_i(e,t,this.changes)}comparePoint(e,t){_i(e,t,this.changes)}boundChange(e){_i(e,e,this.changes)}};function Yb(n,e,t){let i=new Xb;return ce.compare(n,e,t,i),i.changes}var Ca=class{constructor(){this.changes=[]}compareRange(e,t){_i(e,t,this.changes)}comparePoint(){}boundChange(e){_i(e,e,this.changes)}};function Jb(n,e,t){let i=new Ca;return ce.compare(n,e,t,i),i.changes}function Zb(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function Qb(n,e){let t=!1;return e&&n.iterChangedRanges((i,r)=>{i<e.to&&r>e.from&&(t=!0)}),t}var Ar=class extends En{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function ey(n,e,t=1){let i=n.charCategorizer(e),r=n.doc.lineAt(e),s=e-r.from;if(r.length==0)return D.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,l=s;t<0?o=Be(r.text,s,!1):l=Be(r.text,s);let a=i(r.text.slice(o,l));for(;o>0;){let c=Be(r.text,o,!1);if(i(r.text.slice(c,o))!=a)break;o=c}for(;l<r.length;){let c=Be(r.text,l);if(i(r.text.slice(l,c))!=a)break;l=c}return D.undirectionalRange(o+r.from,l+r.from)}function ty(n,e,t,i,r){let s=Math.round((i-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let l=n.viewState.heightOracle.textHeight,a=Math.floor((r-t.top-(n.defaultLineHeight-l)*.5)/l);s+=a*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+wd(o,s,n.state.tabSize)}function Ta(n,e,t){let i=n.lineBlockAt(e);if(Array.isArray(i.type)){let r;for(let s of i.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!r||s.type==Fe.Text&&(r.type!=s.type||(t<0?s.from<e:s.to>e)))&&(r=s)}}return r||i}return i}function ny(n,e,t,i){let r=Ta(n,e.head,e.assoc||-1),s=!i||r.type!=Fe.Text||!(n.lineWrapping||r.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let l=n.dom.getBoundingClientRect(),a=n.textDirectionAt(r.from),c=n.posAtCoords({x:t==(a==ge.LTR)?l.right-1:l.left+1,y:(s.top+s.bottom)/2});if(c!=null)return D.cursor(c,t?-1:1)}let o=n.state.doc.lineAt(e.head);return(t?o.to==r.to:o.from==r.from)?n.visualLineSide(o,t):D.cursor(t?r.to:r.from,t?-1:1)}function Pd(n,e,t,i){let r=n.state.doc.lineAt(e.head),s=n.bidiSpans(r),o=n.textDirectionAt(r.from);for(let l=e,a=null;;){let c=_b(r,s,o,l,t),h=gf;if(!c){if(r.number==(t?n.state.doc.lines:1))return l;h=`
|
|
571
|
-
`,r=n.state.doc.line(r.number+(t?1:-1)),s=n.bidiSpans(r),c=n.visualLineSide(r,!t)}if(a){if(!a(h))return l}else{if(!i)return c;a=i(h)}l=c}}function iy(n,e,t){let i=n.state.charCategorizer(e),r=i(t);return s=>{let o=i(s);return r==Et.Space&&(r=o),r==o}}function ry(n,e,t,i){let r=e.head,s=t?1:-1;if(r==(t?n.state.doc.length:0))return D.cursor(r,e.assoc);let o=e.goalColumn,l,a=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=n.documentTop;if(c)o==null&&(o=c.left-a.left),l=s<0?c.top:c.bottom;else{let p=n.viewState.lineBlockAt(r);o==null&&(o=Math.min(a.right-a.left,n.defaultCharacterWidth*(r-p.from))),l=(s<0?p.top:p.bottom)+h}let u=a.left+o,d=n.viewState.heightOracle.textHeight>>1,f=i??d;for(let p=0;;p+=d){let g=l+(f+p)*s,b=Aa(n,{x:u,y:g},!1,s);if(t?g>a.bottom:g<a.top)return D.cursor(b.pos,b.assoc);let y=n.coordsAtPos(b.pos,b.assoc),x=y?(y.top+y.bottom)/2:0;if(!y||(t?x>l:x<l))return D.cursor(b.pos,b.assoc,void 0,o)}}function Mr(n,e,t){for(;;){let i=0;for(let r of n)r.between(e-1,e+1,(s,o,l)=>{if(e>s&&e<o){let a=i||t||(e-s<o-e?-1:1);e=a<0?s:o,i=a}});if(!i)return e}}function If(n,e){let t=null;for(let i=0;i<e.ranges.length;i++){let r=e.ranges[i],s=null;if(r.empty){let o=Mr(n,r.from,0);o!=r.from&&(s=D.cursor(o,-1))}else{let o=Mr(n,r.from,-1),l=Mr(n,r.to,1);(o!=r.from||l!=r.to)&&(r.undirectional?s=D.undirectionalRange(r.from,r.to):s=D.range(r.from==r.anchor?o:l,r.from==r.head?o:l))}s&&(t||(t=e.ranges.slice()),t[i]=s)}return t?D.create(t,e.mainIndex):e}function ra(n,e,t){let i=Mr(n.state.facet(Nr).map(r=>r(n)),t.from,e.head>t.from?-1:1);return i==t.from?t:D.cursor(i,i<t.from?1:-1)}var xt=class{constructor(e,t){this.pos=e,this.assoc=t}};function Aa(n,e,t,i){let r=n.contentDOM.getBoundingClientRect(),s=r.top+n.viewState.paddingTop,{x:o,y:l}=e,a=l-s,c;for(;;){if(a<0)return new xt(0,1);if(a>n.viewState.docHeight)return new xt(n.state.doc.length,-1);if(c=n.elementAtHeight(a),i==null)break;if(c.type==Fe.Text){if(i<0?c.to<n.viewport.from:c.from>n.viewport.to)break;let d=n.docView.coordsAt(i<0?c.from:c.to,i>0?-1:1);if(d&&(i<0?d.top<=a+s:d.bottom>=a+s))break}let u=n.viewState.heightOracle.textHeight/2;a=i>0?c.bottom+u:c.top-u}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==Fe.Text){let u=ty(n,r,c,o,l);return new xt(u,u==c.from?1:-1)}}if(c.type!=Fe.Text)return a<(c.top+c.bottom)/2?new xt(c.from,1):new xt(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),new Ma(n,o,l,n.textDirectionAt(c.from)).scanTile(h,c.from)}var Ma=class{constructor(e,t,i,r){this.view=e,this.x=t,this.y=i,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[vt.find(r,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[vt.find(r,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:r}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+r.from<t)}scan(e,t,i=!1){let r=0,s=e.length-1,o=new Set,l=this.bidiIn(e[0],e[s]),a,c,h=-1,u=1e9,d;e:for(;r<s;){let p=s-r,g=r+s>>1;t:if(o.has(g)){for(let x=1;x<p;x++){let C=g+x;if(C>=s&&(C-=p),!o.has(C)){g=C;break t}}break e}o.add(g);let b=t(g),y=0;if(b)for(let x=0;x<b.length;x++){let C=b[x];if(!(C.width==0&&b.length>1))if(C.bottom<this.y)(!a||a.bottom<C.bottom)&&(a=C),y=1;else if(C.top>this.y)(!c||c.top>C.top)&&(c=C),y=-1;else{let _=C.left>this.x?this.x-C.left:C.right<this.x?this.x-C.right:0,S=Math.abs(_);S<u&&(h=g,u=S,d=C),_&&(y=_<0==(this.baseDir==ge.LTR)?-1:1)}}y==-1&&(!l||this.baseDirAt(e[g],1))?s=g:y==1&&(!l||this.baseDirAt(e[g+1],-1))&&(r=g+1)}if(!d){if(!c&&!a)return{i:0,after:!1};let p=a&&(!c||this.y-a.bottom<c.top-this.y)?a:c;return this.y=(p.top+p.bottom)/2,this.scan(e,t,!0)}if(u&&!i){let{top:p,bottom:g}=d;if(a&&a.bottom>(p+p+g)/3)return this.y=a.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+g+g)/3)return this.y=c.top+1,this.scan(e,t,!0)}let f=(l?this.dirAt(e[h],1):this.baseDir)==ge.LTR;return{i:h,after:this.x>(d.left+d.right)/2==f}}scanText(e,t){let i=[];for(let s=0;s<e.length;s=Be(e.text,s))i.push(t+s);i.push(t+e.length);let r=this.scan(i,s=>{let o=i[s]-t,l=i[s+1]-t;return Ir(e.dom,o,l).getClientRects()});return r.after?new xt(i[r.i+1],-1):new xt(i[r.i],1)}scanTile(e,t){if(!e.length)return new xt(t,1);if(e.children.length==1){let l=e.children[0];if(l.isText())return this.scanText(l,t);if(l.isComposite())return this.scanTile(l,t)}let i=[t];for(let l=0,a=t;l<e.children.length;l++)i.push(a+=e.children[l].length);let r=this.scan(i,l=>{let a=e.children[l];return a.flags&48?null:(a.dom.nodeType==1?a.dom:Ir(a.dom,0,a.length)).getClientRects()}),s=e.children[r.i],o=i[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new xt(i[r.i+1],-1):new xt(o,1)}},Pi="\uFFFF",Ea=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(ve.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Pi}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let r=e;;){this.findPointBefore(i,r);let s=this.text.length;this.readNode(r);let o=ke.get(r),l=r.nextSibling;if(l==t){o?.breakAfter&&!l&&i!=this.view.contentDOM&&this.lineBreak();break}let a=ke.get(l);(o&&a?o.breakAfter:(o?o.breakAfter:eo(r))||eo(l)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!oy(l,t)&&this.lineBreak(),r=l}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,l;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,i),o=this.lineSeparator.length):(l=r.exec(t))&&(s=l.index,o=l[0].length),this.append(t.slice(i,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=o-1);i=s+o}}readNode(e){let t=ke.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(sy(e,i.node,i.offset)?t:0))}};function sy(n,e,t){for(;;){if(!e||t<pn(e))return!1;if(e==n)return!0;t=Dn(e)+1,e=e.parentNode}}function oy(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let i=ke.get(n);if(!i?.isWidget())return!1;i&&(t||(t=[])).push(i)}if(t)for(let i of t){let r=i.overrideDOMText;if(r?.length)return!1}return!0}var ro=class{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}},Da=class{constructor(e,t,i,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,l=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=Nf(e.docView.tile,t,i,0))){let a=s||o?[]:ay(e),c=new Ea(a,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=cy(a,this.bounds.from)}else{let a=e.observer.selectionRange,c=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!ua(e.contentDOM,a.focusNode)?l.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),h=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!ua(e.contentDOM,a.anchorNode)?l.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),u=e.viewport;if((O.ios||O.chrome)&&c!=h&&Math.min(c,h)<=l.main.from&&Math.max(c,h)>=l.main.to&&(u.from>0||u.to<e.state.doc.length)){let d=Math.min(c,h),f=Math.max(c,h),p=u.from-d,g=u.to-f;(p==0||p==1||d==0)&&(g==0||g==-1||f==e.state.doc.length)&&(c=0,h=e.state.doc.length)}if(e.inputState.composing>-1&&l.ranges.length>1)this.newSel=l.replaceRange(D.range(h,c));else if(e.lineWrapping&&h==c&&!(l.main.empty&&l.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let d=e.coordsAtPos(c,-1),f=0;d&&(f=e.inputState.lastTouchY<=d.bottom?-1:1),this.newSel=D.create([D.cursor(c,f)])}else this.newSel=D.single(h,c)}}};function Nf(n,e,t,i){if(n.isComposite()){let r=-1,s=-1,o=-1,l=-1;for(let a=0,c=i,h=i;a<n.children.length;a++){let u=n.children[a],d=c+u.length;if(c<e&&d>t)return Nf(u,e,t,c);if(d>=e&&r==-1&&(r=a,s=c),c>t&&u.dom.parentNode==n.dom){o=a,l=h;break}h=d,c=d+u.breakAfter}return{from:s,to:l<0?i+n.length:l,startDOM:(r?n.children[r-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:o<n.children.length&&o>=0?n.children[o].dom:null}}else return n.isText()?{from:i,to:i+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function Bf(n,e){let t,{newSel:i}=e,{state:r}=n,s=r.selection.main,o=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:l,to:a}=e.bounds,c=s.from,h=null;(o===8||O.android&&e.text.length<a-l)&&(c=s.to,h="end");let u=r.doc.sliceString(l,a,Pi),d,f;!s.empty&&s.from>=l&&s.to<=a&&(e.typeOver||u!=e.text)&&u.slice(0,s.from-l)==e.text.slice(0,s.from-l)&&u.slice(s.to-l)==e.text.slice(d=e.text.length-(u.length-(s.to-l)))?t={from:s.from,to:s.to,insert:ee.of(e.text.slice(s.from-l,d).split(Pi))}:(f=_f(u,e.text,c-l,h))&&(O.chrome&&o==13&&f.toB==f.from+2&&e.text.slice(f.from,f.toB)==Pi+Pi&&f.toB--,t={from:l+f.from,to:l+f.toA,insert:ee.of(e.text.slice(f.from,f.toB).split(Pi))})}else i&&(!n.hasFocus&&r.facet(dn)||so(i,s))&&(i=null);if(!t&&!i)return!1;if((O.mac||O.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(i&&t.insert.length==2&&(i=D.single(i.main.anchor-1,i.main.head-1)),t={from:t.from,to:t.to,insert:ee.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).to<s.to&&n.docView.lineHasWidget(s.to)&&n.inputState.insertingTextAt>Date.now()-50?t={from:s.from,to:s.to,insert:r.toText(n.inputState.insertingText)}:O.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==`
|
|
572
|
-
`&&n.lineWrapping&&(i&&(i=D.single(i.main.anchor-1,i.main.head-1)),t={from:s.from,to:s.to,insert:ee.of([" "])}),t)return rc(n,t,i,o);if(i&&!so(i,s)){let l=!1,a="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(l=!0),a=n.inputState.lastSelectionOrigin,a=="select.pointer"&&(i=If(r.facet(Nr).map(c=>c(n)),i))),n.dispatch({selection:i,scrollIntoView:l,userEvent:a}),!0}else return!1}function rc(n,e,t,i=-1){if(O.ios&&n.inputState.flushIOSKey(e))return!0;let r=n.state.selection.main;if(O.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&n.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Hi(n.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&Hi(n.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&Hi(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,l=()=>o||(o=ly(n,e,t));return n.state.facet(vf).some(a=>a(n,e.from,e.to,s,l))||n.dispatch(l()),!0}function ly(n,e,t){let i,r=n.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let a=e.from<s.from?-1:1,c=a<0?s.from:s.to,h=Mr(r.facet(Nr).map(u=>u(n)),c,a);e.from==h&&(o=h)}if(o>-1)i={changes:e,selection:D.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let a=s.from<e.from?r.sliceDoc(s.from,e.from):"",c=s.to>e.to?r.sliceDoc(e.to,s.to):"";i=r.replaceSelection(n.state.toText(a+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let a=r.changes(e),c=t&&t.main.to<=a.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=n.state.sliceDoc(e.from,e.to),u,d=t&&Pf(n,t.main.head);if(d){let p=e.insert.length-(e.to-e.from);u={from:d.from,to:d.to-p}}else u=n.state.doc.lineAt(s.head);let f=s.to-e.to;i=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:a,range:c||p.map(a)};let g=p.to-f,b=g-h.length;if(n.state.sliceDoc(b,g)!=h||g>=u.from&&b<=u.to)return{range:p};let y=r.changes({from:b,to:g,insert:e.insert}),x=p.to-s.to;return{changes:y,range:c?D.range(Math.max(0,c.anchor+x),Math.max(0,c.head+x)):p.map(y)}})}else i={changes:a,selection:c&&r.selection.replaceRange(c)}}let l="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,l+=".compose",n.inputState.compositionFirstChange&&(l+=".start",n.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:l,scrollIntoView:!0})}function _f(n,e,t,i){let r=Math.min(n.length,e.length),s=0;for(;s<r&&n.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==r&&n.length==e.length)return null;let o=n.length,l=e.length;for(;o>0&&l>0&&n.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,s-Math.min(o,l));t-=o+a-s}if(o<s&&n.length<e.length){let a=t<=s&&t>=o?s-t:0;s-=a,l=s+(l-o),o=s}else if(l<s){let a=t<=s&&t>=l?s-t:0;s-=a,o=s+(o-l),l=s}return{from:s,toA:o,toB:l}}function ay(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new ro(t,i)),(r!=t||s!=i)&&e.push(new ro(r,s))),e}function cy(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?D.single(t+e,i+e):null}function so(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}var Ra=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,O.safari&&e.contentDOM.addEventListener("input",()=>null),O.gecko&&Cy(e.contentDOM.ownerDocument)}handleEvent(e){!by(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let r of i.observers)r(this.view,t);for(let r of i.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=uy(e),i=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,l=i[s];l&&o!=!l.handlers.length&&(r.removeEventListener(s,this.handleEvent),l=null),l||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in i)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&zf.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),O.android&&O.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(O.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(Hf.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||dy.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&O.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&hy(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),50),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||this.view.observer.pendingRecords().length||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Hi(this.view.contentDOM,t.key,t.keyCode,t.mods))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:O.safari&&!O.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function hy(n){return n.visualViewport?n.visualViewport.height*n.visualViewport.scale/n.document.documentElement.clientHeight<.85:!1}function Id(n,e){return(t,i)=>{try{return e.call(n,i,t)}catch(r){Rt(t.state,r)}}}function uy(n){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of n){let r=i.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let l in s){let a=s[l];a&&t(l).handlers.push(Id(i.value,a))}if(o)for(let l in o){let a=o[l];a&&t(l).observers.push(Id(i.value,a))}}for(let i in Pt)t(i).handlers.push(Pt[i]);for(let i in Qe)t(i).observers.push(Qe[i]);return e}var Hf=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],dy="dthko",zf=[16,17,18,20,91,92,224,225],Vs=6;function $s(n){return Math.max(0,n)*.7+8}function fy(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}var La=class{constructor(e,t,i,r){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=sf(e.contentDOM),this.atoms=e.state.facet(Nr).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ve.allowMultipleSelections)&&py(e,t),this.dragging=gy(e,t)&&Vf(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&fy(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,r=0,s=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:l}=this.scrollParents.y.getBoundingClientRect());let a=Lf(this.view);e.clientX-a.left<=r+Vs?t=-$s(r-e.clientX):e.clientX+a.right>=o-Vs&&(t=$s(e.clientX-o)),e.clientY-a.top<=s+Vs?i=-$s(s-e.clientY):e.clientY+a.bottom>=l-Vs&&(i=$s(e.clientY-l)),this.setScrollSpeed(t,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,i=If(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function py(n,e){let t=n.state.facet(bf);return t.length?t[0](e):O.mac?e.metaKey:e.ctrlKey}function my(n,e){let t=n.state.facet(yf);return t.length?t[0](e):O.mac?!e.altKey:!e.ctrlKey}function gy(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let i=Or(n.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let s=0;s<r.length;s++){let o=r[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function by(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=ke.get(t))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(e))return!1;return!0}var Pt=Object.create(null),Qe=Object.create(null),Ff=O.ie&&O.ie_version<15||O.ios&&O.webkit_version<604;function yy(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),Wf(n,t.value)},50)}function mo(n,e,t){for(let i of n.facet(e))t=i(t,n);return t}function Wf(n,e){e=mo(n.state,ec,e);let{state:t}=n,i,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Oa!=null&&t.selection.ranges.every(a=>a.empty)&&Oa==s.toString()){let a=-1;i=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==a)return{range:c};a=h.from;let u=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:u},range:D.cursor(c.from+u.length)}})}else o?i=t.changeByRange(a=>{let c=s.line(r++);return{changes:{from:a.from,to:a.to,insert:c.text},range:D.cursor(a.from+c.length)}}):i=t.replaceSelection(s);n.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}Qe.scroll=n=>{let e=n.inputState;e.lastScrollTop=n.scrollDOM.scrollTop,e.lastScrollLeft=n.scrollDOM.scrollLeft,O.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};Qe.wheel=Qe.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};Pt.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);Qe.touchstart=(n,e)=>{let t=n.inputState,i=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),i&&(t.lastTouchX=i.clientX,t.lastTouchY=i.clientY),t.setSelectionOrigin("select.pointer")};Qe.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};Qe.touchend=(n,e)=>{n.inputState.touchActive=!1};Pt.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of n.state.facet(wf))if(t=i(n,e),t)break;if(!t&&e.button==0&&(t=xy(n,e)),t){let i=!n.hasFocus;n.inputState.startMouseSelection(new La(n,e,t,i)),i&&n.observer.ignore(()=>{af(n.contentDOM);let s=n.root.activeElement;s&&!s.contains(n.contentDOM)&&s.blur()});let r=n.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function Nd(n,e,t,i){if(i==1)return D.cursor(e,t);if(i==2)return ey(n.state,e,t);{let r=n.docView.lineAt(e,t),s=n.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,l=r?r.posAtEnd:s.to;return l<n.state.doc.length&&l==s.to&&l++,D.undirectionalRange(o,l)}}var wy=O.ie&&O.ie_version<=11,Bd=null,_d=0,Hd=0;function Vf(n){if(!wy)return n.detail;let e=Bd,t=Hd;return Bd=n,Hd=Date.now(),_d=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(_d+1)%3:1}function xy(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),i=Vf(e),r=n.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,l){let a=n.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=Nd(n,a.pos,a.assoc,i);if(t.pos!=a.pos&&!o){let u=Nd(n,t.pos,t.assoc,i),d=Math.min(u.from,h.from),f=Math.max(u.to,h.to);h=d<h.from?D.range(d,f,h.assoc):D.range(f,d,h.assoc)}return o?r.replaceRange(r.main.extend(h.from,h.to,h.assoc)):l&&i==1&&r.ranges.length>1&&(c=vy(r,a.pos))?c:l?r.addRange(h):D.create([h])}}}function vy(n,e){for(let t=0;t<n.ranges.length;t++){let{from:i,to:r}=n.ranges[t];if(i<=e&&r>=e)return D.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}Pt.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let r=n.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=D.undirectionalRange(s,o))}}let{inputState:i}=n;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",mo(n.state,tc,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Pt.dragend=n=>(n.inputState.draggedContent=null,!1);function zd(n,e,t,i){if(t=mo(n.state,ec,t),!t)return;let r=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,o=i&&s&&my(n,e)?{from:s.from,to:s.to}:null,l={from:r,insert:t},a=n.state.changes(o?[o,l]:l);n.focus(),n.dispatch({changes:a,selection:{anchor:a.mapPos(r,-1),head:a.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),n.inputState.draggedContent=null}Pt.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),r=0,s=()=>{++r==t.length&&zd(n,e,i.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o<t.length;o++){let l=new FileReader;l.onerror=s,l.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(l.result)||(i[o]=l.result),s()},l.readAsText(t[o])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return zd(n,e,i,!0),!0}return!1};Pt.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=Ff?null:e.clipboardData;return t?(Wf(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(yy(n),!1)};function ky(n,e){let t=n.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),n.focus()},50)}function Sy(n){let e=[],t=[],i=!1;for(let r of n.selection.ranges)r.empty||(e.push(n.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of n.selection.ranges){let o=n.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),r=o.number}i=!0}return{text:mo(n,tc,e.join(n.lineBreak)),ranges:t,linewise:i}}var Oa=null;Pt.copy=Pt.cut=(n,e)=>{if(!vr(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:i,linewise:r}=Sy(n.state);if(!t&&!r)return!1;Oa=r?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let s=Ff?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(ky(n,t),!1)};var $f=ot.define();function Uf(n,e){let t=[];for(let i of n.facet(kf)){let r=i(n,e);r&&t.push(r)}return t.length?n.update({effects:t,annotations:$f.of(!0)}):null}function Kf(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=Uf(n.state,e);t?n.dispatch(t):n.update([])}},10)}Qe.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),Kf(n)};Qe.blur=n=>{n.observer.clearSelectionRange(),Kf(n)};Qe.compositionstart=Qe.compositionupdate=n=>{if(!n.observer.editContext&&(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0)){let{main:e}=n.state.selection;!e.empty&&n.lineBlockAt(e.from).from!=n.lineBlockAt(e.to).from&&n.dispatch({changes:n.state.selection.ranges.filter(t=>!t.empty).map(t=>({from:t.from,to:t.to})),userEvent:"input"}),n.inputState.composing=0}};Qe.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,O.chrome&&O.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};Qe.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};Pt.beforeinput=(n,e)=>{var t,i;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let l=o[0],a=n.posAtDOM(l.startContainer,l.startOffset),c=n.posAtDOM(l.endContainer,l.endOffset);return rc(n,{from:a,to:c,insert:n.state.toText(s)},null),!0}}let r;if(O.chrome&&O.android&&(r=Hf.find(s=>s.inputType==e.inputType))&&(n.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return O.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),O.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>Qe.compositionend(n,e),20),!1};var Fd=new Set;function Cy(n){Fd.has(n)||(Fd.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}var Wd=["pre-wrap","normal","pre-line","break-spaces"],$i=!1;function Vd(){$i=!1}var Pa=class{constructor(e){this.lineWrapping=e,this.doc=ee.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Wd.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i<e.length;i++){let r=e[i];r<0?i++:this.heightSamples[Math.floor(r*10)]||(t=!0,this.heightSamples[Math.floor(r*10)]=!0)}return t}refresh(e,t,i,r,s,o){let l=Wd.indexOf(e)>-1,a=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=t,this.charWidth=i,this.textHeight=r,this.lineLength=s,a){this.heightSamples={};for(let c=0;c<o.length;c++){let h=o[c];h<0?c++:this.heightSamples[Math.floor(h*10)]=!0}}return a}},Ia=class{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}},Dt=class n{constructor(e,t,i,r,s){this.from=e,this.length=t,this.top=i,this.height=r,this._content=s}get type(){return typeof this._content=="number"?Fe.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof ni?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new n(this.from,this.length+e.length,this.top,this.height+e.height,t)}},pe=(function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n})(pe||(pe={})),Gs=.001,ft=class n{constructor(e,t,i=2){this.length=e,this.height=t,this.flags=i}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Gs&&($i=!0),this.height=e)}replace(e,t,i){return n.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,r){let s=this,o=i.doc;for(let l=r.length-1;l>=0;l--){let{fromA:a,toA:c,fromB:h,toB:u}=r[l],d=s.lineAt(a,pe.ByPosNoHeight,i.setDoc(t),0,0),f=d.to>=c?d:s.lineAt(c,pe.ByPosNoHeight,i,0,0);for(u+=f.to-c,c=f.to;l>0&&d.from<=r[l-1].toA;)a=r[l-1].fromA,h=r[l-1].fromB,l--,a<d.from&&(d=s.lineAt(a,pe.ByPosNoHeight,i,0,0));h+=d.from-a,a=d.from;let p=Ba.build(i.setDoc(o),e,h,u);s=oo(s,s.replace(a,c,p))}return s.updateHeight(i,0)}static empty(){return new wt(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,i=e.length,r=0,s=0;for(;;)if(t==i)if(r>s*2){let l=e[t-1];l.break?e.splice(--t,1,l.left,null,l.right):e.splice(--t,1,l.left,l.right),i+=1+l.break,r-=l.size}else if(s>r*2){let l=e[i];l.break?e.splice(i,1,l.left,null,l.right):e.splice(i,1,l.left,l.right),i+=2+l.break,s-=l.size}else break;else if(r<s){let l=e[t++];l&&(r+=l.size)}else{let l=e[--i];l&&(s+=l.size)}let o=0;return e[t-1]==null?(o=1,t--):e[t]==null&&(o=1,i++),new Na(n.of(e.slice(0,t)),o,n.of(e.slice(i)))}};function oo(n,e){return n==e?n:(n.constructor!=e.constructor&&($i=!0),e)}ft.prototype.size=1;var Ty=me.replace({}),lo=class extends ft{constructor(e,t,i){super(e,t),this.deco=i,this.spaceAbove=0}mainBlock(e,t){return new Dt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,i,r){return this.spaceAbove&&e<i+this.spaceAbove?new Dt(r,0,i,this.spaceAbove,Ty):this.mainBlock(i,r)}lineAt(e,t,i,r,s){let o=this.mainBlock(r,s);return this.spaceAbove?this.blockAt(0,i,r,s).join(o):o}forEachLine(e,t,i,r,s,o){e<=s+this.length&&t>=s&&o(this.lineAt(0,pe.ByPos,i,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},wt=class n extends lo{constructor(e,t,i){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,t){return new Dt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,i){let r=i[0];return i.length==1&&(r instanceof n||r instanceof Mn&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof Mn?r=new n(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):ft.of(i)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},Mn=class n extends ft{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-i+1,o,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*s);o=a/s,this.length>s+1&&(l=(this.height-a)/(this.length-s-1))}else o=this.height/s;return{firstLine:i,lastLine:r,perLine:o,perChar:l}}blockAt(e,t,i,r){let{firstLine:s,lastLine:o,perLine:l,perChar:a}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length)),h=t.doc.lineAt(c),u=l+h.length*a,d=Math.max(i,e-u/2);return new Dt(h.from,h.length,d,u,0)}else{let c=Math.max(0,Math.min(o-s,Math.floor((e-i)/l))),{from:h,length:u}=t.doc.line(s+c);return new Dt(h,u,i+l*c,l,0)}}lineAt(e,t,i,r,s){if(t==pe.ByHeight)return this.blockAt(e,i,r,s);if(t==pe.ByPosNoHeight){let{from:f,to:p}=i.doc.lineAt(e);return new Dt(f,p-f,0,0,0)}let{firstLine:o,perLine:l,perChar:a}=this.heightMetrics(i,s),c=i.doc.lineAt(e),h=l+c.length*a,u=c.number-o,d=r+l*u+a*(c.from-s-u);return new Dt(c.from,c.length,Math.max(r,Math.min(d,r+this.height-h)),h,0)}forEachLine(e,t,i,r,s,o){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:l,perLine:a,perChar:c}=this.heightMetrics(i,s);for(let h=e,u=r;h<=t;){let d=i.doc.lineAt(h);if(h==e){let p=d.number-l;u+=a*p+c*(e-s-p)}let f=a+c*d.length;o(new Dt(d.from,d.length,u,f,0)),u+=f,h=d.to+1}}replace(e,t,i){let r=this.length-t;if(r>0){let s=i[i.length-1];s instanceof n?i[i.length-1]=new n(s.length+r):i.push(null,new n(r-1))}if(e>0){let s=i[0];s instanceof n?i[0]=new n(e+s.length):i.unshift(new n(e-1),null)}return ft.of(i)}decomposeLeft(e,t){t.push(new n(e-1),null)}decomposeRight(e,t){t.push(null,new n(this.length-e-1))}updateHeight(e,t=0,i=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],l=Math.max(t,r.from),a=-1;for(r.from>t&&o.push(new n(r.from-t-1).updateHeight(e,t));l<=s&&r.more;){let h=e.doc.lineAt(l).length;o.length&&o.push(null);let u=r.heights[r.index++],d=0;u<0&&(d=-u,u=r.heights[r.index++]),a==-1?a=u:Math.abs(u-a)>=Gs&&(a=-2);let f=new wt(h,u,d);f.outdated=!1,o.push(f),l+=h+1}l<=s&&o.push(null,new n(s-l).updateHeight(e,l));let c=ft.of(o);return(a<0||Math.abs(c.height-this.height)>=Gs||Math.abs(a-this.heightMetrics(e,t).perLine)>=Gs)&&($i=!0),oo(this,c)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Na=class extends ft{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,r){let s=i+this.left.height;return e<s?this.left.blockAt(e,t,i,r):this.right.blockAt(e,t,s,r+this.left.length+this.break)}lineAt(e,t,i,r,s){let o=r+this.left.height,l=s+this.left.length+this.break,a=t==pe.ByHeight?e<o:e<l,c=a?this.left.lineAt(e,t,i,r,s):this.right.lineAt(e,t,i,o,l);if(this.break||(a?c.to<l:c.from>l))return c;let h=t==pe.ByPosNoHeight?pe.ByPosNoHeight:pe.ByPos;return a?c.join(this.right.lineAt(l,h,i,o,l)):this.left.lineAt(l,h,i,r,s).join(c)}forEachLine(e,t,i,r,s,o){let l=r+this.left.height,a=s+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,i,r,s,o),t>=a&&this.right.forEachLine(e,t,i,l,a,o);else{let c=this.lineAt(a,pe.ByPos,i,r,s);e<c.from&&this.left.forEachLine(e,c.from-1,i,r,s,o),c.to>=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,i,l,a,o)}}replace(e,t,i){let r=this.left.length+this.break;if(t<r)return this.balanced(this.left.replace(e,t,i),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,i));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let l of i)s.push(l);if(e>0&&$d(s,o-1),t<this.length){let l=s.length;this.decomposeRight(t,s),$d(s,l)}return ft.of(s)}decomposeLeft(e,t){let i=this.left.length;if(e<=i)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(i++,e>=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,r=i+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e<i&&this.left.decomposeRight(e,t),this.break&&e<r&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?ft.of(this.break?[e,null,t]:[e,t]):(this.left=oo(this.left,e),this.right=oo(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,r){let{left:s,right:o}=this,l=t+s.length+this.break,a=null;return r&&r.from<=t+s.length&&r.more?a=s=s.updateHeight(e,t,i,r):s.updateHeight(e,t,i),r&&r.from<=l+o.length&&r.more?a=o=o.updateHeight(e,l,i,r):o.updateHeight(e,l,i),a?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function $d(n,e){let t,i;n[e]==null&&(t=n[e-1])instanceof Mn&&(i=n[e+1])instanceof Mn&&n.splice(e-1,3,new Mn(t.length+1+i.length))}var Ay=5,Ba=class n{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof wt?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new wt(i-this.pos,-1,0)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e<t||i.heightRelevant){let r=i.widget?i.widget.estimatedHeight:0,s=i.widget?i.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let o=t-e;i.block?this.addBlock(new lo(o,r,i)):(o||s||r>=Ay)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new wt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let i=new Mn(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof wt)return e;let t=new wt(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof wt)&&!this.isCovered?this.nodes.push(new wt(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let i=e;for(let r of this.nodes)r instanceof wt&&r.updateHeight(this.oracle,i),i+=r?r.length:1;return this.nodes}static build(e,t,i,r){let s=new n(i,e);return ce.spans(t,i,r,s,0),s.finish(i)}};function My(n,e,t){let i=new _a;return ce.compare(n,e,t,i,0),i.changes}var _a=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,i,r){(e<t||i&&i.heightRelevant||r&&r.heightRelevant)&&_i(e,t,this.changes,5)}};function Ey(n,e){let t=n.getBoundingClientRect(),i=n.ownerDocument,r=i.defaultView||window,s=Math.max(0,t.left),o=Math.min(r.innerWidth,t.right),l=Math.max(0,t.top),a=Math.min(r.innerHeight,t.bottom);for(let c=n.parentNode;c&&c!=i.body;)if(c.nodeType==1){let h=c,u=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&u.overflow!="visible"){let d=h.getBoundingClientRect();s=Math.max(s,d.left),o=Math.min(o,d.right),l=Math.max(l,d.top),a=Math.min(c==n.parentNode?r.innerHeight:a,d.bottom)}c=u.position=="absolute"||u.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:l-(t.top+e),bottom:Math.max(l,a)-(t.top+e)}}function Dy(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function Ry(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var Er=class{constructor(e,t,i,r){this.from=e,this.to=t,this.size=i,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++){let r=e[i],s=t[i];if(r.from!=s.from||r.to!=s.to||r.size!=s.size)return!1}return!0}draw(e,t){return me.replace({widget:new Ha(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}},Ha=class extends En{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},ao=class{constructor(e,t){this.view=e,this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Ud,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ge.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let i=t.facet(nc).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Pa(i),this.stateDeco=Kd(t),this.heightMap=ft.empty().applyChanges(this.stateDeco,ee.empty,this.heightOracle.setDoc(t.doc),[new Lt(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=me.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let r=i?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new Ni(s,o))}}return this.viewports=e.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Ud:new za(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(wr(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=Kd(this.state);let r=e.changedRanges,s=Lt.extendWithRanges(r,My(i,this.stateDeco,e?e.changes:Je.empty(this.state.doc.length))),o=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Vd(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||$i)&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let a=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<a.from||t.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let c=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Cf)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,i=window.getComputedStyle(t),r=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?ge.RTL:ge.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",l=t.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let c=0,h=0;if(l.width&&l.height){let{scaleX:S,scaleY:A}=rf(t,l);(S>.005&&Math.abs(this.scaleX-S)>.005||A>.005&&Math.abs(this.scaleY-A)>.005)&&(this.scaleX=S,this.scaleY=A,c|=16,o=a=!0)}let u=(parseInt(i.paddingTop)||0)*this.scaleY,d=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=d)&&(this.paddingTop=u,this.paddingBottom=d,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let f=sf(this.view.contentDOM,!1).y;f!=this.scrollParent&&(this.scrollParent=f,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=cf(this.scrollParent||e.win);let g=(this.printing?Ry:Ey)(t,this.paddingTop),b=g.top-this.pixelViewport.top,y=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let x=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(x!=this.inView&&(this.inView=x,x&&(a=!0)),!this.inView&&!this.scrollTarget&&!Dy(e.dom))return 0;let C=l.width;if((this.contentDOMWidth!=C||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),a){let S=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(S)&&(o=!0),o||r.lineWrapping&&Math.abs(C-this.contentDOMWidth)>r.charWidth){let{lineHeight:A,charWidth:k,textHeight:N}=e.docView.measureTextSize();o=A>0&&r.refresh(s,A,k,N,Math.max(5,C/k),S),o&&(e.docView.minWidth=0,c|=16)}b>0&&y>0?h=Math.max(b,y):b<0&&y<0&&(h=Math.min(b,y)),Vd();for(let A of this.viewports){let k=A.from==this.viewport.from?S:e.docView.measureVisibleLineHeights(A);this.heightMap=(o?ft.empty().applyChanges(this.stateDeco,ee.empty,this.heightOracle,[new Lt(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new Ia(A.from,k))}$i&&(c|=2)}let _=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return _&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||_)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,a=new Ni(r.lineAt(o-i*1e3,pe.ByHeight,s,0,0).from,r.lineAt(l+(1-i)*1e3,pe.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(c<a.from||c>a.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=r.lineAt(c,pe.ByPos,s,0,0),d;t.y=="center"?d=(u.top+u.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c<a.from?d=u.top:d=u.bottom-h,a=new Ni(r.lineAt(d-1e3/2,pe.ByHeight,s,0,0).from,r.lineAt(d+h+1e3/2,pe.ByHeight,s,0,0).to)}}return a}mapViewport(e,t){let i=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new Ni(this.heightMap.lineAt(i,pe.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,pe.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},i=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,pe.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,pe.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:l}=this;return(e==0||r<=o-Math.max(10,Math.min(-i,250)))&&(t==this.state.doc.length||s>=l+Math.max(10,Math.min(i,250)))&&r>o-2*1e3&&s<l+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let i=[];for(let r of e)t.touchesRange(r.from,r.to)||i.push(new Er(t.mapPos(r.from),t.mapPos(r.to),r.size,r.displaySize));return i}ensureLineGaps(e,t){let i=this.heightOracle.lineWrapping,r=i?1e4:2e3,s=r>>1,o=r<<1;if(this.defaultTextDirection!=ge.LTR&&!i)return[];let l=[],a=(h,u,d,f)=>{if(u-h<s)return;let p=this.state.selection.main,g=[p.from];p.empty||g.push(p.to);for(let y of g)if(y>h&&y<u){a(h,y-10,d,f),a(y+10,u,d,f);return}let b=Oy(e,y=>y.from>=d.from&&y.to<=d.to&&Math.abs(y.from-h)<s&&Math.abs(y.to-u)<s&&!g.some(x=>y.from<x&&y.to>x));if(!b){if(u<d.to&&t&&i&&t.visibleRanges.some(C=>C.from<=u&&C.to>=u)){let C=t.moveToLineBoundary(D.cursor(u),!1,!0).head;C>h&&(u=C)}let y=this.gapSize(d,h,u,f),x=i||y<2e6?y:2e6;b=new Er(h,u,y,x)}l.push(b)},c=h=>{if(h.length<o||h.type!=Fe.Text)return;let u=Ly(h.from,h.to,this.stateDeco);if(u.total<o)return;let d=this.scrollTarget?this.scrollTarget.range.head:null,f,p;if(i){let g=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,b,y;if(d!=null){let x=Ks(u,d),C=((this.visibleBottom-this.visibleTop)/2+g)/h.height;b=x-C,y=x+C}else b=(this.visibleTop-h.top-g)/h.height,y=(this.visibleBottom-h.top+g)/h.height;f=Us(u,b),p=Us(u,y)}else{let g=u.total*this.heightOracle.charWidth,b=r*this.heightOracle.charWidth,y=0;if(g>2e6)for(let A of e)A.from>=h.from&&A.from<h.to&&A.size!=A.displaySize&&A.from*this.heightOracle.charWidth+y<this.pixelViewport.left&&(y=A.size-A.displaySize);let x=this.pixelViewport.left+y,C=this.pixelViewport.right+y,_,S;if(d!=null){let A=Ks(u,d),k=((C-x)/2+b)/g;_=A-k,S=A+k}else _=(x-b)/g,S=(C+b)/g;f=Us(u,_),p=Us(u,S)}f>h.from&&a(h.from,f,h,u),p<h.to&&a(p,h.to,h,u)};for(let h of this.viewportLines)Array.isArray(h.type)?h.type.forEach(c):c(h);return l}gapSize(e,t,i,r){let s=Ks(r,i)-Ks(r,t);return this.heightOracle.lineWrapping?e.height*s:r.total*this.heightOracle.charWidth*s}updateLineGaps(e){Er.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=me.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];ce.spans(t,this.viewport.from,this.viewport.to,{span(s,o){i.push({from:s,to:o})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let s=0;s<i.length&&!(r&8);s++){let o=this.visibleRanges[s],l=i[s];(o.from!=l.from||o.to!=l.to)&&(r|=4,e&&e.mapPos(o.from,-1)==l.from&&e.mapPos(o.to,1)==l.to||(r|=8))}return this.visibleRanges=i,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||wr(this.heightMap.lineAt(e,pe.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||wr(this.heightMap.lineAt(this.scaler.fromDOM(e),pe.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop*this.scaleY:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return wr(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},Ni=class{constructor(e,t){this.from=e,this.to=t}};function Ly(n,e,t){let i=[],r=n,s=0;return ce.spans(t,n,e,{span(){},point(o,l){o>r&&(i.push({from:r,to:o}),s+=o-r),r=l}},20),r<e&&(i.push({from:r,to:e}),s+=e-r),{total:s,ranges:i}}function Us({total:n,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let i=Math.floor(n*t);for(let r=0;;r++){let{from:s,to:o}=e[r],l=o-s;if(i<=l)return s+i;i-=l}}function Ks(n,e){let t=0;for(let{from:i,to:r}of n.ranges){if(e<=r){t+=e-i;break}t+=r-i}return t/n.total}function Oy(n,e){for(let t of n)if(e(t))return t}var Ud={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};function Kd(n){let e=n.facet(po).filter(i=>typeof i!="function"),t=n.facet(ic).filter(i=>typeof i!="function");return t.length&&e.push(ce.join(t)),e}var za=class n{constructor(e,t,i){let r=0,s=0,o=0;this.viewports=i.map(({from:l,to:a})=>{let c=t.lineAt(l,pe.ByPos,e,0,0).top,h=t.lineAt(a,pe.ByPos,e,0,0).bottom;return r+=h-c,{from:l,to:a,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let l of this.viewports)l.domTop=o+(l.top-s)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),s=l.bottom}toDOM(e){for(let t=0,i=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return r+(e-i)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);i=s.bottom,r=s.domBottom}}fromDOM(e){for(let t=0,i=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return i+(e-r)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);i=s.bottom,r=s.domBottom}}eq(e){return e instanceof n?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,i)=>t.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}};function wr(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),i=e.toDOM(n.bottom);return new Dt(n.from,n.length,t,i-t,Array.isArray(n._content)?n._content.map(r=>wr(r,e)):n._content)}var js=U.define({combine:n=>n.join(" ")}),Fa=U.define({combine:n=>n.indexOf(!0)>-1}),Wa=yt.newName(),jf=yt.newName(),qf=yt.newName(),Gf={"&light":"."+jf,"&dark":"."+qf};function Va(n,e,t){return new yt(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return n;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):n+" "+i}})}var Py=Va("."+Wa,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{background:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 0) no-repeat",backgroundSize:".4em",backgroundPosition:"calc(min(50%, 0px)) center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},Gf),Iy={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},sa=O.ie&&O.ie_version<=11,$a=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new da,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(O.ie&&O.ie_version<=11||O.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&O.android&&e.constructor.EDIT_CONTEXT!==!1&&!(O.chrome&&O.chrome_version<126)&&(this.editContext=new Ua(e),e.state.facet(dn)&&(e.contentDOM.editContext=this.editContext.editContext)),sa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(dn)?i.root.activeElement!=this.dom:!vr(this.dom,r))return;let s=r.anchorNode&&i.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(O.ie&&O.ie_version<=11||O.android&&O.chrome)&&!i.state.selection.main.empty&&r.focusNode&&Sr(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Or(e.root);if(!t)return!1;let i=O.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&Ny(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let r=vr(this.dom,i);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&Db(this.dom,i)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(i),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let i=this.dom;i;)if(i.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==i?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);for(let i of this.scrollTargets=t)i.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Iy),sa&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),sa&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var i;if(!this.delayedAndroidKey){let r=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Hi(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((i=this.delayedAndroidKey)===null||i===void 0)&&i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:i}=o:(t=Math.min(o.from,t),i=Math.max(o.to,i)))}return{from:t,to:i,typeOver:r}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),r=this.selectionChanged&&vr(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Da(this.view,e,t,i);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,r=Bf(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!so(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let i=jd(t,e.previousSibling||e.target.previousSibling,-1),r=jd(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(dn)!=e.state.facet(dn)&&(e.view.contentDOM.editContext=e.state.facet(dn)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function jd(n,e,t){for(;e;){let i=ke.get(e);if(i&&i.parent==n)return i;let r=e.parentNode;e=r!=n.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function qd(n,e){let t=e.startContainer,i=e.startOffset,r=e.endContainer,s=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor,1);return Sr(o.node,o.offset,r,s)&&([t,i,r,s]=[r,s,t,i]),{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:s}}function Ny(n,e){if(e.getComposedRanges){let r=e.getComposedRanges(n.root)[0];if(r)return qd(n,r)}let t=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",i,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",i,!0),t?qd(n,t):null}var Ua=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let r=e.state.selection.main,{anchor:s,head:o}=r,l=this.toEditorPos(i.updateRangeStart),a=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:l,drifted:!1});let c=a-l>i.text.length;l==this.from&&s<this.from?l=s:a==this.to&&s>this.to&&(a=s);let h=_f(e.state.sliceDoc(l,a),i.text,(c?r.from:r.to)-l,c?"end":null);if(!h){let d=D.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));so(d,r)||e.dispatch({selection:d,userEvent:"select"});return}let u={from:h.from+l,to:h.toA+l,insert:ee.of(i.text.slice(h.from,h.toB).split(`
|
|
573
|
-
`))};if((O.mac||O.android)&&u.from==o-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:l,to:a,insert:ee.of([i.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let d=this.to-this.from+(u.to-u.from+u.insert.length);rc(e,u,D.single(this.toEditorPos(i.selectionStart,d),this.toEditorPos(i.selectionEnd,d)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from<u.to&&!u.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],s=null;for(let o=this.toEditorPos(i.rangeStart),l=this.toEditorPos(i.rangeEnd);o<l;o++){let a=e.coordsForChar(o);s=a&&new DOMRect(a.left,a.top,a.right-a.left,a.bottom-a.top)||s||new DOMRect,r.push(s)}t.updateCharacterBounds(i.rangeStart,r)},this.handlers.textformatupdate=i=>{let r=[];for(let s of i.getTextFormats()){let o=s.underlineStyle,l=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(l)){let a=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(a<c){let h=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(l)?1:2}px`;r.push(me.mark({attributes:{style:h}}).range(a,c))}}}e.dispatch({effects:Af.of(me.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{let r=Or(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,l,a,c)=>{if(i)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},j=class n{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.clearAnnouncement=-1,this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(r=>r.forEach(s=>i(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Eb(e.parent)||document,this.viewState=new ao(this,e.state||ve.create(e)),e.scrollTo&&e.scrollTo.is(Ws)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Ii).map(r=>new Tr(r));for(let r of this.plugins)r.update(this);this.observer=new $a(this),this.inputState=new Ra(this),this.inputState.ensureHandlers(this.plugins),this.docView=new io(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof De?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,r,s=this.state;for(let d of e){if(d.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=d.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,l=0,a=null;e.some(d=>d.annotation($f))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,a=Uf(s,o),a||(l=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(ve.phrases)!=this.state.facet(ve.phrases))return this.setState(s);r=to.create(this,s,e),r.flags|=l;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let d of e){if(u&&(u=u.map(d.changes)),d.scrollIntoView){let{main:f}=d.state.selection,{x:p,y:g}=this.state.facet(n.cursorScrollMargin);u=new Cr(f.empty?f:D.cursor(f.head,f.head>f.anchor?-1:1),"nearest","nearest",g,p)}for(let f of d.effects)f.is(Ws)&&(u=f.value.clip(this.state))}this.viewState.update(r,u),this.bidiCache=co.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(yr)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(d=>d.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(js)!=r.state.facet(js)&&(this.viewState.mustMeasureContent=!0),(t||i||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let d of this.state.facet(ga))try{d(r)}catch(f){Rt(this.state,f,"update listener")}(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!Bf(this,h)&&c.force&&Hi(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new ao(this,e),this.plugins=e.facet(Ii).map(i=>new Tr(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new io(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Ii),i=e.state.facet(Ii);if(t!=i){let r=[];for(let s of i){let o=t.indexOf(s);if(o<0)r.push(new Tr(s));else{let l=this.plugins[o];l.mustUpdate=e,r.push(l)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);t!=i&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(i){Rt(this.state,i,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o,scaleY:l}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0){if(cf(i||this.win))s=-1,o=this.viewState.heightMap.height/this.viewState.scaleY;else{let p=this.viewState.scrollAnchorAt(r);s=p.from,o=p.top}l=this.viewState.scaleY}this.updateState=1;let c=this.viewState.measure();if(!c&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];c&4||([this.measureRequests,h]=[h,this.measureRequests]);let u=h.map(p=>{try{return p.read(this)}catch(g){return Rt(this.state,g),Gd}}),d=to.create(this,this.state,[]),f=!1;d.flags|=c,t?t.flags|=c:t=d,this.updateState=2,d.empty||(this.updatePlugins(d),this.inputState.update(d),this.updateAttrs(),f=this.docView.update(d),f&&this.docViewUpdate());for(let p=0;p<h.length;p++)if(u[p]!=Gd)try{let g=h[p];g.write&&g.write(u[p],this)}catch(g){Rt(this.state,g)}if(f&&this.docView.updateSelection(!0),!d.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let g=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)/this.viewState.scaleY-o/l;if((g>1||g<-1)&&!(O.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+g,i?s<0?i.scrollTop=i.scrollHeight:i.scrollTop+=g:this.win.scrollBy(0,g),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(ga))a(t)}get themeClasses(){return Wa+" "+(this.state.facet(Fa)?qf:jf)+" "+this.state.facet(js)}updateAttrs(){let e=Xd(this,Mf,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(dn)?"true":"false",class:"cm-content",style:`${O.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),Xd(this,nc,t);let i=this.observer.ignore(()=>{let r=Md(this.contentDOM,this.contentAttrs,t),s=Md(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let r of i.effects)if(r.is(n.announce)){t&&(this.announceDOM.textContent="",this.win.clearTimeout(this.clearAnnouncement),this.clearAnnouncement=this.win.setTimeout(()=>{this.announceDOM.textContent="\xA0"},200),t=!1);let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(yr);let e=this.state.facet(n.cspNonce);yt.mount(this.root,this.styleModules.concat(Py).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(i=>i.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return ra(this,e,Pd(this,e,t,i))}moveByGroup(e,t){return ra(this,e,Pd(this,e,t,i=>iy(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=i[t?i.length-1:0];return D.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,i=!0){return ny(this,e,t,i)}moveVertically(e,t,i){return ra(this,e,ry(this,e,t,i))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let i=Aa(this,e,t);return i&&i.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Aa(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.state.doc.lineAt(e),r=this.bidiSpans(i),s=r[vt.find(r,e-i.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ge.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Sf)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>By)return mf(e.length);let t=this.textDirectionAt(e.from),i;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||pf(s.isolates,i=Rd(this,e))))return s.order;i||(i=Rd(this,e));let r=Bb(e.text,t,i);return this.bidiCache.push(new co(e.from,e.to,t,i,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||O.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{af(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.win.clearTimeout(this.clearAnnouncement),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var i,r,s,o;return Ws.of(new Cr(typeof e=="number"?D.cursor(e):e,(i=t.y)!==null&&i!==void 0?i:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return Ws.of(new Cr(D.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Ot.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Ot.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=yt.newName(),r=[js.of(i),yr.of(Va(`.${i}`,e))];return t&&t.dark&&r.push(Fa.of(!0)),r}static baseTheme(e){return br.lowest(yr.of(Va("."+Wa,e,Gf)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),r=i&&ke.get(i)||ke.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};j.styleModule=yr;j.inputHandler=vf;j.clipboardInputFilter=ec;j.clipboardOutputFilter=tc;j.scrollHandler=Tf;j.focusChangeEffect=kf;j.perLineTextDirection=Sf;j.exceptionSink=xf;j.updateListener=ga;j.editable=dn;j.mouseSelectionStyle=wf;j.dragMovesSelection=yf;j.clickAddsSelectionRange=bf;j.decorations=po;j.blockWrappers=Ef;j.outerDecorations=ic;j.atomicRanges=Nr;j.bidiIsolatedRanges=Df;j.cursorScrollMargin=U.define({combine:n=>{let e=5,t=5;for(let i of n)typeof i=="number"?e=t=i:{x:e,y:t}=i;return{x:e,y:t}}});j.scrollMargins=Rf;j.darkTheme=Fa;j.cspNonce=U.define({combine:n=>n.length?n[0]:""});j.contentAttributes=nc;j.editorAttributes=Mf;j.lineWrapping=j.contentAttributes.of({class:"cm-lineWrapping"});j.announce=ye.define();var By=4096,Gd={},co=class n{constructor(e,t,i,r,s,o){this.from=e,this.to=t,this.dir=i,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let i=[],r=e.length?e[e.length-1].dir:ge.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==r&&!t.touchesRange(o.from,o.to)&&i.push(new n(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return i}};function Xd(n,e,t){for(let i=n.state.facet(e),r=i.length-1;r>=0;r--){let s=i[r],o=typeof s=="function"?s(n):s;o&&Ja(o,t)}return t}var _y=O.mac?"mac":O.windows?"win":O.linux?"linux":"key";function Hy(n,e){let t=n.split(/-(?!$)/),i=t[t.length-1];i=="Space"&&(i=" ");let r,s,o,l;for(let a=0;a<t.length-1;++a){let c=t[a];if(/^(cmd|meta|m)$/i.test(c))l=!0;else if(/^a(lt)?$/i.test(c))r=!0;else if(/^(c|ctrl|control)$/i.test(c))s=!0;else if(/^s(hift)?$/i.test(c))o=!0;else if(/^mod$/i.test(c))e=="mac"?l=!0:s=!0;else throw new Error("Unrecognized modifier name: "+c)}return r&&(i="Alt-"+i),s&&(i="Ctrl-"+i),l&&(i="Meta-"+i),o&&(i="Shift-"+i),i}function qs(n,e,t){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t!==!1&&e.shiftKey&&(n="Shift-"+n),n}var zy=br.default(j.domEventHandlers({keydown(n,e){return $y(Fy(e.state),n,e,"editor")}})),sc=U.define({enables:zy}),Yd=new WeakMap;function Fy(n){let e=n.facet(sc),t=Yd.get(e);return t||Yd.set(e,t=Vy(e.reduce((i,r)=>i.concat(r),[]))),t}var An=null,Wy=4e3;function Vy(n,e=_y){let t=Object.create(null),i=Object.create(null),r=(o,l)=>{let a=i[o];if(a==null)i[o]=l;else if(a!=l)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,l,a,c,h)=>{var u,d;let f=t[o]||(t[o]=Object.create(null)),p=l.split(/ (?!$)/).map(y=>Hy(y,e));for(let y=1;y<p.length;y++){let x=p.slice(0,y).join(" ");r(x,!0),f[x]||(f[x]={preventDefault:!0,stopPropagation:!1,run:[C=>{let _=An={view:C,prefix:x,scope:o};return setTimeout(()=>{An==_&&(An=null)},Wy),!0}]})}let g=p.join(" ");r(g,!1);let b=f[g]||(f[g]={preventDefault:!1,stopPropagation:!1,run:((d=(u=f._any)===null||u===void 0?void 0:u.run)===null||d===void 0?void 0:d.slice())||[]});a&&b.run.push(a),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of n){let l=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of l){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=o;for(let d in h)h[d].run.push(f=>u(f,Ka))}let a=o[e]||o.key;if(a)for(let c of l)s(c,a,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+a,o.shift,o.preventDefault,o.stopPropagation)}return t}var Ka=null;function $y(n,e,t,i){Ka=e;let r=Sd(e),s=ld(r,0),o=ad(s)==r.length&&r!=" ",l="",a=!1,c=!1,h=!1;An&&An.view==t&&An.scope==i&&(l=An.prefix+" ",zf.indexOf(e.keyCode)<0&&(c=!0,An=null));let u=new Set,d=b=>{if(b){for(let y of b.run)if(!u.has(y)&&(u.add(y),y(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},f=n[i],p,g;return f&&(d(f[l+qs(r,e,!o)])?a=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(O.windows&&e.ctrlKey&&e.altKey)&&!(O.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=un[e.keyCode])&&p!=r?(d(f[l+qs(p,e,!0)])||e.shiftKey&&(g=Oi[e.keyCode])!=r&&g!=p&&d(f[l+qs(g,e,!1)]))&&(a=!0):o&&e.shiftKey&&d(f[l+qs(r,e,!0)])&&(a=!0),!a&&d(f._any)&&(a=!0)),c&&(a=!0),a&&h&&e.stopPropagation(),Ka=null,a}var ti=class n{constructor(e,t,i,r,s){this.className=e,this.left=t,this.top=i,this.width=r,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let r=e.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let s=Xf(e);return[new n(t,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return Uy(e,t,i)}};function Xf(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==ge.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function Jd(n,e,t,i){let r=n.coordsAtPos(e,t*2);if(!r)return i;let s=n.dom.getBoundingClientRect(),o=(r.top+r.bottom)/2,l=n.posAtCoords({x:s.left+1,y:o}),a=n.posAtCoords({x:s.right-1,y:o});return l==null||a==null?i:{from:Math.max(i.from,Math.min(l,a)),to:Math.min(i.to,Math.max(l,a))}}function Uy(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let i=Math.max(t.from,n.viewport.from),r=Math.min(t.to,n.viewport.to),s=n.textDirection==ge.LTR,o=n.contentDOM,l=o.getBoundingClientRect(),a=Xf(n),c=o.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=l.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),d=l.right-(h?parseInt(h.paddingRight):0),f=Ta(n,i,1),p=Ta(n,r,-1),g=f.type==Fe.Text?f:null,b=p.type==Fe.Text?p:null;if(g&&(n.lineWrapping||f.widgetLineBreaks)&&(g=Jd(n,i,1,g)),b&&(n.lineWrapping||p.widgetLineBreaks)&&(b=Jd(n,r,-1,b)),g&&b&&g.from==b.from&&g.to==b.to)return x(C(t.from,t.to,g));{let S=g?C(t.from,null,g):_(f,!1),A=b?C(null,t.to,b):_(p,!0),k=[];return(g||f).to<(b||p).from-(g&&b?1:0)||f.widgetLineBreaks>1&&S.bottom+n.defaultLineHeight/2<A.top?k.push(y(u,S.bottom,d,A.top)):S.bottom<A.top&&n.elementAtHeight((S.bottom+A.top)/2).type==Fe.Text&&(S.bottom=A.top=(S.bottom+A.top)/2),x(S).concat(k).concat(x(A))}function y(S,A,k,N){return new ti(e,S-a.left,A-a.top,Math.max(0,k-S),N-A)}function x({top:S,bottom:A,horizontal:k}){let N=[];for(let B=0;B<k.length;B+=2)N.push(y(k[B],S,k[B+1],A));return N}function C(S,A,k){let N=1e9,B=-1e9,F=[];function V(W,G,te,_e,ct){let xe=n.coordsAtPos(W,W==k.to?-2:2),Le=n.coordsAtPos(te,te==k.from?2:-2);!xe||!Le||(N=Math.min(xe.top,Le.top,N),B=Math.max(xe.bottom,Le.bottom,B),ct==ge.LTR?F.push(s&&G?u:xe.left,s&&_e?d:Le.right):F.push(!s&&_e?u:Le.left,!s&&G?d:xe.right))}let M=S??k.from,z=A??k.to;for(let W of n.visibleRanges)if(W.to>M&&W.from<z)for(let G=Math.max(W.from,M),te=Math.min(W.to,z);;){let _e=n.state.doc.lineAt(G);for(let ct of n.bidiSpans(_e)){let xe=ct.from+_e.from,Le=ct.to+_e.from;if(xe>=te)break;Le>G&&V(Math.max(xe,G),S==null&&xe<=M,Math.min(Le,te),A==null&&Le>=z,ct.dir)}if(G=_e.to+1,G>=te)break}return F.length==0&&V(M,S==null,z,A==null,n.textDirection),{top:N,bottom:B,horizontal:F}}function _(S,A){let k=l.top+(A?S.top:S.bottom);return{top:k,bottom:k,horizontal:[]}}}function Ky(n,e){return n.constructor==e.constructor&&n.eq(e)}var ja=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Xs)!=e.state.facet(Xs)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(Xs);for(;t<i.length&&i[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,i)=>!Ky(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[i].constructor&&r.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e,O.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},Xs=U.define();function Yf(n){return[Ot.define(e=>new ja(e,n)),Xs.of(n)]}var Ui=U.define({combine(n){return Li(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function Jf(n={}){return[Ui.of(n),jy,qy,Xy,Cf.of(!0)]}function Zf(n){return n.startState.facet(Ui)!=n.state.facet(Ui)}var jy=Yf({above:!0,markers(n){let{state:e}=n,t=e.facet(Ui),i=[];for(let r of e.selection.ranges){let s=r==e.selection.main;if(r.empty||t.drawRangeCursor&&!(s&&O.ios&&t.iosSelectionHandles)){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",l=r.empty?r:D.cursor(r.head,r.assoc);for(let a of ti.forRange(n,o,l))i.push(a)}}return i},update(n,e){n.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=Zf(n);return t&&Zd(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){Zd(e.state,n)},class:"cm-cursorLayer"});function Zd(n,e){e.style.animationDuration=n.facet(Ui).cursorBlinkRate+"ms"}var qy=Yf({above:!1,markers(n){let e=[],{main:t,ranges:i}=n.state.selection;for(let r of i)if(!r.empty)for(let s of ti.forRange(n,"cm-selectionBackground",r))e.push(s);if(O.ios&&!t.empty&&n.state.facet(Ui).iosSelectionHandles){for(let r of ti.forRange(n,"cm-selectionHandle cm-selectionHandle-start",D.cursor(t.from,1)))e.push(r);for(let r of ti.forRange(n,"cm-selectionHandle cm-selectionHandle-end",D.cursor(t.to,1)))e.push(r)}return e},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||Zf(n)},class:"cm-selectionLayer"}),Gy=O.gecko&&O.gecko_version==153?"#ffffff01":"transparent",Xy=br.highest(j.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${Gy} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),Qf=ye.define({map(n,e){return n==null?null:e.mapPos(n)}}),xr=bt.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,i)=>i.is(Qf)?i.value:t,n)}}),Yy=Ot.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(xr);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(xr)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(xr),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let i=n.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-i.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(xr)!=n&&this.view.dispatch({effects:Qf.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function ep(){return[xr,Yy]}var Mv=/x/.unicode!=null?"gu":"g";function tp(){return Zy}var Jy=me.line({class:"cm-activeLine"}),Zy=Ot.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let i of n.state.selection.ranges){let r=n.lineBlockAt(i.head);r.from>e&&(t.push(Jy.range(r.from)),e=r.from)}return me.set(t)}},{decorations:n=>n.decorations}),qa=class extends En{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?kr(e.firstChild):[];if(!t.length)return null;let i=window.getComputedStyle(e.parentNode),r=Pr(t[0],i.direction!="rtl"),s=parseInt(i.lineHeight);return r.bottom-r.top>s*1.5?{left:r.left,right:r.right,top:r.top,bottom:r.top+s}:r}ignoreEvent(){return!1}};function oc(n){let e=Ot.fromClass(class{constructor(t){this.view=t,this.placeholder=n?me.set([me.widget({widget:new qa(n),side:1}).range(0)]):me.none}get decorations(){return this.view.state.doc.length?me.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,j.contentAttributes.of({"aria-placeholder":n})]:e}var It=class extends Xt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};It.prototype.elementClass="";It.prototype.toDOM=void 0;It.prototype.mapMode=st.TrackBefore;It.prototype.startSide=It.prototype.endSide=-1;It.prototype.point=!0;var Ys=U.define(),Qy=U.define();var Js=U.define();var Ga=U.define({combine:n=>n.some(e=>e)});function ew(n){let e=[tw];return n&&n.fixed===!1&&e.push(Ga.of(!0)),e}var tw=Ot.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(Js).map(e=>new ho(n,e)),this.fixed=!n.state.facet(Ga);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Ga)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=ce.iter(this.view.state.facet(Ys),this.view.viewport.from),i=[],r=this.gutters.map(s=>new Ya(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(s.type)){let o=!0;for(let l of s.type)if(l.type==Fe.Text&&o){Xa(t,i,l.from);for(let a of r)a.line(this.view,l,i);o=!1}else if(l.widget)for(let a of r)a.widget(this.view,l)}else if(s.type==Fe.Text){Xa(t,i,s.from);for(let o of r)o.line(this.view,s,i)}else if(s.widget)for(let o of r)o.widget(this.view,s);for(let s of r)s.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Js),t=n.state.facet(Js),i=n.docChanged||n.heightChanged||n.viewportChanged||!ce.eq(n.startState.facet(Ys),n.state.facet(Ys),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(n)&&(i=!0);else{i=!0;let r=[];for(let s of t){let o=e.indexOf(s);o<0?r.push(new ho(this.view,s)):(this.gutters[o].update(n),r.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=r}return i}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>j.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ge.LTR?{left:i,right:r}:{right:i,left:r}})});function Qd(n){return Array.isArray(n)?n:[n]}function Xa(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}var Ya=class{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=ce.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:r}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==r.elements.length){let l=new uo(e,o,s,i);r.elements.push(l),r.dom.appendChild(l.dom)}else r.elements[this.i].update(e,o,s,i);this.height=t.bottom,this.i++}line(e,t,i){let r=[];Xa(this.cursor,r,t.from),i.length&&(r=r.concat(i));let s=this.gutter.config.lineMarker(e,t,r);s&&r.unshift(s);let o=this.gutter;r.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),r=i?[i]:null;for(let s of e.state.facet(Qy)){let o=s(e,t.widget,t);o&&(r||(r=[])).push(o)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},ho=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,r=>{let s=r.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let a=s.getBoundingClientRect();o=(a.top+a.bottom)/2}else o=r.clientY;let l=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[i](e,l,r)&&r.preventDefault()});this.markers=Qd(t.markers(e)),t.initialSpacer&&(this.spacer=new uo(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=Qd(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let i=e.view.viewport;return!ce.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},uo=class{constructor(e,t,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,r)}update(e,t,i,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),nw(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let i="cm-gutterElement",r=this.dom.firstChild;for(let s=0,o=0;;){let l=o,a=s<t.length?t[s++]:null,c=!1;if(a){let h=a.elementClass;h&&(i+=" "+h);for(let u=o;u<this.markers.length;u++)if(this.markers[u].compare(a)){l=u,c=!0;break}}else l=this.markers.length;for(;o<l;){let h=this.markers[o++];if(h.toDOM){h.destroy(r);let u=r.nextSibling;r.remove(),r=u}}if(!a)break;a.toDOM&&(c?r=r.nextSibling:this.dom.insertBefore(a.toDOM(e),r)),c&&o++}this.dom.className=i,this.markers=t}destroy(){this.setMarkers(null,[])}};function nw(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(!n[t].compare(e[t]))return!1;return!0}var iw=U.define(),rw=U.define(),Bi=U.define({combine(n){return Li(n,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let r in t){let s=i[r],o=t[r];i[r]=s?(l,a,c)=>s(l,a,c)||o(l,a,c):o}return i}})}}),Dr=class extends It{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function oa(n,e){return n.state.facet(Bi).formatNumber(e,n.state)}var sw=Js.compute([Bi],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(iw)},lineMarker(e,t,i){return i.some(r=>r.toDOM)?null:new Dr(oa(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let r of e.state.facet(rw)){let s=r(e,t,i);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(Bi)!=e.state.facet(Bi),initialSpacer(e){return new Dr(oa(e,ef(e.state.doc.lines)))},updateSpacer(e,t){let i=oa(t.view,ef(t.view.state.doc.lines));return i==e.number?e:new Dr(i)},domEventHandlers:n.facet(Bi).domEventHandlers,side:"before"}));function lc(n={}){return[Bi.of(n),ew(),sw]}function ef(n){let e=9;for(;e<n;)e=e*10+9;return e}var ow=new class extends It{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},lw=Ys.compute(["selection"],n=>{let e=[],t=-1;for(let i of n.selection.ranges){let r=n.doc.lineAt(i.head).from;r>t&&(t=r,e.push(ow.range(r)))}return ce.of(e)});function np(){return lw}var aw=0,Br=class{constructor(e,t){this.from=e,this.to=t}},Q=class{constructor(e={}){this.id=aw++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=pt.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}};Q.closedBy=new Q({deserialize:n=>n.split(" ")});Q.openedBy=new Q({deserialize:n=>n.split(" ")});Q.group=new Q({deserialize:n=>n.split(" ")});Q.isolate=new Q({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});Q.contextHash=new Q({perNode:!0});Q.lookAhead=new Q({perNode:!0});Q.mounted=new Q({perNode:!0});var si=class{constructor(e,t,i,r=!1){this.tree=e,this.overlay=t,this.parser=i,this.bracketed=r}static get(e){return e&&e.props&&e.props[Q.mounted.id]}},cw=Object.create(null),pt=class n{constructor(e,t,i,r=0){this.name=e,this.props=t,this.id=i,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):cw,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new n(e.name||"",t,e.id,i);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Q.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let r of i.split(" "))t[r]=e[i];return i=>{for(let r=i.prop(Q.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?i.name:r[s]];if(o)return o}}}};pt.none=new pt("",Object.create(null),0,8);var go=new WeakMap,ip=new WeakMap,Te;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays",n[n.EnterBracketed=16]="EnterBracketed"})(Te||(Te={}));var We=class n{constructor(e,t,i,r,s){if(this.type=e,this.children=t,this.positions=i,this.length=r,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,l]of s)this.props[typeof o=="number"?o:o.id]=l}}toString(){let e=si.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let i of this.children){let r=i.toString();r&&(t&&(t+=","),t+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new zr(this.topNode,e)}cursorAt(e,t=0,i=0){let r=go.get(this)||this.topNode,s=new zr(r);return s.moveTo(e,t),go.set(this,s._tree),s}get topNode(){return new Zt(this,0,0,null)}resolve(e,t=0){let i=_r(go.get(this)||this.topNode,e,t,!1);return go.set(this,i),i}resolveInner(e,t=0){let i=_r(ip.get(this)||this.topNode,e,t,!0);return ip.set(this,i),i}resolveStack(e,t=0){return hw(this,e,t)}iterate(e){let{enter:t,leave:i,from:r=0,to:s=this.length}=e,o=e.mode||0,l=(o&Te.IncludeAnonymous)>0;for(let a=this.cursor(o|Te.IncludeAnonymous);;){let c=!1;if(a.from<=s&&a.to>=r&&(!l&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;c=!0}for(;c&&i&&(l||!a.type.isAnonymous)&&i(a),!a.nextSibling();){if(!a.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:pc(pt.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,r)=>new n(this.type,t,i,r,this.propValues),e.makeTree||((t,i,r)=>new n(pt.none,t,i,r)))}static build(e){return uw(e)}};We.empty=new We(pt.none,[],[],0);var ac=class n{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new n(this.buffer,this.index)}},Ln=class n{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return pt.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],i=this.buffer[e+3],r=this.set.types[t],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),e+=4,i==e)return s;let o=[];for(;e<i;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,t,i,r,s){let{buffer:o}=this,l=-1;for(let a=e;a!=t&&!(op(s,r,o[a+1],o[a+2])&&(l=a,i>0));a=o[a+3]);return l}slice(e,t,i){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let l=e,a=0;l<t;){s[a++]=r[l++],s[a++]=r[l++]-i;let c=s[a++]=r[l++]-i;s[a++]=r[l++]-e,o=Math.max(o,c)}return new n(s,o,this.set)}};function op(n,e,t,i){switch(n){case-2:return t<e;case-1:return i>=e&&t<e;case 0:return t<e&&i>e;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function _r(n,e,t,i){for(var r;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let o=!i&&n instanceof Zt&&n.index<0?null:n.parent;if(!o)return n;n=o}let s=i?0:Te.IgnoreOverlays;if(i)for(let o=n,l=o.parent;l;o=l,l=o.parent)o instanceof Zt&&o.index<0&&((r=l.enter(e,t,s))===null||r===void 0?void 0:r.from)!=o.from&&(n=l);for(;;){let o=n.enter(e,t,s);if(!o)return n;n=o}}var yo=class{cursor(e=0){return new zr(this,e)}getChild(e,t=null,i=null){let r=rp(this,e,t,i);return r.length?r[0]:null}getChildren(e,t=null,i=null){return rp(this,e,t,i)}resolve(e,t=0){return _r(this,e,t,!1)}resolveInner(e,t=0){return _r(this,e,t,!0)}matchContext(e){return cc(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),i=this;for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(i=t,t=r.prevSibling):t=r}return i}get node(){return this}get next(){return this.parent}},Zt=class n extends yo{constructor(e,t,i,r){super(),this._tree=e,this.from=t,this.index=i,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,i,r,s=0){for(let o=this;;){for(let{children:l,positions:a}=o._tree,c=t>0?l.length:-1;e!=c;e+=t){let h=l[e],u=a[e]+o.from,d;if(!(!(s&Te.EnterBracketed&&h instanceof We&&(d=si.get(h))&&!d.overlay&&d.bracketed&&i>=u&&i<=u+h.length)&&!op(r,i,u,u+h.length))){if(h instanceof Ln){if(s&Te.ExcludeBuffers)continue;let f=h.findChild(0,h.buffer.length,t,i-u,r);if(f>-1)return new Hr(new hc(o,h,e,u),null,f)}else if(s&Te.IncludeAnonymous||!h.type.isAnonymous||fc(h)){let f;if(!(s&Te.IgnoreMounts)&&(f=si.get(h))&&!f.overlay)return new n(f.tree,u,e,o);let p=new n(h,u,e,o);return s&Te.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,i,r,s)}}}if(s&Te.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,i=0){let r;if(!(i&Te.IgnoreOverlays)&&(r=si.get(this._tree))&&r.overlay){let s=e-this.from,o=i&Te.EnterBracketed&&r.bracketed;for(let{from:l,to:a}of r.overlay)if((t>0||o?l<=s:l<s)&&(t<0||o?a>=s:a>s))return new n(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function rp(n,e,t,i){let r=n.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(i!=null&&r.type.is(i))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return i==null?s:[]}}function cc(n,e,t=e.length-1){for(let i=n;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}var hc=class{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}},Hr=class n extends yo{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return s<0?null:new n(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,i=0){if(i&Te.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new n(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new n(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new n(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,r=this.index+4,s=i.buffer[this.index+3];if(s>r){let o=i.buffer[this.index+1];e.push(i.slice(r,s,o)),t.push(0)}return new We(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function lp(n){if(!n.length)return null;let e=0,t=n[0];for(let s=1;s<n.length;s++){let o=n[s];(o.from>t.from||o.to<t.to)&&(t=o,e=s)}let i=t instanceof Zt&&t.index<0?null:t.parent,r=n.slice();return i?r[e]=i:r.splice(e,1),new uc(r,t)}var uc=class{constructor(e,t){this.heads=e,this.node=t}get next(){return lp(this.heads)}};function hw(n,e,t){let i=n.resolveInner(e,t),r=null;for(let s=i instanceof Zt?i:i.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(r||(r=[i])).push(o.resolve(e,t)),s=o}else{let o=si.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let l=new Zt(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[i])).push(_r(l,e,t,!1))}}return r?lp(r):i}var zr=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~Te.EnterBracketed,e instanceof Zt)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}yield(e){return e?e instanceof Zt?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,i);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&Te.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Te.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Te.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:i}=r)}else({index:t,_parent:i}=this._tree);for(;i;{index:t,_parent:i}=i)if(t>-1)for(let s=t+e,o=e<0?-1:i._tree.children.length;s!=o;s+=e){let l=i._tree.children[s];if(this.mode&Te.IncludeAnonymous||l instanceof Ln||!l.type.isAnonymous||fc(l))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,i=0;if(e&&e.context==this.buffer)e:for(let r=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,i=s+1;break e}r=this.stack[--s]}for(let r=i;r<this.stack.length;r++)t=new Hr(this.buffer,t,this.stack[r]);return this.bufferNode=new Hr(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let i=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){i++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!i)return;if(this.nextSibling())break;this.parent(),i--,r=!0}}}matchContext(e){if(!this.buffer)return cc(this.node.parent,e);let{buffer:t}=this.buffer,{types:i}=t.set;for(let r=e.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return cc(this._tree,e,r);let o=i[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function fc(n){return n.children.some(e=>e instanceof Ln||!e.type.isAnonymous||fc(e))}function uw(n){var e;let{buffer:t,nodeSet:i,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=i.types.length}=n,l=Array.isArray(t)?new ac(t,t.length):t,a=i.types,c=0,h=0;function u(S,A,k,N,B,F){let{id:V,start:M,end:z,size:W}=l,G=h,te=c;if(W<0)if(l.next(),W==-1){let Ve=s[V];k.push(Ve),N.push(M-S);return}else if(W==-3){c=V;return}else if(W==-4){h=V;return}else throw new RangeError(`Unrecognized record size: ${W}`);let _e=a[V],ct,xe,Le=M-S;if(z-M<=r&&(xe=b(l.pos-A,B))){let Ve=new Uint16Array(xe.size-xe.skip),He=l.pos-xe.size,Ge=Ve.length;for(;l.pos>He;)Ge=y(xe.start,Ve,Ge);ct=new Ln(Ve,z-xe.start,i),Le=xe.start-S}else{let Ve=l.pos-W;l.next();let He=[],Ge=[],Mt=V>=o?V:-1,ie=0,on=z;for(;l.pos>Ve;)Mt>=0&&l.id==Mt&&l.size>=0?(l.end<=on-r&&(p(He,Ge,M,ie,l.end,on,Mt,G,te),ie=He.length,on=l.end),l.next()):F>2500?d(M,Ve,He,Ge):u(M,Ve,He,Ge,Mt,F+1);if(Mt>=0&&ie>0&&ie<He.length&&p(He,Ge,M,ie,M,on,Mt,G,te),He.reverse(),Ge.reverse(),Mt>-1&&ie>0){let gi=f(_e,te);ct=pc(_e,He,Ge,0,He.length,0,z-M,gi,gi)}else ct=g(_e,He,Ge,z-M,G-z,te)}k.push(ct),N.push(Le)}function d(S,A,k,N){let B=[],F=0,V=-1;for(;l.pos>A;){let{id:M,start:z,end:W,size:G}=l;if(G>4)l.next();else{if(V>-1&&z<V)break;V<0&&(V=W-r),B.push(M,z,W),F++,l.next()}}if(F){let M=new Uint16Array(F*4),z=B[B.length-2];for(let W=B.length-3,G=0;W>=0;W-=3)M[G++]=B[W],M[G++]=B[W+1]-z,M[G++]=B[W+2]-z,M[G++]=G;k.push(new Ln(M,B[2]-z,i)),N.push(z-S)}}function f(S,A){return(k,N,B)=>{let F=0,V=k.length-1,M,z;if(V>=0&&(M=k[V])instanceof We){if(!V&&M.type==S&&M.length==B)return M;(z=M.prop(Q.lookAhead))&&(F=N[V]+M.length+z)}return g(S,k,N,B,F,A)}}function p(S,A,k,N,B,F,V,M,z){let W=[],G=[];for(;S.length>N;)W.push(S.pop()),G.push(A.pop()+k-B);S.push(g(i.types[V],W,G,F-B,M-F,z)),A.push(B-k)}function g(S,A,k,N,B,F,V){if(F){let M=[Q.contextHash,F];V=V?[M].concat(V):[M]}if(B>25){let M=[Q.lookAhead,B];V=V?[M].concat(V):[M]}return new We(S,A,k,N,V)}function b(S,A){let k=l.fork(),N=0,B=0,F=0,V=k.end-r,M={size:0,start:0,skip:0};e:for(let z=k.pos-S;k.pos>z;){let W=k.size;if(k.id==A&&W>=0){M.size=N,M.start=B,M.skip=F,F+=4,N+=4,k.next();continue}let G=k.pos-W;if(W<0||G<z||k.start<V)break;let te=k.id>=o?4:0,_e=k.start;for(k.next();k.pos>G;){if(k.size<0)if(k.size==-3||k.size==-4)te+=4;else break e;else k.id>=o&&(te+=4);k.next()}B=_e,N+=W,F+=te}return(A<0||N==S)&&(M.size=N,M.start=B,M.skip=F),M.size>4?M:void 0}function y(S,A,k){let{id:N,start:B,end:F,size:V}=l;if(l.next(),V>=0&&N<o){let M=k;if(V>4){let z=l.pos-(V-4);for(;l.pos>z;)k=y(S,A,k)}A[--k]=M,A[--k]=F-S,A[--k]=B-S,A[--k]=N}else V==-3?c=N:V==-4&&(h=N);return k}let x=[],C=[];for(;l.pos>0;)u(n.start||0,n.bufferStart||0,x,C,-1,0);let _=(e=n.length)!==null&&e!==void 0?e:x.length?C[0]+x[0].length:0;return new We(a[n.topID],x.reverse(),C.reverse(),_)}var sp=new WeakMap;function bo(n,e){if(!n.isAnonymous||e instanceof Ln||e.type!=n)return 1;let t=sp.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=n||!(i instanceof We)){t=1;break}t+=bo(n,i)}sp.set(e,t)}return t}function pc(n,e,t,i,r,s,o,l,a){let c=0;for(let p=i;p<r;p++)c+=bo(n,e[p]);let h=Math.ceil(c*1.5/8),u=[],d=[];function f(p,g,b,y,x){for(let C=b;C<y;){let _=C,S=g[C],A=bo(n,p[C]);for(C++;C<y;C++){let k=bo(n,p[C]);if(A+k>=h)break;A+=k}if(C==_+1){if(A>h){let k=p[_];f(k.children,k.positions,0,k.children.length,g[_]+x);continue}u.push(p[_])}else{let k=g[C-1]+p[C-1].length-S;u.push(pc(n,p,g,_,C,S,k,null,a))}d.push(S+x-s)}}return f(e,t,i,r,0),(l||a)(u,d,o)}var oi=class n{constructor(e,t,i,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let r=[new n(0,e.length,e,0,!1,i)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,i=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let l=0,a=0,c=0;;l++){let h=l<t.length?t[l]:null,u=h?h.fromA:1e9;if(u-a>=i)for(;o&&o.from<u;){let d=o;if(a>=d.from||u<=d.to||c){let f=Math.max(d.from,a)-c,p=Math.min(d.to,u)-c;d=f>=p?null:new n(f,p,d.tree,d.offset+c,l>0,!!h)}if(d&&r.push(d),o.to>u)break;o=s<e.length?e[s++]:null}if(!h)break;a=h.toA,c=h.toA-h.toB}return r}},wo=class{startParse(e,t,i){return typeof e=="string"&&(e=new dc(e)),i=i?i.length?i.map(r=>new Br(r.from,r.to)):[new Br(0,0)]:[new Br(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let r=this.startParse(e,t,i);for(;;){let s=r.advance();if(s)return s}}},dc=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};var Nv=new Q({perNode:!0});var dw=0,Nt=class n{constructor(e,t,i,r){this.name=e,this.set=t,this.base=i,this.modified=r,this.id=dw++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof n&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new n(i,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new So(e);return i=>i.modified.indexOf(t)>-1?i:So.get(i.base||i,i.modified.concat(t).sort((r,s)=>r.id-s.id))}},fw=0,So=class n{constructor(e){this.name=e,this.instances=[],this.id=fw++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(l=>l.base==e&&pw(t,l.modified));if(i)return i;let r=[],s=new Nt(e.name,r,e,t);for(let l of t)l.instances.push(s);let o=mw(t);for(let l of e.set)if(!l.modified.length)for(let a of o)r.push(n.get(l,a));return s}};function pw(n,e){return n.length==e.length&&n.every((t,i)=>t==e[i])}function mw(n){let e=[[]];for(let t=0;t<n.length;t++)for(let i=0,r=e.length;i<r;i++)e.push(e[i].concat(n[t]));return e.sort((t,i)=>i.length-t.length)}function hp(n){let e=Object.create(null);for(let t in n){let i=n[t];Array.isArray(i)||(i=[i]);for(let r of t.split(" "))if(r){let s=[],o=2,l=r;for(let u=0;;){if(l=="..."&&u>0&&u+3==r.length){o=1;break}let d=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!d)throw new RangeError("Invalid path: "+r);if(s.push(d[0]=="*"?"":d[0][0]=='"'?JSON.parse(d[0]):d[0]),u+=d[0].length,u==r.length)break;let f=r[u++];if(u==r.length&&f=="!"){o=0;break}if(f!="/")throw new RangeError("Invalid path: "+r);l=r.slice(u)}let a=s.length-1,c=s[a];if(!c)throw new RangeError("Invalid path: "+r);let h=new Ki(i,o,a>0?s.slice(0,a):null);e[c]=h.sort(e[c])}}return gw.add(e)}var gw=new Q({combine(n,e){let t,i,r;for(;n||e;){if(!n||e&&n.depth>=e.depth?(r=e,e=e.next):(r=n,n=n.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new Ki(r.tags,r.mode,r.context);t?t.next=s:i=s,t=s}return i}}),Ki=class{constructor(e,t,i,r){this.tags=e,this.mode=t,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};Ki.empty=new Ki([],2,null);function bc(n,e){let t=Object.create(null);for(let s of n)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let o of s.tag)t[o.id]=s.class;let{scope:i,all:r=null}=e||{};return{style:s=>{let o=r;for(let l of s)for(let a of l.set){let c=t[a.id];if(c){o=o?o+" "+c:c;break}}return o},scope:i}}var R=Nt.define,xo=R(),On=R(),ap=R(On),cp=R(On),Pn=R(),vo=R(Pn),mc=R(Pn),tn=R(),li=R(tn),Qt=R(),en=R(),gc=R(),Fr=R(gc),ko=R(),L={comment:xo,lineComment:R(xo),blockComment:R(xo),docComment:R(xo),name:On,variableName:R(On),typeName:ap,tagName:R(ap),propertyName:cp,attributeName:R(cp),className:R(On),labelName:R(On),namespace:R(On),macroName:R(On),literal:Pn,string:vo,docString:R(vo),character:R(vo),attributeValue:R(vo),number:mc,integer:R(mc),float:R(mc),bool:R(Pn),regexp:R(Pn),escape:R(Pn),color:R(Pn),url:R(Pn),keyword:Qt,self:R(Qt),null:R(Qt),atom:R(Qt),unit:R(Qt),modifier:R(Qt),operatorKeyword:R(Qt),controlKeyword:R(Qt),definitionKeyword:R(Qt),moduleKeyword:R(Qt),operator:en,derefOperator:R(en),arithmeticOperator:R(en),logicOperator:R(en),bitwiseOperator:R(en),compareOperator:R(en),updateOperator:R(en),definitionOperator:R(en),typeOperator:R(en),controlOperator:R(en),punctuation:gc,separator:R(gc),bracket:Fr,angleBracket:R(Fr),squareBracket:R(Fr),paren:R(Fr),brace:R(Fr),content:tn,heading:li,heading1:R(li),heading2:R(li),heading3:R(li),heading4:R(li),heading5:R(li),heading6:R(li),contentSeparator:R(tn),list:R(tn),quote:R(tn),emphasis:R(tn),strong:R(tn),link:R(tn),monospace:R(tn),strikethrough:R(tn),inserted:R(),deleted:R(),changed:R(),invalid:R(),meta:ko,documentMeta:R(ko),annotation:R(ko),processingInstruction:R(ko),definition:Nt.defineModifier("definition"),constant:Nt.defineModifier("constant"),function:Nt.defineModifier("function"),standard:Nt.defineModifier("standard"),local:Nt.defineModifier("local"),special:Nt.defineModifier("special")};for(let n in L){let e=L[n];e instanceof Nt&&(e.name=n)}var Hv=bc([{tag:L.link,class:"tok-link"},{tag:L.heading,class:"tok-heading"},{tag:L.emphasis,class:"tok-emphasis"},{tag:L.strong,class:"tok-strong"},{tag:L.keyword,class:"tok-keyword"},{tag:L.atom,class:"tok-atom"},{tag:L.bool,class:"tok-bool"},{tag:L.url,class:"tok-url"},{tag:L.labelName,class:"tok-labelName"},{tag:L.inserted,class:"tok-inserted"},{tag:L.deleted,class:"tok-deleted"},{tag:L.literal,class:"tok-literal"},{tag:L.string,class:"tok-string"},{tag:L.number,class:"tok-number"},{tag:[L.regexp,L.escape,L.special(L.string)],class:"tok-string2"},{tag:L.variableName,class:"tok-variableName"},{tag:L.local(L.variableName),class:"tok-variableName tok-local"},{tag:L.definition(L.variableName),class:"tok-variableName tok-definition"},{tag:L.special(L.variableName),class:"tok-variableName2"},{tag:L.definition(L.propertyName),class:"tok-propertyName tok-definition"},{tag:L.typeName,class:"tok-typeName"},{tag:L.namespace,class:"tok-namespace"},{tag:L.className,class:"tok-className"},{tag:L.macroName,class:"tok-macroName"},{tag:L.propertyName,class:"tok-propertyName"},{tag:L.operator,class:"tok-operator"},{tag:L.comment,class:"tok-comment"},{tag:L.meta,class:"tok-meta"},{tag:L.invalid,class:"tok-invalid"},{tag:L.punctuation,class:"tok-punctuation"}]);var yc,Vr=new Q;var bw=new Q,kt=class{constructor(e,t,i=[],r=""){this.data=e,this.name=r,ve.prototype.hasOwnProperty("tree")||Object.defineProperty(ve.prototype,"tree",{get(){return mn(this)}}),this.parser=t,this.extension=[ji.of(this),ve.languageData.of((s,o,l)=>{let a=up(s,o,l),c=a.type.prop(Vr);if(!c)return[];let h=s.facet(c),u=a.type.prop(bw);if(u){let d=a.resolve(o-a.from,l);for(let f of u)if(f.test(d,s)){let p=s.facet(f.facet);return f.type=="replace"?p:p.concat(h)}}return h})].concat(i)}isActiveAt(e,t,i=-1){return up(e,t,i).type.prop(Vr)==this.data}findRegions(e){let t=e.facet(ji);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],r=(s,o)=>{if(s.prop(Vr)==this.data){i.push({from:o,to:o+s.length});return}let l=s.prop(Q.mounted);if(l){if(l.tree.prop(Vr)==this.data){if(l.overlay)for(let a of l.overlay)i.push({from:a.from+o,to:a.to+o});else i.push({from:o,to:o+s.length});return}else if(l.overlay){let a=i.length;if(r(l.tree,l.overlay[0].from+o),i.length>a)return}}for(let a=0;a<s.children.length;a++){let c=s.children[a];c instanceof We&&r(c,s.positions[a]+o)}};return r(mn(e),0),i}get allowsNesting(){return!0}};kt.setState=ye.define();function up(n,e,t){let i=n.facet(ji),r=mn(n).topNode;if(!i||i.allowsNesting)for(let s=r;s;s=s.enter(e,t,Te.ExcludeBuffers|Te.EnterBracketed))s.type.isTop&&(r=s);return r}function mn(n){let e=n.field(kt.state,!1);return e?e.tree:We.empty}var vc=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e<i||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}},Wr=null,kc=class n{constructor(e,t,i=[],r,s,o,l,a){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new n(e,t,[],We.empty,0,i,[],null)}startParse(){return this.parser.startParse(new vc(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=We.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(oi.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(i=this.parse.stoppedAt)!==null&&i!==void 0?i:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(oi.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Wr;Wr=this;try{return e()}finally{Wr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=dp(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:s,viewport:o,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((c,h,u,d)=>a.push({fromA:c,toA:h,fromB:u,toB:d})),i=oi.applyChanges(i,a),r=We.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){l=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),u=e.mapPos(c.to,-1);h<u&&l.push({from:h,to:u})}}}return new n(this.parser,t,i,r,s,o,l,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let i=0;i<this.skipped.length;i++){let{from:r,to:s}=this.skipped[i];r<e.to&&s>e.from&&(this.fragments=dp(this.fragments,r,s),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends wo{createParse(t,i,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let a=Wr;if(a){for(let c of r)a.tempSkipped.push(c);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=o,new We(pt.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Wr}};function dp(n,e,t){return oi.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}var $r=class n{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new n(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=kc.create(e.facet(ji).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new n(i)}};kt.state=bt.define({create:$r.init,update(n,e){for(let t of e.effects)if(t.is(kt.setState))return t.value;return e.startState.facet(ji)!=e.state.facet(ji)?$r.init(e.state):n.apply(e)}});var gp=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(gp=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var wc=typeof navigator<"u"&&(!((yc=navigator.scheduling)===null||yc===void 0)&&yc.isInputPending)?()=>navigator.scheduling.isInputPending():null,yw=Ot.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(kt.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(kt.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=gp(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:r}}=this.view,s=i.field(kt.state);if(s.tree==s.context.tree&&s.context.isDone(r+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!wc?Math.max(25,e.timeRemaining()-5):1e9),l=s.context.treeLen<r&&i.doc.length>r+1e3,a=s.context.work(()=>wc&&wc()||Date.now()>o,r+(l?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:kt.setState.of(new $r(s.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Rt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),ji=U.define({combine(n){return n.length?n[0]:null},enables:n=>[kt.state,yw,j.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});var ww=U.define(),Co=U.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function Ur(n){let e=n.facet(Co);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function Kr(n,e){let t="",i=n.tabSize,r=n.facet(Co)[0];if(r==" "){for(;e>=i;)t+=" ",e-=i;r=" "}for(let s=0;s<e;s++)t+=r;return t}function Mc(n,e){n instanceof ve&&(n=new ai(n));for(let i of n.state.facet(ww)){let r=i(n,e);if(r!==void 0)return r}let t=mn(n.state);return t.length>=e?vw(n,t,e):null}var ai=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=Ur(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=i.from&&r<=i.to?s&&r==e?{text:"",from:e}:(t<0?r<e:r<=e)?{text:i.text.slice(r-i.from),from:r}:{text:i.text.slice(0,r-i.from),from:i.from}:i}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:i,from:r}=this.lineAt(e,t);return i.slice(e-r,Math.min(i.length,e+100-r))}column(e,t=1){let{text:i,from:r}=this.lineAt(e,t),s=this.countColumn(i,e-r),o=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return o>-1&&(s+=o-this.countColumn(i,i.search(/\S|$/))),s}countColumn(e,t=e.length){return Zn(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},xw=new Q;function vw(n,e,t){let i=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=i.node){let s=[];for(let o=r;o&&!(o.from<i.node.from||o.to>i.node.to||o.from==i.node.from&&o.type==i.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)i={node:s[o],next:i}}return bp(i,n,t)}function bp(n,e,t){for(let i=n;i;i=i.next){let r=Sw(i.node);if(r)return r(Sc.create(e,t,i))}return 0}function kw(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function Sw(n){let e=n.type.prop(xw);if(e)return e;let t=n.firstChild,i;if(t&&(i=t.type.prop(Q.closedBy))){let r=n.lastChild,s=r&&i.indexOf(r.name)>-1;return o=>Mw(o,!0,1,void 0,s&&!kw(o)?r.from:void 0)}return n.parent==null?Cw:null}function Cw(){return 0}var Sc=class n extends ai{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new n(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(Tw(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return bp(this.context.next,this.base,this.pos)}};function Tw(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function Aw(n){let e=n.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let r=n.options.simulateBreak,s=n.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let l=t.to;;){let a=e.childAfter(l);if(!a||a==i)return null;if(!a.type.isSkipped){if(a.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}l=a.to}}function Mw(n,e,t,i,r){let s=n.textAfter,o=s.match(/^\s*/)[0].length,l=i&&s.slice(o,o+i.length)==i||r==n.pos+o,a=e?Aw(n):null;return a?l?n.column(a.from):n.column(a.to):n.baseIndent+(l?0:n.unit*t)}var Cc=class n{constructor(e,t){this.specs=e;let i;function r(l){let a=yt.newName();return(i||(i=Object.create(null)))["."+a]=l,a}let s=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,o=t.scope;this.scope=o instanceof kt?l=>l.prop(Vr)==o.data:o?l=>l==o:void 0,this.style=bc(e.map(l=>({tag:l.tag,class:l.class||r(Object.assign({},l,{tag:null}))})),{all:s}).style,this.module=i?new yt(i):null,this.themeType=t.themeType}static define(e,t){return new n(e,t||{})}};var Xv=Cc.define([{tag:L.meta,color:"#404740"},{tag:L.link,textDecoration:"underline"},{tag:L.heading,textDecoration:"underline",fontWeight:"bold"},{tag:L.emphasis,fontStyle:"italic"},{tag:L.strong,fontWeight:"bold"},{tag:L.strikethrough,textDecoration:"line-through"},{tag:L.keyword,color:"#708"},{tag:[L.atom,L.bool,L.url,L.contentSeparator,L.labelName],color:"#219"},{tag:[L.literal,L.inserted],color:"#164"},{tag:[L.string,L.deleted],color:"#a11"},{tag:[L.regexp,L.escape,L.special(L.string)],color:"#e40"},{tag:L.definition(L.variableName),color:"#00f"},{tag:L.local(L.variableName),color:"#30a"},{tag:[L.typeName,L.namespace],color:"#085"},{tag:L.className,color:"#167"},{tag:[L.special(L.variableName),L.macroName],color:"#256"},{tag:L.definition(L.propertyName),color:"#00c"},{tag:L.comment,color:"#940"},{tag:L.invalid,color:"#f00"}]);var Ew=1e4,Dw="()[]{}";var Rw=new Q;function Tc(n,e,t){let i=n.prop(e<0?Q.openedBy:Q.closedBy);if(i)return i;if(n.name.length==1){let r=t.indexOf(n.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Ac(n){let e=n.type.prop(Rw);return e?e(n.node):n}function ci(n,e,t,i={}){let r=i.maxScanDistance||Ew,s=i.brackets||Dw,o=mn(n),l=o.resolveInner(e,t);for(let a=l;a;a=a.parent){let c=Tc(a.type,t,s);if(c&&a.from<a.to){let h=Ac(a);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return Lw(n,e,t,a,h,c,s)}}return Ow(n,e,t,o,l.type,r,s)}function Lw(n,e,t,i,r,s,o){let l=i.parent,a={from:r.from,to:r.to},c=0,h=l?.cursor();if(h&&(t<0?h.childBefore(i.from):h.childAfter(i.to)))do if(t<0?h.to<=i.from:h.from>=i.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from<h.to){let u=Ac(h);return{start:a,end:u?{from:u.from,to:u.to}:void 0,matched:!0}}else if(Tc(h.type,t,o))c++;else if(Tc(h.type,-t,o)){if(c==0){let u=Ac(h);return{start:a,end:u&&u.from<u.to?{from:u.from,to:u.to}:void 0,matched:!1}}c--}}while(t<0?h.prevSibling():h.nextSibling());return{start:a,matched:!1}}function Ow(n,e,t,i,r,s,o){if(t<0?!e:e==n.doc.length)return null;let l=t<0?n.sliceDoc(e-1,e):n.sliceDoc(e,e+1),a=o.indexOf(l);if(a<0||a%2==0!=t>0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=n.doc.iterRange(e,t>0?n.doc.length:0),u=0;for(let d=0;!h.next().done&&d<=s;){let f=h.value;t<0&&(d+=f.length);let p=e+d*t;for(let g=t>0?0:f.length-1,b=t>0?f.length:-1;g!=b;g+=t){let y=o.indexOf(f[g]);if(!(y<0||i.resolveInner(p+g,1).type!=r))if(y%2==0==t>0)u++;else{if(u==1)return{start:c,end:{from:p+g,to:p+g+1},matched:y>>1==a>>1};u--}}t>0&&(d+=f.length)}return h.done?{start:c,matched:!1}:null}var Pw=Object.create(null),fp=[pt.none];var pp=[],mp=Object.create(null),Iw=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Iw[n]=Nw(Pw,e);function xc(n,e){pp.indexOf(n)>-1||(pp.push(n),console.warn(e))}function Nw(n,e){let t=[];for(let l of e.split(" ")){let a=[];for(let c of l.split(".")){let h=n[c]||L[c];h?typeof h=="function"?a.length?a=a.map(h):xc(c,`Modifier ${c} used at start of tag`):a.length?xc(c,`Tag ${c} used as modifier`):a=Array.isArray(h)?h:[h]:xc(c,`Unknown highlighting tag ${c}`)}for(let c of a)t.push(c)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),r=i+" "+t.map(l=>l.id),s=mp[r];if(s)return s.id;let o=mp[r]=pt.define({id:fp.length,name:i,props:[hp({[i]:t})]});return fp.push(o),o.id}var Yv={rtl:me.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ge.RTL}),ltr:me.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ge.LTR}),auto:me.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Bw=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),i=Ic(n.state,t.from);return i.line?_w(n):i.block?zw(n):!1};function Pc(n,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let r=n(e,t);return r?(i(t.update(r)),!0):!1}}var _w=Pc(Vw,0);var Hw=Pc(Ap,0);var zw=Pc((n,e)=>Ap(n,e,Ww(e)),0);function Ic(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var jr=50;function Fw(n,{open:e,close:t},i,r){let s=n.sliceDoc(i-jr,i),o=n.sliceDoc(r,r+jr),l=/\s*$/.exec(s)[0].length,a=/^\s*/.exec(o)[0].length,c=s.length-l;if(s.slice(c-e.length,c)==e&&o.slice(a,a+t.length)==t)return{open:{pos:i-l,margin:l&&1},close:{pos:r+a,margin:a&&1}};let h,u;r-i<=2*jr?h=u=n.sliceDoc(i,r):(h=n.sliceDoc(i,i+jr),u=n.sliceDoc(r-jr,r));let d=/^\s*/.exec(h)[0].length,f=/\s*$/.exec(u)[0].length,p=u.length-f-t.length;return h.slice(d,d+e.length)==e&&u.slice(p,p+t.length)==t?{open:{pos:i+d+e.length,margin:/\s/.test(h.charAt(d+e.length))?1:0},close:{pos:r-f-t.length,margin:/\s/.test(u.charAt(p-1))?1:0}}:null}function Ww(n){let e=[];for(let t of n.selection.ranges){let i=n.doc.lineAt(t.from),r=t.to<=i.to?i:n.doc.lineAt(t.to);r.from>i.from&&r.from==t.to&&(r=t.to==i.to+1?i:n.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>i.from?e[s].to=r.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return e}function Ap(n,e,t=e.selection.ranges){let i=t.map(s=>Ic(e,s.from).block);if(!i.every(s=>s))return null;let r=t.map((s,o)=>Fw(e,i[o],s.from,s.to));if(n!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:i[o].open+" "},{from:s.to,insert:" "+i[o].close}]))};if(n!=1&&r.some(s=>s)){let s=[];for(let o=0,l;o<r.length;o++)if(l=r[o]){let a=i[o],{open:c,close:h}=l;s.push({from:c.pos-a.open.length,to:c.pos+c.margin},{from:h.pos-h.margin,to:h.pos+a.close.length})}return{changes:s}}return null}function Vw(n,e,t=e.selection.ranges){let i=[],r=-1;e:for(let{from:s,to:o}of t){let l=i.length,a=1e9,c;for(let h=s;h<=o;){let u=e.doc.lineAt(h);if(c==null&&(c=Ic(e,u.from).line,!c))continue e;if(u.from>r&&(s==o||o>u.from)){r=u.from;let d=/^\s*/.exec(u.text)[0].length,f=d==u.length,p=u.text.slice(d,d+c.length)==c?d:-1;d<u.text.length&&d<a&&(a=d),i.push({line:u,comment:p,token:c,indent:d,empty:f,single:!1})}h=u.to+1}if(a<1e9)for(let h=l;h<i.length;h++)i[h].indent<i[h].line.text.length&&(i[h].indent=a);i.length==l+1&&(i[l].single=!0)}if(n!=2&&i.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:l,token:a,indent:c,empty:h,single:u}of i)(u||!h)&&s.push({from:l.from+c,insert:a+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&i.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:l,token:a}of i)if(l>=0){let c=o.from+l,h=c+a.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}var Dc=ot.define(),$w=ot.define(),Uw=U.define(),Mp=U.define({combine(n){return Li(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,r)=>e(i,r)||t(i,r)})}}),Ep=bt.define({create(){return hi.empty},update(n,e){let t=e.state.facet(Mp),i=e.annotation(Dc);if(i){let a=Bt.fromTransaction(e,i.selection),c=i.side,h=c==0?n.undone:n.done;return a?h=Ao(h,h.length,t.minDepth,a):h=Op(h,e.startState.selection),new hi(c==0?i.rest:h,c==0?h:i.rest)}let r=e.annotation($w);if((r=="full"||r=="before")&&(n=n.isolate()),e.annotation(De.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=Bt.fromTransaction(e),o=e.annotation(De.time),l=e.annotation(De.userEvent);return s?n=n.addChanges(s,o,l,t,e):e.selection&&(n=n.addSelection(e.startState.selection,o,l,t.newGroupDelay)),(r=="full"||r=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new hi(n.done.map(Bt.fromJSON),n.undone.map(Bt.fromJSON))}});function Dp(n={}){return[Ep,Mp.of(n),j.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?Rp:e.inputType=="historyRedo"?Rc:null;return i?(e.preventDefault(),i(t)):!1}})]}function Mo(n,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let r=t.field(Ep,!1);if(!r)return!1;let s=r.pop(n,t,e);return s?(i(s),!0):!1}}var Rp=Mo(0,!1),Rc=Mo(1,!1),Kw=Mo(0,!0),jw=Mo(1,!0);var Bt=class n{constructor(e,t,i,r,s){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new n(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new n(e.changes&&Je.fromJSON(e.changes),[],e.mapped&&cn.fromJSON(e.mapped),e.startSelection&&D.fromJSON(e.startSelection),e.selectionsAfter.map(D.fromJSON))}static fromTransaction(e,t){let i=St;for(let r of e.startState.facet(Uw)){let s=r(e);s.length&&(i=i.concat(s))}return!i.length&&e.changes.empty?null:new n(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,St)}static selection(e){return new n(void 0,St,void 0,void 0,e)}};function Ao(n,e,t,i){let r=e+1>t+20?e-t-1:0,s=n.slice(r,e);return s.push(i),s}function qw(n,e){let t=[],i=!1;return n.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,l)=>{for(let a=0;a<t.length;){let c=t[a++],h=t[a++];l>=c&&o<=h&&(i=!0)}}),i}function Gw(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function Lp(n,e){return n.length?e.length?n.concat(e):n:e}var St=[],Xw=200;function Op(n,e){if(n.length){let t=n[n.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-Xw));return i.length&&i[i.length-1].eq(e)?n:(i.push(e),Ao(n,n.length-1,1e9,t.setSelAfter(i)))}else return[Bt.selection([e])]}function Yw(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Ec(n,e){if(!n.length)return n;let t=n.length,i=St;for(;t;){let r=Jw(n[t-1],e,i);if(r.changes&&!r.changes.empty||r.effects.length){let s=n.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,i=r.selectionsAfter}return i.length?[Bt.selection(i)]:St}function Jw(n,e,t){let i=Lp(n.selectionsAfter.length?n.selectionsAfter.map(l=>l.map(e)):St,t);if(!n.changes)return Bt.selection(i);let r=n.changes.map(e),s=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(s):s;return new Bt(r,ye.mapEffects(n.effects,e),o,n.startSelection.map(s),i)}var Zw=/^(input\.type|delete)($|\.)/,hi=class n{constructor(e,t,i=0,r=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new n(this.done,this.undone):this}addChanges(e,t,i,r,s){let o=this.done,l=o[o.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!i||Zw.test(i))&&(!l.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(s,qw(l.changes,e.changes))||i=="input.type.compose")?o=Ao(o,o.length-1,r.minDepth,new Bt(e.changes.compose(l.changes),Lp(ye.mapEffects(e.effects,l.changes),l.effects),l.mapped,l.startSelection,St)):o=Ao(o,o.length,r.minDepth,e),new n(o,St,t,i)}addSelection(e,t,i,r){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:St;return s.length>0&&t-this.prevTime<r&&i==this.prevUserEvent&&i&&/^select($|\.)/.test(i)&&Gw(s[s.length-1],e)?this:new n(Op(this.done,e),this.undone,t,i)}addMapping(e){return new n(Ec(this.done,e),Ec(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let r=e==0?this.done:this.undone;if(r.length==0)return null;let s=r[r.length-1],o=s.selectionsAfter[0]||(s.startSelection?s.startSelection.map(s.changes.invertedDesc,1):t.selection);if(i&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:Dc.of({side:e,rest:Yw(r),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let l=r.length==1?St:r.slice(0,r.length-1);return s.mapped&&(l=Ec(l,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Dc.of({side:e,rest:l,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};hi.empty=new hi(St,St);var Pp=[{key:"Mod-z",run:Rp,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Rc,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Rc,preventDefault:!0},{key:"Mod-u",run:Kw,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:jw,preventDefault:!0}];function qi(n,e){return D.create(n.ranges.map(e),n.mainIndex)}function _t(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Ht({state:n,dispatch:e},t){let i=qi(n.selection,t);return i.eq(n.selection,!0)?!1:(e(_t(n,i)),!0)}function Eo(n,e){return D.cursor(e?n.to:n.from)}function Ip(n,e){return Ht(n,t=>t.empty?n.moveByChar(t,e):Eo(t,e))}function je(n){return n.textDirectionAt(n.state.selection.main.head)==ge.LTR}var Np=n=>Ip(n,!je(n)),Bp=n=>Ip(n,je(n));function _p(n,e){return Ht(n,t=>t.empty?n.moveByGroup(t,e):Eo(t,e))}var Qw=n=>_p(n,!je(n)),ex=n=>_p(n,je(n));var ik=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function tx(n,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function Do(n,e,t){let i=mn(n).resolveInner(e.head),r=t?Q.closedBy:Q.openedBy;for(let a=e.head;;){let c=t?i.childAfter(a):i.childBefore(a);if(!c)break;tx(n,c,r)?i=c:a=t?c.to:c.from}let s=i.type.prop(r),o,l;return s&&(o=t?ci(n,i.from,1):ci(n,i.to,-1))&&o.matched?l=t?o.end.to:o.end.from:l=t?i.to:i.from,D.cursor(l,t?-1:1)}var nx=n=>Ht(n,e=>Do(n.state,e,!je(n))),ix=n=>Ht(n,e=>Do(n.state,e,je(n)));function Hp(n,e){return Ht(n,t=>{if(!t.empty)return Eo(t,e);let i=n.moveVertically(t,e);return i.head!=t.head?i:n.moveToLineBoundary(t,e)})}var zp=n=>Hp(n,!1),Fp=n=>Hp(n,!0);function Wp(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,i=0,r;if(e){for(let s of n.state.facet(j.scrollMargins)){let o=s(n);o?.top&&(t=Math.max(o?.top,t)),o?.bottom&&(i=Math.max(o?.bottom,i))}r=n.scrollDOM.clientHeight-t-i}else r=(n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:i,selfScroll:e,height:Math.max(n.defaultLineHeight,r-5)}}function Vp(n,e){let t=Wp(n),{state:i}=n,r=qi(i.selection,o=>o.empty?n.moveVertically(o,e,t.height):Eo(o,e));if(r.eq(i.selection))return!1;let s;if(t.selfScroll){let o=n.coordsAtPos(i.selection.main.head),l=n.scrollDOM.getBoundingClientRect(),a=l.top+t.marginTop,c=l.bottom-t.marginBottom;o&&o.top>a&&o.bottom<c&&(s=j.scrollIntoView(r.main.head,{y:"start",yMargin:o.top-a}))}return n.dispatch(_t(i,r),{effects:s}),!0}var yp=n=>Vp(n,!1),Lc=n=>Vp(n,!0);function In(n,e,t){let i=n.lineBlockAt(e.head),r=n.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?i.to:i.from)&&(r=n.moveToLineBoundary(e,t,!1)),!t&&r.head==i.from&&i.length){let s=/^\s*/.exec(n.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;s&&e.head!=i.from+s&&(r=D.cursor(i.from+s))}return r}var rx=n=>Ht(n,e=>In(n,e,!0)),sx=n=>Ht(n,e=>In(n,e,!1)),ox=n=>Ht(n,e=>In(n,e,!je(n))),lx=n=>Ht(n,e=>In(n,e,je(n))),ax=n=>Ht(n,e=>n.moveToLineBoundary(e,!1,!1)),cx=n=>Ht(n,e=>n.moveToLineBoundary(e,!0,!1));function hx(n,e,t){let i=!1,r=qi(n.selection,s=>{let o=ci(n,s.head,-1)||ci(n,s.head,1)||s.head>0&&ci(n,s.head-1,1)||s.head<n.doc.length&&ci(n,s.head+1,-1);if(!o||!o.end)return s;i=!0;let l=o.start.from==s.head?o.end.to:o.end.from;return t?D.range(s.anchor,l):D.cursor(l)});return i?(e(_t(n,r)),!0):!1}var ux=({state:n,dispatch:e})=>hx(n,e,!1);function Ct(n,e,t){let i=qi(n.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=D.range(r.head,r.anchor));let s=t(r);return D.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return i.eq(n.state.selection)?!1:(n.dispatch(_t(n.state,i)),!0)}function $p(n,e){return Ct(n,e,t=>n.moveByChar(t,e))}var Up=n=>$p(n,!je(n)),Kp=n=>$p(n,je(n));function jp(n,e){return Ct(n,e,t=>n.moveByGroup(t,e))}var dx=n=>jp(n,!je(n)),fx=n=>jp(n,je(n));var px=n=>{let e=!je(n);return Ct(n,e,t=>Do(n.state,t,e))},mx=n=>{let e=je(n);return Ct(n,e,t=>Do(n.state,t,e))};function qp(n,e){return Ct(n,e,t=>n.moveVertically(t,e))}var Gp=n=>qp(n,!1),Xp=n=>qp(n,!0);function Yp(n,e){return Ct(n,e,t=>n.moveVertically(t,e,Wp(n).height))}var wp=n=>Yp(n,!1),xp=n=>Yp(n,!0),gx=n=>Ct(n,!0,e=>In(n,e,!0)),bx=n=>Ct(n,!1,e=>In(n,e,!1)),yx=n=>{let e=!je(n);return Ct(n,e,t=>In(n,t,e))},wx=n=>{let e=je(n);return Ct(n,e,t=>In(n,t,e))},xx=n=>Ct(n,!1,e=>D.cursor(n.lineBlockAt(e.head).from)),vx=n=>Ct(n,!0,e=>D.cursor(n.lineBlockAt(e.head).to)),vp=({state:n,dispatch:e})=>(e(_t(n,{anchor:0})),!0),kp=({state:n,dispatch:e})=>(e(_t(n,{anchor:n.doc.length})),!0),Sp=({state:n,dispatch:e})=>(e(_t(n,{anchor:n.selection.main.anchor,head:0})),!0),Cp=({state:n,dispatch:e})=>(e(_t(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),kx=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),Sx=({state:n,dispatch:e})=>{let t=Ro(n).map(({from:i,to:r})=>D.undirectionalRange(i,Math.min(r+1,n.doc.length)));return e(n.update({selection:D.create(t),userEvent:"select"})),!0},Cx=({state:n,dispatch:e})=>{let t=qi(n.selection,i=>{let r=mn(n),s=r.resolveStack(i.from,1);if(i.empty){let o=r.resolveStack(i.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:l}=o;if((l.from<i.from&&l.to>=i.to||l.to>i.to&&l.from<=i.from)&&o.next)return D.undirectionalRange(l.from,l.to)}return i});return t.eq(n.selection)?!1:(e(_t(n,t)),!0)};function Jp(n,e){let{state:t}=n,i=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to<n.state.doc.length:o.from>0)for(let l=s;;){let a=n.moveVertically(l,e);if(a.head<o.from||a.head>o.to){r.some(c=>c.head==a.head)||r.push(a);break}else{if(a.head==l.head)break;l=a}}}return r.length==i.ranges.length?!1:(n.dispatch(_t(t,D.create(r,r.length-1))),!0)}var Tx=n=>Jp(n,!1),Ax=n=>Jp(n,!0),Mx=({state:n,dispatch:e})=>{let t=n.selection,i=null;return t.ranges.length>1?i=D.create([t.main]):t.main.empty||(i=D.create([D.cursor(t.main.head)])),i?(e(_t(n,i)),!0):!1};function qr(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:i}=n,r=i.changeByRange(s=>{let{from:o,to:l}=s;if(o==l){let a=e(s);a<o?(t="delete.backward",a=To(n,a,!1)):a>o&&(t="delete.forward",a=To(n,a,!0)),o=Math.min(o,a),l=Math.max(l,a)}else o=To(n,o,!1),l=To(n,l,!0);return o==l?{range:s}:{changes:{from:o,to:l},range:D.cursor(o,o<s.head?-1:1)}});return r.changes.empty?!1:(n.dispatch(i.update(r,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?j.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function To(n,e,t){if(n instanceof j)for(let i of n.state.facet(j.atomicRanges).map(r=>r(n)))i.between(e,e,(r,s)=>{r<e&&s>e&&(e=t?s:r)});return e}var Zp=(n,e,t)=>qr(n,i=>{let r=i.from,{state:s}=n,o=s.doc.lineAt(r),l,a;if(t&&!e&&r>o.from&&r<o.from+200&&!/[^ \t]/.test(l=o.text.slice(0,r-o.from))){if(l[l.length-1]==" ")return r-1;let c=Zn(l,s.tabSize),h=c%Ur(s)||Ur(s);for(let u=0;u<h&&l[l.length-1-u]==" ";u++)r--;a=r}else a=Be(o.text,r-o.from,e,e)+o.from,a==r&&o.number!=(e?s.doc.lines:1)?a+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(a-o.from,r-o.from))&&(a=Be(o.text,a-o.from,!1,!1)+o.from);return a}),Oc=n=>Zp(n,!1,!0);var Qp=n=>Zp(n,!0,!1),em=(n,e)=>qr(n,t=>{let i=t.head,{state:r}=n,s=r.doc.lineAt(i),o=r.charCategorizer(i);for(let l=null;;){if(i==(e?s.to:s.from)){i==t.head&&s.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);break}let a=Be(s.text,i-s.from,e)+s.from,c=s.text.slice(Math.min(i,a)-s.from,Math.max(i,a)-s.from),h=o(c);if(l!=null&&h!=l)break;(c!=" "||i!=t.head)&&(l=h),i=a}return i}),tm=n=>em(n,!1),Ex=n=>em(n,!0);var Dx=n=>qr(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)});var Rx=n=>qr(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),Lx=n=>qr(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)});var Ox=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:ee.of(["",""])},range:D.cursor(i.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},Px=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>{if(!i.empty||i.from==0||i.from==n.doc.length)return{range:i};let r=i.from,s=n.doc.lineAt(r),o=r==s.from?r-1:Be(s.text,r-s.from,!1)+s.from,l=r==s.to?r+1:Be(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:l,insert:n.doc.slice(r,l).append(n.doc.slice(o,r))},range:D.cursor(l)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Ro(n){let e=[],t=-1;for(let i of n.selection.ranges){let r=n.doc.lineAt(i.from),s=n.doc.lineAt(i.to);if(!i.empty&&i.to==s.from&&(s=n.doc.lineAt(i.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(i)}else e.push({from:r.from,to:s.to,ranges:[i]});t=s.number+1}return e}function nm(n,e,t){if(n.readOnly)return!1;let i=[],r=[];for(let s of Ro(n)){if(t?s.to==n.doc.length:s.from==0)continue;let o=n.doc.lineAt(t?s.to+1:s.from-1),l=o.length+1;if(t){i.push({from:s.to,to:o.to},{from:s.from,insert:o.text+n.lineBreak});for(let a of s.ranges)r.push(D.range(Math.min(n.doc.length,a.anchor+l),Math.min(n.doc.length,a.head+l)))}else{i.push({from:o.from,to:s.from},{from:s.to,insert:n.lineBreak+o.text});for(let a of s.ranges)r.push(D.range(a.anchor-l,a.head-l))}}return i.length?(e(n.update({changes:i,scrollIntoView:!0,selection:D.create(r,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}var Ix=({state:n,dispatch:e})=>nm(n,e,!1),Nx=({state:n,dispatch:e})=>nm(n,e,!0);function im(n,e,t){if(n.readOnly)return!1;let i=[];for(let s of Ro(n))t?i.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):i.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});let r=n.changes(i);return e(n.update({changes:r,selection:n.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var Bx=({state:n,dispatch:e})=>im(n,e,!1),_x=({state:n,dispatch:e})=>im(n,e,!0),Hx=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(Ro(e).map(({from:r,to:s})=>(r>0?r--:s<e.doc.length&&s++,{from:r,to:s}))),i=qi(e.selection,r=>{let s;if(n.lineWrapping){let o=n.lineBlockAt(r.head),l=n.coordsAtPos(r.head,r.assoc||1);l&&(s=o.bottom+n.documentTop-l.bottom+n.defaultLineHeight/2)}return n.moveVertically(r,!0,s)}).map(t);return n.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function zx(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=mn(n).resolveInner(e),i=t.childBefore(e),r=t.childAfter(e),s;return i&&r&&i.to<=e&&r.from>=e&&(s=i.type.prop(Q.closedBy))&&s.indexOf(r.name)>-1&&n.doc.lineAt(i.to).from==n.doc.lineAt(r.from).from&&!/\S/.test(n.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}var Tp=rm(!1),Fx=rm(!0);function rm(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(r=>{let{from:s,to:o}=r,l=e.doc.lineAt(s),a=!n&&s==o&&zx(e,s);n&&(s=o=(o<=l.to?l:e.doc.lineAt(o)).to);let c=new ai(e,{simulateBreak:s,simulateDoubleBreak:!!a}),h=Mc(c,s);for(h==null&&(h=Zn(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<l.to&&/\s/.test(l.text[o-l.from]);)o++;a?{from:s,to:o}=a:s>l.from&&s<l.from+100&&!/\S/.test(l.text.slice(0,s))&&(s=l.from);let u=["",Kr(e,h)];return a&&u.push(Kr(e,c.lineIndent(l.from,-1))),{changes:{from:s,to:o,insert:ee.of(u)},range:D.cursor(s+1+u[1].length)}});return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function Nc(n,e){let t=-1;return n.changeByRange(i=>{let r=[];for(let o=i.from;o<=i.to;){let l=n.doc.lineAt(o);l.number>t&&(i.empty||i.to>l.from)&&(e(l,r,i),t=l.number),o=l.to+1}let s=n.changes(r);return{changes:r,range:D.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}var Wx=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),i=new ai(n,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=Nc(n,(s,o,l)=>{let a=Mc(i,s.from);if(a==null)return;/\S/.test(s.text)||(a=0);let c=/^\s*/.exec(s.text)[0],h=Kr(n,a);(c!=h||l.from<s.from+c.length)&&(t[s.from]=a,o.push({from:s.from,to:s.from+c.length,insert:h}))});return r.changes.empty||e(n.update(r,{userEvent:"indent"})),!0},sm=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Nc(n,(t,i)=>{i.push({from:t.from,insert:n.facet(Co)})}),{userEvent:"input.indent"})),!0),om=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Nc(n,(t,i)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Zn(r,n.tabSize),o=0,l=Kr(n,Math.max(0,s-Ur(n)));for(;o<r.length&&o<l.length&&r.charCodeAt(o)==l.charCodeAt(o);)o++;i.push({from:t.from+o,to:t.from+r.length,insert:l.slice(o)})}),{userEvent:"delete.dedent"})),!0),Vx=n=>(n.setTabFocusMode(),!0);var $x=[{key:"Ctrl-b",run:Np,shift:Up,preventDefault:!0},{key:"Ctrl-f",run:Bp,shift:Kp},{key:"Ctrl-p",run:zp,shift:Gp},{key:"Ctrl-n",run:Fp,shift:Xp},{key:"Ctrl-a",run:ax,shift:xx},{key:"Ctrl-e",run:cx,shift:vx},{key:"Ctrl-d",run:Qp},{key:"Ctrl-h",run:Oc},{key:"Ctrl-k",run:Dx},{key:"Ctrl-Alt-h",run:tm},{key:"Ctrl-o",run:Ox},{key:"Ctrl-t",run:Px},{key:"Ctrl-v",run:Lc}],Ux=[{key:"ArrowLeft",run:Np,shift:Up,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:Qw,shift:dx,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:ox,shift:yx,preventDefault:!0},{key:"ArrowRight",run:Bp,shift:Kp,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:ex,shift:fx,preventDefault:!0},{mac:"Cmd-ArrowRight",run:lx,shift:wx,preventDefault:!0},{key:"ArrowUp",run:zp,shift:Gp,preventDefault:!0},{mac:"Cmd-ArrowUp",run:vp,shift:Sp},{mac:"Ctrl-ArrowUp",run:yp,shift:wp},{key:"ArrowDown",run:Fp,shift:Xp,preventDefault:!0},{mac:"Cmd-ArrowDown",run:kp,shift:Cp},{mac:"Ctrl-ArrowDown",run:Lc,shift:xp},{key:"PageUp",run:yp,shift:wp},{key:"PageDown",run:Lc,shift:xp},{key:"Home",run:sx,shift:bx,preventDefault:!0},{key:"Mod-Home",run:vp,shift:Sp},{key:"End",run:rx,shift:gx,preventDefault:!0},{key:"Mod-End",run:kp,shift:Cp},{key:"Enter",run:Tp,shift:Tp},{key:"Mod-a",run:kx},{key:"Backspace",run:Oc,shift:Oc,preventDefault:!0},{key:"Delete",run:Qp,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:tm,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:Ex,preventDefault:!0},{mac:"Mod-Backspace",run:Rx,preventDefault:!0},{mac:"Mod-Delete",run:Lx,preventDefault:!0}].concat($x.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),lm=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:nx,shift:px},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:ix,shift:mx},{key:"Alt-ArrowUp",run:Ix},{key:"Shift-Alt-ArrowUp",run:Bx},{key:"Alt-ArrowDown",run:Nx},{key:"Shift-Alt-ArrowDown",run:_x},{key:"Mod-Alt-ArrowUp",run:Tx},{key:"Mod-Alt-ArrowDown",run:Ax},{key:"Escape",run:Mx},{key:"Mod-Enter",run:Fx},{key:"Alt-l",mac:"Ctrl-l",run:Sx},{key:"Mod-i",run:Cx,preventDefault:!0},{key:"Mod-[",run:om},{key:"Mod-]",run:sm},{key:"Mod-Alt-\\",run:Wx},{key:"Shift-Mod-k",run:Hx},{key:"Shift-Mod-\\",run:ux},{key:"Mod-/",run:Bw},{key:"Alt-A",mac:"Ctrl-A",run:Hw},{key:"Ctrl-m",mac:"Shift-Alt-m",run:Vx}].concat(Ux),am={key:"Tab",run:sm,shift:om};var cm=new hn,hm=new hn,um=new hn,Bc=new hn,_c=ot.define(),nn=null;function dm(n){nn=n}function fm(n){nn===n&&(nn=null)}function pm(n){return[j.domEventHandlers({keydown:(e,t)=>nn?.onKeydown(t,e)??!1,compositionstart:()=>(nn?.onCompositionChange(!0),!1),compositionend:()=>(setTimeout(()=>nn?.onCompositionChange(!1),0),!1),focus:()=>(nn?.onFocusChange(!0),!1),blur:()=>(nn?.onFocusChange(!1),!1)}),Dp(),Jf(),ep(),j.lineWrapping,tp(),np(),cm.of(n.lineNumbers?lc():[]),hm.of(bm(n.fontFamily)),um.of(oc(n.placeholder)),Bc.of(j.editable.of(n.editable)),sc.of([...Pp,...lm,am]),j.updateListener.of(e=>{e.docChanged&&!e.transactions.some(t=>t.annotation(_c)===!0)&&nn?.onLocalChange(e.state.doc.toString()),(e.docChanged||e.selectionSet)&&nn?.onCaret(e.state.doc.toString(),e.state.selection.main.head)})]}function Hc(n,e){n.dispatch({effects:[cm.reconfigure(e.lineNumbers?lc():[]),hm.reconfigure(bm(e.fontFamily)),um.reconfigure(oc(e.placeholder)),Bc.reconfigure(j.editable.of(e.editable))]})}function mm(n,e){n.dispatch({effects:Bc.reconfigure(j.editable.of(e))})}function gm(n,e,t){return vn(()=>{let i=he();Hc(n,{lineNumbers:i.lineNumbers,fontFamily:i.fontFamily,placeholder:e,editable:t})})}function bm(n){return j.theme({"&":{fontSize:"13px",height:"100%"},"&.cm-focused":{outline:"none"},".cm-scroller":{fontFamily:n,lineHeight:"1.6",overflow:"auto"},".cm-content":{caretColor:"var(--dsw-alias-state-business-primary, currentColor)",paddingBottom:"8px"},".cm-line":{padding:"0 8px"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--dsw-alias-state-business-primary, currentColor)"},".cm-gutters":{backgroundColor:"transparent",border:"none",color:"color-mix(in srgb, currentColor 32%, transparent)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"currentColor",fontWeight:600},".cm-activeLine":{backgroundColor:"color-mix(in srgb, currentColor 6%, transparent)"},".cm-lineNumbers .cm-gutterElement":{minWidth:"2.2em",padding:"0 6px 0 10px"},".cm-selectionBackground":{backgroundColor:"color-mix(in srgb, currentColor 15%, transparent) !important"},".cm-placeholder":{color:"color-mix(in srgb, currentColor 38%, transparent)"}})}function ym(n,e){return ve.create({doc:e,extensions:n})}var Kx=4,ui=new Map;function wm(n){let e=ui.get(n);return e&&ui.delete(n),e}function xm(n,e){for(ui.delete(n),ui.set(n,e);ui.size>Kx;){let t=ui.keys().next().value;if(t===void 0)break;ui.delete(t)}}function jx(n){return n==="plain"?{tier:"plain"}:n==="claimed"?{tier:"claimed"}:{tier:"frozen"}}function vm(n,e,t,i){if(!(!n||!i))try{n.track(e,t,jx(i.phase),i.draftRev)}catch(r){Kt("track failed",r)}}function km(n,e,t){if(!n)return;let i=e?.snapshot,r=i?.draft??"",s=i?.draftRev??0;e?.dismissPopup();let o={trigger:"/",query:"",quoted:!1,position:r.slice(0,t).trim()===""?"leading":"inline",span:{start:t,end:t,draftRev:s}};n.toggleSource("command",o)}var qx={ArrowUp:"up",ArrowDown:"down",Enter:"enter",Escape:"escape",Tab:"tab"};function Sm(n,e,t){if(!n||!n.menu.getSnapshot().open)return!1;let r=qx[e.key];return r?n.arbitrate(r,t)!=="pass":!1}function Cm(n){if(!n)return!1;try{return n.onSpace()}catch{return!1}}var Gx=new Set(["ctrl","alt","shift","meta","mod"]);function Tm(n,e){let t=e===" "?"space":(e.length===1,e.toLowerCase()),i=[];return n.ctrlKey&&i.push("ctrl"),n.altKey&&i.push("alt"),n.shiftKey&&i.push("shift"),n.metaKey&&i.push("meta"),i.push(t),i.join("+")}function Xx(n){let e=new Set(n.toLowerCase().split("+").filter(Boolean)),t=[...e].filter(i=>!Gx.has(i)).join("+");return{ctrl:e.has("ctrl"),alt:e.has("alt"),shift:e.has("shift"),meta:e.has("meta"),mod:e.has("mod"),key:t}}function zc(n,e){let t=Xx(n);return!t.key||t.key!==Yx(e)?!1:t.mod?e.ctrlKey||e.metaKey?e.altKey===t.alt&&e.shiftKey===t.shift:!1:e.ctrlKey===t.ctrl&&e.altKey===t.alt&&e.shiftKey===t.shift&&e.metaKey===t.meta}function Yx(n){let e=n.key;return e===" "?"space":e.toLowerCase()}function Am(n){let e={ctrl:"Ctrl",alt:"Alt",shift:"Shift",meta:"Cmd",mod:"Ctrl/Cmd",enter:"Enter",tab:"Tab",space:"Space",escape:"Esc"};return n.split("+").filter(Boolean).map(t=>e[t]??(t.length===1?t.toUpperCase():t.charAt(0).toUpperCase()+t.slice(1))).join(" + ")}var Gr=require("react/jsx-runtime");function Mm(n){let{state:e,actions:t,triggers:i,keyboard:r,onSendGesture:s,placeholder:o,autoFocus:l,viewRef:a,onCaretMoved:c,disabled:h,solo:u,stateKey:d}=n,f=(0,Tt.useRef)(null),p=(0,Tt.useRef)(!1),[g,b]=(0,Tt.useState)({line:1,col:1}),y=(0,Tt.useRef)(n);y.current=n;let x=e?.draft??"",C=d??"default";(0,Tt.useLayoutEffect)(()=>{let S=f.current;if(!S)return;let A=he(),k={onKeydown:(M,z)=>{let W=y.current;if(Sm(W.triggers,z,p.current))return z.preventDefault(),!0;if(p.current)return!1;if(z.key===" "&&!z.ctrlKey&&!z.metaKey&&!z.altKey&&Cm(W.triggers))return z.preventDefault(),!0;let G=he();return zc(G.sendHotkey,z)?(z.preventDefault(),W.onSendGesture(),!0):zc(G.lineBreakHotkey,z)&&G.lineBreakHotkey!=="enter"?(z.preventDefault(),M.dispatch({changes:{from:M.state.selection.main.head,insert:`
|
|
574
|
-
`}}),!0):!1},onLocalChange:M=>{let z=y.current;if(z.actions)try{z.actions.setDraft(M)}catch(W){Kt("setDraft failed",W)}},onCaret:(M,z)=>{let W=y.current;vm(W.triggers,M,z,W.keyboard?.snapshot??W.state);let te=a.current?.state.doc.lineAt(z);b({line:te?te.number:1,col:z-(te?te.from:0)+1}),W.onCaretMoved?.(z)},onCompositionChange:M=>{p.current=M},onFocusChange:M=>{y.current.onFocusedChange?.(M)}};dm(k);let N=wm(C),B=new j({state:N?.state??ym(pm({lineNumbers:A.lineNumbers,fontFamily:A.fontFamily,placeholder:o,editable:!0}),""),parent:S});N&&(B.scrollDOM.scrollTop=N.scrollTop),a.current=B;let F=B.state.selection.main.head,V=B.state.doc.lineAt(F);return b({line:V.number,col:F-V.from+1}),l&&B.focus(),()=>{a.current=null,xm(C,{state:B.state,scrollTop:B.scrollDOM.scrollTop}),B.destroy(),fm(k)}},[C]),(0,Tt.useEffect)(()=>{let S=a.current;if(!S)return;let A=S.state.doc.toString();if(x===A)return;let k=Math.min(S.state.selection.main.head,x.length);S.dispatch({annotations:[_c.of(!0),De.addToHistory.of(!1)],changes:{from:0,to:A.length,insert:x},selection:{anchor:x===""?0:k},scrollIntoView:!0})},[x]),(0,Tt.useEffect)(()=>{let S=a.current;if(!S)return;let A=gm(S,o,!0);return Hc(S,{...Jx(o),editable:!0}),A},[o]);let _=h===!0||e!==void 0&&(e.phase==="adjudicating"||e.phase==="submitting");return(0,Tt.useEffect)(()=>{let S=a.current;S&&mm(S,!_)},[_,a]),(0,Gr.jsxs)("div",{className:"dci-editor-wrap","data-solo":u||void 0,children:[(0,Gr.jsx)("div",{className:"dci-cm-host",ref:f}),(0,Gr.jsxs)("div",{className:"dci-pos",children:[g.line,", ",g.col]})]})}function Jx(n){let e=he();return{lineNumbers:e.lineNumbers,fontFamily:e.fontFamily,placeholder:n}}var mt=require("react");var Xr=require("react");function gn(n){let e=(0,Xr.useCallback)(i=>n?n.subscribe(i):()=>{},[n]),t=(0,Xr.useCallback)(()=>n?.getSnapshot(),[n]);return(0,Xr.useSyncExternalStore)(e,t,t)}var ne=require("react/jsx-runtime"),Fc=400;function Zx(n){return Si(`menu.source.${n}`)??n}function Lo(n,e){return`dsh-slash-option-${n}-${e}`}function Qx(n){return n==="file"?(0,ne.jsx)(Bu,{size:16}):n==="folder"?(0,ne.jsx)(_u,{size:16}):n==="session"?(0,ne.jsx)(Hu,{size:16}):typeof n=="function"?(0,ne.jsx)(n,{size:16}):null}function Em({size:n=14}){return(0,ne.jsx)("span",{style:{display:"inline-flex",transform:"rotate(-90deg)"},children:(0,ne.jsx)(Gt,{size:n})})}function Dm(n){let{triggers:e,dropdown:t}=n,i=gn(e.menu),r=gn(e.headers),s=(0,mt.useRef)(null),[o,l]=(0,mt.useState)(Fc),[a,c]=(0,mt.useState)(null),h=i?.open===!0,u=h?i.highlight??null:null;if((0,mt.useLayoutEffect)(()=>{if(!h)return;let f=s.current?.closest(".dci-card");if(!f)return;if(t){let g=f.querySelector(".dci-accessory"),b=f.getBoundingClientRect(),y=g?g.getBoundingClientRect().bottom-b.top:36;c(Math.round(y)+2);let C=!!s.current?.closest(".dci-float")?window.innerHeight-(b.top+y)-16:b.height-y-10;l(Math.max(120,Math.min(Fc,C)));return}c(null);let p=f.getBoundingClientRect().top;l(Math.max(120,Math.min(Fc,p-16)))},[h,i?.generation,t]),(0,mt.useEffect)(()=>{u&&document.getElementById(Lo(u.source,u.index))?.scrollIntoView({block:"nearest"})},[u]),(0,mt.useEffect)(()=>{if(!h)return;let f=p=>{p.target instanceof Node&&(s.current?.contains(p.target)||s.current?.closest("[data-composer-card]")?.contains(p.target)||e.dismiss())};return document.addEventListener("pointerdown",f,!0),()=>document.removeEventListener("pointerdown",f,!0)},[h,e]),!h||!i)return null;let d=f=>r?.get(f);return(0,ne.jsxs)("div",{ref:s,className:"dci-slash-menu","data-trigger-menu":"","data-dropdown":t||void 0,style:t?{top:a??38,maxHeight:o}:{maxHeight:o},children:[i.groups.map(f=>{let p=d(f.source);return p===void 0||p.length===0?null:(0,ne.jsx)("nav",{className:"dci-slash-crumbs","aria-label":v("menu.nav"),children:p.map((g,b)=>(0,ne.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:[b>0?(0,ne.jsx)("span",{className:"dci-slash-crumbSeparator","aria-hidden":"true",children:(0,ne.jsx)(Em,{size:12})}):null,(0,ne.jsx)("button",{type:"button",className:"dci-slash-crumb","data-current":g.current===!0||void 0,"aria-current":g.current===!0?"location":void 0,disabled:g.current===!0,onMouseDown:y=>{y.preventDefault(),e.pickCrumb(f.source,b)},children:g.label})]},`${b}-${g.value}`))},`${f.source}:crumbs`)}),(0,ne.jsx)("div",{className:"dci-slash-viewport",role:"listbox","aria-label":v("menu.triggerCandidates"),"aria-activedescendant":u?Lo(u.source,u.index):void 0,children:i.groups.map(f=>{if(f.status==="ready"&&f.items.length===0)return null;let p=f.items.some(g=>g.section!==void 0);return(0,ne.jsxs)(mt.Fragment,{children:[f.showGroupTitle===!1||p?null:(0,ne.jsx)("div",{className:"dci-slash-groupTitle",role:"presentation","data-source":f.source,children:Zx(f.source)}),f.status==="pending"&&f.items.length===0?(0,ne.jsxs)("div",{role:"status","aria-label":Si("menu.loading"),"data-source":f.source,children:[(0,ne.jsx)("div",{className:"dci-slash-skeletonRow",children:(0,ne.jsx)("span",{className:"dci-slash-skeletonBar",style:{width:"32%"}})}),(0,ne.jsx)("div",{className:"dci-slash-skeletonRow",children:(0,ne.jsx)("span",{className:"dci-slash-skeletonBar",style:{width:"48%"}})})]}):f.items.map((g,b)=>{let y=u?.source===f.source&&u.index===b;return(0,ne.jsxs)(mt.Fragment,{children:[g.section!==void 0&&g.section!==f.items[b-1]?.section?(0,ne.jsx)("div",{className:"dci-slash-sectionTitle",role:"presentation",children:g.section}):null,(0,ne.jsxs)("button",{id:Lo(f.source,b),type:"button",role:"option","aria-selected":y,className:"dci-slash-item","data-active":y||void 0,onMouseDown:x=>{x.preventDefault(),e.pick(f.source,b)},onMouseMove:y?void 0:()=>e.hover(f.source,b),children:[g.icon!==void 0?(0,ne.jsx)("span",{className:"dci-slash-itemIcon","aria-hidden":"true",children:Qx(g.icon)}):null,(0,ne.jsx)("span",{className:"dci-slash-itemName",children:g.label??g.name}),g.label!==void 0&&g.label.toLowerCase()!==g.name.toLowerCase()?(0,ne.jsx)("span",{className:"dci-slash-itemAlias",children:g.name}):null,g.description!==void 0?(0,ne.jsx)("span",{className:"dci-slash-itemDescription",children:g.description}):null,g.drill===!0?(0,ne.jsxs)("span",{className:"dci-slash-trailing",children:[(0,ne.jsx)("span",{className:"dci-slash-drillHintText","aria-hidden":"true",children:"\u8FDB\u5165\u76EE\u5F55"}),(0,ne.jsx)("kbd",{className:"dci-slash-drillHint","aria-hidden":"true",children:"Tab"}),(0,ne.jsx)("span",{role:"button","aria-label":Si("menu.drill"),className:"dci-slash-drill",onMouseDown:x=>{x.preventDefault(),x.stopPropagation(),e.pick(f.source,b,"drill")},children:(0,ne.jsx)(Em,{size:14})})]}):null]})]},Lo(f.source,b))})]},f.source)})})]})}var Nn=require("react");function Rm(n,e){let t=e.trim().toLowerCase();return t===""?n:n.filter(i=>{let r=typeof i.label=="string"?i.label.toLowerCase():"",s=typeof i.detail=="string"?i.detail.toLowerCase():"";return r.includes(t)||s.includes(t)})}var be=require("react/jsx-runtime");function Lm(n){let{popup:e}=n,t=gn(e.state),i=(0,Nn.useRef)(null),r=(0,Nn.useRef)(null),s=(0,Nn.useMemo)(()=>t?Rm(t.options,t.search):[],[t?.options,t?.search]);if((0,Nn.useEffect)(()=>{if(!t?.open)return;let l=c=>{r.current&&c.target instanceof Node&&r.current.contains(c.target)||e.dismiss()},a=c=>{if(!(!t.open||t.submitting)){if(t.confirming){c.key==="Escape"&&(c.preventDefault(),e.cancelConfirmation());return}c.key==="ArrowDown"?(c.preventDefault(),e.move(1)):c.key==="ArrowUp"?(c.preventDefault(),e.move(-1)):c.key==="Enter"?(c.preventDefault(),e.select(t.active)):c.key==="Escape"&&(c.preventDefault(),e.dismiss({focusComposer:!0}))}};return window.addEventListener("pointerdown",l,!0),window.addEventListener("keydown",a,!0),()=>{window.removeEventListener("pointerdown",l,!0),window.removeEventListener("keydown",a,!0)}},[t?.open,t?.submitting,t?.confirming,t?.active,e]),(0,Nn.useEffect)(()=>{t?.open&&i.current?.focus()},[t?.open]),!t?.open)return null;let o=t.confirming;return(0,be.jsxs)("div",{className:"dci-menu",ref:r,children:[t.command?(0,be.jsx)("div",{className:"dci-group-title",children:t.command}):null,t.status==="failed"?(0,be.jsx)("div",{className:"dci-error",children:t.error??v("menu.loadFailed")}):null,t.status==="failed"?(0,be.jsx)("button",{type:"button",className:"dci-btn",onClick:()=>e.retry(),children:"\u91CD\u8BD5"}):null,t.status==="ready"&&!o?(0,be.jsx)("input",{ref:i,className:"dci-search",type:"text",placeholder:v("menu.filter"),value:t.search,onChange:l=>e.setSearch(l.target.value)}):null,o?(0,be.jsxs)("div",{className:"dci-confirm",children:[(0,be.jsx)("div",{className:"dci-row-name",children:String(o.label??"")}),o.detail?(0,be.jsx)("div",{className:"dci-row-desc",children:String(o.detail)}):null,(0,be.jsxs)("label",{children:[(0,be.jsx)("input",{type:"checkbox",checked:t.acknowledged,onChange:l=>e.acknowledge(l.target.checked)}),(0,be.jsx)("span",{children:v("popup.ack")})]}),(0,be.jsxs)("div",{className:"dci-confirm-actions",children:[(0,be.jsx)("button",{type:"button",className:"dci-btn",onClick:()=>e.cancelConfirmation(),children:"\u53D6\u6D88"}),(0,be.jsx)("button",{type:"button",className:"dci-btn","data-primary":"true",disabled:t.submitting||!t.acknowledged,onClick:()=>void e.confirm(),children:"\u786E\u8BA4"})]})]}):(0,be.jsxs)(be.Fragment,{children:[t.status==="pending"?(0,be.jsx)("div",{className:"dci-empty",children:v("menu.loading")}):null,t.status==="ready"&&s.length===0?(0,be.jsx)("div",{className:"dci-empty",children:v("menu.empty")}):null,s.map((l,a)=>(0,be.jsx)("button",{type:"button",className:"dci-opt","data-active":a===t.active||void 0,onMouseEnter:()=>e.highlight(a),onClick:()=>void e.select(a),children:(0,be.jsxs)("span",{className:"dci-opt-copy",children:[(0,be.jsx)("span",{className:"dci-opt-name",children:String(l.label??"")}),l.detail?(0,be.jsx)("span",{className:"dci-opt-desc",children:String(l.detail)}):null]})},`${String(l.label)}:${a}`))]}),t.error&&t.status==="ready"?(0,be.jsx)("div",{className:"dci-error",children:t.error}):null]})}var di=require("react");var Yr=require("react"),Om=require("react-dom"),rn=require("react/jsx-runtime");function e1({size:n=16}){return(0,rn.jsxs)("svg",{width:n,height:n,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",strokeWidth:1,children:[(0,rn.jsx)("path",{d:"M2.5 2.5L13.5 13.5",stroke:"currentColor"}),(0,rn.jsx)("path",{d:"M13.5 2.5L2.5 13.5",stroke:"currentColor"})]})}function Pm(n){let{src:e,alt:t,labels:i,onClose:r}=n,s=(0,Yr.useRef)(null),o=(0,Yr.useRef)(null);return(0,Yr.useEffect)(()=>{o.current=document.activeElement instanceof HTMLElement?document.activeElement:null,s.current?.focus();let l=a=>{a.key==="Escape"&&(a.stopPropagation(),r()),a.key==="Tab"&&(a.preventDefault(),s.current?.focus())};return window.addEventListener("keydown",l,!0),()=>{window.removeEventListener("keydown",l,!0),o.current?.focus()}},[r]),(0,Om.createPortal)((0,rn.jsxs)("div",{className:"dci-lightbox",role:"dialog","aria-modal":"true","aria-label":i.dialog,children:[(0,rn.jsx)("div",{className:"dci-lightbox-mask","aria-hidden":"true",onMouseDown:r}),(0,rn.jsx)("img",{className:"dci-lightbox-image",src:e,alt:t}),(0,rn.jsx)("button",{ref:s,type:"button",className:"dci-lightbox-close","aria-label":i.close,onClick:r,children:(0,rn.jsx)(e1,{})})]}),document.body)}var J=require("react/jsx-runtime"),t1="M8.48924 28H19.5108C21.6479 28 22.7165 28 23.5594 27.6509C24.6833 27.1853 25.5762 26.2924 26.0417 25.1685C26.3909 24.3256 26.3909 23.257 26.3909 21.1199V8.79443C26.3909 8.32877 26.3909 8.09593 26.3471 7.87507C26.2887 7.58058 26.173 7.30042 26.0067 7.05048C25.882 6.86303 25.7177 6.69799 25.3893 6.36792L20.0611 1.01354C19.7304 0.681235 19.5651 0.515081 19.3769 0.38885C19.126 0.220541 18.8443 0.103463 18.5481 0.0443412C18.3259 0 18.0915 0 17.6226 0H8.48924C6.35209 0 5.28351 0 4.4406 0.349145C3.31672 0.814671 2.4238 1.70759 1.95828 2.83147C1.60913 3.67438 1.60913 4.74296 1.60913 6.88011V21.1199C1.60913 23.257 1.60913 24.3256 1.95828 25.1685C2.4238 26.2924 3.31672 27.1853 4.4406 27.6509C5.28351 28 6.35209 28 8.48924 28Z",n1="M26.3909 7.37445L19.0525 0V3.77445C19.0525 4.89271 19.0525 5.45184 19.2352 5.89289C19.4788 6.48096 19.946 6.94818 20.5341 7.19176C20.9751 7.37445 21.5342 7.37445 22.6525 7.37445H26.3909Z";function Im({size:n=28}){return(0,J.jsxs)("svg",{width:n,height:n,viewBox:"0 0 28 28",fill:"none","aria-hidden":"true",children:[(0,J.jsx)("path",{d:t1,fill:"currentColor"}),(0,J.jsx)("path",{d:n1,fill:"var(--dsw-static-neutral-00, #fff)",fillOpacity:"0.7"})]})}function i1(n){let e=n.split(/[\\/]/).pop()??n,t=e.lastIndexOf(".");return t<0?"":e.slice(t+1)}function r1(n){if(n<1024)return`${n}B`;let e=n/1024;if(e<1024)return`${e<10?e.toFixed(1):Math.round(e)}KB`;let t=e/1024;if(t<1024)return`${t<10?t.toFixed(1):Math.round(t)}MB`;let i=t/1024;return`${i<10?i.toFixed(1):Math.round(i)}GB`}function _m(n){let{state:e,sessionId:t,onRemove:i}=n,r=Y.conversation,s=gn(r?.fileUploads),o=(0,di.useRef)(null),[l,a]=(0,di.useState)({left:!1,right:!1}),[c,h]=(0,di.useState)(null),u=e===void 0||typeof r?.resolveDraftAttachments!="function"?[]:r.resolveDraftAttachments(e.attachmentIds)??[];if((0,di.useEffect)(()=>{let f=o.current;if(!f)return;let p=()=>{let y=f.scrollWidth-f.clientWidth,x={left:f.scrollLeft>1,right:y>1&&f.scrollLeft<y-1};a(C=>C.left===x.left&&C.right===x.right?C:x)};p(),f.addEventListener("scroll",p,{passive:!0});let g=typeof ResizeObserver=="function"?new ResizeObserver(p):null;g?.observe(f);let b=y=>{Math.abs(y.deltaY)<=Math.abs(y.deltaX)||(y.preventDefault(),f.scrollLeft+=y.deltaY)};return f.addEventListener("wheel",b,{passive:!1}),()=>{f.removeEventListener("scroll",p),f.removeEventListener("wheel",b),g?.disconnect()}},[u.length]),u.length===0)return null;let d=f=>{o.current?.scrollBy({left:f*Math.max(120,(o.current?.clientWidth??240)*.8),behavior:"smooth"})};return(0,J.jsxs)("div",{className:"dci-attach-root",children:[(0,J.jsx)("div",{className:"dci-attach-rail",ref:o,role:"group","aria-label":v("attach.group"),children:u.map(f=>{let p=s?.[f.id],g=p?.status??"ready",b=f.kind==="image"||f.file.type.startsWith("image/"),y=g==="uploading"&&p?.total?Math.min(100,Math.round((p.loaded??0)/p.total*100)):null;if(b)return(0,J.jsxs)("div",{className:"dci-attach-item",children:[(0,J.jsx)("button",{type:"button",className:"dci-attach-thumb",title:v("image.openOriginal"),"aria-label":v("image.openOriginalLabel",{name:f.file.name}),onClick:()=>{f.previewUrl&&h({url:f.previewUrl,name:f.file.name})},children:f.previewUrl?(0,J.jsx)("img",{src:f.previewUrl,alt:f.file.name}):(0,J.jsx)(Im,{size:28})}),(0,J.jsx)("button",{type:"button",className:"dci-attach-remove","aria-label":v("attach.remove",{name:f.file.name}),onClick:()=>i(f.id),children:(0,J.jsx)(Nm,{})}),y!==null?(0,J.jsx)("span",{className:"dci-attach-progress",children:(0,J.jsx)("span",{className:"dci-attach-progressBar",style:{width:`${y}%`}})}):null]},f.id);let x=g==="error",C=g==="uploading"?v("attach.uploading"):x?v("attach.failed"):[i1(f.file.name).toUpperCase().slice(0,8),r1(f.file.size)].filter(S=>S!=="").join(" "),_=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)("span",{className:"dci-attach-name",children:f.file.name}),(0,J.jsx)("span",{className:x?"dci-attach-meta dci-attach-metaFailed":"dci-attach-meta",children:C})]});return(0,J.jsxs)("div",{className:x?"dci-attach-card dci-attach-cardFailed":"dci-attach-card",title:f.file.name,children:[(0,J.jsx)("span",{className:"dci-attach-icon","aria-hidden":"true",children:g==="uploading"?(0,J.jsx)("span",{className:"dci-attach-spinner"}):(0,J.jsx)(Im,{size:28})}),x?(0,J.jsx)("button",{type:"button",className:"dci-attach-body dci-attach-retry","aria-label":v("attach.retry"),onClick:()=>s1(t,f.id),children:_}):(0,J.jsx)("span",{className:"dci-attach-body","aria-label":v("attach.pending",{name:f.file.name}),children:_}),(0,J.jsx)("button",{type:"button",className:x?"dci-attach-removeInline dci-attach-cardFailedRemove":"dci-attach-removeInline","aria-label":v("attach.remove",{name:f.file.name}),onClick:()=>i(f.id),children:(0,J.jsx)(Nm,{})}),y!==null?(0,J.jsx)("span",{className:"dci-attach-progress",children:(0,J.jsx)("span",{className:"dci-attach-progressBar",style:{width:`${y}%`}})}):null]},f.id)})}),l.left?(0,J.jsx)("button",{type:"button",className:"dci-attach-arrow dci-attach-arrowLeft","aria-label":v("attach.scrollLeft"),onClick:()=>d(-1),children:(0,J.jsx)(Bm,{dir:"left"})}):null,l.right?(0,J.jsx)("button",{type:"button",className:"dci-attach-arrow dci-attach-arrowRight","aria-label":v("attach.scrollRight"),onClick:()=>d(1),children:(0,J.jsx)(Bm,{dir:"right"})}):null,c?(0,J.jsx)(Pm,{src:c.url,alt:c.name,labels:{dialog:v("image.preview"),close:v("image.closePreview")},onClose:()=>h(null)}):null]})}function s1(n,e){let t=Y.conversation;if(!(!n||typeof t?.retryFileUpload!="function"))try{t.retryFileUpload(n,e)}catch{}}function Nm(){return(0,J.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none","aria-hidden":"true",children:(0,J.jsx)("path",{d:"M1.6 1.6L8.4 8.4M8.4 1.6L1.6 8.4",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}function Bm({dir:n}){return(0,J.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",style:n==="left"?{transform:"scaleX(-1)"}:void 0,children:(0,J.jsx)("path",{d:"M5.5 3.5L9 7L5.5 10.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var zt=require("react");function Hm(n){let e=Y.modelDirectories;if(!e||typeof e.directoryFor!="function"||!n)return null;try{return e.directoryFor(n)}catch(t){return Kt("directoryFor failed",t),null}}var Gi=require("react"),Jr=require("react/jsx-runtime");function Xi(n){let{anchor:e,onClose:t,children:i,alignEnd:r,minWidth:s=218,side:o="top"}=n,l=(0,Gi.useRef)(null);return(0,Gi.useLayoutEffect)(()=>{let c=l.current;if(!c)return;let h=c.getBoundingClientRect(),u;o==="top"?(u=Math.max(12,e.top-h.height-4),c.style.bottom="auto"):(u=Math.min(window.innerHeight-h.height-12,e.bottom+4),c.style.bottom="auto"),c.style.top=`${u}px`;let d=e.left;r&&(d=e.right-h.width),d=Math.min(Math.max(12,d),window.innerWidth-h.width-12),c.style.left=`${d}px`},[e,r,o]),(0,Gi.useEffect)(()=>{let c=h=>{l.current&&h.target instanceof Node&&l.current.contains(h.target)||t()};return window.addEventListener("pointerdown",c,!0),()=>window.removeEventListener("pointerdown",c,!0)},[t]),(0,Jr.jsx)("div",{ref:l,className:"dci-menu",style:o==="bottom"?{top:e.bottom+4,bottom:"auto",...r?{left:"auto",right:window.innerWidth-e.right}:{left:e.left},minWidth:s}:{left:e.left,bottom:window.innerHeight-e.top+4,top:"auto",...r?{left:"auto",right:window.innerWidth-e.right}:{},minWidth:s},children:(0,Jr.jsx)("div",{className:"dci-viewport",children:i})})}function Zr({size:n=16}){return(0,Jr.jsx)("svg",{width:n,height:n,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:(0,Jr.jsx)("path",{d:"M3 8.5L6.5 12L13 4.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}var X=require("react/jsx-runtime");function Wc(n,e){if(!n)return null;for(let t of e){if(t.id!==n.provider)continue;let i=t.models.find(r=>r.id===n.model);if(i)return{group:t,model:i}}return null}function o1(n,e){return n?Wc(n,e)?.model.name??n.model:v("tool.modelPlain")}function l1(n,e){let t=n?.reasoningEffort;if(!t)return"Default";let i=Wc(n,e)?.model.reasoning?.efforts.find(r=>r.id===t);return i?i.name:t.charAt(0).toUpperCase()+t.slice(1)}function zm(n){let{sessionId:e,onNotify:t}=n,[i,r]=(0,zt.useState)(!1),[s,o]=(0,zt.useState)(!1),[l,a]=(0,zt.useState)("root"),c=(0,zt.useRef)(null),[h,u]=(0,zt.useState)(null),d=Hm(e),f=gn(d?.store);(0,zt.useEffect)(()=>{!s||!d||d.load().catch(()=>{})},[s]),(0,zt.useEffect)(()=>{if(!s)return;let k=N=>{A(p.current,N.target)||b()};return window.addEventListener("pointerdown",k,!0),()=>window.removeEventListener("pointerdown",k,!0)},[s]);let p=(0,zt.useRef)(null),g=()=>{let k=c.current;k&&(u(k.getBoundingClientRect()),a("root"),o(!0))},b=()=>{o(!1),a("root")},y=f?.current??null,x=f?.groups??[],C=o1(y,x),_=l1(y,x),S=async(k,N,B)=>{if(!d||i)return;let F={provider:k.id,model:N.id,...B!==void 0?{reasoningEffort:B}:{}};r(!0);try{await d.select(F)}catch(V){t?.("error",V instanceof Error?V.message:String(V))}finally{r(!1),b()}},A=(k,N)=>!!k&&N instanceof Node&&k.contains(N);return(0,X.jsxs)("div",{style:{position:"relative",minWidth:0},children:[(0,X.jsxs)("button",{ref:c,type:"button",className:"dci-trigger",style:{maxWidth:"min(360px, 45cqw)"},"data-open":s,onMouseDown:k=>k.preventDefault(),disabled:!d,onClick:()=>s?b():g(),"aria-label":v("tool.model",{name:`${C} \xB7 ${_}`}),title:v("tool.model",{name:`${C} \xB7 ${_}`}),children:[(0,X.jsx)("span",{className:"dci-triggerLabel",children:C}),_?(0,X.jsx)("span",{className:"dci-triggerEffort",children:_}):null,(0,X.jsx)("span",{className:"dci-chev","data-open":s,children:(0,X.jsx)(Gt,{size:14})})]}),s&&h?(0,X.jsx)("div",{ref:p,children:(0,X.jsxs)(Xi,{anchor:h,onClose:b,alignEnd:!0,minWidth:240,children:[l==="root"?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsxs)("button",{type:"button",className:"dci-cell",onClick:()=>a("models"),children:[(0,X.jsx)("span",{className:"dci-cellLabel",children:v("menu.model")}),(0,X.jsx)("span",{className:"dci-cellValue",children:C}),(0,X.jsx)("span",{className:"dci-cellChevron",style:{transform:"rotate(-90deg)"},"aria-hidden":"true",children:(0,X.jsx)(Gt,{size:14})})]}),(0,X.jsxs)("button",{type:"button",className:"dci-cell",onClick:()=>a("efforts"),children:[(0,X.jsx)("span",{className:"dci-cellLabel",children:v("menu.reasoning")}),(0,X.jsx)("span",{className:"dci-cellValue",children:_}),(0,X.jsx)("span",{className:"dci-cellChevron",style:{transform:"rotate(-90deg)"},"aria-hidden":"true",children:(0,X.jsx)(Gt,{size:14})})]})]}):null,l==="models"?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)("div",{className:"dci-menuLabel",children:v("menu.model")}),x.map(k=>(0,X.jsxs)("div",{children:[(0,X.jsx)("div",{className:"dci-menuLabel",children:k.name}),k.models.map(N=>{let B=y!==null&&y.provider===k.id&&y.model===N.id;return(0,X.jsxs)("button",{type:"button",className:"dci-item",disabled:i,title:N.description,onClick:()=>void S(k,N,N.reasoning?.defaultEffort),children:[(0,X.jsx)("span",{className:"dci-itemLabel",children:N.name}),B?(0,X.jsx)("span",{className:"dci-check","aria-hidden":"true",children:(0,X.jsx)(Zr,{size:16})}):null]},N.id)})]},k.id)),x.length===0?(0,X.jsx)("div",{className:"dci-empty",children:f?.status==="loading"?v("menu.refreshingModels"):v("menu.noModels")}):null]}):null,l==="efforts"?(0,X.jsxs)(X.Fragment,{children:[(0,X.jsx)("div",{className:"dci-menuLabel",children:v("menu.reasoning")}),(()=>{let k=Wc(y,x),N=k?.model.reasoning?.efforts??[];return N.length===0?(0,X.jsx)("div",{className:"dci-empty",children:v("menu.reasoningNone")}):N.map(B=>{let F=y?.reasoningEffort===B.id;return(0,X.jsxs)("button",{type:"button",className:"dci-item",disabled:i,title:B.description,onClick:()=>k&&void S(k.group,k.model,B.id),children:[(0,X.jsx)("span",{className:"dci-itemLabel",children:B.name}),F?(0,X.jsx)("span",{className:"dci-check","aria-hidden":"true",children:(0,X.jsx)(Zr,{size:16})}):null]},B.id)})})()]}):null]})}):null]})}var Ft=require("react");var Oo=["read-only","workspace-write","danger-full-access"];function Fm(n){return Si(`perm.preset.${n}`)??n}function fi(){return{title:v("perm.confirmTitle"),description:v("perm.warning"),acknowledgeLabel:v("perm.ack"),cancelLabel:v("perm.cancel"),enableLabel:v("perm.confirmEnable")}}function Vc(n,e){return Oo.includes(n)&&(e===n||e===Fm(n))?Fm(n):/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)?e.split("-").map(i=>i.charAt(0).toUpperCase()+i.slice(1)).join(" "):e}async function a1(n,e){let t=Y.sessions?.binding(n)?.session;if(!t||typeof t.command!="function")return null;try{let i=await t.command(`/permission ${e}`);return i?.ok?i.value?.matched===!1?{ok:!1,via:"command",message:v("perm.channelRejected")}:(ll(e),{ok:!0,via:"command"}):{ok:!1,via:"command",message:v("perm.channelRejected")}}catch(i){return Kt("permission command failed",i),{ok:!1,via:"command",message:String(i)}}}function c1(n,e,t){try{return e.setDraft(`/permission ${n}`),e.submit(),setTimeout(()=>{try{e.setDraft(t)}catch(i){Kt("permission draft restore failed",i)}},600),ll(n),{ok:!0,via:"draft-exchange"}}catch(i){return Kt("permission draft-exchange failed",i),{ok:!1,via:"draft-exchange",message:String(i)}}}async function Wm(n,e,t,i){let r=await a1(n,e);return r||(t?c1(e,t,i):{ok:!1,via:"draft-exchange",message:v("perm.noInputSurface")})}var Z=require("react/jsx-runtime"),Vm="danger-full-access";function $c(n){if(n==="read-only")return(0,Z.jsx)(Wu,{size:16});if(n==="workspace-write")return(0,Z.jsx)(Vu,{size:16});if(n===Vm)return(0,Z.jsx)($u,{size:16})}function $m(n){let{sessionId:e,actions:t,currentDraft:i,useProjection:r,disabled:s,onNotify:o}=n,l=r?r("permissions"):void 0,[a,c]=(0,Ft.useState)(null),[h,u]=(0,Ft.useState)(!1),[d,f]=(0,Ft.useState)(null),[p,g]=(0,Ft.useState)(!1),b=(0,Ft.useRef)(null),[y,x]=(0,Ft.useState)(null);if((0,Ft.useEffect)(()=>{s||l===void 0&&(u(!1),g(!1),f(null))},[s,l]),!l||typeof l.currentValue!="string")return null;let C=a!==null||d!==null,_=a??l.currentValue,S=Vc(_,_),A=[...Oo,...Oo.includes(_)?[]:[_]].map(M=>({id:M,label:Vc(M,M),icon:$c(M)})),k=()=>u(!1),N=M=>{e&&(c(M),Wm(e,M,t,i).then(z=>{z.ok||o?.("error",z.message??v("perm.switchFailed"))}).finally(()=>c(null)))},B=M=>{if(k(),M!==l.currentValue){if(M===Vm){g(!1),f(M);return}N(M)}},F=()=>{g(!1),f(null)},V=()=>{if(s||!p||d===null)return;let M=d;F(),N(M)};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("button",{ref:b,type:"button",className:"dci-trigger","aria-label":v("perm.trigger",{name:S}),title:void 0,disabled:s||C,onMouseDown:M=>M.preventDefault(),onClick:()=>{h||x(b.current?.getBoundingClientRect()??null),u(!h)},children:[$c(_)!==void 0?(0,Z.jsx)("span",{className:"dci-triggerIcon","aria-hidden":"true",children:$c(_)}):null,(0,Z.jsx)("span",{className:"dci-triggerLabel",children:S}),(0,Z.jsx)("span",{className:"dci-chev","data-open":h,children:(0,Z.jsx)(Gt,{size:14})})]}),h&&y?(0,Z.jsx)(Xi,{anchor:y,onClose:k,children:A.map(M=>{let z=M.id===_;return(0,Z.jsxs)("button",{type:"button",className:"dci-item",disabled:C,onClick:()=>B(M.id),children:[M.icon!==void 0?(0,Z.jsx)("span",{className:"dci-itemIcon","aria-hidden":"true",children:M.icon}):null,(0,Z.jsx)("span",{className:"dci-itemLabel",children:M.label}),z?(0,Z.jsx)("span",{className:"dci-check","aria-hidden":"true",children:(0,Z.jsx)(Zr,{size:16})}):null]},M.id)})}):null,(0,Z.jsx)(h1,{open:d!==null,acknowledged:p,disabled:s===!0,onAcknowledgedChange:g,onCancel:F,onConfirm:V})]})}function h1(n){let{open:e,acknowledged:t,disabled:i,onAcknowledgedChange:r,onCancel:s,onConfirm:o}=n;return(0,Ft.useEffect)(()=>{if(!e)return;let l=a=>{a.key==="Escape"&&s()};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[e]),e?(0,Z.jsxs)("div",{className:"dci-modal-root",role:"presentation",children:[(0,Z.jsx)("div",{className:"dci-modal-mask","aria-hidden":"true",onClick:s}),(0,Z.jsxs)("div",{className:"dci-modal-dialog dci-confirm",role:"dialog","aria-modal":"true","aria-label":fi().title,children:[(0,Z.jsxs)("div",{className:"dci-modal-content",children:[(0,Z.jsxs)("div",{className:"dci-modal-header",children:[(0,Z.jsx)("h2",{className:"dci-modal-title",children:fi().title}),(0,Z.jsx)("button",{type:"button",className:"dci-modal-close","aria-label":v("perm.close"),onClick:s,children:(0,Z.jsx)(Nu,{size:14})})]}),(0,Z.jsxs)("div",{className:"dci-modal-body",children:[(0,Z.jsxs)("div",{className:"dci-confirm-warning",children:[(0,Z.jsx)("span",{className:"dci-confirm-warningIcon","aria-hidden":"true",children:(0,Z.jsx)(Uu,{size:18})}),(0,Z.jsx)("p",{children:fi().description})]}),(0,Z.jsxs)("label",{className:"dci-confirm-ack",children:[(0,Z.jsx)("input",{type:"checkbox",checked:t,disabled:i,autoFocus:!0,onChange:l=>r(l.currentTarget.checked)}),(0,Z.jsx)("span",{children:fi().acknowledgeLabel})]})]})]}),(0,Z.jsxs)("div",{className:"dci-modal-footer",children:[(0,Z.jsx)("button",{type:"button",className:"dci-btn dci-btn-outline dci-btn-cancel",onClick:s,children:fi().cancelLabel}),(0,Z.jsx)("button",{type:"button",className:"dci-btn dci-btn-primary dci-btn-confirm",disabled:i||!t,onClick:o,children:fi().enableLabel})]})]})]}):null}var At=require("react/jsx-runtime");function Um(n){n.preventDefault()}function Km(n){let{sessionId:e,state:t,actions:i,triggers:r,caretRef:s,useProjection:o,disabled:l,onNotify:a}=n;jt();let c=t?.attachmentIds??[],h=()=>{r&&km(r,void 0,s.current??0)};return(0,At.jsxs)("div",{className:"dci-row",children:[(0,At.jsxs)("div",{className:"dci-tools",children:[(0,At.jsx)("button",{type:"button",className:"dci-add","aria-label":v("tool.command"),"aria-haspopup":"listbox",title:v("tool.command"),disabled:!r,onMouseDown:Um,onClick:h,children:(0,At.jsx)(zu,{size:14})}),(0,At.jsx)($m,{sessionId:e,actions:i,currentDraft:t?.draft??"",useProjection:o,disabled:l,onNotify:a})]}),(0,At.jsxs)("div",{className:"dci-trailing",children:[(0,At.jsx)(zm,{sessionId:e,onNotify:a}),(0,At.jsx)("button",{type:"button",className:"dci-send","aria-label":n.primaryStops?v("tool.stop"):v("tool.send"),title:n.primaryStops?v("tool.stop"):v("tool.send"),disabled:n.primaryStops?!n.onStop:n.sendDisabled,onMouseDown:Um,onClick:()=>n.primaryStops?n.onStop?.():n.onSend(),children:n.primaryStops?(0,At.jsx)(ju,{size:16}):(0,At.jsx)(Ku,{size:16})})]})]})}var bn=require("react");var Qr=["tokenUsage","contextPressure","sessionUsage","usage","sessionStats"];function we(n){return typeof n=="number"&&Number.isFinite(n)?n:void 0}function u1(n){if(!n||typeof n!="object")return;let e=n,t={cacheReadTokens:we(e.cacheReadTokens),cacheWriteTokens:we(e.cacheWriteTokens),outputTokens:we(e.outputTokens),uncachedInputTokens:we(e.uncachedInputTokens)};return Object.values(t).some(i=>i!==void 0)?t:void 0}function d1(n){if(!n||typeof n!="object")return;let e=n,t={contextWindow:we(e.contextWindow),pressureTokens:we(e.pressureTokens),projectedTokens:we(e.projectedTokens)};return t.contextWindow!==void 0&&t.pressureTokens!==void 0?t:void 0}function f1(n){if(!n||typeof n!="object")return;let e=n,t={turns:we(e.turns),steps:we(e.steps),llmMs:we(e.llmMs),toolMs:we(e.toolMs),ttftMs:we(e.ttftMs),ttftSteps:we(e.ttftSteps),decodeMs:we(e.decodeMs),decodeTokens:we(e.decodeTokens)};return Object.values(t).some(i=>i!==void 0)?t:void 0}function p1(n){if(!Array.isArray(n))return;let e=new Set,t=0,i=0,r=0,s=0,o=0,l=0,a=0;for(let c of n){if(!c||typeof c!="object")continue;let h=c;if(h.kind==="tool-result"){let y=we(h.callTime),x=we(h.time);y!==void 0&&x!==void 0&&(r+=Math.max(0,x-y));continue}if(h.kind!=="assistant")continue;e.add(h.turn),t+=1;let u=h.timing,d=we(u?.stepStartTime),f=we(u?.firstTokenTime),p=we(u?.completedTime);d!==void 0&&p!==void 0&&(i+=Math.max(0,p-d)),d!==void 0&&f!==void 0&&(s+=Math.max(0,f-d),o+=1),f!==void 0&&p!==void 0&&(l+=Math.max(0,p-f));let g=h.usage,b=we(g?.outputTokens);b!==void 0&&b>=0&&(a+=b)}if(n.length!==0)return{turns:e.size,steps:t,llmMs:i,toolMs:r,ttftMs:s,ttftSteps:o,decodeMs:l,decodeTokens:a}}function Uc(n){let e=Math.max(0,n);return e>=10?String(Math.round(e)):String(Math.round(e*10)/10)}function Kc(n,e){if(e<=0)return null;if(n>=e)return"100";for(let t=0;t<20;t++){let i=10**t,r=Math.round(n/e*100*i)/i;if(r<100)return t===0?String(r):r.toFixed(t)}return"99.99"}function Po(n){let e=n/1e3;if(e<60)return`${Math.round(e*10)/10}s`;let t=Math.round(e);return`${Math.floor(t/60)}\u5206${t%60}\u79D2`}function jm(n,e,t){let i=n?n(Qr[0]):void 0,r=n?n(Qr[1]):void 0,s=n?n(Qr[2]):void 0,o=n?n(Qr[3]):void 0,l=n?n(Qr[4]):void 0,a=u1(i),c=d1(r),h=f1(l)??p1(t)??m1(s,o),u={};if(h&&((h.turns!==void 0||h.steps!==void 0)&&(u.turns=h.turns,u.steps=h.steps),h.llmMs!==void 0&&(u.llmMs=h.llmMs),h.toolMs!==void 0&&(u.toolMs=h.toolMs),h.ttftMs!==void 0&&(u.ttftMs=h.ttftMs),h.ttftSteps!==void 0&&(u.ttftSteps=h.ttftSteps),h.decodeMs!==void 0&&(u.decodeMs=h.decodeMs),h.decodeTokens!==void 0&&(u.decodeTokens=h.decodeTokens),(h.decodeMs??0)>0&&(u.tokensPerSecond=(h.decodeTokens??0)/(h.decodeMs/1e3))),a){let p=(a.cacheReadTokens??0)+(a.cacheWriteTokens??0)+(a.outputTokens??0)+(a.uncachedInputTokens??0);p>0&&(u.totalTokens=p,u.uncachedInputTokens=a.uncachedInputTokens,u.cacheReadTokens=a.cacheReadTokens,u.cacheWriteTokens=a.cacheWriteTokens,u.outputTokens=a.outputTokens);let g=(a.cacheReadTokens??0)+(a.cacheWriteTokens??0)+(a.uncachedInputTokens??0);if(g>0){let b=Kc(a.cacheReadTokens??0,g);b!==null&&(u.cacheHitText=b)}}let d=c?.contextWindow,f=c?.projectedTokens??c?.pressureTokens;return d!==void 0&&d>0&&f!==void 0&&(u.contextPct=f/d*100),Object.keys(u).length>0?u:null}function m1(n,e){let t=i=>{if(!i||typeof i!="object")return;let r=i,s=we(r.turns)??we(r.turnCount),o=we(r.steps)??we(r.stepCount);return s!==void 0||o!==void 0?{turns:s,steps:o}:void 0};return t(n)??t(e)}function Io(n){let e=t=>t>=100?String(Math.round(t)):String(Math.round(t*10)/10);return n<1e3?`${n} tok`:n<1e6?`${e(n/1e3)}K tok`:`${e(n/1e6)}M tok`}var P=require("react/jsx-runtime");function jc({size:n=14}){return(0,P.jsxs)("svg",{width:n,height:n,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,P.jsx)("path",{d:"M3.49 13.26A6.375 6.375 0 1 1 12.51 13.26",stroke:"currentColor",strokeWidth:"1.25"}),(0,P.jsx)("path",{d:"M8 8.75L11.4 5.35",stroke:"currentColor",strokeWidth:"1.25"}),(0,P.jsx)("circle",{cx:"8",cy:"8.75",r:"1.55",fill:"currentColor"})]})}function qm({size:n=14}){return(0,P.jsxs)("svg",{width:n,height:n,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,P.jsx)("ellipse",{cx:"8",cy:"3.6",rx:"5.75",ry:"2.4",stroke:"currentColor",strokeWidth:"1.25"}),(0,P.jsx)("path",{d:"M2.25 3.6V12.3A5.75 2.4 0 0 0 13.75 12.3V3.6",stroke:"currentColor",strokeWidth:"1.25"}),(0,P.jsx)("path",{d:"M2.25 7.95A5.75 2.4 0 0 0 13.75 7.95",stroke:"currentColor",strokeWidth:"1.25"})]})}function Xm(n){let{label:e,icon:t,titleValue:i,rows:r}=n;return(0,P.jsxs)("div",{className:"dci-stat-panel",role:"dialog","aria-label":e,children:[(0,P.jsxs)("div",{className:"dci-stat-panelTitle",children:[(0,P.jsxs)("span",{className:"dci-stat-panelLabel",children:[t,e]}),i!==void 0?(0,P.jsx)("span",{className:"dci-stat-panelValue",children:i}):null]}),(0,P.jsx)("div",{className:"dci-stat-panelRule","aria-hidden":"true"}),(0,P.jsx)("dl",{className:"dci-stat-details",children:r.map(([s,o])=>(0,P.jsxs)("div",{style:{display:"contents"},children:[(0,P.jsx)("dt",{children:s}),(0,P.jsx)("dd",{children:o})]},s))})]})}function es(n){let e=String(n??0),t=[];for(let i=e.length;i>0;i-=3)t.unshift(e.slice(Math.max(0,i-3),i));return`${t.join(",")} tok`}function g1(n){let{stats:e,open:t,onToggle:i}=n,r=v("stats.turns",{turns:e.turns??0,steps:e.steps??0}),s=(e.decodeMs??0)>0?Uc((e.decodeTokens??0)/((e.decodeMs??1)/1e3)):null,o=(e.llmMs??0)>0||(e.toolMs??0)>0||(e.ttftSteps??0)>0||(e.decodeMs??0)>0,l=(0,P.jsxs)("span",{className:"dci-stat-label",children:[r,s!==null?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("span",{className:"dci-stat-sep","aria-hidden":"true",children:"\xB7"}),v("stats.tps",{tps:s})]}):null]});return o?(0,P.jsxs)("span",{className:"dci-stat-anchor",children:[(0,P.jsxs)("button",{type:"button",className:"dci-stat-pill","aria-haspopup":"dialog","aria-expanded":t,"aria-label":s!==null?`${r} \xB7 ${v("stats.tps",{tps:s})}`:r,onClick:i,children:[(0,P.jsx)(jc,{}),l]}),t?(0,P.jsx)(Xm,{label:v("stats.session"),icon:(0,P.jsx)(jc,{}),rows:[[v("stats.modelTime"),(e.llmMs??0)>0?Po(e.llmMs):"\u2014"],[v("stats.toolTime"),(e.toolMs??0)>0?Po(e.toolMs):"\u2014"],[v("stats.ttft"),(e.ttftSteps??0)>0?Po(e.ttftMs/e.ttftSteps):"\u2014"],[v("stats.tpsLabel"),(e.decodeMs??0)>0?v("stats.tps",{tps:Uc((e.decodeTokens??0)/((e.decodeMs??1)/1e3))}):"\u2014"]]}):null]}):(0,P.jsx)("span",{className:"dci-stat-anchor",children:(0,P.jsxs)("span",{className:"dci-stat-pill",children:[(0,P.jsx)(jc,{}),l]})})}function b1(n){let{stats:e,open:t,onToggle:i}=n;if(e.totalTokens===void 0)return null;let r=e.totalTokens,s=e.cacheHitText??Kc(e.cacheReadTokens??0,(e.cacheReadTokens??0)+(e.cacheWriteTokens??0)+(e.uncachedInputTokens??0));return(0,P.jsxs)("span",{className:"dci-stat-anchor",children:[(0,P.jsxs)("button",{type:"button",className:"dci-stat-pill","aria-haspopup":"dialog","aria-expanded":t,"aria-label":s!==null?`${Io(r)} \xB7 ${v("stats.cacheHit",{percent:s})}`:Io(r),onClick:i,children:[(0,P.jsx)(qm,{}),(0,P.jsxs)("span",{className:"dci-stat-label",children:[Io(r),s!==null?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("span",{className:"dci-stat-sep","aria-hidden":"true",children:"\xB7"}),v("stats.cacheHit",{percent:s})]}):null]})]}),t?(0,P.jsx)(Xm,{label:v("stats.usage"),icon:(0,P.jsx)(qm,{}),titleValue:es(r),rows:[[v("stats.cacheHitLabel"),s!==null?`${s}%`:"\u2014"],[v("stats.uncached"),es(e.uncachedInputTokens)],[v("stats.cacheRead"),es(e.cacheReadTokens)],...e.cacheWriteTokens?[[v("stats.cacheWrite"),es(e.cacheWriteTokens)]]:[],[v("stats.output"),es(e.outputTokens)]]}):null]})}function qc(n){let{useProjection:e,sessionId:t,chatNodes:i}=n,[r,s]=(0,bn.useState)(null),o=(0,bn.useRef)(null),l=jm(e,t,i);(0,bn.useEffect)(()=>{if(r===null)return;let h=u=>{o.current&&u.target instanceof Node&&o.current.contains(u.target)||s(null)};return window.addEventListener("pointerdown",h,!0),()=>window.removeEventListener("pointerdown",h,!0)},[r]);let a=e?e("contextPressure"):void 0,c=a!==void 0&&!!a.contextWindow;return!l&&!c?null:(0,P.jsxs)("div",{className:"dci-stat-root","data-composer-stats":"codinput",ref:o,children:[l?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(g1,{stats:l,open:r==="rounds",onToggle:()=>s(r==="rounds"?null:"rounds")}),(0,P.jsx)(b1,{stats:l,open:r==="tokens",onToggle:()=>s(r==="tokens"?null:"tokens")})]}):null,(0,P.jsx)(y1,{useProjection:e})]})}var Gm=2*Math.PI*5.5;function ts(n){return n>=1e6?`${(n/1e6).toFixed(n%1e6===0?0:1)}M`:n>=1e3?`${(n/1e3).toFixed(n%1e3===0?0:1)}K`:`${n}`}function y1(n){let{useProjection:e}=n,[t,i]=(0,bn.useState)(!1),r=(0,bn.useRef)(null),s=e?e("contextPressure"):void 0,o=e?e("contextBreakdown"):void 0;if((0,bn.useEffect)(()=>{if(!t)return;let d=f=>{r.current&&f.target instanceof Node&&r.current.contains(f.target)||i(!1)};return window.addEventListener("pointerdown",d,!0),()=>window.removeEventListener("pointerdown",d,!0)},[t]),!s||!s.contextWindow)return null;let l=s.contextWindow,a=s.projectedTokens??s.pressureTokens??0,c=Math.min(100,Math.round(a/l*100)),h=c/100*Gm,u=[["dci-gauge-colorSystem",o?.systemTokens??0],["dci-gauge-colorTools",o?.toolsTokens??0],["dci-gauge-colorMessages",o?.messageTokens??0]];return(0,P.jsxs)("span",{className:"dci-gauge-root",ref:r,children:[(0,P.jsxs)("button",{type:"button",className:"dci-gauge-trigger","aria-label":v("tool.context",{percent:Math.round(c)}),"aria-haspopup":"dialog","aria-expanded":t,title:v("tool.context",{percent:Math.round(c)}),onClick:()=>i(!t),children:[(0,P.jsxs)("svg",{viewBox:"0 0 14 14",width:"14",height:"14","aria-hidden":"true",children:[(0,P.jsx)("circle",{className:"dci-gauge-track",cx:"7",cy:"7",r:"5.5"}),(0,P.jsx)("circle",{className:"dci-gauge-fill",cx:"7",cy:"7",r:"5.5",strokeDasharray:`${h} ${Gm}`,transform:"rotate(-90 7 7)"})]}),(0,P.jsxs)("span",{children:[Math.round(c),"%"]})]}),t?(0,P.jsxs)("div",{className:"dci-gauge-panel",role:"dialog","aria-label":v("tool.contextTitle"),children:[(0,P.jsxs)("div",{className:"dci-gauge-header",children:[(0,P.jsx)("span",{className:"dci-gauge-headline",children:v("tool.contextTitle")}),(0,P.jsxs)("span",{className:"dci-gauge-percent",children:[Math.round(c),"%"]}),(0,P.jsxs)("span",{className:"dci-gauge-figures",children:["~",ts(a)," / ",ts(l)]})]}),(0,P.jsx)("div",{className:"dci-gauge-bar",children:u.map(([d,f])=>(0,P.jsx)("div",{className:`dci-gauge-segment ${d}`,style:{width:`${f/l*100}%`}},d))}),(0,P.jsxs)("dl",{className:"dci-gauge-rows",children:[(0,P.jsxs)("div",{className:"dci-gauge-row",children:[(0,P.jsxs)("dt",{children:[(0,P.jsx)("span",{className:"dci-gauge-swatch dci-gauge-colorSystem","aria-hidden":"true"}),v("stats.prompt")]}),(0,P.jsxs)("dd",{children:["~",ts(o?.systemTokens??0)]})]}),(0,P.jsxs)("div",{className:"dci-gauge-row",children:[(0,P.jsxs)("dt",{children:[(0,P.jsx)("span",{className:"dci-gauge-swatch dci-gauge-colorTools","aria-hidden":"true"}),v("stats.tools")]}),(0,P.jsxs)("dd",{children:["~",ts(o?.toolsTokens??0)]})]}),(0,P.jsxs)("div",{className:"dci-gauge-row",children:[(0,P.jsxs)("dt",{children:[(0,P.jsx)("span",{className:"dci-gauge-swatch dci-gauge-colorMessages","aria-hidden":"true"}),v("stats.messages")]}),(0,P.jsxs)("dd",{children:["~",ts(o?.messageTokens??0)]})]})]})]}):null]})}var Ae=require("react/jsx-runtime");le.setOptions({gfm:!0,breaks:!0});var w1=Ol??Pl;function No(n){let{sessionId:e,state:t,actions:i,useProjection:r,placeholder:s,disabled:o,blocked:l,running:a,side:c,hero:h,chatNodes:u,float:d,onDragZonePointerDown:f}=n;jt();let[p,g]=(0,Ie.useState)(()=>he().defaultEdit),[b,y]=(0,Ie.useState)(()=>he().defaultPreview),[x,C]=(0,Ie.useState)(()=>he().composerBodyHeight),[_,S]=(0,Ie.useState)(!1),A=(0,Ie.useRef)(null),k=(0,Ie.useRef)(null),N=(0,Ie.useRef)(null),B=H=>{H.preventDefault();let Ce=H.currentTarget,se=H.clientY,Ji=x??Math.max(60,A.current?.querySelector(".dci-body")?.getBoundingClientRect().height??0);Ce.dataset.dragging="true";let et=x,yn=Vt=>{et=Math.round(Math.min(window.innerHeight-260,Math.max(96,Ji-(Vt.clientY-se)))),C(et)},_n=()=>{Ce.dataset.dragging="false",window.removeEventListener("pointermove",yn),window.removeEventListener("pointerup",_n),window.removeEventListener("pointercancel",_n),it({composerBodyHeight:et})};try{Ce.setPointerCapture(H.pointerId)}catch{}window.addEventListener("pointermove",yn),window.addEventListener("pointerup",_n),window.addEventListener("pointercancel",_n)},[F,V]=(0,Ie.useState)(0);(0,Ie.useEffect)(()=>{!p&&!b&&g(!0)},[p,b]);let M=()=>{if(!(!e||!Y.conversation))try{return Y.conversation.input.inputTriggers(e)??void 0}catch{return}},z=()=>{if(!(!e||!Y.conversation))try{return Y.conversation.input.keyboard(e)}catch{return}},W=M(),G=z();(0,Ie.useEffect)(()=>{if(!e||W&&G)return;let H=window.setInterval(()=>V(se=>se+1),300),Ce=window.setTimeout(()=>window.clearInterval(H),1e4);return()=>{window.clearInterval(H),window.clearTimeout(Ce)}},[e,W,G]);let te=(0,Ie.useMemo)(()=>{if(!(!e||!Y.sessions||!Y.commandUi)&&typeof Y.commandUi.popupFor=="function")try{return Y.commandUi.popupFor(Y.sessions.scope(e))}catch{return}},[e,F]);(0,Ie.useEffect)(()=>{if(e)return Du(e)},[e]),(0,Ie.useEffect)(()=>{if(!e||!Y.commandUi)return;let H=Y.commandUi;if(typeof H.bindComposerFocus=="function")return H.bindComposerFocus(e,()=>k.current?.focus())},[e]),(0,Ie.useEffect)(()=>{il(e??null);let H=Oe();return e&&(W&&(H.__dshCodinputTriggers[e]=W),G&&(H.__dshCodinputKeyboard[e]=G),H.__dshCodinputShell[e]={surface:!0,side:c===!0}),()=>{il(null)}},[e,W,G,c]);let _e=H=>{N.current=H},xe=()=>{if(e)try{Y.sessions?.scope(e)?.get?.("conversation")?.cancel?.()?.catch?.(()=>{})}catch{}},Le=()=>{if(!i)return;let H=t,Ce=!H||H.draft.trim()==="",se=!H||H.attachmentIds.length===0;if(Ce&&se){G?.steerQueue();return}i.submit()},Ve=o===!0||l===!0,He=(t?.draft??"").trim()==="",Ge=(t?.attachmentIds.length??0)===0,Mt=a===!0&&He&&Ge,ie=Ve||i===void 0||t!==void 0&&t.phase==="submitting"||He&&Ge,on=(0,Ie.useMemo)(()=>w1.sanitize(le.parse(t?.draft??"")),[t?.draft,b]),gi=()=>{!p&&b?g(!0):p&&b&&g(!1)},Fo=()=>{!b&&p?y(!0):b&&p&&y(!1)},Wo=s??v("editor.placeholder"),rs=Ym(e);return(0,Ae.jsxs)("div",{className:"dci-surface","data-side":c||void 0,"data-float":d||void 0,children:[(0,Ae.jsxs)("div",{className:"dci-card","data-composer-card":"codinput","data-drop":_||void 0,ref:A,onPasteCapture:H=>{let Ce=H.clipboardData?.files;!Ce||Ce.length===0||(H.preventDefault(),H.stopPropagation(),Ds(e,i,Ce,rs))},onDragOverCapture:H=>{Ru(H.dataTransfer)&&(H.preventDefault(),H.dataTransfer.dropEffect="copy",_||S(!0))},onDragLeave:H=>{H.currentTarget.contains(H.relatedTarget)||S(!1)},onDropCapture:H=>{S(!1);let Ce=H.dataTransfer?.files;!Ce||Ce.length===0||(H.preventDefault(),H.stopPropagation(),Ds(e,i,Ce,rs))},children:[(0,Ae.jsx)("div",{className:"dci-rip","data-axis":"y","data-side":"top",onPointerDown:B}),(0,Ae.jsxs)("div",{className:"dci-accessory",children:[(0,Ae.jsx)("button",{type:"button",className:"dci-iconbtn","data-on":p,onClick:gi,title:v("head.edit"),children:(0,Ae.jsx)(Pu,{size:14})}),(0,Ae.jsx)("button",{type:"button",className:"dci-iconbtn","data-on":b,onClick:Fo,title:v("head.preview"),children:(0,Ae.jsx)(Iu,{size:14})}),c?null:(0,Ae.jsx)("div",{className:"dci-float-dragzone",onPointerDown:f})]}),i&&(t?.attachmentIds.length??0)>0?(0,Ae.jsx)(_m,{state:t,sessionId:e,onRemove:H=>{let Ce=Y.conversation;i.removeAttachment(H);try{Ce?.releaseDraftAttachment(H)}catch(se){$e("attachments",se)}}}):null,(0,Ae.jsxs)("div",{className:"dci-body","data-split":p&&b,style:!c&&!d&&x!==null?{"--dci-body-h":`${x}px`,"--dci-body-max":`${x}px`}:void 0,children:[p?(0,Ae.jsx)(Mm,{state:t,actions:i,triggers:W,keyboard:G,onSendGesture:Le,placeholder:Wo,viewRef:k,onCaretMoved:_e,disabled:Ve,autoFocus:!0,solo:!b,stateKey:e??"hero"}):null,b?(0,Ae.jsx)("div",{className:"dci-preview","data-solo":!p,children:on?(0,Ae.jsx)("div",{dangerouslySetInnerHTML:{__html:on}}):(0,Ae.jsx)("span",{style:{opacity:.4},children:v("preview.empty")})}):null]}),(0,Ae.jsx)(Km,{sessionId:e,state:t,actions:i,triggers:W,caretRef:N,useProjection:r,disabled:Ve,primaryStops:Mt,onStop:xe,onNotify:Ym(e),onSend:Le,sendDisabled:ie}),d&&h!==!0?(0,Ae.jsx)(qc,{useProjection:r,sessionId:e,chatNodes:u}):null,W?(0,Ae.jsx)(Dm,{triggers:W,dropdown:c===!0||d===!0}):null]}),!d&&h!==!0?(0,Ae.jsx)(qc,{useProjection:r,sessionId:e,chatNodes:u}):null,te?(0,Ae.jsx)(Lm,{popup:te}):null]})}function Ym(n){if(n)return(e,t)=>{try{let i=Y.sessions?.scope(n);if(!i||!Y.conversation)return;Y.conversation.input.for(i).notify(e,t)}catch(i){$e("notify",i)}}}var ns=require("react/jsx-runtime"),Jm="dsh-codinput",Bo="codinput";function Zm(){return{id:Jm,kind:Bo,priority:"extension",title:()=>"Codinput",keepMounted:!0,guide:[{order:0,title:()=>"Codinput",description:()=>v("side.guideDesc")}]}}function Qm(){return{options:{name:"sidebar.right.pane.tab",key:Jm,registrant:"dsh-codinput"},component:x1}}function x1(n){let{sessionId:e,useInput:t,inputActions:i,useProjection:r,useSession:s,useTabInfo:o}=n,l=t(S=>S),a=s?s(S=>S?.running)===!0:!1;jt();let c=o?o():void 0,h=c?.tab.visible===!0,u=c?.sidebar.expanded===!0,d=c?.tab.actions?.close,f=(0,at.useRef)(d);f.current=d,(0,at.useEffect)(()=>{let S=Oe().__dshCodinputShell;S["sidebar.tabId"]=c?.tab.id??"none",S["sidebar.closeFace"]=d?"yes":"none"},[c,d]),(0,at.useEffect)(()=>Uh(S=>{if(!(S!==e||!f.current))try{f.current()}catch(A){$e("sidebar.closeTab",A)}}),[e]);let[p,g]=(0,at.useState)(()=>he().enabled);(0,at.useEffect)(()=>vn(()=>g(he().enabled)),[]);let b=(0,at.useRef)(!1);(0,at.useEffect)(()=>{b.current||(b.current=!0,he().enabled||it({enabled:!0}))},[]);let y=(0,at.useRef)(null),[x,C]=(0,at.useState)(0);(0,at.useEffect)(()=>{if(!p)return;let S=Fh(e,{visible:h,expanded:u});return y.current=S,C(S.token),()=>{y.current=null,S.release()}},[e,p]),(0,at.useEffect)(()=>{y.current?.set({visible:h,expanded:u})},[h,u]);let _=Kh(e,x);return p?_?(0,ns.jsx)("div",{style:{position:"absolute",inset:0,minHeight:0,display:"flex",flexDirection:"column"},children:(0,ns.jsx)(No,{sessionId:e,state:l,actions:i,useProjection:r,running:a,side:!0})}):(0,ns.jsx)("div",{className:"dci-side-notice",role:"note",children:v("side.notice")}):(0,ns.jsx)("div",{className:"dci-side-notice",role:"note",children:v("side.disabled")})}var Xc=require("react/jsx-runtime"),v1=36,k1=18,S1=12,C1=8;function Gc(){return document.querySelector('[role="banner"]')??document.querySelector("header")}function tg(n){let{sessionId:e}=n;jt();let{carried:t,collapsed:i}=qh(e),r=t&&i,[s,o]=(0,_o.useState)(null);return(0,_o.useEffect)(()=>{if(!r){o(null);return}let l=()=>{let u=Gc()?.getBoundingClientRect();if(!u||u.height===0)return;let d={left:Math.round(u.right-S1-v1),top:Math.round(u.bottom+C1)};o(f=>f&&f.left===d.left&&f.top===d.top?f:d)};l();let a=Gc(),c=typeof ResizeObserver=="function"?new ResizeObserver(l):null;a&&c&&c.observe(a),window.addEventListener("resize",l);let h=window.setInterval(()=>{Gc()&&(l(),window.clearInterval(h))},250);return()=>{c?.disconnect(),window.removeEventListener("resize",l),window.clearInterval(h)}},[r]),!r||!s?null:(0,eg.createPortal)((0,Xc.jsx)("button",{type:"button",className:"dci-ball","data-codinput-expand":"true",style:{left:s.left,top:s.top},"aria-label":v("ball.label"),title:v("ball.title"),onClick:()=>T1(e),children:(0,Xc.jsx)(Ou,{size:k1})}),document.body)}function T1(n){let e=Y.sidebarRight;if(e){try{if(n&&typeof e.openTabIn=="function"){e.openTabIn(n,Bo);return}if(typeof e.openTab=="function"){e.openTab(Bo);return}}catch(t){$e("ball.openTab",t)}try{typeof e.isExpanded=="function"&&!e.isExpanded()&&e.toggleExpanded?.()}catch(t){$e("ball.expand",t)}}}var pi=require("react/jsx-runtime");function Zc(n){let{variant:e,blocked:t,disabled:i,placeholder:r,sessionId:s,useInput:o,inputActions:l,useProjection:a,useChat:c,useSession:h}=n,u=o(C=>C),d=c?c(C=>C?.legacy?.nodes):void 0,f=h?h(C=>C?.running)===!0:!1,p=jh(s),[g,b]=(0,sn.useState)(()=>he().mode);if((0,sn.useEffect)(()=>vn(()=>b(he().mode)),[]),p)return(0,pi.jsx)(tg,{sessionId:s});let y=g==="float",x=(0,pi.jsx)(No,{sessionId:s,state:u,actions:l,useProjection:a,placeholder:r,disabled:i===!0,blocked:t!==void 0,running:f,hero:e==="hero",chatNodes:d,float:y,onDragZonePointerDown:R1});return y?(0,pi.jsx)(O1,{children:x}):x}var qe=12,ng=6,Yc=720,Ho=360,is=140,A1=6,M1=12;function Bn(n,e,t){return Math.min(t,Math.max(e,n))}function Qc(){return Math.max(Ho,window.innerWidth-qe*2)}function E1(){return Math.max(is,window.innerHeight-qe*2)}function ig(){let n=he();return{x:n.floatX??Math.round((window.innerWidth-Math.min(n.floatW??Yc,Qc()))/2),y:n.floatY??Math.round(window.innerHeight*.16),w:n.floatW??Yc,h:n.floatH}}var Yi=null,Jc=new Set;function rg(n,e){for(let t of Jc)t(n,e)}function D1(){let e=document.querySelector("[data-composer-seat]")?.getBoundingClientRect(),t=Math.min(window.innerHeight,(e?.bottom??window.innerHeight)+120),i=Math.max(0,t-300);return{left:(e?.left??0)-40,right:(e?.right??window.innerWidth)+40,top:i,bottom:t}}function R1(n){if(n.button!==0)return;let e=n.currentTarget,t=e.closest("[data-composer-card]"),i=!!e.closest(".dci-float"),r=t?.getBoundingClientRect(),s=r?.left??n.clientX,o=r?.top??n.clientY,l=r?.width||Math.min(he().floatW??Yc,Qc()),a=y=>Bn(y,qe,Math.max(qe,window.innerWidth-l-qe)),c=y=>Bn(y,qe,Math.max(qe,window.innerHeight-96)),h=a(n.clientX-s),u=c(n.clientY-o);n.preventDefault();let d=n.clientX,f=n.clientY,p={grabDX:h,grabDY:u,detached:i,fromFloat:i,lastX:a(n.clientX-h),lastY:c(n.clientY-u)},g=y=>{if(Yi){if(!p.detached){if(Math.abs(y.clientX-d)<ng&&Math.abs(y.clientY-f)<ng)return;p.detached=!0,p.lastX=a(y.clientX-p.grabDX),p.lastY=c(y.clientY-p.grabDY),it({mode:"float",floatX:p.lastX,floatY:p.lastY}),rg(p.lastX,p.lastY);return}p.lastX=a(y.clientX-p.grabDX),p.lastY=c(y.clientY-p.grabDY),rg(p.lastX,p.lastY)}},b=y=>{if(window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",b),window.removeEventListener("pointercancel",b),Yi=null,!p.detached)return;let x=D1();if(y.clientX>=x.left&&y.clientX<=x.right&&y.clientY>=x.top&&y.clientY<=x.bottom){it({mode:"normal"});return}it({floatX:p.lastX,floatY:p.lastY})};Yi=p,window.addEventListener("pointermove",g),window.addEventListener("pointerup",b),window.addEventListener("pointercancel",b)}var L1=["n","s","e","w","nw","ne","sw","se"];function O1(n){let{children:e}=n,t=(0,sn.useRef)(null),[i,r]=(0,sn.useState)(()=>Yi?{...ig(),x:Yi.lastX,y:Yi.lastY}:ig()),s=(0,sn.useRef)(i);s.current=i,(0,sn.useLayoutEffect)(()=>{let u=(d,f)=>r(p=>({...p,x:d,y:f}));return Jc.add(u),()=>{Jc.delete(u)}},[]);let o=u=>d=>{if(d.button!==0)return;d.preventDefault(),d.stopPropagation();let f=s.current,g=t.current?.getBoundingClientRect(),b=g?.width??f.w,y=g?.height??f.h??is,x=f.x,C=f.y,_=x+b,S=C+y,A=d.clientX,k=d.clientY,N=F=>{let V=F.clientX-A,M=F.clientY-k,z=b,W=y,G=x,te=C;u.includes("e")&&(z=Bn(b+V,Ho,Math.max(Ho,window.innerWidth-qe-x))),u.includes("w")&&(G=Bn(x+V,qe,_-Ho),z=_-G),u.includes("s")&&(W=Bn(y+M,is,Math.max(is,window.innerHeight-qe-C))),u.includes("n")&&(te=Bn(C+M,qe,S-is),W=S-te),r({x:G,y:te,w:Math.round(z),h:Math.round(W)})},B=()=>{window.removeEventListener("pointermove",N),window.removeEventListener("pointerup",B),window.removeEventListener("pointercancel",B);let F=s.current;it({floatX:F.x,floatY:F.y,floatW:F.w,floatH:F.h})};try{d.currentTarget.setPointerCapture(d.pointerId)}catch{}window.addEventListener("pointermove",N),window.addEventListener("pointerup",B),window.addEventListener("pointercancel",B)},l=Math.min(i.w,Qc()),a=i.h===null?null:Math.min(i.h,E1()),c=Bn(i.x,qe,Math.max(qe,window.innerWidth-l-qe)),h=Bn(i.y,qe,Math.max(qe,window.innerHeight-96));return(0,sg.createPortal)((0,pi.jsxs)("div",{className:"dci-float",ref:t,"data-sized":a!==null?"true":void 0,style:{left:c,top:h,width:l,height:a??void 0,"--dci-grip-edge":`${A1}px`,"--dci-grip-corner":`${M1}px`},children:[e,L1.map(u=>(0,pi.jsx)("div",{className:"dci-float-grip","data-dir":u,onPointerDown:o(u)},u))]}),document.body)}function og(){return{options:{name:"conversation.composer.bar",priority:-1,registrant:"dsh-codinput"}}}var Wt=require("react");var oe=require("react/jsx-runtime"),P1="codinput";function cg(){return{options:{name:"settings.section",id:P1,order:60,label:()=>"Codinput",registrant:"dsh-codinput"},component:N1}}function lg(n){let{value:e,conflictWith:t,ariaLabel:i,onChange:r}=n,[s,o]=(0,Wt.useState)(!1),[l,a]=(0,Wt.useState)(!1),c=(0,Wt.useRef)(null);return(0,Wt.useEffect)(()=>{if(!s)return;let h=u=>{c.current&&u.target instanceof Node&&c.current.contains(u.target)||o(!1)};return window.addEventListener("pointerdown",h,!0),()=>window.removeEventListener("pointerdown",h,!0)},[s]),(0,oe.jsx)("button",{ref:c,type:"button",className:"dci-set-selector","data-recording":s||void 0,"data-conflict":l||void 0,"aria-label":i,onClick:()=>o(!0),onBlur:()=>o(!1),onKeyDown:h=>{if(!s)return;if(h.preventDefault(),h.stopPropagation(),h.key==="Escape"){o(!1);return}if(h.key==="Shift"||h.key==="Control"||h.key==="Alt"||h.key==="Meta")return;let u=Tm(h.nativeEvent,h.key);if(t!==void 0&&u===t){a(!0),window.setTimeout(()=>a(!1),1500);return}r(u),o(!1),c.current?.blur()},children:s?v("set.recording"):Am(e)})}function mi(n){let{title:e,desc:t,children:i}=n;return(0,oe.jsxs)("div",{className:"dci-set-row",children:[(0,oe.jsxs)("div",{className:"dci-set-rowText",children:[(0,oe.jsx)("div",{className:"dci-set-title",children:e}),t?(0,oe.jsx)("div",{className:"dci-set-desc",children:t}):null]}),(0,oe.jsx)("div",{className:"dci-set-control",children:i})]})}function I1(n){let{value:e,options:t,onChange:i,ariaLabel:r}=n,[s,o]=(0,Wt.useState)(!1),l=(0,Wt.useRef)(null),[a,c]=(0,Wt.useState)(null),h=t.find(u=>u.value===e);return(0,oe.jsxs)(oe.Fragment,{children:[(0,oe.jsxs)("button",{ref:l,type:"button",className:"dci-set-selector","aria-haspopup":"menu","aria-expanded":s,"aria-label":r,onClick:()=>{s||c(l.current?.getBoundingClientRect()??null),o(!s)},children:[h?.label??e,(0,oe.jsx)(Gt,{size:14})]}),s&&a?(0,oe.jsx)(Xi,{anchor:a,side:"bottom",alignEnd:!0,onClose:()=>o(!1),minWidth:200,children:t.map(u=>(0,oe.jsx)("button",{type:"button",className:"dci-item",onClick:()=>{i(u.value),o(!1)},children:(0,oe.jsx)("span",{className:"dci-itemLabel",children:u.label})},u.value))}):null]})}function ag(n){let{on:e,label:t,onToggle:i}=n;return(0,oe.jsx)("button",{type:"button",role:"switch",className:"dci-switch","aria-checked":e,"aria-label":t,onClick:i})}function N1(){let[n,e]=(0,Wt.useState)(()=>he());jt();let t=i=>{e(it(i))};return(0,oe.jsxs)("div",{className:"dci-settings",children:[(0,oe.jsx)(mi,{title:v("set.enabled"),desc:v("set.enabledDesc"),children:(0,oe.jsx)(ag,{on:n.enabled,label:v("set.enabled"),onToggle:()=>t({enabled:!n.enabled})})}),(0,oe.jsx)(mi,{title:v("set.lineNumbers"),desc:v("set.lineNumbersDesc"),children:(0,oe.jsx)(ag,{on:n.lineNumbers,label:v("set.lineNumbers"),onToggle:()=>t({lineNumbers:!n.lineNumbers})})}),(0,oe.jsx)(mi,{title:v("set.font"),desc:v("set.fontDesc"),children:(0,oe.jsx)("input",{type:"text",className:"dci-set-input",value:n.fontFamily,spellCheck:!1,"aria-label":v("set.font"),onChange:i=>t({fontFamily:i.target.value})})}),(0,oe.jsx)(mi,{title:v("set.sendKey"),desc:v("set.sendKeyDesc"),children:(0,oe.jsx)(lg,{value:n.sendHotkey,conflictWith:n.lineBreakHotkey,ariaLabel:v("set.sendKey"),onChange:i=>t({sendHotkey:i})})}),(0,oe.jsx)(mi,{title:v("set.lineBreakKey"),desc:v("set.lineBreakKeyDesc"),children:(0,oe.jsx)(lg,{value:n.lineBreakHotkey,conflictWith:n.sendHotkey,ariaLabel:v("set.lineBreakKey"),onChange:i=>t({lineBreakHotkey:i})})}),(0,oe.jsx)(mi,{title:v("set.defaultView"),desc:v("set.defaultViewDesc"),children:(0,oe.jsx)(I1,{value:n.defaultEdit&&n.defaultPreview?"split":n.defaultPreview?"preview":"edit",ariaLabel:v("set.defaultView"),onChange:i=>t({defaultEdit:i!=="preview",defaultPreview:i!=="edit"}),options:[{value:"edit",label:v("head.editOnly")},{value:"split",label:v("head.split")},{value:"preview",label:v("head.previewOnly")}]})}),(0,oe.jsx)(mi,{title:v("set.reset"),desc:v("set.resetAll"),children:(0,oe.jsx)("button",{type:"button",className:"dci-set-selector",onClick:()=>e(it({...tr})),children:v("set.resetAction")})})]})}function B1(n){if(n)try{let e=Y.sessions?.scope(n);e&&Y.conversation&&Y.conversation.input.for(e).setDraft("")}catch{}}function hg(n,e,t){let i=n.findIndex(o=>o.name===e);if(i===-1)return[...n];let r=t(n);if(r===i||r===i+1)return[...n];let s=[...n];return s.splice(i,1),s.splice(r>i?r-1:r,0,n[i]),s}function ug(n){ze("command.register",()=>{n.inject(["commandUi"],e=>{let t=e.commandUi;if(typeof t?.register!="function"){Oe().__dshCodinputShell.command="commandUi-unavailable";return}let i;if(typeof t.candidates=="function"){let r=t.candidates.bind(t);t.candidates=(s,o)=>Promise.resolve(r(s,o)).then(l=>{if(o.query!==""||!Array.isArray(l))return l;let a=l,c=a.find(h=>h.name==="goal"||h.name==="plan"||h.name==="feedback")?.section;return c!==void 0&&(a=hg(a,"file",h=>{let u=h.findIndex(d=>d.section===c&&d.name!=="file");return u===-1?h.length:u})),a=hg(a,"codinput",h=>{let u=h.find(f=>f.name==="codinput"),d=h.findIndex(f=>f.section===u?.section&&f.name!=="codinput"&&f.name.toLowerCase()>"codinput");return d===-1?h.length:d}),a}),i=()=>{t.candidates=r}}n.effect(()=>i,"dsh-codinput: slash order patch"),n.effect(()=>t.register({name:"codinput",description:()=>he().enabled?v("cmd.exit"):v("cmd.enter"),icon:qu,available:()=>!0,ui:{kind:"action",run:()=>{let r=Oe().__dshCodinputSessionId??void 0;if(it({enabled:!he().enabled}),!he().enabled)for(let s of Wh())$h(s);setTimeout(()=>B1(r),80)}}}),"dsh-codinput: /codinput contribution"),Oe().__dshCodinputShell.command="registered"})})}var _1="dsh-codinput",H1=["slots","conversation"];function zo(n,e,t=60){try{n(),Oe().__dshCodinputShell[e]="registered";return}catch(i){if(t<=0){$e(e,i),Oe().__dshCodinputShell[e]="failed";return}}setTimeout(()=>zo(n,e,t-1),250)}function z1(n){Nh(),Ph(n),ze("console.hook",()=>{let l=Oe();if(!l.__dshConsoleHooked){l.__dshConsoleHooked=!0;let a=l.console.error.bind(l.console);l.console.error=(...c)=>{let h=c.find(u=>u instanceof Error);h&&l.__dshCodinputErrs.push(h),a(...c)}}}),ze("slots.entryErrorHook",()=>{let l=n.slots,a=l._core??l;typeof a.onEntryError=="function"&&a.onEntryError(c=>{let h=c?.error;$e("slot.entry",h??c),Oe().__dshCodinputErrs.push(h instanceof Error?h:new Error(JSON.stringify(c).slice(0,800)))})});let e=og(),t=null,i=()=>{if(!t)try{t=n.slots.register(e.options,Zc),Oe().__dshCodinputShell.bar="mounted"}catch(l){$e("bar.register",l)}},r=()=>{let l=t;t=null;try{l?.(),Oe().__dshCodinputShell.bar="unmounted"}catch(a){$e("bar.dispose",a)}},s=()=>he().enabled||Vh(),o=()=>{s()?i():r()};zo(()=>{s()&&i()},"bar"),ze("bar.prefs",()=>{vn(o)}),ze("bar.sideinput",()=>{ir(o)}),ze("sidebar.register",()=>{n.inject(["slots","sidebarRightTabs","sidebarRight"],l=>{let a=l.sidebarRightTabs;if(typeof a?.register!="function"){$e("sidebar",new Error("sidebarRightTabs unavailable"));return}let c=Qm();n.effect(()=>a.register(Zm()),"dsh-codinput: sidebar tab type"),zo(()=>{n.slots.register(c.options,c.component)},"sidebar.body")})}),ze("settings.register",()=>{let l=cg();zo(()=>{n.slots.register(l.options,l.component)},"settings")}),ug(n),ze("draggate.install",()=>{let l=window;l.__dshCodinputDragGate||(l.__dshCodinputDragGate=!0,document.addEventListener("pointerdown",a=>{a.target instanceof Element&&(a.target.closest("[data-dockkit-tab-close]")||a.target.closest("[data-dockkit-tab]")&&a.stopPropagation())},{capture:!0}))}),ze("diag.boot",()=>{Oe().__dshCodinputShell.apply="done",window.__dshCodinputCtx=n})}
|
|
570
|
+
`}strong({tokens:n}){return`<strong>${this.parser.parseInline(n)}</strong>`}em({tokens:n}){return`<em>${this.parser.parseInline(n)}</em>`}codespan({text:n}){return`<code>${qt(n,!0)}</code>`}br(n){return"<br>"}del({tokens:n}){return`<del>${this.parser.parseInline(n)}</del>`}link({href:n,title:e,tokens:t}){let i=this.parser.parseInline(t),r=ru(n);if(r===null)return i;n=r;let s='<a href="'+n+'"';return e&&(s+=' title="'+qt(e)+'"'),s+=">"+i+"</a>",s}image({href:n,title:e,text:t,tokens:i}){i&&(t=this.parser.parseInline(i,this.parser.textRenderer));let r=ru(n);if(r===null)return qt(t);n=r;let s=`<img src="${n}" alt="${t}"`;return e&&(s+=` title="${qt(e)}"`),s+=">",s}text(n){return"tokens"in n&&n.tokens?this.parser.parseInline(n.tokens):"escaped"in n&&n.escaped?n.text:qt(n.text)}},Al=class{strong({text:n}){return n}em({text:n}){return n}codespan({text:n}){return n}del({text:n}){return n}html({text:n}){return n}text({text:n}){return n}link({text:n}){return""+n}image({text:n}){return""+n}br(){return""}},cn=class bl{constructor(e){ce(this,"options");ce(this,"renderer");ce(this,"textRenderer");this.options=e||$n,this.options.renderer=this.options.renderer||new As,this.renderer=this.options.renderer,this.renderer.options=this.options,this.renderer.parser=this,this.textRenderer=new Al}static parse(e,t){return new bl(t).parse(e)}static parseInline(e,t){return new bl(t).parseInline(e)}parse(e,t=!0){let i="";for(let r=0;r<e.length;r++){let s=e[r];if(this.options.extensions?.renderers?.[s.type]){let l=s,a=this.options.extensions.renderers[l.type].call({parser:this},l);if(a!==!1||!["space","hr","heading","code","table","blockquote","list","html","paragraph","text"].includes(l.type)){i+=a||"";continue}}let o=s;switch(o.type){case"space":{i+=this.renderer.space(o);continue}case"hr":{i+=this.renderer.hr(o);continue}case"heading":{i+=this.renderer.heading(o);continue}case"code":{i+=this.renderer.code(o);continue}case"table":{i+=this.renderer.table(o);continue}case"blockquote":{i+=this.renderer.blockquote(o);continue}case"list":{i+=this.renderer.list(o);continue}case"html":{i+=this.renderer.html(o);continue}case"paragraph":{i+=this.renderer.paragraph(o);continue}case"text":{let l=o,a=this.renderer.text(l);for(;r+1<e.length&&e[r+1].type==="text";)l=e[++r],a+=`
|
|
571
|
+
`+this.renderer.text(l);t?i+=this.renderer.paragraph({type:"paragraph",raw:a,text:a,tokens:[{type:"text",raw:a,text:a,escaped:!0}]}):i+=a;continue}default:{let l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return i}parseInline(e,t=this.renderer){let i="";for(let r=0;r<e.length;r++){let s=e[r];if(this.options.extensions?.renderers?.[s.type]){let l=this.options.extensions.renderers[s.type].call({parser:this},s);if(l!==!1||!["escape","html","link","image","strong","em","codespan","br","del","text"].includes(s.type)){i+=l||"";continue}}let o=s;switch(o.type){case"escape":{i+=t.text(o);break}case"html":{i+=t.html(o);break}case"link":{i+=t.link(o);break}case"image":{i+=t.image(o);break}case"strong":{i+=t.strong(o);break}case"em":{i+=t.em(o);break}case"codespan":{i+=t.codespan(o);break}case"br":{i+=t.br(o);break}case"del":{i+=t.del(o);break}case"text":{i+=t.text(o);break}default:{let l='Token with "'+o.type+'" type was not found.';if(this.options.silent)return console.error(l),"";throw new Error(l)}}}return i}},pl,Ss=(pl=class{constructor(n){ce(this,"options");ce(this,"block");this.options=n||$n}preprocess(n){return n}postprocess(n){return n}processAllTokens(n){return n}provideLexer(){return this.block?an.lex:an.lexInline}provideParser(){return this.block?cn.parse:cn.parseInline}},ce(pl,"passThroughHooks",new Set(["preprocess","postprocess","processAllTokens"])),pl),N0=class{constructor(...n){ce(this,"defaults",yl());ce(this,"options",this.setOptions);ce(this,"parse",this.parseMarkdown(!0));ce(this,"parseInline",this.parseMarkdown(!1));ce(this,"Parser",cn);ce(this,"Renderer",As);ce(this,"TextRenderer",Al);ce(this,"Lexer",an);ce(this,"Tokenizer",Ts);ce(this,"Hooks",Ss);this.use(...n)}walkTokens(n,e){let t=[];for(let i of n)switch(t=t.concat(e.call(this,i)),i.type){case"table":{let r=i;for(let s of r.header)t=t.concat(this.walkTokens(s.tokens,e));for(let s of r.rows)for(let o of s)t=t.concat(this.walkTokens(o.tokens,e));break}case"list":{let r=i;t=t.concat(this.walkTokens(r.items,e));break}default:{let r=i;this.defaults.extensions?.childTokens?.[r.type]?this.defaults.extensions.childTokens[r.type].forEach(s=>{let o=r[s].flat(1/0);t=t.concat(this.walkTokens(o,e))}):r.tokens&&(t=t.concat(this.walkTokens(r.tokens,e)))}}return t}use(...n){let e=this.defaults.extensions||{renderers:{},childTokens:{}};return n.forEach(t=>{let i={...t};if(i.async=this.defaults.async||i.async||!1,t.extensions&&(t.extensions.forEach(r=>{if(!r.name)throw new Error("extension name required");if("renderer"in r){let s=e.renderers[r.name];s?e.renderers[r.name]=function(...o){let l=r.renderer.apply(this,o);return l===!1&&(l=s.apply(this,o)),l}:e.renderers[r.name]=r.renderer}if("tokenizer"in r){if(!r.level||r.level!=="block"&&r.level!=="inline")throw new Error("extension level must be 'block' or 'inline'");let s=e[r.level];s?s.unshift(r.tokenizer):e[r.level]=[r.tokenizer],r.start&&(r.level==="block"?e.startBlock?e.startBlock.push(r.start):e.startBlock=[r.start]:r.level==="inline"&&(e.startInline?e.startInline.push(r.start):e.startInline=[r.start]))}"childTokens"in r&&r.childTokens&&(e.childTokens[r.name]=r.childTokens)}),i.extensions=e),t.renderer){let r=this.defaults.renderer||new As(this.defaults);for(let s in t.renderer){if(!(s in r))throw new Error(`renderer '${s}' does not exist`);if(["options","parser"].includes(s))continue;let o=s,l=t.renderer[o],a=r[o];r[o]=(...c)=>{let h=l.apply(r,c);return h===!1&&(h=a.apply(r,c)),h||""}}i.renderer=r}if(t.tokenizer){let r=this.defaults.tokenizer||new Ts(this.defaults);for(let s in t.tokenizer){if(!(s in r))throw new Error(`tokenizer '${s}' does not exist`);if(["options","rules","lexer"].includes(s))continue;let o=s,l=t.tokenizer[o],a=r[o];r[o]=(...c)=>{let h=l.apply(r,c);return h===!1&&(h=a.apply(r,c)),h}}i.tokenizer=r}if(t.hooks){let r=this.defaults.hooks||new Ss;for(let s in t.hooks){if(!(s in r))throw new Error(`hook '${s}' does not exist`);if(["options","block"].includes(s))continue;let o=s,l=t.hooks[o],a=r[o];Ss.passThroughHooks.has(s)?r[o]=c=>{if(this.defaults.async)return Promise.resolve(l.call(r,c)).then(u=>a.call(r,u));let h=l.call(r,c);return a.call(r,h)}:r[o]=(...c)=>{let h=l.apply(r,c);return h===!1&&(h=a.apply(r,c)),h}}i.hooks=r}if(t.walkTokens){let r=this.defaults.walkTokens,s=t.walkTokens;i.walkTokens=function(o){let l=[];return l.push(s.call(this,o)),r&&(l=l.concat(r.call(this,o))),l}}this.defaults={...this.defaults,...i}}),this}setOptions(n){return this.defaults={...this.defaults,...n},this}lexer(n,e){return an.lex(n,e??this.defaults)}parser(n,e){return cn.parse(n,e??this.defaults)}parseMarkdown(n){return(t,i)=>{let r={...i},s={...this.defaults,...r},o=this.onError(!!s.silent,!!s.async);if(this.defaults.async===!0&&r.async===!1)return o(new Error("marked(): The async option was set to true by an extension. Remove async: false from the parse options object to return a Promise."));if(typeof t>"u"||t===null)return o(new Error("marked(): input parameter is undefined or null"));if(typeof t!="string")return o(new Error("marked(): input parameter is of type "+Object.prototype.toString.call(t)+", string expected"));s.hooks&&(s.hooks.options=s,s.hooks.block=n);let l=s.hooks?s.hooks.provideLexer():n?an.lex:an.lexInline,a=s.hooks?s.hooks.provideParser():n?cn.parse:cn.parseInline;if(s.async)return Promise.resolve(s.hooks?s.hooks.preprocess(t):t).then(c=>l(c,s)).then(c=>s.hooks?s.hooks.processAllTokens(c):c).then(c=>s.walkTokens?Promise.all(this.walkTokens(c,s.walkTokens)).then(()=>c):c).then(c=>a(c,s)).then(c=>s.hooks?s.hooks.postprocess(c):c).catch(o);try{s.hooks&&(t=s.hooks.preprocess(t));let c=l(t,s);s.hooks&&(c=s.hooks.processAllTokens(c)),s.walkTokens&&this.walkTokens(c,s.walkTokens);let h=a(c,s);return s.hooks&&(h=s.hooks.postprocess(h)),h}catch(c){return o(c)}}}onError(n,e){return t=>{if(t.message+=`
|
|
572
|
+
Please report this to https://github.com/markedjs/marked.`,n){let i="<p>An error occurred:</p><pre>"+qt(t.message+"",!0)+"</pre>";return e?Promise.resolve(i):i}if(e)return Promise.reject(t);throw t}}},Vn=new N0;function le(n,e){return Vn.parse(n,e)}le.options=le.setOptions=function(n){return Vn.setOptions(n),le.defaults=Vn.defaults,lu(le.defaults),le};le.getDefaults=yl;le.defaults=$n;le.use=function(...n){return Vn.use(...n),le.defaults=Vn.defaults,lu(le.defaults),le};le.walkTokens=function(n,e){return Vn.walkTokens(n,e)};le.parseInline=Vn.parseInline;le.Parser=cn;le.parser=cn.parse;le.Renderer=As;le.TextRenderer=Al;le.Lexer=an;le.lexer=an.lex;le.Tokenizer=Ts;le.Hooks=Ss;le.parse=le;var pv=le.options,mv=le.setOptions,gv=le.use,bv=le.walkTokens,yv=le.parseInline;var wv=cn.parse,xv=an.lex;var Bl={};Nh(Bl,{default:()=>Nl});function yu(n,e){(e==null||e>n.length)&&(e=n.length);for(var t=0,i=Array(e);t<e;t++)i[t]=n[t];return i}function B0(n){if(Array.isArray(n))return n}function _0(n,e){var t=n==null?null:typeof Symbol<"u"&&n[Symbol.iterator]||n["@@iterator"];if(t!=null){var i,r,s,o,l=[],a=!0,c=!1;try{if(s=(t=t.call(n)).next,e!==0)for(;!(a=(i=s.call(t)).done)&&(l.push(i.value),l.length!==e);a=!0);}catch(h){c=!0,r=h}finally{try{if(!a&&t.return!=null&&(o=t.return(),Object(o)!==o))return}finally{if(c)throw r}}return l}}function H0(){throw new TypeError(`Invalid attempt to destructure non-iterable instance.
|
|
573
|
+
In order to be iterable, non-array objects must have a [Symbol.iterator]() method.`)}function F0(n,e){return B0(n)||_0(n,e)||z0(n,e)||H0()}function z0(n,e){if(n){if(typeof n=="string")return yu(n,e);var t={}.toString.call(n).slice(8,-1);return t==="Object"&&n.constructor&&(t=n.constructor.name),t==="Map"||t==="Set"?Array.from(n):t==="Arguments"||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t)?yu(n,e):void 0}}var Pu=Object.entries,wu=Object.setPrototypeOf,W0=Object.isFrozen,V0=Object.getPrototypeOf,$0=Object.getOwnPropertyDescriptor,Ie=Object.freeze,Be=Object.seal,Ti=Object.create,Iu=typeof Reflect<"u"&&Reflect,Pl=Iu.apply,Il=Iu.construct;Ie||(Ie=function(e){return e});Be||(Be=function(e){return e});Pl||(Pl=function(e,t){for(var i=arguments.length,r=new Array(i>2?i-2:0),s=2;s<i;s++)r[s-2]=arguments[s];return e.apply(t,r)});Il||(Il=function(e){for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return new e(...i)});var Kn=Ee(Array.prototype.forEach),U0=Ee(Array.prototype.lastIndexOf),xu=Ee(Array.prototype.pop),cr=Ee(Array.prototype.push),K0=Ee(Array.prototype.splice),Ai=Array.isArray,dr=Ee(String.prototype.toLowerCase),Ml=Ee(String.prototype.toString),vu=Ee(String.prototype.match),hr=Ee(String.prototype.replace),ku=Ee(String.prototype.indexOf),j0=Ee(String.prototype.trim),G0=Ee(Number.prototype.toString),q0=Ee(Boolean.prototype.toString),Su=typeof BigInt>"u"?null:Ee(BigInt.prototype.toString),Cu=typeof Symbol>"u"?null:Ee(Symbol.prototype.toString),ot=Ee(Object.prototype.hasOwnProperty),ur=Ee(Object.prototype.toString),Ue=Ee(RegExp.prototype.test),Un=X0(TypeError);function Ee(n){return function(e){e instanceof RegExp&&(e.lastIndex=0);for(var t=arguments.length,i=new Array(t>1?t-1:0),r=1;r<t;r++)i[r-1]=arguments[r];return Pl(n,e,i)}}function X0(n){return function(){for(var e=arguments.length,t=new Array(e),i=0;i<e;i++)t[i]=arguments[i];return Il(n,t)}}function re(n,e){let t=arguments.length>2&&arguments[2]!==void 0?arguments[2]:dr;if(wu&&wu(n,null),!Ai(e))return n;let i=e.length;for(;i--;){let r=e[i];if(typeof r=="string"){let s=t(r);s!==r&&(W0(e)||(e[i]=s),r=s)}n[r]=!0}return n}function Y0(n){for(let e=0;e<n.length;e++)ot(n,e)||(n[e]=null);return n}function ft(n){let e=Ti(null);for(let i of Pu(n)){var t=F0(i,2);let r=t[0],s=t[1];ot(n,r)&&(Ai(s)?e[r]=Y0(s):s&&typeof s=="object"&&s.constructor===Object?e[r]=ft(s):e[r]=s)}return e}function J0(n){switch(typeof n){case"string":return n;case"number":return G0(n);case"boolean":return q0(n);case"bigint":return Su?Su(n):"0";case"symbol":return Cu?Cu(n):"Symbol()";case"undefined":return ur(n);case"function":case"object":{if(n===null)return ur(n);let e=n,t=yt(e,"toString");if(typeof t=="function"){let i=t(e);return typeof i=="string"?i:ur(i)}return ur(n)}default:return ur(n)}}function yt(n,e){for(;n!==null;){let i=$0(n,e);if(i){if(i.get)return Ee(i.get);if(typeof i.value=="function")return Ee(i.value)}n=V0(n)}function t(){return null}return t}function Z0(n){try{return Ue(n,""),!0}catch{return!1}}var Tu=Ie(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),El=Ie(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Dl=Ie(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),Q0=Ie(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Rl=Ie(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),eb=Ie(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),Au=Ie(["#text"]),Mu=Ie(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","command","commandfor","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns"]),Ll=Ie(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dominant-baseline","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","pointer-events","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-orientation","text-rendering","textlength","type","u1","u2","unicode","values","vector-effect","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),Eu=Ie(["accent","accentunder","align","bevelled","close","columnalign","columnlines","columnspacing","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lquote","lspace","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),Ds=Ie(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),tb=Be(/{{[\w\W]*|^[\w\W]*}}/g),nb=Be(/<%[\w\W]*|^[\w\W]*%>/g),ib=Be(/\${[\w\W]*/g),rb=Be(/^data-[\-\w.\u00B7-\uFFFF]+$/),sb=Be(/^aria-[\-\w]+$/),Du=Be(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),ob=Be(/^(?:\w+script|data):/i),lb=Be(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ab=Be(/^html$/i),cb=Be(/^[a-z][.\w]*(-[.\w]+)+$/i),Ru=Be(/<[/\w!]/g),Lu=Be(/<[/\w]/g),hb=Be(/<\/no(script|embed|frames)/i),ub=Be(/\/>/i),dt={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,processingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},Nu=["style","script","xmp","iframe","noembed","noframes","plaintext","noscript"],db=Ie(re({},Nu)),fb=(function(){let n={};return Kn(Nu,e=>{n[e]=Be(new RegExp("</"+e+"(?=[\\t\\n\\f\\r />])","i"))}),Ie(n)})(),pb=function(){return typeof window>"u"?null:window},mb=function(e,t){if(typeof e!="object"||typeof e.createPolicy!="function")return null;let i=null,r="data-tt-policy-suffix";t&&t.hasAttribute(r)&&(i=t.getAttribute(r));let s="dompurify"+(i?"#"+i:"");try{return e.createPolicy(s,{createHTML(o){return o},createScriptURL(o){return o}})}catch{return console.warn("TrustedTypes policy "+s+" could not be created."),null}},Ou=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}},Tn=function(e,t,i,r){return ot(e,t)&&Ai(e[t])?re(r.base?ft(r.base):{},e[t],r.transform):i},Ol=function(e,t,i){let r=ot(e,t)?e[t]:void 0;return r&&typeof r=="object"?ft(r):i()};function Bu(){let n=arguments.length>0&&arguments[0]!==void 0?arguments[0]:pb(),e=E=>Bu(E);if(e.version="3.4.15",e.removed=[],!n||!n.document||n.document.nodeType!==dt.document||!n.Element)return e.isSupported=!1,e;let t=n.document,i=t,r=i.currentScript;n.DocumentFragment;let s=n.HTMLTemplateElement,o=n.Node,l=n.Element,a=n.NodeFilter,c=n.NamedNodeMap;c===void 0&&(n.NamedNodeMap||n.MozNamedAttrMap),n.HTMLFormElement;let h=n.DOMParser,u=n.trustedTypes,d=l.prototype,f=yt(d,"cloneNode"),p=yt(d,"remove"),g=yt(d,"removeAttributeNode"),b=yt(d,"nextSibling"),y=yt(d,"childNodes"),x=yt(d,"parentNode"),C=yt(d,"shadowRoot"),_=yt(d,"attributes"),S=o&&o.prototype?yt(o.prototype,"nodeType"):null,A=o&&o.prototype?yt(o.prototype,"nodeName"):null,k=o&&o.prototype?yt(o.prototype,"ownerDocument"):null,N=function(m){return S?S(m):m.nodeType},B=function(m){return A?A(m):m.nodeName};if(typeof s=="function"){let E=t.createElement("template");E.content&&E.content.ownerDocument&&(t=E.content.ownerDocument)}let z,V="",M,F=!1,W=0,q=function(){if(W>0)throw Un('A configured TRUSTED_TYPES_POLICY callback (createHTML or createScriptURL) must not call DOMPurify.sanitize, as that causes infinite recursion. Do not pass a policy whose callbacks wrap DOMPurify as TRUSTED_TYPES_POLICY; see the "DOMPurify and Trusted Types" section of the README.')},te=function(m){q(),W++;try{return z.createHTML(m)}finally{W--}},He=function(m){q(),W++;try{return z.createScriptURL(m)}finally{W--}},ut=function(){return F||(M=mb(u,r),F=!0),M},xe=t,Le=xe.implementation,$e=xe.createNodeIterator,Fe=xe.createDocumentFragment,Xe=xe.getElementsByTagName,Et=i.importNode,ie=Ou();e.isSupported=typeof Pu=="function"&&typeof x=="function"&&Le&&Le.createHTMLDocument!==void 0;let ln=tb,bi=nb,Vo=ib,$o=rb,ss=sb,oh=ob,Uo=lb,lh=cb,Ko=Du,H=null,Ce=re({},[...Tu,...El,...Dl,...Rl,...Au]),se=null,Zi=re({},[...Mu,...Ll,...Eu,...Ds]),nt=Object.seal(Ti(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),wn=null,Hn=null,$t=Object.seal(Ti(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),ah=!0,jo=!0,ch=!1,hh=!0,xn=!1,Fn=!0,zn=!1,Go=!1,os=null,ls=null,qo=!1,yi=!1,as=!1,cs=!1,uh=!0,dh=!1,fh="user-content-",Xo=!0,Yo=!1,wi={},xi=null,ph=re({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","selectedcontent","style","svg","template","thead","title","video","xmp"]),mh=null,gh=re({},["audio","video","img","source","image","track"]),bh=null,yh=re({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),hs="http://www.w3.org/1998/Math/MathML",us="http://www.w3.org/2000/svg",Ut="http://www.w3.org/1999/xhtml",vi=Ut,Jo=!1,Zo=null,Sg=re({},[hs,us,Ut],Ml),wh=Ie(["mi","mo","mn","ms","mtext"]),Qo=re({},wh),xh=Ie(["annotation-xml"]),el=re({},xh),Cg=re({},["title","style","font","a","script"]),Qi=null,Tg=["application/xhtml+xml","text/html"],Ag="text/html",Me=null,ki=null,Mg=t.createElement("form"),vh=function(m){return m instanceof RegExp||m instanceof Function},tl=function(){let m=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(ki&&ki===m)return;(!m||typeof m!="object")&&(m={}),m=ft(m),Qi=Tg.indexOf(m.PARSER_MEDIA_TYPE)===-1?Ag:m.PARSER_MEDIA_TYPE,Me=Qi==="application/xhtml+xml"?Ml:dr,H=Tn(m,"ALLOWED_TAGS",Ce,{transform:Me}),se=Tn(m,"ALLOWED_ATTR",Zi,{transform:Me}),Zo=Tn(m,"ALLOWED_NAMESPACES",Sg,{transform:Ml}),bh=Tn(m,"ADD_URI_SAFE_ATTR",yh,{transform:Me,base:yh}),mh=Tn(m,"ADD_DATA_URI_TAGS",gh,{transform:Me,base:gh}),xi=Tn(m,"FORBID_CONTENTS",ph,{transform:Me}),wn=Tn(m,"FORBID_TAGS",ft({}),{transform:Me}),Hn=Tn(m,"FORBID_ATTR",ft({}),{transform:Me}),wi=ot(m,"USE_PROFILES")?m.USE_PROFILES&&typeof m.USE_PROFILES=="object"?ft(m.USE_PROFILES):m.USE_PROFILES:!1,ah=m.ALLOW_ARIA_ATTR!==!1,jo=m.ALLOW_DATA_ATTR!==!1,ch=m.ALLOW_UNKNOWN_PROTOCOLS||!1,hh=m.ALLOW_SELF_CLOSE_IN_ATTR!==!1,xn=m.SAFE_FOR_TEMPLATES||!1,Fn=m.SAFE_FOR_XML!==!1,zn=m.WHOLE_DOCUMENT||!1,yi=m.RETURN_DOM||!1,as=m.RETURN_DOM_FRAGMENT||!1,cs=m.RETURN_TRUSTED_TYPE||!1,qo=m.FORCE_BODY||!1,uh=m.SANITIZE_DOM!==!1,dh=m.SANITIZE_NAMED_PROPS||!1,Xo=m.KEEP_CONTENT!==!1,Yo=m.IN_PLACE||!1,Ko=Z0(m.ALLOWED_URI_REGEXP)?m.ALLOWED_URI_REGEXP:Du,vi=typeof m.NAMESPACE=="string"?m.NAMESPACE:Ut,Qo=Ol(m,"MATHML_TEXT_INTEGRATION_POINTS",()=>re({},wh)),el=Ol(m,"HTML_INTEGRATION_POINTS",()=>re({},xh));let w=Ol(m,"CUSTOM_ELEMENT_HANDLING",()=>Ti(null));if(nt=Ti(null),ot(w,"tagNameCheck")&&vh(w.tagNameCheck)&&(nt.tagNameCheck=w.tagNameCheck),ot(w,"attributeNameCheck")&&vh(w.attributeNameCheck)&&(nt.attributeNameCheck=w.attributeNameCheck),ot(w,"allowCustomizedBuiltInElements")&&typeof w.allowCustomizedBuiltInElements=="boolean"&&(nt.allowCustomizedBuiltInElements=w.allowCustomizedBuiltInElements),Be(nt),xn&&(jo=!1),as&&(yi=!0),wi&&(H=re({},Au),se=Ti(null),wi.html===!0&&(re(H,Tu),re(se,Mu)),wi.svg===!0&&(re(H,El),re(se,Ll),re(se,Ds)),wi.svgFilters===!0&&(re(H,Dl),re(se,Ll),re(se,Ds)),wi.mathMl===!0&&(re(H,Rl),re(se,Eu),re(se,Ds))),$t.tagCheck=null,$t.attributeCheck=null,ot(m,"ADD_TAGS")&&(typeof m.ADD_TAGS=="function"?$t.tagCheck=m.ADD_TAGS:Ai(m.ADD_TAGS)&&(H===Ce&&(H=ft(H)),re(H,m.ADD_TAGS,Me))),ot(m,"ADD_ATTR")&&(typeof m.ADD_ATTR=="function"?$t.attributeCheck=m.ADD_ATTR:Ai(m.ADD_ATTR)&&(se===Zi&&(se=ft(se)),re(se,m.ADD_ATTR,Me))),ot(m,"ADD_FORBID_CONTENTS")&&Ai(m.ADD_FORBID_CONTENTS)&&(xi===ph&&(xi=ft(xi)),re(xi,m.ADD_FORBID_CONTENTS,Me)),Xo&&(H["#text"]=!0),zn&&re(H,["html","head","body"]),H.table&&(re(H,["tbody"]),delete wn.tbody),m.TRUSTED_TYPES_POLICY){if(typeof m.TRUSTED_TYPES_POLICY.createHTML!="function")throw Un('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof m.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw Un('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');let T=z;z=m.TRUSTED_TYPES_POLICY;try{V=te("")}catch(I){throw z=T,I}}else m.TRUSTED_TYPES_POLICY===null?(z=void 0,V=""):(z===void 0&&(z=ut()),z&&typeof V=="string"&&(V=te("")));Ie&&Ie(m),ki=m},kh=re({},[...El,...Dl,...Q0]),Sh=re({},[...Rl,...eb]),Eg=function(m,w,T){return w.namespaceURI===Ut?m==="svg":w.namespaceURI===hs?m==="svg"&&(T==="annotation-xml"||Qo[T]):!!kh[m]},Dg=function(m,w,T){return w.namespaceURI===Ut?m==="math":w.namespaceURI===us?m==="math"&&el[T]:!!Sh[m]},Rg=function(m,w,T){return w.namespaceURI===us&&!el[T]||w.namespaceURI===hs&&!Qo[T]?!1:!Sh[m]&&(Cg[m]||!kh[m])},Lg=function(m){let w=x(m);(!w||!w.tagName)&&(w={namespaceURI:vi,tagName:"template"});let T=dr(m.tagName),I=dr(w.tagName);return Zo[m.namespaceURI]?m.namespaceURI===us?Eg(T,w,I):m.namespaceURI===hs?Dg(T,w,I):m.namespaceURI===Ut?Rg(T,w,I):!!(Qi==="application/xhtml+xml"&&Zo[m.namespaceURI]):!1},vn=function(m){cr(e.removed,{element:m});try{x(m).removeChild(m)}catch{if(p(m),!x(m))throw Un("a node selected for removal could not be detached from its tree and cannot be safely returned; refusing to sanitize in place")}},Ch=function(m,w,T){try{g(m,w)}catch{try{m.removeAttribute(T)}catch{}}},ds=function(m){fs(m);let w=y(m);if(w){let I=[];Kn(w,$=>{cr(I,$)}),Kn(I,$=>{try{p($)}catch{}})}let T=_(m);if(T)for(let I=T.length-1;I>=0;--I){let $=T[I],G=$&&$.name;typeof G=="string"&&Ch(m,$,G)}},Wn=function(m,w,T){if(!T)try{T=w.getAttributeNode(m)}catch{T=null}cr(e.removed,{attribute:T||null,from:w});try{T?g(w,T):w.removeAttribute(m)}catch{try{w.removeAttribute(m)}catch{}}if(m==="is")if(yi||as)try{vn(w)}catch{}else try{w.setAttribute(m,"")}catch{}},Og=function(m){let w=_(m);if(w)for(let T=w.length-1;T>=0;--T){let I=w[T],$=I&&I.name;typeof $!="string"||se[Me($)]||Ch(m,I,$)}},fs=function(m){let w=[m];for(;w.length>0;){let T=w.pop();N(T)===dt.element&&Og(T);let $=y(T);if($)for(let G=$.length-1;G>=0;--G)w.push($[G])}},Th=function(m,w){return Fn?m==="patchsrc"?!0:m==="for"&&w!=="label"&&w!=="output":!1},Pg=function(m){if(!Fn)return;let w=[m];for(;w.length>0;){let T=w.pop(),I=N(T);if(I===dt.processingInstruction||I===dt.comment&&Ue(Lu,T.data)){try{p(T)}catch{}continue}if(I===dt.element){let G=T,fe=Me(B(T));try{G.hasAttribute&&G.hasAttribute("patchsrc")&&G.removeAttribute("patchsrc"),G.hasAttribute&&G.hasAttribute("for")&&Th("for",fe)&&G.removeAttribute("for")}catch{}}let $=y(T);if($)for(let G=$.length-1;G>=0;--G)w.push($[G])}},Ah=function(m){let w=null,T=null;if(qo)m="<remove></remove>"+m;else{let G=vu(m,/^[\r\n\t ]+/);T=G&&G[0]}Qi==="application/xhtml+xml"&&vi===Ut&&(m='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+m+"</body></html>");let I=z?te(m):m;if(vi===Ut)try{w=new h().parseFromString(I,Qi)}catch{}if(!w||!w.documentElement){w=Le.createDocument(vi,"template",null);try{w.documentElement.innerHTML=Jo?V:I}catch{}}let $=w.body||w.documentElement;return m&&T&&$.insertBefore(t.createTextNode(T),$.childNodes[0]||null),vi===Ut?Xe.call(w,zn?"html":"body")[0]:zn?w.documentElement:$},Mh=function(m){let w=k?k(m):m.ownerDocument;return $e.call(w||m,m,a.SHOW_ELEMENT|a.SHOW_COMMENT|a.SHOW_TEXT|a.SHOW_PROCESSING_INSTRUCTION|a.SHOW_CDATA_SECTION,null)},ps=function(m){return m=hr(m,ln," "),m=hr(m,bi," "),m=hr(m,Vo," "),m},nl=function(m){var w;m.normalize();let T=k?k(m):m.ownerDocument,I=$e.call(T||m,m,a.SHOW_TEXT|a.SHOW_COMMENT|a.SHOW_CDATA_SECTION|a.SHOW_PROCESSING_INSTRUCTION,null),$=I.nextNode();for(;$;)$.data=ps($.data),$=I.nextNode();let G=(w=m.querySelectorAll)===null||w===void 0?void 0:w.call(m,"template");G&&Kn(G,fe=>{Si(fe.content)&&nl(fe.content)})},ms=function(m){let w=A?A(m):null;return typeof w!="string"||Me(w)!=="form"?!1:typeof m.nodeName!="string"||typeof m.textContent!="string"||typeof m.removeChild!="function"||m.attributes!==_(m)||typeof m.removeAttribute!="function"||typeof m.removeAttributeNode!="function"||typeof m.getAttributeNode!="function"||typeof m.setAttribute!="function"||typeof m.namespaceURI!="string"||typeof m.insertBefore!="function"||typeof m.hasChildNodes!="function"||m.nodeType!==S(m)||m.childNodes!==y(m)},Si=function(m){if(!S||typeof m!="object"||m===null)return!1;try{return S(m)===dt.documentFragment}catch{return!1}},er=function(m){if(!S||typeof m!="object"||m===null)return!1;try{return typeof S(m)=="number"}catch{return!1}};function Kt(E,m,w){E.length!==0&&Kn(E,T=>{T.call(e,m,w,ki)})}let Ig=function(m,w){return!!(Fn&&m.hasChildNodes()&&!er(m.firstElementChild)&&Ue(Ru,m.textContent)&&Ue(Ru,m.innerHTML)||Fn&&m.namespaceURI===Ut&&db[w]&&(er(m.firstElementChild)||typeof m.textContent=="string"&&Ue(fb[w],m.textContent))||m.nodeType===dt.processingInstruction||Fn&&m.nodeType===dt.comment&&Ue(Lu,m.data))},gs=function(m,w){if(m instanceof RegExp)return Ue(m,w);if(m instanceof Function){for(var T=arguments.length,I=new Array(T>2?T-2:0),$=2;$<T;$++)I[$-2]=arguments[$];return!!m(w,...I)}return!1},Ng=function(m,w,T){if(!wn[w]&&Oh(w)&&gs(nt.tagNameCheck,w))return!1;if(Xo&&!xi[w]){let I=x(m),$=y(m);if($&&I){let G=$.length;for(let fe=G-1;fe>=0;--fe){let Se=m===T?f($[fe],!0):$[fe];I.insertBefore(Se,b(m))}}}return vn(m),!0},Eh=function(m,w,T,I){return m.length===0?w:w===T||w===I?ft(w):w},Dh=function(m,w){return m===w||x(m)!==null?!1:(Yo&&fs(m),!0)},Rh=function(m,w){if(Kt(ie.beforeSanitizeElements,m,null),Dh(m,w))return!0;if(ms(m))return vn(m),!0;let T=Me(B(m));if(H=Eh(ie.uponSanitizeElement,H,Ce,os),Kt(ie.uponSanitizeElement,m,{tagName:T,allowedTags:H}),Dh(m,w))return!0;if(Ig(m,T))return vn(m),!0;if(wn[T]||!($t.tagCheck instanceof Function&&$t.tagCheck(T))&&!H[T]){let $=Ng(m,T,w);return $===!1&&Kt(ie.afterSanitizeElements,m,null),$}if(N(m)===dt.element&&!Lg(m)||(T==="noscript"||T==="noembed"||T==="noframes")&&Ue(hb,m.innerHTML))return vn(m),!0;if(xn&&m.nodeType===dt.text){let $=ps(m.textContent);m.textContent!==$&&(cr(e.removed,{element:m.cloneNode()}),m.textContent=$)}return Kt(ie.afterSanitizeElements,m,null),!1},Lh=function(m,w,T){if(Hn[w]||Th(w,m)||uh&&(w==="id"||w==="name")&&(T in t||T in Mg))return!1;let I=se[w]||$t.attributeCheck instanceof Function&&$t.attributeCheck(w,m);return jo&&Ue($o,w)||ah&&Ue(ss,w)?!0:I?bh[w]||Ue(Ko,hr(T,Uo,""))||(w==="src"||w==="xlink:href"||w==="href")&&m!=="script"&&ku(T,"data:")===0&&mh[m]||ch&&!Ue(oh,hr(T,Uo,""))?!0:!T:Oh(m)&&gs(nt.tagNameCheck,m)&&gs(nt.attributeNameCheck,w,m)||w==="is"&&nt.allowCustomizedBuiltInElements&&gs(nt.tagNameCheck,T)},Bg=re({},["annotation-xml","color-profile","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","missing-glyph"]),Oh=function(m){return!Bg[dr(m)]&&Ue(lh,m)},_g=function(m,w,T,I){if(z&&typeof u=="object"&&typeof u.getAttributeType=="function"&&!T)switch(u.getAttributeType(m,w)){case"TrustedHTML":return te(I);case"TrustedScriptURL":return He(I)}return I},Hg=function(m,w,T,I){try{return T?m.setAttributeNS(T,w,I):m.setAttribute(w,I),ms(m)?(vn(m),!1):!0}catch{return Wn(w,m),!1}},Ph=function(m){Kt(ie.beforeSanitizeAttributes,m,null);let w=m.attributes;if(!w||ms(m))return;se=Eh(ie.uponSanitizeAttribute,se,Zi,ls);let T={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:se,forceKeepAttr:void 0},I=w.length,$=Me(m.nodeName);for(;I--;){let G=w[I],fe=G.name,Se=G.namespaceURI,it=G.value,rt=Me(fe),rl=it,Ye=fe==="value"?rl:j0(rl),Ih=!1;if(T.attrName=rt,T.attrValue=Ye,T.keepAttr=!0,T.forceKeepAttr=void 0,Kt(ie.uponSanitizeAttribute,m,T),Ye=T.attrValue,dh&&(rt==="id"||rt==="name")&&ku(Ye,fh)!==0&&(Wn(fe,m,G),Ye=fh+Ye,Ih=!0),Fn&&Ue(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,Ye)){Wn(fe,m,G);continue}if(rt==="attributename"&&vu(Ye,"href")){Wn(fe,m,G);continue}if(!T.forceKeepAttr){if(!T.keepAttr){Wn(fe,m,G);continue}if(!hh&&Ue(ub,Ye)){Wn(fe,m,G);continue}if(xn&&(Ye=ps(Ye)),!Lh($,rt,Ye)){Wn(fe,m,G);continue}Ye=_g($,rt,Se,Ye),Ye!==rl&&Hg(m,fe,Se,Ye)&&Ih&&xu(e.removed)}}Kt(ie.afterSanitizeAttributes,m,null)},bs=function(m){let w=null,T=Mh(m);for(Kt(ie.beforeSanitizeShadowDOM,m,null);w=T.nextNode();)if(Kt(ie.uponSanitizeShadowNode,w,null),Rh(w,m),Ph(w),Si(w.content)&&bs(w.content),N(w)===dt.element){let I=C(w);Si(I)&&(il(I),bs(I))}Kt(ie.afterSanitizeShadowDOM,m,null)},il=function(m){let w=[{node:m,shadow:null}];for(;w.length>0;){let T=w.pop();if(T.shadow){bs(T.shadow);continue}let I=T.node,G=N(I)===dt.element,fe=y(I);if(fe)for(let Se=fe.length-1;Se>=0;--Se)w.push({node:fe[Se],shadow:null});if(G){let Se=A?A(I):null;if(typeof Se=="string"&&Me(Se)==="template"){let it=I.content;Si(it)&&w.push({node:it,shadow:null})}}if(G){let Se=C(I);Si(Se)&&w.push({node:null,shadow:Se},{node:Se,shadow:null})}}};return e.sanitize=function(E){let m=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},w=null,T=null,I=null,$=null;if(Jo=!E,Jo&&(E="<!-->"),typeof E!="string"&&!er(E)&&(E=J0(E),typeof E!="string"))throw Un("dirty is not a string, aborting");if(!e.isSupported)return E;Go?(H=os,se=ls):tl(m),(ie.uponSanitizeElement.length>0||ie.uponSanitizeAttribute.length>0)&&(H=ft(H)),ie.uponSanitizeAttribute.length>0&&(se=ft(se)),e.removed=[];let G=Yo&&typeof E!="string"&&er(E);if(G){Pg(E);let it=B(E);if(typeof it=="string"){let rt=Me(it);if(!H[rt]||wn[rt])throw ds(E),Un("root node is forbidden and cannot be sanitized in-place")}if(ms(E))throw ds(E),Un("root node is clobbered and cannot be sanitized in-place");try{il(E)}catch(rt){throw ds(E),rt}}else if(er(E))w=Ah("<!---->"),T=w.ownerDocument.importNode(E,!0),T.nodeType===dt.element&&T.nodeName==="BODY"||T.nodeName==="HTML"?w=T:w.appendChild(T),il(w);else{if(!yi&&!xn&&!zn&&E.indexOf("<")===-1)return z&&cs?te(E):E;if(w=Ah(E),!w)return yi?null:cs?V:""}w&&qo&&vn(w.firstChild);let fe=G?E:w;try{let it=Mh(fe);for(;I=it.nextNode();)Rh(I,fe),Ph(I),Si(I.content)&&bs(I.content)}catch(it){throw G&&(ds(E),Kn(e.removed,rt=>{rt.element&&fs(rt.element)})),it}if(G)return Kn(e.removed,it=>{it.element&&fs(it.element)}),xn&&nl(E),E;if(yi){if(xn&&nl(w),as)for($=Fe.call(w.ownerDocument);w.firstChild;)$.appendChild(w.firstChild);else $=w;return(se.shadowroot||se.shadowrootmode)&&($=Et.call(i,$,!0)),$}let Se=zn?w.outerHTML:w.innerHTML;return zn&&H["!doctype"]&&w.ownerDocument&&w.ownerDocument.doctype&&w.ownerDocument.doctype.name&&Ue(ab,w.ownerDocument.doctype.name)&&(Se="<!DOCTYPE "+w.ownerDocument.doctype.name+`>
|
|
574
|
+
`+Se),xn&&(Se=ps(Se)),z&&cs?te(Se):Se},e.setConfig=function(){let E=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};tl(E),Go=!0,os=H,ls=se},e.clearConfig=function(){ki=null,Go=!1,os=null,ls=null,z=M,V=""},e.isValidAttribute=function(E,m,w){ki||tl({});let T=Me(E),I=Me(m);return Lh(T,I,w)},e.addHook=function(E,m){typeof m=="function"&&ot(ie,E)&&cr(ie[E],m)},e.removeHook=function(E,m){if(ot(ie,E)){if(m!==void 0){let w=U0(ie[E],m);return w===-1?void 0:K0(ie[E],w,1)[0]}return xu(ie[E])}},e.removeHooks=function(E){ot(ie,E)&&(ie[E]=[])},e.removeAllHooks=function(){ie=Ou()},e}var Nl=Bu();function Rs(n,e,t,i){let r=t?Array.from(t):[];if(!n||!e||r.length===0)return!1;let s=X.conversation;if(!s)return i?.("error",v("attach.channelUnavailable")),!1;try{let o=s.createDrafts(n,r);if(o.length===0)return!1;let l=e.addAttachments(o.map(a=>a.id));return l||s.releaseDraftAttachments(o),l}catch(o){return i?.("error",o instanceof Error?o.message:String(o)),!1}}function _u(n){let e=null,t=X.conversation?.input.shell(n);if(typeof t?.bindFilePicker=="function")return t.bindFilePicker({available:()=>!0,open:()=>{e?.remove();let i=document.createElement("input");e=i,i.type="file",i.multiple=!0,i.style.display="none",i.addEventListener("change",()=>{i.remove(),e===i&&(e=null),Rs(n,X.conversation?.input.shell(n)??void 0,i.files)}),document.body.appendChild(i),i.click()}})}function Hu(n){return n!==null&&Array.from(n.types).includes("Files")}var K=require("react/jsx-runtime");function jn(n,e,t){return(0,K.jsx)("svg",{xmlns:"http://www.w3.org/2000/svg",width:e??16,height:e??16,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:t,"aria-hidden":"true",children:n})}var Fu=(0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("path",{d:"M6.8 5.8 2.9 11l4 4.4"}),(0,K.jsx)("path",{d:"M17.2 5.8 21.1 11l-3.9 4.4"}),(0,K.jsx)("path",{d:"M10.7 9.5 12.5 3.9"}),(0,K.jsx)("path",{d:"M16.6 9.4 6.9 14l2.9 1.3.1 2.5q.1.8.7.3l1-2.3 2.2 1.4Z"}),(0,K.jsx)("path",{d:"M9.8 15.3 16.6 9.4"})]});function zu({size:n,className:e}){return jn(Fu,n,e)}function Wu({size:n,className:e}){return jn((0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("path",{d:"M21.174 6.812a1 1 0 0 0-3.986-3.987L3.842 16.174a2 2 0 0 0-.5.83l-1.321 4.352a.5.5 0 0 0 .623.622l4.353-1.32a2 2 0 0 0 .83-.497z"}),(0,K.jsx)("path",{d:"m15 5 4 4"})]}),n,e)}function Vu({size:n,className:e}){return jn((0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("path",{d:"M2.062 12.348a1 1 0 0 1 0-.696 10.75 10.75 0 0 1 19.876 0 1 1 0 0 1 0 .696 10.75 10.75 0 0 1-19.876 0"}),(0,K.jsx)("circle",{cx:"12",cy:"12",r:"3"})]}),n,e)}function $u({size:n,className:e}){return jn((0,K.jsx)("path",{d:"M18 6 6 18M6 6l12 12"}),n,e)}function Uu({size:n,className:e}){return jn((0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("path",{d:"M15 2H6a2 2 0 0 0-2 2v16a2 2 0 0 0 2 2h12a2 2 0 0 0 2-2V7Z"}),(0,K.jsx)("path",{d:"M14 2v4a2 2 0 0 0 2 2h4"})]}),n,e)}function Ku({size:n,className:e}){return jn((0,K.jsx)("path",{d:"M20 20a2 2 0 0 0 2-2V8a2 2 0 0 0-2-2h-7.9a2 2 0 0 1-1.69-.9L9.6 3.9A2 2 0 0 0 7.93 3H4a2 2 0 0 0-2 2v13a2 2 0 0 0 2 2Z"}),n,e)}function ju({size:n,className:e}){return jn((0,K.jsxs)(K.Fragment,{children:[(0,K.jsx)("circle",{cx:"11",cy:"11",r:"8"}),(0,K.jsx)("path",{d:"m21 21-4.3-4.3"})]}),n,e)}function Gu({size:n}){return(0,K.jsx)("svg",{width:n??14,height:n??14,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:(0,K.jsx)("path",{d:"M8.64453 1.5V7.34961H14.5V8.65039H8.64453V14.5H7.34473V8.65039H1.5V7.34961H7.34473V1.5H8.64453Z",fill:"currentColor"})})}var qu="M8.20554 0.899994L14.7901 3.36857V7.01026C14.7901 12 11.0466 14.2103 8.20554 15.3C5.36446 14.2103 1.62012 12 1.62012 7.01026V3.36857L8.20554 0.899994Z",gb="M12.1654 5.7552L8.9447 9.41475C8.73044 9.65816 8.53628 9.8804 8.35774 10.0423C8.1713 10.2114 7.94235 10.3717 7.64016 10.4254C7.48207 10.4535 7.32 10.4552 7.16151 10.4294C6.85843 10.3801 6.62728 10.2223 6.43836 10.0559C6.25752 9.89653 6.06037 9.67732 5.84264 9.43705L4.72925 8.20897L5.63557 7.38707L6.74897 8.61594C6.98603 8.87755 7.12974 9.03533 7.24673 9.13839C7.31033 9.19443 7.34485 9.21476 7.35823 9.22122C7.38068 9.22484 7.40352 9.22515 7.42593 9.22122C7.40522 9.22502 7.42893 9.23294 7.53583 9.136C7.65132 9.03126 7.79316 8.87139 8.02643 8.60638L11.2479 4.94763L12.1654 5.7552Z";function Xu({size:n}){return(0,K.jsxs)("svg",{width:n??16,height:n??16,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,K.jsx)("path",{d:qu,stroke:"currentColor",strokeWidth:"1.31831",strokeLinejoin:"round"}),(0,K.jsx)("path",{d:gb,fill:"currentColor"})]})}function Yu({size:n}){return(0,K.jsxs)("svg",{width:n??16,height:n??16,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,K.jsx)("path",{d:"M8.08887 0.251709C8.20479 0.23085 8.32486 0.241168 8.43652 0.282959L15.0215 2.75171C15.2787 2.84819 15.4492 3.09414 15.4492 3.3689V7.0105C15.4492 7.10986 15.4441 7.2081 15.4414 7.30542C15.0285 7.07175 14.5905 6.87695 14.1309 6.73022V3.82495L8.20508 1.60327L2.2793 3.82495V7.0105C2.27936 9.7171 3.4745 11.5379 5.02734 12.7947C5.01025 12.9942 5 13.1962 5 13.4001C5.00001 13.7617 5.02722 14.1169 5.08008 14.4636C2.91555 13.0393 0.961014 10.752 0.960938 7.0105V3.3689C0.960938 3.09417 1.13146 2.84821 1.38867 2.75171L7.97461 0.282959L8.08887 0.251709Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M11.3525 5.64688V6.85688H5V5.64688H11.3525Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M9.5824 8.29376V9.50376H5V8.29376H9.5824Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M14.6647 15.6852H10.0338C10.3878 15.3751 10.7567 15.0517 11.0772 14.7706C11.2531 14.6164 11.4144 14.4746 11.5511 14.3547H14.6647V15.6852Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M8.14852 14.1308L7.33925 15.4976C7.22458 15.6912 7.42245 15.9194 7.63037 15.8333L9.09785 15.2254L15.0399 10.0719L14.0905 8.97733L8.14852 14.1308Z",fill:"currentColor"})]})}function Ju({size:n}){return(0,K.jsxs)("svg",{width:n??16,height:n??16,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,K.jsx)("path",{d:qu,stroke:"currentColor",strokeWidth:"1.31831",strokeLinejoin:"round"}),(0,K.jsx)("path",{d:"M9.10094 4.5V8.75939H7.59888V4.5H9.10094Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M9.10094 9.8114V11.5H7.59888V9.8114H9.10094Z",fill:"currentColor"})]})}function Zu({size:n}){return(0,K.jsxs)("svg",{width:n??18,height:n??18,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:[(0,K.jsx)("path",{d:"M6.3002 3.32843L7.69986 3.32843L7.69986 7.79657H6.3002L6.3002 3.32843Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M6.3002 9.01935H7.69986V10.6711H6.3002V9.01935Z",fill:"currentColor"}),(0,K.jsx)("path",{d:"M12.6328 6.99976C12.6328 3.88874 10.111 1.36694 7 1.36694C3.88899 1.36695 1.3672 3.88875 1.36719 6.99976C1.36719 10.1108 3.88899 12.6326 7 12.6326C10.111 12.6326 12.6328 10.1108 12.6328 6.99976ZM13.8582 6.99976C13.8582 10.7873 10.7876 13.8579 7 13.8579C3.21244 13.8579 0.141846 10.7873 0.141846 6.99976C0.141857 3.2122 3.21245 0.141612 7 0.141602C10.7876 0.141602 13.8581 3.21219 13.8582 6.99976Z",fill:"currentColor"})]})}function Qu({size:n}){return(0,K.jsx)("svg",{width:n??16,height:n??16,viewBox:"0 0 16 16","aria-hidden":"true",children:(0,K.jsx)("path",{d:"M8.3125 0.980183C8.66767 1.0531 8.97902 1.20418 9.2627 1.43233C9.48724 1.61297 9.73029 1.85793 9.97949 2.10714L14.707 6.83468L13.293 8.24874L9 3.95577V15.0417H7V3.95577L2.70703 8.24874L1.29297 6.83468L6.02051 2.10714C6.26971 1.85793 6.51277 1.61297 6.7373 1.43233C6.97662 1.23986 7.28445 1.04402 7.6875 0.980183C7.8973 0.947006 8.1031 0.95516 8.3125 0.980183Z",fill:"currentColor"})})}function ed({size:n}){return(0,K.jsx)("svg",{width:n??16,height:n??16,viewBox:"0 0 16 16","aria-hidden":"true",children:(0,K.jsx)("rect",{x:"3",y:"3",width:"10",height:"10",rx:"3",fill:"currentColor"})})}function Xt({size:n}){return(0,K.jsx)("svg",{width:n??14,height:n??14,viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",children:(0,K.jsx)("path",{d:"M3.5 5.75L7 9.25L10.5 5.75",stroke:"currentColor",strokeWidth:"1.3",strokeLinecap:"round",strokeLinejoin:"round"})})}function td({size:n=16,className:e}){return(0,K.jsx)("svg",{width:n,height:n,viewBox:"0 0 24 24",fill:"none",stroke:"currentColor",strokeWidth:2,strokeLinecap:"round",strokeLinejoin:"round",className:e,"aria-hidden":"true",children:Fu})}var Mt=require("react");var Hl=[],sd=[];(()=>{let n="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,1n,9,16,o,,x,1i,3,,i,,7,a,2,t,3,1k,,,7,2,2,2,3,9,,a,2,q,,2,3,1k,,,5,4,2,2,3,3,,u,2,3,,b,3,1k,,,8,,3,,3,k,2,m,6,,3,1k,,,7,2,2,2,3,7,3,a,2,u,,1n,5,3,3,,4,9,,14,5,1j,,,7,,3,,4,7,2,b,2,t,3,1k,,,7,,3,,4,7,2,b,2,f,,c,4,1j,2,,7,,3,,4,9,,a,2,t,3,1y,,4,6,,,,8,i,2,1p,,,8,c,8,2q,,,a,b,7,21,2,r,,,,,,4,2,1d,k,,2,5,b,,10,9,,2u,b,,6,n,4,4,3,g,4,d,,,3,6,,f,,jj,3,qa,4,s,3,t,2,u,2,1s,w,9,,19,3,,,39,2,y,,3a,c,4,c,63,5,1l,a,,,,,2,o,2,,1c,1a,2,c,k,5,1b,h,12,9,c,3,u,d,1k,e,1c,k,48,3,,l,4,,6,,2,3,5i,1s,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,n,5,4,,2b,2,1e,i,q,i,d,,12,8,p,d,18,4,1b,e,10,,1v,e,c,,8,2,1a,,1f,,,3,2,2,5,2,,,15,5,5,2,6k,8,,2,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,1t,5,8t,2,25,6,1y,b,1d,4,3e,3,1h,f,15,,2,2,a,4,19,b,7,,1p,3,10,e,g,2,18,,c,3,1c,e,8,4,,2,2k,c,6,,2,,4d,c,l,4,1j,2,,7,2,2,2,3,9,,a,2,2,7,3,5,1v,9,,,2,,,4,,5,,,e,2,2a,i,n,,29,k,6j,7,2,9,r,2,2a,h,2y,d,2t,3,2,a,74,f,6t,6,,2,2,4,,,,2,3x,7,2,7,3,,s,a,14,7,,4,8,,9,b,1a,g,5i,8,5j,8,,8,2a,m,,e,3e,6,3,,,2,,7,,,1u,5,,2,,5,9n,4,9,2,,,1c,7,3,5,n,,44l,,6,f,8ug,i,1xc,5,1n,7,t4,,,1j,7,4,29,,b,2,f57,2,3mp,1a,2,n,f2,5,3,6,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,2s,,4g,7,af,,1p,4,e4,4,72,2,6r,,2,,7,2,5,,d6,7,31,7,240,5".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,t=0;e<n.length;e++)(e%2?sd:Hl).push(t=t+n[e])})();function bb(n){if(n<768)return!1;for(let e=0,t=Hl.length;;){let i=e+t>>1;if(n<Hl[i])t=i;else if(n>=sd[i])e=i+1;else return!0;if(e==t)return!1}}function nd(n){return n>=127462&&n<=127487}var id=8205;function od(n,e,t=!0,i=!0){return(t?ld:yb)(n,e,i)}function ld(n,e,t){if(e==n.length)return e;e&&ad(n.charCodeAt(e))&&cd(n.charCodeAt(e-1))&&e--;let i=_l(n,e);for(e+=rd(i);e<n.length;){let r=_l(n,e);if(i==id||r==id||t&&bb(r))e+=rd(r),i=r;else if(nd(r)){let s=0,o=e-2;for(;o>=0&&nd(_l(n,o));)s++,o-=2;if(s%2==0)break;e+=2}else break}return e}function yb(n,e,t){for(;e>1;){let i=ld(n,e-2,t);if(i<e)return i;e--}return 0}function _l(n,e){let t=n.charCodeAt(e);if(!cd(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return ad(i)?(t-55296<<10)+(i-56320)+65536:t}function ad(n){return n>=56320&&n<57344}function cd(n){return n>=55296&&n<56320}function rd(n){return n<65536?1:2}var ee=class n{lineAt(e){if(e<0||e>this.length)throw new 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 new RangeError(`Invalid line number ${e} in ${this.lines}-line document`);return this.lineInner(e,!0,1,0)}replace(e,t,i){[e,t]=Li(this,e,t);let r=[];return this.decompose(0,e,r,2),i.length&&i.decompose(0,i.length,r,3),this.decompose(t,this.length,r,1),Ei.from(r,this.length-(t-e)+i.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,t=this.length){[e,t]=Li(this,e,t);let i=[];return this.decompose(e,t,i,0),Ei.from(i,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),i=this.length-this.scanIdentical(e,-1),r=new Yn(this),s=new Yn(e);for(let o=t,l=t;;){if(r.next(o),s.next(o),o=0,r.lineBreak!=s.lineBreak||r.done!=s.done||r.value!=s.value)return!1;if(l+=r.value.length,r.done||l>=i)return!0}}iter(e=1){return new Yn(this,e)}iterRange(e,t=this.length){return new Ns(this,e,t)}iterLines(e,t){let i;if(e==null)i=this.iter();else{t==null&&(t=this.lines+1);let r=this.line(e).from;i=this.iterRange(r,Math.max(r,t==this.lines+1?this.length:t<=1?0:this.line(t-1).to))}return new Bs(i)}toString(){return this.sliceString(0)}toJSON(){let e=[];return this.flatten(e),e}constructor(){}static of(e){if(e.length==0)throw new RangeError("A document must have at least one line");return e.length==1&&!e[0]?n.empty:e.length<=32?new pt(e):Ei.from(pt.split(e,[]))}},pt=class n extends ee{constructor(e,t=wb(e)){super(),this.text=e,this.length=t}get lines(){return this.text.length}get children(){return null}lineInner(e,t,i,r){for(let s=0;;s++){let o=this.text[s],l=r+o.length;if((t?i:l)>=e)return new zl(r,l,i,o);r=l+1,i++}}decompose(e,t,i,r){let s=e<=0&&t>=this.length?this:new n(hd(this.text,e,t),Math.min(t,this.length)-Math.max(0,e));if(r&1){let o=i.pop(),l=Is(s.text,o.text.slice(),0,s.length);if(l.length<=32)i.push(new n(l,o.length+s.length));else{let a=l.length>>1;i.push(new n(l.slice(0,a)),new n(l.slice(a)))}}else i.push(s)}replace(e,t,i){if(!(i instanceof n))return super.replace(e,t,i);[e,t]=Li(this,e,t);let r=Is(this.text,Is(i.text,hd(this.text,0,e)),t),s=this.length+i.length-(t-e);return r.length<=32?new n(r,s):Ei.from(n.split(r,[]),s)}sliceString(e,t=this.length,i=`
|
|
575
|
+
`){[e,t]=Li(this,e,t);let r="";for(let s=0,o=0;s<=t&&o<this.text.length;o++){let l=this.text[o],a=s+l.length;s>e&&o&&(r+=i),e<a&&t>s&&(r+=l.slice(Math.max(0,e-s),t-s)),s=a+1}return r}flatten(e){for(let t of this.text)e.push(t)}scanIdentical(){return 0}static split(e,t){let i=[],r=-1;for(let s of e)i.push(s),r+=s.length+1,i.length==32&&(t.push(new n(i,r)),i=[],r=-1);return r>-1&&t.push(new n(i,r)),t}},Ei=class n extends ee{constructor(e,t){super(),this.children=e,this.length=t,this.lines=0;for(let i of e)this.lines+=i.lines}lineInner(e,t,i,r){for(let s=0;;s++){let o=this.children[s],l=r+o.length,a=i+o.lines-1;if((t?a:l)>=e)return o.lineInner(e,t,i,r);r=l+1,i=a+1}}decompose(e,t,i,r){for(let s=0,o=0;o<=t&&s<this.children.length;s++){let l=this.children[s],a=o+l.length;if(e<=a&&t>=o){let c=r&((o<=e?1:0)|(a>=t?2:0));o>=e&&a<=t&&!c?i.push(l):l.decompose(e-o,t-o,i,c)}o=a+1}}replace(e,t,i){if([e,t]=Li(this,e,t),i.lines<this.lines)for(let r=0,s=0;r<this.children.length;r++){let o=this.children[r],l=s+o.length;if(e>=s&&t<=l){let a=o.replace(e-s,t-s,i),c=this.lines-o.lines+a.lines;if(a.lines<c>>4&&a.lines>c>>6){let h=this.children.slice();return h[r]=a,new n(h,this.length-(t-e)+i.length)}return super.replace(s,l,a)}s=l+1}return super.replace(e,t,i)}sliceString(e,t=this.length,i=`
|
|
576
|
+
`){[e,t]=Li(this,e,t);let r="";for(let s=0,o=0;s<this.children.length&&o<=t;s++){let l=this.children[s],a=o+l.length;o>e&&s&&(r+=i),e<a&&t>o&&(r+=l.sliceString(e-o,t-o,i)),o=a+1}return r}flatten(e){for(let t of this.children)t.flatten(e)}scanIdentical(e,t){if(!(e instanceof n))return 0;let i=0,[r,s,o,l]=t>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;r+=t,s+=t){if(r==o||s==l)return i;let a=this.children[r],c=e.children[s];if(a!=c)return i+a.scanIdentical(c,t);i+=a.length+1}}static from(e,t=e.reduce((i,r)=>i+r.length+1,-1)){let i=0;for(let f of e)i+=f.lines;if(i<32){let f=[];for(let p of e)p.flatten(f);return new pt(f,t)}let r=Math.max(32,i>>5),s=r<<1,o=r>>1,l=[],a=0,c=-1,h=[];function u(f){let p;if(f.lines>s&&f instanceof n)for(let g of f.children)u(g);else f.lines>o&&(a>o||!a)?(d(),l.push(f)):f instanceof pt&&a&&(p=h[h.length-1])instanceof pt&&f.lines+p.lines<=32?(a+=f.lines,c+=f.length+1,h[h.length-1]=new pt(p.text.concat(f.text),p.length+1+f.length)):(a+f.lines>r&&d(),a+=f.lines,c+=f.length+1,h.push(f))}function d(){a!=0&&(l.push(h.length==1?h[0]:n.from(h,c)),c=-1,a=h.length=0)}for(let f of e)u(f);return d(),l.length==1?l[0]:new n(l,t)}};ee.empty=new pt([""],0);function wb(n){let e=-1;for(let t of n)e+=t.length+1;return e}function Is(n,e,t=0,i=1e9){for(let r=0,s=0,o=!0;s<n.length&&r<=i;s++){let l=n[s],a=r+l.length;a>=t&&(a>i&&(l=l.slice(0,i-r)),r<t&&(l=l.slice(t-r)),o?(e[e.length-1]+=l,o=!1):e.push(l)),r=a+1}return e}function hd(n,e,t){return Is(n,[""],e,t)}var Yn=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 pt?e.text.length:e.children.length)<<1]}nextInner(e,t){for(this.done=this.lineBreak=!1;;){let i=this.nodes.length-1,r=this.nodes[i],s=this.offsets[i],o=s>>1,l=r instanceof pt?r.text.length:r.children.length;if(o==(t>0?l:0)){if(i==0)return this.done=!0,this.value="",this;t>0&&this.offsets[i-1]++,this.nodes.pop(),this.offsets.pop()}else if((s&1)==(t>0?0:1)){if(this.offsets[i]+=t,e==0)return this.lineBreak=!0,this.value=`
|
|
577
|
+
`,this;e--}else if(r instanceof pt){let a=r.text[o+(t<0?-1:0)];if(this.offsets[i]+=t,a.length>Math.max(0,e))return this.value=e==0?a:t>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=r.children[o+(t<0?-1:0)];e>a.length?(e-=a.length,this.offsets[i]+=t):(t<0&&this.offsets[i]--,this.nodes.push(a),this.offsets.push(t>0?1:(a instanceof pt?a.text.length:a.children.length)<<1))}}}next(e=0){return e<0&&(this.nextInner(-e,-this.dir),e=this.value.length),this.nextInner(e,this.dir)}},Ns=class{constructor(e,t,i){this.value="",this.done=!1,this.cursor=new Yn(e,t>i?-1:1),this.pos=t>i?e.length:0,this.from=Math.min(t,i),this.to=Math.max(t,i)}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 i=t<0?this.pos-this.from:this.to-this.pos;e>i&&(e=i),i-=e;let{value:r}=this.cursor.next(e);return this.pos+=(r.length+e)*t,this.value=r.length<=i?r:t<0?r.slice(r.length-i):r.slice(0,i),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!=""}},Bs=class{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:t,lineBreak:i,value:r}=this.inner.next(e);return t&&this.afterBreak?(this.value="",this.afterBreak=!1):t?(this.done=!0,this.value=""):i?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=r,this.afterBreak=!1),this}get lineBreak(){return!1}};typeof Symbol<"u"&&(ee.prototype[Symbol.iterator]=function(){return this.iter()},Yn.prototype[Symbol.iterator]=Ns.prototype[Symbol.iterator]=Bs.prototype[Symbol.iterator]=function(){return this});var zl=class{constructor(e,t,i,r){this.from=e,this.to=t,this.number=i,this.text=r}get length(){return this.to-this.from}};function Li(n,e,t){return e=Math.max(0,Math.min(n.length,e)),[e,Math.max(e,Math.min(n.length,t))]}function _e(n,e,t=!0,i=!0){return od(n,e,t,i)}function xb(n){return n>=56320&&n<57344}function vb(n){return n>=55296&&n<56320}function md(n,e){let t=n.charCodeAt(e);if(!vb(t)||e+1==n.length)return t;let i=n.charCodeAt(e+1);return xb(i)?(t-55296<<10)+(i-56320)+65536:t}function gd(n){return n<65536?1:2}var Wl=/\r\n?|\n/,lt=(function(n){return n[n.Simple=0]="Simple",n[n.TrackDel=1]="TrackDel",n[n.TrackBefore=2]="TrackBefore",n[n.TrackAfter=3]="TrackAfter",n})(lt||(lt={})),hn=class n{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 i=this.sections[t+1];e+=i<0?this.sections[t]:i}return e}get empty(){return this.sections.length==0||this.sections.length==2&&this.sections[1]<0}iterGaps(e){for(let t=0,i=0,r=0;t<this.sections.length;){let s=this.sections[t++],o=this.sections[t++];o<0?(e(i,r,s),r+=s):r+=o,i+=s}}iterChangedRanges(e,t=!1){Vl(this,e,t)}get invertedDesc(){let e=[];for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];r<0?e.push(i,r):e.push(r,i)}return new n(e)}composeDesc(e){return this.empty?e:e.empty?this:bd(this,e)}mapDesc(e,t=!1){return e.empty?this:$l(this,e,t)}mapPos(e,t=-1,i=lt.Simple){let r=0,s=0;for(let o=0;o<this.sections.length;){let l=this.sections[o++],a=this.sections[o++],c=r+l;if(a<0){if(c>e)return s+(e-r);s+=l}else{if(i!=lt.Simple&&c>=e&&(i==lt.TrackDel&&r<e&&c>e||i==lt.TrackBefore&&r<e||i==lt.TrackAfter&&c>e))return null;if(c>e||c==e&&t<0&&!l)return e==r||t<0?s:s+a;s+=a}r=c}if(e>r)throw new RangeError(`Position ${e} is out of range for changeset of length ${r}`);return s}touchesRange(e,t=e){for(let i=0,r=0;i<this.sections.length&&r<=t;){let s=this.sections[i++],o=this.sections[i++],l=r+s;if(o>=0&&r<=t&&l>=e)return r<e&&l>t?"cover":!0;r=l}return!1}toString(){let e="";for(let t=0;t<this.sections.length;){let i=this.sections[t++],r=this.sections[t++];e+=(e?" ":"")+i+(r>=0?":"+r:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(t=>typeof t!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new n(e)}static create(e){return new n(e)}},Ze=class n extends hn{constructor(e,t){super(e),this.inserted=t}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return Vl(this,(t,i,r,s,o)=>e=e.replace(r,r+(i-t),o),!1),e}mapDesc(e,t=!1){return $l(this,e,t,!0)}invert(e){let t=this.sections.slice(),i=[];for(let r=0,s=0;r<t.length;r+=2){let o=t[r],l=t[r+1];if(l>=0){t[r]=l,t[r+1]=o;let a=r>>1;for(;i.length<a;)i.push(ee.empty);i.push(o?e.slice(s,s+o):ee.empty)}s+=o}return new n(t,i)}compose(e){return this.empty?e:e.empty?this:bd(this,e,!0)}map(e,t=!1){return e.empty?this:$l(this,e,t,!0)}iterChanges(e,t=!1){Vl(this,e,t)}get desc(){return hn.create(this.sections)}filter(e){let t=[],i=[],r=[],s=new Zn(this);e:for(let o=0,l=0;;){let a=o==e.length?1e9:e[o++];for(;l<a||l==a&&s.len==0;){if(s.done)break e;let h=Math.min(s.len,a-l);Ke(r,h,-1);let u=s.ins==-1?-1:s.off==0?s.ins:0;Ke(t,h,u),u>0&&An(i,t,s.text),s.forward(h),l+=h}let c=e[o++];for(;l<c;){if(s.done)break e;let h=Math.min(s.len,c-l);Ke(t,h,-1),Ke(r,h,s.ins==-1?-1:s.off==0?s.ins:0),s.forward(h),l+=h}}return{changes:new n(t,i),filtered:hn.create(r)}}toJSON(){let e=[];for(let t=0;t<this.sections.length;t+=2){let i=this.sections[t],r=this.sections[t+1];r<0?e.push(i):r==0?e.push([i]):e.push([i].concat(this.inserted[t>>1].toJSON()))}return e}static of(e,t,i){let r=[],s=[],o=0,l=null;function a(h=!1){if(!h&&!r.length)return;o<t&&Ke(r,t-o,-1);let u=new n(r,s);l=l?l.compose(u.map(l)):u,r=[],s=[],o=0}function c(h){if(Array.isArray(h))for(let u of h)c(u);else if(h instanceof n){if(h.length!=t)throw new RangeError(`Mismatched change set length (got ${h.length}, expected ${t})`);a(),l=l?l.compose(h.map(l)):h}else{let{from:u,to:d=u,insert:f}=h;if(u>d||u<0||d>t)throw new RangeError(`Invalid change range ${u} to ${d} (in doc of length ${t})`);let p=f?typeof f=="string"?ee.of(f.split(i||Wl)):f:ee.empty,g=p.length;if(u==d&&g==0)return;u<o&&a(),u>o&&Ke(r,u-o,-1),Ke(r,d-u,g),An(s,r,p),o=d}}return c(e),a(!l),l}static empty(e){return new n(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let t=[],i=[];for(let r=0;r<e.length;r++){let s=e[r];if(typeof s=="number")t.push(s,-1);else{if(!Array.isArray(s)||typeof s[0]!="number"||s.some((o,l)=>l&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(s.length==1)t.push(s[0],0);else{for(;i.length<r;)i.push(ee.empty);i[r]=ee.of(s.slice(1)),t.push(s[0],i[r].length)}}}return new n(t,i)}static createSet(e,t){return new n(e,t)}};function Ke(n,e,t,i=!1){if(e==0&&t<=0)return;let r=n.length-2;r>=0&&t<=0&&t==n[r+1]?n[r]+=e:r>=0&&e==0&&n[r]==0?n[r+1]+=t:i?(n[r]+=e,n[r+1]+=t):n.push(e,t)}function An(n,e,t){if(t.length==0)return;let i=e.length-2>>1;if(i<n.length)n[n.length-1]=n[n.length-1].append(t);else{for(;n.length<i;)n.push(ee.empty);n.push(t)}}function Vl(n,e,t){let i=n.inserted;for(let r=0,s=0,o=0;o<n.sections.length;){let l=n.sections[o++],a=n.sections[o++];if(a<0)r+=l,s+=l;else{let c=r,h=s,u=ee.empty;for(;c+=l,h+=a,a&&i&&(u=u.append(i[o-2>>1])),!(t||o==n.sections.length||n.sections[o+1]<0);)l=n.sections[o++],a=n.sections[o++];e(r,c,s,h,u),r=c,s=h}}}function $l(n,e,t,i=!1){let r=[],s=i?[]:null,o=new Zn(n),l=new Zn(e);for(let a=-1;;){if(o.done&&l.len||l.done&&o.len)throw new Error("Mismatched change set lengths");if(o.ins==-1&&l.ins==-1){let c=Math.min(o.len,l.len);Ke(r,c,-1),o.forward(c),l.forward(c)}else if(l.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(l.len<o.len||l.len==o.len&&!t))){let c=l.len;for(Ke(r,l.ins,-1);c;){let h=Math.min(o.len,c);o.ins>=0&&a<o.i&&o.len<=h&&(Ke(r,0,o.ins),s&&An(s,r,o.text),a=o.i),o.forward(h),c-=h}l.next()}else if(o.ins>=0){let c=0,h=o.len;for(;h;)if(l.ins==-1){let u=Math.min(h,l.len);c+=u,h-=u,l.forward(u)}else if(l.ins==0&&l.len<h)h-=l.len,l.next();else break;Ke(r,c,a<o.i?o.ins:0),s&&a<o.i&&An(s,r,o.text),a=o.i,o.forward(o.len-h)}else{if(o.done&&l.done)return s?Ze.createSet(r,s):hn.create(r);throw new Error("Mismatched change set lengths")}}}function bd(n,e,t=!1){let i=[],r=t?[]:null,s=new Zn(n),o=new Zn(e);for(let l=!1;;){if(s.done&&o.done)return r?Ze.createSet(i,r):hn.create(i);if(s.ins==0)Ke(i,s.len,0,l),s.next();else if(o.len==0&&!o.done)Ke(i,0,o.ins,l),r&&An(r,i,o.text),o.next();else{if(s.done||o.done)throw new Error("Mismatched change set lengths");{let a=Math.min(s.len2,o.len),c=i.length;if(s.ins==-1){let h=o.ins==-1?-1:o.off?0:o.ins;Ke(i,a,h,l),r&&h&&An(r,i,o.text)}else o.ins==-1?(Ke(i,s.off?0:s.len,a,l),r&&An(r,i,s.textBit(a))):(Ke(i,s.off?0:s.len,o.off?0:o.ins,l),r&&!o.off&&An(r,i,o.text));l=(s.ins>a||o.ins>=0&&o.len>a)&&(l||i.length>c),s.forward2(a),o.forward(a)}}}}var Zn=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?ee.empty:e[t]}textBit(e){let{inserted:t}=this.set,i=this.i-2>>1;return i>=t.length&&!e?ee.empty:t[i].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)}},Gn=class n{constructor(e,t,i,r){this.from=e,this.to=t,this.flags=i,this.goalColumn=r}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 undirectional(){return(this.flags&64)>0}get bidiLevel(){let e=this.flags&7;return e==7?null:e}map(e,t=-1){let i,r;return this.empty?i=r=e.mapPos(this.from,t):(i=e.mapPos(this.from,1),r=e.mapPos(this.to,-1)),i==this.from&&r==this.to?this:new n(i,r,this.flags,this.goalColumn)}extend(e,t=e,i=0){if(e<=this.anchor&&t>=this.anchor)return D.range(e,t,void 0,void 0,i);let r=Math.abs(e-this.anchor)>Math.abs(t-this.anchor)?e:t;return D.range(this.anchor,r,void 0,void 0,i)}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 new RangeError("Invalid JSON representation for SelectionRange");return D.range(e.anchor,e.head)}static create(e,t,i,r){return new n(e,t,i,r)}},D=class n{constructor(e,t){this.ranges=e,this.mainIndex=t}map(e,t=-1){return e.empty?this:n.create(this.ranges.map(i=>i.map(e,t)),this.mainIndex)}eq(e,t=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let i=0;i<this.ranges.length;i++)if(!this.ranges[i].eq(e.ranges[i],t))return!1;return!0}get main(){return this.ranges[this.mainIndex]}asSingle(){return this.ranges.length==1?this:new n([this.main],0)}addRange(e,t=!0){return n.create([e].concat(this.ranges),t?0:this.mainIndex+1)}replaceRange(e,t=this.mainIndex){let i=this.ranges.slice();return i[t]=e,n.create(i,this.mainIndex)}toJSON(){return{ranges:this.ranges.map(e=>e.toJSON()),main:this.mainIndex}}static fromJSON(e){if(!e||!Array.isArray(e.ranges)||typeof e.main!="number"||e.main>=e.ranges.length)throw new RangeError("Invalid JSON representation for EditorSelection");return new n(e.ranges.map(t=>Gn.fromJSON(t)),e.main)}static single(e,t=e){return new n([n.range(e,t)],0)}static create(e,t=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let i=0,r=0;r<e.length;r++){let s=e[r];if(s.empty?s.from<=i:s.from<i)return n.normalized(e.slice(),t);i=s.to}return new n(e,t)}static cursor(e,t=0,i,r){return Gn.create(e,e,(t==0?0:t<0?8:16)|(i==null?7:Math.min(6,i)),r)}static range(e,t,i,r,s){let o=r==null?7:Math.min(6,r);return!s&&e!=t&&(s=t<e?1:-1),s&&(o|=s<0?8:16),t<e?Gn.create(t,e,o|32,i):Gn.create(e,t,o,i)}static undirectionalRange(e,t){return Gn.create(e,t,64,void 0)}static normalized(e,t=0){let i=e[t];e.sort((r,s)=>r.from-s.from),t=e.indexOf(i);for(let r=1;r<e.length;r++){let s=e[r],o=e[r-1];if(s.empty?s.from<=o.to:s.from<o.to){let l=o.from,a=Math.max(s.to,o.to);r<=t&&t--,e.splice(--r,2,s.anchor>s.head?n.range(a,l):n.range(l,a))}}return new n(e,t)}};function yd(n,e){for(let t of n.ranges)if(t.to>e)throw new RangeError("Selection points outside of document")}var Ql=0,U=class n{constructor(e,t,i,r,s){this.combine=e,this.compareInput=t,this.compare=i,this.isStatic=r,this.id=Ql++,this.default=e([]),this.extensions=typeof s=="function"?s(this):s}get reader(){return this}static define(e={}){return new n(e.combine||(t=>t),e.compareInput||((t,i)=>t===i),e.compare||(e.combine?(t,i)=>t===i:ea),!!e.static,e.enables)}of(e){return new Di([],this,0,e)}compute(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Di(e,this,1,t)}computeN(e,t){if(this.isStatic)throw new Error("Can't compute a static facet");return new Di(e,this,2,t)}from(e,t){return t||(t=i=>i),this.compute([e],i=>t(i.field(e)))}};function ea(n,e){return n==e||n.length==e.length&&n.every((t,i)=>t===e[i])}var Di=class{constructor(e,t,i,r){this.dependencies=e,this.facet=t,this.type=i,this.value=r,this.id=Ql++}dynamicSlot(e){var t;let i=this.value,r=this.facet.compareInput,s=this.id,o=e[s]>>1,l=this.type==2,a=!1,c=!1,h=[];for(let u of this.dependencies)u=="doc"?a=!0:u=="selection"?c=!0:(((t=e[u.id])!==null&&t!==void 0?t:1)&1)==0&&h.push(e[u.id]);return{create(u){return u.values[o]=i(u),1},update(u,d){if(a&&d.docChanged||c&&(d.docChanged||d.selection)||Ul(u,h)){let f=i(u);if(l?!ud(f,u.values[o],r):!r(f,u.values[o]))return u.values[o]=f,1}return 0},reconfigure:(u,d)=>{let f,p=d.config.address[s];if(p!=null){let g=Fs(d,p);if(this.dependencies.every(b=>b instanceof U?d.facet(b)===u.facet(b):b instanceof wt?d.field(b,!1)==u.field(b,!1):!0)||(l?ud(f=i(u),g,r):r(f=i(u),g)))return u.values[o]=g,0}else f=i(u);return u.values[o]=f,1}}}get extension(){return this}};function ud(n,e,t){if(n.length!=e.length)return!1;for(let i=0;i<n.length;i++)if(!t(n[i],e[i]))return!1;return!0}function Ul(n,e){let t=!1;for(let i of e)pr(n,i)&1&&(t=!0);return t}function kb(n,e,t){let i=t.map(a=>n[a.id]),r=t.map(a=>a.type),s=i.filter(a=>!(a&1)),o=n[e.id]>>1;function l(a){let c=[];for(let h=0;h<i.length;h++){let u=Fs(a,i[h]);if(r[h]==2)for(let d of u)c.push(d);else c.push(u)}return e.combine(c)}return{create(a){for(let c of i)pr(a,c);return a.values[o]=l(a),1},update(a,c){if(!Ul(a,s))return 0;let h=l(a);return e.compare(h,a.values[o])?0:(a.values[o]=h,1)},reconfigure(a,c){let h=Ul(a,i),u=c.config.facets[e.id],d=c.facet(e);if(u&&!h&&ea(t,u))return a.values[o]=d,0;let f=l(a);return e.compare(f,d)?(a.values[o]=d,0):(a.values[o]=f,1)}}}var Ls=U.define({static:!0}),wt=class n{constructor(e,t,i,r,s){this.id=e,this.createF=t,this.updateF=i,this.compareF=r,this.spec=s,this.provides=void 0}static define(e){let t=new n(Ql++,e.create,e.update,e.compare||((i,r)=>i===r),e);return e.provide&&(t.provides=e.provide(t)),t}create(e){let t=e.facet(Ls).find(i=>i.field==this);return(t?.create||this.createF)(e)}slot(e){let t=e[this.id]>>1;return{create:i=>(i.values[t]=this.create(i),1),update:(i,r)=>{let s=i.values[t],o=this.updateF(s,r);return this.compareF(s,o)?0:(i.values[t]=o,1)},reconfigure:(i,r)=>{let s=i.facet(Ls),o=r.facet(Ls),l;return(l=s.find(a=>a.field==this))&&l!=o.find(a=>a.field==this)?(i.values[t]=l.create(i),1):r.config.address[this.id]!=null?(i.values[t]=r.field(this),0):(i.values[t]=this.create(i),1)}}}init(e){return[this,Ls.of({field:this,create:e})]}get extension(){return this}},qn={lowest:4,low:3,default:2,high:1,highest:0};function fr(n){return e=>new _s(e,n)}var yr={highest:fr(qn.highest),high:fr(qn.high),default:fr(qn.default),low:fr(qn.low),lowest:fr(qn.lowest)},_s=class{constructor(e,t){this.inner=e,this.prec=t}get extension(){return this}},un=class n{of(e){return new mr(this,e)}reconfigure(e){return n.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}},mr=class{constructor(e,t){this.compartment=e,this.inner=t}get extension(){return this}},Hs=class n{constructor(e,t,i,r,s,o){for(this.base=e,this.compartments=t,this.dynamicSlots=i,this.address=r,this.staticValues=s,this.facets=o,this.statusTemplate=[];this.statusTemplate.length<i.length;)this.statusTemplate.push(0)}staticFacet(e){let t=this.address[e.id];return t==null?e.default:this.staticValues[t>>1]}static resolve(e,t,i){let r=[],s=Object.create(null),o=new Map;for(let d of Sb(e,t,o))d instanceof wt?r.push(d):(s[d.facet.id]||(s[d.facet.id]=[])).push(d);let l=Object.create(null),a=[],c=[];for(let d of r)l[d.id]=c.length<<1,c.push(f=>d.slot(f));let h=i?.config.facets;for(let d in s){let f=s[d],p=f[0].facet,g=h&&h[d]||[];if(f.every(b=>b.type==0))if(l[p.id]=a.length<<1|1,ea(g,f))a.push(i.facet(p));else{let b=p.combine(f.map(y=>y.value));a.push(i&&p.compare(b,i.facet(p))?i.facet(p):b)}else{for(let b of f)b.type==0?(l[b.id]=a.length<<1|1,a.push(b.value)):(l[b.id]=c.length<<1,c.push(y=>b.dynamicSlot(y)));l[p.id]=c.length<<1,c.push(b=>kb(b,p,f))}}let u=c.map(d=>d(l));return new n(e,o,u,l,a,s)}};function Sb(n,e,t){let i=[[],[],[],[],[]],r=new Map;function s(o,l){let a=r.get(o);if(a!=null){if(a<=l)return;let c=i[a].indexOf(o);c>-1&&i[a].splice(c,1),o instanceof mr&&t.delete(o.compartment)}if(r.set(o,l),Array.isArray(o))for(let c of o)s(c,l);else if(o instanceof mr){if(t.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let c=e.get(o.compartment)||o.inner;t.set(o.compartment,c),s(c,l)}else if(o instanceof _s)s(o.inner,o.prec);else if(o instanceof wt)i[l].push(o),o.provides&&s(o.provides,l);else if(o instanceof Di)i[l].push(o),o.facet.extensions&&s(o.facet.extensions,qn.default);else{let c=o.extension;if(!c)throw new Error(`Unrecognized extension value in extension set (${o}).`);if(c==o)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);s(c,l)}}return s(n,qn.default),i.reduce((o,l)=>o.concat(l))}function pr(n,e){if(e&1)return 2;let t=e>>1,i=n.status[t];if(i==4)throw new Error("Cyclic dependency between fields and/or facets");if(i&2)return i;n.status[t]=4;let r=n.computeSlot(n,n.config.dynamicSlots[t]);return n.status[t]=2|r}function Fs(n,e){return e&1?n.config.staticValues[e>>1]:n.values[e>>1]}var wd=U.define(),Kl=U.define({combine:n=>n.some(e=>e),static:!0}),xd=U.define({combine:n=>n.length?n[0]:void 0,static:!0}),vd=U.define(),kd=U.define(),Sd=U.define(),Cd=U.define({combine:n=>n.length?n[0]:!1}),at=class{constructor(e,t){this.type=e,this.value=t}static define(){return new jl}},jl=class{of(e){return new at(this,e)}},Gl=class{constructor(e){this.map=e}of(e){return new ye(this,e)}},ye=class n{constructor(e,t){this.type=e,this.value=t}map(e){let t=this.type.map(this.value,e);return t===void 0?void 0:t==this.value?this:new n(this.type,t)}is(e){return this.type==e}static define(e={}){return new Gl(e.map||(t=>t))}static mapEffects(e,t){if(!e.length)return e;let i=[];for(let r of e){let s=r.map(t);s&&i.push(s)}return i}};ye.reconfigure=ye.define();ye.appendConfig=ye.define();var De=class n{constructor(e,t,i,r,s,o){this.startState=e,this.changes=t,this.selection=i,this.effects=r,this.annotations=s,this.scrollIntoView=o,this._doc=null,this._state=null,i&&yd(i,t.newLength),s.some(l=>l.type==n.time)||(this.annotations=s.concat(n.time.of(Date.now())))}static create(e,t,i,r,s,o){return new n(e,t,i,r,s,o)}get newDoc(){return this._doc||(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(e){let t=this.annotation(n.userEvent);return!!(t&&(t==e||t.length>e.length&&t.slice(0,e.length)==e&&t[e.length]=="."))}};De.time=at.define();De.userEvent=at.define();De.addToHistory=at.define();De.remote=at.define();function Cb(n,e){let t=[];for(let i=0,r=0;;){let s,o;if(i<n.length&&(r==e.length||e[r]>=n[i]))s=n[i++],o=n[i++];else if(r<e.length)s=e[r++],o=e[r++];else return t;!t.length||t[t.length-1]<s?t.push(s,o):t[t.length-1]<o&&(t[t.length-1]=o)}}function Td(n,e,t){var i;let r,s,o;return t?(r=e.changes,s=Ze.empty(e.changes.length),o=n.changes.compose(e.changes)):(r=e.changes.map(n.changes),s=n.changes.mapDesc(e.changes,!0),o=n.changes.compose(r)),{changes:o,selection:e.selection?e.selection.map(s):(i=n.selection)===null||i===void 0?void 0:i.map(r),effects:ye.mapEffects(n.effects,r).concat(ye.mapEffects(e.effects,s)),annotations:n.annotations.length?n.annotations.concat(e.annotations):e.annotations,scrollIntoView:n.scrollIntoView||e.scrollIntoView}}function ql(n,e,t){let i=e.selection,r=Ri(e.annotations);return e.userEvent&&(r=r.concat(De.userEvent.of(e.userEvent))),{changes:e.changes instanceof Ze?e.changes:Ze.of(e.changes||[],t,n.facet(xd)),selection:i&&(i instanceof D?i:D.single(i.anchor,i.head)),effects:Ri(e.effects),annotations:r,scrollIntoView:!!e.scrollIntoView}}function Ad(n,e,t){let i=ql(n,e.length?e[0]:{},n.doc.length);e.length&&e[0].filter===!1&&(t=!1);for(let s=1;s<e.length;s++){e[s].filter===!1&&(t=!1);let o=!!e[s].sequential;i=Td(i,ql(n,e[s],o?i.changes.newLength:n.doc.length),o)}let r=De.create(n,i.changes,i.selection,i.effects,i.annotations,i.scrollIntoView);return Ab(t?Tb(r):r)}function Tb(n){let e=n.startState,t=!0;for(let r of e.facet(vd)){let s=r(n);if(s===!1){t=!1;break}Array.isArray(s)&&(t=t===!0?s:Cb(t,s))}if(t!==!0){let r,s;if(t===!1)s=n.changes.invertedDesc,r=Ze.empty(e.doc.length);else{let o=n.changes.filter(t);r=o.changes,s=o.filtered.mapDesc(o.changes).invertedDesc}n=De.create(e,r,n.selection&&n.selection.map(s),ye.mapEffects(n.effects,s),n.annotations,n.scrollIntoView)}let i=e.facet(kd);for(let r=i.length-1;r>=0;r--){let s=i[r](n);s instanceof De?n=s:Array.isArray(s)&&s.length==1&&s[0]instanceof De?n=s[0]:n=Ad(e,Ri(s),!1)}return n}function Ab(n){let e=n.startState,t=e.facet(Sd),i=n;for(let r=t.length-1;r>=0;r--){let s=t[r](n);s&&Object.keys(s).length&&(i=Td(i,ql(e,s,n.changes.newLength),!0))}return i==n?n:De.create(e,n.changes,n.selection,i.effects,i.annotations,i.scrollIntoView)}var Mb=[];function Ri(n){return n==null?Mb:Array.isArray(n)?n:[n]}var Dt=(function(n){return n[n.Word=0]="Word",n[n.Space=1]="Space",n[n.Other=2]="Other",n})(Dt||(Dt={})),Eb=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/,Xl;try{Xl=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function Db(n){if(Xl)return Xl.test(n);for(let e=0;e<n.length;e++){let t=n[e];if(/\w/.test(t)||t>"\x80"&&(t.toUpperCase()!=t.toLowerCase()||Eb.test(t)))return!0}return!1}function Rb(n){return e=>{if(!/\S/.test(e))return Dt.Space;if(Db(e))return Dt.Word;for(let t=0;t<n.length;t++)if(e.indexOf(n[t])>-1)return Dt.Word;return Dt.Other}}var ve=class n{constructor(e,t,i,r,s,o){this.config=e,this.doc=t,this.selection=i,this.values=r,this.status=e.statusTemplate.slice(),this.computeSlot=s,o&&(o._state=this);for(let l=0;l<this.config.dynamicSlots.length;l++)pr(this,l<<1);this.computeSlot=null}field(e,t=!0){let i=this.config.address[e.id];if(i==null){if(t)throw new RangeError("Field is not present in this state");return}return pr(this,i),Fs(this,i)}update(...e){return Ad(this,e,!0)}applyTransaction(e){let t=this.config,{base:i,compartments:r}=t;for(let l of e.effects)l.is(un.reconfigure)?(t&&(r=new Map,t.compartments.forEach((a,c)=>r.set(c,a)),t=null),r.set(l.value.compartment,l.value.extension)):l.is(ye.reconfigure)?(t=null,i=l.value):l.is(ye.appendConfig)&&(t=null,i=Ri(i).concat(l.value));let s;t?s=e.startState.values.slice():(t=Hs.resolve(i,r,this),s=new n(t,this.doc,this.selection,t.dynamicSlots.map(()=>null),(a,c)=>c.reconfigure(a,this),null).values);let o=e.startState.facet(Kl)?e.newSelection:e.newSelection.asSingle();new n(t,e.newDoc,o,s,(l,a)=>a.update(l,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(t=>({changes:{from:t.from,to:t.to,insert:e},range:D.cursor(t.from+e.length)}))}changeByRange(e){let t=this.selection,i=e(t.ranges[0]),r=this.changes(i.changes),s=[i.range],o=Ri(i.effects);for(let l=1;l<t.ranges.length;l++){let a=e(t.ranges[l]),c=this.changes(a.changes),h=c.map(r);for(let d=0;d<l;d++)s[d]=s[d].map(h);let u=r.mapDesc(c,!0);s.push(a.range.map(u)),r=r.compose(h),o=ye.mapEffects(o,h).concat(ye.mapEffects(Ri(a.effects),u))}return{changes:r,selection:D.create(s,t.mainIndex),effects:o}}changes(e=[]){return e instanceof Ze?e:Ze.of(e,this.doc.length,this.facet(n.lineSeparator))}toText(e){return ee.of(e.split(this.facet(n.lineSeparator)||Wl))}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:(pr(this,t),Fs(this,t))}toJSON(e){let t={doc:this.sliceDoc(),selection:this.selection.toJSON()};if(e)for(let i in e){let r=e[i];r instanceof wt&&this.config.address[r.id]!=null&&(t[i]=r.spec.toJSON(this.field(e[i]),this))}return t}static fromJSON(e,t={},i){if(!e||typeof e.doc!="string")throw new RangeError("Invalid JSON representation for EditorState");let r=[];if(i){for(let s in i)if(Object.prototype.hasOwnProperty.call(e,s)){let o=i[s],l=e[s];r.push(o.init(a=>o.spec.fromJSON(l,a)))}}return n.create({doc:e.doc,selection:D.fromJSON(e.selection),extensions:t.extensions?r.concat([t.extensions]):r})}static create(e={}){let t=Hs.resolve(e.extensions||[],new Map),i=e.doc instanceof ee?e.doc:ee.of((e.doc||"").split(t.staticFacet(n.lineSeparator)||Wl)),r=e.selection?e.selection instanceof D?e.selection:D.single(e.selection.anchor,e.selection.head):D.single(0);return yd(r,i.length),t.staticFacet(Kl)||(r=r.asSingle()),new n(t,i,r,t.dynamicSlots.map(()=>null),(s,o)=>o.create(s),null)}get tabSize(){return this.facet(n.tabSize)}get lineBreak(){return this.facet(n.lineSeparator)||`
|
|
578
|
+
`}get readOnly(){return this.facet(Cd)}phrase(e,...t){for(let i of this.facet(n.phrases))if(Object.prototype.hasOwnProperty.call(i,e)){e=i[e];break}return t.length&&(e=e.replace(/\$(\$|\d*)/g,(i,r)=>{if(r=="$")return"$";let s=+(r||1);return!s||s>t.length?i:t[s-1]})),e}languageDataAt(e,t,i=-1){let r=[];for(let s of this.facet(wd))for(let o of s(this,t,i))Object.prototype.hasOwnProperty.call(o,e)&&r.push(o[e]);return r}charCategorizer(e){let t=this.languageDataAt("wordChars",e);return Rb(t.length?t[0]:"")}wordAt(e){let{text:t,from:i,length:r}=this.doc.lineAt(e),s=this.charCategorizer(e),o=e-i,l=e-i;for(;o>0;){let a=_e(t,o,!1);if(s(t.slice(a,o))!=Dt.Word)break;o=a}for(;l<r;){let a=_e(t,l);if(s(t.slice(l,a))!=Dt.Word)break;l=a}return o==l?null:D.range(o+i,l+i)}};ve.allowMultipleSelections=Kl;ve.tabSize=U.define({combine:n=>n.length?n[0]:4});ve.lineSeparator=xd;ve.readOnly=Cd;ve.phrases=U.define({compare(n,e){let t=Object.keys(n),i=Object.keys(e);return t.length==i.length&&t.every(r=>n[r]==e[r])}});ve.languageData=wd;ve.changeFilter=vd;ve.transactionFilter=kd;ve.transactionExtender=Sd;un.reconfigure=ye.define();function Oi(n,e,t={}){let i={};for(let r of n)for(let s of Object.keys(r)){let o=r[s],l=i[s];if(l===void 0)i[s]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(t,s))i[s]=t[s](l,o);else throw new Error("Config merge conflict for field "+s)}for(let r in e)i[r]===void 0&&(i[r]=e[r]);return i}var Yt=class{eq(e){return this==e}range(e,t=e){return gr.create(e,t,this)}};Yt.prototype.startSide=Yt.prototype.endSide=0;Yt.prototype.point=!1;Yt.prototype.mapMode=lt.TrackDel;function ta(n,e){return n==e||n.constructor==e.constructor&&n.eq(e)}var gr=class n{constructor(e,t,i){this.from=e,this.to=t,this.value=i}static create(e,t,i){return new n(e,t,i)}};function Yl(n,e){return n.from-e.from||n.value.startSide-e.value.startSide}var Jl=class n{constructor(e,t,i,r){this.from=e,this.to=t,this.value=i,this.maxPoint=r}get length(){return Mi(this.to)}findIndex(e,t,i,r=0){let s=i?this.to:this.from;for(let o=r,l=s.length;;){if(o==l)return o;let a=o+l>>1,c=s[a]-e||(i?this.value[a].endSide:this.value[a].startSide)-t;if(a==o)return c>=0?o:l;c>=0?l=a:o=a+1}}between(e,t,i,r){for(let s=this.findIndex(t,-1e9,!0),o=this.findIndex(i,1e9,!1,s);s<o;s++)if(r(this.from[s]+e,this.to[s]+e,this.value[s])===!1)return!1}map(e,t,i,r,s){let o=[],l=[],a=[],c=-1,h=-1;e:for(let u=0;u<this.value.length;u++){let d=this.value[u],f=this.from[u]+e,p=this.to[u]+e,g,b;if(f==p){let y=t.mapPos(f,d.startSide,d.mapMode);if(y==null||(g=b=y,d.startSide!=d.endSide&&(b=t.mapPos(f,d.endSide),b<g)))continue}else if(g=t.mapPos(f,d.startSide),b=t.mapPos(p,d.endSide),g>b||g==b&&d.startSide>0&&d.endSide<=0)continue;if(!((b-g||d.endSide-d.startSide)<0))if(c<0&&(c=g),d.point&&(h=Math.max(h,b-g)),(g-i||d.startSide-r)>=0)o.push(d),l.push(g-c),a.push(b-c),i=b,r=d.endSide;else{if(g==b)for(let y=o.length;y>0;y--){if((g-(a[y-1]+c)||d.startSide-o[y-1].endSide)>=0){o.splice(y,0,d),l.splice(y,0,g-c),a.splice(y,0,b-c);continue e}if((g-(l[y-1]+c)||d.endSide-o[y-1].startSide)>0)break}s(g,b,d)}}return{mapped:o.length?new n(l,a,o,h):null,pos:c}}},he=class n{constructor(e,t,i,r){this.chunkPos=e,this.chunk=t,this.nextLayer=i,this.maxPoint=r}static create(e,t,i,r){return new n(e,t,i,r)}get length(){let e=this.chunk.length-1;return e<0?0:Math.max(this.chunkEnd(e),this.nextLayer.length)}get size(){if(this.isEmpty)return 0;let e=this.nextLayer.size;for(let t of this.chunk)e+=t.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:t=[],sort:i=!1,filterFrom:r=0,filterTo:s=this.length}=e,o=e.filter;if(t.length==0&&!o)return this;if(i&&(t=t.slice().sort(Yl)),this.isEmpty)return t.length?n.of(t):this;let l=new zs(this,null,-1).goto(0),a=0,c=[],h=new Jn;for(;l.value||a<t.length;)if(a<t.length&&(l.from-t[a].from||l.startSide-t[a].value.startSide)>=0){let u=t[a++];h.addInner(u.from,u.to,u.value,!1)||c.push(u)}else l.rangeIndex==1&&l.chunkIndex<this.chunk.length&&(a==t.length||this.chunkEnd(l.chunkIndex)<t[a].from)&&(!o||r>this.chunkEnd(l.chunkIndex)||s<this.chunkPos[l.chunkIndex])&&h.addChunk(this.chunkPos[l.chunkIndex],this.chunk[l.chunkIndex])?l.nextChunk():((!o||r>l.to||s<l.from||o(l.from,l.to,l.value))&&(h.addInner(l.from,l.to,l.value,!1)||c.push(gr.create(l.from,l.to,l.value))),l.next());return h.finishInner(this.nextLayer.isEmpty&&!c.length?n.empty:this.nextLayer.update({add:c,filter:o,filterFrom:r,filterTo:s}))}map(e){if(e.empty||this.isEmpty)return this;let t=[],i=[],r=-1,s,o=(a,c,h)=>{s||(s=new Jn),s.addRange(a,c,h,!1)};for(let a=0;a<this.chunk.length;a++){let c=this.chunkPos[a],h=this.chunk[a],u=e.touchesRange(c,c+h.length);if(u===!1)r=Math.max(r,h.maxPoint),t.push(h),i.push(e.mapPos(c));else if(u===!0){let[d,f]=t.length?[Mi(i)+Mi(t).length,Mi(Mi(t).value).endSide]:[-1,-1],{mapped:p,pos:g}=h.map(c,e,d,f,o);p&&(r=Math.max(r,p.maxPoint),t.push(p),i.push(g))}}let l=this.nextLayer.map(e);return s&&(l=s.finishInner(l)),t.length==0?l:new n(i,t,l||n.empty,r)}between(e,t,i){if(!this.isEmpty){for(let r=0;r<this.chunk.length;r++){let s=this.chunkPos[r],o=this.chunk[r];if(t>=s&&e<=s+o.length&&o.between(s,e-s,t-s,i)===!1)return}this.nextLayer.between(e,t,i)}}iter(e=0){return br.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,t=0){return br.from(e).goto(t)}static compare(e,t,i,r,s=-1){let o=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),l=t.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=s),a=dd(o,l,i),c=new Xn(o,a,s),h=new Xn(l,a,s);i.iterGaps((u,d,f)=>fd(c,u,h,d,f,r)),i.empty&&i.length==0&&fd(c,0,h,0,0,r)}static eq(e,t,i=0,r){r==null&&(r=999999999);let s=e.filter(h=>!h.isEmpty&&t.indexOf(h)<0),o=t.filter(h=>!h.isEmpty&&e.indexOf(h)<0);if(s.length!=o.length)return!1;if(!s.length)return!0;let l=dd(s,o),a=new Xn(s,l,0).goto(i),c=new Xn(o,l,0).goto(i);for(;;){if(a.to!=c.to||!Zl(a.active,c.active)||a.point&&(!c.point||!ta(a.point,c.point)))return!1;if(a.to>r)return!0;a.next(),c.next()}}static spans(e,t,i,r,s=-1){let o=new Xn(e,null,s).goto(t),l=t,a=o.openStart;for(;;){let c=Math.min(o.to,i);if(o.point){let h=o.activeForPoint(o.to),u=o.pointFrom<t?h.length+1:o.point.startSide<0?h.length:Math.min(h.length,a);r.point(l,c,o.point,h,u,o.pointRank),a=Math.min(o.openEnd(c),h.length)}else c>l&&(r.span(l,c,o.active,a),a=o.openEnd(c));if(o.to>i)return a+(o.point&&o.to>i?1:0);l=o.to,o.next()}}static of(e,t=!1){let i=new Jn;for(let r of e instanceof gr?[e]:t?Lb(e):e)i.add(r.from,r.to,r.value);return i.finish()}static join(e){if(!e.length)return n.empty;let t=Mi(e);for(let i=e.length-2;i>=0;i--)for(let r=e[i];r!=n.empty;r=r.nextLayer)t=new n(r.chunkPos,r.chunk,t,Math.max(r.maxPoint,t.maxPoint));return t}};he.empty=new he([],[],null,-1);function Mi(n){return n[n.length-1]}function Lb(n){if(n.length>1)for(let e=n[0],t=1;t<n.length;t++){let i=n[t];if(Yl(e,i)>0)return n.slice().sort(Yl);e=i}return n}he.empty.nextLayer=he.empty;var Jn=class n{finishChunk(e){this.chunks.push(new Jl(this.from,this.to,this.value,this.maxPoint)),this.chunkPos.push(this.chunkStart),this.chunkStart=-1,this.setMaxPoint=Math.max(this.setMaxPoint,this.maxPoint),this.maxPoint=-1,e&&(this.from=[],this.to=[],this.value=[])}constructor(){this.chunks=[],this.chunkPos=[],this.chunkStart=-1,this.last=null,this.lastFrom=-1e9,this.lastTo=-1e9,this.from=[],this.to=[],this.value=[],this.maxPoint=-1,this.setMaxPoint=-1,this.nextLayer=null}add(e,t,i){this.addRange(e,t,i,!0)}addRange(e,t,i,r){this.addInner(e,t,i,r)||(this.nextLayer||(this.nextLayer=new n)).addRange(e,t,i,r)}addInner(e,t,i,r){let s=e-this.lastTo||i.startSide-this.last.endSide;if(r&&s<=0&&(e-this.lastFrom||i.startSide-this.last.startSide)<0)throw new Error("Ranges must be added sorted by `from` position and `startSide`");return s<0?!1:(this.from.length==250&&this.finishChunk(!0),this.chunkStart<0&&(this.chunkStart=e),this.from.push(e-this.chunkStart),this.to.push(t-this.chunkStart),this.last=i,this.lastFrom=e,this.lastTo=t,this.value.push(i),i.point&&(this.maxPoint=Math.max(this.maxPoint,t-e)),!0)}addChunk(e,t){if((e-this.lastTo||t.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,t.maxPoint),this.chunks.push(t),this.chunkPos.push(e);let i=t.value.length-1;return this.last=t.value[i],this.lastFrom=t.from[i]+e,this.lastTo=t.to[i]+e,!0}finish(){return this.finishInner(he.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let t=he.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,t}};function dd(n,e,t){let i=new Map;for(let s of n)for(let o=0;o<s.chunk.length;o++)s.chunk[o].maxPoint<=0&&i.set(s.chunk[o],s.chunkPos[o]);let r=new Set;for(let s of e)for(let o=0;o<s.chunk.length;o++){let l=i.get(s.chunk[o]);l!=null&&(t?t.mapPos(l):l)==s.chunkPos[o]&&!t?.touchesRange(l,l+s.chunk[o].length)&&r.add(s.chunk[o])}return r}var zs=class{constructor(e,t,i,r=0){this.layer=e,this.skip=t,this.minPoint=i,this.rank=r}get startSide(){return this.value?this.value.startSide:0}get endSide(){return this.value?this.value.endSide:0}goto(e,t=-1e9){return this.chunkIndex=this.rangeIndex=0,this.gotoInner(e,t,!1),this}gotoInner(e,t,i){for(;this.chunkIndex<this.layer.chunk.length;){let r=this.layer.chunk[this.chunkIndex];if(!(this.skip&&this.skip.has(r)||this.layer.chunkEnd(this.chunkIndex)<e||r.maxPoint<this.minPoint))break;this.chunkIndex++,i=!1}if(this.chunkIndex<this.layer.chunk.length){let r=this.layer.chunk[this.chunkIndex].findIndex(e-this.layer.chunkPos[this.chunkIndex],t,!0);(!i||this.rangeIndex<r)&&this.setRangeIndex(r)}this.next()}forward(e,t){(this.to-e||this.endSide-t)<0&&this.gotoInner(e,t,!0)}next(){for(;;)if(this.chunkIndex==this.layer.chunk.length){this.from=this.to=1e9,this.value=null;break}else{let e=this.layer.chunkPos[this.chunkIndex],t=this.layer.chunk[this.chunkIndex],i=e+t.from[this.rangeIndex];if(this.from=i,this.to=e+t.to[this.rangeIndex],this.value=t.value[this.rangeIndex],this.setRangeIndex(this.rangeIndex+1),this.minPoint<0||this.value.point&&this.to-this.from>=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex<this.layer.chunk.length&&this.skip.has(this.layer.chunk[this.chunkIndex]);)this.chunkIndex++;this.rangeIndex=0}else this.rangeIndex=e}nextChunk(){this.chunkIndex++,this.rangeIndex=0,this.next()}compare(e){return this.from-e.from||this.startSide-e.startSide||this.rank-e.rank||this.to-e.to||this.endSide-e.endSide}},br=class n{constructor(e){this.heap=e}static from(e,t=null,i=-1){let r=[];for(let s=0;s<e.length;s++)for(let o=e[s];!o.isEmpty;o=o.nextLayer)o.maxPoint>=i&&r.push(new zs(o,t,i,s));return r.length==1?r[0]:new n(r)}get startSide(){return this.value?this.value.startSide:0}goto(e,t=-1e9){for(let i of this.heap)i.goto(e,t);for(let i=this.heap.length>>1;i>=0;i--)Fl(this.heap,i);return this.next(),this}forward(e,t){for(let i of this.heap)i.forward(e,t);for(let i=this.heap.length>>1;i>=0;i--)Fl(this.heap,i);(this.to-e||this.value.endSide-t)<0&&this.next()}next(){if(this.heap.length==0)this.from=this.to=1e9,this.value=null,this.rank=-1;else{let e=this.heap[0];this.from=e.from,this.to=e.to,this.value=e.value,this.rank=e.rank,e.value&&e.next(),Fl(this.heap,0)}}};function Fl(n,e){for(let t=n[e];;){let i=(e<<1)+1;if(i>=n.length)break;let r=n[i];if(i+1<n.length&&r.compare(n[i+1])>=0&&(r=n[i+1],i++),t.compare(r)<0)break;n[i]=t,n[e]=r,e=i}}var Xn=class{constructor(e,t,i){this.minPoint=i,this.active=[],this.activeTo=[],this.activeRank=[],this.minActive=-1,this.point=null,this.pointFrom=0,this.pointRank=0,this.to=-1e9,this.endSide=0,this.openStart=-1,this.cursor=br.from(e,t,i)}goto(e,t=-1e9){return this.cursor.goto(e,t),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=t,this.openStart=-1,this.next(),this}forward(e,t){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-t)<0;)this.removeActive(this.minActive);this.cursor.forward(e,t)}removeActive(e){Os(this.active,e),Os(this.activeTo,e),Os(this.activeRank,e),this.minActive=pd(this.active,this.activeTo)}addActive(e){let t=0,{value:i,to:r,rank:s}=this.cursor;for(;t<this.activeRank.length&&(s-this.activeRank[t]||r-this.activeTo[t])>0;)t++;Ps(this.active,t,i),Ps(this.activeTo,t,r),Ps(this.activeRank,t,s),e&&Ps(e,t,this.cursor.from),this.minActive=pd(this.active,this.activeTo)}next(){let e=this.to,t=this.point;this.point=null;let i=this.openStart<0?[]:null;for(;;){let r=this.minActive;if(r>-1&&(this.activeTo[r]-this.cursor.from||this.active[r].endSide-this.cursor.startSide)<0){if(this.activeTo[r]>e){this.to=this.activeTo[r],this.endSide=this.active[r].endSide;break}this.removeActive(r),i&&Os(i,r)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let s=this.cursor.value;if(!s.point)this.addActive(i),this.cursor.next();else if(t&&this.cursor.to==this.to&&this.cursor.from<this.cursor.to)this.cursor.next();else{this.point=s,this.pointFrom=this.cursor.from,this.pointRank=this.cursor.rank,this.to=this.cursor.to,this.endSide=s.endSide,this.cursor.next(),this.forward(this.to,this.endSide);break}}else{this.to=this.endSide=1e9;break}}if(i){this.openStart=0;for(let r=i.length-1;r>=0&&i[r]<e;r--)this.openStart++}}activeForPoint(e){if(!this.active.length)return this.active;let t=[];for(let i=this.active.length-1;i>=0&&!(this.activeRank[i]<this.pointRank);i--)(this.activeTo[i]>e||this.activeTo[i]==e&&this.active[i].endSide>=this.point.endSide)&&t.push(this.active[i]);return t.reverse()}openEnd(e){let t=0;for(let i=this.activeTo.length-1;i>=0&&this.activeTo[i]>e;i--)t++;return t}};function fd(n,e,t,i,r,s){n.goto(e),t.goto(i);let o=i+r,l=i,a=i-e,c=!!s.boundChange;for(let h=!1;;){let u=n.to+a-t.to,d=u||n.endSide-t.endSide,f=d<0?n.to+a:t.to,p=Math.min(f,o);if(n.point||t.point?(n.point&&t.point&&ta(n.point,t.point)&&Zl(n.activeForPoint(n.to),t.activeForPoint(t.to))||s.comparePoint(l,p,n.point,t.point),h=!1):(h&&(s.boundChange(l),h=!1),p>l&&!Zl(n.active,t.active)&&s.compareRange(l,p,n.active,t.active),c&&p<o&&(u||n.openEnd(f)!=t.openEnd(f))&&(h=!0)),f>o)break;l=f,d<=0&&n.next(),d>=0&&t.next()}}function Zl(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(n[t]!=e[t]&&!ta(n[t],e[t]))return!1;return!0}function Os(n,e){for(let t=e,i=n.length-1;t<i;t++)n[t]=n[t+1];n.pop()}function Ps(n,e,t){for(let i=n.length-1;i>=e;i--)n[i+1]=n[i];n[e]=t}function pd(n,e){let t=-1,i=1e9;for(let r=0;r<e.length;r++)(e[r]-i||n[r].endSide-n[t].endSide)<0&&(t=r,i=e[r]);return t}function Qn(n,e,t=n.length){let i=0;for(let r=0;r<t&&r<n.length;)n.charCodeAt(r)==9?(i+=e-i%e,r++):(i++,r=_e(n,r));return i}function Md(n,e,t,i){for(let r=0,s=0;;){if(s>=e)return r;if(r==n.length)break;s+=n.charCodeAt(r)==9?t-s%t:1,r=_e(n,r)}return i===!0?-1:n.length}var Ed=typeof Symbol>"u"?"__\u037C":Symbol.for("\u037C"),na=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Dd=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{},xt=class{constructor(e,t){this.rules=[];let{finish:i}=t||{};function r(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function s(o,l,a,c){let h=[],u=/^@(\w+)\b/.exec(o[0]),d=u&&u[1]=="keyframes";if(u&&l==null)return a.push(o[0]+";");for(let f in l){let p=l[f];if(/&/.test(f))s(f.split(/,\s*/).map(g=>o.map(b=>g.replace(/&/,b))).reduce((g,b)=>g.concat(b)),p,a);else if(p&&typeof p=="object"){if(!u)throw new RangeError("The value of a property ("+f+") should be a primitive value.");s(r(f),p,h,d)}else p!=null&&h.push(f.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+p+";")}(h.length||d)&&a.push((i&&!u&&!c?o.map(i):o).join(", ")+" {"+h.join(" ")+"}")}for(let o in e)s(r(o),e[o],this.rules)}getRules(){return this.rules.join(`
|
|
579
|
+
`)}static newName(){let e=Dd[Ed]||1;return Dd[Ed]=e+1,"\u037C"+e.toString(36)}static mount(e,t,i){let r=e[na],s=i&&i.nonce;r?s&&r.setNonce(s):r=new ia(e,s),r.mount(Array.isArray(t)?t:[t],e)}},Rd=new Map,ia=class{constructor(e,t){let i=e.ownerDocument||e,r=i.defaultView;if(!e.head&&e.adoptedStyleSheets&&r.CSSStyleSheet){let s=Rd.get(i);if(s)return e[na]=s;this.sheet=new r.CSSStyleSheet,Rd.set(i,this)}else this.styleTag=i.createElement("style"),t&&this.styleTag.setAttribute("nonce",t);this.modules=[],e[na]=this}mount(e,t){let i=this.sheet,r=0,s=0;for(let o=0;o<e.length;o++){let l=e[o],a=this.modules.indexOf(l);if(a<s&&a>-1&&(this.modules.splice(a,1),s--,a=-1),a==-1){if(this.modules.splice(s++,0,l),i)for(let c=0;c<l.rules.length;c++)i.insertRule(l.rules[c],r++)}else{for(;s<a;)r+=this.modules[s++].rules.length;r+=l.rules.length,s++}}if(i)t.adoptedStyleSheets.indexOf(this.sheet)<0&&(t.adoptedStyleSheets=[this.sheet,...t.adoptedStyleSheets]);else{let o="";for(let a=0;a<this.modules.length;a++)o+=this.modules[a].getRules()+`
|
|
580
|
+
`;this.styleTag.textContent=o;let l=t.head||t;this.styleTag.parentNode!=l&&l.insertBefore(this.styleTag,l.firstChild)}}setNonce(e){this.styleTag&&this.styleTag.getAttribute("nonce")!=e&&this.styleTag.setAttribute("nonce",e)}};var dn={8:"Backspace",9:"Tab",10:"Enter",12:"NumLock",13:"Enter",16:"Shift",17:"Control",18:"Alt",20:"CapsLock",27:"Escape",32:" ",33:"PageUp",34:"PageDown",35:"End",36:"Home",37:"ArrowLeft",38:"ArrowUp",39:"ArrowRight",40:"ArrowDown",44:"PrintScreen",45:"Insert",46:"Delete",59:";",61:"=",91:"Meta",92:"Meta",106:"*",107:"+",108:",",109:"-",110:".",111:"/",144:"NumLock",145:"ScrollLock",160:"Shift",161:"Shift",162:"Control",163:"Control",164:"Alt",165:"Alt",173:"-",186:";",187:"=",188:",",189:"-",190:".",191:"/",192:"`",219:"[",220:"\\",221:"]",222:"'"},Pi={48:")",49:"!",50:"@",51:"#",52:"$",53:"%",54:"^",55:"&",56:"*",57:"(",59:":",61:"+",173:"_",186:":",187:"+",188:"<",189:"_",190:">",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},Ob=typeof navigator<"u"&&/Mac/.test(navigator.platform),Pb=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(Re=0;Re<10;Re++)dn[48+Re]=dn[96+Re]=String(Re);var Re;for(Re=1;Re<=24;Re++)dn[Re+111]="F"+Re;var Re;for(Re=65;Re<=90;Re++)dn[Re]=String.fromCharCode(Re+32),Pi[Re]=String.fromCharCode(Re);var Re;for(Ws in dn)Pi.hasOwnProperty(Ws)||(Pi[Ws]=dn[Ws]);var Ws;function Ld(n){var e=Ob&&n.metaKey&&n.shiftKey&&!n.ctrlKey&&!n.altKey||Pb&&n.shiftKey&&n.key&&n.key.length==1||n.key=="Unidentified",t=!e&&n.key||(n.shiftKey?Pi:dn)[n.keyCode]||n.key||"Unidentified";return t=="Esc"&&(t="Escape"),t=="Del"&&(t="Delete"),t=="Left"&&(t="ArrowLeft"),t=="Up"&&(t="ArrowUp"),t=="Right"&&(t="ArrowRight"),t=="Down"&&(t="ArrowDown"),t}var Qe=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},ha=typeof document<"u"?document:{documentElement:{style:{}}},ua=/Edge\/(\d+)/.exec(Qe.userAgent),hf=/MSIE \d/.test(Qe.userAgent),da=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Qe.userAgent),po=!!(hf||da||ua),Od=!po&&/gecko\/(\d+)/i.test(Qe.userAgent),ra=!po&&/Chrome\/(\d+)/.exec(Qe.userAgent),Pd="webkitFontSmoothing"in ha.documentElement.style,fa=!po&&/Apple Computer/.test(Qe.vendor),Id=fa&&(/Mobile\/\w+/.test(Qe.userAgent)||Qe.maxTouchPoints>2),O={mac:Id||/Mac/.test(Qe.platform),windows:/Win/.test(Qe.platform),linux:/Linux|X11/.test(Qe.platform),ie:po,ie_version:hf?ha.documentMode||6:da?+da[1]:ua?+ua[1]:0,gecko:Od,gecko_version:Od?+(/Firefox\/(\d+)/.exec(Qe.userAgent)||[0,0])[1]:0,chrome:!!ra,chrome_version:ra?+ra[1]:0,ios:Id,android:/Android\b/.test(Qe.userAgent),webkit:Pd,webkit_version:Pd?+(/\bAppleWebKit\/(\d+)/.exec(Qe.userAgent)||[0,0])[1]:0,safari:fa,safari_version:fa?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Qe.userAgent)||[0,0])[1]:0,tabSize:ha.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function ec(n,e){for(let t in n)t=="class"&&e.class?e.class+=" "+n.class:t=="style"&&e.style?e.style+=";"+n.style:e[t]=n[t];return e}var Qs=Object.create(null);function tc(n,e,t){if(n==e)return!0;n||(n=Qs),e||(e=Qs);let i=Object.keys(n),r=Object.keys(e);if(i.length-(t&&i.indexOf(t)>-1?1:0)!=r.length-(t&&r.indexOf(t)>-1?1:0))return!1;for(let s of i)if(s!=t&&(r.indexOf(s)==-1||n[s]!==e[s]))return!1;return!0}function Ib(n,e){for(let t=n.attributes.length-1;t>=0;t--){let i=n.attributes[t].name;e[i]==null&&n.removeAttribute(i)}for(let t in e){let i=e[t];t=="style"?n.style.cssText=i:n.getAttribute(t)!=i&&n.setAttribute(t,i)}}function Nd(n,e,t){let i=!1;if(e)for(let r in e)t&&r in t||(i=!0,r=="style"?n.style.cssText="":n.removeAttribute(r));if(t)for(let r in t)e&&e[r]==t[r]||(i=!0,r=="style"?n.style.cssText=t[r]:n.setAttribute(r,t[r]));return i}function Nb(n){let e=Object.create(null);for(let t=0;t<n.attributes.length;t++){let i=n.attributes[t];e[i.name]=i.value}return e}var Dn=class{eq(e){return!1}updateDOM(e,t,i){return!1}compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}get estimatedHeight(){return-1}get lineBreaks(){return 0}ignoreEvent(e){return!0}coordsAt(e,t,i){return null}get isHidden(){return!1}get editable(){return!1}destroy(e){}},We=(function(n){return n[n.Text=0]="Text",n[n.WidgetBefore=1]="WidgetBefore",n[n.WidgetAfter=2]="WidgetAfter",n[n.WidgetRange=3]="WidgetRange",n})(We||(We={})),me=class extends Yt{constructor(e,t,i,r){super(),this.startSide=e,this.endSide=t,this.widget=i,this.spec=r}get heightRelevant(){return!1}static mark(e){return new Lr(e)}static widget(e){let t=Math.max(-1e4,Math.min(1e4,e.side||0)),i=!!e.block;return t+=i&&!e.inlineOrder?t>0?3e8:-4e8:t>0?1e8:-1e8,new ii(e,t,t,i,e.widget||null,!1)}static replace(e){let t=!!e.block,i,r;if(e.isBlockGap)i=-5e8,r=4e8;else{let{start:s,end:o}=uf(e,t);i=(s?t?-3e8:-1:5e8)-1,r=(o?t?2e8:1:-6e8)+1}return new ii(e,i,r,t,e.widget||null,!0)}static line(e){return new Or(e)}static set(e,t=!1){return he.of(e,t)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}};me.none=he.empty;var Lr=class n extends me{constructor(e){let{start:t,end:i}=uf(e);super(t?-1:5e8,i?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?ec(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Qs}eq(e){return this==e||e instanceof n&&this.tagName==e.tagName&&tc(this.attrs,e.attrs)}range(e,t=e){if(e>=t)throw new RangeError("Mark decorations may not be empty");return super.range(e,t)}};Lr.prototype.point=!1;var Or=class n extends me{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof n&&this.spec.class==e.spec.class&&tc(this.spec.attributes,e.spec.attributes)}range(e,t=e){if(t!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,t)}};Or.prototype.mapMode=lt.TrackBefore;Or.prototype.point=!0;var ii=class n extends me{constructor(e,t,i,r,s,o){super(t,i,s,e),this.block=r,this.isReplace=o,this.mapMode=r?t<=0?lt.TrackBefore:lt.TrackAfter:lt.TrackDel}get type(){return this.startSide!=this.endSide?We.WidgetRange:this.startSide<=0?We.WidgetBefore:We.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof n&&Bb(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,t=e){if(this.isReplace&&(e>t||e==t&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&t!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,t)}};ii.prototype.point=!0;function uf(n,e=!1){let{inclusiveStart:t,inclusiveEnd:i}=n;return t==null&&(t=n.inclusive),i==null&&(i=n.inclusive),{start:t??e,end:i??e}}function Bb(n,e){return n==e||!!(n&&e&&n.compare(e))}function Hi(n,e,t,i=0){let r=t.length-1;r>=0&&t[r]+i>=n?t[r]=Math.max(t[r],e):t.push(n,e)}var eo=class n extends Yt{constructor(e,t,i){super(),this.tagName=e,this.attributes=t,this.rank=i}eq(e){return e==this||e instanceof n&&this.tagName==e.tagName&&tc(this.attributes,e.attributes)}static create(e){return new n(e.tagName,e.attributes||Qs,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,t=!1){return he.of(e,t)}};eo.prototype.startSide=eo.prototype.endSide=-1;function Pr(n){let e;return n.nodeType==11?e=n.getSelection?n:n.ownerDocument:e=n,e.getSelection()}function pa(n,e){return e?n==e||n.contains(e.nodeType!=1?e.parentNode:e):!1}function kr(n,e){if(!e.anchorNode)return!1;try{return pa(n,e.anchorNode)}catch{return!1}}function Sr(n){return n.nodeType==3?Nr(n,0,n.nodeValue.length).getClientRects():n.nodeType==1?n.getClientRects():[]}function Cr(n,e,t,i){return t?Bd(n,e,t,i,-1)||Bd(n,e,t,i,1):!1}function Rn(n){for(var e=0;;e++)if(n=n.previousSibling,!n)return e}function to(n){return n.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(n.nodeName)}function Bd(n,e,t,i,r){for(;;){if(n==t&&e==i)return!0;if(e==(r<0?0:mn(n))){if(n.nodeName=="DIV")return!1;let s=n.parentNode;if(!s||s.nodeType!=1)return!1;e=Rn(n)+(r<0?0:1),n=s}else if(n.nodeType==1){if(n=n.childNodes[e+(r<0?-1:0)],n.nodeType==1&&n.contentEditable=="false")return!1;e=r<0?mn(n):0}else return!1}}function mn(n){return n.nodeType==3?n.nodeValue.length:n.childNodes.length}function Ir(n,e){let{left:t,right:i}=n;if(t==i)return n;let r=e?t:i;return{left:r,right:r,top:n.top,bottom:n.bottom}}function _b(n){let e=n.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:n.innerWidth,top:0,bottom:n.innerHeight}}function df(n,e){let t=e.width/n.offsetWidth,i=e.height/n.offsetHeight;return(t>.995&&t<1.005||!isFinite(t)||Math.abs(e.width-n.offsetWidth)<1)&&(t=1),(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.height-n.offsetHeight)<1)&&(i=1),{scaleX:t,scaleY:i}}function Hb(n,e,t,i,r,s,o,l){let a=n.ownerDocument,c=a.defaultView||window;for(let h=n,u=!1;h&&!u;)if(h.nodeType==1){let d,f=h==a.body,p=1,g=1;if(f)d=_b(c);else{if(/^(fixed|sticky)$/.test(getComputedStyle(h).position)&&(u=!0),h.scrollHeight<=h.clientHeight&&h.scrollWidth<=h.clientWidth){h=h.assignedSlot||h.parentNode;continue}let x=h.getBoundingClientRect();({scaleX:p,scaleY:g}=df(h,x)),d={left:x.left,right:x.left+h.clientWidth*p,top:x.top,bottom:x.top+h.clientHeight*g}}let b=0,y=0;if(r=="nearest")e.top<d.top+o?(y=e.top-(d.top+o),t>0&&e.bottom>d.bottom+y&&(y=e.bottom-d.bottom+o)):e.bottom>d.bottom-o&&(y=e.bottom-d.bottom+o,t<0&&e.top-y<d.top&&(y=e.top-(d.top+o)));else{let x=e.bottom-e.top,C=d.bottom-d.top;y=(r=="center"&&x<=C?e.top+x/2-C/2:r=="start"||r=="center"&&t<0?e.top-o:e.bottom-C+o)-d.top}if(i=="nearest"?e.left<d.left+s?(b=e.left-(d.left+s),t>0&&e.right>d.right+b&&(b=e.right-d.right+s)):e.right>d.right-s&&(b=e.right-d.right+s,t<0&&e.left<d.left+b&&(b=e.left-(d.left+s))):b=(i=="center"?e.left+(e.right-e.left)/2-(d.right-d.left)/2:i=="start"==l?e.left-s:e.right-(d.right-d.left)+s)-d.left,b||y)if(f)c.scrollBy(b,y);else{let x=0,C=0;if(y){let _=h.scrollTop;h.scrollTop+=y/g,C=(h.scrollTop-_)*g}if(b){let _=h.scrollLeft;h.scrollLeft+=b/p,x=(h.scrollLeft-_)*p}e={left:e.left-x,top:e.top-C,right:e.right-x,bottom:e.bottom-C},x&&Math.abs(x-b)<1&&(i="nearest"),C&&Math.abs(C-y)<1&&(r="nearest")}if(f)break;(e.top<d.top||e.bottom>d.bottom||e.left<d.left||e.right>d.right)&&(e={left:Math.max(e.left,d.left),right:Math.min(e.right,d.right),top:Math.max(e.top,d.top),bottom:Math.min(e.bottom,d.bottom)}),h=h.assignedSlot||h.parentNode}else if(h.nodeType==11)h=h.host;else break}function ff(n,e=!0){let t=n.ownerDocument,i=null,r=null;for(let s=n.parentNode;s&&!(s==t.body||(!e||i)&&r);)if(s.nodeType==1)!r&&s.scrollHeight>s.clientHeight&&(r=s),e&&!i&&s.scrollWidth>s.clientWidth&&(i=s),s=s.assignedSlot||s.parentNode;else if(s.nodeType==11)s=s.host;else break;return{x:i,y:r}}var ma=class{constructor(){this.anchorNode=null,this.anchorOffset=0,this.focusNode=null,this.focusOffset=0}eq(e){return this.anchorNode==e.anchorNode&&this.anchorOffset==e.anchorOffset&&this.focusNode==e.focusNode&&this.focusOffset==e.focusOffset}setRange(e){let{anchorNode:t,focusNode:i}=e;this.set(t,Math.min(e.anchorOffset,t?mn(t):0),i,Math.min(e.focusOffset,i?mn(i):0))}set(e,t,i,r){this.anchorNode=e,this.anchorOffset=t,this.focusNode=i,this.focusOffset=r}};function pf(n){let e=[];for(let t=n;t;t=t.nodeType==11?t.host:t.parentNode)t.nodeType==1&&e.push({node:t,left:t.scrollLeft,top:t.scrollTop});return e}function mf(n,e=!0){for(let{node:t,left:i,top:r}of n)e&&t.scrollTop!=r&&(t.scrollTop=r),t.scrollLeft!=i&&(t.scrollLeft=i)}var ei=null;O.safari&&O.safari_version>=26&&(ei=!1);function gf(n){if(n.setActive)return n.setActive();if(ei)return n.focus(ei);let e=pf(n);n.focus(ei==null?{get preventScroll(){return ei={preventScroll:!0},!0}}:void 0),ei||(ei=!1,mf(e))}var _d;function Nr(n,e,t=e){let i=_d||(_d=document.createRange());return i.setEnd(n,t),i.setStart(n,e),i}function Fi(n,e,t,i){let r={key:e,code:e,keyCode:t,which:t,cancelable:!0};i&&({altKey:r.altKey,ctrlKey:r.ctrlKey,shiftKey:r.shiftKey,metaKey:r.metaKey}=i);let s=new KeyboardEvent("keydown",r);s.synthetic=!0,n.dispatchEvent(s);let o=new KeyboardEvent("keyup",r);return o.synthetic=!0,n.dispatchEvent(o),s.defaultPrevented||o.defaultPrevented}function Fb(n){for(;n;){if(n&&(n.nodeType==9||n.nodeType==11&&n.host))return n;n=n.assignedSlot||n.parentNode}return null}function zb(n,e){let t=e.focusNode,i=e.focusOffset;if(!t||e.anchorNode!=t||e.anchorOffset!=i)return!1;for(i=Math.min(i,mn(t));;)if(i){if(t.nodeType!=1)return!1;let r=t.childNodes[i-1];r.contentEditable=="false"?i--:(t=r,i=mn(t))}else{if(t==n)return!0;i=Rn(t),t=t.parentNode}}function bf(n){return n instanceof Window?n.pageYOffset>Math.max(0,n.document.documentElement.scrollHeight-n.innerHeight-4):n.scrollTop>Math.max(1,n.scrollHeight-n.clientHeight-4)}function yf(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i>0)return{node:t,offset:i};if(t.nodeType==1&&i>0){if(t.contentEditable=="false")return null;t=t.childNodes[i-1],i=mn(t)}else if(t.parentNode&&!to(t))i=Rn(t),t=t.parentNode;else return null}}function wf(n,e){for(let t=n,i=e;;){if(t.nodeType==3&&i<t.nodeValue.length)return{node:t,offset:i};if(t.nodeType==1&&i<t.childNodes.length){if(t.contentEditable=="false")return null;t=t.childNodes[i],i=0}else if(t.parentNode&&!to(t))i=Rn(t)+1,t=t.parentNode;else return null}}var Zt=class n{constructor(e,t,i=!0){this.node=e,this.offset=t,this.precise=i}static before(e,t){return new n(e.parentNode,Rn(e),t)}static after(e,t){return new n(e.parentNode,Rn(e)+1,t)}},ge=(function(n){return n[n.LTR=0]="LTR",n[n.RTL=1]="RTL",n})(ge||(ge={})),ri=ge.LTR,nc=ge.RTL;function xf(n){let e=[];for(let t=0;t<n.length;t++)e.push(1<<+n[t]);return e}var Wb=xf("88888888888888888888888888888888888666888888787833333333337888888000000000000000000000000008888880000000000000000000000000088888888888888888888888888888888888887866668888088888663380888308888800000000000000000000000800000000000000000000000000000008"),Vb=xf("4444448826627288999999999992222222222222222222222222222222222222222222222229999999999999999999994444444444644222822222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222222999999949999999229989999223333333333"),ga=Object.create(null),Jt=[];for(let n of["()","[]","{}"]){let e=n.charCodeAt(0),t=n.charCodeAt(1);ga[e]=t,ga[t]=-e}function vf(n){return n<=247?Wb[n]:1424<=n&&n<=1524?2:1536<=n&&n<=1785?Vb[n-1536]:1774<=n&&n<=2220?4:8192<=n&&n<=8204?256:64336<=n&&n<=65023?4:1}var $b=/[\u0590-\u05f4\u0600-\u06ff\u0700-\u08ac\ufb50-\ufdff]/,St=class{get dir(){return this.level%2?nc:ri}constructor(e,t,i){this.from=e,this.to=t,this.level=i}side(e,t){return this.dir==t==e?this.to:this.from}forward(e,t){return e==(this.dir==t)}static find(e,t,i,r){let s=-1;for(let o=0;o<e.length;o++){let l=e[o];if(l.from<=t&&l.to>=t){if(l.level==i)return o;(s<0||(r!=0?r<0?l.from<t:l.to>t:e[s].level>l.level))&&(s=o)}}if(s<0)throw new RangeError("Index out of range");return s}};function kf(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++){let i=n[t],r=e[t];if(i.from!=r.from||i.to!=r.to||i.direction!=r.direction||!kf(i.inner,r.inner))return!1}return!0}var de=[];function Ub(n,e,t,i,r){for(let s=0;s<=i.length;s++){let o=s?i[s-1].to:e,l=s<i.length?i[s].from:t,a=s?256:r;for(let c=o,h=a,u=a;c<l;c++){let d=vf(n.charCodeAt(c));d==512?d=h:d==8&&u==4&&(d=16),de[c]=d==4?2:d,d&7&&(u=d),h=d}for(let c=o,h=a,u=a;c<l;c++){let d=de[c];if(d==128)c<l-1&&h==de[c+1]&&h&24?d=de[c]=h:de[c]=256;else if(d==64){let f=c+1;for(;f<l&&de[f]==64;)f++;let p=c&&h==8||f<t&&de[f]==8?u==1?1:8:256;for(let g=c;g<f;g++)de[g]=p;c=f-1}else d==8&&u==1&&(de[c]=1);h=d,d&7&&(u=d)}}}function Kb(n,e,t,i,r){let s=r==1?2:1;for(let o=0,l=0,a=0;o<=i.length;o++){let c=o?i[o-1].to:e,h=o<i.length?i[o].from:t;for(let u=c,d,f,p;u<h;u++)if(f=ga[d=n.charCodeAt(u)])if(f<0){for(let g=l-3;g>=0;g-=3)if(Jt[g+1]==-f){let b=Jt[g+2],y=b&2?r:b&4?b&1?s:r:0;y&&(de[u]=de[Jt[g]]=y),l=g;break}}else{if(Jt.length==189)break;Jt[l++]=u,Jt[l++]=d,Jt[l++]=a}else if((p=de[u])==2||p==1){let g=p==r;a=g?0:1;for(let b=l-3;b>=0;b-=3){let y=Jt[b+2];if(y&2)break;if(g)Jt[b+2]|=2;else{if(y&4)break;Jt[b+2]|=4}}}}}function jb(n,e,t,i){for(let r=0,s=i;r<=t.length;r++){let o=r?t[r-1].to:n,l=r<t.length?t[r].from:e;for(let a=o;a<l;){let c=de[a];if(c==256){let h=a+1;for(;;)if(h==l){if(r==t.length)break;h=t[r++].to,l=r<t.length?t[r].from:e}else if(de[h]==256)h++;else break;let u=s==1,d=(h<e?de[h]:i)==1,f=u==d?u?1:2:i;for(let p=h,g=r,b=g?t[g-1].to:n;p>a;)p==b&&(p=t[--g].from,b=g?t[g-1].to:n),de[--p]=f;a=h}else s=c,a++}}}function ba(n,e,t,i,r,s,o){let l=i%2?2:1;if(i%2==r%2)for(let a=e,c=0;a<t;){let h=!0,u=!1;if(c==s.length||a<s[c].from){let g=de[a];g!=l&&(h=!1,u=g==16)}let d=!h&&l==1?[]:null,f=h?i:i+1,p=a;e:for(;;)if(c<s.length&&p==s[c].from){if(u)break e;let g=s[c];if(!h)for(let b=g.to,y=c+1;;){if(b==t)break e;if(y<s.length&&s[y].from==b)b=s[y++].to;else{if(de[b]==l)break e;break}}if(c++,d)d.push(g);else{g.from>a&&o.push(new St(a,g.from,f));let b=g.direction==ri!=!(f%2);ya(n,b?i+1:i,r,g.inner,g.from,g.to,o),a=g.to}p=g.to}else{if(p==t||(h?de[p]!=l:de[p]==l))break;p++}d?ba(n,a,p,i+1,r,d,o):a<p&&o.push(new St(a,p,f)),a=p}else for(let a=t,c=s.length;a>e;){let h=!0,u=!1;if(!c||a>s[c-1].to){let g=de[a-1];g!=l&&(h=!1,u=g==16)}let d=!h&&l==1?[]:null,f=h?i:i+1,p=a;e:for(;;)if(c&&p==s[c-1].to){if(u)break e;let g=s[--c];if(!h)for(let b=g.from,y=c;;){if(b==e)break e;if(y&&s[y-1].to==b)b=s[--y].from;else{if(de[b-1]==l)break e;break}}if(d)d.push(g);else{g.to<a&&o.push(new St(g.to,a,f));let b=g.direction==ri!=!(f%2);ya(n,b?i+1:i,r,g.inner,g.from,g.to,o),a=g.from}p=g.from}else{if(p==e||(h?de[p-1]!=l:de[p-1]==l))break;p--}d?ba(n,p,a,i+1,r,d,o):p<a&&o.push(new St(p,a,f)),a=p}}function ya(n,e,t,i,r,s,o){let l=e%2?2:1;Ub(n,r,s,i,l),Kb(n,r,s,i,l),jb(r,s,i,l),ba(n,r,s,e,t,i,o)}function Gb(n,e,t){if(!n)return[new St(0,0,e==nc?1:0)];if(e==ri&&!t.length&&!$b.test(n))return Sf(n.length);if(t.length)for(;n.length>de.length;)de[de.length]=256;let i=[],r=e==ri?0:1;return ya(n,r,r,t,0,n.length,i),i}function Sf(n){return[new St(0,n,0)]}var Cf="";function qb(n,e,t,i,r){var s;let o=i.head-n.from,l=St.find(e,o,(s=i.bidiLevel)!==null&&s!==void 0?s:-1,i.assoc),a=e[l],c=a.side(r,t);if(o==c){let d=l+=r?1:-1;if(d<0||d>=e.length)return null;a=e[l=d],o=a.side(!r,t),c=a.side(r,t)}let h=_e(n.text,o,a.forward(r,t));(h<a.from||h>a.to)&&(h=c),Cf=n.text.slice(Math.min(o,h),Math.max(o,h));let u=l==(r?e.length-1:0)?null:e[l+(r?1:-1)];return u&&h==c&&u.level+(r?0:1)<a.level?D.cursor(u.side(!r,t)+n.from,u.forward(r,t)?1:-1,u.level):D.cursor(h+n.from,a.forward(r,t)?-1:1,a.level)}function Xb(n,e,t){for(let i=e;i<t;i++){let r=vf(n.charCodeAt(i));if(r==1)return ri;if(r==2||r==4)return nc}return ri}var Tf=U.define(),Af=U.define(),Mf=U.define(),Ef=U.define(),wa=U.define(),Df=U.define(),Rf=U.define(),ic=U.define(),rc=U.define(),Lf=U.define({combine:n=>n.some(e=>e)}),Of=U.define({combine:n=>n.some(e=>e)}),Pf=U.define(),Tr=class n{constructor(e,t,i,r,s,o=!1){this.range=e,this.y=t,this.x=i,this.yMargin=r,this.xMargin=s,this.isSnapshot=o}map(e){return e.empty?this:new n(this.range.map(e),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}clip(e){return this.range.to<=e.doc.length?this:new n(D.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}},Vs=ye.define({map:(n,e)=>n.map(e)}),If=ye.define();function Lt(n,e,t){let i=n.facet(Ef);i.length?i[0](e):window.onerror&&window.onerror(String(e),t,void 0,void 0,e)||(t?console.error(t+":",e):console.error(e))}var fn=U.define({combine:n=>n.length?n[0]:!0}),Yb=0,Ni=U.define({combine(n){return n.filter((e,t)=>{for(let i=0;i<t;i++)if(n[i].plugin==e.plugin)return!1;return!0})}}),Pt=class n{constructor(e,t,i,r,s){this.id=e,this.create=t,this.domEventHandlers=i,this.domEventObservers=r,this.baseExtensions=s(this),this.extension=this.baseExtensions.concat(Ni.of({plugin:this,arg:void 0}))}of(e){return this.baseExtensions.concat(Ni.of({plugin:this,arg:e}))}static define(e,t){let{eventHandlers:i,eventObservers:r,provide:s,decorations:o}=t||{};return new n(Yb++,e,i,r,l=>{let a=[];return o&&a.push(mo.of(c=>{let h=c.plugin(l);return h?o(h):me.none})),s&&a.push(s(l)),a})}static fromClass(e,t){return n.define((i,r)=>new e(i,r),t)}},Ar=class{constructor(e){this.spec=e,this.mustUpdate=null,this.value=null}get plugin(){return this.spec&&this.spec.plugin}update(e){if(this.value){if(this.mustUpdate){let t=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(t)}catch(i){if(Lt(t.state,i,"CodeMirror plugin crashed"),this.value.destroy)try{this.value.destroy()}catch{}this.deactivate()}}}else if(this.spec)try{this.value=this.spec.plugin.create(e,this.spec.arg)}catch(t){Lt(e.state,t,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var t;if(!((t=this.value)===null||t===void 0)&&t.destroy)try{this.value.destroy()}catch(i){Lt(e.state,i,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}},Nf=U.define(),sc=U.define(),mo=U.define(),Bf=U.define(),oc=U.define(),Br=U.define(),_f=U.define();function Hd(n,e){let t=n.state.facet(_f);if(!t.length)return t;let i=t.map(s=>s instanceof Function?s(n):s),r=[];return he.spans(i,e.from,e.to,{point(){},span(s,o,l,a){let c=s-e.from,h=o-e.from,u=r;for(let d=l.length-1;d>=0;d--,a--){let f=l[d].spec.bidiIsolate,p;if(f==null&&(f=Xb(e.text,c,h)),a>0&&u.length&&(p=u[u.length-1]).to==c&&p.direction==f)p.to=h,u=p.inner;else{let g={from:c,to:h,direction:f,inner:[]};u.push(g),u=g.inner}}}}),r}var Hf=U.define();function Ff(n){let e=0,t=0,i=0,r=0;for(let s of n.state.facet(Hf)){let o=s(n);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(t=Math.max(t,o.right)),o.top!=null&&(i=Math.max(i,o.top)),o.bottom!=null&&(r=Math.max(r,o.bottom)))}return{left:e,right:t,top:i,bottom:r}}var wr=U.define(),Ot=class n{constructor(e,t,i,r){this.fromA=e,this.toA=t,this.fromB=i,this.toB=r}join(e){return new n(Math.min(this.fromA,e.fromA),Math.max(this.toA,e.toA),Math.min(this.fromB,e.fromB),Math.max(this.toB,e.toB))}addToSet(e){let t=e.length,i=this;for(;t>0;t--){let r=e[t-1];if(!(r.fromA>i.toA)){if(r.toA<i.fromA)break;i=i.join(r),e.splice(t-1,1)}}return e.splice(t,0,i),e}static extendWithRanges(e,t){if(t.length==0)return e;let i=[];for(let r=0,s=0,o=0;;){let l=r<e.length?e[r].fromB:1e9,a=s<t.length?t[s]:1e9,c=Math.min(l,a);if(c==1e9)break;let h=c+o,u=c,d=h;for(;;)if(s<t.length&&t[s]<=u){let f=t[s+1];s+=2,u=Math.max(u,f);for(let p=r;p<e.length&&e[p].fromB<=u;p++)o=e[p].toA-e[p].toB;d=Math.max(d,f+o)}else if(r<e.length&&e[r].fromB<=u){let f=e[r++];u=Math.max(u,f.toB),d=Math.max(d,f.toA),o=f.toA-f.toB}else break;i.push(new n(h,d,c,u))}return i}},no=class n{constructor(e,t,i){this.view=e,this.state=t,this.transactions=i,this.flags=0,this.startState=e.state,this.changes=Ze.empty(this.startState.doc.length);for(let s of i)this.changes=this.changes.compose(s.changes);let r=[];this.changes.iterChangedRanges((s,o,l,a)=>r.push(new Ot(s,o,l,a))),this.changedRanges=r}static create(e,t,i){return new n(e,t,i)}get viewportChanged(){return(this.flags&4)>0}get viewportMoved(){return(this.flags&8)>0}get heightChanged(){return(this.flags&2)>0}get geometryChanged(){return this.docChanged||(this.flags&18)>0}get focusChanged(){return(this.flags&1)>0}get docChanged(){return!this.changes.empty}get selectionSet(){return this.transactions.some(e=>e.selection)}get empty(){return this.flags==0&&this.transactions.length==0}},Jb=[],ke=class{constructor(e,t,i=0){this.dom=e,this.length=t,this.flags=i,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return Jb}isWidget(){return!1}get isHidden(){return!1}isComposite(){return!1}isLine(){return!1}isText(){return!1}isBlock(){return!1}get domAttrs(){return null}sync(e){if(this.flags|=2,this.flags&4){this.flags&=-5;let t=this.domAttrs;t&&Ib(this.dom,t)}}toString(){return this.constructor.name+(this.children.length?`(${this.children})`:"")+(this.breakAfter?"#":"")}destroy(){this.parent=null}setDOM(e){this.dom=e,e.cmTile=this}get posAtStart(){return this.parent?this.parent.posBefore(this):0}get posAtEnd(){return this.posAtStart+this.length}posBefore(e,t=this.posAtStart){let i=t;for(let r of this.children){if(r==e)return i;i+=r.length+r.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,t,i){return null}domPosFor(e,t){let i=Rn(this.dom),r=this.length?e>0:t>0;return new Zt(this.parent.dom,i+(r?1:0),e==0||e==this.length)}markDirty(e){this.flags&=-3,e&&(this.flags|=4),this.parent&&this.parent.flags&2&&this.parent.markDirty(!1)}get overrideDOMText(){return null}get root(){for(let e=this;e;e=e.parent)if(e instanceof Wi)return e;return null}static get(e){return e.cmTile}},zi=class extends ke{constructor(e){super(e,0),this._children=[]}isComposite(){return!0}get children(){return this._children}get lastChild(){return this.children.length?this.children[this.children.length-1]:null}append(e){this.children.push(e),e.parent=this}sync(e){if(this.flags&2)return;super.sync(e);let t=this.dom,i=null,r,s=e?.node==t?e:null,o=0;for(let l of this.children){if(l.sync(e),o+=l.length+l.breakAfter,r=i?i.nextSibling:t.firstChild,s&&r!=l.dom&&(s.written=!0),l.dom.parentNode==t)for(;r&&r!=l.dom;)r=Fd(r);else t.insertBefore(l.dom,r);i=l.dom}for(r=i?i.nextSibling:t.firstChild,s&&r&&(s.written=!0);r;)r=Fd(r);this.length=o}};function Fd(n){let e=n.nextSibling;return n.parentNode.removeChild(n),e}var Wi=class extends zi{constructor(e,t){super(t),this.view=e}owns(e){for(;e;e=e.parent)if(e==this)return!0;return!1}isBlock(){return!0}nearest(e){for(;;){if(!e)return null;let t=ke.get(e);if(t&&this.owns(t))return t;e=e.parentNode}}blockTiles(e){for(let t=[],i=this,r=0,s=0;;)if(r==i.children.length){if(!t.length)return;i=i.parent,i.breakAfter&&s++,r=t.pop()}else{let o=i.children[r++];if(o instanceof pn)t.push(r),i=o,r=0;else{let l=s+o.length,a=e(o,s);if(a!==void 0)return a;s=l+o.breakAfter}}}resolveBlock(e,t){let i,r=-1,s,o=-1;if(this.blockTiles((l,a)=>{let c=a+l.length;if(e>=a&&e<=c){if(l.isWidget()&&t>=-1&&t<=1){if(l.flags&32)return!0;l.flags&16&&(i=void 0)}(a<e||e==c&&(t<-1?l.length:l.covers(1)))&&(!i||!l.isWidget()&&i.isWidget())&&(i=l,r=e-a),(c>e||e==a&&(t>1?l.length:l.covers(-1)))&&(!s||!l.isWidget()&&s.isWidget())&&(s=l,o=e-a)}}),!i&&!s)throw new Error("No tile at position "+e);return i&&t<0||!s?{tile:i,offset:r}:{tile:s,offset:o}}},pn=class n extends zi{constructor(e,t){super(e),this.wrapper=t}isBlock(){return!0}covers(e){return this.children.length?e<0?this.children[0].covers(-1):this.lastChild.covers(1):!1}get domAttrs(){return this.wrapper.attributes}static of(e,t){let i=new n(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}},Vi=class n extends zi{constructor(e,t){super(e),this.attrs=t}isLine(){return!0}static start(e,t,i){let r=new n(t||document.createElement("div"),e);return(!t||!i)&&(r.flags|=4),r}get domAttrs(){return this.attrs}resolveInline(e,t,i){let r=null,s=-1,o=null,l=-1;function a(h,u){for(let d=0,f=0;d<h.children.length&&f<=u;d++){let p=h.children[d],g=f+p.length;g>=u&&(p.isComposite()?a(p,u-f):(!o||o.isHidden&&(t>0&&!(o.flags&32)||i&&Qb(o,p)))&&(g>u||p.flags&32&&t<=1)?(o=p,l=u-f):(f<u||p.flags&16&&!p.isHidden&&t>=-1)&&(r=p,s=u-f)),f=g}}a(this,e);let c=(t<0?r:o)||r||o;return c?{tile:c,offset:c==r?s:l}:null}coordsIn(e,t,i){let r=this.resolveInline(e,t,!0);return r?r.tile.coordsIn(Math.max(0,r.offset),t,i):Zb(this)}domIn(e,t){let i=this.resolveInline(e,t);if(i){let{tile:r,offset:s}=i;if(this.dom.contains(r.dom))return r.isText()?new Zt(r.dom,Math.min(r.dom.nodeValue.length,s)):r.domPosFor(s,r.flags&16?1:r.flags&32?-1:t);let o=i.tile.parent,l=!1;for(let a of o.children){if(l)return new Zt(a.dom,0);a==i.tile&&(l=!0)}}return new Zt(this.dom,0)}};function Zb(n){let e=n.dom.lastChild;if(!e)return n.dom.getBoundingClientRect();let t=Sr(e);return t[t.length-1]||null}function Qb(n,e){let t=n.coordsIn(0,1),i=e.coordsIn(0,1);return t&&i&&i.top<t.bottom}var ct=class n extends zi{constructor(e,t){super(e),this.mark=t}get domAttrs(){return this.mark.attrs}static of(e,t){let i=new n(t||document.createElement(e.tagName),e);return t||(i.flags|=4),i}},ti=class n extends ke{constructor(e,t){super(e,t.length),this.text=t}sync(e){this.flags&2||(super.sync(e),this.dom.nodeValue!=this.text&&(e&&e.node==this.dom&&(e.written=!0),this.dom.nodeValue=this.text))}isText(){return!0}toString(){return JSON.stringify(this.text)}coordsIn(e,t,i){let r=this.dom.nodeValue.length;e>r&&(e=r);let s=e,o=e,l=0;e==0&&t<0||e==r&&t>=0?O.chrome||O.gecko||(e?(s--,l=1):o<r&&(o++,l=-1)):t<0?s--:o<r&&o++;let a=Nr(this.dom,s,o).getClientRects();if(!a.length)return null;let c=a[(l?l<0:t>=0)?0:a.length-1];return O.safari&&!l&&c.width==0&&(c=Array.prototype.find.call(a,h=>h.width)||c),i==null?c:Ir(c,(l?l>0:t<0)==i)}static of(e,t){let i=new n(t||document.createTextNode(e),e);return t||(i.flags|=2),i}},si=class n extends ke{constructor(e,t,i,r){super(e,t,r),this.widget=i}isWidget(){return!0}get isHidden(){return this.widget.isHidden}covers(e){return this.flags&48?!1:(this.flags&(e<0?64:128))>0}coordsIn(e,t){return this.coordsInWidget(e,t,!1)}coordsInWidget(e,t,i){let r=this.widget.coordsAt(this.dom,e,t);if(r)return r;if(i)return Ir(this.dom.getBoundingClientRect(),this.length?e==0:t<=0);{let s=this.dom.getClientRects(),o=null;if(!s.length)return null;let l=this.flags&16?!0:this.flags&32?!1:e>0;for(let a=l?s.length-1:0;o=s[a],!(e>0?a==0:a==s.length-1||o.top<o.bottom);a+=l?-1:1);return Ir(o,!l)}}get overrideDOMText(){if(!this.length)return ee.empty;let{root:e}=this;if(!e)return ee.empty;let t=this.posAtStart;return e.view.state.doc.slice(t,t+this.length)}destroy(){super.destroy(),this.widget.destroy(this.dom)}static of(e,t,i,r,s){return s||(s=e.toDOM(t),e.editable||(s.contentEditable="false")),new n(s,i,e,r)}},$i=class extends ke{constructor(e){let t=document.createElement("img");t.className="cm-widgetBuffer",t.setAttribute("aria-hidden","true"),super(t,0,e)}get isHidden(){return!0}get overrideDOMText(){return ee.empty}coordsIn(e,t,i){let r=this.dom.getBoundingClientRect();return i==null?r:Ir(r,t>0==i)}},xa=class{constructor(e){this.index=0,this.beforeBreak=!1,this.parents=[],this.tile=e}advance(e,t,i){let{tile:r,index:s,beforeBreak:o,parents:l}=this;for(;e||t>0;)if(r.isComposite())if(o){if(!e)break;i&&i.break(),e--,o=!1}else if(s==r.children.length){if(!e&&!l.length)break;i&&i.leave(r),o=!!r.breakAfter,{tile:r,index:s}=l.pop(),s++}else{let a=r.children[s],c=a.breakAfter;(t>0?a.length<=e:a.length<e)&&(!i||i.skip(a,0,a.length)!==!1||!a.isComposite)?(o=!!c,s++,e-=a.length):(l.push({tile:r,index:s}),r=a,s=0,i&&a.isComposite()&&i.enter(a))}else{let a=r.length;if(s<a&&e){let c=Math.min(e,a-s);i&&i.skip(r,s,s+c),e-=c,s+=c}if(s==a)o=!!r.breakAfter,{tile:r,index:s}=l.pop(),s++;else if(!e)break}return this.tile=r,this.index=s,this.beforeBreak=o,this}get root(){return this.parents.length?this.parents[0].tile:this.tile}},va=class{constructor(e,t,i,r){this.from=e,this.to=t,this.wrapper=i,this.rank=r}},ka=class{constructor(e,t,i){this.cache=e,this.root=t,this.blockWrappers=i,this.curLine=null,this.lastBlock=null,this.afterWidget=null,this.pos=0,this.wrappers=[],this.wrapperPos=0}addText(e,t,i,r){var s;this.flushBuffer();let o=this.ensureMarks(t,i),l=o.lastChild;if(l&&l.isText()&&!(l.flags&8)&&l.length+e.length<512){this.cache.reused.set(l,2);let a=o.children[o.children.length-1]=new ti(l.dom,l.text+e);a.parent=o}else o.append(r||ti.of(e,(s=this.cache.find(ti))===null||s===void 0?void 0:s.dom));this.pos+=e.length,this.afterWidget=null}addComposition(e,t){let i=this.curLine;i.dom!=t.line.dom&&(i.setDOM(this.cache.reused.has(t.line)?sa(t.line.dom):t.line.dom),this.cache.reused.set(t.line,2));let r=i;for(let l=t.marks.length-1;l>=0;l--){let a=t.marks[l],c=r.lastChild;if(c instanceof ct&&c.mark.eq(a.mark))c.dom!=a.dom&&c.setDOM(sa(a.dom)),r=c;else{let{dom:h}=a;this.cache.reused.get(a)&&ke.get(a.dom)&&(h=sa(a.dom));let u=ct.of(a.mark,h);r.append(u),r=u}this.cache.reused.set(a,2)}let s=ke.get(e.text);s&&this.cache.reused.set(s,2);let o=new ti(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,r.append(o)}addInlineWidget(e,t,i){let r=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);r||this.flushBuffer();let s=this.ensureMarks(t,i);!r&&!(e.flags&16)&&s.append(this.getBuffer(1)),s.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,t,i){this.flushBuffer(),this.ensureMarks(t,i).append(e),this.pos+=e.length,this.afterWidget=null}addBlockWidget(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}continueWidget(e){let t=this.afterWidget||this.lastBlock;t.length+=e,this.pos+=e}addLineStart(e,t){var i;e||(e=zf);let r=Vi.start(e,t||((i=this.cache.find(Vi))===null||i===void 0?void 0:i.dom),!!t);this.getBlockPos().append(this.lastBlock=this.curLine=r)}addLine(e){this.getBlockPos().append(e),this.pos+=e.length,this.lastBlock=e,this.endLine()}addBreak(){this.lastBlock.flags|=1,this.endLine(),this.pos++}addLineStartIfNotCovered(e){this.blockPosCovered()||this.addLineStart(e)}ensureLine(e){this.curLine||this.addLineStart(e)}ensureMarks(e,t){var i;let r=this.curLine;for(let s=e.length-1;s>=0;s--){let o=e[s],l;if(t>0&&(l=r.lastChild)&&l instanceof ct&&l.mark.eq(o))r=l,t--;else{let a=ct.of(o,(i=this.cache.find(ct,c=>c.mark.eq(o)))===null||i===void 0?void 0:i.dom);r.append(a),r=a,t=0}}return r}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!zd(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(O.ios&&zd(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(oa,0,32)||new si(oa.toDOM(),0,oa,32)),this.curLine=this.afterWidget=null}}updateBlockWrappers(){this.wrapperPos>this.pos+1e4&&(this.blockWrappers.goto(this.pos),this.wrappers.length=0);for(let e=this.wrappers.length-1;e>=0;e--)this.wrappers[e].to<this.pos&&this.wrappers.splice(e,1);for(let e=this.blockWrappers;e.value&&e.from<=this.pos;e.next())if(e.to>=this.pos){let t=e.rank*102+e.value.rank,i=new va(e.from,e.to,e.value,t),r=this.wrappers.length;for(;r>0&&(this.wrappers[r-1].rank-i.rank||this.wrappers[r-1].to-i.to)<0;)r--;this.wrappers.splice(r,0,i)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let t=this.root;for(let i of this.wrappers){let r=t.lastChild;if(i.from<this.pos&&r instanceof pn&&r.wrapper.eq(i.wrapper))t=r;else{let s=pn.of(i.wrapper,(e=this.cache.find(pn,o=>o.wrapper.eq(i.wrapper)))===null||e===void 0?void 0:e.dom);t.append(s),t=s}}return t}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let t=2|(e<0?16:32),i=this.cache.find($i,void 0,1);return i&&(i.flags=t),i||new $i(t)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}},Sa=class{constructor(e){this.skipCount=0,this.text="",this.textOff=0,this.cursor=e.iter()}skip(e){this.textOff+e<=this.text.length?this.textOff+=e:(this.skipCount+=e-(this.text.length-this.textOff),this.text="",this.textOff=0)}next(e){if(this.textOff==this.text.length){let{value:r,lineBreak:s,done:o}=this.cursor.next(this.skipCount);if(this.skipCount=0,o)throw new Error("Ran out of text content when drawing inline views");this.text=r;let l=this.textOff=Math.min(e,r.length);return s?null:r.slice(0,l)}let t=Math.min(this.text.length,this.textOff+e),i=this.text.slice(this.textOff,t);return this.textOff=t,i}},io=[si,Vi,ti,ct,$i,pn,Wi];for(let n=0;n<io.length;n++)io[n].bucket=n;var Ca=class{constructor(e){this.view=e,this.buckets=io.map(()=>[]),this.index=io.map(()=>0),this.reused=new Map}add(e){let t=e.constructor.bucket,i=this.buckets[t];i.length<6?i.push(e):i[this.index[t]=(this.index[t]+1)%6]=e}find(e,t,i=2){let r=e.bucket,s=this.buckets[r],o=this.index[r];for(let l=0;l<s.length;l++){let a=(l+o)%s.length,c=s[a];if((!t||t(c))&&!this.reused.has(c))return s.splice(a,1),a<o&&this.index[r]--,this.reused.set(c,i),c}return null}findWidget(e,t,i){let r=this.buckets[0];if(r.length)for(let s=0,o=0;;s++){if(s==r.length){if(o)return null;o=1,s=0}let l=r[s];if(!this.reused.has(l)&&(o==0?l.widget.compare(e):l.widget.constructor==e.constructor&&e.updateDOM(l.dom,this.view,l.widget)))return r.splice(s,1),s<this.index[0]&&this.index[0]--,l.widget==e&&l.length==t&&(l.flags&497)==i?(this.reused.set(l,1),l):(this.reused.set(l,2),new si(l.dom,t,e,l.flags&-498|i))}}reuse(e){return this.reused.set(e,1),e}maybeReuse(e,t=2){if(!this.reused.has(e))return this.reused.set(e,t),e.dom}clear(){for(let e=0;e<this.buckets.length;e++)this.buckets[e].length=this.index[e]=0}},Ta=class{constructor(e,t,i,r,s){this.view=e,this.decorations=r,this.disallowBlockEffectsFor=s,this.openWidget=!1,this.openMarks=0,this.cache=new Ca(e),this.text=new Sa(e.state.doc),this.builder=new ka(this.cache,new Wi(e,e.contentDOM),he.iter(i)),this.cache.reused.set(t,2),this.old=new xa(t),this.reuseWalker={skip:(o,l,a)=>{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,t){let i=t&&this.getCompositionContext(t.text);for(let r=0,s=0,o=0;;){let l=o<e.length?e[o++]:null,a=l?l.fromA:this.old.root.length;if(a>r){let c=a-r;this.preserve(c,!o,!l),r=a,s+=c}if(!l)break;t&&l.fromA<=t.range.fromA&&l.toA>=t.range.toA?(this.forward(l.fromA,t.range.fromA,t.range.fromA<t.range.toA?1:-1),this.emit(s,t.range.fromB),this.builder.flushBuffer(),this.cache.clear(),this.builder.addComposition(t,i),this.text.skip(t.range.toB-t.range.fromB),this.forward(t.range.fromA,l.toA),this.emit(t.range.toB,l.toB)):(this.forward(l.fromA,l.toA),this.emit(s,l.toB)),s=l.toB,r=l.toA}return this.builder.curLine&&this.builder.endLine(),this.builder.root}preserve(e,t,i){let r=ny(this.old),s=this.openMarks;this.old.advance(e,i?1:-1,{skip:(o,l,a)=>{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(a-l);else{let c=a>0||l<o.length?si.of(o.widget,this.view,a-l,o.flags&496,this.cache.maybeReuse(o)):this.cache.reuse(o);c.flags&256?(c.flags&=-2,this.builder.addBlockWidget(c)):(this.builder.ensureLine(null),this.builder.addInlineWidget(c,r,s),s=r.length)}else if(o.isText())this.builder.ensureLine(null),!l&&a==o.length&&!this.cache.reused.has(o)?this.builder.addText(o.text,r,s,this.cache.reuse(o)):(this.cache.add(o),this.builder.addText(o.text.slice(l,a),r,s)),s=r.length;else if(o.isLine())o.flags&=-2,this.cache.reused.set(o,1),this.builder.addLine(o);else if(o instanceof $i)this.cache.add(o);else if(o instanceof ct)this.builder.ensureLine(null),this.builder.addMark(o,r,s),this.cache.reused.set(o,1),s=r.length;else return!1;this.openWidget=!1},enter:o=>{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof ct&&r.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?r.length&&(r.length=s=0):o instanceof ct&&(r.shift(),s=Math.min(s,r.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,t){let i=null,r=this.builder,s=-1,o=he.spans(this.decorations,e,t,{point:(l,a,c,h,u,d)=>{if(c instanceof ii){if(this.disallowBlockEffectsFor[d]){if(c.block)throw new RangeError("Block decorations may not be specified via plugins");if(a>this.view.state.doc.lineAt(l).to)throw new RangeError("Decorations that replace line breaks may not be specified via plugins")}if(s=h.length,u>h.length)r.continueWidget(a-l);else{let f=c.widget||(c.block?Ln.block:Ln.inline),p=ey(c),g=this.cache.findWidget(f,a-l,p)||si.of(f,this.view,a-l,p);c.block?(c.startSide>0&&r.addLineStartIfNotCovered(i),r.addBlockWidget(g)):(r.ensureLine(i),r.addInlineWidget(g,h,u))}i=null}else i=ty(i,c);a>l&&this.text.skip(a-l)},span:(l,a,c,h)=>{for(let u=l;u<a;){let d=this.text.next(Math.min(512,a-u));d==null?(r.addLineStartIfNotCovered(i),r.addBreak(),u++):(r.ensureLine(i),r.addText(d,c,u==l?h:c.length),u+=d.length),i=null}s=c.length}});s>-1&&(this.openWidget=o>s),this.openWidget||r.addLineStartIfNotCovered(i),this.openMarks=o}forward(e,t,i=1){t-e<=10?this.old.advance(t-e,i,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(t-e-10,-1),this.old.advance(5,i,this.reuseWalker))}getCompositionContext(e){let t=[],i=null;for(let r=e.parentNode;;r=r.parentNode){let s=ke.get(r);if(r==this.view.contentDOM)break;s instanceof ct?t.push(s):s?.isLine()?i=s:s instanceof pn||(r.nodeName=="DIV"&&!i?i=new Vi(r,zf):i||t.push(ct.of(new Lr({tagName:r.nodeName.toLowerCase(),attributes:Nb(r)}),r)))}return i?{line:i,marks:t}:null}};function zd(n,e){let t=i=>{for(let r of i.children)if((e?r.isText():r.length)||t(r))return!0;return!1};return t(n)}function ey(n){let e=n.isReplace?(n.startSide<0?64:0)|(n.endSide>0?128:0):n.startSide>0?32:16;return n.block&&(e|=256),e}var zf={class:"cm-line"};function ty(n,e){let t=e.spec.attributes,i=e.spec.class;return!t&&!i||(n||(n={class:"cm-line"}),t&&ec(t,n),i&&(n.class+=" "+i)),n}function ny(n){let e=[];for(let t=n.parents.length;t>1;t--){let i=t==n.parents.length?n.tile:n.parents[t].tile;i instanceof ct&&e.push(i.mark)}return e}function sa(n){let e=ke.get(n);return e&&e.setDOM(n.cloneNode()),n}var Ln=class extends Dn{constructor(e){super(),this.tag=e}eq(e){return e.tag==this.tag}toDOM(){return document.createElement(this.tag)}updateDOM(e){return e.nodeName.toLowerCase()==this.tag}get isHidden(){return!0}};Ln.inline=new Ln("span");Ln.block=new Ln("div");var oa=new class extends Dn{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}},ro=class{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=me.none,this.lastCompositionAfterCursor=!1,this.minWidth=0,this.minWidthFrom=0,this.minWidthTo=0,this.impreciseAnchor=null,this.impreciseHead=null,this.forceSelection=!1,this.lastUpdate=Date.now(),this.updateDeco(),this.tile=new Wi(e,e.contentDOM),this.updateInner([new Ot(0,0,0,e.state.doc.length)],null)}update(e){var t;let i=e.changedRanges;this.minWidth>0&&i.length&&(i.every(({fromA:h,toA:u})=>u<this.minWidthFrom||h>this.minWidthTo)?(this.minWidthFrom=e.changes.mapPos(this.minWidthFrom,1),this.minWidthTo=e.changes.mapPos(this.minWidthTo,1)):this.minWidth=this.minWidthFrom=this.minWidthTo=0),this.updateEditContextFormatting(e);let r=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((t=this.domChanged)===null||t===void 0)&&t.newSel?r=this.domChanged.newSel.head:!hy(e.changes,this.hasComposition)&&!e.selectionSet&&(r=e.state.selection.main.head));let s=r>-1?ry(this.view,e.changes,r):null;if(this.domChanged=null,this.hasComposition){let{from:h,to:u}=this.hasComposition;i=new Ot(h,u,e.changes.mapPos(h,-1),e.changes.mapPos(u,1)).addToSet(i.slice())}this.hasComposition=s?{from:s.range.fromB,to:s.range.toB}:null,(O.ie||O.chrome)&&!s&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,l=this.blockWrappers;this.updateDeco();let a=ly(o,this.decorations,e.changes);a.length&&(i=Ot.extendWithRanges(i,a));let c=ay(l,this.blockWrappers,e.changes);return c.length&&(i=Ot.extendWithRanges(i,c)),s&&!i.some(h=>h.fromA<=s.range.fromA&&h.toA>=s.range.toA)&&(i=s.range.addToSet(i.slice())),this.tile.flags&2&&i.length==0?!1:(this.updateInner(i,s),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,t){this.view.viewState.mustMeasureContent=!0;let{observer:i}=this.view;i.ignore(()=>{if(t||e.length){let o=this.tile,l=new Ta(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);t&&ke.get(t.text)&&l.cache.reused.set(ke.get(t.text),2),this.tile=l.run(e,t),Aa(o,l.cache.reused)}this.tile.dom.style.height=this.view.viewState.contentHeight/this.view.scaleY+"px",this.tile.dom.style.flexBasis=this.minWidth?this.minWidth+"px":"";let s=O.chrome||O.ios?{node:i.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(s),s&&(s.written||i.selectionRange.focusNode!=s.node||!this.tile.dom.contains(s.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let r=[];if(this.view.viewport.from||this.view.viewport.to<this.view.state.doc.length)for(let s of this.tile.children)s.isWidget()&&s.widget instanceof Mr&&r.push(s.dom);i.updateGaps(r)}updateEditContextFormatting(e){this.editContextFormatting=this.editContextFormatting.map(e.changes);for(let t of e.transactions)for(let i of t.effects)i.is(If)&&(this.editContextFormatting=i.value)}updateSelection(e=!1,t=!1){(e||!this.view.observer.selectionRange.focusNode)&&this.view.observer.readSelectionRange();let{dom:i}=this.tile,r=this.view.root.activeElement,s=r==i,o=!s&&!(this.view.state.facet(fn)||i.tabIndex>-1)&&kr(i,this.view.observer.selectionRange)&&!(r&&i.contains(r));if(!(s||t||o))return;let l=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,c,h;if(a.empty?h=c=this.inlineDOMNearPos(a.anchor,a.assoc||1):(h=this.inlineDOMNearPos(a.head,a.head==a.from?1:-1),c=this.inlineDOMNearPos(a.anchor,a.anchor==a.from?1:-1)),O.gecko&&a.empty&&!this.hasComposition&&iy(c)){let d=document.createTextNode("");this.view.observer.ignore(()=>c.node.insertBefore(d,c.node.childNodes[c.offset]||null)),c=h=new Zt(d,0),l=!0}let u=this.view.observer.selectionRange;(l||!u.focusNode||(!Cr(c.node,c.offset,u.anchorNode,u.anchorOffset)||!Cr(h.node,h.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,a))&&(this.view.observer.ignore(()=>{O.android&&O.chrome&&i.contains(u.focusNode)&&cy(u.focusNode,i)&&(i.blur(),i.focus({preventScroll:!0}));let d=Pr(this.view.root);if(d)if(a.empty){if(O.gecko){let f=sy(c.node,c.offset);if(f&&f!=3){let p=(f==1?yf:wf)(c.node,c.offset);p&&(c=new Zt(p.node,p.offset))}}d.collapse(c.node,c.offset),a.bidiLevel!=null&&d.caretBidiLevel!==void 0&&(d.caretBidiLevel=a.bidiLevel)}else if(d.extend){d.collapse(c.node,c.offset);try{d.extend(h.node,h.offset)}catch{}}else{let f=document.createRange();a.anchor>a.head&&([c,h]=[h,c]),f.setEnd(h.node,h.offset),f.setStart(c.node,c.offset),d.removeAllRanges(),d.addRange(f)}o&&this.view.root.activeElement==i&&(i.blur(),r&&r.focus())}),this.view.observer.setSelectionRange(c,h)),this.impreciseAnchor=c.precise?null:new Zt(u.anchorNode,u.anchorOffset),this.impreciseHead=h.precise?null:new Zt(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,t){return this.hasComposition&&t.empty&&Cr(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==t.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,t=e.state.selection.main,i=Pr(e.root),{anchorNode:r,anchorOffset:s}=e.observer.selectionRange;if(!i||!t.empty||!t.assoc||!i.modify)return;let o=this.lineAt(t.head,t.assoc);if(!o)return;let l=o.posAtStart;if(t.head==l||t.head==l+o.length)return;let a=this.coordsAt(t.head,-1),c=this.coordsAt(t.head,1);if(!a||!c||a.bottom>c.top)return;let h=this.domAtPos(t.head+t.assoc,t.assoc);i.collapse(h.node,h.offset),i.modify("move",t.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=t.from&&i.collapse(r,s)}posFromDOM(e,t){let i=this.tile.nearest(e);if(!i)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let r=i.posAtStart;if(i.isComposite()){let s;if(e==i.dom)s=i.dom.childNodes[t];else{let o=mn(e)==0?0:t==0?-1:1;for(;;){let l=e.parentNode;if(l==i.dom)break;o==0&&l.firstChild!=l.lastChild&&(e==l.firstChild?o=-1:o=1),e=l}o<0?s=e:s=e.nextSibling}if(s==i.dom.firstChild)return r;for(;s&&!ke.get(s);)s=s.nextSibling;if(!s)return r+i.length;for(let o=0,l=r;;o++){let a=i.children[o];if(a.dom==s)return l;l+=a.length+a.breakAfter}}else return i.isText()?e==i.dom?r+t:r+(t?i.length:0):r}domAtPos(e,t){let{tile:i,offset:r}=this.tile.resolveBlock(e,t);return i.isWidget()?i.domPosFor(r,t):i.domIn(r,t)}inlineDOMNearPos(e,t){let i,r=-1,s=!1,o,l=-1,a=!1;return this.tile.blockTiles((c,h)=>{if(c.isWidget()){if(c.flags&32&&h>=e)return!0;c.flags&16&&(s=!0)}else{let u=h+c.length;if(h<=e&&(i=c,r=e-h,s=u<e),u>=e&&!o&&(o=c,l=e-h,a=h>e),h>e&&o)return!0}}),!i&&!o?this.domAtPos(e,t):(s&&o?i=null:a&&i&&(o=null),i&&t<0||!o?i.domIn(r,t):o.domIn(l,t))}coordsAt(e,t,i){let{tile:r,offset:s}=this.tile.resolveBlock(e,t);return r.isWidget()?r.widget instanceof Mr?null:r.coordsInWidget(s,t,!0):r.coordsIn(s,t,i)}lineAt(e,t){let{tile:i}=this.tile.resolveBlock(e,t);return i.isLine()?i:null}coordsForChar(e){let{tile:t,offset:i}=this.tile.resolveBlock(e,1);if(!t.isLine())return null;function r(s,o){if(s.isComposite())for(let l of s.children){if(l.length>=o){let a=r(l,o);if(a)return a}if(o-=l.length,o<0)break}else if(s.isText()&&o<s.length){let l=_e(s.text,o);if(l==o)return null;let a=Nr(s.dom,o,l).getClientRects();for(let c=0;c<a.length;c++){let h=a[c];if(c==a.length-1||h.top<h.bottom&&h.left<h.right)return h}}return null}return r(t,i)}measureVisibleLineHeights(e){let t=[],{from:i,to:r}=e,s=this.view.contentDOM.clientWidth,o=s>Math.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==ge.LTR,c=0,h=(u,d,f)=>{for(let p=0;p<u.children.length&&!(d>r);p++){let g=u.children[p],b=d+g.length,y=g.dom.getBoundingClientRect(),{height:x}=y;if(f&&!p&&(c+=y.top-f.top),g instanceof pn)b>i&&h(g,d,y);else if(d>=i&&(c>0&&t.push(-c),t.push(x+c),c=0,o)){let C=g.dom.lastChild,_=C?Sr(C):[];if(_.length){let S=_[_.length-1],A=a?S.right-y.left:y.right-S.left;A>l&&(l=A,this.minWidth=s,this.minWidthFrom=d,this.minWidthTo=b)}}f&&p==u.children.length-1&&(c+=f.bottom-y.bottom),d=b+g.breakAfter}};return h(this.tile,0,null),t}textDirectionAt(e){let{tile:t}=this.tile.resolveBlock(e,1);return getComputedStyle(t.dom).direction=="rtl"?ge.RTL:ge.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let l=0,a;for(let c of o.children){if(!c.isText()||/[^ -~]/.test(c.text))return;let h=Sr(c.dom);if(h.length!=1)return;l+=h[0].width,a=h[0].height}if(l)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:l/o.length,textHeight:a}}});if(e)return e;let t=document.createElement("div"),i,r,s;return t.className="cm-line",t.style.width="99999px",t.style.position="absolute",t.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(t);let o=Sr(t.firstChild)[0];i=t.getBoundingClientRect().height,r=o&&o.width?o.width/27:7,s=o&&o.height?o.height:i,t.remove()}),{lineHeight:i,charWidth:r,textHeight:s}}computeBlockGapDeco(){let e=[],t=this.view.viewState;for(let i=0,r=0;;r++){let s=r==t.viewports.length?null:t.viewports[r],o=s?s.from-1:this.view.state.doc.length;if(o>i){let l=(t.lineBlockAt(o).bottom-t.lineBlockAt(i).top)/this.view.scaleY;e.push(me.replace({widget:new Mr(l),block:!0,inclusive:!0,isBlockGap:!0}).range(i,o))}if(!s)break;i=s.to+1}return me.set(e)}updateDeco(){let e=1,t=this.view.state.facet(mo).map(s=>(this.dynamicDecorationMap[e++]=typeof s=="function")?s(this.view):s),i=!1,r=this.view.state.facet(oc).map((s,o)=>{let l=typeof s=="function";return l&&(i=!0),l?s(this.view):s});for(r.length&&(this.dynamicDecorationMap[e++]=i,t.push(he.join(r))),this.decorations=[this.editContextFormatting,...t,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];e<this.decorations.length;)this.dynamicDecorationMap[e++]=!1;this.blockWrappers=this.view.state.facet(Bf).map(s=>typeof s=="function"?s(this.view):s)}scrollIntoView(e){if(e.isSnapshot){let c=this.view.viewState.lineBlockAt(e.range.head);this.view.scrollDOM.scrollTop=c.top-e.yMargin,this.view.scrollDOM.scrollLeft=e.xMargin;return}for(let c of this.view.state.facet(Pf))try{if(c(this.view,e.range,e))return!0}catch(h){Lt(this.view.state,h,"scroll handler")}let{range:t}=e,i=this.coordsAt(t.head,t.assoc||(t.head>t.anchor?-1:1)),r;if(!i)return;!t.empty&&(r=this.coordsAt(t.anchor,t.anchor>t.head?-1:1))&&(i={left:Math.min(i.left,r.left),top:Math.min(i.top,r.top),right:Math.max(i.right,r.right),bottom:Math.max(i.bottom,r.bottom)});let s=Ff(this.view),o={left:i.left-s.left,top:i.top-s.top,right:i.right+s.right,bottom:i.bottom+s.bottom},{offsetWidth:l,offsetHeight:a}=this.view.scrollDOM;if(Hb(this.view.scrollDOM,o,t.head<t.anchor?-1:1,e.x,e.y,Math.max(Math.min(e.xMargin,l),-l),Math.max(Math.min(e.yMargin,a),-a),this.view.textDirection==ge.LTR),window.visualViewport&&window.innerHeight-window.visualViewport.height>1&&(i.top>window.visualViewport.offsetTop+window.visualViewport.height||i.bottom<window.visualViewport.offsetTop)){let c=this.view.docView.lineAt(t.head,1);if(c){let h=pf(c.dom);c.dom.scrollIntoView({block:"nearest"}),mf(h,!1)}}}lineHasWidget(e){let t=i=>i.isWidget()||i.children.some(t);return t(this.tile.resolveBlock(e,1).tile)}destroy(){Aa(this.tile)}};function Aa(n,e){let t=e?.get(n);if(t!=1){t==null&&n.destroy();for(let i of n.children)Aa(i,e)}}function iy(n){return n.node.nodeType==1&&n.node.firstChild&&(n.offset==0||n.node.childNodes[n.offset-1].contentEditable=="false")&&(n.offset==n.node.childNodes.length||n.node.childNodes[n.offset].contentEditable=="false")}function Wf(n,e){let t=n.observer.selectionRange;if(!t.focusNode)return null;let i=yf(t.focusNode,t.focusOffset),r=wf(t.focusNode,t.focusOffset),s=i||r;if(r&&i&&r.node!=i.node){let l=ke.get(r.node);if(!l||l.isText()&&l.text!=r.node.nodeValue)s=r;else if(n.docView.lastCompositionAfterCursor){let a=ke.get(i.node);!a||a.isText()&&a.text!=i.node.nodeValue||(s=r)}}if(n.docView.lastCompositionAfterCursor=s!=i,!s)return null;let o=e-s.offset;return{from:o,to:o+s.node.nodeValue.length,node:s.node}}function ry(n,e,t){let i=Wf(n,t);if(!i)return null;let{node:r,from:s,to:o}=i,l=r.nodeValue;if(/[\n\r]/.test(l)||n.state.doc.sliceString(i.from,i.to)!=l)return null;let a=e.invertedDesc;return{range:new Ot(a.mapPos(s),a.mapPos(o),s,o),text:r}}function sy(n,e){return n.nodeType!=1?0:(e&&n.childNodes[e-1].contentEditable=="false"?1:0)|(e<n.childNodes.length&&n.childNodes[e].contentEditable=="false"?2:0)}var oy=class{constructor(){this.changes=[]}compareRange(e,t){Hi(e,t,this.changes)}comparePoint(e,t){Hi(e,t,this.changes)}boundChange(e){Hi(e,e,this.changes)}};function ly(n,e,t){let i=new oy;return he.compare(n,e,t,i),i.changes}var Ma=class{constructor(){this.changes=[]}compareRange(e,t){Hi(e,t,this.changes)}comparePoint(){}boundChange(e){Hi(e,e,this.changes)}};function ay(n,e,t){let i=new Ma;return he.compare(n,e,t,i),i.changes}function cy(n,e){for(let t=n;t&&t!=e;t=t.assignedSlot||t.parentNode)if(t.nodeType==1&&t.contentEditable=="false")return!0;return!1}function hy(n,e){let t=!1;return e&&n.iterChangedRanges((i,r)=>{i<e.to&&r>e.from&&(t=!0)}),t}var Mr=class extends Dn{constructor(e){super(),this.height=e}toDOM(){let e=document.createElement("div");return e.className="cm-gap",this.updateDOM(e),e}eq(e){return e.height==this.height}updateDOM(e){return e.style.height=this.height+"px",!0}get editable(){return!0}get estimatedHeight(){return this.height}ignoreEvent(){return!1}};function uy(n,e,t=1){let i=n.charCategorizer(e),r=n.doc.lineAt(e),s=e-r.from;if(r.length==0)return D.cursor(e);s==0?t=1:s==r.length&&(t=-1);let o=s,l=s;t<0?o=_e(r.text,s,!1):l=_e(r.text,s);let a=i(r.text.slice(o,l));for(;o>0;){let c=_e(r.text,o,!1);if(i(r.text.slice(c,o))!=a)break;o=c}for(;l<r.length;){let c=_e(r.text,l);if(i(r.text.slice(l,c))!=a)break;l=c}return D.undirectionalRange(o+r.from,l+r.from)}function dy(n,e,t,i,r){let s=Math.round((i-e.left)*n.defaultCharacterWidth);if(n.lineWrapping&&t.height>n.defaultLineHeight*1.5){let l=n.viewState.heightOracle.textHeight,a=Math.floor((r-t.top-(n.defaultLineHeight-l)*.5)/l);s+=a*n.viewState.heightOracle.lineLength}let o=n.state.sliceDoc(t.from,t.to);return t.from+Md(o,s,n.state.tabSize)}function Ea(n,e,t){let i=n.lineBlockAt(e);if(Array.isArray(i.type)){let r;for(let s of i.type){if(s.from>e)break;if(!(s.to<e)){if(s.from<e&&s.to>e)return s;(!r||s.type==We.Text&&(r.type!=s.type||(t<0?s.from<e:s.to>e)))&&(r=s)}}return r||i}return i}function fy(n,e,t,i){let r=Ea(n,e.head,e.assoc||-1),s=!i||r.type!=We.Text||!(n.lineWrapping||r.widgetLineBreaks)?null:n.coordsAtPos(e.assoc<0&&e.head>r.from?e.head-1:e.head);if(s){let l=n.dom.getBoundingClientRect(),a=n.textDirectionAt(r.from),c=n.posAtCoords({x:t==(a==ge.LTR)?l.right-1:l.left+1,y:(s.top+s.bottom)/2});if(c!=null)return D.cursor(c,t?-1:1)}let o=n.state.doc.lineAt(e.head);return(t?o.to==r.to:o.from==r.from)?n.visualLineSide(o,t):D.cursor(t?r.to:r.from,t?-1:1)}function Wd(n,e,t,i){let r=n.state.doc.lineAt(e.head),s=n.bidiSpans(r),o=n.textDirectionAt(r.from);for(let l=e,a=null;;){let c=qb(r,s,o,l,t),h=Cf;if(!c){if(r.number==(t?n.state.doc.lines:1))return l;h=`
|
|
581
|
+
`,r=n.state.doc.line(r.number+(t?1:-1)),s=n.bidiSpans(r),c=n.visualLineSide(r,!t)}if(a){if(!a(h))return l}else{if(!i)return c;a=i(h)}l=c}}function py(n,e,t){let i=n.state.charCategorizer(e),r=i(t);return s=>{let o=i(s);return r==Dt.Space&&(r=o),r==o}}function my(n,e,t,i){let r=e.head,s=t?1:-1;if(r==(t?n.state.doc.length:0))return D.cursor(r,e.assoc);let o=e.goalColumn,l,a=n.contentDOM.getBoundingClientRect(),c=n.coordsAtPos(r,e.assoc||((e.empty?t:e.head==e.from)?1:-1)),h=n.documentTop;if(c)o==null&&(o=c.left-a.left),l=s<0?c.top:c.bottom;else{let p=n.viewState.lineBlockAt(r);o==null&&(o=Math.min(a.right-a.left,n.defaultCharacterWidth*(r-p.from))),l=(s<0?p.top:p.bottom)+h}let u=a.left+o,d=n.viewState.heightOracle.textHeight>>1,f=i??d;for(let p=0;;p+=d){let g=l+(f+p)*s,b=Da(n,{x:u,y:g},!1,s);if(t?g>a.bottom:g<a.top)return D.cursor(b.pos,b.assoc);let y=n.coordsAtPos(b.pos,b.assoc),x=y?(y.top+y.bottom)/2:0;if(!y||(t?x>l:x<l))return D.cursor(b.pos,b.assoc,void 0,o)}}function Er(n,e,t){for(;;){let i=0;for(let r of n)r.between(e-1,e+1,(s,o,l)=>{if(e>s&&e<o){let a=i||t||(e-s<o-e?-1:1);e=a<0?s:o,i=a}});if(!i)return e}}function Vf(n,e){let t=null;for(let i=0;i<e.ranges.length;i++){let r=e.ranges[i],s=null;if(r.empty){let o=Er(n,r.from,0);o!=r.from&&(s=D.cursor(o,-1))}else{let o=Er(n,r.from,-1),l=Er(n,r.to,1);(o!=r.from||l!=r.to)&&(r.undirectional?s=D.undirectionalRange(r.from,r.to):s=D.range(r.from==r.anchor?o:l,r.from==r.head?o:l))}s&&(t||(t=e.ranges.slice()),t[i]=s)}return t?D.create(t,e.mainIndex):e}function la(n,e,t){let i=Er(n.state.facet(Br).map(r=>r(n)),t.from,e.head>t.from?-1:1);return i==t.from?t:D.cursor(i,i<t.from?1:-1)}var kt=class{constructor(e,t){this.pos=e,this.assoc=t}};function Da(n,e,t,i){let r=n.contentDOM.getBoundingClientRect(),s=r.top+n.viewState.paddingTop,{x:o,y:l}=e,a=l-s,c;for(;;){if(a<0)return new kt(0,1);if(a>n.viewState.docHeight)return new kt(n.state.doc.length,-1);if(c=n.elementAtHeight(a),i==null)break;if(c.type==We.Text){if(i<0?c.to<n.viewport.from:c.from>n.viewport.to)break;let d=n.docView.coordsAt(i<0?c.from:c.to,i>0?-1:1);if(d&&(i<0?d.top<=a+s:d.bottom>=a+s))break}let u=n.viewState.heightOracle.textHeight/2;a=i>0?c.bottom+u:c.top-u}if(n.viewport.from>=c.to||n.viewport.to<=c.from){if(t)return null;if(c.type==We.Text){let u=dy(n,r,c,o,l);return new kt(u,u==c.from?1:-1)}}if(c.type!=We.Text)return a<(c.top+c.bottom)/2?new kt(c.from,1):new kt(c.to,-1);let h=n.docView.lineAt(c.from,2);return(!h||h.length!=c.length)&&(h=n.docView.lineAt(c.from,-2)),new Ra(n,o,l,n.textDirectionAt(c.from)).scanTile(h,c.from)}var Ra=class{constructor(e,t,i,r){this.view=e,this.x=t,this.y=i,this.baseDir=r,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to<e)&&(this.line=this.view.state.doc.lineAt(e),this.spans=this.view.bidiSpans(this.line)),this}baseDirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[St.find(r,e-i.from,-1,t)].level==this.baseDir}dirAt(e,t){let{line:i,spans:r}=this.bidiSpansAt(e);return r[St.find(r,e-i.from,-1,t)].dir}bidiIn(e,t){let{spans:i,line:r}=this.bidiSpansAt(e);return i.length>1||i.length&&(i[0].level!=this.baseDir||i[0].to+r.from<t)}scan(e,t,i=!1){let r=0,s=e.length-1,o=new Set,l=this.bidiIn(e[0],e[s]),a,c,h=-1,u=1e9,d;e:for(;r<s;){let p=s-r,g=r+s>>1;t:if(o.has(g)){for(let x=1;x<p;x++){let C=g+x;if(C>=s&&(C-=p),!o.has(C)){g=C;break t}}break e}o.add(g);let b=t(g),y=0;if(b)for(let x=0;x<b.length;x++){let C=b[x];if(!(C.width==0&&b.length>1))if(C.bottom<this.y)(!a||a.bottom<C.bottom)&&(a=C),y=1;else if(C.top>this.y)(!c||c.top>C.top)&&(c=C),y=-1;else{let _=C.left>this.x?this.x-C.left:C.right<this.x?this.x-C.right:0,S=Math.abs(_);S<u&&(h=g,u=S,d=C),_&&(y=_<0==(this.baseDir==ge.LTR)?-1:1)}}y==-1&&(!l||this.baseDirAt(e[g],1))?s=g:y==1&&(!l||this.baseDirAt(e[g+1],-1))&&(r=g+1)}if(!d){if(!c&&!a)return{i:0,after:!1};let p=a&&(!c||this.y-a.bottom<c.top-this.y)?a:c;return this.y=(p.top+p.bottom)/2,this.scan(e,t,!0)}if(u&&!i){let{top:p,bottom:g}=d;if(a&&a.bottom>(p+p+g)/3)return this.y=a.bottom-1,this.scan(e,t,!0);if(c&&c.top<(p+g+g)/3)return this.y=c.top+1,this.scan(e,t,!0)}let f=(l?this.dirAt(e[h],1):this.baseDir)==ge.LTR;return{i:h,after:this.x>(d.left+d.right)/2==f}}scanText(e,t){let i=[];for(let s=0;s<e.length;s=_e(e.text,s))i.push(t+s);i.push(t+e.length);let r=this.scan(i,s=>{let o=i[s]-t,l=i[s+1]-t;return Nr(e.dom,o,l).getClientRects()});return r.after?new kt(i[r.i+1],-1):new kt(i[r.i],1)}scanTile(e,t){if(!e.length)return new kt(t,1);if(e.children.length==1){let l=e.children[0];if(l.isText())return this.scanText(l,t);if(l.isComposite())return this.scanTile(l,t)}let i=[t];for(let l=0,a=t;l<e.children.length;l++)i.push(a+=e.children[l].length);let r=this.scan(i,l=>{let a=e.children[l];return a.flags&48?null:(a.dom.nodeType==1?a.dom:Nr(a.dom,0,a.length)).getClientRects()}),s=e.children[r.i],o=i[r.i];return s.isText()?this.scanText(s,o):s.isComposite()?this.scanTile(s,o):r.after?new kt(i[r.i+1],-1):new kt(o,1)}},Ii="\uFFFF",La=class{constructor(e,t){this.points=e,this.view=t,this.text="",this.lineSeparator=t.state.facet(ve.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Ii}readRange(e,t){if(!e)return this;let i=e.parentNode;for(let r=e;;){this.findPointBefore(i,r);let s=this.text.length;this.readNode(r);let o=ke.get(r),l=r.nextSibling;if(l==t){o?.breakAfter&&!l&&i!=this.view.contentDOM&&this.lineBreak();break}let a=ke.get(l);(o&&a?o.breakAfter:(o?o.breakAfter:to(r))||to(l)&&(r.nodeName!="BR"||o?.isWidget())&&this.text.length>s)&&!by(l,t)&&this.lineBreak(),r=l}return this.findPointBefore(i,t),this}readTextNode(e){let t=e.nodeValue;for(let i of this.points)i.node==e&&(i.pos=this.text.length+Math.min(i.offset,t.length));for(let i=0,r=this.lineSeparator?null:/\r\n?|\n/g;;){let s=-1,o=1,l;if(this.lineSeparator?(s=t.indexOf(this.lineSeparator,i),o=this.lineSeparator.length):(l=r.exec(t))&&(s=l.index,o=l[0].length),this.append(t.slice(i,s<0?t.length:s)),s<0)break;if(this.lineBreak(),o>1)for(let a of this.points)a.node==e&&a.pos>this.text.length&&(a.pos-=o-1);i=s+o}}readNode(e){let t=ke.get(e),i=t&&t.overrideDOMText;if(i!=null){this.findPointInside(e,i.length);for(let r=i.iter();!r.next().done;)r.lineBreak?this.lineBreak():this.append(r.value)}else e.nodeType==3?this.readTextNode(e):e.nodeName=="BR"?e.nextSibling&&this.lineBreak():e.nodeType==1&&this.readRange(e.firstChild,null)}findPointBefore(e,t){for(let i of this.points)i.node==e&&e.childNodes[i.offset]==t&&(i.pos=this.text.length)}findPointInside(e,t){for(let i of this.points)(e.nodeType==3?i.node==e:e.contains(i.node))&&(i.pos=this.text.length+(gy(e,i.node,i.offset)?t:0))}};function gy(n,e,t){for(;;){if(!e||t<mn(e))return!1;if(e==n)return!0;t=Rn(e)+1,e=e.parentNode}}function by(n,e){let t;for(;!(n==e||!n);n=n.nextSibling){let i=ke.get(n);if(!i?.isWidget())return!1;i&&(t||(t=[])).push(i)}if(t)for(let i of t){let r=i.overrideDOMText;if(r?.length)return!1}return!0}var so=class{constructor(e,t){this.node=e,this.offset=t,this.pos=-1}},Oa=class{constructor(e,t,i,r){this.typeOver=r,this.bounds=null,this.text="",this.domChanged=t>-1;let{impreciseHead:s,impreciseAnchor:o}=e.docView,l=e.state.selection;if(e.state.readOnly&&t>-1)this.newSel=null;else if(t>-1&&(this.bounds=$f(e.docView.tile,t,i,0))){let a=s||o?[]:wy(e),c=new La(a,e);c.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=c.text,this.newSel=xy(a,this.bounds.from)}else{let a=e.observer.selectionRange,c=s&&s.node==a.focusNode&&s.offset==a.focusOffset||!pa(e.contentDOM,a.focusNode)?l.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),h=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!pa(e.contentDOM,a.anchorNode)?l.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),u=e.viewport;if((O.ios||O.chrome)&&c!=h&&Math.min(c,h)<=l.main.from&&Math.max(c,h)>=l.main.to&&(u.from>0||u.to<e.state.doc.length)){let d=Math.min(c,h),f=Math.max(c,h),p=u.from-d,g=u.to-f;(p==0||p==1||d==0)&&(g==0||g==-1||f==e.state.doc.length)&&(c=0,h=e.state.doc.length)}if(e.inputState.composing>-1&&l.ranges.length>1)this.newSel=l.replaceRange(D.range(h,c));else if(e.lineWrapping&&h==c&&!(l.main.empty&&l.main.head==c)&&e.inputState.lastTouchTime>Date.now()-100){let d=e.coordsAtPos(c,-1),f=0;d&&(f=e.inputState.lastTouchY<=d.bottom?-1:1),this.newSel=D.create([D.cursor(c,f)])}else this.newSel=D.single(h,c)}}};function $f(n,e,t,i){if(n.isComposite()){let r=-1,s=-1,o=-1,l=-1;for(let a=0,c=i,h=i;a<n.children.length;a++){let u=n.children[a],d=c+u.length;if(c<e&&d>t)return $f(u,e,t,c);if(d>=e&&r==-1&&(r=a,s=c),c>t&&u.dom.parentNode==n.dom){o=a,l=h;break}h=d,c=d+u.breakAfter}return{from:s,to:l<0?i+n.length:l,startDOM:(r?n.children[r-1].dom.nextSibling:null)||n.dom.firstChild,endDOM:o<n.children.length&&o>=0?n.children[o].dom:null}}else return n.isText()?{from:i,to:i+n.length,startDOM:n.dom,endDOM:n.dom.nextSibling}:null}function Uf(n,e){let t,{newSel:i}=e,{state:r}=n,s=r.selection.main,o=n.inputState.lastKeyTime>Date.now()-100?n.inputState.lastKeyCode:-1;if(e.bounds){let{from:l,to:a}=e.bounds,c=s.from,h=null;(o===8||O.android&&e.text.length<a-l)&&(c=s.to,h="end");let u=r.doc.sliceString(l,a,Ii),d,f;!s.empty&&s.from>=l&&s.to<=a&&(e.typeOver||u!=e.text)&&u.slice(0,s.from-l)==e.text.slice(0,s.from-l)&&u.slice(s.to-l)==e.text.slice(d=e.text.length-(u.length-(s.to-l)))?t={from:s.from,to:s.to,insert:ee.of(e.text.slice(s.from-l,d).split(Ii))}:(f=Kf(u,e.text,c-l,h))&&(O.chrome&&o==13&&f.toB==f.from+2&&e.text.slice(f.from,f.toB)==Ii+Ii&&f.toB--,t={from:l+f.from,to:l+f.toA,insert:ee.of(e.text.slice(f.from,f.toB).split(Ii))})}else i&&(!n.hasFocus&&r.facet(fn)||oo(i,s))&&(i=null);if(!t&&!i)return!1;if((O.mac||O.android)&&t&&t.from==t.to&&t.from==s.head-1&&/^\. ?$/.test(t.insert.toString())&&n.contentDOM.getAttribute("autocorrect")=="off"?(i&&t.insert.length==2&&(i=D.single(i.main.anchor-1,i.main.head-1)),t={from:t.from,to:t.to,insert:ee.of([t.insert.toString().replace("."," ")])}):r.doc.lineAt(s.from).to<s.to&&n.docView.lineHasWidget(s.to)&&n.inputState.insertingTextAt>Date.now()-50?t={from:s.from,to:s.to,insert:r.toText(n.inputState.insertingText)}:O.chrome&&t&&t.from==t.to&&t.from==s.head&&t.insert.toString()==`
|
|
582
|
+
`&&n.lineWrapping&&(i&&(i=D.single(i.main.anchor-1,i.main.head-1)),t={from:s.from,to:s.to,insert:ee.of([" "])}),t)return lc(n,t,i,o);if(i&&!oo(i,s)){let l=!1,a="select";return n.inputState.lastSelectionTime>Date.now()-50&&(n.inputState.lastSelectionOrigin=="select"&&(l=!0),a=n.inputState.lastSelectionOrigin,a=="select.pointer"&&(i=Vf(r.facet(Br).map(c=>c(n)),i))),n.dispatch({selection:i,scrollIntoView:l,userEvent:a}),!0}else return!1}function lc(n,e,t,i=-1){if(O.ios&&n.inputState.flushIOSKey(e))return!0;let r=n.state.selection.main;if(O.android&&(e.to==r.to&&(e.from==r.from||e.from==r.from-1&&n.state.sliceDoc(e.from,r.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Fi(n.contentDOM,"Enter",13)||(e.from==r.from-1&&e.to==r.to&&e.insert.length==0||i==8&&e.insert.length<e.to-e.from&&e.to>r.head)&&Fi(n.contentDOM,"Backspace",8)||e.from==r.from&&e.to==r.to+1&&e.insert.length==0&&Fi(n.contentDOM,"Delete",46)))return!0;let s=e.insert.toString();n.inputState.composing>=0&&n.inputState.composing++;let o,l=()=>o||(o=yy(n,e,t));return n.state.facet(Df).some(a=>a(n,e.from,e.to,s,l))||n.dispatch(l()),!0}function yy(n,e,t){let i,r=n.state,s=r.selection.main,o=-1;if(e.from==e.to&&e.from<s.from||e.from>s.to){let a=e.from<s.from?-1:1,c=a<0?s.from:s.to,h=Er(r.facet(Br).map(u=>u(n)),c,a);e.from==h&&(o=h)}if(o>-1)i={changes:e,selection:D.cursor(e.from+e.insert.length,-1)};else if(e.from>=s.from&&e.to<=s.to&&e.to-e.from>=(s.to-s.from)/3&&(!t||t.main.empty&&t.main.from==e.from+e.insert.length)&&n.inputState.composing<0){let a=s.from<e.from?r.sliceDoc(s.from,e.from):"",c=s.to>e.to?r.sliceDoc(e.to,s.to):"";i=r.replaceSelection(n.state.toText(a+e.insert.sliceString(0,void 0,n.state.lineBreak)+c))}else{let a=r.changes(e),c=t&&t.main.to<=a.newLength?t.main:void 0;if(r.selection.ranges.length>1&&(n.inputState.composing>=0||n.inputState.compositionPendingChange)&&e.to<=s.to+10&&e.to>=s.to-10){let h=n.state.sliceDoc(e.from,e.to),u,d=t&&Wf(n,t.main.head);if(d){let p=e.insert.length-(e.to-e.from);u={from:d.from,to:d.to-p}}else u=n.state.doc.lineAt(s.head);let f=s.to-e.to;i=r.changeByRange(p=>{if(p.from==s.from&&p.to==s.to)return{changes:a,range:c||p.map(a)};let g=p.to-f,b=g-h.length;if(n.state.sliceDoc(b,g)!=h||g>=u.from&&b<=u.to)return{range:p};let y=r.changes({from:b,to:g,insert:e.insert}),x=p.to-s.to;return{changes:y,range:c?D.range(Math.max(0,c.anchor+x),Math.max(0,c.head+x)):p.map(y)}})}else i={changes:a,selection:c&&r.selection.replaceRange(c)}}let l="input.type";return(n.composing||n.inputState.compositionPendingChange&&n.inputState.compositionEndedAt>Date.now()-50)&&(n.inputState.compositionPendingChange=!1,l+=".compose",n.inputState.compositionFirstChange&&(l+=".start",n.inputState.compositionFirstChange=!1)),r.update(i,{userEvent:l,scrollIntoView:!0})}function Kf(n,e,t,i){let r=Math.min(n.length,e.length),s=0;for(;s<r&&n.charCodeAt(s)==e.charCodeAt(s);)s++;if(s==r&&n.length==e.length)return null;let o=n.length,l=e.length;for(;o>0&&l>0&&n.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(i=="end"){let a=Math.max(0,s-Math.min(o,l));t-=o+a-s}if(o<s&&n.length<e.length){let a=t<=s&&t>=o?s-t:0;s-=a,l=s+(l-o),o=s}else if(l<s){let a=t<=s&&t>=l?s-t:0;s-=a,o=s+(o-l),l=s}return{from:s,toA:o,toB:l}}function wy(n){let e=[];if(n.root.activeElement!=n.contentDOM)return e;let{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:s}=n.observer.selectionRange;return t&&(e.push(new so(t,i)),(r!=t||s!=i)&&e.push(new so(r,s))),e}function xy(n,e){if(n.length==0)return null;let t=n[0].pos,i=n.length==2?n[1].pos:t;return t>-1&&i>-1?D.single(t+e,i+e):null}function oo(n,e){return e.head==n.main.head&&e.anchor==n.main.anchor}var Pa=class{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,this.touchActive=!1,this.lastTouchTime=0,this.lastTouchX=0,this.lastTouchY=0,this.lastFocusTime=0,this.lastScrollTop=0,this.lastScrollLeft=0,this.lastWheelEvent=0,this.pendingIOSKey=void 0,this.lastIOSMomentumScroll=0,this.tabFocusMode=-1,this.lastSelectionOrigin=null,this.lastSelectionTime=0,this.lastContextMenu=0,this.scrollHandlers=[],this.handlers=Object.create(null),this.composing=-1,this.compositionFirstChange=null,this.compositionEndedAt=0,this.compositionPendingKey=!1,this.compositionPendingChange=!1,this.insertingText="",this.insertingTextAt=0,this.mouseSelection=null,this.draggedContent=null,this.handleEvent=this.handleEvent.bind(this),this.notifiedFocused=e.hasFocus,O.safari&&e.contentDOM.addEventListener("input",()=>null),O.gecko&&Ny(e.contentDOM.ownerDocument)}handleEvent(e){!Ey(this.view,e)||this.ignoreDuringComposition(e)||e.type=="keydown"&&this.keydown(e)||(this.view.updateState!=0?Promise.resolve().then(()=>this.runHandlers(e.type,e)):this.runHandlers(e.type,e))}runHandlers(e,t){let i=this.handlers[e];if(i){for(let r of i.observers)r(this.view,t);for(let r of i.handlers){if(t.defaultPrevented)break;if(r(this.view,t)){t.preventDefault();break}}}}ensureHandlers(e){let t=ky(e),i=this.handlers,r=this.view.contentDOM;for(let s in t)if(s!="scroll"){let o=!t[s].handlers.length,l=i[s];l&&o!=!l.handlers.length&&(r.removeEventListener(s,this.handleEvent),l=null),l||r.addEventListener(s,this.handleEvent,{passive:o})}for(let s in i)s!="scroll"&&!t[s]&&r.removeEventListener(s,this.handleEvent);this.handlers=t}keydown(e){if(this.lastKeyCode=e.keyCode,this.lastKeyTime=Date.now(),e.keyCode==9&&this.tabFocusMode>-1&&(!this.tabFocusMode||Date.now()<=this.tabFocusMode))return!0;if(this.tabFocusMode>0&&e.keyCode!=27&&Gf.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),O.android&&O.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;if(O.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&(jf.some(t=>t.keyCode==e.keyCode)&&!e.ctrlKey||Sy.indexOf(e.key)>-1&&e.ctrlKey)){let t={ctrlKey:e.ctrlKey,altKey:e.altKey,metaKey:e.metaKey,shiftKey:e.shiftKey};return t.shiftKey&&O.ios&&!/^(off|none)$/.test(this.view.contentDOM.autocapitalize)&&vy(this.view.win)&&(t.shiftKey=!1),this.pendingIOSKey={key:e.key,keyCode:e.keyCode,mods:t},setTimeout(()=>this.flushIOSKey(),50),!0}return e.keyCode!=229&&this.view.observer.forceFlush(),!1}flushIOSKey(e){let t=this.pendingIOSKey;return!t||this.view.observer.pendingRecords().length||t.key=="Enter"&&e&&e.from<e.to&&/^\S+$/.test(e.insert.toString())?!1:(this.pendingIOSKey=void 0,Fi(this.view.contentDOM,t.key,t.keyCode,t.mods))}ignoreDuringComposition(e){return!/^key/.test(e.type)||e.synthetic?!1:this.composing>0?!0:O.safari&&!O.ios&&this.compositionPendingKey&&Date.now()-this.compositionEndedAt<100?(this.compositionPendingKey=!1,!0):!1}startMouseSelection(e){this.mouseSelection&&this.mouseSelection.destroy(),this.mouseSelection=e}update(e){this.view.observer.update(e),this.mouseSelection&&this.mouseSelection.update(e),this.draggedContent&&e.docChanged&&(this.draggedContent=this.draggedContent.map(e.changes)),e.transactions.length&&(this.lastKeyCode=this.lastSelectionTime=0)}destroy(){this.mouseSelection&&this.mouseSelection.destroy()}};function vy(n){return n.visualViewport?n.visualViewport.height*n.visualViewport.scale/n.document.documentElement.clientHeight<.85:!1}function Vd(n,e){return(t,i)=>{try{return e.call(n,i,t)}catch(r){Lt(t.state,r)}}}function ky(n){let e=Object.create(null);function t(i){return e[i]||(e[i]={observers:[],handlers:[]})}for(let i of n){let r=i.spec,s=r&&r.plugin.domEventHandlers,o=r&&r.plugin.domEventObservers;if(s)for(let l in s){let a=s[l];a&&t(l).handlers.push(Vd(i.value,a))}if(o)for(let l in o){let a=o[l];a&&t(l).observers.push(Vd(i.value,a))}}for(let i in It)t(i).handlers.push(It[i]);for(let i in et)t(i).observers.push(et[i]);return e}var jf=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],Sy="dthko",Gf=[16,17,18,20,91,92,224,225],$s=6;function Us(n){return Math.max(0,n)*.7+8}function Cy(n,e){return Math.max(Math.abs(n.clientX-e.clientX),Math.abs(n.clientY-e.clientY))}var Ia=class{constructor(e,t,i,r){this.view=e,this.startEvent=t,this.style=i,this.mustSelect=r,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=t,this.scrollParents=ff(e.contentDOM),this.atoms=e.state.facet(Br).map(o=>o(e));let s=e.contentDOM.ownerDocument;s.addEventListener("mousemove",this.move=this.move.bind(this)),s.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=t.shiftKey,this.multiple=e.state.facet(ve.allowMultipleSelections)&&Ty(e,t),this.dragging=My(e,t)&&Yf(t)==1?null:!1}start(e){this.dragging===!1&&this.select(e)}move(e){if(e.buttons==0)return this.destroy();if(this.dragging||this.dragging==null&&Cy(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let t=0,i=0,r=0,s=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:r,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:s,bottom:l}=this.scrollParents.y.getBoundingClientRect());let a=Ff(this.view);e.clientX-a.left<=r+$s?t=-Us(r-e.clientX):e.clientX+a.right>=o-$s&&(t=Us(e.clientX-o)),e.clientY-a.top<=s+$s?i=-Us(s-e.clientY):e.clientY+a.bottom>=l-$s&&(i=Us(e.clientY-l)),this.setScrollSpeed(t,i)}up(e){this.dragging==null&&this.select(this.lastEvent),this.dragging||e.preventDefault(),this.destroy()}destroy(){this.setScrollSpeed(0,0);let e=this.view.contentDOM.ownerDocument;e.removeEventListener("mousemove",this.move),e.removeEventListener("mouseup",this.up),this.view.inputState.mouseSelection=this.view.inputState.draggedContent=null}setScrollSpeed(e,t){this.scrollSpeed={x:e,y:t},e||t?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:t}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),t&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=t,t=0),(e||t)&&this.view.win.scrollBy(e,t),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:t}=this,i=Vf(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!i.eq(t.state.selection,this.dragging===!1))&&this.view.dispatch({selection:i,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(t=>t.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}};function Ty(n,e){let t=n.state.facet(Tf);return t.length?t[0](e):O.mac?e.metaKey:e.ctrlKey}function Ay(n,e){let t=n.state.facet(Af);return t.length?t[0](e):O.mac?!e.altKey:!e.ctrlKey}function My(n,e){let{main:t}=n.state.selection;if(t.empty)return!1;let i=Pr(n.root);if(!i||i.rangeCount==0)return!0;let r=i.getRangeAt(0).getClientRects();for(let s=0;s<r.length;s++){let o=r[s];if(o.left<=e.clientX&&o.right>=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function Ey(n,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let t=e.target,i;t!=n.contentDOM;t=t.parentNode)if(!t||t.nodeType==11||(i=ke.get(t))&&i.isWidget()&&!i.isHidden&&i.widget.ignoreEvent(e))return!1;return!0}var It=Object.create(null),et=Object.create(null),qf=O.ie&&O.ie_version<15||O.ios&&O.webkit_version<604;function Dy(n){let e=n.dom.parentNode;if(!e)return;let t=e.appendChild(document.createElement("textarea"));t.style.cssText="position: fixed; left: -10000px; top: 10px",t.focus(),setTimeout(()=>{n.focus(),t.remove(),Xf(n,t.value)},50)}function go(n,e,t){for(let i of n.facet(e))t=i(t,n);return t}function Xf(n,e){e=go(n.state,ic,e);let{state:t}=n,i,r=1,s=t.toText(e),o=s.lines==t.selection.ranges.length;if(Na!=null&&t.selection.ranges.every(a=>a.empty)&&Na==s.toString()){let a=-1;i=t.changeByRange(c=>{let h=t.doc.lineAt(c.from);if(h.from==a)return{range:c};a=h.from;let u=t.toText((o?s.line(r++).text:e)+t.lineBreak);return{changes:{from:h.from,insert:u},range:D.cursor(c.from+u.length)}})}else o?i=t.changeByRange(a=>{let c=s.line(r++);return{changes:{from:a.from,to:a.to,insert:c.text},range:D.cursor(a.from+c.length)}}):i=t.replaceSelection(s);n.dispatch(i,{userEvent:"input.paste",scrollIntoView:!0})}et.scroll=n=>{let e=n.inputState;e.lastScrollTop=n.scrollDOM.scrollTop,e.lastScrollLeft=n.scrollDOM.scrollLeft,O.ios&&!e.touchActive&&(e.lastIOSMomentumScroll=Date.now())};et.wheel=et.mousewheel=n=>{n.inputState.lastWheelEvent=Date.now()};It.keydown=(n,e)=>(n.inputState.setSelectionOrigin("select"),e.keyCode==27&&n.inputState.tabFocusMode!=0&&(n.inputState.tabFocusMode=Date.now()+2e3),!1);et.touchstart=(n,e)=>{let t=n.inputState,i=e.targetTouches[0];t.touchActive=!0,t.lastTouchTime=Date.now(),i&&(t.lastTouchX=i.clientX,t.lastTouchY=i.clientY),t.setSelectionOrigin("select.pointer")};et.touchmove=n=>{n.inputState.setSelectionOrigin("select.pointer")};et.touchend=(n,e)=>{n.inputState.touchActive=!1};It.mousedown=(n,e)=>{if(n.observer.flush(),n.inputState.lastTouchTime>Date.now()-2e3)return!1;let t=null;for(let i of n.state.facet(Mf))if(t=i(n,e),t)break;if(!t&&e.button==0&&(t=Ly(n,e)),t){let i=!n.hasFocus;n.inputState.startMouseSelection(new Ia(n,e,t,i)),i&&n.observer.ignore(()=>{gf(n.contentDOM);let s=n.root.activeElement;s&&!s.contains(n.contentDOM)&&s.blur()});let r=n.inputState.mouseSelection;if(r)return r.start(e),r.dragging===!1}else n.inputState.setSelectionOrigin("select.pointer");return!1};function $d(n,e,t,i){if(i==1)return D.cursor(e,t);if(i==2)return uy(n.state,e,t);{let r=n.docView.lineAt(e,t),s=n.state.doc.lineAt(r?r.posAtEnd:e),o=r?r.posAtStart:s.from,l=r?r.posAtEnd:s.to;return l<n.state.doc.length&&l==s.to&&l++,D.undirectionalRange(o,l)}}var Ry=O.ie&&O.ie_version<=11,Ud=null,Kd=0,jd=0;function Yf(n){if(!Ry)return n.detail;let e=Ud,t=jd;return Ud=n,jd=Date.now(),Kd=!e||t>Date.now()-400&&Math.abs(e.clientX-n.clientX)<2&&Math.abs(e.clientY-n.clientY)<2?(Kd+1)%3:1}function Ly(n,e){let t=n.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),i=Yf(e),r=n.state.selection;return{update(s){s.docChanged&&(t.pos=s.changes.mapPos(t.pos),r=r.map(s.changes))},get(s,o,l){let a=n.posAndSideAtCoords({x:s.clientX,y:s.clientY},!1),c,h=$d(n,a.pos,a.assoc,i);if(t.pos!=a.pos&&!o){let u=$d(n,t.pos,t.assoc,i),d=Math.min(u.from,h.from),f=Math.max(u.to,h.to);h=d<h.from?D.range(d,f,h.assoc):D.range(f,d,h.assoc)}return o?r.replaceRange(r.main.extend(h.from,h.to,h.assoc)):l&&i==1&&r.ranges.length>1&&(c=Oy(r,a.pos))?c:l?r.addRange(h):D.create([h])}}}function Oy(n,e){for(let t=0;t<n.ranges.length;t++){let{from:i,to:r}=n.ranges[t];if(i<=e&&r>=e)return D.create(n.ranges.slice(0,t).concat(n.ranges.slice(t+1)),n.mainIndex==t?0:n.mainIndex-(n.mainIndex>t?1:0))}return null}It.dragstart=(n,e)=>{let{selection:{main:t}}=n.state;if(e.target.draggable){let r=n.docView.tile.nearest(e.target);if(r&&r.isWidget()){let s=r.posAtStart,o=s+r.length;(s>=t.to||o<=t.from)&&(t=D.undirectionalRange(s,o))}}let{inputState:i}=n;return i.mouseSelection&&(i.mouseSelection.dragging=!0),i.draggedContent=t,e.dataTransfer&&(e.dataTransfer.setData("Text",go(n.state,rc,n.state.sliceDoc(t.from,t.to))),e.dataTransfer.effectAllowed="copyMove"),!1};It.dragend=n=>(n.inputState.draggedContent=null,!1);function Gd(n,e,t,i){if(t=go(n.state,ic,t),!t)return;let r=n.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:s}=n.inputState,o=i&&s&&Ay(n,e)?{from:s.from,to:s.to}:null,l={from:r,insert:t},a=n.state.changes(o?[o,l]:l);n.focus(),n.dispatch({changes:a,selection:{anchor:a.mapPos(r,-1),head:a.mapPos(r,1)},userEvent:o?"move.drop":"input.drop"}),n.inputState.draggedContent=null}It.drop=(n,e)=>{if(!e.dataTransfer)return!1;if(n.state.readOnly)return!0;let t=e.dataTransfer.files;if(t&&t.length){let i=Array(t.length),r=0,s=()=>{++r==t.length&&Gd(n,e,i.filter(o=>o!=null).join(n.state.lineBreak),!1)};for(let o=0;o<t.length;o++){let l=new FileReader;l.onerror=s,l.onload=()=>{/[\x00-\x08\x0e-\x1f]{2}/.test(l.result)||(i[o]=l.result),s()},l.readAsText(t[o])}return!0}else{let i=e.dataTransfer.getData("Text");if(i)return Gd(n,e,i,!0),!0}return!1};It.paste=(n,e)=>{if(n.state.readOnly)return!0;n.observer.flush();let t=qf?null:e.clipboardData;return t?(Xf(n,t.getData("text/plain")||t.getData("text/uri-list")),!0):(Dy(n),!1)};function Py(n,e){let t=n.dom.parentNode;if(!t)return;let i=t.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.value=e,i.focus(),i.selectionEnd=e.length,i.selectionStart=0,setTimeout(()=>{i.remove(),n.focus()},50)}function Iy(n){let e=[],t=[],i=!1;for(let r of n.selection.ranges)r.empty||(e.push(n.sliceDoc(r.from,r.to)),t.push(r));if(!e.length){let r=-1;for(let{from:s}of n.selection.ranges){let o=n.doc.lineAt(s);o.number>r&&(e.push(o.text),t.push({from:o.from,to:Math.min(n.doc.length,o.to+1)})),r=o.number}i=!0}return{text:go(n,rc,e.join(n.lineBreak)),ranges:t,linewise:i}}var Na=null;It.copy=It.cut=(n,e)=>{if(!kr(n.contentDOM,n.observer.selectionRange))return!1;let{text:t,ranges:i,linewise:r}=Iy(n.state);if(!t&&!r)return!1;Na=r?t:null,e.type=="cut"&&!n.state.readOnly&&n.dispatch({changes:i,scrollIntoView:!0,userEvent:"delete.cut"});let s=qf?null:e.clipboardData;return s?(s.clearData(),s.setData("text/plain",t),!0):(Py(n,t),!1)};var Jf=at.define();function Zf(n,e){let t=[];for(let i of n.facet(Rf)){let r=i(n,e);r&&t.push(r)}return t.length?n.update({effects:t,annotations:Jf.of(!0)}):null}function Qf(n){setTimeout(()=>{let e=n.hasFocus;if(e!=n.inputState.notifiedFocused){let t=Zf(n.state,e);t?n.dispatch(t):n.update([])}},10)}et.focus=n=>{n.inputState.lastFocusTime=Date.now(),!n.scrollDOM.scrollTop&&(n.inputState.lastScrollTop||n.inputState.lastScrollLeft)&&(n.scrollDOM.scrollTop=n.inputState.lastScrollTop,n.scrollDOM.scrollLeft=n.inputState.lastScrollLeft),Qf(n)};et.blur=n=>{n.observer.clearSelectionRange(),Qf(n)};et.compositionstart=et.compositionupdate=n=>{if(!n.observer.editContext&&(n.inputState.compositionFirstChange==null&&(n.inputState.compositionFirstChange=!0),n.inputState.composing<0)){let{main:e}=n.state.selection;!e.empty&&n.lineBlockAt(e.from).from!=n.lineBlockAt(e.to).from&&n.dispatch({changes:n.state.selection.ranges.filter(t=>!t.empty).map(t=>({from:t.from,to:t.to})),userEvent:"input"}),n.inputState.composing=0}};et.compositionend=n=>{n.observer.editContext||(n.inputState.composing=-1,n.inputState.compositionEndedAt=Date.now(),n.inputState.compositionPendingKey=!0,n.inputState.compositionPendingChange=n.observer.pendingRecords().length>0,n.inputState.compositionFirstChange=null,O.chrome&&O.android?n.observer.flushSoon():n.inputState.compositionPendingChange?Promise.resolve().then(()=>n.observer.flush()):setTimeout(()=>{n.inputState.composing<0&&n.docView.hasComposition&&n.update([])},50))};et.contextmenu=n=>{n.inputState.lastContextMenu=Date.now()};It.beforeinput=(n,e)=>{var t,i;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(n.inputState.insertingText=e.data,n.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&n.observer.editContext){let s=(t=e.dataTransfer)===null||t===void 0?void 0:t.getData("text/plain"),o=e.getTargetRanges();if(s&&o.length){let l=o[0],a=n.posAtDOM(l.startContainer,l.startOffset),c=n.posAtDOM(l.endContainer,l.endOffset);return lc(n,{from:a,to:c,insert:n.state.toText(s)},null),!0}}let r;if(O.chrome&&O.android&&(r=jf.find(s=>s.inputType==e.inputType))&&(n.observer.delayAndroidKey(r.key,r.keyCode),r.key=="Backspace"||r.key=="Delete")){let s=((i=window.visualViewport)===null||i===void 0?void 0:i.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>s+10&&n.hasFocus&&(n.contentDOM.blur(),n.focus())},100)}return O.ios&&e.inputType=="deleteContentForward"&&n.observer.flushSoon(),O.safari&&e.inputType=="insertText"&&n.inputState.composing>=0&&setTimeout(()=>et.compositionend(n,e),20),!1};var qd=new Set;function Ny(n){qd.has(n)||(qd.add(n),n.addEventListener("copy",()=>{}),n.addEventListener("cut",()=>{}))}var Xd=["pre-wrap","normal","pre-line","break-spaces"],Ui=!1;function Yd(){Ui=!1}var Ba=class{constructor(e){this.lineWrapping=e,this.doc=ee.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,t){let i=this.doc.lineAt(t).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(i+=Math.max(0,Math.ceil((t-e-i*this.lineLength*.5)/this.lineLength))),this.lineHeight*i}heightForLine(e){return this.lineWrapping?(1+Math.max(0,Math.ceil((e-this.lineLength)/Math.max(1,this.lineLength-5))))*this.lineHeight:this.lineHeight}setDoc(e){return this.doc=e,this}mustRefreshForWrapping(e){return Xd.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let t=!1;for(let i=0;i<e.length;i++){let r=e[i];r<0?i++:this.heightSamples[Math.floor(r*10)]||(t=!0,this.heightSamples[Math.floor(r*10)]=!0)}return t}refresh(e,t,i,r,s,o){let l=Xd.indexOf(e)>-1,a=Math.abs(t-this.lineHeight)>.3||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=t,this.charWidth=i,this.textHeight=r,this.lineLength=s,a){this.heightSamples={};for(let c=0;c<o.length;c++){let h=o[c];h<0?c++:this.heightSamples[Math.floor(h*10)]=!0}}return a}},_a=class{constructor(e,t){this.from=e,this.heights=t,this.index=0}get more(){return this.index<this.heights.length}},Rt=class n{constructor(e,t,i,r,s){this.from=e,this.length=t,this.top=i,this.height=r,this._content=s}get type(){return typeof this._content=="number"?We.Text:Array.isArray(this._content)?this._content:this._content.type}get to(){return this.from+this.length}get bottom(){return this.top+this.height}get widget(){return this._content instanceof ii?this._content.widget:null}get widgetLineBreaks(){return typeof this._content=="number"?this._content:0}join(e){let t=(Array.isArray(this._content)?this._content:[this]).concat(Array.isArray(e._content)?e._content:[e]);return new n(this.from,this.length+e.length,this.top,this.height+e.height,t)}},pe=(function(n){return n[n.ByPos=0]="ByPos",n[n.ByHeight=1]="ByHeight",n[n.ByPosNoHeight=2]="ByPosNoHeight",n})(pe||(pe={})),Xs=.001,mt=class n{constructor(e,t,i=2){this.length=e,this.height=t,this.flags=i}get outdated(){return(this.flags&2)>0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>Xs&&(Ui=!0),this.height=e)}replace(e,t,i){return n.of(i)}decomposeLeft(e,t){t.push(this)}decomposeRight(e,t){t.push(this)}applyChanges(e,t,i,r){let s=this,o=i.doc;for(let l=r.length-1;l>=0;l--){let{fromA:a,toA:c,fromB:h,toB:u}=r[l],d=s.lineAt(a,pe.ByPosNoHeight,i.setDoc(t),0,0),f=d.to>=c?d:s.lineAt(c,pe.ByPosNoHeight,i,0,0);for(u+=f.to-c,c=f.to;l>0&&d.from<=r[l-1].toA;)a=r[l-1].fromA,h=r[l-1].fromB,l--,a<d.from&&(d=s.lineAt(a,pe.ByPosNoHeight,i,0,0));h+=d.from-a,a=d.from;let p=Fa.build(i.setDoc(o),e,h,u);s=lo(s,s.replace(a,c,p))}return s.updateHeight(i,0)}static empty(){return new vt(0,0,0)}static of(e){if(e.length==1)return e[0];let t=0,i=e.length,r=0,s=0;for(;;)if(t==i)if(r>s*2){let l=e[t-1];l.break?e.splice(--t,1,l.left,null,l.right):e.splice(--t,1,l.left,l.right),i+=1+l.break,r-=l.size}else if(s>r*2){let l=e[i];l.break?e.splice(i,1,l.left,null,l.right):e.splice(i,1,l.left,l.right),i+=2+l.break,s-=l.size}else break;else if(r<s){let l=e[t++];l&&(r+=l.size)}else{let l=e[--i];l&&(s+=l.size)}let o=0;return e[t-1]==null?(o=1,t--):e[t]==null&&(o=1,i++),new Ha(n.of(e.slice(0,t)),o,n.of(e.slice(i)))}};function lo(n,e){return n==e?n:(n.constructor!=e.constructor&&(Ui=!0),e)}mt.prototype.size=1;var By=me.replace({}),ao=class extends mt{constructor(e,t,i){super(e,t),this.deco=i,this.spaceAbove=0}mainBlock(e,t){return new Rt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.deco||0)}blockAt(e,t,i,r){return this.spaceAbove&&e<i+this.spaceAbove?new Rt(r,0,i,this.spaceAbove,By):this.mainBlock(i,r)}lineAt(e,t,i,r,s){let o=this.mainBlock(r,s);return this.spaceAbove?this.blockAt(0,i,r,s).join(o):o}forEachLine(e,t,i,r,s,o){e<=s+this.length&&t>=s&&o(this.lineAt(0,pe.ByPos,i,r,s))}setMeasuredHeight(e){let t=e.heights[e.index++];t<0?(this.spaceAbove=-t,t=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(t)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more&&this.setMeasuredHeight(r),this.outdated=!1,this}toString(){return`block(${this.length})`}},vt=class n extends ao{constructor(e,t,i){super(e,t,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=i}mainBlock(e,t){return new Rt(t,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,t,i){let r=i[0];return i.length==1&&(r instanceof n||r instanceof En&&r.flags&4)&&Math.abs(this.length-r.length)<10?(r instanceof En?r=new n(r.length,this.height,this.spaceAbove):r.height=this.height,this.outdated||(r.outdated=!1),r):mt.of(i)}updateHeight(e,t=0,i=!1,r){return r&&r.from<=t&&r.more?this.setMeasuredHeight(r):(i||this.outdated)&&(this.spaceAbove=0,this.setHeight(Math.max(this.widgetHeight,e.heightForLine(this.length-this.collapsed))+this.breaks*e.lineHeight)),this.outdated=!1,this}toString(){return`line(${this.length}${this.collapsed?-this.collapsed:""}${this.widgetHeight?":"+this.widgetHeight:""})`}},En=class n extends mt{constructor(e){super(e,0)}heightMetrics(e,t){let i=e.doc.lineAt(t).number,r=e.doc.lineAt(t+this.length).number,s=r-i+1,o,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*s);o=a/s,this.length>s+1&&(l=(this.height-a)/(this.length-s-1))}else o=this.height/s;return{firstLine:i,lastLine:r,perLine:o,perChar:l}}blockAt(e,t,i,r){let{firstLine:s,lastLine:o,perLine:l,perChar:a}=this.heightMetrics(t,r);if(t.lineWrapping){let c=r+(e<t.lineHeight?0:Math.round(Math.max(0,Math.min(1,(e-i)/this.height))*this.length)),h=t.doc.lineAt(c),u=l+h.length*a,d=Math.max(i,e-u/2);return new Rt(h.from,h.length,d,u,0)}else{let c=Math.max(0,Math.min(o-s,Math.floor((e-i)/l))),{from:h,length:u}=t.doc.line(s+c);return new Rt(h,u,i+l*c,l,0)}}lineAt(e,t,i,r,s){if(t==pe.ByHeight)return this.blockAt(e,i,r,s);if(t==pe.ByPosNoHeight){let{from:f,to:p}=i.doc.lineAt(e);return new Rt(f,p-f,0,0,0)}let{firstLine:o,perLine:l,perChar:a}=this.heightMetrics(i,s),c=i.doc.lineAt(e),h=l+c.length*a,u=c.number-o,d=r+l*u+a*(c.from-s-u);return new Rt(c.from,c.length,Math.max(r,Math.min(d,r+this.height-h)),h,0)}forEachLine(e,t,i,r,s,o){e=Math.max(e,s),t=Math.min(t,s+this.length);let{firstLine:l,perLine:a,perChar:c}=this.heightMetrics(i,s);for(let h=e,u=r;h<=t;){let d=i.doc.lineAt(h);if(h==e){let p=d.number-l;u+=a*p+c*(e-s-p)}let f=a+c*d.length;o(new Rt(d.from,d.length,u,f,0)),u+=f,h=d.to+1}}replace(e,t,i){let r=this.length-t;if(r>0){let s=i[i.length-1];s instanceof n?i[i.length-1]=new n(s.length+r):i.push(null,new n(r-1))}if(e>0){let s=i[0];s instanceof n?i[0]=new n(e+s.length):i.unshift(new n(e-1),null)}return mt.of(i)}decomposeLeft(e,t){t.push(new n(e-1),null)}decomposeRight(e,t){t.push(null,new n(this.length-e-1))}updateHeight(e,t=0,i=!1,r){let s=t+this.length;if(r&&r.from<=t+this.length&&r.more){let o=[],l=Math.max(t,r.from),a=-1;for(r.from>t&&o.push(new n(r.from-t-1).updateHeight(e,t));l<=s&&r.more;){let h=e.doc.lineAt(l).length;o.length&&o.push(null);let u=r.heights[r.index++],d=0;u<0&&(d=-u,u=r.heights[r.index++]),a==-1?a=u:Math.abs(u-a)>=Xs&&(a=-2);let f=new vt(h,u,d);f.outdated=!1,o.push(f),l+=h+1}l<=s&&o.push(null,new n(s-l).updateHeight(e,l));let c=mt.of(o);return(a<0||Math.abs(c.height-this.height)>=Xs||Math.abs(a-this.heightMetrics(e,t).perLine)>=Xs)&&(Ui=!0),lo(this,c)}else(i||this.outdated)&&(this.setHeight(e.heightForGap(t,t+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}},Ha=class extends mt{constructor(e,t,i){super(e.length+t+i.length,e.height+i.height,t|(e.outdated||i.outdated?2:0)),this.left=e,this.right=i,this.size=e.size+i.size}get break(){return this.flags&1}blockAt(e,t,i,r){let s=i+this.left.height;return e<s?this.left.blockAt(e,t,i,r):this.right.blockAt(e,t,s,r+this.left.length+this.break)}lineAt(e,t,i,r,s){let o=r+this.left.height,l=s+this.left.length+this.break,a=t==pe.ByHeight?e<o:e<l,c=a?this.left.lineAt(e,t,i,r,s):this.right.lineAt(e,t,i,o,l);if(this.break||(a?c.to<l:c.from>l))return c;let h=t==pe.ByPosNoHeight?pe.ByPosNoHeight:pe.ByPos;return a?c.join(this.right.lineAt(l,h,i,o,l)):this.left.lineAt(l,h,i,r,s).join(c)}forEachLine(e,t,i,r,s,o){let l=r+this.left.height,a=s+this.left.length+this.break;if(this.break)e<a&&this.left.forEachLine(e,t,i,r,s,o),t>=a&&this.right.forEachLine(e,t,i,l,a,o);else{let c=this.lineAt(a,pe.ByPos,i,r,s);e<c.from&&this.left.forEachLine(e,c.from-1,i,r,s,o),c.to>=e&&c.from<=t&&o(c),t>c.to&&this.right.forEachLine(c.to+1,t,i,l,a,o)}}replace(e,t,i){let r=this.left.length+this.break;if(t<r)return this.balanced(this.left.replace(e,t,i),this.right);if(e>this.left.length)return this.balanced(this.left,this.right.replace(e-r,t-r,i));let s=[];e>0&&this.decomposeLeft(e,s);let o=s.length;for(let l of i)s.push(l);if(e>0&&Jd(s,o-1),t<this.length){let l=s.length;this.decomposeRight(t,s),Jd(s,l)}return mt.of(s)}decomposeLeft(e,t){let i=this.left.length;if(e<=i)return this.left.decomposeLeft(e,t);t.push(this.left),this.break&&(i++,e>=i&&t.push(null)),e>i&&this.right.decomposeLeft(e-i,t)}decomposeRight(e,t){let i=this.left.length,r=i+this.break;if(e>=r)return this.right.decomposeRight(e-r,t);e<i&&this.left.decomposeRight(e,t),this.break&&e<r&&t.push(null),t.push(this.right)}balanced(e,t){return e.size>2*t.size||t.size>2*e.size?mt.of(this.break?[e,null,t]:[e,t]):(this.left=lo(this.left,e),this.right=lo(this.right,t),this.setHeight(e.height+t.height),this.outdated=e.outdated||t.outdated,this.size=e.size+t.size,this.length=e.length+this.break+t.length,this)}updateHeight(e,t=0,i=!1,r){let{left:s,right:o}=this,l=t+s.length+this.break,a=null;return r&&r.from<=t+s.length&&r.more?a=s=s.updateHeight(e,t,i,r):s.updateHeight(e,t,i),r&&r.from<=l+o.length&&r.more?a=o=o.updateHeight(e,l,i,r):o.updateHeight(e,l,i),a?this.balanced(s,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}};function Jd(n,e){let t,i;n[e]==null&&(t=n[e-1])instanceof En&&(i=n[e+1])instanceof En&&n.splice(e-1,3,new En(t.length+1+i.length))}var _y=5,Fa=class n{constructor(e,t){this.pos=e,this.oracle=t,this.nodes=[],this.lineStart=-1,this.lineEnd=-1,this.covering=null,this.writtenTo=e}get isCovered(){return this.covering&&this.nodes[this.nodes.length-1]==this.covering}span(e,t){if(this.lineStart>-1){let i=Math.min(t,this.lineEnd),r=this.nodes[this.nodes.length-1];r instanceof vt?r.length+=i-this.pos:(i>this.pos||!this.isCovered)&&this.nodes.push(new vt(i-this.pos,-1,0)),this.writtenTo=i,t>i&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=t}point(e,t,i){if(e<t||i.heightRelevant){let r=i.widget?i.widget.estimatedHeight:0,s=i.widget?i.widget.lineBreaks:0;r<0&&(r=this.oracle.lineHeight);let o=t-e;i.block?this.addBlock(new ao(o,r,i)):(o||s||r>=_y)&&this.addLineDeco(r,s,o)}else t>e&&this.span(e,t);this.lineEnd>-1&&this.lineEnd<this.pos&&(this.lineEnd=this.oracle.doc.lineAt(this.pos).to)}enterLine(){if(this.lineStart>-1)return;let{from:e,to:t}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=t,this.writtenTo<e&&((this.writtenTo<e-1||this.nodes[this.nodes.length-1]==null)&&this.nodes.push(this.blankContent(this.writtenTo,e-1)),this.nodes.push(null)),this.pos>e&&this.nodes.push(new vt(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,t){let i=new En(t-e);return this.oracle.doc.lineAt(e).to==t&&(i.flags|=4),i}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof vt)return e;let t=new vt(0,-1,0);return this.nodes.push(t),t}addBlock(e){this.enterLine();let t=e.deco;t&&t.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,t&&t.endSide>0&&(this.covering=e)}addLineDeco(e,t,i){let r=this.ensureLine();r.length+=i,r.collapsed+=i,r.widgetHeight=Math.max(r.widgetHeight,e),r.breaks+=t,this.writtenTo=this.pos=this.pos+i}finish(e){let t=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(t instanceof vt)&&!this.isCovered?this.nodes.push(new vt(0,-1,0)):(this.writtenTo<this.pos||t==null)&&this.nodes.push(this.blankContent(this.writtenTo,this.pos));let i=e;for(let r of this.nodes)r instanceof vt&&r.updateHeight(this.oracle,i),i+=r?r.length:1;return this.nodes}static build(e,t,i,r){let s=new n(i,e);return he.spans(t,i,r,s,0),s.finish(i)}};function Hy(n,e,t){let i=new za;return he.compare(n,e,t,i,0),i.changes}var za=class{constructor(){this.changes=[]}compareRange(){}comparePoint(e,t,i,r){(e<t||i&&i.heightRelevant||r&&r.heightRelevant)&&Hi(e,t,this.changes,5)}};function Fy(n,e){let t=n.getBoundingClientRect(),i=n.ownerDocument,r=i.defaultView||window,s=Math.max(0,t.left),o=Math.min(r.innerWidth,t.right),l=Math.max(0,t.top),a=Math.min(r.innerHeight,t.bottom);for(let c=n.parentNode;c&&c!=i.body;)if(c.nodeType==1){let h=c,u=window.getComputedStyle(h);if((h.scrollHeight>h.clientHeight||h.scrollWidth>h.clientWidth)&&u.overflow!="visible"){let d=h.getBoundingClientRect();s=Math.max(s,d.left),o=Math.min(o,d.right),l=Math.max(l,d.top),a=Math.min(c==n.parentNode?r.innerHeight:a,d.bottom)}c=u.position=="absolute"||u.position=="fixed"?h.offsetParent:h.parentNode}else if(c.nodeType==11)c=c.host;else break;return{left:s-t.left,right:Math.max(s,o)-t.left,top:l-(t.top+e),bottom:Math.max(l,a)-(t.top+e)}}function zy(n){let e=n.getBoundingClientRect(),t=n.ownerDocument.defaultView||window;return e.left<t.innerWidth&&e.right>0&&e.top<t.innerHeight&&e.bottom>0}function Wy(n,e){let t=n.getBoundingClientRect();return{left:0,right:t.right-t.left,top:e,bottom:t.bottom-(t.top+e)}}var Dr=class{constructor(e,t,i,r){this.from=e,this.to=t,this.size=i,this.displaySize=r}static same(e,t){if(e.length!=t.length)return!1;for(let i=0;i<e.length;i++){let r=e[i],s=t[i];if(r.from!=s.from||r.to!=s.to||r.size!=s.size)return!1}return!0}draw(e,t){return me.replace({widget:new Wa(this.displaySize*(t?e.scaleY:e.scaleX),t)}).range(this.from,this.to)}},Wa=class extends Dn{constructor(e,t){super(),this.size=e,this.vertical=t}eq(e){return e.size==this.size&&e.vertical==this.vertical}toDOM(){let e=document.createElement("div");return this.vertical?e.style.height=this.size+"px":(e.style.width=this.size+"px",e.style.height="2px",e.style.display="inline-block"),e}get estimatedHeight(){return this.vertical?this.size:-1}},co=class{constructor(e,t){this.view=e,this.state=t,this.pixelViewport={left:0,right:window.innerWidth,top:0,bottom:0},this.inView=!0,this.paddingTop=0,this.paddingBottom=0,this.contentDOMWidth=0,this.contentDOMHeight=0,this.editorHeight=0,this.editorWidth=0,this.scaleX=1,this.scaleY=1,this.scrollOffset=0,this.scrolledToBottom=!1,this.scrollAnchorPos=0,this.scrollAnchorHeight=-1,this.scaler=Zd,this.scrollTarget=null,this.printing=!1,this.mustMeasureContent=!0,this.defaultTextDirection=ge.LTR,this.visibleRanges=[],this.mustEnforceCursorAssoc=!1;let i=t.facet(sc).some(r=>typeof r!="function"&&r.class=="cm-lineWrapping");this.heightOracle=new Ba(i),this.stateDeco=Qd(t),this.heightMap=mt.empty().applyChanges(this.stateDeco,ee.empty,this.heightOracle.setDoc(t.doc),[new Ot(0,0,0,t.doc.length)]);for(let r=0;r<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());r++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=me.set(this.lineGaps.map(r=>r.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:t}=this.state.selection;for(let i=0;i<=1;i++){let r=i?t.head:t.anchor;if(!e.some(({from:s,to:o})=>r>=s&&r<=o)){let{from:s,to:o}=this.lineBlockAt(r);e.push(new Bi(s,o))}}return this.viewports=e.sort((i,r)=>i.from-r.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?Zd:new Va(this.heightOracle,this.heightMap,this.viewports),e.eq(this.scaler)?0:2}updateViewportLines(){this.viewportLines=[],this.heightMap.forEachLine(this.viewport.from,this.viewport.to,this.heightOracle.setDoc(this.state.doc),0,0,e=>{this.viewportLines.push(xr(e,this.scaler))})}update(e,t=null){this.state=e.state;let i=this.stateDeco;this.stateDeco=Qd(this.state);let r=e.changedRanges,s=Ot.extendWithRanges(r,Hy(i,this.stateDeco,e?e.changes:Ze.empty(this.state.doc.length))),o=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);Yd(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),s),(this.heightMap.height!=o||Ui)&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let a=s.length?this.mapViewport(this.viewport,e.changes):this.viewport;(t&&(t.range.head<a.from||t.range.head>a.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,t));let c=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(c||!e.changes.empty||e.flags&2)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(this.mapLineGaps(this.lineGaps,e.changes))),e.flags|=this.computeVisibleRanges(e.changes),t&&(this.scrollTarget=t),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Of)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,t=e.contentDOM,i=window.getComputedStyle(t),r=this.heightOracle,s=i.whiteSpace;this.defaultTextDirection=i.direction=="rtl"?ge.RTL:ge.LTR;let o=this.heightOracle.mustRefreshForWrapping(s)||this.mustMeasureContent==="refresh",l=t.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let c=0,h=0;if(l.width&&l.height){let{scaleX:S,scaleY:A}=df(t,l);(S>.005&&Math.abs(this.scaleX-S)>.005||A>.005&&Math.abs(this.scaleY-A)>.005)&&(this.scaleX=S,this.scaleY=A,c|=16,o=a=!0)}let u=(parseInt(i.paddingTop)||0)*this.scaleY,d=(parseInt(i.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=d)&&(this.paddingTop=u,this.paddingBottom=d,c|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(r.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,c|=16);let f=ff(this.view.contentDOM,!1).y;f!=this.scrollParent&&(this.scrollParent=f,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=bf(this.scrollParent||e.win);let g=(this.printing?Wy:Fy)(t,this.paddingTop),b=g.top-this.pixelViewport.top,y=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let x=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(x!=this.inView&&(this.inView=x,x&&(a=!0)),!this.inView&&!this.scrollTarget&&!zy(e.dom))return 0;let C=l.width;if((this.contentDOMWidth!=C||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,c|=16),a){let S=e.docView.measureVisibleLineHeights(this.viewport);if(r.mustRefreshForHeights(S)&&(o=!0),o||r.lineWrapping&&Math.abs(C-this.contentDOMWidth)>r.charWidth){let{lineHeight:A,charWidth:k,textHeight:N}=e.docView.measureTextSize();o=A>0&&r.refresh(s,A,k,N,Math.max(5,C/k),S),o&&(e.docView.minWidth=0,c|=16)}b>0&&y>0?h=Math.max(b,y):b<0&&y<0&&(h=Math.min(b,y)),Yd();for(let A of this.viewports){let k=A.from==this.viewport.from?S:e.docView.measureVisibleLineHeights(A);this.heightMap=(o?mt.empty().applyChanges(this.stateDeco,ee.empty,this.heightOracle,[new Ot(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(r,0,o,new _a(A.from,k))}Ui&&(c|=2)}let _=!this.viewportIsAppropriate(this.viewport,h)||this.scrollTarget&&(this.scrollTarget.range.head<this.viewport.from||this.scrollTarget.range.head>this.viewport.to);return _&&(c&2&&(c|=this.updateScaler()),this.viewport=this.getViewport(h,this.scrollTarget),c|=this.updateForViewport()),(c&2||_)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),c|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),c}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,t){let i=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),r=this.heightMap,s=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,a=new Bi(r.lineAt(o-i*1e3,pe.ByHeight,s,0,0).from,r.lineAt(l+(1-i)*1e3,pe.ByHeight,s,0,0).to);if(t){let{head:c}=t.range;if(c<a.from||c>a.to){let h=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=r.lineAt(c,pe.ByPos,s,0,0),d;t.y=="center"?d=(u.top+u.bottom)/2-h/2:t.y=="start"||t.y=="nearest"&&c<a.from?d=u.top:d=u.bottom-h,a=new Bi(r.lineAt(d-1e3/2,pe.ByHeight,s,0,0).from,r.lineAt(d+h+1e3/2,pe.ByHeight,s,0,0).to)}}return a}mapViewport(e,t){let i=t.mapPos(e.from,-1),r=t.mapPos(e.to,1);return new Bi(this.heightMap.lineAt(i,pe.ByPos,this.heightOracle,0,0).from,this.heightMap.lineAt(r,pe.ByPos,this.heightOracle,0,0).to)}viewportIsAppropriate({from:e,to:t},i=0){if(!this.inView)return!0;let{top:r}=this.heightMap.lineAt(e,pe.ByPos,this.heightOracle,0,0),{bottom:s}=this.heightMap.lineAt(t,pe.ByPos,this.heightOracle,0,0),{visibleTop:o,visibleBottom:l}=this;return(e==0||r<=o-Math.max(10,Math.min(-i,250)))&&(t==this.state.doc.length||s>=l+Math.max(10,Math.min(i,250)))&&r>o-2*1e3&&s<l+2*1e3}mapLineGaps(e,t){if(!e.length||t.empty)return e;let i=[];for(let r of e)t.touchesRange(r.from,r.to)||i.push(new Dr(t.mapPos(r.from),t.mapPos(r.to),r.size,r.displaySize));return i}ensureLineGaps(e,t){let i=this.heightOracle.lineWrapping,r=i?1e4:2e3,s=r>>1,o=r<<1;if(this.defaultTextDirection!=ge.LTR&&!i)return[];let l=[],a=(h,u,d,f)=>{if(u-h<s)return;let p=this.state.selection.main,g=[p.from];p.empty||g.push(p.to);for(let y of g)if(y>h&&y<u){a(h,y-10,d,f),a(y+10,u,d,f);return}let b=$y(e,y=>y.from>=d.from&&y.to<=d.to&&Math.abs(y.from-h)<s&&Math.abs(y.to-u)<s&&!g.some(x=>y.from<x&&y.to>x));if(!b){if(u<d.to&&t&&i&&t.visibleRanges.some(C=>C.from<=u&&C.to>=u)){let C=t.moveToLineBoundary(D.cursor(u),!1,!0).head;C>h&&(u=C)}let y=this.gapSize(d,h,u,f),x=i||y<2e6?y:2e6;b=new Dr(h,u,y,x)}l.push(b)},c=h=>{if(h.length<o||h.type!=We.Text)return;let u=Vy(h.from,h.to,this.stateDeco);if(u.total<o)return;let d=this.scrollTarget?this.scrollTarget.range.head:null,f,p;if(i){let g=r/this.heightOracle.lineLength*this.heightOracle.lineHeight,b,y;if(d!=null){let x=js(u,d),C=((this.visibleBottom-this.visibleTop)/2+g)/h.height;b=x-C,y=x+C}else b=(this.visibleTop-h.top-g)/h.height,y=(this.visibleBottom-h.top+g)/h.height;f=Ks(u,b),p=Ks(u,y)}else{let g=u.total*this.heightOracle.charWidth,b=r*this.heightOracle.charWidth,y=0;if(g>2e6)for(let A of e)A.from>=h.from&&A.from<h.to&&A.size!=A.displaySize&&A.from*this.heightOracle.charWidth+y<this.pixelViewport.left&&(y=A.size-A.displaySize);let x=this.pixelViewport.left+y,C=this.pixelViewport.right+y,_,S;if(d!=null){let A=js(u,d),k=((C-x)/2+b)/g;_=A-k,S=A+k}else _=(x-b)/g,S=(C+b)/g;f=Ks(u,_),p=Ks(u,S)}f>h.from&&a(h.from,f,h,u),p<h.to&&a(p,h.to,h,u)};for(let h of this.viewportLines)Array.isArray(h.type)?h.type.forEach(c):c(h);return l}gapSize(e,t,i,r){let s=js(r,i)-js(r,t);return this.heightOracle.lineWrapping?e.height*s:r.total*this.heightOracle.charWidth*s}updateLineGaps(e){Dr.same(e,this.lineGaps)||(this.lineGaps=e,this.lineGapDeco=me.set(e.map(t=>t.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let t=this.stateDeco;this.lineGaps.length&&(t=t.concat(this.lineGapDeco));let i=[];he.spans(t,this.viewport.from,this.viewport.to,{span(s,o){i.push({from:s,to:o})},point(){}},20);let r=0;if(i.length!=this.visibleRanges.length)r=12;else for(let s=0;s<i.length&&!(r&8);s++){let o=this.visibleRanges[s],l=i[s];(o.from!=l.from||o.to!=l.to)&&(r|=4,e&&e.mapPos(o.from,-1)==l.from&&e.mapPos(o.to,1)==l.to||(r|=8))}return this.visibleRanges=i,r}lineBlockAt(e){return e>=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(t=>t.from<=e&&t.to>=e)||xr(this.heightMap.lineAt(e,pe.ByPos,this.heightOracle,0,0),this.scaler)}lineBlockAtHeight(e){return e>=this.viewportLines[0].top&&e<=this.viewportLines[this.viewportLines.length-1].bottom&&this.viewportLines.find(t=>t.top<=e&&t.bottom>=e)||xr(this.heightMap.lineAt(this.scaler.fromDOM(e),pe.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop*this.scaleY:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top}scrollAnchorAt(e){let t=this.lineBlockAtHeight(e+8);return t.from>=this.viewport.from||this.viewportLines[0].top-e>200?t:this.viewportLines[0]}elementAtHeight(e){return xr(this.heightMap.blockAt(this.scaler.fromDOM(e),this.heightOracle,0,0),this.scaler)}get docHeight(){return this.scaler.toDOM(this.heightMap.height)}get contentHeight(){return this.docHeight+this.paddingTop+this.paddingBottom}},Bi=class{constructor(e,t){this.from=e,this.to=t}};function Vy(n,e,t){let i=[],r=n,s=0;return he.spans(t,n,e,{span(){},point(o,l){o>r&&(i.push({from:r,to:o}),s+=o-r),r=l}},20),r<e&&(i.push({from:r,to:e}),s+=e-r),{total:s,ranges:i}}function Ks({total:n,ranges:e},t){if(t<=0)return e[0].from;if(t>=1)return e[e.length-1].to;let i=Math.floor(n*t);for(let r=0;;r++){let{from:s,to:o}=e[r],l=o-s;if(i<=l)return s+i;i-=l}}function js(n,e){let t=0;for(let{from:i,to:r}of n.ranges){if(e<=r){t+=e-i;break}t+=r-i}return t/n.total}function $y(n,e){for(let t of n)if(e(t))return t}var Zd={toDOM(n){return n},fromDOM(n){return n},scale:1,eq(n){return n==this}};function Qd(n){let e=n.facet(mo).filter(i=>typeof i!="function"),t=n.facet(oc).filter(i=>typeof i!="function");return t.length&&e.push(he.join(t)),e}var Va=class n{constructor(e,t,i){let r=0,s=0,o=0;this.viewports=i.map(({from:l,to:a})=>{let c=t.lineAt(l,pe.ByPos,e,0,0).top,h=t.lineAt(a,pe.ByPos,e,0,0).bottom;return r+=h-c,{from:l,to:a,top:c,bottom:h,domTop:0,domBottom:0}}),this.scale=(7e6-r)/(t.height-r);for(let l of this.viewports)l.domTop=o+(l.top-s)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),s=l.bottom}toDOM(e){for(let t=0,i=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.top)return r+(e-i)*this.scale;if(e<=s.bottom)return s.domTop+(e-s.top);i=s.bottom,r=s.domBottom}}fromDOM(e){for(let t=0,i=0,r=0;;t++){let s=t<this.viewports.length?this.viewports[t]:null;if(!s||e<s.domTop)return i+(e-r)/this.scale;if(e<=s.domBottom)return s.top+(e-s.domTop);i=s.bottom,r=s.domBottom}}eq(e){return e instanceof n?this.scale==e.scale&&this.viewports.length==e.viewports.length&&this.viewports.every((t,i)=>t.from==e.viewports[i].from&&t.to==e.viewports[i].to):!1}};function xr(n,e){if(e.scale==1)return n;let t=e.toDOM(n.top),i=e.toDOM(n.bottom);return new Rt(n.from,n.length,t,i-t,Array.isArray(n._content)?n._content.map(r=>xr(r,e)):n._content)}var Gs=U.define({combine:n=>n.join(" ")}),$a=U.define({combine:n=>n.indexOf(!0)>-1}),Ua=xt.newName(),ep=xt.newName(),tp=xt.newName(),np={"&light":"."+ep,"&dark":"."+tp};function Ka(n,e,t){return new xt(e,{finish(i){return/&/.test(i)?i.replace(/&\w*/,r=>{if(r=="&")return n;if(!t||!t[r])throw new RangeError(`Unsupported selector: ${r}`);return t[r]}):n+" "+i}})}var Uy=Ka("."+Ua,{"&":{position:"relative !important",boxSizing:"border-box","&.cm-focused":{outline:"1px dotted #212121"},display:"flex !important",flexDirection:"column"},".cm-scroller":{display:"flex !important",alignItems:"flex-start !important",fontFamily:"monospace",lineHeight:1.4,height:"100%",overflowX:"auto",position:"relative",zIndex:0,overflowAnchor:"none"},".cm-content":{margin:0,flexGrow:2,flexShrink:0,display:"block",whiteSpace:"pre",wordWrap:"normal",boxSizing:"border-box",minHeight:"100%",padding:"4px 0",outline:"none","&[contenteditable=true]":{WebkitUserModify:"read-write-plaintext-only"}},".cm-lineWrapping":{whiteSpace_fallback:"pre-wrap",whiteSpace:"break-spaces",wordBreak:"break-word",overflowWrap:"anywhere",flexShrink:1},"&light .cm-content":{caretColor:"black"},"&dark .cm-content":{caretColor:"white"},".cm-line":{display:"block",padding:"0 2px 0 6px"},".cm-layer":{userSelect:"none",position:"absolute",left:0,top:0,contain:"size style","& > *":{position:"absolute"}},"&light .cm-selectionBackground":{background:"#d9d9d9"},"&dark .cm-selectionBackground":{background:"#222"},"&light.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#d7d4f0"},"&dark.cm-focused > .cm-scroller > .cm-selectionLayer .cm-selectionBackground":{background:"#233"},".cm-cursorLayer":{pointerEvents:"none"},"&.cm-focused > .cm-scroller > .cm-cursorLayer":{animation:"steps(1) cm-blink 1.2s infinite"},"@keyframes cm-blink":{"0%":{},"50%":{opacity:0},"100%":{}},"@keyframes cm-blink2":{"0%":{},"50%":{opacity:0},"100%":{}},".cm-cursor, .cm-dropCursor":{borderLeft:"1.2px solid black",marginLeft:"-0.6px",pointerEvents:"none"},".cm-cursor":{display:"none"},"&dark .cm-cursor":{borderLeftColor:"#ddd"},".cm-selectionHandle":{backgroundColor:"currentColor",width:"1.5px"},".cm-selectionHandle-start::before, .cm-selectionHandle-end::before":{content:'""',backgroundColor:"inherit",borderRadius:"50%",width:"8px",height:"8px",position:"absolute",left:"-3.25px"},".cm-selectionHandle-start::before":{top:"-8px"},".cm-selectionHandle-end::before":{bottom:"-8px"},".cm-dropCursor":{position:"absolute"},"&.cm-focused > .cm-scroller > .cm-cursorLayer .cm-cursor":{display:"block"},".cm-iso":{unicodeBidi:"isolate"},".cm-announced":{position:"fixed",top:"-10000px"},"@media print":{".cm-announced":{display:"none"}},"&light .cm-activeLine":{backgroundColor:"#cceeff44"},"&dark .cm-activeLine":{backgroundColor:"#99eeff33"},"&light .cm-specialChar":{color:"red"},"&dark .cm-specialChar":{color:"#f78"},".cm-gutters":{flexShrink:0,display:"flex",height:"100%",boxSizing:"border-box",zIndex:200},".cm-gutters-before":{insetInlineStart:0},".cm-gutters-after":{insetInlineEnd:0},"&light .cm-gutters":{backgroundColor:"#f5f5f5",color:"#6c6c6c",border:"0px solid #ddd","&.cm-gutters-before":{borderRightWidth:"1px"},"&.cm-gutters-after":{borderLeftWidth:"1px"}},"&dark .cm-gutters":{backgroundColor:"#333338",color:"#ccc"},".cm-gutter":{display:"flex !important",flexDirection:"column",flexShrink:0,boxSizing:"border-box",minHeight:"100%",overflow:"hidden"},".cm-gutterElement":{boxSizing:"border-box"},".cm-lineNumbers .cm-gutterElement":{padding:"0 3px 0 5px",minWidth:"20px",textAlign:"right",whiteSpace:"nowrap"},"&light .cm-activeLineGutter":{backgroundColor:"#e2f2ff"},"&dark .cm-activeLineGutter":{backgroundColor:"#222227"},".cm-panels":{boxSizing:"border-box",position:"sticky",left:0,right:0,zIndex:300},"&light .cm-panels":{backgroundColor:"#f5f5f5",color:"black"},".cm-panels-top":{top:"0"},".cm-panels-bottom":{bottom:"0"},"&light .cm-panels-top":{borderBottom:"1px solid #ddd"},"&light .cm-panels-bottom":{borderTop:"1px solid #ddd"},"&dark .cm-panels":{backgroundColor:"#333338",color:"white"},".cm-dialog":{padding:"2px 19px 4px 6px",position:"relative","& label":{fontSize:"80%"}},".cm-dialog-close":{position:"absolute",top:"3px",right:"4px",backgroundColor:"inherit",border:"none",font:"inherit",fontSize:"14px",padding:"0"},".cm-tab":{display:"inline-block",overflow:"hidden",verticalAlign:"bottom"},".cm-widgetBuffer":{verticalAlign:"text-top",height:"1em",width:0,display:"inline"},".cm-placeholder":{color:"#888",display:"inline-block",verticalAlign:"top",userSelect:"none"},".cm-highlightSpace":{background:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 0) no-repeat",backgroundSize:".4em",backgroundPosition:"calc(min(50%, 0px)) center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,<svg xmlns="http://www.w3.org/2000/svg" width="200" height="20"><path stroke="%23888" stroke-width="1" fill="none" d="M1 10H196L190 5M190 15L196 10M197 4L197 16"/></svg>')`,backgroundSize:"auto 100%",backgroundPosition:"right 90%",backgroundRepeat:"no-repeat"},".cm-trailingSpace":{backgroundColor:"#ff332255"},".cm-button":{verticalAlign:"middle",color:"inherit",fontSize:"70%",padding:".2em 1em",borderRadius:"1px"},"&light .cm-button":{backgroundImage:"linear-gradient(#eff1f5, #d9d9df)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#b4b4b4, #d0d3d6)"}},"&dark .cm-button":{backgroundImage:"linear-gradient(#393939, #111)",border:"1px solid #888","&:active":{backgroundImage:"linear-gradient(#111, #333)"}},".cm-textfield":{verticalAlign:"middle",color:"inherit",fontSize:"70%",border:"1px solid silver",padding:".2em .5em"},"&light .cm-textfield":{backgroundColor:"white"},"&dark .cm-textfield":{border:"1px solid #555",backgroundColor:"inherit"}},np),Ky={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},aa=O.ie&&O.ie_version<=11,ja=class{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new ma,this.selectionChanged=!1,this.delayedFlush=-1,this.resizeTimeout=-1,this.queue=[],this.delayedAndroidKey=null,this.flushingAndroidKey=-1,this.lastChange=0,this.scrollTargets=[],this.intersection=null,this.resizeScroll=null,this.intersecting=!1,this.gapIntersection=null,this.gaps=[],this.printQuery=null,this.parentCheck=-1,this.dom=e.contentDOM,this.observer=new MutationObserver(t=>{for(let i of t)this.queue.push(i);(O.ie&&O.ie_version<=11||O.ios&&e.composing)&&t.some(i=>i.type=="childList"&&i.removedNodes.length||i.type=="characterData"&&i.oldValue.length>i.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&O.android&&e.constructor.EDIT_CONTEXT!==!1&&!(O.chrome&&O.chrome_version<126)&&(this.editContext=new Ga(e),e.state.facet(fn)&&(e.contentDOM.editContext=this.editContext.editContext)),aa&&(this.onCharData=t=>{this.queue.push({target:t.target,type:"characterData",oldValue:t.prevValue}),this.flushSoon()}),this.onSelectionChange=this.onSelectionChange.bind(this),this.onResize=this.onResize.bind(this),this.onPrint=this.onPrint.bind(this),this.onScroll=this.onScroll.bind(this),window.matchMedia&&(this.printQuery=window.matchMedia("print")),typeof ResizeObserver=="function"&&(this.resizeScroll=new ResizeObserver(()=>{var t;((t=this.view.docView)===null||t===void 0?void 0:t.lastUpdate)<Date.now()-75&&this.onResize()}),this.resizeScroll.observe(e.scrollDOM)),this.addWindowListeners(this.win=e.win),this.start(),typeof IntersectionObserver=="function"&&(this.intersection=new IntersectionObserver(t=>{this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),t.length>0&&t[t.length-1].intersectionRatio>0!=this.intersecting&&(this.intersecting=!this.intersecting,this.intersecting!=this.view.inView&&this.onScrollChanged(document.createEvent("Event")))},{threshold:[0,.001]}),this.intersection.observe(this.dom),this.gapIntersection=new IntersectionObserver(t=>{t.length>0&&t[t.length-1].intersectionRatio>0&&this.onScrollChanged(document.createEvent("Event"))},{})),this.listenForScroll(),this.readSelectionRange()}onScrollChanged(e){this.view.inputState.runHandlers("scroll",e),this.intersecting&&this.view.measure()}onScroll(e){this.intersecting&&this.flush(!1),this.editContext&&this.view.requestMeasure(this.editContext.measureReq),this.onScrollChanged(e)}onResize(){this.resizeTimeout<0&&(this.resizeTimeout=setTimeout(()=>{this.resizeTimeout=-1,this.view.requestMeasure()},50))}onPrint(e){(e.type=="change"||!e.type)&&!e.matches||(this.view.viewState.printing=!0,this.view.measure(),setTimeout(()=>{this.view.viewState.printing=!1,this.view.requestMeasure()},500))}updateGaps(e){if(this.gapIntersection&&(e.length!=this.gaps.length||this.gaps.some((t,i)=>t!=e[i]))){this.gapIntersection.disconnect();for(let t of e)this.gapIntersection.observe(t);this.gaps=e}}onSelectionChange(e){let t=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:i}=this,r=this.selectionRange;if(i.state.facet(fn)?i.root.activeElement!=this.dom:!kr(this.dom,r))return;let s=r.anchorNode&&i.docView.tile.nearest(r.anchorNode);if(s&&s.isWidget()&&s.widget.ignoreEvent(e)){t||(this.selectionChanged=!1);return}(O.ie&&O.ie_version<=11||O.android&&O.chrome)&&!i.state.selection.main.empty&&r.focusNode&&Cr(r.focusNode,r.focusOffset,r.anchorNode,r.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,t=Pr(e.root);if(!t)return!1;let i=O.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&jy(this.view,t)||t;if(!i||this.selectionRange.eq(i))return!1;let r=kr(this.dom,i);return r&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime<Date.now()-300&&zb(this.dom,i)?(this.view.inputState.lastFocusTime=0,e.docView.updateSelection(),!1):(this.selectionRange.setRange(i),r&&(this.selectionChanged=!0),!0)}setSelectionRange(e,t){this.selectionRange.set(e.node,e.offset,t.node,t.offset),this.selectionChanged=!1}clearSelectionRange(){this.selectionRange.set(null,0,null,0)}listenForScroll(){this.parentCheck=-1;let e=0,t=null;for(let i=this.dom;i;)if(i.nodeType==1)!t&&e<this.scrollTargets.length&&this.scrollTargets[e]==i?e++:t||(t=this.scrollTargets.slice(0,e)),t&&t.push(i),i=i.assignedSlot||i.parentNode;else if(i.nodeType==11)i=i.host;else break;if(e<this.scrollTargets.length&&!t&&(t=this.scrollTargets.slice(0,e)),t){for(let i of this.scrollTargets)i.removeEventListener("scroll",this.onScroll);for(let i of this.scrollTargets=t)i.addEventListener("scroll",this.onScroll)}}ignore(e){if(!this.active)return e();try{return this.stop(),e()}finally{this.start(),this.clear()}}start(){this.active||(this.observer.observe(this.dom,Ky),aa&&this.dom.addEventListener("DOMCharacterDataModified",this.onCharData),this.active=!0)}stop(){this.active&&(this.active=!1,this.observer.disconnect(),aa&&this.dom.removeEventListener("DOMCharacterDataModified",this.onCharData))}clear(){this.processRecords(),this.queue.length=0,this.selectionChanged=!1}delayAndroidKey(e,t){var i;if(!this.delayedAndroidKey){let r=()=>{let s=this.delayedAndroidKey;s&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=s.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&s.force&&Fi(this.dom,s.key,s.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(r)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:t,force:this.lastChange<Date.now()-50||!!(!((i=this.delayedAndroidKey)===null||i===void 0)&&i.force)})}clearDelayedAndroidKey(){this.win.cancelAnimationFrame(this.flushingAndroidKey),this.delayedAndroidKey=null,this.flushingAndroidKey=-1}flushSoon(){this.delayedFlush<0&&(this.delayedFlush=this.view.win.requestAnimationFrame(()=>{this.delayedFlush=-1,this.flush()}))}forceFlush(){this.delayedFlush>=0&&(this.view.win.cancelAnimationFrame(this.delayedFlush),this.delayedFlush=-1),this.flush()}pendingRecords(){for(let e of this.observer.takeRecords())this.queue.push(e);return this.queue}processRecords(){let e=this.pendingRecords();e.length&&(this.queue=[]);let t=-1,i=-1,r=!1;for(let s of e){let o=this.readMutation(s);o&&(o.typeOver&&(r=!0),t==-1?{from:t,to:i}=o:(t=Math.min(o.from,t),i=Math.max(o.to,i)))}return{from:t,to:i,typeOver:r}}readChange(){let{from:e,to:t,typeOver:i}=this.processRecords(),r=this.selectionChanged&&kr(this.dom,this.selectionRange);if(e<0&&!r)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let s=new Oa(this.view,e,t,i);return this.view.docView.domChanged={newSel:s.newSel?s.newSel.main:null},s}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let t=this.readChange();if(!t)return this.view.requestMeasure(),!1;let i=this.view.state,r=Uf(this.view,t);return this.view.state==i&&(t.domChanged||t.newSel&&!oo(this.view.state.selection,t.newSel.main))&&this.view.update([]),r}readMutation(e){let t=this.view.docView.tile.nearest(e.target);if(!t||t.isWidget())return null;if(t.markDirty(e.type=="attributes"),e.type=="childList"){let i=ef(t,e.previousSibling||e.target.previousSibling,-1),r=ef(t,e.nextSibling||e.target.nextSibling,1);return{from:i?t.posAfter(i):t.posAtStart,to:r?t.posBefore(r):t.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:t.posAtStart,to:t.posAtEnd,typeOver:e.target.nodeValue==e.oldValue}:null}setWindow(e){e!=this.win&&(this.removeWindowListeners(this.win),this.win=e,this.addWindowListeners(this.win))}addWindowListeners(e){e.addEventListener("resize",this.onResize),this.printQuery?this.printQuery.addEventListener?this.printQuery.addEventListener("change",this.onPrint):this.printQuery.addListener(this.onPrint):e.addEventListener("beforeprint",this.onPrint),e.addEventListener("scroll",this.onScroll),e.document.addEventListener("selectionchange",this.onSelectionChange)}removeWindowListeners(e){e.removeEventListener("scroll",this.onScroll),e.removeEventListener("resize",this.onResize),this.printQuery?this.printQuery.removeEventListener?this.printQuery.removeEventListener("change",this.onPrint):this.printQuery.removeListener(this.onPrint):e.removeEventListener("beforeprint",this.onPrint),e.document.removeEventListener("selectionchange",this.onSelectionChange)}update(e){this.editContext&&(this.editContext.update(e),e.startState.facet(fn)!=e.state.facet(fn)&&(e.view.contentDOM.editContext=e.state.facet(fn)?this.editContext.editContext:null))}destroy(){var e,t,i;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(t=this.gapIntersection)===null||t===void 0||t.disconnect(),(i=this.resizeScroll)===null||i===void 0||i.disconnect();for(let r of this.scrollTargets)r.removeEventListener("scroll",this.onScroll);this.removeWindowListeners(this.win),clearTimeout(this.parentCheck),clearTimeout(this.resizeTimeout),this.win.cancelAnimationFrame(this.delayedFlush),this.win.cancelAnimationFrame(this.flushingAndroidKey),this.editContext&&(this.view.contentDOM.editContext=null,this.editContext.destroy())}};function ef(n,e,t){for(;e;){let i=ke.get(e);if(i&&i.parent==n)return i;let r=e.parentNode;e=r!=n.dom?r:t>0?e.nextSibling:e.previousSibling}return null}function tf(n,e){let t=e.startContainer,i=e.startOffset,r=e.endContainer,s=e.endOffset,o=n.docView.domAtPos(n.state.selection.main.anchor,1);return Cr(o.node,o.offset,r,s)&&([t,i,r,s]=[r,s,t,i]),{anchorNode:t,anchorOffset:i,focusNode:r,focusOffset:s}}function jy(n,e){if(e.getComposedRanges){let r=e.getComposedRanges(n.root)[0];if(r)return tf(n,r)}let t=null;function i(r){r.preventDefault(),r.stopImmediatePropagation(),t=r.getTargetRanges()[0]}return n.contentDOM.addEventListener("beforeinput",i,!0),n.dom.ownerDocument.execCommand("indent"),n.contentDOM.removeEventListener("beforeinput",i,!0),t?tf(n,t):null}var Ga=class{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let t=this.editContext=new window.EditContext({text:e.state.doc.sliceString(this.from,this.to),selectionStart:this.toContextPos(Math.max(this.from,Math.min(this.to,e.state.selection.main.anchor))),selectionEnd:this.toContextPos(e.state.selection.main.head)});this.handlers.textupdate=i=>{let r=e.state.selection.main,{anchor:s,head:o}=r,l=this.toEditorPos(i.updateRangeStart),a=this.toEditorPos(i.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:i.updateRangeStart,editorBase:l,drifted:!1});let c=a-l>i.text.length;l==this.from&&s<this.from?l=s:a==this.to&&s>this.to&&(a=s);let h=Kf(e.state.sliceDoc(l,a),i.text,(c?r.from:r.to)-l,c?"end":null);if(!h){let d=D.single(this.toEditorPos(i.selectionStart),this.toEditorPos(i.selectionEnd));oo(d,r)||e.dispatch({selection:d,userEvent:"select"});return}let u={from:h.from+l,to:h.toA+l,insert:ee.of(i.text.slice(h.from,h.toB).split(`
|
|
583
|
+
`))};if((O.mac||O.android)&&u.from==o-1&&/^\. ?$/.test(i.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:l,to:a,insert:ee.of([i.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let d=this.to-this.from+(u.to-u.from+u.insert.length);lc(e,u,D.single(this.toEditorPos(i.selectionStart,d),this.toEditorPos(i.selectionEnd,d)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from<u.to&&!u.insert.length&&e.inputState.composing>=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(t.text.slice(Math.max(0,i.updateRangeStart-1),Math.min(t.text.length,i.updateRangeStart+1)))&&this.handlers.compositionend(i)},this.handlers.characterboundsupdate=i=>{let r=[],s=null;for(let o=this.toEditorPos(i.rangeStart),l=this.toEditorPos(i.rangeEnd);o<l;o++){let a=e.coordsForChar(o);s=a&&new DOMRect(a.left,a.top,a.right-a.left,a.bottom-a.top)||s||new DOMRect,r.push(s)}t.updateCharacterBounds(i.rangeStart,r)},this.handlers.textformatupdate=i=>{let r=[];for(let s of i.getTextFormats()){let o=s.underlineStyle,l=s.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(l)){let a=this.toEditorPos(s.rangeStart),c=this.toEditorPos(s.rangeEnd);if(a<c){let h=`text-decoration: underline ${/^[a-z]/.test(o)?o+" ":o=="Dashed"?"dashed ":o=="Squiggle"?"wavy ":""}${/thin/i.test(l)?1:2}px`;r.push(me.mark({attributes:{style:h}}).range(a,c))}}}e.dispatch({effects:If.of(me.set(r))})},this.handlers.compositionstart=()=>{e.inputState.composing<0&&(e.inputState.composing=0,e.inputState.compositionFirstChange=!0)},this.handlers.compositionend=()=>{if(e.inputState.composing=-1,e.inputState.compositionFirstChange=null,this.composing){let{drifted:i}=this.composing;this.composing=null,i&&this.reset(e.state)}};for(let i in this.handlers)t.addEventListener(i,this.handlers[i]);this.measureReq={read:i=>{let r=Pr(i.root);r&&r.rangeCount&&this.editContext.updateSelectionBounds(r.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let t=0,i=!1,r=this.pendingContextChange;return e.changes.iterChanges((s,o,l,a,c)=>{if(i)return;let h=c.length-(o-s);if(r&&o>=r.to)if(r.from==s&&r.to==o&&r.insert.eq(c)){r=this.pendingContextChange=null,t+=h,this.to+=h;return}else r=null,this.revertPending(e.state);if(s+=t,o+=t,o<=this.from)this.from+=h,this.to+=h;else if(s<this.to){if(s<this.from||o>this.to||this.to-this.from+c.length>3e4){i=!0;return}this.editContext.updateText(this.toContextPos(s),this.toContextPos(o),c.toString()),this.to+=h}t+=h}),r&&!i&&this.revertPending(e.state),!i}update(e){let t=this.pendingContextChange,i=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(i.from,i.to)&&e.transactions.some(r=>!r.isUserEvent("input.type")&&r.changes.touchesRange(this.from,this.to)))?(this.composing.drifted=!0,this.composing.editorBase=e.changes.mapPos(this.composing.editorBase)):!this.applyEdits(e)||!this.rangeIsValid(e.state)?(this.pendingContextChange=null,this.reset(e.state)):(e.docChanged||e.selectionSet||t)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:t}=e.selection.main;this.from=Math.max(0,t-1e4),this.to=Math.min(e.doc.length,t+1e4)}reset(e){this.resetRange(e),this.editContext.updateText(0,this.editContext.text.length,e.doc.sliceString(this.from,this.to)),this.setSelection(e)}revertPending(e){let t=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(t.from),this.toContextPos(t.from+t.insert.length),e.doc.sliceString(t.from,t.to))}setSelection(e){let{main:t}=e.selection,i=this.toContextPos(Math.max(this.from,Math.min(this.to,t.anchor))),r=this.toContextPos(t.head);(this.editContext.selectionStart!=i||this.editContext.selectionEnd!=r)&&this.editContext.updateSelection(i,r)}rangeIsValid(e){let{head:t}=e.selection.main;return!(this.from>0&&t-this.from<500||this.to<e.doc.length&&this.to-t<500||this.to-this.from>1e4*3)}toEditorPos(e,t=this.to-this.from){e=Math.min(e,t);let i=this.composing;return i&&i.drifted?i.editorBase+(e-i.contextBase):e+this.from}toContextPos(e){let t=this.composing;return t&&t.drifted?t.contextBase+(e-t.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}},j=class n{get state(){return this.viewState.state}get viewport(){return this.viewState.viewport}get visibleRanges(){return this.viewState.visibleRanges}get inView(){return this.viewState.inView}get composing(){return!!this.inputState&&this.inputState.composing>0}get compositionStarted(){return!!this.inputState&&this.inputState.composing>=0}get root(){return this._root}get win(){return this.dom.ownerDocument.defaultView||window}constructor(e={}){var t;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],this.clearAnnouncement=-1,this.contentDOM=document.createElement("div"),this.scrollDOM=document.createElement("div"),this.scrollDOM.tabIndex=-1,this.scrollDOM.className="cm-scroller",this.scrollDOM.appendChild(this.contentDOM),this.announceDOM=document.createElement("div"),this.announceDOM.className="cm-announced",this.announceDOM.setAttribute("aria-live","polite"),this.dom=document.createElement("div"),this.dom.appendChild(this.announceDOM),this.dom.appendChild(this.scrollDOM),e.parent&&e.parent.appendChild(this.dom);let{dispatch:i}=e;this.dispatchTransactions=e.dispatchTransactions||i&&(r=>r.forEach(s=>i(s,this)))||(r=>this.update(r)),this.dispatch=this.dispatch.bind(this),this._root=e.root||Fb(e.parent)||document,this.viewState=new co(this,e.state||ve.create(e)),e.scrollTo&&e.scrollTo.is(Vs)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(Ni).map(r=>new Ar(r));for(let r of this.plugins)r.update(this);this.observer=new ja(this),this.inputState=new Pa(this),this.inputState.ensureHandlers(this.plugins),this.docView=new ro(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((t=document.fonts)===null||t===void 0)&&t.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let t=e.length==1&&e[0]instanceof De?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(t,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let t=!1,i=!1,r,s=this.state;for(let d of e){if(d.startState!=s)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");s=d.state}if(this.destroyed){this.viewState.state=s;return}let o=this.hasFocus,l=0,a=null;e.some(d=>d.annotation(Jf))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,a=Zf(s,o),a||(l=1));let c=this.observer.delayedAndroidKey,h=null;if(c?(this.observer.clearDelayedAndroidKey(),h=this.observer.readChange(),(h&&!this.state.doc.eq(s.doc)||!this.state.selection.eq(s.selection))&&(h=null)):this.observer.clear(),s.facet(ve.phrases)!=this.state.facet(ve.phrases))return this.setState(s);r=no.create(this,s,e),r.flags|=l;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let d of e){if(u&&(u=u.map(d.changes)),d.scrollIntoView){let{main:f}=d.state.selection,{x:p,y:g}=this.state.facet(n.cursorScrollMargin);u=new Tr(f.empty?f:D.cursor(f.head,f.head>f.anchor?-1:1),"nearest","nearest",g,p)}for(let f of d.effects)f.is(Vs)&&(u=f.value.clip(this.state))}this.viewState.update(r,u),this.bidiCache=ho.update(this.bidiCache,r.changes),r.empty||(this.updatePlugins(r),this.inputState.update(r)),t=this.docView.update(r),this.state.facet(wr)!=this.styleModules&&this.mountStyles(),i=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(t,e.some(d=>d.isUserEvent("select.pointer")))}finally{this.updateState=0}if(r.startState.facet(Gs)!=r.state.facet(Gs)&&(this.viewState.mustMeasureContent=!0),(t||i||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),t&&this.docViewUpdate(),!r.empty)for(let d of this.state.facet(wa))try{d(r)}catch(f){Lt(this.state,f,"update listener")}(a||h)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),h&&!Uf(this,h)&&c.force&&Fi(this.contentDOM,c.key,c.keyCode)})}setState(e){if(this.updateState!=0)throw new Error("Calls to EditorView.setState are not allowed while an update is in progress");if(this.destroyed){this.viewState.state=e;return}this.updateState=2;let t=this.hasFocus;try{for(let i of this.plugins)i.destroy(this);this.viewState=new co(this,e),this.plugins=e.facet(Ni).map(i=>new Ar(i)),this.pluginMap.clear();for(let i of this.plugins)i.update(this);this.docView.destroy(),this.docView=new ro(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}t&&this.focus(),this.requestMeasure()}updatePlugins(e){let t=e.startState.facet(Ni),i=e.state.facet(Ni);if(t!=i){let r=[];for(let s of i){let o=t.indexOf(s);if(o<0)r.push(new Ar(s));else{let l=this.plugins[o];l.mustUpdate=e,r.push(l)}}for(let s of this.plugins)s.mustUpdate!=e&&s.destroy(this);this.plugins=r,this.pluginMap.clear()}else for(let r of this.plugins)r.mustUpdate=e;for(let r=0;r<this.plugins.length;r++)this.plugins[r].update(this);t!=i&&this.inputState.ensureHandlers(this.plugins)}docViewUpdate(){for(let e of this.plugins){let t=e.value;if(t&&t.docViewUpdate)try{t.docViewUpdate(this)}catch(i){Lt(this.state,i,"doc view update listener")}}}measure(e=!0){if(this.destroyed)return;if(this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let t=null,i=this.viewState.scrollParent,r=this.viewState.getScrollOffset(),{scrollAnchorPos:s,scrollAnchorHeight:o,scaleY:l}=this.viewState;Math.abs(r-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let a=0;;a++){if(o<0){if(bf(i||this.win))s=-1,o=this.viewState.heightMap.height/this.viewState.scaleY;else{let p=this.viewState.scrollAnchorAt(r);s=p.from,o=p.top}l=this.viewState.scaleY}this.updateState=1;let c=this.viewState.measure();if(!c&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(a>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];c&4||([this.measureRequests,h]=[h,this.measureRequests]);let u=h.map(p=>{try{return p.read(this)}catch(g){return Lt(this.state,g),nf}}),d=no.create(this,this.state,[]),f=!1;d.flags|=c,t?t.flags|=c:t=d,this.updateState=2,d.empty||(this.updatePlugins(d),this.inputState.update(d),this.updateAttrs(),f=this.docView.update(d),f&&this.docViewUpdate());for(let p=0;p<h.length;p++)if(u[p]!=nf)try{let g=h[p];g.write&&g.write(u[p],this)}catch(g){Lt(this.state,g)}if(f&&this.docView.updateSelection(!0),!d.viewportChanged&&this.measureRequests.length==0){if(this.viewState.editorHeight)if(this.viewState.scrollTarget){this.docView.scrollIntoView(this.viewState.scrollTarget),this.viewState.scrollTarget=null,o=-1;continue}else{let g=(s<0?this.viewState.heightMap.height:this.viewState.lineBlockAt(s).top)/this.viewState.scaleY-o/l;if((g>1||g<-1)&&!(O.ios&&this.inputState.lastIOSMomentumScroll>Date.now()-100)&&(i==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){r=r+g,i?s<0?i.scrollTop=i.scrollHeight:i.scrollTop+=g:this.win.scrollBy(0,g),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(t&&!t.empty)for(let a of this.state.facet(wa))a(t)}get themeClasses(){return Ua+" "+(this.state.facet($a)?tp:ep)+" "+this.state.facet(Gs)}updateAttrs(){let e=rf(this,Nf,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),t={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(fn)?"true":"false",class:"cm-content",style:`${O.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(t["aria-readonly"]="true"),rf(this,sc,t);let i=this.observer.ignore(()=>{let r=Nd(this.contentDOM,this.contentAttrs,t),s=Nd(this.dom,this.editorAttrs,e);return r||s});return this.editorAttrs=e,this.contentAttrs=t,i}showAnnouncements(e){let t=!0;for(let i of e)for(let r of i.effects)if(r.is(n.announce)){t&&(this.announceDOM.textContent="",this.win.clearTimeout(this.clearAnnouncement),this.clearAnnouncement=this.win.setTimeout(()=>{this.announceDOM.textContent="\xA0"},200),t=!1);let s=this.announceDOM.appendChild(document.createElement("div"));s.textContent=r.value}}mountStyles(){this.styleModules=this.state.facet(wr);let e=this.state.facet(n.cspNonce);xt.mount(this.root,this.styleModules.concat(Uy).reverse(),e?{nonce:e}:void 0)}readMeasured(){if(this.updateState==2)throw new Error("Reading the editor layout isn't allowed during an update");this.updateState==0&&this.measureScheduled>-1&&this.measure(!1)}requestMeasure(e){if(this.measureScheduled<0&&(this.measureScheduled=this.win.requestAnimationFrame(()=>this.measure())),e){if(this.measureRequests.indexOf(e)>-1)return;if(e.key!=null){for(let t=0;t<this.measureRequests.length;t++)if(this.measureRequests[t].key===e.key){this.measureRequests[t]=e;return}}this.measureRequests.push(e)}}plugin(e){let t=this.pluginMap.get(e);return(t===void 0||t&&t.plugin!=e)&&this.pluginMap.set(e,t=this.plugins.find(i=>i.plugin==e)||null),t&&t.update(this).value}get documentTop(){return this.contentDOM.getBoundingClientRect().top+this.viewState.paddingTop}get documentPadding(){return{top:this.viewState.paddingTop,bottom:this.viewState.paddingBottom}}get scaleX(){return this.viewState.scaleX}get scaleY(){return this.viewState.scaleY}elementAtHeight(e){return this.readMeasured(),this.viewState.elementAtHeight(e)}lineBlockAtHeight(e){return this.readMeasured(),this.viewState.lineBlockAtHeight(e)}get viewportLineBlocks(){return this.viewState.viewportLines}lineBlockAt(e){return this.viewState.lineBlockAt(e)}get contentHeight(){return this.viewState.contentHeight}moveByChar(e,t,i){return la(this,e,Wd(this,e,t,i))}moveByGroup(e,t){return la(this,e,Wd(this,e,t,i=>py(this,e.head,i)))}visualLineSide(e,t){let i=this.bidiSpans(e),r=this.textDirectionAt(e.from),s=i[t?i.length-1:0];return D.cursor(s.side(t,r)+e.from,s.forward(!t,r)?1:-1)}moveToLineBoundary(e,t,i=!0){return fy(this,e,t,i)}moveVertically(e,t,i){return la(this,e,my(this,e,t,i))}domAtPos(e,t=1){return this.docView.domAtPos(e,t)}posAtDOM(e,t=0){return this.docView.posFromDOM(e,t)}posAtCoords(e,t=!0){this.readMeasured();let i=Da(this,e,t);return i&&i.pos}posAndSideAtCoords(e,t=!0){return this.readMeasured(),Da(this,e,t)}coordsAtPos(e,t=1){this.readMeasured();let i=this.state.doc.lineAt(e),r=this.bidiSpans(i),s=r[St.find(r,e-i.from,-1,t)];return this.docView.coordsAt(e,t,s.dir==ge.RTL)}coordsForChar(e){return this.readMeasured(),this.docView.coordsForChar(e)}get defaultCharacterWidth(){return this.viewState.heightOracle.charWidth}get defaultLineHeight(){return this.viewState.heightOracle.lineHeight}get textDirection(){return this.viewState.defaultTextDirection}textDirectionAt(e){return!this.state.facet(Lf)||e<this.viewport.from||e>this.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Gy)return Sf(e.length);let t=this.textDirectionAt(e.from),i;for(let s of this.bidiCache)if(s.from==e.from&&s.dir==t&&(s.fresh||kf(s.isolates,i=Hd(this,e))))return s.order;i||(i=Hd(this,e));let r=Gb(e.text,t,i);return this.bidiCache.push(new ho(e.from,e.to,t,i,!0,r)),r}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||O.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{gf(this.contentDOM),this.docView.updateSelection()})}setRoot(e){this._root!=e&&(this._root=e,this.observer.setWindow((e.nodeType==9?e:e.ownerDocument).defaultView||window),this.mountStyles())}destroy(){this.root.activeElement==this.contentDOM&&this.contentDOM.blur();for(let e of this.plugins)e.destroy(this);this.plugins=[],this.inputState.destroy(),this.docView.destroy(),this.dom.remove(),this.observer.destroy(),this.win.clearTimeout(this.clearAnnouncement),this.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,t={}){var i,r,s,o;return Vs.of(new Tr(typeof e=="number"?D.cursor(e):e,(i=t.y)!==null&&i!==void 0?i:"nearest",(r=t.x)!==null&&r!==void 0?r:"nearest",(s=t.yMargin)!==null&&s!==void 0?s:5,(o=t.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:t}=this.scrollDOM,i=this.viewState.scrollAnchorAt(e);return Vs.of(new Tr(D.cursor(i.from),"start","start",i.top-e,t,!0))}setTabFocusMode(e){e==null?this.inputState.tabFocusMode=this.inputState.tabFocusMode<0?0:-1:typeof e=="boolean"?this.inputState.tabFocusMode=e?0:-1:this.inputState.tabFocusMode!=0&&(this.inputState.tabFocusMode=Date.now()+e)}static domEventHandlers(e){return Pt.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return Pt.define(()=>({}),{eventObservers:e})}static theme(e,t){let i=xt.newName(),r=[Gs.of(i),wr.of(Ka(`.${i}`,e))];return t&&t.dark&&r.push($a.of(!0)),r}static baseTheme(e){return yr.lowest(wr.of(Ka("."+Ua,e,np)))}static findFromDOM(e){var t;let i=e.querySelector(".cm-content"),r=i&&ke.get(i)||ke.get(e);return((t=r?.root)===null||t===void 0?void 0:t.view)||null}};j.styleModule=wr;j.inputHandler=Df;j.clipboardInputFilter=ic;j.clipboardOutputFilter=rc;j.scrollHandler=Pf;j.focusChangeEffect=Rf;j.perLineTextDirection=Lf;j.exceptionSink=Ef;j.updateListener=wa;j.editable=fn;j.mouseSelectionStyle=Mf;j.dragMovesSelection=Af;j.clickAddsSelectionRange=Tf;j.decorations=mo;j.blockWrappers=Bf;j.outerDecorations=oc;j.atomicRanges=Br;j.bidiIsolatedRanges=_f;j.cursorScrollMargin=U.define({combine:n=>{let e=5,t=5;for(let i of n)typeof i=="number"?e=t=i:{x:e,y:t}=i;return{x:e,y:t}}});j.scrollMargins=Hf;j.darkTheme=$a;j.cspNonce=U.define({combine:n=>n.length?n[0]:""});j.contentAttributes=sc;j.editorAttributes=Nf;j.lineWrapping=j.contentAttributes.of({class:"cm-lineWrapping"});j.announce=ye.define();var Gy=4096,nf={},ho=class n{constructor(e,t,i,r,s,o){this.from=e,this.to=t,this.dir=i,this.isolates=r,this.fresh=s,this.order=o}static update(e,t){if(t.empty&&!e.some(s=>s.fresh))return e;let i=[],r=e.length?e[e.length-1].dir:ge.LTR;for(let s=Math.max(0,e.length-10);s<e.length;s++){let o=e[s];o.dir==r&&!t.touchesRange(o.from,o.to)&&i.push(new n(t.mapPos(o.from,1),t.mapPos(o.to,-1),o.dir,o.isolates,!1,o.order))}return i}};function rf(n,e,t){for(let i=n.state.facet(e),r=i.length-1;r>=0;r--){let s=i[r],o=typeof s=="function"?s(n):s;o&&ec(o,t)}return t}var qy=O.mac?"mac":O.windows?"win":O.linux?"linux":"key";function Xy(n,e){let t=n.split(/-(?!$)/),i=t[t.length-1];i=="Space"&&(i=" ");let r,s,o,l;for(let a=0;a<t.length-1;++a){let c=t[a];if(/^(cmd|meta|m)$/i.test(c))l=!0;else if(/^a(lt)?$/i.test(c))r=!0;else if(/^(c|ctrl|control)$/i.test(c))s=!0;else if(/^s(hift)?$/i.test(c))o=!0;else if(/^mod$/i.test(c))e=="mac"?l=!0:s=!0;else throw new Error("Unrecognized modifier name: "+c)}return r&&(i="Alt-"+i),s&&(i="Ctrl-"+i),l&&(i="Meta-"+i),o&&(i="Shift-"+i),i}function qs(n,e,t){return e.altKey&&(n="Alt-"+n),e.ctrlKey&&(n="Ctrl-"+n),e.metaKey&&(n="Meta-"+n),t!==!1&&e.shiftKey&&(n="Shift-"+n),n}var Yy=yr.default(j.domEventHandlers({keydown(n,e){return ew(Jy(e.state),n,e,"editor")}})),ac=U.define({enables:Yy}),sf=new WeakMap;function Jy(n){let e=n.facet(ac),t=sf.get(e);return t||sf.set(e,t=Qy(e.reduce((i,r)=>i.concat(r),[]))),t}var Mn=null,Zy=4e3;function Qy(n,e=qy){let t=Object.create(null),i=Object.create(null),r=(o,l)=>{let a=i[o];if(a==null)i[o]=l;else if(a!=l)throw new Error("Key binding "+o+" is used both as a regular binding and as a multi-stroke prefix")},s=(o,l,a,c,h)=>{var u,d;let f=t[o]||(t[o]=Object.create(null)),p=l.split(/ (?!$)/).map(y=>Xy(y,e));for(let y=1;y<p.length;y++){let x=p.slice(0,y).join(" ");r(x,!0),f[x]||(f[x]={preventDefault:!0,stopPropagation:!1,run:[C=>{let _=Mn={view:C,prefix:x,scope:o};return setTimeout(()=>{Mn==_&&(Mn=null)},Zy),!0}]})}let g=p.join(" ");r(g,!1);let b=f[g]||(f[g]={preventDefault:!1,stopPropagation:!1,run:((d=(u=f._any)===null||u===void 0?void 0:u.run)===null||d===void 0?void 0:d.slice())||[]});a&&b.run.push(a),c&&(b.preventDefault=!0),h&&(b.stopPropagation=!0)};for(let o of n){let l=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let c of l){let h=t[c]||(t[c]=Object.create(null));h._any||(h._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=o;for(let d in h)h[d].run.push(f=>u(f,qa))}let a=o[e]||o.key;if(a)for(let c of l)s(c,a,o.run,o.preventDefault,o.stopPropagation),o.shift&&s(c,"Shift-"+a,o.shift,o.preventDefault,o.stopPropagation)}return t}var qa=null;function ew(n,e,t,i){qa=e;let r=Ld(e),s=md(r,0),o=gd(s)==r.length&&r!=" ",l="",a=!1,c=!1,h=!1;Mn&&Mn.view==t&&Mn.scope==i&&(l=Mn.prefix+" ",Gf.indexOf(e.keyCode)<0&&(c=!0,Mn=null));let u=new Set,d=b=>{if(b){for(let y of b.run)if(!u.has(y)&&(u.add(y),y(t)))return b.stopPropagation&&(h=!0),!0;b.preventDefault&&(b.stopPropagation&&(h=!0),c=!0)}return!1},f=n[i],p,g;return f&&(d(f[l+qs(r,e,!o)])?a=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(O.windows&&e.ctrlKey&&e.altKey)&&!(O.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=dn[e.keyCode])&&p!=r?(d(f[l+qs(p,e,!0)])||e.shiftKey&&(g=Pi[e.keyCode])!=r&&g!=p&&d(f[l+qs(g,e,!1)]))&&(a=!0):o&&e.shiftKey&&d(f[l+qs(r,e,!0)])&&(a=!0),!a&&d(f._any)&&(a=!0)),c&&(a=!0),a&&h&&e.stopPropagation(),qa=null,a}var ni=class n{constructor(e,t,i,r,s){this.className=e,this.left=t,this.top=i,this.width=r,this.height=s}draw(){let e=document.createElement("div");return e.className=this.className,this.adjust(e),e}update(e,t){return t.className!=this.className?!1:(this.adjust(e),!0)}adjust(e){e.style.left=this.left+"px",e.style.top=this.top+"px",this.width!=null&&(e.style.width=this.width+"px"),e.style.height=this.height+"px"}eq(e){return this.left==e.left&&this.top==e.top&&this.width==e.width&&this.height==e.height&&this.className==e.className}static forRange(e,t,i){if(i.empty){let r=e.coordsAtPos(i.head,i.assoc||1);if(!r)return[];let s=ip(e);return[new n(t,r.left-s.left,r.top-s.top,null,r.bottom-r.top)]}else return tw(e,t,i)}};function ip(n){let e=n.scrollDOM.getBoundingClientRect();return{left:(n.textDirection==ge.LTR?e.left:e.right-n.scrollDOM.clientWidth*n.scaleX)-n.scrollDOM.scrollLeft*n.scaleX,top:e.top-n.scrollDOM.scrollTop*n.scaleY}}function of(n,e,t,i){let r=n.coordsAtPos(e,t*2);if(!r)return i;let s=n.dom.getBoundingClientRect(),o=(r.top+r.bottom)/2,l=n.posAtCoords({x:s.left+1,y:o}),a=n.posAtCoords({x:s.right-1,y:o});return l==null||a==null?i:{from:Math.max(i.from,Math.min(l,a)),to:Math.min(i.to,Math.max(l,a))}}function tw(n,e,t){if(t.to<=n.viewport.from||t.from>=n.viewport.to)return[];let i=Math.max(t.from,n.viewport.from),r=Math.min(t.to,n.viewport.to),s=n.textDirection==ge.LTR,o=n.contentDOM,l=o.getBoundingClientRect(),a=ip(n),c=o.querySelector(".cm-line"),h=c&&window.getComputedStyle(c),u=l.left+(h?parseInt(h.paddingLeft)+Math.min(0,parseInt(h.textIndent)):0),d=l.right-(h?parseInt(h.paddingRight):0),f=Ea(n,i,1),p=Ea(n,r,-1),g=f.type==We.Text?f:null,b=p.type==We.Text?p:null;if(g&&(n.lineWrapping||f.widgetLineBreaks)&&(g=of(n,i,1,g)),b&&(n.lineWrapping||p.widgetLineBreaks)&&(b=of(n,r,-1,b)),g&&b&&g.from==b.from&&g.to==b.to)return x(C(t.from,t.to,g));{let S=g?C(t.from,null,g):_(f,!1),A=b?C(null,t.to,b):_(p,!0),k=[];return(g||f).to<(b||p).from-(g&&b?1:0)||f.widgetLineBreaks>1&&S.bottom+n.defaultLineHeight/2<A.top?k.push(y(u,S.bottom,d,A.top)):S.bottom<A.top&&n.elementAtHeight((S.bottom+A.top)/2).type==We.Text&&(S.bottom=A.top=(S.bottom+A.top)/2),x(S).concat(k).concat(x(A))}function y(S,A,k,N){return new ni(e,S-a.left,A-a.top,Math.max(0,k-S),N-A)}function x({top:S,bottom:A,horizontal:k}){let N=[];for(let B=0;B<k.length;B+=2)N.push(y(k[B],S,k[B+1],A));return N}function C(S,A,k){let N=1e9,B=-1e9,z=[];function V(W,q,te,He,ut){let xe=n.coordsAtPos(W,W==k.to?-2:2),Le=n.coordsAtPos(te,te==k.from?2:-2);!xe||!Le||(N=Math.min(xe.top,Le.top,N),B=Math.max(xe.bottom,Le.bottom,B),ut==ge.LTR?z.push(s&&q?u:xe.left,s&&He?d:Le.right):z.push(!s&&He?u:Le.left,!s&&q?d:xe.right))}let M=S??k.from,F=A??k.to;for(let W of n.visibleRanges)if(W.to>M&&W.from<F)for(let q=Math.max(W.from,M),te=Math.min(W.to,F);;){let He=n.state.doc.lineAt(q);for(let ut of n.bidiSpans(He)){let xe=ut.from+He.from,Le=ut.to+He.from;if(xe>=te)break;Le>q&&V(Math.max(xe,q),S==null&&xe<=M,Math.min(Le,te),A==null&&Le>=F,ut.dir)}if(q=He.to+1,q>=te)break}return z.length==0&&V(M,S==null,F,A==null,n.textDirection),{top:N,bottom:B,horizontal:z}}function _(S,A){let k=l.top+(A?S.top:S.bottom);return{top:k,bottom:k,horizontal:[]}}}function nw(n,e){return n.constructor==e.constructor&&n.eq(e)}var Xa=class{constructor(e,t){this.view=e,this.layer=t,this.drawn=[],this.scaleX=1,this.scaleY=1,this.measureReq={read:this.measure.bind(this),write:this.draw.bind(this)},this.dom=e.scrollDOM.appendChild(document.createElement("div")),this.dom.classList.add("cm-layer"),t.above&&this.dom.classList.add("cm-layer-above"),t.class&&this.dom.classList.add(t.class),this.scale(),this.dom.setAttribute("aria-hidden","true"),this.setOrder(e.state),e.requestMeasure(this.measureReq),t.mount&&t.mount(this.dom,e)}update(e){e.startState.facet(Ys)!=e.state.facet(Ys)&&this.setOrder(e.state),(this.layer.update(e,this.dom)||e.geometryChanged)&&(this.scale(),e.view.requestMeasure(this.measureReq))}docViewUpdate(e){this.layer.updateOnDocViewUpdate!==!1&&e.requestMeasure(this.measureReq)}setOrder(e){let t=0,i=e.facet(Ys);for(;t<i.length&&i[t]!=this.layer;)t++;this.dom.style.zIndex=String((this.layer.above?150:-1)-t)}measure(){return this.layer.markers(this.view)}scale(){let{scaleX:e,scaleY:t}=this.view;(e!=this.scaleX||t!=this.scaleY)&&(this.scaleX=e,this.scaleY=t,this.dom.style.transform=`scale(${1/e}, ${1/t})`)}draw(e){if(e.length!=this.drawn.length||e.some((t,i)=>!nw(t,this.drawn[i]))){let t=this.dom.firstChild,i=0;for(let r of e)r.update&&t&&r.constructor&&this.drawn[i].constructor&&r.update(t,this.drawn[i])?(t=t.nextSibling,i++):this.dom.insertBefore(r.draw(),t);for(;t;){let r=t.nextSibling;t.remove(),t=r}this.drawn=e,O.webkit&&(this.dom.style.display=this.dom.firstChild?"":"none")}}destroy(){this.layer.destroy&&this.layer.destroy(this.dom,this.view),this.dom.remove()}},Ys=U.define();function rp(n){return[Pt.define(e=>new Xa(e,n)),Ys.of(n)]}var Ki=U.define({combine(n){return Oi(n,{cursorBlinkRate:1200,drawRangeCursor:!0,iosSelectionHandles:!0},{cursorBlinkRate:(e,t)=>Math.min(e,t),drawRangeCursor:(e,t)=>e||t})}});function sp(n={}){return[Ki.of(n),iw,rw,ow,Of.of(!0)]}function op(n){return n.startState.facet(Ki)!=n.state.facet(Ki)}var iw=rp({above:!0,markers(n){let{state:e}=n,t=e.facet(Ki),i=[];for(let r of e.selection.ranges){let s=r==e.selection.main;if(r.empty||t.drawRangeCursor&&!(s&&O.ios&&t.iosSelectionHandles)){let o=s?"cm-cursor cm-cursor-primary":"cm-cursor cm-cursor-secondary",l=r.empty?r:D.cursor(r.head,r.assoc);for(let a of ni.forRange(n,o,l))i.push(a)}}return i},update(n,e){n.transactions.some(i=>i.selection)&&(e.style.animationName=e.style.animationName=="cm-blink"?"cm-blink2":"cm-blink");let t=op(n);return t&&lf(n.state,e),n.docChanged||n.selectionSet||t},mount(n,e){lf(e.state,n)},class:"cm-cursorLayer"});function lf(n,e){e.style.animationDuration=n.facet(Ki).cursorBlinkRate+"ms"}var rw=rp({above:!1,markers(n){let e=[],{main:t,ranges:i}=n.state.selection;for(let r of i)if(!r.empty)for(let s of ni.forRange(n,"cm-selectionBackground",r))e.push(s);if(O.ios&&!t.empty&&n.state.facet(Ki).iosSelectionHandles){for(let r of ni.forRange(n,"cm-selectionHandle cm-selectionHandle-start",D.cursor(t.from,1)))e.push(r);for(let r of ni.forRange(n,"cm-selectionHandle cm-selectionHandle-end",D.cursor(t.to,1)))e.push(r)}return e},update(n,e){return n.docChanged||n.selectionSet||n.viewportChanged||op(n)},class:"cm-selectionLayer"}),sw=O.gecko&&O.gecko_version==153?"#ffffff01":"transparent",ow=yr.highest(j.theme({".cm-line":{"& ::selection, &::selection":{backgroundColor:`${sw} !important`},caretColor:"transparent !important"},".cm-content":{caretColor:"transparent !important","& :focus":{caretColor:"initial !important","&::selection, & ::selection":{backgroundColor:"Highlight !important"}}}})),lp=ye.define({map(n,e){return n==null?null:e.mapPos(n)}}),vr=wt.define({create(){return null},update(n,e){return n!=null&&(n=e.changes.mapPos(n)),e.effects.reduce((t,i)=>i.is(lp)?i.value:t,n)}}),lw=Pt.fromClass(class{constructor(n){this.view=n,this.cursor=null,this.measureReq={read:this.readPos.bind(this),write:this.drawCursor.bind(this)}}update(n){var e;let t=n.state.field(vr);t==null?this.cursor!=null&&((e=this.cursor)===null||e===void 0||e.remove(),this.cursor=null):(this.cursor||(this.cursor=this.view.scrollDOM.appendChild(document.createElement("div")),this.cursor.className="cm-dropCursor"),(n.startState.field(vr)!=t||n.docChanged||n.geometryChanged)&&this.view.requestMeasure(this.measureReq))}readPos(){let{view:n}=this,e=n.state.field(vr),t=e!=null&&n.coordsAtPos(e);if(!t)return null;let i=n.scrollDOM.getBoundingClientRect();return{left:t.left-i.left+n.scrollDOM.scrollLeft*n.scaleX,top:t.top-i.top+n.scrollDOM.scrollTop*n.scaleY,height:t.bottom-t.top}}drawCursor(n){if(this.cursor){let{scaleX:e,scaleY:t}=this.view;n?(this.cursor.style.left=n.left/e+"px",this.cursor.style.top=n.top/t+"px",this.cursor.style.height=n.height/t+"px"):this.cursor.style.left="-100000px"}}destroy(){this.cursor&&this.cursor.remove()}setDropPos(n){this.view.state.field(vr)!=n&&this.view.dispatch({effects:lp.of(n)})}},{eventObservers:{dragover(n){this.setDropPos(this.view.posAtCoords({x:n.clientX,y:n.clientY}))},dragleave(n){(n.target==this.view.contentDOM||!this.view.contentDOM.contains(n.relatedTarget))&&this.setDropPos(null)},dragend(){this.setDropPos(null)},drop(){this.setDropPos(null)}}});function ap(){return[vr,lw]}var Uv=/x/.unicode!=null?"gu":"g";function cp(){return cw}var aw=me.line({class:"cm-activeLine"}),cw=Pt.fromClass(class{constructor(n){this.decorations=this.getDeco(n)}update(n){(n.docChanged||n.selectionSet)&&(this.decorations=this.getDeco(n.view))}getDeco(n){let e=-1,t=[];for(let i of n.state.selection.ranges){let r=n.lineBlockAt(i.head);r.from>e&&(t.push(aw.range(r.from)),e=r.from)}return me.set(t)}},{decorations:n=>n.decorations}),Ya=class extends Dn{constructor(e){super(),this.content=e}toDOM(e){let t=document.createElement("span");return t.className="cm-placeholder",t.style.pointerEvents="none",t.appendChild(typeof this.content=="string"?document.createTextNode(this.content):typeof this.content=="function"?this.content(e):this.content.cloneNode(!0)),t.setAttribute("aria-hidden","true"),t}coordsAt(e){let t=e.firstChild?Sr(e.firstChild):[];if(!t.length)return null;let i=window.getComputedStyle(e.parentNode),r=Ir(t[0],i.direction!="rtl"),s=parseInt(i.lineHeight);return r.bottom-r.top>s*1.5?{left:r.left,right:r.right,top:r.top,bottom:r.top+s}:r}ignoreEvent(){return!1}};function cc(n){let e=Pt.fromClass(class{constructor(t){this.view=t,this.placeholder=n?me.set([me.widget({widget:new Ya(n),side:1}).range(0)]):me.none}get decorations(){return this.view.state.doc.length?me.none:this.placeholder}},{decorations:t=>t.decorations});return typeof n=="string"?[e,j.contentAttributes.of({"aria-placeholder":n})]:e}var Nt=class extends Yt{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}};Nt.prototype.elementClass="";Nt.prototype.toDOM=void 0;Nt.prototype.mapMode=lt.TrackBefore;Nt.prototype.startSide=Nt.prototype.endSide=-1;Nt.prototype.point=!0;var Js=U.define(),hw=U.define();var Zs=U.define();var Ja=U.define({combine:n=>n.some(e=>e)});function uw(n){let e=[dw];return n&&n.fixed===!1&&e.push(Ja.of(!0)),e}var dw=Pt.fromClass(class{constructor(n){this.view=n,this.domAfter=null,this.prevViewport=n.viewport,this.dom=document.createElement("div"),this.dom.className="cm-gutters cm-gutters-before",this.dom.setAttribute("aria-hidden","true"),this.dom.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.gutters=n.state.facet(Zs).map(e=>new uo(n,e)),this.fixed=!n.state.facet(Ja);for(let e of this.gutters)e.config.side=="after"?this.getDOMAfter().appendChild(e.dom):this.dom.appendChild(e.dom);this.fixed&&(this.dom.style.position="sticky"),this.syncGutters(!1),n.scrollDOM.insertBefore(this.dom,n.contentDOM)}getDOMAfter(){return this.domAfter||(this.domAfter=document.createElement("div"),this.domAfter.className="cm-gutters cm-gutters-after",this.domAfter.setAttribute("aria-hidden","true"),this.domAfter.style.minHeight=this.view.contentHeight/this.view.scaleY+"px",this.domAfter.style.position=this.fixed?"sticky":"",this.view.scrollDOM.appendChild(this.domAfter)),this.domAfter}update(n){if(this.updateGutters(n)){let e=this.prevViewport,t=n.view.viewport,i=Math.min(e.to,t.to)-Math.max(e.from,t.from);this.syncGutters(i<(t.to-t.from)*.8)}if(n.geometryChanged){let e=this.view.contentHeight/this.view.scaleY+"px";this.dom.style.minHeight=e,this.domAfter&&(this.domAfter.style.minHeight=e)}this.view.state.facet(Ja)!=!this.fixed&&(this.fixed=!this.fixed,this.dom.style.position=this.fixed?"sticky":"",this.domAfter&&(this.domAfter.style.position=this.fixed?"sticky":"")),this.prevViewport=n.view.viewport}syncGutters(n){let e=this.dom.nextSibling;n&&(this.dom.remove(),this.domAfter&&this.domAfter.remove());let t=he.iter(this.view.state.facet(Js),this.view.viewport.from),i=[],r=this.gutters.map(s=>new Qa(s,this.view.viewport,-this.view.documentPadding.top));for(let s of this.view.viewportLineBlocks)if(i.length&&(i=[]),Array.isArray(s.type)){let o=!0;for(let l of s.type)if(l.type==We.Text&&o){Za(t,i,l.from);for(let a of r)a.line(this.view,l,i);o=!1}else if(l.widget)for(let a of r)a.widget(this.view,l)}else if(s.type==We.Text){Za(t,i,s.from);for(let o of r)o.line(this.view,s,i)}else if(s.widget)for(let o of r)o.widget(this.view,s);for(let s of r)s.finish();n&&(this.view.scrollDOM.insertBefore(this.dom,e),this.domAfter&&this.view.scrollDOM.appendChild(this.domAfter))}updateGutters(n){let e=n.startState.facet(Zs),t=n.state.facet(Zs),i=n.docChanged||n.heightChanged||n.viewportChanged||!he.eq(n.startState.facet(Js),n.state.facet(Js),n.view.viewport.from,n.view.viewport.to);if(e==t)for(let r of this.gutters)r.update(n)&&(i=!0);else{i=!0;let r=[];for(let s of t){let o=e.indexOf(s);o<0?r.push(new uo(this.view,s)):(this.gutters[o].update(n),r.push(this.gutters[o]))}for(let s of this.gutters)s.dom.remove(),r.indexOf(s)<0&&s.destroy();for(let s of r)s.config.side=="after"?this.getDOMAfter().appendChild(s.dom):this.dom.appendChild(s.dom);this.gutters=r}return i}destroy(){for(let n of this.gutters)n.destroy();this.dom.remove(),this.domAfter&&this.domAfter.remove()}},{provide:n=>j.scrollMargins.of(e=>{let t=e.plugin(n);if(!t||t.gutters.length==0||!t.fixed)return null;let i=t.dom.offsetWidth*e.scaleX,r=t.domAfter?t.domAfter.offsetWidth*e.scaleX:0;return e.textDirection==ge.LTR?{left:i,right:r}:{right:i,left:r}})});function af(n){return Array.isArray(n)?n:[n]}function Za(n,e,t){for(;n.value&&n.from<=t;)n.from==t&&e.push(n.value),n.next()}var Qa=class{constructor(e,t,i){this.gutter=e,this.height=i,this.i=0,this.cursor=he.iter(e.markers,t.from)}addElement(e,t,i){let{gutter:r}=this,s=(t.top-this.height)/e.scaleY,o=t.height/e.scaleY;if(this.i==r.elements.length){let l=new fo(e,o,s,i);r.elements.push(l),r.dom.appendChild(l.dom)}else r.elements[this.i].update(e,o,s,i);this.height=t.bottom,this.i++}line(e,t,i){let r=[];Za(this.cursor,r,t.from),i.length&&(r=r.concat(i));let s=this.gutter.config.lineMarker(e,t,r);s&&r.unshift(s);let o=this.gutter;r.length==0&&!o.config.renderEmptyElements||this.addElement(e,t,r)}widget(e,t){let i=this.gutter.config.widgetMarker(e,t.widget,t),r=i?[i]:null;for(let s of e.state.facet(hw)){let o=s(e,t.widget,t);o&&(r||(r=[])).push(o)}r&&this.addElement(e,t,r)}finish(){let e=this.gutter;for(;e.elements.length>this.i;){let t=e.elements.pop();e.dom.removeChild(t.dom),t.destroy()}}},uo=class{constructor(e,t){this.view=e,this.config=t,this.elements=[],this.spacer=null,this.dom=document.createElement("div"),this.dom.className="cm-gutter"+(this.config.class?" "+this.config.class:"");for(let i in t.domEventHandlers)this.dom.addEventListener(i,r=>{let s=r.target,o;if(s!=this.dom&&this.dom.contains(s)){for(;s.parentNode!=this.dom;)s=s.parentNode;let a=s.getBoundingClientRect();o=(a.top+a.bottom)/2}else o=r.clientY;let l=e.lineBlockAtHeight(o-e.documentTop);t.domEventHandlers[i](e,l,r)&&r.preventDefault()});this.markers=af(t.markers(e)),t.initialSpacer&&(this.spacer=new fo(e,0,0,[t.initialSpacer(e)]),this.dom.appendChild(this.spacer.dom),this.spacer.dom.style.cssText+="visibility: hidden; pointer-events: none")}update(e){let t=this.markers;if(this.markers=af(this.config.markers(e.view)),this.spacer&&this.config.updateSpacer){let r=this.config.updateSpacer(this.spacer.markers[0],e);r!=this.spacer.markers[0]&&this.spacer.update(e.view,0,0,[r])}let i=e.view.viewport;return!he.eq(this.markers,t,i.from,i.to)||(this.config.lineMarkerChange?this.config.lineMarkerChange(e):!1)}destroy(){for(let e of this.elements)e.destroy()}},fo=class{constructor(e,t,i,r){this.height=-1,this.above=0,this.markers=[],this.dom=document.createElement("div"),this.dom.className="cm-gutterElement",this.update(e,t,i,r)}update(e,t,i,r){this.height!=t&&(this.height=t,this.dom.style.height=t+"px"),this.above!=i&&(this.dom.style.marginTop=(this.above=i)?i+"px":""),fw(this.markers,r)||this.setMarkers(e,r)}setMarkers(e,t){let i="cm-gutterElement",r=this.dom.firstChild;for(let s=0,o=0;;){let l=o,a=s<t.length?t[s++]:null,c=!1;if(a){let h=a.elementClass;h&&(i+=" "+h);for(let u=o;u<this.markers.length;u++)if(this.markers[u].compare(a)){l=u,c=!0;break}}else l=this.markers.length;for(;o<l;){let h=this.markers[o++];if(h.toDOM){h.destroy(r);let u=r.nextSibling;r.remove(),r=u}}if(!a)break;a.toDOM&&(c?r=r.nextSibling:this.dom.insertBefore(a.toDOM(e),r)),c&&o++}this.dom.className=i,this.markers=t}destroy(){this.setMarkers(null,[])}};function fw(n,e){if(n.length!=e.length)return!1;for(let t=0;t<n.length;t++)if(!n[t].compare(e[t]))return!1;return!0}var pw=U.define(),mw=U.define(),_i=U.define({combine(n){return Oi(n,{formatNumber:String,domEventHandlers:{}},{domEventHandlers(e,t){let i=Object.assign({},e);for(let r in t){let s=i[r],o=t[r];i[r]=s?(l,a,c)=>s(l,a,c)||o(l,a,c):o}return i}})}}),Rr=class extends Nt{constructor(e){super(),this.number=e}eq(e){return this.number==e.number}toDOM(){return document.createTextNode(this.number)}};function ca(n,e){return n.state.facet(_i).formatNumber(e,n.state)}var gw=Zs.compute([_i],n=>({class:"cm-lineNumbers",renderEmptyElements:!1,markers(e){return e.state.facet(pw)},lineMarker(e,t,i){return i.some(r=>r.toDOM)?null:new Rr(ca(e,e.state.doc.lineAt(t.from).number))},widgetMarker:(e,t,i)=>{for(let r of e.state.facet(mw)){let s=r(e,t,i);if(s)return s}return null},lineMarkerChange:e=>e.startState.facet(_i)!=e.state.facet(_i),initialSpacer(e){return new Rr(ca(e,cf(e.state.doc.lines)))},updateSpacer(e,t){let i=ca(t.view,cf(t.view.state.doc.lines));return i==e.number?e:new Rr(i)},domEventHandlers:n.facet(_i).domEventHandlers,side:"before"}));function hc(n={}){return[_i.of(n),uw(),gw]}function cf(n){let e=9;for(;e<n;)e=e*10+9;return e}var bw=new class extends Nt{constructor(){super(...arguments),this.elementClass="cm-activeLineGutter"}},yw=Js.compute(["selection"],n=>{let e=[],t=-1;for(let i of n.selection.ranges){let r=n.doc.lineAt(i.head).from;r>t&&(t=r,e.push(bw.range(r)))}return he.of(e)});function hp(){return yw}var ww=0,_r=class{constructor(e,t){this.from=e,this.to=t}},Q=class{constructor(e={}){this.id=ww++,this.perNode=!!e.perNode,this.deserialize=e.deserialize||(()=>{throw new Error("This node type doesn't define a deserialize function")}),this.combine=e.combine||null}add(e){if(this.perNode)throw new RangeError("Can't add per-node props to node types");return typeof e!="function"&&(e=gt.match(e)),t=>{let i=e(t);return i===void 0?null:[this,i]}}};Q.closedBy=new Q({deserialize:n=>n.split(" ")});Q.openedBy=new Q({deserialize:n=>n.split(" ")});Q.group=new Q({deserialize:n=>n.split(" ")});Q.isolate=new Q({deserialize:n=>{if(n&&n!="rtl"&&n!="ltr"&&n!="auto")throw new RangeError("Invalid value for isolate: "+n);return n||"auto"}});Q.contextHash=new Q({perNode:!0});Q.lookAhead=new Q({perNode:!0});Q.mounted=new Q({perNode:!0});var oi=class{constructor(e,t,i,r=!1){this.tree=e,this.overlay=t,this.parser=i,this.bracketed=r}static get(e){return e&&e.props&&e.props[Q.mounted.id]}},xw=Object.create(null),gt=class n{constructor(e,t,i,r=0){this.name=e,this.props=t,this.id=i,this.flags=r}static define(e){let t=e.props&&e.props.length?Object.create(null):xw,i=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),r=new n(e.name||"",t,e.id,i);if(e.props){for(let s of e.props)if(Array.isArray(s)||(s=s(r)),s){if(s[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");t[s[0].id]=s[1]}}return r}prop(e){return this.props[e.id]}get isTop(){return(this.flags&1)>0}get isSkipped(){return(this.flags&2)>0}get isError(){return(this.flags&4)>0}get isAnonymous(){return(this.flags&8)>0}is(e){if(typeof e=="string"){if(this.name==e)return!0;let t=this.prop(Q.group);return t?t.indexOf(e)>-1:!1}return this.id==e}static match(e){let t=Object.create(null);for(let i in e)for(let r of i.split(" "))t[r]=e[i];return i=>{for(let r=i.prop(Q.group),s=-1;s<(r?r.length:0);s++){let o=t[s<0?i.name:r[s]];if(o)return o}}}};gt.none=new gt("",Object.create(null),0,8);var bo=new WeakMap,up=new WeakMap,Te;(function(n){n[n.ExcludeBuffers=1]="ExcludeBuffers",n[n.IncludeAnonymous=2]="IncludeAnonymous",n[n.IgnoreMounts=4]="IgnoreMounts",n[n.IgnoreOverlays=8]="IgnoreOverlays",n[n.EnterBracketed=16]="EnterBracketed"})(Te||(Te={}));var Ve=class n{constructor(e,t,i,r,s){if(this.type=e,this.children=t,this.positions=i,this.length=r,this.props=null,s&&s.length){this.props=Object.create(null);for(let[o,l]of s)this.props[typeof o=="number"?o:o.id]=l}}toString(){let e=oi.get(this);if(e&&!e.overlay)return e.tree.toString();let t="";for(let i of this.children){let r=i.toString();r&&(t&&(t+=","),t+=r)}return this.type.name?(/\W/.test(this.type.name)&&!this.type.isError?JSON.stringify(this.type.name):this.type.name)+(t.length?"("+t+")":""):t}cursor(e=0){return new zr(this.topNode,e)}cursorAt(e,t=0,i=0){let r=bo.get(this)||this.topNode,s=new zr(r);return s.moveTo(e,t),bo.set(this,s._tree),s}get topNode(){return new Qt(this,0,0,null)}resolve(e,t=0){let i=Hr(bo.get(this)||this.topNode,e,t,!1);return bo.set(this,i),i}resolveInner(e,t=0){let i=Hr(up.get(this)||this.topNode,e,t,!0);return up.set(this,i),i}resolveStack(e,t=0){return vw(this,e,t)}iterate(e){let{enter:t,leave:i,from:r=0,to:s=this.length}=e,o=e.mode||0,l=(o&Te.IncludeAnonymous)>0;for(let a=this.cursor(o|Te.IncludeAnonymous);;){let c=!1;if(a.from<=s&&a.to>=r&&(!l&&a.type.isAnonymous||t(a)!==!1)){if(a.firstChild())continue;c=!0}for(;c&&i&&(l||!a.type.isAnonymous)&&i(a),!a.nextSibling();){if(!a.parent())return;c=!0}}}prop(e){return e.perNode?this.props?this.props[e.id]:void 0:this.type.prop(e)}get propValues(){let e=[];if(this.props)for(let t in this.props)e.push([+t,this.props[t]]);return e}balance(e={}){return this.children.length<=8?this:bc(gt.none,this.children,this.positions,0,this.children.length,0,this.length,(t,i,r)=>new n(this.type,t,i,r,this.propValues),e.makeTree||((t,i,r)=>new n(gt.none,t,i,r)))}static build(e){return kw(e)}};Ve.empty=new Ve(gt.none,[],[],0);var uc=class n{constructor(e,t){this.buffer=e,this.index=t}get id(){return this.buffer[this.index-4]}get start(){return this.buffer[this.index-3]}get end(){return this.buffer[this.index-2]}get size(){return this.buffer[this.index-1]}get pos(){return this.index}next(){this.index-=4}fork(){return new n(this.buffer,this.index)}},On=class n{constructor(e,t,i){this.buffer=e,this.length=t,this.set=i}get type(){return gt.none}toString(){let e=[];for(let t=0;t<this.buffer.length;)e.push(this.childString(t)),t=this.buffer[t+3];return e.join(",")}childString(e){let t=this.buffer[e],i=this.buffer[e+3],r=this.set.types[t],s=r.name;if(/\W/.test(s)&&!r.isError&&(s=JSON.stringify(s)),e+=4,i==e)return s;let o=[];for(;e<i;)o.push(this.childString(e)),e=this.buffer[e+3];return s+"("+o.join(",")+")"}findChild(e,t,i,r,s){let{buffer:o}=this,l=-1;for(let a=e;a!=t&&!(pp(s,r,o[a+1],o[a+2])&&(l=a,i>0));a=o[a+3]);return l}slice(e,t,i){let r=this.buffer,s=new Uint16Array(t-e),o=0;for(let l=e,a=0;l<t;){s[a++]=r[l++],s[a++]=r[l++]-i;let c=s[a++]=r[l++]-i;s[a++]=r[l++]-e,o=Math.max(o,c)}return new n(s,o,this.set)}};function pp(n,e,t,i){switch(n){case-2:return t<e;case-1:return i>=e&&t<e;case 0:return t<e&&i>e;case 1:return t<=e&&i>e;case 2:return i>e;case 4:return!0}}function Hr(n,e,t,i){for(var r;n.from==n.to||(t<1?n.from>=e:n.from>e)||(t>-1?n.to<=e:n.to<e);){let o=!i&&n instanceof Qt&&n.index<0?null:n.parent;if(!o)return n;n=o}let s=i?0:Te.IgnoreOverlays;if(i)for(let o=n,l=o.parent;l;o=l,l=o.parent)o instanceof Qt&&o.index<0&&((r=l.enter(e,t,s))===null||r===void 0?void 0:r.from)!=o.from&&(n=l);for(;;){let o=n.enter(e,t,s);if(!o)return n;n=o}}var wo=class{cursor(e=0){return new zr(this,e)}getChild(e,t=null,i=null){let r=dp(this,e,t,i);return r.length?r[0]:null}getChildren(e,t=null,i=null){return dp(this,e,t,i)}resolve(e,t=0){return Hr(this,e,t,!1)}resolveInner(e,t=0){return Hr(this,e,t,!0)}matchContext(e){return dc(this.parent,e)}enterUnfinishedNodesBefore(e){let t=this.childBefore(e),i=this;for(;t;){let r=t.lastChild;if(!r||r.to!=t.to)break;r.type.isError&&r.from==r.to?(i=t,t=r.prevSibling):t=r}return i}get node(){return this}get next(){return this.parent}},Qt=class n extends wo{constructor(e,t,i,r){super(),this._tree=e,this.from=t,this.index=i,this._parent=r}get type(){return this._tree.type}get name(){return this._tree.type.name}get to(){return this.from+this._tree.length}nextChild(e,t,i,r,s=0){for(let o=this;;){for(let{children:l,positions:a}=o._tree,c=t>0?l.length:-1;e!=c;e+=t){let h=l[e],u=a[e]+o.from,d;if(!(!(s&Te.EnterBracketed&&h instanceof Ve&&(d=oi.get(h))&&!d.overlay&&d.bracketed&&i>=u&&i<=u+h.length)&&!pp(r,i,u,u+h.length))){if(h instanceof On){if(s&Te.ExcludeBuffers)continue;let f=h.findChild(0,h.buffer.length,t,i-u,r);if(f>-1)return new Fr(new fc(o,h,e,u),null,f)}else if(s&Te.IncludeAnonymous||!h.type.isAnonymous||gc(h)){let f;if(!(s&Te.IgnoreMounts)&&(f=oi.get(h))&&!f.overlay)return new n(f.tree,u,e,o);let p=new n(h,u,e,o);return s&Te.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(t<0?h.children.length-1:0,t,i,r,s)}}}if(s&Te.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+t:e=t<0?-1:o._parent._tree.children.length,o=o._parent,!o))return null}}get firstChild(){return this.nextChild(0,1,0,4)}get lastChild(){return this.nextChild(this._tree.children.length-1,-1,0,4)}childAfter(e){return this.nextChild(0,1,e,2)}childBefore(e){return this.nextChild(this._tree.children.length-1,-1,e,-2)}prop(e){return this._tree.prop(e)}enter(e,t,i=0){let r;if(!(i&Te.IgnoreOverlays)&&(r=oi.get(this._tree))&&r.overlay){let s=e-this.from,o=i&Te.EnterBracketed&&r.bracketed;for(let{from:l,to:a}of r.overlay)if((t>0||o?l<=s:l<s)&&(t<0||o?a>=s:a>s))return new n(r.tree,r.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,t,i)}nextSignificantParent(){let e=this;for(;e.type.isAnonymous&&e._parent;)e=e._parent;return e}get parent(){return this._parent?this._parent.nextSignificantParent():null}get nextSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index+1,1,0,4):null}get prevSibling(){return this._parent&&this.index>=0?this._parent.nextChild(this.index-1,-1,0,4):null}get tree(){return this._tree}toTree(){return this._tree}toString(){return this._tree.toString()}};function dp(n,e,t,i){let r=n.cursor(),s=[];if(!r.firstChild())return s;if(t!=null){for(let o=!1;!o;)if(o=r.type.is(t),!r.nextSibling())return s}for(;;){if(i!=null&&r.type.is(i))return s;if(r.type.is(e)&&s.push(r.node),!r.nextSibling())return i==null?s:[]}}function dc(n,e,t=e.length-1){for(let i=n;t>=0;i=i.parent){if(!i)return!1;if(!i.type.isAnonymous){if(e[t]&&e[t]!=i.name)return!1;t--}}return!0}var fc=class{constructor(e,t,i,r){this.parent=e,this.buffer=t,this.index=i,this.start=r}},Fr=class n extends wo{get name(){return this.type.name}get from(){return this.context.start+this.context.buffer.buffer[this.index+1]}get to(){return this.context.start+this.context.buffer.buffer[this.index+2]}constructor(e,t,i){super(),this.context=e,this._parent=t,this.index=i,this.type=e.buffer.set.types[e.buffer.buffer[i]]}child(e,t,i){let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.context.start,i);return s<0?null:new n(this.context,this,s)}get firstChild(){return this.child(1,0,4)}get lastChild(){return this.child(-1,0,4)}childAfter(e){return this.child(1,e,2)}childBefore(e){return this.child(-1,e,-2)}prop(e){return this.type.prop(e)}enter(e,t,i=0){if(i&Te.ExcludeBuffers)return null;let{buffer:r}=this.context,s=r.findChild(this.index+4,r.buffer[this.index+3],t>0?1:-1,e-this.context.start,t);return s<0?null:new n(this.context,this,s)}get parent(){return this._parent||this.context.parent.nextSignificantParent()}externalSibling(e){return this._parent?null:this.context.parent.nextChild(this.context.index+e,e,0,4)}get nextSibling(){let{buffer:e}=this.context,t=e.buffer[this.index+3];return t<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new n(this.context,this._parent,t):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,t=this._parent?this._parent.index+4:0;return this.index==t?this.externalSibling(-1):new n(this.context,this._parent,e.findChild(t,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],t=[],{buffer:i}=this.context,r=this.index+4,s=i.buffer[this.index+3];if(s>r){let o=i.buffer[this.index+1];e.push(i.slice(r,s,o)),t.push(0)}return new Ve(this.type,e,t,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}};function mp(n){if(!n.length)return null;let e=0,t=n[0];for(let s=1;s<n.length;s++){let o=n[s];(o.from>t.from||o.to<t.to)&&(t=o,e=s)}let i=t instanceof Qt&&t.index<0?null:t.parent,r=n.slice();return i?r[e]=i:r.splice(e,1),new pc(r,t)}var pc=class{constructor(e,t){this.heads=e,this.node=t}get next(){return mp(this.heads)}};function vw(n,e,t){let i=n.resolveInner(e,t),r=null;for(let s=i instanceof Qt?i:i.context.parent;s;s=s.parent)if(s.index<0){let o=s.parent;(r||(r=[i])).push(o.resolve(e,t)),s=o}else{let o=oi.get(s.tree);if(o&&o.overlay&&o.overlay[0].from<=e&&o.overlay[o.overlay.length-1].to>=e){let l=new Qt(o.tree,o.overlay[0].from+s.from,-1,s);(r||(r=[i])).push(Hr(l,e,t,!1))}}return r?mp(r):i}var zr=class{get name(){return this.type.name}constructor(e,t=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=t&~Te.EnterBracketed,e instanceof Qt)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let i=e._parent;i;i=i._parent)this.stack.unshift(i.index);this.bufferNode=e,this.yieldBuf(e.index)}}yieldNode(e){return e?(this._tree=e,this.type=e.type,this.from=e.from,this.to=e.to,!0):!1}yieldBuf(e,t){this.index=e;let{start:i,buffer:r}=this.buffer;return this.type=t||r.set.types[r.buffer[e]],this.from=i+r.buffer[e+1],this.to=i+r.buffer[e+2],!0}yield(e){return e?e instanceof Qt?(this.buffer=null,this.yieldNode(e)):(this.buffer=e.context,this.yieldBuf(e.index,e.type)):!1}toString(){return this.buffer?this.buffer.buffer.childString(this.index):this._tree.toString()}enterChild(e,t,i){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,t,i,this.mode));let{buffer:r}=this.buffer,s=r.findChild(this.index+4,r.buffer[this.index+3],e,t-this.buffer.start,i);return s<0?!1:(this.stack.push(this.index),this.yieldBuf(s))}firstChild(){return this.enterChild(1,0,4)}lastChild(){return this.enterChild(-1,0,4)}childAfter(e){return this.enterChild(1,e,2)}childBefore(e){return this.enterChild(-1,e,-2)}enter(e,t,i=this.mode){return this.buffer?i&Te.ExcludeBuffers?!1:this.enterChild(1,e,t):this.yield(this._tree.enter(e,t,i))}parent(){if(!this.buffer)return this.yieldNode(this.mode&Te.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&Te.IncludeAnonymous?this.buffer.parent:this.buffer.parent.nextSignificantParent();return this.buffer=null,this.yieldNode(e)}sibling(e){if(!this.buffer)return this._tree._parent?this.yield(this._tree.index<0?null:this._tree._parent.nextChild(this._tree.index+e,e,0,4,this.mode)):!1;let{buffer:t}=this.buffer,i=this.stack.length-1;if(e<0){let r=i<0?0:this.stack[i]+4;if(this.index!=r)return this.yieldBuf(t.findChild(r,this.index,-1,0,4))}else{let r=t.buffer[this.index+3];if(r<(i<0?t.buffer.length:t.buffer[this.stack[i]+3]))return this.yieldBuf(r)}return i<0?this.yield(this.buffer.parent.nextChild(this.buffer.index+e,e,0,4,this.mode)):!1}nextSibling(){return this.sibling(1)}prevSibling(){return this.sibling(-1)}atLastNode(e){let t,i,{buffer:r}=this;if(r){if(e>0){if(this.index<r.buffer.buffer.length)return!1}else for(let s=0;s<this.index;s++)if(r.buffer.buffer[s+3]<this.index)return!1;({index:t,parent:i}=r)}else({index:t,_parent:i}=this._tree);for(;i;{index:t,_parent:i}=i)if(t>-1)for(let s=t+e,o=e<0?-1:i._tree.children.length;s!=o;s+=e){let l=i._tree.children[s];if(this.mode&Te.IncludeAnonymous||l instanceof On||!l.type.isAnonymous||gc(l))return!1}return!0}move(e,t){if(t&&this.enterChild(e,0,4))return!0;for(;;){if(this.sibling(e))return!0;if(this.atLastNode(e)||!this.parent())return!1}}next(e=!0){return this.move(1,e)}prev(e=!0){return this.move(-1,e)}moveTo(e,t=0){for(;(this.from==this.to||(t<1?this.from>=e:this.from>e)||(t>-1?this.to<=e:this.to<e))&&this.parent(););for(;this.enterChild(1,e,t););return this}get node(){if(!this.buffer)return this._tree;let e=this.bufferNode,t=null,i=0;if(e&&e.context==this.buffer)e:for(let r=this.index,s=this.stack.length;s>=0;){for(let o=e;o;o=o._parent)if(o.index==r){if(r==this.index)return o;t=o,i=s+1;break e}r=this.stack[--s]}for(let r=i;r<this.stack.length;r++)t=new Fr(this.buffer,t,this.stack[r]);return this.bufferNode=new Fr(this.buffer,t,this.index)}get tree(){return this.buffer?null:this._tree._tree}iterate(e,t){for(let i=0;;){let r=!1;if(this.type.isAnonymous||e(this)!==!1){if(this.firstChild()){i++;continue}this.type.isAnonymous||(r=!0)}for(;;){if(r&&t&&t(this),r=this.type.isAnonymous,!i)return;if(this.nextSibling())break;this.parent(),i--,r=!0}}}matchContext(e){if(!this.buffer)return dc(this.node.parent,e);let{buffer:t}=this.buffer,{types:i}=t.set;for(let r=e.length-1,s=this.stack.length-1;r>=0;s--){if(s<0)return dc(this._tree,e,r);let o=i[t.buffer[this.stack[s]]];if(!o.isAnonymous){if(e[r]&&e[r]!=o.name)return!1;r--}}return!0}};function gc(n){return n.children.some(e=>e instanceof On||!e.type.isAnonymous||gc(e))}function kw(n){var e;let{buffer:t,nodeSet:i,maxBufferLength:r=1024,reused:s=[],minRepeatType:o=i.types.length}=n,l=Array.isArray(t)?new uc(t,t.length):t,a=i.types,c=0,h=0;function u(S,A,k,N,B,z){let{id:V,start:M,end:F,size:W}=l,q=h,te=c;if(W<0)if(l.next(),W==-1){let $e=s[V];k.push($e),N.push(M-S);return}else if(W==-3){c=V;return}else if(W==-4){h=V;return}else throw new RangeError(`Unrecognized record size: ${W}`);let He=a[V],ut,xe,Le=M-S;if(F-M<=r&&(xe=b(l.pos-A,B))){let $e=new Uint16Array(xe.size-xe.skip),Fe=l.pos-xe.size,Xe=$e.length;for(;l.pos>Fe;)Xe=y(xe.start,$e,Xe);ut=new On($e,F-xe.start,i),Le=xe.start-S}else{let $e=l.pos-W;l.next();let Fe=[],Xe=[],Et=V>=o?V:-1,ie=0,ln=F;for(;l.pos>$e;)Et>=0&&l.id==Et&&l.size>=0?(l.end<=ln-r&&(p(Fe,Xe,M,ie,l.end,ln,Et,q,te),ie=Fe.length,ln=l.end),l.next()):z>2500?d(M,$e,Fe,Xe):u(M,$e,Fe,Xe,Et,z+1);if(Et>=0&&ie>0&&ie<Fe.length&&p(Fe,Xe,M,ie,M,ln,Et,q,te),Fe.reverse(),Xe.reverse(),Et>-1&&ie>0){let bi=f(He,te);ut=bc(He,Fe,Xe,0,Fe.length,0,F-M,bi,bi)}else ut=g(He,Fe,Xe,F-M,q-F,te)}k.push(ut),N.push(Le)}function d(S,A,k,N){let B=[],z=0,V=-1;for(;l.pos>A;){let{id:M,start:F,end:W,size:q}=l;if(q>4)l.next();else{if(V>-1&&F<V)break;V<0&&(V=W-r),B.push(M,F,W),z++,l.next()}}if(z){let M=new Uint16Array(z*4),F=B[B.length-2];for(let W=B.length-3,q=0;W>=0;W-=3)M[q++]=B[W],M[q++]=B[W+1]-F,M[q++]=B[W+2]-F,M[q++]=q;k.push(new On(M,B[2]-F,i)),N.push(F-S)}}function f(S,A){return(k,N,B)=>{let z=0,V=k.length-1,M,F;if(V>=0&&(M=k[V])instanceof Ve){if(!V&&M.type==S&&M.length==B)return M;(F=M.prop(Q.lookAhead))&&(z=N[V]+M.length+F)}return g(S,k,N,B,z,A)}}function p(S,A,k,N,B,z,V,M,F){let W=[],q=[];for(;S.length>N;)W.push(S.pop()),q.push(A.pop()+k-B);S.push(g(i.types[V],W,q,z-B,M-z,F)),A.push(B-k)}function g(S,A,k,N,B,z,V){if(z){let M=[Q.contextHash,z];V=V?[M].concat(V):[M]}if(B>25){let M=[Q.lookAhead,B];V=V?[M].concat(V):[M]}return new Ve(S,A,k,N,V)}function b(S,A){let k=l.fork(),N=0,B=0,z=0,V=k.end-r,M={size:0,start:0,skip:0};e:for(let F=k.pos-S;k.pos>F;){let W=k.size;if(k.id==A&&W>=0){M.size=N,M.start=B,M.skip=z,z+=4,N+=4,k.next();continue}let q=k.pos-W;if(W<0||q<F||k.start<V)break;let te=k.id>=o?4:0,He=k.start;for(k.next();k.pos>q;){if(k.size<0)if(k.size==-3||k.size==-4)te+=4;else break e;else k.id>=o&&(te+=4);k.next()}B=He,N+=W,z+=te}return(A<0||N==S)&&(M.size=N,M.start=B,M.skip=z),M.size>4?M:void 0}function y(S,A,k){let{id:N,start:B,end:z,size:V}=l;if(l.next(),V>=0&&N<o){let M=k;if(V>4){let F=l.pos-(V-4);for(;l.pos>F;)k=y(S,A,k)}A[--k]=M,A[--k]=z-S,A[--k]=B-S,A[--k]=N}else V==-3?c=N:V==-4&&(h=N);return k}let x=[],C=[];for(;l.pos>0;)u(n.start||0,n.bufferStart||0,x,C,-1,0);let _=(e=n.length)!==null&&e!==void 0?e:x.length?C[0]+x[0].length:0;return new Ve(a[n.topID],x.reverse(),C.reverse(),_)}var fp=new WeakMap;function yo(n,e){if(!n.isAnonymous||e instanceof On||e.type!=n)return 1;let t=fp.get(e);if(t==null){t=1;for(let i of e.children){if(i.type!=n||!(i instanceof Ve)){t=1;break}t+=yo(n,i)}fp.set(e,t)}return t}function bc(n,e,t,i,r,s,o,l,a){let c=0;for(let p=i;p<r;p++)c+=yo(n,e[p]);let h=Math.ceil(c*1.5/8),u=[],d=[];function f(p,g,b,y,x){for(let C=b;C<y;){let _=C,S=g[C],A=yo(n,p[C]);for(C++;C<y;C++){let k=yo(n,p[C]);if(A+k>=h)break;A+=k}if(C==_+1){if(A>h){let k=p[_];f(k.children,k.positions,0,k.children.length,g[_]+x);continue}u.push(p[_])}else{let k=g[C-1]+p[C-1].length-S;u.push(bc(n,p,g,_,C,S,k,null,a))}d.push(S+x-s)}}return f(e,t,i,r,0),(l||a)(u,d,o)}var li=class n{constructor(e,t,i,r,s=!1,o=!1){this.from=e,this.to=t,this.tree=i,this.offset=r,this.open=(s?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,t=[],i=!1){let r=[new n(0,e.length,e,0,!1,i)];for(let s of t)s.to>e.length&&r.push(s);return r}static applyChanges(e,t,i=128){if(!t.length)return e;let r=[],s=1,o=e.length?e[0]:null;for(let l=0,a=0,c=0;;l++){let h=l<t.length?t[l]:null,u=h?h.fromA:1e9;if(u-a>=i)for(;o&&o.from<u;){let d=o;if(a>=d.from||u<=d.to||c){let f=Math.max(d.from,a)-c,p=Math.min(d.to,u)-c;d=f>=p?null:new n(f,p,d.tree,d.offset+c,l>0,!!h)}if(d&&r.push(d),o.to>u)break;o=s<e.length?e[s++]:null}if(!h)break;a=h.toA,c=h.toA-h.toB}return r}},xo=class{startParse(e,t,i){return typeof e=="string"&&(e=new mc(e)),i=i?i.length?i.map(r=>new _r(r.from,r.to)):[new _r(0,0)]:[new _r(0,e.length)],this.createParse(e,t||[],i)}parse(e,t,i){let r=this.startParse(e,t,i);for(;;){let s=r.advance();if(s)return s}}},mc=class{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,t){return this.string.slice(e,t)}};var Zv=new Q({perNode:!0});var Sw=0,Bt=class n{constructor(e,t,i,r){this.name=e,this.set=t,this.base=i,this.modified=r,this.id=Sw++}toString(){let{name:e}=this;for(let t of this.modified)t.name&&(e=`${t.name}(${e})`);return e}static define(e,t){let i=typeof e=="string"?e:"?";if(e instanceof n&&(t=e),t?.base)throw new Error("Can not derive from a modified tag");let r=new n(i,[],null,[]);if(r.set.push(r),t)for(let s of t.set)r.set.push(s);return r}static defineModifier(e){let t=new Co(e);return i=>i.modified.indexOf(t)>-1?i:Co.get(i.base||i,i.modified.concat(t).sort((r,s)=>r.id-s.id))}},Cw=0,Co=class n{constructor(e){this.name=e,this.instances=[],this.id=Cw++}static get(e,t){if(!t.length)return e;let i=t[0].instances.find(l=>l.base==e&&Tw(t,l.modified));if(i)return i;let r=[],s=new Bt(e.name,r,e,t);for(let l of t)l.instances.push(s);let o=Aw(t);for(let l of e.set)if(!l.modified.length)for(let a of o)r.push(n.get(l,a));return s}};function Tw(n,e){return n.length==e.length&&n.every((t,i)=>t==e[i])}function Aw(n){let e=[[]];for(let t=0;t<n.length;t++)for(let i=0,r=e.length;i<r;i++)e.push(e[i].concat(n[t]));return e.sort((t,i)=>i.length-t.length)}function yp(n){let e=Object.create(null);for(let t in n){let i=n[t];Array.isArray(i)||(i=[i]);for(let r of t.split(" "))if(r){let s=[],o=2,l=r;for(let u=0;;){if(l=="..."&&u>0&&u+3==r.length){o=1;break}let d=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!d)throw new RangeError("Invalid path: "+r);if(s.push(d[0]=="*"?"":d[0][0]=='"'?JSON.parse(d[0]):d[0]),u+=d[0].length,u==r.length)break;let f=r[u++];if(u==r.length&&f=="!"){o=0;break}if(f!="/")throw new RangeError("Invalid path: "+r);l=r.slice(u)}let a=s.length-1,c=s[a];if(!c)throw new RangeError("Invalid path: "+r);let h=new ji(i,o,a>0?s.slice(0,a):null);e[c]=h.sort(e[c])}}return Mw.add(e)}var Mw=new Q({combine(n,e){let t,i,r;for(;n||e;){if(!n||e&&n.depth>=e.depth?(r=e,e=e.next):(r=n,n=n.next),t&&t.mode==r.mode&&!r.context&&!t.context)continue;let s=new ji(r.tags,r.mode,r.context);t?t.next=s:i=s,t=s}return i}}),ji=class{constructor(e,t,i,r){this.tags=e,this.mode=t,this.context=i,this.next=r}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth<this.depth?(this.next=e,this):(e.next=this.sort(e.next),e)}get depth(){return this.context?this.context.length:0}};ji.empty=new ji([],2,null);function xc(n,e){let t=Object.create(null);for(let s of n)if(!Array.isArray(s.tag))t[s.tag.id]=s.class;else for(let o of s.tag)t[o.id]=s.class;let{scope:i,all:r=null}=e||{};return{style:s=>{let o=r;for(let l of s)for(let a of l.set){let c=t[a.id];if(c){o=o?o+" "+c:c;break}}return o},scope:i}}var R=Bt.define,vo=R(),Pn=R(),gp=R(Pn),bp=R(Pn),In=R(),ko=R(In),yc=R(In),nn=R(),ai=R(nn),en=R(),tn=R(),wc=R(),Wr=R(wc),So=R(),L={comment:vo,lineComment:R(vo),blockComment:R(vo),docComment:R(vo),name:Pn,variableName:R(Pn),typeName:gp,tagName:R(gp),propertyName:bp,attributeName:R(bp),className:R(Pn),labelName:R(Pn),namespace:R(Pn),macroName:R(Pn),literal:In,string:ko,docString:R(ko),character:R(ko),attributeValue:R(ko),number:yc,integer:R(yc),float:R(yc),bool:R(In),regexp:R(In),escape:R(In),color:R(In),url:R(In),keyword:en,self:R(en),null:R(en),atom:R(en),unit:R(en),modifier:R(en),operatorKeyword:R(en),controlKeyword:R(en),definitionKeyword:R(en),moduleKeyword:R(en),operator:tn,derefOperator:R(tn),arithmeticOperator:R(tn),logicOperator:R(tn),bitwiseOperator:R(tn),compareOperator:R(tn),updateOperator:R(tn),definitionOperator:R(tn),typeOperator:R(tn),controlOperator:R(tn),punctuation:wc,separator:R(wc),bracket:Wr,angleBracket:R(Wr),squareBracket:R(Wr),paren:R(Wr),brace:R(Wr),content:nn,heading:ai,heading1:R(ai),heading2:R(ai),heading3:R(ai),heading4:R(ai),heading5:R(ai),heading6:R(ai),contentSeparator:R(nn),list:R(nn),quote:R(nn),emphasis:R(nn),strong:R(nn),link:R(nn),monospace:R(nn),strikethrough:R(nn),inserted:R(),deleted:R(),changed:R(),invalid:R(),meta:So,documentMeta:R(So),annotation:R(So),processingInstruction:R(So),definition:Bt.defineModifier("definition"),constant:Bt.defineModifier("constant"),function:Bt.defineModifier("function"),standard:Bt.defineModifier("standard"),local:Bt.defineModifier("local"),special:Bt.defineModifier("special")};for(let n in L){let e=L[n];e instanceof Bt&&(e.name=n)}var tk=xc([{tag:L.link,class:"tok-link"},{tag:L.heading,class:"tok-heading"},{tag:L.emphasis,class:"tok-emphasis"},{tag:L.strong,class:"tok-strong"},{tag:L.keyword,class:"tok-keyword"},{tag:L.atom,class:"tok-atom"},{tag:L.bool,class:"tok-bool"},{tag:L.url,class:"tok-url"},{tag:L.labelName,class:"tok-labelName"},{tag:L.inserted,class:"tok-inserted"},{tag:L.deleted,class:"tok-deleted"},{tag:L.literal,class:"tok-literal"},{tag:L.string,class:"tok-string"},{tag:L.number,class:"tok-number"},{tag:[L.regexp,L.escape,L.special(L.string)],class:"tok-string2"},{tag:L.variableName,class:"tok-variableName"},{tag:L.local(L.variableName),class:"tok-variableName tok-local"},{tag:L.definition(L.variableName),class:"tok-variableName tok-definition"},{tag:L.special(L.variableName),class:"tok-variableName2"},{tag:L.definition(L.propertyName),class:"tok-propertyName tok-definition"},{tag:L.typeName,class:"tok-typeName"},{tag:L.namespace,class:"tok-namespace"},{tag:L.className,class:"tok-className"},{tag:L.macroName,class:"tok-macroName"},{tag:L.propertyName,class:"tok-propertyName"},{tag:L.operator,class:"tok-operator"},{tag:L.comment,class:"tok-comment"},{tag:L.meta,class:"tok-meta"},{tag:L.invalid,class:"tok-invalid"},{tag:L.punctuation,class:"tok-punctuation"}]);var vc,$r=new Q;var Ew=new Q,Ct=class{constructor(e,t,i=[],r=""){this.data=e,this.name=r,ve.prototype.hasOwnProperty("tree")||Object.defineProperty(ve.prototype,"tree",{get(){return gn(this)}}),this.parser=t,this.extension=[Gi.of(this),ve.languageData.of((s,o,l)=>{let a=wp(s,o,l),c=a.type.prop($r);if(!c)return[];let h=s.facet(c),u=a.type.prop(Ew);if(u){let d=a.resolve(o-a.from,l);for(let f of u)if(f.test(d,s)){let p=s.facet(f.facet);return f.type=="replace"?p:p.concat(h)}}return h})].concat(i)}isActiveAt(e,t,i=-1){return wp(e,t,i).type.prop($r)==this.data}findRegions(e){let t=e.facet(Gi);if(t?.data==this.data)return[{from:0,to:e.doc.length}];if(!t||!t.allowsNesting)return[];let i=[],r=(s,o)=>{if(s.prop($r)==this.data){i.push({from:o,to:o+s.length});return}let l=s.prop(Q.mounted);if(l){if(l.tree.prop($r)==this.data){if(l.overlay)for(let a of l.overlay)i.push({from:a.from+o,to:a.to+o});else i.push({from:o,to:o+s.length});return}else if(l.overlay){let a=i.length;if(r(l.tree,l.overlay[0].from+o),i.length>a)return}}for(let a=0;a<s.children.length;a++){let c=s.children[a];c instanceof Ve&&r(c,s.positions[a]+o)}};return r(gn(e),0),i}get allowsNesting(){return!0}};Ct.setState=ye.define();function wp(n,e,t){let i=n.facet(Gi),r=gn(n).topNode;if(!i||i.allowsNesting)for(let s=r;s;s=s.enter(e,t,Te.ExcludeBuffers|Te.EnterBracketed))s.type.isTop&&(r=s);return r}function gn(n){let e=n.field(Ct.state,!1);return e?e.tree:Ve.empty}var Cc=class{constructor(e){this.doc=e,this.cursorPos=0,this.string="",this.cursor=e.iter()}get length(){return this.doc.length}syncTo(e){return this.string=this.cursor.next(e-this.cursorPos).value,this.cursorPos=e+this.string.length,this.cursorPos-this.string.length}chunk(e){return this.syncTo(e),this.string}get lineChunks(){return!0}read(e,t){let i=this.cursorPos-this.string.length;return e<i||t>=this.cursorPos?this.doc.sliceString(e,t):this.string.slice(e-i,t-i)}},Vr=null,Tc=class n{constructor(e,t,i=[],r,s,o,l,a){this.parser=e,this.state=t,this.fragments=i,this.tree=r,this.treeLen=s,this.viewport=o,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,t,i){return new n(e,t,[],Ve.empty,0,i,[],null)}startParse(){return this.parser.startParse(new Cc(this.state.doc),this.fragments)}work(e,t){return t!=null&&t>=this.state.doc.length&&(t=void 0),this.tree!=Ve.empty&&this.isDone(t??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var i;if(typeof e=="number"){let r=Date.now()+e;e=()=>Date.now()>r}for(this.parse||(this.parse=this.startParse()),t!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>t)&&t<this.state.doc.length&&this.parse.stopAt(t);;){let r=this.parse.advance();if(r)if(this.fragments=this.withoutTempSkipped(li.addTree(r,this.fragments,this.parse.stoppedAt!=null)),this.treeLen=(i=this.parse.stoppedAt)!==null&&i!==void 0?i:this.state.doc.length,this.tree=r,this.parse=null,this.treeLen<(t??this.state.doc.length))this.parse=this.startParse();else return!0;if(e())return!1}})}takeTree(){let e,t;this.parse&&(e=this.parse.parsedPos)>=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(t=this.parse.advance()););}),this.treeLen=e,this.tree=t,this.fragments=this.withoutTempSkipped(li.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let t=Vr;Vr=this;try{return e()}finally{Vr=t}}withoutTempSkipped(e){for(let t;t=this.tempSkipped.pop();)e=xp(e,t.from,t.to);return e}changes(e,t){let{fragments:i,tree:r,treeLen:s,viewport:o,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((c,h,u,d)=>a.push({fromA:c,toA:h,fromB:u,toB:d})),i=li.applyChanges(i,a),r=Ve.empty,s=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){l=[];for(let c of this.skipped){let h=e.mapPos(c.from,1),u=e.mapPos(c.to,-1);h<u&&l.push({from:h,to:u})}}}return new n(this.parser,t,i,r,s,o,l,this.scheduleOn)}updateViewport(e){if(this.viewport.from==e.from&&this.viewport.to==e.to)return!1;this.viewport=e;let t=this.skipped.length;for(let i=0;i<this.skipped.length;i++){let{from:r,to:s}=this.skipped[i];r<e.to&&s>e.from&&(this.fragments=xp(this.fragments,r,s),this.skipped.splice(i--,1))}return this.skipped.length>=t?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,t){this.skipped.push({from:e,to:t})}static getSkippingParser(e){return new class extends xo{createParse(t,i,r){let s=r[0].from,o=r[r.length-1].to;return{parsedPos:s,advance(){let a=Vr;if(a){for(let c of r)a.tempSkipped.push(c);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=o,new Ve(gt.none,[],[],o-s)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let t=this.fragments;return this.treeLen>=e&&t.length&&t[0].from==0&&t[0].to>=e}static get(){return Vr}};function xp(n,e,t){return li.applyChanges(n,[{fromA:e,toA:t,fromB:e,toB:t}])}var Ur=class n{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let t=this.context.changes(e.changes,e.state),i=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),t.viewport.to);return t.work(20,i)||t.takeTree(),new n(t)}static init(e){let t=Math.min(3e3,e.doc.length),i=Tc.create(e.facet(Gi).parser,e,{from:0,to:t});return i.work(20,t)||i.takeTree(),new n(i)}};Ct.state=wt.define({create:Ur.init,update(n,e){for(let t of e.effects)if(t.is(Ct.setState))return t.value;return e.startState.facet(Gi)!=e.state.facet(Gi)?Ur.init(e.state):n.apply(e)}});var Cp=n=>{let e=setTimeout(()=>n(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(Cp=n=>{let e=-1,t=setTimeout(()=>{e=requestIdleCallback(n,{timeout:400})},100);return()=>e<0?clearTimeout(t):cancelIdleCallback(e)});var kc=typeof navigator<"u"&&(!((vc=navigator.scheduling)===null||vc===void 0)&&vc.isInputPending)?()=>navigator.scheduling.isInputPending():null,Dw=Pt.fromClass(class{constructor(e){this.view=e,this.working=null,this.workScheduled=0,this.chunkEnd=-1,this.chunkBudget=-1,this.work=this.work.bind(this),this.scheduleWork()}update(e){let t=this.view.state.field(Ct.state).context;(t.updateViewport(e.view.viewport)||this.view.viewport.to>t.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(t)}scheduleWork(){if(this.working)return;let{state:e}=this.view,t=e.field(Ct.state);(t.tree!=t.context.tree||!t.context.isDone(e.doc.length))&&(this.working=Cp(this.work))}work(e){this.working=null;let t=Date.now();if(this.chunkEnd<t&&(this.chunkEnd<0||this.view.hasFocus)&&(this.chunkEnd=t+3e4,this.chunkBudget=3e3),this.chunkBudget<=0)return;let{state:i,viewport:{to:r}}=this.view,s=i.field(Ct.state);if(s.tree==s.context.tree&&s.context.isDone(r+1e5))return;let o=Date.now()+Math.min(this.chunkBudget,100,e&&!kc?Math.max(25,e.timeRemaining()-5):1e9),l=s.context.treeLen<r&&i.doc.length>r+1e3,a=s.context.work(()=>kc&&kc()||Date.now()>o,r+(l?0:1e5));this.chunkBudget-=Date.now()-t,(a||this.chunkBudget<=0)&&(s.context.takeTree(),this.view.dispatch({effects:Ct.setState.of(new Ur(s.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(s.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(t=>Lt(this.view.state,t)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Gi=U.define({combine(n){return n.length?n[0]:null},enables:n=>[Ct.state,Dw,j.contentAttributes.compute([n],e=>{let t=e.facet(n);return t&&t.name?{"data-language":t.name}:{}})]});var Rw=U.define(),To=U.define({combine:n=>{if(!n.length)return" ";let e=n[0];if(!e||/\S/.test(e)||Array.from(e).some(t=>t!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(n[0]));return e}});function Kr(n){let e=n.facet(To);return e.charCodeAt(0)==9?n.tabSize*e.length:e.length}function jr(n,e){let t="",i=n.tabSize,r=n.facet(To)[0];if(r==" "){for(;e>=i;)t+=" ",e-=i;r=" "}for(let s=0;s<e;s++)t+=r;return t}function Rc(n,e){n instanceof ve&&(n=new ci(n));for(let i of n.state.facet(Rw)){let r=i(n,e);if(r!==void 0)return r}let t=gn(n.state);return t.length>=e?Ow(n,t,e):null}var ci=class{constructor(e,t={}){this.state=e,this.options=t,this.unit=Kr(e)}lineAt(e,t=1){let i=this.state.doc.lineAt(e),{simulateBreak:r,simulateDoubleBreak:s}=this.options;return r!=null&&r>=i.from&&r<=i.to?s&&r==e?{text:"",from:e}:(t<0?r<e:r<=e)?{text:i.text.slice(r-i.from),from:r}:{text:i.text.slice(0,r-i.from),from:i.from}:i}textAfterPos(e,t=1){if(this.options.simulateDoubleBreak&&e==this.options.simulateBreak)return"";let{text:i,from:r}=this.lineAt(e,t);return i.slice(e-r,Math.min(i.length,e+100-r))}column(e,t=1){let{text:i,from:r}=this.lineAt(e,t),s=this.countColumn(i,e-r),o=this.options.overrideIndentation?this.options.overrideIndentation(r):-1;return o>-1&&(s+=o-this.countColumn(i,i.search(/\S|$/))),s}countColumn(e,t=e.length){return Qn(e,this.state.tabSize,t)}lineIndent(e,t=1){let{text:i,from:r}=this.lineAt(e,t),s=this.options.overrideIndentation;if(s){let o=s(r);if(o>-1)return o}return this.countColumn(i,i.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}},Lw=new Q;function Ow(n,e,t){let i=e.resolveStack(t),r=e.resolveInner(t,-1).resolve(t,0).enterUnfinishedNodesBefore(t);if(r!=i.node){let s=[];for(let o=r;o&&!(o.from<i.node.from||o.to>i.node.to||o.from==i.node.from&&o.type==i.node.type);o=o.parent)s.push(o);for(let o=s.length-1;o>=0;o--)i={node:s[o],next:i}}return Tp(i,n,t)}function Tp(n,e,t){for(let i=n;i;i=i.next){let r=Iw(i.node);if(r)return r(Ac.create(e,t,i))}return 0}function Pw(n){return n.pos==n.options.simulateBreak&&n.options.simulateDoubleBreak}function Iw(n){let e=n.type.prop(Lw);if(e)return e;let t=n.firstChild,i;if(t&&(i=t.type.prop(Q.closedBy))){let r=n.lastChild,s=r&&i.indexOf(r.name)>-1;return o=>Hw(o,!0,1,void 0,s&&!Pw(o)?r.from:void 0)}return n.parent==null?Nw:null}function Nw(){return 0}var Ac=class n extends ci{constructor(e,t,i){super(e.state,e.options),this.base=e,this.pos=t,this.context=i}get node(){return this.context.node}static create(e,t,i){return new n(e,t,i)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let t=this.state.doc.lineAt(e.from);for(;;){let i=e.resolve(t.from);for(;i.parent&&i.parent.from==i.from;)i=i.parent;if(Bw(i,e))break;t=this.state.doc.lineAt(i.from)}return this.lineIndent(t.from)}continue(){return Tp(this.context.next,this.base,this.pos)}};function Bw(n,e){for(let t=e;t;t=t.parent)if(n==t)return!0;return!1}function _w(n){let e=n.node,t=e.childAfter(e.from),i=e.lastChild;if(!t)return null;let r=n.options.simulateBreak,s=n.state.doc.lineAt(t.from),o=r==null||r<=s.from?s.to:Math.min(s.to,r);for(let l=t.to;;){let a=e.childAfter(l);if(!a||a==i)return null;if(!a.type.isSkipped){if(a.from>=o)return null;let c=/^ */.exec(s.text.slice(t.to-s.from))[0].length;return{from:t.from,to:t.to+c}}l=a.to}}function Hw(n,e,t,i,r){let s=n.textAfter,o=s.match(/^\s*/)[0].length,l=i&&s.slice(o,o+i.length)==i||r==n.pos+o,a=e?_w(n):null;return a?l?n.column(a.from):n.column(a.to):n.baseIndent+(l?0:n.unit*t)}var Mc=class n{constructor(e,t){this.specs=e;let i;function r(l){let a=xt.newName();return(i||(i=Object.create(null)))["."+a]=l,a}let s=typeof t.all=="string"?t.all:t.all?r(t.all):void 0,o=t.scope;this.scope=o instanceof Ct?l=>l.prop($r)==o.data:o?l=>l==o:void 0,this.style=xc(e.map(l=>({tag:l.tag,class:l.class||r(Object.assign({},l,{tag:null}))})),{all:s}).style,this.module=i?new xt(i):null,this.themeType=t.themeType}static define(e,t){return new n(e,t||{})}};var dk=Mc.define([{tag:L.meta,color:"#404740"},{tag:L.link,textDecoration:"underline"},{tag:L.heading,textDecoration:"underline",fontWeight:"bold"},{tag:L.emphasis,fontStyle:"italic"},{tag:L.strong,fontWeight:"bold"},{tag:L.strikethrough,textDecoration:"line-through"},{tag:L.keyword,color:"#708"},{tag:[L.atom,L.bool,L.url,L.contentSeparator,L.labelName],color:"#219"},{tag:[L.literal,L.inserted],color:"#164"},{tag:[L.string,L.deleted],color:"#a11"},{tag:[L.regexp,L.escape,L.special(L.string)],color:"#e40"},{tag:L.definition(L.variableName),color:"#00f"},{tag:L.local(L.variableName),color:"#30a"},{tag:[L.typeName,L.namespace],color:"#085"},{tag:L.className,color:"#167"},{tag:[L.special(L.variableName),L.macroName],color:"#256"},{tag:L.definition(L.propertyName),color:"#00c"},{tag:L.comment,color:"#940"},{tag:L.invalid,color:"#f00"}]);var Fw=1e4,zw="()[]{}";var Ww=new Q;function Ec(n,e,t){let i=n.prop(e<0?Q.openedBy:Q.closedBy);if(i)return i;if(n.name.length==1){let r=t.indexOf(n.name);if(r>-1&&r%2==(e<0?1:0))return[t[r+e]]}return null}function Dc(n){let e=n.type.prop(Ww);return e?e(n.node):n}function hi(n,e,t,i={}){let r=i.maxScanDistance||Fw,s=i.brackets||zw,o=gn(n),l=o.resolveInner(e,t);for(let a=l;a;a=a.parent){let c=Ec(a.type,t,s);if(c&&a.from<a.to){let h=Dc(a);if(h&&(t>0?e>=h.from&&e<h.to:e>h.from&&e<=h.to))return Vw(n,e,t,a,h,c,s)}}return $w(n,e,t,o,l.type,r,s)}function Vw(n,e,t,i,r,s,o){let l=i.parent,a={from:r.from,to:r.to},c=0,h=l?.cursor();if(h&&(t<0?h.childBefore(i.from):h.childAfter(i.to)))do if(t<0?h.to<=i.from:h.from>=i.to){if(c==0&&s.indexOf(h.type.name)>-1&&h.from<h.to){let u=Dc(h);return{start:a,end:u?{from:u.from,to:u.to}:void 0,matched:!0}}else if(Ec(h.type,t,o))c++;else if(Ec(h.type,-t,o)){if(c==0){let u=Dc(h);return{start:a,end:u&&u.from<u.to?{from:u.from,to:u.to}:void 0,matched:!1}}c--}}while(t<0?h.prevSibling():h.nextSibling());return{start:a,matched:!1}}function $w(n,e,t,i,r,s,o){if(t<0?!e:e==n.doc.length)return null;let l=t<0?n.sliceDoc(e-1,e):n.sliceDoc(e,e+1),a=o.indexOf(l);if(a<0||a%2==0!=t>0)return null;let c={from:t<0?e-1:e,to:t>0?e+1:e},h=n.doc.iterRange(e,t>0?n.doc.length:0),u=0;for(let d=0;!h.next().done&&d<=s;){let f=h.value;t<0&&(d+=f.length);let p=e+d*t;for(let g=t>0?0:f.length-1,b=t>0?f.length:-1;g!=b;g+=t){let y=o.indexOf(f[g]);if(!(y<0||i.resolveInner(p+g,1).type!=r))if(y%2==0==t>0)u++;else{if(u==1)return{start:c,end:{from:p+g,to:p+g+1},matched:y>>1==a>>1};u--}}t>0&&(d+=f.length)}return h.done?{start:c,matched:!1}:null}var Uw=Object.create(null),vp=[gt.none];var kp=[],Sp=Object.create(null),Kw=Object.create(null);for(let[n,e]of[["variable","variableName"],["variable-2","variableName.special"],["string-2","string.special"],["def","variableName.definition"],["tag","tagName"],["attribute","attributeName"],["type","typeName"],["builtin","variableName.standard"],["qualifier","modifier"],["error","invalid"],["header","heading"],["property","propertyName"]])Kw[n]=jw(Uw,e);function Sc(n,e){kp.indexOf(n)>-1||(kp.push(n),console.warn(e))}function jw(n,e){let t=[];for(let l of e.split(" ")){let a=[];for(let c of l.split(".")){let h=n[c]||L[c];h?typeof h=="function"?a.length?a=a.map(h):Sc(c,`Modifier ${c} used at start of tag`):a.length?Sc(c,`Tag ${c} used as modifier`):a=Array.isArray(h)?h:[h]:Sc(c,`Unknown highlighting tag ${c}`)}for(let c of a)t.push(c)}if(!t.length)return 0;let i=e.replace(/ /g,"_"),r=i+" "+t.map(l=>l.id),s=Sp[r];if(s)return s.id;let o=Sp[r]=gt.define({id:vp.length,name:i,props:[yp({[i]:t})]});return vp.push(o),o.id}var fk={rtl:me.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"rtl"},bidiIsolate:ge.RTL}),ltr:me.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"ltr"},bidiIsolate:ge.LTR}),auto:me.mark({class:"cm-iso",inclusive:!0,attributes:{dir:"auto"},bidiIsolate:null})};var Gw=n=>{let{state:e}=n,t=e.doc.lineAt(e.selection.main.from),i=_c(n.state,t.from);return i.line?qw(n):i.block?Yw(n):!1};function Bc(n,e){return({state:t,dispatch:i})=>{if(t.readOnly)return!1;let r=n(e,t);return r?(i(t.update(r)),!0):!1}}var qw=Bc(Qw,0);var Xw=Bc(Ip,0);var Yw=Bc((n,e)=>Ip(n,e,Zw(e)),0);function _c(n,e){let t=n.languageDataAt("commentTokens",e,1);return t.length?t[0]:{}}var Gr=50;function Jw(n,{open:e,close:t},i,r){let s=n.sliceDoc(i-Gr,i),o=n.sliceDoc(r,r+Gr),l=/\s*$/.exec(s)[0].length,a=/^\s*/.exec(o)[0].length,c=s.length-l;if(s.slice(c-e.length,c)==e&&o.slice(a,a+t.length)==t)return{open:{pos:i-l,margin:l&&1},close:{pos:r+a,margin:a&&1}};let h,u;r-i<=2*Gr?h=u=n.sliceDoc(i,r):(h=n.sliceDoc(i,i+Gr),u=n.sliceDoc(r-Gr,r));let d=/^\s*/.exec(h)[0].length,f=/\s*$/.exec(u)[0].length,p=u.length-f-t.length;return h.slice(d,d+e.length)==e&&u.slice(p,p+t.length)==t?{open:{pos:i+d+e.length,margin:/\s/.test(h.charAt(d+e.length))?1:0},close:{pos:r-f-t.length,margin:/\s/.test(u.charAt(p-1))?1:0}}:null}function Zw(n){let e=[];for(let t of n.selection.ranges){let i=n.doc.lineAt(t.from),r=t.to<=i.to?i:n.doc.lineAt(t.to);r.from>i.from&&r.from==t.to&&(r=t.to==i.to+1?i:n.doc.lineAt(t.to-1));let s=e.length-1;s>=0&&e[s].to>i.from?e[s].to=r.to:e.push({from:i.from+/^\s*/.exec(i.text)[0].length,to:r.to})}return e}function Ip(n,e,t=e.selection.ranges){let i=t.map(s=>_c(e,s.from).block);if(!i.every(s=>s))return null;let r=t.map((s,o)=>Jw(e,i[o],s.from,s.to));if(n!=2&&!r.every(s=>s))return{changes:e.changes(t.map((s,o)=>r[o]?[]:[{from:s.from,insert:i[o].open+" "},{from:s.to,insert:" "+i[o].close}]))};if(n!=1&&r.some(s=>s)){let s=[];for(let o=0,l;o<r.length;o++)if(l=r[o]){let a=i[o],{open:c,close:h}=l;s.push({from:c.pos-a.open.length,to:c.pos+c.margin},{from:h.pos-h.margin,to:h.pos+a.close.length})}return{changes:s}}return null}function Qw(n,e,t=e.selection.ranges){let i=[],r=-1;e:for(let{from:s,to:o}of t){let l=i.length,a=1e9,c;for(let h=s;h<=o;){let u=e.doc.lineAt(h);if(c==null&&(c=_c(e,u.from).line,!c))continue e;if(u.from>r&&(s==o||o>u.from)){r=u.from;let d=/^\s*/.exec(u.text)[0].length,f=d==u.length,p=u.text.slice(d,d+c.length)==c?d:-1;d<u.text.length&&d<a&&(a=d),i.push({line:u,comment:p,token:c,indent:d,empty:f,single:!1})}h=u.to+1}if(a<1e9)for(let h=l;h<i.length;h++)i[h].indent<i[h].line.text.length&&(i[h].indent=a);i.length==l+1&&(i[l].single=!0)}if(n!=2&&i.some(s=>s.comment<0&&(!s.empty||s.single))){let s=[];for(let{line:l,token:a,indent:c,empty:h,single:u}of i)(u||!h)&&s.push({from:l.from+c,insert:a+" "});let o=e.changes(s);return{changes:o,selection:e.selection.map(o,1)}}else if(n!=1&&i.some(s=>s.comment>=0)){let s=[];for(let{line:o,comment:l,token:a}of i)if(l>=0){let c=o.from+l,h=c+a.length;o.text[h-o.from]==" "&&h++,s.push({from:c,to:h})}return{changes:s}}return null}var Oc=at.define(),ex=at.define(),tx=U.define(),Np=U.define({combine(n){return Oi(n,{minDepth:100,newGroupDelay:500,joinToEvent:(e,t)=>t},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,t)=>(i,r)=>e(i,r)||t(i,r)})}}),Bp=wt.define({create(){return ui.empty},update(n,e){let t=e.state.facet(Np),i=e.annotation(Oc);if(i){let a=_t.fromTransaction(e,i.selection),c=i.side,h=c==0?n.undone:n.done;return a?h=Mo(h,h.length,t.minDepth,a):h=zp(h,e.startState.selection),new ui(c==0?i.rest:h,c==0?h:i.rest)}let r=e.annotation(ex);if((r=="full"||r=="before")&&(n=n.isolate()),e.annotation(De.addToHistory)===!1)return e.changes.empty?n:n.addMapping(e.changes.desc);let s=_t.fromTransaction(e),o=e.annotation(De.time),l=e.annotation(De.userEvent);return s?n=n.addChanges(s,o,l,t,e):e.selection&&(n=n.addSelection(e.startState.selection,o,l,t.newGroupDelay)),(r=="full"||r=="after")&&(n=n.isolate()),n},toJSON(n){return{done:n.done.map(e=>e.toJSON()),undone:n.undone.map(e=>e.toJSON())}},fromJSON(n){return new ui(n.done.map(_t.fromJSON),n.undone.map(_t.fromJSON))}});function _p(n={}){return[Bp,Np.of(n),j.domEventHandlers({beforeinput(e,t){let i=e.inputType=="historyUndo"?Hp:e.inputType=="historyRedo"?Pc:null;return i?(e.preventDefault(),i(t)):!1}})]}function Eo(n,e){return function({state:t,dispatch:i}){if(!e&&t.readOnly)return!1;let r=t.field(Bp,!1);if(!r)return!1;let s=r.pop(n,t,e);return s?(i(s),!0):!1}}var Hp=Eo(0,!1),Pc=Eo(1,!1),nx=Eo(0,!0),ix=Eo(1,!0);var _t=class n{constructor(e,t,i,r,s){this.changes=e,this.effects=t,this.mapped=i,this.startSelection=r,this.selectionsAfter=s}setSelAfter(e){return new n(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,t,i;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(t=this.mapped)===null||t===void 0?void 0:t.toJSON(),startSelection:(i=this.startSelection)===null||i===void 0?void 0:i.toJSON(),selectionsAfter:this.selectionsAfter.map(r=>r.toJSON())}}static fromJSON(e){return new n(e.changes&&Ze.fromJSON(e.changes),[],e.mapped&&hn.fromJSON(e.mapped),e.startSelection&&D.fromJSON(e.startSelection),e.selectionsAfter.map(D.fromJSON))}static fromTransaction(e,t){let i=Tt;for(let r of e.startState.facet(tx)){let s=r(e);s.length&&(i=i.concat(s))}return!i.length&&e.changes.empty?null:new n(e.changes.invert(e.startState.doc),i,void 0,t||e.startState.selection,Tt)}static selection(e){return new n(void 0,Tt,void 0,void 0,e)}};function Mo(n,e,t,i){let r=e+1>t+20?e-t-1:0,s=n.slice(r,e);return s.push(i),s}function rx(n,e){let t=[],i=!1;return n.iterChangedRanges((r,s)=>t.push(r,s)),e.iterChangedRanges((r,s,o,l)=>{for(let a=0;a<t.length;){let c=t[a++],h=t[a++];l>=c&&o<=h&&(i=!0)}}),i}function sx(n,e){return n.ranges.length==e.ranges.length&&n.ranges.filter((t,i)=>t.empty!=e.ranges[i].empty).length===0}function Fp(n,e){return n.length?e.length?n.concat(e):n:e}var Tt=[],ox=200;function zp(n,e){if(n.length){let t=n[n.length-1],i=t.selectionsAfter.slice(Math.max(0,t.selectionsAfter.length-ox));return i.length&&i[i.length-1].eq(e)?n:(i.push(e),Mo(n,n.length-1,1e9,t.setSelAfter(i)))}else return[_t.selection([e])]}function lx(n){let e=n[n.length-1],t=n.slice();return t[n.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),t}function Lc(n,e){if(!n.length)return n;let t=n.length,i=Tt;for(;t;){let r=ax(n[t-1],e,i);if(r.changes&&!r.changes.empty||r.effects.length){let s=n.slice(0,t);return s[t-1]=r,s}else e=r.mapped,t--,i=r.selectionsAfter}return i.length?[_t.selection(i)]:Tt}function ax(n,e,t){let i=Fp(n.selectionsAfter.length?n.selectionsAfter.map(l=>l.map(e)):Tt,t);if(!n.changes)return _t.selection(i);let r=n.changes.map(e),s=e.mapDesc(n.changes,!0),o=n.mapped?n.mapped.composeDesc(s):s;return new _t(r,ye.mapEffects(n.effects,e),o,n.startSelection.map(s),i)}var cx=/^(input\.type|delete)($|\.)/,ui=class n{constructor(e,t,i=0,r=void 0){this.done=e,this.undone=t,this.prevTime=i,this.prevUserEvent=r}isolate(){return this.prevTime?new n(this.done,this.undone):this}addChanges(e,t,i,r,s){let o=this.done,l=o[o.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!i||cx.test(i))&&(!l.selectionsAfter.length&&t-this.prevTime<r.newGroupDelay&&r.joinToEvent(s,rx(l.changes,e.changes))||i=="input.type.compose")?o=Mo(o,o.length-1,r.minDepth,new _t(e.changes.compose(l.changes),Fp(ye.mapEffects(e.effects,l.changes),l.effects),l.mapped,l.startSelection,Tt)):o=Mo(o,o.length,r.minDepth,e),new n(o,Tt,t,i)}addSelection(e,t,i,r){let s=this.done.length?this.done[this.done.length-1].selectionsAfter:Tt;return s.length>0&&t-this.prevTime<r&&i==this.prevUserEvent&&i&&/^select($|\.)/.test(i)&&sx(s[s.length-1],e)?this:new n(zp(this.done,e),this.undone,t,i)}addMapping(e){return new n(Lc(this.done,e),Lc(this.undone,e),this.prevTime,this.prevUserEvent)}pop(e,t,i){let r=e==0?this.done:this.undone;if(r.length==0)return null;let s=r[r.length-1],o=s.selectionsAfter[0]||(s.startSelection?s.startSelection.map(s.changes.invertedDesc,1):t.selection);if(i&&s.selectionsAfter.length)return t.update({selection:s.selectionsAfter[s.selectionsAfter.length-1],annotations:Oc.of({side:e,rest:lx(r),selection:o}),userEvent:e==0?"select.undo":"select.redo",scrollIntoView:!0});if(s.changes){let l=r.length==1?Tt:r.slice(0,r.length-1);return s.mapped&&(l=Lc(l,s.mapped)),t.update({changes:s.changes,selection:s.startSelection,effects:s.effects,annotations:Oc.of({side:e,rest:l,selection:o}),filter:!1,userEvent:e==0?"undo":"redo",scrollIntoView:!0})}else return null}};ui.empty=new ui(Tt,Tt);var Wp=[{key:"Mod-z",run:Hp,preventDefault:!0},{key:"Mod-y",mac:"Mod-Shift-z",run:Pc,preventDefault:!0},{linux:"Ctrl-Shift-z",run:Pc,preventDefault:!0},{key:"Mod-u",run:nx,preventDefault:!0},{key:"Alt-u",mac:"Mod-Shift-u",run:ix,preventDefault:!0}];function qi(n,e){return D.create(n.ranges.map(e),n.mainIndex)}function Ht(n,e){return n.update({selection:e,scrollIntoView:!0,userEvent:"select"})}function Ft({state:n,dispatch:e},t){let i=qi(n.selection,t);return i.eq(n.selection,!0)?!1:(e(Ht(n,i)),!0)}function Do(n,e){return D.cursor(e?n.to:n.from)}function Vp(n,e){return Ft(n,t=>t.empty?n.moveByChar(t,e):Do(t,e))}function je(n){return n.textDirectionAt(n.state.selection.main.head)==ge.LTR}var $p=n=>Vp(n,!je(n)),Up=n=>Vp(n,je(n));function Kp(n,e){return Ft(n,t=>t.empty?n.moveByGroup(t,e):Do(t,e))}var hx=n=>Kp(n,!je(n)),ux=n=>Kp(n,je(n));var xk=typeof Intl<"u"&&Intl.Segmenter?new Intl.Segmenter(void 0,{granularity:"word"}):null;function dx(n,e,t){if(e.type.prop(t))return!0;let i=e.to-e.from;return i&&(i>2||/[^\s,.;:]/.test(n.sliceDoc(e.from,e.to)))||e.firstChild}function Ro(n,e,t){let i=gn(n).resolveInner(e.head),r=t?Q.closedBy:Q.openedBy;for(let a=e.head;;){let c=t?i.childAfter(a):i.childBefore(a);if(!c)break;dx(n,c,r)?i=c:a=t?c.to:c.from}let s=i.type.prop(r),o,l;return s&&(o=t?hi(n,i.from,1):hi(n,i.to,-1))&&o.matched?l=t?o.end.to:o.end.from:l=t?i.to:i.from,D.cursor(l,t?-1:1)}var fx=n=>Ft(n,e=>Ro(n.state,e,!je(n))),px=n=>Ft(n,e=>Ro(n.state,e,je(n)));function jp(n,e){return Ft(n,t=>{if(!t.empty)return Do(t,e);let i=n.moveVertically(t,e);return i.head!=t.head?i:n.moveToLineBoundary(t,e)})}var Gp=n=>jp(n,!1),qp=n=>jp(n,!0);function Xp(n){let e=n.scrollDOM.clientHeight<n.scrollDOM.scrollHeight-2,t=0,i=0,r;if(e){for(let s of n.state.facet(j.scrollMargins)){let o=s(n);o?.top&&(t=Math.max(o?.top,t)),o?.bottom&&(i=Math.max(o?.bottom,i))}r=n.scrollDOM.clientHeight-t-i}else r=(n.dom.ownerDocument.defaultView||window).innerHeight;return{marginTop:t,marginBottom:i,selfScroll:e,height:Math.max(n.defaultLineHeight,r-5)}}function Yp(n,e){let t=Xp(n),{state:i}=n,r=qi(i.selection,o=>o.empty?n.moveVertically(o,e,t.height):Do(o,e));if(r.eq(i.selection))return!1;let s;if(t.selfScroll){let o=n.coordsAtPos(i.selection.main.head),l=n.scrollDOM.getBoundingClientRect(),a=l.top+t.marginTop,c=l.bottom-t.marginBottom;o&&o.top>a&&o.bottom<c&&(s=j.scrollIntoView(r.main.head,{y:"start",yMargin:o.top-a}))}return n.dispatch(Ht(i,r),{effects:s}),!0}var Ap=n=>Yp(n,!1),Ic=n=>Yp(n,!0);function Nn(n,e,t){let i=n.lineBlockAt(e.head),r=n.moveToLineBoundary(e,t);if(r.head==e.head&&r.head!=(t?i.to:i.from)&&(r=n.moveToLineBoundary(e,t,!1)),!t&&r.head==i.from&&i.length){let s=/^\s*/.exec(n.state.sliceDoc(i.from,Math.min(i.from+100,i.to)))[0].length;s&&e.head!=i.from+s&&(r=D.cursor(i.from+s))}return r}var mx=n=>Ft(n,e=>Nn(n,e,!0)),gx=n=>Ft(n,e=>Nn(n,e,!1)),bx=n=>Ft(n,e=>Nn(n,e,!je(n))),yx=n=>Ft(n,e=>Nn(n,e,je(n))),wx=n=>Ft(n,e=>n.moveToLineBoundary(e,!1,!1)),xx=n=>Ft(n,e=>n.moveToLineBoundary(e,!0,!1));function vx(n,e,t){let i=!1,r=qi(n.selection,s=>{let o=hi(n,s.head,-1)||hi(n,s.head,1)||s.head>0&&hi(n,s.head-1,1)||s.head<n.doc.length&&hi(n,s.head+1,-1);if(!o||!o.end)return s;i=!0;let l=o.start.from==s.head?o.end.to:o.end.from;return t?D.range(s.anchor,l):D.cursor(l)});return i?(e(Ht(n,r)),!0):!1}var kx=({state:n,dispatch:e})=>vx(n,e,!1);function At(n,e,t){let i=qi(n.state.selection,r=>{r.undirectional&&r.head>=r.anchor!=e&&(r=D.range(r.head,r.anchor));let s=t(r);return D.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return i.eq(n.state.selection)?!1:(n.dispatch(Ht(n.state,i)),!0)}function Jp(n,e){return At(n,e,t=>n.moveByChar(t,e))}var Zp=n=>Jp(n,!je(n)),Qp=n=>Jp(n,je(n));function em(n,e){return At(n,e,t=>n.moveByGroup(t,e))}var Sx=n=>em(n,!je(n)),Cx=n=>em(n,je(n));var Tx=n=>{let e=!je(n);return At(n,e,t=>Ro(n.state,t,e))},Ax=n=>{let e=je(n);return At(n,e,t=>Ro(n.state,t,e))};function tm(n,e){return At(n,e,t=>n.moveVertically(t,e))}var nm=n=>tm(n,!1),im=n=>tm(n,!0);function rm(n,e){return At(n,e,t=>n.moveVertically(t,e,Xp(n).height))}var Mp=n=>rm(n,!1),Ep=n=>rm(n,!0),Mx=n=>At(n,!0,e=>Nn(n,e,!0)),Ex=n=>At(n,!1,e=>Nn(n,e,!1)),Dx=n=>{let e=!je(n);return At(n,e,t=>Nn(n,t,e))},Rx=n=>{let e=je(n);return At(n,e,t=>Nn(n,t,e))},Lx=n=>At(n,!1,e=>D.cursor(n.lineBlockAt(e.head).from)),Ox=n=>At(n,!0,e=>D.cursor(n.lineBlockAt(e.head).to)),Dp=({state:n,dispatch:e})=>(e(Ht(n,{anchor:0})),!0),Rp=({state:n,dispatch:e})=>(e(Ht(n,{anchor:n.doc.length})),!0),Lp=({state:n,dispatch:e})=>(e(Ht(n,{anchor:n.selection.main.anchor,head:0})),!0),Op=({state:n,dispatch:e})=>(e(Ht(n,{anchor:n.selection.main.anchor,head:n.doc.length})),!0),Px=({state:n,dispatch:e})=>(e(n.update({selection:{anchor:0,head:n.doc.length},userEvent:"select"})),!0),Ix=({state:n,dispatch:e})=>{let t=Lo(n).map(({from:i,to:r})=>D.undirectionalRange(i,Math.min(r+1,n.doc.length)));return e(n.update({selection:D.create(t),userEvent:"select"})),!0},Nx=({state:n,dispatch:e})=>{let t=qi(n.selection,i=>{let r=gn(n),s=r.resolveStack(i.from,1);if(i.empty){let o=r.resolveStack(i.from,-1);o.node.from>=s.node.from&&o.node.to<=s.node.to&&(s=o)}for(let o=s;o;o=o.next){let{node:l}=o;if((l.from<i.from&&l.to>=i.to||l.to>i.to&&l.from<=i.from)&&o.next)return D.undirectionalRange(l.from,l.to)}return i});return t.eq(n.selection)?!1:(e(Ht(n,t)),!0)};function sm(n,e){let{state:t}=n,i=t.selection,r=t.selection.ranges.slice();for(let s of t.selection.ranges){let o=t.doc.lineAt(s.head);if(e?o.to<n.state.doc.length:o.from>0)for(let l=s;;){let a=n.moveVertically(l,e);if(a.head<o.from||a.head>o.to){r.some(c=>c.head==a.head)||r.push(a);break}else{if(a.head==l.head)break;l=a}}}return r.length==i.ranges.length?!1:(n.dispatch(Ht(t,D.create(r,r.length-1))),!0)}var Bx=n=>sm(n,!1),_x=n=>sm(n,!0),Hx=({state:n,dispatch:e})=>{let t=n.selection,i=null;return t.ranges.length>1?i=D.create([t.main]):t.main.empty||(i=D.create([D.cursor(t.main.head)])),i?(e(Ht(n,i)),!0):!1};function qr(n,e){if(n.state.readOnly)return!1;let t="delete.selection",{state:i}=n,r=i.changeByRange(s=>{let{from:o,to:l}=s;if(o==l){let a=e(s);a<o?(t="delete.backward",a=Ao(n,a,!1)):a>o&&(t="delete.forward",a=Ao(n,a,!0)),o=Math.min(o,a),l=Math.max(l,a)}else o=Ao(n,o,!1),l=Ao(n,l,!0);return o==l?{range:s}:{changes:{from:o,to:l},range:D.cursor(o,o<s.head?-1:1)}});return r.changes.empty?!1:(n.dispatch(i.update(r,{scrollIntoView:!0,userEvent:t,effects:t=="delete.selection"?j.announce.of(i.phrase("Selection deleted")):void 0})),!0)}function Ao(n,e,t){if(n instanceof j)for(let i of n.state.facet(j.atomicRanges).map(r=>r(n)))i.between(e,e,(r,s)=>{r<e&&s>e&&(e=t?s:r)});return e}var om=(n,e,t)=>qr(n,i=>{let r=i.from,{state:s}=n,o=s.doc.lineAt(r),l,a;if(t&&!e&&r>o.from&&r<o.from+200&&!/[^ \t]/.test(l=o.text.slice(0,r-o.from))){if(l[l.length-1]==" ")return r-1;let c=Qn(l,s.tabSize),h=c%Kr(s)||Kr(s);for(let u=0;u<h&&l[l.length-1-u]==" ";u++)r--;a=r}else a=_e(o.text,r-o.from,e,e)+o.from,a==r&&o.number!=(e?s.doc.lines:1)?a+=e?1:-1:!e&&/[\ufe00-\ufe0f]/.test(o.text.slice(a-o.from,r-o.from))&&(a=_e(o.text,a-o.from,!1,!1)+o.from);return a}),Nc=n=>om(n,!1,!0);var lm=n=>om(n,!0,!1),am=(n,e)=>qr(n,t=>{let i=t.head,{state:r}=n,s=r.doc.lineAt(i),o=r.charCategorizer(i);for(let l=null;;){if(i==(e?s.to:s.from)){i==t.head&&s.number!=(e?r.doc.lines:1)&&(i+=e?1:-1);break}let a=_e(s.text,i-s.from,e)+s.from,c=s.text.slice(Math.min(i,a)-s.from,Math.max(i,a)-s.from),h=o(c);if(l!=null&&h!=l)break;(c!=" "||i!=t.head)&&(l=h),i=a}return i}),cm=n=>am(n,!1),Fx=n=>am(n,!0);var zx=n=>qr(n,e=>{let t=n.lineBlockAt(e.head).to;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)});var Wx=n=>qr(n,e=>{let t=n.moveToLineBoundary(e,!1).head;return e.head>t?t:Math.max(0,e.head-1)}),Vx=n=>qr(n,e=>{let t=n.moveToLineBoundary(e,!0).head;return e.head<t?t:Math.min(n.state.doc.length,e.head+1)});var $x=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:ee.of(["",""])},range:D.cursor(i.from)}));return e(n.update(t,{scrollIntoView:!0,userEvent:"input"})),!0},Ux=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=n.changeByRange(i=>{if(!i.empty||i.from==0||i.from==n.doc.length)return{range:i};let r=i.from,s=n.doc.lineAt(r),o=r==s.from?r-1:_e(s.text,r-s.from,!1)+s.from,l=r==s.to?r+1:_e(s.text,r-s.from,!0)+s.from;return{changes:{from:o,to:l,insert:n.doc.slice(r,l).append(n.doc.slice(o,r))},range:D.cursor(l)}});return t.changes.empty?!1:(e(n.update(t,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function Lo(n){let e=[],t=-1;for(let i of n.selection.ranges){let r=n.doc.lineAt(i.from),s=n.doc.lineAt(i.to);if(!i.empty&&i.to==s.from&&(s=n.doc.lineAt(i.to-1)),t>=r.number){let o=e[e.length-1];o.to=s.to,o.ranges.push(i)}else e.push({from:r.from,to:s.to,ranges:[i]});t=s.number+1}return e}function hm(n,e,t){if(n.readOnly)return!1;let i=[],r=[];for(let s of Lo(n)){if(t?s.to==n.doc.length:s.from==0)continue;let o=n.doc.lineAt(t?s.to+1:s.from-1),l=o.length+1;if(t){i.push({from:s.to,to:o.to},{from:s.from,insert:o.text+n.lineBreak});for(let a of s.ranges)r.push(D.range(Math.min(n.doc.length,a.anchor+l),Math.min(n.doc.length,a.head+l)))}else{i.push({from:o.from,to:s.from},{from:s.to,insert:n.lineBreak+o.text});for(let a of s.ranges)r.push(D.range(a.anchor-l,a.head-l))}}return i.length?(e(n.update({changes:i,scrollIntoView:!0,selection:D.create(r,n.selection.mainIndex),userEvent:"move.line"})),!0):!1}var Kx=({state:n,dispatch:e})=>hm(n,e,!1),jx=({state:n,dispatch:e})=>hm(n,e,!0);function um(n,e,t){if(n.readOnly)return!1;let i=[];for(let s of Lo(n))t?i.push({from:s.from,insert:n.doc.slice(s.from,s.to)+n.lineBreak}):i.push({from:s.to,insert:n.lineBreak+n.doc.slice(s.from,s.to)});let r=n.changes(i);return e(n.update({changes:r,selection:n.selection.map(r,t?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}var Gx=({state:n,dispatch:e})=>um(n,e,!1),qx=({state:n,dispatch:e})=>um(n,e,!0),Xx=n=>{if(n.state.readOnly)return!1;let{state:e}=n,t=e.changes(Lo(e).map(({from:r,to:s})=>(r>0?r--:s<e.doc.length&&s++,{from:r,to:s}))),i=qi(e.selection,r=>{let s;if(n.lineWrapping){let o=n.lineBlockAt(r.head),l=n.coordsAtPos(r.head,r.assoc||1);l&&(s=o.bottom+n.documentTop-l.bottom+n.defaultLineHeight/2)}return n.moveVertically(r,!0,s)}).map(t);return n.dispatch({changes:t,selection:i,scrollIntoView:!0,userEvent:"delete.line"}),!0};function Yx(n,e){if(/\(\)|\[\]|\{\}/.test(n.sliceDoc(e-1,e+1)))return{from:e,to:e};let t=gn(n).resolveInner(e),i=t.childBefore(e),r=t.childAfter(e),s;return i&&r&&i.to<=e&&r.from>=e&&(s=i.type.prop(Q.closedBy))&&s.indexOf(r.name)>-1&&n.doc.lineAt(i.to).from==n.doc.lineAt(r.from).from&&!/\S/.test(n.sliceDoc(i.to,r.from))?{from:i.to,to:r.from}:null}var Pp=dm(!1),Jx=dm(!0);function dm(n){return({state:e,dispatch:t})=>{if(e.readOnly)return!1;let i=e.changeByRange(r=>{let{from:s,to:o}=r,l=e.doc.lineAt(s),a=!n&&s==o&&Yx(e,s);n&&(s=o=(o<=l.to?l:e.doc.lineAt(o)).to);let c=new ci(e,{simulateBreak:s,simulateDoubleBreak:!!a}),h=Rc(c,s);for(h==null&&(h=Qn(/^\s*/.exec(e.doc.lineAt(s).text)[0],e.tabSize));o<l.to&&/\s/.test(l.text[o-l.from]);)o++;a?{from:s,to:o}=a:s>l.from&&s<l.from+100&&!/\S/.test(l.text.slice(0,s))&&(s=l.from);let u=["",jr(e,h)];return a&&u.push(jr(e,c.lineIndent(l.from,-1))),{changes:{from:s,to:o,insert:ee.of(u)},range:D.cursor(s+1+u[1].length)}});return t(e.update(i,{scrollIntoView:!0,userEvent:"input"})),!0}}function Hc(n,e){let t=-1;return n.changeByRange(i=>{let r=[];for(let o=i.from;o<=i.to;){let l=n.doc.lineAt(o);l.number>t&&(i.empty||i.to>l.from)&&(e(l,r,i),t=l.number),o=l.to+1}let s=n.changes(r);return{changes:r,range:D.range(s.mapPos(i.anchor,1),s.mapPos(i.head,1))}})}var Zx=({state:n,dispatch:e})=>{if(n.readOnly)return!1;let t=Object.create(null),i=new ci(n,{overrideIndentation:s=>{let o=t[s];return o??-1}}),r=Hc(n,(s,o,l)=>{let a=Rc(i,s.from);if(a==null)return;/\S/.test(s.text)||(a=0);let c=/^\s*/.exec(s.text)[0],h=jr(n,a);(c!=h||l.from<s.from+c.length)&&(t[s.from]=a,o.push({from:s.from,to:s.from+c.length,insert:h}))});return r.changes.empty||e(n.update(r,{userEvent:"indent"})),!0},fm=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Hc(n,(t,i)=>{i.push({from:t.from,insert:n.facet(To)})}),{userEvent:"input.indent"})),!0),pm=({state:n,dispatch:e})=>n.readOnly?!1:(e(n.update(Hc(n,(t,i)=>{let r=/^\s*/.exec(t.text)[0];if(!r)return;let s=Qn(r,n.tabSize),o=0,l=jr(n,Math.max(0,s-Kr(n)));for(;o<r.length&&o<l.length&&r.charCodeAt(o)==l.charCodeAt(o);)o++;i.push({from:t.from+o,to:t.from+r.length,insert:l.slice(o)})}),{userEvent:"delete.dedent"})),!0),Qx=n=>(n.setTabFocusMode(),!0);var e1=[{key:"Ctrl-b",run:$p,shift:Zp,preventDefault:!0},{key:"Ctrl-f",run:Up,shift:Qp},{key:"Ctrl-p",run:Gp,shift:nm},{key:"Ctrl-n",run:qp,shift:im},{key:"Ctrl-a",run:wx,shift:Lx},{key:"Ctrl-e",run:xx,shift:Ox},{key:"Ctrl-d",run:lm},{key:"Ctrl-h",run:Nc},{key:"Ctrl-k",run:zx},{key:"Ctrl-Alt-h",run:cm},{key:"Ctrl-o",run:$x},{key:"Ctrl-t",run:Ux},{key:"Ctrl-v",run:Ic}],t1=[{key:"ArrowLeft",run:$p,shift:Zp,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:hx,shift:Sx,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:bx,shift:Dx,preventDefault:!0},{key:"ArrowRight",run:Up,shift:Qp,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:ux,shift:Cx,preventDefault:!0},{mac:"Cmd-ArrowRight",run:yx,shift:Rx,preventDefault:!0},{key:"ArrowUp",run:Gp,shift:nm,preventDefault:!0},{mac:"Cmd-ArrowUp",run:Dp,shift:Lp},{mac:"Ctrl-ArrowUp",run:Ap,shift:Mp},{key:"ArrowDown",run:qp,shift:im,preventDefault:!0},{mac:"Cmd-ArrowDown",run:Rp,shift:Op},{mac:"Ctrl-ArrowDown",run:Ic,shift:Ep},{key:"PageUp",run:Ap,shift:Mp},{key:"PageDown",run:Ic,shift:Ep},{key:"Home",run:gx,shift:Ex,preventDefault:!0},{key:"Mod-Home",run:Dp,shift:Lp},{key:"End",run:mx,shift:Mx,preventDefault:!0},{key:"Mod-End",run:Rp,shift:Op},{key:"Enter",run:Pp,shift:Pp},{key:"Mod-a",run:Px},{key:"Backspace",run:Nc,shift:Nc,preventDefault:!0},{key:"Delete",run:lm,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:cm,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:Fx,preventDefault:!0},{mac:"Mod-Backspace",run:Wx,preventDefault:!0},{mac:"Mod-Delete",run:Vx,preventDefault:!0}].concat(e1.map(n=>({mac:n.key,run:n.run,shift:n.shift}))),mm=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:fx,shift:Tx},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:px,shift:Ax},{key:"Alt-ArrowUp",run:Kx},{key:"Shift-Alt-ArrowUp",run:Gx},{key:"Alt-ArrowDown",run:jx},{key:"Shift-Alt-ArrowDown",run:qx},{key:"Mod-Alt-ArrowUp",run:Bx},{key:"Mod-Alt-ArrowDown",run:_x},{key:"Escape",run:Hx},{key:"Mod-Enter",run:Jx},{key:"Alt-l",mac:"Ctrl-l",run:Ix},{key:"Mod-i",run:Nx,preventDefault:!0},{key:"Mod-[",run:pm},{key:"Mod-]",run:fm},{key:"Mod-Alt-\\",run:Zx},{key:"Shift-Mod-k",run:Xx},{key:"Shift-Mod-\\",run:kx},{key:"Mod-/",run:Gw},{key:"Alt-A",mac:"Ctrl-A",run:Xw},{key:"Ctrl-m",mac:"Shift-Alt-m",run:Qx}].concat(t1),gm={key:"Tab",run:fm,shift:pm};var bm=new un,ym=new un,wm=new un,Fc=new un,zc=at.define(),rn=null;function xm(n){rn=n}function vm(n){rn===n&&(rn=null)}function km(n){return[j.domEventHandlers({keydown:(e,t)=>rn?.onKeydown(t,e)??!1,compositionstart:()=>(rn?.onCompositionChange(!0),!1),compositionend:()=>(setTimeout(()=>rn?.onCompositionChange(!1),0),!1),focus:()=>(rn?.onFocusChange(!0),!1),blur:()=>(rn?.onFocusChange(!1),!1)}),_p(),sp(),ap(),j.lineWrapping,cp(),hp(),bm.of(n.lineNumbers?hc():[]),ym.of(Tm(n.fontFamily)),wm.of(cc(n.placeholder)),Fc.of(j.editable.of(n.editable)),ac.of([...Wp,...mm,gm]),j.updateListener.of(e=>{e.docChanged&&!e.transactions.some(t=>t.annotation(zc)===!0)&&rn?.onLocalChange(e.state.doc.toString()),(e.docChanged||e.selectionSet)&&rn?.onCaret(e.state.doc.toString(),e.state.selection.main.head)})]}function Wc(n,e){n.dispatch({effects:[bm.reconfigure(e.lineNumbers?hc():[]),ym.reconfigure(Tm(e.fontFamily)),wm.reconfigure(cc(e.placeholder)),Fc.reconfigure(j.editable.of(e.editable))]})}function Sm(n,e){n.dispatch({effects:Fc.reconfigure(j.editable.of(e))})}function Cm(n,e,t){return kn(()=>{let i=ue();Wc(n,{lineNumbers:i.lineNumbers,fontFamily:i.fontFamily,placeholder:e,editable:t})})}function Tm(n){return j.theme({"&":{fontSize:"13px",height:"100%"},"&.cm-focused":{outline:"none"},".cm-scroller":{fontFamily:n,lineHeight:"1.6",overflow:"auto"},".cm-content":{caretColor:"var(--dsw-alias-state-business-primary, currentColor)",paddingBottom:"8px"},".cm-line":{padding:"0 8px"},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--dsw-alias-state-business-primary, currentColor)"},".cm-gutters":{backgroundColor:"transparent",border:"none",color:"color-mix(in srgb, currentColor 32%, transparent)"},".cm-activeLineGutter":{backgroundColor:"transparent",color:"currentColor",fontWeight:600},".cm-activeLine":{backgroundColor:"color-mix(in srgb, currentColor 6%, transparent)"},".cm-lineNumbers .cm-gutterElement":{minWidth:"2.2em",padding:"0 6px 0 10px"},".cm-selectionBackground":{backgroundColor:"color-mix(in srgb, currentColor 15%, transparent) !important"},".cm-placeholder":{color:"color-mix(in srgb, currentColor 38%, transparent)"}})}function Am(n,e){return ve.create({doc:e,extensions:n})}var n1=4,di=new Map;function Mm(n){let e=di.get(n);return e&&di.delete(n),e}function Em(n,e){for(di.delete(n),di.set(n,e);di.size>n1;){let t=di.keys().next().value;if(t===void 0)break;di.delete(t)}}function i1(n){return n==="plain"?{tier:"plain"}:n==="claimed"?{tier:"claimed"}:{tier:"frozen"}}function Dm(n,e,t,i){if(!(!n||!i))try{n.track(e,t,i1(i.phase),i.draftRev)}catch(r){jt("track failed",r)}}function Rm(n,e,t){if(!n)return;let i=e?.snapshot,r=i?.draft??"",s=i?.draftRev??0;e?.dismissPopup();let o={trigger:"/",query:"",quoted:!1,position:r.slice(0,t).trim()===""?"leading":"inline",span:{start:t,end:t,draftRev:s}};n.toggleSource("command",o)}var r1={ArrowUp:"up",ArrowDown:"down",Enter:"enter",Escape:"escape",Tab:"tab"};function Lm(n,e,t){if(!n||!n.menu.getSnapshot().open)return!1;let r=r1[e.key];return r?n.arbitrate(r,t)!=="pass":!1}function Om(n){if(!n)return!1;try{return n.onSpace()}catch{return!1}}var s1=new Set(["ctrl","alt","shift","meta","mod"]);function Pm(n,e){let t=e===" "?"space":(e.length===1,e.toLowerCase()),i=[];return n.ctrlKey&&i.push("ctrl"),n.altKey&&i.push("alt"),n.shiftKey&&i.push("shift"),n.metaKey&&i.push("meta"),i.push(t),i.join("+")}function o1(n){let e=new Set(n.toLowerCase().split("+").filter(Boolean)),t=[...e].filter(i=>!s1.has(i)).join("+");return{ctrl:e.has("ctrl"),alt:e.has("alt"),shift:e.has("shift"),meta:e.has("meta"),mod:e.has("mod"),key:t}}function Vc(n,e){let t=o1(n);return!t.key||t.key!==l1(e)?!1:t.mod?e.ctrlKey||e.metaKey?e.altKey===t.alt&&e.shiftKey===t.shift:!1:e.ctrlKey===t.ctrl&&e.altKey===t.alt&&e.shiftKey===t.shift&&e.metaKey===t.meta}function l1(n){let e=n.key;return e===" "?"space":e.toLowerCase()}function Im(n){let e={ctrl:"Ctrl",alt:"Alt",shift:"Shift",meta:"Cmd",mod:"Ctrl/Cmd",enter:"Enter",tab:"Tab",space:"Space",escape:"Esc"};return n.split("+").filter(Boolean).map(t=>e[t]??(t.length===1?t.toUpperCase():t.charAt(0).toUpperCase()+t.slice(1))).join(" + ")}var Xr=require("react/jsx-runtime");function Nm(n){let{state:e,actions:t,triggers:i,keyboard:r,onSendGesture:s,placeholder:o,autoFocus:l,viewRef:a,onCaretMoved:c,disabled:h,solo:u,stateKey:d}=n,f=(0,Mt.useRef)(null),p=(0,Mt.useRef)(!1),[g,b]=(0,Mt.useState)({line:1,col:1}),y=(0,Mt.useRef)(n);y.current=n;let x=e?.draft??"",C=d??"default";(0,Mt.useLayoutEffect)(()=>{let S=f.current;if(!S)return;let A=ue(),k={onKeydown:(M,F)=>{let W=y.current;if(Lm(W.triggers,F,p.current))return F.preventDefault(),!0;if(p.current)return!1;if(F.key===" "&&!F.ctrlKey&&!F.metaKey&&!F.altKey&&Om(W.triggers))return F.preventDefault(),!0;let q=ue();return Vc(q.sendHotkey,F)?(F.preventDefault(),W.onSendGesture(),!0):Vc(q.lineBreakHotkey,F)&&q.lineBreakHotkey!=="enter"?(F.preventDefault(),M.dispatch({changes:{from:M.state.selection.main.head,insert:`
|
|
584
|
+
`}}),!0):!1},onLocalChange:M=>{let F=y.current;if(F.actions)try{F.actions.setDraft(M)}catch(W){jt("setDraft failed",W)}},onCaret:(M,F)=>{let W=y.current;Dm(W.triggers,M,F,W.keyboard?.snapshot??W.state);let te=a.current?.state.doc.lineAt(F);b({line:te?te.number:1,col:F-(te?te.from:0)+1}),W.onCaretMoved?.(F)},onCompositionChange:M=>{p.current=M},onFocusChange:M=>{y.current.onFocusedChange?.(M)}};xm(k);let N=Mm(C),B=new j({state:N?.state??Am(km({lineNumbers:A.lineNumbers,fontFamily:A.fontFamily,placeholder:o,editable:!0}),""),parent:S});N&&(B.scrollDOM.scrollTop=N.scrollTop),a.current=B;let z=B.state.selection.main.head,V=B.state.doc.lineAt(z);return b({line:V.number,col:z-V.from+1}),l&&B.focus(),()=>{a.current=null,Em(C,{state:B.state,scrollTop:B.scrollDOM.scrollTop}),B.destroy(),vm(k)}},[C]),(0,Mt.useEffect)(()=>{let S=a.current;if(!S)return;let A=S.state.doc.toString();if(x===A)return;let k=Math.min(S.state.selection.main.head,x.length);S.dispatch({annotations:[zc.of(!0),De.addToHistory.of(!1)],changes:{from:0,to:A.length,insert:x},selection:{anchor:x===""?0:k},scrollIntoView:!0})},[x]),(0,Mt.useEffect)(()=>{let S=a.current;if(!S)return;let A=Cm(S,o,!0);return Wc(S,{...a1(o),editable:!0}),A},[o]);let _=h===!0||e!==void 0&&(e.phase==="adjudicating"||e.phase==="submitting");return(0,Mt.useEffect)(()=>{let S=a.current;S&&Sm(S,!_)},[_,a]),(0,Xr.jsxs)("div",{className:"dci-editor-wrap","data-solo":u||void 0,children:[(0,Xr.jsx)("div",{className:"dci-cm-host",ref:f}),(0,Xr.jsxs)("div",{className:"dci-pos",children:[g.line,", ",g.col]})]})}function a1(n){let e=ue();return{lineNumbers:e.lineNumbers,fontFamily:e.fontFamily,placeholder:n}}var bt=require("react");var Yr=require("react");function bn(n){let e=(0,Yr.useCallback)(i=>n?n.subscribe(i):()=>{},[n]),t=(0,Yr.useCallback)(()=>n?.getSnapshot(),[n]);return(0,Yr.useSyncExternalStore)(e,t,t)}var ne=require("react/jsx-runtime"),$c=400;function c1(n){return Ci(`menu.source.${n}`)??n}function Oo(n,e){return`dsh-slash-option-${n}-${e}`}function h1(n){return n==="file"?(0,ne.jsx)(Uu,{size:16}):n==="folder"?(0,ne.jsx)(Ku,{size:16}):n==="session"?(0,ne.jsx)(ju,{size:16}):typeof n=="function"?(0,ne.jsx)(n,{size:16}):null}function Bm({size:n=14}){return(0,ne.jsx)("span",{style:{display:"inline-flex",transform:"rotate(-90deg)"},children:(0,ne.jsx)(Xt,{size:n})})}function _m(n){let{triggers:e,dropdown:t}=n,i=bn(e.menu),r=bn(e.headers),s=(0,bt.useRef)(null),[o,l]=(0,bt.useState)($c),[a,c]=(0,bt.useState)(null),h=i?.open===!0,u=h?i.highlight??null:null;if((0,bt.useLayoutEffect)(()=>{if(!h)return;let f=s.current?.closest(".dci-card");if(!f)return;if(t){let g=f.querySelector(".dci-accessory"),b=f.getBoundingClientRect(),y=g?g.getBoundingClientRect().bottom-b.top:36;c(Math.round(y)+2);let C=!!s.current?.closest(".dci-float")?window.innerHeight-(b.top+y)-16:b.height-y-10;l(Math.max(120,Math.min($c,C)));return}c(null);let p=f.getBoundingClientRect().top;l(Math.max(120,Math.min($c,p-16)))},[h,i?.generation,t]),(0,bt.useEffect)(()=>{u&&document.getElementById(Oo(u.source,u.index))?.scrollIntoView({block:"nearest"})},[u]),(0,bt.useEffect)(()=>{if(!h)return;let f=p=>{p.target instanceof Node&&(s.current?.contains(p.target)||s.current?.closest("[data-composer-card]")?.contains(p.target)||e.dismiss())};return document.addEventListener("pointerdown",f,!0),()=>document.removeEventListener("pointerdown",f,!0)},[h,e]),!h||!i)return null;let d=f=>r?.get(f);return(0,ne.jsxs)("div",{ref:s,className:"dci-slash-menu","data-trigger-menu":"","data-dropdown":t||void 0,style:t?{top:a??38,maxHeight:o}:{maxHeight:o},children:[i.groups.map(f=>{let p=d(f.source);return p===void 0||p.length===0?null:(0,ne.jsx)("nav",{className:"dci-slash-crumbs","aria-label":v("menu.nav"),children:p.map((g,b)=>(0,ne.jsxs)("span",{style:{display:"inline-flex",alignItems:"center",gap:2},children:[b>0?(0,ne.jsx)("span",{className:"dci-slash-crumbSeparator","aria-hidden":"true",children:(0,ne.jsx)(Bm,{size:12})}):null,(0,ne.jsx)("button",{type:"button",className:"dci-slash-crumb","data-current":g.current===!0||void 0,"aria-current":g.current===!0?"location":void 0,disabled:g.current===!0,onMouseDown:y=>{y.preventDefault(),e.pickCrumb(f.source,b)},children:g.label})]},`${b}-${g.value}`))},`${f.source}:crumbs`)}),(0,ne.jsx)("div",{className:"dci-slash-viewport",role:"listbox","aria-label":v("menu.triggerCandidates"),"aria-activedescendant":u?Oo(u.source,u.index):void 0,children:i.groups.map(f=>{if(f.status==="ready"&&f.items.length===0)return null;let p=f.items.some(g=>g.section!==void 0);return(0,ne.jsxs)(bt.Fragment,{children:[f.showGroupTitle===!1||p?null:(0,ne.jsx)("div",{className:"dci-slash-groupTitle",role:"presentation","data-source":f.source,children:c1(f.source)}),f.status==="pending"&&f.items.length===0?(0,ne.jsxs)("div",{role:"status","aria-label":Ci("menu.loading"),"data-source":f.source,children:[(0,ne.jsx)("div",{className:"dci-slash-skeletonRow",children:(0,ne.jsx)("span",{className:"dci-slash-skeletonBar",style:{width:"32%"}})}),(0,ne.jsx)("div",{className:"dci-slash-skeletonRow",children:(0,ne.jsx)("span",{className:"dci-slash-skeletonBar",style:{width:"48%"}})})]}):f.items.map((g,b)=>{let y=u?.source===f.source&&u.index===b;return(0,ne.jsxs)(bt.Fragment,{children:[g.section!==void 0&&g.section!==f.items[b-1]?.section?(0,ne.jsx)("div",{className:"dci-slash-sectionTitle",role:"presentation",children:g.section}):null,(0,ne.jsxs)("button",{id:Oo(f.source,b),type:"button",role:"option","aria-selected":y,className:"dci-slash-item","data-active":y||void 0,onMouseDown:x=>{x.preventDefault(),e.pick(f.source,b)},onMouseMove:y?void 0:()=>e.hover(f.source,b),children:[g.icon!==void 0?(0,ne.jsx)("span",{className:"dci-slash-itemIcon","aria-hidden":"true",children:h1(g.icon)}):null,(0,ne.jsx)("span",{className:"dci-slash-itemName",children:g.label??g.name}),g.label!==void 0&&g.label.toLowerCase()!==g.name.toLowerCase()?(0,ne.jsx)("span",{className:"dci-slash-itemAlias",children:g.name}):null,g.description!==void 0?(0,ne.jsx)("span",{className:"dci-slash-itemDescription",children:g.description}):null,g.drill===!0?(0,ne.jsxs)("span",{className:"dci-slash-trailing",children:[(0,ne.jsx)("span",{className:"dci-slash-drillHintText","aria-hidden":"true",children:"\u8FDB\u5165\u76EE\u5F55"}),(0,ne.jsx)("kbd",{className:"dci-slash-drillHint","aria-hidden":"true",children:"Tab"}),(0,ne.jsx)("span",{role:"button","aria-label":Ci("menu.drill"),className:"dci-slash-drill",onMouseDown:x=>{x.preventDefault(),x.stopPropagation(),e.pick(f.source,b,"drill")},children:(0,ne.jsx)(Bm,{size:14})})]}):null]})]},Oo(f.source,b))})]},f.source)})})]})}var Bn=require("react");function Hm(n,e){let t=e.trim().toLowerCase();return t===""?n:n.filter(i=>{let r=typeof i.label=="string"?i.label.toLowerCase():"",s=typeof i.detail=="string"?i.detail.toLowerCase():"";return r.includes(t)||s.includes(t)})}var be=require("react/jsx-runtime");function Fm(n){let{popup:e}=n,t=bn(e.state),i=(0,Bn.useRef)(null),r=(0,Bn.useRef)(null),s=(0,Bn.useMemo)(()=>t?Hm(t.options,t.search):[],[t?.options,t?.search]);if((0,Bn.useEffect)(()=>{if(!t?.open)return;let l=c=>{r.current&&c.target instanceof Node&&r.current.contains(c.target)||e.dismiss()},a=c=>{if(!(!t.open||t.submitting)){if(t.confirming){c.key==="Escape"&&(c.preventDefault(),e.cancelConfirmation());return}c.key==="ArrowDown"?(c.preventDefault(),e.move(1)):c.key==="ArrowUp"?(c.preventDefault(),e.move(-1)):c.key==="Enter"?(c.preventDefault(),e.select(t.active)):c.key==="Escape"&&(c.preventDefault(),e.dismiss({focusComposer:!0}))}};return window.addEventListener("pointerdown",l,!0),window.addEventListener("keydown",a,!0),()=>{window.removeEventListener("pointerdown",l,!0),window.removeEventListener("keydown",a,!0)}},[t?.open,t?.submitting,t?.confirming,t?.active,e]),(0,Bn.useEffect)(()=>{t?.open&&i.current?.focus()},[t?.open]),!t?.open)return null;let o=t.confirming;return(0,be.jsxs)("div",{className:"dci-menu",ref:r,children:[t.command?(0,be.jsx)("div",{className:"dci-group-title",children:t.command}):null,t.status==="failed"?(0,be.jsx)("div",{className:"dci-error",children:t.error??v("menu.loadFailed")}):null,t.status==="failed"?(0,be.jsx)("button",{type:"button",className:"dci-btn",onClick:()=>e.retry(),children:"\u91CD\u8BD5"}):null,t.status==="ready"&&!o?(0,be.jsx)("input",{ref:i,className:"dci-search",type:"text",placeholder:v("menu.filter"),value:t.search,onChange:l=>e.setSearch(l.target.value)}):null,o?(0,be.jsxs)("div",{className:"dci-confirm",children:[(0,be.jsx)("div",{className:"dci-row-name",children:String(o.label??"")}),o.detail?(0,be.jsx)("div",{className:"dci-row-desc",children:String(o.detail)}):null,(0,be.jsxs)("label",{children:[(0,be.jsx)("input",{type:"checkbox",checked:t.acknowledged,onChange:l=>e.acknowledge(l.target.checked)}),(0,be.jsx)("span",{children:v("popup.ack")})]}),(0,be.jsxs)("div",{className:"dci-confirm-actions",children:[(0,be.jsx)("button",{type:"button",className:"dci-btn",onClick:()=>e.cancelConfirmation(),children:"\u53D6\u6D88"}),(0,be.jsx)("button",{type:"button",className:"dci-btn","data-primary":"true",disabled:t.submitting||!t.acknowledged,onClick:()=>void e.confirm(),children:"\u786E\u8BA4"})]})]}):(0,be.jsxs)(be.Fragment,{children:[t.status==="pending"?(0,be.jsx)("div",{className:"dci-empty",children:v("menu.loading")}):null,t.status==="ready"&&s.length===0?(0,be.jsx)("div",{className:"dci-empty",children:v("menu.empty")}):null,s.map((l,a)=>(0,be.jsx)("button",{type:"button",className:"dci-opt","data-active":a===t.active||void 0,onMouseEnter:()=>e.highlight(a),onClick:()=>void e.select(a),children:(0,be.jsxs)("span",{className:"dci-opt-copy",children:[(0,be.jsx)("span",{className:"dci-opt-name",children:String(l.label??"")}),l.detail?(0,be.jsx)("span",{className:"dci-opt-desc",children:String(l.detail)}):null]})},`${String(l.label)}:${a}`))]}),t.error&&t.status==="ready"?(0,be.jsx)("div",{className:"dci-error",children:t.error}):null]})}var fi=require("react");var Jr=require("react"),zm=require("react-dom"),sn=require("react/jsx-runtime");function u1({size:n=16}){return(0,sn.jsxs)("svg",{width:n,height:n,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",strokeWidth:1,children:[(0,sn.jsx)("path",{d:"M2.5 2.5L13.5 13.5",stroke:"currentColor"}),(0,sn.jsx)("path",{d:"M13.5 2.5L2.5 13.5",stroke:"currentColor"})]})}function Wm(n){let{src:e,alt:t,labels:i,onClose:r}=n,s=(0,Jr.useRef)(null),o=(0,Jr.useRef)(null);return(0,Jr.useEffect)(()=>{o.current=document.activeElement instanceof HTMLElement?document.activeElement:null,s.current?.focus();let l=a=>{a.key==="Escape"&&(a.stopPropagation(),r()),a.key==="Tab"&&(a.preventDefault(),s.current?.focus())};return window.addEventListener("keydown",l,!0),()=>{window.removeEventListener("keydown",l,!0),o.current?.focus()}},[r]),(0,zm.createPortal)((0,sn.jsxs)("div",{className:"dci-lightbox",role:"dialog","aria-modal":"true","aria-label":i.dialog,children:[(0,sn.jsx)("div",{className:"dci-lightbox-mask","aria-hidden":"true",onMouseDown:r}),(0,sn.jsx)("img",{className:"dci-lightbox-image",src:e,alt:t}),(0,sn.jsx)("button",{ref:s,type:"button",className:"dci-lightbox-close","aria-label":i.close,onClick:r,children:(0,sn.jsx)(u1,{})})]}),document.body)}var J=require("react/jsx-runtime"),d1="M8.48924 28H19.5108C21.6479 28 22.7165 28 23.5594 27.6509C24.6833 27.1853 25.5762 26.2924 26.0417 25.1685C26.3909 24.3256 26.3909 23.257 26.3909 21.1199V8.79443C26.3909 8.32877 26.3909 8.09593 26.3471 7.87507C26.2887 7.58058 26.173 7.30042 26.0067 7.05048C25.882 6.86303 25.7177 6.69799 25.3893 6.36792L20.0611 1.01354C19.7304 0.681235 19.5651 0.515081 19.3769 0.38885C19.126 0.220541 18.8443 0.103463 18.5481 0.0443412C18.3259 0 18.0915 0 17.6226 0H8.48924C6.35209 0 5.28351 0 4.4406 0.349145C3.31672 0.814671 2.4238 1.70759 1.95828 2.83147C1.60913 3.67438 1.60913 4.74296 1.60913 6.88011V21.1199C1.60913 23.257 1.60913 24.3256 1.95828 25.1685C2.4238 26.2924 3.31672 27.1853 4.4406 27.6509C5.28351 28 6.35209 28 8.48924 28Z",f1="M26.3909 7.37445L19.0525 0V3.77445C19.0525 4.89271 19.0525 5.45184 19.2352 5.89289C19.4788 6.48096 19.946 6.94818 20.5341 7.19176C20.9751 7.37445 21.5342 7.37445 22.6525 7.37445H26.3909Z";function Vm({size:n=28}){return(0,J.jsxs)("svg",{width:n,height:n,viewBox:"0 0 28 28",fill:"none","aria-hidden":"true",children:[(0,J.jsx)("path",{d:d1,fill:"currentColor"}),(0,J.jsx)("path",{d:f1,fill:"var(--dsw-static-neutral-00, #fff)",fillOpacity:"0.7"})]})}function p1(n){let e=n.split(/[\\/]/).pop()??n,t=e.lastIndexOf(".");return t<0?"":e.slice(t+1)}function m1(n){if(n<1024)return`${n}B`;let e=n/1024;if(e<1024)return`${e<10?e.toFixed(1):Math.round(e)}KB`;let t=e/1024;if(t<1024)return`${t<10?t.toFixed(1):Math.round(t)}MB`;let i=t/1024;return`${i<10?i.toFixed(1):Math.round(i)}GB`}function Km(n){let{state:e,sessionId:t,onRemove:i}=n,r=X.conversation,s=bn(r?.fileUploads),o=(0,fi.useRef)(null),[l,a]=(0,fi.useState)({left:!1,right:!1}),[c,h]=(0,fi.useState)(null),u=e===void 0||typeof r?.resolveDraftAttachments!="function"?[]:r.resolveDraftAttachments(e.attachmentIds)??[];if((0,fi.useEffect)(()=>{let f=o.current;if(!f)return;let p=()=>{let y=f.scrollWidth-f.clientWidth,x={left:f.scrollLeft>1,right:y>1&&f.scrollLeft<y-1};a(C=>C.left===x.left&&C.right===x.right?C:x)};p(),f.addEventListener("scroll",p,{passive:!0});let g=typeof ResizeObserver=="function"?new ResizeObserver(p):null;g?.observe(f);let b=y=>{Math.abs(y.deltaY)<=Math.abs(y.deltaX)||(y.preventDefault(),f.scrollLeft+=y.deltaY)};return f.addEventListener("wheel",b,{passive:!1}),()=>{f.removeEventListener("scroll",p),f.removeEventListener("wheel",b),g?.disconnect()}},[u.length]),u.length===0)return null;let d=f=>{o.current?.scrollBy({left:f*Math.max(120,(o.current?.clientWidth??240)*.8),behavior:"smooth"})};return(0,J.jsxs)("div",{className:"dci-attach-root",children:[(0,J.jsx)("div",{className:"dci-attach-rail",ref:o,role:"group","aria-label":v("attach.group"),children:u.map(f=>{let p=s?.[f.id],g=p?.status??"ready",b=f.kind==="image"||f.file.type.startsWith("image/"),y=g==="uploading"&&p?.total?Math.min(100,Math.round((p.loaded??0)/p.total*100)):null;if(b)return(0,J.jsxs)("div",{className:"dci-attach-item",children:[(0,J.jsx)("button",{type:"button",className:"dci-attach-thumb",title:v("image.openOriginal"),"aria-label":v("image.openOriginalLabel",{name:f.file.name}),onClick:()=>{f.previewUrl&&h({url:f.previewUrl,name:f.file.name})},children:f.previewUrl?(0,J.jsx)("img",{src:f.previewUrl,alt:f.file.name}):(0,J.jsx)(Vm,{size:28})}),(0,J.jsx)("button",{type:"button",className:"dci-attach-remove","aria-label":v("attach.remove",{name:f.file.name}),onClick:()=>i(f.id),children:(0,J.jsx)($m,{})}),y!==null?(0,J.jsx)("span",{className:"dci-attach-progress",children:(0,J.jsx)("span",{className:"dci-attach-progressBar",style:{width:`${y}%`}})}):null]},f.id);let x=g==="error",C=g==="uploading"?v("attach.uploading"):x?v("attach.failed"):[p1(f.file.name).toUpperCase().slice(0,8),m1(f.file.size)].filter(S=>S!=="").join(" "),_=(0,J.jsxs)(J.Fragment,{children:[(0,J.jsx)("span",{className:"dci-attach-name",children:f.file.name}),(0,J.jsx)("span",{className:x?"dci-attach-meta dci-attach-metaFailed":"dci-attach-meta",children:C})]});return(0,J.jsxs)("div",{className:x?"dci-attach-card dci-attach-cardFailed":"dci-attach-card",title:f.file.name,children:[(0,J.jsx)("span",{className:"dci-attach-icon","aria-hidden":"true",children:g==="uploading"?(0,J.jsx)("span",{className:"dci-attach-spinner"}):(0,J.jsx)(Vm,{size:28})}),x?(0,J.jsx)("button",{type:"button",className:"dci-attach-body dci-attach-retry","aria-label":v("attach.retry"),onClick:()=>g1(t,f.id),children:_}):(0,J.jsx)("span",{className:"dci-attach-body","aria-label":v("attach.pending",{name:f.file.name}),children:_}),(0,J.jsx)("button",{type:"button",className:x?"dci-attach-removeInline dci-attach-cardFailedRemove":"dci-attach-removeInline","aria-label":v("attach.remove",{name:f.file.name}),onClick:()=>i(f.id),children:(0,J.jsx)($m,{})}),y!==null?(0,J.jsx)("span",{className:"dci-attach-progress",children:(0,J.jsx)("span",{className:"dci-attach-progressBar",style:{width:`${y}%`}})}):null]},f.id)})}),l.left?(0,J.jsx)("button",{type:"button",className:"dci-attach-arrow dci-attach-arrowLeft","aria-label":v("attach.scrollLeft"),onClick:()=>d(-1),children:(0,J.jsx)(Um,{dir:"left"})}):null,l.right?(0,J.jsx)("button",{type:"button",className:"dci-attach-arrow dci-attach-arrowRight","aria-label":v("attach.scrollRight"),onClick:()=>d(1),children:(0,J.jsx)(Um,{dir:"right"})}):null,c?(0,J.jsx)(Wm,{src:c.url,alt:c.name,labels:{dialog:v("image.preview"),close:v("image.closePreview")},onClose:()=>h(null)}):null]})}function g1(n,e){let t=X.conversation;if(!(!n||typeof t?.retryFileUpload!="function"))try{t.retryFileUpload(n,e)}catch{}}function $m(){return(0,J.jsx)("svg",{width:"10",height:"10",viewBox:"0 0 10 10",fill:"none","aria-hidden":"true",children:(0,J.jsx)("path",{d:"M1.6 1.6L8.4 8.4M8.4 1.6L1.6 8.4",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round"})})}function Um({dir:n}){return(0,J.jsx)("svg",{width:"14",height:"14",viewBox:"0 0 14 14",fill:"none","aria-hidden":"true",style:n==="left"?{transform:"scaleX(-1)"}:void 0,children:(0,J.jsx)("path",{d:"M5.5 3.5L9 7L5.5 10.5",stroke:"currentColor",strokeWidth:"1.5",strokeLinecap:"round",strokeLinejoin:"round"})})}var Io=require("react");var zt=require("react");function jm(n){let e=X.modelDirectories;if(!e||typeof e.directoryFor!="function"||!n)return null;try{return e.directoryFor(n)}catch(t){return jt("directoryFor failed",t),null}}var Xi=require("react"),Zr=require("react/jsx-runtime");function Yi(n){let{anchor:e,onClose:t,children:i,alignEnd:r,minWidth:s=218,side:o="top"}=n,l=(0,Xi.useRef)(null);return(0,Xi.useLayoutEffect)(()=>{let c=l.current;if(!c)return;let h=c.getBoundingClientRect(),u;o==="top"?(u=Math.max(12,e.top-h.height-4),c.style.bottom="auto"):(u=Math.min(window.innerHeight-h.height-12,e.bottom+4),c.style.bottom="auto"),c.style.top=`${u}px`;let d=e.left;r&&(d=e.right-h.width),d=Math.min(Math.max(12,d),window.innerWidth-h.width-12),c.style.left=`${d}px`},[e,r,o]),(0,Xi.useEffect)(()=>{let c=h=>{l.current&&h.target instanceof Node&&l.current.contains(h.target)||t()};return window.addEventListener("pointerdown",c,!0),()=>window.removeEventListener("pointerdown",c,!0)},[t]),(0,Zr.jsx)("div",{ref:l,className:"dci-menu",style:o==="bottom"?{top:e.bottom+4,bottom:"auto",...r?{left:"auto",right:window.innerWidth-e.right}:{left:e.left},minWidth:s}:{left:e.left,bottom:window.innerHeight-e.top+4,top:"auto",...r?{left:"auto",right:window.innerWidth-e.right}:{},minWidth:s},children:(0,Zr.jsx)("div",{className:"dci-viewport",children:i})})}function Qr({size:n=16}){return(0,Zr.jsx)("svg",{width:n,height:n,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:(0,Zr.jsx)("path",{d:"M3 8.5L6.5 12L13 4.5",stroke:"currentColor",strokeWidth:"1.4",strokeLinecap:"round",strokeLinejoin:"round"})})}var Y=require("react/jsx-runtime");function Uc(n,e){if(!n)return null;for(let t of e){if(t.id!==n.provider)continue;let i=t.models.find(r=>r.id===n.model);if(i)return{group:t,model:i}}return null}function b1(n,e){return n?Uc(n,e)?.model.name??n.model:v("tool.modelPlain")}function y1(n,e){let t=n?.reasoningEffort;if(!t)return"Default";let i=Uc(n,e)?.model.reasoning?.efforts.find(r=>r.id===t);return i?i.name:t.charAt(0).toUpperCase()+t.slice(1)}function Gm(n){let{sessionId:e,onNotify:t}=n,[i,r]=(0,zt.useState)(!1),[s,o]=(0,zt.useState)(!1),[l,a]=(0,zt.useState)("root"),c=(0,zt.useRef)(null),[h,u]=(0,zt.useState)(null),d=jm(e),f=bn(d?.store);(0,zt.useEffect)(()=>{!s||!d||d.load().catch(()=>{})},[s]),(0,zt.useEffect)(()=>{if(!s)return;let k=N=>{A(p.current,N.target)||b()};return window.addEventListener("pointerdown",k,!0),()=>window.removeEventListener("pointerdown",k,!0)},[s]);let p=(0,zt.useRef)(null),g=()=>{let k=c.current;k&&(u(k.getBoundingClientRect()),a("root"),o(!0))},b=()=>{o(!1),a("root")},y=f?.current??null,x=f?.groups??[],C=b1(y,x),_=y1(y,x),S=async(k,N,B)=>{if(!d||i)return;let z={provider:k.id,model:N.id,...B!==void 0?{reasoningEffort:B}:{}};r(!0);try{await d.select(z)}catch(V){t?.("error",V instanceof Error?V.message:String(V))}finally{r(!1),b()}},A=(k,N)=>!!k&&N instanceof Node&&k.contains(N);return(0,Y.jsxs)("div",{style:{position:"relative",minWidth:0},children:[(0,Y.jsxs)("button",{ref:c,type:"button",className:"dci-trigger",style:{maxWidth:"min(360px, 45cqw)"},"data-open":s,onMouseDown:k=>k.preventDefault(),disabled:!d,onClick:()=>s?b():g(),"aria-label":v("tool.model",{name:`${C} \xB7 ${_}`}),title:v("tool.model",{name:`${C} \xB7 ${_}`}),children:[(0,Y.jsx)("span",{className:"dci-triggerLabel",children:C}),_?(0,Y.jsx)("span",{className:"dci-triggerEffort",children:_}):null,(0,Y.jsx)("span",{className:"dci-chev","data-open":s,children:(0,Y.jsx)(Xt,{size:14})})]}),s&&h?(0,Y.jsx)("div",{ref:p,children:(0,Y.jsxs)(Yi,{anchor:h,onClose:b,alignEnd:!0,minWidth:240,children:[l==="root"?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsxs)("button",{type:"button",className:"dci-cell",onClick:()=>a("models"),children:[(0,Y.jsx)("span",{className:"dci-cellLabel",children:v("menu.model")}),(0,Y.jsx)("span",{className:"dci-cellValue",children:C}),(0,Y.jsx)("span",{className:"dci-cellChevron",style:{transform:"rotate(-90deg)"},"aria-hidden":"true",children:(0,Y.jsx)(Xt,{size:14})})]}),(0,Y.jsxs)("button",{type:"button",className:"dci-cell",onClick:()=>a("efforts"),children:[(0,Y.jsx)("span",{className:"dci-cellLabel",children:v("menu.reasoning")}),(0,Y.jsx)("span",{className:"dci-cellValue",children:_}),(0,Y.jsx)("span",{className:"dci-cellChevron",style:{transform:"rotate(-90deg)"},"aria-hidden":"true",children:(0,Y.jsx)(Xt,{size:14})})]})]}):null,l==="models"?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)("div",{className:"dci-menuLabel",children:v("menu.model")}),x.map(k=>(0,Y.jsxs)("div",{children:[(0,Y.jsx)("div",{className:"dci-menuLabel",children:k.name}),k.models.map(N=>{let B=y!==null&&y.provider===k.id&&y.model===N.id;return(0,Y.jsxs)("button",{type:"button",className:"dci-item",disabled:i,title:N.description,onClick:()=>void S(k,N,N.reasoning?.defaultEffort),children:[(0,Y.jsx)("span",{className:"dci-itemLabel",children:N.name}),B?(0,Y.jsx)("span",{className:"dci-check","aria-hidden":"true",children:(0,Y.jsx)(Qr,{size:16})}):null]},N.id)})]},k.id)),x.length===0?(0,Y.jsx)("div",{className:"dci-empty",children:f?.status==="loading"?v("menu.refreshingModels"):v("menu.noModels")}):null]}):null,l==="efforts"?(0,Y.jsxs)(Y.Fragment,{children:[(0,Y.jsx)("div",{className:"dci-menuLabel",children:v("menu.reasoning")}),(()=>{let k=Uc(y,x),N=k?.model.reasoning?.efforts??[];return N.length===0?(0,Y.jsx)("div",{className:"dci-empty",children:v("menu.reasoningNone")}):N.map(B=>{let z=y?.reasoningEffort===B.id;return(0,Y.jsxs)("button",{type:"button",className:"dci-item",disabled:i,title:B.description,onClick:()=>k&&void S(k.group,k.model,B.id),children:[(0,Y.jsx)("span",{className:"dci-itemLabel",children:B.name}),z?(0,Y.jsx)("span",{className:"dci-check","aria-hidden":"true",children:(0,Y.jsx)(Qr,{size:16})}):null]},B.id)})})()]}):null]})}):null]})}var Wt=require("react");var Po=["read-only","workspace-write","danger-full-access"];function qm(n){return Ci(`perm.preset.${n}`)??n}function pi(){return{title:v("perm.confirmTitle"),description:v("perm.warning"),acknowledgeLabel:v("perm.ack"),cancelLabel:v("perm.cancel"),enableLabel:v("perm.confirmEnable")}}function Kc(n,e){return Po.includes(n)&&(e===n||e===qm(n))?qm(n):/^[a-z0-9]+(-[a-z0-9]+)*$/.test(e)?e.split("-").map(i=>i.charAt(0).toUpperCase()+i.slice(1)).join(" "):e}async function w1(n,e){let t=X.sessions?.binding(n)?.session;if(!t||typeof t.command!="function")return null;try{let i=await t.command(`/permission ${e}`);return i?.ok?i.value?.matched===!1?{ok:!1,via:"command",message:v("perm.channelRejected")}:(hl(e),{ok:!0,via:"command"}):{ok:!1,via:"command",message:v("perm.channelRejected")}}catch(i){return jt("permission command failed",i),{ok:!1,via:"command",message:String(i)}}}function x1(n,e,t){try{return e.setDraft(`/permission ${n}`),e.submit(),setTimeout(()=>{try{e.setDraft(t)}catch(i){jt("permission draft restore failed",i)}},600),hl(n),{ok:!0,via:"draft-exchange"}}catch(i){return jt("permission draft-exchange failed",i),{ok:!1,via:"draft-exchange",message:String(i)}}}async function Xm(n,e,t,i){let r=await w1(n,e);return r||(t?x1(e,t,i):{ok:!1,via:"draft-exchange",message:v("perm.noInputSurface")})}var Z=require("react/jsx-runtime"),Ym="danger-full-access";function jc(n){if(n==="read-only")return(0,Z.jsx)(Xu,{size:16});if(n==="workspace-write")return(0,Z.jsx)(Yu,{size:16});if(n===Ym)return(0,Z.jsx)(Ju,{size:16})}function Jm(n){let{sessionId:e,actions:t,currentDraft:i,useProjection:r,disabled:s,onNotify:o}=n,l=r?r("permissions"):void 0,[a,c]=(0,Wt.useState)(null),[h,u]=(0,Wt.useState)(!1),[d,f]=(0,Wt.useState)(null),[p,g]=(0,Wt.useState)(!1),b=(0,Wt.useRef)(null),[y,x]=(0,Wt.useState)(null);if((0,Wt.useEffect)(()=>{s||l===void 0&&(u(!1),g(!1),f(null))},[s,l]),!l||typeof l.currentValue!="string")return null;let C=a!==null||d!==null,_=a??l.currentValue,S=Kc(_,_),A=[...Po,...Po.includes(_)?[]:[_]].map(M=>({id:M,label:Kc(M,M),icon:jc(M)})),k=()=>u(!1),N=M=>{e&&(c(M),Xm(e,M,t,i).then(F=>{F.ok||o?.("error",F.message??v("perm.switchFailed"))}).finally(()=>c(null)))},B=M=>{if(k(),M!==l.currentValue){if(M===Ym){g(!1),f(M);return}N(M)}},z=()=>{g(!1),f(null)},V=()=>{if(s||!p||d===null)return;let M=d;z(),N(M)};return(0,Z.jsxs)(Z.Fragment,{children:[(0,Z.jsxs)("button",{ref:b,type:"button",className:"dci-trigger","aria-label":v("perm.trigger",{name:S}),title:void 0,disabled:s||C,onMouseDown:M=>M.preventDefault(),onClick:()=>{h||x(b.current?.getBoundingClientRect()??null),u(!h)},children:[jc(_)!==void 0?(0,Z.jsx)("span",{className:"dci-triggerIcon","aria-hidden":"true",children:jc(_)}):null,(0,Z.jsx)("span",{className:"dci-triggerLabel",children:S}),(0,Z.jsx)("span",{className:"dci-chev","data-open":h,children:(0,Z.jsx)(Xt,{size:14})})]}),h&&y?(0,Z.jsx)(Yi,{anchor:y,onClose:k,children:A.map(M=>{let F=M.id===_;return(0,Z.jsxs)("button",{type:"button",className:"dci-item",disabled:C,onClick:()=>B(M.id),children:[M.icon!==void 0?(0,Z.jsx)("span",{className:"dci-itemIcon","aria-hidden":"true",children:M.icon}):null,(0,Z.jsx)("span",{className:"dci-itemLabel",children:M.label}),F?(0,Z.jsx)("span",{className:"dci-check","aria-hidden":"true",children:(0,Z.jsx)(Qr,{size:16})}):null]},M.id)})}):null,(0,Z.jsx)(v1,{open:d!==null,acknowledged:p,disabled:s===!0,onAcknowledgedChange:g,onCancel:z,onConfirm:V})]})}function v1(n){let{open:e,acknowledged:t,disabled:i,onAcknowledgedChange:r,onCancel:s,onConfirm:o}=n;return(0,Wt.useEffect)(()=>{if(!e)return;let l=a=>{a.key==="Escape"&&s()};return document.addEventListener("keydown",l),()=>document.removeEventListener("keydown",l)},[e]),e?(0,Z.jsxs)("div",{className:"dci-modal-root",role:"presentation",children:[(0,Z.jsx)("div",{className:"dci-modal-mask","aria-hidden":"true",onClick:s}),(0,Z.jsxs)("div",{className:"dci-modal-dialog dci-confirm",role:"dialog","aria-modal":"true","aria-label":pi().title,children:[(0,Z.jsxs)("div",{className:"dci-modal-content",children:[(0,Z.jsxs)("div",{className:"dci-modal-header",children:[(0,Z.jsx)("h2",{className:"dci-modal-title",children:pi().title}),(0,Z.jsx)("button",{type:"button",className:"dci-modal-close","aria-label":v("perm.close"),onClick:s,children:(0,Z.jsx)($u,{size:14})})]}),(0,Z.jsxs)("div",{className:"dci-modal-body",children:[(0,Z.jsxs)("div",{className:"dci-confirm-warning",children:[(0,Z.jsx)("span",{className:"dci-confirm-warningIcon","aria-hidden":"true",children:(0,Z.jsx)(Zu,{size:18})}),(0,Z.jsx)("p",{children:pi().description})]}),(0,Z.jsxs)("label",{className:"dci-confirm-ack",children:[(0,Z.jsx)("input",{type:"checkbox",checked:t,disabled:i,autoFocus:!0,onChange:l=>r(l.currentTarget.checked)}),(0,Z.jsx)("span",{children:pi().acknowledgeLabel})]})]})]}),(0,Z.jsxs)("div",{className:"dci-modal-footer",children:[(0,Z.jsx)("button",{type:"button",className:"dci-btn dci-btn-outline dci-btn-cancel",onClick:s,children:pi().cancelLabel}),(0,Z.jsx)("button",{type:"button",className:"dci-btn dci-btn-primary dci-btn-confirm",disabled:i||!t,onClick:o,children:pi().enableLabel})]})]})]}):null}var Ge=require("react");var k1="conversation.input.activity",S1="voice-input",Gc=[],Zm=new WeakMap,Qm=new WeakMap,qc=new Map;function C1(n){let e=X.slots,t=(0,Ge.useCallback)(r=>{if(typeof e?.subscribe!="function")return()=>{};try{return e.subscribe(n,r)??(()=>{})}catch{return()=>{}}},[e,n]),i=(0,Ge.useCallback)(()=>{if(typeof e?.entries!="function")return Gc;try{return e.entries(n)??Gc}catch{return Gc}},[e,n]);return(0,Ge.useSyncExternalStore)(t,i,i)}function T1(n,e){if(typeof n.inject!="function")return null;let t=Qm.get(n);if(t||(t=new Map,Qm.set(n,t)),!t.has(e)){let i=null;try{i=n.inject(e)??null}catch(r){Pe("voice.inject",r),i=null}t.set(e,i)}return t.get(e)??null}function A1(n){let e=n.locale??S1;return qc.has(e)||qc.set(e,Fh(e)),qc.get(e)??null}function M1(n){let e=n;if(!e||typeof e.subscribe!="function"||typeof e.getSnapshot!="function")return null;let t=Zm.get(e);return t||(t=i=>(0,Ge.useSyncExternalStore)(r=>e.subscribe(r)??(()=>{}),()=>i(e.getSnapshot()),()=>i(e.getSnapshot())),Zm.set(e,t)),t}var Xc=class extends Ge.Component{constructor(){super(...arguments);ce(this,"state",{failed:!1})}static getDerivedStateFromError(){return{failed:!0}}componentDidCatch(t){Pe("voice.entry",t)}render(){return this.state.failed?null:this.props.children}};function eg(n){let{sessionId:e,inputActions:t,locked:i,onActiveChange:r}=n,s=C1(k1),o=(0,Ge.useMemo)(()=>{for(let f of s){let p=f;if(p&&typeof p=="object"&&typeof p.component=="function")return p}return null},[s]),l=(0,Ge.useMemo)(()=>o&&e?T1(o,e):null,[o,e]),a=(0,Ge.useMemo)(()=>o?A1(o):null,[o]),c=l?.hooks?.speechReadiness,h=(0,Ge.useMemo)(()=>M1(c),[c]);if(!o||!e||!l||!a||!h)return null;let{hooks:u,...d}=l;return(0,Ge.createElement)(Xc,{children:(0,Ge.createElement)(o.component,{sessionId:e,inputActions:t,locked:i,onActiveChange:r,...d,useSpeechReadiness:h,t:a})})}var tt=require("react/jsx-runtime");function tg(n){n.preventDefault()}function ng(n){let{sessionId:e,state:t,actions:i,triggers:r,caretRef:s,useProjection:o,disabled:l,onNotify:a}=n;Gt();let c=t?.attachmentIds??[],[h,u]=(0,Io.useState)(!1),d=(0,Io.useCallback)(p=>u(p),[]),f=()=>{r&&Rm(r,void 0,s.current??0)};return(0,tt.jsxs)("div",{className:"dci-row","data-voice-active":h||void 0,children:[(0,tt.jsxs)("div",{className:"dci-tools",children:[(0,tt.jsx)("button",{type:"button",className:"dci-add","aria-label":v("tool.command"),"aria-haspopup":"listbox",title:v("tool.command"),disabled:!r,onMouseDown:tg,onClick:f,children:(0,tt.jsx)(Gu,{size:14})}),(0,tt.jsx)(Jm,{sessionId:e,actions:i,currentDraft:t?.draft??"",useProjection:o,disabled:l,onNotify:a})]}),(0,tt.jsxs)("div",{className:"dci-trailing",children:[(0,tt.jsx)("div",{className:"dci-standard-controls",children:(0,tt.jsx)(Gm,{sessionId:e,onNotify:a})}),(0,tt.jsx)("div",{className:"dci-voice-seat",children:(0,tt.jsx)(eg,{sessionId:e,inputActions:i,locked:l===!0,onActiveChange:d})}),(0,tt.jsx)("button",{type:"button",className:"dci-send","aria-label":n.primaryStops?v("tool.stop"):v("tool.send"),title:n.primaryStops?v("tool.stop"):v("tool.send"),disabled:n.primaryStops?!n.onStop:n.sendDisabled,onMouseDown:tg,onClick:()=>n.primaryStops?n.onStop?.():n.onSend(),children:n.primaryStops?(0,tt.jsx)(ed,{size:16}):(0,tt.jsx)(Qu,{size:16})})]})]})}var yn=require("react");var es=["tokenUsage","contextPressure","sessionUsage","usage","sessionStats"];function we(n){return typeof n=="number"&&Number.isFinite(n)?n:void 0}function E1(n){if(!n||typeof n!="object")return;let e=n,t={cacheReadTokens:we(e.cacheReadTokens),cacheWriteTokens:we(e.cacheWriteTokens),outputTokens:we(e.outputTokens),uncachedInputTokens:we(e.uncachedInputTokens)};return Object.values(t).some(i=>i!==void 0)?t:void 0}function D1(n){if(!n||typeof n!="object")return;let e=n,t={contextWindow:we(e.contextWindow),pressureTokens:we(e.pressureTokens),projectedTokens:we(e.projectedTokens)};return t.contextWindow!==void 0&&t.pressureTokens!==void 0?t:void 0}function R1(n){if(!n||typeof n!="object")return;let e=n,t={turns:we(e.turns),steps:we(e.steps),llmMs:we(e.llmMs),toolMs:we(e.toolMs),ttftMs:we(e.ttftMs),ttftSteps:we(e.ttftSteps),decodeMs:we(e.decodeMs),decodeTokens:we(e.decodeTokens)};return Object.values(t).some(i=>i!==void 0)?t:void 0}function L1(n){if(!Array.isArray(n))return;let e=new Set,t=0,i=0,r=0,s=0,o=0,l=0,a=0;for(let c of n){if(!c||typeof c!="object")continue;let h=c;if(h.kind==="tool-result"){let y=we(h.callTime),x=we(h.time);y!==void 0&&x!==void 0&&(r+=Math.max(0,x-y));continue}if(h.kind!=="assistant")continue;e.add(h.turn),t+=1;let u=h.timing,d=we(u?.stepStartTime),f=we(u?.firstTokenTime),p=we(u?.completedTime);d!==void 0&&p!==void 0&&(i+=Math.max(0,p-d)),d!==void 0&&f!==void 0&&(s+=Math.max(0,f-d),o+=1),f!==void 0&&p!==void 0&&(l+=Math.max(0,p-f));let g=h.usage,b=we(g?.outputTokens);b!==void 0&&b>=0&&(a+=b)}if(n.length!==0)return{turns:e.size,steps:t,llmMs:i,toolMs:r,ttftMs:s,ttftSteps:o,decodeMs:l,decodeTokens:a}}function Yc(n){let e=Math.max(0,n);return e>=10?String(Math.round(e)):String(Math.round(e*10)/10)}function Jc(n,e){if(e<=0)return null;if(n>=e)return"100";for(let t=0;t<20;t++){let i=10**t,r=Math.round(n/e*100*i)/i;if(r<100)return t===0?String(r):r.toFixed(t)}return"99.99"}function No(n){let e=n/1e3;if(e<60)return`${Math.round(e*10)/10}s`;let t=Math.round(e);return`${Math.floor(t/60)}\u5206${t%60}\u79D2`}function ig(n,e,t){let i=n?n(es[0]):void 0,r=n?n(es[1]):void 0,s=n?n(es[2]):void 0,o=n?n(es[3]):void 0,l=n?n(es[4]):void 0,a=E1(i),c=D1(r),h=R1(l)??L1(t)??O1(s,o),u={};if(h&&((h.turns!==void 0||h.steps!==void 0)&&(u.turns=h.turns,u.steps=h.steps),h.llmMs!==void 0&&(u.llmMs=h.llmMs),h.toolMs!==void 0&&(u.toolMs=h.toolMs),h.ttftMs!==void 0&&(u.ttftMs=h.ttftMs),h.ttftSteps!==void 0&&(u.ttftSteps=h.ttftSteps),h.decodeMs!==void 0&&(u.decodeMs=h.decodeMs),h.decodeTokens!==void 0&&(u.decodeTokens=h.decodeTokens),(h.decodeMs??0)>0&&(u.tokensPerSecond=(h.decodeTokens??0)/(h.decodeMs/1e3))),a){let p=(a.cacheReadTokens??0)+(a.cacheWriteTokens??0)+(a.outputTokens??0)+(a.uncachedInputTokens??0);p>0&&(u.totalTokens=p,u.uncachedInputTokens=a.uncachedInputTokens,u.cacheReadTokens=a.cacheReadTokens,u.cacheWriteTokens=a.cacheWriteTokens,u.outputTokens=a.outputTokens);let g=(a.cacheReadTokens??0)+(a.cacheWriteTokens??0)+(a.uncachedInputTokens??0);if(g>0){let b=Jc(a.cacheReadTokens??0,g);b!==null&&(u.cacheHitText=b)}}let d=c?.contextWindow,f=c?.projectedTokens??c?.pressureTokens;return d!==void 0&&d>0&&f!==void 0&&(u.contextPct=f/d*100),Object.keys(u).length>0?u:null}function O1(n,e){let t=i=>{if(!i||typeof i!="object")return;let r=i,s=we(r.turns)??we(r.turnCount),o=we(r.steps)??we(r.stepCount);return s!==void 0||o!==void 0?{turns:s,steps:o}:void 0};return t(n)??t(e)}function Bo(n){let e=t=>t>=100?String(Math.round(t)):String(Math.round(t*10)/10);return n<1e3?`${n} tok`:n<1e6?`${e(n/1e3)}K tok`:`${e(n/1e6)}M tok`}var P=require("react/jsx-runtime");function Zc({size:n=14}){return(0,P.jsxs)("svg",{width:n,height:n,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,P.jsx)("path",{d:"M3.49 13.26A6.375 6.375 0 1 1 12.51 13.26",stroke:"currentColor",strokeWidth:"1.25"}),(0,P.jsx)("path",{d:"M8 8.75L11.4 5.35",stroke:"currentColor",strokeWidth:"1.25"}),(0,P.jsx)("circle",{cx:"8",cy:"8.75",r:"1.55",fill:"currentColor"})]})}function rg({size:n=14}){return(0,P.jsxs)("svg",{width:n,height:n,viewBox:"0 0 16 16",fill:"none","aria-hidden":"true",children:[(0,P.jsx)("ellipse",{cx:"8",cy:"3.6",rx:"5.75",ry:"2.4",stroke:"currentColor",strokeWidth:"1.25"}),(0,P.jsx)("path",{d:"M2.25 3.6V12.3A5.75 2.4 0 0 0 13.75 12.3V3.6",stroke:"currentColor",strokeWidth:"1.25"}),(0,P.jsx)("path",{d:"M2.25 7.95A5.75 2.4 0 0 0 13.75 7.95",stroke:"currentColor",strokeWidth:"1.25"})]})}function og(n){let{label:e,icon:t,titleValue:i,rows:r}=n;return(0,P.jsxs)("div",{className:"dci-stat-panel",role:"dialog","aria-label":e,children:[(0,P.jsxs)("div",{className:"dci-stat-panelTitle",children:[(0,P.jsxs)("span",{className:"dci-stat-panelLabel",children:[t,e]}),i!==void 0?(0,P.jsx)("span",{className:"dci-stat-panelValue",children:i}):null]}),(0,P.jsx)("div",{className:"dci-stat-panelRule","aria-hidden":"true"}),(0,P.jsx)("dl",{className:"dci-stat-details",children:r.map(([s,o])=>(0,P.jsxs)("div",{style:{display:"contents"},children:[(0,P.jsx)("dt",{children:s}),(0,P.jsx)("dd",{children:o})]},s))})]})}function ts(n){let e=String(n??0),t=[];for(let i=e.length;i>0;i-=3)t.unshift(e.slice(Math.max(0,i-3),i));return`${t.join(",")} tok`}function P1(n){let{stats:e,open:t,onToggle:i}=n,r=v("stats.turns",{turns:e.turns??0,steps:e.steps??0}),s=(e.decodeMs??0)>0?Yc((e.decodeTokens??0)/((e.decodeMs??1)/1e3)):null,o=(e.llmMs??0)>0||(e.toolMs??0)>0||(e.ttftSteps??0)>0||(e.decodeMs??0)>0,l=(0,P.jsxs)("span",{className:"dci-stat-label",children:[r,s!==null?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("span",{className:"dci-stat-sep","aria-hidden":"true",children:"\xB7"}),v("stats.tps",{tps:s})]}):null]});return o?(0,P.jsxs)("span",{className:"dci-stat-anchor",children:[(0,P.jsxs)("button",{type:"button",className:"dci-stat-pill","aria-haspopup":"dialog","aria-expanded":t,"aria-label":s!==null?`${r} \xB7 ${v("stats.tps",{tps:s})}`:r,onClick:i,children:[(0,P.jsx)(Zc,{}),l]}),t?(0,P.jsx)(og,{label:v("stats.session"),icon:(0,P.jsx)(Zc,{}),rows:[[v("stats.modelTime"),(e.llmMs??0)>0?No(e.llmMs):"\u2014"],[v("stats.toolTime"),(e.toolMs??0)>0?No(e.toolMs):"\u2014"],[v("stats.ttft"),(e.ttftSteps??0)>0?No(e.ttftMs/e.ttftSteps):"\u2014"],[v("stats.tpsLabel"),(e.decodeMs??0)>0?v("stats.tps",{tps:Yc((e.decodeTokens??0)/((e.decodeMs??1)/1e3))}):"\u2014"]]}):null]}):(0,P.jsx)("span",{className:"dci-stat-anchor",children:(0,P.jsxs)("span",{className:"dci-stat-pill",children:[(0,P.jsx)(Zc,{}),l]})})}function I1(n){let{stats:e,open:t,onToggle:i}=n;if(e.totalTokens===void 0)return null;let r=e.totalTokens,s=e.cacheHitText??Jc(e.cacheReadTokens??0,(e.cacheReadTokens??0)+(e.cacheWriteTokens??0)+(e.uncachedInputTokens??0));return(0,P.jsxs)("span",{className:"dci-stat-anchor",children:[(0,P.jsxs)("button",{type:"button",className:"dci-stat-pill","aria-haspopup":"dialog","aria-expanded":t,"aria-label":s!==null?`${Bo(r)} \xB7 ${v("stats.cacheHit",{percent:s})}`:Bo(r),onClick:i,children:[(0,P.jsx)(rg,{}),(0,P.jsxs)("span",{className:"dci-stat-label",children:[Bo(r),s!==null?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)("span",{className:"dci-stat-sep","aria-hidden":"true",children:"\xB7"}),v("stats.cacheHit",{percent:s})]}):null]})]}),t?(0,P.jsx)(og,{label:v("stats.usage"),icon:(0,P.jsx)(rg,{}),titleValue:ts(r),rows:[[v("stats.cacheHitLabel"),s!==null?`${s}%`:"\u2014"],[v("stats.uncached"),ts(e.uncachedInputTokens)],[v("stats.cacheRead"),ts(e.cacheReadTokens)],...e.cacheWriteTokens?[[v("stats.cacheWrite"),ts(e.cacheWriteTokens)]]:[],[v("stats.output"),ts(e.outputTokens)]]}):null]})}function Qc(n){let{useProjection:e,sessionId:t,chatNodes:i}=n,[r,s]=(0,yn.useState)(null),o=(0,yn.useRef)(null),l=ig(e,t,i);(0,yn.useEffect)(()=>{if(r===null)return;let h=u=>{o.current&&u.target instanceof Node&&o.current.contains(u.target)||s(null)};return window.addEventListener("pointerdown",h,!0),()=>window.removeEventListener("pointerdown",h,!0)},[r]);let a=e?e("contextPressure"):void 0,c=a!==void 0&&!!a.contextWindow;return!l&&!c?null:(0,P.jsxs)("div",{className:"dci-stat-root","data-composer-stats":"codinput",ref:o,children:[l?(0,P.jsxs)(P.Fragment,{children:[(0,P.jsx)(P1,{stats:l,open:r==="rounds",onToggle:()=>s(r==="rounds"?null:"rounds")}),(0,P.jsx)(I1,{stats:l,open:r==="tokens",onToggle:()=>s(r==="tokens"?null:"tokens")})]}):null,(0,P.jsx)(N1,{useProjection:e})]})}var sg=2*Math.PI*5.5;function ns(n){return n>=1e6?`${(n/1e6).toFixed(n%1e6===0?0:1)}M`:n>=1e3?`${(n/1e3).toFixed(n%1e3===0?0:1)}K`:`${n}`}function N1(n){let{useProjection:e}=n,[t,i]=(0,yn.useState)(!1),r=(0,yn.useRef)(null),s=e?e("contextPressure"):void 0,o=e?e("contextBreakdown"):void 0;if((0,yn.useEffect)(()=>{if(!t)return;let d=f=>{r.current&&f.target instanceof Node&&r.current.contains(f.target)||i(!1)};return window.addEventListener("pointerdown",d,!0),()=>window.removeEventListener("pointerdown",d,!0)},[t]),!s||!s.contextWindow)return null;let l=s.contextWindow,a=s.projectedTokens??s.pressureTokens??0,c=Math.min(100,Math.round(a/l*100)),h=c/100*sg,u=[["dci-gauge-colorSystem",o?.systemTokens??0],["dci-gauge-colorTools",o?.toolsTokens??0],["dci-gauge-colorMessages",o?.messageTokens??0]];return(0,P.jsxs)("span",{className:"dci-gauge-root",ref:r,children:[(0,P.jsxs)("button",{type:"button",className:"dci-gauge-trigger","aria-label":v("tool.context",{percent:Math.round(c)}),"aria-haspopup":"dialog","aria-expanded":t,title:v("tool.context",{percent:Math.round(c)}),onClick:()=>i(!t),children:[(0,P.jsxs)("svg",{viewBox:"0 0 14 14",width:"14",height:"14","aria-hidden":"true",children:[(0,P.jsx)("circle",{className:"dci-gauge-track",cx:"7",cy:"7",r:"5.5"}),(0,P.jsx)("circle",{className:"dci-gauge-fill",cx:"7",cy:"7",r:"5.5",strokeDasharray:`${h} ${sg}`,transform:"rotate(-90 7 7)"})]}),(0,P.jsxs)("span",{children:[Math.round(c),"%"]})]}),t?(0,P.jsxs)("div",{className:"dci-gauge-panel",role:"dialog","aria-label":v("tool.contextTitle"),children:[(0,P.jsxs)("div",{className:"dci-gauge-header",children:[(0,P.jsx)("span",{className:"dci-gauge-headline",children:v("tool.contextTitle")}),(0,P.jsxs)("span",{className:"dci-gauge-percent",children:[Math.round(c),"%"]}),(0,P.jsxs)("span",{className:"dci-gauge-figures",children:["~",ns(a)," / ",ns(l)]})]}),(0,P.jsx)("div",{className:"dci-gauge-bar",children:u.map(([d,f])=>(0,P.jsx)("div",{className:`dci-gauge-segment ${d}`,style:{width:`${f/l*100}%`}},d))}),(0,P.jsxs)("dl",{className:"dci-gauge-rows",children:[(0,P.jsxs)("div",{className:"dci-gauge-row",children:[(0,P.jsxs)("dt",{children:[(0,P.jsx)("span",{className:"dci-gauge-swatch dci-gauge-colorSystem","aria-hidden":"true"}),v("stats.prompt")]}),(0,P.jsxs)("dd",{children:["~",ns(o?.systemTokens??0)]})]}),(0,P.jsxs)("div",{className:"dci-gauge-row",children:[(0,P.jsxs)("dt",{children:[(0,P.jsx)("span",{className:"dci-gauge-swatch dci-gauge-colorTools","aria-hidden":"true"}),v("stats.tools")]}),(0,P.jsxs)("dd",{children:["~",ns(o?.toolsTokens??0)]})]}),(0,P.jsxs)("div",{className:"dci-gauge-row",children:[(0,P.jsxs)("dt",{children:[(0,P.jsx)("span",{className:"dci-gauge-swatch dci-gauge-colorMessages","aria-hidden":"true"}),v("stats.messages")]}),(0,P.jsxs)("dd",{children:["~",ns(o?.messageTokens??0)]})]})]})]}):null]})}var Ae=require("react/jsx-runtime");le.setOptions({gfm:!0,breaks:!0});var B1=Nl??Bl;function _o(n){let{sessionId:e,state:t,actions:i,useProjection:r,placeholder:s,disabled:o,blocked:l,running:a,side:c,hero:h,chatNodes:u,float:d,onDragZonePointerDown:f}=n;Gt();let[p,g]=(0,Ne.useState)(()=>ue().defaultEdit),[b,y]=(0,Ne.useState)(()=>ue().defaultPreview),[x,C]=(0,Ne.useState)(()=>ue().composerBodyHeight),[_,S]=(0,Ne.useState)(!1),A=(0,Ne.useRef)(null),k=(0,Ne.useRef)(null),N=(0,Ne.useRef)(null),B=H=>{H.preventDefault();let Ce=H.currentTarget,se=H.clientY,Zi=x??Math.max(60,A.current?.querySelector(".dci-body")?.getBoundingClientRect().height??0);Ce.dataset.dragging="true";let nt=x,wn=$t=>{nt=Math.round(Math.min(window.innerHeight-260,Math.max(96,Zi-($t.clientY-se)))),C(nt)},Hn=()=>{Ce.dataset.dragging="false",window.removeEventListener("pointermove",wn),window.removeEventListener("pointerup",Hn),window.removeEventListener("pointercancel",Hn),st({composerBodyHeight:nt})};try{Ce.setPointerCapture(H.pointerId)}catch{}window.addEventListener("pointermove",wn),window.addEventListener("pointerup",Hn),window.addEventListener("pointercancel",Hn)},[z,V]=(0,Ne.useState)(0);(0,Ne.useEffect)(()=>{!p&&!b&&g(!0)},[p,b]);let M=()=>{if(!(!e||!X.conversation))try{return X.conversation.input.inputTriggers(e)??void 0}catch{return}},F=()=>{if(!(!e||!X.conversation))try{return X.conversation.input.keyboard(e)}catch{return}},W=M(),q=F();(0,Ne.useEffect)(()=>{if(!e||W&&q)return;let H=window.setInterval(()=>V(se=>se+1),300),Ce=window.setTimeout(()=>window.clearInterval(H),1e4);return()=>{window.clearInterval(H),window.clearTimeout(Ce)}},[e,W,q]);let te=(0,Ne.useMemo)(()=>{if(!(!e||!X.sessions||!X.commandUi)&&typeof X.commandUi.popupFor=="function")try{return X.commandUi.popupFor(X.sessions.scope(e))}catch{return}},[e,z]);(0,Ne.useEffect)(()=>{if(e)return _u(e)},[e]),(0,Ne.useEffect)(()=>{if(!e||!X.commandUi)return;let H=X.commandUi;if(typeof H.bindComposerFocus=="function")return H.bindComposerFocus(e,()=>k.current?.focus())},[e]),(0,Ne.useEffect)(()=>{sl(e??null);let H=Oe();return e&&(W&&(H.__dshCodinputTriggers[e]=W),q&&(H.__dshCodinputKeyboard[e]=q),H.__dshCodinputShell[e]={surface:!0,side:c===!0}),()=>{sl(null)}},[e,W,q,c]);let He=H=>{N.current=H},xe=()=>{if(e)try{X.sessions?.scope(e)?.get?.("conversation")?.cancel?.()?.catch?.(()=>{})}catch{}},Le=()=>{if(!i)return;let H=t,Ce=!H||H.draft.trim()==="",se=!H||H.attachmentIds.length===0;if(Ce&&se){q?.steerQueue();return}i.submit()},$e=o===!0||l===!0,Fe=(t?.draft??"").trim()==="",Xe=(t?.attachmentIds.length??0)===0,Et=a===!0&&Fe&&Xe,ie=$e||i===void 0||t!==void 0&&t.phase==="submitting"||Fe&&Xe,ln=(0,Ne.useMemo)(()=>B1.sanitize(le.parse(t?.draft??"")),[t?.draft,b]),bi=()=>{!p&&b?g(!0):p&&b&&g(!1)},Vo=()=>{!b&&p?y(!0):b&&p&&y(!1)},$o=s??v("editor.placeholder"),ss=lg(e);return(0,Ae.jsxs)("div",{className:"dci-surface","data-side":c||void 0,"data-float":d||void 0,children:[(0,Ae.jsxs)("div",{className:"dci-card","data-composer-card":"codinput","data-drop":_||void 0,ref:A,onPasteCapture:H=>{let Ce=H.clipboardData?.files;!Ce||Ce.length===0||(H.preventDefault(),H.stopPropagation(),Rs(e,i,Ce,ss))},onDragOverCapture:H=>{Hu(H.dataTransfer)&&(H.preventDefault(),H.dataTransfer.dropEffect="copy",_||S(!0))},onDragLeave:H=>{H.currentTarget.contains(H.relatedTarget)||S(!1)},onDropCapture:H=>{S(!1);let Ce=H.dataTransfer?.files;!Ce||Ce.length===0||(H.preventDefault(),H.stopPropagation(),Rs(e,i,Ce,ss))},children:[(0,Ae.jsx)("div",{className:"dci-rip","data-axis":"y","data-side":"top",onPointerDown:B}),(0,Ae.jsxs)("div",{className:"dci-accessory",children:[(0,Ae.jsx)("button",{type:"button",className:"dci-iconbtn","data-on":p,onClick:bi,title:v("head.edit"),children:(0,Ae.jsx)(Wu,{size:14})}),(0,Ae.jsx)("button",{type:"button",className:"dci-iconbtn","data-on":b,onClick:Vo,title:v("head.preview"),children:(0,Ae.jsx)(Vu,{size:14})}),c?null:(0,Ae.jsx)("div",{className:"dci-float-dragzone",onPointerDown:f})]}),i&&(t?.attachmentIds.length??0)>0?(0,Ae.jsx)(Km,{state:t,sessionId:e,onRemove:H=>{let Ce=X.conversation;i.removeAttachment(H);try{Ce?.releaseDraftAttachment(H)}catch(se){Pe("attachments",se)}}}):null,(0,Ae.jsxs)("div",{className:"dci-body","data-split":p&&b,style:!c&&!d&&x!==null?{"--dci-body-h":`${x}px`,"--dci-body-max":`${x}px`}:void 0,children:[p?(0,Ae.jsx)(Nm,{state:t,actions:i,triggers:W,keyboard:q,onSendGesture:Le,placeholder:$o,viewRef:k,onCaretMoved:He,disabled:$e,autoFocus:!0,solo:!b,stateKey:e??"hero"}):null,b?(0,Ae.jsx)("div",{className:"dci-preview","data-solo":!p,children:ln?(0,Ae.jsx)("div",{dangerouslySetInnerHTML:{__html:ln}}):(0,Ae.jsx)("span",{style:{opacity:.4},children:v("preview.empty")})}):null]}),(0,Ae.jsx)(ng,{sessionId:e,state:t,actions:i,triggers:W,caretRef:N,useProjection:r,disabled:$e,primaryStops:Et,onStop:xe,onNotify:lg(e),onSend:Le,sendDisabled:ie}),d&&h!==!0?(0,Ae.jsx)(Qc,{useProjection:r,sessionId:e,chatNodes:u}):null,W?(0,Ae.jsx)(_m,{triggers:W,dropdown:c===!0||d===!0}):null]}),!d&&h!==!0?(0,Ae.jsx)(Qc,{useProjection:r,sessionId:e,chatNodes:u}):null,te?(0,Ae.jsx)(Fm,{popup:te}):null]})}function lg(n){if(n)return(e,t)=>{try{let i=X.sessions?.scope(n);if(!i||!X.conversation)return;X.conversation.input.for(i).notify(e,t)}catch(i){Pe("notify",i)}}}var is=require("react/jsx-runtime"),ag="dsh-codinput",Ho="codinput";function cg(){return{id:ag,kind:Ho,priority:"extension",title:()=>"Codinput",keepMounted:!0,guide:[{order:0,title:()=>"Codinput",description:()=>v("side.guideDesc")}]}}function hg(){return{options:{name:"sidebar.right.pane.tab",key:ag,registrant:"dsh-codinput"},component:_1}}function _1(n){let{sessionId:e,useInput:t,inputActions:i,useProjection:r,useSession:s,useTabInfo:o}=n,l=t(S=>S),a=s?s(S=>S?.running)===!0:!1;Gt();let c=o?o():void 0,h=c?.tab.visible===!0,u=c?.sidebar.expanded===!0,d=c?.tab.actions?.close,f=(0,ht.useRef)(d);f.current=d,(0,ht.useEffect)(()=>{let S=Oe().__dshCodinputShell;S["sidebar.tabId"]=c?.tab.id??"none",S["sidebar.closeFace"]=d?"yes":"none"},[c,d]),(0,ht.useEffect)(()=>Zh(S=>{if(!(S!==e||!f.current))try{f.current()}catch(A){Pe("sidebar.closeTab",A)}}),[e]);let[p,g]=(0,ht.useState)(()=>ue().enabled);(0,ht.useEffect)(()=>kn(()=>g(ue().enabled)),[]);let b=(0,ht.useRef)(!1);(0,ht.useEffect)(()=>{b.current||(b.current=!0,ue().enabled||st({enabled:!0}))},[]);let y=(0,ht.useRef)(null),[x,C]=(0,ht.useState)(0);(0,ht.useEffect)(()=>{if(!p)return;let S=qh(e,{visible:h,expanded:u});return y.current=S,C(S.token),()=>{y.current=null,S.release()}},[e,p]),(0,ht.useEffect)(()=>{y.current?.set({visible:h,expanded:u})},[h,u]);let _=Qh(e,x);return p?_?(0,is.jsx)("div",{style:{position:"absolute",inset:0,minHeight:0,display:"flex",flexDirection:"column"},children:(0,is.jsx)(_o,{sessionId:e,state:l,actions:i,useProjection:r,running:a,side:!0})}):(0,is.jsx)("div",{className:"dci-side-notice",role:"note",children:v("side.notice")}):(0,is.jsx)("div",{className:"dci-side-notice",role:"note",children:v("side.disabled")})}var th=require("react/jsx-runtime"),H1=36,F1=18,z1=12,W1=8;function eh(){return document.querySelector('[role="banner"]')??document.querySelector("header")}function dg(n){let{sessionId:e}=n;Gt();let{carried:t,collapsed:i}=tu(e),r=t&&i,[s,o]=(0,Fo.useState)(null);return(0,Fo.useEffect)(()=>{if(!r){o(null);return}let l=()=>{let u=eh()?.getBoundingClientRect();if(!u||u.height===0)return;let d={left:Math.round(u.right-z1-H1),top:Math.round(u.bottom+W1)};o(f=>f&&f.left===d.left&&f.top===d.top?f:d)};l();let a=eh(),c=typeof ResizeObserver=="function"?new ResizeObserver(l):null;a&&c&&c.observe(a),window.addEventListener("resize",l);let h=window.setInterval(()=>{eh()&&(l(),window.clearInterval(h))},250);return()=>{c?.disconnect(),window.removeEventListener("resize",l),window.clearInterval(h)}},[r]),!r||!s?null:(0,ug.createPortal)((0,th.jsx)("button",{type:"button",className:"dci-ball","data-codinput-expand":"true",style:{left:s.left,top:s.top},"aria-label":v("ball.label"),title:v("ball.title"),onClick:()=>V1(e),children:(0,th.jsx)(zu,{size:F1})}),document.body)}function V1(n){let e=X.sidebarRight;if(e){try{if(n&&typeof e.openTabIn=="function"){e.openTabIn(n,Ho);return}if(typeof e.openTab=="function"){e.openTab(Ho);return}}catch(t){Pe("ball.openTab",t)}try{typeof e.isExpanded=="function"&&!e.isExpanded()&&e.toggleExpanded?.()}catch(t){Pe("ball.expand",t)}}}var mi=require("react/jsx-runtime");function rh(n){let{variant:e,blocked:t,disabled:i,placeholder:r,sessionId:s,useInput:o,inputActions:l,useProjection:a,useChat:c,useSession:h}=n,u=o(C=>C),d=c?c(C=>C?.legacy?.nodes):void 0,f=h?h(C=>C?.running)===!0:!1,p=eu(s),[g,b]=(0,on.useState)(()=>ue().mode);if((0,on.useEffect)(()=>kn(()=>b(ue().mode)),[]),p)return(0,mi.jsx)(dg,{sessionId:s});let y=g==="float",x=(0,mi.jsx)(_o,{sessionId:s,state:u,actions:l,useProjection:a,placeholder:r,disabled:i===!0,blocked:t!==void 0,running:f,hero:e==="hero",chatNodes:d,float:y,onDragZonePointerDown:G1});return y?(0,mi.jsx)(X1,{children:x}):x}var qe=12,fg=6,nh=720,zo=360,rs=140,$1=6,U1=12;function _n(n,e,t){return Math.min(t,Math.max(e,n))}function sh(){return Math.max(zo,window.innerWidth-qe*2)}function K1(){return Math.max(rs,window.innerHeight-qe*2)}function pg(){let n=ue();return{x:n.floatX??Math.round((window.innerWidth-Math.min(n.floatW??nh,sh()))/2),y:n.floatY??Math.round(window.innerHeight*.16),w:n.floatW??nh,h:n.floatH}}var Ji=null,ih=new Set;function mg(n,e){for(let t of ih)t(n,e)}function j1(){let e=document.querySelector("[data-composer-seat]")?.getBoundingClientRect(),t=Math.min(window.innerHeight,(e?.bottom??window.innerHeight)+120),i=Math.max(0,t-300);return{left:(e?.left??0)-40,right:(e?.right??window.innerWidth)+40,top:i,bottom:t}}function G1(n){if(n.button!==0)return;let e=n.currentTarget,t=e.closest("[data-composer-card]"),i=!!e.closest(".dci-float"),r=t?.getBoundingClientRect(),s=r?.left??n.clientX,o=r?.top??n.clientY,l=r?.width||Math.min(ue().floatW??nh,sh()),a=y=>_n(y,qe,Math.max(qe,window.innerWidth-l-qe)),c=y=>_n(y,qe,Math.max(qe,window.innerHeight-96)),h=a(n.clientX-s),u=c(n.clientY-o);n.preventDefault();let d=n.clientX,f=n.clientY,p={grabDX:h,grabDY:u,detached:i,fromFloat:i,lastX:a(n.clientX-h),lastY:c(n.clientY-u)},g=y=>{if(Ji){if(!p.detached){if(Math.abs(y.clientX-d)<fg&&Math.abs(y.clientY-f)<fg)return;p.detached=!0,p.lastX=a(y.clientX-p.grabDX),p.lastY=c(y.clientY-p.grabDY),st({mode:"float",floatX:p.lastX,floatY:p.lastY}),mg(p.lastX,p.lastY);return}p.lastX=a(y.clientX-p.grabDX),p.lastY=c(y.clientY-p.grabDY),mg(p.lastX,p.lastY)}},b=y=>{if(window.removeEventListener("pointermove",g),window.removeEventListener("pointerup",b),window.removeEventListener("pointercancel",b),Ji=null,!p.detached)return;let x=j1();if(y.clientX>=x.left&&y.clientX<=x.right&&y.clientY>=x.top&&y.clientY<=x.bottom){st({mode:"normal"});return}st({floatX:p.lastX,floatY:p.lastY})};Ji=p,window.addEventListener("pointermove",g),window.addEventListener("pointerup",b),window.addEventListener("pointercancel",b)}var q1=["n","s","e","w","nw","ne","sw","se"];function X1(n){let{children:e}=n,t=(0,on.useRef)(null),[i,r]=(0,on.useState)(()=>Ji?{...pg(),x:Ji.lastX,y:Ji.lastY}:pg()),s=(0,on.useRef)(i);s.current=i,(0,on.useLayoutEffect)(()=>{let u=(d,f)=>r(p=>({...p,x:d,y:f}));return ih.add(u),()=>{ih.delete(u)}},[]);let o=u=>d=>{if(d.button!==0)return;d.preventDefault(),d.stopPropagation();let f=s.current,g=t.current?.getBoundingClientRect(),b=g?.width??f.w,y=g?.height??f.h??rs,x=f.x,C=f.y,_=x+b,S=C+y,A=d.clientX,k=d.clientY,N=z=>{let V=z.clientX-A,M=z.clientY-k,F=b,W=y,q=x,te=C;u.includes("e")&&(F=_n(b+V,zo,Math.max(zo,window.innerWidth-qe-x))),u.includes("w")&&(q=_n(x+V,qe,_-zo),F=_-q),u.includes("s")&&(W=_n(y+M,rs,Math.max(rs,window.innerHeight-qe-C))),u.includes("n")&&(te=_n(C+M,qe,S-rs),W=S-te),r({x:q,y:te,w:Math.round(F),h:Math.round(W)})},B=()=>{window.removeEventListener("pointermove",N),window.removeEventListener("pointerup",B),window.removeEventListener("pointercancel",B);let z=s.current;st({floatX:z.x,floatY:z.y,floatW:z.w,floatH:z.h})};try{d.currentTarget.setPointerCapture(d.pointerId)}catch{}window.addEventListener("pointermove",N),window.addEventListener("pointerup",B),window.addEventListener("pointercancel",B)},l=Math.min(i.w,sh()),a=i.h===null?null:Math.min(i.h,K1()),c=_n(i.x,qe,Math.max(qe,window.innerWidth-l-qe)),h=_n(i.y,qe,Math.max(qe,window.innerHeight-96));return(0,gg.createPortal)((0,mi.jsxs)("div",{className:"dci-float",ref:t,"data-sized":a!==null?"true":void 0,style:{left:c,top:h,width:l,height:a??void 0,"--dci-grip-edge":`${$1}px`,"--dci-grip-corner":`${U1}px`},children:[e,q1.map(u=>(0,mi.jsx)("div",{className:"dci-float-grip","data-dir":u,onPointerDown:o(u)},u))]}),document.body)}function bg(){return{options:{name:"conversation.composer.bar",priority:-1,registrant:"dsh-codinput"}}}var Vt=require("react");var oe=require("react/jsx-runtime"),Y1="codinput";function xg(){return{options:{name:"settings.section",id:Y1,order:60,label:()=>"Codinput",registrant:"dsh-codinput"},component:Z1}}function yg(n){let{value:e,conflictWith:t,ariaLabel:i,onChange:r}=n,[s,o]=(0,Vt.useState)(!1),[l,a]=(0,Vt.useState)(!1),c=(0,Vt.useRef)(null);return(0,Vt.useEffect)(()=>{if(!s)return;let h=u=>{c.current&&u.target instanceof Node&&c.current.contains(u.target)||o(!1)};return window.addEventListener("pointerdown",h,!0),()=>window.removeEventListener("pointerdown",h,!0)},[s]),(0,oe.jsx)("button",{ref:c,type:"button",className:"dci-set-selector","data-recording":s||void 0,"data-conflict":l||void 0,"aria-label":i,onClick:()=>o(!0),onBlur:()=>o(!1),onKeyDown:h=>{if(!s)return;if(h.preventDefault(),h.stopPropagation(),h.key==="Escape"){o(!1);return}if(h.key==="Shift"||h.key==="Control"||h.key==="Alt"||h.key==="Meta")return;let u=Pm(h.nativeEvent,h.key);if(t!==void 0&&u===t){a(!0),window.setTimeout(()=>a(!1),1500);return}r(u),o(!1),c.current?.blur()},children:s?v("set.recording"):Im(e)})}function gi(n){let{title:e,desc:t,children:i}=n;return(0,oe.jsxs)("div",{className:"dci-set-row",children:[(0,oe.jsxs)("div",{className:"dci-set-rowText",children:[(0,oe.jsx)("div",{className:"dci-set-title",children:e}),t?(0,oe.jsx)("div",{className:"dci-set-desc",children:t}):null]}),(0,oe.jsx)("div",{className:"dci-set-control",children:i})]})}function J1(n){let{value:e,options:t,onChange:i,ariaLabel:r}=n,[s,o]=(0,Vt.useState)(!1),l=(0,Vt.useRef)(null),[a,c]=(0,Vt.useState)(null),h=t.find(u=>u.value===e);return(0,oe.jsxs)(oe.Fragment,{children:[(0,oe.jsxs)("button",{ref:l,type:"button",className:"dci-set-selector","aria-haspopup":"menu","aria-expanded":s,"aria-label":r,onClick:()=>{s||c(l.current?.getBoundingClientRect()??null),o(!s)},children:[h?.label??e,(0,oe.jsx)(Xt,{size:14})]}),s&&a?(0,oe.jsx)(Yi,{anchor:a,side:"bottom",alignEnd:!0,onClose:()=>o(!1),minWidth:200,children:t.map(u=>(0,oe.jsx)("button",{type:"button",className:"dci-item",onClick:()=>{i(u.value),o(!1)},children:(0,oe.jsx)("span",{className:"dci-itemLabel",children:u.label})},u.value))}):null]})}function wg(n){let{on:e,label:t,onToggle:i}=n;return(0,oe.jsx)("button",{type:"button",role:"switch",className:"dci-switch","aria-checked":e,"aria-label":t,onClick:i})}function Z1(){let[n,e]=(0,Vt.useState)(()=>ue());Gt();let t=i=>{e(st(i))};return(0,oe.jsxs)("div",{className:"dci-settings",children:[(0,oe.jsx)(gi,{title:v("set.enabled"),desc:v("set.enabledDesc"),children:(0,oe.jsx)(wg,{on:n.enabled,label:v("set.enabled"),onToggle:()=>t({enabled:!n.enabled})})}),(0,oe.jsx)(gi,{title:v("set.lineNumbers"),desc:v("set.lineNumbersDesc"),children:(0,oe.jsx)(wg,{on:n.lineNumbers,label:v("set.lineNumbers"),onToggle:()=>t({lineNumbers:!n.lineNumbers})})}),(0,oe.jsx)(gi,{title:v("set.font"),desc:v("set.fontDesc"),children:(0,oe.jsx)("input",{type:"text",className:"dci-set-input",value:n.fontFamily,spellCheck:!1,"aria-label":v("set.font"),onChange:i=>t({fontFamily:i.target.value})})}),(0,oe.jsx)(gi,{title:v("set.sendKey"),desc:v("set.sendKeyDesc"),children:(0,oe.jsx)(yg,{value:n.sendHotkey,conflictWith:n.lineBreakHotkey,ariaLabel:v("set.sendKey"),onChange:i=>t({sendHotkey:i})})}),(0,oe.jsx)(gi,{title:v("set.lineBreakKey"),desc:v("set.lineBreakKeyDesc"),children:(0,oe.jsx)(yg,{value:n.lineBreakHotkey,conflictWith:n.sendHotkey,ariaLabel:v("set.lineBreakKey"),onChange:i=>t({lineBreakHotkey:i})})}),(0,oe.jsx)(gi,{title:v("set.defaultView"),desc:v("set.defaultViewDesc"),children:(0,oe.jsx)(J1,{value:n.defaultEdit&&n.defaultPreview?"split":n.defaultPreview?"preview":"edit",ariaLabel:v("set.defaultView"),onChange:i=>t({defaultEdit:i!=="preview",defaultPreview:i!=="edit"}),options:[{value:"edit",label:v("head.editOnly")},{value:"split",label:v("head.split")},{value:"preview",label:v("head.previewOnly")}]})}),(0,oe.jsx)(gi,{title:v("set.reset"),desc:v("set.resetAll"),children:(0,oe.jsx)("button",{type:"button",className:"dci-set-selector",onClick:()=>e(st({...nr})),children:v("set.resetAction")})})]})}function Q1(n){if(n)try{let e=X.sessions?.scope(n);e&&X.conversation&&X.conversation.input.for(e).setDraft("")}catch{}}function vg(n,e,t){let i=n.findIndex(o=>o.name===e);if(i===-1)return[...n];let r=t(n);if(r===i||r===i+1)return[...n];let s=[...n];return s.splice(i,1),s.splice(r>i?r-1:r,0,n[i]),s}function kg(n){ze("command.register",()=>{n.inject(["commandUi"],e=>{let t=e.commandUi;if(typeof t?.register!="function"){Oe().__dshCodinputShell.command="commandUi-unavailable";return}let i;if(typeof t.candidates=="function"){let r=t.candidates.bind(t);t.candidates=(s,o)=>Promise.resolve(r(s,o)).then(l=>{if(o.query!==""||!Array.isArray(l))return l;let a=l,c=a.find(h=>h.name==="goal"||h.name==="plan"||h.name==="feedback")?.section;return c!==void 0&&(a=vg(a,"file",h=>{let u=h.findIndex(d=>d.section===c&&d.name!=="file");return u===-1?h.length:u})),a=vg(a,"codinput",h=>{let u=h.find(f=>f.name==="codinput"),d=h.findIndex(f=>f.section===u?.section&&f.name!=="codinput"&&f.name.toLowerCase()>"codinput");return d===-1?h.length:d}),a}),i=()=>{t.candidates=r}}n.effect(()=>i,"dsh-codinput: slash order patch"),n.effect(()=>t.register({name:"codinput",description:()=>ue().enabled?v("cmd.exit"):v("cmd.enter"),icon:td,available:()=>!0,ui:{kind:"action",run:()=>{let r=Oe().__dshCodinputSessionId??void 0;if(st({enabled:!ue().enabled}),!ue().enabled)for(let s of Xh())Jh(s);setTimeout(()=>Q1(r),80)}}}),"dsh-codinput: /codinput contribution"),Oe().__dshCodinputShell.command="registered"})})}var ev="dsh-codinput",tv=["slots","conversation"];function Wo(n,e,t=60){try{n(),Oe().__dshCodinputShell[e]="registered";return}catch(i){if(t<=0){Pe(e,i),Oe().__dshCodinputShell[e]="failed";return}}setTimeout(()=>Wo(n,e,t-1),250)}function nv(n){$h(),Wh(n),ze("console.hook",()=>{let l=Oe();if(!l.__dshConsoleHooked){l.__dshConsoleHooked=!0;let a=l.console.error.bind(l.console);l.console.error=(...c)=>{let h=c.find(u=>u instanceof Error);h&&l.__dshCodinputErrs.push(h),a(...c)}}}),ze("slots.entryErrorHook",()=>{let l=n.slots,a=l._core??l;typeof a.onEntryError=="function"&&a.onEntryError(c=>{let h=c?.error;Pe("slot.entry",h??c),Oe().__dshCodinputErrs.push(h instanceof Error?h:new Error(JSON.stringify(c).slice(0,800)))})});let e=bg(),t=null,i=()=>{if(!t)try{t=n.slots.register(e.options,rh),Oe().__dshCodinputShell.bar="mounted"}catch(l){Pe("bar.register",l)}},r=()=>{let l=t;t=null;try{l?.(),Oe().__dshCodinputShell.bar="unmounted"}catch(a){Pe("bar.dispose",a)}},s=()=>ue().enabled||Yh(),o=()=>{s()?i():r()};Wo(()=>{s()&&i()},"bar"),ze("bar.prefs",()=>{kn(o)}),ze("bar.sideinput",()=>{rr(o)}),ze("sidebar.register",()=>{n.inject(["slots","sidebarRightTabs","sidebarRight"],l=>{let a=l.sidebarRightTabs;if(typeof a?.register!="function"){Pe("sidebar",new Error("sidebarRightTabs unavailable"));return}let c=hg();n.effect(()=>a.register(cg()),"dsh-codinput: sidebar tab type"),Wo(()=>{n.slots.register(c.options,c.component)},"sidebar.body")})}),ze("settings.register",()=>{let l=xg();Wo(()=>{n.slots.register(l.options,l.component)},"settings")}),kg(n),ze("draggate.install",()=>{let l=window;l.__dshCodinputDragGate||(l.__dshCodinputDragGate=!0,document.addEventListener("pointerdown",a=>{a.target instanceof Element&&(a.target.closest("[data-dockkit-tab-close]")||a.target.closest("[data-dockkit-tab]")&&a.stopPropagation())},{capture:!0}))}),ze("diag.boot",()=>{Oe().__dshCodinputShell.apply="done",window.__dshCodinputCtx=n})}
|
|
575
585
|
return module.exports; } })
|