diff --git a/dist/assets/index-BZPHLDSC.css b/dist/assets/index-DJpJgVAz.css similarity index 59% rename from dist/assets/index-BZPHLDSC.css rename to dist/assets/index-DJpJgVAz.css index fedf66c..27ab094 100644 --- a/dist/assets/index-BZPHLDSC.css +++ b/dist/assets/index-DJpJgVAz.css @@ -29,4 +29,4 @@ * The original design remains. The terminal itself * has been extended to include xterm CSI codes, among * other features. - */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.canvas-container{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;cursor:default;background:var(--bg);touch-action:none;overscroll-behavior:contain}.canvas-container.pan-mode{cursor:grab}.canvas-container.panning{cursor:grabbing}.canvas-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle,var(--bg-grid) 1px,transparent 1px);background-repeat:repeat}.canvas-hud{position:fixed;bottom:12px;left:12px;display:flex;gap:12px;padding:6px 10px;background:#00000080;border-radius:6px;font-size:11px;font-family:ui-monospace,Menlo,monospace;color:var(--text);pointer-events:none;z-index:1000}.card{position:absolute;background:var(--card-bg);border:calc(1px * var(--scale, 1)) solid var(--card-border);border-radius:calc(8px * var(--scale, 1));box-shadow:0 calc(4px * var(--scale, 1)) calc(16px * var(--scale, 1)) #0000004d;display:flex;flex-direction:column}.card-header{padding:.31em .46em .31em .77em;background:#0003;border-bottom:calc(1px * var(--scale, 1)) solid var(--card-border);font-size:.85em;cursor:move;flex-shrink:0;overflow:hidden;border-top-left-radius:inherit;border-top-right-radius:inherit;display:flex;align-items:center;gap:.46em}.card-title{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-family:inherit;font-size:inherit;padding:.15em 0;cursor:text}.card-title::placeholder{color:var(--text);opacity:.35}.card-close{flex-shrink:0;width:1.6em;height:1.6em;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text);opacity:.5;font-size:1.2em;line-height:1;cursor:pointer;padding:0;font-family:inherit}.card-close:hover{background:#ff505040;opacity:1}.card-body{flex:1;overflow:hidden;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.note-body .cm-editor{height:100%}.note-body .cm-editor.cm-focused{outline:none}.terminal-body{background:#1d1d23;padding:calc(4px * var(--scale, 1));height:100%}.terminal-body .xterm,.terminal-body .xterm-viewport,.terminal-body .xterm-screen{height:100%!important;width:100%!important}.resize-handle{position:absolute;z-index:5;background:transparent}.resize-n,.resize-s{left:0;right:0;height:8px;cursor:ns-resize}.resize-n{top:-4px}.resize-s{bottom:-4px}.resize-e,.resize-w{top:0;bottom:0;width:8px;cursor:ew-resize}.resize-e{right:-4px}.resize-w{left:-4px}.resize-ne,.resize-nw,.resize-se,.resize-sw{width:14px;height:14px;z-index:6}.resize-ne{top:-4px;right:-4px;cursor:nesw-resize}.resize-nw{top:-4px;left:-4px;cursor:nwse-resize}.resize-se{bottom:-4px;right:-4px;cursor:nwse-resize}.resize-sw{bottom:-4px;left:-4px;cursor:nesw-resize}.toolbar{position:fixed;top:12px;left:12px;display:flex;gap:6px;padding:6px;background:#00000080;border-radius:8px;z-index:1000}.toolbar button{background:var(--card-bg);color:var(--text);border:1px solid var(--card-border);border-radius:5px;padding:6px 10px;font-size:12px;cursor:pointer;font-family:inherit}.toolbar button:hover{border-color:var(--accent)}:root{--bg: #1a1a1f;--bg-grid: #25252c;--card-bg: #2a2a32;--card-border: #3a3a45;--text: #e8e8ec;--accent: #6a8cff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);-webkit-user-select:none;user-select:none} + */.xterm{cursor:text;position:relative;user-select:none;-ms-user-select:none;-webkit-user-select:none}.xterm.focus,.xterm:focus{outline:none}.xterm .xterm-helpers{position:absolute;top:0;z-index:5}.xterm .xterm-helper-textarea{padding:0;border:0;margin:0;position:absolute;opacity:0;left:-9999em;top:0;width:0;height:0;z-index:-5;white-space:nowrap;overflow:hidden;resize:none}.xterm .composition-view{background:#000;color:#fff;display:none;position:absolute;white-space:nowrap;z-index:1}.xterm .composition-view.active{display:block}.xterm .xterm-viewport{background-color:#000;overflow-y:scroll;cursor:default;position:absolute;right:0;left:0;top:0;bottom:0}.xterm .xterm-screen{position:relative}.xterm .xterm-screen canvas{position:absolute;left:0;top:0}.xterm-char-measure-element{display:inline-block;visibility:hidden;position:absolute;top:0;left:-9999em;line-height:normal}.xterm.enable-mouse-events{cursor:default}.xterm.xterm-cursor-pointer,.xterm .xterm-cursor-pointer{cursor:pointer}.xterm.column-select.focus{cursor:crosshair}.xterm .xterm-accessibility:not(.debug),.xterm .xterm-message{position:absolute;left:0;top:0;bottom:0;right:0;z-index:10;color:transparent;pointer-events:none}.xterm .xterm-accessibility-tree:not(.debug) *::selection{color:transparent}.xterm .xterm-accessibility-tree{font-family:monospace;-webkit-user-select:text;user-select:text;white-space:pre}.xterm .xterm-accessibility-tree>div{transform-origin:left;width:fit-content}.xterm .live-region{position:absolute;left:-9999px;width:1px;height:1px;overflow:hidden}.xterm-dim{opacity:1!important}.xterm-underline-1{text-decoration:underline}.xterm-underline-2{text-decoration:double underline}.xterm-underline-3{text-decoration:wavy underline}.xterm-underline-4{text-decoration:dotted underline}.xterm-underline-5{text-decoration:dashed underline}.xterm-overline{text-decoration:overline}.xterm-overline.xterm-underline-1{text-decoration:overline underline}.xterm-overline.xterm-underline-2{text-decoration:overline double underline}.xterm-overline.xterm-underline-3{text-decoration:overline wavy underline}.xterm-overline.xterm-underline-4{text-decoration:overline dotted underline}.xterm-overline.xterm-underline-5{text-decoration:overline dashed underline}.xterm-strikethrough{text-decoration:line-through}.xterm-screen .xterm-decoration-container .xterm-decoration{z-index:6;position:absolute}.xterm-screen .xterm-decoration-container .xterm-decoration.xterm-decoration-top-layer{z-index:7}.xterm-decoration-overview-ruler{z-index:8;position:absolute;top:0;right:0;pointer-events:none}.xterm-decoration-top{z-index:2;position:relative}.xterm .xterm-scrollable-element>.scrollbar{cursor:default}.xterm .xterm-scrollable-element>.scrollbar>.scra{cursor:pointer;font-size:11px!important}.xterm .xterm-scrollable-element>.visible{opacity:1;background:#0000;transition:opacity .1s linear;z-index:11}.xterm .xterm-scrollable-element>.invisible{opacity:0;pointer-events:none}.xterm .xterm-scrollable-element>.invisible.fade{transition:opacity .8s linear}.xterm .xterm-scrollable-element>.shadow{position:absolute;display:none}.xterm .xterm-scrollable-element>.shadow.top{display:block;top:0;left:3px;height:3px;width:100%;box-shadow:var(--vscode-scrollbar-shadow, #000) 0 6px 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.left{display:block;top:3px;left:0;height:100%;width:3px;box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.xterm .xterm-scrollable-element>.shadow.top-left-corner{display:block;top:0;left:0;height:3px;width:3px}.xterm .xterm-scrollable-element>.shadow.top.left{box-shadow:var(--vscode-scrollbar-shadow, #000) 6px 0 6px -6px inset}.canvas-container{position:fixed;top:0;right:0;bottom:0;left:0;overflow:hidden;cursor:default;background:var(--bg);touch-action:none;overscroll-behavior:contain}.canvas-container.pan-mode{cursor:grab}.canvas-container.panning{cursor:grabbing}.canvas-grid{position:absolute;top:0;right:0;bottom:0;left:0;pointer-events:none;background-image:radial-gradient(circle,var(--bg-grid) 1px,transparent 1px);background-repeat:repeat}.canvas-hud{position:fixed;bottom:12px;left:12px;display:flex;gap:12px;padding:6px 10px;background:#00000080;border-radius:6px;font-size:11px;font-family:ui-monospace,Menlo,monospace;color:var(--text);pointer-events:none;z-index:1000}.card{position:absolute;background:var(--card-bg);border:calc(1px * var(--scale, 1)) solid var(--card-border);border-radius:calc(8px * var(--scale, 1));box-shadow:0 calc(4px * var(--scale, 1)) calc(16px * var(--scale, 1)) #0000004d;display:flex;flex-direction:column}.card-header{padding:.31em .46em .31em .77em;background:#0003;border-bottom:calc(1px * var(--scale, 1)) solid var(--card-border);font-size:.85em;cursor:move;flex-shrink:0;overflow:hidden;border-top-left-radius:inherit;border-top-right-radius:inherit;display:flex;align-items:center;gap:.46em}.card-title{flex:1;min-width:0;background:transparent;border:none;outline:none;color:var(--text);font-family:inherit;font-size:inherit;padding:.15em 0;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.card-title--empty{opacity:.35}.card-title--editing{cursor:text}.card-title--editing::placeholder{color:var(--text);opacity:.35}.card-close{flex-shrink:0;width:1.6em;height:1.6em;display:flex;align-items:center;justify-content:center;background:transparent;border:none;border-radius:4px;color:var(--text);opacity:.5;font-size:1.2em;line-height:1;cursor:pointer;padding:0;font-family:inherit}.card-close:hover{background:#ff505040;opacity:1}.card-body{flex:1;overflow:hidden;border-bottom-left-radius:inherit;border-bottom-right-radius:inherit}.note-body .cm-editor{height:100%}.note-body .cm-editor.cm-focused{outline:none}.terminal-body{background:#1d1d23;padding:calc(4px * var(--scale, 1));height:100%}.terminal-body .xterm,.terminal-body .xterm-viewport,.terminal-body .xterm-screen{height:100%!important;width:100%!important}.resize-handle{position:absolute;z-index:5;background:transparent}.resize-n,.resize-s{left:0;right:0;height:8px;cursor:ns-resize}.resize-n{top:-4px}.resize-s{bottom:-4px}.resize-e,.resize-w{top:0;bottom:0;width:8px;cursor:ew-resize}.resize-e{right:-4px}.resize-w{left:-4px}.resize-ne,.resize-nw,.resize-se,.resize-sw{width:14px;height:14px;z-index:6}.resize-ne{top:-4px;right:-4px;cursor:nesw-resize}.resize-nw{top:-4px;left:-4px;cursor:nwse-resize}.resize-se{bottom:-4px;right:-4px;cursor:nwse-resize}.resize-sw{bottom:-4px;left:-4px;cursor:nesw-resize}.toolbar{position:fixed;top:12px;left:220px;display:flex;gap:6px;padding:6px;background:#00000080;border-radius:8px;z-index:1000}.board-switcher{position:fixed;top:12px;left:12px;z-index:1001}.board-switcher-trigger{display:flex;align-items:center;gap:8px;background:#0009;color:var(--text);border:1px solid var(--card-border);border-radius:8px;padding:7px 12px;font-size:12px;font-family:inherit;cursor:pointer;min-width:180px;max-width:260px}.board-switcher-trigger:hover{border-color:var(--accent)}.board-switcher-name{flex:1;overflow:hidden;text-overflow:ellipsis;white-space:nowrap;text-align:left}.board-switcher-caret{opacity:.6;font-size:10px}.board-switcher-menu{position:absolute;top:calc(100% + 4px);left:0;min-width:220px;background:var(--card-bg, #2a2a32);border:1px solid var(--card-border);border-radius:8px;padding:4px;box-shadow:0 8px 24px #00000080;display:flex;flex-direction:column;gap:1px}.board-switcher-row{display:flex;align-items:center;border-radius:5px;padding:0 2px 0 0}.board-switcher-row:hover{background:#ffffff0f}.board-switcher-row.is-current{background:#ffffff0a}.board-switcher-name-btn{flex:1;display:flex;align-items:center;justify-content:space-between;gap:8px;background:transparent;border:none;color:var(--text);font-family:inherit;font-size:12px;text-align:left;padding:7px 10px;cursor:pointer;overflow:hidden;text-overflow:ellipsis;white-space:nowrap}.board-switcher-dot{font-size:8px;opacity:.6}.board-switcher-delete{flex-shrink:0;width:22px;height:22px;background:transparent;border:none;border-radius:4px;color:var(--text);opacity:0;font-size:14px;line-height:1;cursor:pointer;padding:0}.board-switcher-row:hover .board-switcher-delete{opacity:.5}.board-switcher-delete:hover{background:#ff505040;opacity:1!important}.board-switcher-input{flex:1;background:transparent;border:1px solid var(--accent, #4f87ff);border-radius:5px;color:var(--text);font-family:inherit;font-size:12px;padding:6px 10px;outline:none}.board-switcher-divider{height:1px;background:var(--card-border);margin:4px 2px}.board-switcher-new{background:transparent;border:none;color:var(--text);font-family:inherit;font-size:12px;text-align:left;padding:7px 10px;border-radius:5px;cursor:pointer;opacity:.75}.board-switcher-new:hover{background:#ffffff0f;opacity:1}.toolbar button{background:var(--card-bg);color:var(--text);border:1px solid var(--card-border);border-radius:5px;padding:6px 10px;font-size:12px;cursor:pointer;font-family:inherit}.toolbar button:hover{border-color:var(--accent)}:root{--bg: #1a1a1f;--bg-grid: #25252c;--card-bg: #2a2a32;--card-border: #3a3a45;--text: #e8e8ec;--accent: #6a8cff;font-family:-apple-system,BlinkMacSystemFont,Segoe UI,Roboto,sans-serif;color-scheme:dark}*{box-sizing:border-box;margin:0;padding:0}html,body,#root{width:100%;height:100%;overflow:hidden;background:var(--bg);color:var(--text);-webkit-user-select:none;user-select:none} diff --git a/dist/assets/index-DxdHmf_Q.js b/dist/assets/index-DaPgpxZP.js similarity index 60% rename from dist/assets/index-DxdHmf_Q.js rename to dist/assets/index-DaPgpxZP.js index fbed54a..6d183cb 100644 --- a/dist/assets/index-DxdHmf_Q.js +++ b/dist/assets/index-DaPgpxZP.js @@ -1,4 +1,4 @@ -var nx=Object.defineProperty;var ox=(t,e,i)=>e in t?nx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var QO=(t,e,i)=>ox(t,typeof e!="symbol"?e+"":e,i);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const n of s)if(n.type==="childList")for(const o of n.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function i(s){const n={};return s.integrity&&(n.integrity=s.integrity),s.referrerPolicy&&(n.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?n.credentials="include":s.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function r(s){if(s.ep)return;s.ep=!0;const n=i(s);fetch(s.href,n)}})();function lx(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Xv={exports:{}},gc={},Iv={exports:{}},ie={};/** +var lx=Object.defineProperty;var ax=(t,e,i)=>e in t?lx(t,e,{enumerable:!0,configurable:!0,writable:!0,value:i}):t[e]=i;var Rm=(t,e,i)=>ax(t,typeof e!="symbol"?e+"":e,i);(function(){const e=document.createElement("link").relList;if(e&&e.supports&&e.supports("modulepreload"))return;for(const s of document.querySelectorAll('link[rel="modulepreload"]'))r(s);new MutationObserver(s=>{for(const n of s)if(n.type==="childList")for(const o of n.addedNodes)o.tagName==="LINK"&&o.rel==="modulepreload"&&r(o)}).observe(document,{childList:!0,subtree:!0});function i(s){const n={};return s.integrity&&(n.integrity=s.integrity),s.referrerPolicy&&(n.referrerPolicy=s.referrerPolicy),s.crossOrigin==="use-credentials"?n.credentials="include":s.crossOrigin==="anonymous"?n.credentials="omit":n.credentials="same-origin",n}function r(s){if(s.ep)return;s.ep=!0;const n=i(s);fetch(s.href,n)}})();function hx(t){return t&&t.__esModule&&Object.prototype.hasOwnProperty.call(t,"default")?t.default:t}var Wv={exports:{}},mc={},jv={exports:{}},se={};/** * @license React * react.production.min.js * @@ -6,7 +6,7 @@ var nx=Object.defineProperty;var ox=(t,e,i)=>e in t?nx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Al=Symbol.for("react.element"),ax=Symbol.for("react.portal"),hx=Symbol.for("react.fragment"),cx=Symbol.for("react.strict_mode"),ux=Symbol.for("react.profiler"),fx=Symbol.for("react.provider"),dx=Symbol.for("react.context"),px=Symbol.for("react.forward_ref"),gx=Symbol.for("react.suspense"),Ox=Symbol.for("react.memo"),mx=Symbol.for("react.lazy"),TO=Symbol.iterator;function _x(t){return t===null||typeof t!="object"?null:(t=TO&&t[TO]||t["@@iterator"],typeof t=="function"?t:null)}var Wv={isMounted:function(){return!1},enqueueForceUpdate:function(){},enqueueReplaceState:function(){},enqueueSetState:function(){}},Nv=Object.assign,jv={};function Vn(t,e,i){this.props=t,this.context=e,this.refs=jv,this.updater=i||Wv}Vn.prototype.isReactComponent={};Vn.prototype.setState=function(t,e){if(typeof t!="object"&&typeof t!="function"&&t!=null)throw Error("setState(...): takes an object of state variables to update or a function which returns an object of state variables.");this.updater.enqueueSetState(this,t,e,"setState")};Vn.prototype.forceUpdate=function(t){this.updater.enqueueForceUpdate(this,t,"forceUpdate")};function Vv(){}Vv.prototype=Vn.prototype;function Ip(t,e,i){this.props=t,this.context=e,this.refs=jv,this.updater=i||Wv}var Wp=Ip.prototype=new Vv;Wp.constructor=Ip;Nv(Wp,Vn.prototype);Wp.isPureReactComponent=!0;var EO=Array.isArray,Yv=Object.prototype.hasOwnProperty,Np={current:null},qv={key:!0,ref:!0,__self:!0,__source:!0};function Fv(t,e,i){var r,s={},n=null,o=null;if(e!=null)for(r in e.ref!==void 0&&(o=e.ref),e.key!==void 0&&(n=""+e.key),e)Yv.call(e,r)&&!qv.hasOwnProperty(r)&&(s[r]=e[r]);var l=arguments.length-2;if(l===1)s.children=i;else if(1e in t?nx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var bx=ne,xx=Symbol.for("react.element"),Cx=Symbol.for("react.fragment"),Px=Object.prototype.hasOwnProperty,$x=bx.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Qx={key:!0,ref:!0,__self:!0,__source:!0};function Uv(t,e,i){var r,s={},n=null,o=null;i!==void 0&&(n=""+i),e.key!==void 0&&(n=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)Px.call(e,r)&&!Qx.hasOwnProperty(r)&&(s[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)s[r]===void 0&&(s[r]=e[r]);return{$$typeof:xx,type:t,key:n,ref:o,props:s,_owner:$x.current}}gc.Fragment=Cx;gc.jsx=Uv;gc.jsxs=Uv;Xv.exports=gc;var ce=Xv.exports,mf={},Gv={exports:{}},ti={},Kv={exports:{}},Jv={};/** + */var Cx=q,Px=Symbol.for("react.element"),$x=Symbol.for("react.fragment"),Qx=Object.prototype.hasOwnProperty,Tx=Cx.__SECRET_INTERNALS_DO_NOT_USE_OR_YOU_WILL_BE_FIRED.ReactCurrentOwner,Ex={key:!0,ref:!0,__self:!0,__source:!0};function Jv(t,e,i){var r,s={},n=null,o=null;i!==void 0&&(n=""+i),e.key!==void 0&&(n=""+e.key),e.ref!==void 0&&(o=e.ref);for(r in e)Qx.call(e,r)&&!Ex.hasOwnProperty(r)&&(s[r]=e[r]);if(t&&t.defaultProps)for(r in e=t.defaultProps,e)s[r]===void 0&&(s[r]=e[r]);return{$$typeof:Px,type:t,key:n,ref:o,props:s,_owner:Tx.current}}mc.Fragment=$x;mc.jsx=Jv;mc.jsxs=Jv;Wv.exports=mc;var H=Wv.exports,Sf={},eS={exports:{}},ii={},tS={exports:{}},iS={};/** * @license React * scheduler.production.min.js * @@ -22,7 +22,7 @@ var nx=Object.defineProperty;var ox=(t,e,i)=>e in t?nx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */(function(t){function e(x,z){var V=x.length;x.push(z);e:for(;0>>1,J=x[K];if(0>>1;Ks(Be,V))yes(kt,Be)?(x[K]=kt,x[ye]=V,K=ye):(x[K]=Be,x[he]=V,K=he);else if(yes(kt,V))x[K]=kt,x[ye]=V,K=ye;else break e}}return z}function s(x,z){var V=x.sortIndex-z.sortIndex;return V!==0?V:x.id-z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}var a=[],h=[],c=1,u=null,f=3,d=!1,p=!1,g=!1,v=typeof setTimeout=="function"?setTimeout:null,O=typeof clearTimeout=="function"?clearTimeout:null,m=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function _(x){for(var z=i(h);z!==null;){if(z.callback===null)r(h);else if(z.startTime<=x)r(h),z.sortIndex=z.expirationTime,e(a,z);else break;z=i(h)}}function S(x){if(g=!1,_(x),!p)if(i(a)!==null)p=!0,Z(y);else{var z=i(h);z!==null&&q(S,z.startTime-x)}}function y(x,z){p=!1,g&&(g=!1,O(Q),Q=-1),d=!0;var V=f;try{for(_(z),u=i(a);u!==null&&(!(u.expirationTime>z)||x&&!B());){var K=u.callback;if(typeof K=="function"){u.callback=null,f=u.priorityLevel;var J=K(u.expirationTime<=z);z=t.unstable_now(),typeof J=="function"?u.callback=J:u===i(a)&&r(a),_(z)}else r(a);u=i(a)}if(u!==null)var ge=!0;else{var he=i(h);he!==null&&q(S,he.startTime-z),ge=!1}return ge}finally{u=null,f=V,d=!1}}var k=!1,b=null,Q=-1,j=5,I=-1;function B(){return!(t.unstable_now()-Ix||125K?(x.sortIndex=V,e(h,x),i(a)===null&&x===i(h)&&(g?(O(Q),Q=-1):g=!0,q(S,V-K))):(x.sortIndex=J,e(a,x),p||d||(p=!0,Z(y))),x},t.unstable_shouldYield=B,t.unstable_wrapCallback=function(x){var z=f;return function(){var V=f;f=z;try{return x.apply(this,arguments)}finally{f=V}}}})(Jv);Kv.exports=Jv;var Tx=Kv.exports;/** + */(function(t){function e(x,Z){var V=x.length;x.push(Z);e:for(;0>>1,te=x[ee];if(0>>1;ees(Be,V))yes(kt,Be)?(x[ee]=kt,x[ye]=V,ee=ye):(x[ee]=Be,x[ce]=V,ee=ce);else if(yes(kt,V))x[ee]=kt,x[ye]=V,ee=ye;else break e}}return Z}function s(x,Z){var V=x.sortIndex-Z.sortIndex;return V!==0?V:x.id-Z.id}if(typeof performance=="object"&&typeof performance.now=="function"){var n=performance;t.unstable_now=function(){return n.now()}}else{var o=Date,l=o.now();t.unstable_now=function(){return o.now()-l}}var a=[],h=[],c=1,u=null,f=3,d=!1,p=!1,g=!1,v=typeof setTimeout=="function"?setTimeout:null,m=typeof clearTimeout=="function"?clearTimeout:null,O=typeof setImmediate<"u"?setImmediate:null;typeof navigator<"u"&&navigator.scheduling!==void 0&&navigator.scheduling.isInputPending!==void 0&&navigator.scheduling.isInputPending.bind(navigator.scheduling);function _(x){for(var Z=i(h);Z!==null;){if(Z.callback===null)r(h);else if(Z.startTime<=x)r(h),Z.sortIndex=Z.expirationTime,e(a,Z);else break;Z=i(h)}}function w(x){if(g=!1,_(x),!p)if(i(a)!==null)p=!0,I(b);else{var Z=i(h);Z!==null&&F(w,Z.startTime-x)}}function b(x,Z){p=!1,g&&(g=!1,m(P),P=-1),d=!0;var V=f;try{for(_(Z),u=i(a);u!==null&&(!(u.expirationTime>Z)||x&&!X());){var ee=u.callback;if(typeof ee=="function"){u.callback=null,f=u.priorityLevel;var te=ee(u.expirationTime<=Z);Z=t.unstable_now(),typeof te=="function"?u.callback=te:u===i(a)&&r(a),_(Z)}else r(a);u=i(a)}if(u!==null)var ge=!0;else{var ce=i(h);ce!==null&&F(w,ce.startTime-Z),ge=!1}return ge}finally{u=null,f=V,d=!1}}var S=!1,k=null,P=-1,D=5,B=-1;function X(){return!(t.unstable_now()-Bx||125ee?(x.sortIndex=V,e(h,x),i(a)===null&&x===i(h)&&(g?(m(P),P=-1):g=!0,F(w,V-ee))):(x.sortIndex=te,e(a,x),p||d||(p=!0,I(b))),x},t.unstable_shouldYield=X,t.unstable_wrapCallback=function(x){var Z=f;return function(){var V=f;f=Z;try{return x.apply(this,arguments)}finally{f=V}}}})(iS);tS.exports=iS;var Rx=tS.exports;/** * @license React * react-dom.production.min.js * @@ -30,28 +30,28 @@ var nx=Object.defineProperty;var ox=(t,e,i)=>e in t?nx(t,e,{enumerable:!0,config * * This source code is licensed under the MIT license found in the * LICENSE file in the root directory of this source tree. - */var Ex=ne,ei=Tx;function E(t){for(var e="https://reactjs.org/docs/error-decoder.html?invariant="+t,i=1;i"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),_f=Object.prototype.hasOwnProperty,Rx=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,AO={},MO={};function Ax(t){return _f.call(MO,t)?!0:_f.call(AO,t)?!1:Rx.test(t)?MO[t]=!0:(AO[t]=!0,!1)}function Mx(t,e,i,r){if(i!==null&&i.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:i!==null?!i.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function Lx(t,e,i,r){if(e===null||typeof e>"u"||Mx(t,e,i,r))return!0;if(r)return!1;if(i!==null)switch(i.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Et(t,e,i,r,s,n,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=s,this.mustUseProperty=i,this.propertyName=t,this.type=e,this.sanitizeURL=n,this.removeEmptyString=o}var dt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){dt[t]=new Et(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];dt[e]=new Et(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){dt[t]=new Et(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){dt[t]=new Et(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){dt[t]=new Et(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){dt[t]=new Et(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){dt[t]=new Et(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){dt[t]=new Et(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){dt[t]=new Et(t,5,!1,t.toLowerCase(),null,!1,!1)});var Vp=/[\-:]([a-z])/g;function Yp(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Vp,Yp);dt[e]=new Et(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Vp,Yp);dt[e]=new Et(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Vp,Yp);dt[e]=new Et(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){dt[t]=new Et(t,1,!1,t.toLowerCase(),null,!1,!1)});dt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){dt[t]=new Et(t,1,!1,t.toLowerCase(),null,!0,!0)});function qp(t,e,i,r){var s=dt.hasOwnProperty(e)?dt[e]:null;(s!==null?s.type!==0:r||!(2"u"||typeof window.document>"u"||typeof window.document.createElement>"u"),yf=Object.prototype.hasOwnProperty,Mx=/^[:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD][:A-Z_a-z\u00C0-\u00D6\u00D8-\u00F6\u00F8-\u02FF\u0370-\u037D\u037F-\u1FFF\u200C-\u200D\u2070-\u218F\u2C00-\u2FEF\u3001-\uD7FF\uF900-\uFDCF\uFDF0-\uFFFD\-.0-9\u00B7\u0300-\u036F\u203F-\u2040]*$/,Dm={},Bm={};function Lx(t){return yf.call(Bm,t)?!0:yf.call(Dm,t)?!1:Mx.test(t)?Bm[t]=!0:(Dm[t]=!0,!1)}function Dx(t,e,i,r){if(i!==null&&i.type===0)return!1;switch(typeof e){case"function":case"symbol":return!0;case"boolean":return r?!1:i!==null?!i.acceptsBooleans:(t=t.toLowerCase().slice(0,5),t!=="data-"&&t!=="aria-");default:return!1}}function Bx(t,e,i,r){if(e===null||typeof e>"u"||Dx(t,e,i,r))return!0;if(r)return!1;if(i!==null)switch(i.type){case 3:return!e;case 4:return e===!1;case 5:return isNaN(e);case 6:return isNaN(e)||1>e}return!1}function Et(t,e,i,r,s,n,o){this.acceptsBooleans=e===2||e===3||e===4,this.attributeName=r,this.attributeNamespace=s,this.mustUseProperty=i,this.propertyName=t,this.type=e,this.sanitizeURL=n,this.removeEmptyString=o}var dt={};"children dangerouslySetInnerHTML defaultValue defaultChecked innerHTML suppressContentEditableWarning suppressHydrationWarning style".split(" ").forEach(function(t){dt[t]=new Et(t,0,!1,t,null,!1,!1)});[["acceptCharset","accept-charset"],["className","class"],["htmlFor","for"],["httpEquiv","http-equiv"]].forEach(function(t){var e=t[0];dt[e]=new Et(e,1,!1,t[1],null,!1,!1)});["contentEditable","draggable","spellCheck","value"].forEach(function(t){dt[t]=new Et(t,2,!1,t.toLowerCase(),null,!1,!1)});["autoReverse","externalResourcesRequired","focusable","preserveAlpha"].forEach(function(t){dt[t]=new Et(t,2,!1,t,null,!1,!1)});"allowFullScreen async autoFocus autoPlay controls default defer disabled disablePictureInPicture disableRemotePlayback formNoValidate hidden loop noModule noValidate open playsInline readOnly required reversed scoped seamless itemScope".split(" ").forEach(function(t){dt[t]=new Et(t,3,!1,t.toLowerCase(),null,!1,!1)});["checked","multiple","muted","selected"].forEach(function(t){dt[t]=new Et(t,3,!0,t,null,!1,!1)});["capture","download"].forEach(function(t){dt[t]=new Et(t,4,!1,t,null,!1,!1)});["cols","rows","size","span"].forEach(function(t){dt[t]=new Et(t,6,!1,t,null,!1,!1)});["rowSpan","start"].forEach(function(t){dt[t]=new Et(t,5,!1,t.toLowerCase(),null,!1,!1)});var Fp=/[\-:]([a-z])/g;function Hp(t){return t[1].toUpperCase()}"accent-height alignment-baseline arabic-form baseline-shift cap-height clip-path clip-rule color-interpolation color-interpolation-filters color-profile color-rendering dominant-baseline enable-background fill-opacity fill-rule flood-color flood-opacity font-family font-size font-size-adjust font-stretch font-style font-variant font-weight glyph-name glyph-orientation-horizontal glyph-orientation-vertical horiz-adv-x horiz-origin-x image-rendering letter-spacing lighting-color marker-end marker-mid marker-start overline-position overline-thickness paint-order panose-1 pointer-events rendering-intent shape-rendering stop-color stop-opacity strikethrough-position strikethrough-thickness stroke-dasharray stroke-dashoffset stroke-linecap stroke-linejoin stroke-miterlimit stroke-opacity stroke-width text-anchor text-decoration text-rendering underline-position underline-thickness unicode-bidi unicode-range units-per-em v-alphabetic v-hanging v-ideographic v-mathematical vector-effect vert-adv-y vert-origin-x vert-origin-y word-spacing writing-mode xmlns:xlink x-height".split(" ").forEach(function(t){var e=t.replace(Fp,Hp);dt[e]=new Et(e,1,!1,t,null,!1,!1)});"xlink:actuate xlink:arcrole xlink:role xlink:show xlink:title xlink:type".split(" ").forEach(function(t){var e=t.replace(Fp,Hp);dt[e]=new Et(e,1,!1,t,"http://www.w3.org/1999/xlink",!1,!1)});["xml:base","xml:lang","xml:space"].forEach(function(t){var e=t.replace(Fp,Hp);dt[e]=new Et(e,1,!1,t,"http://www.w3.org/XML/1998/namespace",!1,!1)});["tabIndex","crossOrigin"].forEach(function(t){dt[t]=new Et(t,1,!1,t.toLowerCase(),null,!1,!1)});dt.xlinkHref=new Et("xlinkHref",1,!1,"xlink:href","http://www.w3.org/1999/xlink",!0,!1);["src","href","action","formAction"].forEach(function(t){dt[t]=new Et(t,1,!1,t.toLowerCase(),null,!0,!0)});function Up(t,e,i,r){var s=dt.hasOwnProperty(e)?dt[e]:null;(s!==null?s.type!==0:r||!(2l||s[o]!==n[l]){var a=` -`+s[o].replace(" at new "," at ");return t.displayName&&a.includes("")&&(a=a.replace("",t.displayName)),a}while(1<=o&&0<=l);break}}}finally{eu=!1,Error.prepareStackTrace=i}return(t=t?t.displayName||t.name:"")?ko(t):""}function Dx(t){switch(t.tag){case 5:return ko(t.type);case 16:return ko("Lazy");case 13:return ko("Suspense");case 19:return ko("SuspenseList");case 0:case 2:case 15:return t=tu(t.type,!1),t;case 11:return t=tu(t.type.render,!1),t;case 1:return t=tu(t.type,!0),t;default:return""}}function wf(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Us:return"Fragment";case Hs:return"Portal";case vf:return"Profiler";case Fp:return"StrictMode";case Sf:return"Suspense";case yf:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case iS:return(t.displayName||"Context")+".Consumer";case tS:return(t._context.displayName||"Context")+".Provider";case Hp:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Up:return e=t.displayName||null,e!==null?e:wf(t.type)||"Memo";case Mr:e=t._payload,t=t._init;try{return wf(t(e))}catch{}}return null}function Bx(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return wf(e);case 8:return e===Fp?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function is(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function sS(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function zx(t){var e=sS(t)?"checked":"value",i=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var s=i.get,n=i.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return s.call(this)},set:function(o){r=""+o,n.call(this,o)}}),Object.defineProperty(t,e,{enumerable:i.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function ta(t){t._valueTracker||(t._valueTracker=zx(t))}function nS(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var i=e.getValue(),r="";return t&&(r=sS(t)?t.checked?"true":"false":t.value),t=r,t!==i?(e.setValue(t),!0):!1}function dh(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function kf(t,e){var i=e.checked;return Re({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??t._wrapperState.initialChecked})}function DO(t,e){var i=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;i=is(e.value!=null?e.value:i),t._wrapperState={initialChecked:r,initialValue:i,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function oS(t,e){e=e.checked,e!=null&&qp(t,"checked",e,!1)}function bf(t,e){oS(t,e);var i=is(e.value),r=e.type;if(i!=null)r==="number"?(i===0&&t.value===""||t.value!=i)&&(t.value=""+i):t.value!==""+i&&(t.value=""+i);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?xf(t,e.type,i):e.hasOwnProperty("defaultValue")&&xf(t,e.type,is(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function BO(t,e,i){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,i||e===t.value||(t.value=e),t.defaultValue=e}i=t.name,i!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,i!==""&&(t.name=i)}function xf(t,e,i){(e!=="number"||dh(t.ownerDocument)!==t)&&(i==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+i&&(t.defaultValue=""+i))}var bo=Array.isArray;function fn(t,e,i,r){if(t=t.options,e){e={};for(var s=0;s"+e.valueOf().toString()+"",e=ia.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function Jo(t,e){if(e){var i=t.firstChild;if(i&&i===t.lastChild&&i.nodeType===3){i.nodeValue=e;return}}t.textContent=e}var Lo={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Zx=["Webkit","ms","Moz","O"];Object.keys(Lo).forEach(function(t){Zx.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Lo[e]=Lo[t]})});function cS(t,e,i){return e==null||typeof e=="boolean"||e===""?"":i||typeof e!="number"||e===0||Lo.hasOwnProperty(t)&&Lo[t]?(""+e).trim():e+"px"}function uS(t,e){t=t.style;for(var i in e)if(e.hasOwnProperty(i)){var r=i.indexOf("--")===0,s=cS(i,e[i],r);i==="float"&&(i="cssFloat"),r?t.setProperty(i,s):t[i]=s}}var Xx=Re({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function $f(t,e){if(e){if(Xx[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(E(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(E(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(E(61))}if(e.style!=null&&typeof e.style!="object")throw Error(E(62))}}function Qf(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Tf=null;function Gp(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Ef=null,dn=null,pn=null;function XO(t){if(t=Dl(t)){if(typeof Ef!="function")throw Error(E(280));var e=t.stateNode;e&&(e=Sc(e),Ef(t.stateNode,t.type,e))}}function fS(t){dn?pn?pn.push(t):pn=[t]:dn=t}function dS(){if(dn){var t=dn,e=pn;if(pn=dn=null,XO(t),e)for(t=0;t>>=0,t===0?32:31-(Gx(t)/Kx|0)|0}var ra=64,sa=4194304;function xo(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function mh(t,e){var i=t.pendingLanes;if(i===0)return 0;var r=0,s=t.suspendedLanes,n=t.pingedLanes,o=i&268435455;if(o!==0){var l=o&~s;l!==0?r=xo(l):(n&=o,n!==0&&(r=xo(n)))}else o=i&~s,o!==0?r=xo(o):n!==0&&(r=xo(n));if(r===0)return 0;if(e!==0&&e!==r&&!(e&s)&&(s=r&-r,n=e&-e,s>=n||s===16&&(n&4194240)!==0))return e;if(r&4&&(r|=i&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0i;i++)e.push(t);return e}function Ml(t,e,i){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-$i(e),t[e]=i}function iC(t,e){var i=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=Bo),HO=" ",UO=!1;function AS(t,e){switch(t){case"keyup":return TC.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function MS(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Gs=!1;function RC(t,e){switch(t){case"compositionend":return MS(e);case"keypress":return e.which!==32?null:(UO=!0,HO);case"textInput":return t=e.data,t===HO&&UO?null:t;default:return null}}function AC(t,e){if(Gs)return t==="compositionend"||!ng&&AS(t,e)?(t=ES(),Na=ig=Wr=null,Gs=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:i,offset:e-t};t=r}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=em(i)}}function zS(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?zS(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function ZS(){for(var t=window,e=dh();e instanceof t.HTMLIFrameElement;){try{var i=typeof e.contentWindow.location.href=="string"}catch{i=!1}if(i)t=e.contentWindow;else break;e=dh(t.document)}return e}function og(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function WC(t){var e=ZS(),i=t.focusedElem,r=t.selectionRange;if(e!==i&&i&&i.ownerDocument&&zS(i.ownerDocument.documentElement,i)){if(r!==null&&og(i)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in i)i.selectionStart=e,i.selectionEnd=Math.min(t,i.value.length);else if(t=(e=i.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var s=i.textContent.length,n=Math.min(r.start,s);r=r.end===void 0?n:Math.min(r.end,s),!t.extend&&n>r&&(s=r,r=n,n=s),s=tm(i,n);var o=tm(i,r);s&&o&&(t.rangeCount!==1||t.anchorNode!==s.node||t.anchorOffset!==s.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(s.node,s.offset),t.removeAllRanges(),n>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=i;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i=document.documentMode,Ks=null,Bf=null,Zo=null,zf=!1;function im(t,e,i){var r=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;zf||Ks==null||Ks!==dh(r)||(r=Ks,"selectionStart"in r&&og(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Zo&&nl(Zo,r)||(Zo=r,r=Sh(Bf,"onSelect"),0tn||(t.current=jf[tn],jf[tn]=null,tn--)}function ve(t,e){tn++,jf[tn]=t.current,t.current=e}var rs={},yt=hs(rs),Xt=hs(!1),Es=rs;function xn(t,e){var i=t.type.contextTypes;if(!i)return rs;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var s={},n;for(n in i)s[n]=e[n];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=s),s}function It(t){return t=t.childContextTypes,t!=null}function wh(){be(Xt),be(yt)}function hm(t,e,i){if(yt.current!==rs)throw Error(E(168));ve(yt,e),ve(Xt,i)}function FS(t,e,i){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return i;r=r.getChildContext();for(var s in r)if(!(s in e))throw Error(E(108,Bx(t)||"Unknown",s));return Re({},i,r)}function kh(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||rs,Es=yt.current,ve(yt,t),ve(Xt,Xt.current),!0}function cm(t,e,i){var r=t.stateNode;if(!r)throw Error(E(169));i?(t=FS(t,e,Es),r.__reactInternalMemoizedMergedChildContext=t,be(Xt),be(yt),ve(yt,t)):be(Xt),ve(Xt,i)}var or=null,yc=!1,gu=!1;function HS(t){or===null?or=[t]:or.push(t)}function eP(t){yc=!0,HS(t)}function cs(){if(!gu&&or!==null){gu=!0;var t=0,e=pe;try{var i=or;for(pe=1;t>=o,s-=o,hr=1<<32-$i(e)+s|i<Q?(j=b,b=null):j=b.sibling;var I=f(O,b,_[Q],S);if(I===null){b===null&&(b=j);break}t&&b&&I.alternate===null&&e(O,b),m=n(I,m,Q),k===null?y=I:k.sibling=I,k=I,b=j}if(Q===_.length)return i(O,b),xe&&ps(O,Q),y;if(b===null){for(;Q<_.length;Q++)b=u(O,_[Q],S),b!==null&&(m=n(b,m,Q),k===null?y=b:k.sibling=b,k=b);return xe&&ps(O,Q),y}for(b=r(O,b);Q<_.length;Q++)j=d(b,O,Q,_[Q],S),j!==null&&(t&&j.alternate!==null&&b.delete(j.key===null?Q:j.key),m=n(j,m,Q),k===null?y=j:k.sibling=j,k=j);return t&&b.forEach(function(B){return e(O,B)}),xe&&ps(O,Q),y}function g(O,m,_,S){var y=eo(_);if(typeof y!="function")throw Error(E(150));if(_=y.call(_),_==null)throw Error(E(151));for(var k=y=null,b=m,Q=m=0,j=null,I=_.next();b!==null&&!I.done;Q++,I=_.next()){b.index>Q?(j=b,b=null):j=b.sibling;var B=f(O,b,I.value,S);if(B===null){b===null&&(b=j);break}t&&b&&B.alternate===null&&e(O,b),m=n(B,m,Q),k===null?y=B:k.sibling=B,k=B,b=j}if(I.done)return i(O,b),xe&&ps(O,Q),y;if(b===null){for(;!I.done;Q++,I=_.next())I=u(O,I.value,S),I!==null&&(m=n(I,m,Q),k===null?y=I:k.sibling=I,k=I);return xe&&ps(O,Q),y}for(b=r(O,b);!I.done;Q++,I=_.next())I=d(b,O,Q,I.value,S),I!==null&&(t&&I.alternate!==null&&b.delete(I.key===null?Q:I.key),m=n(I,m,Q),k===null?y=I:k.sibling=I,k=I);return t&&b.forEach(function($){return e(O,$)}),xe&&ps(O,Q),y}function v(O,m,_,S){if(typeof _=="object"&&_!==null&&_.type===Us&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case ea:e:{for(var y=_.key,k=m;k!==null;){if(k.key===y){if(y=_.type,y===Us){if(k.tag===7){i(O,k.sibling),m=s(k,_.props.children),m.return=O,O=m;break e}}else if(k.elementType===y||typeof y=="object"&&y!==null&&y.$$typeof===Mr&&dm(y)===k.type){i(O,k.sibling),m=s(k,_.props),m.ref=no(O,k,_),m.return=O,O=m;break e}i(O,k);break}else e(O,k);k=k.sibling}_.type===Us?(m=Qs(_.props.children,O.mode,S,_.key),m.return=O,O=m):(S=Ga(_.type,_.key,_.props,null,O.mode,S),S.ref=no(O,m,_),S.return=O,O=S)}return o(O);case Hs:e:{for(k=_.key;m!==null;){if(m.key===k)if(m.tag===4&&m.stateNode.containerInfo===_.containerInfo&&m.stateNode.implementation===_.implementation){i(O,m.sibling),m=s(m,_.children||[]),m.return=O,O=m;break e}else{i(O,m);break}else e(O,m);m=m.sibling}m=ku(_,O.mode,S),m.return=O,O=m}return o(O);case Mr:return k=_._init,v(O,m,k(_._payload),S)}if(bo(_))return p(O,m,_,S);if(eo(_))return g(O,m,_,S);ua(O,_)}return typeof _=="string"&&_!==""||typeof _=="number"?(_=""+_,m!==null&&m.tag===6?(i(O,m.sibling),m=s(m,_),m.return=O,O=m):(i(O,m),m=wu(_,O.mode,S),m.return=O,O=m),o(O)):i(O,m)}return v}var Pn=JS(!0),e1=JS(!1),Ch=hs(null),Ph=null,nn=null,cg=null;function ug(){cg=nn=Ph=null}function fg(t){var e=Ch.current;be(Ch),t._currentValue=e}function qf(t,e,i){for(;t!==null;){var r=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,r!==null&&(r.childLanes|=e)):r!==null&&(r.childLanes&e)!==e&&(r.childLanes|=e),t===i)break;t=t.return}}function On(t,e){Ph=t,cg=nn=null,t=t.dependencies,t!==null&&t.firstContext!==null&&(t.lanes&e&&(zt=!0),t.firstContext=null)}function Oi(t){var e=t._currentValue;if(cg!==t)if(t={context:t,memoizedValue:e,next:null},nn===null){if(Ph===null)throw Error(E(308));nn=t,Ph.dependencies={lanes:0,firstContext:t}}else nn=nn.next=t;return e}var ks=null;function dg(t){ks===null?ks=[t]:ks.push(t)}function t1(t,e,i,r){var s=e.interleaved;return s===null?(i.next=i,dg(e)):(i.next=s.next,s.next=i),e.interleaved=i,_r(t,r)}function _r(t,e){t.lanes|=e;var i=t.alternate;for(i!==null&&(i.lanes|=e),i=t,t=t.return;t!==null;)t.childLanes|=e,i=t.alternate,i!==null&&(i.childLanes|=e),i=t,t=t.return;return i.tag===3?i.stateNode:null}var Lr=!1;function pg(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function i1(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function dr(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function Gr(t,e,i){var r=t.updateQueue;if(r===null)return null;if(r=r.shared,se&2){var s=r.pending;return s===null?e.next=e:(e.next=s.next,s.next=e),r.pending=e,_r(t,i)}return s=r.interleaved,s===null?(e.next=e,dg(r)):(e.next=s.next,s.next=e),r.interleaved=e,_r(t,i)}function Va(t,e,i){if(e=e.updateQueue,e!==null&&(e=e.shared,(i&4194240)!==0)){var r=e.lanes;r&=t.pendingLanes,i|=r,e.lanes=i,Jp(t,i)}}function pm(t,e){var i=t.updateQueue,r=t.alternate;if(r!==null&&(r=r.updateQueue,i===r)){var s=null,n=null;if(i=i.firstBaseUpdate,i!==null){do{var o={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};n===null?s=n=o:n=n.next=o,i=i.next}while(i!==null);n===null?s=n=e:n=n.next=e}else s=n=e;i={baseState:r.baseState,firstBaseUpdate:s,lastBaseUpdate:n,shared:r.shared,effects:r.effects},t.updateQueue=i;return}t=i.lastBaseUpdate,t===null?i.firstBaseUpdate=e:t.next=e,i.lastBaseUpdate=e}function $h(t,e,i,r){var s=t.updateQueue;Lr=!1;var n=s.firstBaseUpdate,o=s.lastBaseUpdate,l=s.shared.pending;if(l!==null){s.shared.pending=null;var a=l,h=a.next;a.next=null,o===null?n=h:o.next=h,o=a;var c=t.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==o&&(l===null?c.firstBaseUpdate=h:l.next=h,c.lastBaseUpdate=a))}if(n!==null){var u=s.baseState;o=0,c=h=a=null,l=n;do{var f=l.lane,d=l.eventTime;if((r&f)===f){c!==null&&(c=c.next={eventTime:d,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var p=t,g=l;switch(f=e,d=i,g.tag){case 1:if(p=g.payload,typeof p=="function"){u=p.call(d,u,f);break e}u=p;break e;case 3:p.flags=p.flags&-65537|128;case 0:if(p=g.payload,f=typeof p=="function"?p.call(d,u,f):p,f==null)break e;u=Re({},u,f);break e;case 2:Lr=!0}}l.callback!==null&&l.lane!==0&&(t.flags|=64,f=s.effects,f===null?s.effects=[l]:f.push(l))}else d={eventTime:d,lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},c===null?(h=c=d,a=u):c=c.next=d,o|=f;if(l=l.next,l===null){if(l=s.shared.pending,l===null)break;f=l,l=f.next,f.next=null,s.lastBaseUpdate=f,s.shared.pending=null}}while(!0);if(c===null&&(a=u),s.baseState=a,s.firstBaseUpdate=h,s.lastBaseUpdate=c,e=s.shared.interleaved,e!==null){s=e;do o|=s.lane,s=s.next;while(s!==e)}else n===null&&(s.shared.lanes=0);Ms|=o,t.lanes=o,t.memoizedState=u}}function gm(t,e,i){if(t=e.effects,e.effects=null,t!==null)for(e=0;ei?i:4,t(!0);var r=mu.transition;mu.transition={};try{t(!1),e()}finally{pe=i,mu.transition=r}}function v1(){return mi().memoizedState}function sP(t,e,i){var r=Jr(t);if(i={lane:r,action:i,hasEagerState:!1,eagerState:null,next:null},S1(t))y1(e,i);else if(i=t1(t,e,i,r),i!==null){var s=$t();Qi(i,t,r,s),w1(i,e,r)}}function nP(t,e,i){var r=Jr(t),s={lane:r,action:i,hasEagerState:!1,eagerState:null,next:null};if(S1(t))y1(e,s);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=e.lastRenderedReducer,n!==null))try{var o=e.lastRenderedState,l=n(o,i);if(s.hasEagerState=!0,s.eagerState=l,Ti(l,o)){var a=e.interleaved;a===null?(s.next=s,dg(e)):(s.next=a.next,a.next=s),e.interleaved=s;return}}catch{}finally{}i=t1(t,e,s,r),i!==null&&(s=$t(),Qi(i,t,r,s),w1(i,e,r))}}function S1(t){var e=t.alternate;return t===Ee||e!==null&&e===Ee}function y1(t,e){Xo=Th=!0;var i=t.pending;i===null?e.next=e:(e.next=i.next,i.next=e),t.pending=e}function w1(t,e,i){if(i&4194240){var r=e.lanes;r&=t.pendingLanes,i|=r,e.lanes=i,Jp(t,i)}}var Eh={readContext:Oi,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useInsertionEffect:pt,useLayoutEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useMutableSource:pt,useSyncExternalStore:pt,useId:pt,unstable_isNewReconciler:!1},oP={readContext:Oi,useCallback:function(t,e){return Wi().memoizedState=[t,e===void 0?null:e],t},useContext:Oi,useEffect:mm,useImperativeHandle:function(t,e,i){return i=i!=null?i.concat([t]):null,qa(4194308,4,p1.bind(null,e,t),i)},useLayoutEffect:function(t,e){return qa(4194308,4,t,e)},useInsertionEffect:function(t,e){return qa(4,2,t,e)},useMemo:function(t,e){var i=Wi();return e=e===void 0?null:e,t=t(),i.memoizedState=[t,e],t},useReducer:function(t,e,i){var r=Wi();return e=i!==void 0?i(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=sP.bind(null,Ee,t),[r.memoizedState,t]},useRef:function(t){var e=Wi();return t={current:t},e.memoizedState=t},useState:Om,useDebugValue:wg,useDeferredValue:function(t){return Wi().memoizedState=t},useTransition:function(){var t=Om(!1),e=t[0];return t=rP.bind(null,t[1]),Wi().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,i){var r=Ee,s=Wi();if(xe){if(i===void 0)throw Error(E(407));i=i()}else{if(i=e(),nt===null)throw Error(E(349));As&30||o1(r,e,i)}s.memoizedState=i;var n={value:i,getSnapshot:e};return s.queue=n,mm(a1.bind(null,r,n,t),[t]),r.flags|=2048,dl(9,l1.bind(null,r,n,i,e),void 0,null),i},useId:function(){var t=Wi(),e=nt.identifierPrefix;if(xe){var i=cr,r=hr;i=(r&~(1<<32-$i(r)-1)).toString(32)+i,e=":"+e+"R"+i,i=ul++,0")&&(a=a.replace("",t.displayName)),a}while(1<=o&&0<=l);break}}}finally{tu=!1,Error.prepareStackTrace=i}return(t=t?t.displayName||t.name:"")?bo(t):""}function zx(t){switch(t.tag){case 5:return bo(t.type);case 16:return bo("Lazy");case 13:return bo("Suspense");case 19:return bo("SuspenseList");case 0:case 2:case 15:return t=iu(t.type,!1),t;case 11:return t=iu(t.type.render,!1),t;case 1:return t=iu(t.type,!0),t;default:return""}}function xf(t){if(t==null)return null;if(typeof t=="function")return t.displayName||t.name||null;if(typeof t=="string")return t;switch(t){case Gs:return"Fragment";case Us:return"Portal";case wf:return"Profiler";case Gp:return"StrictMode";case kf:return"Suspense";case bf:return"SuspenseList"}if(typeof t=="object")switch(t.$$typeof){case nS:return(t.displayName||"Context")+".Consumer";case sS:return(t._context.displayName||"Context")+".Provider";case Kp:var e=t.render;return t=t.displayName,t||(t=e.displayName||e.name||"",t=t!==""?"ForwardRef("+t+")":"ForwardRef"),t;case Jp:return e=t.displayName||null,e!==null?e:xf(t.type)||"Memo";case Dr:e=t._payload,t=t._init;try{return xf(t(e))}catch{}}return null}function Zx(t){var e=t.type;switch(t.tag){case 24:return"Cache";case 9:return(e.displayName||"Context")+".Consumer";case 10:return(e._context.displayName||"Context")+".Provider";case 18:return"DehydratedFragment";case 11:return t=e.render,t=t.displayName||t.name||"",e.displayName||(t!==""?"ForwardRef("+t+")":"ForwardRef");case 7:return"Fragment";case 5:return e;case 4:return"Portal";case 3:return"Root";case 6:return"Text";case 16:return xf(e);case 8:return e===Gp?"StrictMode":"Mode";case 22:return"Offscreen";case 12:return"Profiler";case 21:return"Scope";case 13:return"Suspense";case 19:return"SuspenseList";case 25:return"TracingMarker";case 1:case 0:case 17:case 2:case 14:case 15:if(typeof e=="function")return e.displayName||e.name||null;if(typeof e=="string")return e}return null}function rs(t){switch(typeof t){case"boolean":case"number":case"string":case"undefined":return t;case"object":return t;default:return""}}function lS(t){var e=t.type;return(t=t.nodeName)&&t.toLowerCase()==="input"&&(e==="checkbox"||e==="radio")}function Xx(t){var e=lS(t)?"checked":"value",i=Object.getOwnPropertyDescriptor(t.constructor.prototype,e),r=""+t[e];if(!t.hasOwnProperty(e)&&typeof i<"u"&&typeof i.get=="function"&&typeof i.set=="function"){var s=i.get,n=i.set;return Object.defineProperty(t,e,{configurable:!0,get:function(){return s.call(this)},set:function(o){r=""+o,n.call(this,o)}}),Object.defineProperty(t,e,{enumerable:i.enumerable}),{getValue:function(){return r},setValue:function(o){r=""+o},stopTracking:function(){t._valueTracker=null,delete t[e]}}}}function ia(t){t._valueTracker||(t._valueTracker=Xx(t))}function aS(t){if(!t)return!1;var e=t._valueTracker;if(!e)return!0;var i=e.getValue(),r="";return t&&(r=lS(t)?t.checked?"true":"false":t.value),t=r,t!==i?(e.setValue(t),!0):!1}function ph(t){if(t=t||(typeof document<"u"?document:void 0),typeof t>"u")return null;try{return t.activeElement||t.body}catch{return t.body}}function Cf(t,e){var i=e.checked;return Re({},e,{defaultChecked:void 0,defaultValue:void 0,value:void 0,checked:i??t._wrapperState.initialChecked})}function Zm(t,e){var i=e.defaultValue==null?"":e.defaultValue,r=e.checked!=null?e.checked:e.defaultChecked;i=rs(e.value!=null?e.value:i),t._wrapperState={initialChecked:r,initialValue:i,controlled:e.type==="checkbox"||e.type==="radio"?e.checked!=null:e.value!=null}}function hS(t,e){e=e.checked,e!=null&&Up(t,"checked",e,!1)}function Pf(t,e){hS(t,e);var i=rs(e.value),r=e.type;if(i!=null)r==="number"?(i===0&&t.value===""||t.value!=i)&&(t.value=""+i):t.value!==""+i&&(t.value=""+i);else if(r==="submit"||r==="reset"){t.removeAttribute("value");return}e.hasOwnProperty("value")?$f(t,e.type,i):e.hasOwnProperty("defaultValue")&&$f(t,e.type,rs(e.defaultValue)),e.checked==null&&e.defaultChecked!=null&&(t.defaultChecked=!!e.defaultChecked)}function Xm(t,e,i){if(e.hasOwnProperty("value")||e.hasOwnProperty("defaultValue")){var r=e.type;if(!(r!=="submit"&&r!=="reset"||e.value!==void 0&&e.value!==null))return;e=""+t._wrapperState.initialValue,i||e===t.value||(t.value=e),t.defaultValue=e}i=t.name,i!==""&&(t.name=""),t.defaultChecked=!!t._wrapperState.initialChecked,i!==""&&(t.name=i)}function $f(t,e,i){(e!=="number"||ph(t.ownerDocument)!==t)&&(i==null?t.defaultValue=""+t._wrapperState.initialValue:t.defaultValue!==""+i&&(t.defaultValue=""+i))}var xo=Array.isArray;function dn(t,e,i,r){if(t=t.options,e){e={};for(var s=0;s"+e.valueOf().toString()+"",e=ra.firstChild;t.firstChild;)t.removeChild(t.firstChild);for(;e.firstChild;)t.appendChild(e.firstChild)}});function el(t,e){if(e){var i=t.firstChild;if(i&&i===t.lastChild&&i.nodeType===3){i.nodeValue=e;return}}t.textContent=e}var Do={animationIterationCount:!0,aspectRatio:!0,borderImageOutset:!0,borderImageSlice:!0,borderImageWidth:!0,boxFlex:!0,boxFlexGroup:!0,boxOrdinalGroup:!0,columnCount:!0,columns:!0,flex:!0,flexGrow:!0,flexPositive:!0,flexShrink:!0,flexNegative:!0,flexOrder:!0,gridArea:!0,gridRow:!0,gridRowEnd:!0,gridRowSpan:!0,gridRowStart:!0,gridColumn:!0,gridColumnEnd:!0,gridColumnSpan:!0,gridColumnStart:!0,fontWeight:!0,lineClamp:!0,lineHeight:!0,opacity:!0,order:!0,orphans:!0,tabSize:!0,widows:!0,zIndex:!0,zoom:!0,fillOpacity:!0,floodOpacity:!0,stopOpacity:!0,strokeDasharray:!0,strokeDashoffset:!0,strokeMiterlimit:!0,strokeOpacity:!0,strokeWidth:!0},Ix=["Webkit","ms","Moz","O"];Object.keys(Do).forEach(function(t){Ix.forEach(function(e){e=e+t.charAt(0).toUpperCase()+t.substring(1),Do[e]=Do[t]})});function dS(t,e,i){return e==null||typeof e=="boolean"||e===""?"":i||typeof e!="number"||e===0||Do.hasOwnProperty(t)&&Do[t]?(""+e).trim():e+"px"}function pS(t,e){t=t.style;for(var i in e)if(e.hasOwnProperty(i)){var r=i.indexOf("--")===0,s=dS(i,e[i],r);i==="float"&&(i="cssFloat"),r?t.setProperty(i,s):t[i]=s}}var Nx=Re({menuitem:!0},{area:!0,base:!0,br:!0,col:!0,embed:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0});function Ef(t,e){if(e){if(Nx[t]&&(e.children!=null||e.dangerouslySetInnerHTML!=null))throw Error(E(137,t));if(e.dangerouslySetInnerHTML!=null){if(e.children!=null)throw Error(E(60));if(typeof e.dangerouslySetInnerHTML!="object"||!("__html"in e.dangerouslySetInnerHTML))throw Error(E(61))}if(e.style!=null&&typeof e.style!="object")throw Error(E(62))}}function Rf(t,e){if(t.indexOf("-")===-1)return typeof e.is=="string";switch(t){case"annotation-xml":case"color-profile":case"font-face":case"font-face-src":case"font-face-uri":case"font-face-format":case"font-face-name":case"missing-glyph":return!1;default:return!0}}var Af=null;function eg(t){return t=t.target||t.srcElement||window,t.correspondingUseElement&&(t=t.correspondingUseElement),t.nodeType===3?t.parentNode:t}var Mf=null,pn=null,gn=null;function Wm(t){if(t=Bl(t)){if(typeof Mf!="function")throw Error(E(280));var e=t.stateNode;e&&(e=yc(e),Mf(t.stateNode,t.type,e))}}function gS(t){pn?gn?gn.push(t):gn=[t]:pn=t}function mS(){if(pn){var t=pn,e=gn;if(gn=pn=null,Wm(t),e)for(t=0;t>>=0,t===0?32:31-(Jx(t)/eC|0)|0}var sa=64,na=4194304;function Co(t){switch(t&-t){case 1:return 1;case 2:return 2;case 4:return 4;case 8:return 8;case 16:return 16;case 32:return 32;case 64:case 128:case 256:case 512:case 1024:case 2048:case 4096:case 8192:case 16384:case 32768:case 65536:case 131072:case 262144:case 524288:case 1048576:case 2097152:return t&4194240;case 4194304:case 8388608:case 16777216:case 33554432:case 67108864:return t&130023424;case 134217728:return 134217728;case 268435456:return 268435456;case 536870912:return 536870912;case 1073741824:return 1073741824;default:return t}}function _h(t,e){var i=t.pendingLanes;if(i===0)return 0;var r=0,s=t.suspendedLanes,n=t.pingedLanes,o=i&268435455;if(o!==0){var l=o&~s;l!==0?r=Co(l):(n&=o,n!==0&&(r=Co(n)))}else o=i&~s,o!==0?r=Co(o):n!==0&&(r=Co(n));if(r===0)return 0;if(e!==0&&e!==r&&!(e&s)&&(s=r&-r,n=e&-e,s>=n||s===16&&(n&4194240)!==0))return e;if(r&4&&(r|=i&16),e=t.entangledLanes,e!==0)for(t=t.entanglements,e&=r;0i;i++)e.push(t);return e}function Ll(t,e,i){t.pendingLanes|=e,e!==536870912&&(t.suspendedLanes=0,t.pingedLanes=0),t=t.eventTimes,e=31-Ti(e),t[e]=i}function sC(t,e){var i=t.pendingLanes&~e;t.pendingLanes=e,t.suspendedLanes=0,t.pingedLanes=0,t.expiredLanes&=e,t.mutableReadLanes&=e,t.entangledLanes&=e,e=t.entanglements;var r=t.eventTimes;for(t=t.expirationTimes;0=zo),Km=" ",Jm=!1;function DS(t,e){switch(t){case"keyup":return RC.indexOf(e.keyCode)!==-1;case"keydown":return e.keyCode!==229;case"keypress":case"mousedown":case"focusout":return!0;default:return!1}}function BS(t){return t=t.detail,typeof t=="object"&&"data"in t?t.data:null}var Ks=!1;function MC(t,e){switch(t){case"compositionend":return BS(e);case"keypress":return e.which!==32?null:(Jm=!0,Km);case"textInput":return t=e.data,t===Km&&Jm?null:t;default:return null}}function LC(t,e){if(Ks)return t==="compositionend"||!ag&&DS(t,e)?(t=MS(),ja=ng=jr=null,Ks=!1,t):null;switch(t){case"paste":return null;case"keypress":if(!(e.ctrlKey||e.altKey||e.metaKey)||e.ctrlKey&&e.altKey){if(e.char&&1=e)return{node:i,offset:e-t};t=r}e:{for(;i;){if(i.nextSibling){i=i.nextSibling;break e}i=i.parentNode}i=void 0}i=rO(i)}}function IS(t,e){return t&&e?t===e?!0:t&&t.nodeType===3?!1:e&&e.nodeType===3?IS(t,e.parentNode):"contains"in t?t.contains(e):t.compareDocumentPosition?!!(t.compareDocumentPosition(e)&16):!1:!1}function NS(){for(var t=window,e=ph();e instanceof t.HTMLIFrameElement;){try{var i=typeof e.contentWindow.location.href=="string"}catch{i=!1}if(i)t=e.contentWindow;else break;e=ph(t.document)}return e}function hg(t){var e=t&&t.nodeName&&t.nodeName.toLowerCase();return e&&(e==="input"&&(t.type==="text"||t.type==="search"||t.type==="tel"||t.type==="url"||t.type==="password")||e==="textarea"||t.contentEditable==="true")}function jC(t){var e=NS(),i=t.focusedElem,r=t.selectionRange;if(e!==i&&i&&i.ownerDocument&&IS(i.ownerDocument.documentElement,i)){if(r!==null&&hg(i)){if(e=r.start,t=r.end,t===void 0&&(t=e),"selectionStart"in i)i.selectionStart=e,i.selectionEnd=Math.min(t,i.value.length);else if(t=(e=i.ownerDocument||document)&&e.defaultView||window,t.getSelection){t=t.getSelection();var s=i.textContent.length,n=Math.min(r.start,s);r=r.end===void 0?n:Math.min(r.end,s),!t.extend&&n>r&&(s=r,r=n,n=s),s=sO(i,n);var o=sO(i,r);s&&o&&(t.rangeCount!==1||t.anchorNode!==s.node||t.anchorOffset!==s.offset||t.focusNode!==o.node||t.focusOffset!==o.offset)&&(e=e.createRange(),e.setStart(s.node,s.offset),t.removeAllRanges(),n>r?(t.addRange(e),t.extend(o.node,o.offset)):(e.setEnd(o.node,o.offset),t.addRange(e)))}}for(e=[],t=i;t=t.parentNode;)t.nodeType===1&&e.push({element:t,left:t.scrollLeft,top:t.scrollTop});for(typeof i.focus=="function"&&i.focus(),i=0;i=document.documentMode,Js=null,Xf=null,Xo=null,If=!1;function nO(t,e,i){var r=i.window===i?i.document:i.nodeType===9?i:i.ownerDocument;If||Js==null||Js!==ph(r)||(r=Js,"selectionStart"in r&&hg(r)?r={start:r.selectionStart,end:r.selectionEnd}:(r=(r.ownerDocument&&r.ownerDocument.defaultView||window).getSelection(),r={anchorNode:r.anchorNode,anchorOffset:r.anchorOffset,focusNode:r.focusNode,focusOffset:r.focusOffset}),Xo&&ol(Xo,r)||(Xo=r,r=yh(Xf,"onSelect"),0rn||(t.current=qf[rn],qf[rn]=null,rn--)}function ve(t,e){rn++,qf[rn]=t.current,t.current=e}var ss={},yt=cs(ss),Xt=cs(!1),Rs=ss;function Cn(t,e){var i=t.type.contextTypes;if(!i)return ss;var r=t.stateNode;if(r&&r.__reactInternalMemoizedUnmaskedChildContext===e)return r.__reactInternalMemoizedMaskedChildContext;var s={},n;for(n in i)s[n]=e[n];return r&&(t=t.stateNode,t.__reactInternalMemoizedUnmaskedChildContext=e,t.__reactInternalMemoizedMaskedChildContext=s),s}function It(t){return t=t.childContextTypes,t!=null}function kh(){be(Xt),be(yt)}function fO(t,e,i){if(yt.current!==ss)throw Error(E(168));ve(yt,e),ve(Xt,i)}function GS(t,e,i){var r=t.stateNode;if(e=e.childContextTypes,typeof r.getChildContext!="function")return i;r=r.getChildContext();for(var s in r)if(!(s in e))throw Error(E(108,Zx(t)||"Unknown",s));return Re({},i,r)}function bh(t){return t=(t=t.stateNode)&&t.__reactInternalMemoizedMergedChildContext||ss,Rs=yt.current,ve(yt,t),ve(Xt,Xt.current),!0}function dO(t,e,i){var r=t.stateNode;if(!r)throw Error(E(169));i?(t=GS(t,e,Rs),r.__reactInternalMemoizedMergedChildContext=t,be(Xt),be(yt),ve(yt,t)):be(Xt),ve(Xt,i)}var ar=null,wc=!1,mu=!1;function KS(t){ar===null?ar=[t]:ar.push(t)}function iP(t){wc=!0,KS(t)}function us(){if(!mu&&ar!==null){mu=!0;var t=0,e=pe;try{var i=ar;for(pe=1;t>=o,s-=o,ur=1<<32-Ti(e)+s|i<P?(D=k,k=null):D=k.sibling;var B=f(m,k,_[P],w);if(B===null){k===null&&(k=D);break}t&&k&&B.alternate===null&&e(m,k),O=n(B,O,P),S===null?b=B:S.sibling=B,S=B,k=D}if(P===_.length)return i(m,k),xe&&gs(m,P),b;if(k===null){for(;P<_.length;P++)k=u(m,_[P],w),k!==null&&(O=n(k,O,P),S===null?b=k:S.sibling=k,S=k);return xe&&gs(m,P),b}for(k=r(m,k);P<_.length;P++)D=d(k,m,P,_[P],w),D!==null&&(t&&D.alternate!==null&&k.delete(D.key===null?P:D.key),O=n(D,O,P),S===null?b=D:S.sibling=D,S=D);return t&&k.forEach(function(X){return e(m,X)}),xe&&gs(m,P),b}function g(m,O,_,w){var b=to(_);if(typeof b!="function")throw Error(E(150));if(_=b.call(_),_==null)throw Error(E(151));for(var S=b=null,k=O,P=O=0,D=null,B=_.next();k!==null&&!B.done;P++,B=_.next()){k.index>P?(D=k,k=null):D=k.sibling;var X=f(m,k,B.value,w);if(X===null){k===null&&(k=D);break}t&&k&&X.alternate===null&&e(m,k),O=n(X,O,P),S===null?b=X:S.sibling=X,S=X,k=D}if(B.done)return i(m,k),xe&&gs(m,P),b;if(k===null){for(;!B.done;P++,B=_.next())B=u(m,B.value,w),B!==null&&(O=n(B,O,P),S===null?b=B:S.sibling=B,S=B);return xe&&gs(m,P),b}for(k=r(m,k);!B.done;P++,B=_.next())B=d(k,m,P,B.value,w),B!==null&&(t&&B.alternate!==null&&k.delete(B.key===null?P:B.key),O=n(B,O,P),S===null?b=B:S.sibling=B,S=B);return t&&k.forEach(function($){return e(m,$)}),xe&&gs(m,P),b}function v(m,O,_,w){if(typeof _=="object"&&_!==null&&_.type===Gs&&_.key===null&&(_=_.props.children),typeof _=="object"&&_!==null){switch(_.$$typeof){case ta:e:{for(var b=_.key,S=O;S!==null;){if(S.key===b){if(b=_.type,b===Gs){if(S.tag===7){i(m,S.sibling),O=s(S,_.props.children),O.return=m,m=O;break e}}else if(S.elementType===b||typeof b=="object"&&b!==null&&b.$$typeof===Dr&&mO(b)===S.type){i(m,S.sibling),O=s(S,_.props),O.ref=oo(m,S,_),O.return=m,m=O;break e}i(m,S);break}else e(m,S);S=S.sibling}_.type===Gs?(O=Ts(_.props.children,m.mode,w,_.key),O.return=m,m=O):(w=Ka(_.type,_.key,_.props,null,m.mode,w),w.ref=oo(m,O,_),w.return=m,m=w)}return o(m);case Us:e:{for(S=_.key;O!==null;){if(O.key===S)if(O.tag===4&&O.stateNode.containerInfo===_.containerInfo&&O.stateNode.implementation===_.implementation){i(m,O.sibling),O=s(O,_.children||[]),O.return=m,m=O;break e}else{i(m,O);break}else e(m,O);O=O.sibling}O=bu(_,m.mode,w),O.return=m,m=O}return o(m);case Dr:return S=_._init,v(m,O,S(_._payload),w)}if(xo(_))return p(m,O,_,w);if(to(_))return g(m,O,_,w);fa(m,_)}return typeof _=="string"&&_!==""||typeof _=="number"?(_=""+_,O!==null&&O.tag===6?(i(m,O.sibling),O=s(O,_),O.return=m,m=O):(i(m,O),O=ku(_,m.mode,w),O.return=m,m=O),o(m)):i(m,O)}return v}var $n=i1(!0),r1=i1(!1),Ph=cs(null),$h=null,on=null,dg=null;function pg(){dg=on=$h=null}function gg(t){var e=Ph.current;be(Ph),t._currentValue=e}function Uf(t,e,i){for(;t!==null;){var r=t.alternate;if((t.childLanes&e)!==e?(t.childLanes|=e,r!==null&&(r.childLanes|=e)):r!==null&&(r.childLanes&e)!==e&&(r.childLanes|=e),t===i)break;t=t.return}}function On(t,e){$h=t,dg=on=null,t=t.dependencies,t!==null&&t.firstContext!==null&&(t.lanes&e&&(zt=!0),t.firstContext=null)}function _i(t){var e=t._currentValue;if(dg!==t)if(t={context:t,memoizedValue:e,next:null},on===null){if($h===null)throw Error(E(308));on=t,$h.dependencies={lanes:0,firstContext:t}}else on=on.next=t;return e}var bs=null;function mg(t){bs===null?bs=[t]:bs.push(t)}function s1(t,e,i,r){var s=e.interleaved;return s===null?(i.next=i,mg(e)):(i.next=s.next,s.next=i),e.interleaved=i,Sr(t,r)}function Sr(t,e){t.lanes|=e;var i=t.alternate;for(i!==null&&(i.lanes|=e),i=t,t=t.return;t!==null;)t.childLanes|=e,i=t.alternate,i!==null&&(i.childLanes|=e),i=t,t=t.return;return i.tag===3?i.stateNode:null}var Br=!1;function Og(t){t.updateQueue={baseState:t.memoizedState,firstBaseUpdate:null,lastBaseUpdate:null,shared:{pending:null,interleaved:null,lanes:0},effects:null}}function n1(t,e){t=t.updateQueue,e.updateQueue===t&&(e.updateQueue={baseState:t.baseState,firstBaseUpdate:t.firstBaseUpdate,lastBaseUpdate:t.lastBaseUpdate,shared:t.shared,effects:t.effects})}function gr(t,e){return{eventTime:t,lane:e,tag:0,payload:null,callback:null,next:null}}function Kr(t,e,i){var r=t.updateQueue;if(r===null)return null;if(r=r.shared,oe&2){var s=r.pending;return s===null?e.next=e:(e.next=s.next,s.next=e),r.pending=e,Sr(t,i)}return s=r.interleaved,s===null?(e.next=e,mg(r)):(e.next=s.next,s.next=e),r.interleaved=e,Sr(t,i)}function Ya(t,e,i){if(e=e.updateQueue,e!==null&&(e=e.shared,(i&4194240)!==0)){var r=e.lanes;r&=t.pendingLanes,i|=r,e.lanes=i,ig(t,i)}}function OO(t,e){var i=t.updateQueue,r=t.alternate;if(r!==null&&(r=r.updateQueue,i===r)){var s=null,n=null;if(i=i.firstBaseUpdate,i!==null){do{var o={eventTime:i.eventTime,lane:i.lane,tag:i.tag,payload:i.payload,callback:i.callback,next:null};n===null?s=n=o:n=n.next=o,i=i.next}while(i!==null);n===null?s=n=e:n=n.next=e}else s=n=e;i={baseState:r.baseState,firstBaseUpdate:s,lastBaseUpdate:n,shared:r.shared,effects:r.effects},t.updateQueue=i;return}t=i.lastBaseUpdate,t===null?i.firstBaseUpdate=e:t.next=e,i.lastBaseUpdate=e}function Qh(t,e,i,r){var s=t.updateQueue;Br=!1;var n=s.firstBaseUpdate,o=s.lastBaseUpdate,l=s.shared.pending;if(l!==null){s.shared.pending=null;var a=l,h=a.next;a.next=null,o===null?n=h:o.next=h,o=a;var c=t.alternate;c!==null&&(c=c.updateQueue,l=c.lastBaseUpdate,l!==o&&(l===null?c.firstBaseUpdate=h:l.next=h,c.lastBaseUpdate=a))}if(n!==null){var u=s.baseState;o=0,c=h=a=null,l=n;do{var f=l.lane,d=l.eventTime;if((r&f)===f){c!==null&&(c=c.next={eventTime:d,lane:0,tag:l.tag,payload:l.payload,callback:l.callback,next:null});e:{var p=t,g=l;switch(f=e,d=i,g.tag){case 1:if(p=g.payload,typeof p=="function"){u=p.call(d,u,f);break e}u=p;break e;case 3:p.flags=p.flags&-65537|128;case 0:if(p=g.payload,f=typeof p=="function"?p.call(d,u,f):p,f==null)break e;u=Re({},u,f);break e;case 2:Br=!0}}l.callback!==null&&l.lane!==0&&(t.flags|=64,f=s.effects,f===null?s.effects=[l]:f.push(l))}else d={eventTime:d,lane:f,tag:l.tag,payload:l.payload,callback:l.callback,next:null},c===null?(h=c=d,a=u):c=c.next=d,o|=f;if(l=l.next,l===null){if(l=s.shared.pending,l===null)break;f=l,l=f.next,f.next=null,s.lastBaseUpdate=f,s.shared.pending=null}}while(!0);if(c===null&&(a=u),s.baseState=a,s.firstBaseUpdate=h,s.lastBaseUpdate=c,e=s.shared.interleaved,e!==null){s=e;do o|=s.lane,s=s.next;while(s!==e)}else n===null&&(s.shared.lanes=0);Ls|=o,t.lanes=o,t.memoizedState=u}}function _O(t,e,i){if(t=e.effects,e.effects=null,t!==null)for(e=0;ei?i:4,t(!0);var r=_u.transition;_u.transition={};try{t(!1),e()}finally{pe=i,_u.transition=r}}function w1(){return vi().memoizedState}function oP(t,e,i){var r=es(t);if(i={lane:r,action:i,hasEagerState:!1,eagerState:null,next:null},k1(t))b1(e,i);else if(i=s1(t,e,i,r),i!==null){var s=$t();Ei(i,t,r,s),x1(i,e,r)}}function lP(t,e,i){var r=es(t),s={lane:r,action:i,hasEagerState:!1,eagerState:null,next:null};if(k1(t))b1(e,s);else{var n=t.alternate;if(t.lanes===0&&(n===null||n.lanes===0)&&(n=e.lastRenderedReducer,n!==null))try{var o=e.lastRenderedState,l=n(o,i);if(s.hasEagerState=!0,s.eagerState=l,Ri(l,o)){var a=e.interleaved;a===null?(s.next=s,mg(e)):(s.next=a.next,a.next=s),e.interleaved=s;return}}catch{}finally{}i=s1(t,e,s,r),i!==null&&(s=$t(),Ei(i,t,r,s),x1(i,e,r))}}function k1(t){var e=t.alternate;return t===Ee||e!==null&&e===Ee}function b1(t,e){Io=Eh=!0;var i=t.pending;i===null?e.next=e:(e.next=i.next,i.next=e),t.pending=e}function x1(t,e,i){if(i&4194240){var r=e.lanes;r&=t.pendingLanes,i|=r,e.lanes=i,ig(t,i)}}var Rh={readContext:_i,useCallback:pt,useContext:pt,useEffect:pt,useImperativeHandle:pt,useInsertionEffect:pt,useLayoutEffect:pt,useMemo:pt,useReducer:pt,useRef:pt,useState:pt,useDebugValue:pt,useDeferredValue:pt,useTransition:pt,useMutableSource:pt,useSyncExternalStore:pt,useId:pt,unstable_isNewReconciler:!1},aP={readContext:_i,useCallback:function(t,e){return ji().memoizedState=[t,e===void 0?null:e],t},useContext:_i,useEffect:SO,useImperativeHandle:function(t,e,i){return i=i!=null?i.concat([t]):null,Fa(4194308,4,O1.bind(null,e,t),i)},useLayoutEffect:function(t,e){return Fa(4194308,4,t,e)},useInsertionEffect:function(t,e){return Fa(4,2,t,e)},useMemo:function(t,e){var i=ji();return e=e===void 0?null:e,t=t(),i.memoizedState=[t,e],t},useReducer:function(t,e,i){var r=ji();return e=i!==void 0?i(e):e,r.memoizedState=r.baseState=e,t={pending:null,interleaved:null,lanes:0,dispatch:null,lastRenderedReducer:t,lastRenderedState:e},r.queue=t,t=t.dispatch=oP.bind(null,Ee,t),[r.memoizedState,t]},useRef:function(t){var e=ji();return t={current:t},e.memoizedState=t},useState:vO,useDebugValue:xg,useDeferredValue:function(t){return ji().memoizedState=t},useTransition:function(){var t=vO(!1),e=t[0];return t=nP.bind(null,t[1]),ji().memoizedState=t,[e,t]},useMutableSource:function(){},useSyncExternalStore:function(t,e,i){var r=Ee,s=ji();if(xe){if(i===void 0)throw Error(E(407));i=i()}else{if(i=e(),nt===null)throw Error(E(349));Ms&30||h1(r,e,i)}s.memoizedState=i;var n={value:i,getSnapshot:e};return s.queue=n,SO(u1.bind(null,r,n,t),[t]),r.flags|=2048,pl(9,c1.bind(null,r,n,i,e),void 0,null),i},useId:function(){var t=ji(),e=nt.identifierPrefix;if(xe){var i=fr,r=ur;i=(r&~(1<<32-Ti(r)-1)).toString(32)+i,e=":"+e+"R"+i,i=fl++,0<\/script>",t=t.removeChild(t.firstChild)):typeof r.is=="string"?t=o.createElement(i,{is:r.is}):(t=o.createElement(i),i==="select"&&(o=t,r.multiple?o.multiple=!0:r.size&&(o.size=r.size))):t=o.createElementNS(t,i),t[Ni]=e,t[al]=r,R1(t,e,!1,!1),e.stateNode=t;e:{switch(o=Qf(i,r),i){case"dialog":we("cancel",t),we("close",t),s=r;break;case"iframe":case"object":case"embed":we("load",t),s=r;break;case"video":case"audio":for(s=0;sTn&&(e.flags|=128,r=!0,oo(n,!1),e.lanes=4194304)}else{if(!r)if(t=Qh(o),t!==null){if(e.flags|=128,r=!0,i=t.updateQueue,i!==null&&(e.updateQueue=i,e.flags|=4),oo(n,!0),n.tail===null&&n.tailMode==="hidden"&&!o.alternate&&!xe)return gt(e),null}else 2*Xe()-n.renderingStartTime>Tn&&i!==1073741824&&(e.flags|=128,r=!0,oo(n,!1),e.lanes=4194304);n.isBackwards?(o.sibling=e.child,e.child=o):(i=n.last,i!==null?i.sibling=o:e.child=o,n.last=o)}return n.tail!==null?(e=n.tail,n.rendering=e,n.tail=e.sibling,n.renderingStartTime=Xe(),e.sibling=null,i=Te.current,ve(Te,r?i&1|2:i&1),e):(gt(e),null);case 22:case 23:return $g(),r=e.memoizedState!==null,t!==null&&t.memoizedState!==null!==r&&(e.flags|=8192),r&&e.mode&1?Ft&1073741824&&(gt(e),e.subtreeFlags&6&&(e.flags|=8192)):gt(e),null;case 24:return null;case 25:return null}throw Error(E(156,e.tag))}function pP(t,e){switch(ag(e),e.tag){case 1:return It(e.type)&&wh(),t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 3:return $n(),be(Xt),be(yt),mg(),t=e.flags,t&65536&&!(t&128)?(e.flags=t&-65537|128,e):null;case 5:return Og(e),null;case 13:if(be(Te),t=e.memoizedState,t!==null&&t.dehydrated!==null){if(e.alternate===null)throw Error(E(340));Cn()}return t=e.flags,t&65536?(e.flags=t&-65537|128,e):null;case 19:return be(Te),null;case 4:return $n(),null;case 10:return fg(e.type._context),null;case 22:case 23:return $g(),null;case 24:return null;default:return null}}var da=!1,_t=!1,gP=typeof WeakSet=="function"?WeakSet:Set,W=null;function on(t,e){var i=t.ref;if(i!==null)if(typeof i=="function")try{i(null)}catch(r){Me(t,e,r)}else i.current=null}function id(t,e,i){try{i()}catch(r){Me(t,e,r)}}var $m=!1;function OP(t,e){if(Zf=_h,t=ZS(),og(t)){if("selectionStart"in t)var i={start:t.selectionStart,end:t.selectionEnd};else e:{i=(i=t.ownerDocument)&&i.defaultView||window;var r=i.getSelection&&i.getSelection();if(r&&r.rangeCount!==0){i=r.anchorNode;var s=r.anchorOffset,n=r.focusNode;r=r.focusOffset;try{i.nodeType,n.nodeType}catch{i=null;break e}var o=0,l=-1,a=-1,h=0,c=0,u=t,f=null;t:for(;;){for(var d;u!==i||s!==0&&u.nodeType!==3||(l=o+s),u!==n||r!==0&&u.nodeType!==3||(a=o+r),u.nodeType===3&&(o+=u.nodeValue.length),(d=u.firstChild)!==null;)f=u,u=d;for(;;){if(u===t)break t;if(f===i&&++h===s&&(l=o),f===n&&++c===r&&(a=o),(d=u.nextSibling)!==null)break;u=f,f=u.parentNode}u=d}i=l===-1||a===-1?null:{start:l,end:a}}else i=null}i=i||{start:0,end:0}}else i=null;for(Xf={focusedElem:t,selectionRange:i},_h=!1,W=e;W!==null;)if(e=W,t=e.child,(e.subtreeFlags&1028)!==0&&t!==null)t.return=e,W=t;else for(;W!==null;){e=W;try{var p=e.alternate;if(e.flags&1024)switch(e.tag){case 0:case 11:case 15:break;case 1:if(p!==null){var g=p.memoizedProps,v=p.memoizedState,O=e.stateNode,m=O.getSnapshotBeforeUpdate(e.elementType===e.type?g:wi(e.type,g),v);O.__reactInternalSnapshotBeforeUpdate=m}break;case 3:var _=e.stateNode.containerInfo;_.nodeType===1?_.textContent="":_.nodeType===9&&_.documentElement&&_.removeChild(_.documentElement);break;case 5:case 6:case 4:case 17:break;default:throw Error(E(163))}}catch(S){Me(e,e.return,S)}if(t=e.sibling,t!==null){t.return=e.return,W=t;break}W=e.return}return p=$m,$m=!1,p}function Io(t,e,i){var r=e.updateQueue;if(r=r!==null?r.lastEffect:null,r!==null){var s=r=r.next;do{if((s.tag&t)===t){var n=s.destroy;s.destroy=void 0,n!==void 0&&id(e,i,n)}s=s.next}while(s!==r)}}function bc(t,e){if(e=e.updateQueue,e=e!==null?e.lastEffect:null,e!==null){var i=e=e.next;do{if((i.tag&t)===t){var r=i.create;i.destroy=r()}i=i.next}while(i!==e)}}function rd(t){var e=t.ref;if(e!==null){var i=t.stateNode;switch(t.tag){case 5:t=i;break;default:t=i}typeof e=="function"?e(t):e.current=t}}function L1(t){var e=t.alternate;e!==null&&(t.alternate=null,L1(e)),t.child=null,t.deletions=null,t.sibling=null,t.tag===5&&(e=t.stateNode,e!==null&&(delete e[Ni],delete e[al],delete e[Nf],delete e[KC],delete e[JC])),t.stateNode=null,t.return=null,t.dependencies=null,t.memoizedProps=null,t.memoizedState=null,t.pendingProps=null,t.stateNode=null,t.updateQueue=null}function D1(t){return t.tag===5||t.tag===3||t.tag===4}function Qm(t){e:for(;;){for(;t.sibling===null;){if(t.return===null||D1(t.return))return null;t=t.return}for(t.sibling.return=t.return,t=t.sibling;t.tag!==5&&t.tag!==6&&t.tag!==18;){if(t.flags&2||t.child===null||t.tag===4)continue e;t.child.return=t,t=t.child}if(!(t.flags&2))return t.stateNode}}function sd(t,e,i){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?i.nodeType===8?i.parentNode.insertBefore(t,e):i.insertBefore(t,e):(i.nodeType===8?(e=i.parentNode,e.insertBefore(t,i)):(e=i,e.appendChild(t)),i=i._reactRootContainer,i!=null||e.onclick!==null||(e.onclick=yh));else if(r!==4&&(t=t.child,t!==null))for(sd(t,e,i),t=t.sibling;t!==null;)sd(t,e,i),t=t.sibling}function nd(t,e,i){var r=t.tag;if(r===5||r===6)t=t.stateNode,e?i.insertBefore(t,e):i.appendChild(t);else if(r!==4&&(t=t.child,t!==null))for(nd(t,e,i),t=t.sibling;t!==null;)nd(t,e,i),t=t.sibling}var lt=null,ki=!1;function Qr(t,e,i){for(i=i.child;i!==null;)B1(t,e,i),i=i.sibling}function B1(t,e,i){if(Gi&&typeof Gi.onCommitFiberUnmount=="function")try{Gi.onCommitFiberUnmount(Oc,i)}catch{}switch(i.tag){case 5:_t||on(i,e);case 6:var r=lt,s=ki;lt=null,Qr(t,e,i),lt=r,ki=s,lt!==null&&(ki?(t=lt,i=i.stateNode,t.nodeType===8?t.parentNode.removeChild(i):t.removeChild(i)):lt.removeChild(i.stateNode));break;case 18:lt!==null&&(ki?(t=lt,i=i.stateNode,t.nodeType===8?pu(t.parentNode,i):t.nodeType===1&&pu(t,i),rl(t)):pu(lt,i.stateNode));break;case 4:r=lt,s=ki,lt=i.stateNode.containerInfo,ki=!0,Qr(t,e,i),lt=r,ki=s;break;case 0:case 11:case 14:case 15:if(!_t&&(r=i.updateQueue,r!==null&&(r=r.lastEffect,r!==null))){s=r=r.next;do{var n=s,o=n.destroy;n=n.tag,o!==void 0&&(n&2||n&4)&&id(i,e,o),s=s.next}while(s!==r)}Qr(t,e,i);break;case 1:if(!_t&&(on(i,e),r=i.stateNode,typeof r.componentWillUnmount=="function"))try{r.props=i.memoizedProps,r.state=i.memoizedState,r.componentWillUnmount()}catch(l){Me(i,e,l)}Qr(t,e,i);break;case 21:Qr(t,e,i);break;case 22:i.mode&1?(_t=(r=_t)||i.memoizedState!==null,Qr(t,e,i),_t=r):Qr(t,e,i);break;default:Qr(t,e,i)}}function Tm(t){var e=t.updateQueue;if(e!==null){t.updateQueue=null;var i=t.stateNode;i===null&&(i=t.stateNode=new gP),e.forEach(function(r){var s=xP.bind(null,t,r);i.has(r)||(i.add(r),r.then(s,s))})}}function Si(t,e){var i=e.deletions;if(i!==null)for(var r=0;rs&&(s=o),r&=~n}if(r=s,r=Xe()-r,r=(120>r?120:480>r?480:1080>r?1080:1920>r?1920:3e3>r?3e3:4320>r?4320:1960*_P(r/1960))-r,10t?16:t,Nr===null)var r=!1;else{if(t=Nr,Nr=null,Mh=0,se&6)throw Error(E(331));var s=se;for(se|=4,W=t.current;W!==null;){var n=W,o=n.child;if(W.flags&16){var l=n.deletions;if(l!==null){for(var a=0;aXe()-Cg?$s(t,0):xg|=i),Wt(t,e)}function V1(t,e){e===0&&(t.mode&1?(e=sa,sa<<=1,!(sa&130023424)&&(sa=4194304)):e=1);var i=$t();t=_r(t,e),t!==null&&(Ml(t,e,i),Wt(t,i))}function bP(t){var e=t.memoizedState,i=0;e!==null&&(i=e.retryLane),V1(t,i)}function xP(t,e){var i=0;switch(t.tag){case 13:var r=t.stateNode,s=t.memoizedState;s!==null&&(i=s.retryLane);break;case 19:r=t.stateNode;break;default:throw Error(E(314))}r!==null&&r.delete(e),V1(t,i)}var Y1;Y1=function(t,e,i){if(t!==null)if(t.memoizedProps!==e.pendingProps||Xt.current)zt=!0;else{if(!(t.lanes&i)&&!(e.flags&128))return zt=!1,fP(t,e,i);zt=!!(t.flags&131072)}else zt=!1,xe&&e.flags&1048576&&US(e,xh,e.index);switch(e.lanes=0,e.tag){case 2:var r=e.type;Fa(t,e),t=e.pendingProps;var s=xn(e,yt.current);On(e,i),s=vg(null,e,r,t,s,i);var n=Sg();return e.flags|=1,typeof s=="object"&&s!==null&&typeof s.render=="function"&&s.$$typeof===void 0?(e.tag=1,e.memoizedState=null,e.updateQueue=null,It(r)?(n=!0,kh(e)):n=!1,e.memoizedState=s.state!==null&&s.state!==void 0?s.state:null,pg(e),s.updater=kc,e.stateNode=s,s._reactInternals=e,Hf(e,r,t,i),e=Kf(null,e,r,!0,n,i)):(e.tag=0,xe&&n&&lg(e),xt(null,e,s,i),e=e.child),e;case 16:r=e.elementType;e:{switch(Fa(t,e),t=e.pendingProps,s=r._init,r=s(r._payload),e.type=r,s=e.tag=PP(r),t=wi(r,t),s){case 0:e=Gf(null,e,r,t,i);break e;case 1:e=xm(null,e,r,t,i);break e;case 11:e=km(null,e,r,t,i);break e;case 14:e=bm(null,e,r,wi(r.type,t),i);break e}throw Error(E(306,r,""))}return e;case 0:return r=e.type,s=e.pendingProps,s=e.elementType===r?s:wi(r,s),Gf(t,e,r,s,i);case 1:return r=e.type,s=e.pendingProps,s=e.elementType===r?s:wi(r,s),xm(t,e,r,s,i);case 3:e:{if(Q1(e),t===null)throw Error(E(387));r=e.pendingProps,n=e.memoizedState,s=n.element,i1(t,e),$h(e,r,null,i);var o=e.memoizedState;if(r=o.element,n.isDehydrated)if(n={element:r,isDehydrated:!1,cache:o.cache,pendingSuspenseBoundaries:o.pendingSuspenseBoundaries,transitions:o.transitions},e.updateQueue.baseState=n,e.memoizedState=n,e.flags&256){s=Qn(Error(E(423)),e),e=Cm(t,e,r,i,s);break e}else if(r!==s){s=Qn(Error(E(424)),e),e=Cm(t,e,r,i,s);break e}else for(Kt=Ur(e.stateNode.containerInfo.firstChild),Jt=e,xe=!0,bi=null,i=e1(e,null,r,i),e.child=i;i;)i.flags=i.flags&-3|4096,i=i.sibling;else{if(Cn(),r===s){e=vr(t,e,i);break e}xt(t,e,r,i)}e=e.child}return e;case 5:return r1(e),t===null&&Yf(e),r=e.type,s=e.pendingProps,n=t!==null?t.memoizedProps:null,o=s.children,If(r,s)?o=null:n!==null&&If(r,n)&&(e.flags|=32),$1(t,e),xt(t,e,o,i),e.child;case 6:return t===null&&Yf(e),null;case 13:return T1(t,e,i);case 4:return gg(e,e.stateNode.containerInfo),r=e.pendingProps,t===null?e.child=Pn(e,null,r,i):xt(t,e,r,i),e.child;case 11:return r=e.type,s=e.pendingProps,s=e.elementType===r?s:wi(r,s),km(t,e,r,s,i);case 7:return xt(t,e,e.pendingProps,i),e.child;case 8:return xt(t,e,e.pendingProps.children,i),e.child;case 12:return xt(t,e,e.pendingProps.children,i),e.child;case 10:e:{if(r=e.type._context,s=e.pendingProps,n=e.memoizedProps,o=s.value,ve(Ch,r._currentValue),r._currentValue=o,n!==null)if(Ti(n.value,o)){if(n.children===s.children&&!Xt.current){e=vr(t,e,i);break e}}else for(n=e.child,n!==null&&(n.return=e);n!==null;){var l=n.dependencies;if(l!==null){o=n.child;for(var a=l.firstContext;a!==null;){if(a.context===r){if(n.tag===1){a=dr(-1,i&-i),a.tag=2;var h=n.updateQueue;if(h!==null){h=h.shared;var c=h.pending;c===null?a.next=a:(a.next=c.next,c.next=a),h.pending=a}}n.lanes|=i,a=n.alternate,a!==null&&(a.lanes|=i),qf(n.return,i,e),l.lanes|=i;break}a=a.next}}else if(n.tag===10)o=n.type===e.type?null:n.child;else if(n.tag===18){if(o=n.return,o===null)throw Error(E(341));o.lanes|=i,l=o.alternate,l!==null&&(l.lanes|=i),qf(o,i,e),o=n.sibling}else o=n.child;if(o!==null)o.return=n;else for(o=n;o!==null;){if(o===e){o=null;break}if(n=o.sibling,n!==null){n.return=o.return,o=n;break}o=o.return}n=o}xt(t,e,s.children,i),e=e.child}return e;case 9:return s=e.type,r=e.pendingProps.children,On(e,i),s=Oi(s),r=r(s),e.flags|=1,xt(t,e,r,i),e.child;case 14:return r=e.type,s=wi(r,e.pendingProps),s=wi(r.type,s),bm(t,e,r,s,i);case 15:return C1(t,e,e.type,e.pendingProps,i);case 17:return r=e.type,s=e.pendingProps,s=e.elementType===r?s:wi(r,s),Fa(t,e),e.tag=1,It(r)?(t=!0,kh(e)):t=!1,On(e,i),k1(e,r,s),Hf(e,r,s,i),Kf(null,e,r,!0,t,i);case 19:return E1(t,e,i);case 22:return P1(t,e,i)}throw Error(E(156,e.tag))};function q1(t,e){return SS(t,e)}function CP(t,e,i,r){this.tag=t,this.key=i,this.sibling=this.child=this.return=this.stateNode=this.type=this.elementType=null,this.index=0,this.ref=null,this.pendingProps=e,this.dependencies=this.memoizedState=this.updateQueue=this.memoizedProps=null,this.mode=r,this.subtreeFlags=this.flags=0,this.deletions=null,this.childLanes=this.lanes=0,this.alternate=null}function hi(t,e,i,r){return new CP(t,e,i,r)}function Tg(t){return t=t.prototype,!(!t||!t.isReactComponent)}function PP(t){if(typeof t=="function")return Tg(t)?1:0;if(t!=null){if(t=t.$$typeof,t===Hp)return 11;if(t===Up)return 14}return 2}function es(t,e){var i=t.alternate;return i===null?(i=hi(t.tag,e,t.key,t.mode),i.elementType=t.elementType,i.type=t.type,i.stateNode=t.stateNode,i.alternate=t,t.alternate=i):(i.pendingProps=e,i.type=t.type,i.flags=0,i.subtreeFlags=0,i.deletions=null),i.flags=t.flags&14680064,i.childLanes=t.childLanes,i.lanes=t.lanes,i.child=t.child,i.memoizedProps=t.memoizedProps,i.memoizedState=t.memoizedState,i.updateQueue=t.updateQueue,e=t.dependencies,i.dependencies=e===null?null:{lanes:e.lanes,firstContext:e.firstContext},i.sibling=t.sibling,i.index=t.index,i.ref=t.ref,i}function Ga(t,e,i,r,s,n){var o=2;if(r=t,typeof t=="function")Tg(t)&&(o=1);else if(typeof t=="string")o=5;else e:switch(t){case Us:return Qs(i.children,s,n,e);case Fp:o=8,s|=8;break;case vf:return t=hi(12,i,e,s|2),t.elementType=vf,t.lanes=n,t;case Sf:return t=hi(13,i,e,s),t.elementType=Sf,t.lanes=n,t;case yf:return t=hi(19,i,e,s),t.elementType=yf,t.lanes=n,t;case rS:return Cc(i,s,n,e);default:if(typeof t=="object"&&t!==null)switch(t.$$typeof){case tS:o=10;break e;case iS:o=9;break e;case Hp:o=11;break e;case Up:o=14;break e;case Mr:o=16,r=null;break e}throw Error(E(130,t==null?t:typeof t,""))}return e=hi(o,i,e,s),e.elementType=t,e.type=r,e.lanes=n,e}function Qs(t,e,i,r){return t=hi(7,t,r,e),t.lanes=i,t}function Cc(t,e,i,r){return t=hi(22,t,r,e),t.elementType=rS,t.lanes=i,t.stateNode={isHidden:!1},t}function wu(t,e,i){return t=hi(6,t,null,e),t.lanes=i,t}function ku(t,e,i){return e=hi(4,t.children!==null?t.children:[],t.key,e),e.lanes=i,e.stateNode={containerInfo:t.containerInfo,pendingChildren:null,implementation:t.implementation},e}function $P(t,e,i,r,s){this.tag=e,this.containerInfo=t,this.finishedWork=this.pingCache=this.current=this.pendingChildren=null,this.timeoutHandle=-1,this.callbackNode=this.pendingContext=this.context=null,this.callbackPriority=0,this.eventTimes=ru(0),this.expirationTimes=ru(-1),this.entangledLanes=this.finishedLanes=this.mutableReadLanes=this.expiredLanes=this.pingedLanes=this.suspendedLanes=this.pendingLanes=0,this.entanglements=ru(0),this.identifierPrefix=r,this.onRecoverableError=s,this.mutableSourceEagerHydrationData=null}function Eg(t,e,i,r,s,n,o,l,a){return t=new $P(t,e,i,l,a),e===1?(e=1,n===!0&&(e|=8)):e=0,n=hi(3,null,null,e),t.current=n,n.stateNode=t,n.memoizedState={element:r,isDehydrated:i,cache:null,transitions:null,pendingSuspenseBoundaries:null},pg(n),t}function QP(t,e,i){var r=3"u"||typeof __REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE!="function"))try{__REACT_DEVTOOLS_GLOBAL_HOOK__.checkDCE(G1)}catch(t){console.error(t)}}G1(),Gv.exports=ti;var MP=Gv.exports,zm=MP;mf.createRoot=zm.createRoot,mf.hydrateRoot=zm.hydrateRoot;const K1=ne.createContext({x:0,y:0,scale:1}),Ec=()=>ne.useContext(K1);function J1(t,e){const i=Ec(),r=ne.useRef(null),s=l=>{l.button===0&&(l.stopPropagation(),l.target.setPointerCapture(l.pointerId),r.current={startX:l.clientX,startY:l.clientY,cardX:t.x,cardY:t.y})},n=l=>{const a=r.current;if(!a)return;const h=(l.clientX-a.startX)/i.scale,c=(l.clientY-a.startY)/i.scale;e({x:a.cardX+h,y:a.cardY+c})},o=l=>{if(r.current){try{l.target.releasePointerCapture(l.pointerId)}catch{}r.current=null}};return{onPointerDown:s,onPointerMove:n,onPointerUp:o,onPointerCancel:o}}const bu=120,xu=80;function LP(t,e,i){const r=Ec(),s=ne.useRef(null),n=a=>{a.button===0&&(a.stopPropagation(),a.target.setPointerCapture(a.pointerId),s.current={startX:a.clientX,startY:a.clientY,cardX:t.x,cardY:t.y,cardW:t.width,cardH:t.height})},o=a=>{const h=s.current;if(!h)return;const c=(a.clientX-h.startX)/r.scale,u=(a.clientY-h.startY)/r.scale;let f=h.cardX,d=h.cardY,p=h.cardW,g=h.cardH;e.includes("e")&&(p=h.cardW+c),e.includes("w")&&(f=h.cardX+c,p=h.cardW-c),e.includes("s")&&(g=h.cardH+u),e.includes("n")&&(d=h.cardY+u,g=h.cardH-u),p{if(s.current){try{a.target.releasePointerCapture(a.pointerId)}catch{}s.current=null}};return{onPointerDown:n,onPointerMove:o,onPointerUp:l,onPointerCancel:l}}const DP=["n","s","e","w","ne","nw","se","sw"];function ey({card:t,onUpdate:e}){return ce.jsx(ce.Fragment,{children:DP.map(i=>ce.jsx(BP,{dir:i,card:t,onUpdate:e},i))})}function BP({dir:t,card:e,onUpdate:i}){const r=LP(e,t,i);return ce.jsx("div",{className:`resize-handle resize-${t}`,...r})}function ty({title:t,placeholder:e,onTitleChange:i,onClose:r,dragProps:s}){return ce.jsxs("div",{className:"card-header",...s,children:[ce.jsx("input",{className:"card-title",value:t,placeholder:e,spellCheck:!1,onChange:n=>i(n.target.value),onPointerDown:n=>n.stopPropagation()}),ce.jsx("button",{type:"button",className:"card-close","aria-label":"Close",onClick:r,onPointerDown:n=>n.stopPropagation(),children:"×"})]})}let cd=[],iy=[];(()=>{let t="lc,34,7n,7,7b,19,,,,2,,2,,,20,b,1c,l,g,,2t,7,2,6,2,2,,4,z,,u,r,2j,b,1m,9,9,,o,4,,9,,3,,5,17,3,3b,f,,w,1j,,,,4,8,4,,3,7,a,2,t,,1m,,,,2,4,8,,9,,a,2,q,,2,2,1l,,4,2,4,2,2,3,3,,u,2,3,,b,2,1l,,4,5,,2,4,,k,2,m,6,,,1m,,,2,,4,8,,7,3,a,2,u,,1n,,,,c,,9,,14,,3,,1l,3,5,3,,4,7,2,b,2,t,,1m,,2,,2,,3,,5,2,7,2,b,2,s,2,1l,2,,,2,4,8,,9,,a,2,t,,20,,4,,2,3,,,8,,29,,2,7,c,8,2q,,2,9,b,6,22,2,r,,,,,,1j,e,,5,,2,5,b,,10,9,,2u,4,,6,,2,2,2,p,2,4,3,g,4,d,,2,2,6,,f,,jj,3,qa,3,t,3,t,2,u,2,1s,2,,7,8,,2,b,9,,19,3,3b,2,y,,3a,3,4,2,9,,6,3,63,2,2,,1m,,,7,,,,,2,8,6,a,2,,1c,h,1r,4,1c,7,,,5,,14,9,c,2,w,4,2,2,,3,1k,,,2,3,,,3,1m,8,2,2,48,3,,d,,7,4,,6,,3,2,5i,1m,,5,ek,,5f,x,2da,3,3x,,2o,w,fe,6,2x,2,n9w,4,,a,w,2,28,2,7k,,3,,4,,p,2,5,,47,2,q,i,d,,12,8,p,b,1a,3,1c,,2,4,2,2,13,,1v,6,2,2,2,2,c,,8,,1b,,1f,,,3,2,2,5,2,,,16,2,8,,6m,,2,,4,,fn4,,kh,g,g,g,a6,2,gt,,6a,,45,5,1ae,3,,2,5,4,14,3,4,,4l,2,fx,4,ar,2,49,b,4w,,1i,f,1k,3,1d,4,2,2,1x,3,10,5,,8,1q,,c,2,1g,9,a,4,2,,2n,3,2,,,2,6,,4g,,3,8,l,2,1l,2,,,,,m,,e,7,3,5,5f,8,2,3,,,n,,29,,2,6,,,2,,,2,,2,6j,,2,4,6,2,,2,r,2,2d,8,2,,,2,2y,,,,2,6,,,2t,3,2,4,,5,77,9,,2,6t,,a,2,,,4,,40,4,2,2,4,,w,a,14,6,2,4,8,,9,6,2,3,1a,d,,2,ba,7,,6,,,2a,m,2,7,,2,,2,3e,6,3,,,2,,7,,,20,2,3,,,,9n,2,f0b,5,1n,7,t4,,1r,4,29,,f5k,2,43q,,,3,4,5,8,8,2,7,u,4,44,3,1iz,1j,4,1e,8,,e,,m,5,,f,11s,7,,h,2,7,,2,,5,79,7,c5,4,15s,7,31,7,240,5,gx7k,2o,3k,6o".split(",").map(e=>e?parseInt(e,36):1);for(let e=0,i=0;e>1;if(t=iy[r])e=r+1;else return!0;if(e==i)return!1}}function Zm(t){return t>=127462&&t<=127487}const Xm=8205;function ZP(t,e,i=!0,r=!0){return(i?ry:XP)(t,e,r)}function ry(t,e,i){if(e==t.length)return e;e&&sy(t.charCodeAt(e))&&ny(t.charCodeAt(e-1))&&e--;let r=Cu(t,e);for(e+=Im(r);e=0&&Zm(Cu(t,o));)n++,o-=2;if(n%2==0)break;e+=2}else break}return e}function XP(t,e,i){for(;e>0;){let r=ry(t,e-2,i);if(r=56320&&t<57344}function ny(t){return t>=55296&&t<56320}function Im(t){return t<65536?1:2}let oe=class oy{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,i,r){[e,i]=En(this,e,i);let s=[];return this.decompose(0,e,s,2),r.length&&r.decompose(0,r.length,s,3),this.decompose(i,this.length,s,1),ji.from(s,this.length-(i-e)+r.length)}append(e){return this.replace(this.length,this.length,e)}slice(e,i=this.length){[e,i]=En(this,e,i);let r=[];return this.decompose(e,i,r,0),ji.from(r,i-e)}eq(e){if(e==this)return!0;if(e.length!=this.length||e.lines!=this.lines)return!1;let i=this.scanIdentical(e,1),r=this.length-this.scanIdentical(e,-1),s=new jo(this),n=new jo(e);for(let o=i,l=i;;){if(s.next(o),n.next(o),o=0,s.lineBreak!=n.lineBreak||s.done!=n.done||s.value!=n.value)return!1;if(l+=s.value.length,s.done||l>=r)return!0}}iter(e=1){return new jo(this,e)}iterRange(e,i=this.length){return new ly(this,e,i)}iterLines(e,i){let r;if(e==null)r=this.iter();else{i==null&&(i=this.lines+1);let s=this.line(e).from;r=this.iterRange(s,Math.max(s,i==this.lines+1?this.length:i<=1?0:this.line(i-1).to))}return new ay(r)}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]?oy.empty:e.length<=32?new Ze(e):ji.from(Ze.split(e,[]))}};class Ze extends oe{constructor(e,i=IP(e)){super(),this.text=e,this.length=i}get lines(){return this.text.length}get children(){return null}lineInner(e,i,r,s){for(let n=0;;n++){let o=this.text[n],l=s+o.length;if((i?r:l)>=e)return new WP(s,l,r,o);s=l+1,r++}}decompose(e,i,r,s){let n=e<=0&&i>=this.length?this:new Ze(Wm(this.text,e,i),Math.min(i,this.length)-Math.max(0,e));if(s&1){let o=r.pop(),l=Ka(n.text,o.text.slice(),0,n.length);if(l.length<=32)r.push(new Ze(l,o.length+n.length));else{let a=l.length>>1;r.push(new Ze(l.slice(0,a)),new Ze(l.slice(a)))}}else r.push(n)}replace(e,i,r){if(!(r instanceof Ze))return super.replace(e,i,r);[e,i]=En(this,e,i);let s=Ka(this.text,Ka(r.text,Wm(this.text,0,e)),i),n=this.length+r.length-(i-e);return s.length<=32?new Ze(s,n):ji.from(Ze.split(s,[]),n)}sliceString(e,i=this.length,r=` -`){[e,i]=En(this,e,i);let s="";for(let n=0,o=0;n<=i&&oe&&o&&(s+=r),en&&(s+=l.slice(Math.max(0,e-n),i-n)),n=a+1}return s}flatten(e){for(let i of this.text)e.push(i)}scanIdentical(){return 0}static split(e,i){let r=[],s=-1;for(let n of e)r.push(n),s+=n.length+1,r.length==32&&(i.push(new Ze(r,s)),r=[],s=-1);return s>-1&&i.push(new Ze(r,s)),i}}class ji extends oe{constructor(e,i){super(),this.children=e,this.length=i,this.lines=0;for(let r of e)this.lines+=r.lines}lineInner(e,i,r,s){for(let n=0;;n++){let o=this.children[n],l=s+o.length,a=r+o.lines-1;if((i?a:l)>=e)return o.lineInner(e,i,r,s);s=l+1,r=a+1}}decompose(e,i,r,s){for(let n=0,o=0;o<=i&&n=o){let h=s&((o<=e?1:0)|(a>=i?2:0));o>=e&&a<=i&&!h?r.push(l):l.decompose(e-o,i-o,r,h)}o=a+1}}replace(e,i,r){if([e,i]=En(this,e,i),r.lines=n&&i<=l){let a=o.replace(e-n,i-n,r),h=this.lines-o.lines+a.lines;if(a.lines>4&&a.lines>h>>6){let c=this.children.slice();return c[s]=a,new ji(c,this.length-(i-e)+r.length)}return super.replace(n,l,a)}n=l+1}return super.replace(e,i,r)}sliceString(e,i=this.length,r=` -`){[e,i]=En(this,e,i);let s="";for(let n=0,o=0;ne&&n&&(s+=r),eo&&(s+=l.sliceString(e-o,i-o,r)),o=a+1}return s}flatten(e){for(let i of this.children)i.flatten(e)}scanIdentical(e,i){if(!(e instanceof ji))return 0;let r=0,[s,n,o,l]=i>0?[0,0,this.children.length,e.children.length]:[this.children.length-1,e.children.length-1,-1,-1];for(;;s+=i,n+=i){if(s==o||n==l)return r;let a=this.children[s],h=e.children[n];if(a!=h)return r+a.scanIdentical(h,i);r+=a.length+1}}static from(e,i=e.reduce((r,s)=>r+s.length+1,-1)){let r=0;for(let d of e)r+=d.lines;if(r<32){let d=[];for(let p of e)p.flatten(d);return new Ze(d,i)}let s=Math.max(32,r>>5),n=s<<1,o=s>>1,l=[],a=0,h=-1,c=[];function u(d){let p;if(d.lines>n&&d instanceof ji)for(let g of d.children)u(g);else d.lines>o&&(a>o||!a)?(f(),l.push(d)):d instanceof Ze&&a&&(p=c[c.length-1])instanceof Ze&&d.lines+p.lines<=32?(a+=d.lines,h+=d.length+1,c[c.length-1]=new Ze(p.text.concat(d.text),p.length+1+d.length)):(a+d.lines>s&&f(),a+=d.lines,h+=d.length+1,c.push(d))}function f(){a!=0&&(l.push(c.length==1?c[0]:ji.from(c,h)),h=-1,a=c.length=0)}for(let d of e)u(d);return f(),l.length==1?l[0]:new ji(l,i)}}oe.empty=new Ze([""],0);function IP(t){let e=-1;for(let i of t)e+=i.length+1;return e}function Ka(t,e,i=0,r=1e9){for(let s=0,n=0,o=!0;n=i&&(a>r&&(l=l.slice(0,r-s)),s0?1:(e instanceof Ze?e.text.length:e.children.length)<<1]}nextInner(e,i){for(this.done=this.lineBreak=!1;;){let r=this.nodes.length-1,s=this.nodes[r],n=this.offsets[r],o=n>>1,l=s instanceof Ze?s.text.length:s.children.length;if(o==(i>0?l:0)){if(r==0)return this.done=!0,this.value="",this;i>0&&this.offsets[r-1]++,this.nodes.pop(),this.offsets.pop()}else if((n&1)==(i>0?0:1)){if(this.offsets[r]+=i,e==0)return this.lineBreak=!0,this.value=` -`,this;e--}else if(s instanceof Ze){let a=s.text[o+(i<0?-1:0)];if(this.offsets[r]+=i,a.length>Math.max(0,e))return this.value=e==0?a:i>0?a.slice(e):a.slice(0,a.length-e),this;e-=a.length}else{let a=s.children[o+(i<0?-1:0)];e>a.length?(e-=a.length,this.offsets[r]+=i):(i<0&&this.offsets[r]--,this.nodes.push(a),this.offsets.push(i>0?1:(a instanceof Ze?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)}}class ly{constructor(e,i,r){this.value="",this.done=!1,this.cursor=new jo(e,i>r?-1:1),this.pos=i>r?e.length:0,this.from=Math.min(i,r),this.to=Math.max(i,r)}nextInner(e,i){if(i<0?this.pos<=this.from:this.pos>=this.to)return this.value="",this.done=!0,this;e+=Math.max(0,i<0?this.pos-this.to:this.from-this.pos);let r=i<0?this.pos-this.from:this.to-this.pos;e>r&&(e=r),r-=e;let{value:s}=this.cursor.next(e);return this.pos+=(s.length+e)*i,this.value=s.length<=r?s:i<0?s.slice(s.length-r):s.slice(0,r),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!=""}}class ay{constructor(e){this.inner=e,this.afterBreak=!0,this.value="",this.done=!1}next(e=0){let{done:i,lineBreak:r,value:s}=this.inner.next(e);return i&&this.afterBreak?(this.value="",this.afterBreak=!1):i?(this.done=!0,this.value=""):r?this.afterBreak?this.value="":(this.afterBreak=!0,this.next()):(this.value=s,this.afterBreak=!1),this}get lineBreak(){return!1}}typeof Symbol<"u"&&(oe.prototype[Symbol.iterator]=function(){return this.iter()},jo.prototype[Symbol.iterator]=ly.prototype[Symbol.iterator]=ay.prototype[Symbol.iterator]=function(){return this});let WP=class{constructor(e,i,r,s){this.from=e,this.to=i,this.number=r,this.text=s}get length(){return this.to-this.from}};function En(t,e,i){return e=Math.max(0,Math.min(t.length,e)),[e,Math.max(e,Math.min(t.length,i))]}function vt(t,e,i=!0,r=!0){return ZP(t,e,i,r)}function NP(t){return t>=56320&&t<57344}function jP(t){return t>=55296&&t<56320}function VP(t,e){let i=t.charCodeAt(e);if(!jP(i)||e+1==t.length)return i;let r=t.charCodeAt(e+1);return NP(r)?(i-55296<<10)+(r-56320)+65536:i}function YP(t){return t<65536?1:2}const ud=/\r\n?|\n/;var Pt=function(t){return t[t.Simple=0]="Simple",t[t.TrackDel=1]="TrackDel",t[t.TrackBefore=2]="TrackBefore",t[t.TrackAfter=3]="TrackAfter",t}(Pt||(Pt={}));class Ji{constructor(e){this.sections=e}get length(){let e=0;for(let i=0;ie)return n+(e-s);n+=l}else{if(r!=Pt.Simple&&h>=e&&(r==Pt.TrackDel&&se||r==Pt.TrackBefore&&se))return null;if(h>e||h==e&&i<0&&!l)return e==s||i<0?n:n+a;n+=a}s=h}if(e>s)throw new RangeError(`Position ${e} is out of range for changeset of length ${s}`);return n}touchesRange(e,i=e){for(let r=0,s=0;r=0&&s<=i&&l>=e)return si?"cover":!0;s=l}return!1}toString(){let e="";for(let i=0;i=0?":"+s:"")}return e}toJSON(){return this.sections}static fromJSON(e){if(!Array.isArray(e)||e.length%2||e.some(i=>typeof i!="number"))throw new RangeError("Invalid JSON representation of ChangeDesc");return new Ji(e)}static create(e){return new Ji(e)}}class Ue extends Ji{constructor(e,i){super(e),this.inserted=i}apply(e){if(this.length!=e.length)throw new RangeError("Applying change set to a document with the wrong length");return fd(this,(i,r,s,n,o)=>e=e.replace(s,s+(r-i),o),!1),e}mapDesc(e,i=!1){return dd(this,e,i,!0)}invert(e){let i=this.sections.slice(),r=[];for(let s=0,n=0;s=0){i[s]=l,i[s+1]=o;let a=s>>1;for(;r.length0&&jr(r,i,n.text),n.forward(c),l+=c}let h=e[o++];for(;l>1].toJSON()))}return e}static of(e,i,r){let s=[],n=[],o=0,l=null;function a(c=!1){if(!c&&!s.length)return;of||u<0||f>i)throw new RangeError(`Invalid change range ${u} to ${f} (in doc of length ${i})`);let p=d?typeof d=="string"?oe.of(d.split(r||ud)):d:oe.empty,g=p.length;if(u==f&&g==0)return;uo&&mt(s,u-o,-1),mt(s,f-u,g),jr(n,s,p),o=f}}return h(e),a(!l),l}static empty(e){return new Ue(e?[e,-1]:[],[])}static fromJSON(e){if(!Array.isArray(e))throw new RangeError("Invalid JSON representation of ChangeSet");let i=[],r=[];for(let s=0;sl&&typeof o!="string"))throw new RangeError("Invalid JSON representation of ChangeSet");if(n.length==1)i.push(n[0],0);else{for(;r.length=0&&i<=0&&i==t[s+1]?t[s]+=e:s>=0&&e==0&&t[s]==0?t[s+1]+=i:r?(t[s]+=e,t[s+1]+=i):t.push(e,i)}function jr(t,e,i){if(i.length==0)return;let r=e.length-2>>1;if(r>1])),!(i||o==t.sections.length||t.sections[o+1]<0);)l=t.sections[o++],a=t.sections[o++];e(s,h,n,c,u),s=h,n=c}}}function dd(t,e,i,r=!1){let s=[],n=r?[]:null,o=new gl(t),l=new gl(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 h=Math.min(o.len,l.len);mt(s,h,-1),o.forward(h),l.forward(h)}else if(l.ins>=0&&(o.ins<0||a==o.i||o.off==0&&(l.len=0&&a=0){let h=0,c=o.len;for(;c;)if(l.ins==-1){let u=Math.min(c,l.len);h+=u,c-=u,l.forward(u)}else if(l.ins==0&&l.lena||o.ins>=0&&o.len>a)&&(l||r.length>h),n.forward2(a),o.forward(a)}}}}class gl{constructor(e){this.set=e,this.i=0,this.next()}next(){let{sections:e}=this.set;this.i>1;return i>=e.length?oe.empty:e[i]}textBit(e){let{inserted:i}=this.set,r=this.i-2>>1;return r>=i.length&&!e?oe.empty:i[r].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)}}class xs{constructor(e,i,r){this.from=e,this.to=i,this.flags=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 bidiLevel(){let e=this.flags&7;return e==7?null:e}get goalColumn(){let e=this.flags>>6;return e==16777215?void 0:e}map(e,i=-1){let r,s;return this.empty?r=s=e.mapPos(this.from,i):(r=e.mapPos(this.from,1),s=e.mapPos(this.to,-1)),r==this.from&&s==this.to?this:new xs(r,s,this.flags)}extend(e,i=e,r=0){if(e<=this.anchor&&i>=this.anchor)return T.range(e,i,void 0,void 0,r);let s=Math.abs(e-this.anchor)>Math.abs(i-this.anchor)?e:i;return T.range(this.anchor,s,void 0,void 0,r)}eq(e,i=!1){return this.anchor==e.anchor&&this.head==e.head&&this.goalColumn==e.goalColumn&&(!i||!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 T.range(e.anchor,e.head)}static create(e,i,r){return new xs(e,i,r)}}class T{constructor(e,i){this.ranges=e,this.mainIndex=i}map(e,i=-1){return e.empty?this:T.create(this.ranges.map(r=>r.map(e,i)),this.mainIndex)}eq(e,i=!1){if(this.ranges.length!=e.ranges.length||this.mainIndex!=e.mainIndex)return!1;for(let r=0;re.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 T(e.ranges.map(i=>xs.fromJSON(i)),e.main)}static single(e,i=e){return new T([T.range(e,i)],0)}static create(e,i=0){if(e.length==0)throw new RangeError("A selection needs at least one range");for(let r=0,s=0;ss.from-n.from),i=e.indexOf(r);for(let s=1;sn.head?T.range(a,l):T.range(l,a))}}return new T(e,i)}}function cy(t,e){for(let i of t.ranges)if(i.to>e)throw new RangeError("Selection points outside of document")}let Lg=0;class H{constructor(e,i,r,s,n){this.combine=e,this.compareInput=i,this.compare=r,this.isStatic=s,this.id=Lg++,this.default=e([]),this.extensions=typeof n=="function"?n(this):n}get reader(){return this}static define(e={}){return new H(e.combine||(i=>i),e.compareInput||((i,r)=>i===r),e.compare||(e.combine?(i,r)=>i===r:Dg),!!e.static,e.enables)}of(e){return new Ja([],this,0,e)}compute(e,i){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ja(e,this,1,i)}computeN(e,i){if(this.isStatic)throw new Error("Can't compute a static facet");return new Ja(e,this,2,i)}from(e,i){return i||(i=r=>r),this.compute([e],r=>i(r.field(e)))}}function Dg(t,e){return t==e||t.length==e.length&&t.every((i,r)=>i===e[r])}class Ja{constructor(e,i,r,s){this.dependencies=e,this.facet=i,this.type=r,this.value=s,this.id=Lg++}dynamicSlot(e){var i;let r=this.value,s=this.facet.compareInput,n=this.id,o=e[n]>>1,l=this.type==2,a=!1,h=!1,c=[];for(let u of this.dependencies)u=="doc"?a=!0:u=="selection"?h=!0:((i=e[u.id])!==null&&i!==void 0?i:1)&1||c.push(e[u.id]);return{create(u){return u.values[o]=r(u),1},update(u,f){if(a&&f.docChanged||h&&(f.docChanged||f.selection)||pd(u,c)){let d=r(u);if(l?!Nm(d,u.values[o],s):!s(d,u.values[o]))return u.values[o]=d,1}return 0},reconfigure:(u,f)=>{let d,p=f.config.address[n];if(p!=null){let g=zh(f,p);if(this.dependencies.every(v=>v instanceof H?f.facet(v)===u.facet(v):v instanceof kr?f.field(v,!1)==u.field(v,!1):!0)||(l?Nm(d=r(u),g,s):s(d=r(u),g)))return u.values[o]=g,0}else d=r(u);return u.values[o]=d,1}}}}function Nm(t,e,i){if(t.length!=e.length)return!1;for(let r=0;rt[a.id]),s=i.map(a=>a.type),n=r.filter(a=>!(a&1)),o=t[e.id]>>1;function l(a){let h=[];for(let c=0;cr===s),e);return e.provide&&(i.provides=e.provide(i)),i}create(e){let i=e.facet(Oa).find(r=>r.field==this);return((i==null?void 0:i.create)||this.createF)(e)}slot(e){let i=e[this.id]>>1;return{create:r=>(r.values[i]=this.create(r),1),update:(r,s)=>{let n=r.values[i],o=this.updateF(n,s);return this.compareF(n,o)?0:(r.values[i]=o,1)},reconfigure:(r,s)=>{let n=r.facet(Oa),o=s.facet(Oa),l;return(l=n.find(a=>a.field==this))&&l!=o.find(a=>a.field==this)?(r.values[i]=l.create(r),1):s.config.address[this.id]!=null?(r.values[i]=s.field(this),0):(r.values[i]=this.create(r),1)}}}init(e){return[this,Oa.of({field:this,create:e})]}get extension(){return this}}const Ss={lowest:4,low:3,default:2,high:1,highest:0};function ao(t){return e=>new uy(e,t)}const Rc={highest:ao(Ss.highest),high:ao(Ss.high),default:ao(Ss.default),low:ao(Ss.low),lowest:ao(Ss.lowest)};class uy{constructor(e,i){this.inner=e,this.prec=i}}class Ac{of(e){return new gd(this,e)}reconfigure(e){return Ac.reconfigure.of({compartment:this,extension:e})}get(e){return e.config.compartments.get(this)}}class gd{constructor(e,i){this.compartment=e,this.inner=i}}class Bh{constructor(e,i,r,s,n,o){for(this.base=e,this.compartments=i,this.dynamicSlots=r,this.address=s,this.staticValues=n,this.facets=o,this.statusTemplate=[];this.statusTemplate.length>1]}static resolve(e,i,r){let s=[],n=Object.create(null),o=new Map;for(let f of FP(e,i,o))f instanceof kr?s.push(f):(n[f.facet.id]||(n[f.facet.id]=[])).push(f);let l=Object.create(null),a=[],h=[];for(let f of s)l[f.id]=h.length<<1,h.push(d=>f.slot(d));let c=r==null?void 0:r.config.facets;for(let f in n){let d=n[f],p=d[0].facet,g=c&&c[f]||[];if(d.every(v=>v.type==0))if(l[p.id]=a.length<<1|1,Dg(g,d))a.push(r.facet(p));else{let v=p.combine(d.map(O=>O.value));a.push(r&&p.compare(v,r.facet(p))?r.facet(p):v)}else{for(let v of d)v.type==0?(l[v.id]=a.length<<1|1,a.push(v.value)):(l[v.id]=h.length<<1,h.push(O=>v.dynamicSlot(O)));l[p.id]=h.length<<1,h.push(v=>qP(v,p,d))}}let u=h.map(f=>f(l));return new Bh(e,o,u,l,a,n)}}function FP(t,e,i){let r=[[],[],[],[],[]],s=new Map;function n(o,l){let a=s.get(o);if(a!=null){if(a<=l)return;let h=r[a].indexOf(o);h>-1&&r[a].splice(h,1),o instanceof gd&&i.delete(o.compartment)}if(s.set(o,l),Array.isArray(o))for(let h of o)n(h,l);else if(o instanceof gd){if(i.has(o.compartment))throw new RangeError("Duplicate use of compartment in extensions");let h=e.get(o.compartment)||o.inner;i.set(o.compartment,h),n(h,l)}else if(o instanceof uy)n(o.inner,o.prec);else if(o instanceof kr)r[l].push(o),o.provides&&n(o.provides,l);else if(o instanceof Ja)r[l].push(o),o.facet.extensions&&n(o.facet.extensions,Ss.default);else{let h=o.extension;if(!h)throw new Error(`Unrecognized extension value in extension set (${o}). This sometimes happens because multiple instances of @codemirror/state are loaded, breaking instanceof checks.`);n(h,l)}}return n(t,Ss.default),r.reduce((o,l)=>o.concat(l))}function Vo(t,e){if(e&1)return 2;let i=e>>1,r=t.status[i];if(r==4)throw new Error("Cyclic dependency between fields and/or facets");if(r&2)return r;t.status[i]=4;let s=t.computeSlot(t,t.config.dynamicSlots[i]);return t.status[i]=2|s}function zh(t,e){return e&1?t.config.staticValues[e>>1]:t.values[e>>1]}const fy=H.define(),Od=H.define({combine:t=>t.some(e=>e),static:!0}),dy=H.define({combine:t=>t.length?t[0]:void 0,static:!0}),py=H.define(),gy=H.define(),Oy=H.define(),my=H.define({combine:t=>t.length?t[0]:!1});class br{constructor(e,i){this.type=e,this.value=i}static define(){return new HP}}class HP{of(e){return new br(this,e)}}class UP{constructor(e){this.map=e}of(e){return new Ce(this,e)}}class Ce{constructor(e,i){this.type=e,this.value=i}map(e){let i=this.type.map(this.value,e);return i===void 0?void 0:i==this.value?this:new Ce(this.type,i)}is(e){return this.type==e}static define(e={}){return new UP(e.map||(i=>i))}static mapEffects(e,i){if(!e.length)return e;let r=[];for(let s of e){let n=s.map(i);n&&r.push(n)}return r}}Ce.reconfigure=Ce.define();Ce.appendConfig=Ce.define();class Ve{constructor(e,i,r,s,n,o){this.startState=e,this.changes=i,this.selection=r,this.effects=s,this.annotations=n,this.scrollIntoView=o,this._doc=null,this._state=null,r&&cy(r,i.newLength),n.some(l=>l.type==Ve.time)||(this.annotations=n.concat(Ve.time.of(Date.now())))}static create(e,i,r,s,n,o){return new Ve(e,i,r,s,n,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 i of this.annotations)if(i.type==e)return i.value}get docChanged(){return!this.changes.empty}get reconfigured(){return this.startState.config!=this.state.config}isUserEvent(e){let i=this.annotation(Ve.userEvent);return!!(i&&(i==e||i.length>e.length&&i.slice(0,e.length)==e&&i[e.length]=="."))}}Ve.time=br.define();Ve.userEvent=br.define();Ve.addToHistory=br.define();Ve.remote=br.define();function GP(t,e){let i=[];for(let r=0,s=0;;){let n,o;if(r=t[r]))n=t[r++],o=t[r++];else if(s=0;s--){let n=r[s](t);n instanceof Ve?t=n:Array.isArray(n)&&n.length==1&&n[0]instanceof Ve?t=n[0]:t=vy(e,_n(n),!1)}return t}function JP(t){let e=t.startState,i=e.facet(Oy),r=t;for(let s=i.length-1;s>=0;s--){let n=i[s](t);n&&Object.keys(n).length&&(r=_y(r,md(e,n,t.changes.newLength),!0))}return r==t?t:Ve.create(e,t.changes,t.selection,r.effects,r.annotations,r.scrollIntoView)}const e$=[];function _n(t){return t==null?e$:Array.isArray(t)?t:[t]}var ur=function(t){return t[t.Word=0]="Word",t[t.Space=1]="Space",t[t.Other=2]="Other",t}(ur||(ur={}));const t$=/[\u00df\u0587\u0590-\u05f4\u0600-\u06ff\u3040-\u309f\u30a0-\u30ff\u3400-\u4db5\u4e00-\u9fcc\uac00-\ud7af]/;let _d;try{_d=new RegExp("[\\p{Alphabetic}\\p{Number}_]","u")}catch{}function i$(t){if(_d)return _d.test(t);for(let e=0;e"€"&&(i.toUpperCase()!=i.toLowerCase()||t$.test(i)))return!0}return!1}function r$(t){return e=>{if(!/\S/.test(e))return ur.Space;if(i$(e))return ur.Word;for(let i=0;i-1)return ur.Word;return ur.Other}}class le{constructor(e,i,r,s,n,o){this.config=e,this.doc=i,this.selection=r,this.values=s,this.status=e.statusTemplate.slice(),this.computeSlot=n,o&&(o._state=this);for(let l=0;ls.set(h,a)),i=null),s.set(l.value.compartment,l.value.extension)):l.is(Ce.reconfigure)?(i=null,r=l.value):l.is(Ce.appendConfig)&&(i=null,r=_n(r).concat(l.value));let n;i?n=e.startState.values.slice():(i=Bh.resolve(r,s,this),n=new le(i,this.doc,this.selection,i.dynamicSlots.map(()=>null),(a,h)=>h.reconfigure(a,this),null).values);let o=e.startState.facet(Od)?e.newSelection:e.newSelection.asSingle();new le(i,e.newDoc,o,n,(l,a)=>a.update(l,e),e)}replaceSelection(e){return typeof e=="string"&&(e=this.toText(e)),this.changeByRange(i=>({changes:{from:i.from,to:i.to,insert:e},range:T.cursor(i.from+e.length)}))}changeByRange(e){let i=this.selection,r=e(i.ranges[0]),s=this.changes(r.changes),n=[r.range],o=_n(r.effects);for(let l=1;lo.spec.fromJSON(l,a)))}}return le.create({doc:e.doc,selection:T.fromJSON(e.selection),extensions:i.extensions?s.concat([i.extensions]):s})}static create(e={}){let i=Bh.resolve(e.extensions||[],new Map),r=e.doc instanceof oe?e.doc:oe.of((e.doc||"").split(i.staticFacet(le.lineSeparator)||ud)),s=e.selection?e.selection instanceof T?e.selection:T.single(e.selection.anchor,e.selection.head):T.single(0);return cy(s,r.length),i.staticFacet(Od)||(s=s.asSingle()),new le(i,r,s,i.dynamicSlots.map(()=>null),(n,o)=>o.create(n),null)}get tabSize(){return this.facet(le.tabSize)}get lineBreak(){return this.facet(le.lineSeparator)||` -`}get readOnly(){return this.facet(my)}phrase(e,...i){for(let r of this.facet(le.phrases))if(Object.prototype.hasOwnProperty.call(r,e)){e=r[e];break}return i.length&&(e=e.replace(/\$(\$|\d*)/g,(r,s)=>{if(s=="$")return"$";let n=+(s||1);return!n||n>i.length?r:i[n-1]})),e}languageDataAt(e,i,r=-1){let s=[];for(let n of this.facet(fy))for(let o of n(this,i,r))Object.prototype.hasOwnProperty.call(o,e)&&s.push(o[e]);return s}charCategorizer(e){let i=this.languageDataAt("wordChars",e);return r$(i.length?i[0]:"")}wordAt(e){let{text:i,from:r,length:s}=this.doc.lineAt(e),n=this.charCategorizer(e),o=e-r,l=e-r;for(;o>0;){let a=vt(i,o,!1);if(n(i.slice(a,o))!=ur.Word)break;o=a}for(;lt.length?t[0]:4});le.lineSeparator=dy;le.readOnly=my;le.phrases=H.define({compare(t,e){let i=Object.keys(t),r=Object.keys(e);return i.length==r.length&&i.every(s=>t[s]==e[s])}});le.languageData=fy;le.changeFilter=py;le.transactionFilter=gy;le.transactionExtender=Oy;Ac.reconfigure=Ce.define();function s$(t,e,i={}){let r={};for(let s of t)for(let n of Object.keys(s)){let o=s[n],l=r[n];if(l===void 0)r[n]=o;else if(!(l===o||o===void 0))if(Object.hasOwnProperty.call(i,n))r[n]=i[n](l,o);else throw new Error("Config merge conflict for field "+n)}for(let s in e)r[s]===void 0&&(r[s]=e[s]);return r}class ss{eq(e){return this==e}range(e,i=e){return vd.create(e,i,this)}}ss.prototype.startSide=ss.prototype.endSide=0;ss.prototype.point=!1;ss.prototype.mapMode=Pt.TrackDel;function Bg(t,e){return t==e||t.constructor==e.constructor&&t.eq(e)}let vd=class Sy{constructor(e,i,r){this.from=e,this.to=i,this.value=r}static create(e,i,r){return new Sy(e,i,r)}};function Sd(t,e){return t.from-e.from||t.value.startSide-e.value.startSide}class zg{constructor(e,i,r,s){this.from=e,this.to=i,this.value=r,this.maxPoint=s}get length(){return this.to[this.to.length-1]}findIndex(e,i,r,s=0){let n=r?this.to:this.from;for(let o=s,l=n.length;;){if(o==l)return o;let a=o+l>>1,h=n[a]-e||(r?this.value[a].endSide:this.value[a].startSide)-i;if(a==o)return h>=0?o:l;h>=0?l=a:o=a+1}}between(e,i,r,s){for(let n=this.findIndex(i,-1e9,!0),o=this.findIndex(r,1e9,!1,n);nd||f==d&&h.startSide>0&&h.endSide<=0)continue;(d-f||h.endSide-h.startSide)<0||(o<0&&(o=f),h.point&&(l=Math.max(l,d-f)),r.push(h),s.push(f-o),n.push(d-o))}return{mapped:r.length?new zg(s,n,r,l):null,pos:o}}}class de{constructor(e,i,r,s){this.chunkPos=e,this.chunk=i,this.nextLayer=r,this.maxPoint=s}static create(e,i,r,s){return new de(e,i,r,s)}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 i of this.chunk)e+=i.value.length;return e}chunkEnd(e){return this.chunkPos[e]+this.chunk[e].length}update(e){let{add:i=[],sort:r=!1,filterFrom:s=0,filterTo:n=this.length}=e,o=e.filter;if(i.length==0&&!o)return this;if(r&&(i=i.slice().sort(Sd)),this.isEmpty)return i.length?de.of(i):this;let l=new yy(this,null,-1).goto(0),a=0,h=[],c=new Ol;for(;l.value||a=0){let u=i[a++];c.addInner(u.from,u.to,u.value)||h.push(u)}else l.rangeIndex==1&&l.chunkIndexthis.chunkEnd(l.chunkIndex)||nl.to||n=n&&e<=n+o.length&&o.between(n,e-n,i-n,r)===!1)return}this.nextLayer.between(e,i,r)}}iter(e=0){return ml.from([this]).goto(e)}get isEmpty(){return this.nextLayer==this}static iter(e,i=0){return ml.from(e).goto(i)}static compare(e,i,r,s,n=-1){let o=e.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=n),l=i.filter(u=>u.maxPoint>0||!u.isEmpty&&u.maxPoint>=n),a=jm(o,l,r),h=new ho(o,a,n),c=new ho(l,a,n);r.iterGaps((u,f,d)=>Vm(h,u,c,f,d,s)),r.empty&&r.length==0&&Vm(h,0,c,0,0,s)}static eq(e,i,r=0,s){s==null&&(s=999999999);let n=e.filter(c=>!c.isEmpty&&i.indexOf(c)<0),o=i.filter(c=>!c.isEmpty&&e.indexOf(c)<0);if(n.length!=o.length)return!1;if(!n.length)return!0;let l=jm(n,o),a=new ho(n,l,0).goto(r),h=new ho(o,l,0).goto(r);for(;;){if(a.to!=h.to||!yd(a.active,h.active)||a.point&&(!h.point||!Bg(a.point,h.point)))return!1;if(a.to>s)return!0;a.next(),h.next()}}static spans(e,i,r,s,n=-1){let o=new ho(e,null,n).goto(i),l=i,a=o.openStart;for(;;){let h=Math.min(o.to,r);if(o.point){let c=o.activeForPoint(o.to),u=o.pointFroml&&(s.span(l,h,o.active,a),a=o.openEnd(h));if(o.to>r)return a+(o.point&&o.to>r?1:0);l=o.to,o.next()}}static of(e,i=!1){let r=new Ol;for(let s of e instanceof vd?[e]:i?n$(e):e)r.add(s.from,s.to,s.value);return r.finish()}static join(e){if(!e.length)return de.empty;let i=e[e.length-1];for(let r=e.length-2;r>=0;r--)for(let s=e[r];s!=de.empty;s=s.nextLayer)i=new de(s.chunkPos,s.chunk,i,Math.max(s.maxPoint,i.maxPoint));return i}}de.empty=new de([],[],null,-1);function n$(t){if(t.length>1)for(let e=t[0],i=1;i0)return t.slice().sort(Sd);e=r}return t}de.empty.nextLayer=de.empty;class Ol{finishChunk(e){this.chunks.push(new zg(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,i,r){this.addInner(e,i,r)||(this.nextLayer||(this.nextLayer=new Ol)).add(e,i,r)}addInner(e,i,r){let s=e-this.lastTo||r.startSide-this.last.endSide;if(s<=0&&(e-this.lastFrom||r.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(i-this.chunkStart),this.last=r,this.lastFrom=e,this.lastTo=i,this.value.push(r),r.point&&(this.maxPoint=Math.max(this.maxPoint,i-e)),!0)}addChunk(e,i){if((e-this.lastTo||i.value[0].startSide-this.last.endSide)<0)return!1;this.from.length&&this.finishChunk(!0),this.setMaxPoint=Math.max(this.setMaxPoint,i.maxPoint),this.chunks.push(i),this.chunkPos.push(e);let r=i.value.length-1;return this.last=i.value[r],this.lastFrom=i.from[r]+e,this.lastTo=i.to[r]+e,!0}finish(){return this.finishInner(de.empty)}finishInner(e){if(this.from.length&&this.finishChunk(!1),this.chunks.length==0)return e;let i=de.create(this.chunkPos,this.chunks,this.nextLayer?this.nextLayer.finishInner(e):e,this.setMaxPoint);return this.from=null,i}}function jm(t,e,i){let r=new Map;for(let n of t)for(let o=0;o=this.minPoint)break}}setRangeIndex(e){if(e==this.layer.chunk[this.chunkIndex].value.length){if(this.chunkIndex++,this.skip)for(;this.chunkIndex=r&&s.push(new yy(o,i,r,n));return s.length==1?s[0]:new ml(s)}get startSide(){return this.value?this.value.startSide:0}goto(e,i=-1e9){for(let r of this.heap)r.goto(e,i);for(let r=this.heap.length>>1;r>=0;r--)Pu(this.heap,r);return this.next(),this}forward(e,i){for(let r of this.heap)r.forward(e,i);for(let r=this.heap.length>>1;r>=0;r--)Pu(this.heap,r);(this.to-e||this.value.endSide-i)<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(),Pu(this.heap,0)}}}function Pu(t,e){for(let i=t[e];;){let r=(e<<1)+1;if(r>=t.length)break;let s=t[r];if(r+1=0&&(s=t[r+1],r++),i.compare(s)<0)break;t[r]=i,t[e]=s,e=r}}class ho{constructor(e,i,r){this.minPoint=r,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=ml.from(e,i,r)}goto(e,i=-1e9){return this.cursor.goto(e,i),this.active.length=this.activeTo.length=this.activeRank.length=0,this.minActive=-1,this.to=e,this.endSide=i,this.openStart=-1,this.next(),this}forward(e,i){for(;this.minActive>-1&&(this.activeTo[this.minActive]-e||this.active[this.minActive].endSide-i)<0;)this.removeActive(this.minActive);this.cursor.forward(e,i)}removeActive(e){ma(this.active,e),ma(this.activeTo,e),ma(this.activeRank,e),this.minActive=Ym(this.active,this.activeTo)}addActive(e){let i=0,{value:r,to:s,rank:n}=this.cursor;for(;i0;)i++;_a(this.active,i,r),_a(this.activeTo,i,s),_a(this.activeRank,i,n),e&&_a(e,i,this.cursor.from),this.minActive=Ym(this.active,this.activeTo)}next(){let e=this.to,i=this.point;this.point=null;let r=this.openStart<0?[]:null;for(;;){let s=this.minActive;if(s>-1&&(this.activeTo[s]-this.cursor.from||this.active[s].endSide-this.cursor.startSide)<0){if(this.activeTo[s]>e){this.to=this.activeTo[s],this.endSide=this.active[s].endSide;break}this.removeActive(s),r&&ma(r,s)}else if(this.cursor.value)if(this.cursor.from>e){this.to=this.cursor.from,this.endSide=this.cursor.startSide;break}else{let n=this.cursor.value;if(!n.point)this.addActive(r),this.cursor.next();else if(i&&this.cursor.to==this.to&&this.cursor.from=0&&r[s]=0&&!(this.activeRank[r]e||this.activeTo[r]==e&&this.active[r].endSide>=this.point.endSide)&&i.push(this.active[r]);return i.reverse()}openEnd(e){let i=0;for(let r=this.activeTo.length-1;r>=0&&this.activeTo[r]>e;r--)i++;return i}}function Vm(t,e,i,r,s,n){t.goto(e),i.goto(r);let o=r+s,l=r,a=r-e,h=!!n.boundChange;for(let c=!1;;){let u=t.to+a-i.to,f=u||t.endSide-i.endSide,d=f<0?t.to+a:i.to,p=Math.min(d,o);if(t.point||i.point?(t.point&&i.point&&Bg(t.point,i.point)&&yd(t.activeForPoint(t.to),i.activeForPoint(i.to))||n.comparePoint(l,p,t.point,i.point),c=!1):(c&&n.boundChange(l),p>l&&!yd(t.active,i.active)&&n.compareRange(l,p,t.active,i.active),h&&po)break;l=d,f<=0&&t.next(),f>=0&&i.next()}}function yd(t,e){if(t.length!=e.length)return!1;for(let i=0;i=e;r--)t[r+1]=t[r];t[e]=i}function Ym(t,e){let i=-1,r=1e9;for(let s=0;s=e)return s;if(s==t.length)break;n+=t.charCodeAt(s)==9?i-n%i:1,s=vt(t,s)}return t.length}const wd="ͼ",qm=typeof Symbol>"u"?"__"+wd:Symbol.for(wd),kd=typeof Symbol>"u"?"__styleSet"+Math.floor(Math.random()*1e8):Symbol("styleSet"),Fm=typeof globalThis<"u"?globalThis:typeof window<"u"?window:{};class Rn{constructor(e,i){this.rules=[];let{finish:r}=i||{};function s(o){return/^@/.test(o)?[o]:o.split(/,\s*/)}function n(o,l,a,h){let c=[],u=/^@(\w+)\b/.exec(o[0]),f=u&&u[1]=="keyframes";if(u&&l==null)return a.push(o[0]+";");for(let d in l){let p=l[d];if(/&/.test(d))n(d.split(/,\s*/).map(g=>o.map(v=>g.replace(/&/,v))).reduce((g,v)=>g.concat(v)),p,a);else if(p&&typeof p=="object"){if(!u)throw new RangeError("The value of a property ("+d+") should be a primitive value.");n(s(d),p,c,f)}else p!=null&&c.push(d.replace(/_.*/,"").replace(/[A-Z]/g,g=>"-"+g.toLowerCase())+": "+p+";")}(c.length||f)&&a.push((r&&!u&&!h?o.map(r):o).join(", ")+" {"+c.join(" ")+"}")}for(let o in e)n(s(o),e[o],this.rules)}getRules(){return this.rules.join(` -`)}static newName(){let e=Fm[qm]||1;return Fm[qm]=e+1,wd+e.toString(36)}static mount(e,i,r){let s=e[kd],n=r&&r.nonce;s?n&&s.setNonce(n):s=new l$(e,n),s.mount(Array.isArray(i)?i:[i],e)}}let Hm=new Map;class l${constructor(e,i){let r=e.ownerDocument||e,s=r.defaultView;if(!e.head&&e.adoptedStyleSheets&&s.CSSStyleSheet){let n=Hm.get(r);if(n)return e[kd]=n;this.sheet=new s.CSSStyleSheet,Hm.set(r,this)}else this.styleTag=r.createElement("style"),i&&this.styleTag.setAttribute("nonce",i);this.modules=[],e[kd]=this}mount(e,i){let r=this.sheet,s=0,n=0;for(let o=0;o-1&&(this.modules.splice(a,1),n--,a=-1),a==-1){if(this.modules.splice(n++,0,l),r)for(let h=0;h",191:"?",192:"~",219:"{",220:"|",221:"}",222:'"'},a$=typeof navigator<"u"&&/Mac/.test(navigator.platform),h$=typeof navigator<"u"&&/MSIE \d|Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(navigator.userAgent);for(var ct=0;ct<10;ct++)ns[48+ct]=ns[96+ct]=String(ct);for(var ct=1;ct<=24;ct++)ns[ct+111]="F"+ct;for(var ct=65;ct<=90;ct++)ns[ct]=String.fromCharCode(ct+32),_l[ct]=String.fromCharCode(ct);for(var $u in ns)_l.hasOwnProperty($u)||(_l[$u]=ns[$u]);function c$(t){var e=a$&&t.metaKey&&t.shiftKey&&!t.ctrlKey&&!t.altKey||h$&&t.shiftKey&&t.key&&t.key.length==1||t.key=="Unidentified",i=!e&&t.key||(t.shiftKey?_l:ns)[t.keyCode]||t.key||"Unidentified";return i=="Esc"&&(i="Escape"),i=="Del"&&(i="Delete"),i=="Left"&&(i="ArrowLeft"),i=="Up"&&(i="ArrowUp"),i=="Right"&&(i="ArrowRight"),i=="Down"&&(i="ArrowDown"),i}let Ct=typeof navigator<"u"?navigator:{userAgent:"",vendor:"",platform:""},bd=typeof document<"u"?document:{documentElement:{style:{}}};const xd=/Edge\/(\d+)/.exec(Ct.userAgent),wy=/MSIE \d/.test(Ct.userAgent),Cd=/Trident\/(?:[7-9]|\d{2,})\..*rv:(\d+)/.exec(Ct.userAgent),Mc=!!(wy||Cd||xd),Um=!Mc&&/gecko\/(\d+)/i.test(Ct.userAgent),Qu=!Mc&&/Chrome\/(\d+)/.exec(Ct.userAgent),u$="webkitFontSmoothing"in bd.documentElement.style,Pd=!Mc&&/Apple Computer/.test(Ct.vendor),Gm=Pd&&(/Mobile\/\w+/.test(Ct.userAgent)||Ct.maxTouchPoints>2);var N={mac:Gm||/Mac/.test(Ct.platform),windows:/Win/.test(Ct.platform),linux:/Linux|X11/.test(Ct.platform),ie:Mc,ie_version:wy?bd.documentMode||6:Cd?+Cd[1]:xd?+xd[1]:0,gecko:Um,gecko_version:Um?+(/Firefox\/(\d+)/.exec(Ct.userAgent)||[0,0])[1]:0,chrome:!!Qu,chrome_version:Qu?+Qu[1]:0,ios:Gm,android:/Android\b/.test(Ct.userAgent),webkit_version:u$?+(/\bAppleWebKit\/(\d+)/.exec(Ct.userAgent)||[0,0])[1]:0,safari:Pd,safari_version:Pd?+(/\bVersion\/(\d+(\.\d+)?)/.exec(Ct.userAgent)||[0,0])[1]:0,tabSize:bd.documentElement.style.tabSize!=null?"tab-size":"-moz-tab-size"};function Zg(t,e){for(let i in t)i=="class"&&e.class?e.class+=" "+t.class:i=="style"&&e.style?e.style+=";"+t.style:e[i]=t[i];return e}const Zh=Object.create(null);function Xg(t,e,i){if(t==e)return!0;t||(t=Zh),e||(e=Zh);let r=Object.keys(t),s=Object.keys(e);if(r.length-0!=s.length-0)return!1;for(let n of r)if(n!=i&&(s.indexOf(n)==-1||t[n]!==e[n]))return!1;return!0}function f$(t,e){for(let i=t.attributes.length-1;i>=0;i--){let r=t.attributes[i].name;e[r]==null&&t.removeAttribute(r)}for(let i in e){let r=e[i];i=="style"?t.style.cssText=r:t.getAttribute(i)!=r&&t.setAttribute(i,r)}}function Km(t,e,i){let r=!1;if(e)for(let s in e)i&&s in i||(r=!0,s=="style"?t.style.cssText="":t.removeAttribute(s));if(i)for(let s in i)e&&e[s]==i[s]||(r=!0,s=="style"?t.style.cssText=i[s]:t.setAttribute(s,i[s]));return r}function d$(t){let e=Object.create(null);for(let i=0;i0?3e8:-4e8:i>0?1e8:-1e8,new Ds(e,i,i,r,e.widget||null,!1)}static replace(e){let i=!!e.block,r,s;if(e.isBlockGap)r=-5e8,s=4e8;else{let{start:n,end:o}=ky(e,i);r=(n?i?-3e8:-1:5e8)-1,s=(o?i?2e8:1:-6e8)+1}return new Ds(e,r,s,i,e.widget||null,!0)}static line(e){return new Xl(e)}static set(e,i=!1){return de.of(e,i)}hasHeight(){return this.widget?this.widget.estimatedHeight>-1:!1}}Se.none=de.empty;class Zl extends Se{constructor(e){let{start:i,end:r}=ky(e);super(i?-1:5e8,r?1:-6e8,null,e),this.tagName=e.tagName||"span",this.attrs=e.class&&e.attributes?Zg(e.attributes,{class:e.class}):e.class?{class:e.class}:e.attributes||Zh}eq(e){return this==e||e instanceof Zl&&this.tagName==e.tagName&&Xg(this.attrs,e.attrs)}range(e,i=e){if(e>=i)throw new RangeError("Mark decorations may not be empty");return super.range(e,i)}}Zl.prototype.point=!1;class Xl extends Se{constructor(e){super(-2e8,-2e8,null,e)}eq(e){return e instanceof Xl&&this.spec.class==e.spec.class&&Xg(this.spec.attributes,e.spec.attributes)}range(e,i=e){if(i!=e)throw new RangeError("Line decoration ranges must be zero-length");return super.range(e,i)}}Xl.prototype.mapMode=Pt.TrackBefore;Xl.prototype.point=!0;class Ds extends Se{constructor(e,i,r,s,n,o){super(i,r,n,e),this.block=s,this.isReplace=o,this.mapMode=s?i<=0?Pt.TrackBefore:Pt.TrackAfter:Pt.TrackDel}get type(){return this.startSide!=this.endSide?pi.WidgetRange:this.startSide<=0?pi.WidgetBefore:pi.WidgetAfter}get heightRelevant(){return this.block||!!this.widget&&(this.widget.estimatedHeight>=5||this.widget.lineBreaks>0)}eq(e){return e instanceof Ds&&p$(this.widget,e.widget)&&this.block==e.block&&this.startSide==e.startSide&&this.endSide==e.endSide}range(e,i=e){if(this.isReplace&&(e>i||e==i&&this.startSide>0&&this.endSide<=0))throw new RangeError("Invalid range for replacement decoration");if(!this.isReplace&&i!=e)throw new RangeError("Widget decorations can only have zero-length ranges");return super.range(e,i)}}Ds.prototype.point=!0;function ky(t,e=!1){let{inclusiveStart:i,inclusiveEnd:r}=t;return i==null&&(i=t.inclusive),r==null&&(r=t.inclusive),{start:i??e,end:r??e}}function p$(t,e){return t==e||!!(t&&e&&t.compare(e))}function vn(t,e,i,r=0){let s=i.length-1;s>=0&&i[s]+r>=t?i[s]=Math.max(i[s],e):i.push(t,e)}class vl extends ss{constructor(e,i,r){super(),this.tagName=e,this.attributes=i,this.rank=r}eq(e){return e==this||e instanceof vl&&this.tagName==e.tagName&&Xg(this.attributes,e.attributes)}static create(e){return new vl(e.tagName,e.attributes||Zh,e.rank==null?50:Math.max(0,Math.min(e.rank,100)))}static set(e,i=!1){return de.of(e,i)}}vl.prototype.startSide=vl.prototype.endSide=-1;function Sl(t){let e;return t.nodeType==11?e=t.getSelection?t:t.ownerDocument:e=t,e.getSelection()}function $d(t,e){return e?t==e||t.contains(e.nodeType!=1?e.parentNode:e):!1}function Yo(t,e){if(!e.anchorNode)return!1;try{return $d(t,e.anchorNode)}catch{return!1}}function eh(t){return t.nodeType==3?yl(t,0,t.nodeValue.length).getClientRects():t.nodeType==1?t.getClientRects():[]}function qo(t,e,i,r){return i?Jm(t,e,i,r,-1)||Jm(t,e,i,r,1):!1}function os(t){for(var e=0;;e++)if(t=t.previousSibling,!t)return e}function Xh(t){return t.nodeType==1&&/^(DIV|P|LI|UL|OL|BLOCKQUOTE|DD|DT|H\d|SECTION|PRE)$/.test(t.nodeName)}function Jm(t,e,i,r,s){for(;;){if(t==i&&e==r)return!0;if(e==(s<0?0:yr(t))){if(t.nodeName=="DIV")return!1;let n=t.parentNode;if(!n||n.nodeType!=1)return!1;e=os(t)+(s<0?0:1),t=n}else if(t.nodeType==1){if(t=t.childNodes[e+(s<0?-1:0)],t.nodeType==1&&t.contentEditable=="false")return!1;e=s<0?yr(t):0}else return!1}}function yr(t){return t.nodeType==3?t.nodeValue.length:t.childNodes.length}function Ih(t,e){let i=e?t.left:t.right;return{left:i,right:i,top:t.top,bottom:t.bottom}}function g$(t){let e=t.visualViewport;return e?{left:0,right:e.width,top:0,bottom:e.height}:{left:0,right:t.innerWidth,top:0,bottom:t.innerHeight}}function by(t,e){let i=e.width/t.offsetWidth,r=e.height/t.offsetHeight;return(i>.995&&i<1.005||!isFinite(i)||Math.abs(e.width-t.offsetWidth)<1)&&(i=1),(r>.995&&r<1.005||!isFinite(r)||Math.abs(e.height-t.offsetHeight)<1)&&(r=1),{scaleX:i,scaleY:r}}function O$(t,e,i,r,s,n,o,l){let a=t.ownerDocument,h=a.defaultView||window;for(let c=t,u=!1;c&&!u;)if(c.nodeType==1){let f,d=c==a.body,p=1,g=1;if(d)f=g$(h);else{if(/^(fixed|sticky)$/.test(getComputedStyle(c).position)&&(u=!0),c.scrollHeight<=c.clientHeight&&c.scrollWidth<=c.clientWidth){c=c.assignedSlot||c.parentNode;continue}let m=c.getBoundingClientRect();({scaleX:p,scaleY:g}=by(c,m)),f={left:m.left,right:m.left+c.clientWidth*p,top:m.top,bottom:m.top+c.clientHeight*g}}let v=0,O=0;if(s=="nearest")e.top0&&e.bottom>f.bottom+O&&(O=e.bottom-f.bottom+o)):e.bottom>f.bottom-o&&(O=e.bottom-f.bottom+o,i<0&&e.top-O0&&e.right>f.right+v&&(v=e.right-f.right+n)):e.right>f.right-n&&(v=e.right-f.right+n,i<0&&e.leftf.bottom||e.leftf.right)&&(e={left:Math.max(e.left,f.left),right:Math.min(e.right,f.right),top:Math.max(e.top,f.top),bottom:Math.min(e.bottom,f.bottom)}),c=c.assignedSlot||c.parentNode}else if(c.nodeType==11)c=c.host;else break}function xy(t,e=!0){let i=t.ownerDocument,r=null,s=null;for(let n=t.parentNode;n&&!(n==i.body||(!e||r)&&s);)if(n.nodeType==1)!s&&n.scrollHeight>n.clientHeight&&(s=n),e&&!r&&n.scrollWidth>n.clientWidth&&(r=n),n=n.assignedSlot||n.parentNode;else if(n.nodeType==11)n=n.host;else break;return{x:r,y:s}}class m${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:i,focusNode:r}=e;this.set(i,Math.min(e.anchorOffset,i?yr(i):0),r,Math.min(e.focusOffset,r?yr(r):0))}set(e,i,r,s){this.anchorNode=e,this.anchorOffset=i,this.focusNode=r,this.focusOffset=s}}let Os=null;N.safari&&N.safari_version>=26&&(Os=!1);function Cy(t){if(t.setActive)return t.setActive();if(Os)return t.focus(Os);let e=[];for(let i=t;i&&(e.push(i,i.scrollTop,i.scrollLeft),i!=i.ownerDocument);i=i.parentNode);if(t.focus(Os==null?{get preventScroll(){return Os={preventScroll:!0},!0}}:void 0),!Os){Os=!1;for(let i=0;iMath.max(0,t.document.documentElement.scrollHeight-t.innerHeight-4):t.scrollTop>Math.max(1,t.scrollHeight-t.clientHeight-4)}function $y(t,e){for(let i=t,r=e;;){if(i.nodeType==3&&r>0)return{node:i,offset:r};if(i.nodeType==1&&r>0){if(i.contentEditable=="false")return null;i=i.childNodes[r-1],r=yr(i)}else if(i.parentNode&&!Xh(i))r=os(i),i=i.parentNode;else return null}}function Qy(t,e){for(let i=t,r=e;;){if(i.nodeType==3&&r=i){if(l.level==r)return o;(n<0||(s!=0?s<0?l.fromi:e[n].level>l.level))&&(n=o)}}if(n<0)throw new RangeError("Index out of range");return n}}function Ry(t,e){if(t.length!=e.length)return!1;for(let i=0;i=0;g-=3)if(Li[g+1]==-d){let v=Li[g+2],O=v&2?s:v&4?v&1?n:s:0;O&&(me[u]=me[Li[g]]=O),l=g;break}}else{if(Li.length==189)break;Li[l++]=u,Li[l++]=f,Li[l++]=a}else if((p=me[u])==2||p==1){let g=p==s;a=g?0:1;for(let v=l-3;v>=0;v-=3){let O=Li[v+2];if(O&2)break;if(g)Li[v+2]|=2;else{if(O&4)break;Li[v+2]|=4}}}}}function x$(t,e,i,r){for(let s=0,n=r;s<=i.length;s++){let o=s?i[s-1].to:t,l=sa;)p==v&&(p=i[--g].from,v=g?i[g-1].to:t),me[--p]=d;a=c}else n=h,a++}}}function Td(t,e,i,r,s,n,o){let l=r%2?2:1;if(r%2==s%2)for(let a=e,h=0;aa&&o.push(new Yi(a,g.from,d));let v=g.direction==Bs!=!(d%2);Ed(t,v?r+1:r,s,g.inner,g.from,g.to,o),a=g.to}p=g.to}else{if(p==i||(c?me[p]!=l:me[p]==l))break;p++}f?Td(t,a,p,r+1,s,f,o):ae;){let c=!0,u=!1;if(!h||a>n[h-1].to){let g=me[a-1];g!=l&&(c=!1,u=g==16)}let f=!c&&l==1?[]:null,d=c?r:r+1,p=a;e:for(;;)if(h&&p==n[h-1].to){if(u)break e;let g=n[--h];if(!c)for(let v=g.from,O=h;;){if(v==e)break e;if(O&&n[O-1].to==v)v=n[--O].from;else{if(me[v-1]==l)break e;break}}if(f)f.push(g);else{g.tome.length;)me[me.length]=256;let r=[],s=e==Bs?0:1;return Ed(t,s,s,i,0,t.length,r),r}function Ay(t){return[new Yi(0,t,0)]}let My="";function P$(t,e,i,r,s){var n;let o=r.head-t.from,l=Yi.find(e,o,(n=r.bidiLevel)!==null&&n!==void 0?n:-1,r.assoc),a=e[l],h=a.side(s,i);if(o==h){let f=l+=s?1:-1;if(f<0||f>=e.length)return null;a=e[l=f],o=a.side(!s,i),h=a.side(s,i)}let c=vt(t.text,o,a.forward(s,i));(ca.to)&&(c=h),My=t.text.slice(Math.min(o,c),Math.max(o,c));let u=l==(s?e.length-1:0)?null:e[l+(s?1:-1)];return u&&c==h&&u.level+(s?0:1)t.some(e=>e)}),Q$=H.define({combine:t=>t.some(e=>e)}),Wy=H.define();class yn{constructor(e,i,r,s,n,o=!1){this.range=e,this.y=i,this.x=r,this.yMargin=s,this.xMargin=n,this.isSnapshot=o}map(e){return e.empty?this:new yn(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 yn(T.cursor(e.doc.length),this.y,this.x,this.yMargin,this.xMargin,this.isSnapshot)}}const va=Ce.define({map:(t,e)=>t.map(e)}),Ny=Ce.define();function qi(t,e,i){let r=t.facet(zy);r.length?r[0](e):window.onerror&&window.onerror(String(e),i,void 0,void 0,e)||(i?console.error(i+":",e):console.error(e))}const ar=H.define({combine:t=>t.length?t[0]:!0});let T$=0;const an=H.define({combine(t){return t.filter((e,i)=>{for(let r=0;r{let a=[];return o&&a.push(Lc.of(h=>{let c=h.plugin(l);return c?o(c):Se.none})),n&&a.push(n(l)),a})}static fromClass(e,i){return zs.define((r,s)=>new e(r,s),i)}}class Tu{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 i=this.mustUpdate;if(this.mustUpdate=null,this.value.update)try{this.value.update(i)}catch(r){if(qi(i.state,r,"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(i){qi(e.state,i,"CodeMirror plugin crashed"),this.deactivate()}return this}destroy(e){var i;if(!((i=this.value)===null||i===void 0)&&i.destroy)try{this.value.destroy()}catch(r){qi(e.state,r,"CodeMirror plugin crashed")}}deactivate(){this.spec=this.value=null}}const jy=H.define(),jg=H.define(),Lc=H.define(),Vy=H.define(),Vg=H.define(),Il=H.define(),Yy=H.define();function t_(t,e){let i=t.state.facet(Yy);if(!i.length)return i;let r=i.map(n=>n instanceof Function?n(t):n),s=[];return de.spans(r,e.from,e.to,{point(){},span(n,o,l,a){let h=n-e.from,c=o-e.from,u=s;for(let f=l.length-1;f>=0;f--,a--){let d=l[f].spec.bidiIsolate,p;if(d==null&&(d=$$(e.text,h,c)),a>0&&u.length&&(p=u[u.length-1]).to==h&&p.direction==d)p.to=c,u=p.inner;else{let g={from:h,to:c,direction:d,inner:[]};u.push(g),u=g.inner}}}}),s}const qy=H.define();function Fy(t){let e=0,i=0,r=0,s=0;for(let n of t.state.facet(qy)){let o=n(t);o&&(o.left!=null&&(e=Math.max(e,o.left)),o.right!=null&&(i=Math.max(i,o.right)),o.top!=null&&(r=Math.max(r,o.top)),o.bottom!=null&&(s=Math.max(s,o.bottom)))}return{left:e,right:i,top:r,bottom:s}}const Po=H.define();class ci{constructor(e,i,r,s){this.fromA=e,this.toA=i,this.fromB=r,this.toB=s}join(e){return new ci(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 i=e.length,r=this;for(;i>0;i--){let s=e[i-1];if(!(s.fromA>r.toA)){if(s.toAs.push(new ci(n,o,l,a))),this.changedRanges=s}static create(e,i,r){return new Wh(e,i,r)}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}}const E$=[];class Le{constructor(e,i,r=0){this.dom=e,this.length=i,this.flags=r,this.parent=null,e.cmTile=this}get breakAfter(){return this.flags&1}get children(){return E$}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 i=this.domAttrs;i&&f$(this.dom,i)}}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,i=this.posAtStart){let r=i;for(let s of this.children){if(s==e)return r;r+=s.length+s.breakAfter}throw new RangeError("Invalid child in posBefore")}posAfter(e){return this.posBefore(e)+e.length}covers(e){return!0}coordsIn(e,i){return null}domPosFor(e,i){let r=os(this.dom),s=this.length?e>0:i>0;return new Ci(this.parent.dom,r+(s?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 Bc)return e;return null}static get(e){return e.cmTile}}class Dc extends Le{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 i=this.dom,r=null,s,n=(e==null?void 0:e.node)==i?e:null,o=0;for(let l of this.children){if(l.sync(e),o+=l.length+l.breakAfter,s=r?r.nextSibling:i.firstChild,n&&s!=l.dom&&(n.written=!0),l.dom.parentNode==i)for(;s&&s!=l.dom;)s=i_(s);else i.insertBefore(l.dom,s);r=l.dom}for(s=r?r.nextSibling:i.firstChild,n&&s&&(n.written=!0);s;)s=i_(s);this.length=o}}function i_(t){let e=t.nextSibling;return t.parentNode.removeChild(t),e}class Bc extends Dc{constructor(e,i){super(i),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 i=Le.get(e);if(i&&this.owns(i))return i;e=e.parentNode}}blockTiles(e){for(let i=[],r=this,s=0,n=0;;)if(s==r.children.length){if(!i.length)return;r=r.parent,r.breakAfter&&n++,s=i.pop()}else{let o=r.children[s++];if(o instanceof pr)i.push(s),r=o,s=0;else{let l=n+o.length,a=e(o,n);if(a!==void 0)return a;n=l+o.breakAfter}}}resolveBlock(e,i){let r,s=-1,n,o=-1;if(this.blockTiles((l,a)=>{let h=a+l.length;if(e>=a&&e<=h){if(l.isWidget()&&i>=-1&&i<=1){if(l.flags&32)return!0;l.flags&16&&(r=void 0)}(ae||e==a&&(i>1?l.length:l.covers(-1)))&&(!n||!l.isWidget()&&n.isWidget())&&(n=l,o=e-a)}}),!r&&!n)throw new Error("No tile at position "+e);return r&&i<0||!n?{tile:r,offset:s}:{tile:n,offset:o}}}class pr extends Dc{constructor(e,i){super(e),this.wrapper=i}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,i){let r=new pr(i||document.createElement(e.tagName),e);return i||(r.flags|=4),r}}class An extends Dc{constructor(e,i){super(e),this.attrs=i}isLine(){return!0}static start(e,i,r){let s=new An(i||document.createElement("div"),e);return(!i||!r)&&(s.flags|=4),s}get domAttrs(){return this.attrs}resolveInline(e,i,r){let s=null,n=-1,o=null,l=-1;function a(c,u){for(let f=0,d=0;f=u&&(p.isComposite()?a(p,u-d):(!o||o.isHidden&&(i>0||r&&A$(o,p)))&&(g>u||p.flags&32)?(o=p,l=u-d):(dr&&(e=r);let s=e,n=e,o=0;e==0&&i<0||e==r&&i>=0?N.chrome||N.gecko||(e?(s--,o=1):n=0)?0:l.length-1];return N.safari&&!o&&a.width==0&&(a=Array.prototype.find.call(l,h=>h.width)||a),o?Ih(a,o<0):a||null}static of(e,i){let r=new Cs(i||document.createTextNode(e),e);return i||(r.flags|=2),r}}class Zs extends Le{constructor(e,i,r,s){super(e,i,s),this.widget=r}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,i){return this.coordsInWidget(e,i,!1)}coordsInWidget(e,i,r){let s=this.widget.coordsAt(this.dom,e,i);if(s)return s;if(r)return Ih(this.dom.getBoundingClientRect(),this.length?e==0:i<=0);{let n=this.dom.getClientRects(),o=null;if(!n.length)return null;let l=this.flags&16?!0:this.flags&32?!1:e>0;for(let a=l?n.length-1:0;o=n[a],!(e>0?a==0:a==n.length-1||o.top0;)if(s.isComposite())if(o){if(!e)break;r&&r.break(),e--,o=!1}else if(n==s.children.length){if(!e&&!l.length)break;r&&r.leave(s),o=!!s.breakAfter,{tile:s,index:n}=l.pop(),n++}else{let a=s.children[n],h=a.breakAfter;(i>0?a.length<=e:a.length=0;l--){let a=i.marks[l],h=s.lastChild;if(h instanceof Bt&&h.mark.eq(a.mark))h.dom!=a.dom&&h.setDOM(Eu(a.dom)),s=h;else{if(this.cache.reused.get(a)){let u=Le.get(a.dom);u&&u.setDOM(Eu(a.dom))}let c=Bt.of(a.mark,a.dom);s.append(c),s=c}this.cache.reused.set(a,2)}let n=Le.get(e.text);n&&this.cache.reused.set(n,2);let o=new Cs(e.text,e.text.nodeValue);o.flags|=8,this.pos=e.range.toB,s.append(o)}addInlineWidget(e,i,r){let s=this.afterWidget&&e.flags&48&&(this.afterWidget.flags&48)==(e.flags&48);s||this.flushBuffer();let n=this.ensureMarks(i,r);!s&&!(e.flags&16)&&n.append(this.getBuffer(1)),n.append(e),this.pos+=e.length,this.afterWidget=e}addMark(e,i,r){this.flushBuffer(),this.ensureMarks(i,r).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 i=this.afterWidget||this.lastBlock;i.length+=e,this.pos+=e}addLineStart(e,i){var r;e||(e=Hy);let s=An.start(e,i||((r=this.cache.find(An))===null||r===void 0?void 0:r.dom),!!i);this.getBlockPos().append(this.lastBlock=this.curLine=s)}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,i){var r;let s=this.curLine;for(let n=e.length-1;n>=0;n--){let o=e[n],l;if(i>0&&(l=s.lastChild)&&l instanceof Bt&&l.mark.eq(o))s=l,i--;else{let a=Bt.of(o,(r=this.cache.find(Bt,h=>h.mark.eq(o)))===null||r===void 0?void 0:r.dom);s.append(a),s=a,i=0}}return s}endLine(){if(this.curLine){this.flushBuffer();let e=this.curLine.lastChild;(!e||!r_(this.curLine,!1)||e.dom.nodeName!="BR"&&e.isWidget()&&!(N.ios&&r_(this.curLine,!0)))&&this.curLine.append(this.cache.findWidget(Ru,0,32)||new Zs(Ru.toDOM(),0,Ru,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){let i=e.rank*102+e.value.rank,r=new L$(e.from,e.to,e.value,i),s=this.wrappers.length;for(;s>0&&(this.wrappers[s-1].rank-r.rank||this.wrappers[s-1].to-r.to)<0;)s--;this.wrappers.splice(s,0,r)}this.wrapperPos=this.pos}getBlockPos(){var e;this.updateBlockWrappers();let i=this.root;for(let r of this.wrappers){let s=i.lastChild;if(r.fromo.wrapper.eq(r.wrapper)))===null||e===void 0?void 0:e.dom);i.append(n),i=n}}return i}blockPosCovered(){let e=this.lastBlock;return e!=null&&!e.breakAfter&&(!e.isWidget()||(e.flags&160)>0)}getBuffer(e){let i=2|(e<0?16:32),r=this.cache.find(Nh,void 0,1);return r&&(r.flags=i),r||new Nh(i)}flushBuffer(){this.afterWidget&&!(this.afterWidget.flags&32)&&(this.afterWidget.parent.append(this.getBuffer(-1)),this.afterWidget=null)}}class B${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:s,lineBreak:n,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=s;let l=this.textOff=Math.min(e,s.length);return n?null:s.slice(0,l)}let i=Math.min(this.text.length,this.textOff+e),r=this.text.slice(this.textOff,i);return this.textOff=i,r}}const jh=[Zs,An,Cs,Bt,Nh,pr,Bc];for(let t=0;t[]),this.index=jh.map(()=>0),this.reused=new Map}add(e){let i=e.constructor.bucket,r=this.buckets[i];r.length<6?r.push(e):r[this.index[i]=(this.index[i]+1)%6]=e}find(e,i,r=2){let s=e.bucket,n=this.buckets[s],o=this.index[s];for(let l=n.length-1;l>=0;l--){let a=(l+o)%n.length,h=n[a];if((!i||i(h))&&!this.reused.has(h))return n.splice(a,1),a{if(this.cache.add(o),o.isComposite())return!1},enter:o=>this.cache.add(o),leave:()=>{},break:()=>{}}}run(e,i){let r=i&&this.getCompositionContext(i.text);for(let s=0,n=0,o=0;;){let l=os){let h=a-s;this.preserve(h,!o,!l),s=a,n+=h}if(!l)break;i&&l.fromA<=i.range.fromA&&l.toA>=i.range.toA?(this.forward(l.fromA,i.range.fromA,i.range.fromA{if(o.isWidget())if(this.openWidget)this.builder.continueWidget(a-l);else{let h=a>0||l{o.isLine()?this.builder.addLineStart(o.attrs,this.cache.maybeReuse(o)):(this.cache.add(o),o instanceof Bt&&s.unshift(o.mark)),this.openWidget=!1},leave:o=>{o.isLine()?s.length&&(s.length=n=0):o instanceof Bt&&(s.shift(),n=Math.min(n,s.length))},break:()=>{this.builder.addBreak(),this.openWidget=!1}}),this.text.skip(e)}emit(e,i){let r=null,s=this.builder,n=0,o=de.spans(this.decorations,e,i,{point:(l,a,h,c,u,f)=>{if(h instanceof Ds){if(this.disallowBlockEffectsFor[f]){if(h.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(n=c.length,u>c.length)s.continueWidget(a-l);else{let d=h.widget||(h.block?Mn.block:Mn.inline),p=X$(h),g=this.cache.findWidget(d,a-l,p)||Zs.of(d,this.view,a-l,p);h.block?(h.startSide>0&&s.addLineStartIfNotCovered(r),s.addBlockWidget(g)):(s.ensureLine(r),s.addInlineWidget(g,c,u))}r=null}else r=I$(r,h);a>l&&this.text.skip(a-l)},span:(l,a,h,c)=>{for(let u=l;un,this.openMarks=o}forward(e,i,r=1){i-e<=10?this.old.advance(i-e,r,this.reuseWalker):(this.old.advance(5,-1,this.reuseWalker),this.old.advance(i-e-10,-1),this.old.advance(5,r,this.reuseWalker))}getCompositionContext(e){let i=[],r=null;for(let s=e.parentNode;;s=s.parentNode){let n=Le.get(s);if(s==this.view.contentDOM)break;n instanceof Bt?i.push(n):n!=null&&n.isLine()?r=n:n instanceof pr||(s.nodeName=="DIV"&&!r&&s!=this.view.contentDOM?r=new An(s,Hy):r||i.push(Bt.of(new Zl({tagName:s.nodeName.toLowerCase(),attributes:d$(s)}),s)))}return{line:r,marks:i}}}function r_(t,e){let i=r=>{for(let s of r.children)if((e?s.isText():s.length)||i(s))return!0;return!1};return i(t)}function X$(t){let e=t.isReplace?(t.startSide<0?64:0)|(t.endSide>0?128:0):t.startSide>0?32:16;return t.block&&(e|=256),e}const Hy={class:"cm-line"};function I$(t,e){let i=e.spec.attributes,r=e.spec.class;return!i&&!r||(t||(t={class:"cm-line"}),i&&Zg(i,t),r&&(t.class+=" "+r)),t}function W$(t){let e=[];for(let i=t.parents.length;i>1;i--){let r=i==t.parents.length?t.tile:t.parents[i].tile;r instanceof Bt&&e.push(r.mark)}return e}function Eu(t){let e=Le.get(t);return e&&e.setDOM(t.cloneNode()),t}class Mn extends zl{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}}Mn.inline=new Mn("span");Mn.block=new Mn("div");const Ru=new class extends zl{toDOM(){return document.createElement("br")}get isHidden(){return!0}get editable(){return!0}};class s_{constructor(e){this.view=e,this.decorations=[],this.blockWrappers=[],this.dynamicDecorationMap=[!1],this.domChanged=null,this.hasComposition=null,this.editContextFormatting=Se.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 Bc(e,e.contentDOM),this.updateInner([new ci(0,0,0,e.state.doc.length)],null)}update(e){var i;let r=e.changedRanges;this.minWidth>0&&r.length&&(r.every(({fromA:c,toA:u})=>uthis.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 s=-1;this.view.inputState.composing>=0&&!this.view.observer.editContext&&(!((i=this.domChanged)===null||i===void 0)&&i.newSel?s=this.domChanged.newSel.head:!G$(e.changes,this.hasComposition)&&!e.selectionSet&&(s=e.state.selection.main.head));let n=s>-1?j$(this.view,e.changes,s):null;if(this.domChanged=null,this.hasComposition){let{from:c,to:u}=this.hasComposition;r=new ci(c,u,e.changes.mapPos(c,-1),e.changes.mapPos(u,1)).addToSet(r.slice())}this.hasComposition=n?{from:n.range.fromB,to:n.range.toB}:null,(N.ie||N.chrome)&&!n&&e&&e.state.doc.lines!=e.startState.doc.lines&&(this.forceSelection=!0);let o=this.decorations,l=this.blockWrappers;this.updateDeco();let a=q$(o,this.decorations,e.changes);a.length&&(r=ci.extendWithRanges(r,a));let h=H$(l,this.blockWrappers,e.changes);return h.length&&(r=ci.extendWithRanges(r,h)),n&&!r.some(c=>c.fromA<=n.range.fromA&&c.toA>=n.range.toA)&&(r=n.range.addToSet(r.slice())),this.tile.flags&2&&r.length==0?!1:(this.updateInner(r,n),e.transactions.length&&(this.lastUpdate=Date.now()),!0)}updateInner(e,i){this.view.viewState.mustMeasureContent=!0;let{observer:r}=this.view;r.ignore(()=>{if(i||e.length){let o=this.tile,l=new Z$(this.view,o,this.blockWrappers,this.decorations,this.dynamicDecorationMap);i&&Le.get(i.text)&&l.cache.reused.set(Le.get(i.text),2),this.tile=l.run(e,i),Ad(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 n=N.chrome||N.ios?{node:r.selectionRange.focusNode,written:!1}:void 0;this.tile.sync(n),n&&(n.written||r.selectionRange.focusNode!=n.node||!this.tile.dom.contains(n.node))&&(this.forceSelection=!0),this.tile.dom.style.height=""});let s=[];if(this.view.viewport.from||this.view.viewport.to-1)&&Yo(r,this.view.observer.selectionRange)&&!(s&&r.contains(s));if(!(n||i||o))return;let l=this.forceSelection;this.forceSelection=!1;let a=this.view.state.selection.main,h,c;if(a.empty?c=h=this.inlineDOMNearPos(a.anchor,a.assoc||1):(c=this.inlineDOMNearPos(a.head,a.head==a.from?1:-1),h=this.inlineDOMNearPos(a.anchor,a.anchor==a.from?1:-1)),N.gecko&&a.empty&&!this.hasComposition&&N$(h)){let f=document.createTextNode("");this.view.observer.ignore(()=>h.node.insertBefore(f,h.node.childNodes[h.offset]||null)),h=c=new Ci(f,0),l=!0}let u=this.view.observer.selectionRange;(l||!u.focusNode||(!qo(h.node,h.offset,u.anchorNode,u.anchorOffset)||!qo(c.node,c.offset,u.focusNode,u.focusOffset))&&!this.suppressWidgetCursorChange(u,a))&&(this.view.observer.ignore(()=>{N.android&&N.chrome&&r.contains(u.focusNode)&&U$(u.focusNode,r)&&(r.blur(),r.focus({preventScroll:!0}));let f=Sl(this.view.root);if(f)if(a.empty){if(N.gecko){let d=V$(h.node,h.offset);if(d&&d!=3){let p=(d==1?$y:Qy)(h.node,h.offset);p&&(h=new Ci(p.node,p.offset))}}f.collapse(h.node,h.offset),a.bidiLevel!=null&&f.caretBidiLevel!==void 0&&(f.caretBidiLevel=a.bidiLevel)}else if(f.extend){f.collapse(h.node,h.offset);try{f.extend(c.node,c.offset)}catch{}}else{let d=document.createRange();a.anchor>a.head&&([h,c]=[c,h]),d.setEnd(c.node,c.offset),d.setStart(h.node,h.offset),f.removeAllRanges(),f.addRange(d)}o&&this.view.root.activeElement==r&&(r.blur(),s&&s.focus())}),this.view.observer.setSelectionRange(h,c)),this.impreciseAnchor=h.precise?null:new Ci(u.anchorNode,u.anchorOffset),this.impreciseHead=c.precise?null:new Ci(u.focusNode,u.focusOffset)}suppressWidgetCursorChange(e,i){return this.hasComposition&&i.empty&&qo(e.focusNode,e.focusOffset,e.anchorNode,e.anchorOffset)&&this.posFromDOM(e.focusNode,e.focusOffset)==i.head}enforceCursorAssoc(){if(this.hasComposition)return;let{view:e}=this,i=e.state.selection.main,r=Sl(e.root),{anchorNode:s,anchorOffset:n}=e.observer.selectionRange;if(!r||!i.empty||!i.assoc||!r.modify)return;let o=this.lineAt(i.head,i.assoc);if(!o)return;let l=o.posAtStart;if(i.head==l||i.head==l+o.length)return;let a=this.coordsAt(i.head,-1),h=this.coordsAt(i.head,1);if(!a||!h||a.bottom>h.top)return;let c=this.domAtPos(i.head+i.assoc,i.assoc);r.collapse(c.node,c.offset),r.modify("move",i.assoc<0?"forward":"backward","lineboundary"),e.observer.readSelectionRange();let u=e.observer.selectionRange;e.docView.posFromDOM(u.anchorNode,u.anchorOffset)!=i.from&&r.collapse(s,n)}posFromDOM(e,i){let r=this.tile.nearest(e);if(!r)return this.tile.dom.compareDocumentPosition(e)&2?0:this.view.state.doc.length;let s=r.posAtStart;if(r.isComposite()){let n;if(e==r.dom)n=r.dom.childNodes[i];else{let o=yr(e)==0?0:i==0?-1:1;for(;;){let l=e.parentNode;if(l==r.dom)break;o==0&&l.firstChild!=l.lastChild&&(e==l.firstChild?o=-1:o=1),e=l}o<0?n=e:n=e.nextSibling}if(n==r.dom.firstChild)return s;for(;n&&!Le.get(n);)n=n.nextSibling;if(!n)return s+r.length;for(let o=0,l=s;;o++){let a=r.children[o];if(a.dom==n)return l;l+=a.length+a.breakAfter}}else return r.isText()?e==r.dom?s+i:s+(i?r.length:0):s}domAtPos(e,i){let{tile:r,offset:s}=this.tile.resolveBlock(e,i);return r.isWidget()?r.domPosFor(e,i):r.domIn(s,i)}inlineDOMNearPos(e,i){let r,s=-1,n=!1,o,l=-1,a=!1;return this.tile.blockTiles((h,c)=>{if(h.isWidget()){if(h.flags&32&&c>=e)return!0;h.flags&16&&(n=!0)}else{let u=c+h.length;if(c<=e&&(r=h,s=e-c,n=u=e&&!o&&(o=h,l=e-c,a=c>e),c>e&&o)return!0}}),!r&&!o?this.domAtPos(e,i):(n&&o?r=null:a&&r&&(o=null),r&&i<0||!o?r.domIn(s,i):o.domIn(l,i))}coordsAt(e,i){let{tile:r,offset:s}=this.tile.resolveBlock(e,i);return r.isWidget()?r.widget instanceof Au?null:r.coordsInWidget(s,i,!0):r.coordsIn(s,i)}lineAt(e,i){let{tile:r}=this.tile.resolveBlock(e,i);return r.isLine()?r:null}coordsForChar(e){let{tile:i,offset:r}=this.tile.resolveBlock(e,1);if(!i.isLine())return null;function s(n,o){if(n.isComposite())for(let l of n.children){if(l.length>=o){let a=s(l,o);if(a)return a}if(o-=l.length,o<0)break}else if(n.isText()&&oMath.max(this.view.scrollDOM.clientWidth,this.minWidth)+1,l=-1,a=this.view.textDirection==Ye.LTR,h=0,c=(u,f,d)=>{for(let p=0;ps);p++){let g=u.children[p],v=f+g.length,O=g.dom.getBoundingClientRect(),{height:m}=O;if(d&&!p&&(h+=O.top-d.top),g instanceof pr)v>r&&c(g,f,O);else if(f>=r&&(h>0&&i.push(-h),i.push(m+h),h=0,o)){let _=g.dom.lastChild,S=_?eh(_):[];if(S.length){let y=S[S.length-1],k=a?y.right-O.left:O.right-y.left;k>l&&(l=k,this.minWidth=n,this.minWidthFrom=f,this.minWidthTo=v)}}d&&p==u.children.length-1&&(h+=d.bottom-O.bottom),f=v+g.breakAfter}};return c(this.tile,0,null),i}textDirectionAt(e){let{tile:i}=this.tile.resolveBlock(e,1);return getComputedStyle(i.dom).direction=="rtl"?Ye.RTL:Ye.LTR}measureTextSize(){let e=this.tile.blockTiles(o=>{if(o.isLine()&&o.children.length&&o.length<=20){let l=0,a;for(let h of o.children){if(!h.isText()||/[^ -~]/.test(h.text))return;let c=eh(h.dom);if(c.length!=1)return;l+=c[0].width,a=c[0].height}if(l)return{lineHeight:o.dom.getBoundingClientRect().height,charWidth:l/o.length,textHeight:a}}});if(e)return e;let i=document.createElement("div"),r,s,n;return i.className="cm-line",i.style.width="99999px",i.style.position="absolute",i.textContent="abc def ghi jkl mno pqr stu",this.view.observer.ignore(()=>{this.tile.dom.appendChild(i);let o=eh(i.firstChild)[0];r=i.getBoundingClientRect().height,s=o&&o.width?o.width/27:7,n=o&&o.height?o.height:r,i.remove()}),{lineHeight:r,charWidth:s,textHeight:n}}computeBlockGapDeco(){let e=[],i=this.view.viewState;for(let r=0,s=0;;s++){let n=s==i.viewports.length?null:i.viewports[s],o=n?n.from-1:this.view.state.doc.length;if(o>r){let l=(i.lineBlockAt(o).bottom-i.lineBlockAt(r).top)/this.view.scaleY;e.push(Se.replace({widget:new Au(l),block:!0,inclusive:!0,isBlockGap:!0}).range(r,o))}if(!n)break;r=n.to+1}return Se.set(e)}updateDeco(){let e=1,i=this.view.state.facet(Lc).map(n=>(this.dynamicDecorationMap[e++]=typeof n=="function")?n(this.view):n),r=!1,s=this.view.state.facet(Vg).map((n,o)=>{let l=typeof n=="function";return l&&(r=!0),l?n(this.view):n});for(s.length&&(this.dynamicDecorationMap[e++]=r,i.push(de.join(s))),this.decorations=[this.editContextFormatting,...i,this.computeBlockGapDeco(),this.view.viewState.lineGapDeco];etypeof n=="function"?n(this.view):n)}scrollIntoView(e){var i;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(Wy))try{if(c(this.view,e.range,e))return!0}catch(u){qi(this.view.state,u,"scroll handler")}let{range:r}=e,s=this.coordsAt(r.head,(i=r.assoc)!==null&&i!==void 0?i:r.empty?0:r.head>r.anchor?-1:1),n;if(!s)return;!r.empty&&(n=this.coordsAt(r.anchor,r.anchor>r.head?-1:1))&&(s={left:Math.min(s.left,n.left),top:Math.min(s.top,n.top),right:Math.max(s.right,n.right),bottom:Math.max(s.bottom,n.bottom)});let o=Fy(this.view),l={left:s.left-o.left,top:s.top-o.top,right:s.right+o.right,bottom:s.bottom+o.bottom},{offsetWidth:a,offsetHeight:h}=this.view.scrollDOM;if(O$(this.view.scrollDOM,l,r.head1&&(s.top>window.pageYOffset+window.visualViewport.offsetTop+window.visualViewport.height||s.bottomr.isWidget()||r.children.some(i);return i(this.tile.resolveBlock(e,1).tile)}destroy(){Ad(this.tile)}}function Ad(t,e){let i=e==null?void 0:e.get(t);if(i!=1){i==null&&t.destroy();for(let r of t.children)Ad(r,e)}}function N$(t){return t.node.nodeType==1&&t.node.firstChild&&(t.offset==0||t.node.childNodes[t.offset-1].contentEditable=="false")&&(t.offset==t.node.childNodes.length||t.node.childNodes[t.offset].contentEditable=="false")}function Uy(t,e){let i=t.observer.selectionRange;if(!i.focusNode)return null;let r=$y(i.focusNode,i.focusOffset),s=Qy(i.focusNode,i.focusOffset),n=r||s;if(s&&r&&s.node!=r.node){let l=Le.get(s.node);if(!l||l.isText()&&l.text!=s.node.nodeValue)n=s;else if(t.docView.lastCompositionAfterCursor){let a=Le.get(r.node);!a||a.isText()&&a.text!=r.node.nodeValue||(n=s)}}if(t.docView.lastCompositionAfterCursor=n!=r,!n)return null;let o=e-n.offset;return{from:o,to:o+n.node.nodeValue.length,node:n.node}}function j$(t,e,i){let r=Uy(t,i);if(!r)return null;let{node:s,from:n,to:o}=r,l=s.nodeValue;if(/[\n\r]/.test(l)||t.state.doc.sliceString(r.from,r.to)!=l)return null;let a=e.invertedDesc;return{range:new ci(a.mapPos(n),a.mapPos(o),n,o),text:s}}function V$(t,e){return t.nodeType!=1?0:(e&&t.childNodes[e-1].contentEditable=="false"?1:0)|(e{re.from&&(i=!0)}),i}class Au extends zl{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 K$(t,e,i=1){let r=t.charCategorizer(e),s=t.doc.lineAt(e),n=e-s.from;if(s.length==0)return T.cursor(e);n==0?i=1:n==s.length&&(i=-1);let o=n,l=n;i<0?o=vt(s.text,n,!1):l=vt(s.text,n);let a=r(s.text.slice(o,l));for(;o>0;){let h=vt(s.text,o,!1);if(r(s.text.slice(h,o))!=a)break;o=h}for(;lt.defaultLineHeight*1.5){let l=t.viewState.heightOracle.textHeight,a=Math.floor((s-i.top-(t.defaultLineHeight-l)*.5)/l);n+=a*t.viewState.heightOracle.lineLength}let o=t.state.sliceDoc(i.from,i.to);return i.from+o$(o,n,t.state.tabSize)}function e2(t,e,i){let r=t.lineBlockAt(e);if(Array.isArray(r.type)){let s;for(let n of r.type){if(n.from>e)break;if(!(n.toe)return n;(!s||n.type==pi.Text&&(s.type!=n.type||(i<0?n.frome)))&&(s=n)}}return s||r}return r}function t2(t,e,i,r){let s=e2(t,e.head,e.assoc||-1),n=!r||s.type!=pi.Text||!(t.lineWrapping||s.widgetLineBreaks)?null:t.coordsAtPos(e.assoc<0&&e.head>s.from?e.head-1:e.head);if(n){let o=t.dom.getBoundingClientRect(),l=t.textDirectionAt(s.from),a=t.posAtCoords({x:i==(l==Ye.LTR)?o.right-1:o.left+1,y:(n.top+n.bottom)/2});if(a!=null)return T.cursor(a,i?-1:1)}return T.cursor(i?s.to:s.from,i?-1:1)}function n_(t,e,i,r){let s=t.state.doc.lineAt(e.head),n=t.bidiSpans(s),o=t.textDirectionAt(s.from);for(let l=e,a=null;;){let h=P$(s,n,o,l,i),c=My;if(!h){if(s.number==(i?t.state.doc.lines:1))return l;c=` -`,s=t.state.doc.line(s.number+(i?1:-1)),n=t.bidiSpans(s),h=t.visualLineSide(s,!i)}if(a){if(!a(c))return l}else{if(!r)return h;a=r(c)}l=h}}function i2(t,e,i){let r=t.state.charCategorizer(e),s=r(i);return n=>{let o=r(n);return s==ur.Space&&(s=o),s==o}}function r2(t,e,i,r){let s=e.head,n=i?1:-1;if(s==(i?t.state.doc.length:0))return T.cursor(s,e.assoc);let o=e.goalColumn,l,a=t.contentDOM.getBoundingClientRect(),h=t.coordsAtPos(s,e.assoc||((e.empty?i:e.head==e.from)?1:-1)),c=t.documentTop;if(h)o==null&&(o=h.left-a.left),l=n<0?h.top:h.bottom;else{let p=t.viewState.lineBlockAt(s);o==null&&(o=Math.min(a.right-a.left,t.defaultCharacterWidth*(s-p.from))),l=(n<0?p.top:p.bottom)+c}let u=a.left+o,f=t.viewState.heightOracle.textHeight>>1,d=r??f;for(let p=0;;p+=f){let g=l+(d+p)*n,v=Md(t,{x:u,y:g},!1,n);if(i?g>a.bottom:gl:m{if(e>n&&es(t)),i.from,e.head>i.from?-1:1);return r==i.from?i:T.cursor(r,rt.viewState.docHeight)return new Vi(t.state.doc.length,-1);if(h=t.elementAtHeight(a),r==null)break;if(h.type==pi.Text){if(r<0?h.tot.viewport.to)break;let f=t.docView.coordsAt(r<0?h.from:h.to,r>0?-1:1);if(f&&(r<0?f.top<=a+n:f.bottom>=a+n))break}let u=t.viewState.heightOracle.textHeight/2;a=r>0?h.bottom+u:h.top-u}if(t.viewport.from>=h.to||t.viewport.to<=h.from){if(i)return null;if(h.type==pi.Text){let u=J$(t,s,h,o,l);return new Vi(u,u==h.from?1:-1)}}if(h.type!=pi.Text)return a<(h.top+h.bottom)/2?new Vi(h.from,1):new Vi(h.to,-1);let c=t.docView.lineAt(h.from,2);return(!c||c.length!=h.length)&&(c=t.docView.lineAt(h.from,-2)),new s2(t,o,l,t.textDirectionAt(h.from)).scanTile(c,h.from)}class s2{constructor(e,i,r,s){this.view=e,this.x=i,this.y=r,this.baseDir=s,this.line=null,this.spans=null}bidiSpansAt(e){return(!this.line||this.line.from>e||this.line.to1||r.length&&(r[0].level!=this.baseDir||r[0].to+s.from>1;t:if(o.has(g)){let O=s+Math.floor(Math.random()*p);for(let m=0;m1)){if(m.bottomthis.y)(!h||h.top>m.top)&&(h=m),_=-1;else{let S=m.left>this.x?this.x-m.left:m.right(p+p+g)/3)return this.y=a.bottom-1,this.scan(e,i,!0);if(h&&h.top<(p+g+g)/3)return this.y=h.top+1,this.scan(e,i,!0)}let d=(l?this.dirAt(e[c],1):this.baseDir)==Ye.LTR;return{i:c,after:this.x>(f.left+f.right)/2==d}}scanText(e,i){let r=[];for(let n=0;n{let o=r[n]-i,l=r[n+1]-i;return yl(e.dom,o,l).getClientRects()});return s.after?new Vi(r[s.i+1],-1):new Vi(r[s.i],1)}scanTile(e,i){if(!e.length)return new Vi(i,1);if(e.children.length==1){let l=e.children[0];if(l.isText())return this.scanText(l,i);if(l.isComposite())return this.scanTile(l,i)}let r=[i];for(let l=0,a=i;l{let a=e.children[l];return a.flags&48?null:(a.dom.nodeType==1?a.dom:yl(a.dom,0,a.length)).getClientRects()}),n=e.children[s.i],o=r[s.i];return n.isText()?this.scanText(n,o):n.isComposite()?this.scanTile(n,o):s.after?new Vi(r[s.i+1],-1):new Vi(o,1)}}const Fs="￿";class n2{constructor(e,i){this.points=e,this.view=i,this.text="",this.lineSeparator=i.state.facet(le.lineSeparator)}append(e){this.text+=e}lineBreak(){this.text+=Fs}readRange(e,i){if(!e)return this;let r=e.parentNode;for(let s=e;;){this.findPointBefore(r,s);let n=this.text.length;this.readNode(s);let o=Le.get(s),l=s.nextSibling;if(l==i){o!=null&&o.breakAfter&&!l&&r!=this.view.contentDOM&&this.lineBreak();break}let a=Le.get(l);(o&&a?o.breakAfter:(o?o.breakAfter:Xh(s))||Xh(l)&&(s.nodeName!="BR"||o!=null&&o.isWidget())&&this.text.length>n)&&!l2(l,i)&&this.lineBreak(),s=l}return this.findPointBefore(r,i),this}readTextNode(e){let i=e.nodeValue;for(let r of this.points)r.node==e&&(r.pos=this.text.length+Math.min(r.offset,i.length));for(let r=0,s=this.lineSeparator?null:/\r\n?|\n/g;;){let n=-1,o=1,l;if(this.lineSeparator?(n=i.indexOf(this.lineSeparator,r),o=this.lineSeparator.length):(l=s.exec(i))&&(n=l.index,o=l[0].length),this.append(i.slice(r,n<0?i.length:n)),n<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);r=n+o}}readNode(e){let i=Le.get(e),r=i&&i.overrideDOMText;if(r!=null){this.findPointInside(e,r.length);for(let s=r.iter();!s.next().done;)s.lineBreak?this.lineBreak():this.append(s.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,i){for(let r of this.points)r.node==e&&e.childNodes[r.offset]==i&&(r.pos=this.text.length)}findPointInside(e,i){for(let r of this.points)(e.nodeType==3?r.node==e:e.contains(r.node))&&(r.pos=this.text.length+(o2(e,r.node,r.offset)?i:0))}}function o2(t,e,i){for(;;){if(!e||i-1;let{impreciseHead:n,impreciseAnchor:o}=e.docView,l=e.state.selection;if(e.state.readOnly&&i>-1)this.newSel=null;else if(i>-1&&(this.bounds=Ky(e.docView.tile,i,r,0))){let a=n||o?[]:c2(e),h=new n2(a,e);h.readRange(this.bounds.startDOM,this.bounds.endDOM),this.text=h.text,this.newSel=u2(a,this.bounds.from)}else{let a=e.observer.selectionRange,h=n&&n.node==a.focusNode&&n.offset==a.focusOffset||!$d(e.contentDOM,a.focusNode)?l.main.head:e.docView.posFromDOM(a.focusNode,a.focusOffset),c=o&&o.node==a.anchorNode&&o.offset==a.anchorOffset||!$d(e.contentDOM,a.anchorNode)?l.main.anchor:e.docView.posFromDOM(a.anchorNode,a.anchorOffset),u=e.viewport;if((N.ios||N.chrome)&&l.main.empty&&h!=c&&(u.from>0||u.to-1&&l.ranges.length>1)this.newSel=l.replaceRange(T.range(c,h));else if(e.lineWrapping&&c==h&&!(l.main.empty&&l.main.head==h)&&e.inputState.lastTouchTime>Date.now()-100){let f=e.coordsAtPos(h,-1),d=0;f&&(d=e.inputState.lastTouchY<=f.bottom?-1:1),this.newSel=T.create([T.cursor(h,d)])}else this.newSel=T.single(c,h)}}}function Ky(t,e,i,r){if(t.isComposite()){let s=-1,n=-1,o=-1,l=-1;for(let a=0,h=r,c=r;ai)return Ky(u,e,i,h);if(f>=e&&s==-1&&(s=a,n=h),h>i&&u.dom.parentNode==t.dom){o=a,l=c;break}c=f,h=f+u.breakAfter}return{from:n,to:l<0?r+t.length:l,startDOM:(s?t.children[s-1].dom.nextSibling:null)||t.dom.firstChild,endDOM:o=0?t.children[o].dom:null}}else return t.isText()?{from:r,to:r+t.length,startDOM:t.dom,endDOM:t.dom.nextSibling}:null}function Jy(t,e){let i,{newSel:r}=e,{state:s}=t,n=s.selection.main,o=t.inputState.lastKeyTime>Date.now()-100?t.inputState.lastKeyCode:-1;if(e.bounds){let{from:l,to:a}=e.bounds,h=n.from,c=null;(o===8||N.android&&e.text.length=l&&n.to<=a&&(e.typeOver||u!=e.text)&&u.slice(0,n.from-l)==e.text.slice(0,n.from-l)&&u.slice(n.to-l)==e.text.slice(f=e.text.length-(u.length-(n.to-l)))?i={from:n.from,to:n.to,insert:oe.of(e.text.slice(n.from-l,f).split(Fs))}:(d=ew(u,e.text,h-l,c))&&(N.chrome&&o==13&&d.toB==d.from+2&&e.text.slice(d.from,d.toB)==Fs+Fs&&d.toB--,i={from:l+d.from,to:l+d.toA,insert:oe.of(e.text.slice(d.from,d.toB).split(Fs))})}else r&&(!t.hasFocus&&s.facet(ar)||Vh(r,n))&&(r=null);if(!i&&!r)return!1;if((N.mac||N.android)&&i&&i.from==i.to&&i.from==n.head-1&&/^\. ?$/.test(i.insert.toString())&&t.contentDOM.getAttribute("autocorrect")=="off"?(r&&i.insert.length==2&&(r=T.single(r.main.anchor-1,r.main.head-1)),i={from:i.from,to:i.to,insert:oe.of([i.insert.toString().replace("."," ")])}):s.doc.lineAt(n.from).toDate.now()-50?i={from:n.from,to:n.to,insert:s.toText(t.inputState.insertingText)}:N.chrome&&i&&i.from==i.to&&i.from==n.head&&i.insert.toString()==` - `&&t.lineWrapping&&(r&&(r=T.single(r.main.anchor-1,r.main.head-1)),i={from:n.from,to:n.to,insert:oe.of([" "])}),i)return Yg(t,i,r,o);if(r&&!Vh(r,n)){let l=!1,a="select";return t.inputState.lastSelectionTime>Date.now()-50&&(t.inputState.lastSelectionOrigin=="select"&&(l=!0),a=t.inputState.lastSelectionOrigin,a=="select.pointer"&&(r=Gy(s.facet(Il).map(h=>h(t)),r))),t.dispatch({selection:r,scrollIntoView:l,userEvent:a}),!0}else return!1}function Yg(t,e,i,r=-1){if(N.ios&&t.inputState.flushIOSKey(e))return!0;let s=t.state.selection.main;if(N.android&&(e.to==s.to&&(e.from==s.from||e.from==s.from-1&&t.state.sliceDoc(e.from,s.from)==" ")&&e.insert.length==1&&e.insert.lines==2&&Sn(t.contentDOM,"Enter",13)||(e.from==s.from-1&&e.to==s.to&&e.insert.length==0||r==8&&e.insert.lengths.head)&&Sn(t.contentDOM,"Backspace",8)||e.from==s.from&&e.to==s.to+1&&e.insert.length==0&&Sn(t.contentDOM,"Delete",46)))return!0;let n=e.insert.toString();t.inputState.composing>=0&&t.inputState.composing++;let o,l=()=>o||(o=h2(t,e,i));return t.state.facet(Zy).some(a=>a(t,e.from,e.to,n,l))||t.dispatch(l()),!0}function h2(t,e,i){let r,s=t.state,n=s.selection.main,o=-1;if(e.from==e.to&&e.fromn.to){let a=e.fromu(t)),h,a);e.from==c&&(o=c)}if(o>-1)r={changes:e,selection:T.cursor(e.from+e.insert.length,-1)};else if(e.from>=n.from&&e.to<=n.to&&e.to-e.from>=(n.to-n.from)/3&&(!i||i.main.empty&&i.main.from==e.from+e.insert.length)&&t.inputState.composing<0){let a=n.frome.to?s.sliceDoc(e.to,n.to):"";r=s.replaceSelection(t.state.toText(a+e.insert.sliceString(0,void 0,t.state.lineBreak)+h))}else{let a=s.changes(e),h=i&&i.main.to<=a.newLength?i.main:void 0;if(s.selection.ranges.length>1&&(t.inputState.composing>=0||t.inputState.compositionPendingChange)&&e.to<=n.to+10&&e.to>=n.to-10){let c=t.state.sliceDoc(e.from,e.to),u,f=i&&Uy(t,i.main.head);if(f){let p=e.insert.length-(e.to-e.from);u={from:f.from,to:f.to-p}}else u=t.state.doc.lineAt(n.head);let d=n.to-e.to;r=s.changeByRange(p=>{if(p.from==n.from&&p.to==n.to)return{changes:a,range:h||p.map(a)};let g=p.to-d,v=g-c.length;if(t.state.sliceDoc(v,g)!=c||g>=u.from&&v<=u.to)return{range:p};let O=s.changes({from:v,to:g,insert:e.insert}),m=p.to-n.to;return{changes:O,range:h?T.range(Math.max(0,h.anchor+m),Math.max(0,h.head+m)):p.map(O)}})}else r={changes:a,selection:h&&s.selection.replaceRange(h)}}let l="input.type";return(t.composing||t.inputState.compositionPendingChange&&t.inputState.compositionEndedAt>Date.now()-50)&&(t.inputState.compositionPendingChange=!1,l+=".compose",t.inputState.compositionFirstChange&&(l+=".start",t.inputState.compositionFirstChange=!1)),s.update(r,{userEvent:l,scrollIntoView:!0})}function ew(t,e,i,r){let s=Math.min(t.length,e.length),n=0;for(;n0&&l>0&&t.charCodeAt(o-1)==e.charCodeAt(l-1);)o--,l--;if(r=="end"){let a=Math.max(0,n-Math.min(o,l));i-=o+a-n}if(o=o?n-i:0;n-=a,l=n+(l-o),o=n}else if(l=l?n-i:0;n-=a,o=n+(o-l),l=n}return{from:n,toA:o,toB:l}}function c2(t){let e=[];if(t.root.activeElement!=t.contentDOM)return e;let{anchorNode:i,anchorOffset:r,focusNode:s,focusOffset:n}=t.observer.selectionRange;return i&&(e.push(new o_(i,r)),(s!=i||n!=r)&&e.push(new o_(s,n))),e}function u2(t,e){if(t.length==0)return null;let i=t[0].pos,r=t.length==2?t[1].pos:i;return i>-1&&r>-1?T.single(i+e,r+e):null}function Vh(t,e){return e.head==t.main.head&&e.anchor==t.main.anchor}class f2{setSelectionOrigin(e){this.lastSelectionOrigin=e,this.lastSelectionTime=Date.now()}constructor(e){this.view=e,this.lastKeyCode=0,this.lastKeyTime=0,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.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,N.safari&&e.contentDOM.addEventListener("input",()=>null),N.gecko&&P2(e.contentDOM.ownerDocument)}handleEvent(e){!S2(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,i){let r=this.handlers[e];if(r){for(let s of r.observers)s(this.view,i);for(let s of r.handlers){if(i.defaultPrevented)break;if(s(this.view,i)){i.preventDefault();break}}}}ensureHandlers(e){let i=d2(e),r=this.handlers,s=this.view.contentDOM;for(let n in i)if(n!="scroll"){let o=!i[n].handlers.length,l=r[n];l&&o!=!l.handlers.length&&(s.removeEventListener(n,this.handleEvent),l=null),l||s.addEventListener(n,this.handleEvent,{passive:o})}for(let n in r)n!="scroll"&&!i[n]&&s.removeEventListener(n,this.handleEvent);this.handlers=i}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&&iw.indexOf(e.keyCode)<0&&(this.tabFocusMode=-1),N.android&&N.chrome&&!e.synthetic&&(e.keyCode==13||e.keyCode==8))return this.view.observer.delayAndroidKey(e.key,e.keyCode),!0;let i;return N.ios&&!e.synthetic&&!e.altKey&&!e.metaKey&&!e.shiftKey&&((i=tw.find(r=>r.keyCode==e.keyCode))&&!e.ctrlKey||p2.indexOf(e.key)>-1&&e.ctrlKey)?(this.pendingIOSKey=i||e,setTimeout(()=>this.flushIOSKey(),250),!0):(e.keyCode!=229&&this.view.observer.forceFlush(),!1)}flushIOSKey(e){let i=this.pendingIOSKey;return!i||i.key=="Enter"&&e&&e.from0?!0:N.safari&&!N.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 l_(t,e){return(i,r)=>{try{return e.call(t,r,i)}catch(s){qi(i.state,s)}}}function d2(t){let e=Object.create(null);function i(r){return e[r]||(e[r]={observers:[],handlers:[]})}for(let r of t){let s=r.spec,n=s&&s.plugin.domEventHandlers,o=s&&s.plugin.domEventObservers;if(n)for(let l in n){let a=n[l];a&&i(l).handlers.push(l_(r.value,a))}if(o)for(let l in o){let a=o[l];a&&i(l).observers.push(l_(r.value,a))}}for(let r in Ei)i(r).handlers.push(Ei[r]);for(let r in Nt)i(r).observers.push(Nt[r]);return e}const tw=[{key:"Backspace",keyCode:8,inputType:"deleteContentBackward"},{key:"Enter",keyCode:13,inputType:"insertParagraph"},{key:"Enter",keyCode:13,inputType:"insertLineBreak"},{key:"Delete",keyCode:46,inputType:"deleteContentForward"}],p2="dthko",iw=[16,17,18,20,91,92,224,225],Sa=6;function ya(t){return Math.max(0,t)*.7+8}function g2(t,e){return Math.max(Math.abs(t.clientX-e.clientX),Math.abs(t.clientY-e.clientY))}class O2{constructor(e,i,r,s){this.view=e,this.startEvent=i,this.style=r,this.mustSelect=s,this.scrollSpeed={x:0,y:0},this.scrolling=-1,this.lastEvent=i,this.scrollParents=xy(e.contentDOM),this.atoms=e.state.facet(Il).map(o=>o(e));let n=e.contentDOM.ownerDocument;n.addEventListener("mousemove",this.move=this.move.bind(this)),n.addEventListener("mouseup",this.up=this.up.bind(this)),this.extend=i.shiftKey,this.multiple=e.state.facet(le.allowMultipleSelections)&&m2(e,i),this.dragging=v2(e,i)&&nw(i)==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&&g2(this.startEvent,e)<10)return;this.select(this.lastEvent=e);let i=0,r=0,s=0,n=0,o=this.view.win.innerWidth,l=this.view.win.innerHeight;this.scrollParents.x&&({left:s,right:o}=this.scrollParents.x.getBoundingClientRect()),this.scrollParents.y&&({top:n,bottom:l}=this.scrollParents.y.getBoundingClientRect());let a=Fy(this.view);e.clientX-a.left<=s+Sa?i=-ya(s-e.clientX):e.clientX+a.right>=o-Sa&&(i=ya(e.clientX-o)),e.clientY-a.top<=n+Sa?r=-ya(n-e.clientY):e.clientY+a.bottom>=l-Sa&&(r=ya(e.clientY-l)),this.setScrollSpeed(i,r)}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,i){this.scrollSpeed={x:e,y:i},e||i?this.scrolling<0&&(this.scrolling=setInterval(()=>this.scroll(),50)):this.scrolling>-1&&(clearInterval(this.scrolling),this.scrolling=-1)}scroll(){let{x:e,y:i}=this.scrollSpeed;e&&this.scrollParents.x&&(this.scrollParents.x.scrollLeft+=e,e=0),i&&this.scrollParents.y&&(this.scrollParents.y.scrollTop+=i,i=0),(e||i)&&this.view.win.scrollBy(e,i),this.dragging===!1&&this.select(this.lastEvent)}select(e){let{view:i}=this,r=Gy(this.atoms,this.style.get(e,this.extend,this.multiple));(this.mustSelect||!r.eq(i.state.selection,this.dragging===!1))&&this.view.dispatch({selection:r,userEvent:"select.pointer"}),this.mustSelect=!1}update(e){e.transactions.some(i=>i.isUserEvent("input.type"))?this.destroy():this.style.update(e)&&setTimeout(()=>this.select(this.lastEvent),20)}}function m2(t,e){let i=t.state.facet(Ly);return i.length?i[0](e):N.mac?e.metaKey:e.ctrlKey}function _2(t,e){let i=t.state.facet(Dy);return i.length?i[0](e):N.mac?!e.altKey:!e.ctrlKey}function v2(t,e){let{main:i}=t.state.selection;if(i.empty)return!1;let r=Sl(t.root);if(!r||r.rangeCount==0)return!0;let s=r.getRangeAt(0).getClientRects();for(let n=0;n=e.clientX&&o.top<=e.clientY&&o.bottom>=e.clientY)return!0}return!1}function S2(t,e){if(!e.bubbles)return!0;if(e.defaultPrevented)return!1;for(let i=e.target,r;i!=t.contentDOM;i=i.parentNode)if(!i||i.nodeType==11||(r=Le.get(i))&&r.isWidget()&&!r.isHidden&&r.widget.ignoreEvent(e))return!1;return!0}const Ei=Object.create(null),Nt=Object.create(null),rw=N.ie&&N.ie_version<15||N.ios&&N.webkit_version<604;function y2(t){let e=t.dom.parentNode;if(!e)return;let i=e.appendChild(document.createElement("textarea"));i.style.cssText="position: fixed; left: -10000px; top: 10px",i.focus(),setTimeout(()=>{t.focus(),i.remove(),sw(t,i.value)},50)}function zc(t,e,i){for(let r of t.facet(e))i=r(i,t);return i}function sw(t,e){e=zc(t.state,Wg,e);let{state:i}=t,r,s=1,n=i.toText(e),o=n.lines==i.selection.ranges.length;if(Ld!=null&&i.selection.ranges.every(a=>a.empty)&&Ld==n.toString()){let a=-1;r=i.changeByRange(h=>{let c=i.doc.lineAt(h.from);if(c.from==a)return{range:h};a=c.from;let u=i.toText((o?n.line(s++).text:e)+i.lineBreak);return{changes:{from:c.from,insert:u},range:T.cursor(h.from+u.length)}})}else o?r=i.changeByRange(a=>{let h=n.line(s++);return{changes:{from:a.from,to:a.to,insert:h.text},range:T.cursor(a.from+h.length)}}):r=i.replaceSelection(n);t.dispatch(r,{userEvent:"input.paste",scrollIntoView:!0})}Nt.scroll=t=>{t.inputState.lastScrollTop=t.scrollDOM.scrollTop,t.inputState.lastScrollLeft=t.scrollDOM.scrollLeft};Nt.wheel=Nt.mousewheel=t=>{t.inputState.lastWheelEvent=Date.now()};Ei.keydown=(t,e)=>(t.inputState.setSelectionOrigin("select"),e.keyCode==27&&t.inputState.tabFocusMode!=0&&(t.inputState.tabFocusMode=Date.now()+2e3),!1);Nt.touchstart=(t,e)=>{let i=t.inputState,r=e.targetTouches[0];i.lastTouchTime=Date.now(),r&&(i.lastTouchX=r.clientX,i.lastTouchY=r.clientY),i.setSelectionOrigin("select.pointer")};Nt.touchmove=t=>{t.inputState.setSelectionOrigin("select.pointer")};Ei.mousedown=(t,e)=>{if(t.observer.flush(),t.inputState.lastTouchTime>Date.now()-2e3)return!1;let i=null;for(let r of t.state.facet(By))if(i=r(t,e),i)break;if(!i&&e.button==0&&(i=k2(t,e)),i){let r=!t.hasFocus;t.inputState.startMouseSelection(new O2(t,e,i,r)),r&&t.observer.ignore(()=>{Cy(t.contentDOM);let n=t.root.activeElement;n&&!n.contains(t.contentDOM)&&n.blur()});let s=t.inputState.mouseSelection;if(s)return s.start(e),s.dragging===!1}else t.inputState.setSelectionOrigin("select.pointer");return!1};function a_(t,e,i,r){if(r==1)return T.cursor(e,i);if(r==2)return K$(t.state,e,i);{let s=t.docView.lineAt(e,i),n=t.state.doc.lineAt(s?s.posAtEnd:e),o=s?s.posAtStart:n.from,l=s?s.posAtEnd:n.to;return lDate.now()-400&&Math.abs(e.clientX-t.clientX)<2&&Math.abs(e.clientY-t.clientY)<2?(c_+1)%3:1}function k2(t,e){let i=t.posAndSideAtCoords({x:e.clientX,y:e.clientY},!1),r=nw(e),s=t.state.selection;return{update(n){n.docChanged&&(i.pos=n.changes.mapPos(i.pos),s=s.map(n.changes))},get(n,o,l){let a=t.posAndSideAtCoords({x:n.clientX,y:n.clientY},!1),h,c=a_(t,a.pos,a.assoc,r);if(i.pos!=a.pos&&!o){let u=a_(t,i.pos,i.assoc,r),f=Math.min(u.from,c.from),d=Math.max(u.to,c.to);c=f1&&(h=b2(s,a.pos))?h:l?s.addRange(c):T.create([c])}}}function b2(t,e){for(let i=0;i=e)return T.create(t.ranges.slice(0,i).concat(t.ranges.slice(i+1)),t.mainIndex==i?0:t.mainIndex-(t.mainIndex>i?1:0))}return null}Ei.dragstart=(t,e)=>{let{selection:{main:i}}=t.state;if(e.target.draggable){let s=t.docView.tile.nearest(e.target);if(s&&s.isWidget()){let n=s.posAtStart,o=n+s.length;(n>=i.to||o<=i.from)&&(i=T.range(n,o))}}let{inputState:r}=t;return r.mouseSelection&&(r.mouseSelection.dragging=!0),r.draggedContent=i,e.dataTransfer&&(e.dataTransfer.setData("Text",zc(t.state,Ng,t.state.sliceDoc(i.from,i.to))),e.dataTransfer.effectAllowed="copyMove"),!1};Ei.dragend=t=>(t.inputState.draggedContent=null,!1);function f_(t,e,i,r){if(i=zc(t.state,Wg,i),!i)return;let s=t.posAtCoords({x:e.clientX,y:e.clientY},!1),{draggedContent:n}=t.inputState,o=r&&n&&_2(t,e)?{from:n.from,to:n.to}:null,l={from:s,insert:i},a=t.state.changes(o?[o,l]:l);t.focus(),t.dispatch({changes:a,selection:{anchor:a.mapPos(s,-1),head:a.mapPos(s,1)},userEvent:o?"move.drop":"input.drop"}),t.inputState.draggedContent=null}Ei.drop=(t,e)=>{if(!e.dataTransfer)return!1;if(t.state.readOnly)return!0;let i=e.dataTransfer.files;if(i&&i.length){let r=Array(i.length),s=0,n=()=>{++s==i.length&&f_(t,e,r.filter(o=>o!=null).join(t.state.lineBreak),!1)};for(let o=0;o{/[\x00-\x08\x0e-\x1f]{2}/.test(l.result)||(r[o]=l.result),n()},l.readAsText(i[o])}return!0}else{let r=e.dataTransfer.getData("Text");if(r)return f_(t,e,r,!0),!0}return!1};Ei.paste=(t,e)=>{if(t.state.readOnly)return!0;t.observer.flush();let i=rw?null:e.clipboardData;return i?(sw(t,i.getData("text/plain")||i.getData("text/uri-list")),!0):(y2(t),!1)};function x2(t,e){let i=t.dom.parentNode;if(!i)return;let r=i.appendChild(document.createElement("textarea"));r.style.cssText="position: fixed; left: -10000px; top: 10px",r.value=e,r.focus(),r.selectionEnd=e.length,r.selectionStart=0,setTimeout(()=>{r.remove(),t.focus()},50)}function C2(t){let e=[],i=[],r=!1;for(let s of t.selection.ranges)s.empty||(e.push(t.sliceDoc(s.from,s.to)),i.push(s));if(!e.length){let s=-1;for(let{from:n}of t.selection.ranges){let o=t.doc.lineAt(n);o.number>s&&(e.push(o.text),i.push({from:o.from,to:Math.min(t.doc.length,o.to+1)})),s=o.number}r=!0}return{text:zc(t,Ng,e.join(t.lineBreak)),ranges:i,linewise:r}}let Ld=null;Ei.copy=Ei.cut=(t,e)=>{if(!Yo(t.contentDOM,t.observer.selectionRange))return!1;let{text:i,ranges:r,linewise:s}=C2(t.state);if(!i&&!s)return!1;Ld=s?i:null,e.type=="cut"&&!t.state.readOnly&&t.dispatch({changes:r,scrollIntoView:!0,userEvent:"delete.cut"});let n=rw?null:e.clipboardData;return n?(n.clearData(),n.setData("text/plain",i),!0):(x2(t,i),!1)};const ow=br.define();function lw(t,e){let i=[];for(let r of t.facet(Xy)){let s=r(t,e);s&&i.push(s)}return i.length?t.update({effects:i,annotations:ow.of(!0)}):null}function aw(t){setTimeout(()=>{let e=t.hasFocus;if(e!=t.inputState.notifiedFocused){let i=lw(t.state,e);i?t.dispatch(i):t.update([])}},10)}Nt.focus=t=>{t.inputState.lastFocusTime=Date.now(),!t.scrollDOM.scrollTop&&(t.inputState.lastScrollTop||t.inputState.lastScrollLeft)&&(t.scrollDOM.scrollTop=t.inputState.lastScrollTop,t.scrollDOM.scrollLeft=t.inputState.lastScrollLeft),aw(t)};Nt.blur=t=>{t.observer.clearSelectionRange(),aw(t)};Nt.compositionstart=Nt.compositionupdate=t=>{t.observer.editContext||(t.inputState.compositionFirstChange==null&&(t.inputState.compositionFirstChange=!0),t.inputState.composing<0&&(t.inputState.composing=0))};Nt.compositionend=t=>{t.observer.editContext||(t.inputState.composing=-1,t.inputState.compositionEndedAt=Date.now(),t.inputState.compositionPendingKey=!0,t.inputState.compositionPendingChange=t.observer.pendingRecords().length>0,t.inputState.compositionFirstChange=null,N.chrome&&N.android?t.observer.flushSoon():t.inputState.compositionPendingChange?Promise.resolve().then(()=>t.observer.flush()):setTimeout(()=>{t.inputState.composing<0&&t.docView.hasComposition&&t.update([])},50))};Nt.contextmenu=t=>{t.inputState.lastContextMenu=Date.now()};Ei.beforeinput=(t,e)=>{var i,r;if((e.inputType=="insertText"||e.inputType=="insertCompositionText")&&(t.inputState.insertingText=e.data,t.inputState.insertingTextAt=Date.now()),e.inputType=="insertReplacementText"&&t.observer.editContext){let n=(i=e.dataTransfer)===null||i===void 0?void 0:i.getData("text/plain"),o=e.getTargetRanges();if(n&&o.length){let l=o[0],a=t.posAtDOM(l.startContainer,l.startOffset),h=t.posAtDOM(l.endContainer,l.endOffset);return Yg(t,{from:a,to:h,insert:t.state.toText(n)},null),!0}}let s;if(N.chrome&&N.android&&(s=tw.find(n=>n.inputType==e.inputType))&&(t.observer.delayAndroidKey(s.key,s.keyCode),s.key=="Backspace"||s.key=="Delete")){let n=((r=window.visualViewport)===null||r===void 0?void 0:r.height)||0;setTimeout(()=>{var o;(((o=window.visualViewport)===null||o===void 0?void 0:o.height)||0)>n+10&&t.hasFocus&&(t.contentDOM.blur(),t.focus())},100)}return N.ios&&e.inputType=="deleteContentForward"&&t.observer.flushSoon(),N.safari&&e.inputType=="insertText"&&t.inputState.composing>=0&&setTimeout(()=>Nt.compositionend(t,e),20),!1};const d_=new Set;function P2(t){d_.has(t)||(d_.add(t),t.addEventListener("copy",()=>{}),t.addEventListener("cut",()=>{}))}const p_=["pre-wrap","normal","pre-line","break-spaces"];let Ln=!1;function g_(){Ln=!1}class $2{constructor(e){this.lineWrapping=e,this.doc=oe.empty,this.heightSamples={},this.lineHeight=14,this.charWidth=7,this.textHeight=14,this.lineLength=30}heightForGap(e,i){let r=this.doc.lineAt(i).number-this.doc.lineAt(e).number+1;return this.lineWrapping&&(r+=Math.max(0,Math.ceil((i-e-r*this.lineLength*.5)/this.lineLength))),this.lineHeight*r}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 p_.indexOf(e)>-1!=this.lineWrapping}mustRefreshForHeights(e){let i=!1;for(let r=0;r-1,a=Math.abs(i-this.lineHeight)>.3||this.lineWrapping!=l;if(this.lineWrapping=l,this.lineHeight=i,this.charWidth=r,this.textHeight=s,this.lineLength=n,a){this.heightSamples={};for(let h=0;h0}set outdated(e){this.flags=(e?2:0)|this.flags&-3}setHeight(e){this.height!=e&&(Math.abs(this.height-e)>th&&(Ln=!0),this.height=e)}replace(e,i,r){return Qt.of(r)}decomposeLeft(e,i){i.push(this)}decomposeRight(e,i){i.push(this)}applyChanges(e,i,r,s){let n=this,o=r.doc;for(let l=s.length-1;l>=0;l--){let{fromA:a,toA:h,fromB:c,toB:u}=s[l],f=n.lineAt(a,_e.ByPosNoHeight,r.setDoc(i),0,0),d=f.to>=h?f:n.lineAt(h,_e.ByPosNoHeight,r,0,0);for(u+=d.to-h,h=d.to;l>0&&f.from<=s[l-1].toA;)a=s[l-1].fromA,c=s[l-1].fromB,l--,an*2){let l=e[i-1];l.break?e.splice(--i,1,l.left,null,l.right):e.splice(--i,1,l.left,l.right),r+=1+l.break,s-=l.size}else if(n>s*2){let l=e[r];l.break?e.splice(r,1,l.left,null,l.right):e.splice(r,1,l.left,l.right),r+=2+l.break,n-=l.size}else break;else if(s=n&&o(this.lineAt(0,_e.ByPos,r,s,n))}setMeasuredHeight(e){let i=e.heights[e.index++];i<0?(this.spaceAbove=-i,i=e.heights[e.index++]):this.spaceAbove=0,this.setHeight(i)}updateHeight(e,i=0,r=!1,s){return s&&s.from<=i&&s.more&&this.setMeasuredHeight(s),this.outdated=!1,this}toString(){return`block(${this.length})`}}class Ht extends hw{constructor(e,i,r){super(e,i,null),this.collapsed=0,this.widgetHeight=0,this.breaks=0,this.spaceAbove=r}mainBlock(e,i){return new xi(i,this.length,e+this.spaceAbove,this.height-this.spaceAbove,this.breaks)}replace(e,i,r){let s=r[0];return r.length==1&&(s instanceof Ht||s instanceof at&&s.flags&4)&&Math.abs(this.length-s.length)<10?(s instanceof at?s=new Ht(s.length,this.height,this.spaceAbove):s.height=this.height,this.outdated||(s.outdated=!1),s):Qt.of(r)}updateHeight(e,i=0,r=!1,s){return s&&s.from<=i&&s.more?this.setMeasuredHeight(s):(r||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:""})`}}class at extends Qt{constructor(e){super(e,0)}heightMetrics(e,i){let r=e.doc.lineAt(i).number,s=e.doc.lineAt(i+this.length).number,n=s-r+1,o,l=0;if(e.lineWrapping){let a=Math.min(this.height,e.lineHeight*n);o=a/n,this.length>n+1&&(l=(this.height-a)/(this.length-n-1))}else o=this.height/n;return{firstLine:r,lastLine:s,perLine:o,perChar:l}}blockAt(e,i,r,s){let{firstLine:n,lastLine:o,perLine:l,perChar:a}=this.heightMetrics(i,s);if(i.lineWrapping){let h=s+(e0){let n=r[r.length-1];n instanceof at?r[r.length-1]=new at(n.length+s):r.push(null,new at(s-1))}if(e>0){let n=r[0];n instanceof at?r[0]=new at(e+n.length):r.unshift(new at(e-1),null)}return Qt.of(r)}decomposeLeft(e,i){i.push(new at(e-1),null)}decomposeRight(e,i){i.push(null,new at(this.length-e-1))}updateHeight(e,i=0,r=!1,s){let n=i+this.length;if(s&&s.from<=i+this.length&&s.more){let o=[],l=Math.max(i,s.from),a=-1;for(s.from>i&&o.push(new at(s.from-i-1).updateHeight(e,i));l<=n&&s.more;){let c=e.doc.lineAt(l).length;o.length&&o.push(null);let u=s.heights[s.index++],f=0;u<0&&(f=-u,u=s.heights[s.index++]),a==-1?a=u:Math.abs(u-a)>=th&&(a=-2);let d=new Ht(c,u,f);d.outdated=!1,o.push(d),l+=c+1}l<=n&&o.push(null,new at(n-l).updateHeight(e,l));let h=Qt.of(o);return(a<0||Math.abs(h.height-this.height)>=th||Math.abs(a-this.heightMetrics(e,i).perLine)>=th)&&(Ln=!0),Yh(this,h)}else(r||this.outdated)&&(this.setHeight(e.heightForGap(i,i+this.length)),this.outdated=!1);return this}toString(){return`gap(${this.length})`}}class E2 extends Qt{constructor(e,i,r){super(e.length+i+r.length,e.height+r.height,i|(e.outdated||r.outdated?2:0)),this.left=e,this.right=r,this.size=e.size+r.size}get break(){return this.flags&1}blockAt(e,i,r,s){let n=r+this.left.height;return el))return h;let c=i==_e.ByPosNoHeight?_e.ByPosNoHeight:_e.ByPos;return a?h.join(this.right.lineAt(l,c,r,o,l)):this.left.lineAt(l,c,r,s,n).join(h)}forEachLine(e,i,r,s,n,o){let l=s+this.left.height,a=n+this.left.length+this.break;if(this.break)e=a&&this.right.forEachLine(e,i,r,l,a,o);else{let h=this.lineAt(a,_e.ByPos,r,s,n);e=e&&h.from<=i&&o(h),i>h.to&&this.right.forEachLine(h.to+1,i,r,l,a,o)}}replace(e,i,r){let s=this.left.length+this.break;if(ithis.left.length)return this.balanced(this.left,this.right.replace(e-s,i-s,r));let n=[];e>0&&this.decomposeLeft(e,n);let o=n.length;for(let l of r)n.push(l);if(e>0&&O_(n,o-1),i=r&&i.push(null)),e>r&&this.right.decomposeLeft(e-r,i)}decomposeRight(e,i){let r=this.left.length,s=r+this.break;if(e>=s)return this.right.decomposeRight(e-s,i);e2*i.size||i.size>2*e.size?Qt.of(this.break?[e,null,i]:[e,i]):(this.left=Yh(this.left,e),this.right=Yh(this.right,i),this.setHeight(e.height+i.height),this.outdated=e.outdated||i.outdated,this.size=e.size+i.size,this.length=e.length+this.break+i.length,this)}updateHeight(e,i=0,r=!1,s){let{left:n,right:o}=this,l=i+n.length+this.break,a=null;return s&&s.from<=i+n.length&&s.more?a=n=n.updateHeight(e,i,r,s):n.updateHeight(e,i,r),s&&s.from<=l+o.length&&s.more?a=o=o.updateHeight(e,l,r,s):o.updateHeight(e,l,r),a?this.balanced(n,o):(this.height=this.left.height+this.right.height,this.outdated=!1,this)}toString(){return this.left+(this.break?" ":"-")+this.right}}function O_(t,e){let i,r;t[e]==null&&(i=t[e-1])instanceof at&&(r=t[e+1])instanceof at&&t.splice(e-1,3,new at(i.length+1+r.length))}const R2=5;class qg{constructor(e,i){this.pos=e,this.oracle=i,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,i){if(this.lineStart>-1){let r=Math.min(i,this.lineEnd),s=this.nodes[this.nodes.length-1];s instanceof Ht?s.length+=r-this.pos:(r>this.pos||!this.isCovered)&&this.nodes.push(new Ht(r-this.pos,-1,0)),this.writtenTo=r,i>r&&(this.nodes.push(null),this.writtenTo++,this.lineStart=-1)}this.pos=i}point(e,i,r){if(e=R2)&&this.addLineDeco(s,n,o)}else i>e&&this.span(e,i);this.lineEnd>-1&&this.lineEnd-1)return;let{from:e,to:i}=this.oracle.doc.lineAt(this.pos);this.lineStart=e,this.lineEnd=i,this.writtenToe&&this.nodes.push(new Ht(this.pos-e,-1,0)),this.writtenTo=this.pos}blankContent(e,i){let r=new at(i-e);return this.oracle.doc.lineAt(e).to==i&&(r.flags|=4),r}ensureLine(){this.enterLine();let e=this.nodes.length?this.nodes[this.nodes.length-1]:null;if(e instanceof Ht)return e;let i=new Ht(0,-1,0);return this.nodes.push(i),i}addBlock(e){this.enterLine();let i=e.deco;i&&i.startSide>0&&!this.isCovered&&this.ensureLine(),this.nodes.push(e),this.writtenTo=this.pos=this.pos+e.length,i&&i.endSide>0&&(this.covering=e)}addLineDeco(e,i,r){let s=this.ensureLine();s.length+=r,s.collapsed+=r,s.widgetHeight=Math.max(s.widgetHeight,e),s.breaks+=i,this.writtenTo=this.pos=this.pos+r}finish(e){let i=this.nodes.length==0?null:this.nodes[this.nodes.length-1];this.lineStart>-1&&!(i instanceof Ht)&&!this.isCovered?this.nodes.push(new Ht(0,-1,0)):(this.writtenToc.clientHeight||c.scrollWidth>c.clientWidth)&&u.overflow!="visible"){let f=c.getBoundingClientRect();n=Math.max(n,f.left),o=Math.min(o,f.right),l=Math.max(l,f.top),a=Math.min(h==t.parentNode?s.innerHeight:a,f.bottom)}h=u.position=="absolute"||u.position=="fixed"?c.offsetParent:c.parentNode}else if(h.nodeType==11)h=h.host;else break;return{left:n-i.left,right:Math.max(n,o)-i.left,top:l-(i.top+e),bottom:Math.max(l,a)-(i.top+e)}}function D2(t){let e=t.getBoundingClientRect(),i=t.ownerDocument.defaultView||window;return e.left0&&e.top0}function B2(t,e){let i=t.getBoundingClientRect();return{left:0,right:i.right-i.left,top:e,bottom:i.bottom-(i.top+e)}}class Lu{constructor(e,i,r,s){this.from=e,this.to=i,this.size=r,this.displaySize=s}static same(e,i){if(e.length!=i.length)return!1;for(let r=0;rtypeof s!="function"&&s.class=="cm-lineWrapping");this.heightOracle=new $2(r),this.stateDeco=v_(i),this.heightMap=Qt.empty().applyChanges(this.stateDeco,oe.empty,this.heightOracle.setDoc(i.doc),[new ci(0,0,0,i.doc.length)]);for(let s=0;s<2&&(this.viewport=this.getViewport(0,null),!!this.updateForViewport());s++);this.updateViewportLines(),this.lineGaps=this.ensureLineGaps([]),this.lineGapDeco=Se.set(this.lineGaps.map(s=>s.draw(this,!1))),this.scrollParent=e.scrollDOM,this.computeVisibleRanges()}updateForViewport(){let e=[this.viewport],{main:i}=this.state.selection;for(let r=0;r<=1;r++){let s=r?i.head:i.anchor;if(!e.some(({from:n,to:o})=>s>=n&&s<=o)){let{from:n,to:o}=this.lineBlockAt(s);e.push(new wa(n,o))}}return this.viewports=e.sort((r,s)=>r.from-s.from),this.updateScaler()}updateScaler(){let e=this.scaler;return this.scaler=this.heightMap.height<=7e6?__:new Fg(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($o(e,this.scaler))})}update(e,i=null){this.state=e.state;let r=this.stateDeco;this.stateDeco=v_(this.state);let s=e.changedRanges,n=ci.extendWithRanges(s,A2(r,this.stateDeco,e?e.changes:Ue.empty(this.state.doc.length))),o=this.heightMap.height,l=this.scrolledToBottom?null:this.scrollAnchorAt(this.scrollOffset);g_(),this.heightMap=this.heightMap.applyChanges(this.stateDeco,e.startState.doc,this.heightOracle.setDoc(this.state.doc),n),(this.heightMap.height!=o||Ln)&&(e.flags|=2),l?(this.scrollAnchorPos=e.changes.mapPos(l.from,-1),this.scrollAnchorHeight=l.top):(this.scrollAnchorPos=-1,this.scrollAnchorHeight=o);let a=n.length?this.mapViewport(this.viewport,e.changes):this.viewport;(i&&(i.range.heada.to)||!this.viewportIsAppropriate(a))&&(a=this.getViewport(0,i));let h=a.from!=this.viewport.from||a.to!=this.viewport.to;this.viewport=a,e.flags|=this.updateForViewport(),(h||!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),i&&(this.scrollTarget=i),!this.mustEnforceCursorAssoc&&(e.selectionSet||e.focusChanged)&&e.view.lineWrapping&&e.state.selection.main.empty&&e.state.selection.main.assoc&&!e.state.facet(Q$)&&(this.mustEnforceCursorAssoc=!0)}measure(){let{view:e}=this,i=e.contentDOM,r=window.getComputedStyle(i),s=this.heightOracle,n=r.whiteSpace;this.defaultTextDirection=r.direction=="rtl"?Ye.RTL:Ye.LTR;let o=this.heightOracle.mustRefreshForWrapping(n)||this.mustMeasureContent==="refresh",l=i.getBoundingClientRect(),a=o||this.mustMeasureContent||this.contentDOMHeight!=l.height;this.contentDOMHeight=l.height,this.mustMeasureContent=!1;let h=0,c=0;if(l.width&&l.height){let{scaleX:y,scaleY:k}=by(i,l);(y>.005&&Math.abs(this.scaleX-y)>.005||k>.005&&Math.abs(this.scaleY-k)>.005)&&(this.scaleX=y,this.scaleY=k,h|=16,o=a=!0)}let u=(parseInt(r.paddingTop)||0)*this.scaleY,f=(parseInt(r.paddingBottom)||0)*this.scaleY;(this.paddingTop!=u||this.paddingBottom!=f)&&(this.paddingTop=u,this.paddingBottom=f,h|=18),this.editorWidth!=e.scrollDOM.clientWidth&&(s.lineWrapping&&(a=!0),this.editorWidth=e.scrollDOM.clientWidth,h|=16);let d=xy(this.view.contentDOM,!1).y;d!=this.scrollParent&&(this.scrollParent=d,this.scrollAnchorHeight=-1,this.scrollOffset=0);let p=this.getScrollOffset();this.scrollOffset!=p&&(this.scrollAnchorHeight=-1,this.scrollOffset=p),this.scrolledToBottom=Py(this.scrollParent||e.win);let g=(this.printing?B2:L2)(i,this.paddingTop),v=g.top-this.pixelViewport.top,O=g.bottom-this.pixelViewport.bottom;this.pixelViewport=g;let m=this.pixelViewport.bottom>this.pixelViewport.top&&this.pixelViewport.right>this.pixelViewport.left;if(m!=this.inView&&(this.inView=m,m&&(a=!0)),!this.inView&&!this.scrollTarget&&!D2(e.dom))return 0;let _=l.width;if((this.contentDOMWidth!=_||this.editorHeight!=e.scrollDOM.clientHeight)&&(this.contentDOMWidth=l.width,this.editorHeight=e.scrollDOM.clientHeight,h|=16),a){let y=e.docView.measureVisibleLineHeights(this.viewport);if(s.mustRefreshForHeights(y)&&(o=!0),o||s.lineWrapping&&Math.abs(_-this.contentDOMWidth)>s.charWidth){let{lineHeight:k,charWidth:b,textHeight:Q}=e.docView.measureTextSize();o=k>0&&s.refresh(n,k,b,Q,Math.max(5,_/b),y),o&&(e.docView.minWidth=0,h|=16)}v>0&&O>0?c=Math.max(v,O):v<0&&O<0&&(c=Math.min(v,O)),g_();for(let k of this.viewports){let b=k.from==this.viewport.from?y:e.docView.measureVisibleLineHeights(k);this.heightMap=(o?Qt.empty().applyChanges(this.stateDeco,oe.empty,this.heightOracle,[new ci(0,0,0,e.state.doc.length)]):this.heightMap).updateHeight(s,0,o,new Q2(k.from,b))}Ln&&(h|=2)}let S=!this.viewportIsAppropriate(this.viewport,c)||this.scrollTarget&&(this.scrollTarget.range.headthis.viewport.to);return S&&(h&2&&(h|=this.updateScaler()),this.viewport=this.getViewport(c,this.scrollTarget),h|=this.updateForViewport()),(h&2||S)&&this.updateViewportLines(),(this.lineGaps.length||this.viewport.to-this.viewport.from>4e3)&&this.updateLineGaps(this.ensureLineGaps(o?[]:this.lineGaps,e)),h|=this.computeVisibleRanges(),this.mustEnforceCursorAssoc&&(this.mustEnforceCursorAssoc=!1,e.docView.enforceCursorAssoc()),h}get visibleTop(){return this.scaler.fromDOM(this.pixelViewport.top)}get visibleBottom(){return this.scaler.fromDOM(this.pixelViewport.bottom)}getViewport(e,i){let r=.5-Math.max(-.5,Math.min(.5,e/1e3/2)),s=this.heightMap,n=this.heightOracle,{visibleTop:o,visibleBottom:l}=this,a=new wa(s.lineAt(o-r*1e3,_e.ByHeight,n,0,0).from,s.lineAt(l+(1-r)*1e3,_e.ByHeight,n,0,0).to);if(i){let{head:h}=i.range;if(ha.to){let c=Math.min(this.editorHeight,this.pixelViewport.bottom-this.pixelViewport.top),u=s.lineAt(h,_e.ByPos,n,0,0),f;i.y=="center"?f=(u.top+u.bottom)/2-c/2:i.y=="start"||i.y=="nearest"&&h=l+Math.max(10,Math.min(r,250)))&&s>o-2*1e3&&n>1,o=s<<1;if(this.defaultTextDirection!=Ye.LTR&&!r)return[];let l=[],a=(c,u,f,d)=>{if(u-cc&&OO.from>=f.from&&O.to<=f.to&&Math.abs(O.from-c)O.fromm));if(!v){if(u_.from<=u&&_.to>=u)){let _=i.moveToLineBoundary(T.cursor(u),!1,!0).head;_>c&&(u=_)}let O=this.gapSize(f,c,u,d),m=r||O<2e6?O:2e6;v=new Lu(c,u,O,m)}l.push(v)},h=c=>{if(c.length2e6)for(let k of e)k.from>=c.from&&k.fromc.from&&a(c.from,d,c,u),pi.draw(this,this.heightOracle.lineWrapping))))}computeVisibleRanges(e){let i=this.stateDeco;this.lineGaps.length&&(i=i.concat(this.lineGapDeco));let r=[];de.spans(i,this.viewport.from,this.viewport.to,{span(n,o){r.push({from:n,to:o})},point(){}},20);let s=0;if(r.length!=this.visibleRanges.length)s=12;else for(let n=0;n=this.viewport.from&&e<=this.viewport.to&&this.viewportLines.find(i=>i.from<=e&&i.to>=e)||$o(this.heightMap.lineAt(e,_e.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(i=>i.top<=e&&i.bottom>=e)||$o(this.heightMap.lineAt(this.scaler.fromDOM(e),_e.ByHeight,this.heightOracle,0,0),this.scaler)}getScrollOffset(){return(this.scrollParent==this.view.scrollDOM?this.scrollParent.scrollTop:(this.scrollParent?this.scrollParent.getBoundingClientRect().top:0)-this.view.contentDOM.getBoundingClientRect().top)*this.scaleY}scrollAnchorAt(e){let i=this.lineBlockAtHeight(e+8);return i.from>=this.viewport.from||this.viewportLines[0].top-e>200?i:this.viewportLines[0]}elementAtHeight(e){return $o(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}}class wa{constructor(e,i){this.from=e,this.to=i}}function Z2(t,e,i){let r=[],s=t,n=0;return de.spans(i,t,e,{span(){},point(o,l){o>s&&(r.push({from:s,to:o}),n+=o-s),s=l}},20),s=1)return e[e.length-1].to;let r=Math.floor(t*i);for(let s=0;;s++){let{from:n,to:o}=e[s],l=o-n;if(r<=l)return n+r;r-=l}}function ba(t,e){let i=0;for(let{from:r,to:s}of t.ranges){if(e<=s){i+=e-r;break}i+=s-r}return i/t.total}function X2(t,e){for(let i of t)if(e(i))return i}const __={toDOM(t){return t},fromDOM(t){return t},scale:1,eq(t){return t==this}};function v_(t){let e=t.facet(Lc).filter(r=>typeof r!="function"),i=t.facet(Vg).filter(r=>typeof r!="function");return i.length&&e.push(de.join(i)),e}class Fg{constructor(e,i,r){let s=0,n=0,o=0;this.viewports=r.map(({from:l,to:a})=>{let h=i.lineAt(l,_e.ByPos,e,0,0).top,c=i.lineAt(a,_e.ByPos,e,0,0).bottom;return s+=c-h,{from:l,to:a,top:h,bottom:c,domTop:0,domBottom:0}}),this.scale=(7e6-s)/(i.height-s);for(let l of this.viewports)l.domTop=o+(l.top-n)*this.scale,o=l.domBottom=l.domTop+(l.bottom-l.top),n=l.bottom}toDOM(e){for(let i=0,r=0,s=0;;i++){let n=ii.from==e.viewports[r].from&&i.to==e.viewports[r].to):!1}}function $o(t,e){if(e.scale==1)return t;let i=e.toDOM(t.top),r=e.toDOM(t.bottom);return new xi(t.from,t.length,i,r-i,Array.isArray(t._content)?t._content.map(s=>$o(s,e)):t._content)}const xa=H.define({combine:t=>t.join(" ")}),Dd=H.define({combine:t=>t.indexOf(!0)>-1}),Bd=Rn.newName(),cw=Rn.newName(),uw=Rn.newName(),fw={"&light":"."+cw,"&dark":"."+uw};function zd(t,e,i){return new Rn(e,{finish(r){return/&/.test(r)?r.replace(/&\w*/,s=>{if(s=="&")return t;if(!i||!i[s])throw new RangeError(`Unsupported selector: ${s}`);return i[s]}):t+" "+r}})}const I2=zd("."+Bd,{"&":{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":{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"},"&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":{backgroundImage:"radial-gradient(circle at 50% 55%, #aaa 20%, transparent 5%)",backgroundPosition:"center"},".cm-highlightTab":{backgroundImage:`url('data:image/svg+xml,')`,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"}},fw),W2={childList:!0,characterData:!0,subtree:!0,attributes:!0,characterDataOldValue:!0},Du=N.ie&&N.ie_version<=11;class N2{constructor(e){this.view=e,this.active=!1,this.editContext=null,this.selectionRange=new m$,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(i=>{for(let r of i)this.queue.push(r);(N.ie&&N.ie_version<=11||N.ios&&e.composing)&&i.some(r=>r.type=="childList"&&r.removedNodes.length||r.type=="characterData"&&r.oldValue.length>r.target.nodeValue.length)?this.flushSoon():this.flush()}),window.EditContext&&N.android&&e.constructor.EDIT_CONTEXT!==!1&&!(N.chrome&&N.chrome_version<126)&&(this.editContext=new V2(e),e.state.facet(ar)&&(e.contentDOM.editContext=this.editContext.editContext)),Du&&(this.onCharData=i=>{this.queue.push({target:i.target,type:"characterData",oldValue:i.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 i;((i=this.view.docView)===null||i===void 0?void 0:i.lastUpdate){this.parentCheck<0&&(this.parentCheck=setTimeout(this.listenForScroll.bind(this),1e3)),i.length>0&&i[i.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(i=>{i.length>0&&i[i.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((i,r)=>i!=e[r]))){this.gapIntersection.disconnect();for(let i of e)this.gapIntersection.observe(i);this.gaps=e}}onSelectionChange(e){let i=this.selectionChanged;if(!this.readSelectionRange()||this.delayedAndroidKey)return;let{view:r}=this,s=this.selectionRange;if(r.state.facet(ar)?r.root.activeElement!=this.dom:!Yo(this.dom,s))return;let n=s.anchorNode&&r.docView.tile.nearest(s.anchorNode);if(n&&n.isWidget()&&n.widget.ignoreEvent(e)){i||(this.selectionChanged=!1);return}(N.ie&&N.ie_version<=11||N.android&&N.chrome)&&!r.state.selection.main.empty&&s.focusNode&&qo(s.focusNode,s.focusOffset,s.anchorNode,s.anchorOffset)?this.flushSoon():this.flush(!1)}readSelectionRange(){let{view:e}=this,i=Sl(e.root);if(!i)return!1;let r=N.safari&&e.root.nodeType==11&&e.root.activeElement==this.dom&&j2(this.view,i)||i;if(!r||this.selectionRange.eq(r))return!1;let s=Yo(this.dom,r);return s&&!this.selectionChanged&&e.inputState.lastFocusTime>Date.now()-200&&e.inputState.lastTouchTime{let n=this.delayedAndroidKey;n&&(this.clearDelayedAndroidKey(),this.view.inputState.lastKeyCode=n.keyCode,this.view.inputState.lastKeyTime=Date.now(),!this.flush()&&n.force&&Sn(this.dom,n.key,n.keyCode))};this.flushingAndroidKey=this.view.win.requestAnimationFrame(s)}(!this.delayedAndroidKey||e=="Enter")&&(this.delayedAndroidKey={key:e,keyCode:i,force:this.lastChange{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 i=-1,r=-1,s=!1;for(let n of e){let o=this.readMutation(n);o&&(o.typeOver&&(s=!0),i==-1?{from:i,to:r}=o:(i=Math.min(o.from,i),r=Math.max(o.to,r)))}return{from:i,to:r,typeOver:s}}readChange(){let{from:e,to:i,typeOver:r}=this.processRecords(),s=this.selectionChanged&&Yo(this.dom,this.selectionRange);if(e<0&&!s)return null;e>-1&&(this.lastChange=Date.now()),this.view.inputState.lastFocusTime=0,this.selectionChanged=!1;let n=new a2(this.view,e,i,r);return this.view.docView.domChanged={newSel:n.newSel?n.newSel.main:null},n}flush(e=!0){if(this.delayedFlush>=0||this.delayedAndroidKey)return!1;e&&this.readSelectionRange();let i=this.readChange();if(!i)return this.view.requestMeasure(),!1;let r=this.view.state,s=Jy(this.view,i);return this.view.state==r&&(i.domChanged||i.newSel&&!Vh(this.view.state.selection,i.newSel.main))&&this.view.update([]),s}readMutation(e){let i=this.view.docView.tile.nearest(e.target);if(!i||i.isWidget())return null;if(i.markDirty(e.type=="attributes"),e.type=="childList"){let r=S_(i,e.previousSibling||e.target.previousSibling,-1),s=S_(i,e.nextSibling||e.target.nextSibling,1);return{from:r?i.posAfter(r):i.posAtStart,to:s?i.posBefore(s):i.posAtEnd,typeOver:!1}}else return e.type=="characterData"?{from:i.posAtStart,to:i.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(ar)!=e.state.facet(ar)&&(e.view.contentDOM.editContext=e.state.facet(ar)?this.editContext.editContext:null))}destroy(){var e,i,r;this.stop(),(e=this.intersection)===null||e===void 0||e.disconnect(),(i=this.gapIntersection)===null||i===void 0||i.disconnect(),(r=this.resizeScroll)===null||r===void 0||r.disconnect();for(let s of this.scrollTargets)s.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 S_(t,e,i){for(;e;){let r=Le.get(e);if(r&&r.parent==t)return r;let s=e.parentNode;e=s!=t.dom?s:i>0?e.nextSibling:e.previousSibling}return null}function y_(t,e){let i=e.startContainer,r=e.startOffset,s=e.endContainer,n=e.endOffset,o=t.docView.domAtPos(t.state.selection.main.anchor,1);return qo(o.node,o.offset,s,n)&&([i,r,s,n]=[s,n,i,r]),{anchorNode:i,anchorOffset:r,focusNode:s,focusOffset:n}}function j2(t,e){if(e.getComposedRanges){let s=e.getComposedRanges(t.root)[0];if(s)return y_(t,s)}let i=null;function r(s){s.preventDefault(),s.stopImmediatePropagation(),i=s.getTargetRanges()[0]}return t.contentDOM.addEventListener("beforeinput",r,!0),t.dom.ownerDocument.execCommand("indent"),t.contentDOM.removeEventListener("beforeinput",r,!0),i?y_(t,i):null}class V2{constructor(e){this.from=0,this.to=0,this.pendingContextChange=null,this.handlers=Object.create(null),this.composing=null,this.resetRange(e.state);let i=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=r=>{let s=e.state.selection.main,{anchor:n,head:o}=s,l=this.toEditorPos(r.updateRangeStart),a=this.toEditorPos(r.updateRangeEnd);e.inputState.composing>=0&&!this.composing&&(this.composing={contextBase:r.updateRangeStart,editorBase:l,drifted:!1});let h=a-l>r.text.length;l==this.from&&nthis.to&&(a=n);let c=ew(e.state.sliceDoc(l,a),r.text,(h?s.from:s.to)-l,h?"end":null);if(!c){let f=T.single(this.toEditorPos(r.selectionStart),this.toEditorPos(r.selectionEnd));Vh(f,s)||e.dispatch({selection:f,userEvent:"select"});return}let u={from:c.from+l,to:c.toA+l,insert:oe.of(r.text.slice(c.from,c.toB).split(` -`))};if((N.mac||N.android)&&u.from==o-1&&/^\. ?$/.test(r.text)&&e.contentDOM.getAttribute("autocorrect")=="off"&&(u={from:l,to:a,insert:oe.of([r.text.replace("."," ")])}),this.pendingContextChange=u,!e.state.readOnly){let f=this.to-this.from+(u.to-u.from+u.insert.length);Yg(e,u,T.single(this.toEditorPos(r.selectionStart,f),this.toEditorPos(r.selectionEnd,f)))}this.pendingContextChange&&(this.revertPending(e.state),this.setSelection(e.state)),u.from=0&&!/[\\p{Alphabetic}\\p{Number}_]/.test(i.text.slice(Math.max(0,r.updateRangeStart-1),Math.min(i.text.length,r.updateRangeStart+1)))&&this.handlers.compositionend(r)},this.handlers.characterboundsupdate=r=>{let s=[],n=null;for(let o=this.toEditorPos(r.rangeStart),l=this.toEditorPos(r.rangeEnd);o{let s=[];for(let n of r.getTextFormats()){let o=n.underlineStyle,l=n.underlineThickness;if(!/none/i.test(o)&&!/none/i.test(l)){let a=this.toEditorPos(n.rangeStart),h=this.toEditorPos(n.rangeEnd);if(a{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:r}=this.composing;this.composing=null,r&&this.reset(e.state)}};for(let r in this.handlers)i.addEventListener(r,this.handlers[r]);this.measureReq={read:r=>{this.editContext.updateControlBounds(r.contentDOM.getBoundingClientRect());let s=Sl(r.root);s&&s.rangeCount&&this.editContext.updateSelectionBounds(s.getRangeAt(0).getBoundingClientRect())}}}applyEdits(e){let i=0,r=!1,s=this.pendingContextChange;return e.changes.iterChanges((n,o,l,a,h)=>{if(r)return;let c=h.length-(o-n);if(s&&o>=s.to)if(s.from==n&&s.to==o&&s.insert.eq(h)){s=this.pendingContextChange=null,i+=c,this.to+=c;return}else s=null,this.revertPending(e.state);if(n+=i,o+=i,o<=this.from)this.from+=c,this.to+=c;else if(nthis.to||this.to-this.from+h.length>3e4){r=!0;return}this.editContext.updateText(this.toContextPos(n),this.toContextPos(o),h.toString()),this.to+=c}i+=c}),s&&!r&&this.revertPending(e.state),!r}update(e){let i=this.pendingContextChange,r=e.startState.selection.main;this.composing&&(this.composing.drifted||!e.changes.touchesRange(r.from,r.to)&&e.transactions.some(s=>!s.isUserEvent("input.type")&&s.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||i)&&this.setSelection(e.state),(e.geometryChanged||e.docChanged||e.selectionSet)&&e.view.requestMeasure(this.measureReq)}resetRange(e){let{head:i}=e.selection.main;this.from=Math.max(0,i-1e4),this.to=Math.min(e.doc.length,i+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 i=this.pendingContextChange;this.pendingContextChange=null,this.editContext.updateText(this.toContextPos(i.from),this.toContextPos(i.from+i.insert.length),e.doc.sliceString(i.from,i.to))}setSelection(e){let{main:i}=e.selection,r=this.toContextPos(Math.max(this.from,Math.min(this.to,i.anchor))),s=this.toContextPos(i.head);(this.editContext.selectionStart!=r||this.editContext.selectionEnd!=s)&&this.editContext.updateSelection(r,s)}rangeIsValid(e){let{head:i}=e.selection.main;return!(this.from>0&&i-this.from<500||this.to1e4*3)}toEditorPos(e,i=this.to-this.from){e=Math.min(e,i);let r=this.composing;return r&&r.drifted?r.editorBase+(e-r.contextBase):e+this.from}toContextPos(e){let i=this.composing;return i&&i.drifted?i.contextBase+(e-i.editorBase):e-this.from}destroy(){for(let e in this.handlers)this.editContext.removeEventListener(e,this.handlers[e])}}class F{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 i;this.plugins=[],this.pluginMap=new Map,this.editorAttrs={},this.contentAttrs={},this.bidiCache=[],this.destroyed=!1,this.updateState=2,this.measureScheduled=-1,this.measureRequests=[],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:r}=e;this.dispatchTransactions=e.dispatchTransactions||r&&(s=>s.forEach(n=>r(n,this)))||(s=>this.update(s)),this.dispatch=this.dispatch.bind(this),this._root=e.root||_$(e.parent)||document,this.viewState=new m_(this,e.state||le.create(e)),e.scrollTo&&e.scrollTo.is(va)&&(this.viewState.scrollTarget=e.scrollTo.value.clip(this.viewState.state)),this.plugins=this.state.facet(an).map(s=>new Tu(s));for(let s of this.plugins)s.update(this);this.observer=new N2(this),this.inputState=new f2(this),this.inputState.ensureHandlers(this.plugins),this.docView=new s_(this),this.mountStyles(),this.updateAttrs(),this.updateState=0,this.requestMeasure(),!((i=document.fonts)===null||i===void 0)&&i.ready&&document.fonts.ready.then(()=>{this.viewState.mustMeasureContent="refresh",this.requestMeasure()})}dispatch(...e){let i=e.length==1&&e[0]instanceof Ve?e:e.length==1&&Array.isArray(e[0])?e[0]:[this.state.update(...e)];this.dispatchTransactions(i,this)}update(e){if(this.updateState!=0)throw new Error("Calls to EditorView.update are not allowed while an update is in progress");let i=!1,r=!1,s,n=this.state;for(let f of e){if(f.startState!=n)throw new RangeError("Trying to update state with a transaction that doesn't start from the previous state.");n=f.state}if(this.destroyed){this.viewState.state=n;return}let o=this.hasFocus,l=0,a=null;e.some(f=>f.annotation(ow))?(this.inputState.notifiedFocused=o,l=1):o!=this.inputState.notifiedFocused&&(this.inputState.notifiedFocused=o,a=lw(n,o),a||(l=1));let h=this.observer.delayedAndroidKey,c=null;if(h?(this.observer.clearDelayedAndroidKey(),c=this.observer.readChange(),(c&&!this.state.doc.eq(n.doc)||!this.state.selection.eq(n.selection))&&(c=null)):this.observer.clear(),n.facet(le.phrases)!=this.state.facet(le.phrases))return this.setState(n);s=Wh.create(this,n,e),s.flags|=l;let u=this.viewState.scrollTarget;try{this.updateState=2;for(let f of e){if(u&&(u=u.map(f.changes)),f.scrollIntoView){let{main:d}=f.state.selection,{x:p,y:g}=this.state.facet(F.cursorScrollMargin);u=new yn(d.empty?d:T.cursor(d.head,d.head>d.anchor?-1:1),"nearest","nearest",g,p)}for(let d of f.effects)d.is(va)&&(u=d.value.clip(this.state))}this.viewState.update(s,u),this.bidiCache=qh.update(this.bidiCache,s.changes),s.empty||(this.updatePlugins(s),this.inputState.update(s)),i=this.docView.update(s),this.state.facet(Po)!=this.styleModules&&this.mountStyles(),r=this.updateAttrs(),this.showAnnouncements(e),this.docView.updateSelection(i,e.some(f=>f.isUserEvent("select.pointer")))}finally{this.updateState=0}if(s.startState.facet(xa)!=s.state.facet(xa)&&(this.viewState.mustMeasureContent=!0),(i||r||u||this.viewState.mustEnforceCursorAssoc||this.viewState.mustMeasureContent)&&this.requestMeasure(),i&&this.docViewUpdate(),!s.empty)for(let f of this.state.facet(Rd))try{f(s)}catch(d){qi(this.state,d,"update listener")}(a||c)&&Promise.resolve().then(()=>{a&&this.state==a.startState&&this.dispatch(a),c&&!Jy(this,c)&&h.force&&Sn(this.contentDOM,h.key,h.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 i=this.hasFocus;try{for(let r of this.plugins)r.destroy(this);this.viewState=new m_(this,e),this.plugins=e.facet(an).map(r=>new Tu(r)),this.pluginMap.clear();for(let r of this.plugins)r.update(this);this.docView.destroy(),this.docView=new s_(this),this.inputState.ensureHandlers(this.plugins),this.mountStyles(),this.updateAttrs(),this.bidiCache=[]}finally{this.updateState=0}i&&this.focus(),this.requestMeasure()}updatePlugins(e){let i=e.startState.facet(an),r=e.state.facet(an);if(i!=r){let s=[];for(let n of r){let o=i.indexOf(n);if(o<0)s.push(new Tu(n));else{let l=this.plugins[o];l.mustUpdate=e,s.push(l)}}for(let n of this.plugins)n.mustUpdate!=e&&n.destroy(this);this.plugins=s,this.pluginMap.clear()}else for(let s of this.plugins)s.mustUpdate=e;for(let s=0;s-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.observer.delayedAndroidKey){this.measureScheduled=-1,this.requestMeasure();return}this.measureScheduled=0,e&&this.observer.forceFlush();let i=null,r=this.viewState.scrollParent,s=this.viewState.getScrollOffset(),{scrollAnchorPos:n,scrollAnchorHeight:o}=this.viewState;Math.abs(s-this.viewState.scrollOffset)>1&&(o=-1),this.viewState.scrollAnchorHeight=-1;try{for(let l=0;;l++){if(o<0)if(Py(r||this.win))n=-1,o=this.viewState.heightMap.height;else{let d=this.viewState.scrollAnchorAt(s);n=d.from,o=d.top}this.updateState=1;let a=this.viewState.measure();if(!a&&!this.measureRequests.length&&this.viewState.scrollTarget==null)break;if(l>5){console.warn(this.measureRequests.length?"Measure loop restarted more than 5 times":"Viewport failed to stabilize");break}let h=[];a&4||([this.measureRequests,h]=[h,this.measureRequests]);let c=h.map(d=>{try{return d.read(this)}catch(p){return qi(this.state,p),w_}}),u=Wh.create(this,this.state,[]),f=!1;u.flags|=a,i?i.flags|=a:i=u,this.updateState=2,u.empty||(this.updatePlugins(u),this.inputState.update(u),this.updateAttrs(),f=this.docView.update(u),f&&this.docViewUpdate());for(let d=0;d1||p<-1)&&(r==this.scrollDOM||this.hasFocus||Math.max(this.inputState.lastWheelEvent,this.inputState.lastTouchTime)>Date.now()-100)){s=s+p,r?r.scrollTop+=p:this.win.scrollBy(0,p),o=-1;continue}}break}}}finally{this.updateState=0,this.measureScheduled=-1}if(i&&!i.empty)for(let l of this.state.facet(Rd))l(i)}get themeClasses(){return Bd+" "+(this.state.facet(Dd)?uw:cw)+" "+this.state.facet(xa)}updateAttrs(){let e=k_(this,jy,{class:"cm-editor"+(this.hasFocus?" cm-focused ":" ")+this.themeClasses}),i={spellcheck:"false",autocorrect:"off",autocapitalize:"off",writingsuggestions:"false",translate:"no",contenteditable:this.state.facet(ar)?"true":"false",class:"cm-content",style:`${N.tabSize}: ${this.state.tabSize}`,role:"textbox","aria-multiline":"true"};this.state.readOnly&&(i["aria-readonly"]="true"),k_(this,jg,i);let r=this.observer.ignore(()=>{let s=Km(this.contentDOM,this.contentAttrs,i),n=Km(this.dom,this.editorAttrs,e);return s||n});return this.editorAttrs=e,this.contentAttrs=i,r}showAnnouncements(e){let i=!0;for(let r of e)for(let s of r.effects)if(s.is(F.announce)){i&&(this.announceDOM.textContent=""),i=!1;let n=this.announceDOM.appendChild(document.createElement("div"));n.textContent=s.value}}mountStyles(){this.styleModules=this.state.facet(Po);let e=this.state.facet(F.cspNonce);Rn.mount(this.root,this.styleModules.concat(I2).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 i=0;ir.plugin==e)||null),i&&i.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,i,r){return Mu(this,e,n_(this,e,i,r))}moveByGroup(e,i){return Mu(this,e,n_(this,e,i,r=>i2(this,e.head,r)))}visualLineSide(e,i){let r=this.bidiSpans(e),s=this.textDirectionAt(e.from),n=r[i?r.length-1:0];return T.cursor(n.side(i,s)+e.from,n.forward(!i,s)?1:-1)}moveToLineBoundary(e,i,r=!0){return t2(this,e,i,r)}moveVertically(e,i,r){return Mu(this,e,r2(this,e,i,r))}domAtPos(e,i=1){return this.docView.domAtPos(e,i)}posAtDOM(e,i=0){return this.docView.posFromDOM(e,i)}posAtCoords(e,i=!0){this.readMeasured();let r=Md(this,e,i);return r&&r.pos}posAndSideAtCoords(e,i=!0){return this.readMeasured(),Md(this,e,i)}coordsAtPos(e,i=1){this.readMeasured();let r=this.docView.coordsAt(e,i);if(!r||r.left==r.right)return r;let s=this.state.doc.lineAt(e),n=this.bidiSpans(s),o=n[Yi.find(n,e-s.from,-1,i)];return Ih(r,o.dir==Ye.LTR==i>0)}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(Iy)||ethis.viewport.to?this.textDirection:(this.readMeasured(),this.docView.textDirectionAt(e))}get lineWrapping(){return this.viewState.heightOracle.lineWrapping}bidiSpans(e){if(e.length>Y2)return Ay(e.length);let i=this.textDirectionAt(e.from),r;for(let n of this.bidiCache)if(n.from==e.from&&n.dir==i&&(n.fresh||Ry(n.isolates,r=t_(this,e))))return n.order;r||(r=t_(this,e));let s=C$(e.text,i,r);return this.bidiCache.push(new qh(e.from,e.to,i,r,!0,s)),s}get hasFocus(){var e;return(this.dom.ownerDocument.hasFocus()||N.safari&&((e=this.inputState)===null||e===void 0?void 0:e.lastContextMenu)>Date.now()-3e4)&&this.root.activeElement==this.contentDOM}focus(){this.observer.ignore(()=>{Cy(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.measureScheduled>-1&&this.win.cancelAnimationFrame(this.measureScheduled),this.destroyed=!0}static scrollIntoView(e,i={}){var r,s,n,o;return va.of(new yn(typeof e=="number"?T.cursor(e):e,(r=i.y)!==null&&r!==void 0?r:"nearest",(s=i.x)!==null&&s!==void 0?s:"nearest",(n=i.yMargin)!==null&&n!==void 0?n:5,(o=i.xMargin)!==null&&o!==void 0?o:5))}scrollSnapshot(){let{scrollTop:e,scrollLeft:i}=this.scrollDOM,r=this.viewState.scrollAnchorAt(e);return va.of(new yn(T.cursor(r.from),"start","start",r.top-e,i,!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 zs.define(()=>({}),{eventHandlers:e})}static domEventObservers(e){return zs.define(()=>({}),{eventObservers:e})}static theme(e,i){let r=Rn.newName(),s=[xa.of(r),Po.of(zd(`.${r}`,e))];return i&&i.dark&&s.push(Dd.of(!0)),s}static baseTheme(e){return Rc.lowest(Po.of(zd("."+Bd,e,fw)))}static findFromDOM(e){var i;let r=e.querySelector(".cm-content"),s=r&&Le.get(r)||Le.get(e);return((i=s==null?void 0:s.root)===null||i===void 0?void 0:i.view)||null}}F.styleModule=Po;F.inputHandler=Zy;F.clipboardInputFilter=Wg;F.clipboardOutputFilter=Ng;F.scrollHandler=Wy;F.focusChangeEffect=Xy;F.perLineTextDirection=Iy;F.exceptionSink=zy;F.updateListener=Rd;F.editable=ar;F.mouseSelectionStyle=By;F.dragMovesSelection=Dy;F.clickAddsSelectionRange=Ly;F.decorations=Lc;F.blockWrappers=Vy;F.outerDecorations=Vg;F.atomicRanges=Il;F.bidiIsolatedRanges=Yy;F.cursorScrollMargin=H.define({combine:t=>{let e=5,i=5;for(let r of t)typeof r=="number"?e=i=r:{x:e,y:i}=r;return{x:e,y:i}}});F.scrollMargins=qy;F.darkTheme=Dd;F.cspNonce=H.define({combine:t=>t.length?t[0]:""});F.contentAttributes=jg;F.editorAttributes=jy;F.lineWrapping=F.contentAttributes.of({class:"cm-lineWrapping"});F.announce=Ce.define();const Y2=4096,w_={};class qh{constructor(e,i,r,s,n,o){this.from=e,this.to=i,this.dir=r,this.isolates=s,this.fresh=n,this.order=o}static update(e,i){if(i.empty&&!e.some(n=>n.fresh))return e;let r=[],s=e.length?e[e.length-1].dir:Ye.LTR;for(let n=Math.max(0,e.length-10);n=0;s--){let n=r[s],o=typeof n=="function"?n(t):n;o&&Zg(o,i)}return i}const q2=N.mac?"mac":N.windows?"win":N.linux?"linux":"key";function F2(t,e){const i=t.split(/-(?!$)/);let r=i[i.length-1];r=="Space"&&(r=" ");let s,n,o,l;for(let a=0;ar.concat(s),[]))),i}let Ir=null;const G2=4e3;function K2(t,e=q2){let i=Object.create(null),r=Object.create(null),s=(o,l)=>{let a=r[o];if(a==null)r[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")},n=(o,l,a,h,c)=>{var u,f;let d=i[o]||(i[o]=Object.create(null)),p=l.split(/ (?!$)/).map(O=>F2(O,e));for(let O=1;O{let S=Ir={view:_,prefix:m,scope:o};return setTimeout(()=>{Ir==S&&(Ir=null)},G2),!0}]})}let g=p.join(" ");s(g,!1);let v=d[g]||(d[g]={preventDefault:!1,stopPropagation:!1,run:((f=(u=d._any)===null||u===void 0?void 0:u.run)===null||f===void 0?void 0:f.slice())||[]});a&&v.run.push(a),h&&(v.preventDefault=!0),c&&(v.stopPropagation=!0)};for(let o of t){let l=o.scope?o.scope.split(" "):["editor"];if(o.any)for(let h of l){let c=i[h]||(i[h]=Object.create(null));c._any||(c._any={preventDefault:!1,stopPropagation:!1,run:[]});let{any:u}=o;for(let f in c)c[f].run.push(d=>u(d,Zd))}let a=o[e]||o.key;if(a)for(let h of l)n(h,a,o.run,o.preventDefault,o.stopPropagation),o.shift&&n(h,"Shift-"+a,o.shift,o.preventDefault,o.stopPropagation)}return i}let Zd=null;function J2(t,e,i,r){Zd=e;let s=c$(e),n=VP(s,0),o=YP(n)==s.length&&s!=" ",l="",a=!1,h=!1,c=!1;Ir&&Ir.view==i&&Ir.scope==r&&(l=Ir.prefix+" ",iw.indexOf(e.keyCode)<0&&(h=!0,Ir=null));let u=new Set,f=v=>{if(v){for(let O of v.run)if(!u.has(O)&&(u.add(O),O(i)))return v.stopPropagation&&(c=!0),!0;v.preventDefault&&(v.stopPropagation&&(c=!0),h=!0)}return!1},d=t[r],p,g;return d&&(f(d[l+Ca(s,e,!o)])?a=!0:o&&(e.altKey||e.metaKey||e.ctrlKey)&&!(N.windows&&e.ctrlKey&&e.altKey)&&!(N.mac&&e.altKey&&!(e.ctrlKey||e.metaKey))&&(p=ns[e.keyCode])&&p!=s?(f(d[l+Ca(p,e,!0)])||e.shiftKey&&(g=_l[e.keyCode])!=s&&g!=p&&f(d[l+Ca(g,e,!1)]))&&(a=!0):o&&e.shiftKey&&f(d[l+Ca(s,e,!0)])&&(a=!0),!a&&f(d._any)&&(a=!0)),h&&(a=!0),a&&c&&e.stopPropagation(),Zd=null,a}class Dn extends ss{compare(e){return this==e||this.constructor==e.constructor&&this.eq(e)}eq(e){return!1}destroy(e){}}Dn.prototype.elementClass="";Dn.prototype.toDOM=void 0;Dn.prototype.mapMode=Pt.TrackBefore;Dn.prototype.startSide=Dn.prototype.endSide=-1;Dn.prototype.point=!0;const dw=1024;let eQ=0;class ui{constructor(e,i){this.from=e,this.to=i}}class G{constructor(e={}){this.id=eQ++,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=Ke.match(e)),i=>{let r=e(i);return r===void 0?null:[this,r]}}}G.closedBy=new G({deserialize:t=>t.split(" ")});G.openedBy=new G({deserialize:t=>t.split(" ")});G.group=new G({deserialize:t=>t.split(" ")});G.isolate=new G({deserialize:t=>{if(t&&t!="rtl"&&t!="ltr"&&t!="auto")throw new RangeError("Invalid value for isolate: "+t);return t||"auto"}});G.contextHash=new G({perNode:!0});G.lookAhead=new G({perNode:!0});G.mounted=new G({perNode:!0});class wn{constructor(e,i,r,s=!1){this.tree=e,this.overlay=i,this.parser=r,this.bracketed=s}static get(e){return e&&e.props&&e.props[G.mounted.id]}}const tQ=Object.create(null);class Ke{constructor(e,i,r,s=0){this.name=e,this.props=i,this.id=r,this.flags=s}static define(e){let i=e.props&&e.props.length?Object.create(null):tQ,r=(e.top?1:0)|(e.skipped?2:0)|(e.error?4:0)|(e.name==null?8:0),s=new Ke(e.name||"",i,e.id,r);if(e.props){for(let n of e.props)if(Array.isArray(n)||(n=n(s)),n){if(n[0].perNode)throw new RangeError("Can't store a per-node prop on a node type");i[n[0].id]=n[1]}}return s}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 i=this.prop(G.group);return i?i.indexOf(e)>-1:!1}return this.id==e}static match(e){let i=Object.create(null);for(let r in e)for(let s of r.split(" "))i[s]=e[r];return r=>{for(let s=r.prop(G.group),n=-1;n<(s?s.length:0);n++){let o=i[n<0?r.name:s[n]];if(o)return o}}}}Ke.none=new Ke("",Object.create(null),0,8);class Wl{constructor(e){this.types=e;for(let i=0;i0;for(let a=this.cursor(o|ue.IncludeAnonymous);;){let h=!1;if(a.from<=n&&a.to>=s&&(!l&&a.type.isAnonymous||i(a)!==!1)){if(a.firstChild())continue;h=!0}for(;h&&r&&(l||!a.type.isAnonymous)&&r(a),!a.nextSibling();){if(!a.parent())return;h=!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 i in this.props)e.push([+i,this.props[i]]);return e}balance(e={}){return this.children.length<=8?this:Gg(Ke.none,this.children,this.positions,0,this.children.length,0,this.length,(i,r,s)=>new ae(this.type,i,r,s,this.propValues),e.makeTree||((i,r,s)=>new ae(Ke.none,i,r,s)))}static build(e){return nQ(e)}}ae.empty=new ae(Ke.none,[],[],0);class Hg{constructor(e,i){this.buffer=e,this.index=i}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 Hg(this.buffer,this.index)}}class ls{constructor(e,i,r){this.buffer=e,this.length=i,this.set=r}get type(){return Ke.none}toString(){let e=[];for(let i=0;i0));a=o[a+3]);return l}slice(e,i,r){let s=this.buffer,n=new Uint16Array(i-e),o=0;for(let l=e,a=0;l=e&&ie;case 1:return i<=e&&r>e;case 2:return r>e;case 4:return!0}}function wl(t,e,i,r){for(var s;t.from==t.to||(i<1?t.from>=e:t.from>e)||(i>-1?t.to<=e:t.to0?l.length:-1;e!=h;e+=i){let c=l[e],u=a[e]+o.from,f;if(!(!(n&ue.EnterBracketed&&c instanceof ae&&(f=wn.get(c))&&!f.overlay&&f.bracketed&&r>=u&&r<=u+c.length)&&!pw(s,r,u,u+c.length))){if(c instanceof ls){if(n&ue.ExcludeBuffers)continue;let d=c.findChild(0,c.buffer.length,i,r-u,s);if(d>-1)return new Fi(new iQ(o,c,e,u),null,d)}else if(n&ue.IncludeAnonymous||!c.type.isAnonymous||Ug(c)){let d;if(!(n&ue.IgnoreMounts)&&(d=wn.get(c))&&!d.overlay)return new St(d.tree,u,e,o);let p=new St(c,u,e,o);return n&ue.IncludeAnonymous||!p.type.isAnonymous?p:p.nextChild(i<0?c.children.length-1:0,i,r,s,n)}}}if(n&ue.IncludeAnonymous||!o.type.isAnonymous||(o.index>=0?e=o.index+i:e=i<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,i,r=0){let s;if(!(r&ue.IgnoreOverlays)&&(s=wn.get(this._tree))&&s.overlay){let n=e-this.from,o=r&ue.EnterBracketed&&s.bracketed;for(let{from:l,to:a}of s.overlay)if((i>0||o?l<=n:l=n:a>n))return new St(s.tree,s.overlay[0].from+this.from,-1,this)}return this.nextChild(0,1,e,i,r)}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 C_(t,e,i,r){let s=t.cursor(),n=[];if(!s.firstChild())return n;if(i!=null){for(let o=!1;!o;)if(o=s.type.is(i),!s.nextSibling())return n}for(;;){if(r!=null&&s.type.is(r))return n;if(s.type.is(e)&&n.push(s.node),!s.nextSibling())return r==null?n:[]}}function Xd(t,e,i=e.length-1){for(let r=t;i>=0;r=r.parent){if(!r)return!1;if(!r.type.isAnonymous){if(e[i]&&e[i]!=r.name)return!1;i--}}return!0}class iQ{constructor(e,i,r,s){this.parent=e,this.buffer=i,this.index=r,this.start=s}}class Fi extends gw{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,i,r){super(),this.context=e,this._parent=i,this.index=r,this.type=e.buffer.set.types[e.buffer.buffer[r]]}child(e,i,r){let{buffer:s}=this.context,n=s.findChild(this.index+4,s.buffer[this.index+3],e,i-this.context.start,r);return n<0?null:new Fi(this.context,this,n)}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,i,r=0){if(r&ue.ExcludeBuffers)return null;let{buffer:s}=this.context,n=s.findChild(this.index+4,s.buffer[this.index+3],i>0?1:-1,e-this.context.start,i);return n<0?null:new Fi(this.context,this,n)}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,i=e.buffer[this.index+3];return i<(this._parent?e.buffer[this._parent.index+3]:e.buffer.length)?new Fi(this.context,this._parent,i):this.externalSibling(1)}get prevSibling(){let{buffer:e}=this.context,i=this._parent?this._parent.index+4:0;return this.index==i?this.externalSibling(-1):new Fi(this.context,this._parent,e.findChild(i,this.index,-1,0,4))}get tree(){return null}toTree(){let e=[],i=[],{buffer:r}=this.context,s=this.index+4,n=r.buffer[this.index+3];if(n>s){let o=r.buffer[this.index+1];e.push(r.slice(s,n,o)),i.push(0)}return new ae(this.type,e,i,this.to-this.from)}toString(){return this.context.buffer.childString(this.index)}}function Ow(t){if(!t.length)return null;let e=0,i=t[0];for(let n=1;ni.from||o.to=e){let l=new St(o.tree,o.overlay[0].from+n.from,-1,n);(s||(s=[r])).push(wl(l,e,i,!1))}}return s?Ow(s):r}class Fh{get name(){return this.type.name}constructor(e,i=0){if(this.buffer=null,this.stack=[],this.index=0,this.bufferNode=null,this.mode=i&~ue.EnterBracketed,e instanceof St)this.yieldNode(e);else{this._tree=e.context.parent,this.buffer=e.context;for(let r=e._parent;r;r=r._parent)this.stack.unshift(r.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,i){this.index=e;let{start:r,buffer:s}=this.buffer;return this.type=i||s.set.types[s.buffer[e]],this.from=r+s.buffer[e+1],this.to=r+s.buffer[e+2],!0}yield(e){return e?e instanceof St?(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,i,r){if(!this.buffer)return this.yield(this._tree.nextChild(e<0?this._tree._tree.children.length-1:0,e,i,r,this.mode));let{buffer:s}=this.buffer,n=s.findChild(this.index+4,s.buffer[this.index+3],e,i-this.buffer.start,r);return n<0?!1:(this.stack.push(this.index),this.yieldBuf(n))}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,i,r=this.mode){return this.buffer?r&ue.ExcludeBuffers?!1:this.enterChild(1,e,i):this.yield(this._tree.enter(e,i,r))}parent(){if(!this.buffer)return this.yieldNode(this.mode&ue.IncludeAnonymous?this._tree._parent:this._tree.parent);if(this.stack.length)return this.yieldBuf(this.stack.pop());let e=this.mode&ue.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:i}=this.buffer,r=this.stack.length-1;if(e<0){let s=r<0?0:this.stack[r]+4;if(this.index!=s)return this.yieldBuf(i.findChild(s,this.index,-1,0,4))}else{let s=i.buffer[this.index+3];if(s<(r<0?i.buffer.length:i.buffer[this.stack[r]+3]))return this.yieldBuf(s)}return r<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 i,r,{buffer:s}=this;if(s){if(e>0){if(this.index-1)for(let n=i+e,o=e<0?-1:r._tree.children.length;n!=o;n+=e){let l=r._tree.children[n];if(this.mode&ue.IncludeAnonymous||l instanceof ls||!l.type.isAnonymous||Ug(l))return!1}return!0}move(e,i){if(i&&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,i=0){for(;(this.from==this.to||(i<1?this.from>=e:this.from>e)||(i>-1?this.to<=e:this.to=0;){for(let o=e;o;o=o._parent)if(o.index==s){if(s==this.index)return o;i=o,r=n+1;break e}s=this.stack[--n]}for(let s=r;s=0;n--){if(n<0)return Xd(this._tree,e,s);let o=r[i.buffer[this.stack[n]]];if(!o.isAnonymous){if(e[s]&&e[s]!=o.name)return!1;s--}}return!0}}function Ug(t){return t.children.some(e=>e instanceof ls||!e.type.isAnonymous||Ug(e))}function nQ(t){var e;let{buffer:i,nodeSet:r,maxBufferLength:s=dw,reused:n=[],minRepeatType:o=r.types.length}=t,l=Array.isArray(i)?new Hg(i,i.length):i,a=r.types,h=0,c=0;function u(y,k,b,Q,j,I){let{id:B,start:$,end:C,size:R}=l,A=c,Z=h;if(R<0)if(l.next(),R==-1){let K=n[B];b.push(K),Q.push($-y);return}else if(R==-3){h=B;return}else if(R==-4){c=B;return}else throw new RangeError(`Unrecognized record size: ${R}`);let q=a[B],x,z,V=$-y;if(C-$<=s&&(z=v(l.pos-k,j))){let K=new Uint16Array(z.size-z.skip),J=l.pos-z.size,ge=K.length;for(;l.pos>J;)ge=O(z.start,K,ge);x=new ls(K,C-z.start,r),V=z.start-y}else{let K=l.pos-R;l.next();let J=[],ge=[],he=B>=o?B:-1,Be=0,ye=C;for(;l.pos>K;)he>=0&&l.id==he&&l.size>=0?(l.end<=ye-s&&(p(J,ge,$,Be,l.end,ye,he,A,Z),Be=J.length,ye=l.end),l.next()):I>2500?f($,K,J,ge):u($,K,J,ge,he,I+1);if(he>=0&&Be>0&&Be-1&&Be>0){let kt=d(q,Z);x=Gg(q,J,ge,0,J.length,0,C-$,kt,kt)}else x=g(q,J,ge,C-$,A-C,Z)}b.push(x),Q.push(V)}function f(y,k,b,Q){let j=[],I=0,B=-1;for(;l.pos>k;){let{id:$,start:C,end:R,size:A}=l;if(A>4)l.next();else{if(B>-1&&C=0;R-=3)$[A++]=j[R],$[A++]=j[R+1]-C,$[A++]=j[R+2]-C,$[A++]=A;b.push(new ls($,j[2]-C,r)),Q.push(C-y)}}function d(y,k){return(b,Q,j)=>{let I=0,B=b.length-1,$,C;if(B>=0&&($=b[B])instanceof ae){if(!B&&$.type==y&&$.length==j)return $;(C=$.prop(G.lookAhead))&&(I=Q[B]+$.length+C)}return g(y,b,Q,j,I,k)}}function p(y,k,b,Q,j,I,B,$,C){let R=[],A=[];for(;y.length>Q;)R.push(y.pop()),A.push(k.pop()+b-j);y.push(g(r.types[B],R,A,I-j,$-I,C)),k.push(j-b)}function g(y,k,b,Q,j,I,B){if(I){let $=[G.contextHash,I];B=B?[$].concat(B):[$]}if(j>25){let $=[G.lookAhead,j];B=B?[$].concat(B):[$]}return new ae(y,k,b,Q,B)}function v(y,k){let b=l.fork(),Q=0,j=0,I=0,B=b.end-s,$={size:0,start:0,skip:0};e:for(let C=b.pos-y;b.pos>C;){let R=b.size;if(b.id==k&&R>=0){$.size=Q,$.start=j,$.skip=I,I+=4,Q+=4,b.next();continue}let A=b.pos-R;if(R<0||A=o?4:0,q=b.start;for(b.next();b.pos>A;){if(b.size<0)if(b.size==-3||b.size==-4)Z+=4;else break e;else b.id>=o&&(Z+=4);b.next()}j=q,Q+=R,I+=Z}return(k<0||Q==y)&&($.size=Q,$.start=j,$.skip=I),$.size>4?$:void 0}function O(y,k,b){let{id:Q,start:j,end:I,size:B}=l;if(l.next(),B>=0&&Q4){let C=l.pos-(B-4);for(;l.pos>C;)b=O(y,k,b)}k[--b]=$,k[--b]=I-y,k[--b]=j-y,k[--b]=Q}else B==-3?h=Q:B==-4&&(c=Q);return b}let m=[],_=[];for(;l.pos>0;)u(t.start||0,t.bufferStart||0,m,_,-1,0);let S=(e=t.length)!==null&&e!==void 0?e:m.length?_[0]+m[0].length:0;return new ae(a[t.topID],m.reverse(),_.reverse(),S)}const P_=new WeakMap;function ih(t,e){if(!t.isAnonymous||e instanceof ls||e.type!=t)return 1;let i=P_.get(e);if(i==null){i=1;for(let r of e.children){if(r.type!=t||!(r instanceof ae)){i=1;break}i+=ih(t,r)}P_.set(e,i)}return i}function Gg(t,e,i,r,s,n,o,l,a){let h=0;for(let p=r;p=c)break;k+=b}if(_==S+1){if(k>c){let b=p[S];d(b.children,b.positions,0,b.children.length,g[S]+m);continue}u.push(p[S])}else{let b=g[_-1]+p[_-1].length-y;u.push(Gg(t,p,g,S,_,y,b,null,a))}f.push(y+m-n)}}return d(e,i,r,s,0),(l||a)(u,f,o)}class mw{constructor(){this.map=new WeakMap}setBuffer(e,i,r){let s=this.map.get(e);s||this.map.set(e,s=new Map),s.set(i,r)}getBuffer(e,i){let r=this.map.get(e);return r&&r.get(i)}set(e,i){e instanceof Fi?this.setBuffer(e.context.buffer,e.index,i):e instanceof St&&this.map.set(e.tree,i)}get(e){return e instanceof Fi?this.getBuffer(e.context.buffer,e.index):e instanceof St?this.map.get(e.tree):void 0}cursorSet(e,i){e.buffer?this.setBuffer(e.buffer.buffer,e.index,i):this.map.set(e.tree,i)}cursorGet(e){return e.buffer?this.getBuffer(e.buffer.buffer,e.index):this.map.get(e.tree)}}class gr{constructor(e,i,r,s,n=!1,o=!1){this.from=e,this.to=i,this.tree=r,this.offset=s,this.open=(n?1:0)|(o?2:0)}get openStart(){return(this.open&1)>0}get openEnd(){return(this.open&2)>0}static addTree(e,i=[],r=!1){let s=[new gr(0,e.length,e,0,!1,r)];for(let n of i)n.to>e.length&&s.push(n);return s}static applyChanges(e,i,r=128){if(!i.length)return e;let s=[],n=1,o=e.length?e[0]:null;for(let l=0,a=0,h=0;;l++){let c=l=r)for(;o&&o.from=f.from||u<=f.to||h){let d=Math.max(f.from,a)-h,p=Math.min(f.to,u)-h;f=d>=p?null:new gr(d,p,f.tree,f.offset+h,l>0,!!c)}if(f&&s.push(f),o.to>u)break;o=nnew ui(s.from,s.to)):[new ui(0,0)]:[new ui(0,e.length)],this.createParse(e,i||[],r)}parse(e,i,r){let s=this.startParse(e,i,r);for(;;){let n=s.advance();if(n)return n}}}class oQ{constructor(e){this.string=e}get length(){return this.string.length}chunk(e){return this.string.slice(e)}get lineChunks(){return!1}read(e,i){return this.string.slice(e,i)}}function _w(t){return(e,i,r,s)=>new aQ(e,t,i,r,s)}class $_{constructor(e,i,r,s,n,o){this.parser=e,this.parse=i,this.overlay=r,this.bracketed=s,this.target=n,this.from=o}}function Q_(t){if(!t.length||t.some(e=>e.from>=e.to))throw new RangeError("Invalid inner parse ranges given: "+JSON.stringify(t))}class lQ{constructor(e,i,r,s,n,o,l,a){this.parser=e,this.predicate=i,this.mounts=r,this.index=s,this.start=n,this.bracketed=o,this.target=l,this.prev=a,this.depth=0,this.ranges=[]}}const Id=new G({perNode:!0});class aQ{constructor(e,i,r,s,n){this.nest=i,this.input=r,this.fragments=s,this.ranges=n,this.inner=[],this.innerDone=0,this.baseTree=null,this.stoppedAt=null,this.baseParse=e}advance(){if(this.baseParse){let r=this.baseParse.advance();if(!r)return null;if(this.baseParse=null,this.baseTree=r,this.startInner(),this.stoppedAt!=null)for(let s of this.inner)s.parse.stopAt(this.stoppedAt)}if(this.innerDone==this.inner.length){let r=this.baseTree;return this.stoppedAt!=null&&(r=new ae(r.type,r.children,r.positions,r.length,r.propValues.concat([[Id,this.stoppedAt]]))),r}let e=this.inner[this.innerDone],i=e.parse.advance();if(i){this.innerDone++;let r=Object.assign(Object.create(null),e.target.props);r[G.mounted.id]=new wn(i,e.overlay,e.parser,e.bracketed),e.target.props=r}return null}get parsedPos(){if(this.baseParse)return 0;let e=this.input.length;for(let i=this.innerDone;i=this.stoppedAt)l=!1;else if(e.hasNode(s)){if(i){let h=i.mounts.find(c=>c.frag.from<=s.from&&c.frag.to>=s.to&&c.mount.overlay);if(h)for(let c of h.mount.overlay){let u=c.from+h.pos,f=c.to+h.pos;u>=s.from&&f<=s.to&&!i.ranges.some(d=>d.fromu)&&i.ranges.push({from:u,to:f})}}l=!1}else if(r&&(o=hQ(r.ranges,s.from,s.to)))l=o!=2;else if(!s.type.isAnonymous&&(n=this.nest(s,this.input))&&(s.fromnew ui(u.from-s.from,u.to-s.from)):null,!!n.bracketed,s.tree,c.length?c[0].from:s.from)),n.overlay?c.length&&(r={ranges:c,depth:0,prev:r}):l=!1}}else if(i&&(a=i.predicate(s))&&(a===!0&&(a=new ui(s.from,s.to)),a.from=0&&i.ranges[h].to==a.from?i.ranges[h]={from:i.ranges[h].from,to:a.to}:i.ranges.push(a)}if(l&&s.firstChild())i&&i.depth++,r&&r.depth++;else for(;!s.nextSibling();){if(!s.parent())break e;if(i&&!--i.depth){let h=R_(this.ranges,i.ranges);h.length&&(Q_(h),this.inner.splice(i.index,0,new $_(i.parser,i.parser.startParse(this.input,A_(i.mounts,h),h),i.ranges.map(c=>new ui(c.from-i.start,c.to-i.start)),i.bracketed,i.target,h[0].from))),i=i.prev}r&&!--r.depth&&(r=r.prev)}}}}function hQ(t,e,i){for(let r of t){if(r.from>=i)break;if(r.to>e)return r.from<=e&&r.to>=i?2:1}return 0}function T_(t,e,i,r,s,n){if(e=e&&i.enter(r,1,ue.IgnoreOverlays|ue.ExcludeBuffers)))if(i.to<=e)i.next(!1)||(this.done=!0);else break}hasNode(e){if(this.moveTo(e.from),!this.done&&this.cursor.from+this.offset==e.from&&this.cursor.tree)for(let i=this.cursor.tree;;){if(i==e.tree)return!0;if(i.children.length&&i.positions[0]==0&&i.children[0]instanceof ae)i=i.children[0];else break}return!1}}let uQ=class{constructor(e){var i;if(this.fragments=e,this.curTo=0,this.fragI=0,e.length){let r=this.curFrag=e[0];this.curTo=(i=r.tree.prop(Id))!==null&&i!==void 0?i:r.to,this.inner=new E_(r.tree,-r.offset)}else this.curFrag=this.inner=null}hasNode(e){for(;this.curFrag&&e.from>=this.curTo;)this.nextFrag();return this.curFrag&&this.curFrag.from<=e.from&&this.curTo>=e.to&&this.inner.hasNode(e)}nextFrag(){var e;if(this.fragI++,this.fragI==this.fragments.length)this.curFrag=this.inner=null;else{let i=this.curFrag=this.fragments[this.fragI];this.curTo=(e=i.tree.prop(Id))!==null&&e!==void 0?e:i.to,this.inner=new E_(i.tree,-i.offset)}}findMounts(e,i){var r;let s=[];if(this.inner){this.inner.cursor.moveTo(e,1);for(let n=this.inner.cursor.node;n;n=n.parent){let o=(r=n.tree)===null||r===void 0?void 0:r.prop(G.mounted);if(o&&o.parser==i)for(let l=this.fragI;l=n.to)break;a.tree==this.curFrag.tree&&s.push({frag:a,pos:n.from-a.offset,mount:o})}}}return s}};function R_(t,e){let i=null,r=e;for(let s=1,n=0;s=l)break;a.to<=o||(i||(r=i=e.slice()),a.froml&&i.splice(n+1,0,new ui(l,a.to))):a.to>l?i[n--]=new ui(l,a.to):i.splice(n--,1))}}return r}function fQ(t,e,i,r){let s=0,n=0,o=!1,l=!1,a=-1e9,h=[];for(;;){let c=s==t.length?1e9:o?t[s].to:t[s].from,u=n==e.length?1e9:l?e[n].to:e[n].from;if(o!=l){let f=Math.max(a,i),d=Math.min(c,u,r);fnew ui(f.from+r,f.to+r)),u=fQ(e,c,a,h);for(let f=0,d=a;;f++){let p=f==u.length,g=p?h:u[f].from;if(g>d&&i.push(new gr(d,g,s.tree,-o,n.from>=d||n.openStart,n.to<=g||n.openEnd)),p)break;d=u[f].to}}else i.push(new gr(a,h,s.tree,-o,n.from>=o||n.openStart,n.to<=l||n.openEnd))}return i}let dQ=0;class Gt{constructor(e,i,r,s){this.name=e,this.set=i,this.base=r,this.modified=s,this.id=dQ++}toString(){let{name:e}=this;for(let i of this.modified)i.name&&(e=`${i.name}(${e})`);return e}static define(e,i){let r=typeof e=="string"?e:"?";if(e instanceof Gt&&(i=e),i!=null&&i.base)throw new Error("Can not derive from a modified tag");let s=new Gt(r,[],null,[]);if(s.set.push(s),i)for(let n of i.set)s.set.push(n);return s}static defineModifier(e){let i=new Hh(e);return r=>r.modified.indexOf(i)>-1?r:Hh.get(r.base||r,r.modified.concat(i).sort((s,n)=>s.id-n.id))}}let pQ=0;class Hh{constructor(e){this.name=e,this.instances=[],this.id=pQ++}static get(e,i){if(!i.length)return e;let r=i[0].instances.find(l=>l.base==e&&gQ(i,l.modified));if(r)return r;let s=[],n=new Gt(e.name,s,e,i);for(let l of i)l.instances.push(n);let o=OQ(i);for(let l of e.set)if(!l.modified.length)for(let a of o)s.push(Hh.get(l,a));return n}}function gQ(t,e){return t.length==e.length&&t.every((i,r)=>i==e[r])}function OQ(t){let e=[[]];for(let i=0;ir.length-i.length)}function Fn(t){let e=Object.create(null);for(let i in t){let r=t[i];Array.isArray(r)||(r=[r]);for(let s of i.split(" "))if(s){let n=[],o=2,l=s;for(let u=0;;){if(l=="..."&&u>0&&u+3==s.length){o=1;break}let f=/^"(?:[^"\\]|\\.)*?"|[^\/!]+/.exec(l);if(!f)throw new RangeError("Invalid path: "+s);if(n.push(f[0]=="*"?"":f[0][0]=='"'?JSON.parse(f[0]):f[0]),u+=f[0].length,u==s.length)break;let d=s[u++];if(u==s.length&&d=="!"){o=0;break}if(d!="/")throw new RangeError("Invalid path: "+s);l=s.slice(u)}let a=n.length-1,h=n[a];if(!h)throw new RangeError("Invalid path: "+s);let c=new Uh(r,o,a>0?n.slice(0,a):null);e[h]=c.sort(e[h])}}return mQ.add(e)}const mQ=new G({combine(t,e){let i,r,s;for(;t||e;){if(!t||e&&t.depth>=e.depth?(s=e,e=e.next):(s=t,t=t.next),i&&i.mode==s.mode&&!s.context&&!i.context)continue;let n=new Uh(s.tags,s.mode,s.context);i?i.next=n:r=n,i=n}return r}});class Uh{constructor(e,i,r,s){this.tags=e,this.mode=i,this.context=r,this.next=s}get opaque(){return this.mode==0}get inherit(){return this.mode==1}sort(e){return!e||e.depth{let o=s;for(let l of n)for(let a of l.set){let h=i[a.id];if(h){o=o?o+" "+h:h;break}}return o},scope:r}}const D=Gt.define,$a=D(),Dr=D(),M_=D(Dr),L_=D(Dr),Br=D(),Qa=D(Br),Bu=D(Br),Xi=D(),fs=D(Xi),Di=D(),Bi=D(),Wd=D(),co=D(Wd),Ta=D(),w={comment:$a,lineComment:D($a),blockComment:D($a),docComment:D($a),name:Dr,variableName:D(Dr),typeName:M_,tagName:D(M_),propertyName:L_,attributeName:D(L_),className:D(Dr),labelName:D(Dr),namespace:D(Dr),macroName:D(Dr),literal:Br,string:Qa,docString:D(Qa),character:D(Qa),attributeValue:D(Qa),number:Bu,integer:D(Bu),float:D(Bu),bool:D(Br),regexp:D(Br),escape:D(Br),color:D(Br),url:D(Br),keyword:Di,self:D(Di),null:D(Di),atom:D(Di),unit:D(Di),modifier:D(Di),operatorKeyword:D(Di),controlKeyword:D(Di),definitionKeyword:D(Di),moduleKeyword:D(Di),operator:Bi,derefOperator:D(Bi),arithmeticOperator:D(Bi),logicOperator:D(Bi),bitwiseOperator:D(Bi),compareOperator:D(Bi),updateOperator:D(Bi),definitionOperator:D(Bi),typeOperator:D(Bi),controlOperator:D(Bi),punctuation:Wd,separator:D(Wd),bracket:co,angleBracket:D(co),squareBracket:D(co),paren:D(co),brace:D(co),content:Xi,heading:fs,heading1:D(fs),heading2:D(fs),heading3:D(fs),heading4:D(fs),heading5:D(fs),heading6:D(fs),contentSeparator:D(Xi),list:D(Xi),quote:D(Xi),emphasis:D(Xi),strong:D(Xi),link:D(Xi),monospace:D(Xi),strikethrough:D(Xi),inserted:D(),deleted:D(),changed:D(),invalid:D(),meta:Ta,documentMeta:D(Ta),annotation:D(Ta),processingInstruction:D(Ta),definition:Gt.defineModifier("definition"),constant:Gt.defineModifier("constant"),function:Gt.defineModifier("function"),standard:Gt.defineModifier("standard"),local:Gt.defineModifier("local"),special:Gt.defineModifier("special")};for(let t in w){let e=w[t];e instanceof Gt&&(e.name=t)}_Q([{tag:w.link,class:"tok-link"},{tag:w.heading,class:"tok-heading"},{tag:w.emphasis,class:"tok-emphasis"},{tag:w.strong,class:"tok-strong"},{tag:w.keyword,class:"tok-keyword"},{tag:w.atom,class:"tok-atom"},{tag:w.bool,class:"tok-bool"},{tag:w.url,class:"tok-url"},{tag:w.labelName,class:"tok-labelName"},{tag:w.inserted,class:"tok-inserted"},{tag:w.deleted,class:"tok-deleted"},{tag:w.literal,class:"tok-literal"},{tag:w.string,class:"tok-string"},{tag:w.number,class:"tok-number"},{tag:[w.regexp,w.escape,w.special(w.string)],class:"tok-string2"},{tag:w.variableName,class:"tok-variableName"},{tag:w.local(w.variableName),class:"tok-variableName tok-local"},{tag:w.definition(w.variableName),class:"tok-variableName tok-definition"},{tag:w.special(w.variableName),class:"tok-variableName2"},{tag:w.definition(w.propertyName),class:"tok-propertyName tok-definition"},{tag:w.typeName,class:"tok-typeName"},{tag:w.namespace,class:"tok-namespace"},{tag:w.className,class:"tok-className"},{tag:w.macroName,class:"tok-macroName"},{tag:w.propertyName,class:"tok-propertyName"},{tag:w.operator,class:"tok-operator"},{tag:w.comment,class:"tok-comment"},{tag:w.meta,class:"tok-meta"},{tag:w.invalid,class:"tok-invalid"},{tag:w.punctuation,class:"tok-punctuation"}]);var zu;const hn=new G;function Jg(t){return H.define({combine:t?e=>e.concat(t):void 0})}const eO=new G;class Pi{constructor(e,i,r=[],s=""){this.data=e,this.name=s,le.prototype.hasOwnProperty("tree")||Object.defineProperty(le.prototype,"tree",{get(){return Ie(this)}}),this.parser=i,this.extension=[Zn.of(this),le.languageData.of((n,o,l)=>{let a=D_(n,o,l),h=a.type.prop(hn);if(!h)return[];let c=n.facet(h),u=a.type.prop(eO);if(u){let f=a.resolve(o-a.from,l);for(let d of u)if(d.test(f,n)){let p=n.facet(d.facet);return d.type=="replace"?p:p.concat(c)}}return c})].concat(r)}isActiveAt(e,i,r=-1){return D_(e,i,r).type.prop(hn)==this.data}findRegions(e){let i=e.facet(Zn);if((i==null?void 0:i.data)==this.data)return[{from:0,to:e.doc.length}];if(!i||!i.allowsNesting)return[];let r=[],s=(n,o)=>{if(n.prop(hn)==this.data){r.push({from:o,to:o+n.length});return}let l=n.prop(G.mounted);if(l){if(l.tree.prop(hn)==this.data){if(l.overlay)for(let a of l.overlay)r.push({from:a.from+o,to:a.to+o});else r.push({from:o,to:o+n.length});return}else if(l.overlay){let a=r.length;if(s(l.tree,l.overlay[0].from+o),r.length>a)return}}for(let a=0;ar.isTop?i:void 0)]}),e.name)}configure(e,i){return new Bn(this.data,this.parser.configure(e),i||this.name)}get allowsNesting(){return this.parser.hasWrappers()}}function Ie(t){let e=t.field(Pi.state,!1);return e?e.tree:ae.empty}class vQ{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,i){let r=this.cursorPos-this.string.length;return e=this.cursorPos?this.doc.sliceString(e,i):this.string.slice(e-r,i-r)}}let uo=null;class kl{constructor(e,i,r=[],s,n,o,l,a){this.parser=e,this.state=i,this.fragments=r,this.tree=s,this.treeLen=n,this.viewport=o,this.skipped=l,this.scheduleOn=a,this.parse=null,this.tempSkipped=[]}static create(e,i,r){return new kl(e,i,[],ae.empty,0,r,[],null)}startParse(){return this.parser.startParse(new vQ(this.state.doc),this.fragments)}work(e,i){return i!=null&&i>=this.state.doc.length&&(i=void 0),this.tree!=ae.empty&&this.isDone(i??this.state.doc.length)?(this.takeTree(),!0):this.withContext(()=>{var r;if(typeof e=="number"){let s=Date.now()+e;e=()=>Date.now()>s}for(this.parse||(this.parse=this.startParse()),i!=null&&(this.parse.stoppedAt==null||this.parse.stoppedAt>i)&&i=this.treeLen&&((this.parse.stoppedAt==null||this.parse.stoppedAt>e)&&this.parse.stopAt(e),this.withContext(()=>{for(;!(i=this.parse.advance()););}),this.treeLen=e,this.tree=i,this.fragments=this.withoutTempSkipped(gr.addTree(this.tree,this.fragments,!0)),this.parse=null)}withContext(e){let i=uo;uo=this;try{return e()}finally{uo=i}}withoutTempSkipped(e){for(let i;i=this.tempSkipped.pop();)e=B_(e,i.from,i.to);return e}changes(e,i){let{fragments:r,tree:s,treeLen:n,viewport:o,skipped:l}=this;if(this.takeTree(),!e.empty){let a=[];if(e.iterChangedRanges((h,c,u,f)=>a.push({fromA:h,toA:c,fromB:u,toB:f})),r=gr.applyChanges(r,a),s=ae.empty,n=0,o={from:e.mapPos(o.from,-1),to:e.mapPos(o.to,1)},this.skipped.length){l=[];for(let h of this.skipped){let c=e.mapPos(h.from,1),u=e.mapPos(h.to,-1);ce.from&&(this.fragments=B_(this.fragments,s,n),this.skipped.splice(r--,1))}return this.skipped.length>=i?!1:(this.reset(),!0)}reset(){this.parse&&(this.takeTree(),this.parse=null)}skipUntilInView(e,i){this.skipped.push({from:e,to:i})}static getSkippingParser(e){return new class extends Kg{createParse(i,r,s){let n=s[0].from,o=s[s.length-1].to;return{parsedPos:n,advance(){let a=uo;if(a){for(let h of s)a.tempSkipped.push(h);e&&(a.scheduleOn=a.scheduleOn?Promise.all([a.scheduleOn,e]):e)}return this.parsedPos=o,new ae(Ke.none,[],[],o-n)},stoppedAt:null,stopAt(){}}}}}isDone(e){e=Math.min(e,this.state.doc.length);let i=this.fragments;return this.treeLen>=e&&i.length&&i[0].from==0&&i[0].to>=e}static get(){return uo}}function B_(t,e,i){return gr.applyChanges(t,[{fromA:e,toA:i,fromB:e,toB:i}])}class zn{constructor(e){this.context=e,this.tree=e.tree}apply(e){if(!e.docChanged&&this.tree==this.context.tree)return this;let i=this.context.changes(e.changes,e.state),r=this.context.treeLen==e.startState.doc.length?void 0:Math.max(e.changes.mapPos(this.context.treeLen),i.viewport.to);return i.work(20,r)||i.takeTree(),new zn(i)}static init(e){let i=Math.min(3e3,e.doc.length),r=kl.create(e.facet(Zn).parser,e,{from:0,to:i});return r.work(20,i)||r.takeTree(),new zn(r)}}Pi.state=kr.define({create:zn.init,update(t,e){for(let i of e.effects)if(i.is(Pi.setState))return i.value;return e.startState.facet(Zn)!=e.state.facet(Zn)?zn.init(e.state):t.apply(e)}});let vw=t=>{let e=setTimeout(()=>t(),500);return()=>clearTimeout(e)};typeof requestIdleCallback<"u"&&(vw=t=>{let e=-1,i=setTimeout(()=>{e=requestIdleCallback(t,{timeout:400})},100);return()=>e<0?clearTimeout(i):cancelIdleCallback(e)});const Zu=typeof navigator<"u"&&(!((zu=navigator.scheduling)===null||zu===void 0)&&zu.isInputPending)?()=>navigator.scheduling.isInputPending():null,SQ=zs.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 i=this.view.state.field(Pi.state).context;(i.updateViewport(e.view.viewport)||this.view.viewport.to>i.treeLen)&&this.scheduleWork(),(e.docChanged||e.selectionSet)&&(this.view.hasFocus&&(this.chunkBudget+=50),this.scheduleWork()),this.checkAsyncSchedule(i)}scheduleWork(){if(this.working)return;let{state:e}=this.view,i=e.field(Pi.state);(i.tree!=i.context.tree||!i.context.isDone(e.doc.length))&&(this.working=vw(this.work))}work(e){this.working=null;let i=Date.now();if(this.chunkEnds+1e3,a=n.context.work(()=>Zu&&Zu()||Date.now()>o,s+(l?0:1e5));this.chunkBudget-=Date.now()-i,(a||this.chunkBudget<=0)&&(n.context.takeTree(),this.view.dispatch({effects:Pi.setState.of(new zn(n.context))})),this.chunkBudget>0&&!(a&&!l)&&this.scheduleWork(),this.checkAsyncSchedule(n.context)}checkAsyncSchedule(e){e.scheduleOn&&(this.workScheduled++,e.scheduleOn.then(()=>this.scheduleWork()).catch(i=>qi(this.view.state,i)).then(()=>this.workScheduled--),e.scheduleOn=null)}destroy(){this.working&&this.working()}isWorking(){return!!(this.working||this.workScheduled>0)}},{eventHandlers:{focus(){this.scheduleWork()}}}),Zn=H.define({combine(t){return t.length?t[0]:null},enables:t=>[Pi.state,SQ,F.contentAttributes.compute([t],e=>{let i=e.facet(t);return i&&i.name?{"data-language":i.name}:{}})]});class bl{constructor(e,i=[]){this.language=e,this.support=i,this.extension=[e,i]}}class Gh{constructor(e,i,r,s,n,o=void 0){this.name=e,this.alias=i,this.extensions=r,this.filename=s,this.loadFunc=n,this.support=o,this.loading=null}load(){return this.loading||(this.loading=this.loadFunc().then(e=>this.support=e,e=>{throw this.loading=null,e}))}static of(e){let{load:i,support:r}=e;if(!i){if(!r)throw new RangeError("Must pass either 'load' or 'support' to LanguageDescription.of");i=()=>Promise.resolve(r)}return new Gh(e.name,(e.alias||[]).concat(e.name).map(s=>s.toLowerCase()),e.extensions||[],e.filename,i,r)}static matchFilename(e,i){for(let s of e)if(s.filename&&s.filename.test(i))return s;let r=/\.([^.]+)$/.exec(i);if(r){for(let s of e)if(s.extensions.indexOf(r[1])>-1)return s}return null}static matchLanguageName(e,i,r=!0){i=i.toLowerCase();for(let s of e)if(s.alias.some(n=>n==i))return s;if(r)for(let s of e)for(let n of s.alias){let o=i.indexOf(n);if(o>-1&&(n.length>2||!/\w/.test(i[o-1])&&!/\w/.test(i[o+n.length])))return s}return null}}const yQ=H.define(),Nl=H.define({combine:t=>{if(!t.length)return" ";let e=t[0];if(!e||/\S/.test(e)||Array.from(e).some(i=>i!=e[0]))throw new Error("Invalid indent unit: "+JSON.stringify(t[0]));return e}});function Kh(t){let e=t.facet(Nl);return e.charCodeAt(0)==9?t.tabSize*e.length:e.length}function Jh(t,e){let i="",r=t.tabSize,s=t.facet(Nl)[0];if(s==" "){for(;e>=r;)i+=" ",e-=r;s=" "}for(let n=0;n=e?wQ(t,i,e):null}class Xc{constructor(e,i={}){this.state=e,this.options=i,this.unit=Kh(e)}lineAt(e,i=1){let r=this.state.doc.lineAt(e),{simulateBreak:s,simulateDoubleBreak:n}=this.options;return s!=null&&s>=r.from&&s<=r.to?n&&s==e?{text:"",from:e}:(i<0?s-1&&(n+=o-this.countColumn(r,r.search(/\S|$/))),n}countColumn(e,i=e.length){return Sr(e,this.state.tabSize,i)}lineIndent(e,i=1){let{text:r,from:s}=this.lineAt(e,i),n=this.options.overrideIndentation;if(n){let o=n(s);if(o>-1)return o}return this.countColumn(r,r.search(/\S|$/))}get simulatedBreak(){return this.options.simulateBreak||null}}const jl=new G;function wQ(t,e,i){let r=e.resolveStack(i),s=e.resolveInner(i,-1).resolve(i,0).enterUnfinishedNodesBefore(i);if(s!=r.node){let n=[];for(let o=s;o&&!(o.fromr.node.to||o.from==r.node.from&&o.type==r.node.type);o=o.parent)n.push(o);for(let o=n.length-1;o>=0;o--)r={node:n[o],next:r}}return yw(r,t,i)}function yw(t,e,i){for(let r=t;r;r=r.next){let s=bQ(r.node);if(s)return s(tO.create(e,i,r))}return 0}function kQ(t){return t.pos==t.options.simulateBreak&&t.options.simulateDoubleBreak}function bQ(t){let e=t.type.prop(jl);if(e)return e;let i=t.firstChild,r;if(i&&(r=i.type.prop(G.closedBy))){let s=t.lastChild,n=s&&r.indexOf(s.name)>-1;return o=>ww(o,!0,1,void 0,n&&!kQ(o)?s.from:void 0)}return t.parent==null?xQ:null}function xQ(){return 0}class tO extends Xc{constructor(e,i,r){super(e.state,e.options),this.base=e,this.pos=i,this.context=r}get node(){return this.context.node}static create(e,i,r){return new tO(e,i,r)}get textAfter(){return this.textAfterPos(this.pos)}get baseIndent(){return this.baseIndentFor(this.node)}baseIndentFor(e){let i=this.state.doc.lineAt(e.from);for(;;){let r=e.resolve(i.from);for(;r.parent&&r.parent.from==r.from;)r=r.parent;if(CQ(r,e))break;i=this.state.doc.lineAt(r.from)}return this.lineIndent(i.from)}continue(){return yw(this.context.next,this.base,this.pos)}}function CQ(t,e){for(let i=e;i;i=i.parent)if(t==i)return!0;return!1}function PQ(t){let e=t.node,i=e.childAfter(e.from),r=e.lastChild;if(!i)return null;let s=t.options.simulateBreak,n=t.state.doc.lineAt(i.from),o=s==null||s<=n.from?n.to:Math.min(n.to,s);for(let l=i.to;;){let a=e.childAfter(l);if(!a||a==r)return null;if(!a.type.isSkipped){if(a.from>=o)return null;let h=/^ */.exec(n.text.slice(i.to-n.from))[0].length;return{from:i.from,to:i.to+h}}l=a.to}}function $Q({closing:t,align:e=!0,units:i=1}){return r=>ww(r,e,i,t)}function ww(t,e,i,r,s){let n=t.textAfter,o=n.match(/^\s*/)[0].length,l=r&&n.slice(o,o+r.length)==r||s==t.pos+o,a=e?PQ(t):null;return a?l?t.column(a.from):t.column(a.to):t.baseIndent+(l?0:t.unit*i)}const QQ=t=>t.baseIndent;function rh({except:t,units:e=1}={}){return i=>{let r=t&&t.test(i.textAfter);return i.baseIndent+(r?0:e*i.unit)}}const TQ=H.define(),Vl=new G;function kw(t){let e=t.firstChild,i=t.lastChild;return e&&e.to-1&&s%2==(e<0?1:0))return[i[s+e]]}return null}function jd(t){let e=t.type.prop(bw);return e?e(t.node):t}function cn(t,e,i,r={}){let s=r.maxScanDistance||EQ,n=r.brackets||RQ,o=Ie(t),l=o.resolveInner(e,i);for(let a=l;a;a=a.parent){let h=Nd(a.type,i,n);if(h&&a.from0?e>=c.from&&ec.from&&e<=c.to))return AQ(t,e,i,a,c,h,n)}}return MQ(t,e,i,o,l.type,s,n)}function AQ(t,e,i,r,s,n,o){let l=r.parent,a={from:s.from,to:s.to},h=0,c=l==null?void 0:l.cursor();if(c&&(i<0?c.childBefore(r.from):c.childAfter(r.to)))do if(i<0?c.to<=r.from:c.from>=r.to){if(h==0&&n.indexOf(c.type.name)>-1&&c.from0)return null;let h={from:i<0?e-1:e,to:i>0?e+1:e},c=t.doc.iterRange(e,i>0?t.doc.length:0),u=0;for(let f=0;!c.next().done&&f<=n;){let d=c.value;i<0&&(f+=d.length);let p=e+f*i;for(let g=i>0?0:d.length-1,v=i>0?d.length:-1;g!=v;g+=i){let O=o.indexOf(d[g]);if(!(O<0||r.resolveInner(p+g,1).type!=s))if(O%2==0==i>0)u++;else{if(u==1)return{start:h,end:{from:p+g,to:p+g+1},matched:O>>1==a>>1};u--}}i>0&&(f+=d.length)}return c.done?{start:h,matched:!1}:null}const LQ=Object.create(null),z_=[Ke.none],Z_=[],X_=Object.create(null),DQ=Object.create(null);for(let[t,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"]])DQ[t]=BQ(LQ,e);function Xu(t,e){Z_.indexOf(t)>-1||(Z_.push(t),console.warn(e))}function BQ(t,e){let i=[];for(let l of e.split(" ")){let a=[];for(let h of l.split(".")){let c=t[h]||w[h];c?typeof c=="function"?a.length?a=a.map(c):Xu(h,`Modifier ${h} used at start of tag`):a.length?Xu(h,`Tag ${h} used as modifier`):a=Array.isArray(c)?c:[c]:Xu(h,`Unknown highlighting tag ${h}`)}for(let h of a)i.push(h)}if(!i.length)return 0;let r=e.replace(/ /g,"_"),s=r+" "+i.map(l=>l.id),n=X_[s];if(n)return n.id;let o=X_[s]=Ke.define({id:z_.length,name:r,props:[Fn({[r]:i})]});return z_.push(o),o.id}Ye.RTL,Ye.LTR;const zQ=t=>{let{state:e}=t,i=e.doc.lineAt(e.selection.main.from),r=rO(t.state,i.from);return r.line?ZQ(t):r.block?IQ(t):!1};function iO(t,e){return({state:i,dispatch:r})=>{if(i.readOnly)return!1;let s=t(e,i);return s?(r(i.update(s)),!0):!1}}const ZQ=iO(jQ,0),XQ=iO(xw,0),IQ=iO((t,e)=>xw(t,e,NQ(e)),0);function rO(t,e){let i=t.languageDataAt("commentTokens",e,1);return i.length?i[0]:{}}const fo=50;function WQ(t,{open:e,close:i},r,s){let n=t.sliceDoc(r-fo,r),o=t.sliceDoc(s,s+fo),l=/\s*$/.exec(n)[0].length,a=/^\s*/.exec(o)[0].length,h=n.length-l;if(n.slice(h-e.length,h)==e&&o.slice(a,a+i.length)==i)return{open:{pos:r-l,margin:l&&1},close:{pos:s+a,margin:a&&1}};let c,u;s-r<=2*fo?c=u=t.sliceDoc(r,s):(c=t.sliceDoc(r,r+fo),u=t.sliceDoc(s-fo,s));let f=/^\s*/.exec(c)[0].length,d=/\s*$/.exec(u)[0].length,p=u.length-d-i.length;return c.slice(f,f+e.length)==e&&u.slice(p,p+i.length)==i?{open:{pos:r+f+e.length,margin:/\s/.test(c.charAt(f+e.length))?1:0},close:{pos:s-d-i.length,margin:/\s/.test(u.charAt(p-1))?1:0}}:null}function NQ(t){let e=[];for(let i of t.selection.ranges){let r=t.doc.lineAt(i.from),s=i.to<=r.to?r:t.doc.lineAt(i.to);s.from>r.from&&s.from==i.to&&(s=i.to==r.to+1?r:t.doc.lineAt(i.to-1));let n=e.length-1;n>=0&&e[n].to>r.from?e[n].to=s.to:e.push({from:r.from+/^\s*/.exec(r.text)[0].length,to:s.to})}return e}function xw(t,e,i=e.selection.ranges){let r=i.map(n=>rO(e,n.from).block);if(!r.every(n=>n))return null;let s=i.map((n,o)=>WQ(e,r[o],n.from,n.to));if(t!=2&&!s.every(n=>n))return{changes:e.changes(i.map((n,o)=>s[o]?[]:[{from:n.from,insert:r[o].open+" "},{from:n.to,insert:" "+r[o].close}]))};if(t!=1&&s.some(n=>n)){let n=[];for(let o=0,l;os&&(n==o||o>u.from)){s=u.from;let f=/^\s*/.exec(u.text)[0].length,d=f==u.length,p=u.text.slice(f,f+h.length)==h?f:-1;fn.comment<0&&(!n.empty||n.single))){let n=[];for(let{line:l,token:a,indent:h,empty:c,single:u}of r)(u||!c)&&n.push({from:l.from+h,insert:a+" "});let o=e.changes(n);return{changes:o,selection:e.selection.map(o,1)}}else if(t!=1&&r.some(n=>n.comment>=0)){let n=[];for(let{line:o,comment:l,token:a}of r)if(l>=0){let h=o.from+l,c=h+a.length;o.text[c-o.from]==" "&&c++,n.push({from:h,to:c})}return{changes:n}}return null}const Vd=br.define(),VQ=br.define(),YQ=H.define(),Cw=H.define({combine(t){return s$(t,{minDepth:100,newGroupDelay:500,joinToEvent:(e,i)=>i},{minDepth:Math.max,newGroupDelay:Math.min,joinToEvent:(e,i)=>(r,s)=>e(r,s)||i(r,s)})}}),Pw=kr.define({create(){return Hi.empty},update(t,e){let i=e.state.facet(Cw),r=e.annotation(Vd);if(r){let a=Zt.fromTransaction(e,r.selection),h=r.side,c=h==0?t.undone:t.done;return a?c=ec(c,c.length,i.minDepth,a):c=Tw(c,e.startState.selection),new Hi(h==0?r.rest:c,h==0?c:r.rest)}let s=e.annotation(VQ);if((s=="full"||s=="before")&&(t=t.isolate()),e.annotation(Ve.addToHistory)===!1)return e.changes.empty?t:t.addMapping(e.changes.desc);let n=Zt.fromTransaction(e),o=e.annotation(Ve.time),l=e.annotation(Ve.userEvent);return n?t=t.addChanges(n,o,l,i,e):e.selection&&(t=t.addSelection(e.startState.selection,o,l,i.newGroupDelay)),(s=="full"||s=="after")&&(t=t.isolate()),t},toJSON(t){return{done:t.done.map(e=>e.toJSON()),undone:t.undone.map(e=>e.toJSON())}},fromJSON(t){return new Hi(t.done.map(Zt.fromJSON),t.undone.map(Zt.fromJSON))}});function qQ(t={}){return[Pw,Cw.of(t),F.domEventHandlers({beforeinput(e,i){let r=e.inputType=="historyUndo"?$w:e.inputType=="historyRedo"?Yd:null;return r?(e.preventDefault(),r(i)):!1}})]}function Ic(t,e){return function({state:i,dispatch:r}){if(!e&&i.readOnly)return!1;let s=i.field(Pw,!1);if(!s)return!1;let n=s.pop(t,i,e);return n?(r(n),!0):!1}}const $w=Ic(0,!1),Yd=Ic(1,!1),FQ=Ic(0,!0),HQ=Ic(1,!0);class Zt{constructor(e,i,r,s,n){this.changes=e,this.effects=i,this.mapped=r,this.startSelection=s,this.selectionsAfter=n}setSelAfter(e){return new Zt(this.changes,this.effects,this.mapped,this.startSelection,e)}toJSON(){var e,i,r;return{changes:(e=this.changes)===null||e===void 0?void 0:e.toJSON(),mapped:(i=this.mapped)===null||i===void 0?void 0:i.toJSON(),startSelection:(r=this.startSelection)===null||r===void 0?void 0:r.toJSON(),selectionsAfter:this.selectionsAfter.map(s=>s.toJSON())}}static fromJSON(e){return new Zt(e.changes&&Ue.fromJSON(e.changes),[],e.mapped&&Ji.fromJSON(e.mapped),e.startSelection&&T.fromJSON(e.startSelection),e.selectionsAfter.map(T.fromJSON))}static fromTransaction(e,i){let r=fi;for(let s of e.startState.facet(YQ)){let n=s(e);n.length&&(r=r.concat(n))}return!r.length&&e.changes.empty?null:new Zt(e.changes.invert(e.startState.doc),r,void 0,i||e.startState.selection,fi)}static selection(e){return new Zt(void 0,fi,void 0,void 0,e)}}function ec(t,e,i,r){let s=e+1>i+20?e-i-1:0,n=t.slice(s,e);return n.push(r),n}function UQ(t,e){let i=[],r=!1;return t.iterChangedRanges((s,n)=>i.push(s,n)),e.iterChangedRanges((s,n,o,l)=>{for(let a=0;a=h&&o<=c&&(r=!0)}}),r}function GQ(t,e){return t.ranges.length==e.ranges.length&&t.ranges.filter((i,r)=>i.empty!=e.ranges[r].empty).length===0}function Qw(t,e){return t.length?e.length?t.concat(e):t:e}const fi=[],KQ=200;function Tw(t,e){if(t.length){let i=t[t.length-1],r=i.selectionsAfter.slice(Math.max(0,i.selectionsAfter.length-KQ));return r.length&&r[r.length-1].eq(e)?t:(r.push(e),ec(t,t.length-1,1e9,i.setSelAfter(r)))}else return[Zt.selection([e])]}function JQ(t){let e=t[t.length-1],i=t.slice();return i[t.length-1]=e.setSelAfter(e.selectionsAfter.slice(0,e.selectionsAfter.length-1)),i}function Iu(t,e){if(!t.length)return t;let i=t.length,r=fi;for(;i;){let s=eT(t[i-1],e,r);if(s.changes&&!s.changes.empty||s.effects.length){let n=t.slice(0,i);return n[i-1]=s,n}else e=s.mapped,i--,r=s.selectionsAfter}return r.length?[Zt.selection(r)]:fi}function eT(t,e,i){let r=Qw(t.selectionsAfter.length?t.selectionsAfter.map(l=>l.map(e)):fi,i);if(!t.changes)return Zt.selection(r);let s=t.changes.map(e),n=e.mapDesc(t.changes,!0),o=t.mapped?t.mapped.composeDesc(n):n;return new Zt(s,Ce.mapEffects(t.effects,e),o,t.startSelection.map(n),r)}const tT=/^(input\.type|delete)($|\.)/;class Hi{constructor(e,i,r=0,s=void 0){this.done=e,this.undone=i,this.prevTime=r,this.prevUserEvent=s}isolate(){return this.prevTime?new Hi(this.done,this.undone):this}addChanges(e,i,r,s,n){let o=this.done,l=o[o.length-1];return l&&l.changes&&!l.changes.empty&&e.changes&&(!r||tT.test(r))&&(!l.selectionsAfter.length&&i-this.prevTime0&&i-this.prevTimei.empty?t.moveByChar(i,e):Wc(i,e))}function wt(t){return t.textDirectionAt(t.state.selection.main.head)==Ye.LTR}const Rw=t=>Ew(t,!wt(t)),Aw=t=>Ew(t,wt(t));function Mw(t,e){return Ai(t,i=>i.empty?t.moveByGroup(i,e):Wc(i,e))}const rT=t=>Mw(t,!wt(t)),sT=t=>Mw(t,wt(t));function nT(t,e,i){if(e.type.prop(i))return!0;let r=e.to-e.from;return r&&(r>2||/[^\s,.;:]/.test(t.sliceDoc(e.from,e.to)))||e.firstChild}function Nc(t,e,i){let r=Ie(t).resolveInner(e.head),s=i?G.closedBy:G.openedBy;for(let a=e.head;;){let h=i?r.childAfter(a):r.childBefore(a);if(!h)break;nT(t,h,s)?r=h:a=i?h.to:h.from}let n=r.type.prop(s),o,l;return n&&(o=i?cn(t,r.from,1):cn(t,r.to,-1))&&o.matched?l=i?o.end.to:o.end.from:l=i?r.to:r.from,T.cursor(l,i?-1:1)}const oT=t=>Ai(t,e=>Nc(t.state,e,!wt(t))),lT=t=>Ai(t,e=>Nc(t.state,e,wt(t)));function Lw(t,e){return Ai(t,i=>{if(!i.empty)return Wc(i,e);let r=t.moveVertically(i,e);return r.head!=i.head?r:t.moveToLineBoundary(i,e)})}const Dw=t=>Lw(t,!1),Bw=t=>Lw(t,!0);function zw(t){let e=t.scrollDOM.clientHeighto.empty?t.moveVertically(o,e,i.height):Wc(o,e));if(s.eq(r.selection))return!1;let n;if(i.selfScroll){let o=t.coordsAtPos(r.selection.main.head),l=t.scrollDOM.getBoundingClientRect(),a=l.top+i.marginTop,h=l.bottom-i.marginBottom;o&&o.top>a&&o.bottomZw(t,!1),qd=t=>Zw(t,!0);function us(t,e,i){let r=t.lineBlockAt(e.head),s=t.moveToLineBoundary(e,i);if(s.head==e.head&&s.head!=(i?r.to:r.from)&&(s=t.moveToLineBoundary(e,i,!1)),!i&&s.head==r.from&&r.length){let n=/^\s*/.exec(t.state.sliceDoc(r.from,Math.min(r.from+100,r.to)))[0].length;n&&e.head!=r.from+n&&(s=T.cursor(r.from+n))}return s}const aT=t=>Ai(t,e=>us(t,e,!0)),hT=t=>Ai(t,e=>us(t,e,!1)),cT=t=>Ai(t,e=>us(t,e,!wt(t))),uT=t=>Ai(t,e=>us(t,e,wt(t))),fT=t=>Ai(t,e=>T.cursor(t.lineBlockAt(e.head).from,1)),dT=t=>Ai(t,e=>T.cursor(t.lineBlockAt(e.head).to,-1));function pT(t,e,i){let r=!1,s=Hn(t.selection,n=>{let o=cn(t,n.head,-1)||cn(t,n.head,1)||n.head>0&&cn(t,n.head-1,1)||n.headpT(t,e);function _i(t,e){let i=Hn(t.state.selection,r=>{let s=e(r);return T.range(r.anchor,s.head,s.goalColumn,s.bidiLevel||void 0,s.assoc)});return i.eq(t.state.selection)?!1:(t.dispatch(Ri(t.state,i)),!0)}function Xw(t,e){return _i(t,i=>t.moveByChar(i,e))}const Iw=t=>Xw(t,!wt(t)),Ww=t=>Xw(t,wt(t));function Nw(t,e){return _i(t,i=>t.moveByGroup(i,e))}const OT=t=>Nw(t,!wt(t)),mT=t=>Nw(t,wt(t)),_T=t=>_i(t,e=>Nc(t.state,e,!wt(t))),vT=t=>_i(t,e=>Nc(t.state,e,wt(t)));function jw(t,e){return _i(t,i=>t.moveVertically(i,e))}const Vw=t=>jw(t,!1),Yw=t=>jw(t,!0);function qw(t,e){return _i(t,i=>t.moveVertically(i,e,zw(t).height))}const W_=t=>qw(t,!1),N_=t=>qw(t,!0),ST=t=>_i(t,e=>us(t,e,!0)),yT=t=>_i(t,e=>us(t,e,!1)),wT=t=>_i(t,e=>us(t,e,!wt(t))),kT=t=>_i(t,e=>us(t,e,wt(t))),bT=t=>_i(t,e=>T.cursor(t.lineBlockAt(e.head).from)),xT=t=>_i(t,e=>T.cursor(t.lineBlockAt(e.head).to)),j_=({state:t,dispatch:e})=>(e(Ri(t,{anchor:0})),!0),V_=({state:t,dispatch:e})=>(e(Ri(t,{anchor:t.doc.length})),!0),Y_=({state:t,dispatch:e})=>(e(Ri(t,{anchor:t.selection.main.anchor,head:0})),!0),q_=({state:t,dispatch:e})=>(e(Ri(t,{anchor:t.selection.main.anchor,head:t.doc.length})),!0),CT=({state:t,dispatch:e})=>(e(t.update({selection:{anchor:0,head:t.doc.length},userEvent:"select"})),!0),PT=({state:t,dispatch:e})=>{let i=jc(t).map(({from:r,to:s})=>T.range(r,Math.min(s+1,t.doc.length)));return e(t.update({selection:T.create(i),userEvent:"select"})),!0},$T=({state:t,dispatch:e})=>{let i=Hn(t.selection,r=>{let s=Ie(t),n=s.resolveStack(r.from,1);if(r.empty){let o=s.resolveStack(r.from,-1);o.node.from>=n.node.from&&o.node.to<=n.node.to&&(n=o)}for(let o=n;o;o=o.next){let{node:l}=o;if((l.from=r.to||l.to>r.to&&l.from<=r.from)&&o.next)return T.range(l.to,l.from)}return r});return i.eq(t.selection)?!1:(e(Ri(t,i)),!0)};function Fw(t,e){let{state:i}=t,r=i.selection,s=i.selection.ranges.slice();for(let n of i.selection.ranges){let o=i.doc.lineAt(n.head);if(e?o.to0)for(let l=n;;){let a=t.moveVertically(l,e);if(a.heado.to){s.some(h=>h.head==a.head)||s.push(a);break}else{if(a.head==l.head)break;l=a}}}return s.length==r.ranges.length?!1:(t.dispatch(Ri(i,T.create(s,s.length-1))),!0)}const QT=t=>Fw(t,!1),TT=t=>Fw(t,!0),ET=({state:t,dispatch:e})=>{let i=t.selection,r=null;return i.ranges.length>1?r=T.create([i.main]):i.main.empty||(r=T.create([T.cursor(i.main.head)])),r?(e(Ri(t,r)),!0):!1};function Yl(t,e){if(t.state.readOnly)return!1;let i="delete.selection",{state:r}=t,s=r.changeByRange(n=>{let{from:o,to:l}=n;if(o==l){let a=e(n);ao&&(i="delete.forward",a=Ea(t,a,!0)),o=Math.min(o,a),l=Math.max(l,a)}else o=Ea(t,o,!1),l=Ea(t,l,!0);return o==l?{range:n}:{changes:{from:o,to:l},range:T.cursor(o,os(t)))r.between(e,e,(s,n)=>{se&&(e=i?n:s)});return e}const Hw=(t,e,i)=>Yl(t,r=>{let s=r.from,{state:n}=t,o=n.doc.lineAt(s),l,a;if(i&&!e&&s>o.from&&sHw(t,!1,!0),Uw=t=>Hw(t,!0,!1),Gw=(t,e)=>Yl(t,i=>{let r=i.head,{state:s}=t,n=s.doc.lineAt(r),o=s.charCategorizer(r);for(let l=null;;){if(r==(e?n.to:n.from)){r==i.head&&n.number!=(e?s.doc.lines:1)&&(r+=e?1:-1);break}let a=vt(n.text,r-n.from,e)+n.from,h=n.text.slice(Math.min(r,a)-n.from,Math.max(r,a)-n.from),c=o(h);if(l!=null&&c!=l)break;(h!=" "||r!=i.head)&&(l=c),r=a}return r}),Kw=t=>Gw(t,!1),RT=t=>Gw(t,!0),AT=t=>Yl(t,e=>{let i=t.lineBlockAt(e.head).to;return e.headYl(t,e=>{let i=t.moveToLineBoundary(e,!1).head;return e.head>i?i:Math.max(0,e.head-1)}),LT=t=>Yl(t,e=>{let i=t.moveToLineBoundary(e,!0).head;return e.head{if(t.readOnly)return!1;let i=t.changeByRange(r=>({changes:{from:r.from,to:r.to,insert:oe.of(["",""])},range:T.cursor(r.from)}));return e(t.update(i,{scrollIntoView:!0,userEvent:"input"})),!0},BT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=t.changeByRange(r=>{if(!r.empty||r.from==0||r.from==t.doc.length)return{range:r};let s=r.from,n=t.doc.lineAt(s),o=s==n.from?s-1:vt(n.text,s-n.from,!1)+n.from,l=s==n.to?s+1:vt(n.text,s-n.from,!0)+n.from;return{changes:{from:o,to:l,insert:t.doc.slice(s,l).append(t.doc.slice(o,s))},range:T.cursor(l)}});return i.changes.empty?!1:(e(t.update(i,{scrollIntoView:!0,userEvent:"move.character"})),!0)};function jc(t){let e=[],i=-1;for(let r of t.selection.ranges){let s=t.doc.lineAt(r.from),n=t.doc.lineAt(r.to);if(!r.empty&&r.to==n.from&&(n=t.doc.lineAt(r.to-1)),i>=s.number){let o=e[e.length-1];o.to=n.to,o.ranges.push(r)}else e.push({from:s.from,to:n.to,ranges:[r]});i=n.number+1}return e}function Jw(t,e,i){if(t.readOnly)return!1;let r=[],s=[];for(let n of jc(t)){if(i?n.to==t.doc.length:n.from==0)continue;let o=t.doc.lineAt(i?n.to+1:n.from-1),l=o.length+1;if(i){r.push({from:n.to,to:o.to},{from:n.from,insert:o.text+t.lineBreak});for(let a of n.ranges)s.push(T.range(Math.min(t.doc.length,a.anchor+l),Math.min(t.doc.length,a.head+l)))}else{r.push({from:o.from,to:n.from},{from:n.to,insert:t.lineBreak+o.text});for(let a of n.ranges)s.push(T.range(a.anchor-l,a.head-l))}}return r.length?(e(t.update({changes:r,scrollIntoView:!0,selection:T.create(s,t.selection.mainIndex),userEvent:"move.line"})),!0):!1}const zT=({state:t,dispatch:e})=>Jw(t,e,!1),ZT=({state:t,dispatch:e})=>Jw(t,e,!0);function ek(t,e,i){if(t.readOnly)return!1;let r=[];for(let n of jc(t))i?r.push({from:n.from,insert:t.doc.slice(n.from,n.to)+t.lineBreak}):r.push({from:n.to,insert:t.lineBreak+t.doc.slice(n.from,n.to)});let s=t.changes(r);return e(t.update({changes:s,selection:t.selection.map(s,i?1:-1),scrollIntoView:!0,userEvent:"input.copyline"})),!0}const XT=({state:t,dispatch:e})=>ek(t,e,!1),IT=({state:t,dispatch:e})=>ek(t,e,!0),WT=t=>{if(t.state.readOnly)return!1;let{state:e}=t,i=e.changes(jc(e).map(({from:s,to:n})=>(s>0?s--:n{let n;if(t.lineWrapping){let o=t.lineBlockAt(s.head),l=t.coordsAtPos(s.head,s.assoc||1);l&&(n=o.bottom+t.documentTop-l.bottom+t.defaultLineHeight/2)}return t.moveVertically(s,!0,n)}).map(i);return t.dispatch({changes:i,selection:r,scrollIntoView:!0,userEvent:"delete.line"}),!0};function NT(t,e){if(/\(\)|\[\]|\{\}/.test(t.sliceDoc(e-1,e+1)))return{from:e,to:e};let i=Ie(t).resolveInner(e),r=i.childBefore(e),s=i.childAfter(e),n;return r&&s&&r.to<=e&&s.from>=e&&(n=r.type.prop(G.closedBy))&&n.indexOf(s.name)>-1&&t.doc.lineAt(r.to).from==t.doc.lineAt(s.from).from&&!/\S/.test(t.sliceDoc(r.to,s.from))?{from:r.to,to:s.from}:null}const F_=tk(!1),jT=tk(!0);function tk(t){return({state:e,dispatch:i})=>{if(e.readOnly)return!1;let r=e.changeByRange(s=>{let{from:n,to:o}=s,l=e.doc.lineAt(n),a=!t&&n==o&&NT(e,n);t&&(n=o=(o<=l.to?l:e.doc.lineAt(o)).to);let h=new Xc(e,{simulateBreak:n,simulateDoubleBreak:!!a}),c=Sw(h,n);for(c==null&&(c=Sr(/^\s*/.exec(e.doc.lineAt(n).text)[0],e.tabSize));ol.from&&n{let s=[];for(let o=r.from;o<=r.to;){let l=t.doc.lineAt(o);l.number>i&&(r.empty||r.to>l.from)&&(e(l,s,r),i=l.number),o=l.to+1}let n=t.changes(s);return{changes:s,range:T.range(n.mapPos(r.anchor,1),n.mapPos(r.head,1))}})}const VT=({state:t,dispatch:e})=>{if(t.readOnly)return!1;let i=Object.create(null),r=new Xc(t,{overrideIndentation:n=>{let o=i[n];return o??-1}}),s=sO(t,(n,o,l)=>{let a=Sw(r,n.from);if(a==null)return;/\S/.test(n.text)||(a=0);let h=/^\s*/.exec(n.text)[0],c=Jh(t,a);(h!=c||l.fromt.readOnly?!1:(e(t.update(sO(t,(i,r)=>{r.push({from:i.from,insert:t.facet(Nl)})}),{userEvent:"input.indent"})),!0),qT=({state:t,dispatch:e})=>t.readOnly?!1:(e(t.update(sO(t,(i,r)=>{let s=/^\s*/.exec(i.text)[0];if(!s)return;let n=Sr(s,t.tabSize),o=0,l=Jh(t,Math.max(0,n-Kh(t)));for(;o(t.setTabFocusMode(),!0),HT=[{key:"Ctrl-b",run:Rw,shift:Iw,preventDefault:!0},{key:"Ctrl-f",run:Aw,shift:Ww},{key:"Ctrl-p",run:Dw,shift:Vw},{key:"Ctrl-n",run:Bw,shift:Yw},{key:"Ctrl-a",run:fT,shift:bT},{key:"Ctrl-e",run:dT,shift:xT},{key:"Ctrl-d",run:Uw},{key:"Ctrl-h",run:Fd},{key:"Ctrl-k",run:AT},{key:"Ctrl-Alt-h",run:Kw},{key:"Ctrl-o",run:DT},{key:"Ctrl-t",run:BT},{key:"Ctrl-v",run:qd}],UT=[{key:"ArrowLeft",run:Rw,shift:Iw,preventDefault:!0},{key:"Mod-ArrowLeft",mac:"Alt-ArrowLeft",run:rT,shift:OT,preventDefault:!0},{mac:"Cmd-ArrowLeft",run:cT,shift:wT,preventDefault:!0},{key:"ArrowRight",run:Aw,shift:Ww,preventDefault:!0},{key:"Mod-ArrowRight",mac:"Alt-ArrowRight",run:sT,shift:mT,preventDefault:!0},{mac:"Cmd-ArrowRight",run:uT,shift:kT,preventDefault:!0},{key:"ArrowUp",run:Dw,shift:Vw,preventDefault:!0},{mac:"Cmd-ArrowUp",run:j_,shift:Y_},{mac:"Ctrl-ArrowUp",run:I_,shift:W_},{key:"ArrowDown",run:Bw,shift:Yw,preventDefault:!0},{mac:"Cmd-ArrowDown",run:V_,shift:q_},{mac:"Ctrl-ArrowDown",run:qd,shift:N_},{key:"PageUp",run:I_,shift:W_},{key:"PageDown",run:qd,shift:N_},{key:"Home",run:hT,shift:yT,preventDefault:!0},{key:"Mod-Home",run:j_,shift:Y_},{key:"End",run:aT,shift:ST,preventDefault:!0},{key:"Mod-End",run:V_,shift:q_},{key:"Enter",run:F_,shift:F_},{key:"Mod-a",run:CT},{key:"Backspace",run:Fd,shift:Fd,preventDefault:!0},{key:"Delete",run:Uw,preventDefault:!0},{key:"Mod-Backspace",mac:"Alt-Backspace",run:Kw,preventDefault:!0},{key:"Mod-Delete",mac:"Alt-Delete",run:RT,preventDefault:!0},{mac:"Mod-Backspace",run:MT,preventDefault:!0},{mac:"Mod-Delete",run:LT,preventDefault:!0}].concat(HT.map(t=>({mac:t.key,run:t.run,shift:t.shift}))),GT=[{key:"Alt-ArrowLeft",mac:"Ctrl-ArrowLeft",run:oT,shift:_T},{key:"Alt-ArrowRight",mac:"Ctrl-ArrowRight",run:lT,shift:vT},{key:"Alt-ArrowUp",run:zT},{key:"Shift-Alt-ArrowUp",run:XT},{key:"Alt-ArrowDown",run:ZT},{key:"Shift-Alt-ArrowDown",run:IT},{key:"Mod-Alt-ArrowUp",run:QT},{key:"Mod-Alt-ArrowDown",run:TT},{key:"Escape",run:ET},{key:"Mod-Enter",run:jT},{key:"Alt-l",mac:"Ctrl-l",run:PT},{key:"Mod-i",run:$T,preventDefault:!0},{key:"Mod-[",run:qT},{key:"Mod-]",run:YT},{key:"Mod-Alt-\\",run:VT},{key:"Shift-Mod-k",run:WT},{key:"Shift-Mod-\\",run:gT},{key:"Mod-/",run:zQ},{key:"Alt-A",run:XQ},{key:"Ctrl-m",mac:"Shift-Alt-m",run:FT}].concat(UT);class KT{constructor(e,i,r,s){this.state=e,this.pos=i,this.explicit=r,this.view=s,this.abortListeners=[],this.abortOnDocChange=!1}tokenBefore(e){let i=Ie(this.state).resolveInner(this.pos,-1);for(;i&&e.indexOf(i.name)<0;)i=i.parent;return i?{from:i.from,to:this.pos,text:this.state.sliceDoc(i.from,this.pos),type:i.type}:null}matchBefore(e){let i=this.state.doc.lineAt(this.pos),r=Math.max(i.from,this.pos-250),s=i.text.slice(r-i.from,this.pos-i.from),n=s.search(iE(e));return n<0?null:{from:r+n,to:this.pos,text:s.slice(n)}}get aborted(){return this.abortListeners==null}addEventListener(e,i,r){e=="abort"&&this.abortListeners&&(this.abortListeners.push(i),r&&r.onDocChange&&(this.abortOnDocChange=!0))}}function H_(t){let e=Object.keys(t).join(""),i=/\w/.test(e);return i&&(e=e.replace(/\w/g,"")),`[${i?"\\w":""}${e.replace(/[^\w\s]/g,"\\$&")}]`}function JT(t){let e=Object.create(null),i=Object.create(null);for(let{label:s}of t){e[s[0]]=!0;for(let n=1;ntypeof s=="string"?{label:s}:s),[i,r]=e.every(s=>/^\w+$/.test(s.label))?[/\w*$/,/\w+$/]:JT(e);return s=>{let n=s.matchBefore(r);return n||s.explicit?{from:n?n.from:s.pos,options:e,validFor:i}:null}}function tE(t,e){return i=>{for(let r=Ie(i.state).resolveInner(i.pos,-1);r;r=r.parent){if(t.indexOf(r.name)>-1)return null;if(r.type.isTop)break}return e(i)}}function iE(t,e){var i;let{source:r}=t,s=r[r.length-1]!="$";return s?new RegExp(`(?:${r})${s?"$":""}`,(i=t.flags)!==null&&i!==void 0?i:t.ignoreCase?"i":""):t}const rE=br.define(),sE=F.baseTheme({".cm-tooltip.cm-tooltip-autocomplete":{"& > ul":{fontFamily:"monospace",whiteSpace:"nowrap",overflow:"hidden auto",maxWidth_fallback:"700px",maxWidth:"min(700px, 95vw)",minWidth:"250px",maxHeight:"10em",height:"100%",listStyle:"none",margin:0,padding:0,"& > li, & > completion-section":{padding:"1px 3px",lineHeight:1.2},"& > li":{overflowX:"hidden",textOverflow:"ellipsis",cursor:"pointer"},"& > completion-section":{display:"list-item",borderBottom:"1px solid silver",paddingLeft:"0.5em",opacity:.7}}},"&light .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#17c",color:"white"},"&light .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#777"},"&dark .cm-tooltip-autocomplete ul li[aria-selected]":{background:"#347",color:"white"},"&dark .cm-tooltip-autocomplete-disabled ul li[aria-selected]":{background:"#444"},".cm-completionListIncompleteTop:before, .cm-completionListIncompleteBottom:after":{content:'"···"',opacity:.5,display:"block",textAlign:"center",cursor:"pointer"},".cm-tooltip.cm-completionInfo":{position:"absolute",padding:"3px 9px",width:"max-content",maxWidth:"400px",boxSizing:"border-box",whiteSpace:"pre-line"},".cm-completionInfo.cm-completionInfo-left":{right:"100%"},".cm-completionInfo.cm-completionInfo-right":{left:"100%"},".cm-completionInfo.cm-completionInfo-left-narrow":{right:"30px"},".cm-completionInfo.cm-completionInfo-right-narrow":{left:"30px"},"&light .cm-snippetField":{backgroundColor:"#00000022"},"&dark .cm-snippetField":{backgroundColor:"#ffffff22"},".cm-snippetFieldPosition":{verticalAlign:"text-top",width:0,height:"1.15em",display:"inline-block",margin:"0 -0.7px -.7em",borderLeft:"1.4px dotted #888"},".cm-completionMatchedText":{textDecoration:"underline"},".cm-completionDetail":{marginLeft:"0.5em",fontStyle:"italic"},".cm-completionIcon":{fontSize:"90%",width:".8em",display:"inline-block",textAlign:"center",paddingRight:".6em",opacity:"0.6",boxSizing:"content-box"},".cm-completionIcon-function, .cm-completionIcon-method":{"&:after":{content:"'ƒ'"}},".cm-completionIcon-class":{"&:after":{content:"'○'"}},".cm-completionIcon-interface":{"&:after":{content:"'◌'"}},".cm-completionIcon-variable":{"&:after":{content:"'𝑥'"}},".cm-completionIcon-constant":{"&:after":{content:"'𝐶'"}},".cm-completionIcon-type":{"&:after":{content:"'𝑡'"}},".cm-completionIcon-enum":{"&:after":{content:"'∪'"}},".cm-completionIcon-property":{"&:after":{content:"'□'"}},".cm-completionIcon-keyword":{"&:after":{content:"'🔑︎'"}},".cm-completionIcon-namespace":{"&:after":{content:"'▢'"}},".cm-completionIcon-text":{"&:after":{content:"'abc'",fontSize:"50%",verticalAlign:"middle"}}});class nE{constructor(e,i,r,s){this.field=e,this.line=i,this.from=r,this.to=s}}class nO{constructor(e,i,r){this.field=e,this.from=i,this.to=r}map(e){let i=e.mapPos(this.from,-1,Pt.TrackDel),r=e.mapPos(this.to,1,Pt.TrackDel);return i==null||r==null?null:new nO(this.field,i,r)}}class oO{constructor(e,i){this.lines=e,this.fieldPositions=i}instantiate(e,i){let r=[],s=[i],n=e.doc.lineAt(i),o=/^\s*/.exec(n.text)[0];for(let a of this.lines){if(r.length){let h=o,c=/^\t*/.exec(a)[0].length;for(let u=0;unew nO(a.field,s[a.line]+a.from,s[a.line]+a.to));return{text:r,ranges:l}}static parse(e){let i=[],r=[],s=[],n;for(let o of e.split(/\r\n?|\n/)){for(;n=/[#$]\{(?:(\d+)(?::([^{}]*))?|((?:\\[{}]|[^{}])*))\}/.exec(o);){let l=n[1]?+n[1]:null,a=n[2]||n[3]||"",h=-1,c=a.replace(/\\[{}]/g,u=>u[1]);for(let u=0;u=h&&f.field++}for(let u of s)if(u.line==r.length&&u.from>n.index){let f=n[2]?3+(n[1]||"").length:2;u.from-=f,u.to-=f}s.push(new nE(h,r.length,n.index,n.index+c.length)),o=o.slice(0,n.index)+a+o.slice(n.index+n[0].length)}o=o.replace(/\\([{}])/g,(l,a,h)=>{for(let c of s)c.line==r.length&&c.from>h&&(c.from--,c.to--);return a}),r.push(o)}return new oO(r,s)}}let oE=Se.widget({widget:new class extends zl{toDOM(){let t=document.createElement("span");return t.className="cm-snippetFieldPosition",t}ignoreEvent(){return!1}}}),lE=Se.mark({class:"cm-snippetField"});class Un{constructor(e,i){this.ranges=e,this.active=i,this.deco=Se.set(e.map(r=>(r.from==r.to?oE:lE).range(r.from,r.to)),!0)}map(e){let i=[];for(let r of this.ranges){let s=r.map(e);if(!s)return null;i.push(s)}return new Un(i,this.active)}selectionInsideField(e){return e.ranges.every(i=>this.ranges.some(r=>r.field==this.active&&r.from<=i.from&&r.to>=i.to))}}const ql=Ce.define({map(t,e){return t&&t.map(e)}}),aE=Ce.define(),xl=kr.define({create(){return null},update(t,e){for(let i of e.effects){if(i.is(ql))return i.value;if(i.is(aE)&&t)return new Un(t.ranges,i.value)}return t&&e.docChanged&&(t=t.map(e.changes)),t&&e.selection&&!t.selectionInsideField(e.selection)&&(t=null),t},provide:t=>F.decorations.from(t,e=>e?e.deco:Se.none)});function lO(t,e){return T.create(t.filter(i=>i.field==e).map(i=>T.range(i.from,i.to)))}function hE(t){let e=oO.parse(t);return(i,r,s,n)=>{let{text:o,ranges:l}=e.instantiate(i.state,s),{main:a}=i.state.selection,h={changes:{from:s,to:n==a.from?a.to:n,insert:oe.of(o)},scrollIntoView:!0,annotations:r?[rE.of(r),Ve.userEvent.of("input.complete")]:void 0};if(l.length&&(h.selection=lO(l,0)),l.some(c=>c.field>0)){let c=new Un(l,0),u=h.effects=[ql.of(c)];i.state.field(xl,!1)===void 0&&u.push(Ce.appendConfig.of([xl,pE,gE,sE]))}i.dispatch(i.state.update(h))}}function ik(t){return({state:e,dispatch:i})=>{let r=e.field(xl,!1);if(!r||t<0&&r.active==0)return!1;let s=r.active+t,n=t>0&&!r.ranges.some(o=>o.field==s+t);return i(e.update({selection:lO(r.ranges,s),effects:ql.of(n?null:new Un(r.ranges,s)),scrollIntoView:!0})),!0}}const cE=({state:t,dispatch:e})=>t.field(xl,!1)?(e(t.update({effects:ql.of(null)})),!0):!1,uE=ik(1),fE=ik(-1),dE=[{key:"Tab",run:uE,shift:fE},{key:"Escape",run:cE}],U_=H.define({combine(t){return t.length?t[0]:dE}}),pE=Rc.highest(Zc.compute([U_],t=>t.facet(U_)));function Lt(t,e){return{...e,apply:hE(t)}}const gE=F.domEventHandlers({mousedown(t,e){let i=e.state.field(xl,!1),r;if(!i||(r=e.posAtCoords({x:t.clientX,y:t.clientY}))==null)return!1;let s=i.ranges.find(n=>n.from<=r&&n.to>=r);return!s||s.field==i.active?!1:(e.dispatch({selection:lO(i.ranges,s.field),effects:ql.of(i.ranges.some(n=>n.field>s.field)?new Un(i.ranges,s.field):null),scrollIntoView:!0}),!0)}}),rk=new class extends ss{};rk.startSide=1;rk.endSide=-1;class tc{static create(e,i,r,s,n){let o=s+(s<<8)+e+(i<<4)|0;return new tc(e,i,r,o,n,[],[])}constructor(e,i,r,s,n,o,l){this.type=e,this.value=i,this.from=r,this.hash=s,this.end=n,this.children=o,this.positions=l,this.hashProp=[[G.contextHash,s]]}addChild(e,i){e.prop(G.contextHash)!=this.hash&&(e=new ae(e.type,e.children,e.positions,e.length,this.hashProp)),this.children.push(e),this.positions.push(i)}toTree(e,i=this.end){let r=this.children.length-1;return r>=0&&(i=Math.max(i,this.positions[r]+this.children[r].length+this.from)),new ae(e.types[this.type],this.children,this.positions,i-this.from).balance({makeTree:(s,n,o)=>new ae(Ke.none,s,n,o,this.hashProp)})}}var M;(function(t){t[t.Document=1]="Document",t[t.CodeBlock=2]="CodeBlock",t[t.FencedCode=3]="FencedCode",t[t.Blockquote=4]="Blockquote",t[t.HorizontalRule=5]="HorizontalRule",t[t.BulletList=6]="BulletList",t[t.OrderedList=7]="OrderedList",t[t.ListItem=8]="ListItem",t[t.ATXHeading1=9]="ATXHeading1",t[t.ATXHeading2=10]="ATXHeading2",t[t.ATXHeading3=11]="ATXHeading3",t[t.ATXHeading4=12]="ATXHeading4",t[t.ATXHeading5=13]="ATXHeading5",t[t.ATXHeading6=14]="ATXHeading6",t[t.SetextHeading1=15]="SetextHeading1",t[t.SetextHeading2=16]="SetextHeading2",t[t.HTMLBlock=17]="HTMLBlock",t[t.LinkReference=18]="LinkReference",t[t.Paragraph=19]="Paragraph",t[t.CommentBlock=20]="CommentBlock",t[t.ProcessingInstructionBlock=21]="ProcessingInstructionBlock",t[t.Escape=22]="Escape",t[t.Entity=23]="Entity",t[t.HardBreak=24]="HardBreak",t[t.Emphasis=25]="Emphasis",t[t.StrongEmphasis=26]="StrongEmphasis",t[t.Link=27]="Link",t[t.Image=28]="Image",t[t.InlineCode=29]="InlineCode",t[t.HTMLTag=30]="HTMLTag",t[t.Comment=31]="Comment",t[t.ProcessingInstruction=32]="ProcessingInstruction",t[t.Autolink=33]="Autolink",t[t.HeaderMark=34]="HeaderMark",t[t.QuoteMark=35]="QuoteMark",t[t.ListMark=36]="ListMark",t[t.LinkMark=37]="LinkMark",t[t.EmphasisMark=38]="EmphasisMark",t[t.CodeMark=39]="CodeMark",t[t.CodeText=40]="CodeText",t[t.CodeInfo=41]="CodeInfo",t[t.LinkTitle=42]="LinkTitle",t[t.LinkLabel=43]="LinkLabel",t[t.URL=44]="URL"})(M||(M={}));class OE{constructor(e,i){this.start=e,this.content=i,this.marks=[],this.parsers=[]}}class mE{constructor(){this.text="",this.baseIndent=0,this.basePos=0,this.depth=0,this.markers=[],this.pos=0,this.indent=0,this.next=-1}forward(){this.basePos>this.pos&&this.forwardInner()}forwardInner(){let e=this.skipSpace(this.basePos);this.indent=this.countIndent(e,this.pos,this.indent),this.pos=e,this.next=e==this.text.length?-1:this.text.charCodeAt(e)}skipSpace(e){return Ho(this.text,e)}reset(e){for(this.text=e,this.baseIndent=this.basePos=this.pos=this.indent=0,this.forwardInner(),this.depth=1;this.markers.length;)this.markers.pop()}moveBase(e){this.basePos=e,this.baseIndent=this.countIndent(e,this.pos,this.indent)}moveBaseColumn(e){this.baseIndent=e,this.basePos=this.findColumn(e)}addMarker(e){this.markers.push(e)}countIndent(e,i=0,r=0){for(let s=i;s=e.stack[i.depth+1].value+i.baseIndent)return!0;if(i.indent>=i.baseIndent+4)return!1;let r=(t.type==M.OrderedList?cO:hO)(i,e,!1);return r>0&&(t.type!=M.BulletList||aO(i,e,!1)<0)&&i.text.charCodeAt(i.pos+r-1)==t.value}const sk={[M.Blockquote](t,e,i){return i.next!=62?!1:(i.markers.push(re(M.QuoteMark,e.lineStart+i.pos,e.lineStart+i.pos+1)),i.moveBase(i.pos+(vi(i.text.charCodeAt(i.pos+1))?2:1)),t.end=e.lineStart+i.text.length,!0)},[M.ListItem](t,e,i){return i.indent-1?!1:(i.moveBaseColumn(i.baseIndent+t.value),!0)},[M.OrderedList]:G_,[M.BulletList]:G_,[M.Document](){return!0}};function vi(t){return t==32||t==9||t==10||t==13}function Ho(t,e=0){for(;ei&&vi(t.charCodeAt(e-1));)e--;return e}function nk(t){if(t.next!=96&&t.next!=126)return-1;let e=t.pos+1;for(;e-1&&t.depth==e.stack.length&&e.parser.leafBlockParsers.indexOf(dk.SetextHeading)>-1||r<3?-1:1}function lk(t,e){for(let i=t.stack.length-1;i>=0;i--)if(t.stack[i].type==e)return!0;return!1}function hO(t,e,i){return(t.next==45||t.next==43||t.next==42)&&(t.pos==t.text.length-1||vi(t.text.charCodeAt(t.pos+1)))&&(!i||lk(e,M.BulletList)||t.skipSpace(t.pos+2)=48&&s<=57;){r++;if(r==t.text.length)return-1;s=t.text.charCodeAt(r)}return r==t.pos||r>t.pos+9||s!=46&&s!=41||rt.pos+1||t.next!=49)?-1:r+1-t.pos}function ak(t){if(t.next!=35)return-1;let e=t.pos+1;for(;e6?-1:i}function hk(t){if(t.next!=45&&t.next!=61||t.indent>=t.baseIndent+4)return-1;let e=t.pos+1;for(;e/,uk=/\?>/,Ud=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/,pk=/\?>/,Jd=[[/^<(?:script|pre|style)(?:\s|>|$)/i,/<\/(?:script|pre|style)>/i],[/^\s*/i.exec(r);if(n)return t.append(re(M.Comment,i,i+1+n[0].length));let o=/^\?[^]*?\?>/.exec(r);if(o)return t.append(re(M.ProcessingInstruction,i,i+1+o[0].length));let l=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(r);return l?t.append(re(M.HTMLTag,i,i+1+l[0].length)):-1},Emphasis(t,e,i){if(e!=95&&e!=42)return-1;let r=i+1;for(;t.char(r)==e;)r++;let s=t.slice(i-1,i),n=t.slice(r,r+1),o=Pl.test(s),l=Pl.test(n),a=/\s|^$/.test(s),h=/\s|^$/.test(n),c=!h&&(!l||a||o),u=!a&&(!o||h||l),f=c&&(e==42||!u||o),d=u&&(e==42||!c||l);return t.append(new Ut(e==95?_k:vk,i,r,(f?1:0)|(d?2:0)))},HardBreak(t,e,i){if(e==92&&t.char(i+1)==10)return t.append(re(M.HardBreak,i,i+2));if(e==32){let r=i+1;for(;t.char(r)==32;)r++;if(t.char(r)==10&&r>=i+2)return t.append(re(M.HardBreak,i,r+1))}return-1},Link(t,e,i){return e==91?t.append(new Ut(ys,i,i+1,1)):-1},Image(t,e,i){return e==33&&t.char(i+1)==91?t.append(new Ut(ic,i,i+2,1)):-1},LinkEnd(t,e,i){if(e!=93)return-1;for(let r=t.parts.length-1;r>=0;r--){let s=t.parts[r];if(s instanceof Ut&&(s.type==ys||s.type==ic)){if(!s.side||t.skipSpace(s.to)==i&&!/[(\[]/.test(t.slice(i+1,i+2)))return t.parts[r]=null,-1;let n=t.takeContent(r),o=t.parts[r]=kE(t,n,s.type==ys?M.Link:M.Image,s.from,i+1);if(s.type==ys)for(let l=0;le?re(M.URL,e+i,n+i):n==t.length?null:!1}}function yk(t,e,i){let r=t.charCodeAt(e);if(r!=39&&r!=34&&r!=40)return!1;let s=r==40?41:r;for(let n=e+1,o=!1;n=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,i){return this.text.slice(e-this.offset,i-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,i,r,s,n){return this.append(new Ut(e,i,r,(s?1:0)|(n?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let i=this.parts[e];if(i instanceof Ut&&(i.type==ys||i.type==ic))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let r=e;r=e;a--){let g=this.parts[a];if(g instanceof Ut&&g.side&1&&g.type==s.type&&!(n&&(s.side&1||g.side&2)&&(g.to-g.from+o)%3==0&&((g.to-g.from)%3||o%3))){l=g;break}}if(!l)continue;let h=s.type.resolve,c=[],u=l.from,f=s.to;if(n){let g=Math.min(2,l.to-l.from,o);u=l.to-g,f=s.from+g,h=g==1?"Emphasis":"StrongEmphasis"}l.type.mark&&c.push(this.elt(l.type.mark,u,l.to));for(let g=a+1;g=0;i--){let r=this.parts[i];if(r instanceof Ut&&r.type==e&&r.side&1)return i}return null}takeContent(e){let i=this.resolveMarkers(e);return this.parts.length=e,i}getDelimiterAt(e){let i=this.parts[e];return i instanceof Ut?i:null}skipSpace(e){return Ho(this.text,e-this.offset)+this.offset}elt(e,i,r,s){return typeof e=="string"?re(this.parser.getNodeType(e),i,r,s):new mk(e,i)}}uO.linkStart=ys;uO.imageStart=ic;function Kd(t,e){if(!e.length)return t;if(!t.length)return e;let i=t.slice(),r=0;for(let s of e){for(;r(e?e-1:0))return!1;if(this.fragmentEnd<0){let n=this.fragment.to;for(;n>0&&this.input.read(n-1,n)!=` -`;)n--;this.fragmentEnd=n?n-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let s=e+this.fragment.offset;for(;r.to<=s;)if(!r.parent())return!1;for(;;){if(r.from>=s)return this.fragment.from<=i;if(!r.childAfter(s))return!1}}matches(e){let i=this.cursor.tree;return i&&i.prop(G.contextHash)==e}takeNodes(e){let i=this.cursor,r=this.fragment.offset,s=this.fragmentEnd-(this.fragment.openEnd?1:0),n=e.absoluteLineStart,o=n,l=e.block.children.length,a=o,h=l;for(;;){if(i.to-r>s){if(i.type.isAnonymous&&i.firstChild())continue;break}let c=kk(i.from-r,e.ranges);if(i.to-r<=e.ranges[e.rangeI].to)e.addNode(i.tree,c);else{let u=new ae(e.parser.nodeSet.types[M.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(u,i.tree),e.addNode(u,c)}if(i.type.is("Block")&&(bE.indexOf(i.type.id)<0?(o=i.to-r,l=e.block.children.length):(o=a,l=h),a=i.to-r,h=e.block.children.length),!i.nextSibling())break}for(;e.block.children.length>l;)e.block.children.pop(),e.block.positions.pop();return o-n}};function kk(t,e){let i=t;for(let r=1;rRa[t]),Object.keys(Ra).map(t=>dk[t]),Object.keys(Ra),SE,sk,Object.keys(Nu).map(t=>Nu[t]),Object.keys(Nu),[]);function $E(t,e,i){let r=[];for(let s=t.firstChild,n=e;;s=s.nextSibling){let o=s?s.from:i;if(o>n&&r.push({from:n,to:o}),!s)break;n=s.to}return r}function QE(t){let{codeParser:e,htmlParser:i}=t;return{wrap:_w((s,n)=>{let o=s.type.id;if(e&&(o==M.CodeBlock||o==M.FencedCode)){let l="";if(o==M.FencedCode){let h=s.node.getChild(M.CodeInfo);h&&(l=n.read(h.from,h.to))}let a=e(l);if(a)return{parser:a,overlay:h=>h.type.id==M.CodeText,bracketed:o==M.FencedCode}}else if(i&&(o==M.HTMLBlock||o==M.HTMLTag||o==M.CommentBlock))return{parser:i,overlay:$E(s.node,s.from,s.to)};return null})}}const TE={resolve:"Strikethrough",mark:"StrikethroughMark"},EE={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":w.strikethrough}},{name:"StrikethroughMark",style:w.processingInstruction}],parseInline:[{name:"Strikethrough",parse(t,e,i){if(e!=126||t.char(i+1)!=126||t.char(i+2)==126)return-1;let r=t.slice(i-1,i),s=t.slice(i+2,i+3),n=/\s|^$/.test(r),o=/\s|^$/.test(s),l=Pl.test(r),a=Pl.test(s);return t.addDelimiter(TE,i,i+2,!o&&(!a||n||l),!n&&(!l||o||a))},after:"Emphasis"}]};function Uo(t,e,i=0,r,s=0){let n=0,o=!0,l=-1,a=-1,h=!1,c=()=>{r.push(t.elt("TableCell",s+l,s+a,t.parser.parseInline(e.slice(l,a),s+l)))};for(let u=i;u-1)&&n++,o=!1,r&&(l>-1&&c(),r.push(t.elt("TableDelimiter",u+s,u+s+1))),l=a=-1):(h||f!=32&&f!=9)&&(l<0&&(l=u),a=u+1),h=!h&&f==92}return l>-1&&(n++,r&&c()),n}function t0(t,e){for(let i=e;is instanceof i0)||!t0(e.text,e.basePos))return!1;let r=t.peekLine();return bk.test(r)&&Uo(t,e.text,e.basePos)==Uo(t,r,e.basePos)},before:"SetextHeading"}]};class AE{nextLine(){return!1}finish(e,i){return e.addLeafElement(i,e.elt("Task",i.start,i.start+i.content.length,[e.elt("TaskMarker",i.start,i.start+3),...e.parser.parseInline(i.content.slice(3),i.start+3)])),!0}}const ME={defineNodes:[{name:"Task",block:!0,style:w.list},{name:"TaskMarker",style:w.atom}],parseBlock:[{name:"TaskList",leaf(t,e){return/^\[[ xX]\][ \t]/.test(e.content)&&t.parentType().name=="ListItem"?new AE:null},after:"SetextHeading"}]},r0=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,s0=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,LE=/[\w-]+\.[\w-]+($|\/)/,n0=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,o0=/\/[a-zA-Z\d@.]+/gy;function l0(t,e,i,r){let s=0;for(let n=e;n-1)return-1;let r=e+i[0].length;for(;;){let s=t[r-1],n;if(/[?!.,:*_~]/.test(s)||s==")"&&l0(t,e,r,")")>l0(t,e,r,"("))r--;else if(s==";"&&(n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(t.slice(e,r))))r=e+n.index;else break}return r}function a0(t,e){n0.lastIndex=e;let i=n0.exec(t);if(!i)return-1;let r=i[0][i[0].length-1];return r=="_"||r=="-"?-1:e+i[0].length-(r=="."?1:0)}const BE={parseInline:[{name:"Autolink",parse(t,e,i){let r=i-t.offset;if(r&&/\w/.test(t.text[r-1]))return-1;r0.lastIndex=r;let s=r0.exec(t.text),n=-1;if(!s)return-1;if(s[1]||s[2]){if(n=DE(t.text,r+s[0].length),n>-1&&t.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(t.text.slice(r,n));n=r+o[0].length}}else s[3]?n=a0(t.text,r):(n=a0(t.text,r+s[0].length),n>-1&&s[0]=="xmpp:"&&(o0.lastIndex=n,s=o0.exec(t.text),s&&(n=s.index+s[0].length)));return n<0?-1:(t.addElement(t.elt("URL",i,n+t.offset)),n+t.offset)}}]},zE=[RE,ME,EE,BE];function xk(t,e,i){return(r,s,n)=>{if(s!=t||r.char(n+1)==t)return-1;let o=[r.elt(i,n,n+1)];for(let l=n+1;li%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,i,r=0){let s=e.parser.context;return new rc(e,[],i,r,r,0,[],0,s?new c0(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,i){this.stack.push(this.state,i,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var i;let r=e>>19,s=e&65535,{parser:n}=this.p,o=this.reducePos=2e3&&!(!((i=this.p.parser.nodeSet.types[s])===null||i===void 0)&&i.isAnonymous)&&(h==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizea;)this.stack.pop();this.reduceContext(s,h)}storeNode(e,i,r,s=4,n=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(i==r)return;if(this.buffer[o-2]>=i){this.buffer[o-2]=r;return}}}if(!n||this.pos==r)this.buffer.push(e,i,r,s);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let l=!1;for(let a=o;a>0&&this.buffer[a-2]>r;a-=4)if(this.buffer[a-1]>=0){l=!0;break}if(l)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,s>4&&(s-=4)}this.buffer[o]=e,this.buffer[o+1]=i,this.buffer[o+2]=r,this.buffer[o+3]=s}}shift(e,i,r,s){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=s,this.shiftContext(i,r),i<=this.p.parser.maxNode&&this.buffer.push(i,r,s,4);else{let n=e,{parser:o}=this.p;this.pos=s;let l=o.stateFlag(n,1);!l&&(s>r||i<=o.maxNode)&&(this.reducePos=s),this.pushState(n,l?r:Math.min(r,this.reducePos)),this.shiftContext(i,r),i<=o.maxNode&&this.buffer.push(i,r,s,4)}}apply(e,i,r,s){e&65536?this.reduce(e):this.shift(e,i,r,s)}useNode(e,i){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(i,s),this.buffer.push(r,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,i=e.buffer.length;for(i&&e.buffer[i-4]==0&&(i-=4);i>0&&e.buffer[i-2]>e.reducePos;)i-=4;let r=e.buffer.slice(i),s=e.bufferBase+i;for(;e&&s==e.bufferBase;)e=e.parent;return new rc(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,i){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,i,4),this.storeNode(0,this.pos,i,r?8:4),this.pos=this.reducePos=i,this.score-=190}canShift(e){for(let i=new WE(this);;){let r=this.p.parser.stateSlot(i.state,4)||this.p.parser.hasAction(i.state,e);if(r==0)return!1;if(!(r&65536))return!0;i.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let i=this.p.parser.nextStates(this.state);if(i.length>8||this.stack.length>=120){let s=[];for(let n=0,o;na&1&&l==o)||s.push(i[n],o)}i=s}let r=[];for(let s=0;s>19,s=i&65535,n=this.stack.length-r*3;if(n<0||e.getGoto(this.stack[n],s,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;i=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(i),!0}findForcedReduction(){let{parser:e}=this.p,i=[],r=(s,n)=>{if(!i.includes(s))return i.push(s),e.allActions(s,o=>{if(!(o&393216))if(o&65536){let l=(o>>19)-n;if(l>1){let a=o&65535,h=this.stack.length-l*3;if(h>=0&&e.getGoto(this.stack[h],a,!1)>=0)return l<<19|65536|a}}else{let l=r(o,n+1);if(l!=null)return l}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let i=0;i0&&this.emitLookAhead()}}class c0{constructor(e,i){this.tracker=e,this.context=i,this.hash=e.strict?e.hash(i):0}}class WE{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let i=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],i,!0);this.state=s}}class sc{constructor(e,i,r){this.stack=e,this.pos=i,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,i=e.bufferBase+e.buffer.length){return new sc(e,i,i-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}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]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new sc(this.stack,this.pos,this.index)}}function Qo(t,e=Uint16Array){if(typeof t!="string")return t;let i=null;for(let r=0,s=0;r=92&&o--,o>=34&&o--;let a=o-32;if(a>=46&&(a-=46,l=!0),n+=a,l)break;n*=46}i?i[s++]=n:i=new e(n)}return i}class sh{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const u0=new sh;class NE{constructor(e,i){this.input=e,this.ranges=i,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=u0,this.rangeIndex=0,this.pos=this.chunkPos=i[0].from,this.range=i[0],this.end=i[i.length-1].to,this.readNext()}resolveOffset(e,i){let r=this.range,s=this.rangeIndex,n=this.pos+e;for(;nr.to:n>=r.to;){if(s==this.ranges.length-1)return null;let o=this.ranges[++s];n+=o.from-r.to,r=o}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,i.from);return this.end}peek(e){let i=this.chunkOff+e,r,s;if(i>=0&&i=this.chunk2Pos&&rl.to&&(this.chunk2=this.chunk2.slice(0,l.to-r)),s=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),s}acceptToken(e,i=0){let r=i?this.resolveOffset(i,-1):this.pos;if(r==null||r=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,i){if(i?(this.token=i,i.start=e,i.lookAhead=e+1,i.value=i.extended=-1):this.token=u0,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&i<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,i-this.chunkPos);if(e>=this.chunk2Pos&&i<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,i-this.chunk2Pos);if(e>=this.range.from&&i<=this.range.to)return this.input.read(e,i);let r="";for(let s of this.ranges){if(s.from>=i)break;s.to>e&&(r+=this.input.read(Math.max(s.from,e),Math.min(s.to,i)))}return r}}class kn{constructor(e,i){this.data=e,this.id=i}token(e,i){let{parser:r}=i.p;Ck(this.data,e,i,this.id,r.data,r.tokenPrecTable)}}kn.prototype.contextual=kn.prototype.fallback=kn.prototype.extend=!1;class nc{constructor(e,i,r){this.precTable=i,this.elseToken=r,this.data=typeof e=="string"?Qo(e):e}token(e,i){let r=e.pos,s=0;for(;;){let n=e.next<0,o=e.resolveOffset(1,1);if(Ck(this.data,e,i,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(n||s++,o==null)break;e.reset(o,e.token)}s&&(e.reset(r,e.token),e.acceptToken(this.elseToken,s))}}nc.prototype.contextual=kn.prototype.fallback=kn.prototype.extend=!1;class ri{constructor(e,i={}){this.token=e,this.contextual=!!i.contextual,this.fallback=!!i.fallback,this.extend=!!i.extend}}function Ck(t,e,i,r,s,n){let o=0,l=1<0){let p=t[d];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||jE(p,e.token.value,s,n))){e.acceptToken(p);break}}let c=e.next,u=0,f=t[o+2];if(e.next<0&&f>u&&t[h+f*3-3]==65535){o=t[h+f*3-1];continue e}for(;u>1,p=h+d+(d<<1),g=t[p],v=t[p+1]||65536;if(c=v)u=d+1;else{o=t[p+2],e.advance();continue e}}break}}function f0(t,e,i){for(let r=e,s;(s=t[r])!=65535;r++)if(s==i)return r-e;return-1}function jE(t,e,i,r){let s=f0(i,r,e);return s<0||f0(i,r,t)e)&&!r.type.isError)return i<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(i<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return i<0?0:t.length}}class VE{constructor(e,i){this.fragments=e,this.nodeSet=i,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?d0(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?d0(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(n instanceof ae){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(o),this.index.push(0))}else this.index[i]++,this.nextStart=o+n.length}}}class YE{constructor(e,i){this.stream=i,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new sh)}getActions(e){let i=0,r=null,{parser:s}=e.p,{tokenizers:n}=s,o=s.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let h=0;hu.end+25&&(a=Math.max(u.lookAhead,a)),u.value!=0)){let f=i;if(u.extended>-1&&(i=this.addActions(e,u.extended,u.end,i)),i=this.addActions(e,u.value,u.end,i),!c.extend&&(r=u,i>f))break}}for(;this.actions.length>i;)this.actions.pop();return a&&e.setLookAhead(a),!r&&e.pos==this.stream.end&&(r=new sh,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,i=this.addActions(e,r.value,r.end,i)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let i=new sh,{pos:r,p:s}=e;return i.start=r,i.end=Math.min(r+1,s.stream.end),i.value=r==s.stream.end?s.parser.eofTerm:0,i}updateCachedToken(e,i,r){let s=this.stream.clipPos(r.pos);if(i.token(this.stream.reset(s,e),r),e.value>-1){let{parser:n}=r.p;for(let o=0;o=0&&r.p.parser.dialect.allows(l>>1)){l&1?e.extended=l>>1:e.value=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,i,r,s){for(let n=0;ne.bufferLength*4?new VE(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,i=this.minStackPos,r=this.stacks=[],s,n;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;oi)r.push(l);else{if(this.advanceStack(l,r,e))continue;{s||(s=[],n=[]),s.push(l);let a=this.tokens.getMainToken(l);n.push(a.value,a.end)}}break}}if(!r.length){let o=s&&HE(s);if(o)return jt&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw jt&&s&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&s){let o=this.stoppedAt!=null&&s[0].pos>this.stoppedAt?s[0]:this.runRecovery(s,n,r);if(o)return jt&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((l,a)=>a.score-l.score);r.length>o;)r.pop();r.some(l=>l.reducePos>i)&&this.recovering--}else if(r.length>1){e:for(let o=0;o500&&h.buffer.length>500)if((l.score-h.score||l.buffer.length-h.buffer.length)>0)r.splice(a--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,l)=>l.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let h=e.curContext&&e.curContext.tracker.strict,c=h?e.curContext.hash:0;for(let u=this.fragments.nodeAt(s);u;){let f=this.parser.nodeSet.types[u.type.id]==u.type?n.getGoto(e.state,u.type.id):-1;if(f>-1&&u.length&&(!h||(u.prop(G.contextHash)||0)==c))return e.useNode(u,f),jt&&console.log(o+this.stackID(e)+` (via reuse of ${n.getName(u.type.id)})`),!0;if(!(u instanceof ae)||u.children.length==0||u.positions[0]>0)break;let d=u.children[0];if(d instanceof ae&&u.positions[0]==0)u=d;else break}}let l=n.stateSlot(e.state,4);if(l>0)return e.reduce(l),jt&&console.log(o+this.stackID(e)+` (via always-reduce ${n.getName(l&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let h=0;hs?i.push(p):r.push(p)}return!1}advanceFully(e,i){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return p0(e,i),!0}}runRecovery(e,i,r){let s=null,n=!1;for(let o=0;o ":"";if(l.deadEnd&&(n||(n=!0,l.restart(),jt&&console.log(c+this.stackID(l)+" (restarted)"),this.advanceFully(l,r))))continue;let u=l.split(),f=c;for(let d=0;d<10&&u.forceReduce()&&(jt&&console.log(f+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,r));d++)jt&&(f=this.stackID(u)+" -> ");for(let d of l.recoverByInsert(a))jt&&console.log(c+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,r);this.stream.end>l.pos?(h==l.pos&&(h++,a=0),l.recoverByDelete(a,h),jt&&console.log(c+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),p0(l,r)):(!s||s.scoret;class Pk{constructor(e){this.start=e.start,this.shift=e.shift||Vu,this.reduce=e.reduce||Vu,this.reuse=e.reuse||Vu,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class In extends Kg{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let i=e.nodeNames.split(" ");this.minRepeatTerm=i.length;for(let l=0;le.topRules[l][1]),s=[];for(let l=0;l=0)n(c,a,l[h++]);else{let u=l[h+-c];for(let f=-c;f>0;f--)n(l[h++],a,u);h++}}}this.nodeSet=new Wl(i.map((l,a)=>Ke.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:s[a],top:r.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=dw;let o=Qo(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;ltypeof l=="number"?new kn(o,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,i,r){let s=new qE(this,e,i,r);for(let n of this.wrappers)s=n(s,e,i,r);return s}getGoto(e,i,r=!1){let s=this.goto;if(i>=s[0])return-1;for(let n=s[i+1];;){let o=s[n++],l=o&1,a=s[n++];if(l&&r)return a;for(let h=n+(o>>1);n0}validAction(e,i){return!!this.allActions(e,r=>r==i?!0:null)}allActions(e,i){let r=this.stateSlot(e,4),s=r?i(r):void 0;for(let n=this.stateSlot(e,1);s==null;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=lr(this.data,n+2);else break;s=i(lr(this.data,n+1))}return s}nextStates(e){let i=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=lr(this.data,r+2);else break;if(!(this.data[r+2]&1)){let s=this.data[r+1];i.some((n,o)=>o&1&&n==s)||i.push(this.data[r],s)}}return i}configure(e){let i=Object.assign(Object.create(In.prototype),this);if(e.props&&(i.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);i.top=r}return e.tokenizers&&(i.tokenizers=this.tokenizers.map(r=>{let s=e.tokenizers.find(n=>n.from==r);return s?s.to:r})),e.specializers&&(i.specializers=this.specializers.slice(),i.specializerSpecs=this.specializerSpecs.map((r,s)=>{let n=e.specializers.find(l=>l.from==r.external);if(!n)return r;let o=Object.assign(Object.assign({},r),{external:n.to});return i.specializers[s]=g0(o),o})),e.contextTracker&&(i.context=e.contextTracker),e.dialect&&(i.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(i.strict=e.strict),e.wrap&&(i.wrappers=i.wrappers.concat(e.wrap)),e.bufferLength!=null&&(i.bufferLength=e.bufferLength),i}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let i=this.dynamicPrecedences;return i==null?0:i[e]||0}parseDialect(e){let i=Object.keys(this.dialects),r=i.map(()=>!1);if(e)for(let n of e.split(" ")){let o=i.indexOf(n);o>=0&&(r[o]=!0)}let s=null;for(let n=0;nr)&&i.p.parser.stateFlag(i.state,2)&&(!e||e.scoret.external(i,r)<<1|e}return t.get}const UE=55,GE=1,KE=56,JE=2,eR=57,tR=3,O0=4,iR=5,fO=6,$k=7,Qk=8,Tk=9,Ek=10,rR=11,sR=12,nR=13,Yu=58,oR=14,lR=15,m0=59,Rk=21,aR=23,Ak=24,hR=25,Jd=27,Mk=28,cR=29,uR=32,fR=35,dR=37,pR=38,gR=0,OR=1,mR={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},_R={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},_0={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function vR(t){return t==45||t==46||t==58||t>=65&&t<=90||t==95||t>=97&&t<=122||t>=161}let v0=null,S0=null,y0=0;function ep(t,e){let i=t.pos+e;if(y0==i&&S0==t)return v0;let r=t.peek(e),s="";for(;vR(r);)s+=String.fromCharCode(r),r=t.peek(++e);return S0=t,y0=i,v0=s?s.toLowerCase():r==SR||r==yR?void 0:null}const Lk=60,oc=62,dO=47,SR=63,yR=33,wR=45;function w0(t,e){this.name=t,this.parent=e}const kR=[fO,Ek,$k,Qk,Tk],bR=new Pk({start:null,shift(t,e,i,r){return kR.indexOf(e)>-1?new w0(ep(r,1)||"",t):t},reduce(t,e){return e==Rk&&t?t.parent:t},reuse(t,e,i,r){let s=e.type.id;return s==fO||s==dR?new w0(ep(r,1)||"",t):t},strict:!1}),xR=new ri((t,e)=>{if(t.next!=Lk){t.next<0&&e.context&&t.acceptToken(Yu);return}t.advance();let i=t.next==dO;i&&t.advance();let r=ep(t,0);if(r===void 0)return;if(!r)return t.acceptToken(i?lR:oR);let s=e.context?e.context.name:null;if(i){if(r==s)return t.acceptToken(rR);if(s&&_R[s])return t.acceptToken(Yu,-2);if(e.dialectEnabled(gR))return t.acceptToken(sR);for(let n=e.context;n;n=n.parent)if(n.name==r)return;t.acceptToken(nR)}else{if(r=="script")return t.acceptToken($k);if(r=="style")return t.acceptToken(Qk);if(r=="textarea")return t.acceptToken(Tk);if(mR.hasOwnProperty(r))return t.acceptToken(Ek);s&&_0[s]&&_0[s][r]?t.acceptToken(Yu,-1):t.acceptToken(fO)}},{contextual:!0}),CR=new ri(t=>{for(let e=0,i=0;;i++){if(t.next<0){i&&t.acceptToken(m0);break}if(t.next==wR)e++;else if(t.next==oc&&e>=2){i>=3&&t.acceptToken(m0,-2);break}else e=0;t.advance()}});function PR(t){for(;t;t=t.parent)if(t.name=="svg"||t.name=="math")return!0;return!1}const $R=new ri((t,e)=>{if(t.next==dO&&t.peek(1)==oc){let i=e.dialectEnabled(OR)||PR(e.context);t.acceptToken(i?iR:O0,2)}else t.next==oc&&t.acceptToken(O0,1)});function pO(t,e,i){let r=2+t.length;return new ri(s=>{for(let n=0,o=0,l=0;;l++){if(s.next<0){l&&s.acceptToken(e);break}if(n==0&&s.next==Lk||n==1&&s.next==dO||n>=2&&no?s.acceptToken(e,-o):s.acceptToken(i,-(o-2));break}else if((s.next==10||s.next==13)&&l){s.acceptToken(e,1);break}else n=o=0;s.advance()}})}const QR=pO("script",UE,GE),TR=pO("style",KE,JE),ER=pO("textarea",eR,tR),RR=Fn({"Text RawText IncompleteTag IncompleteCloseTag":w.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":w.angleBracket,TagName:w.tagName,"MismatchedCloseTag/TagName":[w.tagName,w.invalid],AttributeName:w.attributeName,"AttributeValue UnquotedAttributeValue":w.attributeValue,Is:w.definitionOperator,"EntityReference CharacterReference":w.character,Comment:w.blockComment,ProcessingInst:w.processingInstruction,DoctypeDecl:w.documentMeta}),AR=In.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:bR,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[RR],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let h=l.type.id;if(h==cR)return qu(l,a,i);if(h==uR)return qu(l,a,r);if(h==fR)return qu(l,a,s);if(h==Rk&&n.length){let c=l.node,u=c.firstChild,f=u&&k0(u,a),d;if(f){for(let p of n)if(p.tag==f&&(!p.attrs||p.attrs(d||(d=Dk(u,a))))){let g=c.lastChild,v=g.type.id==pR?g.from:c.to;if(v>u.to)return{parser:p.parser,overlay:[{from:u.to,to:v}]}}}}if(o&&h==Ak){let c=l.node,u;if(u=c.firstChild){let f=o[a.read(u.from,u.to)];if(f)for(let d of f){if(d.tagName&&d.tagName!=k0(c.parent,a))continue;let p=c.lastChild;if(p.type.id==Jd){let g=p.from+1,v=p.lastChild,O=p.to-(v&&v.isError?0:1);if(O>g)return{parser:d.parser,overlay:[{from:g,to:O}],bracketed:!0}}else if(p.type.id==Mk)return{parser:d.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}const MR=135,b0=1,LR=136,DR=137,zk=2,BR=138,zR=3,ZR=4,Zk=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],XR=58,IR=40,Xk=95,WR=91,nh=45,NR=46,jR=35,VR=37,YR=38,qR=92,FR=10,HR=42;function $l(t){return t>=65&&t<=90||t>=97&&t<=122||t>=161}function gO(t){return t>=48&&t<=57}function x0(t){return gO(t)||t>=97&&t<=102||t>=65&&t<=70}const Ik=(t,e,i)=>(r,s)=>{for(let n=!1,o=0,l=0;;l++){let{next:a}=r;if($l(a)||a==nh||a==Xk||n&&gO(a))!n&&(a!=nh||l>0)&&(n=!0),o===l&&a==nh&&o++,r.advance();else if(a==qR&&r.peek(1)!=FR){if(r.advance(),x0(r.next)){do r.advance();while(x0(r.next));r.next==32&&r.advance()}else r.next>-1&&r.advance();n=!0}else{n&&r.acceptToken(o==2&&s.canShift(zk)?e:a==IR?i:t);break}}},UR=new ri(Ik(LR,zk,DR),{contextual:!0}),GR=new ri(Ik(BR,zR,ZR),{contextual:!0}),KR=new ri(t=>{if(Zk.includes(t.peek(-1))){let{next:e}=t;($l(e)||e==Xk||e==jR||e==NR||e==HR||e==WR||e==XR&&$l(t.peek(1))||e==nh||e==YR)&&t.acceptToken(MR)}}),JR=new ri(t=>{if(!Zk.includes(t.peek(-1))){let{next:e}=t;if(e==VR&&(t.advance(),t.acceptToken(b0)),$l(e)){do t.advance();while($l(t.next)||gO(t.next));t.acceptToken(b0)}}}),e5=Fn({"AtKeyword import charset namespace keyframes media supports font-feature-values":w.definitionKeyword,"from to selector scope MatchFlag":w.keyword,NamespaceName:w.namespace,KeyframeName:w.labelName,KeyframeRangeName:w.operatorKeyword,TagName:w.tagName,ClassName:w.className,PseudoClassName:w.constant(w.className),IdName:w.labelName,"FeatureName PropertyName":w.propertyName,AttributeName:w.attributeName,NumberLiteral:w.number,KeywordQuery:w.keyword,UnaryQueryOp:w.operatorKeyword,"CallTag ValueName FontName":w.atom,VariableName:w.variableName,Callee:w.operatorKeyword,Unit:w.unit,"UniversalSelector NestingSelector":w.definitionOperator,"MatchOp CompareOp":w.compareOperator,"ChildOp SiblingOp, LogicOp":w.logicOperator,BinOp:w.arithmeticOperator,Important:w.modifier,Comment:w.blockComment,ColorLiteral:w.color,"ParenthesizedContent StringLiteral":w.string,":":w.punctuation,"PseudoOp #":w.derefOperator,"; , |":w.separator,"( )":w.paren,"[ ]":w.squareBracket,"{ }":w.brace}),t5={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:132,"url-prefix":132,domain:132,regexp:132},i5={__proto__:null,or:104,and:104,not:112,only:112,layer:186},r5={__proto__:null,selector:118,layer:182},s5={__proto__:null,"@import":178,"@media":190,"@charset":194,"@namespace":198,"@keyframes":204,"@supports":216,"@scope":220,"@font-feature-values":226},n5={__proto__:null,to:223},o5=In.deserialize({version:14,states:"IpQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FdO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#DtO'dQdO'#DvO'oQdO'#D}O'oQdO'#EQOOQP'#Fd'#FdO)OQhO'#EsOOQS'#Fc'#FcOOQS'#Ev'#EvQYQdOOO)VQdO'#EWO*cQhO'#E^O)VQdO'#E`O*jQdO'#EbO*uQdO'#EeO)zQhO'#EkO*}QdO'#EmO+YQdO'#EpO+_QaO'#CfO+fQ`O'#ETO+kQ`O'#FnO+vQdO'#FnQOQ`OOP,QO&jO'#CaPOOO)CAR)CAROOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,]QdO,59YO'_QdO,5:`O'dQdO,5:bO'oQdO,5:iO'oQdO,5:kO'oQdO,5:lO'oQdO'#E}O,hQ`O,58}O,pQdO'#ESOOQS,58},58}OOQP'#Cq'#CqOOQO'#Dr'#DrOOQP,59Y,59YO,wQ`O,59YO,|Q`O,59YOOQP'#Du'#DuOOQP,5:`,5:`O-RQpO'#DwO-^QdO'#DxO-cQ`O'#DxO-hQpO,5:bO.RQaO,5:iO.iQaO,5:lOOQW'#D^'#D^O/eQhO'#DgO/xQhO,5;_O)zQhO'#DeO0VQ`O'#DkO0[QhO'#DnOOQW'#Fj'#FjOOQS,5;_,5;_O0aQ`O'#DhOOQS-E8t-E8tOOQ['#Cv'#CvO0fQdO'#CwO0|QdO'#C}O1dQdO'#DQO1zQ!pO'#DSO4TQ!jO,5:rOOQO'#DX'#DXO,|Q`O'#DWO4eQ!nO'#FgO6hQ`O'#DYO6mQ`O'#DoOOQ['#Fg'#FgO6rQhO'#FqO7QQ`O,5:xO7VQ!bO,5:zOOQS'#Ed'#EdO7_Q`O,5:|O7dQdO,5:|OOQO'#Eg'#EgO7lQ`O,5;PO7qQhO,5;VO'oQdO'#DjOOQS,5;X,5;XO0aQ`O,5;XO7yQdO,5;XOOQS'#FU'#FUO8RQdO'#ErO7QQ`O,5;[O8ZQdO,5:oO8kQdO'#FPO8xQ`O,5QQhO'#DlOOQW,5:V,5:VOOQW,5:Y,5:YOOQW,5:S,5:SO>[Q!fO'#FhOOQS'#Fh'#FhOOQS'#Ex'#ExO?lQdO,59cOOQ[,59c,59cO@SQdO,59iOOQ[,59i,59iO@jQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)VQdO,59pOAQQhO'#EYOOQW'#EY'#EYOAlQ`O1G0^O4^QhO1G0^OOQ[,59r,59rO)zQhO'#D[OOQ[,59t,59tOAqQ#tO,5:ZOA|QhO'#FROBZQ`O,5<]OOQS1G0d1G0dOOQS1G0f1G0fOOQS1G0h1G0hOBfQ`O1G0hOBkQdO'#EhOOQS1G0k1G0kOOQS1G0q1G0qOBvQaO,5:UO7QQ`O1G0sOOQS1G0s1G0sO0aQ`O1G0sOOQS-E9S-E9SOOQS1G0v1G0vOB}Q!fO1G0ZOCeQ`O'#EVOOQO1G0Z1G0ZOOQO,5;k,5;kOCjQdO,5;kOOQO-E8}-E8}OCwQ`O1G1tPOOO-E8s-E8sPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%h7+%hO)VQdO7+%hOOQS1G0Y1G0YODSQaO'#FmOD^Q`O,5:_ODcQ!fO'#EwOEaQdO'#FfOEkQ`O,59aOOQO1G0O1G0OOEpQ!bO7+%hO)VQdO1G/eOE{QhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gOF^QhO,5;qOOQW-E9T-E9TOOQS7+&e7+&eOGRQhO'#D^OGaQhO'#FlOGlQ`O'#FlOGqQ`O,5:WOOQS-E8v-E8vOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OGvQdO,5:tOOQS7+%x7+%xOG{Q`O7+%xOHQQhO'#D]OHYQ`O,59vO)zQhO,59vOOQ[1G/u1G/uOHbQ`O1G/uOHgQhO,5;mOOQO-E9P-E9POOQS7+&S7+&SOHuQbO'#DSOOQO'#Ej'#EjOITQ`O'#EiOOQO'#Ei'#EiOI`Q`O'#FSOIhQdO,5;SOOQS,5;S,5;SOOQ[1G/p1G/pOOQS7+&_7+&_O7QQ`O7+&_OIsQ!fO'#FOO)VQdO'#FOOJzQdO7+%uOOQO7+%u7+%uOOQO,5:q,5:qOOQO1G1V1G1VOK_Q!bO<nAN>nO! bQ`OAN>nO! gQaO,5;hOOQO-E8z-E8zO! qQdO,5;gOOQO-E8y-E8yOOQW<ZO)VQdO1G1QO!#nQ`O7+'^OOQO,5;l,5;lOOQO-E9O-E9OOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!e`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$Q~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$Q~!e`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$dYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!e`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!e`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!e`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!e`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!e`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!e`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!e`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!e`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!oS!e`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW!uQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!e`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!e`$]YOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!e`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!e`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!e`$]YOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!e`$]YOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!aYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!e`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!e`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!oSOy%jz;'S%j;'S;=`%{<%lO%jj@uV!rQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!rQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!e`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!e`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!pWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!pWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!e`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!e`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!e`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!e`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!e`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!e`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!e`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$cQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$XUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU!uQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[KR,JR,UR,GR,1,2,3,4,new nc("m~RRYZ[z{a~~g~aO$T~~dP!P!Qg~lO$U~~",28,142)],topRules:{StyleSheet:[0,6],Styles:[1,116]},dynamicPrecedences:{84:1},specialized:[{term:137,get:t=>t5[t]||-1},{term:138,get:t=>i5[t]||-1},{term:4,get:t=>r5[t]||-1},{term:28,get:t=>s5[t]||-1},{term:136,get:t=>n5[t]||-1}],tokenPrec:2256});let Fu=null;function Hu(){if(!Fu&&typeof document=="object"&&document.body){let{style:t}=document.body,e=[],i=new Set;for(let r in t)r!="cssText"&&r!="cssFloat"&&typeof t[r]=="string"&&(/[A-Z]/.test(r)&&(r=r.replace(/[A-Z]/g,s=>"-"+s.toLowerCase())),i.has(r)||(e.push(r),i.add(r)));Fu=e.sort().map(r=>({type:"property",label:r,apply:r+": "}))}return Fu||[]}const C0=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(t=>({type:"class",label:t})),P0=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(t=>({type:"keyword",label:t})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(t=>({type:"constant",label:t}))),l5=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(t=>({type:"type",label:t})),a5=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(t=>({type:"keyword",label:t})),rr=/^(\w[\w-]*|-\w[\w-]*|)$/,h5=/^-(-[\w-]*)?$/;function c5(t,e){var i;if((t.name=="("||t.type.isError)&&(t=t.parent||t),t.name!="ArgList")return!1;let r=(i=t.parent)===null||i===void 0?void 0:i.firstChild;return(r==null?void 0:r.name)!="Callee"?!1:e.sliceString(r.from,r.to)=="var"}const $0=new mw,u5=["Declaration"];function f5(t){for(let e=t;;){if(e.type.isTop)return e;if(!(e=e.parent))return t}}function Wk(t,e,i){if(e.to-e.from>4096){let r=$0.get(e);if(r)return r;let s=[],n=new Set,o=e.cursor(ue.IncludeAnonymous);if(o.firstChild())do for(let l of Wk(t,o.node,i))n.has(l.label)||(n.add(l.label),s.push(l));while(o.nextSibling());return $0.set(e,s),s}else{let r=[],s=new Set;return e.cursor().iterate(n=>{var o;if(i(n)&&n.matchContext(u5)&&((o=n.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let l=t.sliceString(n.from,n.to);s.has(l)||(s.add(l),r.push({label:l,type:"variable"}))}}),r}}const d5=t=>e=>{let{state:i,pos:r}=e,s=Ie(i).resolveInner(r,-1),n=s.type.isError&&s.from==s.to-1&&i.doc.sliceString(s.from,s.to)=="-";if(s.name=="PropertyName"||(n||s.name=="TagName")&&/^(Block|Styles)$/.test(s.resolve(s.to).name))return{from:s.from,options:Hu(),validFor:rr};if(s.name=="ValueName")return{from:s.from,options:P0,validFor:rr};if(s.name=="PseudoClassName")return{from:s.from,options:C0,validFor:rr};if(t(s)||(e.explicit||n)&&c5(s,i.doc))return{from:t(s)||n?s.from:r,options:Wk(i.doc,f5(s),t),validFor:h5};if(s.name=="TagName"){for(let{parent:a}=s;a;a=a.parent)if(a.name=="Block")return{from:s.from,options:Hu(),validFor:rr};return{from:s.from,options:l5,validFor:rr}}if(s.name=="AtKeyword")return{from:s.from,options:a5,validFor:rr};if(!e.explicit)return null;let o=s.resolve(r),l=o.childBefore(r);return l&&l.name==":"&&o.name=="PseudoClassSelector"?{from:r,options:C0,validFor:rr}:l&&l.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:r,options:P0,validFor:rr}:o.name=="Block"||o.name=="Styles"?{from:r,options:Hu(),validFor:rr}:null},p5=d5(t=>t.name=="VariableName"),lc=Bn.define({name:"css",parser:o5.configure({props:[jl.add({Declaration:rh()}),Vl.add({"Block KeyframeList":kw})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function g5(){return new bl(lc,lc.data.of({autocomplete:p5}))}const O5=316,m5=317,Q0=1,_5=2,v5=3,S5=4,y5=318,w5=320,k5=321,b5=5,x5=6,C5=0,tp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Nk=125,P5=59,ip=47,$5=42,Q5=43,T5=45,E5=60,R5=44,A5=63,M5=46,L5=91,D5=new Pk({start:!1,shift(t,e){return e==b5||e==x5||e==w5?t:e==k5},strict:!1}),B5=new ri((t,e)=>{let{next:i}=t;(i==Nk||i==-1||e.context)&&t.acceptToken(y5)},{contextual:!0,fallback:!0}),z5=new ri((t,e)=>{let{next:i}=t,r;tp.indexOf(i)>-1||i==ip&&((r=t.peek(1))==ip||r==$5)||i!=Nk&&i!=P5&&i!=-1&&!e.context&&t.acceptToken(O5)},{contextual:!0}),Z5=new ri((t,e)=>{t.next==L5&&!e.context&&t.acceptToken(m5)},{contextual:!0}),X5=new ri((t,e)=>{let{next:i}=t;if(i==Q5||i==T5){if(t.advance(),i==t.next){t.advance();let r=!e.context&&e.canShift(Q0);t.acceptToken(r?Q0:_5)}}else i==A5&&t.peek(1)==M5&&(t.advance(),t.advance(),(t.next<48||t.next>57)&&t.acceptToken(v5))},{contextual:!0});function Uu(t,e){return t>=65&&t<=90||t>=97&&t<=122||t==95||t>=192||!e&&t>=48&&t<=57}const I5=new ri((t,e)=>{if(t.next!=E5||!e.dialectEnabled(C5)||(t.advance(),t.next==ip))return;let i=0;for(;tp.indexOf(t.next)>-1;)t.advance(),i++;if(Uu(t.next,!0)){for(t.advance(),i++;Uu(t.next,!1);)t.advance(),i++;for(;tp.indexOf(t.next)>-1;)t.advance(),i++;if(t.next==R5)return;for(let r=0;;r++){if(r==7){if(!Uu(t.next,!0))return;break}if(t.next!="extends".charCodeAt(r))break;t.advance(),i++}}t.acceptToken(S5,-i)}),W5=Fn({"get set async static":w.modifier,"for while do if else switch try catch finally return throw break continue default case defer":w.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":w.operatorKeyword,"let var const using function class extends":w.definitionKeyword,"import export from":w.moduleKeyword,"with debugger new":w.keyword,TemplateString:w.special(w.string),super:w.atom,BooleanLiteral:w.bool,this:w.self,null:w.null,Star:w.modifier,VariableName:w.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":w.function(w.variableName),VariableDefinition:w.definition(w.variableName),Label:w.labelName,PropertyName:w.propertyName,PrivatePropertyName:w.special(w.propertyName),"CallExpression/MemberExpression/PropertyName":w.function(w.propertyName),"FunctionDeclaration/VariableDefinition":w.function(w.definition(w.variableName)),"ClassDeclaration/VariableDefinition":w.definition(w.className),"NewExpression/VariableName":w.className,PropertyDefinition:w.definition(w.propertyName),PrivatePropertyDefinition:w.definition(w.special(w.propertyName)),UpdateOp:w.updateOperator,"LineComment Hashbang":w.lineComment,BlockComment:w.blockComment,Number:w.number,String:w.string,Escape:w.escape,ArithOp:w.arithmeticOperator,LogicOp:w.logicOperator,BitOp:w.bitwiseOperator,CompareOp:w.compareOperator,RegExp:w.regexp,Equals:w.definitionOperator,Arrow:w.function(w.punctuation),": Spread":w.punctuation,"( )":w.paren,"[ ]":w.squareBracket,"{ }":w.brace,"InterpolationStart InterpolationEnd":w.special(w.brace),".":w.derefOperator,", ;":w.separator,"@":w.meta,TypeName:w.typeName,TypeDefinition:w.definition(w.typeName),"type enum interface implements namespace module declare":w.definitionKeyword,"abstract global Privacy readonly override":w.modifier,"is keyof unique infer asserts":w.operatorKeyword,JSXAttributeValue:w.attributeValue,JSXText:w.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":w.angleBracket,"JSXIdentifier JSXNameSpacedName":w.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":w.attributeName,"JSXBuiltin/JSXIdentifier":w.standard(w.tagName)}),N5={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},j5={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},V5={__proto__:null,"<":193},Y5=In.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:D5,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[W5],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[z5,Z5,X5,I5,2,3,4,5,6,7,8,9,10,11,12,13,14,B5,new nc("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new nc("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:t=>N5[t]||-1},{term:343,get:t=>j5[t]||-1},{term:95,get:t=>V5[t]||-1}],tokenPrec:15201}),jk=[Lt("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),Lt("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),Lt("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Lt("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Lt("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),Lt(`try { +`);r=s<0?i:i.slice(0,s)}return e+r.length>this.to?r.slice(0,this.to-e):r}prevLineEnd(){return this.atEnd?this.lineStart:this.lineStart-1}startContext(e,i,r=0){this.block=ic.create(e,r,this.lineStart+i,this.block.hash,this.lineStart+this.line.text.length),this.stack.push(this.block)}startComposite(e,i,r=0){this.startContext(this.parser.getNodeType(e),i,r)}addNode(e,i,r){typeof e=="number"&&(e=new he(this.parser.nodeSet.types[e],In,In,(r??this.prevLineEnd())-i)),this.block.addChild(e,i-this.block.from)}addElement(e){this.block.addChild(e.toTree(this.parser.nodeSet),e.from-this.block.from)}addLeafElement(e,i){this.addNode(this.buffer.writeElements(tp(i.children,e.marks),-i.from).finish(i.type,i.to-i.from),i.from)}finishContext(){let e=this.stack.pop(),i=this.stack[this.stack.length-1];i.addChild(e.toTree(this.parser.nodeSet),e.from-i.from),this.block=i}finish(){for(;this.stack.length>1;)this.finishContext();return this.addGaps(this.block.toTree(this.parser.nodeSet,this.lineStart))}addGaps(e){return this.ranges.length>1?Ok(this.ranges,0,e.topNode,this.ranges[0].from,this.reusePlaceholders):e}finishLeaf(e){for(let r of e.parsers)if(r.finish(this,e))return;let i=tp(this.parser.parseInline(e.content,e.start),e.marks);this.addNode(this.buffer.writeElements(i,-e.start).finish(M.Paragraph,e.content.length),e.start)}elt(e,i,r,s){return typeof e=="string"?ne(this.parser.getNodeType(e),i,r,s):new Sk(e,i)}get buffer(){return new vk(this.parser.nodeSet)}}function Ok(t,e,i,r,s){let n=t[e].to,o=[],l=[],a=i.from+r;function h(c,u){for(;u?c>=n:c>n;){let f=t[e+1].from-n;r+=f,c+=f,e++,n=t[e].to}}for(let c=i.firstChild;c;c=c.nextSibling){h(c.from+r,!0);let u=c.from+r,f,d=s.get(c.tree);d?f=d:c.to+r>n?(f=Ok(t,e,c,r,s),h(c.to+r,!1)):f=c.toTree(),o.push(f),l.push(u-a)}return h(i.to+r,!1),new he(i.type,o,l,i.to+r-a,i.tree?i.tree.propValues:void 0)}class Yc extends tm{constructor(e,i,r,s,n,o,l,a,h){super(),this.nodeSet=e,this.blockParsers=i,this.leafBlockParsers=r,this.blockNames=s,this.endLeafBlock=n,this.skipContextMarkup=o,this.inlineParsers=l,this.inlineNames=a,this.wrappers=h,this.nodeTypes=Object.create(null);for(let c of e.types)this.nodeTypes[c.name]=c.id}createParse(e,i,r){let s=new bE(this,e,i,r);for(let n of this.wrappers)s=n(s,e,i,r);return s}configure(e){let i=ep(e);if(!i)return this;let{nodeSet:r,skipContextMarkup:s}=this,n=this.blockParsers.slice(),o=this.leafBlockParsers.slice(),l=this.blockNames.slice(),a=this.inlineParsers.slice(),h=this.inlineNames.slice(),c=this.endLeafBlock.slice(),u=this.wrappers;if(go(i.defineNodes)){s=Object.assign({},s);let f=r.types.slice(),d;for(let p of i.defineNodes){let{name:g,block:v,composite:m,style:O}=typeof p=="string"?{name:p}:p;if(f.some(b=>b.name==g))continue;m&&(s[f.length]=(b,S,k)=>m(S,k,b.value));let _=f.length,w=m?["Block","BlockContext"]:v?_>=M.ATXHeading1&&_<=M.SetextHeading2?["Block","LeafBlock","Heading"]:["Block","LeafBlock"]:void 0;f.push(Ke.define({id:_,name:g,props:w&&[[J.group,w]]})),O&&(d||(d={}),Array.isArray(O)||O instanceof Kt?d[g]=O:Object.assign(d,O))}r=new Wl(f),d&&(r=r.extend(Hn(d)))}if(go(i.props)&&(r=r.extend(...i.props)),go(i.remove))for(let f of i.remove){let d=this.blockNames.indexOf(f),p=this.inlineNames.indexOf(f);d>-1&&(n[d]=o[d]=void 0),p>-1&&(a[p]=void 0)}if(go(i.parseBlock))for(let f of i.parseBlock){let d=l.indexOf(f.name);if(d>-1)n[d]=f.parse,o[d]=f.leaf;else{let p=f.before?Ma(l,f.before):f.after?Ma(l,f.after)+1:l.length-1;n.splice(p,0,f.parse),o.splice(p,0,f.leaf),l.splice(p,0,f.name)}f.endLeaf&&c.push(f.endLeaf)}if(go(i.parseInline))for(let f of i.parseInline){let d=h.indexOf(f.name);if(d>-1)a[d]=f.parse;else{let p=f.before?Ma(h,f.before):f.after?Ma(h,f.after)+1:h.length-1;a.splice(p,0,f.parse),h.splice(p,0,f.name)}}return i.wrap&&(u=u.concat(i.wrap)),new Yc(r,n,o,l,c,s,a,h,u)}getNodeType(e){let i=this.nodeTypes[e];if(i==null)throw new RangeError(`Unknown node type '${e}'`);return i}parseInline(e,i){let r=new pm(this,e,i);e:for(let s=i;s=0){s=l;continue e}}s++}return r.resolveMarkers(0)}}function go(t){return t!=null&&t.length>0}function ep(t){if(!Array.isArray(t))return t;if(t.length==0)return null;let e=ep(t[0]);if(t.length==1)return e;let i=ep(t.slice(1));if(!i||!e)return e||i;let r=(o,l)=>(o||In).concat(l||In),s=e.wrap,n=i.wrap;return{props:r(e.props,i.props),defineNodes:r(e.defineNodes,i.defineNodes),parseBlock:r(e.parseBlock,i.parseBlock),parseInline:r(e.parseInline,i.parseInline),remove:r(e.remove,i.remove),wrap:s?n?(o,l,a,h)=>s(n(o,l,a,h),l,a,h):s:n}}function Ma(t,e){let i=t.indexOf(e);if(i<0)throw new RangeError(`Position specified relative to unknown parser ${e}`);return i}let _k=[Ke.none];for(let t=1,e;e=M[t];t++)_k[t]=Ke.define({id:t,name:e,props:t>=M.Escape?[]:[[J.group,t in lk?["Block","BlockContext"]:["Block","LeafBlock"]]],top:e=="Document"});const In=[];class vk{constructor(e){this.nodeSet=e,this.content=[],this.nodes=[]}write(e,i,r,s=0){return this.content.push(e,i,r,4+s*4),this}writeElements(e,i=0){for(let r of e)r.writeTo(this,i);return this}finish(e,i){return he.build({buffer:this.content,nodeSet:this.nodeSet,reused:this.nodes,topID:e,length:i})}}let Pl=class{constructor(e,i,r,s=In){this.type=e,this.from=i,this.to=r,this.children=s}writeTo(e,i){let r=e.content.length;e.writeElements(this.children,i),e.content.push(this.type,this.from+i,this.to+i,e.content.length+4-r)}toTree(e){return new vk(e).writeElements(this.children,-this.from).finish(this.type,this.to-this.from)}};class Sk{constructor(e,i){this.tree=e,this.from=i}get to(){return this.from+this.tree.length}get type(){return this.tree.type.id}get children(){return In}writeTo(e,i){e.nodes.push(this.tree),e.content.push(e.nodes.length-1,this.from+i,this.to+i,-1)}toTree(){return this.tree}}function ne(t,e,i,r){return new Pl(t,e,i,r)}const yk={resolve:"Emphasis",mark:"EmphasisMark"},wk={resolve:"Emphasis",mark:"EmphasisMark"},ws={},rc={};class Ut{constructor(e,i,r,s){this.type=e,this.from=i,this.to=r,this.side=s}}const r0="!\"#$%&'()*+,-./:;<=>?@[\\]^_`{|}~";let $l=/[!"#$%&'()*+,\-.\/:;<=>?@\[\\\]^_`{|}~\xA1\u2010-\u2027]/;try{$l=new RegExp("[\\p{S}|\\p{P}]","u")}catch{}const ju={Escape(t,e,i){if(e!=92||i==t.end-1)return-1;let r=t.char(i+1);for(let s=0;s]+|[a-z\d.!#$%&'*+/=?^_`{|}~-]+@[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?(?:\.[a-z\d](?:[a-z\d-]{0,61}[a-z\d])?)*)>/i.exec(r);if(s)return t.append(ne(M.Autolink,i,i+1+s[0].length,[ne(M.LinkMark,i,i+1),ne(M.URL,i+1,i+s[0].length),ne(M.LinkMark,i+s[0].length,i+1+s[0].length)]));let n=/^!--[^>](?:-[^-]|[^-])*?-->/i.exec(r);if(n)return t.append(ne(M.Comment,i,i+1+n[0].length));let o=/^\?[^]*?\?>/.exec(r);if(o)return t.append(ne(M.ProcessingInstruction,i,i+1+o[0].length));let l=/^(?:![A-Z][^]*?>|!\[CDATA\[[^]*?\]\]>|\/\s*[a-zA-Z][\w-]*\s*>|\s*[a-zA-Z][\w-]*(\s+[a-zA-Z:_][\w-.:]*(?:\s*=\s*(?:[^\s"'=<>`]+|'[^']*'|"[^"]*"))?)*\s*(\/\s*)?>)/.exec(r);return l?t.append(ne(M.HTMLTag,i,i+1+l[0].length)):-1},Emphasis(t,e,i){if(e!=95&&e!=42)return-1;let r=i+1;for(;t.char(r)==e;)r++;let s=t.slice(i-1,i),n=t.slice(r,r+1),o=$l.test(s),l=$l.test(n),a=/\s|^$/.test(s),h=/\s|^$/.test(n),c=!h&&(!l||a||o),u=!a&&(!o||h||l),f=c&&(e==42||!u||o),d=u&&(e==42||!c||l);return t.append(new Ut(e==95?yk:wk,i,r,(f?1:0)|(d?2:0)))},HardBreak(t,e,i){if(e==92&&t.char(i+1)==10)return t.append(ne(M.HardBreak,i,i+2));if(e==32){let r=i+1;for(;t.char(r)==32;)r++;if(t.char(r)==10&&r>=i+2)return t.append(ne(M.HardBreak,i,r+1))}return-1},Link(t,e,i){return e==91?t.append(new Ut(ws,i,i+1,1)):-1},Image(t,e,i){return e==33&&t.char(i+1)==91?t.append(new Ut(rc,i,i+2,1)):-1},LinkEnd(t,e,i){if(e!=93)return-1;for(let r=t.parts.length-1;r>=0;r--){let s=t.parts[r];if(s instanceof Ut&&(s.type==ws||s.type==rc)){if(!s.side||t.skipSpace(s.to)==i&&!/[(\[]/.test(t.slice(i+1,i+2)))return t.parts[r]=null,-1;let n=t.takeContent(r),o=t.parts[r]=xE(t,n,s.type==ws?M.Link:M.Image,s.from,i+1);if(s.type==ws)for(let l=0;le?ne(M.URL,e+i,n+i):n==t.length?null:!1}}function bk(t,e,i){let r=t.charCodeAt(e);if(r!=39&&r!=34&&r!=40)return!1;let s=r==40?41:r;for(let n=e+1,o=!1;n=this.end?-1:this.text.charCodeAt(e-this.offset)}get end(){return this.offset+this.text.length}slice(e,i){return this.text.slice(e-this.offset,i-this.offset)}append(e){return this.parts.push(e),e.to}addDelimiter(e,i,r,s,n){return this.append(new Ut(e,i,r,(s?1:0)|(n?2:0)))}get hasOpenLink(){for(let e=this.parts.length-1;e>=0;e--){let i=this.parts[e];if(i instanceof Ut&&(i.type==ws||i.type==rc))return!0}return!1}addElement(e){return this.append(e)}resolveMarkers(e){for(let r=e;r=e;a--){let g=this.parts[a];if(g instanceof Ut&&g.side&1&&g.type==s.type&&!(n&&(s.side&1||g.side&2)&&(g.to-g.from+o)%3==0&&((g.to-g.from)%3||o%3))){l=g;break}}if(!l)continue;let h=s.type.resolve,c=[],u=l.from,f=s.to;if(n){let g=Math.min(2,l.to-l.from,o);u=l.to-g,f=s.from+g,h=g==1?"Emphasis":"StrongEmphasis"}l.type.mark&&c.push(this.elt(l.type.mark,u,l.to));for(let g=a+1;g=0;i--){let r=this.parts[i];if(r instanceof Ut&&r.type==e&&r.side&1)return i}return null}takeContent(e){let i=this.resolveMarkers(e);return this.parts.length=e,i}getDelimiterAt(e){let i=this.parts[e];return i instanceof Ut?i:null}skipSpace(e){return Uo(this.text,e-this.offset)+this.offset}elt(e,i,r,s){return typeof e=="string"?ne(this.parser.getNodeType(e),i,r,s):new Sk(e,i)}}pm.linkStart=ws;pm.imageStart=rc;function tp(t,e){if(!e.length)return t;if(!t.length)return e;let i=t.slice(),r=0;for(let s of e){for(;r(e?e-1:0))return!1;if(this.fragmentEnd<0){let n=this.fragment.to;for(;n>0&&this.input.read(n-1,n)!=` +`;)n--;this.fragmentEnd=n?n-1:0}let r=this.cursor;r||(r=this.cursor=this.fragment.tree.cursor(),r.firstChild());let s=e+this.fragment.offset;for(;r.to<=s;)if(!r.parent())return!1;for(;;){if(r.from>=s)return this.fragment.from<=i;if(!r.childAfter(s))return!1}}matches(e){let i=this.cursor.tree;return i&&i.prop(J.contextHash)==e}takeNodes(e){let i=this.cursor,r=this.fragment.offset,s=this.fragmentEnd-(this.fragment.openEnd?1:0),n=e.absoluteLineStart,o=n,l=e.block.children.length,a=o,h=l;for(;;){if(i.to-r>s){if(i.type.isAnonymous&&i.firstChild())continue;break}let c=Ck(i.from-r,e.ranges);if(i.to-r<=e.ranges[e.rangeI].to)e.addNode(i.tree,c);else{let u=new he(e.parser.nodeSet.types[M.Paragraph],[],[],0,e.block.hashProp);e.reusePlaceholders.set(u,i.tree),e.addNode(u,c)}if(i.type.is("Block")&&(CE.indexOf(i.type.id)<0?(o=i.to-r,l=e.block.children.length):(o=a,l=h),a=i.to-r,h=e.block.children.length),!i.nextSibling())break}for(;e.block.children.length>l;)e.block.children.pop(),e.block.positions.pop();return o-n}};function Ck(t,e){let i=t;for(let r=1;rAa[t]),Object.keys(Aa).map(t=>mk[t]),Object.keys(Aa),wE,lk,Object.keys(ju).map(t=>ju[t]),Object.keys(ju),[]);function TE(t,e,i){let r=[];for(let s=t.firstChild,n=e;;s=s.nextSibling){let o=s?s.from:i;if(o>n&&r.push({from:n,to:o}),!s)break;n=s.to}return r}function EE(t){let{codeParser:e,htmlParser:i}=t;return{wrap:yw((s,n)=>{let o=s.type.id;if(e&&(o==M.CodeBlock||o==M.FencedCode)){let l="";if(o==M.FencedCode){let h=s.node.getChild(M.CodeInfo);h&&(l=n.read(h.from,h.to))}let a=e(l);if(a)return{parser:a,overlay:h=>h.type.id==M.CodeText,bracketed:o==M.FencedCode}}else if(i&&(o==M.HTMLBlock||o==M.HTMLTag||o==M.CommentBlock))return{parser:i,overlay:TE(s.node,s.from,s.to)};return null})}}const RE={resolve:"Strikethrough",mark:"StrikethroughMark"},AE={defineNodes:[{name:"Strikethrough",style:{"Strikethrough/...":y.strikethrough}},{name:"StrikethroughMark",style:y.processingInstruction}],parseInline:[{name:"Strikethrough",parse(t,e,i){if(e!=126||t.char(i+1)!=126||t.char(i+2)==126)return-1;let r=t.slice(i-1,i),s=t.slice(i+2,i+3),n=/\s|^$/.test(r),o=/\s|^$/.test(s),l=$l.test(r),a=$l.test(s);return t.addDelimiter(RE,i,i+2,!o&&(!a||n||l),!n&&(!l||o||a))},after:"Emphasis"}]};function Go(t,e,i=0,r,s=0){let n=0,o=!0,l=-1,a=-1,h=!1,c=()=>{r.push(t.elt("TableCell",s+l,s+a,t.parser.parseInline(e.slice(l,a),s+l)))};for(let u=i;u-1)&&n++,o=!1,r&&(l>-1&&c(),r.push(t.elt("TableDelimiter",u+s,u+s+1))),l=a=-1):(h||f!=32&&f!=9)&&(l<0&&(l=u),a=u+1),h=!h&&f==92}return l>-1&&(n++,r&&c()),n}function s0(t,e){for(let i=e;is instanceof n0)||!s0(e.text,e.basePos))return!1;let r=t.peekLine();return Pk.test(r)&&Go(t,e.text,e.basePos)==Go(t,r,e.basePos)},before:"SetextHeading"}]};class LE{nextLine(){return!1}finish(e,i){return e.addLeafElement(i,e.elt("Task",i.start,i.start+i.content.length,[e.elt("TaskMarker",i.start,i.start+3),...e.parser.parseInline(i.content.slice(3),i.start+3)])),!0}}const DE={defineNodes:[{name:"Task",block:!0,style:y.list},{name:"TaskMarker",style:y.atom}],parseBlock:[{name:"TaskList",leaf(t,e){return/^\[[ xX]\][ \t]/.test(e.content)&&t.parentType().name=="ListItem"?new LE:null},after:"SetextHeading"}]},o0=/(www\.)|(https?:\/\/)|([\w.+-]{1,100}@)|(mailto:|xmpp:)/gy,l0=/[\w-]+(\.[\w-]+)+(\/[^\s<]*)?/gy,BE=/[\w-]+\.[\w-]+($|\/)/,a0=/[\w.+-]+@[\w-]+(\.[\w.-]+)+/gy,h0=/\/[a-zA-Z\d@.]+/gy;function c0(t,e,i,r){let s=0;for(let n=e;n-1)return-1;let r=e+i[0].length;for(;;){let s=t[r-1],n;if(/[?!.,:*_~]/.test(s)||s==")"&&c0(t,e,r,")")>c0(t,e,r,"("))r--;else if(s==";"&&(n=/&(?:#\d+|#x[a-f\d]+|\w+);$/.exec(t.slice(e,r))))r=e+n.index;else break}return r}function u0(t,e){a0.lastIndex=e;let i=a0.exec(t);if(!i)return-1;let r=i[0][i[0].length-1];return r=="_"||r=="-"?-1:e+i[0].length-(r=="."?1:0)}const ZE={parseInline:[{name:"Autolink",parse(t,e,i){let r=i-t.offset;if(r&&/\w/.test(t.text[r-1]))return-1;o0.lastIndex=r;let s=o0.exec(t.text),n=-1;if(!s)return-1;if(s[1]||s[2]){if(n=zE(t.text,r+s[0].length),n>-1&&t.hasOpenLink){let o=/([^\[\]]|\[[^\]]*\])*/.exec(t.text.slice(r,n));n=r+o[0].length}}else s[3]?n=u0(t.text,r):(n=u0(t.text,r+s[0].length),n>-1&&s[0]=="xmpp:"&&(h0.lastIndex=n,s=h0.exec(t.text),s&&(n=s.index+s[0].length)));return n<0?-1:(t.addElement(t.elt("URL",i,n+t.offset)),n+t.offset)}}]},XE=[ME,DE,AE,ZE];function $k(t,e,i){return(r,s,n)=>{if(s!=t||r.char(n+1)==t)return-1;let o=[r.elt(i,n,n+1)];for(let l=n+1;li%3==0).concat(this.state)}]@${this.pos}${this.score?"!"+this.score:""}`}static start(e,i,r=0){let s=e.parser.context;return new sc(e,[],i,r,r,0,[],0,s?new d0(s,s.start):null,0,null)}get context(){return this.curContext?this.curContext.context:null}pushState(e,i){this.stack.push(this.state,i,this.bufferBase+this.buffer.length),this.state=e}reduce(e){var i;let r=e>>19,s=e&65535,{parser:n}=this.p,o=this.reducePos=2e3&&!(!((i=this.p.parser.nodeSet.types[s])===null||i===void 0)&&i.isAnonymous)&&(h==this.p.lastBigReductionStart?(this.p.bigReductionCount++,this.p.lastBigReductionSize=c):this.p.lastBigReductionSizea;)this.stack.pop();this.reduceContext(s,h)}storeNode(e,i,r,s=4,n=!1){if(e==0&&(!this.stack.length||this.stack[this.stack.length-1]0&&this.buffer[o-4]==0&&this.buffer[o-1]>-1){if(i==r)return;if(this.buffer[o-2]>=i){this.buffer[o-2]=r;return}}}if(!n||this.pos==r)this.buffer.push(e,i,r,s);else{let o=this.buffer.length;if(o>0&&(this.buffer[o-4]!=0||this.buffer[o-1]<0)){let l=!1;for(let a=o;a>0&&this.buffer[a-2]>r;a-=4)if(this.buffer[a-1]>=0){l=!0;break}if(l)for(;o>0&&this.buffer[o-2]>r;)this.buffer[o]=this.buffer[o-4],this.buffer[o+1]=this.buffer[o-3],this.buffer[o+2]=this.buffer[o-2],this.buffer[o+3]=this.buffer[o-1],o-=4,s>4&&(s-=4)}this.buffer[o]=e,this.buffer[o+1]=i,this.buffer[o+2]=r,this.buffer[o+3]=s}}shift(e,i,r,s){if(e&131072)this.pushState(e&65535,this.pos);else if(e&262144)this.pos=s,this.shiftContext(i,r),i<=this.p.parser.maxNode&&this.buffer.push(i,r,s,4);else{let n=e,{parser:o}=this.p;this.pos=s;let l=o.stateFlag(n,1);!l&&(s>r||i<=o.maxNode)&&(this.reducePos=s),this.pushState(n,l?r:Math.min(r,this.reducePos)),this.shiftContext(i,r),i<=o.maxNode&&this.buffer.push(i,r,s,4)}}apply(e,i,r,s){e&65536?this.reduce(e):this.shift(e,i,r,s)}useNode(e,i){let r=this.p.reused.length-1;(r<0||this.p.reused[r]!=e)&&(this.p.reused.push(e),r++);let s=this.pos;this.reducePos=this.pos=s+e.length,this.pushState(i,s),this.buffer.push(r,s,this.reducePos,-1),this.curContext&&this.updateContext(this.curContext.tracker.reuse(this.curContext.context,e,this,this.p.stream.reset(this.pos-e.length)))}split(){let e=this,i=e.buffer.length;for(i&&e.buffer[i-4]==0&&(i-=4);i>0&&e.buffer[i-2]>e.reducePos;)i-=4;let r=e.buffer.slice(i),s=e.bufferBase+i;for(;e&&s==e.bufferBase;)e=e.parent;return new sc(this.p,this.stack.slice(),this.state,this.reducePos,this.pos,this.score,r,s,this.curContext,this.lookAhead,e)}recoverByDelete(e,i){let r=e<=this.p.parser.maxNode;r&&this.storeNode(e,this.pos,i,4),this.storeNode(0,this.pos,i,r?8:4),this.pos=this.reducePos=i,this.score-=190}canShift(e){for(let i=new jE(this);;){let r=this.p.parser.stateSlot(i.state,4)||this.p.parser.hasAction(i.state,e);if(r==0)return!1;if(!(r&65536))return!0;i.reduce(r)}}recoverByInsert(e){if(this.stack.length>=300)return[];let i=this.p.parser.nextStates(this.state);if(i.length>8||this.stack.length>=120){let s=[];for(let n=0,o;na&1&&l==o)||s.push(i[n],o)}i=s}let r=[];for(let s=0;s>19,s=i&65535,n=this.stack.length-r*3;if(n<0||e.getGoto(this.stack[n],s,!1)<0){let o=this.findForcedReduction();if(o==null)return!1;i=o}this.storeNode(0,this.pos,this.pos,4,!0),this.score-=100}return this.reducePos=this.pos,this.reduce(i),!0}findForcedReduction(){let{parser:e}=this.p,i=[],r=(s,n)=>{if(!i.includes(s))return i.push(s),e.allActions(s,o=>{if(!(o&393216))if(o&65536){let l=(o>>19)-n;if(l>1){let a=o&65535,h=this.stack.length-l*3;if(h>=0&&e.getGoto(this.stack[h],a,!1)>=0)return l<<19|65536|a}}else{let l=r(o,n+1);if(l!=null)return l}})};return r(this.state,0)}forceAll(){for(;!this.p.parser.stateFlag(this.state,2);)if(!this.forceReduce()){this.storeNode(0,this.pos,this.pos,4,!0);break}return this}get deadEnd(){if(this.stack.length!=3)return!1;let{parser:e}=this.p;return e.data[e.stateSlot(this.state,1)]==65535&&!e.stateSlot(this.state,4)}restart(){this.storeNode(0,this.pos,this.pos,4,!0),this.state=this.stack[0],this.stack.length=0}sameState(e){if(this.state!=e.state||this.stack.length!=e.stack.length)return!1;for(let i=0;i0&&this.emitLookAhead()}}class d0{constructor(e,i){this.tracker=e,this.context=i,this.hash=e.strict?e.hash(i):0}}class jE{constructor(e){this.start=e,this.state=e.state,this.stack=e.stack,this.base=this.stack.length}reduce(e){let i=e&65535,r=e>>19;r==0?(this.stack==this.start.stack&&(this.stack=this.stack.slice()),this.stack.push(this.state,0,0),this.base+=3):this.base-=(r-1)*3;let s=this.start.p.parser.getGoto(this.stack[this.base-3],i,!0);this.state=s}}class nc{constructor(e,i,r){this.stack=e,this.pos=i,this.index=r,this.buffer=e.buffer,this.index==0&&this.maybeNext()}static create(e,i=e.bufferBase+e.buffer.length){return new nc(e,i,i-e.bufferBase)}maybeNext(){let e=this.stack.parent;e!=null&&(this.index=this.stack.bufferBase-e.bufferBase,this.stack=e,this.buffer=e.buffer)}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]}next(){this.index-=4,this.pos-=4,this.index==0&&this.maybeNext()}fork(){return new nc(this.stack,this.pos,this.index)}}function To(t,e=Uint16Array){if(typeof t!="string")return t;let i=null;for(let r=0,s=0;r=92&&o--,o>=34&&o--;let a=o-32;if(a>=46&&(a-=46,l=!0),n+=a,l)break;n*=46}i?i[s++]=n:i=new e(n)}return i}class nh{constructor(){this.start=-1,this.value=-1,this.end=-1,this.extended=-1,this.lookAhead=0,this.mask=0,this.context=0}}const p0=new nh;class VE{constructor(e,i){this.input=e,this.ranges=i,this.chunk="",this.chunkOff=0,this.chunk2="",this.chunk2Pos=0,this.next=-1,this.token=p0,this.rangeIndex=0,this.pos=this.chunkPos=i[0].from,this.range=i[0],this.end=i[i.length-1].to,this.readNext()}resolveOffset(e,i){let r=this.range,s=this.rangeIndex,n=this.pos+e;for(;nr.to:n>=r.to;){if(s==this.ranges.length-1)return null;let o=this.ranges[++s];n+=o.from-r.to,r=o}return n}clipPos(e){if(e>=this.range.from&&ee)return Math.max(e,i.from);return this.end}peek(e){let i=this.chunkOff+e,r,s;if(i>=0&&i=this.chunk2Pos&&rl.to&&(this.chunk2=this.chunk2.slice(0,l.to-r)),s=this.chunk2.charCodeAt(0)}}return r>=this.token.lookAhead&&(this.token.lookAhead=r+1),s}acceptToken(e,i=0){let r=i?this.resolveOffset(i,-1):this.pos;if(r==null||r=this.chunk2Pos&&this.posthis.range.to?e.slice(0,this.range.to-this.pos):e,this.chunkPos=this.pos,this.chunkOff=0}}readNext(){return this.chunkOff>=this.chunk.length&&(this.getChunk(),this.chunkOff==this.chunk.length)?this.next=-1:this.next=this.chunk.charCodeAt(this.chunkOff)}advance(e=1){for(this.chunkOff+=e;this.pos+e>=this.range.to;){if(this.rangeIndex==this.ranges.length-1)return this.setDone();e-=this.range.to-this.pos,this.range=this.ranges[++this.rangeIndex],this.pos=this.range.from}return this.pos+=e,this.pos>=this.token.lookAhead&&(this.token.lookAhead=this.pos+1),this.readNext()}setDone(){return this.pos=this.chunkPos=this.end,this.range=this.ranges[this.rangeIndex=this.ranges.length-1],this.chunk="",this.next=-1}reset(e,i){if(i?(this.token=i,i.start=e,i.lookAhead=e+1,i.value=i.extended=-1):this.token=p0,this.pos!=e){if(this.pos=e,e==this.end)return this.setDone(),this;for(;e=this.range.to;)this.range=this.ranges[++this.rangeIndex];e>=this.chunkPos&&e=this.chunkPos&&i<=this.chunkPos+this.chunk.length)return this.chunk.slice(e-this.chunkPos,i-this.chunkPos);if(e>=this.chunk2Pos&&i<=this.chunk2Pos+this.chunk2.length)return this.chunk2.slice(e-this.chunk2Pos,i-this.chunk2Pos);if(e>=this.range.from&&i<=this.range.to)return this.input.read(e,i);let r="";for(let s of this.ranges){if(s.from>=i)break;s.to>e&&(r+=this.input.read(Math.max(s.from,e),Math.min(s.to,i)))}return r}}class bn{constructor(e,i){this.data=e,this.id=i}token(e,i){let{parser:r}=i.p;Qk(this.data,e,i,this.id,r.data,r.tokenPrecTable)}}bn.prototype.contextual=bn.prototype.fallback=bn.prototype.extend=!1;class oc{constructor(e,i,r){this.precTable=i,this.elseToken=r,this.data=typeof e=="string"?To(e):e}token(e,i){let r=e.pos,s=0;for(;;){let n=e.next<0,o=e.resolveOffset(1,1);if(Qk(this.data,e,i,0,this.data,this.precTable),e.token.value>-1)break;if(this.elseToken==null)return;if(n||s++,o==null)break;e.reset(o,e.token)}s&&(e.reset(r,e.token),e.acceptToken(this.elseToken,s))}}oc.prototype.contextual=bn.prototype.fallback=bn.prototype.extend=!1;class si{constructor(e,i={}){this.token=e,this.contextual=!!i.contextual,this.fallback=!!i.fallback,this.extend=!!i.extend}}function Qk(t,e,i,r,s,n){let o=0,l=1<0){let p=t[d];if(a.allows(p)&&(e.token.value==-1||e.token.value==p||YE(p,e.token.value,s,n))){e.acceptToken(p);break}}let c=e.next,u=0,f=t[o+2];if(e.next<0&&f>u&&t[h+f*3-3]==65535){o=t[h+f*3-1];continue e}for(;u>1,p=h+d+(d<<1),g=t[p],v=t[p+1]||65536;if(c=v)u=d+1;else{o=t[p+2],e.advance();continue e}}break}}function g0(t,e,i){for(let r=e,s;(s=t[r])!=65535;r++)if(s==i)return r-e;return-1}function YE(t,e,i,r){let s=g0(i,r,e);return s<0||g0(i,r,t)e)&&!r.type.isError)return i<0?Math.max(0,Math.min(r.to-1,e-25)):Math.min(t.length,Math.max(r.from+1,e+25));if(i<0?r.prevSibling():r.nextSibling())break;if(!r.parent())return i<0?0:t.length}}class qE{constructor(e,i){this.fragments=e,this.nodeSet=i,this.i=0,this.fragment=null,this.safeFrom=-1,this.safeTo=-1,this.trees=[],this.start=[],this.index=[],this.nextFragment()}nextFragment(){let e=this.fragment=this.i==this.fragments.length?null:this.fragments[this.i++];if(e){for(this.safeFrom=e.openStart?m0(e.tree,e.from+e.offset,1)-e.offset:e.from,this.safeTo=e.openEnd?m0(e.tree,e.to+e.offset,-1)-e.offset:e.to;this.trees.length;)this.trees.pop(),this.start.pop(),this.index.pop();this.trees.push(e.tree),this.start.push(-e.offset),this.index.push(0),this.nextStart=this.safeFrom}else this.nextStart=1e9}nodeAt(e){if(ee)return this.nextStart=o,null;if(n instanceof he){if(o==e){if(o=Math.max(this.safeFrom,e)&&(this.trees.push(n),this.start.push(o),this.index.push(0))}else this.index[i]++,this.nextStart=o+n.length}}}class FE{constructor(e,i){this.stream=i,this.tokens=[],this.mainToken=null,this.actions=[],this.tokens=e.tokenizers.map(r=>new nh)}getActions(e){let i=0,r=null,{parser:s}=e.p,{tokenizers:n}=s,o=s.stateSlot(e.state,3),l=e.curContext?e.curContext.hash:0,a=0;for(let h=0;hu.end+25&&(a=Math.max(u.lookAhead,a)),u.value!=0)){let f=i;if(u.extended>-1&&(i=this.addActions(e,u.extended,u.end,i)),i=this.addActions(e,u.value,u.end,i),!c.extend&&(r=u,i>f))break}}for(;this.actions.length>i;)this.actions.pop();return a&&e.setLookAhead(a),!r&&e.pos==this.stream.end&&(r=new nh,r.value=e.p.parser.eofTerm,r.start=r.end=e.pos,i=this.addActions(e,r.value,r.end,i)),this.mainToken=r,this.actions}getMainToken(e){if(this.mainToken)return this.mainToken;let i=new nh,{pos:r,p:s}=e;return i.start=r,i.end=Math.min(r+1,s.stream.end),i.value=r==s.stream.end?s.parser.eofTerm:0,i}updateCachedToken(e,i,r){let s=this.stream.clipPos(r.pos);if(i.token(this.stream.reset(s,e),r),e.value>-1){let{parser:n}=r.p;for(let o=0;o=0&&r.p.parser.dialect.allows(l>>1)){l&1?e.extended=l>>1:e.value=l>>1;break}}}else e.value=0,e.end=this.stream.clipPos(s+1)}putAction(e,i,r,s){for(let n=0;ne.bufferLength*4?new qE(r,e.nodeSet):null}get parsedPos(){return this.minStackPos}advance(){let e=this.stacks,i=this.minStackPos,r=this.stacks=[],s,n;if(this.bigReductionCount>300&&e.length==1){let[o]=e;for(;o.forceReduce()&&o.stack.length&&o.stack[o.stack.length-2]>=this.lastBigReductionStart;);this.bigReductionCount=this.lastBigReductionSize=0}for(let o=0;oi)r.push(l);else{if(this.advanceStack(l,r,e))continue;{s||(s=[],n=[]),s.push(l);let a=this.tokens.getMainToken(l);n.push(a.value,a.end)}}break}}if(!r.length){let o=s&&GE(s);if(o)return jt&&console.log("Finish with "+this.stackID(o)),this.stackToTree(o);if(this.parser.strict)throw jt&&s&&console.log("Stuck with token "+(this.tokens.mainToken?this.parser.getName(this.tokens.mainToken.value):"none")),new SyntaxError("No parse at "+i);this.recovering||(this.recovering=5)}if(this.recovering&&s){let o=this.stoppedAt!=null&&s[0].pos>this.stoppedAt?s[0]:this.runRecovery(s,n,r);if(o)return jt&&console.log("Force-finish "+this.stackID(o)),this.stackToTree(o.forceAll())}if(this.recovering){let o=this.recovering==1?1:this.recovering*3;if(r.length>o)for(r.sort((l,a)=>a.score-l.score);r.length>o;)r.pop();r.some(l=>l.reducePos>i)&&this.recovering--}else if(r.length>1){e:for(let o=0;o500&&h.buffer.length>500)if((l.score-h.score||l.buffer.length-h.buffer.length)>0)r.splice(a--,1);else{r.splice(o--,1);continue e}}}r.length>12&&(r.sort((o,l)=>l.score-o.score),r.splice(12,r.length-12))}this.minStackPos=r[0].pos;for(let o=1;o ":"";if(this.stoppedAt!=null&&s>this.stoppedAt)return e.forceReduce()?e:null;if(this.fragments){let h=e.curContext&&e.curContext.tracker.strict,c=h?e.curContext.hash:0;for(let u=this.fragments.nodeAt(s);u;){let f=this.parser.nodeSet.types[u.type.id]==u.type?n.getGoto(e.state,u.type.id):-1;if(f>-1&&u.length&&(!h||(u.prop(J.contextHash)||0)==c))return e.useNode(u,f),jt&&console.log(o+this.stackID(e)+` (via reuse of ${n.getName(u.type.id)})`),!0;if(!(u instanceof he)||u.children.length==0||u.positions[0]>0)break;let d=u.children[0];if(d instanceof he&&u.positions[0]==0)u=d;else break}}let l=n.stateSlot(e.state,4);if(l>0)return e.reduce(l),jt&&console.log(o+this.stackID(e)+` (via always-reduce ${n.getName(l&65535)})`),!0;if(e.stack.length>=8400)for(;e.stack.length>6e3&&e.forceReduce(););let a=this.tokens.getActions(e);for(let h=0;hs?i.push(p):r.push(p)}return!1}advanceFully(e,i){let r=e.pos;for(;;){if(!this.advanceStack(e,null,null))return!1;if(e.pos>r)return O0(e,i),!0}}runRecovery(e,i,r){let s=null,n=!1;for(let o=0;o ":"";if(l.deadEnd&&(n||(n=!0,l.restart(),jt&&console.log(c+this.stackID(l)+" (restarted)"),this.advanceFully(l,r))))continue;let u=l.split(),f=c;for(let d=0;d<10&&u.forceReduce()&&(jt&&console.log(f+this.stackID(u)+" (via force-reduce)"),!this.advanceFully(u,r));d++)jt&&(f=this.stackID(u)+" -> ");for(let d of l.recoverByInsert(a))jt&&console.log(c+this.stackID(d)+" (via recover-insert)"),this.advanceFully(d,r);this.stream.end>l.pos?(h==l.pos&&(h++,a=0),l.recoverByDelete(a,h),jt&&console.log(c+this.stackID(l)+` (via recover-delete ${this.parser.getName(a)})`),O0(l,r)):(!s||s.scoret;class Tk{constructor(e){this.start=e.start,this.shift=e.shift||Yu,this.reduce=e.reduce||Yu,this.reuse=e.reuse||Yu,this.hash=e.hash||(()=>0),this.strict=e.strict!==!1}}class Nn extends tm{constructor(e){if(super(),this.wrappers=[],e.version!=14)throw new RangeError(`Parser version (${e.version}) doesn't match runtime version (14)`);let i=e.nodeNames.split(" ");this.minRepeatTerm=i.length;for(let l=0;le.topRules[l][1]),s=[];for(let l=0;l=0)n(c,a,l[h++]);else{let u=l[h+-c];for(let f=-c;f>0;f--)n(l[h++],a,u);h++}}}this.nodeSet=new Wl(i.map((l,a)=>Ke.define({name:a>=this.minRepeatTerm?void 0:l,id:a,props:s[a],top:r.indexOf(a)>-1,error:a==0,skipped:e.skippedNodes&&e.skippedNodes.indexOf(a)>-1}))),e.propSources&&(this.nodeSet=this.nodeSet.extend(...e.propSources)),this.strict=!1,this.bufferLength=mw;let o=To(e.tokenData);this.context=e.context,this.specializerSpecs=e.specialized||[],this.specialized=new Uint16Array(this.specializerSpecs.length);for(let l=0;ltypeof l=="number"?new bn(o,l):l),this.topRules=e.topRules,this.dialects=e.dialects||{},this.dynamicPrecedences=e.dynamicPrecedences||null,this.tokenPrecTable=e.tokenPrec,this.termNames=e.termNames||null,this.maxNode=this.nodeSet.types.length-1,this.dialect=this.parseDialect(),this.top=this.topRules[Object.keys(this.topRules)[0]]}createParse(e,i,r){let s=new HE(this,e,i,r);for(let n of this.wrappers)s=n(s,e,i,r);return s}getGoto(e,i,r=!1){let s=this.goto;if(i>=s[0])return-1;for(let n=s[i+1];;){let o=s[n++],l=o&1,a=s[n++];if(l&&r)return a;for(let h=n+(o>>1);n0}validAction(e,i){return!!this.allActions(e,r=>r==i?!0:null)}allActions(e,i){let r=this.stateSlot(e,4),s=r?i(r):void 0;for(let n=this.stateSlot(e,1);s==null;n+=3){if(this.data[n]==65535)if(this.data[n+1]==1)n=hr(this.data,n+2);else break;s=i(hr(this.data,n+1))}return s}nextStates(e){let i=[];for(let r=this.stateSlot(e,1);;r+=3){if(this.data[r]==65535)if(this.data[r+1]==1)r=hr(this.data,r+2);else break;if(!(this.data[r+2]&1)){let s=this.data[r+1];i.some((n,o)=>o&1&&n==s)||i.push(this.data[r],s)}}return i}configure(e){let i=Object.assign(Object.create(Nn.prototype),this);if(e.props&&(i.nodeSet=this.nodeSet.extend(...e.props)),e.top){let r=this.topRules[e.top];if(!r)throw new RangeError(`Invalid top rule name ${e.top}`);i.top=r}return e.tokenizers&&(i.tokenizers=this.tokenizers.map(r=>{let s=e.tokenizers.find(n=>n.from==r);return s?s.to:r})),e.specializers&&(i.specializers=this.specializers.slice(),i.specializerSpecs=this.specializerSpecs.map((r,s)=>{let n=e.specializers.find(l=>l.from==r.external);if(!n)return r;let o=Object.assign(Object.assign({},r),{external:n.to});return i.specializers[s]=_0(o),o})),e.contextTracker&&(i.context=e.contextTracker),e.dialect&&(i.dialect=this.parseDialect(e.dialect)),e.strict!=null&&(i.strict=e.strict),e.wrap&&(i.wrappers=i.wrappers.concat(e.wrap)),e.bufferLength!=null&&(i.bufferLength=e.bufferLength),i}hasWrappers(){return this.wrappers.length>0}getName(e){return this.termNames?this.termNames[e]:String(e<=this.maxNode&&this.nodeSet.types[e].name||e)}get eofTerm(){return this.maxNode+1}get topNode(){return this.nodeSet.types[this.top[1]]}dynamicPrecedence(e){let i=this.dynamicPrecedences;return i==null?0:i[e]||0}parseDialect(e){let i=Object.keys(this.dialects),r=i.map(()=>!1);if(e)for(let n of e.split(" ")){let o=i.indexOf(n);o>=0&&(r[o]=!0)}let s=null;for(let n=0;nr)&&i.p.parser.stateFlag(i.state,2)&&(!e||e.scoret.external(i,r)<<1|e}return t.get}const KE=55,JE=1,eR=56,tR=2,iR=57,rR=3,v0=4,sR=5,gm=6,Ek=7,Rk=8,Ak=9,Mk=10,nR=11,oR=12,lR=13,qu=58,aR=14,hR=15,S0=59,Lk=21,cR=23,Dk=24,uR=25,ip=27,Bk=28,fR=29,dR=32,pR=35,gR=37,mR=38,OR=0,_R=1,vR={area:!0,base:!0,br:!0,col:!0,command:!0,embed:!0,frame:!0,hr:!0,img:!0,input:!0,keygen:!0,link:!0,meta:!0,param:!0,source:!0,track:!0,wbr:!0,menuitem:!0},SR={dd:!0,li:!0,optgroup:!0,option:!0,p:!0,rp:!0,rt:!0,tbody:!0,td:!0,tfoot:!0,th:!0,tr:!0},y0={dd:{dd:!0,dt:!0},dt:{dd:!0,dt:!0},li:{li:!0},option:{option:!0,optgroup:!0},optgroup:{optgroup:!0},p:{address:!0,article:!0,aside:!0,blockquote:!0,dir:!0,div:!0,dl:!0,fieldset:!0,footer:!0,form:!0,h1:!0,h2:!0,h3:!0,h4:!0,h5:!0,h6:!0,header:!0,hgroup:!0,hr:!0,menu:!0,nav:!0,ol:!0,p:!0,pre:!0,section:!0,table:!0,ul:!0},rp:{rp:!0,rt:!0},rt:{rp:!0,rt:!0},tbody:{tbody:!0,tfoot:!0},td:{td:!0,th:!0},tfoot:{tbody:!0},th:{td:!0,th:!0},thead:{tbody:!0,tfoot:!0},tr:{tr:!0}};function yR(t){return t==45||t==46||t==58||t>=65&&t<=90||t==95||t>=97&&t<=122||t>=161}let w0=null,k0=null,b0=0;function rp(t,e){let i=t.pos+e;if(b0==i&&k0==t)return w0;let r=t.peek(e),s="";for(;yR(r);)s+=String.fromCharCode(r),r=t.peek(++e);return k0=t,b0=i,w0=s?s.toLowerCase():r==wR||r==kR?void 0:null}const zk=60,lc=62,mm=47,wR=63,kR=33,bR=45;function x0(t,e){this.name=t,this.parent=e}const xR=[gm,Mk,Ek,Rk,Ak],CR=new Tk({start:null,shift(t,e,i,r){return xR.indexOf(e)>-1?new x0(rp(r,1)||"",t):t},reduce(t,e){return e==Lk&&t?t.parent:t},reuse(t,e,i,r){let s=e.type.id;return s==gm||s==gR?new x0(rp(r,1)||"",t):t},strict:!1}),PR=new si((t,e)=>{if(t.next!=zk){t.next<0&&e.context&&t.acceptToken(qu);return}t.advance();let i=t.next==mm;i&&t.advance();let r=rp(t,0);if(r===void 0)return;if(!r)return t.acceptToken(i?hR:aR);let s=e.context?e.context.name:null;if(i){if(r==s)return t.acceptToken(nR);if(s&&SR[s])return t.acceptToken(qu,-2);if(e.dialectEnabled(OR))return t.acceptToken(oR);for(let n=e.context;n;n=n.parent)if(n.name==r)return;t.acceptToken(lR)}else{if(r=="script")return t.acceptToken(Ek);if(r=="style")return t.acceptToken(Rk);if(r=="textarea")return t.acceptToken(Ak);if(vR.hasOwnProperty(r))return t.acceptToken(Mk);s&&y0[s]&&y0[s][r]?t.acceptToken(qu,-1):t.acceptToken(gm)}},{contextual:!0}),$R=new si(t=>{for(let e=0,i=0;;i++){if(t.next<0){i&&t.acceptToken(S0);break}if(t.next==bR)e++;else if(t.next==lc&&e>=2){i>=3&&t.acceptToken(S0,-2);break}else e=0;t.advance()}});function QR(t){for(;t;t=t.parent)if(t.name=="svg"||t.name=="math")return!0;return!1}const TR=new si((t,e)=>{if(t.next==mm&&t.peek(1)==lc){let i=e.dialectEnabled(_R)||QR(e.context);t.acceptToken(i?sR:v0,2)}else t.next==lc&&t.acceptToken(v0,1)});function Om(t,e,i){let r=2+t.length;return new si(s=>{for(let n=0,o=0,l=0;;l++){if(s.next<0){l&&s.acceptToken(e);break}if(n==0&&s.next==zk||n==1&&s.next==mm||n>=2&&no?s.acceptToken(e,-o):s.acceptToken(i,-(o-2));break}else if((s.next==10||s.next==13)&&l){s.acceptToken(e,1);break}else n=o=0;s.advance()}})}const ER=Om("script",KE,JE),RR=Om("style",eR,tR),AR=Om("textarea",iR,rR),MR=Hn({"Text RawText IncompleteTag IncompleteCloseTag":y.content,"StartTag StartCloseTag SelfClosingEndTag EndTag":y.angleBracket,TagName:y.tagName,"MismatchedCloseTag/TagName":[y.tagName,y.invalid],AttributeName:y.attributeName,"AttributeValue UnquotedAttributeValue":y.attributeValue,Is:y.definitionOperator,"EntityReference CharacterReference":y.character,Comment:y.blockComment,ProcessingInst:y.processingInstruction,DoctypeDecl:y.documentMeta}),LR=Nn.deserialize({version:14,states:",xOVO!rOOO!ZQ#tO'#CrO!`Q#tO'#C{O!eQ#tO'#DOO!jQ#tO'#DRO!oQ#tO'#DTO!tOaO'#CqO#PObO'#CqO#[OdO'#CqO$kO!rO'#CqOOO`'#Cq'#CqO$rO$fO'#DUO$zQ#tO'#DWO%PQ#tO'#DXOOO`'#Dl'#DlOOO`'#DZ'#DZQVO!rOOO%UQ&rO,59^O%aQ&rO,59gO%lQ&rO,59jO%wQ&rO,59mO&SQ&rO,59oOOOa'#D_'#D_O&_OaO'#CyO&jOaO,59]OOOb'#D`'#D`O&rObO'#C|O&}ObO,59]OOOd'#Da'#DaO'VOdO'#DPO'bOdO,59]OOO`'#Db'#DbO'jO!rO,59]O'qQ#tO'#DSOOO`,59],59]OOOp'#Dc'#DcO'vO$fO,59pOOO`,59p,59pO(OQ#|O,59rO(TQ#|O,59sOOO`-E7X-E7XO(YQ&rO'#CtOOQW'#D['#D[O(hQ&rO1G.xOOOa1G.x1G.xOOO`1G/Z1G/ZO(sQ&rO1G/ROOOb1G/R1G/RO)OQ&rO1G/UOOOd1G/U1G/UO)ZQ&rO1G/XOOO`1G/X1G/XO)fQ&rO1G/ZOOOa-E7]-E7]O)qQ#tO'#CzOOO`1G.w1G.wOOOb-E7^-E7^O)vQ#tO'#C}OOOd-E7_-E7_O){Q#tO'#DQOOO`-E7`-E7`O*QQ#|O,59nOOOp-E7a-E7aOOO`1G/[1G/[OOO`1G/^1G/^OOO`1G/_1G/_O*VQ,UO,59`OOQW-E7Y-E7YOOOa7+$d7+$dOOO`7+$u7+$uOOOb7+$m7+$mOOOd7+$p7+$pOOO`7+$s7+$sO*bQ#|O,59fO*gQ#|O,59iO*lQ#|O,59lOOO`1G/Y1G/YO*qO7[O'#CwO+SOMhO'#CwOOQW1G.z1G.zOOO`1G/Q1G/QOOO`1G/T1G/TOOO`1G/W1G/WOOOO'#D]'#D]O+eO7[O,59cOOQW,59c,59cOOOO'#D^'#D^O+vOMhO,59cOOOO-E7Z-E7ZOOQW1G.}1G.}OOOO-E7[-E7[",stateData:",c~O!_OS~OUSOVPOWQOXROYTO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O|_O!eZO~OgaO~OgbO~OgcO~OgdO~OgeO~O!XfOPmP![mP~O!YiOQpP![pP~O!ZlORsP![sP~OUSOVPOWQOXROYTOZqO[]O][O^^O_^Oa^Ob^Oc^Od^Oy^O!eZO~O![rO~P#gO!]sO!fuO~OgvO~OgwO~OS|OT}OiyO~OS!POT}OiyO~OS!ROT}OiyO~OS!TOT}OiyO~OS}OT}OiyO~O!XfOPmX![mX~OP!WO![!XO~O!YiOQpX![pX~OQ!ZO![!XO~O!ZlORsX![sX~OR!]O![!XO~O![!XO~P#gOg!_O~O!]sO!f!aO~OS!bO~OS!cO~Oj!dOShXThXihX~OS!fOT!gOiyO~OS!hOT!gOiyO~OS!iOT!gOiyO~OS!jOT!gOiyO~OS!gOT!gOiyO~Og!kO~Og!lO~Og!mO~OS!nO~Ol!qO!a!oO!c!pO~OS!rO~OS!sO~OS!tO~Ob!uOc!uOd!uO!a!wO!b!uO~Ob!xOc!xOd!xO!c!wO!d!xO~Ob!uOc!uOd!uO!a!{O!b!uO~Ob!xOc!xOd!xO!c!{O!d!xO~OT~cbd!ey|!e~",goto:"%q!aPPPPPPPPPPPPPPPPPPPPP!b!hP!nPP!zP!}#Q#T#Z#^#a#g#j#m#s#y!bP!b!bP$P$V$m$s$y%P%V%]%cPPPPPPPP%iX^OX`pXUOX`pezabcde{!O!Q!S!UR!q!dRhUR!XhXVOX`pRkVR!XkXWOX`pRnWR!XnXXOX`pQrXR!XpXYOX`pQ`ORx`Q{aQ!ObQ!QcQ!SdQ!UeZ!e{!O!Q!S!UQ!v!oR!z!vQ!y!pR!|!yQgUR!VgQjVR!YjQmWR![mQpXR!^pQtZR!`tS_O`ToXp",nodeNames:"⚠ StartCloseTag StartCloseTag StartCloseTag EndTag SelfClosingEndTag StartTag StartTag StartTag StartTag StartTag StartCloseTag StartCloseTag StartCloseTag IncompleteTag IncompleteCloseTag Document Text EntityReference CharacterReference InvalidEntity Element OpenTag TagName Attribute AttributeName Is AttributeValue UnquotedAttributeValue ScriptText CloseTag OpenTag StyleText CloseTag OpenTag TextareaText CloseTag OpenTag CloseTag SelfClosingTag Comment ProcessingInst MismatchedCloseTag CloseTag DoctypeDecl",maxTerm:68,context:CR,nodeProps:[["closedBy",-10,1,2,3,7,8,9,10,11,12,13,"EndTag",6,"EndTag SelfClosingEndTag",-4,22,31,34,37,"CloseTag"],["openedBy",4,"StartTag StartCloseTag",5,"StartTag",-4,30,33,36,38,"OpenTag"],["group",-10,14,15,18,19,20,21,40,41,42,43,"Entity",17,"Entity TextContent",-3,29,32,35,"TextContent Entity"],["isolate",-11,22,30,31,33,34,36,37,38,39,42,43,"ltr",-3,27,28,40,""]],propSources:[MR],skippedNodes:[0],repeatNodeCount:9,tokenData:"!]tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^/^!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!Z5zblWOX5uXZ7SZ[5u[^7S^p5uqr5urs7Sst+Ptw5uwx7Sx!]5u!]!^7w!^!a7S!a#S5u#S#T7S#T;'S5u;'S;=`8n<%lO5u!R7VVOp7Sqs7St!]7S!]!^7l!^;'S7S;'S;=`7q<%lO7S!R7qOb!R!R7tP;=`<%l7S!Z8OYlWb!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!Z8qP;=`<%l5u!_8{iiSlWOX5uXZ7SZ[5u[^7S^p5uqr8trs7Sst/^tw8twx7Sx!P8t!P!Q5u!Q!]8t!]!^:j!^!a7S!a#S8t#S#T;{#T#s8t#s$f5u$f;'S8t;'S;=`>V<%l?Ah8t?Ah?BY5u?BY?Mn8t?MnO5u!_:sbiSlWb!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VP<%l?Ah;{?Ah?BY7S?BY?Mn;{?MnO7S!V=dXiSb!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!V>SP;=`<%l;{!_>YP;=`<%l8t!_>dhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^/^!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!Z@TalWOX@OXZAYZ[@O[^AY^p@Oqr@OrsAYsw@OwxAYx!]@O!]!^Az!^!aAY!a#S@O#S#TAY#T;'S@O;'S;=`Bq<%lO@O!RA]UOpAYq!]AY!]!^Ao!^;'SAY;'S;=`At<%lOAY!RAtOc!R!RAwP;=`<%lAY!ZBRYlWc!ROX+PZ[+P^p+Pqr+Psw+Px!^+P!a#S+P#T;'S+P;'S;=`+t<%lO+P!ZBtP;=`<%l@O!_COhiSlWOX@OXZAYZ[@O[^AY^p@OqrBwrsAYswBwwxAYx!PBw!P!Q@O!Q!]Bw!]!^Dj!^!aAY!a#SBw#S#TE{#T#sBw#s$f@O$f;'SBw;'S;=`HS<%l?AhBw?Ah?BY@O?BY?MnBw?MnO@O!_DsbiSlWc!ROX+PZ[+P^p+Pqr/^sw/^x!P/^!P!Q+P!Q!^/^!a#S/^#S#T0m#T#s/^#s$f+P$f;'S/^;'S;=`1e<%l?Ah/^?Ah?BY+P?BY?Mn/^?MnO+P!VFQbiSOpAYqrE{rsAYswE{wxAYx!PE{!P!QAY!Q!]E{!]!^GY!^!aAY!a#sE{#s$fAY$f;'SE{;'S;=`G|<%l?AhE{?Ah?BYAY?BY?MnE{?MnOAY!VGaXiSc!Rqr0msw0mx!P0m!Q!^0m!a#s0m$f;'S0m;'S;=`1_<%l?Ah0m?BY?Mn0m!VHPP;=`<%lE{!_HVP;=`<%lBw!ZHcW!cxaP!b`Or(trs'ksv(tw!^(t!^!_)e!_;'S(t;'S;=`*P<%lO(t!aIYliSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OKQ!O!P-_!P!Q$q!Q!^-_!^!_*V!_!a&X!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!aK_kiSaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx!P-_!P!Q$q!Q!^-_!^!_*V!_!`&X!`!aMS!a#S-_#S#T1k#T#s-_#s$f$q$f;'S-_;'S;=`3X<%l?Ah-_?Ah?BY$q?BY?Mn-_?MnO$q!TM_XaP!b`!dp!fQOr&Xrs&}sv&Xwx(tx!^&X!^!_*V!_;'S&X;'S;=`*y<%lO&X!aNZ!ZiSgQaPlW!b`!dpOX$qXZ&XZ[$q[^&X^p$qpq&Xqr-_rs&}sv-_vw/^wx(tx}-_}!OMz!O!PMz!P!Q$q!Q![Mz![!]Mz!]!^-_!^!_*V!_!a&X!a!c-_!c!}Mz!}#R-_#R#SMz#S#T1k#T#oMz#o#s-_#s$f$q$f$}-_$}%OMz%O%W-_%W%oMz%o%p-_%p&aMz&a&b-_&b1pMz1p4UMz4U4dMz4d4e-_4e$ISMz$IS$I`-_$I`$IbMz$Ib$Je-_$Je$JgMz$Jg$Kh-_$Kh%#tMz%#t&/x-_&/x&EtMz&Et&FV-_&FV;'SMz;'S;:j!#|;:j;=`3X<%l?&r-_?&r?AhMz?Ah?BY$q?BY?MnMz?MnO$q!a!$PP;=`<%lMz!R!$ZY!b`!dpOq*Vqr!$yrs(Vsv*Vwx)ex!a*V!a!b!4t!b;'S*V;'S;=`*s<%lO*V!R!%Q]!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!%y!O!f*V!f!g!']!g#W*V#W#X!0`#X;'S*V;'S;=`*s<%lO*V!R!&QX!b`!dpOr*Vrs(Vsv*Vwx)ex}*V}!O!&m!O;'S*V;'S;=`*s<%lO*V!R!&vV!b`!dp!ePOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!'dX!b`!dpOr*Vrs(Vsv*Vwx)ex!q*V!q!r!(P!r;'S*V;'S;=`*s<%lO*V!R!(WX!b`!dpOr*Vrs(Vsv*Vwx)ex!e*V!e!f!(s!f;'S*V;'S;=`*s<%lO*V!R!(zX!b`!dpOr*Vrs(Vsv*Vwx)ex!v*V!v!w!)g!w;'S*V;'S;=`*s<%lO*V!R!)nX!b`!dpOr*Vrs(Vsv*Vwx)ex!{*V!{!|!*Z!|;'S*V;'S;=`*s<%lO*V!R!*bX!b`!dpOr*Vrs(Vsv*Vwx)ex!r*V!r!s!*}!s;'S*V;'S;=`*s<%lO*V!R!+UX!b`!dpOr*Vrs(Vsv*Vwx)ex!g*V!g!h!+q!h;'S*V;'S;=`*s<%lO*V!R!+xY!b`!dpOr!+qrs!,hsv!+qvw!-Swx!.[x!`!+q!`!a!/j!a;'S!+q;'S;=`!0Y<%lO!+qq!,mV!dpOv!,hvx!-Sx!`!,h!`!a!-q!a;'S!,h;'S;=`!.U<%lO!,hP!-VTO!`!-S!`!a!-f!a;'S!-S;'S;=`!-k<%lO!-SP!-kO|PP!-nP;=`<%l!-Sq!-xS!dp|POv(Vx;'S(V;'S;=`(h<%lO(Vq!.XP;=`<%l!,ha!.aX!b`Or!.[rs!-Ssv!.[vw!-Sw!`!.[!`!a!.|!a;'S!.[;'S;=`!/d<%lO!.[a!/TT!b`|POr)esv)ew;'S)e;'S;=`)y<%lO)ea!/gP;=`<%l!.[!R!/sV!b`!dp|POr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!0]P;=`<%l!+q!R!0gX!b`!dpOr*Vrs(Vsv*Vwx)ex#c*V#c#d!1S#d;'S*V;'S;=`*s<%lO*V!R!1ZX!b`!dpOr*Vrs(Vsv*Vwx)ex#V*V#V#W!1v#W;'S*V;'S;=`*s<%lO*V!R!1}X!b`!dpOr*Vrs(Vsv*Vwx)ex#h*V#h#i!2j#i;'S*V;'S;=`*s<%lO*V!R!2qX!b`!dpOr*Vrs(Vsv*Vwx)ex#m*V#m#n!3^#n;'S*V;'S;=`*s<%lO*V!R!3eX!b`!dpOr*Vrs(Vsv*Vwx)ex#d*V#d#e!4Q#e;'S*V;'S;=`*s<%lO*V!R!4XX!b`!dpOr*Vrs(Vsv*Vwx)ex#X*V#X#Y!+q#Y;'S*V;'S;=`*s<%lO*V!R!4{Y!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!a!4t!a!b!:]!b;'S!4t;'S;=`!;r<%lO!4tq!5pV!dpOv!5kvx!6Vx!a!5k!a!b!7W!b;'S!5k;'S;=`!8V<%lO!5kP!6YTO!a!6V!a!b!6i!b;'S!6V;'S;=`!7Q<%lO!6VP!6lTO!`!6V!`!a!6{!a;'S!6V;'S;=`!7Q<%lO!6VP!7QOyPP!7TP;=`<%l!6Vq!7]V!dpOv!5kvx!6Vx!`!5k!`!a!7r!a;'S!5k;'S;=`!8V<%lO!5kq!7yS!dpyPOv(Vx;'S(V;'S;=`(h<%lO(Vq!8YP;=`<%l!5ka!8bX!b`Or!8]rs!6Vsv!8]vw!6Vw!a!8]!a!b!8}!b;'S!8];'S;=`!:V<%lO!8]a!9SX!b`Or!8]rs!6Vsv!8]vw!6Vw!`!8]!`!a!9o!a;'S!8];'S;=`!:V<%lO!8]a!9vT!b`yPOr)esv)ew;'S)e;'S;=`)y<%lO)ea!:YP;=`<%l!8]!R!:dY!b`!dpOr!4trs!5ksv!4tvw!6Vwx!8]x!`!4t!`!a!;S!a;'S!4t;'S;=`!;r<%lO!4t!R!;]V!b`!dpyPOr*Vrs(Vsv*Vwx)ex;'S*V;'S;=`*s<%lO*V!R!;uP;=`<%l!4t!V!{let h=l.type.id;if(h==fR)return Fu(l,a,i);if(h==dR)return Fu(l,a,r);if(h==pR)return Fu(l,a,s);if(h==Lk&&n.length){let c=l.node,u=c.firstChild,f=u&&C0(u,a),d;if(f){for(let p of n)if(p.tag==f&&(!p.attrs||p.attrs(d||(d=Zk(u,a))))){let g=c.lastChild,v=g.type.id==mR?g.from:c.to;if(v>u.to)return{parser:p.parser,overlay:[{from:u.to,to:v}]}}}}if(o&&h==Dk){let c=l.node,u;if(u=c.firstChild){let f=o[a.read(u.from,u.to)];if(f)for(let d of f){if(d.tagName&&d.tagName!=C0(c.parent,a))continue;let p=c.lastChild;if(p.type.id==ip){let g=p.from+1,v=p.lastChild,m=p.to-(v&&v.isError?0:1);if(m>g)return{parser:d.parser,overlay:[{from:g,to:m}],bracketed:!0}}else if(p.type.id==Bk)return{parser:d.parser,overlay:[{from:p.from,to:p.to}]}}}}return null})}const DR=135,P0=1,BR=136,zR=137,Ik=2,ZR=138,XR=3,IR=4,Nk=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],NR=58,WR=40,Wk=95,jR=91,oh=45,VR=46,YR=35,qR=37,FR=38,HR=92,UR=10,GR=42;function Ql(t){return t>=65&&t<=90||t>=97&&t<=122||t>=161}function _m(t){return t>=48&&t<=57}function $0(t){return _m(t)||t>=97&&t<=102||t>=65&&t<=70}const jk=(t,e,i)=>(r,s)=>{for(let n=!1,o=0,l=0;;l++){let{next:a}=r;if(Ql(a)||a==oh||a==Wk||n&&_m(a))!n&&(a!=oh||l>0)&&(n=!0),o===l&&a==oh&&o++,r.advance();else if(a==HR&&r.peek(1)!=UR){if(r.advance(),$0(r.next)){do r.advance();while($0(r.next));r.next==32&&r.advance()}else r.next>-1&&r.advance();n=!0}else{n&&r.acceptToken(o==2&&s.canShift(Ik)?e:a==WR?i:t);break}}},KR=new si(jk(BR,Ik,zR),{contextual:!0}),JR=new si(jk(ZR,XR,IR),{contextual:!0}),e5=new si(t=>{if(Nk.includes(t.peek(-1))){let{next:e}=t;(Ql(e)||e==Wk||e==YR||e==VR||e==GR||e==jR||e==NR&&Ql(t.peek(1))||e==oh||e==FR)&&t.acceptToken(DR)}}),t5=new si(t=>{if(!Nk.includes(t.peek(-1))){let{next:e}=t;if(e==qR&&(t.advance(),t.acceptToken(P0)),Ql(e)){do t.advance();while(Ql(t.next)||_m(t.next));t.acceptToken(P0)}}}),i5=Hn({"AtKeyword import charset namespace keyframes media supports font-feature-values":y.definitionKeyword,"from to selector scope MatchFlag":y.keyword,NamespaceName:y.namespace,KeyframeName:y.labelName,KeyframeRangeName:y.operatorKeyword,TagName:y.tagName,ClassName:y.className,PseudoClassName:y.constant(y.className),IdName:y.labelName,"FeatureName PropertyName":y.propertyName,AttributeName:y.attributeName,NumberLiteral:y.number,KeywordQuery:y.keyword,UnaryQueryOp:y.operatorKeyword,"CallTag ValueName FontName":y.atom,VariableName:y.variableName,Callee:y.operatorKeyword,Unit:y.unit,"UniversalSelector NestingSelector":y.definitionOperator,"MatchOp CompareOp":y.compareOperator,"ChildOp SiblingOp, LogicOp":y.logicOperator,BinOp:y.arithmeticOperator,Important:y.modifier,Comment:y.blockComment,ColorLiteral:y.color,"ParenthesizedContent StringLiteral":y.string,":":y.punctuation,"PseudoOp #":y.derefOperator,"; , |":y.separator,"( )":y.paren,"[ ]":y.squareBracket,"{ }":y.brace}),r5={__proto__:null,lang:44,"nth-child":44,"nth-last-child":44,"nth-of-type":44,"nth-last-of-type":44,dir:44,"host-context":44,if:90,url:132,"url-prefix":132,domain:132,regexp:132},s5={__proto__:null,or:104,and:104,not:112,only:112,layer:186},n5={__proto__:null,selector:118,layer:182},o5={__proto__:null,"@import":178,"@media":190,"@charset":194,"@namespace":198,"@keyframes":204,"@supports":216,"@scope":220,"@font-feature-values":226},l5={__proto__:null,to:223},a5=Nn.deserialize({version:14,states:"IpQYQdOOO#}QdOOP$UO`OOO%OQaO'#CfOOQP'#Ce'#CeO%VQdO'#CgO%[Q`O'#CgO%aQaO'#FdO&XQdO'#CkO&xQaO'#CcO'SQdO'#CnO'_QdO'#DtO'dQdO'#DvO'oQdO'#D}O'oQdO'#EQOOQP'#Fd'#FdO)OQhO'#EsOOQS'#Fc'#FcOOQS'#Ev'#EvQYQdOOO)VQdO'#EWO*cQhO'#E^O)VQdO'#E`O*jQdO'#EbO*uQdO'#EeO)zQhO'#EkO*}QdO'#EmO+YQdO'#EpO+_QaO'#CfO+fQ`O'#ETO+kQ`O'#FnO+vQdO'#FnQOQ`OOP,QO&jO'#CaPOOO)CAR)CAROOQP'#Ci'#CiOOQP,59R,59RO%VQdO,59ROOQP'#Cm'#CmOOQP,59V,59VO&XQdO,59VO,]QdO,59YO'_QdO,5:`O'dQdO,5:bO'oQdO,5:iO'oQdO,5:kO'oQdO,5:lO'oQdO'#E}O,hQ`O,58}O,pQdO'#ESOOQS,58},58}OOQP'#Cq'#CqOOQO'#Dr'#DrOOQP,59Y,59YO,wQ`O,59YO,|Q`O,59YOOQP'#Du'#DuOOQP,5:`,5:`O-RQpO'#DwO-^QdO'#DxO-cQ`O'#DxO-hQpO,5:bO.RQaO,5:iO.iQaO,5:lOOQW'#D^'#D^O/eQhO'#DgO/xQhO,5;_O)zQhO'#DeO0VQ`O'#DkO0[QhO'#DnOOQW'#Fj'#FjOOQS,5;_,5;_O0aQ`O'#DhOOQS-E8t-E8tOOQ['#Cv'#CvO0fQdO'#CwO0|QdO'#C}O1dQdO'#DQO1zQ!pO'#DSO4TQ!jO,5:rOOQO'#DX'#DXO,|Q`O'#DWO4eQ!nO'#FgO6hQ`O'#DYO6mQ`O'#DoOOQ['#Fg'#FgO6rQhO'#FqO7QQ`O,5:xO7VQ!bO,5:zOOQS'#Ed'#EdO7_Q`O,5:|O7dQdO,5:|OOQO'#Eg'#EgO7lQ`O,5;PO7qQhO,5;VO'oQdO'#DjOOQS,5;X,5;XO0aQ`O,5;XO7yQdO,5;XOOQS'#FU'#FUO8RQdO'#ErO7QQ`O,5;[O8ZQdO,5:oO8kQdO'#FPO8xQ`O,5QQhO'#DlOOQW,5:V,5:VOOQW,5:Y,5:YOOQW,5:S,5:SO>[Q!fO'#FhOOQS'#Fh'#FhOOQS'#Ex'#ExO?lQdO,59cOOQ[,59c,59cO@SQdO,59iOOQ[,59i,59iO@jQdO,59lOOQ[,59l,59lOOQ[,59n,59nO)VQdO,59pOAQQhO'#EYOOQW'#EY'#EYOAlQ`O1G0^O4^QhO1G0^OOQ[,59r,59rO)zQhO'#D[OOQ[,59t,59tOAqQ#tO,5:ZOA|QhO'#FROBZQ`O,5<]OOQS1G0d1G0dOOQS1G0f1G0fOOQS1G0h1G0hOBfQ`O1G0hOBkQdO'#EhOOQS1G0k1G0kOOQS1G0q1G0qOBvQaO,5:UO7QQ`O1G0sOOQS1G0s1G0sO0aQ`O1G0sOOQS-E9S-E9SOOQS1G0v1G0vOB}Q!fO1G0ZOCeQ`O'#EVOOQO1G0Z1G0ZOOQO,5;k,5;kOCjQdO,5;kOOQO-E8}-E8}OCwQ`O1G1tPOOO-E8s-E8sPOOO1G.g1G.gOOQP7+$`7+$`OOQP7+%h7+%hO)VQdO7+%hOOQS1G0Y1G0YODSQaO'#FmOD^Q`O,5:_ODcQ!fO'#EwOEaQdO'#FfOEkQ`O,59aOOQO1G0O1G0OOEpQ!bO7+%hO)VQdO1G/eOE{QhO1G/iOOQW1G/m1G/mOOQW1G/g1G/gOF^QhO,5;qOOQW-E9T-E9TOOQS7+&e7+&eOGRQhO'#D^OGaQhO'#FlOGlQ`O'#FlOGqQ`O,5:WOOQS-E8v-E8vOOQ[1G.}1G.}OOQ[1G/T1G/TOOQ[1G/W1G/WOOQ[1G/[1G/[OGvQdO,5:tOOQS7+%x7+%xOG{Q`O7+%xOHQQhO'#D]OHYQ`O,59vO)zQhO,59vOOQ[1G/u1G/uOHbQ`O1G/uOHgQhO,5;mOOQO-E9P-E9POOQS7+&S7+&SOHuQbO'#DSOOQO'#Ej'#EjOITQ`O'#EiOOQO'#Ei'#EiOI`Q`O'#FSOIhQdO,5;SOOQS,5;S,5;SOOQ[1G/p1G/pOOQS7+&_7+&_O7QQ`O7+&_OIsQ!fO'#FOO)VQdO'#FOOJzQdO7+%uOOQO7+%u7+%uOOQO,5:q,5:qOOQO1G1V1G1VOK_Q!bO<nAN>nO! bQ`OAN>nO! gQaO,5;hOOQO-E8z-E8zO! qQdO,5;gOOQO-E8y-E8yOOQW<ZO)VQdO1G1QO!#nQ`O7+'^OOQO,5;l,5;lOOQO-E9O-E9OOOQW<Q!]!^>|!^!_?_!_!`@Z!`!a@n!a!b%Z!b!cAo!c!k%Z!k!lC|!l!u%Z!u!vC|!v!}%Z!}#OD_#O#P%Z#P#QDp#Q#R2X#R#]%Z#]#^ER#^#g%Z#g#hC|#h#o%Z#o#pIf#p#qIw#q#rJ`#r#sJq#s#y%Z#y#z&R#z$f%Z$f$g&R$g#BY%Z#BY#BZ&R#BZ$IS%Z$IS$I_&R$I_$I|%Z$I|$JO&R$JO$JT%Z$JT$JU&R$JU$KV%Z$KV$KW&R$KW&FU%Z&FU&FV&R&FV;'S%Z;'S;=`KY<%lO%Z`%^SOy%jz;'S%j;'S;=`%{<%lO%j`%oS!e`Oy%jz;'S%j;'S;=`%{<%lO%j`&OP;=`<%l%j~&Wh$Q~OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%j~'yh$Q~!e`OX%jX^'r^p%jpq'rqy%jz#y%j#y#z'r#z$f%j$f$g'r$g#BY%j#BY#BZ'r#BZ$IS%j$IS$I_'r$I_$I|%j$I|$JO'r$JO$JT%j$JT$JU'r$JU$KV%j$KV$KW'r$KW&FU%j&FU&FV'r&FV;'S%j;'S;=`%{<%lO%jj)jS$dYOy%jz;'S%j;'S;=`%{<%lO%j~)yWOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d<%lO)v~*hOw~~*kRO;'S)v;'S;=`*t;=`O)v~*wXOY)vZr)vrs*cs#O)v#O#P*h#P;'S)v;'S;=`+d;=`<%l)v<%lO)v~+gP;=`<%l)vj+oYmYOy%jz!Q%j!Q![,_![!c%j!c!i,_!i#T%j#T#Z,_#Z;'S%j;'S;=`%{<%lO%jj,dY!e`Oy%jz!Q%j!Q![-S![!c%j!c!i-S!i#T%j#T#Z-S#Z;'S%j;'S;=`%{<%lO%jj-XY!e`Oy%jz!Q%j!Q![-w![!c%j!c!i-w!i#T%j#T#Z-w#Z;'S%j;'S;=`%{<%lO%jj.OYuY!e`Oy%jz!Q%j!Q![.n![!c%j!c!i.n!i#T%j#T#Z.n#Z;'S%j;'S;=`%{<%lO%jj.uYuY!e`Oy%jz!Q%j!Q![/e![!c%j!c!i/e!i#T%j#T#Z/e#Z;'S%j;'S;=`%{<%lO%jj/jY!e`Oy%jz!Q%j!Q![0Y![!c%j!c!i0Y!i#T%j#T#Z0Y#Z;'S%j;'S;=`%{<%lO%jj0aYuY!e`Oy%jz!Q%j!Q![1P![!c%j!c!i1P!i#T%j#T#Z1P#Z;'S%j;'S;=`%{<%lO%jj1UY!e`Oy%jz!Q%j!Q![1t![!c%j!c!i1t!i#T%j#T#Z1t#Z;'S%j;'S;=`%{<%lO%jj1{SuY!e`Oy%jz;'S%j;'S;=`%{<%lO%jd2[UOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jd2uS!oS!e`Oy%jz;'S%j;'S;=`%{<%lO%jb3WS^QOy%jz;'S%j;'S;=`%{<%lO%j~3gWOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{<%lO3d~4SRO;'S3d;'S;=`4];=`O3d~4`XOY3dZw3dwx*cx#O3d#O#P4P#P;'S3d;'S;=`4{;=`<%l3d<%lO3d~5OP;=`<%l3dj5WShYOy%jz;'S%j;'S;=`%{<%lO%j~5iOg~n5pUWQyWOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jj6ZWyW!uQOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj6xU!e`Oy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%jj7cY!e`$]YOy%jz!Q%j!Q![7[![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj8WY!e`Oy%jz{%j{|8v|}%j}!O8v!O!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj8{U!e`Oy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj9fU!e`$]YOy%jz!Q%j!Q![9_![;'S%j;'S;=`%{<%lO%jj:P[!e`$]YOy%jz!O%j!O!P7[!P!Q%j!Q![9x![!g%j!g!h8R!h#X%j#X#Y8R#Y;'S%j;'S;=`%{<%lO%jj:zS!aYOy%jz;'S%j;'S;=`%{<%lO%jj;]WyWOy%jz!O%j!O!P6s!P!Q%j!Q![9x![;'S%j;'S;=`%{<%lO%jj;zU`YOy%jz!Q%j!Q![7[![;'S%j;'S;=`%{<%lO%j~VUcYOy%jz![%j![!]>i!];'S%j;'S;=`%{<%lO%jj>pSdY!e`Oy%jz;'S%j;'S;=`%{<%lO%jj?RSnYOy%jz;'S%j;'S;=`%{<%lO%jh?dU!WWOy%jz!_%j!_!`?v!`;'S%j;'S;=`%{<%lO%jh?}S!WW!e`Oy%jz;'S%j;'S;=`%{<%lO%jl@bS!WW!oSOy%jz;'S%j;'S;=`%{<%lO%jj@uV!rQ!WWOy%jz!_%j!_!`?v!`!aA[!a;'S%j;'S;=`%{<%lO%jbAcS!rQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjArYOy%jz}%j}!OBb!O!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjBgW!e`Oy%jz!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jjCW[lY!e`Oy%jz}%j}!OCP!O!Q%j!Q![CP![!c%j!c!}CP!}#T%j#T#oCP#o;'S%j;'S;=`%{<%lO%jhDRS!pWOy%jz;'S%j;'S;=`%{<%lO%jjDdSpYOy%jz;'S%j;'S;=`%{<%lO%jnDuSo^Oy%jz;'S%j;'S;=`%{<%lO%jjEWU!pWOy%jz#a%j#a#bEj#b;'S%j;'S;=`%{<%lO%jbEoU!e`Oy%jz#d%j#d#eFR#e;'S%j;'S;=`%{<%lO%jbFWU!e`Oy%jz#c%j#c#dFj#d;'S%j;'S;=`%{<%lO%jbFoU!e`Oy%jz#f%j#f#gGR#g;'S%j;'S;=`%{<%lO%jbGWU!e`Oy%jz#h%j#h#iGj#i;'S%j;'S;=`%{<%lO%jbGoU!e`Oy%jz#T%j#T#UHR#U;'S%j;'S;=`%{<%lO%jbHWU!e`Oy%jz#b%j#b#cHj#c;'S%j;'S;=`%{<%lO%jbHoU!e`Oy%jz#h%j#h#iIR#i;'S%j;'S;=`%{<%lO%jbIYS$cQ!e`Oy%jz;'S%j;'S;=`%{<%lO%jjIkSsYOy%jz;'S%j;'S;=`%{<%lO%jfI|U$XUOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%jjJeSrYOy%jz;'S%j;'S;=`%{<%lO%jfJvU!uQOy%jz!_%j!_!`2n!`;'S%j;'S;=`%{<%lO%j`K]P;=`<%l%Z",tokenizers:[e5,t5,KR,JR,1,2,3,4,new oc("m~RRYZ[z{a~~g~aO$T~~dP!P!Qg~lO$U~~",28,142)],topRules:{StyleSheet:[0,6],Styles:[1,116]},dynamicPrecedences:{84:1},specialized:[{term:137,get:t=>r5[t]||-1},{term:138,get:t=>s5[t]||-1},{term:4,get:t=>n5[t]||-1},{term:28,get:t=>o5[t]||-1},{term:136,get:t=>l5[t]||-1}],tokenPrec:2256});let Hu=null;function Uu(){if(!Hu&&typeof document=="object"&&document.body){let{style:t}=document.body,e=[],i=new Set;for(let r in t)r!="cssText"&&r!="cssFloat"&&typeof t[r]=="string"&&(/[A-Z]/.test(r)&&(r=r.replace(/[A-Z]/g,s=>"-"+s.toLowerCase())),i.has(r)||(e.push(r),i.add(r)));Hu=e.sort().map(r=>({type:"property",label:r,apply:r+": "}))}return Hu||[]}const Q0=["active","after","any-link","autofill","backdrop","before","checked","cue","default","defined","disabled","empty","enabled","file-selector-button","first","first-child","first-letter","first-line","first-of-type","focus","focus-visible","focus-within","fullscreen","has","host","host-context","hover","in-range","indeterminate","invalid","is","lang","last-child","last-of-type","left","link","marker","modal","not","nth-child","nth-last-child","nth-last-of-type","nth-of-type","only-child","only-of-type","optional","out-of-range","part","placeholder","placeholder-shown","read-only","read-write","required","right","root","scope","selection","slotted","target","target-text","valid","visited","where"].map(t=>({type:"class",label:t})),T0=["above","absolute","activeborder","additive","activecaption","after-white-space","ahead","alias","all","all-scroll","alphabetic","alternate","always","antialiased","appworkspace","asterisks","attr","auto","auto-flow","avoid","avoid-column","avoid-page","avoid-region","axis-pan","background","backwards","baseline","below","bidi-override","blink","block","block-axis","bold","bolder","border","border-box","both","bottom","break","break-all","break-word","bullets","button","button-bevel","buttonface","buttonhighlight","buttonshadow","buttontext","calc","capitalize","caps-lock-indicator","caption","captiontext","caret","cell","center","checkbox","circle","cjk-decimal","clear","clip","close-quote","col-resize","collapse","color","color-burn","color-dodge","column","column-reverse","compact","condensed","contain","content","contents","content-box","context-menu","continuous","copy","counter","counters","cover","crop","cross","crosshair","currentcolor","cursive","cyclic","darken","dashed","decimal","decimal-leading-zero","default","default-button","dense","destination-atop","destination-in","destination-out","destination-over","difference","disc","discard","disclosure-closed","disclosure-open","document","dot-dash","dot-dot-dash","dotted","double","down","e-resize","ease","ease-in","ease-in-out","ease-out","element","ellipse","ellipsis","embed","end","ethiopic-abegede-gez","ethiopic-halehame-aa-er","ethiopic-halehame-gez","ew-resize","exclusion","expanded","extends","extra-condensed","extra-expanded","fantasy","fast","fill","fill-box","fixed","flat","flex","flex-end","flex-start","footnotes","forwards","from","geometricPrecision","graytext","grid","groove","hand","hard-light","help","hidden","hide","higher","highlight","highlighttext","horizontal","hsl","hsla","hue","icon","ignore","inactiveborder","inactivecaption","inactivecaptiontext","infinite","infobackground","infotext","inherit","initial","inline","inline-axis","inline-block","inline-flex","inline-grid","inline-table","inset","inside","intrinsic","invert","italic","justify","keep-all","landscape","large","larger","left","level","lighter","lighten","line-through","linear","linear-gradient","lines","list-item","listbox","listitem","local","logical","loud","lower","lower-hexadecimal","lower-latin","lower-norwegian","lowercase","ltr","luminosity","manipulation","match","matrix","matrix3d","medium","menu","menutext","message-box","middle","min-intrinsic","mix","monospace","move","multiple","multiple_mask_images","multiply","n-resize","narrower","ne-resize","nesw-resize","no-close-quote","no-drop","no-open-quote","no-repeat","none","normal","not-allowed","nowrap","ns-resize","numbers","numeric","nw-resize","nwse-resize","oblique","opacity","open-quote","optimizeLegibility","optimizeSpeed","outset","outside","outside-shape","overlay","overline","padding","padding-box","painted","page","paused","perspective","pinch-zoom","plus-darker","plus-lighter","pointer","polygon","portrait","pre","pre-line","pre-wrap","preserve-3d","progress","push-button","radial-gradient","radio","read-only","read-write","read-write-plaintext-only","rectangle","region","relative","repeat","repeating-linear-gradient","repeating-radial-gradient","repeat-x","repeat-y","reset","reverse","rgb","rgba","ridge","right","rotate","rotate3d","rotateX","rotateY","rotateZ","round","row","row-resize","row-reverse","rtl","run-in","running","s-resize","sans-serif","saturation","scale","scale3d","scaleX","scaleY","scaleZ","screen","scroll","scrollbar","scroll-position","se-resize","self-start","self-end","semi-condensed","semi-expanded","separate","serif","show","single","skew","skewX","skewY","skip-white-space","slide","slider-horizontal","slider-vertical","sliderthumb-horizontal","sliderthumb-vertical","slow","small","small-caps","small-caption","smaller","soft-light","solid","source-atop","source-in","source-out","source-over","space","space-around","space-between","space-evenly","spell-out","square","start","static","status-bar","stretch","stroke","stroke-box","sub","subpixel-antialiased","svg_masks","super","sw-resize","symbolic","symbols","system-ui","table","table-caption","table-cell","table-column","table-column-group","table-footer-group","table-header-group","table-row","table-row-group","text","text-bottom","text-top","textarea","textfield","thick","thin","threeddarkshadow","threedface","threedhighlight","threedlightshadow","threedshadow","to","top","transform","translate","translate3d","translateX","translateY","translateZ","transparent","ultra-condensed","ultra-expanded","underline","unidirectional-pan","unset","up","upper-latin","uppercase","url","var","vertical","vertical-text","view-box","visible","visibleFill","visiblePainted","visibleStroke","visual","w-resize","wait","wave","wider","window","windowframe","windowtext","words","wrap","wrap-reverse","x-large","x-small","xor","xx-large","xx-small"].map(t=>({type:"keyword",label:t})).concat(["aliceblue","antiquewhite","aqua","aquamarine","azure","beige","bisque","black","blanchedalmond","blue","blueviolet","brown","burlywood","cadetblue","chartreuse","chocolate","coral","cornflowerblue","cornsilk","crimson","cyan","darkblue","darkcyan","darkgoldenrod","darkgray","darkgreen","darkkhaki","darkmagenta","darkolivegreen","darkorange","darkorchid","darkred","darksalmon","darkseagreen","darkslateblue","darkslategray","darkturquoise","darkviolet","deeppink","deepskyblue","dimgray","dodgerblue","firebrick","floralwhite","forestgreen","fuchsia","gainsboro","ghostwhite","gold","goldenrod","gray","grey","green","greenyellow","honeydew","hotpink","indianred","indigo","ivory","khaki","lavender","lavenderblush","lawngreen","lemonchiffon","lightblue","lightcoral","lightcyan","lightgoldenrodyellow","lightgray","lightgreen","lightpink","lightsalmon","lightseagreen","lightskyblue","lightslategray","lightsteelblue","lightyellow","lime","limegreen","linen","magenta","maroon","mediumaquamarine","mediumblue","mediumorchid","mediumpurple","mediumseagreen","mediumslateblue","mediumspringgreen","mediumturquoise","mediumvioletred","midnightblue","mintcream","mistyrose","moccasin","navajowhite","navy","oldlace","olive","olivedrab","orange","orangered","orchid","palegoldenrod","palegreen","paleturquoise","palevioletred","papayawhip","peachpuff","peru","pink","plum","powderblue","purple","rebeccapurple","red","rosybrown","royalblue","saddlebrown","salmon","sandybrown","seagreen","seashell","sienna","silver","skyblue","slateblue","slategray","snow","springgreen","steelblue","tan","teal","thistle","tomato","turquoise","violet","wheat","white","whitesmoke","yellow","yellowgreen"].map(t=>({type:"constant",label:t}))),h5=["a","abbr","address","article","aside","b","bdi","bdo","blockquote","body","br","button","canvas","caption","cite","code","col","colgroup","dd","del","details","dfn","dialog","div","dl","dt","em","figcaption","figure","footer","form","header","hgroup","h1","h2","h3","h4","h5","h6","hr","html","i","iframe","img","input","ins","kbd","label","legend","li","main","meter","nav","ol","output","p","pre","ruby","section","select","small","source","span","strong","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","tr","u","ul"].map(t=>({type:"type",label:t})),c5=["@charset","@color-profile","@container","@counter-style","@font-face","@font-feature-values","@font-palette-values","@import","@keyframes","@layer","@media","@namespace","@page","@position-try","@property","@scope","@starting-style","@supports","@view-transition"].map(t=>({type:"keyword",label:t})),nr=/^(\w[\w-]*|-\w[\w-]*|)$/,u5=/^-(-[\w-]*)?$/;function f5(t,e){var i;if((t.name=="("||t.type.isError)&&(t=t.parent||t),t.name!="ArgList")return!1;let r=(i=t.parent)===null||i===void 0?void 0:i.firstChild;return(r==null?void 0:r.name)!="Callee"?!1:e.sliceString(r.from,r.to)=="var"}const E0=new Sw,d5=["Declaration"];function p5(t){for(let e=t;;){if(e.type.isTop)return e;if(!(e=e.parent))return t}}function Vk(t,e,i){if(e.to-e.from>4096){let r=E0.get(e);if(r)return r;let s=[],n=new Set,o=e.cursor(ue.IncludeAnonymous);if(o.firstChild())do for(let l of Vk(t,o.node,i))n.has(l.label)||(n.add(l.label),s.push(l));while(o.nextSibling());return E0.set(e,s),s}else{let r=[],s=new Set;return e.cursor().iterate(n=>{var o;if(i(n)&&n.matchContext(d5)&&((o=n.node.nextSibling)===null||o===void 0?void 0:o.name)==":"){let l=t.sliceString(n.from,n.to);s.has(l)||(s.add(l),r.push({label:l,type:"variable"}))}}),r}}const g5=t=>e=>{let{state:i,pos:r}=e,s=Ie(i).resolveInner(r,-1),n=s.type.isError&&s.from==s.to-1&&i.doc.sliceString(s.from,s.to)=="-";if(s.name=="PropertyName"||(n||s.name=="TagName")&&/^(Block|Styles)$/.test(s.resolve(s.to).name))return{from:s.from,options:Uu(),validFor:nr};if(s.name=="ValueName")return{from:s.from,options:T0,validFor:nr};if(s.name=="PseudoClassName")return{from:s.from,options:Q0,validFor:nr};if(t(s)||(e.explicit||n)&&f5(s,i.doc))return{from:t(s)||n?s.from:r,options:Vk(i.doc,p5(s),t),validFor:u5};if(s.name=="TagName"){for(let{parent:a}=s;a;a=a.parent)if(a.name=="Block")return{from:s.from,options:Uu(),validFor:nr};return{from:s.from,options:h5,validFor:nr}}if(s.name=="AtKeyword")return{from:s.from,options:c5,validFor:nr};if(!e.explicit)return null;let o=s.resolve(r),l=o.childBefore(r);return l&&l.name==":"&&o.name=="PseudoClassSelector"?{from:r,options:Q0,validFor:nr}:l&&l.name==":"&&o.name=="Declaration"||o.name=="ArgList"?{from:r,options:T0,validFor:nr}:o.name=="Block"||o.name=="Styles"?{from:r,options:Uu(),validFor:nr}:null},m5=g5(t=>t.name=="VariableName"),ac=zn.define({name:"css",parser:a5.configure({props:[Vl.add({Declaration:sh()}),Yl.add({"Block KeyframeList":Cw})]}),languageData:{commentTokens:{block:{open:"/*",close:"*/"}},indentOnInput:/^\s*\}$/,wordChars:"-"}});function O5(){return new xl(ac,ac.data.of({autocomplete:m5}))}const _5=316,v5=317,R0=1,S5=2,y5=3,w5=4,k5=318,b5=320,x5=321,C5=5,P5=6,$5=0,sp=[9,10,11,12,13,32,133,160,5760,8192,8193,8194,8195,8196,8197,8198,8199,8200,8201,8202,8232,8233,8239,8287,12288],Yk=125,Q5=59,np=47,T5=42,E5=43,R5=45,A5=60,M5=44,L5=63,D5=46,B5=91,z5=new Tk({start:!1,shift(t,e){return e==C5||e==P5||e==b5?t:e==x5},strict:!1}),Z5=new si((t,e)=>{let{next:i}=t;(i==Yk||i==-1||e.context)&&t.acceptToken(k5)},{contextual:!0,fallback:!0}),X5=new si((t,e)=>{let{next:i}=t,r;sp.indexOf(i)>-1||i==np&&((r=t.peek(1))==np||r==T5)||i!=Yk&&i!=Q5&&i!=-1&&!e.context&&t.acceptToken(_5)},{contextual:!0}),I5=new si((t,e)=>{t.next==B5&&!e.context&&t.acceptToken(v5)},{contextual:!0}),N5=new si((t,e)=>{let{next:i}=t;if(i==E5||i==R5){if(t.advance(),i==t.next){t.advance();let r=!e.context&&e.canShift(R0);t.acceptToken(r?R0:S5)}}else i==L5&&t.peek(1)==D5&&(t.advance(),t.advance(),(t.next<48||t.next>57)&&t.acceptToken(y5))},{contextual:!0});function Gu(t,e){return t>=65&&t<=90||t>=97&&t<=122||t==95||t>=192||!e&&t>=48&&t<=57}const W5=new si((t,e)=>{if(t.next!=A5||!e.dialectEnabled($5)||(t.advance(),t.next==np))return;let i=0;for(;sp.indexOf(t.next)>-1;)t.advance(),i++;if(Gu(t.next,!0)){for(t.advance(),i++;Gu(t.next,!1);)t.advance(),i++;for(;sp.indexOf(t.next)>-1;)t.advance(),i++;if(t.next==M5)return;for(let r=0;;r++){if(r==7){if(!Gu(t.next,!0))return;break}if(t.next!="extends".charCodeAt(r))break;t.advance(),i++}}t.acceptToken(w5,-i)}),j5=Hn({"get set async static":y.modifier,"for while do if else switch try catch finally return throw break continue default case defer":y.controlKeyword,"in of await yield void typeof delete instanceof as satisfies":y.operatorKeyword,"let var const using function class extends":y.definitionKeyword,"import export from":y.moduleKeyword,"with debugger new":y.keyword,TemplateString:y.special(y.string),super:y.atom,BooleanLiteral:y.bool,this:y.self,null:y.null,Star:y.modifier,VariableName:y.variableName,"CallExpression/VariableName TaggedTemplateExpression/VariableName":y.function(y.variableName),VariableDefinition:y.definition(y.variableName),Label:y.labelName,PropertyName:y.propertyName,PrivatePropertyName:y.special(y.propertyName),"CallExpression/MemberExpression/PropertyName":y.function(y.propertyName),"FunctionDeclaration/VariableDefinition":y.function(y.definition(y.variableName)),"ClassDeclaration/VariableDefinition":y.definition(y.className),"NewExpression/VariableName":y.className,PropertyDefinition:y.definition(y.propertyName),PrivatePropertyDefinition:y.definition(y.special(y.propertyName)),UpdateOp:y.updateOperator,"LineComment Hashbang":y.lineComment,BlockComment:y.blockComment,Number:y.number,String:y.string,Escape:y.escape,ArithOp:y.arithmeticOperator,LogicOp:y.logicOperator,BitOp:y.bitwiseOperator,CompareOp:y.compareOperator,RegExp:y.regexp,Equals:y.definitionOperator,Arrow:y.function(y.punctuation),": Spread":y.punctuation,"( )":y.paren,"[ ]":y.squareBracket,"{ }":y.brace,"InterpolationStart InterpolationEnd":y.special(y.brace),".":y.derefOperator,", ;":y.separator,"@":y.meta,TypeName:y.typeName,TypeDefinition:y.definition(y.typeName),"type enum interface implements namespace module declare":y.definitionKeyword,"abstract global Privacy readonly override":y.modifier,"is keyof unique infer asserts":y.operatorKeyword,JSXAttributeValue:y.attributeValue,JSXText:y.content,"JSXStartTag JSXStartCloseTag JSXSelfCloseEndTag JSXEndTag":y.angleBracket,"JSXIdentifier JSXNameSpacedName":y.tagName,"JSXAttribute/JSXIdentifier JSXAttribute/JSXNameSpacedName":y.attributeName,"JSXBuiltin/JSXIdentifier":y.standard(y.tagName)}),V5={__proto__:null,export:20,as:25,from:33,default:36,async:41,function:42,in:52,out:55,const:56,extends:60,this:64,true:72,false:72,null:84,void:88,typeof:92,super:108,new:142,delete:154,yield:163,await:167,class:172,public:235,private:235,protected:235,readonly:237,instanceof:256,satisfies:259,import:292,keyof:349,unique:353,infer:359,asserts:395,is:397,abstract:417,implements:419,type:421,let:424,var:426,using:429,interface:435,enum:439,namespace:445,module:447,declare:451,global:455,defer:471,for:476,of:485,while:488,with:492,do:496,if:500,else:502,switch:506,case:512,try:518,catch:522,finally:526,return:530,throw:534,break:538,continue:542,debugger:546},Y5={__proto__:null,async:129,get:131,set:133,declare:195,public:197,private:197,protected:197,static:199,abstract:201,override:203,readonly:209,accessor:211,new:401},q5={__proto__:null,"<":193},F5=Nn.deserialize({version:14,states:"$F|Q%TQlOOO%[QlOOO'_QpOOP(lO`OOO*zQ!0MxO'#CiO+RO#tO'#CjO+aO&jO'#CjO+oO#@ItO'#DaO.QQlO'#DgO.bQlO'#DrO%[QlO'#DzO0fQlO'#ESOOQ!0Lf'#E['#E[O1PQ`O'#EXOOQO'#Ep'#EpOOQO'#Il'#IlO1XQ`O'#GsO1dQ`O'#EoO1iQ`O'#EoO3hQ!0MxO'#JrO6[Q!0MxO'#JsO6uQ`O'#F]O6zQ,UO'#FtOOQ!0Lf'#Ff'#FfO7VO7dO'#FfO9XQMhO'#F|O9`Q`O'#F{OOQ!0Lf'#Js'#JsOOQ!0Lb'#Jr'#JrO9eQ`O'#GwOOQ['#K_'#K_O9pQ`O'#IYO9uQ!0LrO'#IZOOQ['#J`'#J`OOQ['#I_'#I_Q`QlOOQ`QlOOO9}Q!L^O'#DvO:UQlO'#EOO:]QlO'#EQO9kQ`O'#GsO:dQMhO'#CoO:rQ`O'#EnO:}Q`O'#EyO;hQMhO'#FeO;xQ`O'#GsOOQO'#K`'#K`O;}Q`O'#K`O<]Q`O'#G{O<]Q`O'#G|O<]Q`O'#HOO9kQ`O'#HRO=SQ`O'#HUO>kQ`O'#CeO>{Q`O'#HcO?TQ`O'#HiO?TQ`O'#HkO`QlO'#HmO?TQ`O'#HoO?TQ`O'#HrO?YQ`O'#HxO?_Q!0LsO'#IOO%[QlO'#IQO?jQ!0LsO'#ISO?uQ!0LsO'#IUO9uQ!0LrO'#IWO@QQ!0MxO'#CiOASQpO'#DlQOQ`OOO%[QlO'#EQOAjQ`O'#ETO:dQMhO'#EnOAuQ`O'#EnOBQQ!bO'#FeOOQ['#Cg'#CgOOQ!0Lb'#Dq'#DqOOQ!0Lb'#Jv'#JvO%[QlO'#JvOOQO'#Jy'#JyOOQO'#Ih'#IhOCQQpO'#EgOOQ!0Lb'#Ef'#EfOOQ!0Lb'#J}'#J}OC|Q!0MSO'#EgODWQpO'#EWOOQO'#Jx'#JxODlQpO'#JyOEyQpO'#EWODWQpO'#EgPFWO&2DjO'#CbPOOO)CD})CD}OOOO'#I`'#I`OFcO#tO,59UOOQ!0Lh,59U,59UOOOO'#Ia'#IaOFqO&jO,59UOGPQ!L^O'#DcOOOO'#Ic'#IcOGWO#@ItO,59{OOQ!0Lf,59{,59{OGfQlO'#IdOGyQ`O'#JtOIxQ!fO'#JtO+}QlO'#JtOJPQ`O,5:ROJgQ`O'#EpOJtQ`O'#KTOKPQ`O'#KSOKPQ`O'#KSOKXQ`O,5;^OK^Q`O'#KROOQ!0Ln,5:^,5:^OKeQlO,5:^OMcQ!0MxO,5:fONSQ`O,5:nONmQ!0LrO'#KQONtQ`O'#KPO9eQ`O'#KPO! YQ`O'#KPO! bQ`O,5;]O! gQ`O'#KPO!#lQ!fO'#JsOOQ!0Lh'#Ci'#CiO%[QlO'#ESO!$[Q!fO,5:sOOQS'#Jz'#JzOOQO-EtOOQ['#Jh'#JhOOQ[,5>u,5>uOOQ[-E<]-E<]O!TO`QlO,5>VO!LOQ`O,5>XO`QlO,5>ZO!LTQ`O,5>^O!LYQlO,5>dOOQ[,5>j,5>jO%[QlO,5>jO9uQ!0LrO,5>lOOQ[,5>n,5>nO#!dQ`O,5>nOOQ[,5>p,5>pO#!dQ`O,5>pOOQ[,5>r,5>rO##QQpO'#D_O%[QlO'#JvO##sQpO'#JvO##}QpO'#DmO#$`QpO'#DmO#&qQlO'#DmO#&xQ`O'#JuO#'QQ`O,5:WO#'VQ`O'#EtO#'eQ`O'#KUO#'mQ`O,5;_O#'rQpO'#DmO#(PQpO'#EVOOQ!0Lf,5:o,5:oO%[QlO,5:oO#(WQ`O,5:oO?YQ`O,5;YO!CUQpO,5;YO!C^QMhO,5;YO:dQMhO,5;YO#(`Q`O,5@bO#(eQ07dO,5:sOOQO-EPO$6^Q`O,5>POOQ[1G3i1G3iO`QlO1G3iOOQ[1G3o1G3oOOQ[1G3q1G3qO?TQ`O1G3sO$6cQlO1G3uO$:gQlO'#HtOOQ[1G3x1G3xO$:tQ`O'#HzO?YQ`O'#H|OOQ[1G4O1G4OO$:|QlO1G4OO9uQ!0LrO1G4UOOQ[1G4W1G4WOOQ!0Lb'#G_'#G_O9uQ!0LrO1G4YO9uQ!0LrO1G4[O$?TQ`O,5@bO!)[QlO,5;`O9eQ`O,5;`O?YQ`O,5:XO!)[QlO,5:XO!CUQpO,5:XO$?YQ?MtO,5:XOOQO,5;`,5;`O$?dQpO'#IeO$?zQ`O,5@aOOQ!0Lf1G/r1G/rO$@SQpO'#IkO$@^Q`O,5@pOOQ!0Lb1G0y1G0yO#$`QpO,5:XOOQO'#Ig'#IgO$@fQpO,5:qOOQ!0Ln,5:q,5:qO#(ZQ`O1G0ZOOQ!0Lf1G0Z1G0ZO%[QlO1G0ZOOQ!0Lf1G0t1G0tO?YQ`O1G0tO!CUQpO1G0tO!C^QMhO1G0tOOQ!0Lb1G5|1G5|O!ByQ!0LrO1G0^OOQO1G0m1G0mO%[QlO1G0mO$@mQ!0LrO1G0mO$@xQ!0LrO1G0mO!CUQpO1G0^ODWQpO1G0^O$AWQ!0LrO1G0mOOQO1G0^1G0^O$AlQ!0MxO1G0mPOOO-E<[-E<[POOO1G.h1G.hOOOO1G/i1G/iO$AvQ!bO,5QQpO,5@}OOQ!0Lb1G3c1G3cOOQ[7+$V7+$VO@zQ`O7+$VO9uQ!0LrO7+$VO%>]Q`O7+$VO%[QlO1G6lO%[QlO1G6mO%>bQ!0LrO1G6lO%>lQlO1G3kO%>sQ`O1G3kO%>xQlO1G3kOOQ[7+)T7+)TO9uQ!0LrO7+)_O`QlO7+)aOOQ['#Kh'#KhOOQ['#JS'#JSO%?PQlO,5>`OOQ[,5>`,5>`O%[QlO'#HuO%?^Q`O'#HwOOQ[,5>f,5>fO9eQ`O,5>fOOQ[,5>h,5>hOOQ[7+)j7+)jOOQ[7+)p7+)pOOQ[7+)t7+)tOOQ[7+)v7+)vO%?cQpO1G5|O%?}Q?MtO1G0zO%@XQ`O1G0zOOQO1G/s1G/sO%@dQ?MtO1G/sO?YQ`O1G/sO!)[QlO'#DmOOQO,5?P,5?POOQO-ERQ`O7+,WO&>WQ`O7+,XO%[QlO7+,WO%[QlO7+,XOOQ[7+)V7+)VO&>]Q`O7+)VO&>bQlO7+)VO&>iQ`O7+)VOOQ[<nQ`O,5>aOOQ[,5>c,5>cO&>sQ`O1G4QO9eQ`O7+&fO!)[QlO7+&fOOQO7+%_7+%_O&>xQ?MtO1G6ZO?YQ`O7+%_OOQ!0Lf<yQ?MvO,5?aO'@|Q?MvO,5?cO'CPQ?MvO7+'|O'DuQMjOG27TOOQO<VO!l$xO#jROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]$_Oa$qa'z$qa'w$qa!k$qa!Y$qa!_$qa%i$qa!g$qa~Ol)dO~P!&zOh%VOp%WOr%XOs$tOt$tOz%YO|%ZO!O%]O!S${O!_$|O!i%bO!l$xO#j%cO$W%`O$t%^O$v%_O$y%aO(T(vO(VTO(YUO(a$uO(y$}O(z%PO~Og(pP~P!,TO!Q)iO!g)hO!_$^X$Z$^X$]$^X$_$^X$f$^X~O!g)hO!_({X$Z({X$]({X$_({X$f({X~O!Q)iO~P!.^O!Q)iO!_({X$Z({X$]({X$_({X$f({X~O!_)kO$Z)oO$])jO$_)jO$f)pO~O![)sO~P!)[O$]$hO$_$gO$f)wO~On$zX!Q$zX#S$zX'y$zX(y$zX(z$zX~OgmXg$zXnmX!]mX#`mX~P!0SOx)yO(b)zO(c)|O~On*VO!Q*OO'y*PO(y$}O(z%PO~Og)}O~P!1WOg*WO~Oh%VOr%XOs$tOt$tOz%YO|%ZO!OVO!l$xO#jVO!l$xO#jROe!iOpkOrPO(VTO(YUO(aVO(o[O~O(T=QO~P#$qO!]-]O!^(iX~O!^-_O~O!g-VO#`-UO!]#hX!^#hX~O!]-`O!^(xX~O!^-bO~O!c-cO!d-cO(U!lO~P#$`O!^-fO~P'_On-iO!_'`O~O!Y-nO~Os!{a!b!{a!c!{a!d!{a#T!{a#U!{a#V!{a#W!{a#X!{a#[!{a#]!{a(U!{a(V!{a(Y!{a(e!{a(o!{a~P!#vO!p-sO#`-qO~PChO!c-uO!d-uO(U!lO~PDWOa%nO#`-qO'z%nO~Oa%nO!g#vO#`-qO'z%nO~Oa%nO!g#vO!p-sO#`-qO'z%nO(r'pO~O(P'xO(Q'xO(R-zO~Ov-{O~O!Y'Wa!]'Wa~P!:tO![.PO!Y'WX!]'WX~P%[O!](VO!Y(ha~O!Y(ha~PHRO!](^O!Y(va~O!S%hO![.TO!_%iO(T%gO!Y'^X!]'^X~O#`.VO!](ta!k(taa(ta'z(ta~O!g#vO~P#,wO!](jO!k(sa~O!S%hO!_%iO#j.ZO(T%gO~Op.`O!S%hO![.]O!_%iO!|]O#i._O#j.]O(T%gO!]'aX!k'aX~OR.dO!l#xO~Oh%VOn.gO!_'`O%i.fO~Oa#ci!]#ci'z#ci'w#ci!Y#ci!k#civ#ci!_#ci%i#ci!g#ci~P!:tOn>]O!Q*OO'y*PO(y$}O(z%PO~O#k#_aa#_a#`#_a'z#_a!]#_a!k#_a!_#_a!Y#_a~P#/sO#k(`XP(`XR(`X[(`Xa(`Xj(`Xr(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X'z(`X(a(`X(r(`X!k(`X!Y(`X'w(`Xv(`X!_(`X%i(`X!g(`X~P!6kO!].tO!k(kX~P!:tO!k.wO~O!Y.yO~OP$[OR#zO!Q#yO!S#{O!l#xO!p$[O(aVO[#mia#mij#mir#mi!]#mi#R#mi#o#mi#p#mi#q#mi#r#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#n#mi~P#3cO#n$OO~P#3cOP$[OR#zOr$aO!Q#yO!S#{O!l#xO!p$[O#n$OO#o$PO#p$PO#q$PO(aVO[#mia#mij#mi!]#mi#R#mi#s#mi#t#mi#u#mi#v#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#r#mi~P#6QO#r$QO~P#6QOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO(aVOa#mi!]#mi#x#mi#z#mi#{#mi'z#mi(r#mi(y#mi(z#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#v#mi~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO(aVO(z#}Oa#mi!]#mi#z#mi#{#mi'z#mi(r#mi(y#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#x$UO~P#;VO#x#mi~P#;VO#v$SO~P#8oOP$[OR#zO[$cOj$ROr$aO!Q#yO!S#{O!l#xO!p$[O#R$RO#n$OO#o$PO#p$PO#q$PO#r$QO#s$RO#t$RO#u$bO#v$SO#x$UO(aVO(y#|O(z#}Oa#mi!]#mi#{#mi'z#mi(r#mi'w#mi!Y#mi!k#miv#mi!_#mi%i#mi!g#mi~O#z#mi~P#={O#z$WO~P#={OP]XR]X[]Xj]Xr]X!Q]X!S]X!l]X!p]X#R]X#S]X#`]X#kfX#n]X#o]X#p]X#q]X#r]X#s]X#t]X#u]X#v]X#x]X#z]X#{]X$Q]X(a]X(r]X(y]X(z]X!]]X!^]X~O$O]X~P#@jOP$[OR#zO[]O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P#EyO!]/POg(pX~P!1WOg/RO~Oa$Pi!]$Pi'z$Pi'w$Pi!Y$Pi!k$Piv$Pi!_$Pi%i$Pi!g$Pi~P!:tO$]/SO$_/SO~O$]/TO$_/TO~O!g)hO#`/UO!_$cX$Z$cX$]$cX$_$cX$f$cX~O![/VO~O!_)kO$Z/XO$])jO$_)jO$f/YO~O!]VO!l$xO#j^O!Q*OO'y*PO(y$}O(z%POP#miR#mi!S#mi!l#mi!p#mi#n#mi#o#mi#p#mi#q#mi(a#mi~P&,QO#S$dOP(`XR(`X[(`Xj(`Xn(`Xr(`X!Q(`X!S(`X!l(`X!p(`X#R(`X#n(`X#o(`X#p(`X#q(`X#r(`X#s(`X#t(`X#u(`X#v(`X#x(`X#z(`X#{(`X$O(`X'y(`X(a(`X(r(`X(y(`X(z(`X!](`X!^(`X~O$O$Pi!]$Pi!^$Pi~P#BwO$O!ri!^!ri~P$+oOg']a!]']a~P!1WO!^7nO~O!]'da!^'da~P#BwO!Y7oO~P#/sO!g#vO(r'pO!]'ea!k'ea~O!]/pO!k)Oi~O!]/pO!g#vO!k)Oi~Og$|q!]$|q#`$|q$O$|q~P!1WO!Y'ga!]'ga~P#/sO!g7vO~O!]/yO!Y)Pi~P#/sO!]/yO!Y)Pi~O!Y7yO~Oh%VOr8OO!l%eO(r'pO~Oj8QO!g#vO~Or8TO!g#vO(r'pO~O!Q*OO'y*PO(z%POn'ja(y'ja!]'ja#`'ja~Og'ja$O'ja~P&5RO!Q*OO'y*POn'la(y'la(z'la!]'la#`'la~Og'la$O'la~P&5tOg(_q!](_q~P!1WO#`8VOg(_q!](_q~P!1WO!Y8WO~Og%Oq!]%Oq#`%Oq$O%Oq~P!1WOa$oy!]$oy'z$oy'w$oy!Y$oy!k$oyv$oy!_$oy%i$oy!g$oy~P!:tO!g6rO~O!]5[O!_)Qa~O!_'`OP$TaR$Ta[$Taj$Tar$Ta!Q$Ta!S$Ta!]$Ta!l$Ta!p$Ta#R$Ta#n$Ta#o$Ta#p$Ta#q$Ta#r$Ta#s$Ta#t$Ta#u$Ta#v$Ta#x$Ta#z$Ta#{$Ta(a$Ta(r$Ta(y$Ta(z$Ta~O%i7WO~P&8fO%^8[Oa%[i!_%[i'z%[i!]%[i~Oa#cy!]#cy'z#cy'w#cy!Y#cy!k#cyv#cy!_#cy%i#cy!g#cy~P!:tO[8^O~Ob8`O(T+qO(VTO(YUO~O!]1TO!^)Xi~O`8dO~O(e(|O!]'pX!^'pX~O!]5uO!^)Ua~O!^8nO~P%;eO(o!sO~P$&YO#[8oO~O!_1oO~O!_1oO%i8qO~On8tO!_1oO%i8qO~O[8yO!]'sa!^'sa~O!]1zO!^)Vi~O!k8}O~O!k9OO~O!k9RO~O!k9RO~P%[Oa9TO~O!g9UO~O!k9VO~O!](wi!^(wi~P#BwOa%nO#`9_O'z%nO~O!](ty!k(tya(ty'z(ty~P!:tO!](jO!k(sy~O%i9bO~P&8fO!_'`O%i9bO~O#k$|qP$|qR$|q[$|qa$|qj$|qr$|q!S$|q!]$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q'z$|q(a$|q(r$|q!k$|q!Y$|q'w$|q#`$|qv$|q!_$|q%i$|q!g$|q~P#/sO#k'jaP'jaR'ja['jaa'jaj'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja'z'ja(a'ja(r'ja!k'ja!Y'ja'w'jav'ja!_'ja%i'ja!g'ja~P&5RO#k'laP'laR'la['laa'laj'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la'z'la(a'la(r'la!k'la!Y'la'w'lav'la!_'la%i'la!g'la~P&5tO#k%OqP%OqR%Oq[%Oqa%Oqj%Oqr%Oq!S%Oq!]%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq'z%Oq(a%Oq(r%Oq!k%Oq!Y%Oq'w%Oq#`%Oqv%Oq!_%Oq%i%Oq!g%Oq~P#/sO!]'Yi!k'Yi~P!:tO$O#cq!]#cq!^#cq~P#BwO(y$}OP%aaR%aa[%aaj%aar%aa!S%aa!l%aa!p%aa#R%aa#n%aa#o%aa#p%aa#q%aa#r%aa#s%aa#t%aa#u%aa#v%aa#x%aa#z%aa#{%aa$O%aa(a%aa(r%aa!]%aa!^%aa~On%aa!Q%aa'y%aa(z%aa~P&IyO(z%POP%caR%ca[%caj%car%ca!S%ca!l%ca!p%ca#R%ca#n%ca#o%ca#p%ca#q%ca#r%ca#s%ca#t%ca#u%ca#v%ca#x%ca#z%ca#{%ca$O%ca(a%ca(r%ca!]%ca!^%ca~On%ca!Q%ca'y%ca(y%ca~P&LQOn>^O!Q*OO'y*PO(z%PO~P&IyOn>^O!Q*OO'y*PO(y$}O~P&LQOR0kO!Q0kO!S0lO#S$dOP}a[}aj}an}ar}a!l}a!p}a#R}a#n}a#o}a#p}a#q}a#r}a#s}a#t}a#u}a#v}a#x}a#z}a#{}a$O}a'y}a(a}a(r}a(y}a(z}a!]}a!^}a~O!Q*OO'y*POP$saR$sa[$saj$san$sar$sa!S$sa!l$sa!p$sa#R$sa#n$sa#o$sa#p$sa#q$sa#r$sa#s$sa#t$sa#u$sa#v$sa#x$sa#z$sa#{$sa$O$sa(a$sa(r$sa(y$sa(z$sa!]$sa!^$sa~O!Q*OO'y*POP$uaR$ua[$uaj$uan$uar$ua!S$ua!l$ua!p$ua#R$ua#n$ua#o$ua#p$ua#q$ua#r$ua#s$ua#t$ua#u$ua#v$ua#x$ua#z$ua#{$ua$O$ua(a$ua(r$ua(y$ua(z$ua!]$ua!^$ua~On>^O!Q*OO'y*PO(y$}O(z%PO~OP%TaR%Ta[%Taj%Tar%Ta!S%Ta!l%Ta!p%Ta#R%Ta#n%Ta#o%Ta#p%Ta#q%Ta#r%Ta#s%Ta#t%Ta#u%Ta#v%Ta#x%Ta#z%Ta#{%Ta$O%Ta(a%Ta(r%Ta!]%Ta!^%Ta~P''VO$O$mq!]$mq!^$mq~P#BwO$O$oq!]$oq!^$oq~P#BwO!^9oO~O$O9pO~P!1WO!g#vO!]'ei!k'ei~O!g#vO(r'pO!]'ei!k'ei~O!]/pO!k)Oq~O!Y'gi!]'gi~P#/sO!]/yO!Y)Pq~Or9wO!g#vO(r'pO~O[9yO!Y9xO~P#/sO!Y9xO~Oj:PO!g#vO~Og(_y!](_y~P!1WO!]'na!_'na~P#/sOa%[q!_%[q'z%[q!]%[q~P#/sO[:UO~O!]1TO!^)Xq~O`:YO~O#`:ZO!]'pa!^'pa~O!]5uO!^)Ui~P#BwO!S:]O~O!_1oO%i:`O~O(VTO(YUO(e:eO~O!]1zO!^)Vq~O!k:hO~O!k:iO~O!k:jO~O!k:jO~P%[O#`:mO!]#hy!^#hy~O!]#hy!^#hy~P#BwO%i:rO~P&8fO!_'`O%i:rO~O$O#|y!]#|y!^#|y~P#BwOP$|iR$|i[$|ij$|ir$|i!S$|i!l$|i!p$|i#R$|i#n$|i#o$|i#p$|i#q$|i#r$|i#s$|i#t$|i#u$|i#v$|i#x$|i#z$|i#{$|i$O$|i(a$|i(r$|i!]$|i!^$|i~P''VO!Q*OO'y*PO(z%POP'iaR'ia['iaj'ian'iar'ia!S'ia!l'ia!p'ia#R'ia#n'ia#o'ia#p'ia#q'ia#r'ia#s'ia#t'ia#u'ia#v'ia#x'ia#z'ia#{'ia$O'ia(a'ia(r'ia(y'ia!]'ia!^'ia~O!Q*OO'y*POP'kaR'ka['kaj'kan'kar'ka!S'ka!l'ka!p'ka#R'ka#n'ka#o'ka#p'ka#q'ka#r'ka#s'ka#t'ka#u'ka#v'ka#x'ka#z'ka#{'ka$O'ka(a'ka(r'ka(y'ka(z'ka!]'ka!^'ka~O(y$}OP%aiR%ai[%aij%ain%air%ai!Q%ai!S%ai!l%ai!p%ai#R%ai#n%ai#o%ai#p%ai#q%ai#r%ai#s%ai#t%ai#u%ai#v%ai#x%ai#z%ai#{%ai$O%ai'y%ai(a%ai(r%ai(z%ai!]%ai!^%ai~O(z%POP%ciR%ci[%cij%cin%cir%ci!Q%ci!S%ci!l%ci!p%ci#R%ci#n%ci#o%ci#p%ci#q%ci#r%ci#s%ci#t%ci#u%ci#v%ci#x%ci#z%ci#{%ci$O%ci'y%ci(a%ci(r%ci(y%ci!]%ci!^%ci~O$O$oy!]$oy!^$oy~P#BwO$O#cy!]#cy!^#cy~P#BwO!g#vO!]'eq!k'eq~O!]/pO!k)Oy~O!Y'gq!]'gq~P#/sOr:|O!g#vO(r'pO~O[;QO!Y;PO~P#/sO!Y;PO~Og(_!R!](_!R~P!1WOa%[y!_%[y'z%[y!]%[y~P#/sO!]1TO!^)Xy~O!]5uO!^)Uq~O(T;XO~O!_1oO%i;[O~O!k;_O~O%i;dO~P&8fOP$|qR$|q[$|qj$|qr$|q!S$|q!l$|q!p$|q#R$|q#n$|q#o$|q#p$|q#q$|q#r$|q#s$|q#t$|q#u$|q#v$|q#x$|q#z$|q#{$|q$O$|q(a$|q(r$|q!]$|q!^$|q~P''VO!Q*OO'y*PO(z%POP'jaR'ja['jaj'jan'jar'ja!S'ja!l'ja!p'ja#R'ja#n'ja#o'ja#p'ja#q'ja#r'ja#s'ja#t'ja#u'ja#v'ja#x'ja#z'ja#{'ja$O'ja(a'ja(r'ja(y'ja!]'ja!^'ja~O!Q*OO'y*POP'laR'la['laj'lan'lar'la!S'la!l'la!p'la#R'la#n'la#o'la#p'la#q'la#r'la#s'la#t'la#u'la#v'la#x'la#z'la#{'la$O'la(a'la(r'la(y'la(z'la!]'la!^'la~OP%OqR%Oq[%Oqj%Oqr%Oq!S%Oq!l%Oq!p%Oq#R%Oq#n%Oq#o%Oq#p%Oq#q%Oq#r%Oq#s%Oq#t%Oq#u%Oq#v%Oq#x%Oq#z%Oq#{%Oq$O%Oq(a%Oq(r%Oq!]%Oq!^%Oq~P''VOg%e!Z!]%e!Z#`%e!Z$O%e!Z~P!1WO!Y;hO~P#/sOr;iO!g#vO(r'pO~O[;kO!Y;hO~P#/sO!]'pq!^'pq~P#BwO!]#h!Z!^#h!Z~P#BwO#k%e!ZP%e!ZR%e!Z[%e!Za%e!Zj%e!Zr%e!Z!S%e!Z!]%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z'z%e!Z(a%e!Z(r%e!Z!k%e!Z!Y%e!Z'w%e!Z#`%e!Zv%e!Z!_%e!Z%i%e!Z!g%e!Z~P#/sOr;tO!g#vO(r'pO~O!Y;uO~P#/sOr;|O!g#vO(r'pO~O!Y;}O~P#/sOP%e!ZR%e!Z[%e!Zj%e!Zr%e!Z!S%e!Z!l%e!Z!p%e!Z#R%e!Z#n%e!Z#o%e!Z#p%e!Z#q%e!Z#r%e!Z#s%e!Z#t%e!Z#u%e!Z#v%e!Z#x%e!Z#z%e!Z#{%e!Z$O%e!Z(a%e!Z(r%e!Z!]%e!Z!^%e!Z~P''VOrROe!iOpkOrPO(T)]O(VTO(YUO(aVO(o[O~O!]WO!l$xO#jgPPP!>oI[PPPPPPPPP!BOP!C]PPI[!DnPI[PI[I[I[I[I[PI[!FQP!I[P!LbP!Lf!Lp!Lt!LtP!IXP!Lx!LxP#!OP#!SI[PI[#!Y#%_CjA^PA^PA^A^P#&lA^A^#)OA^#+vA^#.SA^A^#.r#1W#1W#1]#1f#1W#1qPP#1WPA^#2ZA^#6YA^A^6mPPP#:_PPP#:x#:xP#:xP#;`#:xPP#;fP#;]P#;]#;y#;]#P#>V#>]#>k#>q#>{#?R#?]#?c#?s#?y#@k#@}#AT#AZ#Ai#BO#Cs#DR#DY#Et#FS#Gt#HS#HY#H`#Hf#Hp#Hv#H|#IW#Ij#IpPPPPPPPPPPP#IvPPPPPPP#Jk#Mx$ b$ i$ qPPP$']P$'f$*_$0x$0{$1O$1}$2Q$2X$2aP$2g$2jP$3W$3[$4S$5b$5g$5}PP$6S$6Y$6^$6a$6e$6i$7e$7|$8e$8i$8l$8o$8y$8|$9Q$9UR!|RoqOXst!Z#d%m&r&t&u&w,s,x2[2_Y!vQ'`-e1o5{Q%tvQ%|yQ&T|Q&j!VS'W!e-]Q'f!iS'l!r!yU*k$|*Z*oQ+o%}S+|&V&WQ,d&dQ-c'_Q-m'gQ-u'mQ0[*qQ1b,OQ1y,eR<{SU+P%]S!S!nQ!r!v!y!z$|'W'_'`'l'm'n*k*o*q*r-]-c-e-u0[0_1o5{5}%[$ti#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^Q&X|Q'U!eS'[%i-`Q+t&PQ,P&WQ,f&gQ0n+SQ1Y+uQ1_+{Q2Q,jQ2R,kQ5f1TQ5o1aQ6[1zQ6_1|Q6`2PQ8`5gQ8c5lQ8|6bQ:X8dQ:f8yQ;V:YR<}*ZrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R,h&k&z^OPXYstuvwz!Z!`!g!j!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'b'r(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mR>S[#]WZ#W#Z'X(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ%wxQ%{yW&Q|&V&W,OQ&_!TQ'c!hQ'e!iQ(q#sS+n%|%}Q+r&PQ,_&bQ,c&dS-l'f'gQ.i(rQ1R+oQ1X+uQ1Z+vQ1^+zQ1t,`S1x,d,eQ2|-mQ5e1TQ5i1WQ5n1`Q6Z1yQ8_5gQ8b5kQ8f5pQ:T8^R;T:U!U$zi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y!^%yy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{Q+h%wQ,T&[Q,W&]Q,b&dQ.h(qQ1s,_U1w,c,d,eQ3e.iQ6U1tS6Y1x1yQ8x6Z#f>T#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o>UPS&[!Q&iQ&]!RQ&^!SU*}%[%d=sR,R&Y%]%Si#v$b$c$d$x${%O%Q%^%_%c)y*R*T*V*Y*a*g*w*x+f+i,S,V.f/P/d/m/x/y/{0`0b0i0j0o1f1i1q3c4^4_4j4o5Q5[5_6S7W7v8Q8V8[8q9b9p9y:P:`:r;Q;[;d;kP>X>Y>]>^T)z$u){V+P%]S$i$^c#Y#e%q%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.|.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SQ'Y!eR2q-]!W!nQ!e!r!v!y!z$|'W'_'`'l'm'n*Z*k*o*q*r-]-c-e-u0[0_1o5{5}R1l,ZnqOXst!Z#d%m&r&t&u&w,s,x2[2_Q&y!^Q'v!xS(s#u<^Q+l%zQ,]&_Q,^&aQ-j'dQ-w'oS.r(x=PS0q+X=ZQ1P+mQ1n,[Q2c,zQ2e,{Q2m-WQ2z-kQ2}-oS5Y0r=eQ5a1QS5d1S=fQ6t2oQ6x2{Q6}3SQ8]5bQ9Y6vQ9Z6yQ9^7OR:l9V$d$]c#Y#e%s%u(S(Y(t(y)R)S)T)U)V)W)X)Y)Z)[)^)`)b)g)q+d+x-Z-x-}.S.U.s.v.z.}/O/b0p2k2n3O3V3k3p3q3r3s3t3u3v3w3x3y3z3{3|4P4Q4X5X5c6u6{7Q7a7b7k7l8k9X9]9g9m9n:o;W;`SS#q]SU$fd)_,mS(p#p'iU*v%R(w4OU0m+O.n7gQ5^0xQ7V3`Q9d7YR:s9em!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}Q't!uS(f#g2US-s'k'wQ/s*]Q0R*jQ3U-vQ4f/tQ4r0TQ4s0UQ4x0^Q7r4`S7}4t4vS8R4y4{Q9r7sQ9v7yQ9{8OQ:Q8TS:{9w9xS;g:|;PS;s;h;iS;{;t;uSSR=o>R%^bOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Q%fj!^%xy!i!u%{%|%}'V'e'f'g'k'u*j+n+o-Y-l-m-t0R0U1R2u2|3T4r4s4v7}9{S&Oz!jQ+k%yQ,a&dW1v,b,c,d,eU6X1w1x1yS8w6Y6ZQ:d8x!r=j$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ=t>QR=u>R%QeOPXYstuvw!Z!`!g!o#S#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_Y#bWZ#W#Z(T!b%jm#h#i#l$x%e%h(^(h(i(j*Y*^*b+Z+[+^,o-V.T.Z.[.]._/m/p2d3[3]4a6r7TQ,n&o!p=k$Z$n)s-U-X/V2p4T5w6s:Z:mSR=n'XU']!e%i*ZR2s-`%SdOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+],p,s,x-i-q.P.V.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3l4z6T6e6f6i6|8t9T9_!r)_$Z$n'X)s-U-X/V2p4T5w6s:Z:mSQ,m&oQ0x+gQ3`.gQ7Y3dR9e7[!b$Tc#Y%q(S(Y(t(y)Z)[)`)g+x-x-}.S.U.s.v/b0p3O3V3k3{5X5c6{7Q7a9]:oS)^)q-Z.|2k2n3p4P4X6u7b7k7l8k9X9g9m9n;W;`=vQ>X>ZR>Y>['QkOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mSS$oh$pR4U/U'XgOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$kf$qQ$ifS)j$l)nR)v$qT$jf$qT)l$l)n'XhOPWXYZhstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$Z$_$a$e$n$p%m%t&R&k&n&o&r&t&u&w&{'T'X'b'r(T(V(](d(x(z)O)s)}*i+X+]+g,p,s,x-U-X-i-q.P.V.g.t.{/U/V/n0]0l0r1S1r2S2T2V2X2[2_2a2p3Q3W3d3l4T4z5w6T6e6f6i6s6|7[8t9T9_:Z:mST$oh$pQ$rhR)u$p%^jOPWXYZstuvw!Z!`!g!o#S#W#Z#d#o#u#x#{$O$P$Q$R$S$T$U$V$W$X$_$a$e%m%t&R&k&n&o&r&t&u&w&{'T'b'r(T(V(](d(x(z)O)}*i+X+]+g,p,s,x-i-q.P.V.g.t.{/n0]0l0r1S1r2S2T2V2X2[2_2a3Q3W3d3l4z6T6e6f6i6|7[8t9T9_!s>Q$Z$n'X)s-U-X/V2p4T5w6s:Z:mS#glOPXZst!Z!`!o#S#d#o#{$n%m&k&n&o&r&t&u&w&{'T'b)O)s*i+]+g,p,s,x-i.g/V/n0]0l1r2S2T2V2X2[2_2a3d4T4z6T6e6f6i7[8t9T!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^Q+T%aQ/c*Oo4OP>X>YQ*c$zU*l$|*Z*oQ+U%bQ0W*m#f=q#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^n=rTQ=x>UQ=y>VR=z>W!U%Ri$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y#f(w#v$b$c$x${)y*V*Y*g+f+i,S,V.f/d/m/y/{1f1i1q3c4^4j4o5[5_6S7W7v8Q8[8q9b9y:P:`:r;Q;[;d;k]>^o4OP>X>Y>]>^Q,U&]Q1h,WQ5s1gR8h5tV*n$|*Z*oU*n$|*Z*oT5z1o5{S0P*i/nQ4w0]T8S4z:]Q+j%xQ0V*lQ1O+kQ1u,aQ6W1vQ8v6XQ:c8wR;^:d!U%Oi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Yx*R$v)e*S*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>OS0`*t0a#f]>^nZ>[`=T3}7c7f7j9h:t:w;yS=_.l3iT=`7e9k!U%Qi$d%O%Q%^%_%c*R*T*a*w*x/P/x0`0b0i0j0o4_5Q8V9p>P>X>Y|*T$v)e*U*t+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>OS0b*u0c#f]>^nZ>[d=V3}7d7e7j9h9i:t:u:w;yS=a.m3jT=b7f9lrnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q&f!UR,p&ornOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_R&f!UQ,Y&^R1d,RsnOXst!V!Z#d%m&i&r&t&u&w,s,x2[2_Q1p,_S6R1s1tU8p6P6Q6US:_8r8sS;Y:^:aQ;m;ZR;w;nQ&m!VR,i&iR6_1|R:f8yW&Q|&V&W,OR1Z+vQ&r!WR,s&sR,y&xT2],x2_R,}&yQ,|&yR2f,}Q'y!{R-y'ySsOtQ#dXT%ps#dQ#OTR'{#OQ#RUR'}#RQ){$uR/`){Q#UVR(Q#UQ#XWU(W#X(X.QQ(X#YR.Q(YQ-^'YR2r-^Q.u(yS3m.u3nR3n.vQ-e'`R2v-eY!rQ'`-e1o5{R'j!rQ/Q)eR4S/QU#_W%h*YU(_#_(`.RQ(`#`R.R(ZQ-a']R2t-at`OXst!V!Z#d%m&i&k&r&t&u&w,s,x2[2_S#hZ%eU#r`#h.[R.[(jQ(k#jQ.X(gW.a(k.X3X7RQ3X.YR7R3YQ)n$lR/W)nQ$phR)t$pQ$`cU)a$`-|O>Z>[Q/z*eU4k/z4m7xQ4m/|R7x4lS*o$|*ZR0Y*ox*S$v)e*t*u+V/v0d0e4R4g5R5S5W7p8U:R:x=p=}>O!d.j(u)c*[*e.l.m.q/_/k/|0v1e3h4[4h4l5r7]7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/h*S.j7ca7c3}7e7f7j9h:t:w;yQ0a*tQ3i.lU4}0a3i9kR9k7e|*U$v)e*t*u+V/g/v0d0e4R4g4|5R5S5W7p8U:R:x=p=}>O!h.k(u)c*[*e.l.m.q/_/k/|0v1e3f3h4[4h4l5r7]7^7`7w7z8X8Z9t9|:S:};R;e;j;v>Z>[U/j*U.k7de7d3}7e7f7j9h9i:t:u:w;yQ0c*uQ3j.mU5P0c3j9lR9l7fQ*z%UR0g*zQ5]0vR8Y5]Q+_%kR0u+_Q5v1jS8j5v:[R:[8kQ,[&_R1m,[Q5{1oR8m5{Q1{,fS6]1{8zR8z6_Q1U+rW5h1U5j8a:VQ5j1XQ8a5iR:V8bQ+w&QR1[+wQ2_,xR6m2_YrOXst#dQ&v!ZQ+a%mQ,r&rQ,t&tQ,u&uQ,w&wQ2Y,sS2],x2_R6l2[Q%opQ&z!_Q&}!aQ'P!bQ'R!cQ'q!uQ+`%lQ+l%zQ,Q&XQ,h&mQ-P&|W-p'k's't'wQ-w'oQ0X*nQ1P+mQ1c,PS2O,i,lQ2g-OQ2h-RQ2i-SQ2}-oW3P-r-s-v-xQ5a1QQ5m1_Q5q1eQ6V1uQ6a2QQ6k2ZU6z3O3R3UQ6}3SQ8]5bQ8e5oQ8g5rQ8l5zQ8u6WQ8{6`S9[6{7PQ9^7OQ:W8cQ:b8vQ:g8|Q:n9]Q;U:XQ;]:cQ;a:oQ;l;VR;o;^Q%zyQ'd!iQ'o!uU+m%{%|%}Q-W'VU-k'e'f'gS-o'k'uQ0Q*jS1Q+n+oQ2o-YS2{-l-mQ3S-tS4p0R0UQ5b1RQ6v2uQ6y2|Q7O3TU7{4r4s4vQ9z7}R;O9{S$wi>PR*{%VU%Ui%V>PR0f*yQ$viS(u#v+iS)c$b$cQ)e$dQ*[$xS*e${*YQ*t%OQ*u%QQ+Q%^Q+R%_Q+V%cQ.lPQ=}>XQ>O>YQ>Z>]R>[>^Q+O%]Q.nSR#[WR'Z!el!tQ!r!v!y!z'`'l'm'n-e-u1o5{5}S'V!e-]U*j$|*Z*oS-Y'W'_S0U*k*qQ0^*rQ2u-cQ4v0[R4{0_R({#xQ!fQT-d'`-e]!qQ!r'`-e1o5{Q#p]R'i < TypeParamList in out const TypeDefinition extends ThisType this LiteralType ArithOp Number BooleanLiteral TemplateType InterpolationEnd Interpolation InterpolationStart NullType null VoidType void TypeofType typeof MemberExpression . PropertyName [ TemplateString Escape Interpolation super RegExp ] ArrayExpression Spread , } { ObjectExpression Property async get set PropertyDefinition Block : NewTarget new NewExpression ) ( ArgList UnaryExpression delete LogicOp BitOp YieldExpression yield AwaitExpression await ParenthesizedExpression ClassExpression class ClassBody MethodDeclaration Decorator @ MemberExpression PrivatePropertyName CallExpression TypeArgList CompareOp < declare Privacy static abstract override PrivatePropertyDefinition PropertyDeclaration readonly accessor Optional TypeAnnotation Equals StaticBlock FunctionExpression ArrowFunction ParamList ParamList ArrayPattern ObjectPattern PatternProperty Privacy readonly Arrow MemberExpression BinaryExpression ArithOp ArithOp ArithOp ArithOp BitOp CompareOp instanceof satisfies CompareOp BitOp BitOp BitOp LogicOp LogicOp ConditionalExpression LogicOp LogicOp AssignmentExpression UpdateOp PostfixExpression CallExpression InstantiationExpression TaggedTemplateExpression DynamicImport import ImportMeta JSXElement JSXSelfCloseEndTag JSXSelfClosingTag JSXIdentifier JSXBuiltin JSXIdentifier JSXNamespacedName JSXMemberExpression JSXSpreadAttribute JSXAttribute JSXAttributeValue JSXEscape JSXEndTag JSXOpenTag JSXFragmentTag JSXText JSXEscape JSXStartCloseTag JSXCloseTag PrefixCast < ArrowFunction TypeParamList SequenceExpression InstantiationExpression KeyofType keyof UniqueType unique ImportType InferredType infer TypeName ParenthesizedType FunctionSignature ParamList NewSignature IndexedType TupleType Label ArrayType ReadonlyType ObjectType MethodType PropertyType IndexSignature PropertyDefinition CallSignature TypePredicate asserts is NewSignature new UnionType LogicOp IntersectionType LogicOp ConditionalType ParameterizedType ClassDeclaration abstract implements type VariableDeclaration let var using TypeAliasDeclaration InterfaceDeclaration interface EnumDeclaration enum EnumBody NamespaceDeclaration namespace module AmbientDeclaration declare GlobalDeclaration global ClassDeclaration ClassBody AmbientFunctionDeclaration ExportGroup VariableName VariableName ImportDeclaration defer ImportGroup ForStatement for ForSpec ForInSpec ForOfSpec of WhileStatement while WithStatement with DoStatement do IfStatement if else SwitchStatement switch SwitchBody CaseLabel case DefaultLabel TryStatement try CatchClause catch FinallyClause finally ReturnStatement return ThrowStatement throw BreakStatement break ContinueStatement continue DebuggerStatement debugger LabeledStatement ExpressionStatement SingleExpression SingleClassItem",maxTerm:380,context:z5,nodeProps:[["isolate",-8,5,6,14,37,39,51,53,55,""],["group",-26,9,17,19,68,207,211,215,216,218,221,224,234,237,243,245,247,249,252,258,264,266,268,270,272,274,275,"Statement",-34,13,14,32,35,36,42,51,54,55,57,62,70,72,76,80,82,84,85,110,111,120,121,136,139,141,142,143,144,145,147,148,167,169,171,"Expression",-23,31,33,37,41,43,45,173,175,177,178,180,181,182,184,185,186,188,189,190,201,203,205,206,"Type",-3,88,103,109,"ClassItem"],["openedBy",23,"<",38,"InterpolationStart",56,"[",60,"{",73,"(",160,"JSXStartCloseTag"],["closedBy",-2,24,168,">",40,"InterpolationEnd",50,"]",61,"}",74,")",165,"JSXEndTag"]],propSources:[j5],skippedNodes:[0,5,6,278],repeatNodeCount:37,tokenData:"$Fq07[R!bOX%ZXY+gYZ-yZ[+g[]%Z]^.c^p%Zpq+gqr/mrs3cst:_tuEruvJSvwLkwx! Yxy!'iyz!(sz{!)}{|!,q|}!.O}!O!,q!O!P!/Y!P!Q!9j!Q!R#:O!R![#<_![!]#I_!]!^#Jk!^!_#Ku!_!`$![!`!a$$v!a!b$*T!b!c$,r!c!}Er!}#O$-|#O#P$/W#P#Q$4o#Q#R$5y#R#SEr#S#T$7W#T#o$8b#o#p$x#r#s$@U#s$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$I|Er$I|$I}$Dk$I}$JO$Dk$JO$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr(n%d_$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z&j&hT$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c&j&zP;=`<%l&c'|'U]$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!b(SU(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!b(iP;=`<%l'}'|(oP;=`<%l&}'[(y]$i&j(WpOY(rYZ&cZr(rrs&cs!^(r!^!_)r!_#O(r#O#P&c#P#o(r#o#p)r#p;'S(r;'S;=`*a<%lO(rp)wU(WpOY)rZr)rs#O)r#P;'S)r;'S;=`*Z<%lO)rp*^P;=`<%l)r'[*dP;=`<%l(r#S*nX(Wp(Z!bOY*gZr*grs'}sw*gwx)rx#O*g#P;'S*g;'S;=`+Z<%lO*g#S+^P;=`<%l*g(n+dP;=`<%l%Z07[+rq$i&j(Wp(Z!b'|0/lOX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p$f%Z$f$g+g$g#BY%Z#BY#BZ+g#BZ$IS%Z$IS$I_+g$I_$JT%Z$JT$JU+g$JU$KV%Z$KV$KW+g$KW&FU%Z&FU&FV+g&FV;'S%Z;'S;=`+a<%l?HT%Z?HT?HU+g?HUO%Z07[.ST(X#S$i&j'}0/lO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c07[.n_$i&j(Wp(Z!b'}0/lOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)3p/x`$i&j!p),Q(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`0z!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW1V`#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_!`2X!`#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z(KW2d_#v(Ch$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'At3l_(V':f$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k(^4r_$i&j(Z!bOY4kYZ5qZr4krs7nsw4kwx5qx!^4k!^!_8p!_#O4k#O#P5q#P#o4k#o#p8p#p;'S4k;'S;=`:X<%lO4k&z5vX$i&jOr5qrs6cs!^5q!^!_6y!_#o5q#o#p6y#p;'S5q;'S;=`7h<%lO5q&z6jT$d`$i&jO!^&c!_#o&c#p;'S&c;'S;=`&w<%lO&c`6|TOr6yrs7]s;'S6y;'S;=`7b<%lO6y`7bO$d``7eP;=`<%l6y&z7kP;=`<%l5q(^7w]$d`$i&j(Z!bOY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}!r8uZ(Z!bOY8pYZ6yZr8prs9hsw8pwx6yx#O8p#O#P6y#P;'S8p;'S;=`:R<%lO8p!r9oU$d`(Z!bOY'}Zw'}x#O'}#P;'S'};'S;=`(f<%lO'}!r:UP;=`<%l8p(^:[P;=`<%l4k%9[:hh$i&j(Wp(Z!bOY%ZYZ&cZq%Zqr`#P#o`x!^=^!^!_?q!_#O=^#O#P>`#P#o=^#o#p?q#p;'S=^;'S;=`@h<%lO=^&n>gXWS$i&jOY>`YZ&cZ!^>`!^!_?S!_#o>`#o#p?S#p;'S>`;'S;=`?k<%lO>`S?XSWSOY?SZ;'S?S;'S;=`?e<%lO?SS?hP;=`<%l?S&n?nP;=`<%l>`!f?xWWS(Z!bOY?qZw?qwx?Sx#O?q#O#P?S#P;'S?q;'S;=`@b<%lO?q!f@eP;=`<%l?q(Q@kP;=`<%l=^'`@w]WS$i&j(WpOY@nYZ&cZr@nrs>`s!^@n!^!_Ap!_#O@n#O#P>`#P#o@n#o#pAp#p;'S@n;'S;=`Bg<%lO@ntAwWWS(WpOYApZrAprs?Ss#OAp#O#P?S#P;'SAp;'S;=`Ba<%lOAptBdP;=`<%lAp'`BjP;=`<%l@n#WBvYWS(Wp(Z!bOYBmZrBmrs?qswBmwxApx#OBm#O#P?S#P;'SBm;'S;=`Cf<%lOBm#WCiP;=`<%lBm(rCoP;=`<%l^!Q^$i&j!X7`OY!=yYZ&cZ!P!=y!P!Q!>|!Q!^!=y!^!_!@c!_!}!=y!}#O!CW#O#P!Dy#P#o!=y#o#p!@c#p;'S!=y;'S;=`!Ek<%lO!=y|#X#Z&c#Z#[!>|#[#]&c#]#^!>|#^#a&c#a#b!>|#b#g&c#g#h!>|#h#i&c#i#j!>|#j#k!>|#k#m&c#m#n!>|#n#o&c#p;'S&c;'S;=`&w<%lO&c7`!@hX!X7`OY!@cZ!P!@c!P!Q!AT!Q!}!@c!}#O!Ar#O#P!Bq#P;'S!@c;'S;=`!CQ<%lO!@c7`!AYW!X7`#W#X!AT#Z#[!AT#]#^!AT#a#b!AT#g#h!AT#i#j!AT#j#k!AT#m#n!AT7`!AuVOY!ArZ#O!Ar#O#P!B[#P#Q!@c#Q;'S!Ar;'S;=`!Bk<%lO!Ar7`!B_SOY!ArZ;'S!Ar;'S;=`!Bk<%lO!Ar7`!BnP;=`<%l!Ar7`!BtSOY!@cZ;'S!@c;'S;=`!CQ<%lO!@c7`!CTP;=`<%l!@c^!Ezl$i&j(Z!b!X7`OY&}YZ&cZw&}wx&cx!^&}!^!_'}!_#O&}#O#P&c#P#W&}#W#X!Eq#X#Z&}#Z#[!Eq#[#]&}#]#^!Eq#^#a&}#a#b!Eq#b#g&}#g#h!Eq#h#i&}#i#j!Eq#j#k!Eq#k#m&}#m#n!Eq#n#o&}#o#p'}#p;'S&};'S;=`(l<%lO&}8r!GyZ(Z!b!X7`OY!GrZw!Grwx!@cx!P!Gr!P!Q!Hl!Q!}!Gr!}#O!JU#O#P!Bq#P;'S!Gr;'S;=`!J|<%lO!Gr8r!Hse(Z!b!X7`OY'}Zw'}x#O'}#P#W'}#W#X!Hl#X#Z'}#Z#[!Hl#[#]'}#]#^!Hl#^#a'}#a#b!Hl#b#g'}#g#h!Hl#h#i'}#i#j!Hl#j#k!Hl#k#m'}#m#n!Hl#n;'S'};'S;=`(f<%lO'}8r!JZX(Z!bOY!JUZw!JUwx!Arx#O!JU#O#P!B[#P#Q!Gr#Q;'S!JU;'S;=`!Jv<%lO!JU8r!JyP;=`<%l!JU8r!KPP;=`<%l!Gr>^!KZ^$i&j(Z!bOY!KSYZ&cZw!KSwx!CWx!^!KS!^!_!JU!_#O!KS#O#P!DR#P#Q!^!LYP;=`<%l!KS>^!L`P;=`<%l!_#c#d#Bq#d#l%Z#l#m#Es#m#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#>j_$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#?rd$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#A]f$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!R#AQ!R!S#AQ!S!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#AQ#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Bzc$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Dbe$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q!Y#DV!Y!^%Z!^!_*g!_#O%Z#O#P&c#P#R%Z#R#S#DV#S#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#E|g$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z'Ad#Gpi$i&j(Wp(Z!bs'9tOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!Q%Z!Q![#Ge![!^%Z!^!_*g!_!c%Z!c!i#Ge!i#O%Z#O#P&c#P#R%Z#R#S#Ge#S#T%Z#T#Z#Ge#Z#b%Z#b#c#>_#c#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z*)x#Il_!g$b$i&j$O)Lv(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z)[#Jv_al$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z04f#LS^h#)`#R-v$?V_!^(CdvBr$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z?O$@a_!q7`$i&j(Wp(Z!bOY%ZYZ&cZr%Zrs&}sw%Zwx(rx!^%Z!^!_*g!_#O%Z#O#P&c#P#o%Z#o#p*g#p;'S%Z;'S;=`+a<%lO%Z07[$Aq|$i&j(Wp(Z!b'|0/l$]#t(T,2j(e$I[OX%ZXY+gYZ&cZ[+g[p%Zpq+gqr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$f%Z$f$g+g$g#BYEr#BY#BZ$A`#BZ$ISEr$IS$I_$A`$I_$JTEr$JT$JU$A`$JU$KVEr$KV$KW$A`$KW&FUEr&FU&FV$A`&FV;'SEr;'S;=`I|<%l?HTEr?HT?HU$A`?HUOEr07[$D|k$i&j(Wp(Z!b'}0/l$]#t(T,2j(e$I[OY%ZYZ&cZr%Zrs&}st%ZtuEruw%Zwx(rx}%Z}!OGv!O!Q%Z!Q![Er![!^%Z!^!_*g!_!c%Z!c!}Er!}#O%Z#O#P&c#P#R%Z#R#SEr#S#T%Z#T#oEr#o#p*g#p$g%Z$g;'SEr;'S;=`I|<%lOEr",tokenizers:[X5,I5,N5,W5,2,3,4,5,6,7,8,9,10,11,12,13,14,Z5,new oc("$S~RRtu[#O#Pg#S#T#|~_P#o#pb~gOx~~jVO#i!P#i#j!U#j#l!P#l#m!q#m;'S!P;'S;=`#v<%lO!P~!UO!U~~!XS!Q![!e!c!i!e#T#Z!e#o#p#Z~!hR!Q![!q!c!i!q#T#Z!q~!tR!Q![!}!c!i!}#T#Z!}~#QR!Q![!P!c!i!P#T#Z!P~#^R!Q![#g!c!i#g#T#Z#g~#jS!Q![#g!c!i#g#T#Z#g#q#r!P~#yP;=`<%l!P~$RO(c~~",141,340),new oc("j~RQYZXz{^~^O(Q~~aP!P!Qd~iO(R~~",25,323)],topRules:{Script:[0,7],SingleExpression:[1,276],SingleClassItem:[2,277]},dialects:{jsx:0,ts:15175},dynamicPrecedences:{80:1,82:1,94:1,169:1,199:1},specialized:[{term:327,get:t=>V5[t]||-1},{term:343,get:t=>Y5[t]||-1},{term:95,get:t=>q5[t]||-1}],tokenPrec:15201}),qk=[Lt("function ${name}(${params}) {\n ${}\n}",{label:"function",detail:"definition",type:"keyword"}),Lt("for (let ${index} = 0; ${index} < ${bound}; ${index}++) {\n ${}\n}",{label:"for",detail:"loop",type:"keyword"}),Lt("for (let ${name} of ${collection}) {\n ${}\n}",{label:"for",detail:"of loop",type:"keyword"}),Lt("do {\n ${}\n} while (${})",{label:"do",detail:"loop",type:"keyword"}),Lt("while (${}) {\n ${}\n}",{label:"while",detail:"loop",type:"keyword"}),Lt(`try { \${} } catch (\${error}) { \${} @@ -63,7 +63,7 @@ Error generating stack: `+n.message+` constructor(\${params}) { \${} } -}`,{label:"class",detail:"definition",type:"keyword"}),Lt('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Lt('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],q5=jk.concat([Lt("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Lt("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Lt("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),T0=new mw,Vk=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function go(t){return(e,i)=>{let r=e.node.getChild("VariableDefinition");return r&&i(r,t),!0}}const F5=["FunctionDeclaration"],H5={FunctionDeclaration:go("function"),ClassDeclaration:go("class"),ClassExpression:()=>!0,EnumDeclaration:go("constant"),TypeAliasDeclaration:go("type"),NamespaceDeclaration:go("namespace"),VariableDefinition(t,e){t.matchContext(F5)||e(t,"variable")},TypeDefinition(t,e){e(t,"type")},__proto__:null};function Yk(t,e){let i=T0.get(e);if(i)return i;let r=[],s=!0;function n(o,l){let a=t.sliceString(o.from,o.to);r.push({label:a,type:l})}return e.cursor(ue.IncludeAnonymous).iterate(o=>{if(s)s=!1;else if(o.name){let l=H5[o.name];if(l&&l(o,n)||Vk.has(o.name))return!1}else if(o.to-o.from>8192){for(let l of Yk(t,o.node))r.push(l);return!1}}),T0.set(e,r),r}const E0=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,qk=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function U5(t){let e=Ie(t.state).resolveInner(t.pos,-1);if(qk.indexOf(e.name)>-1)return null;let i=e.name=="VariableName"||e.to-e.from<20&&E0.test(t.state.sliceDoc(e.from,e.to));if(!i&&!t.explicit)return null;let r=[];for(let s=e;s;s=s.parent)Vk.has(s.name)&&(r=r.concat(Yk(t.state.doc,s)));return{options:r,from:i?e.from:t.pos,validFor:E0}}const er=Bn.define({name:"javascript",parser:Y5.configure({props:[jl.add({IfStatement:rh({except:/^\s*({|else\b)/}),TryStatement:rh({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:QQ,SwitchBody:t=>{let e=t.textAfter,i=/^\s*\}/.test(e),r=/^\s*(case|default)\b/.test(e);return t.baseIndent+(i?0:r?1:2)*t.unit},Block:$Q({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"TemplateString BlockComment":()=>null,"Statement Property":rh({except:/^\s*{/}),JSXElement(t){let e=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},JSXEscape(t){let e=/\s*\}/.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},"JSXOpenTag JSXSelfClosingTag"(t){return t.column(t.node.from)+t.unit}}),Vl.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":kw,BlockComment(t){return{from:t.from+2,to:t.to-2}},JSXElement(t){let e=t.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let i=t.lastChild;return{from:e.to,to:i.type.isError?t.to:i.from}},"JSXSelfClosingTag JSXOpenTag"(t){var e;let i=(e=t.firstChild)===null||e===void 0?void 0:e.nextSibling,r=t.lastChild;return!i||i.type.isError?null:{from:i.to,to:r.type.isError?t.to:r.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Fk={test:t=>/^JSX/.test(t.name),facet:Jg({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Hk=er.configure({dialect:"ts"},"typescript"),Uk=er.configure({dialect:"jsx",props:[eO.add(t=>t.isTop?[Fk]:void 0)]}),Gk=er.configure({dialect:"jsx ts",props:[eO.add(t=>t.isTop?[Fk]:void 0)]},"typescript");let Kk=t=>({label:t,type:"keyword"});const Jk="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(Kk),G5=Jk.concat(["declare","implements","private","protected","public"].map(Kk));function K5(t={}){let e=t.jsx?t.typescript?Gk:Uk:t.typescript?Hk:er,i=t.typescript?q5.concat(G5):jk.concat(Jk);return new bl(e,[er.data.of({autocomplete:tE(qk,eE(i))}),er.data.of({autocomplete:U5}),t.jsx?tA:[]])}function J5(t){for(;;){if(t.name=="JSXOpenTag"||t.name=="JSXSelfClosingTag"||t.name=="JSXFragmentTag")return t;if(t.name=="JSXEscape"||!t.parent)return null;t=t.parent}}function R0(t,e,i=t.length){for(let r=e==null?void 0:e.firstChild;r;r=r.nextSibling)if(r.name=="JSXIdentifier"||r.name=="JSXBuiltin"||r.name=="JSXNamespacedName"||r.name=="JSXMemberExpression")return t.sliceString(r.from,Math.min(r.to,i));return""}const eA=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),tA=F.inputHandler.of((t,e,i,r,s)=>{if((eA?t.composing:t.compositionStarted)||t.state.readOnly||e!=i||r!=">"&&r!="/"||!er.isActiveAt(t.state,e,-1))return!1;let n=s(),{state:o}=n,l=o.changeByRange(a=>{var h;let{head:c}=a,u=Ie(o).resolveInner(c-1,-1),f;if(u.name=="JSXStartTag"&&(u=u.parent),!(o.doc.sliceString(c-1,c)!=r||u.name=="JSXAttributeValue"&&u.to>c)){if(r==">"&&u.name=="JSXFragmentTag")return{range:a,changes:{from:c,insert:""}};if(r=="/"&&u.name=="JSXStartCloseTag"){let d=u.parent,p=d.parent;if(p&&d.from==c-2&&((f=R0(o.doc,p.firstChild,c))||((h=p.firstChild)===null||h===void 0?void 0:h.name)=="JSXFragmentTag")){let g=`${f}>`;return{range:T.cursor(c+g.length,-1),changes:{from:c,insert:g}}}}else if(r==">"){let d=J5(u);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(c,c+2))&&(f=R0(o.doc,d,c)))return{range:a,changes:{from:c,insert:``}}}}return{range:a}});return l.changes.empty?!1:(t.dispatch([n,o.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Oo=["_blank","_self","_top","_parent"],Gu=["ascii","utf-8","utf-16","latin1","latin1"],Ku=["get","post","put","delete"],Ju=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Vt=["true","false"],Y={},iA={a:{attrs:{href:null,ping:null,type:null,media:null,target:Oo,hreflang:null}},abbr:Y,address:Y,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Y,aside:Y,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Y,base:{attrs:{href:null,target:Oo}},bdi:Y,bdo:Y,blockquote:{attrs:{cite:null}},body:Y,br:Y,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:Ju,formmethod:Ku,formnovalidate:["novalidate"],formtarget:Oo,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Y,center:Y,cite:Y,code:Y,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Y,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Y,div:Y,dl:Y,dt:Y,em:Y,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Y,figure:Y,footer:Y,form:{attrs:{action:null,name:null,"accept-charset":Gu,autocomplete:["on","off"],enctype:Ju,method:Ku,novalidate:["novalidate"],target:Oo}},h1:Y,h2:Y,h3:Y,h4:Y,h5:Y,h6:Y,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Y,hgroup:Y,hr:Y,html:{attrs:{manifest:null}},i:Y,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:Ju,formmethod:Ku,formnovalidate:["novalidate"],formtarget:Oo,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Y,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Y,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Y,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Gu,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Y,noscript:Y,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Y,param:{attrs:{name:null,value:null}},pre:Y,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Y,rt:Y,ruby:Y,samp:Y,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Gu}},section:Y,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Y,source:{attrs:{src:null,type:null,media:null}},span:Y,strong:Y,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Y,summary:Y,sup:Y,table:Y,tbody:Y,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Y,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Y,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Y,time:{attrs:{datetime:null}},title:Y,tr:Y,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Y,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Y},eb={accesskey:null,class:null,contenteditable:Vt,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Vt,autocorrect:Vt,autocapitalize:Vt,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Vt,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Vt,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Vt,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Vt,"aria-hidden":Vt,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Vt,"aria-multiselectable":Vt,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Vt,"aria-relevant":null,"aria-required":Vt,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},tb="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(t=>"on"+t);for(let t of tb)eb[t]=null;class Ql{constructor(e,i){this.tags={...iA,...e},this.globalAttrs={...eb,...i},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}Ql.default=new Ql;function Wn(t,e,i=t.length){if(!e)return"";let r=e.firstChild,s=r&&r.getChild("TagName");return s?t.sliceString(s.from,Math.min(s.to,i)):""}function Nn(t,e=!1){for(;t;t=t.parent)if(t.name=="Element")if(e)e=!1;else return t;return null}function ib(t,e,i){let r=i.tags[Wn(t,Nn(e))];return(r==null?void 0:r.children)||i.allTags}function OO(t,e){let i=[];for(let r=Nn(e);r&&!r.type.isTop;r=Nn(r.parent)){let s=Wn(t,r);if(s&&r.lastChild.name=="CloseTag")break;s&&i.indexOf(s)<0&&(e.name=="EndTag"||e.from>=r.firstChild.to)&&i.push(s)}return i}const rb=/^[:\-\.\w\u00b7-\uffff]*$/;function A0(t,e,i,r,s){let n=/\s*>/.test(t.sliceDoc(s,s+5))?"":">",o=Nn(i,i.name=="StartTag"||i.name=="TagName");return{from:r,to:s,options:ib(t.doc,o,e).map(l=>({label:l,type:"type"})).concat(OO(t.doc,i).map((l,a)=>({label:"/"+l,apply:"/"+l+n,type:"type",boost:99-a}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function M0(t,e,i,r){let s=/\s*>/.test(t.sliceDoc(r,r+5))?"":">";return{from:i,to:r,options:OO(t.doc,e).map((n,o)=>({label:n,apply:n+s,type:"type",boost:99-o})),validFor:rb}}function rA(t,e,i,r){let s=[],n=0;for(let o of ib(t.doc,i,e))s.push({label:"<"+o,type:"type"});for(let o of OO(t.doc,i))s.push({label:"",type:"type",boost:99-n++});return{from:r,to:r,options:s,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function sA(t,e,i,r,s){let n=Nn(i),o=n?e.tags[Wn(t.doc,n)]:null,l=o&&o.attrs?Object.keys(o.attrs):[],a=o&&o.globalAttrs===!1?l:l.length?l.concat(e.globalAttrNames):e.globalAttrNames;return{from:r,to:s,options:a.map(h=>({label:h,type:"property"})),validFor:rb}}function nA(t,e,i,r,s){var n;let o=(n=i.parent)===null||n===void 0?void 0:n.getChild("AttributeName"),l=[],a;if(o){let h=t.sliceDoc(o.from,o.to),c=e.globalAttrs[h];if(!c){let u=Nn(i),f=u?e.tags[Wn(t.doc,u)]:null;c=(f==null?void 0:f.attrs)&&f.attrs[h]}if(c){let u=t.sliceDoc(r,s).toLowerCase(),f='"',d='"';/^['"]/.test(u)?(a=u[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",d=t.sliceDoc(s,s+1)==u[0]?"":u[0],u=u.slice(1),r++):a=/^[^\s<>='"]*$/;for(let p of c)l.push({label:p,apply:f+p+d,type:"constant"})}}return{from:r,to:s,options:l,validFor:a}}function sb(t,e){let{state:i,pos:r}=e,s=Ie(i).resolveInner(r,-1),n=s.resolve(r);for(let o=r,l;n==s&&(l=s.childBefore(o));){let a=l.lastChild;if(!a||!a.type.isError||a.fromsb(r,s)}const aA=er.parser.configure({top:"SingleExpression"}),nb=[{tag:"script",attrs:t=>t.type=="text/typescript"||t.lang=="ts",parser:Hk.parser},{tag:"script",attrs:t=>t.type=="text/babel"||t.type=="text/jsx",parser:Uk.parser},{tag:"script",attrs:t=>t.type=="text/typescript-jsx",parser:Gk.parser},{tag:"script",attrs(t){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(t.type)},parser:aA},{tag:"script",attrs(t){return!t.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(t.type)},parser:er.parser},{tag:"style",attrs(t){return(!t.lang||t.lang=="css")&&(!t.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(t.type))},parser:lc.parser}],ob=[{name:"style",parser:lc.parser.configure({top:"Styles"})}].concat(tb.map(t=>({name:t,parser:er.parser}))),lb=Bn.define({name:"html",parser:AR.configure({props:[jl.add({Element(t){let e=/^(\s*)(<\/)?/.exec(t.textAfter);return t.node.to<=t.pos+e[0].length?t.continue():t.lineIndent(t.node.from)+(e[2]?0:t.unit)},"OpenTag CloseTag SelfClosingTag"(t){return t.column(t.node.from)+t.unit},Document(t){if(t.pos+/\s*/.exec(t.textAfter)[0].lengtht.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),oh=lb.configure({wrap:Bk(nb,ob)});function hA(t={}){let e="",i;t.matchClosingTags===!1&&(e="noMatch"),t.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(i=Bk((t.nestedLanguages||[]).concat(nb),(t.nestedAttributes||[]).concat(ob)));let r=i?lb.configure({wrap:i,dialect:e}):e?oh.configure({dialect:e}):oh;return new bl(r,[oh.data.of({autocomplete:lA(t)}),t.autoCloseTags!==!1?cA:[],K5().support,g5().support])}const L0=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),cA=F.inputHandler.of((t,e,i,r,s)=>{if(t.composing||t.state.readOnly||e!=i||r!=">"&&r!="/"||!oh.isActiveAt(t.state,e,-1))return!1;let n=s(),{state:o}=n,l=o.changeByRange(a=>{var h,c,u;let f=o.doc.sliceString(a.from-1,a.to)==r,{head:d}=a,p=Ie(o).resolveInner(d,-1),g;if(f&&r==">"&&p.name=="EndTag"){let v=p.parent;if(((c=(h=v.parent)===null||h===void 0?void 0:h.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(g=Wn(o.doc,v.parent,d))&&!L0.has(g)){let O=d+(o.doc.sliceString(d,d+1)===">"?1:0),m=``;return{range:a,changes:{from:d,to:O,insert:m}}}}else if(f&&r=="/"&&p.name=="IncompleteCloseTag"){let v=p.parent;if(p.from==d-2&&((u=v.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(g=Wn(o.doc,v,d))&&!L0.has(g)){let O=d+(o.doc.sliceString(d,d+1)===">"?1:0),m=`${g}>`;return{range:T.cursor(d+m.length,-1),changes:{from:d,to:O,insert:m}}}}return{range:a}});return l.changes.empty?!1:(t.dispatch([n,o.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),ab=Jg({commentTokens:{block:{open:""}}}),hb=new G,cb=PE.configure({props:[Vl.add(t=>!t.is("Block")||t.is("Document")||rp(t)!=null||uA(t)?void 0:(e,i)=>({from:i.doc.lineAt(e.from).to,to:e.to})),hb.add(rp),jl.add({Document:()=>null}),hn.add({Document:ab})]});function rp(t){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(t.name);return e?+e[1]:void 0}function uA(t){return t.name=="OrderedList"||t.name=="BulletList"}function fA(t,e){let i=t;for(;;){let r=i.nextSibling,s;if(!r||(s=rp(r.type))!=null&&s<=e)break;i=r}return i.to}const dA=TQ.of((t,e,i)=>{for(let r=Ie(t).resolveInner(i,-1);r&&!(r.fromi)return{from:i,to:n}}return null});function mO(t){return new Pi(ab,t,[],"markdown")}const pA=mO(cb),gA=cb.configure([zE,XE,ZE,IE,{props:[Vl.add({Table:(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}]),ac=mO(gA);function OA(t,e){return i=>{if(i&&t){let r=null;if(i=/\S*/.exec(i)[0],typeof t=="function"?r=t(i):r=Gh.matchLanguageName(t,i,!0),r instanceof Gh)return r.support?r.support.language.parser:kl.getSkippingParser(r.load());if(r)return r.parser}return e?e.parser:null}}class ef{constructor(e,i,r,s,n,o,l){this.node=e,this.from=i,this.to=r,this.spaceBefore=s,this.spaceAfter=n,this.type=o,this.item=l}blank(e,i=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;r.length0;s--)r+=" ";return r+(i?this.spaceAfter:"")}}marker(e,i){let r=this.node.name=="OrderedList"?String(+fb(this.item,e)[2]+i):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function ub(t,e){let i=[],r=[];for(let s=t;s;s=s.parent){if(s.name=="FencedCode")return r;(s.name=="ListItem"||s.name=="Blockquote")&&i.push(s)}for(let s=i.length-1;s>=0;s--){let n=i[s],o,l=e.lineAt(n.from),a=n.from-l.from;if(n.name=="Blockquote"&&(o=/^ *>( ?)/.exec(l.text.slice(a))))r.push(new ef(n,a,a+o[0].length,"",o[1],">",null));else if(n.name=="ListItem"&&n.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(l.text.slice(a)))){let h=o[3],c=o[0].length;h.length>=4&&(h=h.slice(0,h.length-4),c-=4),r.push(new ef(n.parent,a,a+c,o[1],h,o[2],n))}else if(n.name=="ListItem"&&n.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(l.text.slice(a)))){let h=o[4],c=o[0].length;h.length>4&&(h=h.slice(0,h.length-4),c-=4);let u=o[2];o[3]&&(u+=o[3].replace(/[xX]/," ")),r.push(new ef(n.parent,a,a+c,o[1],h,u,n))}}return r}function fb(t,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(t.from,t.from+10))}function tf(t,e,i,r=0){for(let s=-1,n=t;;){if(n.name=="ListItem"){let l=fb(n,e),a=+l[2];if(s>=0){if(a!=s+1)return;i.push({from:n.from+l[1].length,to:n.from+l[0].length,insert:String(s+2+r)})}s=a}let o=n.nextSibling;if(!o)break;n=o}}function _O(t,e){let i=/^[ \t]*/.exec(t)[0].length;if(!i||e.facet(Nl)!=" ")return t;let r=Sr(t,4,i),s="";for(let n=r;n>0;)n>=4?(s+=" ",n-=4):(s+=" ",n--);return s+t.slice(i)}const mA=(t={})=>({state:e,dispatch:i})=>{let r=Ie(e),{doc:s}=e,n=null,o=e.changeByRange(l=>{if(!l.empty||!ac.isActiveAt(e,l.from,-1)&&!ac.isActiveAt(e,l.from,1))return n={range:l};let a=l.from,h=s.lineAt(a),c=ub(r.resolveInner(a,-1),s);for(;c.length&&c[c.length-1].from>a-h.from;)c.pop();if(!c.length)return n={range:l};let u=c[c.length-1];if(u.to-u.spaceAfter.length>a-h.from)return n={range:l};let f=a>=u.to-u.spaceAfter.length&&!/\S/.test(h.text.slice(u.to));if(u.item&&f){let O=u.node.firstChild,m=u.node.getChild("ListItem","ListItem");if(O.to>=a||m&&m.to0&&!/[^\s>]/.test(s.lineAt(h.from-1).text)||t.nonTightLists===!1){let _=c.length>1?c[c.length-2]:null,S,y="";_&&_.item?(S=h.from+_.from,y=_.marker(s,1)):S=h.from+(_?_.to:0);let k=[{from:S,to:a,insert:y}];return u.node.name=="OrderedList"&&tf(u.item,s,k,-2),_&&_.node.name=="OrderedList"&&tf(_.item,s,k),{range:T.cursor(S+y.length),changes:k}}else{let _=B0(c,e,h);return{range:T.cursor(a+_.length+1),changes:{from:h.from,insert:_+e.lineBreak}}}}if(u.node.name=="Blockquote"&&f&&h.from){let O=s.lineAt(h.from-1),m=/>\s*$/.exec(O.text);if(m&&m.index==u.from){let _=e.changes([{from:O.from+m.index,to:O.to},{from:h.from+u.from,to:h.to}]);return{range:l.map(_),changes:_}}}let d=[];u.node.name=="OrderedList"&&tf(u.item,s,d);let p=u.item&&u.item.from]*/.exec(h.text)[0].length>=u.to)for(let O=0,m=c.length-1;O<=m;O++)g+=O==m&&!p?c[O].marker(s,1):c[O].blank(Oh.from&&/\s/.test(h.text.charAt(v-h.from-1));)v--;return g=_O(g,e),vA(u.node,e.doc)&&(g=B0(c,e,h)+e.lineBreak+g),d.push({from:v,to:a,insert:e.lineBreak+g}),{range:T.cursor(v+g.length+1),changes:d}});return n?!1:(i(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},_A=mA();function D0(t){return t.name=="QuoteMark"||t.name=="ListMark"}function vA(t,e){if(t.name!="OrderedList"&&t.name!="BulletList")return!1;let i=t.firstChild,r=t.getChild("ListItem","ListItem");if(!r)return!1;let s=e.lineAt(i.to),n=e.lineAt(r.from),o=/^[\s>]*$/.test(s.text);return s.number+(o?0:1){let i=Ie(t),r=null,s=t.changeByRange(n=>{let o=n.from,{doc:l}=t;if(n.empty&&ac.isActiveAt(t,n.from)){let a=l.lineAt(o),h=ub(SA(i,o),l);if(h.length){let c=h[h.length-1],u=c.to-c.spaceAfter.length+(c.spaceAfter?1:0);if(o-a.from>u&&!/\S/.test(a.text.slice(u,o-a.from)))return{range:T.cursor(a.from+u),changes:{from:a.from+u,to:o}};if(o-a.from==u&&(!c.item||a.from<=c.item.from||!/\S/.test(a.text.slice(0,c.to)))){let f=a.from+c.from;if(c.item&&c.node.from{var i;let{main:r}=e.state.selection;if(r.empty)return!1;let s=(i=t.clipboardData)===null||i===void 0?void 0:i.getData("text/plain");if(!s||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(s)||(/^www\./.test(s)&&(s="https://"+s),!ac.isActiveAt(e.state,r.from,1)))return!1;let n=Ie(e.state),o=!1;return n.iterate({from:r.from,to:r.to,enter:l=>{(l.from>r.from||CA.test(l.name))&&(o=!0)},leave:l=>{l.to=r.from&&l.to<=r.to)){let f=l.to;a==="HeaderMark"&&t.state.sliceDoc(f,f+1)===" "&&(f+=1),s.push({from:l.from,to:f,deco:$A})}return}}});s.sort((n,o)=>{if(n.from!==o.from)return n.from-o.from;const l=n.from===n.to,a=o.from===o.to;return l!==a?l?-1:1:n.to-o.to});for(const n of s)e.add(n.from,n.to,n.deco);return e.finish()}const QA=zs.fromClass(class{constructor(t){QO(this,"decorations");this.decorations=z0(t)}update(t){(t.docChanged||t.viewportChanged||t.selectionSet)&&(this.decorations=z0(t.view))}},{decorations:t=>t.decorations}),TA=F.theme({"&":{height:"100%",backgroundColor:"transparent",color:"var(--text)",fontSize:"inherit",fontFamily:"inherit"},".cm-scroller":{fontFamily:"inherit",lineHeight:"1.45",padding:"0.6em 0.77em"},".cm-content":{caretColor:"var(--text)"},".cm-focused":{outline:"none"},".cm-line":{padding:0},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--text)"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:"rgba(255,255,255,0.18)"},".cm-md-h1":{fontSize:"1.7em",fontWeight:"600",lineHeight:"1.2"},".cm-md-h2":{fontSize:"1.45em",fontWeight:"600",lineHeight:"1.25"},".cm-md-h3":{fontSize:"1.25em",fontWeight:"600"},".cm-md-h4":{fontSize:"1.1em",fontWeight:"600"},".cm-md-h5":{fontSize:"1.0em",fontWeight:"600"},".cm-md-h6":{fontSize:"0.95em",fontWeight:"600",opacity:"0.85"},".cm-md-strong":{fontWeight:"700"},".cm-md-em":{fontStyle:"italic"},".cm-md-strike":{textDecoration:"line-through",opacity:"0.7"},".cm-md-inline-code":{fontFamily:"ui-monospace, Menlo, monospace",background:"rgba(255,255,255,0.08)",padding:"0 4px",borderRadius:"3px",fontSize:"0.92em"}},{dark:!0});function EA(t,e,i){const r=ne.useRef(null),s=ne.useRef(i);s.current=i,ne.useEffect(()=>{const n=t.current;if(!n)return;const o=new F({parent:n,state:le.create({doc:e,extensions:[qQ(),Zc.of([...GT,...iT]),kA(),QA,TA,F.lineWrapping,F.updateListener.of(l=>{l.docChanged&&s.current(l.state.doc.toString())})]})});return r.current=o,()=>{o.destroy(),r.current=null}},[]),ne.useEffect(()=>{const n=r.current;if(!n)return;const o=n.state.doc.toString();o!==e&&n.dispatch({changes:{from:0,to:o.length,insert:e}})},[e])}const RA=13;function AA({card:t,onUpdate:e,onClose:i,onFocus:r}){const s=Ec(),n=J1(t,l=>e(l)),o=ne.useRef(null);return EA(o,t.text,l=>e({text:l})),ce.jsxs("div",{className:"card note-card",onPointerDownCapture:r,style:{left:s.x+t.x*s.scale,top:s.y+t.y*s.scale,width:t.width*s.scale,height:t.height*s.scale,zIndex:t.z,fontSize:RA*s.scale,"--scale":s.scale},children:[ce.jsx(ty,{title:t.title??"",placeholder:"Note",onTitleChange:l=>e({title:l}),onClose:i,dragProps:n}),ce.jsx("div",{className:"card-body note-body",ref:o,onPointerDown:l=>l.stopPropagation()}),ce.jsx(ey,{card:t,onUpdate:l=>e(l)})]})}/** +}`,{label:"class",detail:"definition",type:"keyword"}),Lt('import {${names}} from "${module}"\n${}',{label:"import",detail:"named",type:"keyword"}),Lt('import ${name} from "${module}"\n${}',{label:"import",detail:"default",type:"keyword"})],H5=qk.concat([Lt("interface ${name} {\n ${}\n}",{label:"interface",detail:"definition",type:"keyword"}),Lt("type ${name} = ${type}",{label:"type",detail:"definition",type:"keyword"}),Lt("enum ${name} {\n ${}\n}",{label:"enum",detail:"definition",type:"keyword"})]),A0=new Sw,Fk=new Set(["Script","Block","FunctionExpression","FunctionDeclaration","ArrowFunction","MethodDeclaration","ForStatement"]);function mo(t){return(e,i)=>{let r=e.node.getChild("VariableDefinition");return r&&i(r,t),!0}}const U5=["FunctionDeclaration"],G5={FunctionDeclaration:mo("function"),ClassDeclaration:mo("class"),ClassExpression:()=>!0,EnumDeclaration:mo("constant"),TypeAliasDeclaration:mo("type"),NamespaceDeclaration:mo("namespace"),VariableDefinition(t,e){t.matchContext(U5)||e(t,"variable")},TypeDefinition(t,e){e(t,"type")},__proto__:null};function Hk(t,e){let i=A0.get(e);if(i)return i;let r=[],s=!0;function n(o,l){let a=t.sliceString(o.from,o.to);r.push({label:a,type:l})}return e.cursor(ue.IncludeAnonymous).iterate(o=>{if(s)s=!1;else if(o.name){let l=G5[o.name];if(l&&l(o,n)||Fk.has(o.name))return!1}else if(o.to-o.from>8192){for(let l of Hk(t,o.node))r.push(l);return!1}}),A0.set(e,r),r}const M0=/^[\w$\xa1-\uffff][\w$\d\xa1-\uffff]*$/,Uk=["TemplateString","String","RegExp","LineComment","BlockComment","VariableDefinition","TypeDefinition","Label","PropertyDefinition","PropertyName","PrivatePropertyDefinition","PrivatePropertyName","JSXText","JSXAttributeValue","JSXOpenTag","JSXCloseTag","JSXSelfClosingTag",".","?."];function K5(t){let e=Ie(t.state).resolveInner(t.pos,-1);if(Uk.indexOf(e.name)>-1)return null;let i=e.name=="VariableName"||e.to-e.from<20&&M0.test(t.state.sliceDoc(e.from,e.to));if(!i&&!t.explicit)return null;let r=[];for(let s=e;s;s=s.parent)Fk.has(s.name)&&(r=r.concat(Hk(t.state.doc,s)));return{options:r,from:i?e.from:t.pos,validFor:M0}}const ir=zn.define({name:"javascript",parser:F5.configure({props:[Vl.add({IfStatement:sh({except:/^\s*({|else\b)/}),TryStatement:sh({except:/^\s*({|catch\b|finally\b)/}),LabeledStatement:EQ,SwitchBody:t=>{let e=t.textAfter,i=/^\s*\}/.test(e),r=/^\s*(case|default)\b/.test(e);return t.baseIndent+(i?0:r?1:2)*t.unit},Block:TQ({closing:"}"}),ArrowFunction:t=>t.baseIndent+t.unit,"TemplateString BlockComment":()=>null,"Statement Property":sh({except:/^\s*{/}),JSXElement(t){let e=/^\s*<\//.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},JSXEscape(t){let e=/\s*\}/.test(t.textAfter);return t.lineIndent(t.node.from)+(e?0:t.unit)},"JSXOpenTag JSXSelfClosingTag"(t){return t.column(t.node.from)+t.unit}}),Yl.add({"Block ClassBody SwitchBody EnumBody ObjectExpression ArrayExpression ObjectType":Cw,BlockComment(t){return{from:t.from+2,to:t.to-2}},JSXElement(t){let e=t.firstChild;if(!e||e.name=="JSXSelfClosingTag")return null;let i=t.lastChild;return{from:e.to,to:i.type.isError?t.to:i.from}},"JSXSelfClosingTag JSXOpenTag"(t){var e;let i=(e=t.firstChild)===null||e===void 0?void 0:e.nextSibling,r=t.lastChild;return!i||i.type.isError?null:{from:i.to,to:r.type.isError?t.to:r.from}}})]}),languageData:{closeBrackets:{brackets:["(","[","{","'",'"',"`"]},commentTokens:{line:"//",block:{open:"/*",close:"*/"}},indentOnInput:/^\s*(?:case |default:|\{|\}|<\/)$/,wordChars:"$"}}),Gk={test:t=>/^JSX/.test(t.name),facet:im({commentTokens:{block:{open:"{/*",close:"*/}"}}})},Kk=ir.configure({dialect:"ts"},"typescript"),Jk=ir.configure({dialect:"jsx",props:[rm.add(t=>t.isTop?[Gk]:void 0)]}),eb=ir.configure({dialect:"jsx ts",props:[rm.add(t=>t.isTop?[Gk]:void 0)]},"typescript");let tb=t=>({label:t,type:"keyword"});const ib="break case const continue default delete export extends false finally in instanceof let new return static super switch this throw true typeof var yield".split(" ").map(tb),J5=ib.concat(["declare","implements","private","protected","public"].map(tb));function eA(t={}){let e=t.jsx?t.typescript?eb:Jk:t.typescript?Kk:ir,i=t.typescript?H5.concat(J5):qk.concat(ib);return new xl(e,[ir.data.of({autocomplete:rE(Uk,iE(i))}),ir.data.of({autocomplete:K5}),t.jsx?rA:[]])}function tA(t){for(;;){if(t.name=="JSXOpenTag"||t.name=="JSXSelfClosingTag"||t.name=="JSXFragmentTag")return t;if(t.name=="JSXEscape"||!t.parent)return null;t=t.parent}}function L0(t,e,i=t.length){for(let r=e==null?void 0:e.firstChild;r;r=r.nextSibling)if(r.name=="JSXIdentifier"||r.name=="JSXBuiltin"||r.name=="JSXNamespacedName"||r.name=="JSXMemberExpression")return t.sliceString(r.from,Math.min(r.to,i));return""}const iA=typeof navigator=="object"&&/Android\b/.test(navigator.userAgent),rA=U.inputHandler.of((t,e,i,r,s)=>{if((iA?t.composing:t.compositionStarted)||t.state.readOnly||e!=i||r!=">"&&r!="/"||!ir.isActiveAt(t.state,e,-1))return!1;let n=s(),{state:o}=n,l=o.changeByRange(a=>{var h;let{head:c}=a,u=Ie(o).resolveInner(c-1,-1),f;if(u.name=="JSXStartTag"&&(u=u.parent),!(o.doc.sliceString(c-1,c)!=r||u.name=="JSXAttributeValue"&&u.to>c)){if(r==">"&&u.name=="JSXFragmentTag")return{range:a,changes:{from:c,insert:""}};if(r=="/"&&u.name=="JSXStartCloseTag"){let d=u.parent,p=d.parent;if(p&&d.from==c-2&&((f=L0(o.doc,p.firstChild,c))||((h=p.firstChild)===null||h===void 0?void 0:h.name)=="JSXFragmentTag")){let g=`${f}>`;return{range:T.cursor(c+g.length,-1),changes:{from:c,insert:g}}}}else if(r==">"){let d=tA(u);if(d&&d.name=="JSXOpenTag"&&!/^\/?>|^<\//.test(o.doc.sliceString(c,c+2))&&(f=L0(o.doc,d,c)))return{range:a,changes:{from:c,insert:``}}}}return{range:a}});return l.changes.empty?!1:(t.dispatch([n,o.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),Oo=["_blank","_self","_top","_parent"],Ku=["ascii","utf-8","utf-16","latin1","latin1"],Ju=["get","post","put","delete"],ef=["application/x-www-form-urlencoded","multipart/form-data","text/plain"],Vt=["true","false"],Y={},sA={a:{attrs:{href:null,ping:null,type:null,media:null,target:Oo,hreflang:null}},abbr:Y,address:Y,area:{attrs:{alt:null,coords:null,href:null,target:null,ping:null,media:null,hreflang:null,type:null,shape:["default","rect","circle","poly"]}},article:Y,aside:Y,audio:{attrs:{src:null,mediagroup:null,crossorigin:["anonymous","use-credentials"],preload:["none","metadata","auto"],autoplay:["autoplay"],loop:["loop"],controls:["controls"]}},b:Y,base:{attrs:{href:null,target:Oo}},bdi:Y,bdo:Y,blockquote:{attrs:{cite:null}},body:Y,br:Y,button:{attrs:{form:null,formaction:null,name:null,value:null,autofocus:["autofocus"],disabled:["autofocus"],formenctype:ef,formmethod:Ju,formnovalidate:["novalidate"],formtarget:Oo,type:["submit","reset","button"]}},canvas:{attrs:{width:null,height:null}},caption:Y,center:Y,cite:Y,code:Y,col:{attrs:{span:null}},colgroup:{attrs:{span:null}},command:{attrs:{type:["command","checkbox","radio"],label:null,icon:null,radiogroup:null,command:null,title:null,disabled:["disabled"],checked:["checked"]}},data:{attrs:{value:null}},datagrid:{attrs:{disabled:["disabled"],multiple:["multiple"]}},datalist:{attrs:{data:null}},dd:Y,del:{attrs:{cite:null,datetime:null}},details:{attrs:{open:["open"]}},dfn:Y,div:Y,dl:Y,dt:Y,em:Y,embed:{attrs:{src:null,type:null,width:null,height:null}},eventsource:{attrs:{src:null}},fieldset:{attrs:{disabled:["disabled"],form:null,name:null}},figcaption:Y,figure:Y,footer:Y,form:{attrs:{action:null,name:null,"accept-charset":Ku,autocomplete:["on","off"],enctype:ef,method:Ju,novalidate:["novalidate"],target:Oo}},h1:Y,h2:Y,h3:Y,h4:Y,h5:Y,h6:Y,head:{children:["title","base","link","style","meta","script","noscript","command"]},header:Y,hgroup:Y,hr:Y,html:{attrs:{manifest:null}},i:Y,iframe:{attrs:{src:null,srcdoc:null,name:null,width:null,height:null,sandbox:["allow-top-navigation","allow-same-origin","allow-forms","allow-scripts"],seamless:["seamless"]}},img:{attrs:{alt:null,src:null,ismap:null,usemap:null,width:null,height:null,crossorigin:["anonymous","use-credentials"]}},input:{attrs:{alt:null,dirname:null,form:null,formaction:null,height:null,list:null,max:null,maxlength:null,min:null,name:null,pattern:null,placeholder:null,size:null,src:null,step:null,value:null,width:null,accept:["audio/*","video/*","image/*"],autocomplete:["on","off"],autofocus:["autofocus"],checked:["checked"],disabled:["disabled"],formenctype:ef,formmethod:Ju,formnovalidate:["novalidate"],formtarget:Oo,multiple:["multiple"],readonly:["readonly"],required:["required"],type:["hidden","text","search","tel","url","email","password","datetime","date","month","week","time","datetime-local","number","range","color","checkbox","radio","file","submit","image","reset","button"]}},ins:{attrs:{cite:null,datetime:null}},kbd:Y,keygen:{attrs:{challenge:null,form:null,name:null,autofocus:["autofocus"],disabled:["disabled"],keytype:["RSA"]}},label:{attrs:{for:null,form:null}},legend:Y,li:{attrs:{value:null}},link:{attrs:{href:null,type:null,hreflang:null,media:null,sizes:["all","16x16","16x16 32x32","16x16 32x32 64x64"]}},map:{attrs:{name:null}},mark:Y,menu:{attrs:{label:null,type:["list","context","toolbar"]}},meta:{attrs:{content:null,charset:Ku,name:["viewport","application-name","author","description","generator","keywords"],"http-equiv":["content-language","content-type","default-style","refresh"]}},meter:{attrs:{value:null,min:null,low:null,high:null,max:null,optimum:null}},nav:Y,noscript:Y,object:{attrs:{data:null,type:null,name:null,usemap:null,form:null,width:null,height:null,typemustmatch:["typemustmatch"]}},ol:{attrs:{reversed:["reversed"],start:null,type:["1","a","A","i","I"]},children:["li","script","template","ul","ol"]},optgroup:{attrs:{disabled:["disabled"],label:null}},option:{attrs:{disabled:["disabled"],label:null,selected:["selected"],value:null}},output:{attrs:{for:null,form:null,name:null}},p:Y,param:{attrs:{name:null,value:null}},pre:Y,progress:{attrs:{value:null,max:null}},q:{attrs:{cite:null}},rp:Y,rt:Y,ruby:Y,samp:Y,script:{attrs:{type:["text/javascript"],src:null,async:["async"],defer:["defer"],charset:Ku}},section:Y,select:{attrs:{form:null,name:null,size:null,autofocus:["autofocus"],disabled:["disabled"],multiple:["multiple"]}},slot:{attrs:{name:null}},small:Y,source:{attrs:{src:null,type:null,media:null}},span:Y,strong:Y,style:{attrs:{type:["text/css"],media:null,scoped:null}},sub:Y,summary:Y,sup:Y,table:Y,tbody:Y,td:{attrs:{colspan:null,rowspan:null,headers:null}},template:Y,textarea:{attrs:{dirname:null,form:null,maxlength:null,name:null,placeholder:null,rows:null,cols:null,autofocus:["autofocus"],disabled:["disabled"],readonly:["readonly"],required:["required"],wrap:["soft","hard"]}},tfoot:Y,th:{attrs:{colspan:null,rowspan:null,headers:null,scope:["row","col","rowgroup","colgroup"]}},thead:Y,time:{attrs:{datetime:null}},title:Y,tr:Y,track:{attrs:{src:null,label:null,default:null,kind:["subtitles","captions","descriptions","chapters","metadata"],srclang:null}},ul:{children:["li","script","template","ul","ol"]},var:Y,video:{attrs:{src:null,poster:null,width:null,height:null,crossorigin:["anonymous","use-credentials"],preload:["auto","metadata","none"],autoplay:["autoplay"],mediagroup:["movie"],muted:["muted"],controls:["controls"]}},wbr:Y},rb={accesskey:null,class:null,contenteditable:Vt,contextmenu:null,dir:["ltr","rtl","auto"],draggable:["true","false","auto"],dropzone:["copy","move","link","string:","file:"],hidden:["hidden"],id:null,inert:["inert"],itemid:null,itemprop:null,itemref:null,itemscope:["itemscope"],itemtype:null,lang:["ar","bn","de","en-GB","en-US","es","fr","hi","id","ja","pa","pt","ru","tr","zh"],spellcheck:Vt,autocorrect:Vt,autocapitalize:Vt,style:null,tabindex:null,title:null,translate:["yes","no"],rel:["stylesheet","alternate","author","bookmark","help","license","next","nofollow","noreferrer","prefetch","prev","search","tag"],role:"alert application article banner button cell checkbox complementary contentinfo dialog document feed figure form grid gridcell heading img list listbox listitem main navigation region row rowgroup search switch tab table tabpanel textbox timer".split(" "),"aria-activedescendant":null,"aria-atomic":Vt,"aria-autocomplete":["inline","list","both","none"],"aria-busy":Vt,"aria-checked":["true","false","mixed","undefined"],"aria-controls":null,"aria-describedby":null,"aria-disabled":Vt,"aria-dropeffect":null,"aria-expanded":["true","false","undefined"],"aria-flowto":null,"aria-grabbed":["true","false","undefined"],"aria-haspopup":Vt,"aria-hidden":Vt,"aria-invalid":["true","false","grammar","spelling"],"aria-label":null,"aria-labelledby":null,"aria-level":null,"aria-live":["off","polite","assertive"],"aria-multiline":Vt,"aria-multiselectable":Vt,"aria-owns":null,"aria-posinset":null,"aria-pressed":["true","false","mixed","undefined"],"aria-readonly":Vt,"aria-relevant":null,"aria-required":Vt,"aria-selected":["true","false","undefined"],"aria-setsize":null,"aria-sort":["ascending","descending","none","other"],"aria-valuemax":null,"aria-valuemin":null,"aria-valuenow":null,"aria-valuetext":null},sb="beforeunload copy cut dragstart dragover dragleave dragenter dragend drag paste focus blur change click load mousedown mouseenter mouseleave mouseup keydown keyup resize scroll unload".split(" ").map(t=>"on"+t);for(let t of sb)rb[t]=null;class Tl{constructor(e,i){this.tags={...sA,...e},this.globalAttrs={...rb,...i},this.allTags=Object.keys(this.tags),this.globalAttrNames=Object.keys(this.globalAttrs)}}Tl.default=new Tl;function Wn(t,e,i=t.length){if(!e)return"";let r=e.firstChild,s=r&&r.getChild("TagName");return s?t.sliceString(s.from,Math.min(s.to,i)):""}function jn(t,e=!1){for(;t;t=t.parent)if(t.name=="Element")if(e)e=!1;else return t;return null}function nb(t,e,i){let r=i.tags[Wn(t,jn(e))];return(r==null?void 0:r.children)||i.allTags}function vm(t,e){let i=[];for(let r=jn(e);r&&!r.type.isTop;r=jn(r.parent)){let s=Wn(t,r);if(s&&r.lastChild.name=="CloseTag")break;s&&i.indexOf(s)<0&&(e.name=="EndTag"||e.from>=r.firstChild.to)&&i.push(s)}return i}const ob=/^[:\-\.\w\u00b7-\uffff]*$/;function D0(t,e,i,r,s){let n=/\s*>/.test(t.sliceDoc(s,s+5))?"":">",o=jn(i,i.name=="StartTag"||i.name=="TagName");return{from:r,to:s,options:nb(t.doc,o,e).map(l=>({label:l,type:"type"})).concat(vm(t.doc,i).map((l,a)=>({label:"/"+l,apply:"/"+l+n,type:"type",boost:99-a}))),validFor:/^\/?[:\-\.\w\u00b7-\uffff]*$/}}function B0(t,e,i,r){let s=/\s*>/.test(t.sliceDoc(r,r+5))?"":">";return{from:i,to:r,options:vm(t.doc,e).map((n,o)=>({label:n,apply:n+s,type:"type",boost:99-o})),validFor:ob}}function nA(t,e,i,r){let s=[],n=0;for(let o of nb(t.doc,i,e))s.push({label:"<"+o,type:"type"});for(let o of vm(t.doc,i))s.push({label:"",type:"type",boost:99-n++});return{from:r,to:r,options:s,validFor:/^<\/?[:\-\.\w\u00b7-\uffff]*$/}}function oA(t,e,i,r,s){let n=jn(i),o=n?e.tags[Wn(t.doc,n)]:null,l=o&&o.attrs?Object.keys(o.attrs):[],a=o&&o.globalAttrs===!1?l:l.length?l.concat(e.globalAttrNames):e.globalAttrNames;return{from:r,to:s,options:a.map(h=>({label:h,type:"property"})),validFor:ob}}function lA(t,e,i,r,s){var n;let o=(n=i.parent)===null||n===void 0?void 0:n.getChild("AttributeName"),l=[],a;if(o){let h=t.sliceDoc(o.from,o.to),c=e.globalAttrs[h];if(!c){let u=jn(i),f=u?e.tags[Wn(t.doc,u)]:null;c=(f==null?void 0:f.attrs)&&f.attrs[h]}if(c){let u=t.sliceDoc(r,s).toLowerCase(),f='"',d='"';/^['"]/.test(u)?(a=u[0]=='"'?/^[^"]*$/:/^[^']*$/,f="",d=t.sliceDoc(s,s+1)==u[0]?"":u[0],u=u.slice(1),r++):a=/^[^\s<>='"]*$/;for(let p of c)l.push({label:p,apply:f+p+d,type:"constant"})}}return{from:r,to:s,options:l,validFor:a}}function lb(t,e){let{state:i,pos:r}=e,s=Ie(i).resolveInner(r,-1),n=s.resolve(r);for(let o=r,l;n==s&&(l=s.childBefore(o));){let a=l.lastChild;if(!a||!a.type.isError||a.fromlb(r,s)}const cA=ir.parser.configure({top:"SingleExpression"}),ab=[{tag:"script",attrs:t=>t.type=="text/typescript"||t.lang=="ts",parser:Kk.parser},{tag:"script",attrs:t=>t.type=="text/babel"||t.type=="text/jsx",parser:Jk.parser},{tag:"script",attrs:t=>t.type=="text/typescript-jsx",parser:eb.parser},{tag:"script",attrs(t){return/^(importmap|speculationrules|application\/(.+\+)?json)$/i.test(t.type)},parser:cA},{tag:"script",attrs(t){return!t.type||/^(?:text|application)\/(?:x-)?(?:java|ecma)script$|^module$|^$/i.test(t.type)},parser:ir.parser},{tag:"style",attrs(t){return(!t.lang||t.lang=="css")&&(!t.type||/^(text\/)?(x-)?(stylesheet|css)$/i.test(t.type))},parser:ac.parser}],hb=[{name:"style",parser:ac.parser.configure({top:"Styles"})}].concat(sb.map(t=>({name:t,parser:ir.parser}))),cb=zn.define({name:"html",parser:LR.configure({props:[Vl.add({Element(t){let e=/^(\s*)(<\/)?/.exec(t.textAfter);return t.node.to<=t.pos+e[0].length?t.continue():t.lineIndent(t.node.from)+(e[2]?0:t.unit)},"OpenTag CloseTag SelfClosingTag"(t){return t.column(t.node.from)+t.unit},Document(t){if(t.pos+/\s*/.exec(t.textAfter)[0].lengtht.getChild("TagName")})]}),languageData:{commentTokens:{block:{open:""}},indentOnInput:/^\s*<\/\w+\W$/,wordChars:"-_"}}),lh=cb.configure({wrap:Xk(ab,hb)});function uA(t={}){let e="",i;t.matchClosingTags===!1&&(e="noMatch"),t.selfClosingTags===!0&&(e=(e?e+" ":"")+"selfClosing"),(t.nestedLanguages&&t.nestedLanguages.length||t.nestedAttributes&&t.nestedAttributes.length)&&(i=Xk((t.nestedLanguages||[]).concat(ab),(t.nestedAttributes||[]).concat(hb)));let r=i?cb.configure({wrap:i,dialect:e}):e?lh.configure({dialect:e}):lh;return new xl(r,[lh.data.of({autocomplete:hA(t)}),t.autoCloseTags!==!1?fA:[],eA().support,O5().support])}const z0=new Set("area base br col command embed frame hr img input keygen link meta param source track wbr menuitem".split(" ")),fA=U.inputHandler.of((t,e,i,r,s)=>{if(t.composing||t.state.readOnly||e!=i||r!=">"&&r!="/"||!lh.isActiveAt(t.state,e,-1))return!1;let n=s(),{state:o}=n,l=o.changeByRange(a=>{var h,c,u;let f=o.doc.sliceString(a.from-1,a.to)==r,{head:d}=a,p=Ie(o).resolveInner(d,-1),g;if(f&&r==">"&&p.name=="EndTag"){let v=p.parent;if(((c=(h=v.parent)===null||h===void 0?void 0:h.lastChild)===null||c===void 0?void 0:c.name)!="CloseTag"&&(g=Wn(o.doc,v.parent,d))&&!z0.has(g)){let m=d+(o.doc.sliceString(d,d+1)===">"?1:0),O=``;return{range:a,changes:{from:d,to:m,insert:O}}}}else if(f&&r=="/"&&p.name=="IncompleteCloseTag"){let v=p.parent;if(p.from==d-2&&((u=v.lastChild)===null||u===void 0?void 0:u.name)!="CloseTag"&&(g=Wn(o.doc,v,d))&&!z0.has(g)){let m=d+(o.doc.sliceString(d,d+1)===">"?1:0),O=`${g}>`;return{range:T.cursor(d+O.length,-1),changes:{from:d,to:m,insert:O}}}}return{range:a}});return l.changes.empty?!1:(t.dispatch([n,o.update(l,{userEvent:"input.complete",scrollIntoView:!0})]),!0)}),ub=im({commentTokens:{block:{open:""}}}),fb=new J,db=QE.configure({props:[Yl.add(t=>!t.is("Block")||t.is("Document")||op(t)!=null||dA(t)?void 0:(e,i)=>({from:i.doc.lineAt(e.from).to,to:e.to})),fb.add(op),Vl.add({Document:()=>null}),cn.add({Document:ub})]});function op(t){let e=/^(?:ATX|Setext)Heading(\d)$/.exec(t.name);return e?+e[1]:void 0}function dA(t){return t.name=="OrderedList"||t.name=="BulletList"}function pA(t,e){let i=t;for(;;){let r=i.nextSibling,s;if(!r||(s=op(r.type))!=null&&s<=e)break;i=r}return i.to}const gA=RQ.of((t,e,i)=>{for(let r=Ie(t).resolveInner(i,-1);r&&!(r.fromi)return{from:i,to:n}}return null});function Sm(t){return new Qi(ub,t,[],"markdown")}const mA=Sm(db),OA=db.configure([XE,NE,IE,WE,{props:[Yl.add({Table:(t,e)=>({from:e.doc.lineAt(t.from).to,to:t.to})})]}]),hc=Sm(OA);function _A(t,e){return i=>{if(i&&t){let r=null;if(i=/\S*/.exec(i)[0],typeof t=="function"?r=t(i):r=Kh.matchLanguageName(t,i,!0),r instanceof Kh)return r.support?r.support.language.parser:bl.getSkippingParser(r.load());if(r)return r.parser}return e?e.parser:null}}class tf{constructor(e,i,r,s,n,o,l){this.node=e,this.from=i,this.to=r,this.spaceBefore=s,this.spaceAfter=n,this.type=o,this.item=l}blank(e,i=!0){let r=this.spaceBefore+(this.node.name=="Blockquote"?">":"");if(e!=null){for(;r.length0;s--)r+=" ";return r+(i?this.spaceAfter:"")}}marker(e,i){let r=this.node.name=="OrderedList"?String(+gb(this.item,e)[2]+i):"";return this.spaceBefore+r+this.type+this.spaceAfter}}function pb(t,e){let i=[],r=[];for(let s=t;s;s=s.parent){if(s.name=="FencedCode")return r;(s.name=="ListItem"||s.name=="Blockquote")&&i.push(s)}for(let s=i.length-1;s>=0;s--){let n=i[s],o,l=e.lineAt(n.from),a=n.from-l.from;if(n.name=="Blockquote"&&(o=/^ *>( ?)/.exec(l.text.slice(a))))r.push(new tf(n,a,a+o[0].length,"",o[1],">",null));else if(n.name=="ListItem"&&n.parent.name=="OrderedList"&&(o=/^( *)\d+([.)])( *)/.exec(l.text.slice(a)))){let h=o[3],c=o[0].length;h.length>=4&&(h=h.slice(0,h.length-4),c-=4),r.push(new tf(n.parent,a,a+c,o[1],h,o[2],n))}else if(n.name=="ListItem"&&n.parent.name=="BulletList"&&(o=/^( *)([-+*])( {1,4}\[[ xX]\])?( +)/.exec(l.text.slice(a)))){let h=o[4],c=o[0].length;h.length>4&&(h=h.slice(0,h.length-4),c-=4);let u=o[2];o[3]&&(u+=o[3].replace(/[xX]/," ")),r.push(new tf(n.parent,a,a+c,o[1],h,u,n))}}return r}function gb(t,e){return/^(\s*)(\d+)(?=[.)])/.exec(e.sliceString(t.from,t.from+10))}function rf(t,e,i,r=0){for(let s=-1,n=t;;){if(n.name=="ListItem"){let l=gb(n,e),a=+l[2];if(s>=0){if(a!=s+1)return;i.push({from:n.from+l[1].length,to:n.from+l[0].length,insert:String(s+2+r)})}s=a}let o=n.nextSibling;if(!o)break;n=o}}function ym(t,e){let i=/^[ \t]*/.exec(t)[0].length;if(!i||e.facet(jl)!=" ")return t;let r=wr(t,4,i),s="";for(let n=r;n>0;)n>=4?(s+=" ",n-=4):(s+=" ",n--);return s+t.slice(i)}const vA=(t={})=>({state:e,dispatch:i})=>{let r=Ie(e),{doc:s}=e,n=null,o=e.changeByRange(l=>{if(!l.empty||!hc.isActiveAt(e,l.from,-1)&&!hc.isActiveAt(e,l.from,1))return n={range:l};let a=l.from,h=s.lineAt(a),c=pb(r.resolveInner(a,-1),s);for(;c.length&&c[c.length-1].from>a-h.from;)c.pop();if(!c.length)return n={range:l};let u=c[c.length-1];if(u.to-u.spaceAfter.length>a-h.from)return n={range:l};let f=a>=u.to-u.spaceAfter.length&&!/\S/.test(h.text.slice(u.to));if(u.item&&f){let m=u.node.firstChild,O=u.node.getChild("ListItem","ListItem");if(m.to>=a||O&&O.to0&&!/[^\s>]/.test(s.lineAt(h.from-1).text)||t.nonTightLists===!1){let _=c.length>1?c[c.length-2]:null,w,b="";_&&_.item?(w=h.from+_.from,b=_.marker(s,1)):w=h.from+(_?_.to:0);let S=[{from:w,to:a,insert:b}];return u.node.name=="OrderedList"&&rf(u.item,s,S,-2),_&&_.node.name=="OrderedList"&&rf(_.item,s,S),{range:T.cursor(w+b.length),changes:S}}else{let _=X0(c,e,h);return{range:T.cursor(a+_.length+1),changes:{from:h.from,insert:_+e.lineBreak}}}}if(u.node.name=="Blockquote"&&f&&h.from){let m=s.lineAt(h.from-1),O=/>\s*$/.exec(m.text);if(O&&O.index==u.from){let _=e.changes([{from:m.from+O.index,to:m.to},{from:h.from+u.from,to:h.to}]);return{range:l.map(_),changes:_}}}let d=[];u.node.name=="OrderedList"&&rf(u.item,s,d);let p=u.item&&u.item.from]*/.exec(h.text)[0].length>=u.to)for(let m=0,O=c.length-1;m<=O;m++)g+=m==O&&!p?c[m].marker(s,1):c[m].blank(mh.from&&/\s/.test(h.text.charAt(v-h.from-1));)v--;return g=ym(g,e),yA(u.node,e.doc)&&(g=X0(c,e,h)+e.lineBreak+g),d.push({from:v,to:a,insert:e.lineBreak+g}),{range:T.cursor(v+g.length+1),changes:d}});return n?!1:(i(e.update(o,{scrollIntoView:!0,userEvent:"input"})),!0)},SA=vA();function Z0(t){return t.name=="QuoteMark"||t.name=="ListMark"}function yA(t,e){if(t.name!="OrderedList"&&t.name!="BulletList")return!1;let i=t.firstChild,r=t.getChild("ListItem","ListItem");if(!r)return!1;let s=e.lineAt(i.to),n=e.lineAt(r.from),o=/^[\s>]*$/.test(s.text);return s.number+(o?0:1){let i=Ie(t),r=null,s=t.changeByRange(n=>{let o=n.from,{doc:l}=t;if(n.empty&&hc.isActiveAt(t,n.from)){let a=l.lineAt(o),h=pb(wA(i,o),l);if(h.length){let c=h[h.length-1],u=c.to-c.spaceAfter.length+(c.spaceAfter?1:0);if(o-a.from>u&&!/\S/.test(a.text.slice(u,o-a.from)))return{range:T.cursor(a.from+u),changes:{from:a.from+u,to:o}};if(o-a.from==u&&(!c.item||a.from<=c.item.from||!/\S/.test(a.text.slice(0,c.to)))){let f=a.from+c.from;if(c.item&&c.node.from{var i;let{main:r}=e.state.selection;if(r.empty)return!1;let s=(i=t.clipboardData)===null||i===void 0?void 0:i.getData("text/plain");if(!s||!/^(https?:\/\/|mailto:|xmpp:|www\.)/.test(s)||(/^www\./.test(s)&&(s="https://"+s),!hc.isActiveAt(e.state,r.from,1)))return!1;let n=Ie(e.state),o=!1;return n.iterate({from:r.from,to:r.to,enter:l=>{(l.from>r.from||$A.test(l.name))&&(o=!0)},leave:l=>{l.to=r.from&&l.to<=r.to)){let f=l.to;a==="HeaderMark"&&t.state.sliceDoc(f,f+1)===" "&&(f+=1),s.push({from:l.from,to:f,deco:TA})}return}}});s.sort((n,o)=>{if(n.from!==o.from)return n.from-o.from;const l=n.from===n.to,a=o.from===o.to;return l!==a?l?-1:1:n.to-o.to});for(const n of s)e.add(n.from,n.to,n.deco);return e.finish()}const EA=Zs.fromClass(class{constructor(t){Rm(this,"decorations");this.decorations=I0(t)}update(t){(t.docChanged||t.viewportChanged||t.selectionSet)&&(this.decorations=I0(t.view))}},{decorations:t=>t.decorations}),RA=U.theme({"&":{height:"100%",backgroundColor:"transparent",color:"var(--text)",fontSize:"inherit",fontFamily:"inherit"},".cm-scroller":{fontFamily:"inherit",lineHeight:"1.45",padding:"0.6em 0.77em"},".cm-content":{caretColor:"var(--text)"},".cm-focused":{outline:"none"},".cm-line":{padding:0},".cm-cursor, .cm-dropCursor":{borderLeftColor:"var(--text)"},"&.cm-focused .cm-selectionBackground, .cm-selectionBackground, ::selection":{backgroundColor:"rgba(255,255,255,0.18)"},".cm-md-h1":{fontSize:"1.7em",fontWeight:"600",lineHeight:"1.2"},".cm-md-h2":{fontSize:"1.45em",fontWeight:"600",lineHeight:"1.25"},".cm-md-h3":{fontSize:"1.25em",fontWeight:"600"},".cm-md-h4":{fontSize:"1.1em",fontWeight:"600"},".cm-md-h5":{fontSize:"1.0em",fontWeight:"600"},".cm-md-h6":{fontSize:"0.95em",fontWeight:"600",opacity:"0.85"},".cm-md-strong":{fontWeight:"700"},".cm-md-em":{fontStyle:"italic"},".cm-md-strike":{textDecoration:"line-through",opacity:"0.7"},".cm-md-inline-code":{fontFamily:"ui-monospace, Menlo, monospace",background:"rgba(255,255,255,0.08)",padding:"0 4px",borderRadius:"3px",fontSize:"0.92em"}},{dark:!0});function AA(t,e,i){const r=q.useRef(null),s=q.useRef(i);s.current=i,q.useEffect(()=>{const n=t.current;if(!n)return;const o=new U({parent:n,state:ae.create({doc:e,extensions:[HQ(),Xc.of([...JT,...sT]),xA(),EA,RA,U.lineWrapping,U.updateListener.of(l=>{l.docChanged&&s.current(l.state.doc.toString())})]})});return r.current=o,()=>{o.destroy(),r.current=null}},[]),q.useEffect(()=>{const n=r.current;if(!n)return;const o=n.state.doc.toString();o!==e&&n.dispatch({changes:{from:0,to:o.length,insert:e}})},[e])}const MA=13;function LA({card:t,onUpdate:e,onClose:i,onFocus:r}){const s=Rc(),n=iy(t,l=>e(l)),o=q.useRef(null);return AA(o,t.text,l=>e({text:l})),H.jsxs("div",{className:"card note-card",onPointerDownCapture:r,style:{left:s.x+t.x*s.scale,top:s.y+t.y*s.scale,width:t.width*s.scale,height:t.height*s.scale,zIndex:t.z,fontSize:MA*s.scale,"--scale":s.scale},children:[H.jsx(sy,{title:t.title??"",placeholder:"Note",onTitleChange:l=>e({title:l}),onClose:i,dragProps:n}),H.jsx("div",{className:"card-body note-body",ref:o,onPointerDown:l=>l.stopPropagation()}),H.jsx(ry,{card:t,onUpdate:l=>e(l)})]})}/** * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved. * @license MIT * @@ -74,22 +74,22 @@ Error generating stack: `+n.message+` * Fabrice Bellard's javascript vt100 for jslinux: * http://bellard.org/jslinux/ * Copyright (c) 2011 Fabrice Bellard - */var pb=Object.defineProperty,MA=Object.getOwnPropertyDescriptor,LA=(t,e)=>{for(var i in e)pb(t,i,{get:e[i],enumerable:!0})},De=(t,e,i,r)=>{for(var s=r>1?void 0:r?MA(e,i):e,n=t.length-1,o;n>=0;n--)(o=t[n])&&(s=(r?o(e,i,s):o(s))||s);return r&&s&&pb(e,i,s),s},X=(t,e)=>(i,r)=>e(i,r,t),Z0="Terminal input",sp={get:()=>Z0,set:t=>Z0=t},X0="Too much output to announce, navigate to rows manually to read",np={get:()=>X0,set:t=>X0=t};function DA(t){return t.replace(/\r?\n/g,"\r")}function BA(t,e){return e?"\x1B[200~"+t+"\x1B[201~":t}function zA(t,e){t.clipboardData&&t.clipboardData.setData("text/plain",e.selectionText),t.preventDefault()}function ZA(t,e,i,r){if(t.stopPropagation(),t.clipboardData){let s=t.clipboardData.getData("text/plain");gb(s,e,i,r)}}function gb(t,e,i,r){t=DA(t),t=BA(t,i.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),i.triggerDataEvent(t,!0),e.value=""}function Ob(t,e,i){let r=i.getBoundingClientRect(),s=t.clientX-r.left-10,n=t.clientY-r.top-10;e.style.width="20px",e.style.height="20px",e.style.left=`${s}px`,e.style.top=`${n}px`,e.style.zIndex="1000",e.focus()}function I0(t,e,i,r,s){Ob(t,e,i),s&&r.rightClickSelect(t),e.value=r.selectionText,e.select()}function zr(t){return t>65535?(t-=65536,String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):String.fromCharCode(t)}function Yc(t,e=0,i=t.length){let r="";for(let s=e;s65535?(n-=65536,r+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):r+=String.fromCharCode(n)}return r}var XA=class{constructor(){this._interim=0}clear(){this._interim=0}decode(t,e){let i=t.length;if(!i)return 0;let r=0,s=0;if(this._interim){let n=t.charCodeAt(s++);56320<=n&&n<=57343?e[r++]=(this._interim-55296)*1024+n-56320+65536:(e[r++]=this._interim,e[r++]=n),this._interim=0}for(let n=s;n=i)return this._interim=o,r;let l=t.charCodeAt(n);56320<=l&&l<=57343?e[r++]=(o-55296)*1024+l-56320+65536:(e[r++]=o,e[r++]=l);continue}o!==65279&&(e[r++]=o)}return r}},IA=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(t,e){let i=t.length;if(!i)return 0;let r=0,s,n,o,l,a=0,h=0;if(this.interim[0]){let f=!1,d=this.interim[0];d&=(d&224)===192?31:(d&240)===224?15:7;let p=0,g;for(;(g=this.interim[++p]&63)&&p<4;)d<<=6,d|=g;let v=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,O=v-p;for(;h=i)return 0;if(g=t[h++],(g&192)!==128){h--,f=!0;break}else this.interim[p++]=g,d<<=6,d|=g&63}f||(v===2?d<128?h--:e[r++]=d:v===3?d<2048||d>=55296&&d<=57343||d===65279||(e[r++]=d):d<65536||d>1114111||(e[r++]=d)),this.interim.fill(0)}let c=i-4,u=h;for(;u=i)return this.interim[0]=s,r;if(n=t[u++],(n&192)!==128){u--;continue}if(a=(s&31)<<6|n&63,a<128){u--;continue}e[r++]=a}else if((s&240)===224){if(u>=i)return this.interim[0]=s,r;if(n=t[u++],(n&192)!==128){u--;continue}if(u>=i)return this.interim[0]=s,this.interim[1]=n,r;if(o=t[u++],(o&192)!==128){u--;continue}if(a=(s&15)<<12|(n&63)<<6|o&63,a<2048||a>=55296&&a<=57343||a===65279)continue;e[r++]=a}else if((s&248)===240){if(u>=i)return this.interim[0]=s,r;if(n=t[u++],(n&192)!==128){u--;continue}if(u>=i)return this.interim[0]=s,this.interim[1]=n,r;if(o=t[u++],(o&192)!==128){u--;continue}if(u>=i)return this.interim[0]=s,this.interim[1]=n,this.interim[2]=o,r;if(l=t[u++],(l&192)!==128){u--;continue}if(a=(s&7)<<18|(n&63)<<12|(o&63)<<6|l&63,a<65536||a>1114111)continue;e[r++]=a}}return r}},mb="",Vr=" ",Fl=class _b{constructor(){this.fg=0,this.bg=0,this.extended=new hc}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let e=new _b;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},hc=class vb{constructor(e=0,i=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=i}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new vb(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},gi=class Sb extends Fl{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new hc,this.combinedData=""}static fromCharData(e){let i=new Sb;return i.setFromCharData(e),i}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?zr(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let i=!1;if(e[1].length>2)i=!0;else if(e[1].length===2){let r=e[1].charCodeAt(0);if(55296<=r&&r<=56319){let s=e[1].charCodeAt(1);56320<=s&&s<=57343?this.content=(r-55296)*1024+s-56320+65536|e[2]<<22:i=!0}else i=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;i&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},W0="di$target",op="di$dependencies",sf=new Map;function WA(t){return t[op]||[]}function ot(t){if(sf.has(t))return sf.get(t);let e=function(i,r,s){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");NA(e,i,s)};return e._id=t,sf.set(t,e),e}function NA(t,e,i){e[W0]===e?e[op].push({id:t,index:i}):(e[op]=[{id:t,index:i}],e[W0]=e)}var Rt=ot("BufferService"),yb=ot("CoreMouseService"),js=ot("CoreService"),jA=ot("CharsetService"),vO=ot("InstantiationService"),wb=ot("LogService"),At=ot("OptionsService"),kb=ot("OscLinkService"),VA=ot("UnicodeService"),Hl=ot("DecorationService"),lp=class{constructor(t,e,i){this._bufferService=t,this._optionsService=e,this._oscLinkService=i}provideLinks(t,e){var c;let i=this._bufferService.buffer.lines.get(t-1);if(!i){e(void 0);return}let r=[],s=this._optionsService.rawOptions.linkHandler,n=new gi,o=i.getTrimmedLength(),l=-1,a=-1,h=!1;for(let u=0;us?s.activate(g,v,d):YA(g,v),hover:(g,v)=>{var O;return(O=s==null?void 0:s.hover)==null?void 0:O.call(s,g,v,d)},leave:(g,v)=>{var O;return(O=s==null?void 0:s.leave)==null?void 0:O.call(s,g,v,d)}})}h=!1,n.hasExtendedAttrs()&&n.extended.urlId?(a=u,l=n.extended.urlId):(a=-1,l=-1)}}e(r)}};lp=De([X(0,Rt),X(1,At),X(2,kb)],lp);function YA(t,e){if(confirm(`Do you want to navigate to ${e}? + */var Ob=Object.defineProperty,DA=Object.getOwnPropertyDescriptor,BA=(t,e)=>{for(var i in e)Ob(t,i,{get:e[i],enumerable:!0})},De=(t,e,i,r)=>{for(var s=r>1?void 0:r?DA(e,i):e,n=t.length-1,o;n>=0;n--)(o=t[n])&&(s=(r?o(e,i,s):o(s))||s);return r&&s&&Ob(e,i,s),s},N=(t,e)=>(i,r)=>e(i,r,t),N0="Terminal input",lp={get:()=>N0,set:t=>N0=t},W0="Too much output to announce, navigate to rows manually to read",ap={get:()=>W0,set:t=>W0=t};function zA(t){return t.replace(/\r?\n/g,"\r")}function ZA(t,e){return e?"\x1B[200~"+t+"\x1B[201~":t}function XA(t,e){t.clipboardData&&t.clipboardData.setData("text/plain",e.selectionText),t.preventDefault()}function IA(t,e,i,r){if(t.stopPropagation(),t.clipboardData){let s=t.clipboardData.getData("text/plain");_b(s,e,i,r)}}function _b(t,e,i,r){t=zA(t),t=ZA(t,i.decPrivateModes.bracketedPasteMode&&r.rawOptions.ignoreBracketedPasteMode!==!0),i.triggerDataEvent(t,!0),e.value=""}function vb(t,e,i){let r=i.getBoundingClientRect(),s=t.clientX-r.left-10,n=t.clientY-r.top-10;e.style.width="20px",e.style.height="20px",e.style.left=`${s}px`,e.style.top=`${n}px`,e.style.zIndex="1000",e.focus()}function j0(t,e,i,r,s){vb(t,e,i),s&&r.rightClickSelect(t),e.value=r.selectionText,e.select()}function Xr(t){return t>65535?(t-=65536,String.fromCharCode((t>>10)+55296)+String.fromCharCode(t%1024+56320)):String.fromCharCode(t)}function qc(t,e=0,i=t.length){let r="";for(let s=e;s65535?(n-=65536,r+=String.fromCharCode((n>>10)+55296)+String.fromCharCode(n%1024+56320)):r+=String.fromCharCode(n)}return r}var NA=class{constructor(){this._interim=0}clear(){this._interim=0}decode(t,e){let i=t.length;if(!i)return 0;let r=0,s=0;if(this._interim){let n=t.charCodeAt(s++);56320<=n&&n<=57343?e[r++]=(this._interim-55296)*1024+n-56320+65536:(e[r++]=this._interim,e[r++]=n),this._interim=0}for(let n=s;n=i)return this._interim=o,r;let l=t.charCodeAt(n);56320<=l&&l<=57343?e[r++]=(o-55296)*1024+l-56320+65536:(e[r++]=o,e[r++]=l);continue}o!==65279&&(e[r++]=o)}return r}},WA=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(t,e){let i=t.length;if(!i)return 0;let r=0,s,n,o,l,a=0,h=0;if(this.interim[0]){let f=!1,d=this.interim[0];d&=(d&224)===192?31:(d&240)===224?15:7;let p=0,g;for(;(g=this.interim[++p]&63)&&p<4;)d<<=6,d|=g;let v=(this.interim[0]&224)===192?2:(this.interim[0]&240)===224?3:4,m=v-p;for(;h=i)return 0;if(g=t[h++],(g&192)!==128){h--,f=!0;break}else this.interim[p++]=g,d<<=6,d|=g&63}f||(v===2?d<128?h--:e[r++]=d:v===3?d<2048||d>=55296&&d<=57343||d===65279||(e[r++]=d):d<65536||d>1114111||(e[r++]=d)),this.interim.fill(0)}let c=i-4,u=h;for(;u=i)return this.interim[0]=s,r;if(n=t[u++],(n&192)!==128){u--;continue}if(a=(s&31)<<6|n&63,a<128){u--;continue}e[r++]=a}else if((s&240)===224){if(u>=i)return this.interim[0]=s,r;if(n=t[u++],(n&192)!==128){u--;continue}if(u>=i)return this.interim[0]=s,this.interim[1]=n,r;if(o=t[u++],(o&192)!==128){u--;continue}if(a=(s&15)<<12|(n&63)<<6|o&63,a<2048||a>=55296&&a<=57343||a===65279)continue;e[r++]=a}else if((s&248)===240){if(u>=i)return this.interim[0]=s,r;if(n=t[u++],(n&192)!==128){u--;continue}if(u>=i)return this.interim[0]=s,this.interim[1]=n,r;if(o=t[u++],(o&192)!==128){u--;continue}if(u>=i)return this.interim[0]=s,this.interim[1]=n,this.interim[2]=o,r;if(l=t[u++],(l&192)!==128){u--;continue}if(a=(s&7)<<18|(n&63)<<12|(o&63)<<6|l&63,a<65536||a>1114111)continue;e[r++]=a}}return r}},Sb="",qr=" ",Hl=class yb{constructor(){this.fg=0,this.bg=0,this.extended=new cc}static toColorRGB(e){return[e>>>16&255,e>>>8&255,e&255]}static fromColorRGB(e){return(e[0]&255)<<16|(e[1]&255)<<8|e[2]&255}clone(){let e=new yb;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return this.fg&67108864}isBold(){return this.fg&134217728}isUnderline(){return this.hasExtendedAttrs()&&this.extended.underlineStyle!==0?1:this.fg&268435456}isBlink(){return this.fg&536870912}isInvisible(){return this.fg&1073741824}isItalic(){return this.bg&67108864}isDim(){return this.bg&134217728}isStrikethrough(){return this.fg&2147483648}isProtected(){return this.bg&536870912}isOverline(){return this.bg&1073741824}getFgColorMode(){return this.fg&50331648}getBgColorMode(){return this.bg&50331648}isFgRGB(){return(this.fg&50331648)===50331648}isBgRGB(){return(this.bg&50331648)===50331648}isFgPalette(){return(this.fg&50331648)===16777216||(this.fg&50331648)===33554432}isBgPalette(){return(this.bg&50331648)===16777216||(this.bg&50331648)===33554432}isFgDefault(){return(this.fg&50331648)===0}isBgDefault(){return(this.bg&50331648)===0}isAttributeDefault(){return this.fg===0&&this.bg===0}getFgColor(){switch(this.fg&50331648){case 16777216:case 33554432:return this.fg&255;case 50331648:return this.fg&16777215;default:return-1}}getBgColor(){switch(this.bg&50331648){case 16777216:case 33554432:return this.bg&255;case 50331648:return this.bg&16777215;default:return-1}}hasExtendedAttrs(){return this.bg&268435456}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(this.bg&268435456&&~this.extended.underlineColor)switch(this.extended.underlineColor&50331648){case 16777216:case 33554432:return this.extended.underlineColor&255;case 50331648:return this.extended.underlineColor&16777215;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return this.bg&268435456&&~this.extended.underlineColor?this.extended.underlineColor&50331648:this.getFgColorMode()}isUnderlineColorRGB(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===50331648:this.isFgRGB()}isUnderlineColorPalette(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===16777216||(this.extended.underlineColor&50331648)===33554432:this.isFgPalette()}isUnderlineColorDefault(){return this.bg&268435456&&~this.extended.underlineColor?(this.extended.underlineColor&50331648)===0:this.isFgDefault()}getUnderlineStyle(){return this.fg&268435456?this.bg&268435456?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}},cc=class wb{constructor(e=0,i=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=i}get ext(){return this._urlId?this._ext&-469762049|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(this._ext&469762048)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return this._ext&67108863}set underlineColor(e){this._ext&=-67108864,this._ext|=e&67108863}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){let e=(this._ext&3758096384)>>29;return e<0?e^4294967288:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}clone(){return new wb(this._ext,this._urlId)}isEmpty(){return this.underlineStyle===0&&this._urlId===0}},Oi=class kb extends Hl{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new cc,this.combinedData=""}static fromCharData(e){let i=new kb;return i.setFromCharData(e),i}isCombined(){return this.content&2097152}getWidth(){return this.content>>22}getChars(){return this.content&2097152?this.combinedData:this.content&2097151?Xr(this.content&2097151):""}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):this.content&2097151}setFromCharData(e){this.fg=e[0],this.bg=0;let i=!1;if(e[1].length>2)i=!0;else if(e[1].length===2){let r=e[1].charCodeAt(0);if(55296<=r&&r<=56319){let s=e[1].charCodeAt(1);56320<=s&&s<=57343?this.content=(r-55296)*1024+s-56320+65536|e[2]<<22:i=!0}else i=!0}else this.content=e[1].charCodeAt(0)|e[2]<<22;i&&(this.combinedData=e[1],this.content=2097152|e[2]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}},V0="di$target",hp="di$dependencies",nf=new Map;function jA(t){return t[hp]||[]}function ot(t){if(nf.has(t))return nf.get(t);let e=function(i,r,s){if(arguments.length!==3)throw new Error("@IServiceName-decorator can only be used to decorate a parameter");VA(e,i,s)};return e._id=t,nf.set(t,e),e}function VA(t,e,i){e[V0]===e?e[hp].push({id:t,index:i}):(e[hp]=[{id:t,index:i}],e[V0]=e)}var Rt=ot("BufferService"),bb=ot("CoreMouseService"),Vs=ot("CoreService"),YA=ot("CharsetService"),wm=ot("InstantiationService"),xb=ot("LogService"),At=ot("OptionsService"),Cb=ot("OscLinkService"),qA=ot("UnicodeService"),Ul=ot("DecorationService"),cp=class{constructor(t,e,i){this._bufferService=t,this._optionsService=e,this._oscLinkService=i}provideLinks(t,e){var c;let i=this._bufferService.buffer.lines.get(t-1);if(!i){e(void 0);return}let r=[],s=this._optionsService.rawOptions.linkHandler,n=new Oi,o=i.getTrimmedLength(),l=-1,a=-1,h=!1;for(let u=0;us?s.activate(g,v,d):FA(g,v),hover:(g,v)=>{var m;return(m=s==null?void 0:s.hover)==null?void 0:m.call(s,g,v,d)},leave:(g,v)=>{var m;return(m=s==null?void 0:s.leave)==null?void 0:m.call(s,g,v,d)}})}h=!1,n.hasExtendedAttrs()&&n.extended.urlId?(a=u,l=n.extended.urlId):(a=-1,l=-1)}}e(r)}};cp=De([N(0,Rt),N(1,At),N(2,Cb)],cp);function FA(t,e){if(confirm(`Do you want to navigate to ${e}? -WARNING: This link could potentially be dangerous`)){let i=window.open();if(i){try{i.opener=null}catch{}i.location.href=e}else console.warn("Opening link blocked as opener could not be cleared")}}var qc=ot("CharSizeService"),xr=ot("CoreBrowserService"),SO=ot("MouseService"),Cr=ot("RenderService"),qA=ot("SelectionService"),bb=ot("CharacterJoinerService"),Gn=ot("ThemeService"),xb=ot("LinkProviderService"),FA=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?N0.isErrorNoTelemetry(t)?new N0(t.message+` +WARNING: This link could potentially be dangerous`)){let i=window.open();if(i){try{i.opener=null}catch{}i.location.href=e}else console.warn("Opening link blocked as opener could not be cleared")}}var Fc=ot("CharSizeService"),Pr=ot("CoreBrowserService"),km=ot("MouseService"),$r=ot("RenderService"),HA=ot("SelectionService"),Pb=ot("CharacterJoinerService"),Kn=ot("ThemeService"),$b=ot("LinkProviderService"),UA=class{constructor(){this.listeners=[],this.unexpectedErrorHandler=function(t){setTimeout(()=>{throw t.stack?Y0.isErrorNoTelemetry(t)?new Y0(t.message+` `+t.stack):new Error(t.message+` -`+t.stack):t},0)}}addListener(t){return this.listeners.push(t),()=>{this._removeListener(t)}}emit(t){this.listeners.forEach(e=>{e(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},HA=new FA;function lh(t){UA(t)||HA.onUnexpectedError(t)}var ap="Canceled";function UA(t){return t instanceof GA?!0:t instanceof Error&&t.name===ap&&t.message===ap}var GA=class extends Error{constructor(){super(ap),this.name=this.message}};function KA(t){return new Error(`Illegal argument: ${t}`)}var N0=class hp extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof hp)return e;let i=new hp;return i.message=e.message,i.stack=e.stack,i}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}},cp=class Cb extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Cb.prototype)}};function Yt(t,e=0){return t[t.length-(1+e)]}var JA;(t=>{function e(n){return n<0}t.isLessThan=e;function i(n){return n<=0}t.isLessThanOrEqual=i;function r(n){return n>0}t.isGreaterThan=r;function s(n){return n===0}t.isNeitherLessOrGreaterThan=s,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(JA||(JA={}));function eM(t,e){let i=this,r=!1,s;return function(){return r||(r=!0,e||(s=t.apply(i,arguments))),s}}var Pb;(t=>{function e(S){return S&&typeof S=="object"&&typeof S[Symbol.iterator]=="function"}t.is=e;let i=Object.freeze([]);function r(){return i}t.empty=r;function*s(S){yield S}t.single=s;function n(S){return e(S)?S:s(S)}t.wrap=n;function o(S){return S||i}t.from=o;function*l(S){for(let y=S.length-1;y>=0;y--)yield S[y]}t.reverse=l;function a(S){return!S||S[Symbol.iterator]().next().done===!0}t.isEmpty=a;function h(S){return S[Symbol.iterator]().next().value}t.first=h;function c(S,y){let k=0;for(let b of S)if(y(b,k++))return!0;return!1}t.some=c;function u(S,y){for(let k of S)if(y(k))return k}t.find=u;function*f(S,y){for(let k of S)y(k)&&(yield k)}t.filter=f;function*d(S,y){let k=0;for(let b of S)yield y(b,k++)}t.map=d;function*p(S,y){let k=0;for(let b of S)yield*y(b,k++)}t.flatMap=p;function*g(...S){for(let y of S)yield*y}t.concat=g;function v(S,y,k){let b=k;for(let Q of S)b=y(b,Q);return b}t.reduce=v;function*O(S,y,k=S.length){for(y<0&&(y+=S.length),k<0?k+=S.length:k>S.length&&(k=S.length);y1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function tM(...t){return Pe(()=>Xs(t))}function Pe(t){return{dispose:eM(()=>{t()})}}var $b=class Qb{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Xs(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Qb.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),void 0)}};$b.DISABLE_DISPOSED_WARNING=!1;var ts=$b,te=class{constructor(){this._store=new ts,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}};te.None=Object.freeze({dispose(){}});var jn=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(t){var e;this._isDisposed||t===this._value||((e=this._value)==null||e.dispose(),this._value=t)}clear(){this.value=void 0}dispose(){var t;this._isDisposed=!0,(t=this._value)==null||t.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t}},fr=typeof window=="object"?window:globalThis,up=class fp{constructor(e){this.element=e,this.next=fp.Undefined,this.prev=fp.Undefined}};up.Undefined=new up(void 0);var $e=up,j0=class{constructor(){this._first=$e.Undefined,this._last=$e.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===$e.Undefined}clear(){let t=this._first;for(;t!==$e.Undefined;){let e=t.next;t.prev=$e.Undefined,t.next=$e.Undefined,t=e}this._first=$e.Undefined,this._last=$e.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){let i=new $e(t);if(this._first===$e.Undefined)this._first=i,this._last=i;else if(e){let s=this._last;this._last=i,i.prev=s,s.next=i}else{let s=this._first;this._first=i,i.next=s,s.prev=i}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(i))}}shift(){if(this._first!==$e.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==$e.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==$e.Undefined&&t.next!==$e.Undefined){let e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===$e.Undefined&&t.next===$e.Undefined?(this._first=$e.Undefined,this._last=$e.Undefined):t.next===$e.Undefined?(this._last=this._last.prev,this._last.next=$e.Undefined):t.prev===$e.Undefined&&(this._first=this._first.next,this._first.prev=$e.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==$e.Undefined;)yield t.element,t=t.next}},iM=globalThis.performance&&typeof globalThis.performance.now=="function",rM=class Tb{static create(e){return new Tb(e)}constructor(e){this._now=iM&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},ut;(t=>{t.None=()=>te.None;function e($,C){return u($,()=>{},0,void 0,!0,void 0,C)}t.defer=e;function i($){return(C,R=null,A)=>{let Z=!1,q;return q=$(x=>{if(!Z)return q?q.dispose():Z=!0,C.call(R,x)},null,A),Z&&q.dispose(),q}}t.once=i;function r($,C,R){return h((A,Z=null,q)=>$(x=>A.call(Z,C(x)),null,q),R)}t.map=r;function s($,C,R){return h((A,Z=null,q)=>$(x=>{C(x),A.call(Z,x)},null,q),R)}t.forEach=s;function n($,C,R){return h((A,Z=null,q)=>$(x=>C(x)&&A.call(Z,x),null,q),R)}t.filter=n;function o($){return $}t.signal=o;function l(...$){return(C,R=null,A)=>{let Z=tM(...$.map(q=>q(x=>C.call(R,x))));return c(Z,A)}}t.any=l;function a($,C,R,A){let Z=R;return r($,q=>(Z=C(Z,q),Z),A)}t.reduce=a;function h($,C){let R,A={onWillAddFirstListener(){R=$(Z.fire,Z)},onDidRemoveLastListener(){R==null||R.dispose()}},Z=new L(A);return C==null||C.add(Z),Z.event}function c($,C){return C instanceof Array?C.push($):C&&C.add($),$}function u($,C,R=100,A=!1,Z=!1,q,x){let z,V,K,J=0,ge,he={leakWarningThreshold:q,onWillAddFirstListener(){z=$(ye=>{J++,V=C(V,ye),A&&!K&&(Be.fire(V),V=void 0),ge=()=>{let kt=V;V=void 0,K=void 0,(!A||J>1)&&Be.fire(kt),J=0},typeof R=="number"?(clearTimeout(K),K=setTimeout(ge,R)):K===void 0&&(K=0,queueMicrotask(ge))})},onWillRemoveListener(){Z&&J>0&&(ge==null||ge())},onDidRemoveLastListener(){ge=void 0,z.dispose()}},Be=new L(he);return x==null||x.add(Be),Be.event}t.debounce=u;function f($,C=0,R){return t.debounce($,(A,Z)=>A?(A.push(Z),A):[Z],C,void 0,!0,void 0,R)}t.accumulate=f;function d($,C=(A,Z)=>A===Z,R){let A=!0,Z;return n($,q=>{let x=A||!C(q,Z);return A=!1,Z=q,x},R)}t.latch=d;function p($,C,R){return[t.filter($,C,R),t.filter($,A=>!C(A),R)]}t.split=p;function g($,C=!1,R=[],A){let Z=R.slice(),q=$(V=>{Z?Z.push(V):z.fire(V)});A&&A.add(q);let x=()=>{Z==null||Z.forEach(V=>z.fire(V)),Z=null},z=new L({onWillAddFirstListener(){q||(q=$(V=>z.fire(V)),A&&A.add(q))},onDidAddFirstListener(){Z&&(C?setTimeout(x):x())},onDidRemoveLastListener(){q&&q.dispose(),q=null}});return A&&A.add(z),z.event}t.buffer=g;function v($,C){return(R,A,Z)=>{let q=C(new m);return $(function(x){let z=q.evaluate(x);z!==O&&R.call(A,z)},void 0,Z)}}t.chain=v;let O=Symbol("HaltChainable");class m{constructor(){this.steps=[]}map(C){return this.steps.push(C),this}forEach(C){return this.steps.push(R=>(C(R),R)),this}filter(C){return this.steps.push(R=>C(R)?R:O),this}reduce(C,R){let A=R;return this.steps.push(Z=>(A=C(A,Z),A)),this}latch(C=(R,A)=>R===A){let R=!0,A;return this.steps.push(Z=>{let q=R||!C(Z,A);return R=!1,A=Z,q?Z:O}),this}evaluate(C){for(let R of this.steps)if(C=R(C),C===O)break;return C}}function _($,C,R=A=>A){let A=(...z)=>x.fire(R(...z)),Z=()=>$.on(C,A),q=()=>$.removeListener(C,A),x=new L({onWillAddFirstListener:Z,onDidRemoveLastListener:q});return x.event}t.fromNodeEventEmitter=_;function S($,C,R=A=>A){let A=(...z)=>x.fire(R(...z)),Z=()=>$.addEventListener(C,A),q=()=>$.removeEventListener(C,A),x=new L({onWillAddFirstListener:Z,onDidRemoveLastListener:q});return x.event}t.fromDOMEventEmitter=S;function y($){return new Promise(C=>i($)(C))}t.toPromise=y;function k($){let C=new L;return $.then(R=>{C.fire(R)},()=>{C.fire(void 0)}).finally(()=>{C.dispose()}),C.event}t.fromPromise=k;function b($,C){return $(R=>C.fire(R))}t.forward=b;function Q($,C,R){return C(R),$(A=>C(A))}t.runAndSubscribe=Q;class j{constructor(C,R){this._observable=C,this._counter=0,this._hasChanged=!1;let A={onWillAddFirstListener:()=>{C.addObserver(this)},onDidRemoveLastListener:()=>{C.removeObserver(this)}};this.emitter=new L(A),R&&R.add(this.emitter)}beginUpdate(C){this._counter++}handlePossibleChange(C){}handleChange(C,R){this._hasChanged=!0}endUpdate(C){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function I($,C){return new j($,C).emitter.event}t.fromObservable=I;function B($){return(C,R,A)=>{let Z=0,q=!1,x={beginUpdate(){Z++},endUpdate(){Z--,Z===0&&($.reportChanges(),q&&(q=!1,C.call(R)))},handlePossibleChange(){},handleChange(){q=!0}};$.addObserver(x),$.reportChanges();let z={dispose(){$.removeObserver(x)}};return A instanceof ts?A.add(z):Array.isArray(A)&&A.push(z),z}}t.fromObservableLight=B})(ut||(ut={}));var dp=class pp{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${pp._idPool++}`,pp.all.add(this)}start(e){this._stopWatch=new rM,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};dp.all=new Set,dp._idPool=0;var sM=dp,nM=-1,Eb=class Rb{constructor(e,i,r=(Rb._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=i,this.name=r,this._warnCountdown=0}dispose(){var e;(e=this._stacks)==null||e.clear()}check(e,i){let r=this.threshold;if(r<=0||i{let n=this._stacks.get(e.value)||0;this._stacks.set(e.value,n-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,i=0;for(let[r,s]of this._stacks)(!e||i{this._removeListener(t)}}emit(t){this.listeners.forEach(e=>{e(t)})}_removeListener(t){this.listeners.splice(this.listeners.indexOf(t),1)}setUnexpectedErrorHandler(t){this.unexpectedErrorHandler=t}getUnexpectedErrorHandler(){return this.unexpectedErrorHandler}onUnexpectedError(t){this.unexpectedErrorHandler(t),this.emit(t)}onUnexpectedExternalError(t){this.unexpectedErrorHandler(t)}},GA=new UA;function ah(t){KA(t)||GA.onUnexpectedError(t)}var up="Canceled";function KA(t){return t instanceof JA?!0:t instanceof Error&&t.name===up&&t.message===up}var JA=class extends Error{constructor(){super(up),this.name=this.message}};function eM(t){return new Error(`Illegal argument: ${t}`)}var Y0=class fp extends Error{constructor(e){super(e),this.name="CodeExpectedError"}static fromError(e){if(e instanceof fp)return e;let i=new fp;return i.message=e.message,i.stack=e.stack,i}static isErrorNoTelemetry(e){return e.name==="CodeExpectedError"}},dp=class Qb extends Error{constructor(e){super(e||"An unexpected bug occurred."),Object.setPrototypeOf(this,Qb.prototype)}};function Yt(t,e=0){return t[t.length-(1+e)]}var tM;(t=>{function e(n){return n<0}t.isLessThan=e;function i(n){return n<=0}t.isLessThanOrEqual=i;function r(n){return n>0}t.isGreaterThan=r;function s(n){return n===0}t.isNeitherLessOrGreaterThan=s,t.greaterThan=1,t.lessThan=-1,t.neitherLessOrGreaterThan=0})(tM||(tM={}));function iM(t,e){let i=this,r=!1,s;return function(){return r||(r=!0,e||(s=t.apply(i,arguments))),s}}var Tb;(t=>{function e(w){return w&&typeof w=="object"&&typeof w[Symbol.iterator]=="function"}t.is=e;let i=Object.freeze([]);function r(){return i}t.empty=r;function*s(w){yield w}t.single=s;function n(w){return e(w)?w:s(w)}t.wrap=n;function o(w){return w||i}t.from=o;function*l(w){for(let b=w.length-1;b>=0;b--)yield w[b]}t.reverse=l;function a(w){return!w||w[Symbol.iterator]().next().done===!0}t.isEmpty=a;function h(w){return w[Symbol.iterator]().next().value}t.first=h;function c(w,b){let S=0;for(let k of w)if(b(k,S++))return!0;return!1}t.some=c;function u(w,b){for(let S of w)if(b(S))return S}t.find=u;function*f(w,b){for(let S of w)b(S)&&(yield S)}t.filter=f;function*d(w,b){let S=0;for(let k of w)yield b(k,S++)}t.map=d;function*p(w,b){let S=0;for(let k of w)yield*b(k,S++)}t.flatMap=p;function*g(...w){for(let b of w)yield*b}t.concat=g;function v(w,b,S){let k=S;for(let P of w)k=b(k,P);return k}t.reduce=v;function*m(w,b,S=w.length){for(b<0&&(b+=w.length),S<0?S+=w.length:S>w.length&&(S=w.length);b1)throw new AggregateError(e,"Encountered errors while disposing of store");return Array.isArray(t)?[]:t}else if(t)return t.dispose(),t}function rM(...t){return Pe(()=>Is(t))}function Pe(t){return{dispose:iM(()=>{t()})}}var Eb=class Rb{constructor(){this._toDispose=new Set,this._isDisposed=!1}dispose(){this._isDisposed||(this._isDisposed=!0,this.clear())}get isDisposed(){return this._isDisposed}clear(){if(this._toDispose.size!==0)try{Is(this._toDispose)}finally{this._toDispose.clear()}}add(e){if(!e)return e;if(e===this)throw new Error("Cannot register a disposable on itself!");return this._isDisposed?Rb.DISABLE_DISPOSED_WARNING||console.warn(new Error("Trying to add a disposable to a DisposableStore that has already been disposed of. The added object will be leaked!").stack):this._toDispose.add(e),e}delete(e){if(e){if(e===this)throw new Error("Cannot dispose a disposable on itself!");this._toDispose.delete(e),e.dispose()}}deleteAndLeak(e){e&&this._toDispose.has(e)&&(this._toDispose.delete(e),void 0)}};Eb.DISABLE_DISPOSED_WARNING=!1;var is=Eb,re=class{constructor(){this._store=new is,this._store}dispose(){this._store.dispose()}_register(t){if(t===this)throw new Error("Cannot register a disposable on itself!");return this._store.add(t)}};re.None=Object.freeze({dispose(){}});var Vn=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(t){var e;this._isDisposed||t===this._value||((e=this._value)==null||e.dispose(),this._value=t)}clear(){this.value=void 0}dispose(){var t;this._isDisposed=!0,(t=this._value)==null||t.dispose(),this._value=void 0}clearAndLeak(){let t=this._value;return this._value=void 0,t}},pr=typeof window=="object"?window:globalThis,pp=class gp{constructor(e){this.element=e,this.next=gp.Undefined,this.prev=gp.Undefined}};pp.Undefined=new pp(void 0);var $e=pp,q0=class{constructor(){this._first=$e.Undefined,this._last=$e.Undefined,this._size=0}get size(){return this._size}isEmpty(){return this._first===$e.Undefined}clear(){let t=this._first;for(;t!==$e.Undefined;){let e=t.next;t.prev=$e.Undefined,t.next=$e.Undefined,t=e}this._first=$e.Undefined,this._last=$e.Undefined,this._size=0}unshift(t){return this._insert(t,!1)}push(t){return this._insert(t,!0)}_insert(t,e){let i=new $e(t);if(this._first===$e.Undefined)this._first=i,this._last=i;else if(e){let s=this._last;this._last=i,i.prev=s,s.next=i}else{let s=this._first;this._first=i,i.next=s,s.prev=i}this._size+=1;let r=!1;return()=>{r||(r=!0,this._remove(i))}}shift(){if(this._first!==$e.Undefined){let t=this._first.element;return this._remove(this._first),t}}pop(){if(this._last!==$e.Undefined){let t=this._last.element;return this._remove(this._last),t}}_remove(t){if(t.prev!==$e.Undefined&&t.next!==$e.Undefined){let e=t.prev;e.next=t.next,t.next.prev=e}else t.prev===$e.Undefined&&t.next===$e.Undefined?(this._first=$e.Undefined,this._last=$e.Undefined):t.next===$e.Undefined?(this._last=this._last.prev,this._last.next=$e.Undefined):t.prev===$e.Undefined&&(this._first=this._first.next,this._first.prev=$e.Undefined);this._size-=1}*[Symbol.iterator](){let t=this._first;for(;t!==$e.Undefined;)yield t.element,t=t.next}},sM=globalThis.performance&&typeof globalThis.performance.now=="function",nM=class Ab{static create(e){return new Ab(e)}constructor(e){this._now=sM&&e===!1?Date.now:globalThis.performance.now.bind(globalThis.performance),this._startTime=this._now(),this._stopTime=-1}stop(){this._stopTime=this._now()}reset(){this._startTime=this._now(),this._stopTime=-1}elapsed(){return this._stopTime!==-1?this._stopTime-this._startTime:this._now()-this._startTime}},ut;(t=>{t.None=()=>re.None;function e($,C){return u($,()=>{},0,void 0,!0,void 0,C)}t.defer=e;function i($){return(C,R=null,A)=>{let I=!1,F;return F=$(x=>{if(!I)return F?F.dispose():I=!0,C.call(R,x)},null,A),I&&F.dispose(),F}}t.once=i;function r($,C,R){return h((A,I=null,F)=>$(x=>A.call(I,C(x)),null,F),R)}t.map=r;function s($,C,R){return h((A,I=null,F)=>$(x=>{C(x),A.call(I,x)},null,F),R)}t.forEach=s;function n($,C,R){return h((A,I=null,F)=>$(x=>C(x)&&A.call(I,x),null,F),R)}t.filter=n;function o($){return $}t.signal=o;function l(...$){return(C,R=null,A)=>{let I=rM(...$.map(F=>F(x=>C.call(R,x))));return c(I,A)}}t.any=l;function a($,C,R,A){let I=R;return r($,F=>(I=C(I,F),I),A)}t.reduce=a;function h($,C){let R,A={onWillAddFirstListener(){R=$(I.fire,I)},onDidRemoveLastListener(){R==null||R.dispose()}},I=new L(A);return C==null||C.add(I),I.event}function c($,C){return C instanceof Array?C.push($):C&&C.add($),$}function u($,C,R=100,A=!1,I=!1,F,x){let Z,V,ee,te=0,ge,ce={leakWarningThreshold:F,onWillAddFirstListener(){Z=$(ye=>{te++,V=C(V,ye),A&&!ee&&(Be.fire(V),V=void 0),ge=()=>{let kt=V;V=void 0,ee=void 0,(!A||te>1)&&Be.fire(kt),te=0},typeof R=="number"?(clearTimeout(ee),ee=setTimeout(ge,R)):ee===void 0&&(ee=0,queueMicrotask(ge))})},onWillRemoveListener(){I&&te>0&&(ge==null||ge())},onDidRemoveLastListener(){ge=void 0,Z.dispose()}},Be=new L(ce);return x==null||x.add(Be),Be.event}t.debounce=u;function f($,C=0,R){return t.debounce($,(A,I)=>A?(A.push(I),A):[I],C,void 0,!0,void 0,R)}t.accumulate=f;function d($,C=(A,I)=>A===I,R){let A=!0,I;return n($,F=>{let x=A||!C(F,I);return A=!1,I=F,x},R)}t.latch=d;function p($,C,R){return[t.filter($,C,R),t.filter($,A=>!C(A),R)]}t.split=p;function g($,C=!1,R=[],A){let I=R.slice(),F=$(V=>{I?I.push(V):Z.fire(V)});A&&A.add(F);let x=()=>{I==null||I.forEach(V=>Z.fire(V)),I=null},Z=new L({onWillAddFirstListener(){F||(F=$(V=>Z.fire(V)),A&&A.add(F))},onDidAddFirstListener(){I&&(C?setTimeout(x):x())},onDidRemoveLastListener(){F&&F.dispose(),F=null}});return A&&A.add(Z),Z.event}t.buffer=g;function v($,C){return(R,A,I)=>{let F=C(new O);return $(function(x){let Z=F.evaluate(x);Z!==m&&R.call(A,Z)},void 0,I)}}t.chain=v;let m=Symbol("HaltChainable");class O{constructor(){this.steps=[]}map(C){return this.steps.push(C),this}forEach(C){return this.steps.push(R=>(C(R),R)),this}filter(C){return this.steps.push(R=>C(R)?R:m),this}reduce(C,R){let A=R;return this.steps.push(I=>(A=C(A,I),A)),this}latch(C=(R,A)=>R===A){let R=!0,A;return this.steps.push(I=>{let F=R||!C(I,A);return R=!1,A=I,F?I:m}),this}evaluate(C){for(let R of this.steps)if(C=R(C),C===m)break;return C}}function _($,C,R=A=>A){let A=(...Z)=>x.fire(R(...Z)),I=()=>$.on(C,A),F=()=>$.removeListener(C,A),x=new L({onWillAddFirstListener:I,onDidRemoveLastListener:F});return x.event}t.fromNodeEventEmitter=_;function w($,C,R=A=>A){let A=(...Z)=>x.fire(R(...Z)),I=()=>$.addEventListener(C,A),F=()=>$.removeEventListener(C,A),x=new L({onWillAddFirstListener:I,onDidRemoveLastListener:F});return x.event}t.fromDOMEventEmitter=w;function b($){return new Promise(C=>i($)(C))}t.toPromise=b;function S($){let C=new L;return $.then(R=>{C.fire(R)},()=>{C.fire(void 0)}).finally(()=>{C.dispose()}),C.event}t.fromPromise=S;function k($,C){return $(R=>C.fire(R))}t.forward=k;function P($,C,R){return C(R),$(A=>C(A))}t.runAndSubscribe=P;class D{constructor(C,R){this._observable=C,this._counter=0,this._hasChanged=!1;let A={onWillAddFirstListener:()=>{C.addObserver(this)},onDidRemoveLastListener:()=>{C.removeObserver(this)}};this.emitter=new L(A),R&&R.add(this.emitter)}beginUpdate(C){this._counter++}handlePossibleChange(C){}handleChange(C,R){this._hasChanged=!0}endUpdate(C){this._counter--,this._counter===0&&(this._observable.reportChanges(),this._hasChanged&&(this._hasChanged=!1,this.emitter.fire(this._observable.get())))}}function B($,C){return new D($,C).emitter.event}t.fromObservable=B;function X($){return(C,R,A)=>{let I=0,F=!1,x={beginUpdate(){I++},endUpdate(){I--,I===0&&($.reportChanges(),F&&(F=!1,C.call(R)))},handlePossibleChange(){},handleChange(){F=!0}};$.addObserver(x),$.reportChanges();let Z={dispose(){$.removeObserver(x)}};return A instanceof is?A.add(Z):Array.isArray(A)&&A.push(Z),Z}}t.fromObservableLight=X})(ut||(ut={}));var mp=class Op{constructor(e){this.listenerCount=0,this.invocationCount=0,this.elapsedOverall=0,this.durations=[],this.name=`${e}_${Op._idPool++}`,Op.all.add(this)}start(e){this._stopWatch=new nM,this.listenerCount=e}stop(){if(this._stopWatch){let e=this._stopWatch.elapsed();this.durations.push(e),this.elapsedOverall+=e,this.invocationCount+=1,this._stopWatch=void 0}}};mp.all=new Set,mp._idPool=0;var oM=mp,lM=-1,Mb=class Lb{constructor(e,i,r=(Lb._idPool++).toString(16).padStart(3,"0")){this._errorHandler=e,this.threshold=i,this.name=r,this._warnCountdown=0}dispose(){var e;(e=this._stacks)==null||e.clear()}check(e,i){let r=this.threshold;if(r<=0||i{let n=this._stacks.get(e.value)||0;this._stacks.set(e.value,n-1)}}getMostFrequentStack(){if(!this._stacks)return;let e,i=0;for(let[r,s]of this._stacks)(!e||i{var o,l,a,h,c;if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let u=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(u);let f=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],d=new hM(`${u}. HINT: Stack shows most frequent listener (${f[1]}-times)`,f[0]);return(((o=this._options)==null?void 0:o.onListenerError)||lh)(d),te.None}if(this._disposed)return te.None;e&&(t=t.bind(e));let r=new nf(t),s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=lM.create(),s=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof nf?(this._deliveryQueue??(this._deliveryQueue=new dM),this._listeners=[this._listeners,r]):this._listeners.push(r):((a=(l=this._options)==null?void 0:l.onWillAddFirstListener)==null||a.call(l,this),this._listeners=r,(c=(h=this._options)==null?void 0:h.onDidAddFirstListener)==null||c.call(h,this)),this._size++;let n=Pe(()=>{s==null||s(),this._removeListener(r)});return i instanceof ts?i.add(n):Array.isArray(i)&&i.push(n),n}),this._event}_removeListener(t){var s,n,o,l;if((n=(s=this._options)==null?void 0:s.onWillRemoveListener)==null||n.call(s,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(l=(o=this._options)==null?void 0:o.onDidRemoveLastListener)==null||l.call(o,this),this._size=0;return}let e=this._listeners,i=e.indexOf(t);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,e[i]=void 0;let r=this._deliveryQueue.current===this;if(this._size*uM<=e.length){let a=0;for(let h=0;h0}},dM=class{constructor(){this.i=-1,this.end=0}enqueue(t,e,i){this.i=0,this.end=i,this.current=t,this.value=e}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},gp=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new L,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new L,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,i){if(this.getZoomLevel(i)===e)return;let r=this.getWindowId(i);this.mapWindowIdToZoomLevel.set(r,e),this._onDidChangeZoomLevel.fire(r)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,i){this.mapWindowIdToZoomFactor.set(this.getWindowId(i),e)}setFullscreen(e,i){if(this.isFullscreen(i)===e)return;let r=this.getWindowId(i);this.mapWindowIdToFullScreen.set(r,e),this._onDidChangeFullscreen.fire(r)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};gp.INSTANCE=new gp;var yO=gp;function pM(t,e,i){typeof e=="string"&&(e=t.matchMedia(e)),e.addEventListener("change",i)}yO.INSTANCE.onDidChangeZoomLevel;function gM(t){return yO.INSTANCE.getZoomFactor(t)}yO.INSTANCE.onDidChangeFullscreen;var Kn=typeof navigator=="object"?navigator.userAgent:"",Op=Kn.indexOf("Firefox")>=0,OM=Kn.indexOf("AppleWebKit")>=0,wO=Kn.indexOf("Chrome")>=0,mM=!wO&&Kn.indexOf("Safari")>=0;Kn.indexOf("Electron/")>=0;Kn.indexOf("Android")>=0;var of=!1;if(typeof fr.matchMedia=="function"){let t=fr.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=fr.matchMedia("(display-mode: fullscreen)");of=t.matches,pM(fr,t,({matches:i})=>{of&&e.matches||(of=i)})}var un="en",mp=!1,_p=!1,ah=!1,Mb=!1,Ma,hh=un,V0=un,_M,yi,Ts=globalThis,ht,Bv;typeof Ts.vscode<"u"&&typeof Ts.vscode.process<"u"?ht=Ts.vscode.process:typeof process<"u"&&typeof((Bv=process==null?void 0:process.versions)==null?void 0:Bv.node)=="string"&&(ht=process);var zv,vM=typeof((zv=ht==null?void 0:ht.versions)==null?void 0:zv.electron)=="string",SM=vM&&(ht==null?void 0:ht.type)==="renderer",Zv;if(typeof ht=="object"){mp=ht.platform==="win32",_p=ht.platform==="darwin",ah=ht.platform==="linux",ah&&ht.env.SNAP&&ht.env.SNAP_REVISION,ht.env.CI||ht.env.BUILD_ARTIFACTSTAGINGDIRECTORY,Ma=un,hh=un;let t=ht.env.VSCODE_NLS_CONFIG;if(t)try{let e=JSON.parse(t);Ma=e.userLocale,V0=e.osLocale,hh=e.resolvedLanguage||un,_M=(Zv=e.languagePack)==null?void 0:Zv.translationsConfigFile}catch{}Mb=!0}else typeof navigator=="object"&&!SM?(yi=navigator.userAgent,mp=yi.indexOf("Windows")>=0,_p=yi.indexOf("Macintosh")>=0,(yi.indexOf("Macintosh")>=0||yi.indexOf("iPad")>=0||yi.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,ah=yi.indexOf("Linux")>=0,(yi==null?void 0:yi.indexOf("Mobi"))>=0,hh=globalThis._VSCODE_NLS_LANGUAGE||un,Ma=navigator.language.toLowerCase(),V0=Ma):console.error("Unable to resolve platform.");var Lb=mp,tr=_p,yM=ah,Y0=Mb,ir=yi,Er=hh,wM;(t=>{function e(){return Er}t.value=e;function i(){return Er.length===2?Er==="en":Er.length>=3?Er[0]==="e"&&Er[1]==="n"&&Er[2]==="-":!1}t.isDefaultVariant=i;function r(){return Er==="en"}t.isDefault=r})(wM||(wM={}));var kM=typeof Ts.postMessage=="function"&&!Ts.importScripts;(()=>{if(kM){let t=[];Ts.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let r=0,s=t.length;r{let r=++e;t.push({id:r,callback:i}),Ts.postMessage({vscodeScheduleAsyncWork:r},"*")}}return t=>setTimeout(t)})();var bM=!!(ir&&ir.indexOf("Chrome")>=0);ir&&ir.indexOf("Firefox")>=0;!bM&&ir&&ir.indexOf("Safari")>=0;ir&&ir.indexOf("Edg/")>=0;ir&&ir.indexOf("Android")>=0;var Ys=typeof navigator=="object"?navigator:{};Y0||document.queryCommandSupported&&document.queryCommandSupported("copy")||Ys&&Ys.clipboard&&Ys.clipboard.writeText,Y0||Ys&&Ys.clipboard&&Ys.clipboard.readText;var kO=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}},lf=new kO,q0=new kO,F0=new kO,xM=new Array(230),Db;(t=>{function e(l){return lf.keyCodeToStr(l)}t.toString=e;function i(l){return lf.strToKeyCode(l)}t.fromString=i;function r(l){return q0.keyCodeToStr(l)}t.toUserSettingsUS=r;function s(l){return F0.keyCodeToStr(l)}t.toUserSettingsGeneral=s;function n(l){return q0.strToKeyCode(l)||F0.strToKeyCode(l)}t.fromUserSettings=n;function o(l){if(l>=98&&l<=113)return null;switch(l){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return lf.keyCodeToStr(l)}t.toElectronAccelerator=o})(Db||(Db={}));var CM=class Bb{constructor(e,i,r,s,n){this.ctrlKey=e,this.shiftKey=i,this.altKey=r,this.metaKey=s,this.keyCode=n}equals(e){return e instanceof Bb&&this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode}getHashCode(){let e=this.ctrlKey?"1":"0",i=this.shiftKey?"1":"0",r=this.altKey?"1":"0",s=this.metaKey?"1":"0";return`K${e}${i}${r}${s}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new PM([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},PM=class{constructor(t){if(t.length===0)throw KA("chords");this.chords=t}getHashCode(){let t="";for(let e=0,i=this.chords.length;e{function e(i){return i===t.None||i===t.Cancelled||i instanceof DM?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}t.isCancellationToken=e,t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ut.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:zb})})(LM||(LM={}));var DM=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?zb:(this._emitter||(this._emitter=new L),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},bO=class{constructor(t,e){this._isDisposed=!1,this._token=-1,typeof t=="function"&&typeof e=="number"&&this.setIfNotSet(t,e)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,e){if(this._isDisposed)throw new cp("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,t()},e)}setIfNotSet(t,e){if(this._isDisposed)throw new cp("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,t()},e))}},BM=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){var t;(t=this.disposable)==null||t.dispose(),this.disposable=void 0}cancelAndSet(t,e,i=globalThis){if(this.isDisposed)throw new cp("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let r=i.setInterval(()=>{t()},e);this.disposable=Pe(()=>{i.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},zM;(t=>{async function e(r){let s,n=await Promise.all(r.map(o=>o.then(l=>l,l=>{s||(s=l)})));if(typeof s<"u")throw s;return n}t.settled=e;function i(r){return new Promise(async(s,n)=>{try{await r(s,n)}catch(o){n(o)}})}t.withAsyncBody=i})(zM||(zM={}));var K0=class ni{static fromArray(e){return new ni(i=>{i.emitMany(e)})}static fromPromise(e){return new ni(async i=>{i.emitMany(await e)})}static fromPromises(e){return new ni(async i=>{await Promise.all(e.map(async r=>i.emitOne(await r)))})}static merge(e){return new ni(async i=>{await Promise.all(e.map(async r=>{for await(let s of r)i.emitOne(s)}))})}constructor(e,i){this._state=0,this._results=[],this._error=null,this._onReturn=i,this._onStateChanged=new L,queueMicrotask(async()=>{let r={emitOne:s=>this.emitOne(s),emitMany:s=>this.emitMany(s),reject:s=>this.reject(s)};try{await Promise.resolve(e(r)),this.resolve()}catch(s){this.reject(s)}finally{r.emitOne=void 0,r.emitMany=void 0,r.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e{var i;return(i=this._onReturn)==null||i.call(this),{done:!0,value:void 0}}}}static map(e,i){return new ni(async r=>{for await(let s of e)r.emitOne(i(s))})}map(e){return ni.map(this,e)}static filter(e,i){return new ni(async r=>{for await(let s of e)i(s)&&r.emitOne(s)})}filter(e){return ni.filter(this,e)}static coalesce(e){return ni.filter(e,i=>!!i)}coalesce(){return ni.coalesce(this)}static async toPromise(e){let i=[];for await(let r of e)i.push(r);return i}toPromise(){return ni.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};K0.EMPTY=K0.fromArray([]);var{getWindow:Ui,getWindowId:ZM,onDidRegisterWindow:XM}=function(){let t=new Map,e={window:fr,disposables:new ts};t.set(fr.vscodeWindowId,e);let i=new L,r=new L,s=new L;function n(o,l){return(typeof o=="number"?t.get(o):void 0)??(l?e:void 0)}return{onDidRegisterWindow:i.event,onWillUnregisterWindow:s.event,onDidUnregisterWindow:r.event,registerWindow(o){if(t.has(o.vscodeWindowId))return te.None;let l=new ts,a={window:o,disposables:l.add(new ts)};return t.set(o.vscodeWindowId,a),l.add(Pe(()=>{t.delete(o.vscodeWindowId),r.fire(o)})),l.add(U(o,et.BEFORE_UNLOAD,()=>{s.fire(o)})),i.fire(a),l},getWindows(){return t.values()},getWindowsCount(){return t.size},getWindowId(o){return o.vscodeWindowId},hasWindow(o){return t.has(o)},getWindowById:n,getWindow(o){var h;let l=o;if((h=l==null?void 0:l.ownerDocument)!=null&&h.defaultView)return l.ownerDocument.defaultView.window;let a=o;return a!=null&&a.view?a.view.window:fr},getDocument(o){return Ui(o).document}}}(),IM=class{constructor(t,e,i,r){this._node=t,this._type=e,this._handler=i,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function U(t,e,i,r){return new IM(t,e,i,r)}var J0=function(t,e,i,r){return U(t,e,i,r)},xO,WM=class extends BM{constructor(t){super(),this.defaultTarget=t&&Ui(t)}cancelAndSet(t,e,i){return super.cancelAndSet(t,e,i??this.defaultTarget)}},ev=class{constructor(t,e=0){this._runner=t,this.priority=e,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){lh(t)}}static sort(t,e){return e.priority-t.priority}};(function(){let t=new Map,e=new Map,i=new Map,r=new Map,s=n=>{i.set(n,!1);let o=t.get(n)??[];for(e.set(n,o),t.set(n,[]),r.set(n,!0);o.length>0;)o.sort(ev.sort),o.shift().execute();r.set(n,!1)};xO=(n,o,l=0)=>{let a=ZM(n),h=new ev(o,l),c=t.get(a);return c||(c=[],t.set(a,c)),c.push(h),i.get(a)||(i.set(a,!0),n.requestAnimationFrame(()=>s(a))),h}})();function NM(t){let e=t.getBoundingClientRect(),i=Ui(t);return{left:e.left+i.scrollX,top:e.top+i.scrollY,width:e.width,height:e.height}}var et={CLICK:"click",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",BLUR:"blur",INPUT:"input"},jM=class{constructor(t){this.domNode=t,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(t){let e=Mt(t);this._maxWidth!==e&&(this._maxWidth=e,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){let e=Mt(t);this._width!==e&&(this._width=e,this.domNode.style.width=this._width)}setHeight(t){let e=Mt(t);this._height!==e&&(this._height=e,this.domNode.style.height=this._height)}setTop(t){let e=Mt(t);this._top!==e&&(this._top=e,this.domNode.style.top=this._top)}setLeft(t){let e=Mt(t);this._left!==e&&(this._left=e,this.domNode.style.left=this._left)}setBottom(t){let e=Mt(t);this._bottom!==e&&(this._bottom=e,this.domNode.style.bottom=this._bottom)}setRight(t){let e=Mt(t);this._right!==e&&(this._right=e,this.domNode.style.right=this._right)}setPaddingTop(t){let e=Mt(t);this._paddingTop!==e&&(this._paddingTop=e,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(t){let e=Mt(t);this._paddingLeft!==e&&(this._paddingLeft=e,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(t){let e=Mt(t);this._paddingBottom!==e&&(this._paddingBottom=e,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(t){let e=Mt(t);this._paddingRight!==e&&(this._paddingRight=e,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){let e=Mt(t);this._fontSize!==e&&(this._fontSize=e,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){let e=Mt(t);this._lineHeight!==e&&(this._lineHeight=e,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){let e=Mt(t);this._letterSpacing!==e&&(this._letterSpacing=e,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,e){this.domNode.classList.toggle(t,e),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,e){this.domNode.setAttribute(t,e)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}};function Mt(t){return typeof t=="number"?`${t}px`:t}function Go(t){return new jM(t)}var Zb=class{constructor(){this._hooks=new ts,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,e){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let i=this._onStopCallback;this._onStopCallback=null,t&&i&&i(e)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,e,i,r,s){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=s;let n=t;try{t.setPointerCapture(e),this._hooks.add(Pe(()=>{try{t.releasePointerCapture(e)}catch{}}))}catch{n=Ui(t)}this._hooks.add(U(n,et.POINTER_MOVE,o=>{if(o.buttons!==i){this.stopMonitoring(!0);return}o.preventDefault(),this._pointerMoveCallback(o)})),this._hooks.add(U(n,et.POINTER_UP,o=>this.stopMonitoring(!0)))}};function VM(t,e,i){let r=null,s=null;if(typeof i.value=="function"?(r="value",s=i.value,s.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof i.get=="function"&&(r="get",s=i.get),!s)throw new Error("not supported");let n=`$memoize$${e}`;i[r]=function(...o){return this.hasOwnProperty(n)||Object.defineProperty(this,n,{configurable:!1,enumerable:!1,writable:!1,value:s.apply(this,o)}),this[n]}}var Ii;(t=>(t.Tap="-xterm-gesturetap",t.Change="-xterm-gesturechange",t.Start="-xterm-gesturestart",t.End="-xterm-gesturesend",t.Contextmenu="-xterm-gesturecontextmenu"))(Ii||(Ii={}));var To=class Ot extends te{constructor(){super(),this.dispatched=!1,this.targets=new j0,this.ignoreTargets=new j0,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(ut.runAndSubscribe(XM,({window:e,disposables:i})=>{i.add(U(e.document,"touchstart",r=>this.onTouchStart(r),{passive:!1})),i.add(U(e.document,"touchend",r=>this.onTouchEnd(e,r))),i.add(U(e.document,"touchmove",r=>this.onTouchMove(r),{passive:!1}))},{window:fr,disposables:this._store}))}static addTarget(e){if(!Ot.isTouchDevice())return te.None;Ot.INSTANCE||(Ot.INSTANCE=new Ot);let i=Ot.INSTANCE.targets.push(e);return Pe(i)}static ignoreTarget(e){if(!Ot.isTouchDevice())return te.None;Ot.INSTANCE||(Ot.INSTANCE=new Ot);let i=Ot.INSTANCE.ignoreTargets.push(e);return Pe(i)}static isTouchDevice(){return"ontouchstart"in fr||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){let i=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let r=0,s=e.targetTouches.length;r=Ot.HOLD_DELAY&&Math.abs(a.initialPageX-Yt(a.rollingPageX))<30&&Math.abs(a.initialPageY-Yt(a.rollingPageY))<30){let c=this.newGestureEvent(Ii.Contextmenu,a.initialTarget);c.pageX=Yt(a.rollingPageX),c.pageY=Yt(a.rollingPageY),this.dispatchEvent(c)}else if(s===1){let c=Yt(a.rollingPageX),u=Yt(a.rollingPageY),f=Yt(a.rollingTimestamps)-a.rollingTimestamps[0],d=c-a.rollingPageX[0],p=u-a.rollingPageY[0],g=[...this.targets].filter(v=>a.initialTarget instanceof Node&&v.contains(a.initialTarget));this.inertia(e,g,r,Math.abs(d)/f,d>0?1:-1,c,Math.abs(p)/f,p>0?1:-1,u)}this.dispatchEvent(this.newGestureEvent(Ii.End,a.initialTarget)),delete this.activeTouches[l.identifier]}this.dispatched&&(i.preventDefault(),i.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,i){let r=document.createEvent("CustomEvent");return r.initEvent(e,!1,!0),r.initialTarget=i,r.tapCount=0,r}dispatchEvent(e){if(e.type===Ii.Tap){let i=new Date().getTime(),r=0;i-this._lastSetTapCountTime>Ot.CLEAR_TAP_COUNT_TIME?r=1:r=2,this._lastSetTapCountTime=i,e.tapCount=r}else(e.type===Ii.Change||e.type===Ii.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(let r of this.ignoreTargets)if(r.contains(e.initialTarget))return;let i=[];for(let r of this.targets)if(r.contains(e.initialTarget)){let s=0,n=e.initialTarget;for(;n&&n!==r;)s++,n=n.parentElement;i.push([s,r])}i.sort((r,s)=>r[0]-s[0]);for(let[r,s]of i)s.dispatchEvent(e),this.dispatched=!0}}inertia(e,i,r,s,n,o,l,a,h){this.handle=xO(e,()=>{let c=Date.now(),u=c-r,f=0,d=0,p=!0;s+=Ot.SCROLL_FRICTION*u,l+=Ot.SCROLL_FRICTION*u,s>0&&(p=!1,f=n*s*u),l>0&&(p=!1,d=a*l*u);let g=this.newGestureEvent(Ii.Change);g.translationX=f,g.translationY=d,i.forEach(v=>v.dispatchEvent(g)),p||this.inertia(e,i,c,s,n,o+f,l,a,h+d)})}onTouchMove(e){let i=Date.now();for(let r=0,s=e.changedTouches.length;r3&&(o.rollingPageX.shift(),o.rollingPageY.shift(),o.rollingTimestamps.shift()),o.rollingPageX.push(n.pageX),o.rollingPageY.push(n.pageY),o.rollingTimestamps.push(i)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}};To.SCROLL_FRICTION=-.005,To.HOLD_DELAY=700,To.CLEAR_TAP_COUNT_TIME=400,De([VM],To,"isTouchDevice",1);var YM=To,CO=class extends te{onclick(t,e){this._register(U(t,et.CLICK,i=>e(new La(Ui(t),i))))}onmousedown(t,e){this._register(U(t,et.MOUSE_DOWN,i=>e(new La(Ui(t),i))))}onmouseover(t,e){this._register(U(t,et.MOUSE_OVER,i=>e(new La(Ui(t),i))))}onmouseleave(t,e){this._register(U(t,et.MOUSE_LEAVE,i=>e(new La(Ui(t),i))))}onkeydown(t,e){this._register(U(t,et.KEY_DOWN,i=>e(new H0(i))))}onkeyup(t,e){this._register(U(t,et.KEY_UP,i=>e(new H0(i))))}oninput(t,e){this._register(U(t,et.INPUT,e))}onblur(t,e){this._register(U(t,et.BLUR,e))}onfocus(t,e){this._register(U(t,et.FOCUS,e))}onchange(t,e){this._register(U(t,et.CHANGE,e))}ignoreGesture(t){return YM.ignoreTarget(t)}},tv=11,qM=class extends CO{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=t.bgWidth+"px",this.bgDomNode.style.height=t.bgHeight+"px",typeof t.top<"u"&&(this.bgDomNode.style.top="0px"),typeof t.left<"u"&&(this.bgDomNode.style.left="0px"),typeof t.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof t.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=t.className,this.domNode.style.position="absolute",this.domNode.style.width=tv+"px",this.domNode.style.height=tv+"px",typeof t.top<"u"&&(this.domNode.style.top=t.top+"px"),typeof t.left<"u"&&(this.domNode.style.left=t.left+"px"),typeof t.bottom<"u"&&(this.domNode.style.bottom=t.bottom+"px"),typeof t.right<"u"&&(this.domNode.style.right=t.right+"px"),this._pointerMoveMonitor=this._register(new Zb),this._register(J0(this.bgDomNode,et.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(J0(this.domNode,et.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new WM),this._pointerdownScheduleRepeatTimer=this._register(new bO)}_arrowPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Ui(t))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(e,200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),t.preventDefault()}},FM=class vp{constructor(e,i,r,s,n,o,l){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(i=i|0,r=r|0,s=s|0,n=n|0,o=o|0,l=l|0),this.rawScrollLeft=s,this.rawScrollTop=l,i<0&&(i=0),s+i>r&&(s=r-i),s<0&&(s=0),n<0&&(n=0),l+n>o&&(l=o-n),l<0&&(l=0),this.width=i,this.scrollWidth=r,this.scrollLeft=s,this.height=n,this.scrollHeight=o,this.scrollTop=l}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,i){return new vp(this._forceIntegerValues,typeof e.width<"u"?e.width:this.width,typeof e.scrollWidth<"u"?e.scrollWidth:this.scrollWidth,i?this.rawScrollLeft:this.scrollLeft,typeof e.height<"u"?e.height:this.height,typeof e.scrollHeight<"u"?e.scrollHeight:this.scrollHeight,i?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new vp(this._forceIntegerValues,this.width,this.scrollWidth,typeof e.scrollLeft<"u"?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof e.scrollTop<"u"?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,i){let r=this.width!==e.width,s=this.scrollWidth!==e.scrollWidth,n=this.scrollLeft!==e.scrollLeft,o=this.height!==e.height,l=this.scrollHeight!==e.scrollHeight,a=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:i,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:r,scrollWidthChanged:s,scrollLeftChanged:n,heightChanged:o,scrollHeightChanged:l,scrollTopChanged:a}}},HM=class extends te{constructor(t){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new L),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new FM(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,e){var r;let i=this._state.withScrollDimensions(t,e);this._setState(i,!!this._smoothScrolling),(r=this._smoothScrolling)==null||r.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){let e=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(e,!1)}setScrollPositionSmooth(t,e){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(t);if(this._smoothScrolling){t={scrollLeft:typeof t.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:typeof t.scrollTop>"u"?this._smoothScrolling.to.scrollTop:t.scrollTop};let i=this._state.withScrollPosition(t);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let r;e?r=new rv(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):r=this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{let i=this._state.withScrollPosition(t);this._smoothScrolling=rv.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let t=this._smoothScrolling.tick(),e=this._state.withScrollPosition(t);if(this._setState(e,!0),!!this._smoothScrolling){if(t.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(t,e){let i=this._state;i.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(i,e)))}},iv=class{constructor(t,e,i){this.scrollLeft=t,this.scrollTop=e,this.isDone=i}};function af(t,e){let i=e-t;return function(r){return t+i*KM(r)}}function UM(t,e,i){return function(r){return r2.5*r){let s,n;return e{var t;(t=this._domNode)==null||t.setClassName(this._visibleClassName)},0))}_hide(t){var e;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(e=this._domNode)==null||e.setClassName(this._invisibleClassName+(t?" fade":"")))}},eL=140,Xb=class extends CO{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new JM(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new Zb),this._shouldRender=!0,this.domNode=Go(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(U(this.domNode.domNode,et.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(t){let e=this._register(new qM(t));this.domNode.domNode.appendChild(e.bgDomNode),this.domNode.domNode.appendChild(e.domNode)}_createSlider(t,e,i,r){this.slider=Go(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(t),this.slider.setLeft(e),typeof i=="number"&&this.slider.setWidth(i),typeof r=="number"&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(U(this.slider.domNode,et.POINTER_DOWN,s=>{s.button===0&&(s.preventDefault(),this._sliderPointerDown(s))})),this.onclick(this.slider.domNode,s=>{s.leftButton&&s.stopPropagation()})}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){let e=this.domNode.domNode.getClientRects()[0].top,i=e+this._scrollbarState.getSliderPosition(),r=e+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),s=this._sliderPointerPosition(t);i<=s&&s<=r?t.button===0&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let e,i;if(t.target===this.domNode.domNode&&typeof t.offsetX=="number"&&typeof t.offsetY=="number")e=t.offsetX,i=t.offsetY;else{let s=NM(this.domNode.domNode);e=t.pageX-s.left,i=t.pageY-s.top}let r=this._pointerDownRelativePosition(e,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),t.button===0&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=this._sliderPointerPosition(t),i=this._sliderOrthogonalPointerPosition(t),r=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,s=>{let n=this._sliderOrthogonalPointerPosition(s),o=Math.abs(n-i);if(Lb&&o>eL){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let l=this._sliderPointerPosition(s)-e;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(l))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(t){let e={};this.writeScrollPosition(e,t),this._scrollable.setScrollPositionNow(e)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},Ib=class yp{constructor(e,i,r,s,n,o){this._scrollbarSize=Math.round(i),this._oppositeScrollbarSize=Math.round(r),this._arrowSize=Math.round(e),this._visibleSize=s,this._scrollSize=n,this._scrollPosition=o,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new yp(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let i=Math.round(e);return this._visibleSize!==i?(this._visibleSize=i,this._refreshComputedValues(),!0):!1}setScrollSize(e){let i=Math.round(e);return this._scrollSize!==i?(this._scrollSize=i,this._refreshComputedValues(),!0):!1}setScrollPosition(e){let i=Math.round(e);return this._scrollPosition!==i?(this._scrollPosition=i,this._refreshComputedValues(),!0):!1}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,i,r,s,n){let o=Math.max(0,r-e),l=Math.max(0,o-2*i),a=s>0&&s>r;if(!a)return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:0,computedSliderPosition:0};let h=Math.round(Math.max(20,Math.floor(r*l/s))),c=(l-h)/(s-r),u=n*c;return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(h),computedSliderRatio:c,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let e=yp._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let i=e-this._arrowSize-this._computedSliderSize/2;return Math.round(i/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let i=e-this._arrowSize,r=this._scrollPosition;return i0&&Math.abs(e.deltaY)>0)return 1;let r=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(r+=.25),i){let s=Math.abs(e.deltaX),n=Math.abs(e.deltaY),o=Math.abs(i.deltaX),l=Math.abs(i.deltaY),a=Math.max(Math.min(s,o),1),h=Math.max(Math.min(n,l),1),c=Math.max(s,o),u=Math.max(n,l);c%a===0&&u%h===0&&(r-=.5)}return Math.min(Math.max(r,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};wp.INSTANCE=new wp;var nL=wp,oL=class extends CO{constructor(t,e,i){super(),this._onScroll=this._register(new L),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new L),this.onWillScroll=this._onWillScroll.event,this._options=aL(e),this._scrollable=i,this._register(this._scrollable.onScroll(s=>{this._onWillScroll.fire(s),this._onDidScroll(s),this._onScroll.fire(s)}));let r={onMouseWheel:s=>this._onMouseWheel(s),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new iL(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new tL(this._scrollable,this._options,r)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(t),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=Go(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Go(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Go(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,s=>this._onMouseOver(s)),this.onmouseleave(this._listenOnDomNode,s=>this._onMouseLeave(s)),this._hideTimeout=this._register(new bO),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=Xs(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(t){this._verticalScrollbar.delegatePointerDown(t)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(t){this._scrollable.setScrollDimensions(t,!1)}updateClassName(t){this._options.className=t,tr&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(t){typeof t.handleMouseWheel<"u"&&(this._options.handleMouseWheel=t.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof t.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity),typeof t.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=t.fastScrollSensitivity),typeof t.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=t.scrollPredominantAxis),typeof t.horizontal<"u"&&(this._options.horizontal=t.horizontal),typeof t.vertical<"u"&&(this._options.vertical=t.vertical),typeof t.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=t.horizontalScrollbarSize),typeof t.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=t.verticalScrollbarSize),typeof t.scrollByPage<"u"&&(this._options.scrollByPage=t.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(t){this._revealOnScroll=t}delegateScrollFromMouseWheelEvent(t){this._onMouseWheel(new G0(t))}_setListeningToMouseWheel(t){if(this._mouseWheelToDispose.length>0!==t&&(this._mouseWheelToDispose=Xs(this._mouseWheelToDispose),t)){let e=i=>{this._onMouseWheel(new G0(i))};this._mouseWheelToDispose.push(U(this._listenOnDomNode,et.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(t){var s;if((s=t.browserEvent)!=null&&s.defaultPrevented)return;let e=nL.INSTANCE;e.acceptStandardWheelEvent(t);let i=!1;if(t.deltaY||t.deltaX){let n=t.deltaY*this._options.mouseWheelScrollSensitivity,o=t.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&o+n===0?o=n=0:Math.abs(n)>=Math.abs(o)?o=0:n=0),this._options.flipAxes&&([n,o]=[o,n]);let l=!tr&&t.browserEvent&&t.browserEvent.shiftKey;(this._options.scrollYToX||l)&&!o&&(o=n,n=0),t.browserEvent&&t.browserEvent.altKey&&(o=o*this._options.fastScrollSensitivity,n=n*this._options.fastScrollSensitivity);let a=this._scrollable.getFutureScrollPosition(),h={};if(n){let c=sv*n,u=a.scrollTop-(c<0?Math.floor(c):Math.ceil(c));this._verticalScrollbar.writeScrollPosition(h,u)}if(o){let c=sv*o,u=a.scrollLeft-(c<0?Math.floor(c):Math.ceil(c));this._horizontalScrollbar.writeScrollPosition(h,u)}h=this._scrollable.validateScrollPosition(h),(a.scrollLeft!==h.scrollLeft||a.scrollTop!==h.scrollTop)&&(this._options.mouseWheelSmoothScroll&&e.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(h):this._scrollable.setScrollPositionNow(h),i=!0)}let r=i;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(t.preventDefault(),t.stopPropagation())}_onDidScroll(t){this._shouldRender=this._horizontalScrollbar.onDidScroll(t)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(t)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let t=this._scrollable.getCurrentScrollPosition(),e=t.scrollTop>0,i=t.scrollLeft>0,r=i?" left":"",s=e?" top":"",n=i||e?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${s}`),this._topLeftShadowDomNode.setClassName(`shadow${n}${s}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(t){this._mouseIsOver=!1,this._hide()}_onMouseOver(t){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),rL)}},lL=class extends oL{constructor(t,e,i){super(t,e,i)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function aL(t){let e={lazyRender:typeof t.lazyRender<"u"?t.lazyRender:!1,className:typeof t.className<"u"?t.className:"",useShadows:typeof t.useShadows<"u"?t.useShadows:!0,handleMouseWheel:typeof t.handleMouseWheel<"u"?t.handleMouseWheel:!0,flipAxes:typeof t.flipAxes<"u"?t.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof t.consumeMouseWheelIfScrollbarIsNeeded<"u"?t.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof t.alwaysConsumeMouseWheel<"u"?t.alwaysConsumeMouseWheel:!1,scrollYToX:typeof t.scrollYToX<"u"?t.scrollYToX:!1,mouseWheelScrollSensitivity:typeof t.mouseWheelScrollSensitivity<"u"?t.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof t.fastScrollSensitivity<"u"?t.fastScrollSensitivity:5,scrollPredominantAxis:typeof t.scrollPredominantAxis<"u"?t.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof t.mouseWheelSmoothScroll<"u"?t.mouseWheelSmoothScroll:!0,arrowSize:typeof t.arrowSize<"u"?t.arrowSize:11,listenOnDomNode:typeof t.listenOnDomNode<"u"?t.listenOnDomNode:null,horizontal:typeof t.horizontal<"u"?t.horizontal:1,horizontalScrollbarSize:typeof t.horizontalScrollbarSize<"u"?t.horizontalScrollbarSize:10,horizontalSliderSize:typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:0,horizontalHasArrows:typeof t.horizontalHasArrows<"u"?t.horizontalHasArrows:!1,vertical:typeof t.vertical<"u"?t.vertical:1,verticalScrollbarSize:typeof t.verticalScrollbarSize<"u"?t.verticalScrollbarSize:10,verticalHasArrows:typeof t.verticalHasArrows<"u"?t.verticalHasArrows:!1,verticalSliderSize:typeof t.verticalSliderSize<"u"?t.verticalSliderSize:0,scrollByPage:typeof t.scrollByPage<"u"?t.scrollByPage:!1};return e.horizontalSliderSize=typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:e.horizontalScrollbarSize,e.verticalSliderSize=typeof t.verticalSliderSize<"u"?t.verticalSliderSize:e.verticalScrollbarSize,tr&&(e.className+=" mac"),e}var kp=class extends te{constructor(t,e,i,r,s,n,o,l){super(),this._bufferService=i,this._optionsService=o,this._renderService=l,this._onRequestScrollLines=this._register(new L),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let a=this._register(new HM({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:h=>xO(r.window,h)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{a.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new lL(e,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},a)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(s.onProtocolChange(h=>{this._scrollableElement.updateOptions({handleMouseWheel:!(h&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(ut.runAndSubscribe(n.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=n.colors.background.css})),t.appendChild(this._scrollableElement.getDomNode()),this._register(Pe(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement("style"),e.appendChild(this._styleElement),this._register(Pe(()=>this._styleElement.remove())),this._register(ut.runAndSubscribe(n.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${n.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${n.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${n.colors.scrollbarSliderActiveBackground.css};`,"}"].join(` -`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(h=>this._handleScroll(h)))}scrollLines(t){let e=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:e.scrollTop+t*this._renderService.dimensions.css.cell.height})}scrollToLine(t,e){e&&(this._latestYDisp=t),this._scrollableElement.setScrollPosition({reuseAnimation:!e,scrollTop:t*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){var t;return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:((t=this._optionsService.rawOptions.overviewRuler)==null?void 0:t.width)||14}}queueSync(t){t!==void 0&&(this._latestYDisp=t),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(t=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,t!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:t*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(t){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let e=Math.round(t.scrollTop/this._renderService.dimensions.css.cell.height),i=e-this._bufferService.buffer.ydisp;i!==0&&(this._latestYDisp=e,this._onRequestScrollLines.fire(i)),this._isHandlingScroll=!1}};kp=De([X(2,Rt),X(3,xr),X(4,yb),X(5,Gn),X(6,At),X(7,Cr)],kp);var bp=class extends te{constructor(t,e,i,r,s){super(),this._screenElement=t,this._bufferService=e,this._coreBrowserService=i,this._decorationService=r,this._renderService=s,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(n=>this._removeDecoration(n))),this._register(Pe(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let t of this._decorationService.decorations)this._renderDecoration(t);this._dimensionsChanged=!1}_renderDecoration(t){this._refreshStyle(t),this._dimensionsChanged&&this._refreshXPosition(t)}_createElement(t){var r;let e=this._coreBrowserService.mainDocument.createElement("div");e.classList.add("xterm-decoration"),e.classList.toggle("xterm-decoration-top-layer",((r=t==null?void 0:t.options)==null?void 0:r.layer)==="top"),e.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,e.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,e.style.top=`${(t.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,e.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let i=t.options.x??0;return i&&i>this._bufferService.cols&&(e.style.display="none"),this._refreshXPosition(t,e),e}_refreshStyle(t){let e=t.marker.line-this._bufferService.buffers.active.ydisp;if(e<0||e>=this._bufferService.rows)t.element&&(t.element.style.display="none",t.onRenderEmitter.fire(t.element));else{let i=this._decorationElements.get(t);i||(i=this._createElement(t),t.element=i,this._decorationElements.set(t,i),this._container.appendChild(i),t.onDispose(()=>{this._decorationElements.delete(t),i.remove()})),i.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(i.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,i.style.top=`${e*this._renderService.dimensions.css.cell.height}px`,i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),t.onRenderEmitter.fire(i)}}_refreshXPosition(t,e=t.element){if(!e)return;let i=t.options.x??0;(t.options.anchor||"left")==="right"?e.style.right=i?`${i*this._renderService.dimensions.css.cell.width}px`:"":e.style.left=i?`${i*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(t){var e;(e=this._decorationElements.get(t))==null||e.remove(),this._decorationElements.delete(t),t.dispose()}};bp=De([X(1,Rt),X(2,xr),X(3,Hl),X(4,Cr)],bp);var hL=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(t){if(t.options.overviewRulerOptions){for(let e of this._zones)if(e.color===t.options.overviewRulerOptions.color&&e.position===t.options.overviewRulerOptions.position){if(this._lineIntersectsZone(e,t.marker.line))return;if(this._lineAdjacentToZone(e,t.marker.line,t.options.overviewRulerOptions.position)){this._addLineToZone(e,t.marker.line);return}}if(this._zonePoolIndex=t.startBufferLine&&e<=t.endBufferLine}_lineAdjacentToZone(t,e,i){return e>=t.startBufferLine-this._linePadding[i||"full"]&&e<=t.endBufferLine+this._linePadding[i||"full"]}_addLineToZone(t,e){t.startBufferLine=Math.min(t.startBufferLine,e),t.endBufferLine=Math.max(t.endBufferLine,e)}},zi={full:0,left:0,center:0,right:0},Rr={full:0,left:0,center:0,right:0},mo={full:0,left:0,center:0,right:0},cc=class extends te{constructor(t,e,i,r,s,n,o,l){var h;super(),this._viewportElement=t,this._screenElement=e,this._bufferService=i,this._decorationService=r,this._renderService=s,this._optionsService=n,this._themeService=o,this._coreBrowserService=l,this._colorZoneStore=new hL,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(h=this._viewportElement.parentElement)==null||h.insertBefore(this._canvas,this._viewportElement),this._register(Pe(()=>{var c;return(c=this._canvas)==null?void 0:c.remove()}));let a=this._canvas.getContext("2d");if(a)this._ctx=a;else throw new Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){var t;return((t=this._optionsService.options.overviewRuler)==null?void 0:t.width)||0}_refreshDrawConstants(){let t=Math.floor((this._canvas.width-1)/3),e=Math.ceil((this._canvas.width-1)/3);Rr.full=this._canvas.width,Rr.left=t,Rr.center=e,Rr.right=t,this._refreshDrawHeightConstants(),mo.full=1,mo.left=1,mo.center=1+Rr.left,mo.right=1+Rr.left+Rr.center}_refreshDrawHeightConstants(){zi.full=Math.round(2*this._coreBrowserService.dpr);let t=this._canvas.height/this._bufferService.buffer.lines.length,e=Math.round(Math.max(Math.min(t,12),6)*this._coreBrowserService.dpr);zi.left=e,zi.center=e,zi.right=e}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*zi.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*zi.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*zi.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*zi.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let t=this._colorZoneStore.zones;for(let e of t)e.position!=="full"&&this._renderColorZone(e);for(let e of t)e.position==="full"&&this._renderColorZone(e);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(t){this._ctx.fillStyle=t.color,this._ctx.fillRect(mo[t.position||"full"],Math.round((this._canvas.height-1)*(t.startBufferLine/this._bufferService.buffers.active.lines.length)-zi[t.position||"full"]/2),Rr[t.position||"full"],Math.round((this._canvas.height-1)*((t.endBufferLine-t.startBufferLine)/this._bufferService.buffers.active.lines.length)+zi[t.position||"full"]))}_queueRefresh(t,e){this._shouldUpdateDimensions=t||this._shouldUpdateDimensions,this._shouldUpdateAnchor=e||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};cc=De([X(2,Rt),X(3,Hl),X(4,Cr),X(5,At),X(6,Gn),X(7,xr)],cc);var P;(t=>(t.NUL="\0",t.SOH="",t.STX="",t.ETX="",t.EOT="",t.ENQ="",t.ACK="",t.BEL="\x07",t.BS="\b",t.HT=" ",t.LF=` -`,t.VT="\v",t.FF="\f",t.CR="\r",t.SO="",t.SI="",t.DLE="",t.DC1="",t.DC2="",t.DC3="",t.DC4="",t.NAK="",t.SYN="",t.ETB="",t.CAN="",t.EM="",t.SUB="",t.ESC="\x1B",t.FS="",t.GS="",t.RS="",t.US="",t.SP=" ",t.DEL=""))(P||(P={}));var ch;(t=>(t.PAD="€",t.HOP="",t.BPH="‚",t.NBH="ƒ",t.IND="„",t.NEL="…",t.SSA="†",t.ESA="‡",t.HTS="ˆ",t.HTJ="‰",t.VTS="Š",t.PLD="‹",t.PLU="Œ",t.RI="",t.SS2="Ž",t.SS3="",t.DCS="",t.PU1="‘",t.PU2="’",t.STS="“",t.CCH="”",t.MW="•",t.SPA="–",t.EPA="—",t.SOS="˜",t.SGCI="™",t.SCI="š",t.CSI="›",t.ST="œ",t.OSC="",t.PM="ž",t.APC="Ÿ"))(ch||(ch={}));var Wb;(t=>t.ST=`${P.ESC}\\`)(Wb||(Wb={}));var xp=class{constructor(t,e,i,r,s,n){this._textarea=t,this._compositionView=e,this._bufferService=i,this._optionsService=r,this._coreService=s,this._renderService=n,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(t){this._compositionView.textContent=t.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(t){if(this._isComposing||this._isSendingComposition){if(t.keyCode===20||t.keyCode===229||t.keyCode===16||t.keyCode===17||t.keyCode===18)return!1;this._finalizeComposition(!1)}return t.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(t){if(this._compositionView.classList.remove("active"),this._isComposing=!1,t){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let i;e.start+=this._dataAlreadySent.length,this._isComposing?i=this._textarea.value.substring(e.start,this._compositionPosition.start):i=this._textarea.value.substring(e.start),i.length>0&&this._coreService.triggerDataEvent(i,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let t=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let e=this._textarea.value,i=e.replace(t,"");this._dataAlreadySent=i,e.length>t.length?this._coreService.triggerDataEvent(i,!0):e.lengththis.updateCompositionElements(!0),0)}}};xp=De([X(2,Rt),X(3,At),X(4,js),X(5,Cr)],xp);var it=0,rt=0,st=0,Ae=0,nv={css:"#00000000",rgba:0},Ne;(t=>{function e(s,n,o,l){return l!==void 0?`#${ds(s)}${ds(n)}${ds(o)}${ds(l)}`:`#${ds(s)}${ds(n)}${ds(o)}`}t.toCss=e;function i(s,n,o,l=255){return(s<<24|n<<16|o<<8|l)>>>0}t.toRgba=i;function r(s,n,o,l){return{css:t.toCss(s,n,o,l),rgba:t.toRgba(s,n,o,l)}}t.toColor=r})(Ne||(Ne={}));var ke;(t=>{function e(a,h){if(Ae=(h.rgba&255)/255,Ae===1)return{css:h.css,rgba:h.rgba};let c=h.rgba>>24&255,u=h.rgba>>16&255,f=h.rgba>>8&255,d=a.rgba>>24&255,p=a.rgba>>16&255,g=a.rgba>>8&255;it=d+Math.round((c-d)*Ae),rt=p+Math.round((u-p)*Ae),st=g+Math.round((f-g)*Ae);let v=Ne.toCss(it,rt,st),O=Ne.toRgba(it,rt,st);return{css:v,rgba:O}}t.blend=e;function i(a){return(a.rgba&255)===255}t.isOpaque=i;function r(a,h,c){let u=uh.ensureContrastRatio(a.rgba,h.rgba,c);if(u)return Ne.toColor(u>>24&255,u>>16&255,u>>8&255)}t.ensureContrastRatio=r;function s(a){let h=(a.rgba|255)>>>0;return[it,rt,st]=uh.toChannels(h),{css:Ne.toCss(it,rt,st),rgba:h}}t.opaque=s;function n(a,h){return Ae=Math.round(h*255),[it,rt,st]=uh.toChannels(a.rgba),{css:Ne.toCss(it,rt,st,Ae),rgba:Ne.toRgba(it,rt,st,Ae)}}t.opacity=n;function o(a,h){return Ae=a.rgba&255,n(a,Ae*h/255)}t.multiplyOpacity=o;function l(a){return[a.rgba>>24&255,a.rgba>>16&255,a.rgba>>8&255]}t.toColorRGB=l})(ke||(ke={}));var Qe;(t=>{let e,i;try{let s=document.createElement("canvas");s.width=1,s.height=1;let n=s.getContext("2d",{willReadFrequently:!0});n&&(e=n,e.globalCompositeOperation="copy",i=e.createLinearGradient(0,0,1,1))}catch{}function r(s){if(s.match(/#[\da-f]{3,8}/i))switch(s.length){case 4:return it=parseInt(s.slice(1,2).repeat(2),16),rt=parseInt(s.slice(2,3).repeat(2),16),st=parseInt(s.slice(3,4).repeat(2),16),Ne.toColor(it,rt,st);case 5:return it=parseInt(s.slice(1,2).repeat(2),16),rt=parseInt(s.slice(2,3).repeat(2),16),st=parseInt(s.slice(3,4).repeat(2),16),Ae=parseInt(s.slice(4,5).repeat(2),16),Ne.toColor(it,rt,st,Ae);case 7:return{css:s,rgba:(parseInt(s.slice(1),16)<<8|255)>>>0};case 9:return{css:s,rgba:parseInt(s.slice(1),16)>>>0}}let n=s.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(n)return it=parseInt(n[1]),rt=parseInt(n[2]),st=parseInt(n[3]),Ae=Math.round((n[5]===void 0?1:parseFloat(n[5]))*255),Ne.toColor(it,rt,st,Ae);if(!e||!i)throw new Error("css.toColor: Unsupported css format");if(e.fillStyle=i,e.fillStyle=s,typeof e.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(e.fillRect(0,0,1,1),[it,rt,st,Ae]=e.getImageData(0,0,1,1).data,Ae!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:Ne.toRgba(it,rt,st,Ae),css:s}}t.toColor=r})(Qe||(Qe={}));var bt;(t=>{function e(r){return i(r>>16&255,r>>8&255,r&255)}t.relativeLuminance=e;function i(r,s,n){let o=r/255,l=s/255,a=n/255,h=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),c=l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4),u=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4);return h*.2126+c*.7152+u*.0722}t.relativeLuminance2=i})(bt||(bt={}));var uh;(t=>{function e(o,l){if(Ae=(l&255)/255,Ae===1)return l;let a=l>>24&255,h=l>>16&255,c=l>>8&255,u=o>>24&255,f=o>>16&255,d=o>>8&255;return it=u+Math.round((a-u)*Ae),rt=f+Math.round((h-f)*Ae),st=d+Math.round((c-d)*Ae),Ne.toRgba(it,rt,st)}t.blend=e;function i(o,l,a){let h=bt.relativeLuminance(o>>8),c=bt.relativeLuminance(l>>8);if(sr(h,c)>8));if(p>8));return p>v?d:g}return d}let u=s(o,l,a),f=sr(h,bt.relativeLuminance(u>>8));if(f>8));return f>p?u:d}return u}}t.ensureContrastRatio=i;function r(o,l,a){let h=o>>24&255,c=o>>16&255,u=o>>8&255,f=l>>24&255,d=l>>16&255,p=l>>8&255,g=sr(bt.relativeLuminance2(f,d,p),bt.relativeLuminance2(h,c,u));for(;g0||d>0||p>0);)f-=Math.max(0,Math.ceil(f*.1)),d-=Math.max(0,Math.ceil(d*.1)),p-=Math.max(0,Math.ceil(p*.1)),g=sr(bt.relativeLuminance2(f,d,p),bt.relativeLuminance2(h,c,u));return(f<<24|d<<16|p<<8|255)>>>0}t.reduceLuminance=r;function s(o,l,a){let h=o>>24&255,c=o>>16&255,u=o>>8&255,f=l>>24&255,d=l>>16&255,p=l>>8&255,g=sr(bt.relativeLuminance2(f,d,p),bt.relativeLuminance2(h,c,u));for(;g>>0}t.increaseLuminance=s;function n(o){return[o>>24&255,o>>16&255,o>>8&255,o&255]}t.toChannels=n})(uh||(uh={}));function ds(t){let e=t.toString(16);return e.length<2?"0"+e:e}function sr(t,e){return t1){let c=this._getJoinedRanges(r,o,n,e,s);for(let u=0;u1){let h=this._getJoinedRanges(r,o,n,e,s);for(let c=0;c=I,q=C,x=this._workCell;if(f.length>0&&C===f[0][0]&&Z){let fe=f.shift(),Gc=this._isCellInSelection(fe[0],e);for(m=fe[0]+1;m=fe[1]),Z?(A=!0,x=new cL(this._workCell,t.translateToString(!0,fe[0],fe[1]),fe[1]-fe[0]),q=fe[1]-1,R=x.getWidth()):I=fe[1]}let z=this._isCellInSelection(C,e),V=i&&C===n,K=$&&C>=h&&C<=c,J=!1;this._decorationService.forEachDecorationAtCell(C,e,void 0,fe=>{J=!0});let ge=x.getChars()||Vr;if(ge===" "&&(x.isUnderline()||x.isOverline())&&(ge=" "),j=R*l-a.get(ge,x.isBold(),x.isItalic()),!g)g=this._document.createElement("span");else if(v&&(z&&Q||!z&&!Q&&x.bg===_)&&(z&&Q&&d.selectionForeground||x.fg===S)&&x.extended.ext===y&&K===k&&j===b&&!V&&!A&&!J&&Z){x.isInvisible()?O+=Vr:O+=ge,v++;continue}else v&&(g.textContent=O),g=this._document.createElement("span"),v=0,O="";if(_=x.bg,S=x.fg,y=x.extended.ext,k=K,b=j,Q=z,A&&n>=C&&n<=q&&(n=C),!this._coreService.isCursorHidden&&V&&this._coreService.isCursorInitialized){if(B.push("xterm-cursor"),this._coreBrowserService.isFocused)o&&B.push("xterm-cursor-blink"),B.push(r==="bar"?"xterm-cursor-bar":r==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(s)switch(s){case"outline":B.push("xterm-cursor-outline");break;case"block":B.push("xterm-cursor-block");break;case"bar":B.push("xterm-cursor-bar");break;case"underline":B.push("xterm-cursor-underline");break}}if(x.isBold()&&B.push("xterm-bold"),x.isItalic()&&B.push("xterm-italic"),x.isDim()&&B.push("xterm-dim"),x.isInvisible()?O=Vr:O=x.getChars()||Vr,x.isUnderline()&&(B.push(`xterm-underline-${x.extended.underlineStyle}`),O===" "&&(O=" "),!x.isUnderlineColorDefault()))if(x.isUnderlineColorRGB())g.style.textDecorationColor=`rgb(${Fl.toColorRGB(x.getUnderlineColor()).join(",")})`;else{let fe=x.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&x.isBold()&&fe<8&&(fe+=8),g.style.textDecorationColor=d.ansi[fe].css}x.isOverline()&&(B.push("xterm-overline"),O===" "&&(O=" ")),x.isStrikethrough()&&B.push("xterm-strikethrough"),K&&(g.style.textDecoration="underline");let he=x.getFgColor(),Be=x.getFgColorMode(),ye=x.getBgColor(),kt=x.getBgColorMode(),Uc=!!x.isInverse();if(Uc){let fe=he;he=ye,ye=fe;let Gc=Be;Be=kt,kt=Gc}let Pr,Kl,Jn=!1;this._decorationService.forEachDecorationAtCell(C,e,void 0,fe=>{fe.options.layer!=="top"&&Jn||(fe.backgroundColorRGB&&(kt=50331648,ye=fe.backgroundColorRGB.rgba>>8&16777215,Pr=fe.backgroundColorRGB),fe.foregroundColorRGB&&(Be=50331648,he=fe.foregroundColorRGB.rgba>>8&16777215,Kl=fe.foregroundColorRGB),Jn=fe.options.layer==="top")}),!Jn&&z&&(Pr=this._coreBrowserService.isFocused?d.selectionBackgroundOpaque:d.selectionInactiveBackgroundOpaque,ye=Pr.rgba>>8&16777215,kt=50331648,Jn=!0,d.selectionForeground&&(Be=50331648,he=d.selectionForeground.rgba>>8&16777215,Kl=d.selectionForeground)),Jn&&B.push("xterm-decoration-top");let $r;switch(kt){case 16777216:case 33554432:$r=d.ansi[ye],B.push(`xterm-bg-${ye}`);break;case 50331648:$r=Ne.toColor(ye>>16,ye>>8&255,ye&255),this._addStyle(g,`background-color:#${ov((ye>>>0).toString(16),"0",6)}`);break;case 0:default:Uc?($r=d.foreground,B.push("xterm-bg-257")):$r=d.background}switch(Pr||x.isDim()&&(Pr=ke.multiplyOpacity($r,.5)),Be){case 16777216:case 33554432:x.isBold()&&he<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(he+=8),this._applyMinimumContrast(g,$r,d.ansi[he],x,Pr,void 0)||B.push(`xterm-fg-${he}`);break;case 50331648:let fe=Ne.toColor(he>>16&255,he>>8&255,he&255);this._applyMinimumContrast(g,$r,fe,x,Pr,Kl)||this._addStyle(g,`color:#${ov(he.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(g,$r,d.foreground,x,Pr,Kl)||Uc&&B.push("xterm-fg-257")}B.length&&(g.className=B.join(" "),B.length=0),!V&&!A&&!J&&Z?v++:g.textContent=O,j!==this.defaultSpacing&&(g.style.letterSpacing=`${j}px`),u.push(g),C=q}return g&&v&&(g.textContent=O),u}_applyMinimumContrast(t,e,i,r,s,n){if(this._optionsService.rawOptions.minimumContrastRatio===1||dL(r.getCode()))return!1;let o=this._getContrastCache(r),l;if(!s&&!n&&(l=o.getColor(e.rgba,i.rgba)),l===void 0){let a=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);l=ke.ensureContrastRatio(s||e,n||i,a),o.setColor((s||e).rgba,(n||i).rgba,l??null)}return l?(this._addStyle(t,`color:${l.css}`),!0):!1}_getContrastCache(t){return t.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(t,e){t.setAttribute("style",`${t.getAttribute("style")||""}${e};`)}_isCellInSelection(t,e){let i=this._selectionStart,r=this._selectionEnd;return!i||!r?!1:this._columnSelectMode?i[0]<=r[0]?t>=i[0]&&e>=i[1]&&t=i[1]&&t>=r[0]&&e<=r[1]:e>i[1]&&e=i[0]&&t=i[0]}};Cp=De([X(1,bb),X(2,At),X(3,xr),X(4,js),X(5,Hl),X(6,Gn)],Cp);function ov(t,e,i){for(;t.length0&&(this._flat[r]=o),o}let s=t;e&&(s+="B"),i&&(s+="I");let n=this._holey.get(s);if(n===void 0){let o=0;e&&(o|=1),i&&(o|=2),n=this._measure(t,o),n>0&&this._holey.set(s,n)}return n}_measure(t,e){let i=this._measureElements[e];return i.textContent=t.repeat(32),i.offsetWidth/32}},OL=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(t,e,i,r=!1){if(this.selectionStart=e,this.selectionEnd=i,!e||!i||e[0]===i[0]&&e[1]===i[1]){this.clear();return}let s=t.buffers.active.ydisp,n=e[1]-s,o=i[1]-s,l=Math.max(n,0),a=Math.min(o,t.rows-1);if(l>=t.rows||a<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=n,this.viewportEndRow=o,this.viewportCappedStartRow=l,this.viewportCappedEndRow=a,this.startCol=e[0],this.endCol=i[0]}isCellSelected(t,e,i){return this.hasSelection?(i-=t.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?e>=this.startCol&&i>=this.viewportCappedStartRow&&e=this.viewportCappedStartRow&&e>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i=this.startCol&&e=this.startCol):!1}};function mL(){return new OL}var hf="xterm-dom-renderer-owner-",si="xterm-rows",Ba="xterm-fg-",lv="xterm-bg-",_o="xterm-focus",za="xterm-selection",_L=1,Pp=class extends te{constructor(t,e,i,r,s,n,o,l,a,h,c,u,f,d){super(),this._terminal=t,this._document=e,this._element=i,this._screenElement=r,this._viewportElement=s,this._helperContainer=n,this._linkifier2=o,this._charSizeService=a,this._optionsService=h,this._bufferService=c,this._coreService=u,this._coreBrowserService=f,this._themeService=d,this._terminalClass=_L++,this._rowElements=[],this._selectionRenderModel=mL(),this.onRequestRedraw=this._register(new L).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(si),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(za),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=pL(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(p=>this._injectCss(p))),this._injectCss(this._themeService.colors),this._rowFactory=l.createInstance(Cp,document),this._element.classList.add(hf+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(p=>this._handleLinkHover(p))),this._register(this._linkifier2.onHideLinkUnderline(p=>this._handleLinkLeave(p))),this._register(Pe(()=>{this._element.classList.remove(hf+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new gL(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let t=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*t,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*t),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/t),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/t),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let i of this._rowElements)i.style.width=`${this.dimensions.css.canvas.width}px`,i.style.height=`${this.dimensions.css.cell.height}px`,i.style.lineHeight=`${this.dimensions.css.cell.height}px`,i.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let e=`${this._terminalSelector} .${si} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=e,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(t){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let e=`${this._terminalSelector} .${si} { pointer-events: none; color: ${t.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;e+=`${this._terminalSelector} .${si} .xterm-dim { color: ${ke.multiplyOpacity(t.foreground,.5).css};}`,e+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let i=`blink_underline_${this._terminalClass}`,r=`blink_bar_${this._terminalClass}`,s=`blink_block_${this._terminalClass}`;e+=`@keyframes ${i} { 50% { border-bottom-style: hidden; }}`,e+=`@keyframes ${r} { 50% { box-shadow: none; }}`,e+=`@keyframes ${s} { 0% { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css}; } 50% { background-color: inherit; color: ${t.cursor.css}; }}`,e+=`${this._terminalSelector} .${si}.${_o} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${si}.${_o} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${si}.${_o} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${s} 1s step-end infinite;}${this._terminalSelector} .${si} .xterm-cursor.xterm-cursor-block { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css};}${this._terminalSelector} .${si} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${t.cursor.css} !important; color: ${t.cursorAccent.css} !important;}${this._terminalSelector} .${si} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${t.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${si} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${t.cursor.css} inset;}${this._terminalSelector} .${si} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${t.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,e+=`${this._terminalSelector} .${za} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${za} div { position: absolute; background-color: ${t.selectionBackgroundOpaque.css};}${this._terminalSelector} .${za} div { position: absolute; background-color: ${t.selectionInactiveBackgroundOpaque.css};}`;for(let[n,o]of t.ansi.entries())e+=`${this._terminalSelector} .${Ba}${n} { color: ${o.css}; }${this._terminalSelector} .${Ba}${n}.xterm-dim { color: ${ke.multiplyOpacity(o,.5).css}; }${this._terminalSelector} .${lv}${n} { background-color: ${o.css}; }`;e+=`${this._terminalSelector} .${Ba}257 { color: ${ke.opaque(t.background).css}; }${this._terminalSelector} .${Ba}257.xterm-dim { color: ${ke.multiplyOpacity(ke.opaque(t.background),.5).css}; }${this._terminalSelector} .${lv}257 { background-color: ${t.foreground.css}; }`,this._themeStyleElement.textContent=e}_setDefaultSpacing(){let t=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${t}px`,this._rowFactory.defaultSpacing=t}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(t,e){for(let i=this._rowElements.length;i<=e;i++){let r=this._document.createElement("div");this._rowContainer.appendChild(r),this._rowElements.push(r)}for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(t,e){this._refreshRowElements(t,e),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(_o),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(_o),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(t,e,i){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(t,e,i),this.renderRows(0,this._bufferService.rows-1),!t||!e||(this._selectionRenderModel.update(this._terminal,t,e,i),!this._selectionRenderModel.hasSelection))return;let r=this._selectionRenderModel.viewportStartRow,s=this._selectionRenderModel.viewportEndRow,n=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,l=this._document.createDocumentFragment();if(i){let a=t[0]>e[0];l.appendChild(this._createSelectionElement(n,a?e[0]:t[0],a?t[0]:e[0],o-n+1))}else{let a=r===n?t[0]:0,h=n===s?e[0]:this._bufferService.cols;l.appendChild(this._createSelectionElement(n,a,h));let c=o-n-1;if(l.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,c)),n!==o){let u=s===o?e[0]:this._bufferService.cols;l.appendChild(this._createSelectionElement(o,0,u))}}this._selectionContainer.appendChild(l)}_createSelectionElement(t,e,i,r=1){let s=this._document.createElement("div"),n=e*this.dimensions.css.cell.width,o=this.dimensions.css.cell.width*(i-e);return n+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-n),s.style.height=`${r*this.dimensions.css.cell.height}px`,s.style.top=`${t*this.dimensions.css.cell.height}px`,s.style.left=`${n}px`,s.style.width=`${o}px`,s}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let t of this._rowElements)t.replaceChildren()}renderRows(t,e){let i=this._bufferService.buffer,r=i.ybase+i.y,s=Math.min(i.x,this._bufferService.cols-1),n=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,l=this._optionsService.rawOptions.cursorInactiveStyle;for(let a=t;a<=e;a++){let h=a+i.ydisp,c=this._rowElements[a],u=i.lines.get(h);if(!c||!u)break;c.replaceChildren(...this._rowFactory.createRow(u,h,h===r,o,l,s,n,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${hf}${this._terminalClass}`}_handleLinkHover(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!0)}_handleLinkLeave(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!1)}_setCellUnderline(t,e,i,r,s,n){i<0&&(t=0),r<0&&(e=0);let o=this._bufferService.rows-1;i=Math.max(Math.min(i,o),0),r=Math.max(Math.min(r,o),0),s=Math.min(s,this._bufferService.cols);let l=this._bufferService.buffer,a=l.ybase+l.y,h=Math.min(l.x,s-1),c=this._optionsService.rawOptions.cursorBlink,u=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let d=i;d<=r;++d){let p=d+l.ydisp,g=this._rowElements[d],v=l.lines.get(p);if(!g||!v)break;g.replaceChildren(...this._rowFactory.createRow(v,p,p===a,u,f,h,c,this.dimensions.css.cell.width,this._widthCache,n?d===i?t:0:-1,n?(d===r?e:s)-1:-1))}}};Pp=De([X(7,vO),X(8,qc),X(9,At),X(10,Rt),X(11,js),X(12,xr),X(13,Gn)],Pp);var $p=class extends te{constructor(t,e,i){super(),this._optionsService=i,this.width=0,this.height=0,this._onCharSizeChange=this._register(new L),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new SL(this._optionsService))}catch{this._measureStrategy=this._register(new vL(t,e,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let t=this._measureStrategy.measure();(t.width!==this.width||t.height!==this.height)&&(this.width=t.width,this.height=t.height,this._onCharSizeChange.fire())}};$p=De([X(2,At)],$p);var Nb=class extends te{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(t,e){t!==void 0&&t>0&&e!==void 0&&e>0&&(this._result.width=t,this._result.height=e)}},vL=class extends Nb{constructor(t,e,i){super(),this._document=t,this._parentElement=e,this._optionsService=i,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},SL=class extends Nb{constructor(t){super(),this._optionsService=t,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let e=this._ctx.measureText("W");if(!("width"in e&&"fontBoundingBoxAscent"in e&&"fontBoundingBoxDescent"in e))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let t=this._ctx.measureText("W");return this._validateAndSet(t.width,t.fontBoundingBoxAscent+t.fontBoundingBoxDescent),this._result}},yL=class extends te{constructor(t,e,i){super(),this._textarea=t,this._window=e,this.mainDocument=i,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new wL(this._window)),this._onDprChange=this._register(new L),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new L),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(r=>this._screenDprMonitor.setWindow(r))),this._register(ut.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(U(this._textarea,"focus",()=>this._isFocused=!0)),this._register(U(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(t){this._window!==t&&(this._window=t,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},wL=class extends te{constructor(t){super(),this._parentWindow=t,this._windowResizeListener=this._register(new jn),this._onDprChange=this._register(new L),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(Pe(()=>this.clearListener()))}setWindow(t){this._parentWindow=t,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=U(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var t;this._outerListener&&((t=this._resolutionMediaMatchList)==null||t.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},kL=class extends te{constructor(){super(),this.linkProviders=[],this._register(Pe(()=>this.linkProviders.length=0))}registerLinkProvider(t){return this.linkProviders.push(t),{dispose:()=>{let e=this.linkProviders.indexOf(t);e!==-1&&this.linkProviders.splice(e,1)}}}};function PO(t,e,i){let r=i.getBoundingClientRect(),s=t.getComputedStyle(i),n=parseInt(s.getPropertyValue("padding-left")),o=parseInt(s.getPropertyValue("padding-top"));return[e.clientX-r.left-n,e.clientY-r.top-o]}function bL(t,e,i,r,s,n,o,l,a){if(!n)return;let h=PO(t,e,i);if(h)return h[0]=Math.ceil((h[0]+(a?o/2:0))/o),h[1]=Math.ceil(h[1]/l),h[0]=Math.min(Math.max(h[0],1),r+(a?1:0)),h[1]=Math.min(Math.max(h[1],1),s),h}var Qp=class{constructor(t,e){this._renderService=t,this._charSizeService=e}getCoords(t,e,i,r,s){return bL(window,t,e,i,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,s)}getMouseReportCoords(t,e){let i=PO(window,t,e);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};Qp=De([X(0,Cr),X(1,qc)],Qp);var xL=class{constructor(t,e){this._renderCallback=t,this._coreBrowserService=e,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(t){return this._refreshCallbacks.push(t),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(t,e,i){this._rowCount=i,t=t!==void 0?t:0,e=e!==void 0?e:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,e):e,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let t of this._refreshCallbacks)t(0);this._refreshCallbacks=[]}},jb={};LA(jb,{getSafariVersion:()=>PL,isChromeOS:()=>Fb,isFirefox:()=>Vb,isIpad:()=>$L,isIphone:()=>QL,isLegacyEdge:()=>CL,isLinux:()=>$O,isMac:()=>fc,isNode:()=>Fc,isSafari:()=>Yb,isWindows:()=>qb});var Fc=typeof process<"u"&&"title"in process,Ul=Fc?"node":navigator.userAgent,Gl=Fc?"node":navigator.platform,Vb=Ul.includes("Firefox"),CL=Ul.includes("Edge"),Yb=/^((?!chrome|android).)*safari/i.test(Ul);function PL(){if(!Yb)return 0;let t=Ul.match(/Version\/(\d+)/);return t===null||t.length<2?0:parseInt(t[1])}var fc=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(Gl),$L=Gl==="iPad",QL=Gl==="iPhone",qb=["Windows","Win16","Win32","WinCE"].includes(Gl),$O=Gl.indexOf("Linux")>=0,Fb=/\bCrOS\b/.test(Ul),Hb=class{constructor(){this._tasks=[],this._i=0}enqueue(t){this._tasks.push(t),this._start()}flush(){for(;this._is){r-e<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-e))}ms`),this._start();return}r=s}this.clear()}},TL=class extends Hb{_requestCallback(t){return setTimeout(()=>t(this._createDeadline(16)))}_cancelCallback(t){clearTimeout(t)}_createDeadline(t){let e=performance.now()+t;return{timeRemaining:()=>Math.max(0,e-performance.now())}}},EL=class extends Hb{_requestCallback(t){return requestIdleCallback(t)}_cancelCallback(t){cancelIdleCallback(t)}},dc=!Fc&&"requestIdleCallback"in window?EL:TL,RL=class{constructor(){this._queue=new dc}set(t){this._queue.clear(),this._queue.enqueue(t)}flush(){this._queue.flush()}},Tp=class extends te{constructor(t,e,i,r,s,n,o,l,a){super(),this._rowCount=t,this._optionsService=i,this._charSizeService=r,this._coreService=s,this._coreBrowserService=l,this._renderer=this._register(new jn),this._pausedResizeTask=new RL,this._observerDisposable=this._register(new jn),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new L),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new L),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new L),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new L),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new xL((h,c)=>this._renderRows(h,c),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new AL(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(Pe(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(o.onResize(()=>this._fullRefresh())),this._register(o.buffers.onBufferActivate(()=>{var h;return(h=this._renderer.value)==null?void 0:h.clear()})),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(n.onDecorationRegistered(()=>this._fullRefresh())),this._register(n.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(o.buffer.y,o.buffer.y,!0))),this._register(a.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,e),this._register(this._coreBrowserService.onWindowChange(h=>this._registerIntersectionObserver(h,e)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(t,e){if("IntersectionObserver"in t){let i=new t.IntersectionObserver(r=>this._handleIntersectionChange(r[r.length-1]),{threshold:0});i.observe(e),this._observerDisposable.value=Pe(()=>i.disconnect())}}_handleIntersectionChange(t){this._isPaused=t.isIntersecting===void 0?t.intersectionRatio===0:!t.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(t,e,i=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,e);return}let r=this._syncOutputHandler.flush();r&&(t=Math.min(t,r.start),e=Math.max(e,r.end)),i||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(t,e,this._rowCount)}_renderRows(t,e){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,e);return}t=Math.min(t,this._rowCount-1),e=Math.min(e,this._rowCount-1),this._renderer.value.renderRows(t,e),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:t,end:e}),this._onRender.fire({start:t,end:e}),this._isNextRenderRedrawOnly=!0}}resize(t,e){this._rowCount=e,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(t){this._renderer.value=t,this._renderer.value&&(this._renderer.value.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(t){return this._renderDebouncer.addRefreshCallback(t)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var t,e;this._renderer.value&&((e=(t=this._renderer.value).clearTextureAtlas)==null||e.call(t),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(t,e){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>{var i;return(i=this._renderer.value)==null?void 0:i.handleResize(t,e)}):this._renderer.value.handleResize(t,e),this._fullRefresh())}handleCharSizeChanged(){var t;(t=this._renderer.value)==null||t.handleCharSizeChanged()}handleBlur(){var t;(t=this._renderer.value)==null||t.handleBlur()}handleFocus(){var t;(t=this._renderer.value)==null||t.handleFocus()}handleSelectionChanged(t,e,i){var r;this._selectionState.start=t,this._selectionState.end=e,this._selectionState.columnSelectMode=i,(r=this._renderer.value)==null||r.handleSelectionChanged(t,e,i)}handleCursorMove(){var t;(t=this._renderer.value)==null||t.handleCursorMove()}clear(){var t;(t=this._renderer.value)==null||t.clear()}};Tp=De([X(2,At),X(3,qc),X(4,js),X(5,Hl),X(6,Rt),X(7,xr),X(8,Gn)],Tp);var AL=class{constructor(t,e,i){this._coreBrowserService=t,this._coreService=e,this._onTimeout=i,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(t,e){this._isBuffering?(this._start=Math.min(this._start,t),this._end=Math.max(this._end,e)):(this._start=t,this._end=e,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let t={start:this._start,end:this._end};return this._isBuffering=!1,t}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function ML(t,e,i,r){let s=i.buffer.x,n=i.buffer.y;if(!i.buffer.hasScrollback)return BL(s,n,t,e,i,r)+Hc(n,e,i,r)+zL(s,n,t,e,i,r);let o;if(n===e)return o=s>t?"D":"C",El(Math.abs(s-t),Tl(o,r));o=n>e?"D":"C";let l=Math.abs(n-e),a=DL(n>e?t:s,i)+(l-1)*i.cols+1+LL(n>e?s:t);return El(a,Tl(o,r))}function LL(t,e){return t-1}function DL(t,e){return e.cols-t}function BL(t,e,i,r,s,n){return Hc(e,r,s,n).length===0?"":El(Gb(t,e,t,e-Is(e,s),!1,s).length,Tl("D",n))}function Hc(t,e,i,r){let s=t-Is(t,i),n=e-Is(e,i),o=Math.abs(s-n)-ZL(t,e,i);return El(o,Tl(Ub(t,e),r))}function zL(t,e,i,r,s,n){let o;Hc(e,r,s,n).length>0?o=r-Is(r,s):o=e;let l=r,a=XL(t,e,i,r,s,n);return El(Gb(t,o,i,l,a==="C",s).length,Tl(a,n))}function ZL(t,e,i){var o;let r=0,s=t-Is(t,i),n=e-Is(e,i);for(let l=0;l=0&&t0?o=r-Is(r,s):o=e,t=i&&oe?"A":"B"}function Gb(t,e,i,r,s,n){let o=t,l=e,a="";for(;(o!==i||l!==r)&&l>=0&&ln.cols-1?(a+=n.buffer.translateBufferLineToString(l,!1,t,o),o=0,t=0,l++):!s&&o<0&&(a+=n.buffer.translateBufferLineToString(l,!1,0,t+1),o=n.cols-1,t=o,l--);return a+n.buffer.translateBufferLineToString(l,!1,t,o)}function Tl(t,e){let i=e?"O":"[";return P.ESC+i+t}function El(t,e){t=Math.floor(t);let i="";for(let r=0;rthis._bufferService.cols?t%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)-1]:[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[t,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[Math.max(t,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let t=this.selectionStart,e=this.selectionEnd;return!t||!e?!1:t[1]>e[1]||t[1]===e[1]&&t[0]>e[0]}handleTrim(t){return this.selectionStart&&(this.selectionStart[1]-=t),this.selectionEnd&&(this.selectionEnd[1]-=t),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function av(t,e){if(t.start.y>t.end.y)throw new Error(`Buffer range end (${t.end.x}, ${t.end.y}) cannot be before start (${t.start.x}, ${t.start.y})`);return e*(t.end.y-t.start.y)+(t.end.x-t.start.x+1)}var cf=50,WL=15,NL=50,jL=500,VL=" ",YL=new RegExp(VL,"g"),Ep=class extends te{constructor(t,e,i,r,s,n,o,l,a){super(),this._element=t,this._screenElement=e,this._linkifier=i,this._bufferService=r,this._coreService=s,this._mouseService=n,this._optionsService=o,this._renderService=l,this._coreBrowserService=a,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new gi,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new L),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new L),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new L),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new L),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=h=>this._handleMouseMove(h),this._mouseUpListener=h=>this._handleMouseUp(h),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(h=>this._handleTrim(h)),this._register(this._bufferService.buffers.onBufferActivate(h=>this._handleBufferActivate(h))),this.enable(),this._model=new IL(this._bufferService),this._activeSelectionMode=0,this._register(Pe(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(h=>{h.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd;return!t||!e?!1:t[0]!==e[0]||t[1]!==e[1]}get selectionText(){let t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd;if(!t||!e)return"";let i=this._bufferService.buffer,r=[];if(this._activeSelectionMode===3){if(t[0]===e[0])return"";let s=t[0]s.replace(YL," ")).join(qb?`\r +`))}},cM=class extends Error{constructor(t,e){super(t),this.name="ListenerLeakError",this.stack=e}},uM=class extends Error{constructor(t,e){super(t),this.name="ListenerRefusalError",this.stack=e}},fM=0,of=class{constructor(t){this.value=t,this.id=fM++}},dM=2,pM,L=class{constructor(t){var e,i,r,s;this._size=0,this._options=t,this._leakageMon=(e=this._options)!=null&&e.leakWarningThreshold?new aM((t==null?void 0:t.onListenerError)??ah,((i=this._options)==null?void 0:i.leakWarningThreshold)??lM):void 0,this._perfMon=(r=this._options)!=null&&r._profName?new oM(this._options._profName):void 0,this._deliveryQueue=(s=this._options)==null?void 0:s.deliveryQueue}dispose(){var t,e,i,r;this._disposed||(this._disposed=!0,((t=this._deliveryQueue)==null?void 0:t.current)===this&&this._deliveryQueue.reset(),this._listeners&&(this._listeners=void 0,this._size=0),(i=(e=this._options)==null?void 0:e.onDidRemoveLastListener)==null||i.call(e),(r=this._leakageMon)==null||r.dispose())}get event(){return this._event??(this._event=(t,e,i)=>{var o,l,a,h,c;if(this._leakageMon&&this._size>this._leakageMon.threshold**2){let u=`[${this._leakageMon.name}] REFUSES to accept new listeners because it exceeded its threshold by far (${this._size} vs ${this._leakageMon.threshold})`;console.warn(u);let f=this._leakageMon.getMostFrequentStack()??["UNKNOWN stack",-1],d=new uM(`${u}. HINT: Stack shows most frequent listener (${f[1]}-times)`,f[0]);return(((o=this._options)==null?void 0:o.onListenerError)||ah)(d),re.None}if(this._disposed)return re.None;e&&(t=t.bind(e));let r=new of(t),s;this._leakageMon&&this._size>=Math.ceil(this._leakageMon.threshold*.2)&&(r.stack=hM.create(),s=this._leakageMon.check(r.stack,this._size+1)),this._listeners?this._listeners instanceof of?(this._deliveryQueue??(this._deliveryQueue=new gM),this._listeners=[this._listeners,r]):this._listeners.push(r):((a=(l=this._options)==null?void 0:l.onWillAddFirstListener)==null||a.call(l,this),this._listeners=r,(c=(h=this._options)==null?void 0:h.onDidAddFirstListener)==null||c.call(h,this)),this._size++;let n=Pe(()=>{s==null||s(),this._removeListener(r)});return i instanceof is?i.add(n):Array.isArray(i)&&i.push(n),n}),this._event}_removeListener(t){var s,n,o,l;if((n=(s=this._options)==null?void 0:s.onWillRemoveListener)==null||n.call(s,this),!this._listeners)return;if(this._size===1){this._listeners=void 0,(l=(o=this._options)==null?void 0:o.onDidRemoveLastListener)==null||l.call(o,this),this._size=0;return}let e=this._listeners,i=e.indexOf(t);if(i===-1)throw console.log("disposed?",this._disposed),console.log("size?",this._size),console.log("arr?",JSON.stringify(this._listeners)),new Error("Attempted to dispose unknown listener");this._size--,e[i]=void 0;let r=this._deliveryQueue.current===this;if(this._size*dM<=e.length){let a=0;for(let h=0;h0}},gM=class{constructor(){this.i=-1,this.end=0}enqueue(t,e,i){this.i=0,this.end=i,this.current=t,this.value=e}reset(){this.i=this.end,this.current=void 0,this.value=void 0}},_p=class{constructor(){this.mapWindowIdToZoomLevel=new Map,this._onDidChangeZoomLevel=new L,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event,this.mapWindowIdToZoomFactor=new Map,this._onDidChangeFullscreen=new L,this.onDidChangeFullscreen=this._onDidChangeFullscreen.event,this.mapWindowIdToFullScreen=new Map}getZoomLevel(e){return this.mapWindowIdToZoomLevel.get(this.getWindowId(e))??0}setZoomLevel(e,i){if(this.getZoomLevel(i)===e)return;let r=this.getWindowId(i);this.mapWindowIdToZoomLevel.set(r,e),this._onDidChangeZoomLevel.fire(r)}getZoomFactor(e){return this.mapWindowIdToZoomFactor.get(this.getWindowId(e))??1}setZoomFactor(e,i){this.mapWindowIdToZoomFactor.set(this.getWindowId(i),e)}setFullscreen(e,i){if(this.isFullscreen(i)===e)return;let r=this.getWindowId(i);this.mapWindowIdToFullScreen.set(r,e),this._onDidChangeFullscreen.fire(r)}isFullscreen(e){return!!this.mapWindowIdToFullScreen.get(this.getWindowId(e))}getWindowId(e){return e.vscodeWindowId}};_p.INSTANCE=new _p;var bm=_p;function mM(t,e,i){typeof e=="string"&&(e=t.matchMedia(e)),e.addEventListener("change",i)}bm.INSTANCE.onDidChangeZoomLevel;function OM(t){return bm.INSTANCE.getZoomFactor(t)}bm.INSTANCE.onDidChangeFullscreen;var Jn=typeof navigator=="object"?navigator.userAgent:"",vp=Jn.indexOf("Firefox")>=0,_M=Jn.indexOf("AppleWebKit")>=0,xm=Jn.indexOf("Chrome")>=0,vM=!xm&&Jn.indexOf("Safari")>=0;Jn.indexOf("Electron/")>=0;Jn.indexOf("Android")>=0;var lf=!1;if(typeof pr.matchMedia=="function"){let t=pr.matchMedia("(display-mode: standalone) or (display-mode: window-controls-overlay)"),e=pr.matchMedia("(display-mode: fullscreen)");lf=t.matches,mM(pr,t,({matches:i})=>{lf&&e.matches||(lf=i)})}var fn="en",Sp=!1,yp=!1,hh=!1,Bb=!1,La,ch=fn,F0=fn,SM,ki,Es=globalThis,ht,Xv;typeof Es.vscode<"u"&&typeof Es.vscode.process<"u"?ht=Es.vscode.process:typeof process<"u"&&typeof((Xv=process==null?void 0:process.versions)==null?void 0:Xv.node)=="string"&&(ht=process);var Iv,yM=typeof((Iv=ht==null?void 0:ht.versions)==null?void 0:Iv.electron)=="string",wM=yM&&(ht==null?void 0:ht.type)==="renderer",Nv;if(typeof ht=="object"){Sp=ht.platform==="win32",yp=ht.platform==="darwin",hh=ht.platform==="linux",hh&&ht.env.SNAP&&ht.env.SNAP_REVISION,ht.env.CI||ht.env.BUILD_ARTIFACTSTAGINGDIRECTORY,La=fn,ch=fn;let t=ht.env.VSCODE_NLS_CONFIG;if(t)try{let e=JSON.parse(t);La=e.userLocale,F0=e.osLocale,ch=e.resolvedLanguage||fn,SM=(Nv=e.languagePack)==null?void 0:Nv.translationsConfigFile}catch{}Bb=!0}else typeof navigator=="object"&&!wM?(ki=navigator.userAgent,Sp=ki.indexOf("Windows")>=0,yp=ki.indexOf("Macintosh")>=0,(ki.indexOf("Macintosh")>=0||ki.indexOf("iPad")>=0||ki.indexOf("iPhone")>=0)&&navigator.maxTouchPoints&&navigator.maxTouchPoints>0,hh=ki.indexOf("Linux")>=0,(ki==null?void 0:ki.indexOf("Mobi"))>=0,ch=globalThis._VSCODE_NLS_LANGUAGE||fn,La=navigator.language.toLowerCase(),F0=La):console.error("Unable to resolve platform.");var zb=Sp,rr=yp,kM=hh,H0=Bb,sr=ki,Ar=ch,bM;(t=>{function e(){return Ar}t.value=e;function i(){return Ar.length===2?Ar==="en":Ar.length>=3?Ar[0]==="e"&&Ar[1]==="n"&&Ar[2]==="-":!1}t.isDefaultVariant=i;function r(){return Ar==="en"}t.isDefault=r})(bM||(bM={}));var xM=typeof Es.postMessage=="function"&&!Es.importScripts;(()=>{if(xM){let t=[];Es.addEventListener("message",i=>{if(i.data&&i.data.vscodeScheduleAsyncWork)for(let r=0,s=t.length;r{let r=++e;t.push({id:r,callback:i}),Es.postMessage({vscodeScheduleAsyncWork:r},"*")}}return t=>setTimeout(t)})();var CM=!!(sr&&sr.indexOf("Chrome")>=0);sr&&sr.indexOf("Firefox")>=0;!CM&&sr&&sr.indexOf("Safari")>=0;sr&&sr.indexOf("Edg/")>=0;sr&&sr.indexOf("Android")>=0;var qs=typeof navigator=="object"?navigator:{};H0||document.queryCommandSupported&&document.queryCommandSupported("copy")||qs&&qs.clipboard&&qs.clipboard.writeText,H0||qs&&qs.clipboard&&qs.clipboard.readText;var Cm=class{constructor(){this._keyCodeToStr=[],this._strToKeyCode=Object.create(null)}define(t,e){this._keyCodeToStr[t]=e,this._strToKeyCode[e.toLowerCase()]=t}keyCodeToStr(t){return this._keyCodeToStr[t]}strToKeyCode(t){return this._strToKeyCode[t.toLowerCase()]||0}},af=new Cm,U0=new Cm,G0=new Cm,PM=new Array(230),Zb;(t=>{function e(l){return af.keyCodeToStr(l)}t.toString=e;function i(l){return af.strToKeyCode(l)}t.fromString=i;function r(l){return U0.keyCodeToStr(l)}t.toUserSettingsUS=r;function s(l){return G0.keyCodeToStr(l)}t.toUserSettingsGeneral=s;function n(l){return U0.strToKeyCode(l)||G0.strToKeyCode(l)}t.fromUserSettings=n;function o(l){if(l>=98&&l<=113)return null;switch(l){case 16:return"Up";case 18:return"Down";case 15:return"Left";case 17:return"Right"}return af.keyCodeToStr(l)}t.toElectronAccelerator=o})(Zb||(Zb={}));var $M=class Xb{constructor(e,i,r,s,n){this.ctrlKey=e,this.shiftKey=i,this.altKey=r,this.metaKey=s,this.keyCode=n}equals(e){return e instanceof Xb&&this.ctrlKey===e.ctrlKey&&this.shiftKey===e.shiftKey&&this.altKey===e.altKey&&this.metaKey===e.metaKey&&this.keyCode===e.keyCode}getHashCode(){let e=this.ctrlKey?"1":"0",i=this.shiftKey?"1":"0",r=this.altKey?"1":"0",s=this.metaKey?"1":"0";return`K${e}${i}${r}${s}${this.keyCode}`}isModifierKey(){return this.keyCode===0||this.keyCode===5||this.keyCode===57||this.keyCode===6||this.keyCode===4}toKeybinding(){return new QM([this])}isDuplicateModifierCase(){return this.ctrlKey&&this.keyCode===5||this.shiftKey&&this.keyCode===4||this.altKey&&this.keyCode===6||this.metaKey&&this.keyCode===57}},QM=class{constructor(t){if(t.length===0)throw eM("chords");this.chords=t}getHashCode(){let t="";for(let e=0,i=this.chords.length;e{function e(i){return i===t.None||i===t.Cancelled||i instanceof zM?!0:!i||typeof i!="object"?!1:typeof i.isCancellationRequested=="boolean"&&typeof i.onCancellationRequested=="function"}t.isCancellationToken=e,t.None=Object.freeze({isCancellationRequested:!1,onCancellationRequested:ut.None}),t.Cancelled=Object.freeze({isCancellationRequested:!0,onCancellationRequested:Ib})})(BM||(BM={}));var zM=class{constructor(){this._isCancelled=!1,this._emitter=null}cancel(){this._isCancelled||(this._isCancelled=!0,this._emitter&&(this._emitter.fire(void 0),this.dispose()))}get isCancellationRequested(){return this._isCancelled}get onCancellationRequested(){return this._isCancelled?Ib:(this._emitter||(this._emitter=new L),this._emitter.event)}dispose(){this._emitter&&(this._emitter.dispose(),this._emitter=null)}},Pm=class{constructor(t,e){this._isDisposed=!1,this._token=-1,typeof t=="function"&&typeof e=="number"&&this.setIfNotSet(t,e)}dispose(){this.cancel(),this._isDisposed=!0}cancel(){this._token!==-1&&(clearTimeout(this._token),this._token=-1)}cancelAndSet(t,e){if(this._isDisposed)throw new dp("Calling 'cancelAndSet' on a disposed TimeoutTimer");this.cancel(),this._token=setTimeout(()=>{this._token=-1,t()},e)}setIfNotSet(t,e){if(this._isDisposed)throw new dp("Calling 'setIfNotSet' on a disposed TimeoutTimer");this._token===-1&&(this._token=setTimeout(()=>{this._token=-1,t()},e))}},ZM=class{constructor(){this.disposable=void 0,this.isDisposed=!1}cancel(){var t;(t=this.disposable)==null||t.dispose(),this.disposable=void 0}cancelAndSet(t,e,i=globalThis){if(this.isDisposed)throw new dp("Calling 'cancelAndSet' on a disposed IntervalTimer");this.cancel();let r=i.setInterval(()=>{t()},e);this.disposable=Pe(()=>{i.clearInterval(r),this.disposable=void 0})}dispose(){this.cancel(),this.isDisposed=!0}},XM;(t=>{async function e(r){let s,n=await Promise.all(r.map(o=>o.then(l=>l,l=>{s||(s=l)})));if(typeof s<"u")throw s;return n}t.settled=e;function i(r){return new Promise(async(s,n)=>{try{await r(s,n)}catch(o){n(o)}})}t.withAsyncBody=i})(XM||(XM={}));var tv=class li{static fromArray(e){return new li(i=>{i.emitMany(e)})}static fromPromise(e){return new li(async i=>{i.emitMany(await e)})}static fromPromises(e){return new li(async i=>{await Promise.all(e.map(async r=>i.emitOne(await r)))})}static merge(e){return new li(async i=>{await Promise.all(e.map(async r=>{for await(let s of r)i.emitOne(s)}))})}constructor(e,i){this._state=0,this._results=[],this._error=null,this._onReturn=i,this._onStateChanged=new L,queueMicrotask(async()=>{let r={emitOne:s=>this.emitOne(s),emitMany:s=>this.emitMany(s),reject:s=>this.reject(s)};try{await Promise.resolve(e(r)),this.resolve()}catch(s){this.reject(s)}finally{r.emitOne=void 0,r.emitMany=void 0,r.reject=void 0}})}[Symbol.asyncIterator](){let e=0;return{next:async()=>{do{if(this._state===2)throw this._error;if(e{var i;return(i=this._onReturn)==null||i.call(this),{done:!0,value:void 0}}}}static map(e,i){return new li(async r=>{for await(let s of e)r.emitOne(i(s))})}map(e){return li.map(this,e)}static filter(e,i){return new li(async r=>{for await(let s of e)i(s)&&r.emitOne(s)})}filter(e){return li.filter(this,e)}static coalesce(e){return li.filter(e,i=>!!i)}coalesce(){return li.coalesce(this)}static async toPromise(e){let i=[];for await(let r of e)i.push(r);return i}toPromise(){return li.toPromise(this)}emitOne(e){this._state===0&&(this._results.push(e),this._onStateChanged.fire())}emitMany(e){this._state===0&&(this._results=this._results.concat(e),this._onStateChanged.fire())}resolve(){this._state===0&&(this._state=1,this._onStateChanged.fire())}reject(e){this._state===0&&(this._state=2,this._error=e,this._onStateChanged.fire())}};tv.EMPTY=tv.fromArray([]);var{getWindow:Ki,getWindowId:IM,onDidRegisterWindow:NM}=function(){let t=new Map,e={window:pr,disposables:new is};t.set(pr.vscodeWindowId,e);let i=new L,r=new L,s=new L;function n(o,l){return(typeof o=="number"?t.get(o):void 0)??(l?e:void 0)}return{onDidRegisterWindow:i.event,onWillUnregisterWindow:s.event,onDidUnregisterWindow:r.event,registerWindow(o){if(t.has(o.vscodeWindowId))return re.None;let l=new is,a={window:o,disposables:l.add(new is)};return t.set(o.vscodeWindowId,a),l.add(Pe(()=>{t.delete(o.vscodeWindowId),r.fire(o)})),l.add(K(o,et.BEFORE_UNLOAD,()=>{s.fire(o)})),i.fire(a),l},getWindows(){return t.values()},getWindowsCount(){return t.size},getWindowId(o){return o.vscodeWindowId},hasWindow(o){return t.has(o)},getWindowById:n,getWindow(o){var h;let l=o;if((h=l==null?void 0:l.ownerDocument)!=null&&h.defaultView)return l.ownerDocument.defaultView.window;let a=o;return a!=null&&a.view?a.view.window:pr},getDocument(o){return Ki(o).document}}}(),WM=class{constructor(t,e,i,r){this._node=t,this._type=e,this._handler=i,this._options=r||!1,this._node.addEventListener(this._type,this._handler,this._options)}dispose(){this._handler&&(this._node.removeEventListener(this._type,this._handler,this._options),this._node=null,this._handler=null)}};function K(t,e,i,r){return new WM(t,e,i,r)}var iv=function(t,e,i,r){return K(t,e,i,r)},$m,jM=class extends ZM{constructor(t){super(),this.defaultTarget=t&&Ki(t)}cancelAndSet(t,e,i){return super.cancelAndSet(t,e,i??this.defaultTarget)}},rv=class{constructor(t,e=0){this._runner=t,this.priority=e,this._canceled=!1}dispose(){this._canceled=!0}execute(){if(!this._canceled)try{this._runner()}catch(t){ah(t)}}static sort(t,e){return e.priority-t.priority}};(function(){let t=new Map,e=new Map,i=new Map,r=new Map,s=n=>{i.set(n,!1);let o=t.get(n)??[];for(e.set(n,o),t.set(n,[]),r.set(n,!0);o.length>0;)o.sort(rv.sort),o.shift().execute();r.set(n,!1)};$m=(n,o,l=0)=>{let a=IM(n),h=new rv(o,l),c=t.get(a);return c||(c=[],t.set(a,c)),c.push(h),i.get(a)||(i.set(a,!0),n.requestAnimationFrame(()=>s(a))),h}})();function VM(t){let e=t.getBoundingClientRect(),i=Ki(t);return{left:e.left+i.scrollX,top:e.top+i.scrollY,width:e.width,height:e.height}}var et={CLICK:"click",MOUSE_DOWN:"mousedown",MOUSE_OVER:"mouseover",MOUSE_LEAVE:"mouseleave",MOUSE_WHEEL:"wheel",POINTER_UP:"pointerup",POINTER_DOWN:"pointerdown",POINTER_MOVE:"pointermove",KEY_DOWN:"keydown",KEY_UP:"keyup",BEFORE_UNLOAD:"beforeunload",CHANGE:"change",FOCUS:"focus",BLUR:"blur",INPUT:"input"},YM=class{constructor(t){this.domNode=t,this._maxWidth="",this._width="",this._height="",this._top="",this._left="",this._bottom="",this._right="",this._paddingTop="",this._paddingLeft="",this._paddingBottom="",this._paddingRight="",this._fontFamily="",this._fontWeight="",this._fontSize="",this._fontStyle="",this._fontFeatureSettings="",this._fontVariationSettings="",this._textDecoration="",this._lineHeight="",this._letterSpacing="",this._className="",this._display="",this._position="",this._visibility="",this._color="",this._backgroundColor="",this._layerHint=!1,this._contain="none",this._boxShadow=""}setMaxWidth(t){let e=Mt(t);this._maxWidth!==e&&(this._maxWidth=e,this.domNode.style.maxWidth=this._maxWidth)}setWidth(t){let e=Mt(t);this._width!==e&&(this._width=e,this.domNode.style.width=this._width)}setHeight(t){let e=Mt(t);this._height!==e&&(this._height=e,this.domNode.style.height=this._height)}setTop(t){let e=Mt(t);this._top!==e&&(this._top=e,this.domNode.style.top=this._top)}setLeft(t){let e=Mt(t);this._left!==e&&(this._left=e,this.domNode.style.left=this._left)}setBottom(t){let e=Mt(t);this._bottom!==e&&(this._bottom=e,this.domNode.style.bottom=this._bottom)}setRight(t){let e=Mt(t);this._right!==e&&(this._right=e,this.domNode.style.right=this._right)}setPaddingTop(t){let e=Mt(t);this._paddingTop!==e&&(this._paddingTop=e,this.domNode.style.paddingTop=this._paddingTop)}setPaddingLeft(t){let e=Mt(t);this._paddingLeft!==e&&(this._paddingLeft=e,this.domNode.style.paddingLeft=this._paddingLeft)}setPaddingBottom(t){let e=Mt(t);this._paddingBottom!==e&&(this._paddingBottom=e,this.domNode.style.paddingBottom=this._paddingBottom)}setPaddingRight(t){let e=Mt(t);this._paddingRight!==e&&(this._paddingRight=e,this.domNode.style.paddingRight=this._paddingRight)}setFontFamily(t){this._fontFamily!==t&&(this._fontFamily=t,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(t){this._fontWeight!==t&&(this._fontWeight=t,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(t){let e=Mt(t);this._fontSize!==e&&(this._fontSize=e,this.domNode.style.fontSize=this._fontSize)}setFontStyle(t){this._fontStyle!==t&&(this._fontStyle=t,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(t){this._fontFeatureSettings!==t&&(this._fontFeatureSettings=t,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setFontVariationSettings(t){this._fontVariationSettings!==t&&(this._fontVariationSettings=t,this.domNode.style.fontVariationSettings=this._fontVariationSettings)}setTextDecoration(t){this._textDecoration!==t&&(this._textDecoration=t,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(t){let e=Mt(t);this._lineHeight!==e&&(this._lineHeight=e,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(t){let e=Mt(t);this._letterSpacing!==e&&(this._letterSpacing=e,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(t){this._className!==t&&(this._className=t,this.domNode.className=this._className)}toggleClassName(t,e){this.domNode.classList.toggle(t,e),this._className=this.domNode.className}setDisplay(t){this._display!==t&&(this._display=t,this.domNode.style.display=this._display)}setPosition(t){this._position!==t&&(this._position=t,this.domNode.style.position=this._position)}setVisibility(t){this._visibility!==t&&(this._visibility=t,this.domNode.style.visibility=this._visibility)}setColor(t){this._color!==t&&(this._color=t,this.domNode.style.color=this._color)}setBackgroundColor(t){this._backgroundColor!==t&&(this._backgroundColor=t,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(t){this._layerHint!==t&&(this._layerHint=t,this.domNode.style.transform=this._layerHint?"translate3d(0px, 0px, 0px)":"")}setBoxShadow(t){this._boxShadow!==t&&(this._boxShadow=t,this.domNode.style.boxShadow=t)}setContain(t){this._contain!==t&&(this._contain=t,this.domNode.style.contain=this._contain)}setAttribute(t,e){this.domNode.setAttribute(t,e)}removeAttribute(t){this.domNode.removeAttribute(t)}appendChild(t){this.domNode.appendChild(t.domNode)}removeChild(t){this.domNode.removeChild(t.domNode)}};function Mt(t){return typeof t=="number"?`${t}px`:t}function Ko(t){return new YM(t)}var Nb=class{constructor(){this._hooks=new is,this._pointerMoveCallback=null,this._onStopCallback=null}dispose(){this.stopMonitoring(!1),this._hooks.dispose()}stopMonitoring(t,e){if(!this.isMonitoring())return;this._hooks.clear(),this._pointerMoveCallback=null;let i=this._onStopCallback;this._onStopCallback=null,t&&i&&i(e)}isMonitoring(){return!!this._pointerMoveCallback}startMonitoring(t,e,i,r,s){this.isMonitoring()&&this.stopMonitoring(!1),this._pointerMoveCallback=r,this._onStopCallback=s;let n=t;try{t.setPointerCapture(e),this._hooks.add(Pe(()=>{try{t.releasePointerCapture(e)}catch{}}))}catch{n=Ki(t)}this._hooks.add(K(n,et.POINTER_MOVE,o=>{if(o.buttons!==i){this.stopMonitoring(!0);return}o.preventDefault(),this._pointerMoveCallback(o)})),this._hooks.add(K(n,et.POINTER_UP,o=>this.stopMonitoring(!0)))}};function qM(t,e,i){let r=null,s=null;if(typeof i.value=="function"?(r="value",s=i.value,s.length!==0&&console.warn("Memoize should only be used in functions with zero parameters")):typeof i.get=="function"&&(r="get",s=i.get),!s)throw new Error("not supported");let n=`$memoize$${e}`;i[r]=function(...o){return this.hasOwnProperty(n)||Object.defineProperty(this,n,{configurable:!1,enumerable:!1,writable:!1,value:s.apply(this,o)}),this[n]}}var Wi;(t=>(t.Tap="-xterm-gesturetap",t.Change="-xterm-gesturechange",t.Start="-xterm-gesturestart",t.End="-xterm-gesturesend",t.Contextmenu="-xterm-gesturecontextmenu"))(Wi||(Wi={}));var Eo=class mt extends re{constructor(){super(),this.dispatched=!1,this.targets=new q0,this.ignoreTargets=new q0,this.activeTouches={},this.handle=null,this._lastSetTapCountTime=0,this._register(ut.runAndSubscribe(NM,({window:e,disposables:i})=>{i.add(K(e.document,"touchstart",r=>this.onTouchStart(r),{passive:!1})),i.add(K(e.document,"touchend",r=>this.onTouchEnd(e,r))),i.add(K(e.document,"touchmove",r=>this.onTouchMove(r),{passive:!1}))},{window:pr,disposables:this._store}))}static addTarget(e){if(!mt.isTouchDevice())return re.None;mt.INSTANCE||(mt.INSTANCE=new mt);let i=mt.INSTANCE.targets.push(e);return Pe(i)}static ignoreTarget(e){if(!mt.isTouchDevice())return re.None;mt.INSTANCE||(mt.INSTANCE=new mt);let i=mt.INSTANCE.ignoreTargets.push(e);return Pe(i)}static isTouchDevice(){return"ontouchstart"in pr||navigator.maxTouchPoints>0}dispose(){this.handle&&(this.handle.dispose(),this.handle=null),super.dispose()}onTouchStart(e){let i=Date.now();this.handle&&(this.handle.dispose(),this.handle=null);for(let r=0,s=e.targetTouches.length;r=mt.HOLD_DELAY&&Math.abs(a.initialPageX-Yt(a.rollingPageX))<30&&Math.abs(a.initialPageY-Yt(a.rollingPageY))<30){let c=this.newGestureEvent(Wi.Contextmenu,a.initialTarget);c.pageX=Yt(a.rollingPageX),c.pageY=Yt(a.rollingPageY),this.dispatchEvent(c)}else if(s===1){let c=Yt(a.rollingPageX),u=Yt(a.rollingPageY),f=Yt(a.rollingTimestamps)-a.rollingTimestamps[0],d=c-a.rollingPageX[0],p=u-a.rollingPageY[0],g=[...this.targets].filter(v=>a.initialTarget instanceof Node&&v.contains(a.initialTarget));this.inertia(e,g,r,Math.abs(d)/f,d>0?1:-1,c,Math.abs(p)/f,p>0?1:-1,u)}this.dispatchEvent(this.newGestureEvent(Wi.End,a.initialTarget)),delete this.activeTouches[l.identifier]}this.dispatched&&(i.preventDefault(),i.stopPropagation(),this.dispatched=!1)}newGestureEvent(e,i){let r=document.createEvent("CustomEvent");return r.initEvent(e,!1,!0),r.initialTarget=i,r.tapCount=0,r}dispatchEvent(e){if(e.type===Wi.Tap){let i=new Date().getTime(),r=0;i-this._lastSetTapCountTime>mt.CLEAR_TAP_COUNT_TIME?r=1:r=2,this._lastSetTapCountTime=i,e.tapCount=r}else(e.type===Wi.Change||e.type===Wi.Contextmenu)&&(this._lastSetTapCountTime=0);if(e.initialTarget instanceof Node){for(let r of this.ignoreTargets)if(r.contains(e.initialTarget))return;let i=[];for(let r of this.targets)if(r.contains(e.initialTarget)){let s=0,n=e.initialTarget;for(;n&&n!==r;)s++,n=n.parentElement;i.push([s,r])}i.sort((r,s)=>r[0]-s[0]);for(let[r,s]of i)s.dispatchEvent(e),this.dispatched=!0}}inertia(e,i,r,s,n,o,l,a,h){this.handle=$m(e,()=>{let c=Date.now(),u=c-r,f=0,d=0,p=!0;s+=mt.SCROLL_FRICTION*u,l+=mt.SCROLL_FRICTION*u,s>0&&(p=!1,f=n*s*u),l>0&&(p=!1,d=a*l*u);let g=this.newGestureEvent(Wi.Change);g.translationX=f,g.translationY=d,i.forEach(v=>v.dispatchEvent(g)),p||this.inertia(e,i,c,s,n,o+f,l,a,h+d)})}onTouchMove(e){let i=Date.now();for(let r=0,s=e.changedTouches.length;r3&&(o.rollingPageX.shift(),o.rollingPageY.shift(),o.rollingTimestamps.shift()),o.rollingPageX.push(n.pageX),o.rollingPageY.push(n.pageY),o.rollingTimestamps.push(i)}this.dispatched&&(e.preventDefault(),e.stopPropagation(),this.dispatched=!1)}};Eo.SCROLL_FRICTION=-.005,Eo.HOLD_DELAY=700,Eo.CLEAR_TAP_COUNT_TIME=400,De([qM],Eo,"isTouchDevice",1);var FM=Eo,Qm=class extends re{onclick(t,e){this._register(K(t,et.CLICK,i=>e(new Da(Ki(t),i))))}onmousedown(t,e){this._register(K(t,et.MOUSE_DOWN,i=>e(new Da(Ki(t),i))))}onmouseover(t,e){this._register(K(t,et.MOUSE_OVER,i=>e(new Da(Ki(t),i))))}onmouseleave(t,e){this._register(K(t,et.MOUSE_LEAVE,i=>e(new Da(Ki(t),i))))}onkeydown(t,e){this._register(K(t,et.KEY_DOWN,i=>e(new K0(i))))}onkeyup(t,e){this._register(K(t,et.KEY_UP,i=>e(new K0(i))))}oninput(t,e){this._register(K(t,et.INPUT,e))}onblur(t,e){this._register(K(t,et.BLUR,e))}onfocus(t,e){this._register(K(t,et.FOCUS,e))}onchange(t,e){this._register(K(t,et.CHANGE,e))}ignoreGesture(t){return FM.ignoreTarget(t)}},sv=11,HM=class extends Qm{constructor(t){super(),this._onActivate=t.onActivate,this.bgDomNode=document.createElement("div"),this.bgDomNode.className="arrow-background",this.bgDomNode.style.position="absolute",this.bgDomNode.style.width=t.bgWidth+"px",this.bgDomNode.style.height=t.bgHeight+"px",typeof t.top<"u"&&(this.bgDomNode.style.top="0px"),typeof t.left<"u"&&(this.bgDomNode.style.left="0px"),typeof t.bottom<"u"&&(this.bgDomNode.style.bottom="0px"),typeof t.right<"u"&&(this.bgDomNode.style.right="0px"),this.domNode=document.createElement("div"),this.domNode.className=t.className,this.domNode.style.position="absolute",this.domNode.style.width=sv+"px",this.domNode.style.height=sv+"px",typeof t.top<"u"&&(this.domNode.style.top=t.top+"px"),typeof t.left<"u"&&(this.domNode.style.left=t.left+"px"),typeof t.bottom<"u"&&(this.domNode.style.bottom=t.bottom+"px"),typeof t.right<"u"&&(this.domNode.style.right=t.right+"px"),this._pointerMoveMonitor=this._register(new Nb),this._register(iv(this.bgDomNode,et.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._register(iv(this.domNode,et.POINTER_DOWN,e=>this._arrowPointerDown(e))),this._pointerdownRepeatTimer=this._register(new jM),this._pointerdownScheduleRepeatTimer=this._register(new Pm)}_arrowPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=()=>{this._pointerdownRepeatTimer.cancelAndSet(()=>this._onActivate(),1e3/24,Ki(t))};this._onActivate(),this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancelAndSet(e,200),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,i=>{},()=>{this._pointerdownRepeatTimer.cancel(),this._pointerdownScheduleRepeatTimer.cancel()}),t.preventDefault()}},UM=class wp{constructor(e,i,r,s,n,o,l){this._forceIntegerValues=e,this._scrollStateBrand=void 0,this._forceIntegerValues&&(i=i|0,r=r|0,s=s|0,n=n|0,o=o|0,l=l|0),this.rawScrollLeft=s,this.rawScrollTop=l,i<0&&(i=0),s+i>r&&(s=r-i),s<0&&(s=0),n<0&&(n=0),l+n>o&&(l=o-n),l<0&&(l=0),this.width=i,this.scrollWidth=r,this.scrollLeft=s,this.height=n,this.scrollHeight=o,this.scrollTop=l}equals(e){return this.rawScrollLeft===e.rawScrollLeft&&this.rawScrollTop===e.rawScrollTop&&this.width===e.width&&this.scrollWidth===e.scrollWidth&&this.scrollLeft===e.scrollLeft&&this.height===e.height&&this.scrollHeight===e.scrollHeight&&this.scrollTop===e.scrollTop}withScrollDimensions(e,i){return new wp(this._forceIntegerValues,typeof e.width<"u"?e.width:this.width,typeof e.scrollWidth<"u"?e.scrollWidth:this.scrollWidth,i?this.rawScrollLeft:this.scrollLeft,typeof e.height<"u"?e.height:this.height,typeof e.scrollHeight<"u"?e.scrollHeight:this.scrollHeight,i?this.rawScrollTop:this.scrollTop)}withScrollPosition(e){return new wp(this._forceIntegerValues,this.width,this.scrollWidth,typeof e.scrollLeft<"u"?e.scrollLeft:this.rawScrollLeft,this.height,this.scrollHeight,typeof e.scrollTop<"u"?e.scrollTop:this.rawScrollTop)}createScrollEvent(e,i){let r=this.width!==e.width,s=this.scrollWidth!==e.scrollWidth,n=this.scrollLeft!==e.scrollLeft,o=this.height!==e.height,l=this.scrollHeight!==e.scrollHeight,a=this.scrollTop!==e.scrollTop;return{inSmoothScrolling:i,oldWidth:e.width,oldScrollWidth:e.scrollWidth,oldScrollLeft:e.scrollLeft,width:this.width,scrollWidth:this.scrollWidth,scrollLeft:this.scrollLeft,oldHeight:e.height,oldScrollHeight:e.scrollHeight,oldScrollTop:e.scrollTop,height:this.height,scrollHeight:this.scrollHeight,scrollTop:this.scrollTop,widthChanged:r,scrollWidthChanged:s,scrollLeftChanged:n,heightChanged:o,scrollHeightChanged:l,scrollTopChanged:a}}},GM=class extends re{constructor(t){super(),this._scrollableBrand=void 0,this._onScroll=this._register(new L),this.onScroll=this._onScroll.event,this._smoothScrollDuration=t.smoothScrollDuration,this._scheduleAtNextAnimationFrame=t.scheduleAtNextAnimationFrame,this._state=new UM(t.forceIntegerValues,0,0,0,0,0,0),this._smoothScrolling=null}dispose(){this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),super.dispose()}setSmoothScrollDuration(t){this._smoothScrollDuration=t}validateScrollPosition(t){return this._state.withScrollPosition(t)}getScrollDimensions(){return this._state}setScrollDimensions(t,e){var r;let i=this._state.withScrollDimensions(t,e);this._setState(i,!!this._smoothScrolling),(r=this._smoothScrolling)==null||r.acceptScrollDimensions(this._state)}getFutureScrollPosition(){return this._smoothScrolling?this._smoothScrolling.to:this._state}getCurrentScrollPosition(){return this._state}setScrollPositionNow(t){let e=this._state.withScrollPosition(t);this._smoothScrolling&&(this._smoothScrolling.dispose(),this._smoothScrolling=null),this._setState(e,!1)}setScrollPositionSmooth(t,e){if(this._smoothScrollDuration===0)return this.setScrollPositionNow(t);if(this._smoothScrolling){t={scrollLeft:typeof t.scrollLeft>"u"?this._smoothScrolling.to.scrollLeft:t.scrollLeft,scrollTop:typeof t.scrollTop>"u"?this._smoothScrolling.to.scrollTop:t.scrollTop};let i=this._state.withScrollPosition(t);if(this._smoothScrolling.to.scrollLeft===i.scrollLeft&&this._smoothScrolling.to.scrollTop===i.scrollTop)return;let r;e?r=new ov(this._smoothScrolling.from,i,this._smoothScrolling.startTime,this._smoothScrolling.duration):r=this._smoothScrolling.combine(this._state,i,this._smoothScrollDuration),this._smoothScrolling.dispose(),this._smoothScrolling=r}else{let i=this._state.withScrollPosition(t);this._smoothScrolling=ov.start(this._state,i,this._smoothScrollDuration)}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}hasPendingScrollAnimation(){return!!this._smoothScrolling}_performSmoothScrolling(){if(!this._smoothScrolling)return;let t=this._smoothScrolling.tick(),e=this._state.withScrollPosition(t);if(this._setState(e,!0),!!this._smoothScrolling){if(t.isDone){this._smoothScrolling.dispose(),this._smoothScrolling=null;return}this._smoothScrolling.animationFrameDisposable=this._scheduleAtNextAnimationFrame(()=>{this._smoothScrolling&&(this._smoothScrolling.animationFrameDisposable=null,this._performSmoothScrolling())})}}_setState(t,e){let i=this._state;i.equals(t)||(this._state=t,this._onScroll.fire(this._state.createScrollEvent(i,e)))}},nv=class{constructor(t,e,i){this.scrollLeft=t,this.scrollTop=e,this.isDone=i}};function hf(t,e){let i=e-t;return function(r){return t+i*eL(r)}}function KM(t,e,i){return function(r){return r2.5*r){let s,n;return e{var t;(t=this._domNode)==null||t.setClassName(this._visibleClassName)},0))}_hide(t){var e;this._revealTimer.cancel(),this._isVisible&&(this._isVisible=!1,(e=this._domNode)==null||e.setClassName(this._invisibleClassName+(t?" fade":"")))}},iL=140,Wb=class extends Qm{constructor(t){super(),this._lazyRender=t.lazyRender,this._host=t.host,this._scrollable=t.scrollable,this._scrollByPage=t.scrollByPage,this._scrollbarState=t.scrollbarState,this._visibilityController=this._register(new tL(t.visibility,"visible scrollbar "+t.extraScrollbarClassName,"invisible scrollbar "+t.extraScrollbarClassName)),this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._pointerMoveMonitor=this._register(new Nb),this._shouldRender=!0,this.domNode=Ko(document.createElement("div")),this.domNode.setAttribute("role","presentation"),this.domNode.setAttribute("aria-hidden","true"),this._visibilityController.setDomNode(this.domNode),this.domNode.setPosition("absolute"),this._register(K(this.domNode.domNode,et.POINTER_DOWN,e=>this._domNodePointerDown(e)))}_createArrow(t){let e=this._register(new HM(t));this.domNode.domNode.appendChild(e.bgDomNode),this.domNode.domNode.appendChild(e.domNode)}_createSlider(t,e,i,r){this.slider=Ko(document.createElement("div")),this.slider.setClassName("slider"),this.slider.setPosition("absolute"),this.slider.setTop(t),this.slider.setLeft(e),typeof i=="number"&&this.slider.setWidth(i),typeof r=="number"&&this.slider.setHeight(r),this.slider.setLayerHinting(!0),this.slider.setContain("strict"),this.domNode.domNode.appendChild(this.slider.domNode),this._register(K(this.slider.domNode,et.POINTER_DOWN,s=>{s.button===0&&(s.preventDefault(),this._sliderPointerDown(s))})),this.onclick(this.slider.domNode,s=>{s.leftButton&&s.stopPropagation()})}_onElementSize(t){return this._scrollbarState.setVisibleSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollSize(t){return this._scrollbarState.setScrollSize(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}_onElementScrollPosition(t){return this._scrollbarState.setScrollPosition(t)&&(this._visibilityController.setIsNeeded(this._scrollbarState.isNeeded()),this._shouldRender=!0,this._lazyRender||this.render()),this._shouldRender}beginReveal(){this._visibilityController.setShouldBeVisible(!0)}beginHide(){this._visibilityController.setShouldBeVisible(!1)}render(){this._shouldRender&&(this._shouldRender=!1,this._renderDomNode(this._scrollbarState.getRectangleLargeSize(),this._scrollbarState.getRectangleSmallSize()),this._updateSlider(this._scrollbarState.getSliderSize(),this._scrollbarState.getArrowSize()+this._scrollbarState.getSliderPosition()))}_domNodePointerDown(t){t.target===this.domNode.domNode&&this._onPointerDown(t)}delegatePointerDown(t){let e=this.domNode.domNode.getClientRects()[0].top,i=e+this._scrollbarState.getSliderPosition(),r=e+this._scrollbarState.getSliderPosition()+this._scrollbarState.getSliderSize(),s=this._sliderPointerPosition(t);i<=s&&s<=r?t.button===0&&(t.preventDefault(),this._sliderPointerDown(t)):this._onPointerDown(t)}_onPointerDown(t){let e,i;if(t.target===this.domNode.domNode&&typeof t.offsetX=="number"&&typeof t.offsetY=="number")e=t.offsetX,i=t.offsetY;else{let s=VM(this.domNode.domNode);e=t.pageX-s.left,i=t.pageY-s.top}let r=this._pointerDownRelativePosition(e,i);this._setDesiredScrollPositionNow(this._scrollByPage?this._scrollbarState.getDesiredScrollPositionFromOffsetPaged(r):this._scrollbarState.getDesiredScrollPositionFromOffset(r)),t.button===0&&(t.preventDefault(),this._sliderPointerDown(t))}_sliderPointerDown(t){if(!t.target||!(t.target instanceof Element))return;let e=this._sliderPointerPosition(t),i=this._sliderOrthogonalPointerPosition(t),r=this._scrollbarState.clone();this.slider.toggleClassName("active",!0),this._pointerMoveMonitor.startMonitoring(t.target,t.pointerId,t.buttons,s=>{let n=this._sliderOrthogonalPointerPosition(s),o=Math.abs(n-i);if(zb&&o>iL){this._setDesiredScrollPositionNow(r.getScrollPosition());return}let l=this._sliderPointerPosition(s)-e;this._setDesiredScrollPositionNow(r.getDesiredScrollPositionFromDelta(l))},()=>{this.slider.toggleClassName("active",!1),this._host.onDragEnd()}),this._host.onDragStart()}_setDesiredScrollPositionNow(t){let e={};this.writeScrollPosition(e,t),this._scrollable.setScrollPositionNow(e)}updateScrollbarSize(t){this._updateScrollbarSize(t),this._scrollbarState.setScrollbarSize(t),this._shouldRender=!0,this._lazyRender||this.render()}isNeeded(){return this._scrollbarState.isNeeded()}},jb=class bp{constructor(e,i,r,s,n,o){this._scrollbarSize=Math.round(i),this._oppositeScrollbarSize=Math.round(r),this._arrowSize=Math.round(e),this._visibleSize=s,this._scrollSize=n,this._scrollPosition=o,this._computedAvailableSize=0,this._computedIsNeeded=!1,this._computedSliderSize=0,this._computedSliderRatio=0,this._computedSliderPosition=0,this._refreshComputedValues()}clone(){return new bp(this._arrowSize,this._scrollbarSize,this._oppositeScrollbarSize,this._visibleSize,this._scrollSize,this._scrollPosition)}setVisibleSize(e){let i=Math.round(e);return this._visibleSize!==i?(this._visibleSize=i,this._refreshComputedValues(),!0):!1}setScrollSize(e){let i=Math.round(e);return this._scrollSize!==i?(this._scrollSize=i,this._refreshComputedValues(),!0):!1}setScrollPosition(e){let i=Math.round(e);return this._scrollPosition!==i?(this._scrollPosition=i,this._refreshComputedValues(),!0):!1}setScrollbarSize(e){this._scrollbarSize=Math.round(e)}setOppositeScrollbarSize(e){this._oppositeScrollbarSize=Math.round(e)}static _computeValues(e,i,r,s,n){let o=Math.max(0,r-e),l=Math.max(0,o-2*i),a=s>0&&s>r;if(!a)return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(l),computedSliderRatio:0,computedSliderPosition:0};let h=Math.round(Math.max(20,Math.floor(r*l/s))),c=(l-h)/(s-r),u=n*c;return{computedAvailableSize:Math.round(o),computedIsNeeded:a,computedSliderSize:Math.round(h),computedSliderRatio:c,computedSliderPosition:Math.round(u)}}_refreshComputedValues(){let e=bp._computeValues(this._oppositeScrollbarSize,this._arrowSize,this._visibleSize,this._scrollSize,this._scrollPosition);this._computedAvailableSize=e.computedAvailableSize,this._computedIsNeeded=e.computedIsNeeded,this._computedSliderSize=e.computedSliderSize,this._computedSliderRatio=e.computedSliderRatio,this._computedSliderPosition=e.computedSliderPosition}getArrowSize(){return this._arrowSize}getScrollPosition(){return this._scrollPosition}getRectangleLargeSize(){return this._computedAvailableSize}getRectangleSmallSize(){return this._scrollbarSize}isNeeded(){return this._computedIsNeeded}getSliderSize(){return this._computedSliderSize}getSliderPosition(){return this._computedSliderPosition}getDesiredScrollPositionFromOffset(e){if(!this._computedIsNeeded)return 0;let i=e-this._arrowSize-this._computedSliderSize/2;return Math.round(i/this._computedSliderRatio)}getDesiredScrollPositionFromOffsetPaged(e){if(!this._computedIsNeeded)return 0;let i=e-this._arrowSize,r=this._scrollPosition;return i0&&Math.abs(e.deltaY)>0)return 1;let r=.5;if((!this._isAlmostInt(e.deltaX)||!this._isAlmostInt(e.deltaY))&&(r+=.25),i){let s=Math.abs(e.deltaX),n=Math.abs(e.deltaY),o=Math.abs(i.deltaX),l=Math.abs(i.deltaY),a=Math.max(Math.min(s,o),1),h=Math.max(Math.min(n,l),1),c=Math.max(s,o),u=Math.max(n,l);c%a===0&&u%h===0&&(r-=.5)}return Math.min(Math.max(r,0),1)}_isAlmostInt(e){return Math.abs(Math.round(e)-e)<.01}};xp.INSTANCE=new xp;var lL=xp,aL=class extends Qm{constructor(t,e,i){super(),this._onScroll=this._register(new L),this.onScroll=this._onScroll.event,this._onWillScroll=this._register(new L),this.onWillScroll=this._onWillScroll.event,this._options=cL(e),this._scrollable=i,this._register(this._scrollable.onScroll(s=>{this._onWillScroll.fire(s),this._onDidScroll(s),this._onScroll.fire(s)}));let r={onMouseWheel:s=>this._onMouseWheel(s),onDragStart:()=>this._onDragStart(),onDragEnd:()=>this._onDragEnd()};this._verticalScrollbar=this._register(new sL(this._scrollable,this._options,r)),this._horizontalScrollbar=this._register(new rL(this._scrollable,this._options,r)),this._domNode=document.createElement("div"),this._domNode.className="xterm-scrollable-element "+this._options.className,this._domNode.setAttribute("role","presentation"),this._domNode.style.position="relative",this._domNode.appendChild(t),this._domNode.appendChild(this._horizontalScrollbar.domNode.domNode),this._domNode.appendChild(this._verticalScrollbar.domNode.domNode),this._options.useShadows?(this._leftShadowDomNode=Ko(document.createElement("div")),this._leftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._leftShadowDomNode.domNode),this._topShadowDomNode=Ko(document.createElement("div")),this._topShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topShadowDomNode.domNode),this._topLeftShadowDomNode=Ko(document.createElement("div")),this._topLeftShadowDomNode.setClassName("shadow"),this._domNode.appendChild(this._topLeftShadowDomNode.domNode)):(this._leftShadowDomNode=null,this._topShadowDomNode=null,this._topLeftShadowDomNode=null),this._listenOnDomNode=this._options.listenOnDomNode||this._domNode,this._mouseWheelToDispose=[],this._setListeningToMouseWheel(this._options.handleMouseWheel),this.onmouseover(this._listenOnDomNode,s=>this._onMouseOver(s)),this.onmouseleave(this._listenOnDomNode,s=>this._onMouseLeave(s)),this._hideTimeout=this._register(new Pm),this._isDragging=!1,this._mouseIsOver=!1,this._shouldRender=!0,this._revealOnScroll=!0}get options(){return this._options}dispose(){this._mouseWheelToDispose=Is(this._mouseWheelToDispose),super.dispose()}getDomNode(){return this._domNode}getOverviewRulerLayoutInfo(){return{parent:this._domNode,insertBefore:this._verticalScrollbar.domNode.domNode}}delegateVerticalScrollbarPointerDown(t){this._verticalScrollbar.delegatePointerDown(t)}getScrollDimensions(){return this._scrollable.getScrollDimensions()}setScrollDimensions(t){this._scrollable.setScrollDimensions(t,!1)}updateClassName(t){this._options.className=t,rr&&(this._options.className+=" mac"),this._domNode.className="xterm-scrollable-element "+this._options.className}updateOptions(t){typeof t.handleMouseWheel<"u"&&(this._options.handleMouseWheel=t.handleMouseWheel,this._setListeningToMouseWheel(this._options.handleMouseWheel)),typeof t.mouseWheelScrollSensitivity<"u"&&(this._options.mouseWheelScrollSensitivity=t.mouseWheelScrollSensitivity),typeof t.fastScrollSensitivity<"u"&&(this._options.fastScrollSensitivity=t.fastScrollSensitivity),typeof t.scrollPredominantAxis<"u"&&(this._options.scrollPredominantAxis=t.scrollPredominantAxis),typeof t.horizontal<"u"&&(this._options.horizontal=t.horizontal),typeof t.vertical<"u"&&(this._options.vertical=t.vertical),typeof t.horizontalScrollbarSize<"u"&&(this._options.horizontalScrollbarSize=t.horizontalScrollbarSize),typeof t.verticalScrollbarSize<"u"&&(this._options.verticalScrollbarSize=t.verticalScrollbarSize),typeof t.scrollByPage<"u"&&(this._options.scrollByPage=t.scrollByPage),this._horizontalScrollbar.updateOptions(this._options),this._verticalScrollbar.updateOptions(this._options),this._options.lazyRender||this._render()}setRevealOnScroll(t){this._revealOnScroll=t}delegateScrollFromMouseWheelEvent(t){this._onMouseWheel(new ev(t))}_setListeningToMouseWheel(t){if(this._mouseWheelToDispose.length>0!==t&&(this._mouseWheelToDispose=Is(this._mouseWheelToDispose),t)){let e=i=>{this._onMouseWheel(new ev(i))};this._mouseWheelToDispose.push(K(this._listenOnDomNode,et.MOUSE_WHEEL,e,{passive:!1}))}}_onMouseWheel(t){var s;if((s=t.browserEvent)!=null&&s.defaultPrevented)return;let e=lL.INSTANCE;e.acceptStandardWheelEvent(t);let i=!1;if(t.deltaY||t.deltaX){let n=t.deltaY*this._options.mouseWheelScrollSensitivity,o=t.deltaX*this._options.mouseWheelScrollSensitivity;this._options.scrollPredominantAxis&&(this._options.scrollYToX&&o+n===0?o=n=0:Math.abs(n)>=Math.abs(o)?o=0:n=0),this._options.flipAxes&&([n,o]=[o,n]);let l=!rr&&t.browserEvent&&t.browserEvent.shiftKey;(this._options.scrollYToX||l)&&!o&&(o=n,n=0),t.browserEvent&&t.browserEvent.altKey&&(o=o*this._options.fastScrollSensitivity,n=n*this._options.fastScrollSensitivity);let a=this._scrollable.getFutureScrollPosition(),h={};if(n){let c=lv*n,u=a.scrollTop-(c<0?Math.floor(c):Math.ceil(c));this._verticalScrollbar.writeScrollPosition(h,u)}if(o){let c=lv*o,u=a.scrollLeft-(c<0?Math.floor(c):Math.ceil(c));this._horizontalScrollbar.writeScrollPosition(h,u)}h=this._scrollable.validateScrollPosition(h),(a.scrollLeft!==h.scrollLeft||a.scrollTop!==h.scrollTop)&&(this._options.mouseWheelSmoothScroll&&e.isPhysicalMouseWheel()?this._scrollable.setScrollPositionSmooth(h):this._scrollable.setScrollPositionNow(h),i=!0)}let r=i;!r&&this._options.alwaysConsumeMouseWheel&&(r=!0),!r&&this._options.consumeMouseWheelIfScrollbarIsNeeded&&(this._verticalScrollbar.isNeeded()||this._horizontalScrollbar.isNeeded())&&(r=!0),r&&(t.preventDefault(),t.stopPropagation())}_onDidScroll(t){this._shouldRender=this._horizontalScrollbar.onDidScroll(t)||this._shouldRender,this._shouldRender=this._verticalScrollbar.onDidScroll(t)||this._shouldRender,this._options.useShadows&&(this._shouldRender=!0),this._revealOnScroll&&this._reveal(),this._options.lazyRender||this._render()}renderNow(){if(!this._options.lazyRender)throw new Error("Please use `lazyRender` together with `renderNow`!");this._render()}_render(){if(this._shouldRender&&(this._shouldRender=!1,this._horizontalScrollbar.render(),this._verticalScrollbar.render(),this._options.useShadows)){let t=this._scrollable.getCurrentScrollPosition(),e=t.scrollTop>0,i=t.scrollLeft>0,r=i?" left":"",s=e?" top":"",n=i||e?" top-left-corner":"";this._leftShadowDomNode.setClassName(`shadow${r}`),this._topShadowDomNode.setClassName(`shadow${s}`),this._topLeftShadowDomNode.setClassName(`shadow${n}${s}${r}`)}}_onDragStart(){this._isDragging=!0,this._reveal()}_onDragEnd(){this._isDragging=!1,this._hide()}_onMouseLeave(t){this._mouseIsOver=!1,this._hide()}_onMouseOver(t){this._mouseIsOver=!0,this._reveal()}_reveal(){this._verticalScrollbar.beginReveal(),this._horizontalScrollbar.beginReveal(),this._scheduleHide()}_hide(){!this._mouseIsOver&&!this._isDragging&&(this._verticalScrollbar.beginHide(),this._horizontalScrollbar.beginHide())}_scheduleHide(){!this._mouseIsOver&&!this._isDragging&&this._hideTimeout.cancelAndSet(()=>this._hide(),nL)}},hL=class extends aL{constructor(t,e,i){super(t,e,i)}setScrollPosition(t){t.reuseAnimation?this._scrollable.setScrollPositionSmooth(t,t.reuseAnimation):this._scrollable.setScrollPositionNow(t)}getScrollPosition(){return this._scrollable.getCurrentScrollPosition()}};function cL(t){let e={lazyRender:typeof t.lazyRender<"u"?t.lazyRender:!1,className:typeof t.className<"u"?t.className:"",useShadows:typeof t.useShadows<"u"?t.useShadows:!0,handleMouseWheel:typeof t.handleMouseWheel<"u"?t.handleMouseWheel:!0,flipAxes:typeof t.flipAxes<"u"?t.flipAxes:!1,consumeMouseWheelIfScrollbarIsNeeded:typeof t.consumeMouseWheelIfScrollbarIsNeeded<"u"?t.consumeMouseWheelIfScrollbarIsNeeded:!1,alwaysConsumeMouseWheel:typeof t.alwaysConsumeMouseWheel<"u"?t.alwaysConsumeMouseWheel:!1,scrollYToX:typeof t.scrollYToX<"u"?t.scrollYToX:!1,mouseWheelScrollSensitivity:typeof t.mouseWheelScrollSensitivity<"u"?t.mouseWheelScrollSensitivity:1,fastScrollSensitivity:typeof t.fastScrollSensitivity<"u"?t.fastScrollSensitivity:5,scrollPredominantAxis:typeof t.scrollPredominantAxis<"u"?t.scrollPredominantAxis:!0,mouseWheelSmoothScroll:typeof t.mouseWheelSmoothScroll<"u"?t.mouseWheelSmoothScroll:!0,arrowSize:typeof t.arrowSize<"u"?t.arrowSize:11,listenOnDomNode:typeof t.listenOnDomNode<"u"?t.listenOnDomNode:null,horizontal:typeof t.horizontal<"u"?t.horizontal:1,horizontalScrollbarSize:typeof t.horizontalScrollbarSize<"u"?t.horizontalScrollbarSize:10,horizontalSliderSize:typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:0,horizontalHasArrows:typeof t.horizontalHasArrows<"u"?t.horizontalHasArrows:!1,vertical:typeof t.vertical<"u"?t.vertical:1,verticalScrollbarSize:typeof t.verticalScrollbarSize<"u"?t.verticalScrollbarSize:10,verticalHasArrows:typeof t.verticalHasArrows<"u"?t.verticalHasArrows:!1,verticalSliderSize:typeof t.verticalSliderSize<"u"?t.verticalSliderSize:0,scrollByPage:typeof t.scrollByPage<"u"?t.scrollByPage:!1};return e.horizontalSliderSize=typeof t.horizontalSliderSize<"u"?t.horizontalSliderSize:e.horizontalScrollbarSize,e.verticalSliderSize=typeof t.verticalSliderSize<"u"?t.verticalSliderSize:e.verticalScrollbarSize,rr&&(e.className+=" mac"),e}var Cp=class extends re{constructor(t,e,i,r,s,n,o,l){super(),this._bufferService=i,this._optionsService=o,this._renderService=l,this._onRequestScrollLines=this._register(new L),this.onRequestScrollLines=this._onRequestScrollLines.event,this._isSyncing=!1,this._isHandlingScroll=!1,this._suppressOnScrollHandler=!1;let a=this._register(new GM({forceIntegerValues:!1,smoothScrollDuration:this._optionsService.rawOptions.smoothScrollDuration,scheduleAtNextAnimationFrame:h=>$m(r.window,h)}));this._register(this._optionsService.onSpecificOptionChange("smoothScrollDuration",()=>{a.setSmoothScrollDuration(this._optionsService.rawOptions.smoothScrollDuration)})),this._scrollableElement=this._register(new hL(e,{vertical:1,horizontal:2,useShadows:!1,mouseWheelSmoothScroll:!0,...this._getChangeOptions()},a)),this._register(this._optionsService.onMultipleOptionChange(["scrollSensitivity","fastScrollSensitivity","overviewRuler"],()=>this._scrollableElement.updateOptions(this._getChangeOptions()))),this._register(s.onProtocolChange(h=>{this._scrollableElement.updateOptions({handleMouseWheel:!(h&16)})})),this._scrollableElement.setScrollDimensions({height:0,scrollHeight:0}),this._register(ut.runAndSubscribe(n.onChangeColors,()=>{this._scrollableElement.getDomNode().style.backgroundColor=n.colors.background.css})),t.appendChild(this._scrollableElement.getDomNode()),this._register(Pe(()=>this._scrollableElement.getDomNode().remove())),this._styleElement=r.mainDocument.createElement("style"),e.appendChild(this._styleElement),this._register(Pe(()=>this._styleElement.remove())),this._register(ut.runAndSubscribe(n.onChangeColors,()=>{this._styleElement.textContent=[".xterm .xterm-scrollable-element > .scrollbar > .slider {",` background: ${n.colors.scrollbarSliderBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider:hover {",` background: ${n.colors.scrollbarSliderHoverBackground.css};`,"}",".xterm .xterm-scrollable-element > .scrollbar > .slider.active {",` background: ${n.colors.scrollbarSliderActiveBackground.css};`,"}"].join(` +`)})),this._register(this._bufferService.onResize(()=>this.queueSync())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._latestYDisp=void 0,this.queueSync()})),this._register(this._bufferService.onScroll(()=>this._sync())),this._register(this._scrollableElement.onScroll(h=>this._handleScroll(h)))}scrollLines(t){let e=this._scrollableElement.getScrollPosition();this._scrollableElement.setScrollPosition({reuseAnimation:!0,scrollTop:e.scrollTop+t*this._renderService.dimensions.css.cell.height})}scrollToLine(t,e){e&&(this._latestYDisp=t),this._scrollableElement.setScrollPosition({reuseAnimation:!e,scrollTop:t*this._renderService.dimensions.css.cell.height})}_getChangeOptions(){var t;return{mouseWheelScrollSensitivity:this._optionsService.rawOptions.scrollSensitivity,fastScrollSensitivity:this._optionsService.rawOptions.fastScrollSensitivity,verticalScrollbarSize:((t=this._optionsService.rawOptions.overviewRuler)==null?void 0:t.width)||14}}queueSync(t){t!==void 0&&(this._latestYDisp=t),this._queuedAnimationFrame===void 0&&(this._queuedAnimationFrame=this._renderService.addRefreshCallback(()=>{this._queuedAnimationFrame=void 0,this._sync(this._latestYDisp)}))}_sync(t=this._bufferService.buffer.ydisp){!this._renderService||this._isSyncing||(this._isSyncing=!0,this._suppressOnScrollHandler=!0,this._scrollableElement.setScrollDimensions({height:this._renderService.dimensions.css.canvas.height,scrollHeight:this._renderService.dimensions.css.cell.height*this._bufferService.buffer.lines.length}),this._suppressOnScrollHandler=!1,t!==this._latestYDisp&&this._scrollableElement.setScrollPosition({scrollTop:t*this._renderService.dimensions.css.cell.height}),this._isSyncing=!1)}_handleScroll(t){if(!this._renderService||this._isHandlingScroll||this._suppressOnScrollHandler)return;this._isHandlingScroll=!0;let e=Math.round(t.scrollTop/this._renderService.dimensions.css.cell.height),i=e-this._bufferService.buffer.ydisp;i!==0&&(this._latestYDisp=e,this._onRequestScrollLines.fire(i)),this._isHandlingScroll=!1}};Cp=De([N(2,Rt),N(3,Pr),N(4,bb),N(5,Kn),N(6,At),N(7,$r)],Cp);var Pp=class extends re{constructor(t,e,i,r,s){super(),this._screenElement=t,this._bufferService=e,this._coreBrowserService=i,this._decorationService=r,this._renderService=s,this._decorationElements=new Map,this._altBufferIsActive=!1,this._dimensionsChanged=!1,this._container=document.createElement("div"),this._container.classList.add("xterm-decoration-container"),this._screenElement.appendChild(this._container),this._register(this._renderService.onRenderedViewportChange(()=>this._doRefreshDecorations())),this._register(this._renderService.onDimensionsChange(()=>{this._dimensionsChanged=!0,this._queueRefresh()})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._altBufferIsActive=this._bufferService.buffer===this._bufferService.buffers.alt})),this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh())),this._register(this._decorationService.onDecorationRemoved(n=>this._removeDecoration(n))),this._register(Pe(()=>{this._container.remove(),this._decorationElements.clear()}))}_queueRefresh(){this._animationFrame===void 0&&(this._animationFrame=this._renderService.addRefreshCallback(()=>{this._doRefreshDecorations(),this._animationFrame=void 0}))}_doRefreshDecorations(){for(let t of this._decorationService.decorations)this._renderDecoration(t);this._dimensionsChanged=!1}_renderDecoration(t){this._refreshStyle(t),this._dimensionsChanged&&this._refreshXPosition(t)}_createElement(t){var r;let e=this._coreBrowserService.mainDocument.createElement("div");e.classList.add("xterm-decoration"),e.classList.toggle("xterm-decoration-top-layer",((r=t==null?void 0:t.options)==null?void 0:r.layer)==="top"),e.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,e.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,e.style.top=`${(t.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height}px`,e.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;let i=t.options.x??0;return i&&i>this._bufferService.cols&&(e.style.display="none"),this._refreshXPosition(t,e),e}_refreshStyle(t){let e=t.marker.line-this._bufferService.buffers.active.ydisp;if(e<0||e>=this._bufferService.rows)t.element&&(t.element.style.display="none",t.onRenderEmitter.fire(t.element));else{let i=this._decorationElements.get(t);i||(i=this._createElement(t),t.element=i,this._decorationElements.set(t,i),this._container.appendChild(i),t.onDispose(()=>{this._decorationElements.delete(t),i.remove()})),i.style.display=this._altBufferIsActive?"none":"block",this._altBufferIsActive||(i.style.width=`${Math.round((t.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,i.style.height=`${(t.options.height||1)*this._renderService.dimensions.css.cell.height}px`,i.style.top=`${e*this._renderService.dimensions.css.cell.height}px`,i.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`),t.onRenderEmitter.fire(i)}}_refreshXPosition(t,e=t.element){if(!e)return;let i=t.options.x??0;(t.options.anchor||"left")==="right"?e.style.right=i?`${i*this._renderService.dimensions.css.cell.width}px`:"":e.style.left=i?`${i*this._renderService.dimensions.css.cell.width}px`:""}_removeDecoration(t){var e;(e=this._decorationElements.get(t))==null||e.remove(),this._decorationElements.delete(t),t.dispose()}};Pp=De([N(1,Rt),N(2,Pr),N(3,Ul),N(4,$r)],Pp);var uL=class{constructor(){this._zones=[],this._zonePool=[],this._zonePoolIndex=0,this._linePadding={full:0,left:0,center:0,right:0}}get zones(){return this._zonePool.length=Math.min(this._zonePool.length,this._zones.length),this._zones}clear(){this._zones.length=0,this._zonePoolIndex=0}addDecoration(t){if(t.options.overviewRulerOptions){for(let e of this._zones)if(e.color===t.options.overviewRulerOptions.color&&e.position===t.options.overviewRulerOptions.position){if(this._lineIntersectsZone(e,t.marker.line))return;if(this._lineAdjacentToZone(e,t.marker.line,t.options.overviewRulerOptions.position)){this._addLineToZone(e,t.marker.line);return}}if(this._zonePoolIndex=t.startBufferLine&&e<=t.endBufferLine}_lineAdjacentToZone(t,e,i){return e>=t.startBufferLine-this._linePadding[i||"full"]&&e<=t.endBufferLine+this._linePadding[i||"full"]}_addLineToZone(t,e){t.startBufferLine=Math.min(t.startBufferLine,e),t.endBufferLine=Math.max(t.endBufferLine,e)}},Xi={full:0,left:0,center:0,right:0},Mr={full:0,left:0,center:0,right:0},_o={full:0,left:0,center:0,right:0},uc=class extends re{constructor(t,e,i,r,s,n,o,l){var h;super(),this._viewportElement=t,this._screenElement=e,this._bufferService=i,this._decorationService=r,this._renderService=s,this._optionsService=n,this._themeService=o,this._coreBrowserService=l,this._colorZoneStore=new uL,this._shouldUpdateDimensions=!0,this._shouldUpdateAnchor=!0,this._lastKnownBufferLength=0,this._canvas=this._coreBrowserService.mainDocument.createElement("canvas"),this._canvas.classList.add("xterm-decoration-overview-ruler"),this._refreshCanvasDimensions(),(h=this._viewportElement.parentElement)==null||h.insertBefore(this._canvas,this._viewportElement),this._register(Pe(()=>{var c;return(c=this._canvas)==null?void 0:c.remove()}));let a=this._canvas.getContext("2d");if(a)this._ctx=a;else throw new Error("Ctx cannot be null");this._register(this._decorationService.onDecorationRegistered(()=>this._queueRefresh(void 0,!0))),this._register(this._decorationService.onDecorationRemoved(()=>this._queueRefresh(void 0,!0))),this._register(this._renderService.onRenderedViewportChange(()=>this._queueRefresh())),this._register(this._bufferService.buffers.onBufferActivate(()=>{this._canvas.style.display=this._bufferService.buffer===this._bufferService.buffers.alt?"none":"block"})),this._register(this._bufferService.onScroll(()=>{this._lastKnownBufferLength!==this._bufferService.buffers.normal.lines.length&&(this._refreshDrawHeightConstants(),this._refreshColorZonePadding())})),this._register(this._renderService.onRender(()=>{(!this._containerHeight||this._containerHeight!==this._screenElement.clientHeight)&&(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)})),this._register(this._coreBrowserService.onDprChange(()=>this._queueRefresh(!0))),this._register(this._optionsService.onSpecificOptionChange("overviewRuler",()=>this._queueRefresh(!0))),this._register(this._themeService.onChangeColors(()=>this._queueRefresh())),this._queueRefresh(!0)}get _width(){var t;return((t=this._optionsService.options.overviewRuler)==null?void 0:t.width)||0}_refreshDrawConstants(){let t=Math.floor((this._canvas.width-1)/3),e=Math.ceil((this._canvas.width-1)/3);Mr.full=this._canvas.width,Mr.left=t,Mr.center=e,Mr.right=t,this._refreshDrawHeightConstants(),_o.full=1,_o.left=1,_o.center=1+Mr.left,_o.right=1+Mr.left+Mr.center}_refreshDrawHeightConstants(){Xi.full=Math.round(2*this._coreBrowserService.dpr);let t=this._canvas.height/this._bufferService.buffer.lines.length,e=Math.round(Math.max(Math.min(t,12),6)*this._coreBrowserService.dpr);Xi.left=e,Xi.center=e,Xi.right=e}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Xi.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Xi.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Xi.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*Xi.right)}),this._lastKnownBufferLength=this._bufferService.buffers.normal.lines.length}_refreshCanvasDimensions(){this._canvas.style.width=`${this._width}px`,this._canvas.width=Math.round(this._width*this._coreBrowserService.dpr),this._canvas.style.height=`${this._screenElement.clientHeight}px`,this._canvas.height=Math.round(this._screenElement.clientHeight*this._coreBrowserService.dpr),this._refreshDrawConstants(),this._refreshColorZonePadding()}_refreshDecorations(){this._shouldUpdateDimensions&&this._refreshCanvasDimensions(),this._ctx.clearRect(0,0,this._canvas.width,this._canvas.height),this._colorZoneStore.clear();for(let e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1,this._renderRulerOutline();let t=this._colorZoneStore.zones;for(let e of t)e.position!=="full"&&this._renderColorZone(e);for(let e of t)e.position==="full"&&this._renderColorZone(e);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderRulerOutline(){this._ctx.fillStyle=this._themeService.colors.overviewRulerBorder.css,this._ctx.fillRect(0,0,1,this._canvas.height),this._optionsService.rawOptions.overviewRuler.showTopBorder&&this._ctx.fillRect(1,0,this._canvas.width-1,1),this._optionsService.rawOptions.overviewRuler.showBottomBorder&&this._ctx.fillRect(1,this._canvas.height-1,this._canvas.width-1,this._canvas.height)}_renderColorZone(t){this._ctx.fillStyle=t.color,this._ctx.fillRect(_o[t.position||"full"],Math.round((this._canvas.height-1)*(t.startBufferLine/this._bufferService.buffers.active.lines.length)-Xi[t.position||"full"]/2),Mr[t.position||"full"],Math.round((this._canvas.height-1)*((t.endBufferLine-t.startBufferLine)/this._bufferService.buffers.active.lines.length)+Xi[t.position||"full"]))}_queueRefresh(t,e){this._shouldUpdateDimensions=t||this._shouldUpdateDimensions,this._shouldUpdateAnchor=e||this._shouldUpdateAnchor,this._animationFrame===void 0&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>{this._refreshDecorations(),this._animationFrame=void 0}))}};uc=De([N(2,Rt),N(3,Ul),N(4,$r),N(5,At),N(6,Kn),N(7,Pr)],uc);var Q;(t=>(t.NUL="\0",t.SOH="",t.STX="",t.ETX="",t.EOT="",t.ENQ="",t.ACK="",t.BEL="\x07",t.BS="\b",t.HT=" ",t.LF=` +`,t.VT="\v",t.FF="\f",t.CR="\r",t.SO="",t.SI="",t.DLE="",t.DC1="",t.DC2="",t.DC3="",t.DC4="",t.NAK="",t.SYN="",t.ETB="",t.CAN="",t.EM="",t.SUB="",t.ESC="\x1B",t.FS="",t.GS="",t.RS="",t.US="",t.SP=" ",t.DEL=""))(Q||(Q={}));var uh;(t=>(t.PAD="€",t.HOP="",t.BPH="‚",t.NBH="ƒ",t.IND="„",t.NEL="…",t.SSA="†",t.ESA="‡",t.HTS="ˆ",t.HTJ="‰",t.VTS="Š",t.PLD="‹",t.PLU="Œ",t.RI="",t.SS2="Ž",t.SS3="",t.DCS="",t.PU1="‘",t.PU2="’",t.STS="“",t.CCH="”",t.MW="•",t.SPA="–",t.EPA="—",t.SOS="˜",t.SGCI="™",t.SCI="š",t.CSI="›",t.ST="œ",t.OSC="",t.PM="ž",t.APC="Ÿ"))(uh||(uh={}));var Vb;(t=>t.ST=`${Q.ESC}\\`)(Vb||(Vb={}));var $p=class{constructor(t,e,i,r,s,n){this._textarea=t,this._compositionView=e,this._bufferService=i,this._optionsService=r,this._coreService=s,this._renderService=n,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=""}get isComposing(){return this._isComposing}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent="",this._dataAlreadySent="",this._compositionView.classList.add("active")}compositionupdate(t){this._compositionView.textContent=t.data,this.updateCompositionElements(),setTimeout(()=>{this._compositionPosition.end=this._textarea.value.length},0)}compositionend(){this._finalizeComposition(!0)}keydown(t){if(this._isComposing||this._isSendingComposition){if(t.keyCode===20||t.keyCode===229||t.keyCode===16||t.keyCode===17||t.keyCode===18)return!1;this._finalizeComposition(!1)}return t.keyCode===229?(this._handleAnyTextareaChanges(),!1):!0}_finalizeComposition(t){if(this._compositionView.classList.remove("active"),this._isComposing=!1,t){let e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout(()=>{if(this._isSendingComposition){this._isSendingComposition=!1;let i;e.start+=this._dataAlreadySent.length,this._isComposing?i=this._textarea.value.substring(e.start,this._compositionPosition.start):i=this._textarea.value.substring(e.start),i.length>0&&this._coreService.triggerDataEvent(i,!0)}},0)}else{this._isSendingComposition=!1;let e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){let t=this._textarea.value;setTimeout(()=>{if(!this._isComposing){let e=this._textarea.value,i=e.replace(t,"");this._dataAlreadySent=i,e.length>t.length?this._coreService.triggerDataEvent(i,!0):e.lengththis.updateCompositionElements(!0),0)}}};$p=De([N(2,Rt),N(3,At),N(4,Vs),N(5,$r)],$p);var it=0,rt=0,st=0,Ae=0,av={css:"#00000000",rgba:0},We;(t=>{function e(s,n,o,l){return l!==void 0?`#${ps(s)}${ps(n)}${ps(o)}${ps(l)}`:`#${ps(s)}${ps(n)}${ps(o)}`}t.toCss=e;function i(s,n,o,l=255){return(s<<24|n<<16|o<<8|l)>>>0}t.toRgba=i;function r(s,n,o,l){return{css:t.toCss(s,n,o,l),rgba:t.toRgba(s,n,o,l)}}t.toColor=r})(We||(We={}));var ke;(t=>{function e(a,h){if(Ae=(h.rgba&255)/255,Ae===1)return{css:h.css,rgba:h.rgba};let c=h.rgba>>24&255,u=h.rgba>>16&255,f=h.rgba>>8&255,d=a.rgba>>24&255,p=a.rgba>>16&255,g=a.rgba>>8&255;it=d+Math.round((c-d)*Ae),rt=p+Math.round((u-p)*Ae),st=g+Math.round((f-g)*Ae);let v=We.toCss(it,rt,st),m=We.toRgba(it,rt,st);return{css:v,rgba:m}}t.blend=e;function i(a){return(a.rgba&255)===255}t.isOpaque=i;function r(a,h,c){let u=fh.ensureContrastRatio(a.rgba,h.rgba,c);if(u)return We.toColor(u>>24&255,u>>16&255,u>>8&255)}t.ensureContrastRatio=r;function s(a){let h=(a.rgba|255)>>>0;return[it,rt,st]=fh.toChannels(h),{css:We.toCss(it,rt,st),rgba:h}}t.opaque=s;function n(a,h){return Ae=Math.round(h*255),[it,rt,st]=fh.toChannels(a.rgba),{css:We.toCss(it,rt,st,Ae),rgba:We.toRgba(it,rt,st,Ae)}}t.opacity=n;function o(a,h){return Ae=a.rgba&255,n(a,Ae*h/255)}t.multiplyOpacity=o;function l(a){return[a.rgba>>24&255,a.rgba>>16&255,a.rgba>>8&255]}t.toColorRGB=l})(ke||(ke={}));var Qe;(t=>{let e,i;try{let s=document.createElement("canvas");s.width=1,s.height=1;let n=s.getContext("2d",{willReadFrequently:!0});n&&(e=n,e.globalCompositeOperation="copy",i=e.createLinearGradient(0,0,1,1))}catch{}function r(s){if(s.match(/#[\da-f]{3,8}/i))switch(s.length){case 4:return it=parseInt(s.slice(1,2).repeat(2),16),rt=parseInt(s.slice(2,3).repeat(2),16),st=parseInt(s.slice(3,4).repeat(2),16),We.toColor(it,rt,st);case 5:return it=parseInt(s.slice(1,2).repeat(2),16),rt=parseInt(s.slice(2,3).repeat(2),16),st=parseInt(s.slice(3,4).repeat(2),16),Ae=parseInt(s.slice(4,5).repeat(2),16),We.toColor(it,rt,st,Ae);case 7:return{css:s,rgba:(parseInt(s.slice(1),16)<<8|255)>>>0};case 9:return{css:s,rgba:parseInt(s.slice(1),16)>>>0}}let n=s.match(/rgba?\(\s*(\d{1,3})\s*,\s*(\d{1,3})\s*,\s*(\d{1,3})\s*(,\s*(0|1|\d?\.(\d+))\s*)?\)/);if(n)return it=parseInt(n[1]),rt=parseInt(n[2]),st=parseInt(n[3]),Ae=Math.round((n[5]===void 0?1:parseFloat(n[5]))*255),We.toColor(it,rt,st,Ae);if(!e||!i)throw new Error("css.toColor: Unsupported css format");if(e.fillStyle=i,e.fillStyle=s,typeof e.fillStyle!="string")throw new Error("css.toColor: Unsupported css format");if(e.fillRect(0,0,1,1),[it,rt,st,Ae]=e.getImageData(0,0,1,1).data,Ae!==255)throw new Error("css.toColor: Unsupported css format");return{rgba:We.toRgba(it,rt,st,Ae),css:s}}t.toColor=r})(Qe||(Qe={}));var bt;(t=>{function e(r){return i(r>>16&255,r>>8&255,r&255)}t.relativeLuminance=e;function i(r,s,n){let o=r/255,l=s/255,a=n/255,h=o<=.03928?o/12.92:Math.pow((o+.055)/1.055,2.4),c=l<=.03928?l/12.92:Math.pow((l+.055)/1.055,2.4),u=a<=.03928?a/12.92:Math.pow((a+.055)/1.055,2.4);return h*.2126+c*.7152+u*.0722}t.relativeLuminance2=i})(bt||(bt={}));var fh;(t=>{function e(o,l){if(Ae=(l&255)/255,Ae===1)return l;let a=l>>24&255,h=l>>16&255,c=l>>8&255,u=o>>24&255,f=o>>16&255,d=o>>8&255;return it=u+Math.round((a-u)*Ae),rt=f+Math.round((h-f)*Ae),st=d+Math.round((c-d)*Ae),We.toRgba(it,rt,st)}t.blend=e;function i(o,l,a){let h=bt.relativeLuminance(o>>8),c=bt.relativeLuminance(l>>8);if(or(h,c)>8));if(p>8));return p>v?d:g}return d}let u=s(o,l,a),f=or(h,bt.relativeLuminance(u>>8));if(f>8));return f>p?u:d}return u}}t.ensureContrastRatio=i;function r(o,l,a){let h=o>>24&255,c=o>>16&255,u=o>>8&255,f=l>>24&255,d=l>>16&255,p=l>>8&255,g=or(bt.relativeLuminance2(f,d,p),bt.relativeLuminance2(h,c,u));for(;g0||d>0||p>0);)f-=Math.max(0,Math.ceil(f*.1)),d-=Math.max(0,Math.ceil(d*.1)),p-=Math.max(0,Math.ceil(p*.1)),g=or(bt.relativeLuminance2(f,d,p),bt.relativeLuminance2(h,c,u));return(f<<24|d<<16|p<<8|255)>>>0}t.reduceLuminance=r;function s(o,l,a){let h=o>>24&255,c=o>>16&255,u=o>>8&255,f=l>>24&255,d=l>>16&255,p=l>>8&255,g=or(bt.relativeLuminance2(f,d,p),bt.relativeLuminance2(h,c,u));for(;g>>0}t.increaseLuminance=s;function n(o){return[o>>24&255,o>>16&255,o>>8&255,o&255]}t.toChannels=n})(fh||(fh={}));function ps(t){let e=t.toString(16);return e.length<2?"0"+e:e}function or(t,e){return t1){let c=this._getJoinedRanges(r,o,n,e,s);for(let u=0;u1){let h=this._getJoinedRanges(r,o,n,e,s);for(let c=0;c=B,F=C,x=this._workCell;if(f.length>0&&C===f[0][0]&&I){let fe=f.shift(),Kc=this._isCellInSelection(fe[0],e);for(O=fe[0]+1;O=fe[1]),I?(A=!0,x=new fL(this._workCell,t.translateToString(!0,fe[0],fe[1]),fe[1]-fe[0]),F=fe[1]-1,R=x.getWidth()):B=fe[1]}let Z=this._isCellInSelection(C,e),V=i&&C===n,ee=$&&C>=h&&C<=c,te=!1;this._decorationService.forEachDecorationAtCell(C,e,void 0,fe=>{te=!0});let ge=x.getChars()||qr;if(ge===" "&&(x.isUnderline()||x.isOverline())&&(ge=" "),D=R*l-a.get(ge,x.isBold(),x.isItalic()),!g)g=this._document.createElement("span");else if(v&&(Z&&P||!Z&&!P&&x.bg===_)&&(Z&&P&&d.selectionForeground||x.fg===w)&&x.extended.ext===b&&ee===S&&D===k&&!V&&!A&&!te&&I){x.isInvisible()?m+=qr:m+=ge,v++;continue}else v&&(g.textContent=m),g=this._document.createElement("span"),v=0,m="";if(_=x.bg,w=x.fg,b=x.extended.ext,S=ee,k=D,P=Z,A&&n>=C&&n<=F&&(n=C),!this._coreService.isCursorHidden&&V&&this._coreService.isCursorInitialized){if(X.push("xterm-cursor"),this._coreBrowserService.isFocused)o&&X.push("xterm-cursor-blink"),X.push(r==="bar"?"xterm-cursor-bar":r==="underline"?"xterm-cursor-underline":"xterm-cursor-block");else if(s)switch(s){case"outline":X.push("xterm-cursor-outline");break;case"block":X.push("xterm-cursor-block");break;case"bar":X.push("xterm-cursor-bar");break;case"underline":X.push("xterm-cursor-underline");break}}if(x.isBold()&&X.push("xterm-bold"),x.isItalic()&&X.push("xterm-italic"),x.isDim()&&X.push("xterm-dim"),x.isInvisible()?m=qr:m=x.getChars()||qr,x.isUnderline()&&(X.push(`xterm-underline-${x.extended.underlineStyle}`),m===" "&&(m=" "),!x.isUnderlineColorDefault()))if(x.isUnderlineColorRGB())g.style.textDecorationColor=`rgb(${Hl.toColorRGB(x.getUnderlineColor()).join(",")})`;else{let fe=x.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&x.isBold()&&fe<8&&(fe+=8),g.style.textDecorationColor=d.ansi[fe].css}x.isOverline()&&(X.push("xterm-overline"),m===" "&&(m=" ")),x.isStrikethrough()&&X.push("xterm-strikethrough"),ee&&(g.style.textDecoration="underline");let ce=x.getFgColor(),Be=x.getFgColorMode(),ye=x.getBgColor(),kt=x.getBgColorMode(),Gc=!!x.isInverse();if(Gc){let fe=ce;ce=ye,ye=fe;let Kc=Be;Be=kt,kt=Kc}let Qr,Jl,eo=!1;this._decorationService.forEachDecorationAtCell(C,e,void 0,fe=>{fe.options.layer!=="top"&&eo||(fe.backgroundColorRGB&&(kt=50331648,ye=fe.backgroundColorRGB.rgba>>8&16777215,Qr=fe.backgroundColorRGB),fe.foregroundColorRGB&&(Be=50331648,ce=fe.foregroundColorRGB.rgba>>8&16777215,Jl=fe.foregroundColorRGB),eo=fe.options.layer==="top")}),!eo&&Z&&(Qr=this._coreBrowserService.isFocused?d.selectionBackgroundOpaque:d.selectionInactiveBackgroundOpaque,ye=Qr.rgba>>8&16777215,kt=50331648,eo=!0,d.selectionForeground&&(Be=50331648,ce=d.selectionForeground.rgba>>8&16777215,Jl=d.selectionForeground)),eo&&X.push("xterm-decoration-top");let Tr;switch(kt){case 16777216:case 33554432:Tr=d.ansi[ye],X.push(`xterm-bg-${ye}`);break;case 50331648:Tr=We.toColor(ye>>16,ye>>8&255,ye&255),this._addStyle(g,`background-color:#${hv((ye>>>0).toString(16),"0",6)}`);break;case 0:default:Gc?(Tr=d.foreground,X.push("xterm-bg-257")):Tr=d.background}switch(Qr||x.isDim()&&(Qr=ke.multiplyOpacity(Tr,.5)),Be){case 16777216:case 33554432:x.isBold()&&ce<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&(ce+=8),this._applyMinimumContrast(g,Tr,d.ansi[ce],x,Qr,void 0)||X.push(`xterm-fg-${ce}`);break;case 50331648:let fe=We.toColor(ce>>16&255,ce>>8&255,ce&255);this._applyMinimumContrast(g,Tr,fe,x,Qr,Jl)||this._addStyle(g,`color:#${hv(ce.toString(16),"0",6)}`);break;case 0:default:this._applyMinimumContrast(g,Tr,d.foreground,x,Qr,Jl)||Gc&&X.push("xterm-fg-257")}X.length&&(g.className=X.join(" "),X.length=0),!V&&!A&&!te&&I?v++:g.textContent=m,D!==this.defaultSpacing&&(g.style.letterSpacing=`${D}px`),u.push(g),C=F}return g&&v&&(g.textContent=m),u}_applyMinimumContrast(t,e,i,r,s,n){if(this._optionsService.rawOptions.minimumContrastRatio===1||gL(r.getCode()))return!1;let o=this._getContrastCache(r),l;if(!s&&!n&&(l=o.getColor(e.rgba,i.rgba)),l===void 0){let a=this._optionsService.rawOptions.minimumContrastRatio/(r.isDim()?2:1);l=ke.ensureContrastRatio(s||e,n||i,a),o.setColor((s||e).rgba,(n||i).rgba,l??null)}return l?(this._addStyle(t,`color:${l.css}`),!0):!1}_getContrastCache(t){return t.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(t,e){t.setAttribute("style",`${t.getAttribute("style")||""}${e};`)}_isCellInSelection(t,e){let i=this._selectionStart,r=this._selectionEnd;return!i||!r?!1:this._columnSelectMode?i[0]<=r[0]?t>=i[0]&&e>=i[1]&&t=i[1]&&t>=r[0]&&e<=r[1]:e>i[1]&&e=i[0]&&t=i[0]}};Qp=De([N(1,Pb),N(2,At),N(3,Pr),N(4,Vs),N(5,Ul),N(6,Kn)],Qp);function hv(t,e,i){for(;t.length0&&(this._flat[r]=o),o}let s=t;e&&(s+="B"),i&&(s+="I");let n=this._holey.get(s);if(n===void 0){let o=0;e&&(o|=1),i&&(o|=2),n=this._measure(t,o),n>0&&this._holey.set(s,n)}return n}_measure(t,e){let i=this._measureElements[e];return i.textContent=t.repeat(32),i.offsetWidth/32}},_L=class{constructor(){this.clear()}clear(){this.hasSelection=!1,this.columnSelectMode=!1,this.viewportStartRow=0,this.viewportEndRow=0,this.viewportCappedStartRow=0,this.viewportCappedEndRow=0,this.startCol=0,this.endCol=0,this.selectionStart=void 0,this.selectionEnd=void 0}update(t,e,i,r=!1){if(this.selectionStart=e,this.selectionEnd=i,!e||!i||e[0]===i[0]&&e[1]===i[1]){this.clear();return}let s=t.buffers.active.ydisp,n=e[1]-s,o=i[1]-s,l=Math.max(n,0),a=Math.min(o,t.rows-1);if(l>=t.rows||a<0){this.clear();return}this.hasSelection=!0,this.columnSelectMode=r,this.viewportStartRow=n,this.viewportEndRow=o,this.viewportCappedStartRow=l,this.viewportCappedEndRow=a,this.startCol=e[0],this.endCol=i[0]}isCellSelected(t,e,i){return this.hasSelection?(i-=t.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?e>=this.startCol&&i>=this.viewportCappedStartRow&&e=this.viewportCappedStartRow&&e>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i=this.startCol&&e=this.startCol):!1}};function vL(){return new _L}var cf="xterm-dom-renderer-owner-",ni="xterm-rows",za="xterm-fg-",cv="xterm-bg-",vo="xterm-focus",Za="xterm-selection",SL=1,Tp=class extends re{constructor(t,e,i,r,s,n,o,l,a,h,c,u,f,d){super(),this._terminal=t,this._document=e,this._element=i,this._screenElement=r,this._viewportElement=s,this._helperContainer=n,this._linkifier2=o,this._charSizeService=a,this._optionsService=h,this._bufferService=c,this._coreService=u,this._coreBrowserService=f,this._themeService=d,this._terminalClass=SL++,this._rowElements=[],this._selectionRenderModel=vL(),this.onRequestRedraw=this._register(new L).event,this._rowContainer=this._document.createElement("div"),this._rowContainer.classList.add(ni),this._rowContainer.style.lineHeight="normal",this._rowContainer.setAttribute("aria-hidden","true"),this._refreshRowElements(this._bufferService.cols,this._bufferService.rows),this._selectionContainer=this._document.createElement("div"),this._selectionContainer.classList.add(Za),this._selectionContainer.setAttribute("aria-hidden","true"),this.dimensions=mL(),this._updateDimensions(),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._themeService.onChangeColors(p=>this._injectCss(p))),this._injectCss(this._themeService.colors),this._rowFactory=l.createInstance(Qp,document),this._element.classList.add(cf+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this._register(this._linkifier2.onShowLinkUnderline(p=>this._handleLinkHover(p))),this._register(this._linkifier2.onHideLinkUnderline(p=>this._handleLinkLeave(p))),this._register(Pe(()=>{this._element.classList.remove(cf+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()})),this._widthCache=new OL(this._document,this._helperContainer),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}_updateDimensions(){let t=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*t,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*t),this.dimensions.device.cell.width=this.dimensions.device.char.width+Math.round(this._optionsService.rawOptions.letterSpacing),this.dimensions.device.cell.height=Math.floor(this.dimensions.device.char.height*this._optionsService.rawOptions.lineHeight),this.dimensions.device.char.left=0,this.dimensions.device.char.top=0,this.dimensions.device.canvas.width=this.dimensions.device.cell.width*this._bufferService.cols,this.dimensions.device.canvas.height=this.dimensions.device.cell.height*this._bufferService.rows,this.dimensions.css.canvas.width=Math.round(this.dimensions.device.canvas.width/t),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/t),this.dimensions.css.cell.width=this.dimensions.css.canvas.width/this._bufferService.cols,this.dimensions.css.cell.height=this.dimensions.css.canvas.height/this._bufferService.rows;for(let i of this._rowElements)i.style.width=`${this.dimensions.css.canvas.width}px`,i.style.height=`${this.dimensions.css.cell.height}px`,i.style.lineHeight=`${this.dimensions.css.cell.height}px`,i.style.overflow="hidden";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._dimensionsStyleElement));let e=`${this._terminalSelector} .${ni} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=e,this._selectionContainer.style.height=this._viewportElement.style.height,this._screenElement.style.width=`${this.dimensions.css.canvas.width}px`,this._screenElement.style.height=`${this.dimensions.css.canvas.height}px`}_injectCss(t){this._themeStyleElement||(this._themeStyleElement=this._document.createElement("style"),this._screenElement.appendChild(this._themeStyleElement));let e=`${this._terminalSelector} .${ni} { pointer-events: none; color: ${t.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;e+=`${this._terminalSelector} .${ni} .xterm-dim { color: ${ke.multiplyOpacity(t.foreground,.5).css};}`,e+=`${this._terminalSelector} span:not(.xterm-bold) { font-weight: ${this._optionsService.rawOptions.fontWeight};}${this._terminalSelector} span.xterm-bold { font-weight: ${this._optionsService.rawOptions.fontWeightBold};}${this._terminalSelector} span.xterm-italic { font-style: italic;}`;let i=`blink_underline_${this._terminalClass}`,r=`blink_bar_${this._terminalClass}`,s=`blink_block_${this._terminalClass}`;e+=`@keyframes ${i} { 50% { border-bottom-style: hidden; }}`,e+=`@keyframes ${r} { 50% { box-shadow: none; }}`,e+=`@keyframes ${s} { 0% { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css}; } 50% { background-color: inherit; color: ${t.cursor.css}; }}`,e+=`${this._terminalSelector} .${ni}.${vo} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${ni}.${vo} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${ni}.${vo} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${s} 1s step-end infinite;}${this._terminalSelector} .${ni} .xterm-cursor.xterm-cursor-block { background-color: ${t.cursor.css}; color: ${t.cursorAccent.css};}${this._terminalSelector} .${ni} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${t.cursor.css} !important; color: ${t.cursorAccent.css} !important;}${this._terminalSelector} .${ni} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${t.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${ni} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${t.cursor.css} inset;}${this._terminalSelector} .${ni} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${t.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,e+=`${this._terminalSelector} .${Za} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${Za} div { position: absolute; background-color: ${t.selectionBackgroundOpaque.css};}${this._terminalSelector} .${Za} div { position: absolute; background-color: ${t.selectionInactiveBackgroundOpaque.css};}`;for(let[n,o]of t.ansi.entries())e+=`${this._terminalSelector} .${za}${n} { color: ${o.css}; }${this._terminalSelector} .${za}${n}.xterm-dim { color: ${ke.multiplyOpacity(o,.5).css}; }${this._terminalSelector} .${cv}${n} { background-color: ${o.css}; }`;e+=`${this._terminalSelector} .${za}257 { color: ${ke.opaque(t.background).css}; }${this._terminalSelector} .${za}257.xterm-dim { color: ${ke.multiplyOpacity(ke.opaque(t.background),.5).css}; }${this._terminalSelector} .${cv}257 { background-color: ${t.foreground.css}; }`,this._themeStyleElement.textContent=e}_setDefaultSpacing(){let t=this.dimensions.css.cell.width-this._widthCache.get("W",!1,!1);this._rowContainer.style.letterSpacing=`${t}px`,this._rowFactory.defaultSpacing=t}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(t,e){for(let i=this._rowElements.length;i<=e;i++){let r=this._document.createElement("div");this._rowContainer.appendChild(r),this._rowElements.push(r)}for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(t,e){this._refreshRowElements(t,e),this._updateDimensions(),this.handleSelectionChanged(this._selectionRenderModel.selectionStart,this._selectionRenderModel.selectionEnd,this._selectionRenderModel.columnSelectMode)}handleCharSizeChanged(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}handleBlur(){this._rowContainer.classList.remove(vo),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(vo),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(t,e,i){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(t,e,i),this.renderRows(0,this._bufferService.rows-1),!t||!e||(this._selectionRenderModel.update(this._terminal,t,e,i),!this._selectionRenderModel.hasSelection))return;let r=this._selectionRenderModel.viewportStartRow,s=this._selectionRenderModel.viewportEndRow,n=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow,l=this._document.createDocumentFragment();if(i){let a=t[0]>e[0];l.appendChild(this._createSelectionElement(n,a?e[0]:t[0],a?t[0]:e[0],o-n+1))}else{let a=r===n?t[0]:0,h=n===s?e[0]:this._bufferService.cols;l.appendChild(this._createSelectionElement(n,a,h));let c=o-n-1;if(l.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,c)),n!==o){let u=s===o?e[0]:this._bufferService.cols;l.appendChild(this._createSelectionElement(o,0,u))}}this._selectionContainer.appendChild(l)}_createSelectionElement(t,e,i,r=1){let s=this._document.createElement("div"),n=e*this.dimensions.css.cell.width,o=this.dimensions.css.cell.width*(i-e);return n+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-n),s.style.height=`${r*this.dimensions.css.cell.height}px`,s.style.top=`${t*this.dimensions.css.cell.height}px`,s.style.left=`${n}px`,s.style.width=`${o}px`,s}handleCursorMove(){}_handleOptionsChanged(){this._updateDimensions(),this._injectCss(this._themeService.colors),this._widthCache.setFont(this._optionsService.rawOptions.fontFamily,this._optionsService.rawOptions.fontSize,this._optionsService.rawOptions.fontWeight,this._optionsService.rawOptions.fontWeightBold),this._setDefaultSpacing()}clear(){for(let t of this._rowElements)t.replaceChildren()}renderRows(t,e){let i=this._bufferService.buffer,r=i.ybase+i.y,s=Math.min(i.x,this._bufferService.cols-1),n=this._coreService.decPrivateModes.cursorBlink??this._optionsService.rawOptions.cursorBlink,o=this._coreService.decPrivateModes.cursorStyle??this._optionsService.rawOptions.cursorStyle,l=this._optionsService.rawOptions.cursorInactiveStyle;for(let a=t;a<=e;a++){let h=a+i.ydisp,c=this._rowElements[a],u=i.lines.get(h);if(!c||!u)break;c.replaceChildren(...this._rowFactory.createRow(u,h,h===r,o,l,s,n,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${cf}${this._terminalClass}`}_handleLinkHover(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!0)}_handleLinkLeave(t){this._setCellUnderline(t.x1,t.x2,t.y1,t.y2,t.cols,!1)}_setCellUnderline(t,e,i,r,s,n){i<0&&(t=0),r<0&&(e=0);let o=this._bufferService.rows-1;i=Math.max(Math.min(i,o),0),r=Math.max(Math.min(r,o),0),s=Math.min(s,this._bufferService.cols);let l=this._bufferService.buffer,a=l.ybase+l.y,h=Math.min(l.x,s-1),c=this._optionsService.rawOptions.cursorBlink,u=this._optionsService.rawOptions.cursorStyle,f=this._optionsService.rawOptions.cursorInactiveStyle;for(let d=i;d<=r;++d){let p=d+l.ydisp,g=this._rowElements[d],v=l.lines.get(p);if(!g||!v)break;g.replaceChildren(...this._rowFactory.createRow(v,p,p===a,u,f,h,c,this.dimensions.css.cell.width,this._widthCache,n?d===i?t:0:-1,n?(d===r?e:s)-1:-1))}}};Tp=De([N(7,wm),N(8,Fc),N(9,At),N(10,Rt),N(11,Vs),N(12,Pr),N(13,Kn)],Tp);var Ep=class extends re{constructor(t,e,i){super(),this._optionsService=i,this.width=0,this.height=0,this._onCharSizeChange=this._register(new L),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this._register(new wL(this._optionsService))}catch{this._measureStrategy=this._register(new yL(t,e,this._optionsService))}this._register(this._optionsService.onMultipleOptionChange(["fontFamily","fontSize"],()=>this.measure()))}get hasValidSize(){return this.width>0&&this.height>0}measure(){let t=this._measureStrategy.measure();(t.width!==this.width||t.height!==this.height)&&(this.width=t.width,this.height=t.height,this._onCharSizeChange.fire())}};Ep=De([N(2,At)],Ep);var Yb=class extends re{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(t,e){t!==void 0&&t>0&&e!==void 0&&e>0&&(this._result.width=t,this._result.height=e)}},yL=class extends Yb{constructor(t,e,i){super(),this._document=t,this._parentElement=e,this._optionsService=i,this._measureElement=this._document.createElement("span"),this._measureElement.classList.add("xterm-char-measure-element"),this._measureElement.textContent="W".repeat(32),this._measureElement.setAttribute("aria-hidden","true"),this._measureElement.style.whiteSpace="pre",this._measureElement.style.fontKerning="none",this._parentElement.appendChild(this._measureElement)}measure(){return this._measureElement.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._measureElement.style.fontSize=`${this._optionsService.rawOptions.fontSize}px`,this._validateAndSet(Number(this._measureElement.offsetWidth)/32,Number(this._measureElement.offsetHeight)),this._result}},wL=class extends Yb{constructor(t){super(),this._optionsService=t,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext("2d");let e=this._ctx.measureText("W");if(!("width"in e&&"fontBoundingBoxAscent"in e&&"fontBoundingBoxDescent"in e))throw new Error("Required font metrics not supported")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;let t=this._ctx.measureText("W");return this._validateAndSet(t.width,t.fontBoundingBoxAscent+t.fontBoundingBoxDescent),this._result}},kL=class extends re{constructor(t,e,i){super(),this._textarea=t,this._window=e,this.mainDocument=i,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=this._register(new bL(this._window)),this._onDprChange=this._register(new L),this.onDprChange=this._onDprChange.event,this._onWindowChange=this._register(new L),this.onWindowChange=this._onWindowChange.event,this._register(this.onWindowChange(r=>this._screenDprMonitor.setWindow(r))),this._register(ut.forward(this._screenDprMonitor.onDprChange,this._onDprChange)),this._register(K(this._textarea,"focus",()=>this._isFocused=!0)),this._register(K(this._textarea,"blur",()=>this._isFocused=!1))}get window(){return this._window}set window(t){this._window!==t&&(this._window=t,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return this._cachedIsFocused===void 0&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask(()=>this._cachedIsFocused=void 0)),this._cachedIsFocused}},bL=class extends re{constructor(t){super(),this._parentWindow=t,this._windowResizeListener=this._register(new Vn),this._onDprChange=this._register(new L),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this._register(Pe(()=>this.clearListener()))}setWindow(t){this._parentWindow=t,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=K(this._parentWindow,"resize",()=>this._setDprAndFireIfDiffers())}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){var t;this._outerListener&&((t=this._resolutionMediaMatchList)==null||t.removeListener(this._outerListener),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._resolutionMediaMatchList=this._parentWindow.matchMedia(`screen and (resolution: ${this._parentWindow.devicePixelRatio}dppx)`),this._resolutionMediaMatchList.addListener(this._outerListener))}clearListener(){!this._resolutionMediaMatchList||!this._outerListener||(this._resolutionMediaMatchList.removeListener(this._outerListener),this._resolutionMediaMatchList=void 0,this._outerListener=void 0)}},xL=class extends re{constructor(){super(),this.linkProviders=[],this._register(Pe(()=>this.linkProviders.length=0))}registerLinkProvider(t){return this.linkProviders.push(t),{dispose:()=>{let e=this.linkProviders.indexOf(t);e!==-1&&this.linkProviders.splice(e,1)}}}};function Tm(t,e,i){let r=i.getBoundingClientRect(),s=t.getComputedStyle(i),n=parseInt(s.getPropertyValue("padding-left")),o=parseInt(s.getPropertyValue("padding-top"));return[e.clientX-r.left-n,e.clientY-r.top-o]}function CL(t,e,i,r,s,n,o,l,a){if(!n)return;let h=Tm(t,e,i);if(h)return h[0]=Math.ceil((h[0]+(a?o/2:0))/o),h[1]=Math.ceil(h[1]/l),h[0]=Math.min(Math.max(h[0],1),r+(a?1:0)),h[1]=Math.min(Math.max(h[1],1),s),h}var Rp=class{constructor(t,e){this._renderService=t,this._charSizeService=e}getCoords(t,e,i,r,s){return CL(window,t,e,i,r,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,s)}getMouseReportCoords(t,e){let i=Tm(window,t,e);if(this._charSizeService.hasValidSize)return i[0]=Math.min(Math.max(i[0],0),this._renderService.dimensions.css.canvas.width-1),i[1]=Math.min(Math.max(i[1],0),this._renderService.dimensions.css.canvas.height-1),{col:Math.floor(i[0]/this._renderService.dimensions.css.cell.width),row:Math.floor(i[1]/this._renderService.dimensions.css.cell.height),x:Math.floor(i[0]),y:Math.floor(i[1])}}};Rp=De([N(0,$r),N(1,Fc)],Rp);var PL=class{constructor(t,e){this._renderCallback=t,this._coreBrowserService=e,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(t){return this._refreshCallbacks.push(t),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh())),this._animationFrame}refresh(t,e,i){this._rowCount=i,t=t!==void 0?t:0,e=e!==void 0?e:this._rowCount-1,this._rowStart=this._rowStart!==void 0?Math.min(this._rowStart,t):t,this._rowEnd=this._rowEnd!==void 0?Math.max(this._rowEnd,e):e,!this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._innerRefresh()))}_innerRefresh(){if(this._animationFrame=void 0,this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0){this._runRefreshCallbacks();return}let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(let t of this._refreshCallbacks)t(0);this._refreshCallbacks=[]}},qb={};BA(qb,{getSafariVersion:()=>QL,isChromeOS:()=>Gb,isFirefox:()=>Fb,isIpad:()=>TL,isIphone:()=>EL,isLegacyEdge:()=>$L,isLinux:()=>Em,isMac:()=>dc,isNode:()=>Hc,isSafari:()=>Hb,isWindows:()=>Ub});var Hc=typeof process<"u"&&"title"in process,Gl=Hc?"node":navigator.userAgent,Kl=Hc?"node":navigator.platform,Fb=Gl.includes("Firefox"),$L=Gl.includes("Edge"),Hb=/^((?!chrome|android).)*safari/i.test(Gl);function QL(){if(!Hb)return 0;let t=Gl.match(/Version\/(\d+)/);return t===null||t.length<2?0:parseInt(t[1])}var dc=["Macintosh","MacIntel","MacPPC","Mac68K"].includes(Kl),TL=Kl==="iPad",EL=Kl==="iPhone",Ub=["Windows","Win16","Win32","WinCE"].includes(Kl),Em=Kl.indexOf("Linux")>=0,Gb=/\bCrOS\b/.test(Gl),Kb=class{constructor(){this._tasks=[],this._i=0}enqueue(t){this._tasks.push(t),this._start()}flush(){for(;this._is){r-e<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(r-e))}ms`),this._start();return}r=s}this.clear()}},RL=class extends Kb{_requestCallback(t){return setTimeout(()=>t(this._createDeadline(16)))}_cancelCallback(t){clearTimeout(t)}_createDeadline(t){let e=performance.now()+t;return{timeRemaining:()=>Math.max(0,e-performance.now())}}},AL=class extends Kb{_requestCallback(t){return requestIdleCallback(t)}_cancelCallback(t){cancelIdleCallback(t)}},pc=!Hc&&"requestIdleCallback"in window?AL:RL,ML=class{constructor(){this._queue=new pc}set(t){this._queue.clear(),this._queue.enqueue(t)}flush(){this._queue.flush()}},Ap=class extends re{constructor(t,e,i,r,s,n,o,l,a){super(),this._rowCount=t,this._optionsService=i,this._charSizeService=r,this._coreService=s,this._coreBrowserService=l,this._renderer=this._register(new Vn),this._pausedResizeTask=new ML,this._observerDisposable=this._register(new Vn),this._isPaused=!1,this._needsFullRefresh=!1,this._isNextRenderRedrawOnly=!0,this._needsSelectionRefresh=!1,this._canvasWidth=0,this._canvasHeight=0,this._selectionState={start:void 0,end:void 0,columnSelectMode:!1},this._onDimensionsChange=this._register(new L),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this._register(new L),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this._register(new L),this.onRender=this._onRender.event,this._onRefreshRequest=this._register(new L),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new PL((h,c)=>this._renderRows(h,c),this._coreBrowserService),this._register(this._renderDebouncer),this._syncOutputHandler=new LL(this._coreBrowserService,this._coreService,()=>this._fullRefresh()),this._register(Pe(()=>this._syncOutputHandler.dispose())),this._register(this._coreBrowserService.onDprChange(()=>this.handleDevicePixelRatioChange())),this._register(o.onResize(()=>this._fullRefresh())),this._register(o.buffers.onBufferActivate(()=>{var h;return(h=this._renderer.value)==null?void 0:h.clear()})),this._register(this._optionsService.onOptionChange(()=>this._handleOptionsChanged())),this._register(this._charSizeService.onCharSizeChange(()=>this.handleCharSizeChanged())),this._register(n.onDecorationRegistered(()=>this._fullRefresh())),this._register(n.onDecorationRemoved(()=>this._fullRefresh())),this._register(this._optionsService.onMultipleOptionChange(["customGlyphs","drawBoldTextInBrightColors","letterSpacing","lineHeight","fontFamily","fontSize","fontWeight","fontWeightBold","minimumContrastRatio","rescaleOverlappingGlyphs"],()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()})),this._register(this._optionsService.onMultipleOptionChange(["cursorBlink","cursorStyle"],()=>this.refreshRows(o.buffer.y,o.buffer.y,!0))),this._register(a.onChangeColors(()=>this._fullRefresh())),this._registerIntersectionObserver(this._coreBrowserService.window,e),this._register(this._coreBrowserService.onWindowChange(h=>this._registerIntersectionObserver(h,e)))}get dimensions(){return this._renderer.value.dimensions}_registerIntersectionObserver(t,e){if("IntersectionObserver"in t){let i=new t.IntersectionObserver(r=>this._handleIntersectionChange(r[r.length-1]),{threshold:0});i.observe(e),this._observerDisposable.value=Pe(()=>i.disconnect())}}_handleIntersectionChange(t){this._isPaused=t.isIntersecting===void 0?t.intersectionRatio===0:!t.isIntersecting,!this._isPaused&&!this._charSizeService.hasValidSize&&this._charSizeService.measure(),!this._isPaused&&this._needsFullRefresh&&(this._pausedResizeTask.flush(),this.refreshRows(0,this._rowCount-1),this._needsFullRefresh=!1)}refreshRows(t,e,i=!1){if(this._isPaused){this._needsFullRefresh=!0;return}if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,e);return}let r=this._syncOutputHandler.flush();r&&(t=Math.min(t,r.start),e=Math.max(e,r.end)),i||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(t,e,this._rowCount)}_renderRows(t,e){if(this._renderer.value){if(this._coreService.decPrivateModes.synchronizedOutput){this._syncOutputHandler.bufferRows(t,e);return}t=Math.min(t,this._rowCount-1),e=Math.min(e,this._rowCount-1),this._renderer.value.renderRows(t,e),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:t,end:e}),this._onRender.fire({start:t,end:e}),this._isNextRenderRedrawOnly=!0}}resize(t,e){this._rowCount=e,this._fireOnCanvasResize()}_handleOptionsChanged(){this._renderer.value&&(this.refreshRows(0,this._rowCount-1),this._fireOnCanvasResize())}_fireOnCanvasResize(){this._renderer.value&&(this._renderer.value.dimensions.css.canvas.width===this._canvasWidth&&this._renderer.value.dimensions.css.canvas.height===this._canvasHeight||this._onDimensionsChange.fire(this._renderer.value.dimensions))}hasRenderer(){return!!this._renderer.value}setRenderer(t){this._renderer.value=t,this._renderer.value&&(this._renderer.value.onRequestRedraw(e=>this.refreshRows(e.start,e.end,!0)),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(t){return this._renderDebouncer.addRefreshCallback(t)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){var t,e;this._renderer.value&&((e=(t=this._renderer.value).clearTextureAtlas)==null||e.call(t),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(t,e){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set(()=>{var i;return(i=this._renderer.value)==null?void 0:i.handleResize(t,e)}):this._renderer.value.handleResize(t,e),this._fullRefresh())}handleCharSizeChanged(){var t;(t=this._renderer.value)==null||t.handleCharSizeChanged()}handleBlur(){var t;(t=this._renderer.value)==null||t.handleBlur()}handleFocus(){var t;(t=this._renderer.value)==null||t.handleFocus()}handleSelectionChanged(t,e,i){var r;this._selectionState.start=t,this._selectionState.end=e,this._selectionState.columnSelectMode=i,(r=this._renderer.value)==null||r.handleSelectionChanged(t,e,i)}handleCursorMove(){var t;(t=this._renderer.value)==null||t.handleCursorMove()}clear(){var t;(t=this._renderer.value)==null||t.clear()}};Ap=De([N(2,At),N(3,Fc),N(4,Vs),N(5,Ul),N(6,Rt),N(7,Pr),N(8,Kn)],Ap);var LL=class{constructor(t,e,i){this._coreBrowserService=t,this._coreService=e,this._onTimeout=i,this._start=0,this._end=0,this._isBuffering=!1}bufferRows(t,e){this._isBuffering?(this._start=Math.min(this._start,t),this._end=Math.max(this._end,e)):(this._start=t,this._end=e,this._isBuffering=!0),this._timeout===void 0&&(this._timeout=this._coreBrowserService.window.setTimeout(()=>{this._timeout=void 0,this._coreService.decPrivateModes.synchronizedOutput=!1,this._onTimeout()},1e3))}flush(){if(this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0),!this._isBuffering)return;let t={start:this._start,end:this._end};return this._isBuffering=!1,t}dispose(){this._timeout!==void 0&&(this._coreBrowserService.window.clearTimeout(this._timeout),this._timeout=void 0)}};function DL(t,e,i,r){let s=i.buffer.x,n=i.buffer.y;if(!i.buffer.hasScrollback)return ZL(s,n,t,e,i,r)+Uc(n,e,i,r)+XL(s,n,t,e,i,r);let o;if(n===e)return o=s>t?"D":"C",Rl(Math.abs(s-t),El(o,r));o=n>e?"D":"C";let l=Math.abs(n-e),a=zL(n>e?t:s,i)+(l-1)*i.cols+1+BL(n>e?s:t);return Rl(a,El(o,r))}function BL(t,e){return t-1}function zL(t,e){return e.cols-t}function ZL(t,e,i,r,s,n){return Uc(e,r,s,n).length===0?"":Rl(ex(t,e,t,e-Ns(e,s),!1,s).length,El("D",n))}function Uc(t,e,i,r){let s=t-Ns(t,i),n=e-Ns(e,i),o=Math.abs(s-n)-IL(t,e,i);return Rl(o,El(Jb(t,e),r))}function XL(t,e,i,r,s,n){let o;Uc(e,r,s,n).length>0?o=r-Ns(r,s):o=e;let l=r,a=NL(t,e,i,r,s,n);return Rl(ex(t,o,i,l,a==="C",s).length,El(a,n))}function IL(t,e,i){var o;let r=0,s=t-Ns(t,i),n=e-Ns(e,i);for(let l=0;l=0&&t0?o=r-Ns(r,s):o=e,t=i&&oe?"A":"B"}function ex(t,e,i,r,s,n){let o=t,l=e,a="";for(;(o!==i||l!==r)&&l>=0&&ln.cols-1?(a+=n.buffer.translateBufferLineToString(l,!1,t,o),o=0,t=0,l++):!s&&o<0&&(a+=n.buffer.translateBufferLineToString(l,!1,0,t+1),o=n.cols-1,t=o,l--);return a+n.buffer.translateBufferLineToString(l,!1,t,o)}function El(t,e){let i=e?"O":"[";return Q.ESC+i+t}function Rl(t,e){t=Math.floor(t);let i="";for(let r=0;rthis._bufferService.cols?t%this._bufferService.cols===0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)-1]:[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[t,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){let t=this.selectionStart[0]+this.selectionStartLength;return t>this._bufferService.cols?[t%this._bufferService.cols,this.selectionStart[1]+Math.floor(t/this._bufferService.cols)]:[Math.max(t,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){let t=this.selectionStart,e=this.selectionEnd;return!t||!e?!1:t[1]>e[1]||t[1]===e[1]&&t[0]>e[0]}handleTrim(t){return this.selectionStart&&(this.selectionStart[1]-=t),this.selectionEnd&&(this.selectionEnd[1]-=t),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}};function uv(t,e){if(t.start.y>t.end.y)throw new Error(`Buffer range end (${t.end.x}, ${t.end.y}) cannot be before start (${t.start.x}, ${t.start.y})`);return e*(t.end.y-t.start.y)+(t.end.x-t.start.x+1)}var uf=50,jL=15,VL=50,YL=500,qL=" ",FL=new RegExp(qL,"g"),Mp=class extends re{constructor(t,e,i,r,s,n,o,l,a){super(),this._element=t,this._screenElement=e,this._linkifier=i,this._bufferService=r,this._coreService=s,this._mouseService=n,this._optionsService=o,this._renderService=l,this._coreBrowserService=a,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new Oi,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this._register(new L),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this._register(new L),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this._register(new L),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this._register(new L),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=h=>this._handleMouseMove(h),this._mouseUpListener=h=>this._handleMouseUp(h),this._coreService.onUserInput(()=>{this.hasSelection&&this.clearSelection()}),this._trimListener=this._bufferService.buffer.lines.onTrim(h=>this._handleTrim(h)),this._register(this._bufferService.buffers.onBufferActivate(h=>this._handleBufferActivate(h))),this.enable(),this._model=new WL(this._bufferService),this._activeSelectionMode=0,this._register(Pe(()=>{this._removeMouseDownListeners()})),this._register(this._bufferService.onResize(h=>{h.rowsChanged&&this.clearSelection()}))}reset(){this.clearSelection()}disable(){this.clearSelection(),this._enabled=!1}enable(){this._enabled=!0}get selectionStart(){return this._model.finalSelectionStart}get selectionEnd(){return this._model.finalSelectionEnd}get hasSelection(){let t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd;return!t||!e?!1:t[0]!==e[0]||t[1]!==e[1]}get selectionText(){let t=this._model.finalSelectionStart,e=this._model.finalSelectionEnd;if(!t||!e)return"";let i=this._bufferService.buffer,r=[];if(this._activeSelectionMode===3){if(t[0]===e[0])return"";let s=t[0]s.replace(FL," ")).join(Ub?`\r `:` -`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(t){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),$O&&t&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(t){let e=this._getMouseBufferCoords(t),i=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!i||!r||!e?!1:this._areCoordsInSelection(e,i,r)}isCellInSelection(t,e){let i=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!i||!r?!1:this._areCoordsInSelection([t,e],i,r)}_areCoordsInSelection(t,e,i){return t[1]>e[1]&&t[1]=e[0]&&t[0]=e[0]}_selectWordAtCursor(t,e){var s,n;let i=(n=(s=this._linkifier.currentLink)==null?void 0:s.link)==null?void 0:n.range;if(i)return this._model.selectionStart=[i.start.x-1,i.start.y-1],this._model.selectionStartLength=av(i,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let r=this._getMouseBufferCoords(t);return r?(this._selectWordAt(r,e),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(t,e){this._model.clearSelection(),t=Math.max(t,0),e=Math.min(e,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,t],this._model.selectionEnd=[this._bufferService.cols,e],this.refresh(),this._onSelectionChange.fire()}_handleTrim(t){this._model.handleTrim(t)&&this.refresh()}_getMouseBufferCoords(t){let e=this._mouseService.getCoords(t,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(e)return e[0]--,e[1]--,e[1]+=this._bufferService.buffer.ydisp,e}_getMouseEventScrollAmount(t){let e=PO(this._coreBrowserService.window,t,this._screenElement)[1],i=this._renderService.dimensions.css.canvas.height;return e>=0&&e<=i?0:(e>i&&(e-=i),e=Math.min(Math.max(e,-cf),cf),e/=cf,e/Math.abs(e)+Math.round(e*(WL-1)))}shouldForceSelection(t){return fc?t.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:t.shiftKey}handleMouseDown(t){if(this._mouseDownTimeStamp=t.timeStamp,!(t.button===2&&this.hasSelection)&&t.button===0){if(!this._enabled){if(!this.shouldForceSelection(t))return;t.stopPropagation()}t.preventDefault(),this._dragScrollAmount=0,this._enabled&&t.shiftKey?this._handleIncrementalClick(t):t.detail===1?this._handleSingleClick(t):t.detail===2?this._handleDoubleClick(t):t.detail===3&&this._handleTripleClick(t),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),NL)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(t){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(t))}_handleSingleClick(t){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(t)?3:0,this._model.selectionStart=this._getMouseBufferCoords(t),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let e=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);e&&e.length!==this._model.selectionStart[0]&&e.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(t){this._selectWordAtCursor(t,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(t){let e=this._getMouseBufferCoords(t);e&&(this._activeSelectionMode=2,this._selectLineAt(e[1]))}shouldColumnSelect(t){return t.altKey&&!(fc&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(t){if(t.stopImmediatePropagation(),!this._model.selectionStart)return;let e=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(t),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let i=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(t.ydisp+this._bufferService.rows,t.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=t.ydisp),this.refresh()}}_handleMouseUp(t){let e=t.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&ethis._handleTrim(e))}_convertViewportColToCharacterIndex(t,e){let i=e;for(let r=0;e>=r;r++){let s=t.loadCell(r,this._workCell).getChars().length;this._workCell.getWidth()===0?i--:s>1&&e!==r&&(i+=s-1)}return i}setSelection(t,e,i){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[t,e],this._model.selectionStartLength=i,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(t){this._isClickInSelection(t)||(this._selectWordAtCursor(t,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(t,e,i=!0,r=!0){if(t[0]>=this._bufferService.cols)return;let s=this._bufferService.buffer,n=s.lines.get(t[1]);if(!n)return;let o=s.translateBufferLineToString(t[1],!1),l=this._convertViewportColToCharacterIndex(n,t[0]),a=l,h=t[0]-l,c=0,u=0,f=0,d=0;if(o.charAt(l)===" "){for(;l>0&&o.charAt(l-1)===" ";)l--;for(;a1&&(d+=m-1,a+=m-1);v>0&&l>0&&!this._isCharWordSeparator(n.loadCell(v-1,this._workCell));){n.loadCell(v-1,this._workCell);let _=this._workCell.getChars().length;this._workCell.getWidth()===0?(c++,v--):_>1&&(f+=_-1,l-=_-1),l--,v--}for(;O1&&(d+=_-1,a+=_-1),a++,O++}}a++;let p=l+h-c+f,g=Math.min(this._bufferService.cols,a-l+c+u-f-d);if(!(!e&&o.slice(l,a).trim()==="")){if(i&&p===0&&n.getCodePoint(0)!==32){let v=s.lines.get(t[1]-1);if(v&&n.isWrapped&&v.getCodePoint(this._bufferService.cols-1)!==32){let O=this._getWordAt([this._bufferService.cols-1,t[1]-1],!1,!0,!1);if(O){let m=this._bufferService.cols-O.start;p-=m,g+=m}}}if(r&&p+g===this._bufferService.cols&&n.getCodePoint(this._bufferService.cols-1)!==32){let v=s.lines.get(t[1]+1);if(v!=null&&v.isWrapped&&v.getCodePoint(0)!==32){let O=this._getWordAt([0,t[1]+1],!1,!1,!0);O&&(g+=O.length)}}return{start:p,length:g}}}_selectWordAt(t,e){let i=this._getWordAt(t,e);if(i){for(;i.start<0;)i.start+=this._bufferService.cols,t[1]--;this._model.selectionStart=[i.start,t[1]],this._model.selectionStartLength=i.length}}_selectToWordAt(t){let e=this._getWordAt(t,!0);if(e){let i=t[1];for(;e.start<0;)e.start+=this._bufferService.cols,i--;if(!this._model.areSelectionValuesReversed())for(;e.start+e.length>this._bufferService.cols;)e.length-=this._bufferService.cols,i++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?e.start:e.start+e.length,i]}}_isCharWordSeparator(t){return t.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(t.getChars())>=0}_selectLineAt(t){let e=this._bufferService.buffer.getWrappedRangeForLine(t),i={start:{x:0,y:e.first},end:{x:this._bufferService.cols-1,y:e.last}};this._model.selectionStart=[0,e.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=av(i,this._bufferService.cols)}};Ep=De([X(3,Rt),X(4,js),X(5,SO),X(6,At),X(7,Cr),X(8,xr)],Ep);var hv=class{constructor(){this._data={}}set(t,e,i){this._data[t]||(this._data[t]={}),this._data[t][e]=i}get(t,e){return this._data[t]?this._data[t][e]:void 0}clear(){this._data={}}},cv=class{constructor(){this._color=new hv,this._css=new hv}setCss(t,e,i){this._css.set(t,e,i)}getCss(t,e){return this._css.get(t,e)}setColor(t,e,i){this._color.set(t,e,i)}getColor(t,e){return this._color.get(t,e)}clear(){this._color.clear(),this._css.clear()}},qe=Object.freeze((()=>{let t=[Qe.toColor("#2e3436"),Qe.toColor("#cc0000"),Qe.toColor("#4e9a06"),Qe.toColor("#c4a000"),Qe.toColor("#3465a4"),Qe.toColor("#75507b"),Qe.toColor("#06989a"),Qe.toColor("#d3d7cf"),Qe.toColor("#555753"),Qe.toColor("#ef2929"),Qe.toColor("#8ae234"),Qe.toColor("#fce94f"),Qe.toColor("#729fcf"),Qe.toColor("#ad7fa8"),Qe.toColor("#34e2e2"),Qe.toColor("#eeeeec")],e=[0,95,135,175,215,255];for(let i=0;i<216;i++){let r=e[i/36%6|0],s=e[i/6%6|0],n=e[i%6];t.push({css:Ne.toCss(r,s,n),rgba:Ne.toRgba(r,s,n)})}for(let i=0;i<24;i++){let r=8+i*10;t.push({css:Ne.toCss(r,r,r),rgba:Ne.toRgba(r,r,r)})}return t})()),ms=Qe.toColor("#ffffff"),Eo=Qe.toColor("#000000"),uv=Qe.toColor("#ffffff"),fv=Eo,vo={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},qL=ms,Rp=class extends te{constructor(t){super(),this._optionsService=t,this._contrastCache=new cv,this._halfContrastCache=new cv,this._onChangeColors=this._register(new L),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:ms,background:Eo,cursor:uv,cursorAccent:fv,selectionForeground:void 0,selectionBackgroundTransparent:vo,selectionBackgroundOpaque:ke.blend(Eo,vo),selectionInactiveBackgroundTransparent:vo,selectionInactiveBackgroundOpaque:ke.blend(Eo,vo),scrollbarSliderBackground:ke.opacity(ms,.2),scrollbarSliderHoverBackground:ke.opacity(ms,.4),scrollbarSliderActiveBackground:ke.opacity(ms,.5),overviewRulerBorder:ms,ansi:qe.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(t={}){let e=this._colors;if(e.foreground=Oe(t.foreground,ms),e.background=Oe(t.background,Eo),e.cursor=ke.blend(e.background,Oe(t.cursor,uv)),e.cursorAccent=ke.blend(e.background,Oe(t.cursorAccent,fv)),e.selectionBackgroundTransparent=Oe(t.selectionBackground,vo),e.selectionBackgroundOpaque=ke.blend(e.background,e.selectionBackgroundTransparent),e.selectionInactiveBackgroundTransparent=Oe(t.selectionInactiveBackground,e.selectionBackgroundTransparent),e.selectionInactiveBackgroundOpaque=ke.blend(e.background,e.selectionInactiveBackgroundTransparent),e.selectionForeground=t.selectionForeground?Oe(t.selectionForeground,nv):void 0,e.selectionForeground===nv&&(e.selectionForeground=void 0),ke.isOpaque(e.selectionBackgroundTransparent)&&(e.selectionBackgroundTransparent=ke.opacity(e.selectionBackgroundTransparent,.3)),ke.isOpaque(e.selectionInactiveBackgroundTransparent)&&(e.selectionInactiveBackgroundTransparent=ke.opacity(e.selectionInactiveBackgroundTransparent,.3)),e.scrollbarSliderBackground=Oe(t.scrollbarSliderBackground,ke.opacity(e.foreground,.2)),e.scrollbarSliderHoverBackground=Oe(t.scrollbarSliderHoverBackground,ke.opacity(e.foreground,.4)),e.scrollbarSliderActiveBackground=Oe(t.scrollbarSliderActiveBackground,ke.opacity(e.foreground,.5)),e.overviewRulerBorder=Oe(t.overviewRulerBorder,qL),e.ansi=qe.slice(),e.ansi[0]=Oe(t.black,qe[0]),e.ansi[1]=Oe(t.red,qe[1]),e.ansi[2]=Oe(t.green,qe[2]),e.ansi[3]=Oe(t.yellow,qe[3]),e.ansi[4]=Oe(t.blue,qe[4]),e.ansi[5]=Oe(t.magenta,qe[5]),e.ansi[6]=Oe(t.cyan,qe[6]),e.ansi[7]=Oe(t.white,qe[7]),e.ansi[8]=Oe(t.brightBlack,qe[8]),e.ansi[9]=Oe(t.brightRed,qe[9]),e.ansi[10]=Oe(t.brightGreen,qe[10]),e.ansi[11]=Oe(t.brightYellow,qe[11]),e.ansi[12]=Oe(t.brightBlue,qe[12]),e.ansi[13]=Oe(t.brightMagenta,qe[13]),e.ansi[14]=Oe(t.brightCyan,qe[14]),e.ansi[15]=Oe(t.brightWhite,qe[15]),t.extendedAnsi){let i=Math.min(e.ansi.length-16,t.extendedAnsi.length);for(let r=0;rn.index-o.index),r=[];for(let n of i){let o=this._services.get(n.id);if(!o)throw new Error(`[createInstance] ${t.name} depends on UNKNOWN service ${n.id._id}.`);r.push(o)}let s=i.length>0?i[0].index:e.length;if(e.length!==s)throw new Error(`[createInstance] First service dependency of ${t.name} at position ${s+1} conflicts with ${e.length} static arguments`);return new t(...e,...r)}},UL={trace:0,debug:1,info:2,warn:3,error:4,off:5},GL="xterm.js: ",Ap=class extends te{constructor(t){super(),this._optionsService=t,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=UL[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(t){for(let e=0;ethis._length)for(let e=this._length;e=t;r--)this._array[this._getCyclicIndex(r+i.length)]=this._array[this._getCyclicIndex(r)];for(let r=0;rthis._maxLength){let r=this._length+i.length-this._maxLength;this._startIndex+=r,this._length=this._maxLength,this.onTrimEmitter.fire(r)}else this._length+=i.length}trimStart(t){t>this._length&&(t=this._length),this._startIndex+=t,this._length-=t,this.onTrimEmitter.fire(t)}shiftElements(t,e,i){if(!(e<=0)){if(t<0||t>=this._length)throw new Error("start argument out of range");if(t+i<0)throw new Error("Cannot shift elements in list beyond index 0");if(i>0){for(let s=e-1;s>=0;s--)this.set(t+s+i,this.get(t+s));let r=t+e+i-this._length;if(r>0)for(this._length+=r;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let r=0;r>22,i&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):r]}set(e,i){this._data[e*ee+1]=i[0],i[1].length>1?(this._combined[e]=i[1],this._data[e*ee+0]=e|2097152|i[2]<<22):this._data[e*ee+0]=i[1].charCodeAt(0)|i[2]<<22}getWidth(e){return this._data[e*ee+0]>>22}hasWidth(e){return this._data[e*ee+0]&12582912}getFg(e){return this._data[e*ee+1]}getBg(e){return this._data[e*ee+2]}hasContent(e){return this._data[e*ee+0]&4194303}getCodePoint(e){let i=this._data[e*ee+0];return i&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):i&2097151}isCombined(e){return this._data[e*ee+0]&2097152}getString(e){let i=this._data[e*ee+0];return i&2097152?this._combined[e]:i&2097151?zr(i&2097151):""}isProtected(e){return this._data[e*ee+2]&536870912}loadCell(e,i){return Za=e*ee,i.content=this._data[Za+0],i.fg=this._data[Za+1],i.bg=this._data[Za+2],i.content&2097152&&(i.combinedData=this._combined[e]),i.bg&268435456&&(i.extended=this._extendedAttrs[e]),i}setCell(e,i){i.content&2097152&&(this._combined[e]=i.combinedData),i.bg&268435456&&(this._extendedAttrs[e]=i.extended),this._data[e*ee+0]=i.content,this._data[e*ee+1]=i.fg,this._data[e*ee+2]=i.bg}setCellFromCodepoint(e,i,r,s){s.bg&268435456&&(this._extendedAttrs[e]=s.extended),this._data[e*ee+0]=i|r<<22,this._data[e*ee+1]=s.fg,this._data[e*ee+2]=s.bg}addCodepointToCell(e,i,r){let s=this._data[e*ee+0];s&2097152?this._combined[e]+=zr(i):s&2097151?(this._combined[e]=zr(s&2097151)+zr(i),s&=-2097152,s|=2097152):s=i|1<<22,r&&(s&=-12582913,s|=r<<22),this._data[e*ee+0]=s}insertCells(e,i,r){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,r),i=0;--n)this.setCell(e+i+n,this.loadCell(e+n,s));for(let n=0;nthis.length){if(this._data.buffer.byteLength>=r*4)this._data=new Uint32Array(this._data.buffer,0,r);else{let s=new Uint32Array(r);s.set(this._data),this._data=s}for(let s=this.length;s=e&&delete this._combined[l]}let n=Object.keys(this._extendedAttrs);for(let o=0;o=e&&delete this._extendedAttrs[l]}}return this.length=e,r*4*uf=0;--e)if(this._data[e*ee+0]&4194303)return e+(this._data[e*ee+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*ee+0]&4194303||this._data[e*ee+2]&50331648)return e+(this._data[e*ee+0]>>22);return 0}copyCellsFrom(e,i,r,s,n){let o=e._data;if(n)for(let a=s-1;a>=0;a--){for(let h=0;h=i&&(this._combined[h-i+r]=e._combined[h])}}translateToString(e,i,r,s){i=i??0,r=r??this.length,e&&(r=Math.min(r,this.getTrimmedLength())),s&&(s.length=0);let n="";for(;i>22||1}return s&&s.push(i),n}};function KL(t,e,i,r,s,n){let o=[];for(let l=0;l=l&&r0&&(v>u||c[v].getTrimmedLength()===0);v--)g++;g>0&&(o.push(l+c.length-g),o.push(g)),l+=c.length-1}return o}function JL(t,e){let i=[],r=0,s=e[r],n=0;for(let o=0;oRl(t,h,e)).reduce((a,h)=>a+h),n=0,o=0,l=0;for(;la&&(n-=a,o++);let h=t[o].getWidth(n-1)===2;h&&n--;let c=h?i-1:i;r.push(c),l+=c}return r}function Rl(t,e,i){if(e===t.length-1)return t[e].getTrimmedLength();let r=!t[e].hasContent(i-1)&&t[e].getWidth(i-1)===1,s=t[e+1].getWidth(0)===2;return r&&s?i-1:i}var Jb=class ex{constructor(e){this.line=e,this.isDisposed=!1,this._disposables=[],this._id=ex._nextId++,this._onDispose=this.register(new L),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Xs(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};Jb._nextId=1;var i3=Jb,Je={},_s=Je.B;Je[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};Je.A={"#":"£"};Je.B=void 0;Je[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};Je.C=Je[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};Je.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};Je.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};Je.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};Je.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};Je.E=Je[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};Je.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};Je.H=Je[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};Je["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var pv=4294967295,gv=class{constructor(t,e,i){this._hasScrollback=t,this._optionsService=e,this._bufferService=i,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=We.clone(),this.savedCharset=_s,this.markers=[],this._nullCell=gi.fromCharData([0,mb,1,0]),this._whitespaceCell=gi.fromCharData([0,Vr,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new dc,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new dv(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(t){return t?(this._nullCell.fg=t.fg,this._nullCell.bg=t.bg,this._nullCell.extended=t.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new hc),this._nullCell}getWhitespaceCell(t){return t?(this._whitespaceCell.fg=t.fg,this._whitespaceCell.bg=t.bg,this._whitespaceCell.extended=t.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new hc),this._whitespaceCell}getBlankLine(t,e){return new Ro(this._bufferService.cols,this.getNullCell(t),e)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let t=this.ybase+this.y-this.ydisp;return t>=0&&tpv?pv:e}fillViewportRows(t){if(this.lines.length===0){t===void 0&&(t=We);let e=this._rows;for(;e--;)this.lines.push(this.getBlankLine(t))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new dv(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(t,e){let i=this.getNullCell(We),r=0,s=this._getCorrectBufferLength(e);if(s>this.lines.maxLength&&(this.lines.maxLength=s),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(new Ro(t,i)));else for(let o=this._rows;o>e;o--)this.lines.length>e+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(s0&&(this.lines.trimStart(o),this.ybase=Math.max(this.ybase-o,0),this.ydisp=Math.max(this.ydisp-o,0),this.savedY=Math.max(this.savedY-o,0)),this.lines.maxLength=s}this.x=Math.min(this.x,t-1),this.y=Math.min(this.y,e-1),n&&(this.y+=n),this.savedX=Math.min(this.savedX,t-1),this.scrollTop=0}if(this.scrollBottom=e-1,this._isReflowEnabled&&(this._reflow(t,e),this._cols>t))for(let n=0;n.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let t=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,t=!1);let e=0;for(;this._memoryCleanupPosition100)return!0;return t}get _isReflowEnabled(){let t=this._optionsService.rawOptions.windowsPty;return t&&t.buildNumber?this._hasScrollback&&t.backend==="conpty"&&t.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(t,e){this._cols!==t&&(t>this._cols?this._reflowLarger(t,e):this._reflowSmaller(t,e))}_reflowLarger(t,e){let i=this._optionsService.rawOptions.reflowCursorLine,r=KL(this.lines,this._cols,t,this.ybase+this.y,this.getNullCell(We),i);if(r.length>0){let s=JL(this.lines,r);e3(this.lines,s.layout),this._reflowLargerAdjustViewport(t,e,s.countRemoved)}}_reflowLargerAdjustViewport(t,e,i){let r=this.getNullCell(We),s=i;for(;s-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length=0;o--){let l=this.lines.get(o);if(!l||!l.isWrapped&&l.getTrimmedLength()<=t)continue;let a=[l];for(;l.isWrapped&&o>0;)l=this.lines.get(--o),a.unshift(l);if(!i){let _=this.ybase+this.y;if(_>=o&&_0&&(s.push({start:o+a.length+n,newLines:d}),n+=d.length),a.push(...d);let p=c.length-1,g=c[p];g===0&&(p--,g=c[p]);let v=a.length-u-1,O=h;for(;v>=0;){let _=Math.min(O,g);if(a[p]===void 0)break;if(a[p].copyCellsFrom(a[v],O-_,g-_,_,!0),g-=_,g===0&&(p--,g=c[p]),O-=_,O===0){v--;let S=Math.max(v,0);O=Rl(a,S,this._cols)}}for(let _=0;_0;)this.ybase===0?this.y0){let o=[],l=[];for(let g=0;g=0;g--)if(u&&u.start>h+f){for(let v=u.newLines.length-1;v>=0;v--)this.lines.set(g--,u.newLines[v]);g++,o.push({index:h+1,amount:u.newLines.length}),f+=u.newLines.length,u=s[++c]}else this.lines.set(g,l[h--]);let d=0;for(let g=o.length-1;g>=0;g--)o[g].index+=d,this.lines.onInsertEmitter.fire(o[g]),d+=o[g].amount;let p=Math.max(0,a+n-this.lines.maxLength);p>0&&this.lines.onTrimEmitter.fire(p)}}translateBufferLineToString(t,e,i=0,r){let s=this.lines.get(t);return s?s.translateToString(e,i,r):""}getWrappedRangeForLine(t){let e=t,i=t;for(;e>0&&this.lines.get(e).isWrapped;)e--;for(;i+10;);return t>=this._cols?this._cols-1:t<0?0:t}nextStop(t){for(t==null&&(t=this.x);!this.tabs[++t]&&t=this._cols?this._cols-1:t<0?0:t}clearMarkers(t){this._isClearing=!0;for(let e=0;e{e.line-=i,e.line<0&&e.dispose()})),e.register(this.lines.onInsert(i=>{e.line>=i.index&&(e.line+=i.amount)})),e.register(this.lines.onDelete(i=>{e.line>=i.index&&e.linei.index&&(e.line-=i.amount)})),e.register(e.onDispose(()=>this._removeMarker(e))),e}_removeMarker(t){this._isClearing||this.markers.splice(this.markers.indexOf(t),1)}},r3=class extends te{constructor(t,e){super(),this._optionsService=t,this._bufferService=e,this._onBufferActivate=this._register(new L),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new gv(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new gv(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(t){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(t),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(t,e){this._normal.resize(t,e),this._alt.resize(t,e),this.setupTabStops(t)}setupTabStops(t){this._normal.setupTabStops(t),this._alt.setupTabStops(t)}},tx=2,ix=1,Mp=class extends te{constructor(t){super(),this.isUserScrolling=!1,this._onResize=this._register(new L),this.onResize=this._onResize.event,this._onScroll=this._register(new L),this.onScroll=this._onScroll.event,this.cols=Math.max(t.rawOptions.cols||0,tx),this.rows=Math.max(t.rawOptions.rows||0,ix),this.buffers=this._register(new r3(t,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(t,e){let i=this.cols!==t,r=this.rows!==e;this.cols=t,this.rows=e,this.buffers.resize(t,e),this._onResize.fire({cols:t,rows:e,colsChanged:i,rowsChanged:r})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(t,e=!1){let i=this.buffer,r;r=this._cachedBlankLine,(!r||r.length!==this.cols||r.getFg(0)!==t.fg||r.getBg(0)!==t.bg)&&(r=i.getBlankLine(t,e),this._cachedBlankLine=r),r.isWrapped=e;let s=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(i.scrollTop===0){let o=i.lines.isFull;n===i.lines.length-1?o?i.lines.recycle().copyFrom(r):i.lines.push(r.clone()):i.lines.splice(n+1,0,r.clone()),o?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{let o=n-s+1;i.lines.shiftElements(s+1,o-1,-1),i.lines.set(n,r.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)}scrollLines(t,e){let i=this.buffer;if(t<0){if(i.ydisp===0)return;this.isUserScrolling=!0}else t+i.ydisp>=i.ybase&&(this.isUserScrolling=!1);let r=i.ydisp;i.ydisp=Math.max(Math.min(i.ydisp+t,i.ybase),0),r!==i.ydisp&&(e||this._onScroll.fire(i.ydisp))}};Mp=De([X(0,At)],Mp);var qs={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:fc,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},s3=["normal","bold","100","200","300","400","500","600","700","800","900"],n3=class extends te{constructor(t){super(),this._onOptionChange=this._register(new L),this.onOptionChange=this._onOptionChange.event;let e={...qs};for(let i in t)if(i in e)try{let r=t[i];e[i]=this._sanitizeAndValidateOption(i,r)}catch(r){console.error(r)}this.rawOptions=e,this.options={...e},this._setupOptions(),this._register(Pe(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(t,e){return this.onOptionChange(i=>{i===t&&e(this.rawOptions[t])})}onMultipleOptionChange(t,e){return this.onOptionChange(i=>{t.indexOf(i)!==-1&&e()})}_setupOptions(){let t=i=>{if(!(i in qs))throw new Error(`No option with key "${i}"`);return this.rawOptions[i]},e=(i,r)=>{if(!(i in qs))throw new Error(`No option with key "${i}"`);r=this._sanitizeAndValidateOption(i,r),this.rawOptions[i]!==r&&(this.rawOptions[i]=r,this._onOptionChange.fire(i))};for(let i in this.rawOptions){let r={get:t.bind(this,i),set:e.bind(this,i)};Object.defineProperty(this.options,i,r)}}_sanitizeAndValidateOption(t,e){switch(t){case"cursorStyle":if(e||(e=qs[t]),!o3(e))throw new Error(`"${e}" is not a valid value for ${t}`);break;case"wordSeparator":e||(e=qs[t]);break;case"fontWeight":case"fontWeightBold":if(typeof e=="number"&&1<=e&&e<=1e3)break;e=s3.includes(e)?e:qs[t];break;case"cursorWidth":e=Math.floor(e);case"lineHeight":case"tabStopWidth":if(e<1)throw new Error(`${t} cannot be less than 1, value: ${e}`);break;case"minimumContrastRatio":e=Math.max(1,Math.min(21,Math.round(e*10)/10));break;case"scrollback":if(e=Math.min(e,4294967295),e<0)throw new Error(`${t} cannot be less than 0, value: ${e}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(e<=0)throw new Error(`${t} cannot be less than or equal to 0, value: ${e}`);break;case"rows":case"cols":if(!e&&e!==0)throw new Error(`${t} must be numeric, value: ${e}`);break;case"windowsPty":e=e??{};break}return e}};function o3(t){return t==="block"||t==="underline"||t==="bar"}function Ao(t,e=5){if(typeof t!="object")return t;let i=Array.isArray(t)?[]:{};for(let r in t)i[r]=e<=1?t[r]:t[r]&&Ao(t[r],e-1);return i}var Ov=Object.freeze({insertMode:!1}),mv=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),Lp=class extends te{constructor(t,e,i){super(),this._bufferService=t,this._logService=e,this._optionsService=i,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new L),this.onData=this._onData.event,this._onUserInput=this._register(new L),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new L),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new L),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=Ao(Ov),this.decPrivateModes=Ao(mv)}reset(){this.modes=Ao(Ov),this.decPrivateModes=Ao(mv)}triggerDataEvent(t,e=!1){if(this._optionsService.rawOptions.disableStdin)return;let i=this._bufferService.buffer;e&&this._optionsService.rawOptions.scrollOnUserInput&&i.ybase!==i.ydisp&&this._onRequestScrollToBottom.fire(),e&&this._onUserInput.fire(),this._logService.debug(`sending data "${t}"`),this._logService.trace("sending data (codes)",()=>t.split("").map(r=>r.charCodeAt(0))),this._onData.fire(t)}triggerBinaryEvent(t){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${t}"`),this._logService.trace("sending binary (codes)",()=>t.split("").map(e=>e.charCodeAt(0))),this._onBinary.fire(t))}};Lp=De([X(0,Rt),X(1,wb),X(2,At)],Lp);var _v={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:t=>t.button===4||t.action!==1?!1:(t.ctrl=!1,t.alt=!1,t.shift=!1,!0)},VT200:{events:19,restrict:t=>t.action!==32},DRAG:{events:23,restrict:t=>!(t.action===32&&t.button===3)},ANY:{events:31,restrict:t=>!0}};function ff(t,e){let i=(t.ctrl?16:0)|(t.shift?4:0)|(t.alt?8:0);return t.button===4?(i|=64,i|=t.action):(i|=t.button&3,t.button&4&&(i|=64),t.button&8&&(i|=128),t.action===32?i|=32:t.action===0&&!e&&(i|=3)),i}var df=String.fromCharCode,vv={DEFAULT:t=>{let e=[ff(t,!1)+32,t.col+32,t.row+32];return e[0]>255||e[1]>255||e[2]>255?"":`\x1B[M${df(e[0])}${df(e[1])}${df(e[2])}`},SGR:t=>{let e=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${ff(t,!0)};${t.col};${t.row}${e}`},SGR_PIXELS:t=>{let e=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${ff(t,!0)};${t.x};${t.y}${e}`}},Dp=class extends te{constructor(t,e,i){super(),this._bufferService=t,this._coreService=e,this._optionsService=i,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new L),this.onProtocolChange=this._onProtocolChange.event;for(let r of Object.keys(_v))this.addProtocol(r,_v[r]);for(let r of Object.keys(vv))this.addEncoding(r,vv[r]);this.reset()}addProtocol(t,e){this._protocols[t]=e}addEncoding(t,e){this._encodings[t]=e}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(t){if(!this._protocols[t])throw new Error(`unknown protocol "${t}"`);this._activeProtocol=t,this._onProtocolChange.fire(this._protocols[t].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(t){if(!this._encodings[t])throw new Error(`unknown encoding "${t}"`);this._activeEncoding=t}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(t,e,i){if(t.deltaY===0||t.shiftKey||e===void 0||i===void 0)return 0;let r=e/i,s=this._applyScrollModifier(t.deltaY,t);return t.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(s/=r+0,Math.abs(t.deltaY)<50&&(s*=.3),this._wheelPartialScroll+=s,s=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):t.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(s*=this._bufferService.rows),s}_applyScrollModifier(t,e){return e.altKey||e.ctrlKey||e.shiftKey?t*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:t*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(t){if(t.col<0||t.col>=this._bufferService.cols||t.row<0||t.row>=this._bufferService.rows||t.button===4&&t.action===32||t.button===3&&t.action!==32||t.button!==4&&(t.action===2||t.action===3)||(t.col++,t.row++,t.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,t,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(t))return!1;let e=this._encodings[this._activeEncoding](t);return e&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(e):this._coreService.triggerDataEvent(e,!0)),this._lastEvent=t,!0}explainEvents(t){return{down:!!(t&1),up:!!(t&2),drag:!!(t&4),move:!!(t&8),wheel:!!(t&16)}}_equalEvents(t,e,i){if(i){if(t.x!==e.x||t.y!==e.y)return!1}else if(t.col!==e.col||t.row!==e.row)return!1;return!(t.button!==e.button||t.action!==e.action||t.ctrl!==e.ctrl||t.alt!==e.alt||t.shift!==e.shift)}};Dp=De([X(0,Rt),X(1,js),X(2,At)],Dp);var pf=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],l3=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],Fe;function a3(t,e){let i=0,r=e.length-1,s;if(te[r][1])return!1;for(;r>=i;)if(s=i+r>>1,t>e[s][1])i=s+1;else if(t=131072&&t<=196605||t>=196608&&t<=262141?2:1}charProperties(t,e){let i=this.wcwidth(t),r=i===0&&e!==0;if(r){let s=Ps.extractWidth(e);s===0?r=!1:s>i&&(i=s)}return Ps.createPropertyValue(0,i,r)}},Ps=class fh{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new L,this.onChange=this._onChange.event;let e=new h3;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return(e&1)!==0}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,i,r=!1){return(e&16777215)<<3|(i&3)<<1|(r?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw new Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(e){let i=0,r=0,s=e.length;for(let n=0;n=s)return i+this.wcwidth(o);let h=e.charCodeAt(n);56320<=h&&h<=57343?o=(o-55296)*1024+h-56320+65536:i+=this.wcwidth(h)}let l=this.charProperties(o,r),a=fh.extractWidth(l);fh.extractShouldJoin(l)&&(a-=fh.extractWidth(r)),i+=a,r=l}return i}charProperties(e,i){return this._activeProvider.charProperties(e,i)}},c3=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(t){this.glevel=t,this.charset=this._charsets[t]}setgCharset(t,e){this._charsets[t]=e,this.glevel===t&&(this.charset=e)}};function Sv(t){var r;let e=(r=t.buffer.lines.get(t.buffer.ybase+t.buffer.y-1))==null?void 0:r.get(t.cols-1),i=t.buffer.lines.get(t.buffer.ybase+t.buffer.y);i&&e&&(i.isWrapped=e[3]!==0&&e[3]!==32)}var So=2147483647,u3=256,rx=class Bp{constructor(e=32,i=32){if(this.maxLength=e,this.maxSubParamsLength=i,i>u3)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(i),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(e){let i=new Bp;if(!e.length)return i;for(let r=Array.isArray(e[0])?1:0;r>8,s=this._subParamsIdx[i]&255;s-r>0&&e.push(Array.prototype.slice.call(this._subParams,r,s))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>So?So:e}addSubParam(e){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>So?So:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let i=this._subParamsIdx[e]>>8,r=this._subParamsIdx[e]&255;return r-i>0?this._subParams.subarray(i,r):null}getSubParamsAll(){let e={};for(let i=0;i>8,s=this._subParamsIdx[i]&255;s-r>0&&(e[i]=this._subParams.slice(r,s))}return e}addDigit(e){let i;if(this._rejectDigits||!(i=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let r=this._digitIsSub?this._subParams:this.params,s=r[i-1];r[i-1]=~s?Math.min(s*10+e,So):e}},yo=[],f3=class{constructor(){this._state=0,this._active=yo,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let i=this._handlers[t];return i.push(e),{dispose:()=>{let r=i.indexOf(e);r!==-1&&i.splice(r,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=yo}reset(){if(this._state===2)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].end(!1);this._stack.paused=!1,this._active=yo,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||yo,!this._active.length)this._handlerFb(this._id,"START");else for(let t=this._active.length-1;t>=0;t--)this._active[t].start()}_put(t,e,i){if(!this._active.length)this._handlerFb(this._id,"PUT",Yc(t,e,i));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(t,e,i)}start(){this.reset(),this._state=1}put(t,e,i){if(this._state!==3){if(this._state===1)for(;e0&&this._put(t,e,i)}}end(t,e=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",t);else{let i=!1,r=this._active.length-1,s=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,i=e,s=this._stack.fallThrough,this._stack.paused=!1),!s&&i===!1){for(;r>=0&&(i=this._active[r].end(t),i!==!0);r--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,i;r--}for(;r>=0;r--)if(i=this._active[r].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,i}this._active=yo,this._id=-1,this._state=0}}},qt=class{constructor(t){this._handler=t,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(t,e,i){this._hitLimit||(this._data+=Yc(t,e,i),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data),e instanceof Promise))return e.then(i=>(this._data="",this._hitLimit=!1,i));return this._data="",this._hitLimit=!1,e}},wo=[],d3=class{constructor(){this._handlers=Object.create(null),this._active=wo,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=wo}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let i=this._handlers[t];return i.push(e),{dispose:()=>{let r=i.indexOf(e);r!==-1&&i.splice(r,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}reset(){if(this._active.length)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].unhook(!1);this._stack.paused=!1,this._active=wo,this._ident=0}hook(t,e){if(this.reset(),this._ident=t,this._active=this._handlers[t]||wo,!this._active.length)this._handlerFb(this._ident,"HOOK",e);else for(let i=this._active.length-1;i>=0;i--)this._active[i].hook(e)}put(t,e,i){if(!this._active.length)this._handlerFb(this._ident,"PUT",Yc(t,e,i));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(t,e,i)}unhook(t,e=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",t);else{let i=!1,r=this._active.length-1,s=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,i=e,s=this._stack.fallThrough,this._stack.paused=!1),!s&&i===!1){for(;r>=0&&(i=this._active[r].unhook(t),i!==!0);r--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,i;r--}for(;r>=0;r--)if(i=this._active[r].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,i}this._active=wo,this._ident=0}},Mo=new rx;Mo.addParam(0);var yv=class{constructor(t){this._handler=t,this._data="",this._params=Mo,this._hitLimit=!1}hook(t){this._params=t.length>1||t.params[0]?t.clone():Mo,this._data="",this._hitLimit=!1}put(t,e,i){this._hitLimit||(this._data+=Yc(t,e,i),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data,this._params),e instanceof Promise))return e.then(i=>(this._params=Mo,this._data="",this._hitLimit=!1,i));return this._params=Mo,this._data="",this._hitLimit=!1,e}},p3=class{constructor(t){this.table=new Uint8Array(t)}setDefault(t,e){this.table.fill(t<<4|e)}add(t,e,i,r){this.table[e<<8|t]=i<<4|r}addMany(t,e,i,r){for(let s=0;sa),i=(l,a)=>e.slice(l,a),r=i(32,127),s=i(0,24);s.push(25),s.push.apply(s,i(28,32));let n=i(0,14),o;t.setDefault(1,0),t.addMany(r,0,2,0);for(o in n)t.addMany([24,26,153,154],o,3,0),t.addMany(i(128,144),o,3,0),t.addMany(i(144,152),o,3,0),t.add(156,o,0,0),t.add(27,o,11,1),t.add(157,o,4,8),t.addMany([152,158,159],o,0,7),t.add(155,o,11,3),t.add(144,o,11,9);return t.addMany(s,0,3,0),t.addMany(s,1,3,1),t.add(127,1,0,1),t.addMany(s,8,0,8),t.addMany(s,3,3,3),t.add(127,3,0,3),t.addMany(s,4,3,4),t.add(127,4,0,4),t.addMany(s,6,3,6),t.addMany(s,5,3,5),t.add(127,5,0,5),t.addMany(s,2,3,2),t.add(127,2,0,2),t.add(93,1,4,8),t.addMany(r,8,5,8),t.add(127,8,5,8),t.addMany([156,27,24,26,7],8,6,0),t.addMany(i(28,32),8,0,8),t.addMany([88,94,95],1,0,7),t.addMany(r,7,0,7),t.addMany(s,7,0,7),t.add(156,7,0,0),t.add(127,7,0,7),t.add(91,1,11,3),t.addMany(i(64,127),3,7,0),t.addMany(i(48,60),3,8,4),t.addMany([60,61,62,63],3,9,4),t.addMany(i(48,60),4,8,4),t.addMany(i(64,127),4,7,0),t.addMany([60,61,62,63],4,0,6),t.addMany(i(32,64),6,0,6),t.add(127,6,0,6),t.addMany(i(64,127),6,0,0),t.addMany(i(32,48),3,9,5),t.addMany(i(32,48),5,9,5),t.addMany(i(48,64),5,0,6),t.addMany(i(64,127),5,7,0),t.addMany(i(32,48),4,9,5),t.addMany(i(32,48),1,9,2),t.addMany(i(32,48),2,9,2),t.addMany(i(48,127),2,10,0),t.addMany(i(48,80),1,10,0),t.addMany(i(81,88),1,10,0),t.addMany([89,90,92],1,10,0),t.addMany(i(96,127),1,10,0),t.add(80,1,11,9),t.addMany(s,9,0,9),t.add(127,9,0,9),t.addMany(i(28,32),9,0,9),t.addMany(i(32,48),9,9,12),t.addMany(i(48,60),9,8,10),t.addMany([60,61,62,63],9,9,10),t.addMany(s,11,0,11),t.addMany(i(32,128),11,0,11),t.addMany(i(28,32),11,0,11),t.addMany(s,10,0,10),t.add(127,10,0,10),t.addMany(i(28,32),10,0,10),t.addMany(i(48,60),10,8,10),t.addMany([60,61,62,63],10,0,11),t.addMany(i(32,48),10,9,12),t.addMany(s,12,0,12),t.add(127,12,0,12),t.addMany(i(28,32),12,0,12),t.addMany(i(32,48),12,9,12),t.addMany(i(48,64),12,0,11),t.addMany(i(64,127),12,12,13),t.addMany(i(64,127),10,12,13),t.addMany(i(64,127),9,12,13),t.addMany(s,13,13,13),t.addMany(r,13,13,13),t.add(127,13,0,13),t.addMany([27,156,24,26],13,14,0),t.add(oi,0,2,0),t.add(oi,8,5,8),t.add(oi,6,0,6),t.add(oi,11,0,11),t.add(oi,13,13,13),t}(),O3=class extends te{constructor(t=g3){super(),this._transitions=t,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new rx,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,i,r)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,i)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(Pe(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new f3),this._dcsParser=this._register(new d3),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(t,e=[64,126]){let i=0;if(t.prefix){if(t.prefix.length>1)throw new Error("only one byte as prefix supported");if(i=t.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(t.intermediates){if(t.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let s=0;sn||n>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");i<<=8,i|=n}}if(t.final.length!==1)throw new Error("final must be a single byte");let r=t.final.charCodeAt(0);if(e[0]>r||r>e[1])throw new Error(`final must be in range ${e[0]} .. ${e[1]}`);return i<<=8,i|=r,i}identToString(t){let e=[];for(;t;)e.push(String.fromCharCode(t&255)),t>>=8;return e.reverse().join("")}setPrintHandler(t){this._printHandler=t}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(t,e){let i=this._identifier(t,[48,126]);this._escHandlers[i]===void 0&&(this._escHandlers[i]=[]);let r=this._escHandlers[i];return r.push(e),{dispose:()=>{let s=r.indexOf(e);s!==-1&&r.splice(s,1)}}}clearEscHandler(t){this._escHandlers[this._identifier(t,[48,126])]&&delete this._escHandlers[this._identifier(t,[48,126])]}setEscHandlerFallback(t){this._escHandlerFb=t}setExecuteHandler(t,e){this._executeHandlers[t.charCodeAt(0)]=e}clearExecuteHandler(t){this._executeHandlers[t.charCodeAt(0)]&&delete this._executeHandlers[t.charCodeAt(0)]}setExecuteHandlerFallback(t){this._executeHandlerFb=t}registerCsiHandler(t,e){let i=this._identifier(t);this._csiHandlers[i]===void 0&&(this._csiHandlers[i]=[]);let r=this._csiHandlers[i];return r.push(e),{dispose:()=>{let s=r.indexOf(e);s!==-1&&r.splice(s,1)}}}clearCsiHandler(t){this._csiHandlers[this._identifier(t)]&&delete this._csiHandlers[this._identifier(t)]}setCsiHandlerFallback(t){this._csiHandlerFb=t}registerDcsHandler(t,e){return this._dcsParser.registerHandler(this._identifier(t),e)}clearDcsHandler(t){this._dcsParser.clearHandler(this._identifier(t))}setDcsHandlerFallback(t){this._dcsParser.setHandlerFallback(t)}registerOscHandler(t,e){return this._oscParser.registerHandler(t,e)}clearOscHandler(t){this._oscParser.clearHandler(t)}setOscHandlerFallback(t){this._oscParser.setHandlerFallback(t)}setErrorHandler(t){this._errorHandler=t}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(t,e,i,r,s){this._parseStack.state=t,this._parseStack.handlers=e,this._parseStack.handlerPos=i,this._parseStack.transition=r,this._parseStack.chunkPos=s}parse(t,e,i){let r=0,s=0,n=0,o;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,n=this._parseStack.chunkPos+1;else{if(i===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let l=this._parseStack.handlers,a=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(i===!1&&a>-1){for(;a>=0&&(o=l[a](this._params),o!==!0);a--)if(o instanceof Promise)return this._parseStack.handlerPos=a,o}this._parseStack.handlers=[];break;case 4:if(i===!1&&a>-1){for(;a>=0&&(o=l[a](),o!==!0);a--)if(o instanceof Promise)return this._parseStack.handlerPos=a,o}this._parseStack.handlers=[];break;case 6:if(r=t[this._parseStack.chunkPos],o=this._dcsParser.unhook(r!==24&&r!==26,i),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=t[this._parseStack.chunkPos],o=this._oscParser.end(r!==24&&r!==26,i),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,n=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let l=n;l>4){case 2:for(let f=l+1;;++f){if(f>=e||(r=t[f])<32||r>126&&r=e||(r=t[f])<32||r>126&&r=e||(r=t[f])<32||r>126&&r=e||(r=t[f])<32||r>126&&r=0&&(o=a[h](this._params),o!==!0);h--)if(o instanceof Promise)return this._preserveStack(3,a,h,s,l),o;h<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}while(++l47&&r<60);l--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:let c=this._escHandlers[this._collect<<8|r],u=c?c.length-1:-1;for(;u>=0&&(o=c[u](),o!==!0);u--)if(o instanceof Promise)return this._preserveStack(4,c,u,s,l),o;u<0&&this._escHandlerFb(this._collect<<8|r),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let f=l+1;;++f)if(f>=e||(r=t[f])===24||r===26||r===27||r>127&&r=e||(r=t[f])<32||r>127&&r>4:n>>8}return r}}function gf(t,e){let i=t.toString(16),r=i.length<2?"0"+i:i;switch(e){case 4:return i[0];case 8:return r;case 12:return(r+r).slice(0,3);default:return r+r}}function v3(t,e=16){let[i,r,s]=t;return`rgb:${gf(i,e)}/${gf(r,e)}/${gf(s,e)}`}var S3={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Ar=131072,kv=10;function bv(t,e){if(t>24)return e.setWinLines||!1;switch(t){case 1:return!!e.restoreWin;case 2:return!!e.minimizeWin;case 3:return!!e.setWinPosition;case 4:return!!e.setWinSizePixels;case 5:return!!e.raiseWin;case 6:return!!e.lowerWin;case 7:return!!e.refreshWin;case 8:return!!e.setWinSizeChars;case 9:return!!e.maximizeWin;case 10:return!!e.fullscreenWin;case 11:return!!e.getWinState;case 13:return!!e.getWinPosition;case 14:return!!e.getWinSizePixels;case 15:return!!e.getScreenSizePixels;case 16:return!!e.getCellSizePixels;case 18:return!!e.getWinSizeChars;case 19:return!!e.getScreenSizeChars;case 20:return!!e.getIconTitle;case 21:return!!e.getWinTitle;case 22:return!!e.pushTitle;case 23:return!!e.popTitle;case 24:return!!e.setWinLines}return!1}var xv=5e3,Cv=0,y3=class extends te{constructor(t,e,i,r,s,n,o,l,a=new O3){super(),this._bufferService=t,this._charsetService=e,this._coreService=i,this._logService=r,this._optionsService=s,this._oscLinkService=n,this._coreMouseService=o,this._unicodeService=l,this._parser=a,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new XA,this._utf8Decoder=new IA,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=We.clone(),this._eraseAttrDataInternal=We.clone(),this._onRequestBell=this._register(new L),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new L),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new L),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new L),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new L),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new L),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new L),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new L),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new L),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new L),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new L),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new L),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new L),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new zp(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(h=>this._activeBuffer=h.activeBuffer)),this._parser.setCsiHandlerFallback((h,c)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(h),params:c.toArray()})}),this._parser.setEscHandlerFallback(h=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(h)})}),this._parser.setExecuteHandlerFallback(h=>{this._logService.debug("Unknown EXECUTE code: ",{code:h})}),this._parser.setOscHandlerFallback((h,c,u)=>{this._logService.debug("Unknown OSC code: ",{identifier:h,action:c,data:u})}),this._parser.setDcsHandlerFallback((h,c,u)=>{c==="HOOK"&&(u=u.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(h),action:c,payload:u})}),this._parser.setPrintHandler((h,c,u)=>this.print(h,c,u)),this._parser.registerCsiHandler({final:"@"},h=>this.insertChars(h)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},h=>this.scrollLeft(h)),this._parser.registerCsiHandler({final:"A"},h=>this.cursorUp(h)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},h=>this.scrollRight(h)),this._parser.registerCsiHandler({final:"B"},h=>this.cursorDown(h)),this._parser.registerCsiHandler({final:"C"},h=>this.cursorForward(h)),this._parser.registerCsiHandler({final:"D"},h=>this.cursorBackward(h)),this._parser.registerCsiHandler({final:"E"},h=>this.cursorNextLine(h)),this._parser.registerCsiHandler({final:"F"},h=>this.cursorPrecedingLine(h)),this._parser.registerCsiHandler({final:"G"},h=>this.cursorCharAbsolute(h)),this._parser.registerCsiHandler({final:"H"},h=>this.cursorPosition(h)),this._parser.registerCsiHandler({final:"I"},h=>this.cursorForwardTab(h)),this._parser.registerCsiHandler({final:"J"},h=>this.eraseInDisplay(h,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},h=>this.eraseInDisplay(h,!0)),this._parser.registerCsiHandler({final:"K"},h=>this.eraseInLine(h,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},h=>this.eraseInLine(h,!0)),this._parser.registerCsiHandler({final:"L"},h=>this.insertLines(h)),this._parser.registerCsiHandler({final:"M"},h=>this.deleteLines(h)),this._parser.registerCsiHandler({final:"P"},h=>this.deleteChars(h)),this._parser.registerCsiHandler({final:"S"},h=>this.scrollUp(h)),this._parser.registerCsiHandler({final:"T"},h=>this.scrollDown(h)),this._parser.registerCsiHandler({final:"X"},h=>this.eraseChars(h)),this._parser.registerCsiHandler({final:"Z"},h=>this.cursorBackwardTab(h)),this._parser.registerCsiHandler({final:"`"},h=>this.charPosAbsolute(h)),this._parser.registerCsiHandler({final:"a"},h=>this.hPositionRelative(h)),this._parser.registerCsiHandler({final:"b"},h=>this.repeatPrecedingCharacter(h)),this._parser.registerCsiHandler({final:"c"},h=>this.sendDeviceAttributesPrimary(h)),this._parser.registerCsiHandler({prefix:">",final:"c"},h=>this.sendDeviceAttributesSecondary(h)),this._parser.registerCsiHandler({final:"d"},h=>this.linePosAbsolute(h)),this._parser.registerCsiHandler({final:"e"},h=>this.vPositionRelative(h)),this._parser.registerCsiHandler({final:"f"},h=>this.hVPosition(h)),this._parser.registerCsiHandler({final:"g"},h=>this.tabClear(h)),this._parser.registerCsiHandler({final:"h"},h=>this.setMode(h)),this._parser.registerCsiHandler({prefix:"?",final:"h"},h=>this.setModePrivate(h)),this._parser.registerCsiHandler({final:"l"},h=>this.resetMode(h)),this._parser.registerCsiHandler({prefix:"?",final:"l"},h=>this.resetModePrivate(h)),this._parser.registerCsiHandler({final:"m"},h=>this.charAttributes(h)),this._parser.registerCsiHandler({final:"n"},h=>this.deviceStatus(h)),this._parser.registerCsiHandler({prefix:"?",final:"n"},h=>this.deviceStatusPrivate(h)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},h=>this.softReset(h)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},h=>this.setCursorStyle(h)),this._parser.registerCsiHandler({final:"r"},h=>this.setScrollRegion(h)),this._parser.registerCsiHandler({final:"s"},h=>this.saveCursor(h)),this._parser.registerCsiHandler({final:"t"},h=>this.windowOptions(h)),this._parser.registerCsiHandler({final:"u"},h=>this.restoreCursor(h)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},h=>this.insertColumns(h)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},h=>this.deleteColumns(h)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},h=>this.selectProtected(h)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},h=>this.requestMode(h,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},h=>this.requestMode(h,!1)),this._parser.setExecuteHandler(P.BEL,()=>this.bell()),this._parser.setExecuteHandler(P.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(P.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(P.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(P.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(P.BS,()=>this.backspace()),this._parser.setExecuteHandler(P.HT,()=>this.tab()),this._parser.setExecuteHandler(P.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(P.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(ch.IND,()=>this.index()),this._parser.setExecuteHandler(ch.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(ch.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new qt(h=>(this.setTitle(h),this.setIconName(h),!0))),this._parser.registerOscHandler(1,new qt(h=>this.setIconName(h))),this._parser.registerOscHandler(2,new qt(h=>this.setTitle(h))),this._parser.registerOscHandler(4,new qt(h=>this.setOrReportIndexedColor(h))),this._parser.registerOscHandler(8,new qt(h=>this.setHyperlink(h))),this._parser.registerOscHandler(10,new qt(h=>this.setOrReportFgColor(h))),this._parser.registerOscHandler(11,new qt(h=>this.setOrReportBgColor(h))),this._parser.registerOscHandler(12,new qt(h=>this.setOrReportCursorColor(h))),this._parser.registerOscHandler(104,new qt(h=>this.restoreIndexedColor(h))),this._parser.registerOscHandler(110,new qt(h=>this.restoreFgColor(h))),this._parser.registerOscHandler(111,new qt(h=>this.restoreBgColor(h))),this._parser.registerOscHandler(112,new qt(h=>this.restoreCursorColor(h))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let h in Je)this._parser.registerEscHandler({intermediates:"(",final:h},()=>this.selectCharset("("+h)),this._parser.registerEscHandler({intermediates:")",final:h},()=>this.selectCharset(")"+h)),this._parser.registerEscHandler({intermediates:"*",final:h},()=>this.selectCharset("*"+h)),this._parser.registerEscHandler({intermediates:"+",final:h},()=>this.selectCharset("+"+h)),this._parser.registerEscHandler({intermediates:"-",final:h},()=>this.selectCharset("-"+h)),this._parser.registerEscHandler({intermediates:".",final:h},()=>this.selectCharset("."+h)),this._parser.registerEscHandler({intermediates:"/",final:h},()=>this.selectCharset("/"+h));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(h=>(this._logService.error("Parsing error: ",h),h)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new yv((h,c)=>this.requestStatusString(h,c)))}getAttrData(){return this._curAttrData}_preserveStack(t,e,i,r){this._parseStack.paused=!0,this._parseStack.cursorStartX=t,this._parseStack.cursorStartY=e,this._parseStack.decodedLength=i,this._parseStack.position=r}_logSlowResolvingAsync(t){this._logService.logLevel<=3&&Promise.race([t,new Promise((e,i)=>setTimeout(()=>i("#SLOW_TIMEOUT"),xv))]).catch(e=>{if(e!=="#SLOW_TIMEOUT")throw e;console.warn(`async parser handler taking longer than ${xv} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(t,e){let i,r=this._activeBuffer.x,s=this._activeBuffer.y,n=0,o=this._parseStack.paused;if(o){if(i=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,e))return this._logSlowResolvingAsync(i),i;r=this._parseStack.cursorStartX,s=this._parseStack.cursorStartY,this._parseStack.paused=!1,t.length>Ar&&(n=this._parseStack.position+Ar)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof t=="string"?` "${t}"`:` "${Array.prototype.map.call(t,h=>String.fromCharCode(h)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof t=="string"?t.split("").map(h=>h.charCodeAt(0)):t),this._parseBuffer.lengthAr)for(let h=n;h0&&u.getWidth(this._activeBuffer.x-1)===2&&u.setCellFromCodepoint(this._activeBuffer.x-1,0,1,c);let f=this._parser.precedingJoinState;for(let d=e;dl){if(a){let O=u,m=this._activeBuffer.x-v;for(this._activeBuffer.x=v,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),u=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),v>0&&u instanceof Ro&&u.copyCellsFrom(O,m,0,v,!1);m=0;)u.setCellFromCodepoint(this._activeBuffer.x++,0,0,c);continue}if(h&&(u.insertCells(this._activeBuffer.x,s-v,this._activeBuffer.getNullCell(c)),u.getWidth(l-1)===2&&u.setCellFromCodepoint(l-1,0,1,c)),u.setCellFromCodepoint(this._activeBuffer.x++,r,s,c),s>0)for(;--s;)u.setCellFromCodepoint(this._activeBuffer.x++,0,0,c)}this._parser.precedingJoinState=f,this._activeBuffer.x0&&u.getWidth(this._activeBuffer.x)===0&&!u.hasContent(this._activeBuffer.x)&&u.setCellFromCodepoint(this._activeBuffer.x,0,1,c),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(t,e){return t.final==="t"&&!t.prefix&&!t.intermediates?this._parser.registerCsiHandler(t,i=>bv(i.params[0],this._optionsService.rawOptions.windowOptions)?e(i):!0):this._parser.registerCsiHandler(t,e)}registerDcsHandler(t,e){return this._parser.registerDcsHandler(t,new yv(e))}registerEscHandler(t,e){return this._parser.registerEscHandler(t,e)}registerOscHandler(t,e){return this._parser.registerOscHandler(t,new qt(e))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var t;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&((t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&t.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-t),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(t=this._bufferService.cols-1){this._activeBuffer.x=Math.min(t,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(t,e){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=t,this._activeBuffer.y=this._activeBuffer.scrollTop+e):(this._activeBuffer.x=t,this._activeBuffer.y=e),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(t,e){this._restrictCursor(),this._setCursor(this._activeBuffer.x+t,this._activeBuffer.y+e)}cursorUp(t){let e=this._activeBuffer.y-this._activeBuffer.scrollTop;return e>=0?this._moveCursor(0,-Math.min(e,t.params[0]||1)):this._moveCursor(0,-(t.params[0]||1)),!0}cursorDown(t){let e=this._activeBuffer.scrollBottom-this._activeBuffer.y;return e>=0?this._moveCursor(0,Math.min(e,t.params[0]||1)):this._moveCursor(0,t.params[0]||1),!0}cursorForward(t){return this._moveCursor(t.params[0]||1,0),!0}cursorBackward(t){return this._moveCursor(-(t.params[0]||1),0),!0}cursorNextLine(t){return this.cursorDown(t),this._activeBuffer.x=0,!0}cursorPrecedingLine(t){return this.cursorUp(t),this._activeBuffer.x=0,!0}cursorCharAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(t){return this._setCursor(t.length>=2?(t.params[1]||1)-1:0,(t.params[0]||1)-1),!0}charPosAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(t){return this._moveCursor(t.params[0]||1,0),!0}linePosAbsolute(t){return this._setCursor(this._activeBuffer.x,(t.params[0]||1)-1),!0}vPositionRelative(t){return this._moveCursor(0,t.params[0]||1),!0}hVPosition(t){return this.cursorPosition(t),!0}tabClear(t){let e=t.params[0];return e===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:e===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=t.params[0]||1;for(;e--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=t.params[0]||1;for(;e--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(t){let e=t.params[0];return e===1&&(this._curAttrData.bg|=536870912),(e===2||e===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(t,e,i,r=!1,s=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);n.replaceCells(e,i,this._activeBuffer.getNullCell(this._eraseAttrData()),s),r&&(n.isWrapped=!1)}_resetBufferLine(t,e=!1){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);i&&(i.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),e),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+t),i.isWrapped=!1)}eraseInDisplay(t,e=!1){var r;this._restrictCursor(this._bufferService.cols);let i;switch(t.params[0]){case 0:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,e);i=this._bufferService.cols&&(this._activeBuffer.lines.get(i+1).isWrapped=!1);i--;)this._resetBufferLine(i,e);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(i=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,i-1);i--&&!((r=this._activeBuffer.lines.get(this._activeBuffer.ybase+i))!=null&&r.getTrimmedLength()););for(;i>=0;i--)this._bufferService.scroll(this._eraseAttrData())}else{for(i=this._bufferService.rows,this._dirtyRowTracker.markDirty(i-1);i--;)this._resetBufferLine(i,e);this._dirtyRowTracker.markDirty(0)}break;case 3:let s=this._activeBuffer.lines.length-this._bufferService.rows;s>0&&(this._activeBuffer.lines.trimStart(s),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-s,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-s,0),this._onScroll.fire(0));break}return!0}eraseInLine(t,e=!1){switch(this._restrictCursor(this._bufferService.cols),t.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,e);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,e);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,e);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(t){this._restrictCursor();let e=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y65535?2:1}let a=l;for(let h=1;h0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(P.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(P.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(t){return t.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(P.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(P.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(t.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(P.ESC+"[>83;40003;0c")),!0}_is(t){return(this._optionsService.rawOptions.termName+"").indexOf(t)===0}setMode(t){for(let e=0;e(g[g.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",g[g.SET=1]="SET",g[g.RESET=2]="RESET",g[g.PERMANENTLY_SET=3]="PERMANENTLY_SET",g[g.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(void 0||(i={}));let r=this._coreService.decPrivateModes,{activeProtocol:s,activeEncoding:n}=this._coreMouseService,o=this._coreService,{buffers:l,cols:a}=this._bufferService,{active:h,alt:c}=l,u=this._optionsService.rawOptions,f=(g,v)=>(o.triggerDataEvent(`${P.ESC}[${e?"":"?"}${g};${v}$y`),!0),d=g=>g?1:2,p=t.params[0];return e?p===2?f(p,4):p===4?f(p,d(o.modes.insertMode)):p===12?f(p,3):p===20?f(p,d(u.convertEol)):f(p,0):p===1?f(p,d(r.applicationCursorKeys)):p===3?f(p,u.windowOptions.setWinLines?a===80?2:a===132?1:0:0):p===6?f(p,d(r.origin)):p===7?f(p,d(r.wraparound)):p===8?f(p,3):p===9?f(p,d(s==="X10")):p===12?f(p,d(u.cursorBlink)):p===25?f(p,d(!o.isCursorHidden)):p===45?f(p,d(r.reverseWraparound)):p===66?f(p,d(r.applicationKeypad)):p===67?f(p,4):p===1e3?f(p,d(s==="VT200")):p===1002?f(p,d(s==="DRAG")):p===1003?f(p,d(s==="ANY")):p===1004?f(p,d(r.sendFocus)):p===1005?f(p,4):p===1006?f(p,d(n==="SGR")):p===1015?f(p,4):p===1016?f(p,d(n==="SGR_PIXELS")):p===1048?f(p,1):p===47||p===1047||p===1049?f(p,d(h===c)):p===2004?f(p,d(r.bracketedPasteMode)):p===2026?f(p,d(r.synchronizedOutput)):f(p,0)}_updateAttrColor(t,e,i,r,s){return e===2?(t|=50331648,t&=-16777216,t|=Fl.fromColorRGB([i,r,s])):e===5&&(t&=-50331904,t|=33554432|i&255),t}_extractColor(t,e,i){let r=[0,0,-1,0,0,0],s=0,n=0;do{if(r[n+s]=t.params[e+n],t.hasSubParams(e+n)){let o=t.getSubParams(e+n),l=0;do r[1]===5&&(s=1),r[n+l+1+s]=o[l];while(++l=2||r[1]===2&&n+s>=5)break;r[1]&&(s=1)}while(++n+e5)&&(t=1),e.extended.underlineStyle=t,e.fg|=268435456,t===0&&(e.fg&=-268435457),e.updateExtended()}_processSGR0(t){t.fg=We.fg,t.bg=We.bg,t.extended=t.extended.clone(),t.extended.underlineStyle=0,t.extended.underlineColor&=-67108864,t.updateExtended()}charAttributes(t){if(t.length===1&&t.params[0]===0)return this._processSGR0(this._curAttrData),!0;let e=t.length,i,r=this._curAttrData;for(let s=0;s=30&&i<=37?(r.fg&=-50331904,r.fg|=16777216|i-30):i>=40&&i<=47?(r.bg&=-50331904,r.bg|=16777216|i-40):i>=90&&i<=97?(r.fg&=-50331904,r.fg|=16777216|i-90|8):i>=100&&i<=107?(r.bg&=-50331904,r.bg|=16777216|i-100|8):i===0?this._processSGR0(r):i===1?r.fg|=134217728:i===3?r.bg|=67108864:i===4?(r.fg|=268435456,this._processUnderline(t.hasSubParams(s)?t.getSubParams(s)[0]:1,r)):i===5?r.fg|=536870912:i===7?r.fg|=67108864:i===8?r.fg|=1073741824:i===9?r.fg|=2147483648:i===2?r.bg|=134217728:i===21?this._processUnderline(2,r):i===22?(r.fg&=-134217729,r.bg&=-134217729):i===23?r.bg&=-67108865:i===24?(r.fg&=-268435457,this._processUnderline(0,r)):i===25?r.fg&=-536870913:i===27?r.fg&=-67108865:i===28?r.fg&=-1073741825:i===29?r.fg&=2147483647:i===39?(r.fg&=-67108864,r.fg|=We.fg&16777215):i===49?(r.bg&=-67108864,r.bg|=We.bg&16777215):i===38||i===48||i===58?s+=this._extractColor(t,s,r):i===53?r.bg|=1073741824:i===55?r.bg&=-1073741825:i===59?(r.extended=r.extended.clone(),r.extended.underlineColor=-1,r.updateExtended()):i===100?(r.fg&=-67108864,r.fg|=We.fg&16777215,r.bg&=-67108864,r.bg|=We.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",i);return!0}deviceStatus(t){switch(t.params[0]){case 5:this._coreService.triggerDataEvent(`${P.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,i=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${P.ESC}[${e};${i}R`);break}return!0}deviceStatusPrivate(t){switch(t.params[0]){case 6:let e=this._activeBuffer.y+1,i=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${P.ESC}[?${e};${i}R`);break}return!0}softReset(t){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=We.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(t){let e=t.length===0?1:t.params[0];if(e===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(e){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let i=e%2===1;this._coreService.decPrivateModes.cursorBlink=i}return!0}setScrollRegion(t){let e=t.params[0]||1,i;return(t.length<2||(i=t.params[1])>this._bufferService.rows||i===0)&&(i=this._bufferService.rows),i>e&&(this._activeBuffer.scrollTop=e-1,this._activeBuffer.scrollBottom=i-1,this._setCursor(0,0)),!0}windowOptions(t){if(!bv(t.params[0],this._optionsService.rawOptions.windowOptions))return!0;let e=t.length>1?t.params[1]:0;switch(t.params[0]){case 14:e!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${P.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(e===0||e===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>kv&&this._windowTitleStack.shift()),(e===0||e===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>kv&&this._iconNameStack.shift());break;case 23:(e===0||e===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(e===0||e===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(t){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(t){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(t){return this._windowTitle=t,this._onTitleChange.fire(t),!0}setIconName(t){return this._iconName=t,!0}setOrReportIndexedColor(t){let e=[],i=t.split(";");for(;i.length>1;){let r=i.shift(),s=i.shift();if(/^\d+$/.exec(r)){let n=parseInt(r);if(Pv(n))if(s==="?")e.push({type:0,index:n});else{let o=wv(s);o&&e.push({type:1,index:n,color:o})}}}return e.length&&this._onColor.fire(e),!0}setHyperlink(t){let e=t.indexOf(";");if(e===-1)return!0;let i=t.slice(0,e).trim(),r=t.slice(e+1);return r?this._createHyperlink(i,r):i.trim()?!1:this._finishHyperlink()}_createHyperlink(t,e){this._getCurrentLinkId()&&this._finishHyperlink();let i=t.split(":"),r,s=i.findIndex(n=>n.startsWith("id="));return s!==-1&&(r=i[s].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:r,uri:e}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(t,e){let i=t.split(";");for(let r=0;r=this._specialColors.length);++r,++e)if(i[r]==="?")this._onColor.fire([{type:0,index:this._specialColors[e]}]);else{let s=wv(i[r]);s&&this._onColor.fire([{type:1,index:this._specialColors[e],color:s}])}return!0}setOrReportFgColor(t){return this._setOrReportSpecialColor(t,0)}setOrReportBgColor(t){return this._setOrReportSpecialColor(t,1)}setOrReportCursorColor(t){return this._setOrReportSpecialColor(t,2)}restoreIndexedColor(t){if(!t)return this._onColor.fire([{type:2}]),!0;let e=[],i=t.split(";");for(let r=0;r=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let t=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,t,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=We.clone(),this._eraseAttrDataInternal=We.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(t){return this._charsetService.setgLevel(t),!0}screenAlignmentPattern(){let t=new gi;t.content=1<<22|69,t.fg=this._curAttrData.fg,t.bg=this._curAttrData.bg,this._setCursor(0,0);for(let e=0;e(this._coreService.triggerDataEvent(`${P.ESC}${o}${P.ESC}\\`),!0),r=this._bufferService.buffer,s=this._optionsService.rawOptions;return i(t==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:t==='"p'?'P1$r61;1"p':t==="r"?`P1$r${r.scrollTop+1};${r.scrollBottom+1}r`:t==="m"?"P1$r0m":t===" q"?`P1$r${{block:2,underline:4,bar:6}[s.cursorStyle]-(s.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(t,e){this._dirtyRowTracker.markRangeDirty(t,e)}},zp=class{constructor(t){this._bufferService=t,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(t){tthis.end&&(this.end=t)}markRangeDirty(t,e){t>e&&(Cv=t,t=e,e=Cv),tthis.end&&(this.end=e)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};zp=De([X(0,Rt)],zp);function Pv(t){return 0<=t&&t<256}var w3=5e7,$v=12,k3=50,b3=class extends te{constructor(t){super(),this._action=t,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new L),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(t,e){if(e!==void 0&&this._syncCalls>e){this._syncCalls=0;return}if(this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let i;for(;i=this._writeBuffer.shift();){this._action(i);let r=this._callbacks.shift();r&&r()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(t,e){if(this._pendingData>w3)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(e),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(e)}_innerWrite(t=0,e=!0){let i=t||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let r=this._writeBuffer[this._bufferOffset],s=this._action(r,e);if(s){let o=l=>performance.now()-i>=$v?setTimeout(()=>this._innerWrite(0,l)):this._innerWrite(i,l);s.catch(l=>(queueMicrotask(()=>{throw l}),Promise.resolve(!1))).then(o);return}let n=this._callbacks[this._bufferOffset];if(n&&n(),this._bufferOffset++,this._pendingData-=r.length,performance.now()-i>=$v)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>k3&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},Zp=class{constructor(t){this._bufferService=t,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(t){let e=this._bufferService.buffer;if(t.id===void 0){let l=e.addMarker(e.ybase+e.y),a={data:t,id:this._nextId++,lines:[l]};return l.onDispose(()=>this._removeMarkerFromLink(a,l)),this._dataByLinkId.set(a.id,a),a.id}let i=t,r=this._getEntryIdKey(i),s=this._entriesWithId.get(r);if(s)return this.addLineToLink(s.id,e.ybase+e.y),s.id;let n=e.addMarker(e.ybase+e.y),o={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(o,n)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(t,e){let i=this._dataByLinkId.get(t);if(i&&i.lines.every(r=>r.line!==e)){let r=this._bufferService.buffer.addMarker(e);i.lines.push(r),r.onDispose(()=>this._removeMarkerFromLink(i,r))}}getLinkData(t){var e;return(e=this._dataByLinkId.get(t))==null?void 0:e.data}_getEntryIdKey(t){return`${t.id};;${t.uri}`}_removeMarkerFromLink(t,e){let i=t.lines.indexOf(e);i!==-1&&(t.lines.splice(i,1),t.lines.length===0&&(t.data.id!==void 0&&this._entriesWithId.delete(t.key),this._dataByLinkId.delete(t.id)))}};Zp=De([X(0,Rt)],Zp);var Qv=!1,x3=class extends te{constructor(t){super(),this._windowsWrappingHeuristics=this._register(new jn),this._onBinary=this._register(new L),this.onBinary=this._onBinary.event,this._onData=this._register(new L),this.onData=this._onData.event,this._onLineFeed=this._register(new L),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new L),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new L),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new L),this._instantiationService=new HL,this.optionsService=this._register(new n3(t)),this._instantiationService.setService(At,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(Mp)),this._instantiationService.setService(Rt,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(Ap)),this._instantiationService.setService(wb,this._logService),this.coreService=this._register(this._instantiationService.createInstance(Lp)),this._instantiationService.setService(js,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(Dp)),this._instantiationService.setService(yb,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance(Ps)),this._instantiationService.setService(VA,this.unicodeService),this._charsetService=this._instantiationService.createInstance(c3),this._instantiationService.setService(jA,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(Zp),this._instantiationService.setService(kb,this._oscLinkService),this._inputHandler=this._register(new y3(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(ut.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(ut.forward(this._bufferService.onResize,this._onResize)),this._register(ut.forward(this.coreService.onData,this._onData)),this._register(ut.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new b3((e,i)=>this._inputHandler.parse(e,i))),this._register(ut.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new L),this._onScroll.event(t=>{var e;(e=this._onScrollApi)==null||e.fire(t.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(t){for(let e in t)this.optionsService.options[e]=t[e]}write(t,e){this._writeBuffer.write(t,e)}writeSync(t,e){this._logService.logLevel<=3&&!Qv&&(this._logService.warn("writeSync is unreliable and will be removed soon."),Qv=!0),this._writeBuffer.writeSync(t,e)}input(t,e=!0){this.coreService.triggerDataEvent(t,e)}resize(t,e){isNaN(t)||isNaN(e)||(t=Math.max(t,tx),e=Math.max(e,ix),this._bufferService.resize(t,e))}scroll(t,e=!1){this._bufferService.scroll(t,e)}scrollLines(t,e){this._bufferService.scrollLines(t,e)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let e=t-this._bufferService.buffer.ydisp;e!==0&&this.scrollLines(e)}registerEscHandler(t,e){return this._inputHandler.registerEscHandler(t,e)}registerDcsHandler(t,e){return this._inputHandler.registerDcsHandler(t,e)}registerCsiHandler(t,e){return this._inputHandler.registerCsiHandler(t,e)}registerOscHandler(t,e){return this._inputHandler.registerOscHandler(t,e)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let t=!1,e=this.optionsService.rawOptions.windowsPty;e&&e.buildNumber!==void 0&&e.buildNumber!==void 0?t=e.backend==="conpty"&&e.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(t=!0),t?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let t=[];t.push(this.onLineFeed(Sv.bind(null,this._bufferService))),t.push(this.registerCsiHandler({final:"H"},()=>(Sv(this._bufferService),!1))),this._windowsWrappingHeuristics.value=Pe(()=>{for(let e of t)e.dispose()})}}},C3={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function P3(t,e,i,r){var o;let s={type:0,cancel:!1,key:void 0},n=(t.shiftKey?1:0)|(t.altKey?2:0)|(t.ctrlKey?4:0)|(t.metaKey?8:0);switch(t.keyCode){case 0:t.key==="UIKeyInputUpArrow"?e?s.key=P.ESC+"OA":s.key=P.ESC+"[A":t.key==="UIKeyInputLeftArrow"?e?s.key=P.ESC+"OD":s.key=P.ESC+"[D":t.key==="UIKeyInputRightArrow"?e?s.key=P.ESC+"OC":s.key=P.ESC+"[C":t.key==="UIKeyInputDownArrow"&&(e?s.key=P.ESC+"OB":s.key=P.ESC+"[B");break;case 8:s.key=t.ctrlKey?"\b":P.DEL,t.altKey&&(s.key=P.ESC+s.key);break;case 9:if(t.shiftKey){s.key=P.ESC+"[Z";break}s.key=P.HT,s.cancel=!0;break;case 13:s.key=t.altKey?P.ESC+P.CR:P.CR,s.cancel=!0;break;case 27:s.key=P.ESC,t.altKey&&(s.key=P.ESC+P.ESC),s.cancel=!0;break;case 37:if(t.metaKey)break;n?s.key=P.ESC+"[1;"+(n+1)+"D":e?s.key=P.ESC+"OD":s.key=P.ESC+"[D";break;case 39:if(t.metaKey)break;n?s.key=P.ESC+"[1;"+(n+1)+"C":e?s.key=P.ESC+"OC":s.key=P.ESC+"[C";break;case 38:if(t.metaKey)break;n?s.key=P.ESC+"[1;"+(n+1)+"A":e?s.key=P.ESC+"OA":s.key=P.ESC+"[A";break;case 40:if(t.metaKey)break;n?s.key=P.ESC+"[1;"+(n+1)+"B":e?s.key=P.ESC+"OB":s.key=P.ESC+"[B";break;case 45:!t.shiftKey&&!t.ctrlKey&&(s.key=P.ESC+"[2~");break;case 46:n?s.key=P.ESC+"[3;"+(n+1)+"~":s.key=P.ESC+"[3~";break;case 36:n?s.key=P.ESC+"[1;"+(n+1)+"H":e?s.key=P.ESC+"OH":s.key=P.ESC+"[H";break;case 35:n?s.key=P.ESC+"[1;"+(n+1)+"F":e?s.key=P.ESC+"OF":s.key=P.ESC+"[F";break;case 33:t.shiftKey?s.type=2:t.ctrlKey?s.key=P.ESC+"[5;"+(n+1)+"~":s.key=P.ESC+"[5~";break;case 34:t.shiftKey?s.type=3:t.ctrlKey?s.key=P.ESC+"[6;"+(n+1)+"~":s.key=P.ESC+"[6~";break;case 112:n?s.key=P.ESC+"[1;"+(n+1)+"P":s.key=P.ESC+"OP";break;case 113:n?s.key=P.ESC+"[1;"+(n+1)+"Q":s.key=P.ESC+"OQ";break;case 114:n?s.key=P.ESC+"[1;"+(n+1)+"R":s.key=P.ESC+"OR";break;case 115:n?s.key=P.ESC+"[1;"+(n+1)+"S":s.key=P.ESC+"OS";break;case 116:n?s.key=P.ESC+"[15;"+(n+1)+"~":s.key=P.ESC+"[15~";break;case 117:n?s.key=P.ESC+"[17;"+(n+1)+"~":s.key=P.ESC+"[17~";break;case 118:n?s.key=P.ESC+"[18;"+(n+1)+"~":s.key=P.ESC+"[18~";break;case 119:n?s.key=P.ESC+"[19;"+(n+1)+"~":s.key=P.ESC+"[19~";break;case 120:n?s.key=P.ESC+"[20;"+(n+1)+"~":s.key=P.ESC+"[20~";break;case 121:n?s.key=P.ESC+"[21;"+(n+1)+"~":s.key=P.ESC+"[21~";break;case 122:n?s.key=P.ESC+"[23;"+(n+1)+"~":s.key=P.ESC+"[23~";break;case 123:n?s.key=P.ESC+"[24;"+(n+1)+"~":s.key=P.ESC+"[24~";break;default:if(t.ctrlKey&&!t.shiftKey&&!t.altKey&&!t.metaKey)t.keyCode>=65&&t.keyCode<=90?s.key=String.fromCharCode(t.keyCode-64):t.keyCode===32?s.key=P.NUL:t.keyCode>=51&&t.keyCode<=55?s.key=String.fromCharCode(t.keyCode-51+27):t.keyCode===56?s.key=P.DEL:t.keyCode===219?s.key=P.ESC:t.keyCode===220?s.key=P.FS:t.keyCode===221&&(s.key=P.GS);else if((!i||r)&&t.altKey&&!t.metaKey){let l=(o=C3[t.keyCode])==null?void 0:o[t.shiftKey?1:0];if(l)s.key=P.ESC+l;else if(t.keyCode>=65&&t.keyCode<=90){let a=t.ctrlKey?t.keyCode-64:t.keyCode+32,h=String.fromCharCode(a);t.shiftKey&&(h=h.toUpperCase()),s.key=P.ESC+h}else if(t.keyCode===32)s.key=P.ESC+(t.ctrlKey?P.NUL:" ");else if(t.key==="Dead"&&t.code.startsWith("Key")){let a=t.code.slice(3,4);t.shiftKey||(a=a.toLowerCase()),s.key=P.ESC+a,s.cancel=!0}}else i&&!t.altKey&&!t.ctrlKey&&!t.shiftKey&&t.metaKey?t.keyCode===65&&(s.type=1):t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.keyCode>=48&&t.key.length===1?s.key=t.key:t.key&&t.ctrlKey&&(t.key==="_"&&(s.key=P.US),t.key==="@"&&(s.key=P.NUL));break}return s}var ze=0,$3=class{constructor(t){this._getKey=t,this._array=[],this._insertedValues=[],this._flushInsertedTask=new dc,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new dc,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(t){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(t)}_flushInserted(){let t=this._insertedValues.sort((s,n)=>this._getKey(s)-this._getKey(n)),e=0,i=0,r=new Array(this._array.length+this._insertedValues.length);for(let s=0;s=this._array.length||this._getKey(t[e])<=this._getKey(this._array[i])?(r[s]=t[e],e++):r[s]=this._array[i++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(t){if(this._flushCleanupInserted(),this._array.length===0)return!1;let e=this._getKey(t);if(e===void 0||(ze=this._search(e),ze===-1)||this._getKey(this._array[ze])!==e)return!1;do if(this._array[ze]===t)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(ze),!0;while(++zes-n),e=0,i=new Array(this._array.length-t.length),r=0;for(let s=0;s0&&this._flushDeletedTask.flush()}*getKeyIterator(t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ze=this._search(t),!(ze<0||ze>=this._array.length)&&this._getKey(this._array[ze])===t))do yield this._array[ze];while(++ze=this._array.length)&&this._getKey(this._array[ze])===t))do e(this._array[ze]);while(++ze=e;){let r=e+i>>1,s=this._getKey(this._array[r]);if(s>t)i=r-1;else if(s0&&this._getKey(this._array[r-1])===t;)r--;return r}}return e}},Of=0,Tv=0,Q3=class extends te{constructor(){super(),this._decorations=new $3(t=>t==null?void 0:t.marker.line),this._onDecorationRegistered=this._register(new L),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new L),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(Pe(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(t){if(t.marker.isDisposed)return;let e=new T3(t);if(e){let i=e.marker.onDispose(()=>e.dispose()),r=e.onDispose(()=>{r.dispose(),e&&(this._decorations.delete(e)&&this._onDecorationRemoved.fire(e),i.dispose())});this._decorations.insert(e),this._onDecorationRegistered.fire(e)}return e}reset(){for(let t of this._decorations.values())t.dispose();this._decorations.clear()}*getDecorationsAtCell(t,e,i){let r=0,s=0;for(let n of this._decorations.getKeyIterator(e))r=n.options.x??0,s=r+(n.options.width??1),t>=r&&t{Of=s.options.x??0,Tv=Of+(s.options.width??1),t>=Of&&t=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let s=r-this._lastRefreshMs,n=this._debounceThresholdMS-s;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},n)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e)}},Ev=20,pc=class extends te{constructor(t,e,i,r){super(),this._terminal=t,this._coreBrowserService=i,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let s=this._coreBrowserService.mainDocument;this._accessibilityContainer=s.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=s.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let n=0;nthis._handleBoundaryFocus(n,0),this._bottomBoundaryFocusListener=n=>this._handleBoundaryFocus(n,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=s.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new R3(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize(n=>this._handleResize(n.rows))),this._register(this._terminal.onRender(n=>this._refreshRows(n.start,n.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(n=>this._handleChar(n))),this._register(this._terminal.onLineFeed(()=>this._handleChar(` -`))),this._register(this._terminal.onA11yTab(n=>this._handleTab(n))),this._register(this._terminal.onKey(n=>this._handleKey(n.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(U(s,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(Pe(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(t){for(let e=0;e0?this._charsToConsume.shift()!==t&&(this._charsToAnnounce+=t):this._charsToAnnounce+=t,t===` -`&&(this._liveRegionLineCount++,this._liveRegionLineCount===Ev+1&&(this._liveRegion.textContent+=np.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(t){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(t)||this._charsToConsume.push(t)}_refreshRows(t,e){this._liveRegionDebouncer.refresh(t,e,this._terminal.rows)}_renderRows(t,e){let i=this._terminal.buffer,r=i.lines.length.toString();for(let s=t;s<=e;s++){let n=i.lines.get(i.ydisp+s),o=[],l=(n==null?void 0:n.translateToString(!0,void 0,void 0,o))||"",a=(i.ydisp+s+1).toString(),h=this._rowElements[s];h&&(l.length===0?(h.textContent=" ",this._rowColumns.set(h,[0,1])):(h.textContent=l,this._rowColumns.set(h,o)),h.setAttribute("aria-posinset",a),h.setAttribute("aria-setsize",r),this._alignRowWidth(h))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(t,e){let i=t.target,r=this._rowElements[e===0?1:this._rowElements.length-2],s=i.getAttribute("aria-posinset"),n=e===0?"1":`${this._terminal.buffer.lines.length}`;if(s===n||t.relatedTarget!==r)return;let o,l;if(e===0?(o=i,l=this._rowElements.pop(),this._rowContainer.removeChild(l)):(o=this._rowElements.shift(),l=i,this._rowContainer.removeChild(o)),o.removeEventListener("focus",this._topBoundaryFocusListener),l.removeEventListener("focus",this._bottomBoundaryFocusListener),e===0){let a=this._createAccessibilityTreeNode();this._rowElements.unshift(a),this._rowContainer.insertAdjacentElement("afterbegin",a)}else{let a=this._createAccessibilityTreeNode();this._rowElements.push(a),this._rowContainer.appendChild(a)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(e===0?-1:1),this._rowElements[e===0?1:this._rowElements.length-2].focus(),t.preventDefault(),t.stopImmediatePropagation()}_handleSelectionChange(){var l;if(this._rowElements.length===0)return;let t=this._coreBrowserService.mainDocument.getSelection();if(!t)return;if(t.isCollapsed){this._rowContainer.contains(t.anchorNode)&&this._terminal.clearSelection();return}if(!t.anchorNode||!t.focusNode){console.error("anchorNode and/or focusNode are null");return}let e={node:t.anchorNode,offset:t.anchorOffset},i={node:t.focusNode,offset:t.focusOffset};if((e.node.compareDocumentPosition(i.node)&Node.DOCUMENT_POSITION_PRECEDING||e.node===i.node&&e.offset>i.offset)&&([e,i]=[i,e]),e.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(e={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(e.node))return;let r=this._rowElements.slice(-1)[0];if(i.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(i={node:r,offset:((l=r.textContent)==null?void 0:l.length)??0}),!this._rowContainer.contains(i.node))return;let s=({node:a,offset:h})=>{let c=a instanceof Text?a.parentNode:a,u=parseInt(c==null?void 0:c.getAttribute("aria-posinset"),10)-1;if(isNaN(u))return console.warn("row is invalid. Race condition?"),null;let f=this._rowColumns.get(c);if(!f)return console.warn("columns is null. Race condition?"),null;let d=h=this._terminal.cols&&(++u,d=0),{row:u,column:d}},n=s(e),o=s(i);if(!(!n||!o)){if(n.row>o.row||n.row===o.row&&n.column>=o.column)throw new Error("invalid range");this._terminal.select(n.column,n.row,(o.row-n.row)*this._terminal.cols-n.column+o.column)}}_handleResize(t){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;et;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let t=this._coreBrowserService.mainDocument.createElement("div");return t.setAttribute("role","listitem"),t.tabIndex=-1,this._refreshRowDimensions(t),t}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let t=0;t{var n;Xs(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,(n=this._activeProviderReplies)==null||n.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(U(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(U(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(U(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(U(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(t){this._lastMouseEvent=t;let e=this._positionFromMouseEvent(t,this._element,this._mouseService);if(!e)return;this._isMouseOut=!1;let i=t.composedPath();for(let r=0;r{n==null||n.forEach(o=>{o.link.dispose&&o.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=t.y);let i=!1;for(let[n,o]of this._linkProviderService.linkProviders.entries())e?(s=this._activeProviderReplies)!=null&&s.get(n)&&(i=this._checkLinkProviderResult(n,t,i)):o.provideLinks(t.y,l=>{var h,c;if(this._isMouseOut)return;let a=l==null?void 0:l.map(u=>({link:u}));(h=this._activeProviderReplies)==null||h.set(n,a),i=this._checkLinkProviderResult(n,t,i),((c=this._activeProviderReplies)==null?void 0:c.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(t.y,this._activeProviderReplies)})}_removeIntersectingLinks(t,e){let i=new Set;for(let r=0;rt?this._bufferService.cols:o.link.range.end.x;for(let h=l;h<=a;h++){if(i.has(h)){s.splice(n--,1);break}i.add(h)}}}}_checkLinkProviderResult(t,e,i){var n;if(!this._activeProviderReplies)return i;let r=this._activeProviderReplies.get(t),s=!1;for(let o=0;othis._linkAtPosition(l.link,e));o&&(i=!0,this._handleNewLink(o))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!i)for(let o=0;othis._linkAtPosition(a.link,e));if(l){i=!0,this._handleNewLink(l);break}}return i}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(t){if(!this._currentLink)return;let e=this._positionFromMouseEvent(t,this._element,this._mouseService);e&&this._mouseDownLink&&A3(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,e)&&this._currentLink.link.activate(t,this._currentLink.link.text)}_clearCurrentLink(t,e){!this._currentLink||!this._lastMouseEvent||(!t||!e||this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=e)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,Xs(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(t){if(!this._lastMouseEvent)return;let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._linkAtPosition(t.link,e)&&(this._currentLink=t,this._currentLink.state={decorations:{underline:t.link.decorations===void 0?!0:t.link.decorations.underline,pointerCursor:t.link.decorations===void 0?!0:t.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,t.link,this._lastMouseEvent),t.link.decorations={},Object.defineProperties(t.link.decorations,{pointerCursor:{get:()=>{var i,r;return(r=(i=this._currentLink)==null?void 0:i.state)==null?void 0:r.decorations.pointerCursor},set:i=>{var r;(r=this._currentLink)!=null&&r.state&&this._currentLink.state.decorations.pointerCursor!==i&&(this._currentLink.state.decorations.pointerCursor=i,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",i))}},underline:{get:()=>{var i,r;return(r=(i=this._currentLink)==null?void 0:i.state)==null?void 0:r.decorations.underline},set:i=>{var r,s,n;(r=this._currentLink)!=null&&r.state&&((n=(s=this._currentLink)==null?void 0:s.state)==null?void 0:n.decorations.underline)!==i&&(this._currentLink.state.decorations.underline=i,this._currentLink.state.isHovered&&this._fireUnderlineEvent(t.link,i))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(i=>{if(!this._currentLink)return;let r=i.start===0?0:i.start+1+this._bufferService.buffer.ydisp,s=this._bufferService.buffer.ydisp+1+i.end;if(this._currentLink.link.range.start.y>=r&&this._currentLink.link.range.end.y<=s&&(this._clearCurrentLink(r,s),this._lastMouseEvent)){let n=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);n&&this._askForLink(n,!1)}})))}_linkHover(t,e,i){var r;(r=this._currentLink)!=null&&r.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!0),this._currentLink.state.decorations.pointerCursor&&t.classList.add("xterm-cursor-pointer")),e.hover&&e.hover(i,e.text)}_fireUnderlineEvent(t,e){let i=t.range,r=this._bufferService.buffer.ydisp,s=this._createLinkUnderlineEvent(i.start.x-1,i.start.y-r-1,i.end.x,i.end.y-r-1,void 0);(e?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(s)}_linkLeave(t,e,i){var r;(r=this._currentLink)!=null&&r.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!1),this._currentLink.state.decorations.pointerCursor&&t.classList.remove("xterm-cursor-pointer")),e.leave&&e.leave(i,e.text)}_linkAtPosition(t,e){let i=t.range.start.y*this._bufferService.cols+t.range.start.x,r=t.range.end.y*this._bufferService.cols+t.range.end.x,s=e.y*this._bufferService.cols+e.x;return i<=s&&s<=r}_positionFromMouseEvent(t,e,i){let r=i.getCoords(t,e,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(t,e,i,r,s){return{x1:t,y1:e,x2:i,y2:r,cols:this._bufferService.cols,fg:s}}};Xp=De([X(1,SO),X(2,Cr),X(3,Rt),X(4,xb)],Xp);function A3(t,e){return t.text===e.text&&t.range.start.x===e.range.start.x&&t.range.start.y===e.range.start.y&&t.range.end.x===e.range.end.x&&t.range.end.y===e.range.end.y}var M3=class extends x3{constructor(t={}){super(t),this._linkifier=this._register(new jn),this.browser=jb,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new jn),this._onCursorMove=this._register(new L),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new L),this.onKey=this._onKey.event,this._onRender=this._register(new L),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new L),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new L),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new L),this.onBell=this._onBell.event,this._onFocus=this._register(new L),this._onBlur=this._register(new L),this._onA11yCharEmitter=this._register(new L),this._onA11yTabEmitter=this._register(new L),this._onWillOpen=this._register(new L),this._setup(),this._decorationService=this._instantiationService.createInstance(Q3),this._instantiationService.setService(Hl,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(kL),this._instantiationService.setService(xb,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(lp)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh((e==null?void 0:e.start)??0,(e==null?void 0:e.end)??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(ut.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(ut.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(ut.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(ut.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(Pe(()=>{var e,i;this._customKeyEventHandler=void 0,(i=(e=this.element)==null?void 0:e.parentNode)==null||i.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(t){if(this._themeService)for(let e of t){let i,r="";switch(e.index){case 256:i="foreground",r="10";break;case 257:i="background",r="11";break;case 258:i="cursor",r="12";break;default:i="ansi",r="4;"+e.index}switch(e.type){case 0:let s=ke.toColorRGB(i==="ansi"?this._themeService.colors.ansi[e.index]:this._themeService.colors[i]);this.coreService.triggerDataEvent(`${P.ESC}]${r};${v3(s)}${Wb.ST}`);break;case 1:if(i==="ansi")this._themeService.modifyColors(n=>n.ansi[e.index]=Ne.toColor(...e.color));else{let n=i;this._themeService.modifyColors(o=>o[n]=Ne.toColor(...e.color))}break;case 2:this._themeService.restoreColor(e.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(t){t?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(pc,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(t){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(P.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var t;return(t=this.textarea)==null?void 0:t.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(P.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let t=this.buffer.ybase+this.buffer.y,e=this.buffer.lines.get(t);if(!e)return;let i=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,s=e.getWidth(i),n=this._renderService.dimensions.css.cell.width*s,o=this.buffer.y*this._renderService.dimensions.css.cell.height,l=i*this._renderService.dimensions.css.cell.width;this.textarea.style.left=l+"px",this.textarea.style.top=o+"px",this.textarea.style.width=n+"px",this.textarea.style.height=r+"px",this.textarea.style.lineHeight=r+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(U(this.element,"copy",e=>{this.hasSelection()&&zA(e,this._selectionService)}));let t=e=>ZA(e,this.textarea,this.coreService,this.optionsService);this._register(U(this.textarea,"paste",t)),this._register(U(this.element,"paste",t)),Vb?this._register(U(this.element,"mousedown",e=>{e.button===2&&I0(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(U(this.element,"contextmenu",e=>{I0(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),$O&&this._register(U(this.element,"auxclick",e=>{e.button===1&&Ob(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(U(this.textarea,"keyup",t=>this._keyUp(t),!0)),this._register(U(this.textarea,"keydown",t=>this._keyDown(t),!0)),this._register(U(this.textarea,"keypress",t=>this._keyPress(t),!0)),this._register(U(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(U(this.textarea,"compositionupdate",t=>this._compositionHelper.compositionupdate(t))),this._register(U(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(U(this.textarea,"input",t=>this._inputEvent(t),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(t){var s;if(!t)throw new Error("Terminal requires a parent element.");if(t.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((s=this.element)==null?void 0:s.ownerDocument.defaultView)&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=t.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),t.appendChild(this.element);let e=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),e.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(U(this.screenElement,"mousemove",n=>this.updateCursorStyle(n))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),e.appendChild(this.screenElement);let i=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",sp.get()),Fb||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>i.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(yL,this.textarea,t.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(xr,this._coreBrowserService),this._register(U(this.textarea,"focus",n=>this._handleTextAreaFocus(n))),this._register(U(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance($p,this._document,this._helperContainer),this._instantiationService.setService(qc,this._charSizeService),this._themeService=this._instantiationService.createInstance(Rp),this._instantiationService.setService(Gn,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(uc),this._instantiationService.setService(bb,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Tp,this.rows,this.screenElement)),this._instantiationService.setService(Cr,this._renderService),this._register(this._renderService.onRenderedViewportChange(n=>this._onRender.fire(n))),this.onResize(n=>this._renderService.resize(n.cols,n.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance(xp,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Qp),this._instantiationService.setService(SO,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(Xp,this.screenElement));this.element.appendChild(e);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(kp,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(n=>{super.scrollLines(n,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(Ep,this.element,this.screenElement,r)),this._instantiationService.setService(qA,this._selectionService),this._register(this._selectionService.onRequestScrollLines(n=>this.scrollLines(n.amount,n.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(n=>this._renderService.handleSelectionChanged(n.start,n.end,n.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(n=>{this.textarea.value=n,this.textarea.focus(),this.textarea.select()})),this._register(ut.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{var n;this._selectionService.refresh(),(n=this._viewport)==null||n.queueSync()})),this._register(this._instantiationService.createInstance(bp,this.screenElement)),this._register(U(this.element,"mousedown",n=>this._selectionService.handleMouseDown(n))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(pc,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",n=>this._handleScreenReaderModeOptionChange(n))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(cc,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",n=>{!this._overviewRulerRenderer&&n&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(cc,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Pp,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let t=this,e=this.element;function i(n){var h,c,u,f,d;let o=t._mouseService.getMouseReportCoords(n,t.screenElement);if(!o)return!1;let l,a;switch(n.overrideType||n.type){case"mousemove":a=32,n.buttons===void 0?(l=3,n.button!==void 0&&(l=n.button<3?n.button:3)):l=n.buttons&1?0:n.buttons&4?1:n.buttons&2?2:3;break;case"mouseup":a=0,l=n.button<3?n.button:3;break;case"mousedown":a=1,l=n.button<3?n.button:3;break;case"wheel":if(t._customWheelEventHandler&&t._customWheelEventHandler(n)===!1)return!1;let p=n.deltaY;if(p===0||t.coreMouseService.consumeWheelEvent(n,(f=(u=(c=(h=t._renderService)==null?void 0:h.dimensions)==null?void 0:c.device)==null?void 0:u.cell)==null?void 0:f.height,(d=t._coreBrowserService)==null?void 0:d.dpr)===0)return!1;a=p<0?0:1,l=4;break;default:return!1}return a===void 0||l===void 0||l>4?!1:t.coreMouseService.triggerMouseEvent({col:o.col,row:o.row,x:o.x,y:o.y,button:l,action:a,ctrl:n.ctrlKey,alt:n.altKey,shift:n.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},s={mouseup:n=>(i(n),n.buttons||(this._document.removeEventListener("mouseup",r.mouseup),r.mousedrag&&this._document.removeEventListener("mousemove",r.mousedrag)),this.cancel(n)),wheel:n=>(i(n),this.cancel(n,!0)),mousedrag:n=>{n.buttons&&i(n)},mousemove:n=>{n.buttons||i(n)}};this._register(this.coreMouseService.onProtocolChange(n=>{n?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(n)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),n&8?r.mousemove||(e.addEventListener("mousemove",s.mousemove),r.mousemove=s.mousemove):(e.removeEventListener("mousemove",r.mousemove),r.mousemove=null),n&16?r.wheel||(e.addEventListener("wheel",s.wheel,{passive:!1}),r.wheel=s.wheel):(e.removeEventListener("wheel",r.wheel),r.wheel=null),n&2?r.mouseup||(r.mouseup=s.mouseup):(this._document.removeEventListener("mouseup",r.mouseup),r.mouseup=null),n&4?r.mousedrag||(r.mousedrag=s.mousedrag):(this._document.removeEventListener("mousemove",r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(U(e,"mousedown",n=>{if(n.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(n)))return i(n),r.mouseup&&this._document.addEventListener("mouseup",r.mouseup),r.mousedrag&&this._document.addEventListener("mousemove",r.mousedrag),this.cancel(n)})),this._register(U(e,"wheel",n=>{var o,l,a,h,c;if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(n)===!1)return!1;if(!this.buffer.hasScrollback){if(n.deltaY===0)return!1;if(t.coreMouseService.consumeWheelEvent(n,(h=(a=(l=(o=t._renderService)==null?void 0:o.dimensions)==null?void 0:l.device)==null?void 0:a.cell)==null?void 0:h.height,(c=t._coreBrowserService)==null?void 0:c.dpr)===0)return this.cancel(n,!0);let u=P.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(n.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(u,!0),this.cancel(n,!0)}}},{passive:!1}))}refresh(t,e){var i;(i=this._renderService)==null||i.refreshRows(t,e)}updateCursorStyle(t){var e;(e=this._selectionService)!=null&&e.shouldColumnSelect(t)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(t,e){this._viewport?this._viewport.scrollLines(t):super.scrollLines(t,e),this.refresh(0,this.rows-1)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){t&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let e=t-this._bufferService.buffer.ydisp;e!==0&&this.scrollLines(e)}paste(t){gb(t,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(t){this._customKeyEventHandler=t}attachCustomWheelEventHandler(t){this._customWheelEventHandler=t}registerLinkProvider(t){return this._linkProviderService.registerLinkProvider(t)}registerCharacterJoiner(t){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");let e=this._characterJoinerService.register(t);return this.refresh(0,this.rows-1),e}deregisterCharacterJoiner(t){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(t)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(t){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+t)}registerDecoration(t){return this._decorationService.registerDecoration(t)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(t,e,i){this._selectionService.setSelection(t,e,i)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var t;(t=this._selectionService)==null||t.clearSelection()}selectAll(){var t;(t=this._selectionService)==null||t.selectAll()}selectLines(t,e){var i;(i=this._selectionService)==null||i.selectLines(t,e)}_keyDown(t){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;let e=this.browser.isMac&&this.options.macOptionIsMeta&&t.altKey;if(!e&&!this._compositionHelper.keydown(t))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!e&&(t.key==="Dead"||t.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let i=P3(t,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(t),i.type===3||i.type===2){let r=this.rows-1;return this.scrollLines(i.type===2?-r:r),this.cancel(t,!0)}if(i.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,t)||(i.cancel&&this.cancel(t,!0),!i.key)||t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.key.length===1&&t.key.charCodeAt(0)>=65&&t.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((i.key===P.ETX||i.key===P.CR)&&(this.textarea.value=""),this._onKey.fire({key:i.key,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(i.key,!0),!this.optionsService.rawOptions.screenReaderMode||t.altKey||t.ctrlKey)return this.cancel(t,!0);this._keyDownHandled=!0}_isThirdLevelShift(t,e){let i=t.isMac&&!this.options.macOptionIsMeta&&e.altKey&&!e.ctrlKey&&!e.metaKey||t.isWindows&&e.altKey&&e.ctrlKey&&!e.metaKey||t.isWindows&&e.getModifierState("AltGraph");return e.type==="keypress"?i:i&&(!e.keyCode||e.keyCode>47)}_keyUp(t){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)&&(L3(t)||this.focus(),this.updateCursorStyle(t),this._keyPressHandled=!1)}_keyPress(t){let e;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;if(this.cancel(t),t.charCode)e=t.charCode;else if(t.which===null||t.which===void 0)e=t.keyCode;else if(t.which!==0&&t.charCode!==0)e=t.which;else return!1;return!e||(t.altKey||t.ctrlKey||t.metaKey)&&!this._isThirdLevelShift(this.browser,t)?!1:(e=String.fromCharCode(e),this._onKey.fire({key:e,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(e,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(t){if(t.data&&t.inputType==="insertText"&&(!t.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let e=t.data;return this.coreService.triggerDataEvent(e,!0),this.cancel(t),!0}return!1}resize(t,e){if(t===this.cols&&e===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(t,e)}_afterResize(t,e){var i;(i=this._charSizeService)==null||i.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let t=1;t=0;t--)this._addons[t].instance.dispose()}loadAddon(t,e){let i={instance:e,dispose:e.dispose,isDisposed:!1};this._addons.push(i),e.dispose=()=>this._wrappedAddonDispose(i),e.activate(t)}_wrappedAddonDispose(t){if(t.isDisposed)return;let e=-1;for(let i=0;i=this._line.length))return e?(this._line.loadCell(t,e),e):this._line.loadCell(t,new gi)}translateToString(t,e,i){return this._line.translateToString(t,e,i)}},Rv=class{constructor(t,e){this._buffer=t,this.type=e}init(t){return this._buffer=t,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(t){let e=this._buffer.lines.get(t);if(e)return new B3(e)}getNullCell(){return new gi}},z3=class extends te{constructor(t){super(),this._core=t,this._onBufferChange=this._register(new L),this.onBufferChange=this._onBufferChange.event,this._normal=new Rv(this._core.buffers.normal,"normal"),this._alternate=new Rv(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},Z3=class{constructor(t){this._core=t}registerCsiHandler(t,e){return this._core.registerCsiHandler(t,i=>e(i.toArray()))}addCsiHandler(t,e){return this.registerCsiHandler(t,e)}registerDcsHandler(t,e){return this._core.registerDcsHandler(t,(i,r)=>e(i,r.toArray()))}addDcsHandler(t,e){return this.registerDcsHandler(t,e)}registerEscHandler(t,e){return this._core.registerEscHandler(t,e)}addEscHandler(t,e){return this.registerEscHandler(t,e)}registerOscHandler(t,e){return this._core.registerOscHandler(t,e)}addOscHandler(t,e){return this.registerOscHandler(t,e)}},X3=class{constructor(t){this._core=t}register(t){this._core.unicodeService.register(t)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(t){this._core.unicodeService.activeVersion=t}},I3=["cols","rows"],Zi=0,W3=class extends te{constructor(t){super(),this._core=this._register(new M3(t)),this._addonManager=this._register(new D3),this._publicOptions={...this._core.options};let e=r=>this._core.options[r],i=(r,s)=>{this._checkReadonlyOptions(r),this._core.options[r]=s};for(let r in this._core.options){let s={get:e.bind(this,r),set:i.bind(this,r)};Object.defineProperty(this._publicOptions,r,s)}}_checkReadonlyOptions(t){if(I3.includes(t))throw new Error(`Option "${t}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new Z3(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new X3(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new z3(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let t=this._core.coreService.decPrivateModes,e="none";switch(this._core.coreMouseService.activeProtocol){case"X10":e="x10";break;case"VT200":e="vt200";break;case"DRAG":e="drag";break;case"ANY":e="any";break}return{applicationCursorKeysMode:t.applicationCursorKeys,applicationKeypadMode:t.applicationKeypad,bracketedPasteMode:t.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:e,originMode:t.origin,reverseWraparoundMode:t.reverseWraparound,sendFocusMode:t.sendFocus,synchronizedOutputMode:t.synchronizedOutput,wraparoundMode:t.wraparound}}get options(){return this._publicOptions}set options(t){for(let e in t)this._publicOptions[e]=t[e]}blur(){this._core.blur()}focus(){this._core.focus()}input(t,e=!0){this._core.input(t,e)}resize(t,e){this._verifyIntegers(t,e),this._core.resize(t,e)}open(t){this._core.open(t)}attachCustomKeyEventHandler(t){this._core.attachCustomKeyEventHandler(t)}attachCustomWheelEventHandler(t){this._core.attachCustomWheelEventHandler(t)}registerLinkProvider(t){return this._core.registerLinkProvider(t)}registerCharacterJoiner(t){return this._checkProposedApi(),this._core.registerCharacterJoiner(t)}deregisterCharacterJoiner(t){this._checkProposedApi(),this._core.deregisterCharacterJoiner(t)}registerMarker(t=0){return this._verifyIntegers(t),this._core.registerMarker(t)}registerDecoration(t){return this._checkProposedApi(),this._verifyPositiveIntegers(t.x??0,t.width??0,t.height??0),this._core.registerDecoration(t)}hasSelection(){return this._core.hasSelection()}select(t,e,i){this._verifyIntegers(t,e,i),this._core.select(t,e,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(t,e){this._verifyIntegers(t,e),this._core.selectLines(t,e)}dispose(){super.dispose()}scrollLines(t){this._verifyIntegers(t),this._core.scrollLines(t)}scrollPages(t){this._verifyIntegers(t),this._core.scrollPages(t)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(t){this._verifyIntegers(t),this._core.scrollToLine(t)}clear(){this._core.clear()}write(t,e){this._core.write(t,e)}writeln(t,e){this._core.write(t),this._core.write(`\r -`,e)}paste(t){this._core.paste(t)}refresh(t,e){this._verifyIntegers(t,e),this._core.refresh(t,e)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(t){this._addonManager.loadAddon(this,t)}static get strings(){return{get promptLabel(){return sp.get()},set promptLabel(t){sp.set(t)},get tooMuchOutput(){return np.get()},set tooMuchOutput(t){np.set(t)}}}_verifyIntegers(...t){for(Zi of t)if(Zi===1/0||isNaN(Zi)||Zi%1!==0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...t){for(Zi of t)if(Zi&&(Zi===1/0||isNaN(Zi)||Zi%1!==0||Zi<0))throw new Error("This API only accepts positive integers")}};/** +`)}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(t){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame(()=>this._refresh())),Em&&t&&this.selectionText.length&&this._onLinuxMouseSelection.fire(this.selectionText)}_refresh(){this._refreshAnimationFrame=void 0,this._onRedrawRequest.fire({start:this._model.finalSelectionStart,end:this._model.finalSelectionEnd,columnSelectMode:this._activeSelectionMode===3})}_isClickInSelection(t){let e=this._getMouseBufferCoords(t),i=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!i||!r||!e?!1:this._areCoordsInSelection(e,i,r)}isCellInSelection(t,e){let i=this._model.finalSelectionStart,r=this._model.finalSelectionEnd;return!i||!r?!1:this._areCoordsInSelection([t,e],i,r)}_areCoordsInSelection(t,e,i){return t[1]>e[1]&&t[1]=e[0]&&t[0]=e[0]}_selectWordAtCursor(t,e){var s,n;let i=(n=(s=this._linkifier.currentLink)==null?void 0:s.link)==null?void 0:n.range;if(i)return this._model.selectionStart=[i.start.x-1,i.start.y-1],this._model.selectionStartLength=uv(i,this._bufferService.cols),this._model.selectionEnd=void 0,!0;let r=this._getMouseBufferCoords(t);return r?(this._selectWordAt(r,e),this._model.selectionEnd=void 0,!0):!1}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(t,e){this._model.clearSelection(),t=Math.max(t,0),e=Math.min(e,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,t],this._model.selectionEnd=[this._bufferService.cols,e],this.refresh(),this._onSelectionChange.fire()}_handleTrim(t){this._model.handleTrim(t)&&this.refresh()}_getMouseBufferCoords(t){let e=this._mouseService.getCoords(t,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(e)return e[0]--,e[1]--,e[1]+=this._bufferService.buffer.ydisp,e}_getMouseEventScrollAmount(t){let e=Tm(this._coreBrowserService.window,t,this._screenElement)[1],i=this._renderService.dimensions.css.canvas.height;return e>=0&&e<=i?0:(e>i&&(e-=i),e=Math.min(Math.max(e,-uf),uf),e/=uf,e/Math.abs(e)+Math.round(e*(jL-1)))}shouldForceSelection(t){return dc?t.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:t.shiftKey}handleMouseDown(t){if(this._mouseDownTimeStamp=t.timeStamp,!(t.button===2&&this.hasSelection)&&t.button===0){if(!this._enabled){if(!this.shouldForceSelection(t))return;t.stopPropagation()}t.preventDefault(),this._dragScrollAmount=0,this._enabled&&t.shiftKey?this._handleIncrementalClick(t):t.detail===1?this._handleSingleClick(t):t.detail===2?this._handleDoubleClick(t):t.detail===3&&this._handleTripleClick(t),this._addMouseDownListeners(),this.refresh(!0)}}_addMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.addEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.addEventListener("mouseup",this._mouseUpListener)),this._dragScrollIntervalTimer=this._coreBrowserService.window.setInterval(()=>this._dragScroll(),VL)}_removeMouseDownListeners(){this._screenElement.ownerDocument&&(this._screenElement.ownerDocument.removeEventListener("mousemove",this._mouseMoveListener),this._screenElement.ownerDocument.removeEventListener("mouseup",this._mouseUpListener)),this._coreBrowserService.window.clearInterval(this._dragScrollIntervalTimer),this._dragScrollIntervalTimer=void 0}_handleIncrementalClick(t){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(t))}_handleSingleClick(t){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(t)?3:0,this._model.selectionStart=this._getMouseBufferCoords(t),!this._model.selectionStart)return;this._model.selectionEnd=void 0;let e=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);e&&e.length!==this._model.selectionStart[0]&&e.hasWidth(this._model.selectionStart[0])===0&&this._model.selectionStart[0]++}_handleDoubleClick(t){this._selectWordAtCursor(t,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(t){let e=this._getMouseBufferCoords(t);e&&(this._activeSelectionMode=2,this._selectLineAt(e[1]))}shouldColumnSelect(t){return t.altKey&&!(dc&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(t){if(t.stopImmediatePropagation(),!this._model.selectionStart)return;let e=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(t),!this._model.selectionEnd){this.refresh(!0);return}this._activeSelectionMode===2?this._model.selectionEnd[1]0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));let i=this._bufferService.buffer;if(this._model.selectionEnd[1]0?(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(t.ydisp+this._bufferService.rows,t.lines.length-1)):(this._activeSelectionMode!==3&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=t.ydisp),this.refresh()}}_handleMouseUp(t){let e=t.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&ethis._handleTrim(e))}_convertViewportColToCharacterIndex(t,e){let i=e;for(let r=0;e>=r;r++){let s=t.loadCell(r,this._workCell).getChars().length;this._workCell.getWidth()===0?i--:s>1&&e!==r&&(i+=s-1)}return i}setSelection(t,e,i){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[t,e],this._model.selectionStartLength=i,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(t){this._isClickInSelection(t)||(this._selectWordAtCursor(t,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(t,e,i=!0,r=!0){if(t[0]>=this._bufferService.cols)return;let s=this._bufferService.buffer,n=s.lines.get(t[1]);if(!n)return;let o=s.translateBufferLineToString(t[1],!1),l=this._convertViewportColToCharacterIndex(n,t[0]),a=l,h=t[0]-l,c=0,u=0,f=0,d=0;if(o.charAt(l)===" "){for(;l>0&&o.charAt(l-1)===" ";)l--;for(;a1&&(d+=O-1,a+=O-1);v>0&&l>0&&!this._isCharWordSeparator(n.loadCell(v-1,this._workCell));){n.loadCell(v-1,this._workCell);let _=this._workCell.getChars().length;this._workCell.getWidth()===0?(c++,v--):_>1&&(f+=_-1,l-=_-1),l--,v--}for(;m1&&(d+=_-1,a+=_-1),a++,m++}}a++;let p=l+h-c+f,g=Math.min(this._bufferService.cols,a-l+c+u-f-d);if(!(!e&&o.slice(l,a).trim()==="")){if(i&&p===0&&n.getCodePoint(0)!==32){let v=s.lines.get(t[1]-1);if(v&&n.isWrapped&&v.getCodePoint(this._bufferService.cols-1)!==32){let m=this._getWordAt([this._bufferService.cols-1,t[1]-1],!1,!0,!1);if(m){let O=this._bufferService.cols-m.start;p-=O,g+=O}}}if(r&&p+g===this._bufferService.cols&&n.getCodePoint(this._bufferService.cols-1)!==32){let v=s.lines.get(t[1]+1);if(v!=null&&v.isWrapped&&v.getCodePoint(0)!==32){let m=this._getWordAt([0,t[1]+1],!1,!1,!0);m&&(g+=m.length)}}return{start:p,length:g}}}_selectWordAt(t,e){let i=this._getWordAt(t,e);if(i){for(;i.start<0;)i.start+=this._bufferService.cols,t[1]--;this._model.selectionStart=[i.start,t[1]],this._model.selectionStartLength=i.length}}_selectToWordAt(t){let e=this._getWordAt(t,!0);if(e){let i=t[1];for(;e.start<0;)e.start+=this._bufferService.cols,i--;if(!this._model.areSelectionValuesReversed())for(;e.start+e.length>this._bufferService.cols;)e.length-=this._bufferService.cols,i++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?e.start:e.start+e.length,i]}}_isCharWordSeparator(t){return t.getWidth()===0?!1:this._optionsService.rawOptions.wordSeparator.indexOf(t.getChars())>=0}_selectLineAt(t){let e=this._bufferService.buffer.getWrappedRangeForLine(t),i={start:{x:0,y:e.first},end:{x:this._bufferService.cols-1,y:e.last}};this._model.selectionStart=[0,e.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=uv(i,this._bufferService.cols)}};Mp=De([N(3,Rt),N(4,Vs),N(5,km),N(6,At),N(7,$r),N(8,Pr)],Mp);var fv=class{constructor(){this._data={}}set(t,e,i){this._data[t]||(this._data[t]={}),this._data[t][e]=i}get(t,e){return this._data[t]?this._data[t][e]:void 0}clear(){this._data={}}},dv=class{constructor(){this._color=new fv,this._css=new fv}setCss(t,e,i){this._css.set(t,e,i)}getCss(t,e){return this._css.get(t,e)}setColor(t,e,i){this._color.set(t,e,i)}getColor(t,e){return this._color.get(t,e)}clear(){this._color.clear(),this._css.clear()}},qe=Object.freeze((()=>{let t=[Qe.toColor("#2e3436"),Qe.toColor("#cc0000"),Qe.toColor("#4e9a06"),Qe.toColor("#c4a000"),Qe.toColor("#3465a4"),Qe.toColor("#75507b"),Qe.toColor("#06989a"),Qe.toColor("#d3d7cf"),Qe.toColor("#555753"),Qe.toColor("#ef2929"),Qe.toColor("#8ae234"),Qe.toColor("#fce94f"),Qe.toColor("#729fcf"),Qe.toColor("#ad7fa8"),Qe.toColor("#34e2e2"),Qe.toColor("#eeeeec")],e=[0,95,135,175,215,255];for(let i=0;i<216;i++){let r=e[i/36%6|0],s=e[i/6%6|0],n=e[i%6];t.push({css:We.toCss(r,s,n),rgba:We.toRgba(r,s,n)})}for(let i=0;i<24;i++){let r=8+i*10;t.push({css:We.toCss(r,r,r),rgba:We.toRgba(r,r,r)})}return t})()),_s=Qe.toColor("#ffffff"),Ro=Qe.toColor("#000000"),pv=Qe.toColor("#ffffff"),gv=Ro,So={css:"rgba(255, 255, 255, 0.3)",rgba:4294967117},HL=_s,Lp=class extends re{constructor(t){super(),this._optionsService=t,this._contrastCache=new dv,this._halfContrastCache=new dv,this._onChangeColors=this._register(new L),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:_s,background:Ro,cursor:pv,cursorAccent:gv,selectionForeground:void 0,selectionBackgroundTransparent:So,selectionBackgroundOpaque:ke.blend(Ro,So),selectionInactiveBackgroundTransparent:So,selectionInactiveBackgroundOpaque:ke.blend(Ro,So),scrollbarSliderBackground:ke.opacity(_s,.2),scrollbarSliderHoverBackground:ke.opacity(_s,.4),scrollbarSliderActiveBackground:ke.opacity(_s,.5),overviewRulerBorder:_s,ansi:qe.slice(),contrastCache:this._contrastCache,halfContrastCache:this._halfContrastCache},this._updateRestoreColors(),this._setTheme(this._optionsService.rawOptions.theme),this._register(this._optionsService.onSpecificOptionChange("minimumContrastRatio",()=>this._contrastCache.clear())),this._register(this._optionsService.onSpecificOptionChange("theme",()=>this._setTheme(this._optionsService.rawOptions.theme)))}get colors(){return this._colors}_setTheme(t={}){let e=this._colors;if(e.foreground=me(t.foreground,_s),e.background=me(t.background,Ro),e.cursor=ke.blend(e.background,me(t.cursor,pv)),e.cursorAccent=ke.blend(e.background,me(t.cursorAccent,gv)),e.selectionBackgroundTransparent=me(t.selectionBackground,So),e.selectionBackgroundOpaque=ke.blend(e.background,e.selectionBackgroundTransparent),e.selectionInactiveBackgroundTransparent=me(t.selectionInactiveBackground,e.selectionBackgroundTransparent),e.selectionInactiveBackgroundOpaque=ke.blend(e.background,e.selectionInactiveBackgroundTransparent),e.selectionForeground=t.selectionForeground?me(t.selectionForeground,av):void 0,e.selectionForeground===av&&(e.selectionForeground=void 0),ke.isOpaque(e.selectionBackgroundTransparent)&&(e.selectionBackgroundTransparent=ke.opacity(e.selectionBackgroundTransparent,.3)),ke.isOpaque(e.selectionInactiveBackgroundTransparent)&&(e.selectionInactiveBackgroundTransparent=ke.opacity(e.selectionInactiveBackgroundTransparent,.3)),e.scrollbarSliderBackground=me(t.scrollbarSliderBackground,ke.opacity(e.foreground,.2)),e.scrollbarSliderHoverBackground=me(t.scrollbarSliderHoverBackground,ke.opacity(e.foreground,.4)),e.scrollbarSliderActiveBackground=me(t.scrollbarSliderActiveBackground,ke.opacity(e.foreground,.5)),e.overviewRulerBorder=me(t.overviewRulerBorder,HL),e.ansi=qe.slice(),e.ansi[0]=me(t.black,qe[0]),e.ansi[1]=me(t.red,qe[1]),e.ansi[2]=me(t.green,qe[2]),e.ansi[3]=me(t.yellow,qe[3]),e.ansi[4]=me(t.blue,qe[4]),e.ansi[5]=me(t.magenta,qe[5]),e.ansi[6]=me(t.cyan,qe[6]),e.ansi[7]=me(t.white,qe[7]),e.ansi[8]=me(t.brightBlack,qe[8]),e.ansi[9]=me(t.brightRed,qe[9]),e.ansi[10]=me(t.brightGreen,qe[10]),e.ansi[11]=me(t.brightYellow,qe[11]),e.ansi[12]=me(t.brightBlue,qe[12]),e.ansi[13]=me(t.brightMagenta,qe[13]),e.ansi[14]=me(t.brightCyan,qe[14]),e.ansi[15]=me(t.brightWhite,qe[15]),t.extendedAnsi){let i=Math.min(e.ansi.length-16,t.extendedAnsi.length);for(let r=0;rn.index-o.index),r=[];for(let n of i){let o=this._services.get(n.id);if(!o)throw new Error(`[createInstance] ${t.name} depends on UNKNOWN service ${n.id._id}.`);r.push(o)}let s=i.length>0?i[0].index:e.length;if(e.length!==s)throw new Error(`[createInstance] First service dependency of ${t.name} at position ${s+1} conflicts with ${e.length} static arguments`);return new t(...e,...r)}},KL={trace:0,debug:1,info:2,warn:3,error:4,off:5},JL="xterm.js: ",Dp=class extends re{constructor(t){super(),this._optionsService=t,this._logLevel=5,this._updateLogLevel(),this._register(this._optionsService.onSpecificOptionChange("logLevel",()=>this._updateLogLevel()))}get logLevel(){return this._logLevel}_updateLogLevel(){this._logLevel=KL[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(t){for(let e=0;ethis._length)for(let e=this._length;e=t;r--)this._array[this._getCyclicIndex(r+i.length)]=this._array[this._getCyclicIndex(r)];for(let r=0;rthis._maxLength){let r=this._length+i.length-this._maxLength;this._startIndex+=r,this._length=this._maxLength,this.onTrimEmitter.fire(r)}else this._length+=i.length}trimStart(t){t>this._length&&(t=this._length),this._startIndex+=t,this._length-=t,this.onTrimEmitter.fire(t)}shiftElements(t,e,i){if(!(e<=0)){if(t<0||t>=this._length)throw new Error("start argument out of range");if(t+i<0)throw new Error("Cannot shift elements in list beyond index 0");if(i>0){for(let s=e-1;s>=0;s--)this.set(t+s+i,this.get(t+s));let r=t+e+i-this._length;if(r>0)for(this._length+=r;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let r=0;r>22,i&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):r]}set(e,i){this._data[e*ie+1]=i[0],i[1].length>1?(this._combined[e]=i[1],this._data[e*ie+0]=e|2097152|i[2]<<22):this._data[e*ie+0]=i[1].charCodeAt(0)|i[2]<<22}getWidth(e){return this._data[e*ie+0]>>22}hasWidth(e){return this._data[e*ie+0]&12582912}getFg(e){return this._data[e*ie+1]}getBg(e){return this._data[e*ie+2]}hasContent(e){return this._data[e*ie+0]&4194303}getCodePoint(e){let i=this._data[e*ie+0];return i&2097152?this._combined[e].charCodeAt(this._combined[e].length-1):i&2097151}isCombined(e){return this._data[e*ie+0]&2097152}getString(e){let i=this._data[e*ie+0];return i&2097152?this._combined[e]:i&2097151?Xr(i&2097151):""}isProtected(e){return this._data[e*ie+2]&536870912}loadCell(e,i){return Xa=e*ie,i.content=this._data[Xa+0],i.fg=this._data[Xa+1],i.bg=this._data[Xa+2],i.content&2097152&&(i.combinedData=this._combined[e]),i.bg&268435456&&(i.extended=this._extendedAttrs[e]),i}setCell(e,i){i.content&2097152&&(this._combined[e]=i.combinedData),i.bg&268435456&&(this._extendedAttrs[e]=i.extended),this._data[e*ie+0]=i.content,this._data[e*ie+1]=i.fg,this._data[e*ie+2]=i.bg}setCellFromCodepoint(e,i,r,s){s.bg&268435456&&(this._extendedAttrs[e]=s.extended),this._data[e*ie+0]=i|r<<22,this._data[e*ie+1]=s.fg,this._data[e*ie+2]=s.bg}addCodepointToCell(e,i,r){let s=this._data[e*ie+0];s&2097152?this._combined[e]+=Xr(i):s&2097151?(this._combined[e]=Xr(s&2097151)+Xr(i),s&=-2097152,s|=2097152):s=i|1<<22,r&&(s&=-12582913,s|=r<<22),this._data[e*ie+0]=s}insertCells(e,i,r){if(e%=this.length,e&&this.getWidth(e-1)===2&&this.setCellFromCodepoint(e-1,0,1,r),i=0;--n)this.setCell(e+i+n,this.loadCell(e+n,s));for(let n=0;nthis.length){if(this._data.buffer.byteLength>=r*4)this._data=new Uint32Array(this._data.buffer,0,r);else{let s=new Uint32Array(r);s.set(this._data),this._data=s}for(let s=this.length;s=e&&delete this._combined[l]}let n=Object.keys(this._extendedAttrs);for(let o=0;o=e&&delete this._extendedAttrs[l]}}return this.length=e,r*4*ff=0;--e)if(this._data[e*ie+0]&4194303)return e+(this._data[e*ie+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(this._data[e*ie+0]&4194303||this._data[e*ie+2]&50331648)return e+(this._data[e*ie+0]>>22);return 0}copyCellsFrom(e,i,r,s,n){let o=e._data;if(n)for(let a=s-1;a>=0;a--){for(let h=0;h=i&&(this._combined[h-i+r]=e._combined[h])}}translateToString(e,i,r,s){i=i??0,r=r??this.length,e&&(r=Math.min(r,this.getTrimmedLength())),s&&(s.length=0);let n="";for(;i>22||1}return s&&s.push(i),n}};function e3(t,e,i,r,s,n){let o=[];for(let l=0;l=l&&r0&&(v>u||c[v].getTrimmedLength()===0);v--)g++;g>0&&(o.push(l+c.length-g),o.push(g)),l+=c.length-1}return o}function t3(t,e){let i=[],r=0,s=e[r],n=0;for(let o=0;oAl(t,h,e)).reduce((a,h)=>a+h),n=0,o=0,l=0;for(;la&&(n-=a,o++);let h=t[o].getWidth(n-1)===2;h&&n--;let c=h?i-1:i;r.push(c),l+=c}return r}function Al(t,e,i){if(e===t.length-1)return t[e].getTrimmedLength();let r=!t[e].hasContent(i-1)&&t[e].getWidth(i-1)===1,s=t[e+1].getWidth(0)===2;return r&&s?i-1:i}var ix=class rx{constructor(e){this.line=e,this.isDisposed=!1,this._disposables=[],this._id=rx._nextId++,this._onDispose=this.register(new L),this.onDispose=this._onDispose.event}get id(){return this._id}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),Is(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}};ix._nextId=1;var s3=ix,Je={},vs=Je.B;Je[0]={"`":"◆",a:"▒",b:"␉",c:"␌",d:"␍",e:"␊",f:"°",g:"±",h:"␤",i:"␋",j:"┘",k:"┐",l:"┌",m:"└",n:"┼",o:"⎺",p:"⎻",q:"─",r:"⎼",s:"⎽",t:"├",u:"┤",v:"┴",w:"┬",x:"│",y:"≤",z:"≥","{":"π","|":"≠","}":"£","~":"·"};Je.A={"#":"£"};Je.B=void 0;Je[4]={"#":"£","@":"¾","[":"ij","\\":"½","]":"|","{":"¨","|":"f","}":"¼","~":"´"};Je.C=Je[5]={"[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};Je.R={"#":"£","@":"à","[":"°","\\":"ç","]":"§","{":"é","|":"ù","}":"è","~":"¨"};Je.Q={"@":"à","[":"â","\\":"ç","]":"ê","^":"î","`":"ô","{":"é","|":"ù","}":"è","~":"û"};Je.K={"@":"§","[":"Ä","\\":"Ö","]":"Ü","{":"ä","|":"ö","}":"ü","~":"ß"};Je.Y={"#":"£","@":"§","[":"°","\\":"ç","]":"é","`":"ù","{":"à","|":"ò","}":"è","~":"ì"};Je.E=Je[6]={"@":"Ä","[":"Æ","\\":"Ø","]":"Å","^":"Ü","`":"ä","{":"æ","|":"ø","}":"å","~":"ü"};Je.Z={"#":"£","@":"§","[":"¡","\\":"Ñ","]":"¿","{":"°","|":"ñ","}":"ç"};Je.H=Je[7]={"@":"É","[":"Ä","\\":"Ö","]":"Å","^":"Ü","`":"é","{":"ä","|":"ö","}":"å","~":"ü"};Je["="]={"#":"ù","@":"à","[":"é","\\":"ç","]":"ê","^":"î",_:"è","`":"ô","{":"ä","|":"ö","}":"ü","~":"û"};var Ov=4294967295,_v=class{constructor(t,e,i){this._hasScrollback=t,this._optionsService=e,this._bufferService=i,this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.tabs={},this.savedY=0,this.savedX=0,this.savedCurAttrData=Ne.clone(),this.savedCharset=vs,this.markers=[],this._nullCell=Oi.fromCharData([0,Sb,1,0]),this._whitespaceCell=Oi.fromCharData([0,qr,1,32]),this._isClearing=!1,this._memoryCleanupQueue=new pc,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new mv(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(t){return t?(this._nullCell.fg=t.fg,this._nullCell.bg=t.bg,this._nullCell.extended=t.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new cc),this._nullCell}getWhitespaceCell(t){return t?(this._whitespaceCell.fg=t.fg,this._whitespaceCell.bg=t.bg,this._whitespaceCell.extended=t.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new cc),this._whitespaceCell}getBlankLine(t,e){return new Ao(this._bufferService.cols,this.getNullCell(t),e)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){let t=this.ybase+this.y-this.ydisp;return t>=0&&tOv?Ov:e}fillViewportRows(t){if(this.lines.length===0){t===void 0&&(t=Ne);let e=this._rows;for(;e--;)this.lines.push(this.getBlankLine(t))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new mv(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(t,e){let i=this.getNullCell(Ne),r=0,s=this._getCorrectBufferLength(e);if(s>this.lines.maxLength&&(this.lines.maxLength=s),this.lines.length>0){if(this._cols0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(new Ao(t,i)));else for(let o=this._rows;o>e;o--)this.lines.length>e+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(s0&&(this.lines.trimStart(o),this.ybase=Math.max(this.ybase-o,0),this.ydisp=Math.max(this.ydisp-o,0),this.savedY=Math.max(this.savedY-o,0)),this.lines.maxLength=s}this.x=Math.min(this.x,t-1),this.y=Math.min(this.y,e-1),n&&(this.y+=n),this.savedX=Math.min(this.savedX,t-1),this.scrollTop=0}if(this.scrollBottom=e-1,this._isReflowEnabled&&(this._reflow(t,e),this._cols>t))for(let n=0;n.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue(()=>this._batchedMemoryCleanup()))}_batchedMemoryCleanup(){let t=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,t=!1);let e=0;for(;this._memoryCleanupPosition100)return!0;return t}get _isReflowEnabled(){let t=this._optionsService.rawOptions.windowsPty;return t&&t.buildNumber?this._hasScrollback&&t.backend==="conpty"&&t.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(t,e){this._cols!==t&&(t>this._cols?this._reflowLarger(t,e):this._reflowSmaller(t,e))}_reflowLarger(t,e){let i=this._optionsService.rawOptions.reflowCursorLine,r=e3(this.lines,this._cols,t,this.ybase+this.y,this.getNullCell(Ne),i);if(r.length>0){let s=t3(this.lines,r);i3(this.lines,s.layout),this._reflowLargerAdjustViewport(t,e,s.countRemoved)}}_reflowLargerAdjustViewport(t,e,i){let r=this.getNullCell(Ne),s=i;for(;s-- >0;)this.ybase===0?(this.y>0&&this.y--,this.lines.length=0;o--){let l=this.lines.get(o);if(!l||!l.isWrapped&&l.getTrimmedLength()<=t)continue;let a=[l];for(;l.isWrapped&&o>0;)l=this.lines.get(--o),a.unshift(l);if(!i){let _=this.ybase+this.y;if(_>=o&&_0&&(s.push({start:o+a.length+n,newLines:d}),n+=d.length),a.push(...d);let p=c.length-1,g=c[p];g===0&&(p--,g=c[p]);let v=a.length-u-1,m=h;for(;v>=0;){let _=Math.min(m,g);if(a[p]===void 0)break;if(a[p].copyCellsFrom(a[v],m-_,g-_,_,!0),g-=_,g===0&&(p--,g=c[p]),m-=_,m===0){v--;let w=Math.max(v,0);m=Al(a,w,this._cols)}}for(let _=0;_0;)this.ybase===0?this.y0){let o=[],l=[];for(let g=0;g=0;g--)if(u&&u.start>h+f){for(let v=u.newLines.length-1;v>=0;v--)this.lines.set(g--,u.newLines[v]);g++,o.push({index:h+1,amount:u.newLines.length}),f+=u.newLines.length,u=s[++c]}else this.lines.set(g,l[h--]);let d=0;for(let g=o.length-1;g>=0;g--)o[g].index+=d,this.lines.onInsertEmitter.fire(o[g]),d+=o[g].amount;let p=Math.max(0,a+n-this.lines.maxLength);p>0&&this.lines.onTrimEmitter.fire(p)}}translateBufferLineToString(t,e,i=0,r){let s=this.lines.get(t);return s?s.translateToString(e,i,r):""}getWrappedRangeForLine(t){let e=t,i=t;for(;e>0&&this.lines.get(e).isWrapped;)e--;for(;i+10;);return t>=this._cols?this._cols-1:t<0?0:t}nextStop(t){for(t==null&&(t=this.x);!this.tabs[++t]&&t=this._cols?this._cols-1:t<0?0:t}clearMarkers(t){this._isClearing=!0;for(let e=0;e{e.line-=i,e.line<0&&e.dispose()})),e.register(this.lines.onInsert(i=>{e.line>=i.index&&(e.line+=i.amount)})),e.register(this.lines.onDelete(i=>{e.line>=i.index&&e.linei.index&&(e.line-=i.amount)})),e.register(e.onDispose(()=>this._removeMarker(e))),e}_removeMarker(t){this._isClearing||this.markers.splice(this.markers.indexOf(t),1)}},n3=class extends re{constructor(t,e){super(),this._optionsService=t,this._bufferService=e,this._onBufferActivate=this._register(new L),this.onBufferActivate=this._onBufferActivate.event,this.reset(),this._register(this._optionsService.onSpecificOptionChange("scrollback",()=>this.resize(this._bufferService.cols,this._bufferService.rows))),this._register(this._optionsService.onSpecificOptionChange("tabStopWidth",()=>this.setupTabStops()))}reset(){this._normal=new _v(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new _v(!1,this._optionsService,this._bufferService),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}),this.setupTabStops()}get alt(){return this._alt}get active(){return this._activeBuffer}get normal(){return this._normal}activateNormalBuffer(){this._activeBuffer!==this._normal&&(this._normal.x=this._alt.x,this._normal.y=this._alt.y,this._alt.clearAllMarkers(),this._alt.clear(),this._activeBuffer=this._normal,this._onBufferActivate.fire({activeBuffer:this._normal,inactiveBuffer:this._alt}))}activateAltBuffer(t){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(t),this._alt.x=this._normal.x,this._alt.y=this._normal.y,this._activeBuffer=this._alt,this._onBufferActivate.fire({activeBuffer:this._alt,inactiveBuffer:this._normal}))}resize(t,e){this._normal.resize(t,e),this._alt.resize(t,e),this.setupTabStops(t)}setupTabStops(t){this._normal.setupTabStops(t),this._alt.setupTabStops(t)}},sx=2,nx=1,Bp=class extends re{constructor(t){super(),this.isUserScrolling=!1,this._onResize=this._register(new L),this.onResize=this._onResize.event,this._onScroll=this._register(new L),this.onScroll=this._onScroll.event,this.cols=Math.max(t.rawOptions.cols||0,sx),this.rows=Math.max(t.rawOptions.rows||0,nx),this.buffers=this._register(new n3(t,this)),this._register(this.buffers.onBufferActivate(e=>{this._onScroll.fire(e.activeBuffer.ydisp)}))}get buffer(){return this.buffers.active}resize(t,e){let i=this.cols!==t,r=this.rows!==e;this.cols=t,this.rows=e,this.buffers.resize(t,e),this._onResize.fire({cols:t,rows:e,colsChanged:i,rowsChanged:r})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(t,e=!1){let i=this.buffer,r;r=this._cachedBlankLine,(!r||r.length!==this.cols||r.getFg(0)!==t.fg||r.getBg(0)!==t.bg)&&(r=i.getBlankLine(t,e),this._cachedBlankLine=r),r.isWrapped=e;let s=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(i.scrollTop===0){let o=i.lines.isFull;n===i.lines.length-1?o?i.lines.recycle().copyFrom(r):i.lines.push(r.clone()):i.lines.splice(n+1,0,r.clone()),o?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{let o=n-s+1;i.lines.shiftElements(s+1,o-1,-1),i.lines.set(n,r.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)}scrollLines(t,e){let i=this.buffer;if(t<0){if(i.ydisp===0)return;this.isUserScrolling=!0}else t+i.ydisp>=i.ybase&&(this.isUserScrolling=!1);let r=i.ydisp;i.ydisp=Math.max(Math.min(i.ydisp+t,i.ybase),0),r!==i.ydisp&&(e||this._onScroll.fire(i.ydisp))}};Bp=De([N(0,At)],Bp);var Fs={cols:80,rows:24,cursorBlink:!1,cursorStyle:"block",cursorWidth:1,cursorInactiveStyle:"outline",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:"alt",fastScrollSensitivity:5,fontFamily:"monospace",fontSize:15,fontWeight:"normal",fontWeightBold:"bold",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:"info",logger:null,scrollback:1e3,scrollOnEraseInDisplay:!1,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},reflowCursorLine:!1,rescaleOverlappingGlyphs:!1,rightClickSelectsWord:dc,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:" ()[]{}',\"`",altClickMovesCursor:!0,convertEol:!1,termName:"xterm",cancelEvents:!1,overviewRuler:{}},o3=["normal","bold","100","200","300","400","500","600","700","800","900"],l3=class extends re{constructor(t){super(),this._onOptionChange=this._register(new L),this.onOptionChange=this._onOptionChange.event;let e={...Fs};for(let i in t)if(i in e)try{let r=t[i];e[i]=this._sanitizeAndValidateOption(i,r)}catch(r){console.error(r)}this.rawOptions=e,this.options={...e},this._setupOptions(),this._register(Pe(()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null}))}onSpecificOptionChange(t,e){return this.onOptionChange(i=>{i===t&&e(this.rawOptions[t])})}onMultipleOptionChange(t,e){return this.onOptionChange(i=>{t.indexOf(i)!==-1&&e()})}_setupOptions(){let t=i=>{if(!(i in Fs))throw new Error(`No option with key "${i}"`);return this.rawOptions[i]},e=(i,r)=>{if(!(i in Fs))throw new Error(`No option with key "${i}"`);r=this._sanitizeAndValidateOption(i,r),this.rawOptions[i]!==r&&(this.rawOptions[i]=r,this._onOptionChange.fire(i))};for(let i in this.rawOptions){let r={get:t.bind(this,i),set:e.bind(this,i)};Object.defineProperty(this.options,i,r)}}_sanitizeAndValidateOption(t,e){switch(t){case"cursorStyle":if(e||(e=Fs[t]),!a3(e))throw new Error(`"${e}" is not a valid value for ${t}`);break;case"wordSeparator":e||(e=Fs[t]);break;case"fontWeight":case"fontWeightBold":if(typeof e=="number"&&1<=e&&e<=1e3)break;e=o3.includes(e)?e:Fs[t];break;case"cursorWidth":e=Math.floor(e);case"lineHeight":case"tabStopWidth":if(e<1)throw new Error(`${t} cannot be less than 1, value: ${e}`);break;case"minimumContrastRatio":e=Math.max(1,Math.min(21,Math.round(e*10)/10));break;case"scrollback":if(e=Math.min(e,4294967295),e<0)throw new Error(`${t} cannot be less than 0, value: ${e}`);break;case"fastScrollSensitivity":case"scrollSensitivity":if(e<=0)throw new Error(`${t} cannot be less than or equal to 0, value: ${e}`);break;case"rows":case"cols":if(!e&&e!==0)throw new Error(`${t} must be numeric, value: ${e}`);break;case"windowsPty":e=e??{};break}return e}};function a3(t){return t==="block"||t==="underline"||t==="bar"}function Mo(t,e=5){if(typeof t!="object")return t;let i=Array.isArray(t)?[]:{};for(let r in t)i[r]=e<=1?t[r]:t[r]&&Mo(t[r],e-1);return i}var vv=Object.freeze({insertMode:!1}),Sv=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,cursorBlink:void 0,cursorStyle:void 0,origin:!1,reverseWraparound:!1,sendFocus:!1,synchronizedOutput:!1,wraparound:!0}),zp=class extends re{constructor(t,e,i){super(),this._bufferService=t,this._logService=e,this._optionsService=i,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this._register(new L),this.onData=this._onData.event,this._onUserInput=this._register(new L),this.onUserInput=this._onUserInput.event,this._onBinary=this._register(new L),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this._register(new L),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=Mo(vv),this.decPrivateModes=Mo(Sv)}reset(){this.modes=Mo(vv),this.decPrivateModes=Mo(Sv)}triggerDataEvent(t,e=!1){if(this._optionsService.rawOptions.disableStdin)return;let i=this._bufferService.buffer;e&&this._optionsService.rawOptions.scrollOnUserInput&&i.ybase!==i.ydisp&&this._onRequestScrollToBottom.fire(),e&&this._onUserInput.fire(),this._logService.debug(`sending data "${t}"`),this._logService.trace("sending data (codes)",()=>t.split("").map(r=>r.charCodeAt(0))),this._onData.fire(t)}triggerBinaryEvent(t){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary "${t}"`),this._logService.trace("sending binary (codes)",()=>t.split("").map(e=>e.charCodeAt(0))),this._onBinary.fire(t))}};zp=De([N(0,Rt),N(1,xb),N(2,At)],zp);var yv={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:t=>t.button===4||t.action!==1?!1:(t.ctrl=!1,t.alt=!1,t.shift=!1,!0)},VT200:{events:19,restrict:t=>t.action!==32},DRAG:{events:23,restrict:t=>!(t.action===32&&t.button===3)},ANY:{events:31,restrict:t=>!0}};function df(t,e){let i=(t.ctrl?16:0)|(t.shift?4:0)|(t.alt?8:0);return t.button===4?(i|=64,i|=t.action):(i|=t.button&3,t.button&4&&(i|=64),t.button&8&&(i|=128),t.action===32?i|=32:t.action===0&&!e&&(i|=3)),i}var pf=String.fromCharCode,wv={DEFAULT:t=>{let e=[df(t,!1)+32,t.col+32,t.row+32];return e[0]>255||e[1]>255||e[2]>255?"":`\x1B[M${pf(e[0])}${pf(e[1])}${pf(e[2])}`},SGR:t=>{let e=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${df(t,!0)};${t.col};${t.row}${e}`},SGR_PIXELS:t=>{let e=t.action===0&&t.button!==4?"m":"M";return`\x1B[<${df(t,!0)};${t.x};${t.y}${e}`}},Zp=class extends re{constructor(t,e,i){super(),this._bufferService=t,this._coreService=e,this._optionsService=i,this._protocols={},this._encodings={},this._activeProtocol="",this._activeEncoding="",this._lastEvent=null,this._wheelPartialScroll=0,this._onProtocolChange=this._register(new L),this.onProtocolChange=this._onProtocolChange.event;for(let r of Object.keys(yv))this.addProtocol(r,yv[r]);for(let r of Object.keys(wv))this.addEncoding(r,wv[r]);this.reset()}addProtocol(t,e){this._protocols[t]=e}addEncoding(t,e){this._encodings[t]=e}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return this._protocols[this._activeProtocol].events!==0}set activeProtocol(t){if(!this._protocols[t])throw new Error(`unknown protocol "${t}"`);this._activeProtocol=t,this._onProtocolChange.fire(this._protocols[t].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(t){if(!this._encodings[t])throw new Error(`unknown encoding "${t}"`);this._activeEncoding=t}reset(){this.activeProtocol="NONE",this.activeEncoding="DEFAULT",this._lastEvent=null,this._wheelPartialScroll=0}consumeWheelEvent(t,e,i){if(t.deltaY===0||t.shiftKey||e===void 0||i===void 0)return 0;let r=e/i,s=this._applyScrollModifier(t.deltaY,t);return t.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(s/=r+0,Math.abs(t.deltaY)<50&&(s*=.3),this._wheelPartialScroll+=s,s=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):t.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(s*=this._bufferService.rows),s}_applyScrollModifier(t,e){return e.altKey||e.ctrlKey||e.shiftKey?t*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:t*this._optionsService.rawOptions.scrollSensitivity}triggerMouseEvent(t){if(t.col<0||t.col>=this._bufferService.cols||t.row<0||t.row>=this._bufferService.rows||t.button===4&&t.action===32||t.button===3&&t.action!==32||t.button!==4&&(t.action===2||t.action===3)||(t.col++,t.row++,t.action===32&&this._lastEvent&&this._equalEvents(this._lastEvent,t,this._activeEncoding==="SGR_PIXELS"))||!this._protocols[this._activeProtocol].restrict(t))return!1;let e=this._encodings[this._activeEncoding](t);return e&&(this._activeEncoding==="DEFAULT"?this._coreService.triggerBinaryEvent(e):this._coreService.triggerDataEvent(e,!0)),this._lastEvent=t,!0}explainEvents(t){return{down:!!(t&1),up:!!(t&2),drag:!!(t&4),move:!!(t&8),wheel:!!(t&16)}}_equalEvents(t,e,i){if(i){if(t.x!==e.x||t.y!==e.y)return!1}else if(t.col!==e.col||t.row!==e.row)return!1;return!(t.button!==e.button||t.action!==e.action||t.ctrl!==e.ctrl||t.alt!==e.alt||t.shift!==e.shift)}};Zp=De([N(0,Rt),N(1,Vs),N(2,At)],Zp);var gf=[[768,879],[1155,1158],[1160,1161],[1425,1469],[1471,1471],[1473,1474],[1476,1477],[1479,1479],[1536,1539],[1552,1557],[1611,1630],[1648,1648],[1750,1764],[1767,1768],[1770,1773],[1807,1807],[1809,1809],[1840,1866],[1958,1968],[2027,2035],[2305,2306],[2364,2364],[2369,2376],[2381,2381],[2385,2388],[2402,2403],[2433,2433],[2492,2492],[2497,2500],[2509,2509],[2530,2531],[2561,2562],[2620,2620],[2625,2626],[2631,2632],[2635,2637],[2672,2673],[2689,2690],[2748,2748],[2753,2757],[2759,2760],[2765,2765],[2786,2787],[2817,2817],[2876,2876],[2879,2879],[2881,2883],[2893,2893],[2902,2902],[2946,2946],[3008,3008],[3021,3021],[3134,3136],[3142,3144],[3146,3149],[3157,3158],[3260,3260],[3263,3263],[3270,3270],[3276,3277],[3298,3299],[3393,3395],[3405,3405],[3530,3530],[3538,3540],[3542,3542],[3633,3633],[3636,3642],[3655,3662],[3761,3761],[3764,3769],[3771,3772],[3784,3789],[3864,3865],[3893,3893],[3895,3895],[3897,3897],[3953,3966],[3968,3972],[3974,3975],[3984,3991],[3993,4028],[4038,4038],[4141,4144],[4146,4146],[4150,4151],[4153,4153],[4184,4185],[4448,4607],[4959,4959],[5906,5908],[5938,5940],[5970,5971],[6002,6003],[6068,6069],[6071,6077],[6086,6086],[6089,6099],[6109,6109],[6155,6157],[6313,6313],[6432,6434],[6439,6440],[6450,6450],[6457,6459],[6679,6680],[6912,6915],[6964,6964],[6966,6970],[6972,6972],[6978,6978],[7019,7027],[7616,7626],[7678,7679],[8203,8207],[8234,8238],[8288,8291],[8298,8303],[8400,8431],[12330,12335],[12441,12442],[43014,43014],[43019,43019],[43045,43046],[64286,64286],[65024,65039],[65056,65059],[65279,65279],[65529,65531]],h3=[[68097,68099],[68101,68102],[68108,68111],[68152,68154],[68159,68159],[119143,119145],[119155,119170],[119173,119179],[119210,119213],[119362,119364],[917505,917505],[917536,917631],[917760,917999]],Fe;function c3(t,e){let i=0,r=e.length-1,s;if(te[r][1])return!1;for(;r>=i;)if(s=i+r>>1,t>e[s][1])i=s+1;else if(t=131072&&t<=196605||t>=196608&&t<=262141?2:1}charProperties(t,e){let i=this.wcwidth(t),r=i===0&&e!==0;if(r){let s=$s.extractWidth(e);s===0?r=!1:s>i&&(i=s)}return $s.createPropertyValue(0,i,r)}},$s=class dh{constructor(){this._providers=Object.create(null),this._active="",this._onChange=new L,this.onChange=this._onChange.event;let e=new u3;this.register(e),this._active=e.version,this._activeProvider=e}static extractShouldJoin(e){return(e&1)!==0}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,i,r=!1){return(e&16777215)<<3|(i&3)<<1|(r?1:0)}dispose(){this._onChange.dispose()}get versions(){return Object.keys(this._providers)}get activeVersion(){return this._active}set activeVersion(e){if(!this._providers[e])throw new Error(`unknown Unicode version "${e}"`);this._active=e,this._activeProvider=this._providers[e],this._onChange.fire(e)}register(e){this._providers[e.version]=e}wcwidth(e){return this._activeProvider.wcwidth(e)}getStringCellWidth(e){let i=0,r=0,s=e.length;for(let n=0;n=s)return i+this.wcwidth(o);let h=e.charCodeAt(n);56320<=h&&h<=57343?o=(o-55296)*1024+h-56320+65536:i+=this.wcwidth(h)}let l=this.charProperties(o,r),a=dh.extractWidth(l);dh.extractShouldJoin(l)&&(a-=dh.extractWidth(r)),i+=a,r=l}return i}charProperties(e,i){return this._activeProvider.charProperties(e,i)}},f3=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(t){this.glevel=t,this.charset=this._charsets[t]}setgCharset(t,e){this._charsets[t]=e,this.glevel===t&&(this.charset=e)}};function kv(t){var r;let e=(r=t.buffer.lines.get(t.buffer.ybase+t.buffer.y-1))==null?void 0:r.get(t.cols-1),i=t.buffer.lines.get(t.buffer.ybase+t.buffer.y);i&&e&&(i.isWrapped=e[3]!==0&&e[3]!==32)}var yo=2147483647,d3=256,ox=class Xp{constructor(e=32,i=32){if(this.maxLength=e,this.maxSubParamsLength=i,i>d3)throw new Error("maxSubParamsLength must not be greater than 256");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(i),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}static fromArray(e){let i=new Xp;if(!e.length)return i;for(let r=Array.isArray(e[0])?1:0;r>8,s=this._subParamsIdx[i]&255;s-r>0&&e.push(Array.prototype.slice.call(this._subParams,r,s))}return e}reset(){this.length=0,this._subParamsLength=0,this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}addParam(e){if(this._digitIsSub=!1,this.length>=this.maxLength){this._rejectDigits=!0;return}if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParamsIdx[this.length]=this._subParamsLength<<8|this._subParamsLength,this.params[this.length++]=e>yo?yo:e}addSubParam(e){if(this._digitIsSub=!0,!!this.length){if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength){this._rejectSubDigits=!0;return}if(e<-1)throw new Error("values lesser than -1 are not allowed");this._subParams[this._subParamsLength++]=e>yo?yo:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(this._subParamsIdx[e]&255)-(this._subParamsIdx[e]>>8)>0}getSubParams(e){let i=this._subParamsIdx[e]>>8,r=this._subParamsIdx[e]&255;return r-i>0?this._subParams.subarray(i,r):null}getSubParamsAll(){let e={};for(let i=0;i>8,s=this._subParamsIdx[i]&255;s-r>0&&(e[i]=this._subParams.slice(r,s))}return e}addDigit(e){let i;if(this._rejectDigits||!(i=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;let r=this._digitIsSub?this._subParams:this.params,s=r[i-1];r[i-1]=~s?Math.min(s*10+e,yo):e}},wo=[],p3=class{constructor(){this._state=0,this._active=wo,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let i=this._handlers[t];return i.push(e),{dispose:()=>{let r=i.indexOf(e);r!==-1&&i.splice(r,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=wo}reset(){if(this._state===2)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].end(!1);this._stack.paused=!1,this._active=wo,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||wo,!this._active.length)this._handlerFb(this._id,"START");else for(let t=this._active.length-1;t>=0;t--)this._active[t].start()}_put(t,e,i){if(!this._active.length)this._handlerFb(this._id,"PUT",qc(t,e,i));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(t,e,i)}start(){this.reset(),this._state=1}put(t,e,i){if(this._state!==3){if(this._state===1)for(;e0&&this._put(t,e,i)}}end(t,e=!0){if(this._state!==0){if(this._state!==3)if(this._state===1&&this._start(),!this._active.length)this._handlerFb(this._id,"END",t);else{let i=!1,r=this._active.length-1,s=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,i=e,s=this._stack.fallThrough,this._stack.paused=!1),!s&&i===!1){for(;r>=0&&(i=this._active[r].end(t),i!==!0);r--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,i;r--}for(;r>=0;r--)if(i=this._active[r].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,i}this._active=wo,this._id=-1,this._state=0}}},qt=class{constructor(t){this._handler=t,this._data="",this._hitLimit=!1}start(){this._data="",this._hitLimit=!1}put(t,e,i){this._hitLimit||(this._data+=qc(t,e,i),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}end(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data),e instanceof Promise))return e.then(i=>(this._data="",this._hitLimit=!1,i));return this._data="",this._hitLimit=!1,e}},ko=[],g3=class{constructor(){this._handlers=Object.create(null),this._active=ko,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=ko}registerHandler(t,e){this._handlers[t]===void 0&&(this._handlers[t]=[]);let i=this._handlers[t];return i.push(e),{dispose:()=>{let r=i.indexOf(e);r!==-1&&i.splice(r,1)}}}clearHandler(t){this._handlers[t]&&delete this._handlers[t]}setHandlerFallback(t){this._handlerFb=t}reset(){if(this._active.length)for(let t=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;t>=0;--t)this._active[t].unhook(!1);this._stack.paused=!1,this._active=ko,this._ident=0}hook(t,e){if(this.reset(),this._ident=t,this._active=this._handlers[t]||ko,!this._active.length)this._handlerFb(this._ident,"HOOK",e);else for(let i=this._active.length-1;i>=0;i--)this._active[i].hook(e)}put(t,e,i){if(!this._active.length)this._handlerFb(this._ident,"PUT",qc(t,e,i));else for(let r=this._active.length-1;r>=0;r--)this._active[r].put(t,e,i)}unhook(t,e=!0){if(!this._active.length)this._handlerFb(this._ident,"UNHOOK",t);else{let i=!1,r=this._active.length-1,s=!1;if(this._stack.paused&&(r=this._stack.loopPosition-1,i=e,s=this._stack.fallThrough,this._stack.paused=!1),!s&&i===!1){for(;r>=0&&(i=this._active[r].unhook(t),i!==!0);r--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!1,i;r--}for(;r>=0;r--)if(i=this._active[r].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=r,this._stack.fallThrough=!0,i}this._active=ko,this._ident=0}},Lo=new ox;Lo.addParam(0);var bv=class{constructor(t){this._handler=t,this._data="",this._params=Lo,this._hitLimit=!1}hook(t){this._params=t.length>1||t.params[0]?t.clone():Lo,this._data="",this._hitLimit=!1}put(t,e,i){this._hitLimit||(this._data+=qc(t,e,i),this._data.length>1e7&&(this._data="",this._hitLimit=!0))}unhook(t){let e=!1;if(this._hitLimit)e=!1;else if(t&&(e=this._handler(this._data,this._params),e instanceof Promise))return e.then(i=>(this._params=Lo,this._data="",this._hitLimit=!1,i));return this._params=Lo,this._data="",this._hitLimit=!1,e}},m3=class{constructor(t){this.table=new Uint8Array(t)}setDefault(t,e){this.table.fill(t<<4|e)}add(t,e,i,r){this.table[e<<8|t]=i<<4|r}addMany(t,e,i,r){for(let s=0;sa),i=(l,a)=>e.slice(l,a),r=i(32,127),s=i(0,24);s.push(25),s.push.apply(s,i(28,32));let n=i(0,14),o;t.setDefault(1,0),t.addMany(r,0,2,0);for(o in n)t.addMany([24,26,153,154],o,3,0),t.addMany(i(128,144),o,3,0),t.addMany(i(144,152),o,3,0),t.add(156,o,0,0),t.add(27,o,11,1),t.add(157,o,4,8),t.addMany([152,158,159],o,0,7),t.add(155,o,11,3),t.add(144,o,11,9);return t.addMany(s,0,3,0),t.addMany(s,1,3,1),t.add(127,1,0,1),t.addMany(s,8,0,8),t.addMany(s,3,3,3),t.add(127,3,0,3),t.addMany(s,4,3,4),t.add(127,4,0,4),t.addMany(s,6,3,6),t.addMany(s,5,3,5),t.add(127,5,0,5),t.addMany(s,2,3,2),t.add(127,2,0,2),t.add(93,1,4,8),t.addMany(r,8,5,8),t.add(127,8,5,8),t.addMany([156,27,24,26,7],8,6,0),t.addMany(i(28,32),8,0,8),t.addMany([88,94,95],1,0,7),t.addMany(r,7,0,7),t.addMany(s,7,0,7),t.add(156,7,0,0),t.add(127,7,0,7),t.add(91,1,11,3),t.addMany(i(64,127),3,7,0),t.addMany(i(48,60),3,8,4),t.addMany([60,61,62,63],3,9,4),t.addMany(i(48,60),4,8,4),t.addMany(i(64,127),4,7,0),t.addMany([60,61,62,63],4,0,6),t.addMany(i(32,64),6,0,6),t.add(127,6,0,6),t.addMany(i(64,127),6,0,0),t.addMany(i(32,48),3,9,5),t.addMany(i(32,48),5,9,5),t.addMany(i(48,64),5,0,6),t.addMany(i(64,127),5,7,0),t.addMany(i(32,48),4,9,5),t.addMany(i(32,48),1,9,2),t.addMany(i(32,48),2,9,2),t.addMany(i(48,127),2,10,0),t.addMany(i(48,80),1,10,0),t.addMany(i(81,88),1,10,0),t.addMany([89,90,92],1,10,0),t.addMany(i(96,127),1,10,0),t.add(80,1,11,9),t.addMany(s,9,0,9),t.add(127,9,0,9),t.addMany(i(28,32),9,0,9),t.addMany(i(32,48),9,9,12),t.addMany(i(48,60),9,8,10),t.addMany([60,61,62,63],9,9,10),t.addMany(s,11,0,11),t.addMany(i(32,128),11,0,11),t.addMany(i(28,32),11,0,11),t.addMany(s,10,0,10),t.add(127,10,0,10),t.addMany(i(28,32),10,0,10),t.addMany(i(48,60),10,8,10),t.addMany([60,61,62,63],10,0,11),t.addMany(i(32,48),10,9,12),t.addMany(s,12,0,12),t.add(127,12,0,12),t.addMany(i(28,32),12,0,12),t.addMany(i(32,48),12,9,12),t.addMany(i(48,64),12,0,11),t.addMany(i(64,127),12,12,13),t.addMany(i(64,127),10,12,13),t.addMany(i(64,127),9,12,13),t.addMany(s,13,13,13),t.addMany(r,13,13,13),t.add(127,13,0,13),t.addMany([27,156,24,26],13,14,0),t.add(ai,0,2,0),t.add(ai,8,5,8),t.add(ai,6,0,6),t.add(ai,11,0,11),t.add(ai,13,13,13),t}(),_3=class extends re{constructor(t=O3){super(),this._transitions=t,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new ox,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,i,r)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,i)=>{},this._escHandlerFb=e=>{},this._errorHandlerFb=e=>e,this._printHandler=this._printHandlerFb,this._executeHandlers=Object.create(null),this._csiHandlers=Object.create(null),this._escHandlers=Object.create(null),this._register(Pe(()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)})),this._oscParser=this._register(new p3),this._dcsParser=this._register(new g3),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:"\\"},()=>!0)}_identifier(t,e=[64,126]){let i=0;if(t.prefix){if(t.prefix.length>1)throw new Error("only one byte as prefix supported");if(i=t.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error("prefix must be in range 0x3c .. 0x3f")}if(t.intermediates){if(t.intermediates.length>2)throw new Error("only two bytes as intermediates are supported");for(let s=0;sn||n>47)throw new Error("intermediate must be in range 0x20 .. 0x2f");i<<=8,i|=n}}if(t.final.length!==1)throw new Error("final must be a single byte");let r=t.final.charCodeAt(0);if(e[0]>r||r>e[1])throw new Error(`final must be in range ${e[0]} .. ${e[1]}`);return i<<=8,i|=r,i}identToString(t){let e=[];for(;t;)e.push(String.fromCharCode(t&255)),t>>=8;return e.reverse().join("")}setPrintHandler(t){this._printHandler=t}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(t,e){let i=this._identifier(t,[48,126]);this._escHandlers[i]===void 0&&(this._escHandlers[i]=[]);let r=this._escHandlers[i];return r.push(e),{dispose:()=>{let s=r.indexOf(e);s!==-1&&r.splice(s,1)}}}clearEscHandler(t){this._escHandlers[this._identifier(t,[48,126])]&&delete this._escHandlers[this._identifier(t,[48,126])]}setEscHandlerFallback(t){this._escHandlerFb=t}setExecuteHandler(t,e){this._executeHandlers[t.charCodeAt(0)]=e}clearExecuteHandler(t){this._executeHandlers[t.charCodeAt(0)]&&delete this._executeHandlers[t.charCodeAt(0)]}setExecuteHandlerFallback(t){this._executeHandlerFb=t}registerCsiHandler(t,e){let i=this._identifier(t);this._csiHandlers[i]===void 0&&(this._csiHandlers[i]=[]);let r=this._csiHandlers[i];return r.push(e),{dispose:()=>{let s=r.indexOf(e);s!==-1&&r.splice(s,1)}}}clearCsiHandler(t){this._csiHandlers[this._identifier(t)]&&delete this._csiHandlers[this._identifier(t)]}setCsiHandlerFallback(t){this._csiHandlerFb=t}registerDcsHandler(t,e){return this._dcsParser.registerHandler(this._identifier(t),e)}clearDcsHandler(t){this._dcsParser.clearHandler(this._identifier(t))}setDcsHandlerFallback(t){this._dcsParser.setHandlerFallback(t)}registerOscHandler(t,e){return this._oscParser.registerHandler(t,e)}clearOscHandler(t){this._oscParser.clearHandler(t)}setOscHandlerFallback(t){this._oscParser.setHandlerFallback(t)}setErrorHandler(t){this._errorHandler=t}clearErrorHandler(){this._errorHandler=this._errorHandlerFb}reset(){this.currentState=this.initialState,this._oscParser.reset(),this._dcsParser.reset(),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._parseStack.state!==0&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(t,e,i,r,s){this._parseStack.state=t,this._parseStack.handlers=e,this._parseStack.handlerPos=i,this._parseStack.transition=r,this._parseStack.chunkPos=s}parse(t,e,i){let r=0,s=0,n=0,o;if(this._parseStack.state)if(this._parseStack.state===2)this._parseStack.state=0,n=this._parseStack.chunkPos+1;else{if(i===void 0||this._parseStack.state===1)throw this._parseStack.state=1,new Error("improper continuation due to previous async handler, giving up parsing");let l=this._parseStack.handlers,a=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(i===!1&&a>-1){for(;a>=0&&(o=l[a](this._params),o!==!0);a--)if(o instanceof Promise)return this._parseStack.handlerPos=a,o}this._parseStack.handlers=[];break;case 4:if(i===!1&&a>-1){for(;a>=0&&(o=l[a](),o!==!0);a--)if(o instanceof Promise)return this._parseStack.handlerPos=a,o}this._parseStack.handlers=[];break;case 6:if(r=t[this._parseStack.chunkPos],o=this._dcsParser.unhook(r!==24&&r!==26,i),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=t[this._parseStack.chunkPos],o=this._oscParser.end(r!==24&&r!==26,i),o)return o;r===27&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break}this._parseStack.state=0,n=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=this._parseStack.transition&15}for(let l=n;l>4){case 2:for(let f=l+1;;++f){if(f>=e||(r=t[f])<32||r>126&&r=e||(r=t[f])<32||r>126&&r=e||(r=t[f])<32||r>126&&r=e||(r=t[f])<32||r>126&&r=0&&(o=a[h](this._params),o!==!0);h--)if(o instanceof Promise)return this._preserveStack(3,a,h,s,l),o;h<0&&this._csiHandlerFb(this._collect<<8|r,this._params),this.precedingJoinState=0;break;case 8:do switch(r){case 59:this._params.addParam(0);break;case 58:this._params.addSubParam(-1);break;default:this._params.addDigit(r-48)}while(++l47&&r<60);l--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:let c=this._escHandlers[this._collect<<8|r],u=c?c.length-1:-1;for(;u>=0&&(o=c[u](),o!==!0);u--)if(o instanceof Promise)return this._preserveStack(4,c,u,s,l),o;u<0&&this._escHandlerFb(this._collect<<8|r),this.precedingJoinState=0;break;case 11:this._params.reset(),this._params.addParam(0),this._collect=0;break;case 12:this._dcsParser.hook(this._collect<<8|r,this._params);break;case 13:for(let f=l+1;;++f)if(f>=e||(r=t[f])===24||r===26||r===27||r>127&&r=e||(r=t[f])<32||r>127&&r>4:n>>8}return r}}function mf(t,e){let i=t.toString(16),r=i.length<2?"0"+i:i;switch(e){case 4:return i[0];case 8:return r;case 12:return(r+r).slice(0,3);default:return r+r}}function y3(t,e=16){let[i,r,s]=t;return`rgb:${mf(i,e)}/${mf(r,e)}/${mf(s,e)}`}var w3={"(":0,")":1,"*":2,"+":3,"-":1,".":2},Lr=131072,Cv=10;function Pv(t,e){if(t>24)return e.setWinLines||!1;switch(t){case 1:return!!e.restoreWin;case 2:return!!e.minimizeWin;case 3:return!!e.setWinPosition;case 4:return!!e.setWinSizePixels;case 5:return!!e.raiseWin;case 6:return!!e.lowerWin;case 7:return!!e.refreshWin;case 8:return!!e.setWinSizeChars;case 9:return!!e.maximizeWin;case 10:return!!e.fullscreenWin;case 11:return!!e.getWinState;case 13:return!!e.getWinPosition;case 14:return!!e.getWinSizePixels;case 15:return!!e.getScreenSizePixels;case 16:return!!e.getCellSizePixels;case 18:return!!e.getWinSizeChars;case 19:return!!e.getScreenSizeChars;case 20:return!!e.getIconTitle;case 21:return!!e.getWinTitle;case 22:return!!e.pushTitle;case 23:return!!e.popTitle;case 24:return!!e.setWinLines}return!1}var $v=5e3,Qv=0,k3=class extends re{constructor(t,e,i,r,s,n,o,l,a=new _3){super(),this._bufferService=t,this._charsetService=e,this._coreService=i,this._logService=r,this._optionsService=s,this._oscLinkService=n,this._coreMouseService=o,this._unicodeService=l,this._parser=a,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new NA,this._utf8Decoder=new WA,this._windowTitle="",this._iconName="",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=Ne.clone(),this._eraseAttrDataInternal=Ne.clone(),this._onRequestBell=this._register(new L),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this._register(new L),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this._register(new L),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this._register(new L),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this._register(new L),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this._register(new L),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this._register(new L),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this._register(new L),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this._register(new L),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this._register(new L),this.onLineFeed=this._onLineFeed.event,this._onScroll=this._register(new L),this.onScroll=this._onScroll.event,this._onTitleChange=this._register(new L),this.onTitleChange=this._onTitleChange.event,this._onColor=this._register(new L),this.onColor=this._onColor.event,this._parseStack={paused:!1,cursorStartX:0,cursorStartY:0,decodedLength:0,position:0},this._specialColors=[256,257,258],this._register(this._parser),this._dirtyRowTracker=new Ip(this._bufferService),this._activeBuffer=this._bufferService.buffer,this._register(this._bufferService.buffers.onBufferActivate(h=>this._activeBuffer=h.activeBuffer)),this._parser.setCsiHandlerFallback((h,c)=>{this._logService.debug("Unknown CSI code: ",{identifier:this._parser.identToString(h),params:c.toArray()})}),this._parser.setEscHandlerFallback(h=>{this._logService.debug("Unknown ESC code: ",{identifier:this._parser.identToString(h)})}),this._parser.setExecuteHandlerFallback(h=>{this._logService.debug("Unknown EXECUTE code: ",{code:h})}),this._parser.setOscHandlerFallback((h,c,u)=>{this._logService.debug("Unknown OSC code: ",{identifier:h,action:c,data:u})}),this._parser.setDcsHandlerFallback((h,c,u)=>{c==="HOOK"&&(u=u.toArray()),this._logService.debug("Unknown DCS code: ",{identifier:this._parser.identToString(h),action:c,payload:u})}),this._parser.setPrintHandler((h,c,u)=>this.print(h,c,u)),this._parser.registerCsiHandler({final:"@"},h=>this.insertChars(h)),this._parser.registerCsiHandler({intermediates:" ",final:"@"},h=>this.scrollLeft(h)),this._parser.registerCsiHandler({final:"A"},h=>this.cursorUp(h)),this._parser.registerCsiHandler({intermediates:" ",final:"A"},h=>this.scrollRight(h)),this._parser.registerCsiHandler({final:"B"},h=>this.cursorDown(h)),this._parser.registerCsiHandler({final:"C"},h=>this.cursorForward(h)),this._parser.registerCsiHandler({final:"D"},h=>this.cursorBackward(h)),this._parser.registerCsiHandler({final:"E"},h=>this.cursorNextLine(h)),this._parser.registerCsiHandler({final:"F"},h=>this.cursorPrecedingLine(h)),this._parser.registerCsiHandler({final:"G"},h=>this.cursorCharAbsolute(h)),this._parser.registerCsiHandler({final:"H"},h=>this.cursorPosition(h)),this._parser.registerCsiHandler({final:"I"},h=>this.cursorForwardTab(h)),this._parser.registerCsiHandler({final:"J"},h=>this.eraseInDisplay(h,!1)),this._parser.registerCsiHandler({prefix:"?",final:"J"},h=>this.eraseInDisplay(h,!0)),this._parser.registerCsiHandler({final:"K"},h=>this.eraseInLine(h,!1)),this._parser.registerCsiHandler({prefix:"?",final:"K"},h=>this.eraseInLine(h,!0)),this._parser.registerCsiHandler({final:"L"},h=>this.insertLines(h)),this._parser.registerCsiHandler({final:"M"},h=>this.deleteLines(h)),this._parser.registerCsiHandler({final:"P"},h=>this.deleteChars(h)),this._parser.registerCsiHandler({final:"S"},h=>this.scrollUp(h)),this._parser.registerCsiHandler({final:"T"},h=>this.scrollDown(h)),this._parser.registerCsiHandler({final:"X"},h=>this.eraseChars(h)),this._parser.registerCsiHandler({final:"Z"},h=>this.cursorBackwardTab(h)),this._parser.registerCsiHandler({final:"`"},h=>this.charPosAbsolute(h)),this._parser.registerCsiHandler({final:"a"},h=>this.hPositionRelative(h)),this._parser.registerCsiHandler({final:"b"},h=>this.repeatPrecedingCharacter(h)),this._parser.registerCsiHandler({final:"c"},h=>this.sendDeviceAttributesPrimary(h)),this._parser.registerCsiHandler({prefix:">",final:"c"},h=>this.sendDeviceAttributesSecondary(h)),this._parser.registerCsiHandler({final:"d"},h=>this.linePosAbsolute(h)),this._parser.registerCsiHandler({final:"e"},h=>this.vPositionRelative(h)),this._parser.registerCsiHandler({final:"f"},h=>this.hVPosition(h)),this._parser.registerCsiHandler({final:"g"},h=>this.tabClear(h)),this._parser.registerCsiHandler({final:"h"},h=>this.setMode(h)),this._parser.registerCsiHandler({prefix:"?",final:"h"},h=>this.setModePrivate(h)),this._parser.registerCsiHandler({final:"l"},h=>this.resetMode(h)),this._parser.registerCsiHandler({prefix:"?",final:"l"},h=>this.resetModePrivate(h)),this._parser.registerCsiHandler({final:"m"},h=>this.charAttributes(h)),this._parser.registerCsiHandler({final:"n"},h=>this.deviceStatus(h)),this._parser.registerCsiHandler({prefix:"?",final:"n"},h=>this.deviceStatusPrivate(h)),this._parser.registerCsiHandler({intermediates:"!",final:"p"},h=>this.softReset(h)),this._parser.registerCsiHandler({intermediates:" ",final:"q"},h=>this.setCursorStyle(h)),this._parser.registerCsiHandler({final:"r"},h=>this.setScrollRegion(h)),this._parser.registerCsiHandler({final:"s"},h=>this.saveCursor(h)),this._parser.registerCsiHandler({final:"t"},h=>this.windowOptions(h)),this._parser.registerCsiHandler({final:"u"},h=>this.restoreCursor(h)),this._parser.registerCsiHandler({intermediates:"'",final:"}"},h=>this.insertColumns(h)),this._parser.registerCsiHandler({intermediates:"'",final:"~"},h=>this.deleteColumns(h)),this._parser.registerCsiHandler({intermediates:'"',final:"q"},h=>this.selectProtected(h)),this._parser.registerCsiHandler({intermediates:"$",final:"p"},h=>this.requestMode(h,!0)),this._parser.registerCsiHandler({prefix:"?",intermediates:"$",final:"p"},h=>this.requestMode(h,!1)),this._parser.setExecuteHandler(Q.BEL,()=>this.bell()),this._parser.setExecuteHandler(Q.LF,()=>this.lineFeed()),this._parser.setExecuteHandler(Q.VT,()=>this.lineFeed()),this._parser.setExecuteHandler(Q.FF,()=>this.lineFeed()),this._parser.setExecuteHandler(Q.CR,()=>this.carriageReturn()),this._parser.setExecuteHandler(Q.BS,()=>this.backspace()),this._parser.setExecuteHandler(Q.HT,()=>this.tab()),this._parser.setExecuteHandler(Q.SO,()=>this.shiftOut()),this._parser.setExecuteHandler(Q.SI,()=>this.shiftIn()),this._parser.setExecuteHandler(uh.IND,()=>this.index()),this._parser.setExecuteHandler(uh.NEL,()=>this.nextLine()),this._parser.setExecuteHandler(uh.HTS,()=>this.tabSet()),this._parser.registerOscHandler(0,new qt(h=>(this.setTitle(h),this.setIconName(h),!0))),this._parser.registerOscHandler(1,new qt(h=>this.setIconName(h))),this._parser.registerOscHandler(2,new qt(h=>this.setTitle(h))),this._parser.registerOscHandler(4,new qt(h=>this.setOrReportIndexedColor(h))),this._parser.registerOscHandler(8,new qt(h=>this.setHyperlink(h))),this._parser.registerOscHandler(10,new qt(h=>this.setOrReportFgColor(h))),this._parser.registerOscHandler(11,new qt(h=>this.setOrReportBgColor(h))),this._parser.registerOscHandler(12,new qt(h=>this.setOrReportCursorColor(h))),this._parser.registerOscHandler(104,new qt(h=>this.restoreIndexedColor(h))),this._parser.registerOscHandler(110,new qt(h=>this.restoreFgColor(h))),this._parser.registerOscHandler(111,new qt(h=>this.restoreBgColor(h))),this._parser.registerOscHandler(112,new qt(h=>this.restoreCursorColor(h))),this._parser.registerEscHandler({final:"7"},()=>this.saveCursor()),this._parser.registerEscHandler({final:"8"},()=>this.restoreCursor()),this._parser.registerEscHandler({final:"D"},()=>this.index()),this._parser.registerEscHandler({final:"E"},()=>this.nextLine()),this._parser.registerEscHandler({final:"H"},()=>this.tabSet()),this._parser.registerEscHandler({final:"M"},()=>this.reverseIndex()),this._parser.registerEscHandler({final:"="},()=>this.keypadApplicationMode()),this._parser.registerEscHandler({final:">"},()=>this.keypadNumericMode()),this._parser.registerEscHandler({final:"c"},()=>this.fullReset()),this._parser.registerEscHandler({final:"n"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"o"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"|"},()=>this.setgLevel(3)),this._parser.registerEscHandler({final:"}"},()=>this.setgLevel(2)),this._parser.registerEscHandler({final:"~"},()=>this.setgLevel(1)),this._parser.registerEscHandler({intermediates:"%",final:"@"},()=>this.selectDefaultCharset()),this._parser.registerEscHandler({intermediates:"%",final:"G"},()=>this.selectDefaultCharset());for(let h in Je)this._parser.registerEscHandler({intermediates:"(",final:h},()=>this.selectCharset("("+h)),this._parser.registerEscHandler({intermediates:")",final:h},()=>this.selectCharset(")"+h)),this._parser.registerEscHandler({intermediates:"*",final:h},()=>this.selectCharset("*"+h)),this._parser.registerEscHandler({intermediates:"+",final:h},()=>this.selectCharset("+"+h)),this._parser.registerEscHandler({intermediates:"-",final:h},()=>this.selectCharset("-"+h)),this._parser.registerEscHandler({intermediates:".",final:h},()=>this.selectCharset("."+h)),this._parser.registerEscHandler({intermediates:"/",final:h},()=>this.selectCharset("/"+h));this._parser.registerEscHandler({intermediates:"#",final:"8"},()=>this.screenAlignmentPattern()),this._parser.setErrorHandler(h=>(this._logService.error("Parsing error: ",h),h)),this._parser.registerDcsHandler({intermediates:"$",final:"q"},new bv((h,c)=>this.requestStatusString(h,c)))}getAttrData(){return this._curAttrData}_preserveStack(t,e,i,r){this._parseStack.paused=!0,this._parseStack.cursorStartX=t,this._parseStack.cursorStartY=e,this._parseStack.decodedLength=i,this._parseStack.position=r}_logSlowResolvingAsync(t){this._logService.logLevel<=3&&Promise.race([t,new Promise((e,i)=>setTimeout(()=>i("#SLOW_TIMEOUT"),$v))]).catch(e=>{if(e!=="#SLOW_TIMEOUT")throw e;console.warn(`async parser handler taking longer than ${$v} ms`)})}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(t,e){let i,r=this._activeBuffer.x,s=this._activeBuffer.y,n=0,o=this._parseStack.paused;if(o){if(i=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,e))return this._logSlowResolvingAsync(i),i;r=this._parseStack.cursorStartX,s=this._parseStack.cursorStartY,this._parseStack.paused=!1,t.length>Lr&&(n=this._parseStack.position+Lr)}if(this._logService.logLevel<=1&&this._logService.debug(`parsing data ${typeof t=="string"?` "${t}"`:` "${Array.prototype.map.call(t,h=>String.fromCharCode(h)).join("")}"`}`),this._logService.logLevel===0&&this._logService.trace("parsing data (codes)",typeof t=="string"?t.split("").map(h=>h.charCodeAt(0)):t),this._parseBuffer.lengthLr)for(let h=n;h0&&u.getWidth(this._activeBuffer.x-1)===2&&u.setCellFromCodepoint(this._activeBuffer.x-1,0,1,c);let f=this._parser.precedingJoinState;for(let d=e;dl){if(a){let m=u,O=this._activeBuffer.x-v;for(this._activeBuffer.x=v,this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData(),!0)):(this._activeBuffer.y>=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!0),u=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),v>0&&u instanceof Ao&&u.copyCellsFrom(m,O,0,v,!1);O=0;)u.setCellFromCodepoint(this._activeBuffer.x++,0,0,c);continue}if(h&&(u.insertCells(this._activeBuffer.x,s-v,this._activeBuffer.getNullCell(c)),u.getWidth(l-1)===2&&u.setCellFromCodepoint(l-1,0,1,c)),u.setCellFromCodepoint(this._activeBuffer.x++,r,s,c),s>0)for(;--s;)u.setCellFromCodepoint(this._activeBuffer.x++,0,0,c)}this._parser.precedingJoinState=f,this._activeBuffer.x0&&u.getWidth(this._activeBuffer.x)===0&&!u.hasContent(this._activeBuffer.x)&&u.setCellFromCodepoint(this._activeBuffer.x,0,1,c),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(t,e){return t.final==="t"&&!t.prefix&&!t.intermediates?this._parser.registerCsiHandler(t,i=>Pv(i.params[0],this._optionsService.rawOptions.windowOptions)?e(i):!0):this._parser.registerCsiHandler(t,e)}registerDcsHandler(t,e){return this._parser.registerDcsHandler(t,new bv(e))}registerEscHandler(t,e){return this._parser.registerEscHandler(t,e)}registerOscHandler(t,e){return this._parser.registerOscHandler(t,new qt(e))}bell(){return this._onRequestBell.fire(),!0}lineFeed(){return this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._optionsService.rawOptions.convertEol&&(this._activeBuffer.x=0),this._activeBuffer.y++,this._activeBuffer.y===this._activeBuffer.scrollBottom+1?(this._activeBuffer.y--,this._bufferService.scroll(this._eraseAttrData())):this._activeBuffer.y>=this._bufferService.rows?this._activeBuffer.y=this._bufferService.rows-1:this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.x>=this._bufferService.cols&&this._activeBuffer.x--,this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._onLineFeed.fire(),!0}carriageReturn(){return this._activeBuffer.x=0,!0}backspace(){var t;if(!this._coreService.decPrivateModes.reverseWraparound)return this._restrictCursor(),this._activeBuffer.x>0&&this._activeBuffer.x--,!0;if(this._restrictCursor(this._bufferService.cols),this._activeBuffer.x>0)this._activeBuffer.x--;else if(this._activeBuffer.x===0&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&((t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y))!=null&&t.isWrapped)){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;let e=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);e.hasWidth(this._activeBuffer.x)&&!e.hasContent(this._activeBuffer.x)&&this._activeBuffer.x--}return this._restrictCursor(),!0}tab(){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-t),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(t=this._bufferService.cols-1){this._activeBuffer.x=Math.min(t,Math.max(0,this._activeBuffer.x)),this._activeBuffer.y=this._coreService.decPrivateModes.origin?Math.min(this._activeBuffer.scrollBottom,Math.max(this._activeBuffer.scrollTop,this._activeBuffer.y)):Math.min(this._bufferService.rows-1,Math.max(0,this._activeBuffer.y)),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_setCursor(t,e){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=t,this._activeBuffer.y=this._activeBuffer.scrollTop+e):(this._activeBuffer.x=t,this._activeBuffer.y=e),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(t,e){this._restrictCursor(),this._setCursor(this._activeBuffer.x+t,this._activeBuffer.y+e)}cursorUp(t){let e=this._activeBuffer.y-this._activeBuffer.scrollTop;return e>=0?this._moveCursor(0,-Math.min(e,t.params[0]||1)):this._moveCursor(0,-(t.params[0]||1)),!0}cursorDown(t){let e=this._activeBuffer.scrollBottom-this._activeBuffer.y;return e>=0?this._moveCursor(0,Math.min(e,t.params[0]||1)):this._moveCursor(0,t.params[0]||1),!0}cursorForward(t){return this._moveCursor(t.params[0]||1,0),!0}cursorBackward(t){return this._moveCursor(-(t.params[0]||1),0),!0}cursorNextLine(t){return this.cursorDown(t),this._activeBuffer.x=0,!0}cursorPrecedingLine(t){return this.cursorUp(t),this._activeBuffer.x=0,!0}cursorCharAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(t){return this._setCursor(t.length>=2?(t.params[1]||1)-1:0,(t.params[0]||1)-1),!0}charPosAbsolute(t){return this._setCursor((t.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(t){return this._moveCursor(t.params[0]||1,0),!0}linePosAbsolute(t){return this._setCursor(this._activeBuffer.x,(t.params[0]||1)-1),!0}vPositionRelative(t){return this._moveCursor(0,t.params[0]||1),!0}hVPosition(t){return this.cursorPosition(t),!0}tabClear(t){let e=t.params[0];return e===0?delete this._activeBuffer.tabs[this._activeBuffer.x]:e===3&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=t.params[0]||1;for(;e--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(t){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let e=t.params[0]||1;for(;e--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(t){let e=t.params[0];return e===1&&(this._curAttrData.bg|=536870912),(e===2||e===0)&&(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(t,e,i,r=!1,s=!1){let n=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);n.replaceCells(e,i,this._activeBuffer.getNullCell(this._eraseAttrData()),s),r&&(n.isWrapped=!1)}_resetBufferLine(t,e=!1){let i=this._activeBuffer.lines.get(this._activeBuffer.ybase+t);i&&(i.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),e),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+t),i.isWrapped=!1)}eraseInDisplay(t,e=!1){var r;this._restrictCursor(this._bufferService.cols);let i;switch(t.params[0]){case 0:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i++,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,e);i=this._bufferService.cols&&(this._activeBuffer.lines.get(i+1).isWrapped=!1);i--;)this._resetBufferLine(i,e);this._dirtyRowTracker.markDirty(0);break;case 2:if(this._optionsService.rawOptions.scrollOnEraseInDisplay){for(i=this._bufferService.rows,this._dirtyRowTracker.markRangeDirty(0,i-1);i--&&!((r=this._activeBuffer.lines.get(this._activeBuffer.ybase+i))!=null&&r.getTrimmedLength()););for(;i>=0;i--)this._bufferService.scroll(this._eraseAttrData())}else{for(i=this._bufferService.rows,this._dirtyRowTracker.markDirty(i-1);i--;)this._resetBufferLine(i,e);this._dirtyRowTracker.markDirty(0)}break;case 3:let s=this._activeBuffer.lines.length-this._bufferService.rows;s>0&&(this._activeBuffer.lines.trimStart(s),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-s,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-s,0),this._onScroll.fire(0));break}return!0}eraseInLine(t,e=!1){switch(this._restrictCursor(this._bufferService.cols),t.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,this._activeBuffer.x===0,e);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,e);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,e);break}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(t){this._restrictCursor();let e=t.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.ythis._activeBuffer.scrollBottom||this._activeBuffer.y65535?2:1}let a=l;for(let h=1;h0||(this._is("xterm")||this._is("rxvt-unicode")||this._is("screen")?this._coreService.triggerDataEvent(Q.ESC+"[?1;2c"):this._is("linux")&&this._coreService.triggerDataEvent(Q.ESC+"[?6c")),!0}sendDeviceAttributesSecondary(t){return t.params[0]>0||(this._is("xterm")?this._coreService.triggerDataEvent(Q.ESC+"[>0;276;0c"):this._is("rxvt-unicode")?this._coreService.triggerDataEvent(Q.ESC+"[>85;95;0c"):this._is("linux")?this._coreService.triggerDataEvent(t.params[0]+"c"):this._is("screen")&&this._coreService.triggerDataEvent(Q.ESC+"[>83;40003;0c")),!0}_is(t){return(this._optionsService.rawOptions.termName+"").indexOf(t)===0}setMode(t){for(let e=0;e(g[g.NOT_RECOGNIZED=0]="NOT_RECOGNIZED",g[g.SET=1]="SET",g[g.RESET=2]="RESET",g[g.PERMANENTLY_SET=3]="PERMANENTLY_SET",g[g.PERMANENTLY_RESET=4]="PERMANENTLY_RESET"))(void 0||(i={}));let r=this._coreService.decPrivateModes,{activeProtocol:s,activeEncoding:n}=this._coreMouseService,o=this._coreService,{buffers:l,cols:a}=this._bufferService,{active:h,alt:c}=l,u=this._optionsService.rawOptions,f=(g,v)=>(o.triggerDataEvent(`${Q.ESC}[${e?"":"?"}${g};${v}$y`),!0),d=g=>g?1:2,p=t.params[0];return e?p===2?f(p,4):p===4?f(p,d(o.modes.insertMode)):p===12?f(p,3):p===20?f(p,d(u.convertEol)):f(p,0):p===1?f(p,d(r.applicationCursorKeys)):p===3?f(p,u.windowOptions.setWinLines?a===80?2:a===132?1:0:0):p===6?f(p,d(r.origin)):p===7?f(p,d(r.wraparound)):p===8?f(p,3):p===9?f(p,d(s==="X10")):p===12?f(p,d(u.cursorBlink)):p===25?f(p,d(!o.isCursorHidden)):p===45?f(p,d(r.reverseWraparound)):p===66?f(p,d(r.applicationKeypad)):p===67?f(p,4):p===1e3?f(p,d(s==="VT200")):p===1002?f(p,d(s==="DRAG")):p===1003?f(p,d(s==="ANY")):p===1004?f(p,d(r.sendFocus)):p===1005?f(p,4):p===1006?f(p,d(n==="SGR")):p===1015?f(p,4):p===1016?f(p,d(n==="SGR_PIXELS")):p===1048?f(p,1):p===47||p===1047||p===1049?f(p,d(h===c)):p===2004?f(p,d(r.bracketedPasteMode)):p===2026?f(p,d(r.synchronizedOutput)):f(p,0)}_updateAttrColor(t,e,i,r,s){return e===2?(t|=50331648,t&=-16777216,t|=Hl.fromColorRGB([i,r,s])):e===5&&(t&=-50331904,t|=33554432|i&255),t}_extractColor(t,e,i){let r=[0,0,-1,0,0,0],s=0,n=0;do{if(r[n+s]=t.params[e+n],t.hasSubParams(e+n)){let o=t.getSubParams(e+n),l=0;do r[1]===5&&(s=1),r[n+l+1+s]=o[l];while(++l=2||r[1]===2&&n+s>=5)break;r[1]&&(s=1)}while(++n+e5)&&(t=1),e.extended.underlineStyle=t,e.fg|=268435456,t===0&&(e.fg&=-268435457),e.updateExtended()}_processSGR0(t){t.fg=Ne.fg,t.bg=Ne.bg,t.extended=t.extended.clone(),t.extended.underlineStyle=0,t.extended.underlineColor&=-67108864,t.updateExtended()}charAttributes(t){if(t.length===1&&t.params[0]===0)return this._processSGR0(this._curAttrData),!0;let e=t.length,i,r=this._curAttrData;for(let s=0;s=30&&i<=37?(r.fg&=-50331904,r.fg|=16777216|i-30):i>=40&&i<=47?(r.bg&=-50331904,r.bg|=16777216|i-40):i>=90&&i<=97?(r.fg&=-50331904,r.fg|=16777216|i-90|8):i>=100&&i<=107?(r.bg&=-50331904,r.bg|=16777216|i-100|8):i===0?this._processSGR0(r):i===1?r.fg|=134217728:i===3?r.bg|=67108864:i===4?(r.fg|=268435456,this._processUnderline(t.hasSubParams(s)?t.getSubParams(s)[0]:1,r)):i===5?r.fg|=536870912:i===7?r.fg|=67108864:i===8?r.fg|=1073741824:i===9?r.fg|=2147483648:i===2?r.bg|=134217728:i===21?this._processUnderline(2,r):i===22?(r.fg&=-134217729,r.bg&=-134217729):i===23?r.bg&=-67108865:i===24?(r.fg&=-268435457,this._processUnderline(0,r)):i===25?r.fg&=-536870913:i===27?r.fg&=-67108865:i===28?r.fg&=-1073741825:i===29?r.fg&=2147483647:i===39?(r.fg&=-67108864,r.fg|=Ne.fg&16777215):i===49?(r.bg&=-67108864,r.bg|=Ne.bg&16777215):i===38||i===48||i===58?s+=this._extractColor(t,s,r):i===53?r.bg|=1073741824:i===55?r.bg&=-1073741825:i===59?(r.extended=r.extended.clone(),r.extended.underlineColor=-1,r.updateExtended()):i===100?(r.fg&=-67108864,r.fg|=Ne.fg&16777215,r.bg&=-67108864,r.bg|=Ne.bg&16777215):this._logService.debug("Unknown SGR attribute: %d.",i);return!0}deviceStatus(t){switch(t.params[0]){case 5:this._coreService.triggerDataEvent(`${Q.ESC}[0n`);break;case 6:let e=this._activeBuffer.y+1,i=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${Q.ESC}[${e};${i}R`);break}return!0}deviceStatusPrivate(t){switch(t.params[0]){case 6:let e=this._activeBuffer.y+1,i=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${Q.ESC}[?${e};${i}R`);break}return!0}softReset(t){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=Ne.clone(),this._coreService.reset(),this._charsetService.reset(),this._activeBuffer.savedX=0,this._activeBuffer.savedY=this._activeBuffer.ybase,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,this._coreService.decPrivateModes.origin=!1,!0}setCursorStyle(t){let e=t.length===0?1:t.params[0];if(e===0)this._coreService.decPrivateModes.cursorStyle=void 0,this._coreService.decPrivateModes.cursorBlink=void 0;else{switch(e){case 1:case 2:this._coreService.decPrivateModes.cursorStyle="block";break;case 3:case 4:this._coreService.decPrivateModes.cursorStyle="underline";break;case 5:case 6:this._coreService.decPrivateModes.cursorStyle="bar";break}let i=e%2===1;this._coreService.decPrivateModes.cursorBlink=i}return!0}setScrollRegion(t){let e=t.params[0]||1,i;return(t.length<2||(i=t.params[1])>this._bufferService.rows||i===0)&&(i=this._bufferService.rows),i>e&&(this._activeBuffer.scrollTop=e-1,this._activeBuffer.scrollBottom=i-1,this._setCursor(0,0)),!0}windowOptions(t){if(!Pv(t.params[0],this._optionsService.rawOptions.windowOptions))return!0;let e=t.length>1?t.params[1]:0;switch(t.params[0]){case 14:e!==2&&this._onRequestWindowsOptionsReport.fire(0);break;case 16:this._onRequestWindowsOptionsReport.fire(1);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${Q.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:(e===0||e===2)&&(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>Cv&&this._windowTitleStack.shift()),(e===0||e===1)&&(this._iconNameStack.push(this._iconName),this._iconNameStack.length>Cv&&this._iconNameStack.shift());break;case 23:(e===0||e===2)&&this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),(e===0||e===1)&&this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop());break}return!0}saveCursor(t){return this._activeBuffer.savedX=this._activeBuffer.x,this._activeBuffer.savedY=this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.savedCurAttrData.fg=this._curAttrData.fg,this._activeBuffer.savedCurAttrData.bg=this._curAttrData.bg,this._activeBuffer.savedCharset=this._charsetService.charset,!0}restoreCursor(t){return this._activeBuffer.x=this._activeBuffer.savedX||0,this._activeBuffer.y=Math.max(this._activeBuffer.savedY-this._activeBuffer.ybase,0),this._curAttrData.fg=this._activeBuffer.savedCurAttrData.fg,this._curAttrData.bg=this._activeBuffer.savedCurAttrData.bg,this._charsetService.charset=this._savedCharset,this._activeBuffer.savedCharset&&(this._charsetService.charset=this._activeBuffer.savedCharset),this._restrictCursor(),!0}setTitle(t){return this._windowTitle=t,this._onTitleChange.fire(t),!0}setIconName(t){return this._iconName=t,!0}setOrReportIndexedColor(t){let e=[],i=t.split(";");for(;i.length>1;){let r=i.shift(),s=i.shift();if(/^\d+$/.exec(r)){let n=parseInt(r);if(Tv(n))if(s==="?")e.push({type:0,index:n});else{let o=xv(s);o&&e.push({type:1,index:n,color:o})}}}return e.length&&this._onColor.fire(e),!0}setHyperlink(t){let e=t.indexOf(";");if(e===-1)return!0;let i=t.slice(0,e).trim(),r=t.slice(e+1);return r?this._createHyperlink(i,r):i.trim()?!1:this._finishHyperlink()}_createHyperlink(t,e){this._getCurrentLinkId()&&this._finishHyperlink();let i=t.split(":"),r,s=i.findIndex(n=>n.startsWith("id="));return s!==-1&&(r=i[s].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:r,uri:e}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(t,e){let i=t.split(";");for(let r=0;r=this._specialColors.length);++r,++e)if(i[r]==="?")this._onColor.fire([{type:0,index:this._specialColors[e]}]);else{let s=xv(i[r]);s&&this._onColor.fire([{type:1,index:this._specialColors[e],color:s}])}return!0}setOrReportFgColor(t){return this._setOrReportSpecialColor(t,0)}setOrReportBgColor(t){return this._setOrReportSpecialColor(t,1)}setOrReportCursorColor(t){return this._setOrReportSpecialColor(t,2)}restoreIndexedColor(t){if(!t)return this._onColor.fire([{type:2}]),!0;let e=[],i=t.split(";");for(let r=0;r=this._bufferService.rows&&(this._activeBuffer.y=this._bufferService.rows-1),this._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){let t=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,t,1),this._activeBuffer.lines.set(this._activeBuffer.ybase+this._activeBuffer.y,this._activeBuffer.getBlankLine(this._eraseAttrData())),this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom)}else this._activeBuffer.y--,this._restrictCursor();return!0}fullReset(){return this._parser.reset(),this._onRequestReset.fire(),!0}reset(){this._curAttrData=Ne.clone(),this._eraseAttrDataInternal=Ne.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=this._curAttrData.bg&67108863,this._eraseAttrDataInternal}setgLevel(t){return this._charsetService.setgLevel(t),!0}screenAlignmentPattern(){let t=new Oi;t.content=1<<22|69,t.fg=this._curAttrData.fg,t.bg=this._curAttrData.bg,this._setCursor(0,0);for(let e=0;e(this._coreService.triggerDataEvent(`${Q.ESC}${o}${Q.ESC}\\`),!0),r=this._bufferService.buffer,s=this._optionsService.rawOptions;return i(t==='"q'?`P1$r${this._curAttrData.isProtected()?1:0}"q`:t==='"p'?'P1$r61;1"p':t==="r"?`P1$r${r.scrollTop+1};${r.scrollBottom+1}r`:t==="m"?"P1$r0m":t===" q"?`P1$r${{block:2,underline:4,bar:6}[s.cursorStyle]-(s.cursorBlink?1:0)} q`:"P0$r")}markRangeDirty(t,e){this._dirtyRowTracker.markRangeDirty(t,e)}},Ip=class{constructor(t){this._bufferService=t,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(t){tthis.end&&(this.end=t)}markRangeDirty(t,e){t>e&&(Qv=t,t=e,e=Qv),tthis.end&&(this.end=e)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};Ip=De([N(0,Rt)],Ip);function Tv(t){return 0<=t&&t<256}var b3=5e7,Ev=12,x3=50,C3=class extends re{constructor(t){super(),this._action=t,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this._register(new L),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(t,e){if(e!==void 0&&this._syncCalls>e){this._syncCalls=0;return}if(this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;this._isSyncWriting=!0;let i;for(;i=this._writeBuffer.shift();){this._action(i);let r=this._callbacks.shift();r&&r()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(t,e){if(this._pendingData>b3)throw new Error("write data discarded, use flow control to avoid losing data");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput){this._didUserInput=!1,this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(e),this._innerWrite();return}setTimeout(()=>this._innerWrite())}this._pendingData+=t.length,this._writeBuffer.push(t),this._callbacks.push(e)}_innerWrite(t=0,e=!0){let i=t||performance.now();for(;this._writeBuffer.length>this._bufferOffset;){let r=this._writeBuffer[this._bufferOffset],s=this._action(r,e);if(s){let o=l=>performance.now()-i>=Ev?setTimeout(()=>this._innerWrite(0,l)):this._innerWrite(i,l);s.catch(l=>(queueMicrotask(()=>{throw l}),Promise.resolve(!1))).then(o);return}let n=this._callbacks[this._bufferOffset];if(n&&n(),this._bufferOffset++,this._pendingData-=r.length,performance.now()-i>=Ev)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>x3&&(this._writeBuffer=this._writeBuffer.slice(this._bufferOffset),this._callbacks=this._callbacks.slice(this._bufferOffset),this._bufferOffset=0),setTimeout(()=>this._innerWrite())):(this._writeBuffer.length=0,this._callbacks.length=0,this._pendingData=0,this._bufferOffset=0),this._onWriteParsed.fire()}},Np=class{constructor(t){this._bufferService=t,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(t){let e=this._bufferService.buffer;if(t.id===void 0){let l=e.addMarker(e.ybase+e.y),a={data:t,id:this._nextId++,lines:[l]};return l.onDispose(()=>this._removeMarkerFromLink(a,l)),this._dataByLinkId.set(a.id,a),a.id}let i=t,r=this._getEntryIdKey(i),s=this._entriesWithId.get(r);if(s)return this.addLineToLink(s.id,e.ybase+e.y),s.id;let n=e.addMarker(e.ybase+e.y),o={id:this._nextId++,key:this._getEntryIdKey(i),data:i,lines:[n]};return n.onDispose(()=>this._removeMarkerFromLink(o,n)),this._entriesWithId.set(o.key,o),this._dataByLinkId.set(o.id,o),o.id}addLineToLink(t,e){let i=this._dataByLinkId.get(t);if(i&&i.lines.every(r=>r.line!==e)){let r=this._bufferService.buffer.addMarker(e);i.lines.push(r),r.onDispose(()=>this._removeMarkerFromLink(i,r))}}getLinkData(t){var e;return(e=this._dataByLinkId.get(t))==null?void 0:e.data}_getEntryIdKey(t){return`${t.id};;${t.uri}`}_removeMarkerFromLink(t,e){let i=t.lines.indexOf(e);i!==-1&&(t.lines.splice(i,1),t.lines.length===0&&(t.data.id!==void 0&&this._entriesWithId.delete(t.key),this._dataByLinkId.delete(t.id)))}};Np=De([N(0,Rt)],Np);var Rv=!1,P3=class extends re{constructor(t){super(),this._windowsWrappingHeuristics=this._register(new Vn),this._onBinary=this._register(new L),this.onBinary=this._onBinary.event,this._onData=this._register(new L),this.onData=this._onData.event,this._onLineFeed=this._register(new L),this.onLineFeed=this._onLineFeed.event,this._onResize=this._register(new L),this.onResize=this._onResize.event,this._onWriteParsed=this._register(new L),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this._register(new L),this._instantiationService=new GL,this.optionsService=this._register(new l3(t)),this._instantiationService.setService(At,this.optionsService),this._bufferService=this._register(this._instantiationService.createInstance(Bp)),this._instantiationService.setService(Rt,this._bufferService),this._logService=this._register(this._instantiationService.createInstance(Dp)),this._instantiationService.setService(xb,this._logService),this.coreService=this._register(this._instantiationService.createInstance(zp)),this._instantiationService.setService(Vs,this.coreService),this.coreMouseService=this._register(this._instantiationService.createInstance(Zp)),this._instantiationService.setService(bb,this.coreMouseService),this.unicodeService=this._register(this._instantiationService.createInstance($s)),this._instantiationService.setService(qA,this.unicodeService),this._charsetService=this._instantiationService.createInstance(f3),this._instantiationService.setService(YA,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(Np),this._instantiationService.setService(Cb,this._oscLinkService),this._inputHandler=this._register(new k3(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this._register(ut.forward(this._inputHandler.onLineFeed,this._onLineFeed)),this._register(this._inputHandler),this._register(ut.forward(this._bufferService.onResize,this._onResize)),this._register(ut.forward(this.coreService.onData,this._onData)),this._register(ut.forward(this.coreService.onBinary,this._onBinary)),this._register(this.coreService.onRequestScrollToBottom(()=>this.scrollToBottom(!0))),this._register(this.coreService.onUserInput(()=>this._writeBuffer.handleUserInput())),this._register(this.optionsService.onMultipleOptionChange(["windowsMode","windowsPty"],()=>this._handleWindowsPtyOptionChange())),this._register(this._bufferService.onScroll(()=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)})),this._writeBuffer=this._register(new C3((e,i)=>this._inputHandler.parse(e,i))),this._register(ut.forward(this._writeBuffer.onWriteParsed,this._onWriteParsed))}get onScroll(){return this._onScrollApi||(this._onScrollApi=this._register(new L),this._onScroll.event(t=>{var e;(e=this._onScrollApi)==null||e.fire(t.position)})),this._onScrollApi.event}get cols(){return this._bufferService.cols}get rows(){return this._bufferService.rows}get buffers(){return this._bufferService.buffers}get options(){return this.optionsService.options}set options(t){for(let e in t)this.optionsService.options[e]=t[e]}write(t,e){this._writeBuffer.write(t,e)}writeSync(t,e){this._logService.logLevel<=3&&!Rv&&(this._logService.warn("writeSync is unreliable and will be removed soon."),Rv=!0),this._writeBuffer.writeSync(t,e)}input(t,e=!0){this.coreService.triggerDataEvent(t,e)}resize(t,e){isNaN(t)||isNaN(e)||(t=Math.max(t,sx),e=Math.max(e,nx),this._bufferService.resize(t,e))}scroll(t,e=!1){this._bufferService.scroll(t,e)}scrollLines(t,e){this._bufferService.scrollLines(t,e)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let e=t-this._bufferService.buffer.ydisp;e!==0&&this.scrollLines(e)}registerEscHandler(t,e){return this._inputHandler.registerEscHandler(t,e)}registerDcsHandler(t,e){return this._inputHandler.registerDcsHandler(t,e)}registerCsiHandler(t,e){return this._inputHandler.registerCsiHandler(t,e)}registerOscHandler(t,e){return this._inputHandler.registerOscHandler(t,e)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let t=!1,e=this.optionsService.rawOptions.windowsPty;e&&e.buildNumber!==void 0&&e.buildNumber!==void 0?t=e.backend==="conpty"&&e.buildNumber<21376:this.optionsService.rawOptions.windowsMode&&(t=!0),t?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){let t=[];t.push(this.onLineFeed(kv.bind(null,this._bufferService))),t.push(this.registerCsiHandler({final:"H"},()=>(kv(this._bufferService),!1))),this._windowsWrappingHeuristics.value=Pe(()=>{for(let e of t)e.dispose()})}}},$3={48:["0",")"],49:["1","!"],50:["2","@"],51:["3","#"],52:["4","$"],53:["5","%"],54:["6","^"],55:["7","&"],56:["8","*"],57:["9","("],186:[";",":"],187:["=","+"],188:[",","<"],189:["-","_"],190:[".",">"],191:["/","?"],192:["`","~"],219:["[","{"],220:["\\","|"],221:["]","}"],222:["'",'"']};function Q3(t,e,i,r){var o;let s={type:0,cancel:!1,key:void 0},n=(t.shiftKey?1:0)|(t.altKey?2:0)|(t.ctrlKey?4:0)|(t.metaKey?8:0);switch(t.keyCode){case 0:t.key==="UIKeyInputUpArrow"?e?s.key=Q.ESC+"OA":s.key=Q.ESC+"[A":t.key==="UIKeyInputLeftArrow"?e?s.key=Q.ESC+"OD":s.key=Q.ESC+"[D":t.key==="UIKeyInputRightArrow"?e?s.key=Q.ESC+"OC":s.key=Q.ESC+"[C":t.key==="UIKeyInputDownArrow"&&(e?s.key=Q.ESC+"OB":s.key=Q.ESC+"[B");break;case 8:s.key=t.ctrlKey?"\b":Q.DEL,t.altKey&&(s.key=Q.ESC+s.key);break;case 9:if(t.shiftKey){s.key=Q.ESC+"[Z";break}s.key=Q.HT,s.cancel=!0;break;case 13:s.key=t.altKey?Q.ESC+Q.CR:Q.CR,s.cancel=!0;break;case 27:s.key=Q.ESC,t.altKey&&(s.key=Q.ESC+Q.ESC),s.cancel=!0;break;case 37:if(t.metaKey)break;n?s.key=Q.ESC+"[1;"+(n+1)+"D":e?s.key=Q.ESC+"OD":s.key=Q.ESC+"[D";break;case 39:if(t.metaKey)break;n?s.key=Q.ESC+"[1;"+(n+1)+"C":e?s.key=Q.ESC+"OC":s.key=Q.ESC+"[C";break;case 38:if(t.metaKey)break;n?s.key=Q.ESC+"[1;"+(n+1)+"A":e?s.key=Q.ESC+"OA":s.key=Q.ESC+"[A";break;case 40:if(t.metaKey)break;n?s.key=Q.ESC+"[1;"+(n+1)+"B":e?s.key=Q.ESC+"OB":s.key=Q.ESC+"[B";break;case 45:!t.shiftKey&&!t.ctrlKey&&(s.key=Q.ESC+"[2~");break;case 46:n?s.key=Q.ESC+"[3;"+(n+1)+"~":s.key=Q.ESC+"[3~";break;case 36:n?s.key=Q.ESC+"[1;"+(n+1)+"H":e?s.key=Q.ESC+"OH":s.key=Q.ESC+"[H";break;case 35:n?s.key=Q.ESC+"[1;"+(n+1)+"F":e?s.key=Q.ESC+"OF":s.key=Q.ESC+"[F";break;case 33:t.shiftKey?s.type=2:t.ctrlKey?s.key=Q.ESC+"[5;"+(n+1)+"~":s.key=Q.ESC+"[5~";break;case 34:t.shiftKey?s.type=3:t.ctrlKey?s.key=Q.ESC+"[6;"+(n+1)+"~":s.key=Q.ESC+"[6~";break;case 112:n?s.key=Q.ESC+"[1;"+(n+1)+"P":s.key=Q.ESC+"OP";break;case 113:n?s.key=Q.ESC+"[1;"+(n+1)+"Q":s.key=Q.ESC+"OQ";break;case 114:n?s.key=Q.ESC+"[1;"+(n+1)+"R":s.key=Q.ESC+"OR";break;case 115:n?s.key=Q.ESC+"[1;"+(n+1)+"S":s.key=Q.ESC+"OS";break;case 116:n?s.key=Q.ESC+"[15;"+(n+1)+"~":s.key=Q.ESC+"[15~";break;case 117:n?s.key=Q.ESC+"[17;"+(n+1)+"~":s.key=Q.ESC+"[17~";break;case 118:n?s.key=Q.ESC+"[18;"+(n+1)+"~":s.key=Q.ESC+"[18~";break;case 119:n?s.key=Q.ESC+"[19;"+(n+1)+"~":s.key=Q.ESC+"[19~";break;case 120:n?s.key=Q.ESC+"[20;"+(n+1)+"~":s.key=Q.ESC+"[20~";break;case 121:n?s.key=Q.ESC+"[21;"+(n+1)+"~":s.key=Q.ESC+"[21~";break;case 122:n?s.key=Q.ESC+"[23;"+(n+1)+"~":s.key=Q.ESC+"[23~";break;case 123:n?s.key=Q.ESC+"[24;"+(n+1)+"~":s.key=Q.ESC+"[24~";break;default:if(t.ctrlKey&&!t.shiftKey&&!t.altKey&&!t.metaKey)t.keyCode>=65&&t.keyCode<=90?s.key=String.fromCharCode(t.keyCode-64):t.keyCode===32?s.key=Q.NUL:t.keyCode>=51&&t.keyCode<=55?s.key=String.fromCharCode(t.keyCode-51+27):t.keyCode===56?s.key=Q.DEL:t.keyCode===219?s.key=Q.ESC:t.keyCode===220?s.key=Q.FS:t.keyCode===221&&(s.key=Q.GS);else if((!i||r)&&t.altKey&&!t.metaKey){let l=(o=$3[t.keyCode])==null?void 0:o[t.shiftKey?1:0];if(l)s.key=Q.ESC+l;else if(t.keyCode>=65&&t.keyCode<=90){let a=t.ctrlKey?t.keyCode-64:t.keyCode+32,h=String.fromCharCode(a);t.shiftKey&&(h=h.toUpperCase()),s.key=Q.ESC+h}else if(t.keyCode===32)s.key=Q.ESC+(t.ctrlKey?Q.NUL:" ");else if(t.key==="Dead"&&t.code.startsWith("Key")){let a=t.code.slice(3,4);t.shiftKey||(a=a.toLowerCase()),s.key=Q.ESC+a,s.cancel=!0}}else i&&!t.altKey&&!t.ctrlKey&&!t.shiftKey&&t.metaKey?t.keyCode===65&&(s.type=1):t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.keyCode>=48&&t.key.length===1?s.key=t.key:t.key&&t.ctrlKey&&(t.key==="_"&&(s.key=Q.US),t.key==="@"&&(s.key=Q.NUL));break}return s}var ze=0,T3=class{constructor(t){this._getKey=t,this._array=[],this._insertedValues=[],this._flushInsertedTask=new pc,this._isFlushingInserted=!1,this._deletedIndices=[],this._flushDeletedTask=new pc,this._isFlushingDeleted=!1}clear(){this._array.length=0,this._insertedValues.length=0,this._flushInsertedTask.clear(),this._isFlushingInserted=!1,this._deletedIndices.length=0,this._flushDeletedTask.clear(),this._isFlushingDeleted=!1}insert(t){this._flushCleanupDeleted(),this._insertedValues.length===0&&this._flushInsertedTask.enqueue(()=>this._flushInserted()),this._insertedValues.push(t)}_flushInserted(){let t=this._insertedValues.sort((s,n)=>this._getKey(s)-this._getKey(n)),e=0,i=0,r=new Array(this._array.length+this._insertedValues.length);for(let s=0;s=this._array.length||this._getKey(t[e])<=this._getKey(this._array[i])?(r[s]=t[e],e++):r[s]=this._array[i++];this._array=r,this._insertedValues.length=0}_flushCleanupInserted(){!this._isFlushingInserted&&this._insertedValues.length>0&&this._flushInsertedTask.flush()}delete(t){if(this._flushCleanupInserted(),this._array.length===0)return!1;let e=this._getKey(t);if(e===void 0||(ze=this._search(e),ze===-1)||this._getKey(this._array[ze])!==e)return!1;do if(this._array[ze]===t)return this._deletedIndices.length===0&&this._flushDeletedTask.enqueue(()=>this._flushDeleted()),this._deletedIndices.push(ze),!0;while(++zes-n),e=0,i=new Array(this._array.length-t.length),r=0;for(let s=0;s0&&this._flushDeletedTask.flush()}*getKeyIterator(t){if(this._flushCleanupInserted(),this._flushCleanupDeleted(),this._array.length!==0&&(ze=this._search(t),!(ze<0||ze>=this._array.length)&&this._getKey(this._array[ze])===t))do yield this._array[ze];while(++ze=this._array.length)&&this._getKey(this._array[ze])===t))do e(this._array[ze]);while(++ze=e;){let r=e+i>>1,s=this._getKey(this._array[r]);if(s>t)i=r-1;else if(s0&&this._getKey(this._array[r-1])===t;)r--;return r}}return e}},Of=0,Av=0,E3=class extends re{constructor(){super(),this._decorations=new T3(t=>t==null?void 0:t.marker.line),this._onDecorationRegistered=this._register(new L),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this._register(new L),this.onDecorationRemoved=this._onDecorationRemoved.event,this._register(Pe(()=>this.reset()))}get decorations(){return this._decorations.values()}registerDecoration(t){if(t.marker.isDisposed)return;let e=new R3(t);if(e){let i=e.marker.onDispose(()=>e.dispose()),r=e.onDispose(()=>{r.dispose(),e&&(this._decorations.delete(e)&&this._onDecorationRemoved.fire(e),i.dispose())});this._decorations.insert(e),this._onDecorationRegistered.fire(e)}return e}reset(){for(let t of this._decorations.values())t.dispose();this._decorations.clear()}*getDecorationsAtCell(t,e,i){let r=0,s=0;for(let n of this._decorations.getKeyIterator(e))r=n.options.x??0,s=r+(n.options.width??1),t>=r&&t{Of=s.options.x??0,Av=Of+(s.options.width??1),t>=Of&&t=this._debounceThresholdMS)this._lastRefreshMs=r,this._innerRefresh();else if(!this._additionalRefreshRequested){let s=r-this._lastRefreshMs,n=this._debounceThresholdMS-s;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout(()=>{this._lastRefreshMs=performance.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0},n)}}_innerRefresh(){if(this._rowStart===void 0||this._rowEnd===void 0||this._rowCount===void 0)return;let t=Math.max(this._rowStart,0),e=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(t,e)}},Mv=20,gc=class extends re{constructor(t,e,i,r){super(),this._terminal=t,this._coreBrowserService=i,this._renderService=r,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce="";let s=this._coreBrowserService.mainDocument;this._accessibilityContainer=s.createElement("div"),this._accessibilityContainer.classList.add("xterm-accessibility"),this._rowContainer=s.createElement("div"),this._rowContainer.setAttribute("role","list"),this._rowContainer.classList.add("xterm-accessibility-tree"),this._rowElements=[];for(let n=0;nthis._handleBoundaryFocus(n,0),this._bottomBoundaryFocusListener=n=>this._handleBoundaryFocus(n,1),this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=s.createElement("div"),this._liveRegion.classList.add("live-region"),this._liveRegion.setAttribute("aria-live","assertive"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this._register(new M3(this._renderRows.bind(this))),!this._terminal.element)throw new Error("Cannot enable accessibility before Terminal.open");this._terminal.element.insertAdjacentElement("afterbegin",this._accessibilityContainer),this._register(this._terminal.onResize(n=>this._handleResize(n.rows))),this._register(this._terminal.onRender(n=>this._refreshRows(n.start,n.end))),this._register(this._terminal.onScroll(()=>this._refreshRows())),this._register(this._terminal.onA11yChar(n=>this._handleChar(n))),this._register(this._terminal.onLineFeed(()=>this._handleChar(` +`))),this._register(this._terminal.onA11yTab(n=>this._handleTab(n))),this._register(this._terminal.onKey(n=>this._handleKey(n.key))),this._register(this._terminal.onBlur(()=>this._clearLiveRegion())),this._register(this._renderService.onDimensionsChange(()=>this._refreshRowsDimensions())),this._register(K(s,"selectionchange",()=>this._handleSelectionChange())),this._register(this._coreBrowserService.onDprChange(()=>this._refreshRowsDimensions())),this._refreshRowsDimensions(),this._refreshRows(),this._register(Pe(()=>{this._accessibilityContainer.remove(),this._rowElements.length=0}))}_handleTab(t){for(let e=0;e0?this._charsToConsume.shift()!==t&&(this._charsToAnnounce+=t):this._charsToAnnounce+=t,t===` +`&&(this._liveRegionLineCount++,this._liveRegionLineCount===Mv+1&&(this._liveRegion.textContent+=ap.get())))}_clearLiveRegion(){this._liveRegion.textContent="",this._liveRegionLineCount=0}_handleKey(t){this._clearLiveRegion(),new RegExp("\\p{Control}","u").test(t)||this._charsToConsume.push(t)}_refreshRows(t,e){this._liveRegionDebouncer.refresh(t,e,this._terminal.rows)}_renderRows(t,e){let i=this._terminal.buffer,r=i.lines.length.toString();for(let s=t;s<=e;s++){let n=i.lines.get(i.ydisp+s),o=[],l=(n==null?void 0:n.translateToString(!0,void 0,void 0,o))||"",a=(i.ydisp+s+1).toString(),h=this._rowElements[s];h&&(l.length===0?(h.textContent=" ",this._rowColumns.set(h,[0,1])):(h.textContent=l,this._rowColumns.set(h,o)),h.setAttribute("aria-posinset",a),h.setAttribute("aria-setsize",r),this._alignRowWidth(h))}this._announceCharacters()}_announceCharacters(){this._charsToAnnounce.length!==0&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce="")}_handleBoundaryFocus(t,e){let i=t.target,r=this._rowElements[e===0?1:this._rowElements.length-2],s=i.getAttribute("aria-posinset"),n=e===0?"1":`${this._terminal.buffer.lines.length}`;if(s===n||t.relatedTarget!==r)return;let o,l;if(e===0?(o=i,l=this._rowElements.pop(),this._rowContainer.removeChild(l)):(o=this._rowElements.shift(),l=i,this._rowContainer.removeChild(o)),o.removeEventListener("focus",this._topBoundaryFocusListener),l.removeEventListener("focus",this._bottomBoundaryFocusListener),e===0){let a=this._createAccessibilityTreeNode();this._rowElements.unshift(a),this._rowContainer.insertAdjacentElement("afterbegin",a)}else{let a=this._createAccessibilityTreeNode();this._rowElements.push(a),this._rowContainer.appendChild(a)}this._rowElements[0].addEventListener("focus",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._terminal.scrollLines(e===0?-1:1),this._rowElements[e===0?1:this._rowElements.length-2].focus(),t.preventDefault(),t.stopImmediatePropagation()}_handleSelectionChange(){var l;if(this._rowElements.length===0)return;let t=this._coreBrowserService.mainDocument.getSelection();if(!t)return;if(t.isCollapsed){this._rowContainer.contains(t.anchorNode)&&this._terminal.clearSelection();return}if(!t.anchorNode||!t.focusNode){console.error("anchorNode and/or focusNode are null");return}let e={node:t.anchorNode,offset:t.anchorOffset},i={node:t.focusNode,offset:t.focusOffset};if((e.node.compareDocumentPosition(i.node)&Node.DOCUMENT_POSITION_PRECEDING||e.node===i.node&&e.offset>i.offset)&&([e,i]=[i,e]),e.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(e={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(e.node))return;let r=this._rowElements.slice(-1)[0];if(i.node.compareDocumentPosition(r)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(i={node:r,offset:((l=r.textContent)==null?void 0:l.length)??0}),!this._rowContainer.contains(i.node))return;let s=({node:a,offset:h})=>{let c=a instanceof Text?a.parentNode:a,u=parseInt(c==null?void 0:c.getAttribute("aria-posinset"),10)-1;if(isNaN(u))return console.warn("row is invalid. Race condition?"),null;let f=this._rowColumns.get(c);if(!f)return console.warn("columns is null. Race condition?"),null;let d=h=this._terminal.cols&&(++u,d=0),{row:u,column:d}},n=s(e),o=s(i);if(!(!n||!o)){if(n.row>o.row||n.row===o.row&&n.column>=o.column)throw new Error("invalid range");this._terminal.select(n.column,n.row,(o.row-n.row)*this._terminal.cols-n.column+o.column)}}_handleResize(t){this._rowElements[this._rowElements.length-1].removeEventListener("focus",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;et;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener("focus",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){let t=this._coreBrowserService.mainDocument.createElement("div");return t.setAttribute("role","listitem"),t.tabIndex=-1,this._refreshRowDimensions(t),t}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){Object.assign(this._accessibilityContainer.style,{width:`${this._renderService.dimensions.css.canvas.width}px`,fontSize:`${this._terminal.options.fontSize}px`}),this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let t=0;t{var n;Is(this._linkCacheDisposables),this._linkCacheDisposables.length=0,this._lastMouseEvent=void 0,(n=this._activeProviderReplies)==null||n.clear()})),this._register(this._bufferService.onResize(()=>{this._clearCurrentLink(),this._wasResized=!0})),this._register(K(this._element,"mouseleave",()=>{this._isMouseOut=!0,this._clearCurrentLink()})),this._register(K(this._element,"mousemove",this._handleMouseMove.bind(this))),this._register(K(this._element,"mousedown",this._handleMouseDown.bind(this))),this._register(K(this._element,"mouseup",this._handleMouseUp.bind(this)))}get currentLink(){return this._currentLink}_handleMouseMove(t){this._lastMouseEvent=t;let e=this._positionFromMouseEvent(t,this._element,this._mouseService);if(!e)return;this._isMouseOut=!1;let i=t.composedPath();for(let r=0;r{n==null||n.forEach(o=>{o.link.dispose&&o.link.dispose()})}),this._activeProviderReplies=new Map,this._activeLine=t.y);let i=!1;for(let[n,o]of this._linkProviderService.linkProviders.entries())e?(s=this._activeProviderReplies)!=null&&s.get(n)&&(i=this._checkLinkProviderResult(n,t,i)):o.provideLinks(t.y,l=>{var h,c;if(this._isMouseOut)return;let a=l==null?void 0:l.map(u=>({link:u}));(h=this._activeProviderReplies)==null||h.set(n,a),i=this._checkLinkProviderResult(n,t,i),((c=this._activeProviderReplies)==null?void 0:c.size)===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(t.y,this._activeProviderReplies)})}_removeIntersectingLinks(t,e){let i=new Set;for(let r=0;rt?this._bufferService.cols:o.link.range.end.x;for(let h=l;h<=a;h++){if(i.has(h)){s.splice(n--,1);break}i.add(h)}}}}_checkLinkProviderResult(t,e,i){var n;if(!this._activeProviderReplies)return i;let r=this._activeProviderReplies.get(t),s=!1;for(let o=0;othis._linkAtPosition(l.link,e));o&&(i=!0,this._handleNewLink(o))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!i)for(let o=0;othis._linkAtPosition(a.link,e));if(l){i=!0,this._handleNewLink(l);break}}return i}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(t){if(!this._currentLink)return;let e=this._positionFromMouseEvent(t,this._element,this._mouseService);e&&this._mouseDownLink&&L3(this._mouseDownLink.link,this._currentLink.link)&&this._linkAtPosition(this._currentLink.link,e)&&this._currentLink.link.activate(t,this._currentLink.link.text)}_clearCurrentLink(t,e){!this._currentLink||!this._lastMouseEvent||(!t||!e||this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=e)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,Is(this._linkCacheDisposables),this._linkCacheDisposables.length=0)}_handleNewLink(t){if(!this._lastMouseEvent)return;let e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._linkAtPosition(t.link,e)&&(this._currentLink=t,this._currentLink.state={decorations:{underline:t.link.decorations===void 0?!0:t.link.decorations.underline,pointerCursor:t.link.decorations===void 0?!0:t.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,t.link,this._lastMouseEvent),t.link.decorations={},Object.defineProperties(t.link.decorations,{pointerCursor:{get:()=>{var i,r;return(r=(i=this._currentLink)==null?void 0:i.state)==null?void 0:r.decorations.pointerCursor},set:i=>{var r;(r=this._currentLink)!=null&&r.state&&this._currentLink.state.decorations.pointerCursor!==i&&(this._currentLink.state.decorations.pointerCursor=i,this._currentLink.state.isHovered&&this._element.classList.toggle("xterm-cursor-pointer",i))}},underline:{get:()=>{var i,r;return(r=(i=this._currentLink)==null?void 0:i.state)==null?void 0:r.decorations.underline},set:i=>{var r,s,n;(r=this._currentLink)!=null&&r.state&&((n=(s=this._currentLink)==null?void 0:s.state)==null?void 0:n.decorations.underline)!==i&&(this._currentLink.state.decorations.underline=i,this._currentLink.state.isHovered&&this._fireUnderlineEvent(t.link,i))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange(i=>{if(!this._currentLink)return;let r=i.start===0?0:i.start+1+this._bufferService.buffer.ydisp,s=this._bufferService.buffer.ydisp+1+i.end;if(this._currentLink.link.range.start.y>=r&&this._currentLink.link.range.end.y<=s&&(this._clearCurrentLink(r,s),this._lastMouseEvent)){let n=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);n&&this._askForLink(n,!1)}})))}_linkHover(t,e,i){var r;(r=this._currentLink)!=null&&r.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!0),this._currentLink.state.decorations.pointerCursor&&t.classList.add("xterm-cursor-pointer")),e.hover&&e.hover(i,e.text)}_fireUnderlineEvent(t,e){let i=t.range,r=this._bufferService.buffer.ydisp,s=this._createLinkUnderlineEvent(i.start.x-1,i.start.y-r-1,i.end.x,i.end.y-r-1,void 0);(e?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(s)}_linkLeave(t,e,i){var r;(r=this._currentLink)!=null&&r.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(e,!1),this._currentLink.state.decorations.pointerCursor&&t.classList.remove("xterm-cursor-pointer")),e.leave&&e.leave(i,e.text)}_linkAtPosition(t,e){let i=t.range.start.y*this._bufferService.cols+t.range.start.x,r=t.range.end.y*this._bufferService.cols+t.range.end.x,s=e.y*this._bufferService.cols+e.x;return i<=s&&s<=r}_positionFromMouseEvent(t,e,i){let r=i.getCoords(t,e,this._bufferService.cols,this._bufferService.rows);if(r)return{x:r[0],y:r[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(t,e,i,r,s){return{x1:t,y1:e,x2:i,y2:r,cols:this._bufferService.cols,fg:s}}};Wp=De([N(1,km),N(2,$r),N(3,Rt),N(4,$b)],Wp);function L3(t,e){return t.text===e.text&&t.range.start.x===e.range.start.x&&t.range.start.y===e.range.start.y&&t.range.end.x===e.range.end.x&&t.range.end.y===e.range.end.y}var D3=class extends P3{constructor(t={}){super(t),this._linkifier=this._register(new Vn),this.browser=qb,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this._register(new Vn),this._onCursorMove=this._register(new L),this.onCursorMove=this._onCursorMove.event,this._onKey=this._register(new L),this.onKey=this._onKey.event,this._onRender=this._register(new L),this.onRender=this._onRender.event,this._onSelectionChange=this._register(new L),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this._register(new L),this.onTitleChange=this._onTitleChange.event,this._onBell=this._register(new L),this.onBell=this._onBell.event,this._onFocus=this._register(new L),this._onBlur=this._register(new L),this._onA11yCharEmitter=this._register(new L),this._onA11yTabEmitter=this._register(new L),this._onWillOpen=this._register(new L),this._setup(),this._decorationService=this._instantiationService.createInstance(E3),this._instantiationService.setService(Ul,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(xL),this._instantiationService.setService($b,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(cp)),this._register(this._inputHandler.onRequestBell(()=>this._onBell.fire())),this._register(this._inputHandler.onRequestRefreshRows(e=>this.refresh((e==null?void 0:e.start)??0,(e==null?void 0:e.end)??this.rows-1))),this._register(this._inputHandler.onRequestSendFocus(()=>this._reportFocus())),this._register(this._inputHandler.onRequestReset(()=>this.reset())),this._register(this._inputHandler.onRequestWindowsOptionsReport(e=>this._reportWindowsOptions(e))),this._register(this._inputHandler.onColor(e=>this._handleColorEvent(e))),this._register(ut.forward(this._inputHandler.onCursorMove,this._onCursorMove)),this._register(ut.forward(this._inputHandler.onTitleChange,this._onTitleChange)),this._register(ut.forward(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this._register(ut.forward(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this._register(this._bufferService.onResize(e=>this._afterResize(e.cols,e.rows))),this._register(Pe(()=>{var e,i;this._customKeyEventHandler=void 0,(i=(e=this.element)==null?void 0:e.parentNode)==null||i.removeChild(this.element)}))}get linkifier(){return this._linkifier.value}get onFocus(){return this._onFocus.event}get onBlur(){return this._onBlur.event}get onA11yChar(){return this._onA11yCharEmitter.event}get onA11yTab(){return this._onA11yTabEmitter.event}get onWillOpen(){return this._onWillOpen.event}_handleColorEvent(t){if(this._themeService)for(let e of t){let i,r="";switch(e.index){case 256:i="foreground",r="10";break;case 257:i="background",r="11";break;case 258:i="cursor",r="12";break;default:i="ansi",r="4;"+e.index}switch(e.type){case 0:let s=ke.toColorRGB(i==="ansi"?this._themeService.colors.ansi[e.index]:this._themeService.colors[i]);this.coreService.triggerDataEvent(`${Q.ESC}]${r};${y3(s)}${Vb.ST}`);break;case 1:if(i==="ansi")this._themeService.modifyColors(n=>n.ansi[e.index]=We.toColor(...e.color));else{let n=i;this._themeService.modifyColors(o=>o[n]=We.toColor(...e.color))}break;case 2:this._themeService.restoreColor(e.index);break}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(t){t?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(gc,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(t){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Q.ESC+"[I"),this.element.classList.add("focus"),this._showCursor(),this._onFocus.fire()}blur(){var t;return(t=this.textarea)==null?void 0:t.blur()}_handleTextAreaBlur(){this.textarea.value="",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(Q.ESC+"[O"),this.element.classList.remove("focus"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;let t=this.buffer.ybase+this.buffer.y,e=this.buffer.lines.get(t);if(!e)return;let i=Math.min(this.buffer.x,this.cols-1),r=this._renderService.dimensions.css.cell.height,s=e.getWidth(i),n=this._renderService.dimensions.css.cell.width*s,o=this.buffer.y*this._renderService.dimensions.css.cell.height,l=i*this._renderService.dimensions.css.cell.width;this.textarea.style.left=l+"px",this.textarea.style.top=o+"px",this.textarea.style.width=n+"px",this.textarea.style.height=r+"px",this.textarea.style.lineHeight=r+"px",this.textarea.style.zIndex="-5"}_initGlobal(){this._bindKeys(),this._register(K(this.element,"copy",e=>{this.hasSelection()&&XA(e,this._selectionService)}));let t=e=>IA(e,this.textarea,this.coreService,this.optionsService);this._register(K(this.textarea,"paste",t)),this._register(K(this.element,"paste",t)),Fb?this._register(K(this.element,"mousedown",e=>{e.button===2&&j0(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})):this._register(K(this.element,"contextmenu",e=>{j0(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)})),Em&&this._register(K(this.element,"auxclick",e=>{e.button===1&&vb(e,this.textarea,this.screenElement)}))}_bindKeys(){this._register(K(this.textarea,"keyup",t=>this._keyUp(t),!0)),this._register(K(this.textarea,"keydown",t=>this._keyDown(t),!0)),this._register(K(this.textarea,"keypress",t=>this._keyPress(t),!0)),this._register(K(this.textarea,"compositionstart",()=>this._compositionHelper.compositionstart())),this._register(K(this.textarea,"compositionupdate",t=>this._compositionHelper.compositionupdate(t))),this._register(K(this.textarea,"compositionend",()=>this._compositionHelper.compositionend())),this._register(K(this.textarea,"input",t=>this._inputEvent(t),!0)),this._register(this.onRender(()=>this._compositionHelper.updateCompositionElements()))}open(t){var s;if(!t)throw new Error("Terminal requires a parent element.");if(t.isConnected||this._logService.debug("Terminal.open was called on an element that was not attached to the DOM"),((s=this.element)==null?void 0:s.ownerDocument.defaultView)&&this._coreBrowserService){this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView);return}this._document=t.ownerDocument,this.options.documentOverride&&this.options.documentOverride instanceof Document&&(this._document=this.optionsService.rawOptions.documentOverride),this.element=this._document.createElement("div"),this.element.dir="ltr",this.element.classList.add("terminal"),this.element.classList.add("xterm"),t.appendChild(this.element);let e=this._document.createDocumentFragment();this._viewportElement=this._document.createElement("div"),this._viewportElement.classList.add("xterm-viewport"),e.appendChild(this._viewportElement),this.screenElement=this._document.createElement("div"),this.screenElement.classList.add("xterm-screen"),this._register(K(this.screenElement,"mousemove",n=>this.updateCursorStyle(n))),this._helperContainer=this._document.createElement("div"),this._helperContainer.classList.add("xterm-helpers"),this.screenElement.appendChild(this._helperContainer),e.appendChild(this.screenElement);let i=this.textarea=this._document.createElement("textarea");this.textarea.classList.add("xterm-helper-textarea"),this.textarea.setAttribute("aria-label",lp.get()),Gb||this.textarea.setAttribute("aria-multiline","false"),this.textarea.setAttribute("autocorrect","off"),this.textarea.setAttribute("autocapitalize","off"),this.textarea.setAttribute("spellcheck","false"),this.textarea.tabIndex=0,this._register(this.optionsService.onSpecificOptionChange("disableStdin",()=>i.readOnly=this.optionsService.rawOptions.disableStdin)),this.textarea.readOnly=this.optionsService.rawOptions.disableStdin,this._coreBrowserService=this._register(this._instantiationService.createInstance(kL,this.textarea,t.ownerDocument.defaultView??window,this._document??typeof window<"u"?window.document:null)),this._instantiationService.setService(Pr,this._coreBrowserService),this._register(K(this.textarea,"focus",n=>this._handleTextAreaFocus(n))),this._register(K(this.textarea,"blur",()=>this._handleTextAreaBlur())),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(Ep,this._document,this._helperContainer),this._instantiationService.setService(Fc,this._charSizeService),this._themeService=this._instantiationService.createInstance(Lp),this._instantiationService.setService(Kn,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(fc),this._instantiationService.setService(Pb,this._characterJoinerService),this._renderService=this._register(this._instantiationService.createInstance(Ap,this.rows,this.screenElement)),this._instantiationService.setService($r,this._renderService),this._register(this._renderService.onRenderedViewportChange(n=>this._onRender.fire(n))),this.onResize(n=>this._renderService.resize(n.cols,n.rows)),this._compositionView=this._document.createElement("div"),this._compositionView.classList.add("composition-view"),this._compositionHelper=this._instantiationService.createInstance($p,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(Rp),this._instantiationService.setService(km,this._mouseService);let r=this._linkifier.value=this._register(this._instantiationService.createInstance(Wp,this.screenElement));this.element.appendChild(e);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this._register(this.onCursorMove(()=>{this._renderService.handleCursorMove(),this._syncTextArea()})),this._register(this.onResize(()=>this._renderService.handleResize(this.cols,this.rows))),this._register(this.onBlur(()=>this._renderService.handleBlur())),this._register(this.onFocus(()=>this._renderService.handleFocus())),this._viewport=this._register(this._instantiationService.createInstance(Cp,this.element,this.screenElement)),this._register(this._viewport.onRequestScrollLines(n=>{super.scrollLines(n,!1),this.refresh(0,this.rows-1)})),this._selectionService=this._register(this._instantiationService.createInstance(Mp,this.element,this.screenElement,r)),this._instantiationService.setService(HA,this._selectionService),this._register(this._selectionService.onRequestScrollLines(n=>this.scrollLines(n.amount,n.suppressScrollEvent))),this._register(this._selectionService.onSelectionChange(()=>this._onSelectionChange.fire())),this._register(this._selectionService.onRequestRedraw(n=>this._renderService.handleSelectionChanged(n.start,n.end,n.columnSelectMode))),this._register(this._selectionService.onLinuxMouseSelection(n=>{this.textarea.value=n,this.textarea.focus(),this.textarea.select()})),this._register(ut.any(this._onScroll.event,this._inputHandler.onScroll)(()=>{var n;this._selectionService.refresh(),(n=this._viewport)==null||n.queueSync()})),this._register(this._instantiationService.createInstance(Pp,this.screenElement)),this._register(K(this.element,"mousedown",n=>this._selectionService.handleMouseDown(n))),this.coreMouseService.areMouseEventsActive?(this._selectionService.disable(),this.element.classList.add("enable-mouse-events")):this._selectionService.enable(),this.options.screenReaderMode&&(this._accessibilityManager.value=this._instantiationService.createInstance(gc,this)),this._register(this.optionsService.onSpecificOptionChange("screenReaderMode",n=>this._handleScreenReaderModeOptionChange(n))),this.options.overviewRuler.width&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(uc,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange("overviewRuler",n=>{!this._overviewRulerRenderer&&n&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this._register(this._instantiationService.createInstance(uc,this._viewportElement,this.screenElement)))}),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(Tp,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){let t=this,e=this.element;function i(n){var h,c,u,f,d;let o=t._mouseService.getMouseReportCoords(n,t.screenElement);if(!o)return!1;let l,a;switch(n.overrideType||n.type){case"mousemove":a=32,n.buttons===void 0?(l=3,n.button!==void 0&&(l=n.button<3?n.button:3)):l=n.buttons&1?0:n.buttons&4?1:n.buttons&2?2:3;break;case"mouseup":a=0,l=n.button<3?n.button:3;break;case"mousedown":a=1,l=n.button<3?n.button:3;break;case"wheel":if(t._customWheelEventHandler&&t._customWheelEventHandler(n)===!1)return!1;let p=n.deltaY;if(p===0||t.coreMouseService.consumeWheelEvent(n,(f=(u=(c=(h=t._renderService)==null?void 0:h.dimensions)==null?void 0:c.device)==null?void 0:u.cell)==null?void 0:f.height,(d=t._coreBrowserService)==null?void 0:d.dpr)===0)return!1;a=p<0?0:1,l=4;break;default:return!1}return a===void 0||l===void 0||l>4?!1:t.coreMouseService.triggerMouseEvent({col:o.col,row:o.row,x:o.x,y:o.y,button:l,action:a,ctrl:n.ctrlKey,alt:n.altKey,shift:n.shiftKey})}let r={mouseup:null,wheel:null,mousedrag:null,mousemove:null},s={mouseup:n=>(i(n),n.buttons||(this._document.removeEventListener("mouseup",r.mouseup),r.mousedrag&&this._document.removeEventListener("mousemove",r.mousedrag)),this.cancel(n)),wheel:n=>(i(n),this.cancel(n,!0)),mousedrag:n=>{n.buttons&&i(n)},mousemove:n=>{n.buttons||i(n)}};this._register(this.coreMouseService.onProtocolChange(n=>{n?(this.optionsService.rawOptions.logLevel==="debug"&&this._logService.debug("Binding to mouse events:",this.coreMouseService.explainEvents(n)),this.element.classList.add("enable-mouse-events"),this._selectionService.disable()):(this._logService.debug("Unbinding from mouse events."),this.element.classList.remove("enable-mouse-events"),this._selectionService.enable()),n&8?r.mousemove||(e.addEventListener("mousemove",s.mousemove),r.mousemove=s.mousemove):(e.removeEventListener("mousemove",r.mousemove),r.mousemove=null),n&16?r.wheel||(e.addEventListener("wheel",s.wheel,{passive:!1}),r.wheel=s.wheel):(e.removeEventListener("wheel",r.wheel),r.wheel=null),n&2?r.mouseup||(r.mouseup=s.mouseup):(this._document.removeEventListener("mouseup",r.mouseup),r.mouseup=null),n&4?r.mousedrag||(r.mousedrag=s.mousedrag):(this._document.removeEventListener("mousemove",r.mousedrag),r.mousedrag=null)})),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this._register(K(e,"mousedown",n=>{if(n.preventDefault(),this.focus(),!(!this.coreMouseService.areMouseEventsActive||this._selectionService.shouldForceSelection(n)))return i(n),r.mouseup&&this._document.addEventListener("mouseup",r.mouseup),r.mousedrag&&this._document.addEventListener("mousemove",r.mousedrag),this.cancel(n)})),this._register(K(e,"wheel",n=>{var o,l,a,h,c;if(!r.wheel){if(this._customWheelEventHandler&&this._customWheelEventHandler(n)===!1)return!1;if(!this.buffer.hasScrollback){if(n.deltaY===0)return!1;if(t.coreMouseService.consumeWheelEvent(n,(h=(a=(l=(o=t._renderService)==null?void 0:o.dimensions)==null?void 0:l.device)==null?void 0:a.cell)==null?void 0:h.height,(c=t._coreBrowserService)==null?void 0:c.dpr)===0)return this.cancel(n,!0);let u=Q.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?"O":"[")+(n.deltaY<0?"A":"B");return this.coreService.triggerDataEvent(u,!0),this.cancel(n,!0)}}},{passive:!1}))}refresh(t,e){var i;(i=this._renderService)==null||i.refreshRows(t,e)}updateCursorStyle(t){var e;(e=this._selectionService)!=null&&e.shouldColumnSelect(t)?this.element.classList.add("column-select"):this.element.classList.remove("column-select")}_showCursor(){this.coreService.isCursorInitialized||(this.coreService.isCursorInitialized=!0,this.refresh(this.buffer.y,this.buffer.y))}scrollLines(t,e){this._viewport?this._viewport.scrollLines(t):super.scrollLines(t,e),this.refresh(0,this.rows-1)}scrollPages(t){this.scrollLines(t*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(t){t&&this._viewport?this._viewport.scrollToLine(this.buffer.ybase,!0):this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(t){let e=t-this._bufferService.buffer.ydisp;e!==0&&this.scrollLines(e)}paste(t){_b(t,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(t){this._customKeyEventHandler=t}attachCustomWheelEventHandler(t){this._customWheelEventHandler=t}registerLinkProvider(t){return this._linkProviderService.registerLinkProvider(t)}registerCharacterJoiner(t){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");let e=this._characterJoinerService.register(t);return this.refresh(0,this.rows-1),e}deregisterCharacterJoiner(t){if(!this._characterJoinerService)throw new Error("Terminal must be opened first");this._characterJoinerService.deregister(t)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(t){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+t)}registerDecoration(t){return this._decorationService.registerDecoration(t)}hasSelection(){return this._selectionService?this._selectionService.hasSelection:!1}select(t,e,i){this._selectionService.setSelection(t,e,i)}getSelection(){return this._selectionService?this._selectionService.selectionText:""}getSelectionPosition(){if(!(!this._selectionService||!this._selectionService.hasSelection))return{start:{x:this._selectionService.selectionStart[0],y:this._selectionService.selectionStart[1]},end:{x:this._selectionService.selectionEnd[0],y:this._selectionService.selectionEnd[1]}}}clearSelection(){var t;(t=this._selectionService)==null||t.clearSelection()}selectAll(){var t;(t=this._selectionService)==null||t.selectAll()}selectLines(t,e){var i;(i=this._selectionService)==null||i.selectLines(t,e)}_keyDown(t){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;let e=this.browser.isMac&&this.options.macOptionIsMeta&&t.altKey;if(!e&&!this._compositionHelper.keydown(t))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(!0),!1;!e&&(t.key==="Dead"||t.key==="AltGraph")&&(this._unprocessedDeadKey=!0);let i=Q3(t,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(t),i.type===3||i.type===2){let r=this.rows-1;return this.scrollLines(i.type===2?-r:r),this.cancel(t,!0)}if(i.type===1&&this.selectAll(),this._isThirdLevelShift(this.browser,t)||(i.cancel&&this.cancel(t,!0),!i.key)||t.key&&!t.ctrlKey&&!t.altKey&&!t.metaKey&&t.key.length===1&&t.key.charCodeAt(0)>=65&&t.key.charCodeAt(0)<=90)return!0;if(this._unprocessedDeadKey)return this._unprocessedDeadKey=!1,!0;if((i.key===Q.ETX||i.key===Q.CR)&&(this.textarea.value=""),this._onKey.fire({key:i.key,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(i.key,!0),!this.optionsService.rawOptions.screenReaderMode||t.altKey||t.ctrlKey)return this.cancel(t,!0);this._keyDownHandled=!0}_isThirdLevelShift(t,e){let i=t.isMac&&!this.options.macOptionIsMeta&&e.altKey&&!e.ctrlKey&&!e.metaKey||t.isWindows&&e.altKey&&e.ctrlKey&&!e.metaKey||t.isWindows&&e.getModifierState("AltGraph");return e.type==="keypress"?i:i&&(!e.keyCode||e.keyCode>47)}_keyUp(t){this._keyDownSeen=!1,!(this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)&&(B3(t)||this.focus(),this.updateCursorStyle(t),this._keyPressHandled=!1)}_keyPress(t){let e;if(this._keyPressHandled=!1,this._keyDownHandled||this._customKeyEventHandler&&this._customKeyEventHandler(t)===!1)return!1;if(this.cancel(t),t.charCode)e=t.charCode;else if(t.which===null||t.which===void 0)e=t.keyCode;else if(t.which!==0&&t.charCode!==0)e=t.which;else return!1;return!e||(t.altKey||t.ctrlKey||t.metaKey)&&!this._isThirdLevelShift(this.browser,t)?!1:(e=String.fromCharCode(e),this._onKey.fire({key:e,domEvent:t}),this._showCursor(),this.coreService.triggerDataEvent(e,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,!0)}_inputEvent(t){if(t.data&&t.inputType==="insertText"&&(!t.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;let e=t.data;return this.coreService.triggerDataEvent(e,!0),this.cancel(t),!0}return!1}resize(t,e){if(t===this.cols&&e===this.rows){this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure();return}super.resize(t,e)}_afterResize(t,e){var i;(i=this._charSizeService)==null||i.measure()}clear(){if(!(this.buffer.ybase===0&&this.buffer.y===0)){this.buffer.clearAllMarkers(),this.buffer.lines.set(0,this.buffer.lines.get(this.buffer.ybase+this.buffer.y)),this.buffer.lines.length=1,this.buffer.ydisp=0,this.buffer.ybase=0,this.buffer.y=0;for(let t=1;t=0;t--)this._addons[t].instance.dispose()}loadAddon(t,e){let i={instance:e,dispose:e.dispose,isDisposed:!1};this._addons.push(i),e.dispose=()=>this._wrappedAddonDispose(i),e.activate(t)}_wrappedAddonDispose(t){if(t.isDisposed)return;let e=-1;for(let i=0;i=this._line.length))return e?(this._line.loadCell(t,e),e):this._line.loadCell(t,new Oi)}translateToString(t,e,i){return this._line.translateToString(t,e,i)}},Lv=class{constructor(t,e){this._buffer=t,this.type=e}init(t){return this._buffer=t,this}get cursorY(){return this._buffer.y}get cursorX(){return this._buffer.x}get viewportY(){return this._buffer.ydisp}get baseY(){return this._buffer.ybase}get length(){return this._buffer.lines.length}getLine(t){let e=this._buffer.lines.get(t);if(e)return new Z3(e)}getNullCell(){return new Oi}},X3=class extends re{constructor(t){super(),this._core=t,this._onBufferChange=this._register(new L),this.onBufferChange=this._onBufferChange.event,this._normal=new Lv(this._core.buffers.normal,"normal"),this._alternate=new Lv(this._core.buffers.alt,"alternate"),this._core.buffers.onBufferActivate(()=>this._onBufferChange.fire(this.active))}get active(){if(this._core.buffers.active===this._core.buffers.normal)return this.normal;if(this._core.buffers.active===this._core.buffers.alt)return this.alternate;throw new Error("Active buffer is neither normal nor alternate")}get normal(){return this._normal.init(this._core.buffers.normal)}get alternate(){return this._alternate.init(this._core.buffers.alt)}},I3=class{constructor(t){this._core=t}registerCsiHandler(t,e){return this._core.registerCsiHandler(t,i=>e(i.toArray()))}addCsiHandler(t,e){return this.registerCsiHandler(t,e)}registerDcsHandler(t,e){return this._core.registerDcsHandler(t,(i,r)=>e(i,r.toArray()))}addDcsHandler(t,e){return this.registerDcsHandler(t,e)}registerEscHandler(t,e){return this._core.registerEscHandler(t,e)}addEscHandler(t,e){return this.registerEscHandler(t,e)}registerOscHandler(t,e){return this._core.registerOscHandler(t,e)}addOscHandler(t,e){return this.registerOscHandler(t,e)}},N3=class{constructor(t){this._core=t}register(t){this._core.unicodeService.register(t)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(t){this._core.unicodeService.activeVersion=t}},W3=["cols","rows"],Ii=0,j3=class extends re{constructor(t){super(),this._core=this._register(new D3(t)),this._addonManager=this._register(new z3),this._publicOptions={...this._core.options};let e=r=>this._core.options[r],i=(r,s)=>{this._checkReadonlyOptions(r),this._core.options[r]=s};for(let r in this._core.options){let s={get:e.bind(this,r),set:i.bind(this,r)};Object.defineProperty(this._publicOptions,r,s)}}_checkReadonlyOptions(t){if(W3.includes(t))throw new Error(`Option "${t}" can only be set in the constructor`)}_checkProposedApi(){if(!this._core.optionsService.rawOptions.allowProposedApi)throw new Error("You must set the allowProposedApi option to true to use proposed API")}get onBell(){return this._core.onBell}get onBinary(){return this._core.onBinary}get onCursorMove(){return this._core.onCursorMove}get onData(){return this._core.onData}get onKey(){return this._core.onKey}get onLineFeed(){return this._core.onLineFeed}get onRender(){return this._core.onRender}get onResize(){return this._core.onResize}get onScroll(){return this._core.onScroll}get onSelectionChange(){return this._core.onSelectionChange}get onTitleChange(){return this._core.onTitleChange}get onWriteParsed(){return this._core.onWriteParsed}get element(){return this._core.element}get parser(){return this._parser||(this._parser=new I3(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new N3(this._core)}get textarea(){return this._core.textarea}get rows(){return this._core.rows}get cols(){return this._core.cols}get buffer(){return this._buffer||(this._buffer=this._register(new X3(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){let t=this._core.coreService.decPrivateModes,e="none";switch(this._core.coreMouseService.activeProtocol){case"X10":e="x10";break;case"VT200":e="vt200";break;case"DRAG":e="drag";break;case"ANY":e="any";break}return{applicationCursorKeysMode:t.applicationCursorKeys,applicationKeypadMode:t.applicationKeypad,bracketedPasteMode:t.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:e,originMode:t.origin,reverseWraparoundMode:t.reverseWraparound,sendFocusMode:t.sendFocus,synchronizedOutputMode:t.synchronizedOutput,wraparoundMode:t.wraparound}}get options(){return this._publicOptions}set options(t){for(let e in t)this._publicOptions[e]=t[e]}blur(){this._core.blur()}focus(){this._core.focus()}input(t,e=!0){this._core.input(t,e)}resize(t,e){this._verifyIntegers(t,e),this._core.resize(t,e)}open(t){this._core.open(t)}attachCustomKeyEventHandler(t){this._core.attachCustomKeyEventHandler(t)}attachCustomWheelEventHandler(t){this._core.attachCustomWheelEventHandler(t)}registerLinkProvider(t){return this._core.registerLinkProvider(t)}registerCharacterJoiner(t){return this._checkProposedApi(),this._core.registerCharacterJoiner(t)}deregisterCharacterJoiner(t){this._checkProposedApi(),this._core.deregisterCharacterJoiner(t)}registerMarker(t=0){return this._verifyIntegers(t),this._core.registerMarker(t)}registerDecoration(t){return this._checkProposedApi(),this._verifyPositiveIntegers(t.x??0,t.width??0,t.height??0),this._core.registerDecoration(t)}hasSelection(){return this._core.hasSelection()}select(t,e,i){this._verifyIntegers(t,e,i),this._core.select(t,e,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(t,e){this._verifyIntegers(t,e),this._core.selectLines(t,e)}dispose(){super.dispose()}scrollLines(t){this._verifyIntegers(t),this._core.scrollLines(t)}scrollPages(t){this._verifyIntegers(t),this._core.scrollPages(t)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(t){this._verifyIntegers(t),this._core.scrollToLine(t)}clear(){this._core.clear()}write(t,e){this._core.write(t,e)}writeln(t,e){this._core.write(t),this._core.write(`\r +`,e)}paste(t){this._core.paste(t)}refresh(t,e){this._verifyIntegers(t,e),this._core.refresh(t,e)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(t){this._addonManager.loadAddon(this,t)}static get strings(){return{get promptLabel(){return lp.get()},set promptLabel(t){lp.set(t)},get tooMuchOutput(){return ap.get()},set tooMuchOutput(t){ap.set(t)}}}_verifyIntegers(...t){for(Ii of t)if(Ii===1/0||isNaN(Ii)||Ii%1!==0)throw new Error("This API only accepts integers")}_verifyPositiveIntegers(...t){for(Ii of t)if(Ii&&(Ii===1/0||isNaN(Ii)||Ii%1!==0||Ii<0))throw new Error("This API only accepts positive integers")}};/** * Copyright (c) 2014-2024 The xterm.js authors. All rights reserved. * @license MIT * @@ -100,11 +100,11 @@ WARNING: This link could potentially be dangerous`)){let i=window.open();if(i){t * Fabrice Bellard's javascript vt100 for jslinux: * http://bellard.org/jslinux/ * Copyright (c) 2011 Fabrice Bellard - */var N3=2,j3=1,V3=class{activate(t){this._terminal=t}dispose(){}fit(){let t=this.proposeDimensions();if(!t||!this._terminal||isNaN(t.cols)||isNaN(t.rows))return;let e=this._terminal._core;(this._terminal.rows!==t.rows||this._terminal.cols!==t.cols)&&(e._renderService.clear(),this._terminal.resize(t.cols,t.rows))}proposeDimensions(){var u;if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let e=this._terminal.options.scrollback===0?0:((u=this._terminal.options.overviewRuler)==null?void 0:u.width)||14,i=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(i.getPropertyValue("height")),s=Math.max(0,parseInt(i.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},l=o.top+o.bottom,a=o.right+o.left,h=r-l,c=s-a-e;return{cols:Math.max(N3,Math.floor(c/t.css.cell.width)),rows:Math.max(j3,Math.floor(h/t.css.cell.height))}}};function Y3(t,e=!1){return window.__TAURI_INTERNALS__.transformCallback(t,e)}async function Yr(t,e={},i){return window.__TAURI_INTERNALS__.invoke(t,e,i)}var Av;(function(t){t.WINDOW_RESIZED="tauri://resize",t.WINDOW_MOVED="tauri://move",t.WINDOW_CLOSE_REQUESTED="tauri://close-requested",t.WINDOW_DESTROYED="tauri://destroyed",t.WINDOW_FOCUS="tauri://focus",t.WINDOW_BLUR="tauri://blur",t.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",t.WINDOW_THEME_CHANGED="tauri://theme-changed",t.WINDOW_CREATED="tauri://window-created",t.WINDOW_SUSPENDED="tauri://suspended",t.WINDOW_RESUMED="tauri://resumed",t.WEBVIEW_CREATED="tauri://webview-created",t.DRAG_ENTER="tauri://drag-enter",t.DRAG_OVER="tauri://drag-over",t.DRAG_DROP="tauri://drag-drop",t.DRAG_LEAVE="tauri://drag-leave"})(Av||(Av={}));async function q3(t,e){window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(t,e),await Yr("plugin:event|unlisten",{event:t,eventId:e})}async function Mv(t,e,i){var r;const s=(r=void 0)!==null&&r!==void 0?r:{kind:"Any"};return Yr("plugin:event|listen",{event:t,target:s,handler:Y3(e)}).then(n=>async()=>q3(t,n))}const vs={spawn:t=>Yr("pty_spawn",{opts:t}),write:(t,e)=>Yr("pty_write",{id:t,data:e}),resize:(t,e,i)=>Yr("pty_resize",{id:t,cols:e,rows:i}),kill:t=>Yr("pty_kill",{id:t}),onData:t=>Mv("pty:data",e=>t(e.payload)),onExit:t=>Mv("pty:exit",e=>t(e.payload))};function F3(t){let e="";for(let i=0;iYr("board_save",{state:t}),load:()=>Yr("board_load")},Lv=13;function G3({card:t,onUpdate:e,onClose:i,onFocus:r}){const s=Ec(),n=J1(t,f=>e(f)),o=ne.useRef(null),l=ne.useRef(null),a=ne.useRef(null),h=ne.useRef(t.ptyId),[c,u]=ne.useState(!1);return ne.useEffect(()=>{let f,d,p=!1;const g=new W3({fontSize:Lv*s.scale,fontFamily:'Menlo, "Cascadia Code", Consolas, monospace',theme:{background:"#1d1d23",foreground:"#e8e8ec",cursor:"#e8e8ec"},cursorBlink:!0,allowProposedApi:!0}),v=new V3;return g.loadAddon(v),g.open(o.current),v.fit(),l.current=g,a.current=v,(async()=>{let O=h.current;if(!O){if(O=await vs.spawn({cols:g.cols,rows:g.rows}),p){await vs.kill(O);return}h.current=O,e({ptyId:O})}f=await vs.onData(m=>{m.id===O&&g.write(H3(m.data))}),d=await vs.onExit(m=>{m.id===O&&g.write(`\r + */var V3=2,Y3=1,q3=class{activate(t){this._terminal=t}dispose(){}fit(){let t=this.proposeDimensions();if(!t||!this._terminal||isNaN(t.cols)||isNaN(t.rows))return;let e=this._terminal._core;(this._terminal.rows!==t.rows||this._terminal.cols!==t.cols)&&(e._renderService.clear(),this._terminal.resize(t.cols,t.rows))}proposeDimensions(){var u;if(!this._terminal||!this._terminal.element||!this._terminal.element.parentElement)return;let t=this._terminal._core._renderService.dimensions;if(t.css.cell.width===0||t.css.cell.height===0)return;let e=this._terminal.options.scrollback===0?0:((u=this._terminal.options.overviewRuler)==null?void 0:u.width)||14,i=window.getComputedStyle(this._terminal.element.parentElement),r=parseInt(i.getPropertyValue("height")),s=Math.max(0,parseInt(i.getPropertyValue("width"))),n=window.getComputedStyle(this._terminal.element),o={top:parseInt(n.getPropertyValue("padding-top")),bottom:parseInt(n.getPropertyValue("padding-bottom")),right:parseInt(n.getPropertyValue("padding-right")),left:parseInt(n.getPropertyValue("padding-left"))},l=o.top+o.bottom,a=o.right+o.left,h=r-l,c=s-a-e;return{cols:Math.max(V3,Math.floor(c/t.css.cell.width)),rows:Math.max(Y3,Math.floor(h/t.css.cell.height))}}};function F3(t,e=!1){return window.__TAURI_INTERNALS__.transformCallback(t,e)}async function Gt(t,e={},i){return window.__TAURI_INTERNALS__.invoke(t,e,i)}var Dv;(function(t){t.WINDOW_RESIZED="tauri://resize",t.WINDOW_MOVED="tauri://move",t.WINDOW_CLOSE_REQUESTED="tauri://close-requested",t.WINDOW_DESTROYED="tauri://destroyed",t.WINDOW_FOCUS="tauri://focus",t.WINDOW_BLUR="tauri://blur",t.WINDOW_SCALE_FACTOR_CHANGED="tauri://scale-change",t.WINDOW_THEME_CHANGED="tauri://theme-changed",t.WINDOW_CREATED="tauri://window-created",t.WINDOW_SUSPENDED="tauri://suspended",t.WINDOW_RESUMED="tauri://resumed",t.WEBVIEW_CREATED="tauri://webview-created",t.DRAG_ENTER="tauri://drag-enter",t.DRAG_OVER="tauri://drag-over",t.DRAG_DROP="tauri://drag-drop",t.DRAG_LEAVE="tauri://drag-leave"})(Dv||(Dv={}));async function H3(t,e){window.__TAURI_EVENT_PLUGIN_INTERNALS__.unregisterListener(t,e),await Gt("plugin:event|unlisten",{event:t,eventId:e})}async function Bv(t,e,i){var r;const s=(r=void 0)!==null&&r!==void 0?r:{kind:"Any"};return Gt("plugin:event|listen",{event:t,target:s,handler:F3(e)}).then(n=>async()=>H3(t,n))}const Ss={spawn:t=>Gt("pty_spawn",{opts:t}),write:(t,e)=>Gt("pty_write",{id:t,data:e}),resize:(t,e,i)=>Gt("pty_resize",{id:t,cols:e,rows:i}),kill:t=>Gt("pty_kill",{id:t}),onData:t=>Bv("pty:data",e=>t(e.payload)),onExit:t=>Bv("pty:exit",e=>t(e.payload))};function U3(t){let e="";for(let i=0;iGt("boards_load_index"),setCurrent:t=>Gt("boards_set_current",{id:t}),load:t=>Gt("board_load",{id:t}),save:(t,e)=>Gt("board_save",{id:t,state:e}),create:t=>Gt("board_create",{name:t}),rename:(t,e)=>Gt("board_rename",{id:t,name:e}),delete:t=>Gt("board_delete",{id:t})},zv=13;function J3({card:t,onUpdate:e,onClose:i,onFocus:r}){const s=Rc(),n=iy(t,f=>e(f)),o=q.useRef(null),l=q.useRef(null),a=q.useRef(null),h=q.useRef(t.ptyId),[c,u]=q.useState(!1);return q.useEffect(()=>{let f,d,p=!1;const g=new j3({fontSize:zv*s.scale,fontFamily:'Menlo, "Cascadia Code", Consolas, monospace',theme:{background:"#1d1d23",foreground:"#e8e8ec",cursor:"#e8e8ec"},cursorBlink:!0,allowProposedApi:!0}),v=new q3;return g.loadAddon(v),g.open(o.current),v.fit(),l.current=g,a.current=v,(async()=>{let m=h.current;if(!m){if(m=await Ss.spawn({cols:g.cols,rows:g.rows}),p){await Ss.kill(m);return}h.current=m,e({ptyId:m})}f=await Ss.onData(O=>{O.id===m&&g.write(G3(O.data))}),d=await Ss.onExit(O=>{O.id===m&&g.write(`\r \x1B[2m[process exited]\x1B[0m\r -`)}),g.onData(m=>{vs.write(O,U3(m)).catch(_=>console.error("pty_write",_))}),g.onResize(({cols:m,rows:_})=>{vs.resize(O,m,_).catch(()=>{})}),u(!0)})(),()=>{p=!0,f==null||f(),d==null||d(),g.dispose()}},[]),ne.useEffect(()=>{if(!c)return;const f=l.current,d=a.current;!f||!d||(f.options.fontSize=Lv*s.scale,d.fit())},[s.scale,c]),ne.useEffect(()=>{var f;c&&((f=a.current)==null||f.fit())},[t.width,t.height,c]),ce.jsxs("div",{className:"card terminal-card",onPointerDownCapture:r,style:{left:s.x+t.x*s.scale,top:s.y+t.y*s.scale,width:t.width*s.scale,height:t.height*s.scale,zIndex:t.z,"--scale":s.scale},children:[ce.jsx(ty,{title:t.title??"",placeholder:"Terminal",onTitleChange:f=>e({title:f}),onClose:i,dragProps:n}),ce.jsx("div",{className:"card-body terminal-body",ref:o,onPointerDown:f=>f.stopPropagation(),onWheel:f=>f.stopPropagation()}),ce.jsx(ey,{card:t,onUpdate:f=>e(f)})]})}const K3=.1,J3=4,eD=.0015,tD=400;function iD({initial:t}){const[e,i]=ne.useState(t.cards),[r,s]=ne.useState(t.viewport),[n,o]=ne.useState(!1),l=ne.useRef(null),a=ne.useRef(null),h=ne.useRef(Math.max(t.maxZ,t.cards.reduce((S,y)=>Math.max(S,y.z),0)));ne.useEffect(()=>{const S=window.setTimeout(()=>{const y={version:1,cards:e,viewport:r,maxZ:h.current};sx.save(y).catch(k=>console.error("board_save failed",k))},tD);return()=>window.clearTimeout(S)},[e,r]),ne.useEffect(()=>{const S=k=>{k.code==="Space"&&!k.repeat&&o(!0)},y=k=>{k.code==="Space"&&o(!1)};return window.addEventListener("keydown",S),window.addEventListener("keyup",y),()=>{window.removeEventListener("keydown",S),window.removeEventListener("keyup",y)}},[]),ne.useEffect(()=>{const S=l.current;if(!S)return;const y=k=>{k.button===1&&k.preventDefault()};return S.addEventListener("mousedown",y),S.addEventListener("auxclick",y),()=>{S.removeEventListener("mousedown",y),S.removeEventListener("auxclick",y)}},[]);const c=ne.useCallback(S=>{if(!S.ctrlKey&&!S.metaKey)return;S.preventDefault();const y=l.current.getBoundingClientRect(),k=S.clientX-y.left,b=S.clientY-y.top;s(Q=>{const j=Math.exp(-S.deltaY*eD),I=Math.max(K3,Math.min(J3,Q.scale*j)),B=I/Q.scale;return{x:k-(k-Q.x)*B,y:b-(b-Q.y)*B,scale:I}})},[]),u=S=>{var k;(S.button===1||S.button===0&&n)&&(S.preventDefault(),(k=l.current)==null||k.setPointerCapture(S.pointerId),a.current={startX:S.clientX,startY:S.clientY,vpX:r.x,vpY:r.y})},f=S=>{const y=a.current;if(!y)return;const k=y.vpX+(S.clientX-y.startX),b=y.vpY+(S.clientY-y.startY);s(Q=>({...Q,x:k,y:b}))},d=S=>{var y;if(a.current){try{(y=l.current)==null||y.releasePointerCapture(S.pointerId)}catch{}a.current=null}},p=(S,y)=>{i(k=>k.map(b=>b.id===S?{...b,...y}:b))},g=S=>{i(y=>{const k=y.find(b=>b.id===S);return(k==null?void 0:k.kind)==="terminal"&&k.ptyId&&vs.kill(k.ptyId).catch(()=>{}),y.filter(b=>b.id!==S)})},v=S=>{i(y=>{const k=y.find(Q=>Q.id===S);if(!k||k.z===h.current)return y;h.current+=1;const b=h.current;return y.map(Q=>Q.id===S?{...Q,z:b}:Q)})},O=S=>{const y=window.innerWidth/2,k=window.innerHeight/2,b=(y-r.x)/r.scale,Q=(k-r.y)/r.scale,j=crypto.randomUUID();h.current+=1;const I=S(j,b,Q,h.current);i(B=>[...B,I])},m=()=>O((S,y,k,b)=>({id:S,kind:"note",x:y-160,y:k-90,width:320,height:180,z:b,text:""})),_=()=>O((S,y,k,b)=>({id:S,kind:"terminal",x:y-280,y:k-180,width:560,height:360,z:b,ptyId:""}));return ce.jsxs("div",{ref:l,className:`canvas-container ${n?"pan-mode":""} ${a.current?"panning":""}`,onWheel:c,onPointerDown:u,onPointerMove:f,onPointerUp:d,onPointerCancel:d,children:[ce.jsx("div",{className:"canvas-grid",style:{backgroundPosition:`${r.x}px ${r.y}px`,backgroundSize:`${40*r.scale}px ${40*r.scale}px`}}),ce.jsx(K1.Provider,{value:r,children:e.map(S=>S.kind==="note"?ce.jsx(AA,{card:S,onUpdate:y=>p(S.id,y),onClose:()=>g(S.id),onFocus:()=>v(S.id)},S.id):S.kind==="terminal"?ce.jsx(G3,{card:S,onUpdate:y=>p(S.id,y),onClose:()=>g(S.id),onFocus:()=>v(S.id)},S.id):null)}),ce.jsxs("div",{className:"toolbar",children:[ce.jsx("button",{onClick:m,children:"+ Note"}),ce.jsx("button",{onClick:_,children:"+ Terminal"})]}),ce.jsxs("div",{className:"canvas-hud",children:[ce.jsxs("span",{children:["x ",r.x.toFixed(0)]}),ce.jsxs("span",{children:["y ",r.y.toFixed(0)]}),ce.jsxs("span",{children:[(r.scale*100).toFixed(0),"%"]})]})]})}const Dv={version:1,cards:[{id:"welcome",kind:"note",x:200,y:200,width:340,height:200,z:1,text:`Welcome to Infinite. +`)}),g.onData(O=>{Ss.write(m,K3(O)).catch(_=>console.error("pty_write",_))}),g.onResize(({cols:O,rows:_})=>{Ss.resize(m,O,_).catch(()=>{})}),u(!0)})(),()=>{p=!0,f==null||f(),d==null||d(),g.dispose()}},[]),q.useEffect(()=>{if(!c)return;const f=l.current,d=a.current;!f||!d||(f.options.fontSize=zv*s.scale,d.fit())},[s.scale,c]),q.useEffect(()=>{var f;c&&((f=a.current)==null||f.fit())},[t.width,t.height,c]),H.jsxs("div",{className:"card terminal-card",onPointerDownCapture:r,style:{left:s.x+t.x*s.scale,top:s.y+t.y*s.scale,width:t.width*s.scale,height:t.height*s.scale,zIndex:t.z,"--scale":s.scale},children:[H.jsx(sy,{title:t.title??"",placeholder:"Terminal",onTitleChange:f=>e({title:f}),onClose:i,dragProps:n}),H.jsx("div",{className:"card-body terminal-body",ref:o,onPointerDown:f=>f.stopPropagation(),onWheel:f=>f.stopPropagation()}),H.jsx(ry,{card:t,onUpdate:f=>e(f)})]})}const eD=.1,tD=4,iD=.0015;function rD({initial:t,onChange:e}){const[i,r]=q.useState(t.cards),[s,n]=q.useState(t.viewport),[o,l]=q.useState(!1),a=q.useRef(null),h=q.useRef(null),c=q.useRef(Math.max(t.maxZ,t.cards.reduce((S,k)=>Math.max(S,k.z),0))),u=q.useRef(e);u.current=e,q.useEffect(()=>{u.current({version:1,cards:i,viewport:s,maxZ:c.current})},[i,s]),q.useEffect(()=>{const S=P=>{P.code==="Space"&&!P.repeat&&l(!0)},k=P=>{P.code==="Space"&&l(!1)};return window.addEventListener("keydown",S),window.addEventListener("keyup",k),()=>{window.removeEventListener("keydown",S),window.removeEventListener("keyup",k)}},[]),q.useEffect(()=>{const S=a.current;if(!S)return;const k=P=>{P.button===1&&P.preventDefault()};return S.addEventListener("mousedown",k),S.addEventListener("auxclick",k),()=>{S.removeEventListener("mousedown",k),S.removeEventListener("auxclick",k)}},[]);const f=q.useCallback(S=>{if(!S.ctrlKey&&!S.metaKey)return;S.preventDefault();const k=a.current.getBoundingClientRect(),P=S.clientX-k.left,D=S.clientY-k.top;n(B=>{const X=Math.exp(-S.deltaY*iD),$=Math.max(eD,Math.min(tD,B.scale*X)),C=$/B.scale;return{x:P-(P-B.x)*C,y:D-(D-B.y)*C,scale:$}})},[]),d=S=>{var P;(S.button===1||S.button===0&&o)&&(S.preventDefault(),(P=a.current)==null||P.setPointerCapture(S.pointerId),h.current={startX:S.clientX,startY:S.clientY,vpX:s.x,vpY:s.y})},p=S=>{const k=h.current;if(!k)return;const P=k.vpX+(S.clientX-k.startX),D=k.vpY+(S.clientY-k.startY);n(B=>({...B,x:P,y:D}))},g=S=>{var k;if(h.current){try{(k=a.current)==null||k.releasePointerCapture(S.pointerId)}catch{}h.current=null}},v=(S,k)=>{r(P=>P.map(D=>D.id===S?{...D,...k}:D))},m=S=>{r(k=>{const P=k.find(D=>D.id===S);return(P==null?void 0:P.kind)==="terminal"&&P.ptyId&&Ss.kill(P.ptyId).catch(()=>{}),k.filter(D=>D.id!==S)})},O=S=>{r(k=>{const P=k.find(B=>B.id===S);if(!P||P.z===c.current)return k;c.current+=1;const D=c.current;return k.map(B=>B.id===S?{...B,z:D}:B)})},_=S=>{const k=window.innerWidth/2,P=window.innerHeight/2,D=(k-s.x)/s.scale,B=(P-s.y)/s.scale,X=crypto.randomUUID();c.current+=1;const $=S(X,D,B,c.current);r(C=>[...C,$])},w=()=>_((S,k,P,D)=>({id:S,kind:"note",x:k-160,y:P-90,width:320,height:180,z:D,text:""})),b=()=>_((S,k,P,D)=>({id:S,kind:"terminal",x:k-280,y:P-180,width:560,height:360,z:D,ptyId:""}));return H.jsxs("div",{ref:a,className:`canvas-container ${o?"pan-mode":""} ${h.current?"panning":""}`,onWheel:f,onPointerDown:d,onPointerMove:p,onPointerUp:g,onPointerCancel:g,children:[H.jsx("div",{className:"canvas-grid",style:{backgroundPosition:`${s.x}px ${s.y}px`,backgroundSize:`${40*s.scale}px ${40*s.scale}px`}}),H.jsx(ty.Provider,{value:s,children:i.map(S=>S.kind==="note"?H.jsx(LA,{card:S,onUpdate:k=>v(S.id,k),onClose:()=>m(S.id),onFocus:()=>O(S.id)},S.id):S.kind==="terminal"?H.jsx(J3,{card:S,onUpdate:k=>v(S.id,k),onClose:()=>m(S.id),onFocus:()=>O(S.id)},S.id):null)}),H.jsxs("div",{className:"toolbar",children:[H.jsx("button",{onClick:w,children:"+ Note"}),H.jsx("button",{onClick:b,children:"+ Terminal"})]}),H.jsxs("div",{className:"canvas-hud",children:[H.jsxs("span",{children:["x ",s.x.toFixed(0)]}),H.jsxs("span",{children:["y ",s.y.toFixed(0)]}),H.jsxs("span",{children:[(s.scale*100).toFixed(0),"%"]})]})]})}function sD({index:t,onSwitch:e,onCreate:i,onRename:r,onDelete:s}){const[n,o]=q.useState(!1),[l,a]=q.useState(null),[h,c]=q.useState(!1),u=q.useRef(null);q.useEffect(()=>{if(!n)return;const p=g=>{var v;(v=u.current)!=null&&v.contains(g.target)||(o(!1),a(null),c(!1))};return document.addEventListener("mousedown",p),()=>document.removeEventListener("mousedown",p)},[n]);const f=t.boards.find(p=>p.id===t.currentBoardId),d=p=>{t.boards.length<=1||confirm(`Delete board "${p.name}"? This can't be undone.`)&&s(p.id)};return H.jsxs("div",{className:"board-switcher",ref:u,children:[H.jsxs("button",{type:"button",className:"board-switcher-trigger",onClick:()=>o(p=>!p),children:[H.jsx("span",{className:"board-switcher-name",children:(f==null?void 0:f.name)??"—"}),H.jsx("span",{className:"board-switcher-caret",children:"▾"})]}),n&&H.jsxs("div",{className:"board-switcher-menu",children:[t.boards.map(p=>H.jsx(nD,{board:p,current:p.id===t.currentBoardId,renaming:l===p.id,canDelete:t.boards.length>1,onSwitch:()=>{o(!1),e(p.id)},onStartRename:()=>a(p.id),onCommitRename:g=>{a(null),g.trim()&&g!==p.name&&r(p.id,g.trim())},onCancelRename:()=>a(null),onDelete:()=>d(p)},p.id)),H.jsx("div",{className:"board-switcher-divider"}),h?H.jsx(oD,{onCommit:p=>{c(!1),o(!1),p.trim()&&i(p.trim())},onCancel:()=>c(!1)}):H.jsx("button",{type:"button",className:"board-switcher-new",onClick:()=>c(!0),children:"+ New board"})]})]})}function nD(t){const{board:e,current:i,renaming:r,canDelete:s}=t,n=q.useRef(null),[o,l]=q.useState(e.name);return q.useEffect(()=>{r&&(l(e.name),requestAnimationFrame(()=>{var a,h;(a=n.current)==null||a.focus(),(h=n.current)==null||h.select()}))},[r,e.name]),r?H.jsx("div",{className:"board-switcher-row",children:H.jsx("input",{ref:n,className:"board-switcher-input",value:o,spellCheck:!1,onChange:a=>l(a.target.value),onKeyDown:a=>{a.key==="Enter"?t.onCommitRename(o):a.key==="Escape"&&t.onCancelRename()},onBlur:()=>t.onCommitRename(o)})}):H.jsxs("div",{className:`board-switcher-row ${i?"is-current":""}`,onContextMenu:a=>{a.preventDefault(),t.onStartRename()},children:[H.jsxs("button",{type:"button",className:"board-switcher-name-btn",onClick:t.onSwitch,children:[e.name,i&&H.jsx("span",{className:"board-switcher-dot",children:"●"})]}),s&&H.jsx("button",{type:"button",className:"board-switcher-delete","aria-label":"Delete board",onClick:t.onDelete,children:"×"})]})}function oD({onCommit:t,onCancel:e}){const[i,r]=q.useState(""),s=q.useRef(null);return q.useEffect(()=>{var n;(n=s.current)==null||n.focus()},[]),H.jsx("div",{className:"board-switcher-row",children:H.jsx("input",{ref:s,className:"board-switcher-input",value:i,placeholder:"Board name",spellCheck:!1,onChange:n=>r(n.target.value),onKeyDown:n=>{n.key==="Enter"?t(i):n.key==="Escape"&&e()},onBlur:()=>t(i)})})}const lD=400,_f={version:1,cards:[],viewport:{x:0,y:0,scale:1},maxZ:0},Zv=()=>({version:1,cards:[{id:"welcome",kind:"note",x:200,y:200,width:340,height:200,z:1,text:`Welcome to Infinite. Pan: middle-drag or Space + drag Zoom: Ctrl + scroll -Use the toolbar to add notes and terminals.`}],viewport:{x:0,y:0,scale:1},maxZ:1};function rD(t){return{...t,cards:t.cards.map(e=>e.kind==="terminal"?{...e,ptyId:""}:e)}}function sD(){const[t,e]=ne.useState(null);return ne.useEffect(()=>{let i=!1;return sx.load().then(r=>{i||e(r?rD(r):Dv)}).catch(r=>{console.error("board_load failed",r),i||e(Dv)}),()=>{i=!0}},[]),t?ce.jsx(iD,{initial:t}):null}mf.createRoot(document.getElementById("root")).render(ce.jsx(kx.StrictMode,{children:ce.jsx(sD,{})})); +Use the toolbar to add notes and terminals.`}],viewport:{x:0,y:0,scale:1},maxZ:1});function vf(t){return{...t,cards:t.cards.map(e=>e.kind==="terminal"?{...e,ptyId:""}:e)}}function aD(){const[t,e]=q.useState(null),[i,r]=q.useState(null),s=q.useRef(null),n=q.useRef(null),o=q.useRef("");q.useEffect(()=>{(async()=>{try{const d=await oi.loadIndex(),p=await oi.load(d.currentBoardId);o.current=d.currentBoardId,e(d),r(p?vf(p):Zv())}catch(d){console.error("boards init failed",d),o.current="default",e({version:1,currentBoardId:"default",boards:[{id:"default",name:"Default"}]}),r(Zv())}})()},[]);const l=q.useCallback(async()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null);const d=o.current,p=s.current;if(d&&p)try{await oi.save(d,p)}catch(g){console.error("board_save flush failed",g)}},[]),a=q.useCallback(d=>{s.current=d,n.current!==null&&window.clearTimeout(n.current),n.current=window.setTimeout(()=>{n.current=null;const p=o.current,g=s.current;p&&g&&oi.save(p,g).catch(v=>console.error("board_save failed",v))},lD)},[]),h=q.useCallback(async d=>{if(!t||d===t.currentBoardId)return;await l(),await oi.setCurrent(d);const p=await oi.load(d);s.current=null,o.current=d,e({...t,currentBoardId:d}),r(p?vf(p):_f)},[t,l]),c=q.useCallback(async d=>{if(!t)return;await l();const p=await oi.create(d);await oi.setCurrent(p.id),s.current=null,o.current=p.id,e({...t,currentBoardId:p.id,boards:[...t.boards,p]}),r(_f)},[t,l]),u=q.useCallback(async(d,p)=>{await oi.rename(d,p),e(g=>g&&{...g,boards:g.boards.map(v=>v.id===d?{...v,name:p}:v)})},[]),f=q.useCallback(async d=>{if(!t)return;const p=d===t.currentBoardId,g=await oi.delete(d);if(p){const v=await oi.load(g.currentBoardId);s.current=null,o.current=g.currentBoardId,e(g),r(v?vf(v):_f)}else e(g)},[t]);return q.useEffect(()=>{const d=()=>{n.current!==null&&(window.clearTimeout(n.current),n.current=null);const p=o.current,g=s.current;p&&g&&oi.save(p,g).catch(()=>{})};return window.addEventListener("beforeunload",d),()=>window.removeEventListener("beforeunload",d)},[]),!t||!i?null:H.jsxs(H.Fragment,{children:[H.jsx(sD,{index:t,onSwitch:h,onCreate:c,onRename:u,onDelete:f}),H.jsx(rD,{initial:i,onChange:a},t.currentBoardId)]})}Sf.createRoot(document.getElementById("root")).render(H.jsx(xx.StrictMode,{children:H.jsx(aD,{})})); diff --git a/dist/index.html b/dist/index.html index 6a604be..596caf2 100644 --- a/dist/index.html +++ b/dist/index.html @@ -4,8 +4,8 @@ Infinite - - + +
diff --git a/src-tauri/src/lib.rs b/src-tauri/src/lib.rs index d0863e6..e9c0305 100644 --- a/src-tauri/src/lib.rs +++ b/src-tauri/src/lib.rs @@ -2,7 +2,10 @@ mod pty; mod storage; use pty::{pty_kill, pty_resize, pty_spawn, pty_write, PtyState}; -use storage::{board_load, board_save}; +use storage::{ + board_create, board_delete, board_load, board_rename, board_save, boards_load_index, + boards_set_current, +}; #[cfg_attr(mobile, tauri::mobile_entry_point)] pub fn run() { @@ -35,8 +38,13 @@ pub fn run() { pty_write, pty_resize, pty_kill, + boards_load_index, board_save, board_load, + board_create, + board_rename, + board_delete, + boards_set_current, ]) .run(tauri::generate_context!()) .expect("error while running tauri application"); diff --git a/src-tauri/src/storage.rs b/src-tauri/src/storage.rs index a7647f1..7a81c9c 100644 --- a/src-tauri/src/storage.rs +++ b/src-tauri/src/storage.rs @@ -1,32 +1,119 @@ use std::fs; -use std::path::PathBuf; +use std::path::{Path, PathBuf}; +use serde::{Deserialize, Serialize}; use serde_json::Value; use tauri::{AppHandle, Manager}; +use uuid::Uuid; -fn board_path(app: &AppHandle) -> Result { - let dir = app +#[derive(Serialize, Deserialize, Clone)] +#[serde(rename_all = "camelCase")] +pub struct BoardMeta { + pub id: String, + pub name: String, +} + +#[derive(Serialize, Deserialize, Clone)] +#[serde(rename_all = "camelCase")] +pub struct BoardIndex { + pub version: u32, + pub current_board_id: String, + pub boards: Vec, +} + +fn data_dir(app: &AppHandle) -> Result { + let d = app .path() .app_data_dir() .map_err(|e| format!("app_data_dir: {e}"))?; - fs::create_dir_all(&dir).map_err(|e| format!("create_dir_all: {e}"))?; - Ok(dir.join("board.json")) + fs::create_dir_all(&d).map_err(|e| format!("create_dir_all: {e}"))?; + Ok(d) } -#[tauri::command] -pub fn board_save(app: AppHandle, state: Value) -> Result<(), String> { - let path = board_path(&app)?; +fn boards_dir(app: &AppHandle) -> Result { + let d = data_dir(app)?.join("boards"); + fs::create_dir_all(&d).map_err(|e| format!("create boards dir: {e}"))?; + Ok(d) +} + +fn index_path(app: &AppHandle) -> Result { + Ok(data_dir(app)?.join("boards.json")) +} + +fn board_file(app: &AppHandle, id: &str) -> Result { + if id.is_empty() || id.contains('/') || id.contains('\\') || id.contains("..") { + return Err(format!("invalid board id: {id:?}")); + } + Ok(boards_dir(app)?.join(format!("{id}.json"))) +} + +fn atomic_write(path: &Path, body: &str) -> Result<(), String> { let tmp = path.with_extension("json.tmp"); - let body = serde_json::to_string_pretty(&state).map_err(|e| e.to_string())?; fs::write(&tmp, body).map_err(|e| format!("write tmp: {e}"))?; - // Atomic replace so a crash mid-write can't corrupt the existing file. - fs::rename(&tmp, &path).map_err(|e| format!("rename: {e}"))?; + fs::rename(&tmp, path).map_err(|e| format!("rename: {e}"))?; Ok(()) } +fn empty_board_json() -> String { + serde_json::to_string_pretty(&serde_json::json!({ + "version": 1, + "cards": [], + "viewport": { "x": 0, "y": 0, "scale": 1 }, + "maxZ": 0, + })) + .unwrap() +} + +fn write_index(app: &AppHandle, idx: &BoardIndex) -> Result<(), String> { + let body = serde_json::to_string_pretty(idx).map_err(|e| format!("serialize index: {e}"))?; + atomic_write(&index_path(app)?, &body) +} + +fn read_index(app: &AppHandle) -> Result { + let path = index_path(app)?; + if !path.exists() { + // First run, or upgrading from the pre-multi-board single-file layout. + // Migrate the old board.json (if any) into boards/default.json. + let legacy = data_dir(app)?.join("board.json"); + let default_id = "default".to_string(); + let default_file = board_file(app, &default_id)?; + if legacy.exists() && !default_file.exists() { + let body = fs::read_to_string(&legacy).map_err(|e| format!("read legacy: {e}"))?; + atomic_write(&default_file, &body)?; + let _ = fs::remove_file(&legacy); + } else if !default_file.exists() { + atomic_write(&default_file, &empty_board_json())?; + } + let idx = BoardIndex { + version: 1, + current_board_id: default_id.clone(), + boards: vec![BoardMeta { + id: default_id, + name: "Default".to_string(), + }], + }; + write_index(app, &idx)?; + return Ok(idx); + } + let body = fs::read_to_string(&path).map_err(|e| format!("read index: {e}"))?; + serde_json::from_str(&body).map_err(|e| format!("parse index: {e}")) +} + #[tauri::command] -pub fn board_load(app: AppHandle) -> Result, String> { - let path = board_path(&app)?; +pub fn boards_load_index(app: AppHandle) -> Result { + read_index(&app) +} + +#[tauri::command] +pub fn board_save(app: AppHandle, id: String, state: Value) -> Result<(), String> { + let path = board_file(&app, &id)?; + let body = serde_json::to_string_pretty(&state).map_err(|e| format!("serialize: {e}"))?; + atomic_write(&path, &body) +} + +#[tauri::command] +pub fn board_load(app: AppHandle, id: String) -> Result, String> { + let path = board_file(&app, &id)?; if !path.exists() { return Ok(None); } @@ -34,3 +121,58 @@ pub fn board_load(app: AppHandle) -> Result, String> { let v = serde_json::from_str(&body).map_err(|e| format!("parse: {e}"))?; Ok(Some(v)) } + +#[tauri::command] +pub fn board_create(app: AppHandle, name: String) -> Result { + let id = Uuid::new_v4().to_string(); + let mut idx = read_index(&app)?; + let meta = BoardMeta { + id: id.clone(), + name, + }; + idx.boards.push(meta.clone()); + write_index(&app, &idx)?; + atomic_write(&board_file(&app, &id)?, &empty_board_json())?; + Ok(meta) +} + +#[tauri::command] +pub fn board_rename(app: AppHandle, id: String, name: String) -> Result<(), String> { + let mut idx = read_index(&app)?; + let b = idx + .boards + .iter_mut() + .find(|b| b.id == id) + .ok_or_else(|| format!("board {id} not found"))?; + b.name = name; + write_index(&app, &idx) +} + +#[tauri::command] +pub fn board_delete(app: AppHandle, id: String) -> Result { + let mut idx = read_index(&app)?; + if idx.boards.len() <= 1 { + return Err("can't delete the last board".to_string()); + } + let before = idx.boards.len(); + idx.boards.retain(|b| b.id != id); + if idx.boards.len() == before { + return Err(format!("board {id} not found")); + } + if idx.current_board_id == id { + idx.current_board_id = idx.boards[0].id.clone(); + } + write_index(&app, &idx)?; + let _ = fs::remove_file(board_file(&app, &id)?); + Ok(idx) +} + +#[tauri::command] +pub fn boards_set_current(app: AppHandle, id: String) -> Result<(), String> { + let mut idx = read_index(&app)?; + if !idx.boards.iter().any(|b| b.id == id) { + return Err(format!("board {id} not found")); + } + idx.current_board_id = id; + write_index(&app, &idx) +} diff --git a/src/App.tsx b/src/App.tsx index 01e294c..0691b8d 100644 --- a/src/App.tsx +++ b/src/App.tsx @@ -1,9 +1,19 @@ -import { useEffect, useState } from "react"; +import { useCallback, useEffect, useRef, useState } from "react"; import { Canvas } from "./canvas/Canvas"; -import type { BoardState, Card } from "./canvas/types"; +import { BoardSwitcher } from "./canvas/BoardSwitcher"; +import type { BoardIndex, BoardState, Card } from "./canvas/types"; import { board } from "./ipc"; -const DEFAULT_BOARD: BoardState = { +const SAVE_DEBOUNCE_MS = 400; + +const DEFAULT_STATE: BoardState = { + version: 1, + cards: [], + viewport: { x: 0, y: 0, scale: 1 }, + maxZ: 0, +}; + +const WELCOME_NOTE = (): BoardState => ({ version: 1, cards: [ { @@ -23,9 +33,9 @@ const DEFAULT_BOARD: BoardState = { ], viewport: { x: 0, y: 0, scale: 1 }, maxZ: 1, -}; +}); -// Live PTY processes die with the previous app session — wipe ptyIds so each +// Live PTY processes die with the previous session — wipe ptyIds so each // terminal card respawns a fresh shell on mount. function sanitize(state: BoardState): BoardState { return { @@ -37,25 +47,149 @@ function sanitize(state: BoardState): BoardState { } export function App() { - const [initial, setInitial] = useState(null); + const [index, setIndex] = useState(null); + const [initialState, setInitialState] = useState(null); + const latestStateRef = useRef(null); + const saveTimerRef = useRef(null); + const currentIdRef = useRef(""); + // Initial load. useEffect(() => { - let cancelled = false; - board - .load() - .then((loaded) => { - if (cancelled) return; - setInitial(loaded ? sanitize(loaded) : DEFAULT_BOARD); - }) - .catch((err) => { - console.error("board_load failed", err); - if (!cancelled) setInitial(DEFAULT_BOARD); - }); - return () => { - cancelled = true; - }; + (async () => { + try { + const idx = await board.loadIndex(); + const loaded = await board.load(idx.currentBoardId); + currentIdRef.current = idx.currentBoardId; + setIndex(idx); + setInitialState(loaded ? sanitize(loaded) : WELCOME_NOTE()); + } catch (err) { + console.error("boards init failed", err); + currentIdRef.current = "default"; + setIndex({ + version: 1, + currentBoardId: "default", + boards: [{ id: "default", name: "Default" }], + }); + setInitialState(WELCOME_NOTE()); + } + })(); }, []); - if (!initial) return null; - return ; + const flush = useCallback(async () => { + if (saveTimerRef.current !== null) { + window.clearTimeout(saveTimerRef.current); + saveTimerRef.current = null; + } + const id = currentIdRef.current; + const state = latestStateRef.current; + if (id && state) { + try { + await board.save(id, state); + } catch (err) { + console.error("board_save flush failed", err); + } + } + }, []); + + const onCanvasChange = useCallback((state: BoardState) => { + latestStateRef.current = state; + if (saveTimerRef.current !== null) window.clearTimeout(saveTimerRef.current); + saveTimerRef.current = window.setTimeout(() => { + saveTimerRef.current = null; + const id = currentIdRef.current; + const s = latestStateRef.current; + if (id && s) { + board.save(id, s).catch((err) => console.error("board_save failed", err)); + } + }, SAVE_DEBOUNCE_MS); + }, []); + + const switchTo = useCallback( + async (id: string) => { + if (!index || id === index.currentBoardId) return; + await flush(); + await board.setCurrent(id); + const loaded = await board.load(id); + latestStateRef.current = null; + currentIdRef.current = id; + setIndex({ ...index, currentBoardId: id }); + setInitialState(loaded ? sanitize(loaded) : DEFAULT_STATE); + }, + [index, flush], + ); + + const createBoard = useCallback( + async (name: string) => { + if (!index) return; + await flush(); + const meta = await board.create(name); + await board.setCurrent(meta.id); + latestStateRef.current = null; + currentIdRef.current = meta.id; + setIndex({ + ...index, + currentBoardId: meta.id, + boards: [...index.boards, meta], + }); + setInitialState(DEFAULT_STATE); + }, + [index, flush], + ); + + const renameBoard = useCallback(async (id: string, name: string) => { + await board.rename(id, name); + setIndex((idx) => + idx + ? { ...idx, boards: idx.boards.map((b) => (b.id === id ? { ...b, name } : b)) } + : idx, + ); + }, []); + + const deleteBoard = useCallback( + async (id: string) => { + if (!index) return; + const wasCurrent = id === index.currentBoardId; + const newIndex = await board.delete(id); + if (wasCurrent) { + const loaded = await board.load(newIndex.currentBoardId); + latestStateRef.current = null; + currentIdRef.current = newIndex.currentBoardId; + setIndex(newIndex); + setInitialState(loaded ? sanitize(loaded) : DEFAULT_STATE); + } else { + setIndex(newIndex); + } + }, + [index], + ); + + // Best-effort flush on tab/window close. + useEffect(() => { + const onBeforeUnload = () => { + if (saveTimerRef.current !== null) { + window.clearTimeout(saveTimerRef.current); + saveTimerRef.current = null; + } + const id = currentIdRef.current; + const s = latestStateRef.current; + if (id && s) board.save(id, s).catch(() => {}); + }; + window.addEventListener("beforeunload", onBeforeUnload); + return () => window.removeEventListener("beforeunload", onBeforeUnload); + }, []); + + if (!index || !initialState) return null; + + return ( + <> + + + + ); } diff --git a/src/canvas/BoardSwitcher.tsx b/src/canvas/BoardSwitcher.tsx new file mode 100644 index 0000000..9567fa5 --- /dev/null +++ b/src/canvas/BoardSwitcher.tsx @@ -0,0 +1,199 @@ +import { useEffect, useRef, useState } from "react"; +import type { BoardIndex, BoardMeta } from "./types"; + +interface Props { + index: BoardIndex; + onSwitch: (id: string) => void; + onCreate: (name: string) => void; + onRename: (id: string, name: string) => void; + onDelete: (id: string) => void; +} + +export function BoardSwitcher({ index, onSwitch, onCreate, onRename, onDelete }: Props) { + const [open, setOpen] = useState(false); + const [renamingId, setRenamingId] = useState(null); + const [creating, setCreating] = useState(false); + const containerRef = useRef(null); + + useEffect(() => { + if (!open) return; + const onDocDown = (e: MouseEvent) => { + if (!containerRef.current?.contains(e.target as Node)) { + setOpen(false); + setRenamingId(null); + setCreating(false); + } + }; + document.addEventListener("mousedown", onDocDown); + return () => document.removeEventListener("mousedown", onDocDown); + }, [open]); + + const current = index.boards.find((b) => b.id === index.currentBoardId); + + const handleDelete = (b: BoardMeta) => { + if (index.boards.length <= 1) return; + if (!confirm(`Delete board "${b.name}"? This can't be undone.`)) return; + onDelete(b.id); + }; + + return ( +
+ + {open && ( +
+ {index.boards.map((b) => ( + 1} + onSwitch={() => { + setOpen(false); + onSwitch(b.id); + }} + onStartRename={() => setRenamingId(b.id)} + onCommitRename={(name) => { + setRenamingId(null); + if (name.trim() && name !== b.name) onRename(b.id, name.trim()); + }} + onCancelRename={() => setRenamingId(null)} + onDelete={() => handleDelete(b)} + /> + ))} +
+ {creating ? ( + { + setCreating(false); + setOpen(false); + if (name.trim()) onCreate(name.trim()); + }} + onCancel={() => setCreating(false)} + /> + ) : ( + + )} +
+ )} +
+ ); +} + +function BoardRow(props: { + board: BoardMeta; + current: boolean; + renaming: boolean; + canDelete: boolean; + onSwitch: () => void; + onStartRename: () => void; + onCommitRename: (name: string) => void; + onCancelRename: () => void; + onDelete: () => void; +}) { + const { board, current, renaming, canDelete } = props; + const inputRef = useRef(null); + const [draft, setDraft] = useState(board.name); + + useEffect(() => { + if (renaming) { + setDraft(board.name); + requestAnimationFrame(() => { + inputRef.current?.focus(); + inputRef.current?.select(); + }); + } + }, [renaming, board.name]); + + if (renaming) { + return ( +
+ setDraft(e.target.value)} + onKeyDown={(e) => { + if (e.key === "Enter") props.onCommitRename(draft); + else if (e.key === "Escape") props.onCancelRename(); + }} + onBlur={() => props.onCommitRename(draft)} + /> +
+ ); + } + + return ( +
{ + e.preventDefault(); + props.onStartRename(); + }} + > + + {canDelete && ( + + )} +
+ ); +} + +function NewBoardRow({ + onCommit, + onCancel, +}: { + onCommit: (name: string) => void; + onCancel: () => void; +}) { + const [draft, setDraft] = useState(""); + const ref = useRef(null); + useEffect(() => { + ref.current?.focus(); + }, []); + return ( +
+ setDraft(e.target.value)} + onKeyDown={(e) => { + if (e.key === "Enter") onCommit(draft); + else if (e.key === "Escape") onCancel(); + }} + onBlur={() => onCommit(draft)} + /> +
+ ); +} diff --git a/src/canvas/Canvas.tsx b/src/canvas/Canvas.tsx index f501d3b..19be8c9 100644 --- a/src/canvas/Canvas.tsx +++ b/src/canvas/Canvas.tsx @@ -3,19 +3,19 @@ import type { BoardState, Card, Viewport } from "./types"; import { ViewportContext } from "./viewport"; import { NoteCardView } from "./cards/NoteCardView"; import { TerminalCardView } from "./cards/TerminalCardView"; -import { board, pty } from "../ipc"; +import { pty } from "../ipc"; import "./canvas.css"; const MIN_SCALE = 0.1; const MAX_SCALE = 4; const ZOOM_SENSITIVITY = 0.0015; -const SAVE_DEBOUNCE_MS = 400; interface CanvasProps { initial: BoardState; + onChange: (state: BoardState) => void; } -export function Canvas({ initial }: CanvasProps) { +export function Canvas({ initial, onChange }: CanvasProps) { const [cards, setCards] = useState(initial.cards); const [vp, setVp] = useState(initial.viewport); const [spaceHeld, setSpaceHeld] = useState(false); @@ -27,19 +27,16 @@ export function Canvas({ initial }: CanvasProps) { Math.max(initial.maxZ, initial.cards.reduce((m, c) => Math.max(m, c.z), 0)), ); - // Auto-save the board whenever cards or viewport change. Debounced so a - // pan/drag/typing burst writes once after motion stops. + // Emit board state changes upward; App owns the debounced save. + const onChangeRef = useRef(onChange); + onChangeRef.current = onChange; useEffect(() => { - const handle = window.setTimeout(() => { - const state: BoardState = { - version: 1, - cards, - viewport: vp, - maxZ: maxZRef.current, - }; - board.save(state).catch((err) => console.error("board_save failed", err)); - }, SAVE_DEBOUNCE_MS); - return () => window.clearTimeout(handle); + onChangeRef.current({ + version: 1, + cards, + viewport: vp, + maxZ: maxZRef.current, + }); }, [cards, vp]); useEffect(() => { diff --git a/src/canvas/canvas.css b/src/canvas/canvas.css index e6eea98..204cf55 100644 --- a/src/canvas/canvas.css +++ b/src/canvas/canvas.css @@ -211,7 +211,7 @@ .toolbar { position: fixed; top: 12px; - left: 12px; + left: 220px; display: flex; gap: 6px; padding: 6px; @@ -220,6 +220,160 @@ z-index: 1000; } +.board-switcher { + position: fixed; + top: 12px; + left: 12px; + z-index: 1001; +} + +.board-switcher-trigger { + display: flex; + align-items: center; + gap: 8px; + background: rgba(0, 0, 0, 0.6); + color: var(--text); + border: 1px solid var(--card-border); + border-radius: 8px; + padding: 7px 12px; + font-size: 12px; + font-family: inherit; + cursor: pointer; + min-width: 180px; + max-width: 260px; +} + +.board-switcher-trigger:hover { + border-color: var(--accent); +} + +.board-switcher-name { + flex: 1; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; + text-align: left; +} + +.board-switcher-caret { + opacity: 0.6; + font-size: 10px; +} + +.board-switcher-menu { + position: absolute; + top: calc(100% + 4px); + left: 0; + min-width: 220px; + background: var(--card-bg, #2a2a32); + border: 1px solid var(--card-border); + border-radius: 8px; + padding: 4px; + box-shadow: 0 8px 24px rgba(0, 0, 0, 0.5); + display: flex; + flex-direction: column; + gap: 1px; +} + +.board-switcher-row { + display: flex; + align-items: center; + border-radius: 5px; + padding: 0 2px 0 0; +} + +.board-switcher-row:hover { + background: rgba(255, 255, 255, 0.06); +} + +.board-switcher-row.is-current { + background: rgba(255, 255, 255, 0.04); +} + +.board-switcher-name-btn { + flex: 1; + display: flex; + align-items: center; + justify-content: space-between; + gap: 8px; + background: transparent; + border: none; + color: var(--text); + font-family: inherit; + font-size: 12px; + text-align: left; + padding: 7px 10px; + cursor: pointer; + overflow: hidden; + text-overflow: ellipsis; + white-space: nowrap; +} + +.board-switcher-dot { + font-size: 8px; + opacity: 0.6; +} + +.board-switcher-delete { + flex-shrink: 0; + width: 22px; + height: 22px; + background: transparent; + border: none; + border-radius: 4px; + color: var(--text); + opacity: 0; + font-size: 14px; + line-height: 1; + cursor: pointer; + padding: 0; +} + +.board-switcher-row:hover .board-switcher-delete { + opacity: 0.5; +} + +.board-switcher-delete:hover { + background: rgba(255, 80, 80, 0.25); + opacity: 1 !important; +} + +.board-switcher-input { + flex: 1; + background: transparent; + border: 1px solid var(--accent, #4f87ff); + border-radius: 5px; + color: var(--text); + font-family: inherit; + font-size: 12px; + padding: 6px 10px; + outline: none; +} + +.board-switcher-divider { + height: 1px; + background: var(--card-border); + margin: 4px 2px; +} + +.board-switcher-new { + background: transparent; + border: none; + color: var(--text); + font-family: inherit; + font-size: 12px; + text-align: left; + padding: 7px 10px; + border-radius: 5px; + cursor: pointer; + opacity: 0.75; +} + +.board-switcher-new:hover { + background: rgba(255, 255, 255, 0.06); + opacity: 1; +} + .toolbar button { background: var(--card-bg); color: var(--text); diff --git a/src/canvas/types.ts b/src/canvas/types.ts index 9e80321..cafde54 100644 --- a/src/canvas/types.ts +++ b/src/canvas/types.ts @@ -44,3 +44,14 @@ export interface BoardState { viewport: Viewport; maxZ: number; } + +export interface BoardMeta { + id: string; + name: string; +} + +export interface BoardIndex { + version: number; + currentBoardId: string; + boards: BoardMeta[]; +} diff --git a/src/ipc.ts b/src/ipc.ts index 4313866..79978e3 100644 --- a/src/ipc.ts +++ b/src/ipc.ts @@ -1,6 +1,6 @@ import { invoke } from "@tauri-apps/api/core"; import { listen, type UnlistenFn } from "@tauri-apps/api/event"; -import type { BoardState } from "./canvas/types"; +import type { BoardIndex, BoardMeta, BoardState } from "./canvas/types"; export interface PtySpawnOpts { cols: number; @@ -51,6 +51,13 @@ export function stringToBase64(s: string): string { } export const board = { - save: (state: BoardState) => invoke("board_save", { state }), - load: () => invoke("board_load"), + loadIndex: () => invoke("boards_load_index"), + setCurrent: (id: string) => invoke("boards_set_current", { id }), + load: (id: string) => invoke("board_load", { id }), + save: (id: string, state: BoardState) => + invoke("board_save", { id, state }), + create: (name: string) => invoke("board_create", { name }), + rename: (id: string, name: string) => + invoke("board_rename", { id, name }), + delete: (id: string) => invoke("board_delete", { id }), };