notjs-react 0.1.4
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/README.md +59 -0
- package/dist/NotJS.d.ts +17 -0
- package/dist/NotJS.d.ts.map +1 -0
- package/dist/index.cjs +114 -0
- package/dist/index.cjs.map +1 -0
- package/dist/index.d.ts +3 -0
- package/dist/index.d.ts.map +1 -0
- package/dist/index.js +9500 -0
- package/dist/index.js.map +1 -0
- package/dist/notjs-react.css +32 -0
- package/package.json +57 -0
|
@@ -0,0 +1 @@
|
|
|
1
|
+
{"version":3,"file":"index.js","sources":["../../node_modules/@monaco-editor/loader/lib/es/_virtual/_rollupPluginBabelHelpers.js","../../node_modules/state-local/lib/es/state-local.js","../../node_modules/@monaco-editor/loader/lib/es/config/index.js","../../node_modules/@monaco-editor/loader/lib/es/utils/curry.js","../../node_modules/@monaco-editor/loader/lib/es/utils/isObject.js","../../node_modules/@monaco-editor/loader/lib/es/validators/index.js","../../node_modules/@monaco-editor/loader/lib/es/utils/compose.js","../../node_modules/@monaco-editor/loader/lib/es/utils/deepMerge.js","../../node_modules/@monaco-editor/loader/lib/es/utils/makeCancelable.js","../../node_modules/@monaco-editor/loader/lib/es/loader/index.js","../../node_modules/@monaco-editor/react/dist/index.mjs","../../node_modules/@xterm/xterm/lib/xterm.js","../../node_modules/@radix-ui/primitive/dist/index.mjs","../../node_modules/@radix-ui/react-compose-refs/dist/index.mjs","../../node_modules/@radix-ui/react-context/dist/index.mjs","../../node_modules/@radix-ui/react-slot/dist/index.mjs","../../node_modules/@radix-ui/react-primitive/dist/index.mjs","../../node_modules/@radix-ui/react-use-callback-ref/dist/index.mjs","../../node_modules/@radix-ui/react-use-escape-keydown/dist/index.mjs","../../node_modules/@radix-ui/react-dismissable-layer/dist/index.mjs","../../node_modules/@radix-ui/react-use-layout-effect/dist/index.mjs","../../node_modules/@radix-ui/react-id/dist/index.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.mjs","../../node_modules/@floating-ui/core/dist/floating-ui.core.mjs","../../node_modules/@floating-ui/utils/dist/floating-ui.utils.dom.mjs","../../node_modules/@floating-ui/dom/dist/floating-ui.dom.mjs","../../node_modules/@floating-ui/react-dom/dist/floating-ui.react-dom.mjs","../../node_modules/@radix-ui/react-arrow/dist/index.mjs","../../node_modules/@radix-ui/react-use-size/dist/index.mjs","../../node_modules/@radix-ui/react-popper/dist/index.mjs","../../node_modules/@radix-ui/react-portal/dist/index.mjs","../../node_modules/@radix-ui/react-presence/dist/index.mjs","../../node_modules/@radix-ui/react-use-controllable-state/dist/index.mjs","../../node_modules/@radix-ui/react-visually-hidden/dist/index.mjs","../../node_modules/@radix-ui/react-tooltip/dist/index.mjs","../../node_modules/lucide-react/dist/esm/shared/src/utils.js","../../node_modules/lucide-react/dist/esm/defaultAttributes.js","../../node_modules/lucide-react/dist/esm/Icon.js","../../node_modules/lucide-react/dist/esm/createLucideIcon.js","../../node_modules/lucide-react/dist/esm/icons/check.js","../../node_modules/lucide-react/dist/esm/icons/circle-alert.js","../../node_modules/lucide-react/dist/esm/icons/copy.js","../../node_modules/lucide-react/dist/esm/icons/moon.js","../../node_modules/lucide-react/dist/esm/icons/rotate-ccw.js","../../node_modules/lucide-react/dist/esm/icons/sun.js","../src/NotJS.tsx"],"sourcesContent":["function _arrayLikeToArray(r, a) {\n (null == a || a > r.length) && (a = r.length);\n for (var e = 0, n = Array(a); e < a; e++) n[e] = r[e];\n return n;\n}\nfunction _arrayWithHoles(r) {\n if (Array.isArray(r)) return r;\n}\nfunction _defineProperty(e, r, t) {\n return (r = _toPropertyKey(r)) in e ? Object.defineProperty(e, r, {\n value: t,\n enumerable: true,\n configurable: true,\n writable: true\n }) : e[r] = t, e;\n}\nfunction _iterableToArrayLimit(r, l) {\n var t = null == r ? null : \"undefined\" != typeof Symbol && r[Symbol.iterator] || r[\"@@iterator\"];\n if (null != t) {\n var e,\n n,\n i,\n u,\n a = [],\n f = true,\n o = false;\n try {\n if (i = (t = t.call(r)).next, 0 === l) ; else for (; !(f = (e = i.call(t)).done) && (a.push(e.value), a.length !== l); f = !0);\n } catch (r) {\n o = true, n = r;\n } finally {\n try {\n if (!f && null != t.return && (u = t.return(), Object(u) !== u)) return;\n } finally {\n if (o) throw n;\n }\n }\n return a;\n }\n}\nfunction _nonIterableRest() {\n throw new TypeError(\"Invalid attempt to destructure non-iterable instance.\\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.\");\n}\nfunction ownKeys(e, r) {\n var t = Object.keys(e);\n if (Object.getOwnPropertySymbols) {\n var o = Object.getOwnPropertySymbols(e);\n r && (o = o.filter(function (r) {\n return Object.getOwnPropertyDescriptor(e, r).enumerable;\n })), t.push.apply(t, o);\n }\n return t;\n}\nfunction _objectSpread2(e) {\n for (var r = 1; r < arguments.length; r++) {\n var t = null != arguments[r] ? arguments[r] : {};\n r % 2 ? ownKeys(Object(t), true).forEach(function (r) {\n _defineProperty(e, r, t[r]);\n }) : Object.getOwnPropertyDescriptors ? Object.defineProperties(e, Object.getOwnPropertyDescriptors(t)) : ownKeys(Object(t)).forEach(function (r) {\n Object.defineProperty(e, r, Object.getOwnPropertyDescriptor(t, r));\n });\n }\n return e;\n}\nfunction _objectWithoutProperties(e, t) {\n if (null == e) return {};\n var o,\n r,\n i = _objectWithoutPropertiesLoose(e, t);\n if (Object.getOwnPropertySymbols) {\n var n = Object.getOwnPropertySymbols(e);\n for (r = 0; r < n.length; r++) o = n[r], -1 === t.indexOf(o) && {}.propertyIsEnumerable.call(e, o) && (i[o] = e[o]);\n }\n return i;\n}\nfunction _objectWithoutPropertiesLoose(r, e) {\n if (null == r) return {};\n var t = {};\n for (var n in r) if ({}.hasOwnProperty.call(r, n)) {\n if (-1 !== e.indexOf(n)) continue;\n t[n] = r[n];\n }\n return t;\n}\nfunction _slicedToArray(r, e) {\n return _arrayWithHoles(r) || _iterableToArrayLimit(r, e) || _unsupportedIterableToArray(r, e) || _nonIterableRest();\n}\nfunction _toPrimitive(t, r) {\n if (\"object\" != typeof t || !t) return t;\n var e = t[Symbol.toPrimitive];\n if (void 0 !== e) {\n var i = e.call(t, r);\n if (\"object\" != typeof i) return i;\n throw new TypeError(\"@@toPrimitive must return a primitive value.\");\n }\n return (\"string\" === r ? String : Number)(t);\n}\nfunction _toPropertyKey(t) {\n var i = _toPrimitive(t, \"string\");\n return \"symbol\" == typeof i ? i : i + \"\";\n}\nfunction _unsupportedIterableToArray(r, a) {\n if (r) {\n if (\"string\" == typeof r) return _arrayLikeToArray(r, a);\n var t = {}.toString.call(r).slice(8, -1);\n return \"Object\" === t && r.constructor && (t = r.constructor.name), \"Map\" === t || \"Set\" === t ? Array.from(r) : \"Arguments\" === t || /^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(t) ? _arrayLikeToArray(r, a) : void 0;\n }\n}\n\nexport { _arrayLikeToArray as arrayLikeToArray, _arrayWithHoles as arrayWithHoles, _defineProperty as defineProperty, _iterableToArrayLimit as iterableToArrayLimit, _nonIterableRest as nonIterableRest, _objectSpread2 as objectSpread2, _objectWithoutProperties as objectWithoutProperties, _objectWithoutPropertiesLoose as objectWithoutPropertiesLoose, _slicedToArray as slicedToArray, _toPrimitive as toPrimitive, _toPropertyKey as toPropertyKey, _unsupportedIterableToArray as unsupportedIterableToArray };\n","function _defineProperty(obj, key, value) {\n if (key in obj) {\n Object.defineProperty(obj, key, {\n value: value,\n enumerable: true,\n configurable: true,\n writable: true\n });\n } else {\n obj[key] = value;\n }\n\n return obj;\n}\n\nfunction ownKeys(object, enumerableOnly) {\n var keys = Object.keys(object);\n\n if (Object.getOwnPropertySymbols) {\n var symbols = Object.getOwnPropertySymbols(object);\n if (enumerableOnly) symbols = symbols.filter(function (sym) {\n return Object.getOwnPropertyDescriptor(object, sym).enumerable;\n });\n keys.push.apply(keys, symbols);\n }\n\n return keys;\n}\n\nfunction _objectSpread2(target) {\n for (var i = 1; i < arguments.length; i++) {\n var source = arguments[i] != null ? arguments[i] : {};\n\n if (i % 2) {\n ownKeys(Object(source), true).forEach(function (key) {\n _defineProperty(target, key, source[key]);\n });\n } else if (Object.getOwnPropertyDescriptors) {\n Object.defineProperties(target, Object.getOwnPropertyDescriptors(source));\n } else {\n ownKeys(Object(source)).forEach(function (key) {\n Object.defineProperty(target, key, Object.getOwnPropertyDescriptor(source, key));\n });\n }\n }\n\n return target;\n}\n\nfunction compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n}\n\nfunction curry(fn) {\n return function curried() {\n var _this = this;\n\n for (var _len2 = arguments.length, args = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n args[_key2] = arguments[_key2];\n }\n\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len3 = arguments.length, nextArgs = new Array(_len3), _key3 = 0; _key3 < _len3; _key3++) {\n nextArgs[_key3] = arguments[_key3];\n }\n\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nfunction isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nfunction isEmpty(obj) {\n return !Object.keys(obj).length;\n}\n\nfunction isFunction(value) {\n return typeof value === 'function';\n}\n\nfunction hasOwnProperty(object, property) {\n return Object.prototype.hasOwnProperty.call(object, property);\n}\n\nfunction validateChanges(initial, changes) {\n if (!isObject(changes)) errorHandler('changeType');\n if (Object.keys(changes).some(function (field) {\n return !hasOwnProperty(initial, field);\n })) errorHandler('changeField');\n return changes;\n}\n\nfunction validateSelector(selector) {\n if (!isFunction(selector)) errorHandler('selectorType');\n}\n\nfunction validateHandler(handler) {\n if (!(isFunction(handler) || isObject(handler))) errorHandler('handlerType');\n if (isObject(handler) && Object.values(handler).some(function (_handler) {\n return !isFunction(_handler);\n })) errorHandler('handlersType');\n}\n\nfunction validateInitial(initial) {\n if (!initial) errorHandler('initialIsRequired');\n if (!isObject(initial)) errorHandler('initialType');\n if (isEmpty(initial)) errorHandler('initialContent');\n}\n\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\n\nvar errorMessages = {\n initialIsRequired: 'initial state is required',\n initialType: 'initial state should be an object',\n initialContent: 'initial state shouldn\\'t be an empty object',\n handlerType: 'handler should be an object or a function',\n handlersType: 'all handlers should be a functions',\n selectorType: 'selector should be a function',\n changeType: 'provided value of changes should be an object',\n changeField: 'it seams you want to change a field in the state which is not specified in the \"initial\" state',\n \"default\": 'an unknown error accured in `state-local` package'\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n changes: validateChanges,\n selector: validateSelector,\n handler: validateHandler,\n initial: validateInitial\n};\n\nfunction create(initial) {\n var handler = arguments.length > 1 && arguments[1] !== undefined ? arguments[1] : {};\n validators.initial(initial);\n validators.handler(handler);\n var state = {\n current: initial\n };\n var didUpdate = curry(didStateUpdate)(state, handler);\n var update = curry(updateState)(state);\n var validate = curry(validators.changes)(initial);\n var getChanges = curry(extractChanges)(state);\n\n function getState() {\n var selector = arguments.length > 0 && arguments[0] !== undefined ? arguments[0] : function (state) {\n return state;\n };\n validators.selector(selector);\n return selector(state.current);\n }\n\n function setState(causedChanges) {\n compose(didUpdate, update, validate, getChanges)(causedChanges);\n }\n\n return [getState, setState];\n}\n\nfunction extractChanges(state, causedChanges) {\n return isFunction(causedChanges) ? causedChanges(state.current) : causedChanges;\n}\n\nfunction updateState(state, changes) {\n state.current = _objectSpread2(_objectSpread2({}, state.current), changes);\n return changes;\n}\n\nfunction didStateUpdate(state, handler, changes) {\n isFunction(handler) ? handler(state.current) : Object.keys(changes).forEach(function (field) {\n var _handler$field;\n\n return (_handler$field = handler[field]) === null || _handler$field === void 0 ? void 0 : _handler$field.call(handler, state.current[field]);\n });\n return changes;\n}\n\nvar index = {\n create: create\n};\n\nexport default index;\n","var config = {\n paths: {\n vs: 'https://cdn.jsdelivr.net/npm/monaco-editor@0.55.1/min/vs'\n }\n};\n\nexport { config as default };\n","function curry(fn) {\n return function curried() {\n var _this = this;\n for (var _len = arguments.length, args = new Array(_len), _key = 0; _key < _len; _key++) {\n args[_key] = arguments[_key];\n }\n return args.length >= fn.length ? fn.apply(this, args) : function () {\n for (var _len2 = arguments.length, nextArgs = new Array(_len2), _key2 = 0; _key2 < _len2; _key2++) {\n nextArgs[_key2] = arguments[_key2];\n }\n return curried.apply(_this, [].concat(args, nextArgs));\n };\n };\n}\n\nexport { curry as default };\n","function isObject(value) {\n return {}.toString.call(value).includes('Object');\n}\n\nexport { isObject as default };\n","import curry from '../utils/curry.js';\nimport isObject from '../utils/isObject.js';\n\n/**\n * validates the configuration object and informs about deprecation\n * @param {Object} config - the configuration object \n * @return {Object} config - the validated configuration object\n */\nfunction validateConfig(config) {\n if (!config) errorHandler('configIsRequired');\n if (!isObject(config)) errorHandler('configType');\n if (config.urls) {\n informAboutDeprecation();\n return {\n paths: {\n vs: config.urls.monacoBase\n }\n };\n }\n return config;\n}\n\n/**\n * logs deprecation message\n */\nfunction informAboutDeprecation() {\n console.warn(errorMessages.deprecation);\n}\nfunction throwError(errorMessages, type) {\n throw new Error(errorMessages[type] || errorMessages[\"default\"]);\n}\nvar errorMessages = {\n configIsRequired: 'the configuration object is required',\n configType: 'the configuration object should be an object',\n \"default\": 'an unknown error accured in `@monaco-editor/loader` package',\n deprecation: \"Deprecation warning!\\n You are using deprecated way of configuration.\\n\\n Instead of using\\n monaco.config({ urls: { monacoBase: '...' } })\\n use\\n monaco.config({ paths: { vs: '...' } })\\n\\n For more please check the link https://github.com/suren-atoyan/monaco-loader#config\\n \"\n};\nvar errorHandler = curry(throwError)(errorMessages);\nvar validators = {\n config: validateConfig\n};\n\nexport { validators as default, errorHandler, errorMessages };\n","var compose = function compose() {\n for (var _len = arguments.length, fns = new Array(_len), _key = 0; _key < _len; _key++) {\n fns[_key] = arguments[_key];\n }\n return function (x) {\n return fns.reduceRight(function (y, f) {\n return f(y);\n }, x);\n };\n};\n\nexport { compose as default };\n","import { objectSpread2 as _objectSpread2 } from '../_virtual/_rollupPluginBabelHelpers.js';\n\nfunction merge(target, source) {\n Object.keys(source).forEach(function (key) {\n if (source[key] instanceof Object) {\n if (target[key]) {\n Object.assign(source[key], merge(target[key], source[key]));\n }\n }\n });\n return _objectSpread2(_objectSpread2({}, target), source);\n}\n\nexport { merge as default };\n","// The source (has been changed) is https://github.com/facebook/react/issues/5465#issuecomment-157888325\n\nvar CANCELATION_MESSAGE = {\n type: 'cancelation',\n msg: 'operation is manually canceled'\n};\nfunction makeCancelable(promise) {\n var hasCanceled_ = false;\n var wrappedPromise = new Promise(function (resolve, reject) {\n promise.then(function (val) {\n return hasCanceled_ ? reject(CANCELATION_MESSAGE) : resolve(val);\n });\n promise[\"catch\"](reject);\n });\n return wrappedPromise.cancel = function () {\n return hasCanceled_ = true;\n }, wrappedPromise;\n}\n\nexport { CANCELATION_MESSAGE, makeCancelable as default };\n","import { slicedToArray as _slicedToArray, objectWithoutProperties as _objectWithoutProperties } from '../_virtual/_rollupPluginBabelHelpers.js';\nimport state from 'state-local';\nimport config$1 from '../config/index.js';\nimport validators from '../validators/index.js';\nimport compose from '../utils/compose.js';\nimport merge from '../utils/deepMerge.js';\nimport makeCancelable from '../utils/makeCancelable.js';\n\nvar _excluded = [\"monaco\"];\n\n/** the local state of the module */\nvar _state$create = state.create({\n config: config$1,\n isInitialized: false,\n resolve: null,\n reject: null,\n monaco: null\n }),\n _state$create2 = _slicedToArray(_state$create, 2),\n getState = _state$create2[0],\n setState = _state$create2[1];\n\n/**\n * set the loader configuration\n * @param {Object} config - the configuration object\n */\nfunction config(globalConfig) {\n var _validators$config = validators.config(globalConfig),\n monaco = _validators$config.monaco,\n config = _objectWithoutProperties(_validators$config, _excluded);\n setState(function (state) {\n return {\n config: merge(state.config, config),\n monaco: monaco\n };\n });\n}\n\n/**\n * handles the initialization of the monaco-editor\n * @return {Promise} - returns an instance of monaco (with a cancelable promise)\n */\nfunction init() {\n var state = getState(function (_ref) {\n var monaco = _ref.monaco,\n isInitialized = _ref.isInitialized,\n resolve = _ref.resolve;\n return {\n monaco: monaco,\n isInitialized: isInitialized,\n resolve: resolve\n };\n });\n if (!state.isInitialized) {\n setState({\n isInitialized: true\n });\n if (state.monaco) {\n state.resolve(state.monaco);\n return makeCancelable(wrapperPromise);\n }\n if (window.monaco && window.monaco.editor) {\n storeMonacoInstance(window.monaco);\n state.resolve(window.monaco);\n return makeCancelable(wrapperPromise);\n }\n compose(injectScripts, getMonacoLoaderScript)(configureLoader);\n }\n return makeCancelable(wrapperPromise);\n}\n\n/**\n * injects provided scripts into the document.body\n * @param {Object} script - an HTML script element\n * @return {Object} - the injected HTML script element\n */\nfunction injectScripts(script) {\n return document.body.appendChild(script);\n}\n\n/**\n * creates an HTML script element with/without provided src\n * @param {string} [src] - the source path of the script\n * @return {Object} - the created HTML script element\n */\nfunction createScript(src) {\n var script = document.createElement('script');\n return src && (script.src = src), script;\n}\n\n/**\n * creates an HTML script element with the monaco loader src\n * @return {Object} - the created HTML script element\n */\nfunction getMonacoLoaderScript(configureLoader) {\n var state = getState(function (_ref2) {\n var config = _ref2.config,\n reject = _ref2.reject;\n return {\n config: config,\n reject: reject\n };\n });\n var loaderScript = createScript(\"\".concat(state.config.paths.vs, \"/loader.js\"));\n loaderScript.onload = function () {\n return configureLoader();\n };\n loaderScript.onerror = state.reject;\n return loaderScript;\n}\n\n/**\n * configures the monaco loader\n */\nfunction configureLoader() {\n var state = getState(function (_ref3) {\n var config = _ref3.config,\n resolve = _ref3.resolve,\n reject = _ref3.reject;\n return {\n config: config,\n resolve: resolve,\n reject: reject\n };\n });\n var require = window.require;\n require.config(state.config);\n require(['vs/editor/editor.main'], function (loaded) {\n var monaco = loaded.m /* for 0.53 & 0.54 */ || loaded /* for other versions */;\n storeMonacoInstance(monaco);\n state.resolve(monaco);\n }, function (error) {\n state.reject(error);\n });\n}\n\n/**\n * store monaco instance in local state\n */\nfunction storeMonacoInstance(monaco) {\n if (!getState().monaco) {\n setState({\n monaco: monaco\n });\n }\n}\n\n/**\n * internal helper function\n * extracts stored monaco instance\n * @return {Object|null} - the monaco instance\n */\nfunction __getMonacoInstance() {\n return getState(function (_ref4) {\n var monaco = _ref4.monaco;\n return monaco;\n });\n}\nvar wrapperPromise = new Promise(function (resolve, reject) {\n return setState({\n resolve: resolve,\n reject: reject\n });\n});\nvar loader = {\n config: config,\n init: init,\n __getMonacoInstance: __getMonacoInstance\n};\n\nexport { loader as default };\n","import _t from\"@monaco-editor/loader\";import{memo as Te}from\"react\";import ke,{useState as re,useRef as S,useCallback as oe,useEffect as ne}from\"react\";import Se from\"@monaco-editor/loader\";import{memo as ye}from\"react\";import K from\"react\";var le={wrapper:{display:\"flex\",position:\"relative\",textAlign:\"initial\"},fullWidth:{width:\"100%\"},hide:{display:\"none\"}},v=le;import me from\"react\";var ae={container:{display:\"flex\",height:\"100%\",width:\"100%\",justifyContent:\"center\",alignItems:\"center\"}},Y=ae;function Me({children:e}){return me.createElement(\"div\",{style:Y.container},e)}var Z=Me;var $=Z;function Ee({width:e,height:r,isEditorReady:n,loading:t,_ref:a,className:m,wrapperProps:E}){return K.createElement(\"section\",{style:{...v.wrapper,width:e,height:r},...E},!n&&K.createElement($,null,t),K.createElement(\"div\",{ref:a,style:{...v.fullWidth,...!n&&v.hide},className:m}))}var ee=Ee;var H=ye(ee);import{useEffect as xe}from\"react\";function Ce(e){xe(e,[])}var k=Ce;import{useEffect as ge,useRef as Re}from\"react\";function he(e,r,n=!0){let t=Re(!0);ge(t.current||!n?()=>{t.current=!1}:e,r)}var l=he;function D(){}function h(e,r,n,t){return De(e,t)||be(e,r,n,t)}function De(e,r){return e.editor.getModel(te(e,r))}function be(e,r,n,t){return e.editor.createModel(r,n,t?te(e,t):void 0)}function te(e,r){return e.Uri.parse(r)}function Oe({original:e,modified:r,language:n,originalLanguage:t,modifiedLanguage:a,originalModelPath:m,modifiedModelPath:E,keepCurrentOriginalModel:g=!1,keepCurrentModifiedModel:N=!1,theme:x=\"light\",loading:P=\"Loading...\",options:y={},height:V=\"100%\",width:z=\"100%\",className:F,wrapperProps:j={},beforeMount:A=D,onMount:q=D}){let[M,O]=re(!1),[T,s]=re(!0),u=S(null),c=S(null),w=S(null),d=S(q),o=S(A),b=S(!1);k(()=>{let i=Se.init();return i.then(f=>(c.current=f)&&s(!1)).catch(f=>f?.type!==\"cancelation\"&&console.error(\"Monaco initialization: error:\",f)),()=>u.current?I():i.cancel()}),l(()=>{if(u.current&&c.current){let i=u.current.getOriginalEditor(),f=h(c.current,e||\"\",t||n||\"text\",m||\"\");f!==i.getModel()&&i.setModel(f)}},[m],M),l(()=>{if(u.current&&c.current){let i=u.current.getModifiedEditor(),f=h(c.current,r||\"\",a||n||\"text\",E||\"\");f!==i.getModel()&&i.setModel(f)}},[E],M),l(()=>{let i=u.current.getModifiedEditor();i.getOption(c.current.editor.EditorOption.readOnly)?i.setValue(r||\"\"):r!==i.getValue()&&(i.executeEdits(\"\",[{range:i.getModel().getFullModelRange(),text:r||\"\",forceMoveMarkers:!0}]),i.pushUndoStop())},[r],M),l(()=>{u.current?.getModel()?.original.setValue(e||\"\")},[e],M),l(()=>{let{original:i,modified:f}=u.current.getModel();c.current.editor.setModelLanguage(i,t||n||\"text\"),c.current.editor.setModelLanguage(f,a||n||\"text\")},[n,t,a],M),l(()=>{c.current?.editor.setTheme(x)},[x],M),l(()=>{u.current?.updateOptions(y)},[y],M);let L=oe(()=>{if(!c.current)return;o.current(c.current);let i=h(c.current,e||\"\",t||n||\"text\",m||\"\"),f=h(c.current,r||\"\",a||n||\"text\",E||\"\");u.current?.setModel({original:i,modified:f})},[n,r,a,e,t,m,E]),U=oe(()=>{!b.current&&w.current&&(u.current=c.current.editor.createDiffEditor(w.current,{automaticLayout:!0,...y}),L(),c.current?.editor.setTheme(x),O(!0),b.current=!0)},[y,x,L]);ne(()=>{M&&d.current(u.current,c.current)},[M]),ne(()=>{!T&&!M&&U()},[T,M,U]);function I(){let i=u.current?.getModel();g||i?.original?.dispose(),N||i?.modified?.dispose(),u.current?.dispose()}return ke.createElement(H,{width:z,height:V,isEditorReady:M,loading:P,_ref:w,className:F,wrapperProps:j})}var ie=Oe;var we=Te(ie);import{useState as Ie}from\"react\";import ce from\"@monaco-editor/loader\";function Pe(){let[e,r]=Ie(ce.__getMonacoInstance());return k(()=>{let n;return e||(n=ce.init(),n.then(t=>{r(t)})),()=>n?.cancel()}),e}var Le=Pe;import{memo as ze}from\"react\";import We,{useState as ue,useEffect as W,useRef as C,useCallback as _e}from\"react\";import Ne from\"@monaco-editor/loader\";import{useEffect as Ue,useRef as ve}from\"react\";function He(e){let r=ve();return Ue(()=>{r.current=e},[e]),r.current}var se=He;var _=new Map;function Ve({defaultValue:e,defaultLanguage:r,defaultPath:n,value:t,language:a,path:m,theme:E=\"light\",line:g,loading:N=\"Loading...\",options:x={},overrideServices:P={},saveViewState:y=!0,keepCurrentModel:V=!1,width:z=\"100%\",height:F=\"100%\",className:j,wrapperProps:A={},beforeMount:q=D,onMount:M=D,onChange:O,onValidate:T=D}){let[s,u]=ue(!1),[c,w]=ue(!0),d=C(null),o=C(null),b=C(null),L=C(M),U=C(q),I=C(),i=C(t),f=se(m),Q=C(!1),B=C(!1);k(()=>{let p=Ne.init();return p.then(R=>(d.current=R)&&w(!1)).catch(R=>R?.type!==\"cancelation\"&&console.error(\"Monaco initialization: error:\",R)),()=>o.current?pe():p.cancel()}),l(()=>{let p=h(d.current,e||t||\"\",r||a||\"\",m||n||\"\");p!==o.current?.getModel()&&(y&&_.set(f,o.current?.saveViewState()),o.current?.setModel(p),y&&o.current?.restoreViewState(_.get(m)))},[m],s),l(()=>{o.current?.updateOptions(x)},[x],s),l(()=>{!o.current||t===void 0||(o.current.getOption(d.current.editor.EditorOption.readOnly)?o.current.setValue(t):t!==o.current.getValue()&&(B.current=!0,o.current.executeEdits(\"\",[{range:o.current.getModel().getFullModelRange(),text:t,forceMoveMarkers:!0}]),o.current.pushUndoStop(),B.current=!1))},[t],s),l(()=>{let p=o.current?.getModel();p&&a&&d.current?.editor.setModelLanguage(p,a)},[a],s),l(()=>{g!==void 0&&o.current?.revealLine(g)},[g],s),l(()=>{d.current?.editor.setTheme(E)},[E],s);let X=_e(()=>{if(!(!b.current||!d.current)&&!Q.current){U.current(d.current);let p=m||n,R=h(d.current,t||e||\"\",r||a||\"\",p||\"\");o.current=d.current?.editor.create(b.current,{model:R,automaticLayout:!0,...x},P),y&&o.current.restoreViewState(_.get(p)),d.current.editor.setTheme(E),g!==void 0&&o.current.revealLine(g),u(!0),Q.current=!0}},[e,r,n,t,a,m,x,P,y,E,g]);W(()=>{s&&L.current(o.current,d.current)},[s]),W(()=>{!c&&!s&&X()},[c,s,X]),i.current=t,W(()=>{s&&O&&(I.current?.dispose(),I.current=o.current?.onDidChangeModelContent(p=>{B.current||O(o.current.getValue(),p)}))},[s,O]),W(()=>{if(s){let p=d.current.editor.onDidChangeMarkers(R=>{let G=o.current.getModel()?.uri;if(G&&R.find(J=>J.path===G.path)){let J=d.current.editor.getModelMarkers({resource:G});T?.(J)}});return()=>{p?.dispose()}}return()=>{}},[s,T]);function pe(){I.current?.dispose(),V?y&&_.set(m,o.current.saveViewState()):o.current.getModel()?.dispose(),o.current.dispose()}return We.createElement(H,{width:z,height:F,isEditorReady:s,loading:N,_ref:b,className:j,wrapperProps:A})}var fe=Ve;var de=ze(fe);var Ft=de;export{we as DiffEditor,de as Editor,Ft as default,_t as loader,Le as useMonaco};\n//# sourceMappingURL=index.mjs.map","!function(e,t){if(\"object\"==typeof exports&&\"object\"==typeof module)module.exports=t();else if(\"function\"==typeof define&&define.amd)define([],t);else{var i=t();for(var s in i)(\"object\"==typeof exports?exports:e)[s]=i[s]}}(globalThis,(()=>(()=>{\"use strict\";var e={4567:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.AccessibilityManager=void 0;const n=i(9042),o=i(9924),a=i(844),h=i(4725),c=i(2585),l=i(3656);let d=t.AccessibilityManager=class extends a.Disposable{constructor(e,t,i,s){super(),this._terminal=e,this._coreBrowserService=i,this._renderService=s,this._rowColumns=new WeakMap,this._liveRegionLineCount=0,this._charsToConsume=[],this._charsToAnnounce=\"\",this._accessibilityContainer=this._coreBrowserService.mainDocument.createElement(\"div\"),this._accessibilityContainer.classList.add(\"xterm-accessibility\"),this._rowContainer=this._coreBrowserService.mainDocument.createElement(\"div\"),this._rowContainer.setAttribute(\"role\",\"list\"),this._rowContainer.classList.add(\"xterm-accessibility-tree\"),this._rowElements=[];for(let e=0;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);if(this._topBoundaryFocusListener=e=>this._handleBoundaryFocus(e,0),this._bottomBoundaryFocusListener=e=>this._handleBoundaryFocus(e,1),this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._refreshRowsDimensions(),this._accessibilityContainer.appendChild(this._rowContainer),this._liveRegion=this._coreBrowserService.mainDocument.createElement(\"div\"),this._liveRegion.classList.add(\"live-region\"),this._liveRegion.setAttribute(\"aria-live\",\"assertive\"),this._accessibilityContainer.appendChild(this._liveRegion),this._liveRegionDebouncer=this.register(new o.TimeBasedDebouncer(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((e=>this._handleResize(e.rows)))),this.register(this._terminal.onRender((e=>this._refreshRows(e.start,e.end)))),this.register(this._terminal.onScroll((()=>this._refreshRows()))),this.register(this._terminal.onA11yChar((e=>this._handleChar(e)))),this.register(this._terminal.onLineFeed((()=>this._handleChar(\"\\n\")))),this.register(this._terminal.onA11yTab((e=>this._handleTab(e)))),this.register(this._terminal.onKey((e=>this._handleKey(e.key)))),this.register(this._terminal.onBlur((()=>this._clearLiveRegion()))),this.register(this._renderService.onDimensionsChange((()=>this._refreshRowsDimensions()))),this.register((0,l.addDisposableDomListener)(document,\"selectionchange\",(()=>this._handleSelectionChange()))),this.register(this._coreBrowserService.onDprChange((()=>this._refreshRowsDimensions()))),this._refreshRows(),this.register((0,a.toDisposable)((()=>{this._accessibilityContainer.remove(),this._rowElements.length=0})))}_handleTab(e){for(let t=0;t<e;t++)this._handleChar(\" \")}_handleChar(e){this._liveRegionLineCount<21&&(this._charsToConsume.length>0?this._charsToConsume.shift()!==e&&(this._charsToAnnounce+=e):this._charsToAnnounce+=e,\"\\n\"===e&&(this._liveRegionLineCount++,21===this._liveRegionLineCount&&(this._liveRegion.textContent+=n.tooMuchOutput)))}_clearLiveRegion(){this._liveRegion.textContent=\"\",this._liveRegionLineCount=0}_handleKey(e){this._clearLiveRegion(),/\\p{Control}/u.test(e)||this._charsToConsume.push(e)}_refreshRows(e,t){this._liveRegionDebouncer.refresh(e,t,this._terminal.rows)}_renderRows(e,t){const i=this._terminal.buffer,s=i.lines.length.toString();for(let r=e;r<=t;r++){const e=i.lines.get(i.ydisp+r),t=[],n=e?.translateToString(!0,void 0,void 0,t)||\"\",o=(i.ydisp+r+1).toString(),a=this._rowElements[r];a&&(0===n.length?(a.innerText=\" \",this._rowColumns.set(a,[0,1])):(a.textContent=n,this._rowColumns.set(a,t)),a.setAttribute(\"aria-posinset\",o),a.setAttribute(\"aria-setsize\",s))}this._announceCharacters()}_announceCharacters(){0!==this._charsToAnnounce.length&&(this._liveRegion.textContent+=this._charsToAnnounce,this._charsToAnnounce=\"\")}_handleBoundaryFocus(e,t){const i=e.target,s=this._rowElements[0===t?1:this._rowElements.length-2];if(i.getAttribute(\"aria-posinset\")===(0===t?\"1\":`${this._terminal.buffer.lines.length}`))return;if(e.relatedTarget!==s)return;let r,n;if(0===t?(r=i,n=this._rowElements.pop(),this._rowContainer.removeChild(n)):(r=this._rowElements.shift(),n=i,this._rowContainer.removeChild(r)),r.removeEventListener(\"focus\",this._topBoundaryFocusListener),n.removeEventListener(\"focus\",this._bottomBoundaryFocusListener),0===t){const e=this._createAccessibilityTreeNode();this._rowElements.unshift(e),this._rowContainer.insertAdjacentElement(\"afterbegin\",e)}else{const e=this._createAccessibilityTreeNode();this._rowElements.push(e),this._rowContainer.appendChild(e)}this._rowElements[0].addEventListener(\"focus\",this._topBoundaryFocusListener),this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._terminal.scrollLines(0===t?-1:1),this._rowElements[0===t?1:this._rowElements.length-2].focus(),e.preventDefault(),e.stopImmediatePropagation()}_handleSelectionChange(){if(0===this._rowElements.length)return;const e=document.getSelection();if(!e)return;if(e.isCollapsed)return void(this._rowContainer.contains(e.anchorNode)&&this._terminal.clearSelection());if(!e.anchorNode||!e.focusNode)return void console.error(\"anchorNode and/or focusNode are null\");let t={node:e.anchorNode,offset:e.anchorOffset},i={node:e.focusNode,offset:e.focusOffset};if((t.node.compareDocumentPosition(i.node)&Node.DOCUMENT_POSITION_PRECEDING||t.node===i.node&&t.offset>i.offset)&&([t,i]=[i,t]),t.node.compareDocumentPosition(this._rowElements[0])&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_FOLLOWING)&&(t={node:this._rowElements[0].childNodes[0],offset:0}),!this._rowContainer.contains(t.node))return;const s=this._rowElements.slice(-1)[0];if(i.node.compareDocumentPosition(s)&(Node.DOCUMENT_POSITION_CONTAINED_BY|Node.DOCUMENT_POSITION_PRECEDING)&&(i={node:s,offset:s.textContent?.length??0}),!this._rowContainer.contains(i.node))return;const r=({node:e,offset:t})=>{const i=e instanceof Text?e.parentNode:e;let s=parseInt(i?.getAttribute(\"aria-posinset\"),10)-1;if(isNaN(s))return console.warn(\"row is invalid. Race condition?\"),null;const r=this._rowColumns.get(i);if(!r)return console.warn(\"columns is null. Race condition?\"),null;let n=t<r.length?r[t]:r.slice(-1)[0]+1;return n>=this._terminal.cols&&(++s,n=0),{row:s,column:n}},n=r(t),o=r(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(e){this._rowElements[this._rowElements.length-1].removeEventListener(\"focus\",this._bottomBoundaryFocusListener);for(let e=this._rowContainer.children.length;e<this._terminal.rows;e++)this._rowElements[e]=this._createAccessibilityTreeNode(),this._rowContainer.appendChild(this._rowElements[e]);for(;this._rowElements.length>e;)this._rowContainer.removeChild(this._rowElements.pop());this._rowElements[this._rowElements.length-1].addEventListener(\"focus\",this._bottomBoundaryFocusListener),this._refreshRowsDimensions()}_createAccessibilityTreeNode(){const e=this._coreBrowserService.mainDocument.createElement(\"div\");return e.setAttribute(\"role\",\"listitem\"),e.tabIndex=-1,this._refreshRowDimensions(e),e}_refreshRowsDimensions(){if(this._renderService.dimensions.css.cell.height){this._accessibilityContainer.style.width=`${this._renderService.dimensions.css.canvas.width}px`,this._rowElements.length!==this._terminal.rows&&this._handleResize(this._terminal.rows);for(let e=0;e<this._terminal.rows;e++)this._refreshRowDimensions(this._rowElements[e])}}_refreshRowDimensions(e){e.style.height=`${this._renderService.dimensions.css.cell.height}px`}};t.AccessibilityManager=d=s([r(1,c.IInstantiationService),r(2,h.ICoreBrowserService),r(3,h.IRenderService)],d)},3614:(e,t)=>{function i(e){return e.replace(/\\r?\\n/g,\"\\r\")}function s(e,t){return t?\"\u001b[200~\"+e+\"\u001b[201~\":e}function r(e,t,r,n){e=s(e=i(e),r.decPrivateModes.bracketedPasteMode&&!0!==n.rawOptions.ignoreBracketedPasteMode),r.triggerDataEvent(e,!0),t.value=\"\"}function n(e,t,i){const s=i.getBoundingClientRect(),r=e.clientX-s.left-10,n=e.clientY-s.top-10;t.style.width=\"20px\",t.style.height=\"20px\",t.style.left=`${r}px`,t.style.top=`${n}px`,t.style.zIndex=\"1000\",t.focus()}Object.defineProperty(t,\"__esModule\",{value:!0}),t.rightClickHandler=t.moveTextAreaUnderMouseCursor=t.paste=t.handlePasteEvent=t.copyHandler=t.bracketTextForPaste=t.prepareTextForTerminal=void 0,t.prepareTextForTerminal=i,t.bracketTextForPaste=s,t.copyHandler=function(e,t){e.clipboardData&&e.clipboardData.setData(\"text/plain\",t.selectionText),e.preventDefault()},t.handlePasteEvent=function(e,t,i,s){e.stopPropagation(),e.clipboardData&&r(e.clipboardData.getData(\"text/plain\"),t,i,s)},t.paste=r,t.moveTextAreaUnderMouseCursor=n,t.rightClickHandler=function(e,t,i,s,r){n(e,t,i),r&&s.rightClickSelect(e),t.value=s.selectionText,t.select()}},7239:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorContrastCache=void 0;const s=i(1505);t.ColorContrastCache=class{constructor(){this._color=new s.TwoKeyMap,this._css=new s.TwoKeyMap}setCss(e,t,i){this._css.set(e,t,i)}getCss(e,t){return this._css.get(e,t)}setColor(e,t,i){this._color.set(e,t,i)}getColor(e,t){return this._color.get(e,t)}clear(){this._color.clear(),this._css.clear()}}},3656:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.addDisposableDomListener=void 0,t.addDisposableDomListener=function(e,t,i,s){e.addEventListener(t,i,s);let r=!1;return{dispose:()=>{r||(r=!0,e.removeEventListener(t,i,s))}}}},3551:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Linkifier=void 0;const n=i(3656),o=i(8460),a=i(844),h=i(2585),c=i(4725);let l=t.Linkifier=class extends a.Disposable{get currentLink(){return this._currentLink}constructor(e,t,i,s,r){super(),this._element=e,this._mouseService=t,this._renderService=i,this._bufferService=s,this._linkProviderService=r,this._linkCacheDisposables=[],this._isMouseOut=!0,this._wasResized=!1,this._activeLine=-1,this._onShowLinkUnderline=this.register(new o.EventEmitter),this.onShowLinkUnderline=this._onShowLinkUnderline.event,this._onHideLinkUnderline=this.register(new o.EventEmitter),this.onHideLinkUnderline=this._onHideLinkUnderline.event,this.register((0,a.getDisposeArrayDisposable)(this._linkCacheDisposables)),this.register((0,a.toDisposable)((()=>{this._lastMouseEvent=void 0,this._activeProviderReplies?.clear()}))),this.register(this._bufferService.onResize((()=>{this._clearCurrentLink(),this._wasResized=!0}))),this.register((0,n.addDisposableDomListener)(this._element,\"mouseleave\",(()=>{this._isMouseOut=!0,this._clearCurrentLink()}))),this.register((0,n.addDisposableDomListener)(this._element,\"mousemove\",this._handleMouseMove.bind(this))),this.register((0,n.addDisposableDomListener)(this._element,\"mousedown\",this._handleMouseDown.bind(this))),this.register((0,n.addDisposableDomListener)(this._element,\"mouseup\",this._handleMouseUp.bind(this)))}_handleMouseMove(e){this._lastMouseEvent=e;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);if(!t)return;this._isMouseOut=!1;const i=e.composedPath();for(let e=0;e<i.length;e++){const t=i[e];if(t.classList.contains(\"xterm\"))break;if(t.classList.contains(\"xterm-hover\"))return}this._lastBufferCell&&t.x===this._lastBufferCell.x&&t.y===this._lastBufferCell.y||(this._handleHover(t),this._lastBufferCell=t)}_handleHover(e){if(this._activeLine!==e.y||this._wasResized)return this._clearCurrentLink(),this._askForLink(e,!1),void(this._wasResized=!1);this._currentLink&&this._linkAtPosition(this._currentLink.link,e)||(this._clearCurrentLink(),this._askForLink(e,!0))}_askForLink(e,t){this._activeProviderReplies&&t||(this._activeProviderReplies?.forEach((e=>{e?.forEach((e=>{e.link.dispose&&e.link.dispose()}))})),this._activeProviderReplies=new Map,this._activeLine=e.y);let i=!1;for(const[s,r]of this._linkProviderService.linkProviders.entries())if(t){const t=this._activeProviderReplies?.get(s);t&&(i=this._checkLinkProviderResult(s,e,i))}else r.provideLinks(e.y,(t=>{if(this._isMouseOut)return;const r=t?.map((e=>({link:e})));this._activeProviderReplies?.set(s,r),i=this._checkLinkProviderResult(s,e,i),this._activeProviderReplies?.size===this._linkProviderService.linkProviders.length&&this._removeIntersectingLinks(e.y,this._activeProviderReplies)}))}_removeIntersectingLinks(e,t){const i=new Set;for(let s=0;s<t.size;s++){const r=t.get(s);if(r)for(let t=0;t<r.length;t++){const s=r[t],n=s.link.range.start.y<e?0:s.link.range.start.x,o=s.link.range.end.y>e?this._bufferService.cols:s.link.range.end.x;for(let e=n;e<=o;e++){if(i.has(e)){r.splice(t--,1);break}i.add(e)}}}}_checkLinkProviderResult(e,t,i){if(!this._activeProviderReplies)return i;const s=this._activeProviderReplies.get(e);let r=!1;for(let t=0;t<e;t++)this._activeProviderReplies.has(t)&&!this._activeProviderReplies.get(t)||(r=!0);if(!r&&s){const e=s.find((e=>this._linkAtPosition(e.link,t)));e&&(i=!0,this._handleNewLink(e))}if(this._activeProviderReplies.size===this._linkProviderService.linkProviders.length&&!i)for(let e=0;e<this._activeProviderReplies.size;e++){const s=this._activeProviderReplies.get(e)?.find((e=>this._linkAtPosition(e.link,t)));if(s){i=!0,this._handleNewLink(s);break}}return i}_handleMouseDown(){this._mouseDownLink=this._currentLink}_handleMouseUp(e){if(!this._currentLink)return;const t=this._positionFromMouseEvent(e,this._element,this._mouseService);t&&this._mouseDownLink===this._currentLink&&this._linkAtPosition(this._currentLink.link,t)&&this._currentLink.link.activate(e,this._currentLink.link.text)}_clearCurrentLink(e,t){this._currentLink&&this._lastMouseEvent&&(!e||!t||this._currentLink.link.range.start.y>=e&&this._currentLink.link.range.end.y<=t)&&(this._linkLeave(this._element,this._currentLink.link,this._lastMouseEvent),this._currentLink=void 0,(0,a.disposeArray)(this._linkCacheDisposables))}_handleNewLink(e){if(!this._lastMouseEvent)return;const t=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);t&&this._linkAtPosition(e.link,t)&&(this._currentLink=e,this._currentLink.state={decorations:{underline:void 0===e.link.decorations||e.link.decorations.underline,pointerCursor:void 0===e.link.decorations||e.link.decorations.pointerCursor},isHovered:!0},this._linkHover(this._element,e.link,this._lastMouseEvent),e.link.decorations={},Object.defineProperties(e.link.decorations,{pointerCursor:{get:()=>this._currentLink?.state?.decorations.pointerCursor,set:e=>{this._currentLink?.state&&this._currentLink.state.decorations.pointerCursor!==e&&(this._currentLink.state.decorations.pointerCursor=e,this._currentLink.state.isHovered&&this._element.classList.toggle(\"xterm-cursor-pointer\",e))}},underline:{get:()=>this._currentLink?.state?.decorations.underline,set:t=>{this._currentLink?.state&&this._currentLink?.state?.decorations.underline!==t&&(this._currentLink.state.decorations.underline=t,this._currentLink.state.isHovered&&this._fireUnderlineEvent(e.link,t))}}}),this._linkCacheDisposables.push(this._renderService.onRenderedViewportChange((e=>{if(!this._currentLink)return;const t=0===e.start?0:e.start+1+this._bufferService.buffer.ydisp,i=this._bufferService.buffer.ydisp+1+e.end;if(this._currentLink.link.range.start.y>=t&&this._currentLink.link.range.end.y<=i&&(this._clearCurrentLink(t,i),this._lastMouseEvent)){const e=this._positionFromMouseEvent(this._lastMouseEvent,this._element,this._mouseService);e&&this._askForLink(e,!1)}}))))}_linkHover(e,t,i){this._currentLink?.state&&(this._currentLink.state.isHovered=!0,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!0),this._currentLink.state.decorations.pointerCursor&&e.classList.add(\"xterm-cursor-pointer\")),t.hover&&t.hover(i,t.text)}_fireUnderlineEvent(e,t){const i=e.range,s=this._bufferService.buffer.ydisp,r=this._createLinkUnderlineEvent(i.start.x-1,i.start.y-s-1,i.end.x,i.end.y-s-1,void 0);(t?this._onShowLinkUnderline:this._onHideLinkUnderline).fire(r)}_linkLeave(e,t,i){this._currentLink?.state&&(this._currentLink.state.isHovered=!1,this._currentLink.state.decorations.underline&&this._fireUnderlineEvent(t,!1),this._currentLink.state.decorations.pointerCursor&&e.classList.remove(\"xterm-cursor-pointer\")),t.leave&&t.leave(i,t.text)}_linkAtPosition(e,t){const i=e.range.start.y*this._bufferService.cols+e.range.start.x,s=e.range.end.y*this._bufferService.cols+e.range.end.x,r=t.y*this._bufferService.cols+t.x;return i<=r&&r<=s}_positionFromMouseEvent(e,t,i){const s=i.getCoords(e,t,this._bufferService.cols,this._bufferService.rows);if(s)return{x:s[0],y:s[1]+this._bufferService.buffer.ydisp}}_createLinkUnderlineEvent(e,t,i,s,r){return{x1:e,y1:t,x2:i,y2:s,cols:this._bufferService.cols,fg:r}}};t.Linkifier=l=s([r(1,c.IMouseService),r(2,c.IRenderService),r(3,h.IBufferService),r(4,c.ILinkProviderService)],l)},9042:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.tooMuchOutput=t.promptLabel=void 0,t.promptLabel=\"Terminal input\",t.tooMuchOutput=\"Too much output to announce, navigate to rows manually to read\"},3730:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscLinkProvider=void 0;const n=i(511),o=i(2585);let a=t.OscLinkProvider=class{constructor(e,t,i){this._bufferService=e,this._optionsService=t,this._oscLinkService=i}provideLinks(e,t){const i=this._bufferService.buffer.lines.get(e-1);if(!i)return void t(void 0);const s=[],r=this._optionsService.rawOptions.linkHandler,o=new n.CellData,a=i.getTrimmedLength();let c=-1,l=-1,d=!1;for(let t=0;t<a;t++)if(-1!==l||i.hasContent(t)){if(i.loadCell(t,o),o.hasExtendedAttrs()&&o.extended.urlId){if(-1===l){l=t,c=o.extended.urlId;continue}d=o.extended.urlId!==c}else-1!==l&&(d=!0);if(d||-1!==l&&t===a-1){const i=this._oscLinkService.getLinkData(c)?.uri;if(i){const n={start:{x:l+1,y:e},end:{x:t+(d||t!==a-1?0:1),y:e}};let o=!1;if(!r?.allowNonHttpProtocols)try{const e=new URL(i);[\"http:\",\"https:\"].includes(e.protocol)||(o=!0)}catch(e){o=!0}o||s.push({text:i,range:n,activate:(e,t)=>r?r.activate(e,t,n):h(0,t),hover:(e,t)=>r?.hover?.(e,t,n),leave:(e,t)=>r?.leave?.(e,t,n)})}d=!1,o.hasExtendedAttrs()&&o.extended.urlId?(l=t,c=o.extended.urlId):(l=-1,c=-1)}}t(s)}};function h(e,t){if(confirm(`Do you want to navigate to ${t}?\\n\\nWARNING: This link could potentially be dangerous`)){const e=window.open();if(e){try{e.opener=null}catch{}e.location.href=t}else console.warn(\"Opening link blocked as opener could not be cleared\")}}t.OscLinkProvider=a=s([r(0,o.IBufferService),r(1,o.IOptionsService),r(2,o.IOscLinkService)],a)},6193:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderDebouncer=void 0,t.RenderDebouncer=class{constructor(e,t){this._renderCallback=e,this._coreBrowserService=t,this._refreshCallbacks=[]}dispose(){this._animationFrame&&(this._coreBrowserService.window.cancelAnimationFrame(this._animationFrame),this._animationFrame=void 0)}addRefreshCallback(e){return this._refreshCallbacks.push(e),this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh()))),this._animationFrame}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t,this._animationFrame||(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._animationFrame=void 0,void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return void this._runRefreshCallbacks();const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t),this._runRefreshCallbacks()}_runRefreshCallbacks(){for(const e of this._refreshCallbacks)e(0);this._refreshCallbacks=[]}}},3236:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Terminal=void 0;const s=i(3614),r=i(3656),n=i(3551),o=i(9042),a=i(3730),h=i(1680),c=i(3107),l=i(5744),d=i(2950),_=i(1296),u=i(428),f=i(4269),v=i(5114),p=i(8934),g=i(3230),m=i(9312),S=i(4725),C=i(6731),b=i(8055),w=i(8969),y=i(8460),E=i(844),k=i(6114),L=i(8437),D=i(2584),R=i(7399),x=i(5941),A=i(9074),B=i(2585),T=i(5435),M=i(4567),O=i(779);class P extends w.CoreTerminal{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}constructor(e={}){super(e),this.browser=k,this._keyDownHandled=!1,this._keyDownSeen=!1,this._keyPressHandled=!1,this._unprocessedDeadKey=!1,this._accessibilityManager=this.register(new E.MutableDisposable),this._onCursorMove=this.register(new y.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onKey=this.register(new y.EventEmitter),this.onKey=this._onKey.event,this._onRender=this.register(new y.EventEmitter),this.onRender=this._onRender.event,this._onSelectionChange=this.register(new y.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onTitleChange=this.register(new y.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onBell=this.register(new y.EventEmitter),this.onBell=this._onBell.event,this._onFocus=this.register(new y.EventEmitter),this._onBlur=this.register(new y.EventEmitter),this._onA11yCharEmitter=this.register(new y.EventEmitter),this._onA11yTabEmitter=this.register(new y.EventEmitter),this._onWillOpen=this.register(new y.EventEmitter),this._setup(),this._decorationService=this._instantiationService.createInstance(A.DecorationService),this._instantiationService.setService(B.IDecorationService,this._decorationService),this._linkProviderService=this._instantiationService.createInstance(O.LinkProviderService),this._instantiationService.setService(S.ILinkProviderService,this._linkProviderService),this._linkProviderService.registerLinkProvider(this._instantiationService.createInstance(a.OscLinkProvider)),this.register(this._inputHandler.onRequestBell((()=>this._onBell.fire()))),this.register(this._inputHandler.onRequestRefreshRows(((e,t)=>this.refresh(e,t)))),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((0,y.forwardEvent)(this._inputHandler.onCursorMove,this._onCursorMove)),this.register((0,y.forwardEvent)(this._inputHandler.onTitleChange,this._onTitleChange)),this.register((0,y.forwardEvent)(this._inputHandler.onA11yChar,this._onA11yCharEmitter)),this.register((0,y.forwardEvent)(this._inputHandler.onA11yTab,this._onA11yTabEmitter)),this.register(this._bufferService.onResize((e=>this._afterResize(e.cols,e.rows)))),this.register((0,E.toDisposable)((()=>{this._customKeyEventHandler=void 0,this.element?.parentNode?.removeChild(this.element)})))}_handleColorEvent(e){if(this._themeService)for(const t of e){let e,i=\"\";switch(t.index){case 256:e=\"foreground\",i=\"10\";break;case 257:e=\"background\",i=\"11\";break;case 258:e=\"cursor\",i=\"12\";break;default:e=\"ansi\",i=\"4;\"+t.index}switch(t.type){case 0:const s=b.color.toColorRGB(\"ansi\"===e?this._themeService.colors.ansi[t.index]:this._themeService.colors[e]);this.coreService.triggerDataEvent(`${D.C0.ESC}]${i};${(0,x.toRgbString)(s)}${D.C1_ESCAPED.ST}`);break;case 1:if(\"ansi\"===e)this._themeService.modifyColors((e=>e.ansi[t.index]=b.channels.toColor(...t.color)));else{const i=e;this._themeService.modifyColors((e=>e[i]=b.channels.toColor(...t.color)))}break;case 2:this._themeService.restoreColor(t.index)}}}_setup(){super._setup(),this._customKeyEventHandler=void 0}get buffer(){return this.buffers.active}focus(){this.textarea&&this.textarea.focus({preventScroll:!0})}_handleScreenReaderModeOptionChange(e){e?!this._accessibilityManager.value&&this._renderService&&(this._accessibilityManager.value=this._instantiationService.createInstance(M.AccessibilityManager,this)):this._accessibilityManager.clear()}_handleTextAreaFocus(e){this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(D.C0.ESC+\"[I\"),this.element.classList.add(\"focus\"),this._showCursor(),this._onFocus.fire()}blur(){return this.textarea?.blur()}_handleTextAreaBlur(){this.textarea.value=\"\",this.refresh(this.buffer.y,this.buffer.y),this.coreService.decPrivateModes.sendFocus&&this.coreService.triggerDataEvent(D.C0.ESC+\"[O\"),this.element.classList.remove(\"focus\"),this._onBlur.fire()}_syncTextArea(){if(!this.textarea||!this.buffer.isCursorInViewport||this._compositionHelper.isComposing||!this._renderService)return;const e=this.buffer.ybase+this.buffer.y,t=this.buffer.lines.get(e);if(!t)return;const i=Math.min(this.buffer.x,this.cols-1),s=this._renderService.dimensions.css.cell.height,r=t.getWidth(i),n=this._renderService.dimensions.css.cell.width*r,o=this.buffer.y*this._renderService.dimensions.css.cell.height,a=i*this._renderService.dimensions.css.cell.width;this.textarea.style.left=a+\"px\",this.textarea.style.top=o+\"px\",this.textarea.style.width=n+\"px\",this.textarea.style.height=s+\"px\",this.textarea.style.lineHeight=s+\"px\",this.textarea.style.zIndex=\"-5\"}_initGlobal(){this._bindKeys(),this.register((0,r.addDisposableDomListener)(this.element,\"copy\",(e=>{this.hasSelection()&&(0,s.copyHandler)(e,this._selectionService)})));const e=e=>(0,s.handlePasteEvent)(e,this.textarea,this.coreService,this.optionsService);this.register((0,r.addDisposableDomListener)(this.textarea,\"paste\",e)),this.register((0,r.addDisposableDomListener)(this.element,\"paste\",e)),k.isFirefox?this.register((0,r.addDisposableDomListener)(this.element,\"mousedown\",(e=>{2===e.button&&(0,s.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))):this.register((0,r.addDisposableDomListener)(this.element,\"contextmenu\",(e=>{(0,s.rightClickHandler)(e,this.textarea,this.screenElement,this._selectionService,this.options.rightClickSelectsWord)}))),k.isLinux&&this.register((0,r.addDisposableDomListener)(this.element,\"auxclick\",(e=>{1===e.button&&(0,s.moveTextAreaUnderMouseCursor)(e,this.textarea,this.screenElement)})))}_bindKeys(){this.register((0,r.addDisposableDomListener)(this.textarea,\"keyup\",(e=>this._keyUp(e)),!0)),this.register((0,r.addDisposableDomListener)(this.textarea,\"keydown\",(e=>this._keyDown(e)),!0)),this.register((0,r.addDisposableDomListener)(this.textarea,\"keypress\",(e=>this._keyPress(e)),!0)),this.register((0,r.addDisposableDomListener)(this.textarea,\"compositionstart\",(()=>this._compositionHelper.compositionstart()))),this.register((0,r.addDisposableDomListener)(this.textarea,\"compositionupdate\",(e=>this._compositionHelper.compositionupdate(e)))),this.register((0,r.addDisposableDomListener)(this.textarea,\"compositionend\",(()=>this._compositionHelper.compositionend()))),this.register((0,r.addDisposableDomListener)(this.textarea,\"input\",(e=>this._inputEvent(e)),!0)),this.register(this.onRender((()=>this._compositionHelper.updateCompositionElements())))}open(e){if(!e)throw new Error(\"Terminal requires a parent element.\");if(e.isConnected||this._logService.debug(\"Terminal.open was called on an element that was not attached to the DOM\"),this.element?.ownerDocument.defaultView&&this._coreBrowserService)return void(this.element.ownerDocument.defaultView!==this._coreBrowserService.window&&(this._coreBrowserService.window=this.element.ownerDocument.defaultView));this._document=e.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\"),e.appendChild(this.element);const t=this._document.createDocumentFragment();this._viewportElement=this._document.createElement(\"div\"),this._viewportElement.classList.add(\"xterm-viewport\"),t.appendChild(this._viewportElement),this._viewportScrollArea=this._document.createElement(\"div\"),this._viewportScrollArea.classList.add(\"xterm-scroll-area\"),this._viewportElement.appendChild(this._viewportScrollArea),this.screenElement=this._document.createElement(\"div\"),this.screenElement.classList.add(\"xterm-screen\"),this.register((0,r.addDisposableDomListener)(this.screenElement,\"mousemove\",(e=>this.updateCursorStyle(e)))),this._helperContainer=this._document.createElement(\"div\"),this._helperContainer.classList.add(\"xterm-helpers\"),this.screenElement.appendChild(this._helperContainer),t.appendChild(this.screenElement),this.textarea=this._document.createElement(\"textarea\"),this.textarea.classList.add(\"xterm-helper-textarea\"),this.textarea.setAttribute(\"aria-label\",o.promptLabel),k.isChromeOS||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._coreBrowserService=this.register(this._instantiationService.createInstance(v.CoreBrowserService,this.textarea,e.ownerDocument.defaultView??window,this._document??\"undefined\"!=typeof window?window.document:null)),this._instantiationService.setService(S.ICoreBrowserService,this._coreBrowserService),this.register((0,r.addDisposableDomListener)(this.textarea,\"focus\",(e=>this._handleTextAreaFocus(e)))),this.register((0,r.addDisposableDomListener)(this.textarea,\"blur\",(()=>this._handleTextAreaBlur()))),this._helperContainer.appendChild(this.textarea),this._charSizeService=this._instantiationService.createInstance(u.CharSizeService,this._document,this._helperContainer),this._instantiationService.setService(S.ICharSizeService,this._charSizeService),this._themeService=this._instantiationService.createInstance(C.ThemeService),this._instantiationService.setService(S.IThemeService,this._themeService),this._characterJoinerService=this._instantiationService.createInstance(f.CharacterJoinerService),this._instantiationService.setService(S.ICharacterJoinerService,this._characterJoinerService),this._renderService=this.register(this._instantiationService.createInstance(g.RenderService,this.rows,this.screenElement)),this._instantiationService.setService(S.IRenderService,this._renderService),this.register(this._renderService.onRenderedViewportChange((e=>this._onRender.fire(e)))),this.onResize((e=>this._renderService.resize(e.cols,e.rows))),this._compositionView=this._document.createElement(\"div\"),this._compositionView.classList.add(\"composition-view\"),this._compositionHelper=this._instantiationService.createInstance(d.CompositionHelper,this.textarea,this._compositionView),this._helperContainer.appendChild(this._compositionView),this._mouseService=this._instantiationService.createInstance(p.MouseService),this._instantiationService.setService(S.IMouseService,this._mouseService),this.linkifier=this.register(this._instantiationService.createInstance(n.Linkifier,this.screenElement)),this.element.appendChild(t);try{this._onWillOpen.fire(this.element)}catch{}this._renderService.hasRenderer()||this._renderService.setRenderer(this._createRenderer()),this.viewport=this._instantiationService.createInstance(h.Viewport,this._viewportElement,this._viewportScrollArea),this.viewport.onRequestScrollLines((e=>this.scrollLines(e.amount,e.suppressScrollEvent,1))),this.register(this._inputHandler.onRequestSyncScrollBar((()=>this.viewport.syncScrollArea()))),this.register(this.viewport),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.register(this._renderService.onDimensionsChange((()=>this.viewport.syncScrollArea()))),this._selectionService=this.register(this._instantiationService.createInstance(m.SelectionService,this.element,this.screenElement,this.linkifier)),this._instantiationService.setService(S.ISelectionService,this._selectionService),this.register(this._selectionService.onRequestScrollLines((e=>this.scrollLines(e.amount,e.suppressScrollEvent)))),this.register(this._selectionService.onSelectionChange((()=>this._onSelectionChange.fire()))),this.register(this._selectionService.onRequestRedraw((e=>this._renderService.handleSelectionChanged(e.start,e.end,e.columnSelectMode)))),this.register(this._selectionService.onLinuxMouseSelection((e=>{this.textarea.value=e,this.textarea.focus(),this.textarea.select()}))),this.register(this._onScroll.event((e=>{this.viewport.syncScrollArea(),this._selectionService.refresh()}))),this.register((0,r.addDisposableDomListener)(this._viewportElement,\"scroll\",(()=>this._selectionService.refresh()))),this.register(this._instantiationService.createInstance(c.BufferDecorationRenderer,this.screenElement)),this.register((0,r.addDisposableDomListener)(this.element,\"mousedown\",(e=>this._selectionService.handleMouseDown(e)))),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(M.AccessibilityManager,this)),this.register(this.optionsService.onSpecificOptionChange(\"screenReaderMode\",(e=>this._handleScreenReaderModeOptionChange(e)))),this.options.overviewRulerWidth&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(l.OverviewRulerRenderer,this._viewportElement,this.screenElement))),this.optionsService.onSpecificOptionChange(\"overviewRulerWidth\",(e=>{!this._overviewRulerRenderer&&e&&this._viewportElement&&this.screenElement&&(this._overviewRulerRenderer=this.register(this._instantiationService.createInstance(l.OverviewRulerRenderer,this._viewportElement,this.screenElement)))})),this._charSizeService.measure(),this.refresh(0,this.rows-1),this._initGlobal(),this.bindMouse()}_createRenderer(){return this._instantiationService.createInstance(_.DomRenderer,this,this._document,this.element,this.screenElement,this._viewportElement,this._helperContainer,this.linkifier)}bindMouse(){const e=this,t=this.element;function i(t){const i=e._mouseService.getMouseReportCoords(t,e.screenElement);if(!i)return!1;let s,r;switch(t.overrideType||t.type){case\"mousemove\":r=32,void 0===t.buttons?(s=3,void 0!==t.button&&(s=t.button<3?t.button:3)):s=1&t.buttons?0:4&t.buttons?1:2&t.buttons?2:3;break;case\"mouseup\":r=0,s=t.button<3?t.button:3;break;case\"mousedown\":r=1,s=t.button<3?t.button:3;break;case\"wheel\":if(e._customWheelEventHandler&&!1===e._customWheelEventHandler(t))return!1;if(0===e.viewport.getLinesScrolled(t))return!1;r=t.deltaY<0?0:1,s=4;break;default:return!1}return!(void 0===r||void 0===s||s>4)&&e.coreMouseService.triggerMouseEvent({col:i.col,row:i.row,x:i.x,y:i.y,button:s,action:r,ctrl:t.ctrlKey,alt:t.altKey,shift:t.shiftKey})}const s={mouseup:null,wheel:null,mousedrag:null,mousemove:null},n={mouseup:e=>(i(e),e.buttons||(this._document.removeEventListener(\"mouseup\",s.mouseup),s.mousedrag&&this._document.removeEventListener(\"mousemove\",s.mousedrag)),this.cancel(e)),wheel:e=>(i(e),this.cancel(e,!0)),mousedrag:e=>{e.buttons&&i(e)},mousemove:e=>{e.buttons||i(e)}};this.register(this.coreMouseService.onProtocolChange((e=>{e?(\"debug\"===this.optionsService.rawOptions.logLevel&&this._logService.debug(\"Binding to mouse events:\",this.coreMouseService.explainEvents(e)),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()),8&e?s.mousemove||(t.addEventListener(\"mousemove\",n.mousemove),s.mousemove=n.mousemove):(t.removeEventListener(\"mousemove\",s.mousemove),s.mousemove=null),16&e?s.wheel||(t.addEventListener(\"wheel\",n.wheel,{passive:!1}),s.wheel=n.wheel):(t.removeEventListener(\"wheel\",s.wheel),s.wheel=null),2&e?s.mouseup||(s.mouseup=n.mouseup):(this._document.removeEventListener(\"mouseup\",s.mouseup),s.mouseup=null),4&e?s.mousedrag||(s.mousedrag=n.mousedrag):(this._document.removeEventListener(\"mousemove\",s.mousedrag),s.mousedrag=null)}))),this.coreMouseService.activeProtocol=this.coreMouseService.activeProtocol,this.register((0,r.addDisposableDomListener)(t,\"mousedown\",(e=>{if(e.preventDefault(),this.focus(),this.coreMouseService.areMouseEventsActive&&!this._selectionService.shouldForceSelection(e))return i(e),s.mouseup&&this._document.addEventListener(\"mouseup\",s.mouseup),s.mousedrag&&this._document.addEventListener(\"mousemove\",s.mousedrag),this.cancel(e)}))),this.register((0,r.addDisposableDomListener)(t,\"wheel\",(e=>{if(!s.wheel){if(this._customWheelEventHandler&&!1===this._customWheelEventHandler(e))return!1;if(!this.buffer.hasScrollback){const t=this.viewport.getLinesScrolled(e);if(0===t)return;const i=D.C0.ESC+(this.coreService.decPrivateModes.applicationCursorKeys?\"O\":\"[\")+(e.deltaY<0?\"A\":\"B\");let s=\"\";for(let e=0;e<Math.abs(t);e++)s+=i;return this.coreService.triggerDataEvent(s,!0),this.cancel(e,!0)}return this.viewport.handleWheel(e)?this.cancel(e):void 0}}),{passive:!1})),this.register((0,r.addDisposableDomListener)(t,\"touchstart\",(e=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchStart(e),this.cancel(e)}),{passive:!0})),this.register((0,r.addDisposableDomListener)(t,\"touchmove\",(e=>{if(!this.coreMouseService.areMouseEventsActive)return this.viewport.handleTouchMove(e)?void 0:this.cancel(e)}),{passive:!1}))}refresh(e,t){this._renderService?.refreshRows(e,t)}updateCursorStyle(e){this._selectionService?.shouldColumnSelect(e)?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(e,t,i=0){1===i?(super.scrollLines(e,t,i),this.refresh(0,this.rows-1)):this.viewport?.scrollLines(e)}paste(e){(0,s.paste)(e,this.textarea,this.coreService,this.optionsService)}attachCustomKeyEventHandler(e){this._customKeyEventHandler=e}attachCustomWheelEventHandler(e){this._customWheelEventHandler=e}registerLinkProvider(e){return this._linkProviderService.registerLinkProvider(e)}registerCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");const t=this._characterJoinerService.register(e);return this.refresh(0,this.rows-1),t}deregisterCharacterJoiner(e){if(!this._characterJoinerService)throw new Error(\"Terminal must be opened first\");this._characterJoinerService.deregister(e)&&this.refresh(0,this.rows-1)}get markers(){return this.buffer.markers}registerMarker(e){return this.buffer.addMarker(this.buffer.ybase+this.buffer.y+e)}registerDecoration(e){return this._decorationService.registerDecoration(e)}hasSelection(){return!!this._selectionService&&this._selectionService.hasSelection}select(e,t,i){this._selectionService.setSelection(e,t,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(){this._selectionService?.clearSelection()}selectAll(){this._selectionService?.selectAll()}selectLines(e,t){this._selectionService?.selectLines(e,t)}_keyDown(e){if(this._keyDownHandled=!1,this._keyDownSeen=!0,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;const t=this.browser.isMac&&this.options.macOptionIsMeta&&e.altKey;if(!t&&!this._compositionHelper.keydown(e))return this.options.scrollOnUserInput&&this.buffer.ybase!==this.buffer.ydisp&&this.scrollToBottom(),!1;t||\"Dead\"!==e.key&&\"AltGraph\"!==e.key||(this._unprocessedDeadKey=!0);const i=(0,R.evaluateKeyboardEvent)(e,this.coreService.decPrivateModes.applicationCursorKeys,this.browser.isMac,this.options.macOptionIsMeta);if(this.updateCursorStyle(e),3===i.type||2===i.type){const t=this.rows-1;return this.scrollLines(2===i.type?-t:t),this.cancel(e,!0)}return 1===i.type&&this.selectAll(),!!this._isThirdLevelShift(this.browser,e)||(i.cancel&&this.cancel(e,!0),!i.key||!!(e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&1===e.key.length&&e.key.charCodeAt(0)>=65&&e.key.charCodeAt(0)<=90)||(this._unprocessedDeadKey?(this._unprocessedDeadKey=!1,!0):(i.key!==D.C0.ETX&&i.key!==D.C0.CR||(this.textarea.value=\"\"),this._onKey.fire({key:i.key,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(i.key,!0),!this.optionsService.rawOptions.screenReaderMode||e.altKey||e.ctrlKey?this.cancel(e,!0):void(this._keyDownHandled=!0))))}_isThirdLevelShift(e,t){const i=e.isMac&&!this.options.macOptionIsMeta&&t.altKey&&!t.ctrlKey&&!t.metaKey||e.isWindows&&t.altKey&&t.ctrlKey&&!t.metaKey||e.isWindows&&t.getModifierState(\"AltGraph\");return\"keypress\"===t.type?i:i&&(!t.keyCode||t.keyCode>47)}_keyUp(e){this._keyDownSeen=!1,this._customKeyEventHandler&&!1===this._customKeyEventHandler(e)||(function(e){return 16===e.keyCode||17===e.keyCode||18===e.keyCode}(e)||this.focus(),this.updateCursorStyle(e),this._keyPressHandled=!1)}_keyPress(e){let t;if(this._keyPressHandled=!1,this._keyDownHandled)return!1;if(this._customKeyEventHandler&&!1===this._customKeyEventHandler(e))return!1;if(this.cancel(e),e.charCode)t=e.charCode;else if(null===e.which||void 0===e.which)t=e.keyCode;else{if(0===e.which||0===e.charCode)return!1;t=e.which}return!(!t||(e.altKey||e.ctrlKey||e.metaKey)&&!this._isThirdLevelShift(this.browser,e)||(t=String.fromCharCode(t),this._onKey.fire({key:t,domEvent:e}),this._showCursor(),this.coreService.triggerDataEvent(t,!0),this._keyPressHandled=!0,this._unprocessedDeadKey=!1,0))}_inputEvent(e){if(e.data&&\"insertText\"===e.inputType&&(!e.composed||!this._keyDownSeen)&&!this.optionsService.rawOptions.screenReaderMode){if(this._keyPressHandled)return!1;this._unprocessedDeadKey=!1;const t=e.data;return this.coreService.triggerDataEvent(t,!0),this.cancel(e),!0}return!1}resize(e,t){e!==this.cols||t!==this.rows?super.resize(e,t):this._charSizeService&&!this._charSizeService.hasValidSize&&this._charSizeService.measure()}_afterResize(e,t){this._charSizeService?.measure(),this.viewport?.syncScrollArea(!0)}clear(){if(0!==this.buffer.ybase||0!==this.buffer.y){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 e=1;e<this.rows;e++)this.buffer.lines.push(this.buffer.getBlankLine(L.DEFAULT_ATTR_DATA));this._onScroll.fire({position:this.buffer.ydisp,source:0}),this.viewport?.reset(),this.refresh(0,this.rows-1)}}reset(){this.options.rows=this.rows,this.options.cols=this.cols;const e=this._customKeyEventHandler;this._setup(),super.reset(),this._selectionService?.reset(),this._decorationService.reset(),this.viewport?.reset(),this._customKeyEventHandler=e,this.refresh(0,this.rows-1)}clearTextureAtlas(){this._renderService?.clearTextureAtlas()}_reportFocus(){this.element?.classList.contains(\"focus\")?this.coreService.triggerDataEvent(D.C0.ESC+\"[I\"):this.coreService.triggerDataEvent(D.C0.ESC+\"[O\")}_reportWindowsOptions(e){if(this._renderService)switch(e){case T.WindowsOptionsReportType.GET_WIN_SIZE_PIXELS:const e=this._renderService.dimensions.css.canvas.width.toFixed(0),t=this._renderService.dimensions.css.canvas.height.toFixed(0);this.coreService.triggerDataEvent(`${D.C0.ESC}[4;${t};${e}t`);break;case T.WindowsOptionsReportType.GET_CELL_SIZE_PIXELS:const i=this._renderService.dimensions.css.cell.width.toFixed(0),s=this._renderService.dimensions.css.cell.height.toFixed(0);this.coreService.triggerDataEvent(`${D.C0.ESC}[6;${s};${i}t`)}}cancel(e,t){if(this.options.cancelEvents||t)return e.preventDefault(),e.stopPropagation(),!1}}t.Terminal=P},9924:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TimeBasedDebouncer=void 0,t.TimeBasedDebouncer=class{constructor(e,t=1e3){this._renderCallback=e,this._debounceThresholdMS=t,this._lastRefreshMs=0,this._additionalRefreshRequested=!1}dispose(){this._refreshTimeoutID&&clearTimeout(this._refreshTimeoutID)}refresh(e,t,i){this._rowCount=i,e=void 0!==e?e:0,t=void 0!==t?t:this._rowCount-1,this._rowStart=void 0!==this._rowStart?Math.min(this._rowStart,e):e,this._rowEnd=void 0!==this._rowEnd?Math.max(this._rowEnd,t):t;const s=Date.now();if(s-this._lastRefreshMs>=this._debounceThresholdMS)this._lastRefreshMs=s,this._innerRefresh();else if(!this._additionalRefreshRequested){const e=s-this._lastRefreshMs,t=this._debounceThresholdMS-e;this._additionalRefreshRequested=!0,this._refreshTimeoutID=window.setTimeout((()=>{this._lastRefreshMs=Date.now(),this._innerRefresh(),this._additionalRefreshRequested=!1,this._refreshTimeoutID=void 0}),t)}}_innerRefresh(){if(void 0===this._rowStart||void 0===this._rowEnd||void 0===this._rowCount)return;const e=Math.max(this._rowStart,0),t=Math.min(this._rowEnd,this._rowCount-1);this._rowStart=void 0,this._rowEnd=void 0,this._renderCallback(e,t)}}},1680:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.Viewport=void 0;const n=i(3656),o=i(4725),a=i(8460),h=i(844),c=i(2585);let l=t.Viewport=class extends h.Disposable{constructor(e,t,i,s,r,o,h,c){super(),this._viewportElement=e,this._scrollArea=t,this._bufferService=i,this._optionsService=s,this._charSizeService=r,this._renderService=o,this._coreBrowserService=h,this.scrollBarWidth=0,this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._wheelPartialScroll=0,this._refreshAnimationFrame=null,this._ignoreNextScrollEvent=!1,this._smoothScrollState={startTime:0,origin:-1,target:-1},this._onRequestScrollLines=this.register(new a.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this.scrollBarWidth=this._viewportElement.offsetWidth-this._scrollArea.offsetWidth||15,this.register((0,n.addDisposableDomListener)(this._viewportElement,\"scroll\",this._handleScroll.bind(this))),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((e=>this._activeBuffer=e.activeBuffer))),this._renderDimensions=this._renderService.dimensions,this.register(this._renderService.onDimensionsChange((e=>this._renderDimensions=e))),this._handleThemeChange(c.colors),this.register(c.onChangeColors((e=>this._handleThemeChange(e)))),this.register(this._optionsService.onSpecificOptionChange(\"scrollback\",(()=>this.syncScrollArea()))),setTimeout((()=>this.syncScrollArea()))}_handleThemeChange(e){this._viewportElement.style.backgroundColor=e.background.css}reset(){this._currentRowHeight=0,this._currentDeviceCellHeight=0,this._lastRecordedBufferLength=0,this._lastRecordedViewportHeight=0,this._lastRecordedBufferHeight=0,this._lastTouchY=0,this._lastScrollTop=0,this._coreBrowserService.window.requestAnimationFrame((()=>this.syncScrollArea()))}_refresh(e){if(e)return this._innerRefresh(),void(null!==this._refreshAnimationFrame&&this._coreBrowserService.window.cancelAnimationFrame(this._refreshAnimationFrame));null===this._refreshAnimationFrame&&(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._innerRefresh())))}_innerRefresh(){if(this._charSizeService.height>0){this._currentRowHeight=this._renderDimensions.device.cell.height/this._coreBrowserService.dpr,this._currentDeviceCellHeight=this._renderDimensions.device.cell.height,this._lastRecordedViewportHeight=this._viewportElement.offsetHeight;const e=Math.round(this._currentRowHeight*this._lastRecordedBufferLength)+(this._lastRecordedViewportHeight-this._renderDimensions.css.canvas.height);this._lastRecordedBufferHeight!==e&&(this._lastRecordedBufferHeight=e,this._scrollArea.style.height=this._lastRecordedBufferHeight+\"px\")}const e=this._bufferService.buffer.ydisp*this._currentRowHeight;this._viewportElement.scrollTop!==e&&(this._ignoreNextScrollEvent=!0,this._viewportElement.scrollTop=e),this._refreshAnimationFrame=null}syncScrollArea(e=!1){if(this._lastRecordedBufferLength!==this._bufferService.buffer.lines.length)return this._lastRecordedBufferLength=this._bufferService.buffer.lines.length,void this._refresh(e);this._lastRecordedViewportHeight===this._renderService.dimensions.css.canvas.height&&this._lastScrollTop===this._activeBuffer.ydisp*this._currentRowHeight&&this._renderDimensions.device.cell.height===this._currentDeviceCellHeight||this._refresh(e)}_handleScroll(e){if(this._lastScrollTop=this._viewportElement.scrollTop,!this._viewportElement.offsetParent)return;if(this._ignoreNextScrollEvent)return this._ignoreNextScrollEvent=!1,void this._onRequestScrollLines.fire({amount:0,suppressScrollEvent:!0});const t=Math.round(this._lastScrollTop/this._currentRowHeight)-this._bufferService.buffer.ydisp;this._onRequestScrollLines.fire({amount:t,suppressScrollEvent:!0})}_smoothScroll(){if(this._isDisposed||-1===this._smoothScrollState.origin||-1===this._smoothScrollState.target)return;const e=this._smoothScrollPercent();this._viewportElement.scrollTop=this._smoothScrollState.origin+Math.round(e*(this._smoothScrollState.target-this._smoothScrollState.origin)),e<1?this._coreBrowserService.window.requestAnimationFrame((()=>this._smoothScroll())):this._clearSmoothScrollState()}_smoothScrollPercent(){return this._optionsService.rawOptions.smoothScrollDuration&&this._smoothScrollState.startTime?Math.max(Math.min((Date.now()-this._smoothScrollState.startTime)/this._optionsService.rawOptions.smoothScrollDuration,1),0):1}_clearSmoothScrollState(){this._smoothScrollState.startTime=0,this._smoothScrollState.origin=-1,this._smoothScrollState.target=-1}_bubbleScroll(e,t){const i=this._viewportElement.scrollTop+this._lastRecordedViewportHeight;return!(t<0&&0!==this._viewportElement.scrollTop||t>0&&i<this._lastRecordedBufferHeight)||(e.cancelable&&e.preventDefault(),!1)}handleWheel(e){const t=this._getPixelsScrolled(e);return 0!==t&&(this._optionsService.rawOptions.smoothScrollDuration?(this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,-1===this._smoothScrollState.target?this._smoothScrollState.target=this._viewportElement.scrollTop+t:this._smoothScrollState.target+=t,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()):this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))}scrollLines(e){if(0!==e)if(this._optionsService.rawOptions.smoothScrollDuration){const t=e*this._currentRowHeight;this._smoothScrollState.startTime=Date.now(),this._smoothScrollPercent()<1?(this._smoothScrollState.origin=this._viewportElement.scrollTop,this._smoothScrollState.target=this._smoothScrollState.origin+t,this._smoothScrollState.target=Math.max(Math.min(this._smoothScrollState.target,this._viewportElement.scrollHeight),0),this._smoothScroll()):this._clearSmoothScrollState()}else this._onRequestScrollLines.fire({amount:e,suppressScrollEvent:!1})}_getPixelsScrolled(e){if(0===e.deltaY||e.shiftKey)return 0;let t=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_LINE?t*=this._currentRowHeight:e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._currentRowHeight*this._bufferService.rows),t}getBufferElements(e,t){let i,s=\"\";const r=[],n=t??this._bufferService.buffer.lines.length,o=this._bufferService.buffer.lines;for(let t=e;t<n;t++){const e=o.get(t);if(!e)continue;const n=o.get(t+1)?.isWrapped;if(s+=e.translateToString(!n),!n||t===o.length-1){const e=document.createElement(\"div\");e.textContent=s,r.push(e),s.length>0&&(i=e),s=\"\"}}return{bufferElements:r,cursorElement:i}}getLinesScrolled(e){if(0===e.deltaY||e.shiftKey)return 0;let t=this._applyScrollModifier(e.deltaY,e);return e.deltaMode===WheelEvent.DOM_DELTA_PIXEL?(t/=this._currentRowHeight+0,this._wheelPartialScroll+=t,t=Math.floor(Math.abs(this._wheelPartialScroll))*(this._wheelPartialScroll>0?1:-1),this._wheelPartialScroll%=1):e.deltaMode===WheelEvent.DOM_DELTA_PAGE&&(t*=this._bufferService.rows),t}_applyScrollModifier(e,t){const i=this._optionsService.rawOptions.fastScrollModifier;return\"alt\"===i&&t.altKey||\"ctrl\"===i&&t.ctrlKey||\"shift\"===i&&t.shiftKey?e*this._optionsService.rawOptions.fastScrollSensitivity*this._optionsService.rawOptions.scrollSensitivity:e*this._optionsService.rawOptions.scrollSensitivity}handleTouchStart(e){this._lastTouchY=e.touches[0].pageY}handleTouchMove(e){const t=this._lastTouchY-e.touches[0].pageY;return this._lastTouchY=e.touches[0].pageY,0!==t&&(this._viewportElement.scrollTop+=t,this._bubbleScroll(e,t))}};t.Viewport=l=s([r(2,c.IBufferService),r(3,c.IOptionsService),r(4,o.ICharSizeService),r(5,o.IRenderService),r(6,o.ICoreBrowserService),r(7,o.IThemeService)],l)},3107:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferDecorationRenderer=void 0;const n=i(4725),o=i(844),a=i(2585);let h=t.BufferDecorationRenderer=class extends o.Disposable{constructor(e,t,i,s,r){super(),this._screenElement=e,this._bufferService=t,this._coreBrowserService=i,this._decorationService=s,this._renderService=r,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((e=>this._removeDecoration(e)))),this.register((0,o.toDisposable)((()=>{this._container.remove(),this._decorationElements.clear()})))}_queueRefresh(){void 0===this._animationFrame&&(this._animationFrame=this._renderService.addRefreshCallback((()=>{this._doRefreshDecorations(),this._animationFrame=void 0})))}_doRefreshDecorations(){for(const e of this._decorationService.decorations)this._renderDecoration(e);this._dimensionsChanged=!1}_renderDecoration(e){this._refreshStyle(e),this._dimensionsChanged&&this._refreshXPosition(e)}_createElement(e){const t=this._coreBrowserService.mainDocument.createElement(\"div\");t.classList.add(\"xterm-decoration\"),t.classList.toggle(\"xterm-decoration-top-layer\",\"top\"===e?.options?.layer),t.style.width=`${Math.round((e.options.width||1)*this._renderService.dimensions.css.cell.width)}px`,t.style.height=(e.options.height||1)*this._renderService.dimensions.css.cell.height+\"px\",t.style.top=(e.marker.line-this._bufferService.buffers.active.ydisp)*this._renderService.dimensions.css.cell.height+\"px\",t.style.lineHeight=`${this._renderService.dimensions.css.cell.height}px`;const i=e.options.x??0;return i&&i>this._bufferService.cols&&(t.style.display=\"none\"),this._refreshXPosition(e,t),t}_refreshStyle(e){const t=e.marker.line-this._bufferService.buffers.active.ydisp;if(t<0||t>=this._bufferService.rows)e.element&&(e.element.style.display=\"none\",e.onRenderEmitter.fire(e.element));else{let i=this._decorationElements.get(e);i||(i=this._createElement(e),e.element=i,this._decorationElements.set(e,i),this._container.appendChild(i),e.onDispose((()=>{this._decorationElements.delete(e),i.remove()}))),i.style.top=t*this._renderService.dimensions.css.cell.height+\"px\",i.style.display=this._altBufferIsActive?\"none\":\"block\",e.onRenderEmitter.fire(i)}}_refreshXPosition(e,t=e.element){if(!t)return;const i=e.options.x??0;\"right\"===(e.options.anchor||\"left\")?t.style.right=i?i*this._renderService.dimensions.css.cell.width+\"px\":\"\":t.style.left=i?i*this._renderService.dimensions.css.cell.width+\"px\":\"\"}_removeDecoration(e){this._decorationElements.get(e)?.remove(),this._decorationElements.delete(e),e.dispose()}};t.BufferDecorationRenderer=h=s([r(1,a.IBufferService),r(2,n.ICoreBrowserService),r(3,a.IDecorationService),r(4,n.IRenderService)],h)},5871:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ColorZoneStore=void 0,t.ColorZoneStore=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(e){if(e.options.overviewRulerOptions){for(const t of this._zones)if(t.color===e.options.overviewRulerOptions.color&&t.position===e.options.overviewRulerOptions.position){if(this._lineIntersectsZone(t,e.marker.line))return;if(this._lineAdjacentToZone(t,e.marker.line,e.options.overviewRulerOptions.position))return void this._addLineToZone(t,e.marker.line)}if(this._zonePoolIndex<this._zonePool.length)return this._zonePool[this._zonePoolIndex].color=e.options.overviewRulerOptions.color,this._zonePool[this._zonePoolIndex].position=e.options.overviewRulerOptions.position,this._zonePool[this._zonePoolIndex].startBufferLine=e.marker.line,this._zonePool[this._zonePoolIndex].endBufferLine=e.marker.line,void this._zones.push(this._zonePool[this._zonePoolIndex++]);this._zones.push({color:e.options.overviewRulerOptions.color,position:e.options.overviewRulerOptions.position,startBufferLine:e.marker.line,endBufferLine:e.marker.line}),this._zonePool.push(this._zones[this._zones.length-1]),this._zonePoolIndex++}}setPadding(e){this._linePadding=e}_lineIntersectsZone(e,t){return t>=e.startBufferLine&&t<=e.endBufferLine}_lineAdjacentToZone(e,t,i){return t>=e.startBufferLine-this._linePadding[i||\"full\"]&&t<=e.endBufferLine+this._linePadding[i||\"full\"]}_addLineToZone(e,t){e.startBufferLine=Math.min(e.startBufferLine,t),e.endBufferLine=Math.max(e.endBufferLine,t)}}},5744:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OverviewRulerRenderer=void 0;const n=i(5871),o=i(4725),a=i(844),h=i(2585),c={full:0,left:0,center:0,right:0},l={full:0,left:0,center:0,right:0},d={full:0,left:0,center:0,right:0};let _=t.OverviewRulerRenderer=class extends a.Disposable{get _width(){return this._optionsService.options.overviewRulerWidth||0}constructor(e,t,i,s,r,o,h){super(),this._viewportElement=e,this._screenElement=t,this._bufferService=i,this._decorationService=s,this._renderService=r,this._optionsService=o,this._coreBrowserService=h,this._colorZoneStore=new n.ColorZoneStore,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(),this._viewportElement.parentElement?.insertBefore(this._canvas,this._viewportElement);const c=this._canvas.getContext(\"2d\");if(!c)throw new Error(\"Ctx cannot be null\");this._ctx=c,this._registerDecorationListeners(),this._registerBufferChangeListeners(),this._registerDimensionChangeListeners(),this.register((0,a.toDisposable)((()=>{this._canvas?.remove()})))}_registerDecorationListeners(){this.register(this._decorationService.onDecorationRegistered((()=>this._queueRefresh(void 0,!0)))),this.register(this._decorationService.onDecorationRemoved((()=>this._queueRefresh(void 0,!0))))}_registerBufferChangeListeners(){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())})))}_registerDimensionChangeListeners(){this.register(this._renderService.onRender((()=>{this._containerHeight&&this._containerHeight===this._screenElement.clientHeight||(this._queueRefresh(!0),this._containerHeight=this._screenElement.clientHeight)}))),this.register(this._optionsService.onSpecificOptionChange(\"overviewRulerWidth\",(()=>this._queueRefresh(!0)))),this.register(this._coreBrowserService.onDprChange((()=>this._queueRefresh(!0)))),this._queueRefresh(!0)}_refreshDrawConstants(){const e=Math.floor(this._canvas.width/3),t=Math.ceil(this._canvas.width/3);l.full=this._canvas.width,l.left=e,l.center=t,l.right=e,this._refreshDrawHeightConstants(),d.full=0,d.left=0,d.center=l.left,d.right=l.left+l.center}_refreshDrawHeightConstants(){c.full=Math.round(2*this._coreBrowserService.dpr);const e=this._canvas.height/this._bufferService.buffer.lines.length,t=Math.round(Math.max(Math.min(e,12),6)*this._coreBrowserService.dpr);c.left=t,c.center=t,c.right=t}_refreshColorZonePadding(){this._colorZoneStore.setPadding({full:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*c.full),left:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*c.left),center:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*c.center),right:Math.floor(this._bufferService.buffers.active.lines.length/(this._canvas.height-1)*c.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(const e of this._decorationService.decorations)this._colorZoneStore.addDecoration(e);this._ctx.lineWidth=1;const e=this._colorZoneStore.zones;for(const t of e)\"full\"!==t.position&&this._renderColorZone(t);for(const t of e)\"full\"===t.position&&this._renderColorZone(t);this._shouldUpdateDimensions=!1,this._shouldUpdateAnchor=!1}_renderColorZone(e){this._ctx.fillStyle=e.color,this._ctx.fillRect(d[e.position||\"full\"],Math.round((this._canvas.height-1)*(e.startBufferLine/this._bufferService.buffers.active.lines.length)-c[e.position||\"full\"]/2),l[e.position||\"full\"],Math.round((this._canvas.height-1)*((e.endBufferLine-e.startBufferLine)/this._bufferService.buffers.active.lines.length)+c[e.position||\"full\"]))}_queueRefresh(e,t){this._shouldUpdateDimensions=e||this._shouldUpdateDimensions,this._shouldUpdateAnchor=t||this._shouldUpdateAnchor,void 0===this._animationFrame&&(this._animationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>{this._refreshDecorations(),this._animationFrame=void 0})))}};t.OverviewRulerRenderer=_=s([r(2,h.IBufferService),r(3,h.IDecorationService),r(4,o.IRenderService),r(5,h.IOptionsService),r(6,o.ICoreBrowserService)],_)},2950:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CompositionHelper=void 0;const n=i(4725),o=i(2585),a=i(2584);let h=t.CompositionHelper=class{get isComposing(){return this._isComposing}constructor(e,t,i,s,r,n){this._textarea=e,this._compositionView=t,this._bufferService=i,this._optionsService=s,this._coreService=r,this._renderService=n,this._isComposing=!1,this._isSendingComposition=!1,this._compositionPosition={start:0,end:0},this._dataAlreadySent=\"\"}compositionstart(){this._isComposing=!0,this._compositionPosition.start=this._textarea.value.length,this._compositionView.textContent=\"\",this._dataAlreadySent=\"\",this._compositionView.classList.add(\"active\")}compositionupdate(e){this._compositionView.textContent=e.data,this.updateCompositionElements(),setTimeout((()=>{this._compositionPosition.end=this._textarea.value.length}),0)}compositionend(){this._finalizeComposition(!0)}keydown(e){if(this._isComposing||this._isSendingComposition){if(229===e.keyCode)return!1;if(16===e.keyCode||17===e.keyCode||18===e.keyCode)return!1;this._finalizeComposition(!1)}return 229!==e.keyCode||(this._handleAnyTextareaChanges(),!1)}_finalizeComposition(e){if(this._compositionView.classList.remove(\"active\"),this._isComposing=!1,e){const e={start:this._compositionPosition.start,end:this._compositionPosition.end};this._isSendingComposition=!0,setTimeout((()=>{if(this._isSendingComposition){let t;this._isSendingComposition=!1,e.start+=this._dataAlreadySent.length,t=this._isComposing?this._textarea.value.substring(e.start,e.end):this._textarea.value.substring(e.start),t.length>0&&this._coreService.triggerDataEvent(t,!0)}}),0)}else{this._isSendingComposition=!1;const e=this._textarea.value.substring(this._compositionPosition.start,this._compositionPosition.end);this._coreService.triggerDataEvent(e,!0)}}_handleAnyTextareaChanges(){const e=this._textarea.value;setTimeout((()=>{if(!this._isComposing){const t=this._textarea.value,i=t.replace(e,\"\");this._dataAlreadySent=i,t.length>e.length?this._coreService.triggerDataEvent(i,!0):t.length<e.length?this._coreService.triggerDataEvent(`${a.C0.DEL}`,!0):t.length===e.length&&t!==e&&this._coreService.triggerDataEvent(t,!0)}}),0)}updateCompositionElements(e){if(this._isComposing){if(this._bufferService.buffer.isCursorInViewport){const e=Math.min(this._bufferService.buffer.x,this._bufferService.cols-1),t=this._renderService.dimensions.css.cell.height,i=this._bufferService.buffer.y*this._renderService.dimensions.css.cell.height,s=e*this._renderService.dimensions.css.cell.width;this._compositionView.style.left=s+\"px\",this._compositionView.style.top=i+\"px\",this._compositionView.style.height=t+\"px\",this._compositionView.style.lineHeight=t+\"px\",this._compositionView.style.fontFamily=this._optionsService.rawOptions.fontFamily,this._compositionView.style.fontSize=this._optionsService.rawOptions.fontSize+\"px\";const r=this._compositionView.getBoundingClientRect();this._textarea.style.left=s+\"px\",this._textarea.style.top=i+\"px\",this._textarea.style.width=Math.max(r.width,1)+\"px\",this._textarea.style.height=Math.max(r.height,1)+\"px\",this._textarea.style.lineHeight=r.height+\"px\"}e||setTimeout((()=>this.updateCompositionElements(!0)),0)}}};t.CompositionHelper=h=s([r(2,o.IBufferService),r(3,o.IOptionsService),r(4,o.ICoreService),r(5,n.IRenderService)],h)},9806:(e,t)=>{function i(e,t,i){const s=i.getBoundingClientRect(),r=e.getComputedStyle(i),n=parseInt(r.getPropertyValue(\"padding-left\")),o=parseInt(r.getPropertyValue(\"padding-top\"));return[t.clientX-s.left-n,t.clientY-s.top-o]}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getCoords=t.getCoordsRelativeToElement=void 0,t.getCoordsRelativeToElement=i,t.getCoords=function(e,t,s,r,n,o,a,h,c){if(!o)return;const l=i(e,t,s);return l?(l[0]=Math.ceil((l[0]+(c?a/2:0))/a),l[1]=Math.ceil(l[1]/h),l[0]=Math.min(Math.max(l[0],1),r+(c?1:0)),l[1]=Math.min(Math.max(l[1],1),n),l):void 0}},9504:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.moveToCellSequence=void 0;const s=i(2584);function r(e,t,i,s){const r=e-n(e,i),a=t-n(t,i),l=Math.abs(r-a)-function(e,t,i){let s=0;const r=e-n(e,i),a=t-n(t,i);for(let n=0;n<Math.abs(r-a);n++){const a=\"A\"===o(e,t)?-1:1,h=i.buffer.lines.get(r+a*n);h?.isWrapped&&s++}return s}(e,t,i);return c(l,h(o(e,t),s))}function n(e,t){let i=0,s=t.buffer.lines.get(e),r=s?.isWrapped;for(;r&&e>=0&&e<t.rows;)i++,s=t.buffer.lines.get(--e),r=s?.isWrapped;return i}function o(e,t){return e>t?\"A\":\"B\"}function a(e,t,i,s,r,n){let o=e,a=t,h=\"\";for(;o!==i||a!==s;)o+=r?1:-1,r&&o>n.cols-1?(h+=n.buffer.translateBufferLineToString(a,!1,e,o),o=0,e=0,a++):!r&&o<0&&(h+=n.buffer.translateBufferLineToString(a,!1,0,e+1),o=n.cols-1,e=o,a--);return h+n.buffer.translateBufferLineToString(a,!1,e,o)}function h(e,t){const i=t?\"O\":\"[\";return s.C0.ESC+i+e}function c(e,t){e=Math.floor(e);let i=\"\";for(let s=0;s<e;s++)i+=t;return i}t.moveToCellSequence=function(e,t,i,s){const o=i.buffer.x,l=i.buffer.y;if(!i.buffer.hasScrollback)return function(e,t,i,s,o,l){return 0===r(t,s,o,l).length?\"\":c(a(e,t,e,t-n(t,o),!1,o).length,h(\"D\",l))}(o,l,0,t,i,s)+r(l,t,i,s)+function(e,t,i,s,o,l){let d;d=r(t,s,o,l).length>0?s-n(s,o):t;const _=s,u=function(e,t,i,s,o,a){let h;return h=r(i,s,o,a).length>0?s-n(s,o):t,e<i&&h<=s||e>=i&&h<s?\"C\":\"D\"}(e,t,i,s,o,l);return c(a(e,d,i,_,\"C\"===u,o).length,h(u,l))}(o,l,e,t,i,s);let d;if(l===t)return d=o>e?\"D\":\"C\",c(Math.abs(o-e),h(d,s));d=l>t?\"D\":\"C\";const _=Math.abs(l-t);return c(function(e,t){return t.cols-e}(l>t?e:o,i)+(_-1)*i.cols+1+((l>t?o:e)-1),h(d,s))}},1296:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRenderer=void 0;const n=i(3787),o=i(2550),a=i(2223),h=i(6171),c=i(6052),l=i(4725),d=i(8055),_=i(8460),u=i(844),f=i(2585),v=\"xterm-dom-renderer-owner-\",p=\"xterm-rows\",g=\"xterm-fg-\",m=\"xterm-bg-\",S=\"xterm-focus\",C=\"xterm-selection\";let b=1,w=t.DomRenderer=class extends u.Disposable{constructor(e,t,i,s,r,a,l,d,f,g,m,S,w){super(),this._terminal=e,this._document=t,this._element=i,this._screenElement=s,this._viewportElement=r,this._helperContainer=a,this._linkifier2=l,this._charSizeService=f,this._optionsService=g,this._bufferService=m,this._coreBrowserService=S,this._themeService=w,this._terminalClass=b++,this._rowElements=[],this._selectionRenderModel=(0,c.createSelectionRenderModel)(),this.onRequestRedraw=this.register(new _.EventEmitter).event,this._rowContainer=this._document.createElement(\"div\"),this._rowContainer.classList.add(p),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(C),this._selectionContainer.setAttribute(\"aria-hidden\",\"true\"),this.dimensions=(0,h.createRenderDimensions)(),this._updateDimensions(),this.register(this._optionsService.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._themeService.onChangeColors((e=>this._injectCss(e)))),this._injectCss(this._themeService.colors),this._rowFactory=d.createInstance(n.DomRendererRowFactory,document),this._element.classList.add(v+this._terminalClass),this._screenElement.appendChild(this._rowContainer),this._screenElement.appendChild(this._selectionContainer),this.register(this._linkifier2.onShowLinkUnderline((e=>this._handleLinkHover(e)))),this.register(this._linkifier2.onHideLinkUnderline((e=>this._handleLinkLeave(e)))),this.register((0,u.toDisposable)((()=>{this._element.classList.remove(v+this._terminalClass),this._rowContainer.remove(),this._selectionContainer.remove(),this._widthCache.dispose(),this._themeStyleElement.remove(),this._dimensionsStyleElement.remove()}))),this._widthCache=new o.WidthCache(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(){const e=this._coreBrowserService.dpr;this.dimensions.device.char.width=this._charSizeService.width*e,this.dimensions.device.char.height=Math.ceil(this._charSizeService.height*e),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/e),this.dimensions.css.canvas.height=Math.round(this.dimensions.device.canvas.height/e),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(const e of this._rowElements)e.style.width=`${this.dimensions.css.canvas.width}px`,e.style.height=`${this.dimensions.css.cell.height}px`,e.style.lineHeight=`${this.dimensions.css.cell.height}px`,e.style.overflow=\"hidden\";this._dimensionsStyleElement||(this._dimensionsStyleElement=this._document.createElement(\"style\"),this._screenElement.appendChild(this._dimensionsStyleElement));const t=`${this._terminalSelector} .${p} span { display: inline-block; height: 100%; vertical-align: top;}`;this._dimensionsStyleElement.textContent=t,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(e){this._themeStyleElement||(this._themeStyleElement=this._document.createElement(\"style\"),this._screenElement.appendChild(this._themeStyleElement));let t=`${this._terminalSelector} .${p} { color: ${e.foreground.css}; font-family: ${this._optionsService.rawOptions.fontFamily}; font-size: ${this._optionsService.rawOptions.fontSize}px; font-kerning: none; white-space: pre}`;t+=`${this._terminalSelector} .${p} .xterm-dim { color: ${d.color.multiplyOpacity(e.foreground,.5).css};}`,t+=`${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;}`;const i=`blink_underline_${this._terminalClass}`,s=`blink_bar_${this._terminalClass}`,r=`blink_block_${this._terminalClass}`;t+=`@keyframes ${i} { 50% { border-bottom-style: hidden; }}`,t+=`@keyframes ${s} { 50% { box-shadow: none; }}`,t+=`@keyframes ${r} { 0% { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css}; } 50% { background-color: inherit; color: ${e.cursor.css}; }}`,t+=`${this._terminalSelector} .${p}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-underline { animation: ${i} 1s step-end infinite;}${this._terminalSelector} .${p}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-bar { animation: ${s} 1s step-end infinite;}${this._terminalSelector} .${p}.${S} .xterm-cursor.xterm-cursor-blink.xterm-cursor-block { animation: ${r} 1s step-end infinite;}${this._terminalSelector} .${p} .xterm-cursor.xterm-cursor-block { background-color: ${e.cursor.css}; color: ${e.cursorAccent.css};}${this._terminalSelector} .${p} .xterm-cursor.xterm-cursor-block:not(.xterm-cursor-blink) { background-color: ${e.cursor.css} !important; color: ${e.cursorAccent.css} !important;}${this._terminalSelector} .${p} .xterm-cursor.xterm-cursor-outline { outline: 1px solid ${e.cursor.css}; outline-offset: -1px;}${this._terminalSelector} .${p} .xterm-cursor.xterm-cursor-bar { box-shadow: ${this._optionsService.rawOptions.cursorWidth}px 0 0 ${e.cursor.css} inset;}${this._terminalSelector} .${p} .xterm-cursor.xterm-cursor-underline { border-bottom: 1px ${e.cursor.css}; border-bottom-style: solid; height: calc(100% - 1px);}`,t+=`${this._terminalSelector} .${C} { position: absolute; top: 0; left: 0; z-index: 1; pointer-events: none;}${this._terminalSelector}.focus .${C} div { position: absolute; background-color: ${e.selectionBackgroundOpaque.css};}${this._terminalSelector} .${C} div { position: absolute; background-color: ${e.selectionInactiveBackgroundOpaque.css};}`;for(const[i,s]of e.ansi.entries())t+=`${this._terminalSelector} .${g}${i} { color: ${s.css}; }${this._terminalSelector} .${g}${i}.xterm-dim { color: ${d.color.multiplyOpacity(s,.5).css}; }${this._terminalSelector} .${m}${i} { background-color: ${s.css}; }`;t+=`${this._terminalSelector} .${g}${a.INVERTED_DEFAULT_COLOR} { color: ${d.color.opaque(e.background).css}; }${this._terminalSelector} .${g}${a.INVERTED_DEFAULT_COLOR}.xterm-dim { color: ${d.color.multiplyOpacity(d.color.opaque(e.background),.5).css}; }${this._terminalSelector} .${m}${a.INVERTED_DEFAULT_COLOR} { background-color: ${e.foreground.css}; }`,this._themeStyleElement.textContent=t}_setDefaultSpacing(){const e=this.dimensions.css.cell.width-this._widthCache.get(\"W\",!1,!1);this._rowContainer.style.letterSpacing=`${e}px`,this._rowFactory.defaultSpacing=e}handleDevicePixelRatioChange(){this._updateDimensions(),this._widthCache.clear(),this._setDefaultSpacing()}_refreshRowElements(e,t){for(let e=this._rowElements.length;e<=t;e++){const e=this._document.createElement(\"div\");this._rowContainer.appendChild(e),this._rowElements.push(e)}for(;this._rowElements.length>t;)this._rowContainer.removeChild(this._rowElements.pop())}handleResize(e,t){this._refreshRowElements(e,t),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(S),this.renderRows(0,this._bufferService.rows-1)}handleFocus(){this._rowContainer.classList.add(S),this.renderRows(this._bufferService.buffer.y,this._bufferService.buffer.y)}handleSelectionChanged(e,t,i){if(this._selectionContainer.replaceChildren(),this._rowFactory.handleSelectionChanged(e,t,i),this.renderRows(0,this._bufferService.rows-1),!e||!t)return;this._selectionRenderModel.update(this._terminal,e,t,i);const s=this._selectionRenderModel.viewportStartRow,r=this._selectionRenderModel.viewportEndRow,n=this._selectionRenderModel.viewportCappedStartRow,o=this._selectionRenderModel.viewportCappedEndRow;if(n>=this._bufferService.rows||o<0)return;const a=this._document.createDocumentFragment();if(i){const i=e[0]>t[0];a.appendChild(this._createSelectionElement(n,i?t[0]:e[0],i?e[0]:t[0],o-n+1))}else{const i=s===n?e[0]:0,h=n===r?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(n,i,h));const c=o-n-1;if(a.appendChild(this._createSelectionElement(n+1,0,this._bufferService.cols,c)),n!==o){const e=r===o?t[0]:this._bufferService.cols;a.appendChild(this._createSelectionElement(o,0,e))}}this._selectionContainer.appendChild(a)}_createSelectionElement(e,t,i,s=1){const r=this._document.createElement(\"div\"),n=t*this.dimensions.css.cell.width;let o=this.dimensions.css.cell.width*(i-t);return n+o>this.dimensions.css.canvas.width&&(o=this.dimensions.css.canvas.width-n),r.style.height=s*this.dimensions.css.cell.height+\"px\",r.style.top=e*this.dimensions.css.cell.height+\"px\",r.style.left=`${n}px`,r.style.width=`${o}px`,r}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(const e of this._rowElements)e.replaceChildren()}renderRows(e,t){const i=this._bufferService.buffer,s=i.ybase+i.y,r=Math.min(i.x,this._bufferService.cols-1),n=this._optionsService.rawOptions.cursorBlink,o=this._optionsService.rawOptions.cursorStyle,a=this._optionsService.rawOptions.cursorInactiveStyle;for(let h=e;h<=t;h++){const e=h+i.ydisp,t=this._rowElements[h],c=i.lines.get(e);if(!t||!c)break;t.replaceChildren(...this._rowFactory.createRow(c,e,e===s,o,a,r,n,this.dimensions.css.cell.width,this._widthCache,-1,-1))}}get _terminalSelector(){return`.${v}${this._terminalClass}`}_handleLinkHover(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!0)}_handleLinkLeave(e){this._setCellUnderline(e.x1,e.x2,e.y1,e.y2,e.cols,!1)}_setCellUnderline(e,t,i,s,r,n){i<0&&(e=0),s<0&&(t=0);const o=this._bufferService.rows-1;i=Math.max(Math.min(i,o),0),s=Math.max(Math.min(s,o),0),r=Math.min(r,this._bufferService.cols);const a=this._bufferService.buffer,h=a.ybase+a.y,c=Math.min(a.x,r-1),l=this._optionsService.rawOptions.cursorBlink,d=this._optionsService.rawOptions.cursorStyle,_=this._optionsService.rawOptions.cursorInactiveStyle;for(let o=i;o<=s;++o){const u=o+a.ydisp,f=this._rowElements[o],v=a.lines.get(u);if(!f||!v)break;f.replaceChildren(...this._rowFactory.createRow(v,u,u===h,d,_,c,l,this.dimensions.css.cell.width,this._widthCache,n?o===i?e:0:-1,n?(o===s?t:r)-1:-1))}}};t.DomRenderer=w=s([r(7,f.IInstantiationService),r(8,l.ICharSizeService),r(9,f.IOptionsService),r(10,f.IBufferService),r(11,l.ICoreBrowserService),r(12,l.IThemeService)],w)},3787:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.DomRendererRowFactory=void 0;const n=i(2223),o=i(643),a=i(511),h=i(2585),c=i(8055),l=i(4725),d=i(4269),_=i(6171),u=i(3734);let f=t.DomRendererRowFactory=class{constructor(e,t,i,s,r,n,o){this._document=e,this._characterJoinerService=t,this._optionsService=i,this._coreBrowserService=s,this._coreService=r,this._decorationService=n,this._themeService=o,this._workCell=new a.CellData,this._columnSelectMode=!1,this.defaultSpacing=0}handleSelectionChanged(e,t,i){this._selectionStart=e,this._selectionEnd=t,this._columnSelectMode=i}createRow(e,t,i,s,r,a,h,l,_,f,p){const g=[],m=this._characterJoinerService.getJoinedCharacters(t),S=this._themeService.colors;let C,b=e.getNoBgTrimmedLength();i&&b<a+1&&(b=a+1);let w=0,y=\"\",E=0,k=0,L=0,D=!1,R=0,x=!1,A=0;const B=[],T=-1!==f&&-1!==p;for(let M=0;M<b;M++){e.loadCell(M,this._workCell);let b=this._workCell.getWidth();if(0===b)continue;let O=!1,P=M,I=this._workCell;if(m.length>0&&M===m[0][0]){O=!0;const t=m.shift();I=new d.JoinedCellData(this._workCell,e.translateToString(!0,t[0],t[1]),t[1]-t[0]),P=t[1]-1,b=I.getWidth()}const H=this._isCellInSelection(M,t),F=i&&M===a,W=T&&M>=f&&M<=p;let U=!1;this._decorationService.forEachDecorationAtCell(M,t,void 0,(e=>{U=!0}));let N=I.getChars()||o.WHITESPACE_CELL_CHAR;if(\" \"===N&&(I.isUnderline()||I.isOverline())&&(N=\" \"),A=b*l-_.get(N,I.isBold(),I.isItalic()),C){if(w&&(H&&x||!H&&!x&&I.bg===E)&&(H&&x&&S.selectionForeground||I.fg===k)&&I.extended.ext===L&&W===D&&A===R&&!F&&!O&&!U){I.isInvisible()?y+=o.WHITESPACE_CELL_CHAR:y+=N,w++;continue}w&&(C.textContent=y),C=this._document.createElement(\"span\"),w=0,y=\"\"}else C=this._document.createElement(\"span\");if(E=I.bg,k=I.fg,L=I.extended.ext,D=W,R=A,x=H,O&&a>=M&&a<=P&&(a=M),!this._coreService.isCursorHidden&&F&&this._coreService.isCursorInitialized)if(B.push(\"xterm-cursor\"),this._coreBrowserService.isFocused)h&&B.push(\"xterm-cursor-blink\"),B.push(\"bar\"===s?\"xterm-cursor-bar\":\"underline\"===s?\"xterm-cursor-underline\":\"xterm-cursor-block\");else if(r)switch(r){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\")}if(I.isBold()&&B.push(\"xterm-bold\"),I.isItalic()&&B.push(\"xterm-italic\"),I.isDim()&&B.push(\"xterm-dim\"),y=I.isInvisible()?o.WHITESPACE_CELL_CHAR:I.getChars()||o.WHITESPACE_CELL_CHAR,I.isUnderline()&&(B.push(`xterm-underline-${I.extended.underlineStyle}`),\" \"===y&&(y=\" \"),!I.isUnderlineColorDefault()))if(I.isUnderlineColorRGB())C.style.textDecorationColor=`rgb(${u.AttributeData.toColorRGB(I.getUnderlineColor()).join(\",\")})`;else{let e=I.getUnderlineColor();this._optionsService.rawOptions.drawBoldTextInBrightColors&&I.isBold()&&e<8&&(e+=8),C.style.textDecorationColor=S.ansi[e].css}I.isOverline()&&(B.push(\"xterm-overline\"),\" \"===y&&(y=\" \")),I.isStrikethrough()&&B.push(\"xterm-strikethrough\"),W&&(C.style.textDecoration=\"underline\");let $=I.getFgColor(),j=I.getFgColorMode(),z=I.getBgColor(),K=I.getBgColorMode();const q=!!I.isInverse();if(q){const e=$;$=z,z=e;const t=j;j=K,K=t}let V,G,X,J=!1;switch(this._decorationService.forEachDecorationAtCell(M,t,void 0,(e=>{\"top\"!==e.options.layer&&J||(e.backgroundColorRGB&&(K=50331648,z=e.backgroundColorRGB.rgba>>8&16777215,V=e.backgroundColorRGB),e.foregroundColorRGB&&(j=50331648,$=e.foregroundColorRGB.rgba>>8&16777215,G=e.foregroundColorRGB),J=\"top\"===e.options.layer)})),!J&&H&&(V=this._coreBrowserService.isFocused?S.selectionBackgroundOpaque:S.selectionInactiveBackgroundOpaque,z=V.rgba>>8&16777215,K=50331648,J=!0,S.selectionForeground&&(j=50331648,$=S.selectionForeground.rgba>>8&16777215,G=S.selectionForeground)),J&&B.push(\"xterm-decoration-top\"),K){case 16777216:case 33554432:X=S.ansi[z],B.push(`xterm-bg-${z}`);break;case 50331648:X=c.channels.toColor(z>>16,z>>8&255,255&z),this._addStyle(C,`background-color:#${v((z>>>0).toString(16),\"0\",6)}`);break;default:q?(X=S.foreground,B.push(`xterm-bg-${n.INVERTED_DEFAULT_COLOR}`)):X=S.background}switch(V||I.isDim()&&(V=c.color.multiplyOpacity(X,.5)),j){case 16777216:case 33554432:I.isBold()&&$<8&&this._optionsService.rawOptions.drawBoldTextInBrightColors&&($+=8),this._applyMinimumContrast(C,X,S.ansi[$],I,V,void 0)||B.push(`xterm-fg-${$}`);break;case 50331648:const e=c.channels.toColor($>>16&255,$>>8&255,255&$);this._applyMinimumContrast(C,X,e,I,V,G)||this._addStyle(C,`color:#${v($.toString(16),\"0\",6)}`);break;default:this._applyMinimumContrast(C,X,S.foreground,I,V,G)||q&&B.push(`xterm-fg-${n.INVERTED_DEFAULT_COLOR}`)}B.length&&(C.className=B.join(\" \"),B.length=0),F||O||U?C.textContent=y:w++,A!==this.defaultSpacing&&(C.style.letterSpacing=`${A}px`),g.push(C),M=P}return C&&w&&(C.textContent=y),g}_applyMinimumContrast(e,t,i,s,r,n){if(1===this._optionsService.rawOptions.minimumContrastRatio||(0,_.treatGlyphAsBackgroundColor)(s.getCode()))return!1;const o=this._getContrastCache(s);let a;if(r||n||(a=o.getColor(t.rgba,i.rgba)),void 0===a){const e=this._optionsService.rawOptions.minimumContrastRatio/(s.isDim()?2:1);a=c.color.ensureContrastRatio(r||t,n||i,e),o.setColor((r||t).rgba,(n||i).rgba,a??null)}return!!a&&(this._addStyle(e,`color:${a.css}`),!0)}_getContrastCache(e){return e.isDim()?this._themeService.colors.halfContrastCache:this._themeService.colors.contrastCache}_addStyle(e,t){e.setAttribute(\"style\",`${e.getAttribute(\"style\")||\"\"}${t};`)}_isCellInSelection(e,t){const i=this._selectionStart,s=this._selectionEnd;return!(!i||!s)&&(this._columnSelectMode?i[0]<=s[0]?e>=i[0]&&t>=i[1]&&e<s[0]&&t<=s[1]:e<i[0]&&t>=i[1]&&e>=s[0]&&t<=s[1]:t>i[1]&&t<s[1]||i[1]===s[1]&&t===i[1]&&e>=i[0]&&e<s[0]||i[1]<s[1]&&t===s[1]&&e<s[0]||i[1]<s[1]&&t===i[1]&&e>=i[0])}};function v(e,t,i){for(;e.length<i;)e=t+e;return e}t.DomRendererRowFactory=f=s([r(1,l.ICharacterJoinerService),r(2,h.IOptionsService),r(3,l.ICoreBrowserService),r(4,h.ICoreService),r(5,h.IDecorationService),r(6,l.IThemeService)],f)},2550:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WidthCache=void 0,t.WidthCache=class{constructor(e,t){this._flat=new Float32Array(256),this._font=\"\",this._fontSize=0,this._weight=\"normal\",this._weightBold=\"bold\",this._measureElements=[],this._container=e.createElement(\"div\"),this._container.classList.add(\"xterm-width-cache-measure-container\"),this._container.setAttribute(\"aria-hidden\",\"true\"),this._container.style.whiteSpace=\"pre\",this._container.style.fontKerning=\"none\";const i=e.createElement(\"span\");i.classList.add(\"xterm-char-measure-element\");const s=e.createElement(\"span\");s.classList.add(\"xterm-char-measure-element\"),s.style.fontWeight=\"bold\";const r=e.createElement(\"span\");r.classList.add(\"xterm-char-measure-element\"),r.style.fontStyle=\"italic\";const n=e.createElement(\"span\");n.classList.add(\"xterm-char-measure-element\"),n.style.fontWeight=\"bold\",n.style.fontStyle=\"italic\",this._measureElements=[i,s,r,n],this._container.appendChild(i),this._container.appendChild(s),this._container.appendChild(r),this._container.appendChild(n),t.appendChild(this._container),this.clear()}dispose(){this._container.remove(),this._measureElements.length=0,this._holey=void 0}clear(){this._flat.fill(-9999),this._holey=new Map}setFont(e,t,i,s){e===this._font&&t===this._fontSize&&i===this._weight&&s===this._weightBold||(this._font=e,this._fontSize=t,this._weight=i,this._weightBold=s,this._container.style.fontFamily=this._font,this._container.style.fontSize=`${this._fontSize}px`,this._measureElements[0].style.fontWeight=`${i}`,this._measureElements[1].style.fontWeight=`${s}`,this._measureElements[2].style.fontWeight=`${i}`,this._measureElements[3].style.fontWeight=`${s}`,this.clear())}get(e,t,i){let s=0;if(!t&&!i&&1===e.length&&(s=e.charCodeAt(0))<256){if(-9999!==this._flat[s])return this._flat[s];const t=this._measure(e,0);return t>0&&(this._flat[s]=t),t}let r=e;t&&(r+=\"B\"),i&&(r+=\"I\");let n=this._holey.get(r);if(void 0===n){let s=0;t&&(s|=1),i&&(s|=2),n=this._measure(e,s),n>0&&this._holey.set(r,n)}return n}_measure(e,t){const i=this._measureElements[t];return i.textContent=e.repeat(32),i.offsetWidth/32}}},2223:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.TEXT_BASELINE=t.DIM_OPACITY=t.INVERTED_DEFAULT_COLOR=void 0;const s=i(6114);t.INVERTED_DEFAULT_COLOR=257,t.DIM_OPACITY=.5,t.TEXT_BASELINE=s.isFirefox||s.isLegacyEdge?\"bottom\":\"ideographic\"},6171:(e,t)=>{function i(e){return 57508<=e&&e<=57558}function s(e){return e>=128512&&e<=128591||e>=127744&&e<=128511||e>=128640&&e<=128767||e>=9728&&e<=9983||e>=9984&&e<=10175||e>=65024&&e<=65039||e>=129280&&e<=129535||e>=127462&&e<=127487}Object.defineProperty(t,\"__esModule\",{value:!0}),t.computeNextVariantOffset=t.createRenderDimensions=t.treatGlyphAsBackgroundColor=t.allowRescaling=t.isEmoji=t.isRestrictedPowerlineGlyph=t.isPowerlineGlyph=t.throwIfFalsy=void 0,t.throwIfFalsy=function(e){if(!e)throw new Error(\"value must not be falsy\");return e},t.isPowerlineGlyph=i,t.isRestrictedPowerlineGlyph=function(e){return 57520<=e&&e<=57527},t.isEmoji=s,t.allowRescaling=function(e,t,r,n){return 1===t&&r>Math.ceil(1.5*n)&&void 0!==e&&e>255&&!s(e)&&!i(e)&&!function(e){return 57344<=e&&e<=63743}(e)},t.treatGlyphAsBackgroundColor=function(e){return i(e)||function(e){return 9472<=e&&e<=9631}(e)},t.createRenderDimensions=function(){return{css:{canvas:{width:0,height:0},cell:{width:0,height:0}},device:{canvas:{width:0,height:0},cell:{width:0,height:0},char:{width:0,height:0,left:0,top:0}}}},t.computeNextVariantOffset=function(e,t,i=0){return(e-(2*Math.round(t)-i))%(2*Math.round(t))}},6052:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.createSelectionRenderModel=void 0;class i{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(e,t,i,s=!1){if(this.selectionStart=t,this.selectionEnd=i,!t||!i||t[0]===i[0]&&t[1]===i[1])return void this.clear();const r=e.buffers.active.ydisp,n=t[1]-r,o=i[1]-r,a=Math.max(n,0),h=Math.min(o,e.rows-1);a>=e.rows||h<0?this.clear():(this.hasSelection=!0,this.columnSelectMode=s,this.viewportStartRow=n,this.viewportEndRow=o,this.viewportCappedStartRow=a,this.viewportCappedEndRow=h,this.startCol=t[0],this.endCol=i[0])}isCellSelected(e,t,i){return!!this.hasSelection&&(i-=e.buffer.active.viewportY,this.columnSelectMode?this.startCol<=this.endCol?t>=this.startCol&&i>=this.viewportCappedStartRow&&t<this.endCol&&i<=this.viewportCappedEndRow:t<this.startCol&&i>=this.viewportCappedStartRow&&t>=this.endCol&&i<=this.viewportCappedEndRow:i>this.viewportStartRow&&i<this.viewportEndRow||this.viewportStartRow===this.viewportEndRow&&i===this.viewportStartRow&&t>=this.startCol&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportEndRow&&t<this.endCol||this.viewportStartRow<this.viewportEndRow&&i===this.viewportStartRow&&t>=this.startCol)}}t.createSelectionRenderModel=function(){return new i}},456:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionModel=void 0,t.SelectionModel=class{constructor(e){this._bufferService=e,this.isSelectAllActive=!1,this.selectionStartLength=0}clearSelection(){this.selectionStart=void 0,this.selectionEnd=void 0,this.isSelectAllActive=!1,this.selectionStartLength=0}get finalSelectionStart(){return this.isSelectAllActive?[0,0]:this.selectionEnd&&this.selectionStart&&this.areSelectionValuesReversed()?this.selectionEnd:this.selectionStart}get finalSelectionEnd(){if(this.isSelectAllActive)return[this._bufferService.cols,this._bufferService.buffer.ybase+this._bufferService.rows-1];if(this.selectionStart){if(!this.selectionEnd||this.areSelectionValuesReversed()){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?e%this._bufferService.cols==0?[this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)-1]:[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[e,this.selectionStart[1]]}if(this.selectionStartLength&&this.selectionEnd[1]===this.selectionStart[1]){const e=this.selectionStart[0]+this.selectionStartLength;return e>this._bufferService.cols?[e%this._bufferService.cols,this.selectionStart[1]+Math.floor(e/this._bufferService.cols)]:[Math.max(e,this.selectionEnd[0]),this.selectionEnd[1]]}return this.selectionEnd}}areSelectionValuesReversed(){const e=this.selectionStart,t=this.selectionEnd;return!(!e||!t)&&(e[1]>t[1]||e[1]===t[1]&&e[0]>t[0])}handleTrim(e){return this.selectionStart&&(this.selectionStart[1]-=e),this.selectionEnd&&(this.selectionEnd[1]-=e),this.selectionEnd&&this.selectionEnd[1]<0?(this.clearSelection(),!0):(this.selectionStart&&this.selectionStart[1]<0&&(this.selectionStart[1]=0),!1)}}},428:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharSizeService=void 0;const n=i(2585),o=i(8460),a=i(844);let h=t.CharSizeService=class extends a.Disposable{get hasValidSize(){return this.width>0&&this.height>0}constructor(e,t,i){super(),this._optionsService=i,this.width=0,this.height=0,this._onCharSizeChange=this.register(new o.EventEmitter),this.onCharSizeChange=this._onCharSizeChange.event;try{this._measureStrategy=this.register(new d(this._optionsService))}catch{this._measureStrategy=this.register(new l(e,t,this._optionsService))}this.register(this._optionsService.onMultipleOptionChange([\"fontFamily\",\"fontSize\"],(()=>this.measure())))}measure(){const e=this._measureStrategy.measure();e.width===this.width&&e.height===this.height||(this.width=e.width,this.height=e.height,this._onCharSizeChange.fire())}};t.CharSizeService=h=s([r(2,n.IOptionsService)],h);class c extends a.Disposable{constructor(){super(...arguments),this._result={width:0,height:0}}_validateAndSet(e,t){void 0!==e&&e>0&&void 0!==t&&t>0&&(this._result.width=e,this._result.height=t)}}class l extends c{constructor(e,t,i){super(),this._document=e,this._parentElement=t,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}}class d extends c{constructor(e){super(),this._optionsService=e,this._canvas=new OffscreenCanvas(100,100),this._ctx=this._canvas.getContext(\"2d\");const t=this._ctx.measureText(\"W\");if(!(\"width\"in t&&\"fontBoundingBoxAscent\"in t&&\"fontBoundingBoxDescent\"in t))throw new Error(\"Required font metrics not supported\")}measure(){this._ctx.font=`${this._optionsService.rawOptions.fontSize}px ${this._optionsService.rawOptions.fontFamily}`;const e=this._ctx.measureText(\"W\");return this._validateAndSet(e.width,e.fontBoundingBoxAscent+e.fontBoundingBoxDescent),this._result}}},4269:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharacterJoinerService=t.JoinedCellData=void 0;const n=i(3734),o=i(643),a=i(511),h=i(2585);class c extends n.AttributeData{constructor(e,t,i){super(),this.content=0,this.combinedData=\"\",this.fg=e.fg,this.bg=e.bg,this.combinedData=t,this._width=i}isCombined(){return 2097152}getWidth(){return this._width}getChars(){return this.combinedData}getCode(){return 2097151}setFromCharData(e){throw new Error(\"not implemented\")}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.JoinedCellData=c;let l=t.CharacterJoinerService=class e{constructor(e){this._bufferService=e,this._characterJoiners=[],this._nextCharacterJoinerId=0,this._workCell=new a.CellData}register(e){const t={id:this._nextCharacterJoinerId++,handler:e};return this._characterJoiners.push(t),t.id}deregister(e){for(let t=0;t<this._characterJoiners.length;t++)if(this._characterJoiners[t].id===e)return this._characterJoiners.splice(t,1),!0;return!1}getJoinedCharacters(e){if(0===this._characterJoiners.length)return[];const t=this._bufferService.buffer.lines.get(e);if(!t||0===t.length)return[];const i=[],s=t.translateToString(!0);let r=0,n=0,a=0,h=t.getFg(0),c=t.getBg(0);for(let e=0;e<t.getTrimmedLength();e++)if(t.loadCell(e,this._workCell),0!==this._workCell.getWidth()){if(this._workCell.fg!==h||this._workCell.bg!==c){if(e-r>1){const e=this._getJoinedRanges(s,a,n,t,r);for(let t=0;t<e.length;t++)i.push(e[t])}r=e,a=n,h=this._workCell.fg,c=this._workCell.bg}n+=this._workCell.getChars().length||o.WHITESPACE_CELL_CHAR.length}if(this._bufferService.cols-r>1){const e=this._getJoinedRanges(s,a,n,t,r);for(let t=0;t<e.length;t++)i.push(e[t])}return i}_getJoinedRanges(t,i,s,r,n){const o=t.substring(i,s);let a=[];try{a=this._characterJoiners[0].handler(o)}catch(e){console.error(e)}for(let t=1;t<this._characterJoiners.length;t++)try{const i=this._characterJoiners[t].handler(o);for(let t=0;t<i.length;t++)e._mergeRanges(a,i[t])}catch(e){console.error(e)}return this._stringRangesToCellRanges(a,r,n),a}_stringRangesToCellRanges(e,t,i){let s=0,r=!1,n=0,a=e[s];if(a){for(let h=i;h<this._bufferService.cols;h++){const i=t.getWidth(h),c=t.getString(h).length||o.WHITESPACE_CELL_CHAR.length;if(0!==i){if(!r&&a[0]<=n&&(a[0]=h,r=!0),a[1]<=n){if(a[1]=h,a=e[++s],!a)break;a[0]<=n?(a[0]=h,r=!0):r=!1}n+=c}}a&&(a[1]=this._bufferService.cols)}}static _mergeRanges(e,t){let i=!1;for(let s=0;s<e.length;s++){const r=e[s];if(i){if(t[1]<=r[0])return e[s-1][1]=t[1],e;if(t[1]<=r[1])return e[s-1][1]=Math.max(t[1],r[1]),e.splice(s,1),e;e.splice(s,1),s--}else{if(t[1]<=r[0])return e.splice(s,0,t),e;if(t[1]<=r[1])return r[0]=Math.min(t[0],r[0]),e;t[0]<r[1]&&(r[0]=Math.min(t[0],r[0]),i=!0)}}return i?e[e.length-1][1]=t[1]:e.push(t),e}};t.CharacterJoinerService=l=s([r(0,h.IBufferService)],l)},5114:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreBrowserService=void 0;const s=i(844),r=i(8460),n=i(3656);class o extends s.Disposable{constructor(e,t,i){super(),this._textarea=e,this._window=t,this.mainDocument=i,this._isFocused=!1,this._cachedIsFocused=void 0,this._screenDprMonitor=new a(this._window),this._onDprChange=this.register(new r.EventEmitter),this.onDprChange=this._onDprChange.event,this._onWindowChange=this.register(new r.EventEmitter),this.onWindowChange=this._onWindowChange.event,this.register(this.onWindowChange((e=>this._screenDprMonitor.setWindow(e)))),this.register((0,r.forwardEvent)(this._screenDprMonitor.onDprChange,this._onDprChange)),this._textarea.addEventListener(\"focus\",(()=>this._isFocused=!0)),this._textarea.addEventListener(\"blur\",(()=>this._isFocused=!1))}get window(){return this._window}set window(e){this._window!==e&&(this._window=e,this._onWindowChange.fire(this._window))}get dpr(){return this.window.devicePixelRatio}get isFocused(){return void 0===this._cachedIsFocused&&(this._cachedIsFocused=this._isFocused&&this._textarea.ownerDocument.hasFocus(),queueMicrotask((()=>this._cachedIsFocused=void 0))),this._cachedIsFocused}}t.CoreBrowserService=o;class a extends s.Disposable{constructor(e){super(),this._parentWindow=e,this._windowResizeListener=this.register(new s.MutableDisposable),this._onDprChange=this.register(new r.EventEmitter),this.onDprChange=this._onDprChange.event,this._outerListener=()=>this._setDprAndFireIfDiffers(),this._currentDevicePixelRatio=this._parentWindow.devicePixelRatio,this._updateDpr(),this._setWindowResizeListener(),this.register((0,s.toDisposable)((()=>this.clearListener())))}setWindow(e){this._parentWindow=e,this._setWindowResizeListener(),this._setDprAndFireIfDiffers()}_setWindowResizeListener(){this._windowResizeListener.value=(0,n.addDisposableDomListener)(this._parentWindow,\"resize\",(()=>this._setDprAndFireIfDiffers()))}_setDprAndFireIfDiffers(){this._parentWindow.devicePixelRatio!==this._currentDevicePixelRatio&&this._onDprChange.fire(this._parentWindow.devicePixelRatio),this._updateDpr()}_updateDpr(){this._outerListener&&(this._resolutionMediaMatchList?.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)}}},779:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.LinkProviderService=void 0;const s=i(844);class r extends s.Disposable{constructor(){super(),this.linkProviders=[],this.register((0,s.toDisposable)((()=>this.linkProviders.length=0)))}registerLinkProvider(e){return this.linkProviders.push(e),{dispose:()=>{const t=this.linkProviders.indexOf(e);-1!==t&&this.linkProviders.splice(t,1)}}}}t.LinkProviderService=r},8934:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.MouseService=void 0;const n=i(4725),o=i(9806);let a=t.MouseService=class{constructor(e,t){this._renderService=e,this._charSizeService=t}getCoords(e,t,i,s,r){return(0,o.getCoords)(window,e,t,i,s,this._charSizeService.hasValidSize,this._renderService.dimensions.css.cell.width,this._renderService.dimensions.css.cell.height,r)}getMouseReportCoords(e,t){const i=(0,o.getCoordsRelativeToElement)(window,e,t);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])}}};t.MouseService=a=s([r(0,n.IRenderService),r(1,n.ICharSizeService)],a)},3230:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.RenderService=void 0;const n=i(6193),o=i(4725),a=i(8460),h=i(844),c=i(7226),l=i(2585);let d=t.RenderService=class extends h.Disposable{get dimensions(){return this._renderer.value.dimensions}constructor(e,t,i,s,r,o,l,d){super(),this._rowCount=e,this._charSizeService=s,this._renderer=this.register(new h.MutableDisposable),this._pausedResizeTask=new c.DebouncedIdleTask,this._observerDisposable=this.register(new h.MutableDisposable),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 a.EventEmitter),this.onDimensionsChange=this._onDimensionsChange.event,this._onRenderedViewportChange=this.register(new a.EventEmitter),this.onRenderedViewportChange=this._onRenderedViewportChange.event,this._onRender=this.register(new a.EventEmitter),this.onRender=this._onRender.event,this._onRefreshRequest=this.register(new a.EventEmitter),this.onRefreshRequest=this._onRefreshRequest.event,this._renderDebouncer=new n.RenderDebouncer(((e,t)=>this._renderRows(e,t)),l),this.register(this._renderDebouncer),this.register(l.onDprChange((()=>this.handleDevicePixelRatioChange()))),this.register(o.onResize((()=>this._fullRefresh()))),this.register(o.buffers.onBufferActivate((()=>this._renderer.value?.clear()))),this.register(i.onOptionChange((()=>this._handleOptionsChanged()))),this.register(this._charSizeService.onCharSizeChange((()=>this.handleCharSizeChanged()))),this.register(r.onDecorationRegistered((()=>this._fullRefresh()))),this.register(r.onDecorationRemoved((()=>this._fullRefresh()))),this.register(i.onMultipleOptionChange([\"customGlyphs\",\"drawBoldTextInBrightColors\",\"letterSpacing\",\"lineHeight\",\"fontFamily\",\"fontSize\",\"fontWeight\",\"fontWeightBold\",\"minimumContrastRatio\",\"rescaleOverlappingGlyphs\"],(()=>{this.clear(),this.handleResize(o.cols,o.rows),this._fullRefresh()}))),this.register(i.onMultipleOptionChange([\"cursorBlink\",\"cursorStyle\"],(()=>this.refreshRows(o.buffer.y,o.buffer.y,!0)))),this.register(d.onChangeColors((()=>this._fullRefresh()))),this._registerIntersectionObserver(l.window,t),this.register(l.onWindowChange((e=>this._registerIntersectionObserver(e,t))))}_registerIntersectionObserver(e,t){if(\"IntersectionObserver\"in e){const i=new e.IntersectionObserver((e=>this._handleIntersectionChange(e[e.length-1])),{threshold:0});i.observe(t),this._observerDisposable.value=(0,h.toDisposable)((()=>i.disconnect()))}}_handleIntersectionChange(e){this._isPaused=void 0===e.isIntersecting?0===e.intersectionRatio:!e.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(e,t,i=!1){this._isPaused?this._needsFullRefresh=!0:(i||(this._isNextRenderRedrawOnly=!1),this._renderDebouncer.refresh(e,t,this._rowCount))}_renderRows(e,t){this._renderer.value&&(e=Math.min(e,this._rowCount-1),t=Math.min(t,this._rowCount-1),this._renderer.value.renderRows(e,t),this._needsSelectionRefresh&&(this._renderer.value.handleSelectionChanged(this._selectionState.start,this._selectionState.end,this._selectionState.columnSelectMode),this._needsSelectionRefresh=!1),this._isNextRenderRedrawOnly||this._onRenderedViewportChange.fire({start:e,end:t}),this._onRender.fire({start:e,end:t}),this._isNextRenderRedrawOnly=!0)}resize(e,t){this._rowCount=t,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(e){this._renderer.value=e,this._renderer.value&&(this._renderer.value.onRequestRedraw((e=>this.refreshRows(e.start,e.end,!0))),this._needsSelectionRefresh=!0,this._fullRefresh())}addRefreshCallback(e){return this._renderDebouncer.addRefreshCallback(e)}_fullRefresh(){this._isPaused?this._needsFullRefresh=!0:this.refreshRows(0,this._rowCount-1)}clearTextureAtlas(){this._renderer.value&&(this._renderer.value.clearTextureAtlas?.(),this._fullRefresh())}handleDevicePixelRatioChange(){this._charSizeService.measure(),this._renderer.value&&(this._renderer.value.handleDevicePixelRatioChange(),this.refreshRows(0,this._rowCount-1))}handleResize(e,t){this._renderer.value&&(this._isPaused?this._pausedResizeTask.set((()=>this._renderer.value?.handleResize(e,t))):this._renderer.value.handleResize(e,t),this._fullRefresh())}handleCharSizeChanged(){this._renderer.value?.handleCharSizeChanged()}handleBlur(){this._renderer.value?.handleBlur()}handleFocus(){this._renderer.value?.handleFocus()}handleSelectionChanged(e,t,i){this._selectionState.start=e,this._selectionState.end=t,this._selectionState.columnSelectMode=i,this._renderer.value?.handleSelectionChanged(e,t,i)}handleCursorMove(){this._renderer.value?.handleCursorMove()}clear(){this._renderer.value?.clear()}};t.RenderService=d=s([r(2,l.IOptionsService),r(3,o.ICharSizeService),r(4,l.IDecorationService),r(5,l.IBufferService),r(6,o.ICoreBrowserService),r(7,o.IThemeService)],d)},9312:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.SelectionService=void 0;const n=i(9806),o=i(9504),a=i(456),h=i(4725),c=i(8460),l=i(844),d=i(6114),_=i(4841),u=i(511),f=i(2585),v=String.fromCharCode(160),p=new RegExp(v,\"g\");let g=t.SelectionService=class extends l.Disposable{constructor(e,t,i,s,r,n,o,h,d){super(),this._element=e,this._screenElement=t,this._linkifier=i,this._bufferService=s,this._coreService=r,this._mouseService=n,this._optionsService=o,this._renderService=h,this._coreBrowserService=d,this._dragScrollAmount=0,this._enabled=!0,this._workCell=new u.CellData,this._mouseDownTimeStamp=0,this._oldHasSelection=!1,this._oldSelectionStart=void 0,this._oldSelectionEnd=void 0,this._onLinuxMouseSelection=this.register(new c.EventEmitter),this.onLinuxMouseSelection=this._onLinuxMouseSelection.event,this._onRedrawRequest=this.register(new c.EventEmitter),this.onRequestRedraw=this._onRedrawRequest.event,this._onSelectionChange=this.register(new c.EventEmitter),this.onSelectionChange=this._onSelectionChange.event,this._onRequestScrollLines=this.register(new c.EventEmitter),this.onRequestScrollLines=this._onRequestScrollLines.event,this._mouseMoveListener=e=>this._handleMouseMove(e),this._mouseUpListener=e=>this._handleMouseUp(e),this._coreService.onUserInput((()=>{this.hasSelection&&this.clearSelection()})),this._trimListener=this._bufferService.buffer.lines.onTrim((e=>this._handleTrim(e))),this.register(this._bufferService.buffers.onBufferActivate((e=>this._handleBufferActivate(e)))),this.enable(),this._model=new a.SelectionModel(this._bufferService),this._activeSelectionMode=0,this.register((0,l.toDisposable)((()=>{this._removeMouseDownListeners()})))}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(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;return!(!e||!t||e[0]===t[0]&&e[1]===t[1])}get selectionText(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd;if(!e||!t)return\"\";const i=this._bufferService.buffer,s=[];if(3===this._activeSelectionMode){if(e[0]===t[0])return\"\";const r=e[0]<t[0]?e[0]:t[0],n=e[0]<t[0]?t[0]:e[0];for(let o=e[1];o<=t[1];o++){const e=i.translateBufferLineToString(o,!0,r,n);s.push(e)}}else{const r=e[1]===t[1]?t[0]:void 0;s.push(i.translateBufferLineToString(e[1],!0,e[0],r));for(let r=e[1]+1;r<=t[1]-1;r++){const e=i.lines.get(r),t=i.translateBufferLineToString(r,!0);e?.isWrapped?s[s.length-1]+=t:s.push(t)}if(e[1]!==t[1]){const e=i.lines.get(t[1]),r=i.translateBufferLineToString(t[1],!0,0,t[0]);e&&e.isWrapped?s[s.length-1]+=r:s.push(r)}}return s.map((e=>e.replace(p,\" \"))).join(d.isWindows?\"\\r\\n\":\"\\n\")}clearSelection(){this._model.clearSelection(),this._removeMouseDownListeners(),this.refresh(),this._onSelectionChange.fire()}refresh(e){this._refreshAnimationFrame||(this._refreshAnimationFrame=this._coreBrowserService.window.requestAnimationFrame((()=>this._refresh()))),d.isLinux&&e&&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:3===this._activeSelectionMode})}_isClickInSelection(e){const t=this._getMouseBufferCoords(e),i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!!(i&&s&&t)&&this._areCoordsInSelection(t,i,s)}isCellInSelection(e,t){const i=this._model.finalSelectionStart,s=this._model.finalSelectionEnd;return!(!i||!s)&&this._areCoordsInSelection([e,t],i,s)}_areCoordsInSelection(e,t,i){return e[1]>t[1]&&e[1]<i[1]||t[1]===i[1]&&e[1]===t[1]&&e[0]>=t[0]&&e[0]<i[0]||t[1]<i[1]&&e[1]===i[1]&&e[0]<i[0]||t[1]<i[1]&&e[1]===t[1]&&e[0]>=t[0]}_selectWordAtCursor(e,t){const i=this._linkifier.currentLink?.link?.range;if(i)return this._model.selectionStart=[i.start.x-1,i.start.y-1],this._model.selectionStartLength=(0,_.getRangeLength)(i,this._bufferService.cols),this._model.selectionEnd=void 0,!0;const s=this._getMouseBufferCoords(e);return!!s&&(this._selectWordAt(s,t),this._model.selectionEnd=void 0,!0)}selectAll(){this._model.isSelectAllActive=!0,this.refresh(),this._onSelectionChange.fire()}selectLines(e,t){this._model.clearSelection(),e=Math.max(e,0),t=Math.min(t,this._bufferService.buffer.lines.length-1),this._model.selectionStart=[0,e],this._model.selectionEnd=[this._bufferService.cols,t],this.refresh(),this._onSelectionChange.fire()}_handleTrim(e){this._model.handleTrim(e)&&this.refresh()}_getMouseBufferCoords(e){const t=this._mouseService.getCoords(e,this._screenElement,this._bufferService.cols,this._bufferService.rows,!0);if(t)return t[0]--,t[1]--,t[1]+=this._bufferService.buffer.ydisp,t}_getMouseEventScrollAmount(e){let t=(0,n.getCoordsRelativeToElement)(this._coreBrowserService.window,e,this._screenElement)[1];const i=this._renderService.dimensions.css.canvas.height;return t>=0&&t<=i?0:(t>i&&(t-=i),t=Math.min(Math.max(t,-50),50),t/=50,t/Math.abs(t)+Math.round(14*t))}shouldForceSelection(e){return d.isMac?e.altKey&&this._optionsService.rawOptions.macOptionClickForcesSelection:e.shiftKey}handleMouseDown(e){if(this._mouseDownTimeStamp=e.timeStamp,(2!==e.button||!this.hasSelection)&&0===e.button){if(!this._enabled){if(!this.shouldForceSelection(e))return;e.stopPropagation()}e.preventDefault(),this._dragScrollAmount=0,this._enabled&&e.shiftKey?this._handleIncrementalClick(e):1===e.detail?this._handleSingleClick(e):2===e.detail?this._handleDoubleClick(e):3===e.detail&&this._handleTripleClick(e),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()),50)}_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(e){this._model.selectionStart&&(this._model.selectionEnd=this._getMouseBufferCoords(e))}_handleSingleClick(e){if(this._model.selectionStartLength=0,this._model.isSelectAllActive=!1,this._activeSelectionMode=this.shouldColumnSelect(e)?3:0,this._model.selectionStart=this._getMouseBufferCoords(e),!this._model.selectionStart)return;this._model.selectionEnd=void 0;const t=this._bufferService.buffer.lines.get(this._model.selectionStart[1]);t&&t.length!==this._model.selectionStart[0]&&0===t.hasWidth(this._model.selectionStart[0])&&this._model.selectionStart[0]++}_handleDoubleClick(e){this._selectWordAtCursor(e,!0)&&(this._activeSelectionMode=1)}_handleTripleClick(e){const t=this._getMouseBufferCoords(e);t&&(this._activeSelectionMode=2,this._selectLineAt(t[1]))}shouldColumnSelect(e){return e.altKey&&!(d.isMac&&this._optionsService.rawOptions.macOptionClickForcesSelection)}_handleMouseMove(e){if(e.stopImmediatePropagation(),!this._model.selectionStart)return;const t=this._model.selectionEnd?[this._model.selectionEnd[0],this._model.selectionEnd[1]]:null;if(this._model.selectionEnd=this._getMouseBufferCoords(e),!this._model.selectionEnd)return void this.refresh(!0);2===this._activeSelectionMode?this._model.selectionEnd[1]<this._model.selectionStart[1]?this._model.selectionEnd[0]=0:this._model.selectionEnd[0]=this._bufferService.cols:1===this._activeSelectionMode&&this._selectToWordAt(this._model.selectionEnd),this._dragScrollAmount=this._getMouseEventScrollAmount(e),3!==this._activeSelectionMode&&(this._dragScrollAmount>0?this._model.selectionEnd[0]=this._bufferService.cols:this._dragScrollAmount<0&&(this._model.selectionEnd[0]=0));const i=this._bufferService.buffer;if(this._model.selectionEnd[1]<i.lines.length){const e=i.lines.get(this._model.selectionEnd[1]);e&&0===e.hasWidth(this._model.selectionEnd[0])&&this._model.selectionEnd[0]<this._bufferService.cols&&this._model.selectionEnd[0]++}t&&t[0]===this._model.selectionEnd[0]&&t[1]===this._model.selectionEnd[1]||this.refresh(!0)}_dragScroll(){if(this._model.selectionEnd&&this._model.selectionStart&&this._dragScrollAmount){this._onRequestScrollLines.fire({amount:this._dragScrollAmount,suppressScrollEvent:!1});const e=this._bufferService.buffer;this._dragScrollAmount>0?(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=this._bufferService.cols),this._model.selectionEnd[1]=Math.min(e.ydisp+this._bufferService.rows,e.lines.length-1)):(3!==this._activeSelectionMode&&(this._model.selectionEnd[0]=0),this._model.selectionEnd[1]=e.ydisp),this.refresh()}}_handleMouseUp(e){const t=e.timeStamp-this._mouseDownTimeStamp;if(this._removeMouseDownListeners(),this.selectionText.length<=1&&t<500&&e.altKey&&this._optionsService.rawOptions.altClickMovesCursor){if(this._bufferService.buffer.ybase===this._bufferService.buffer.ydisp){const t=this._mouseService.getCoords(e,this._element,this._bufferService.cols,this._bufferService.rows,!1);if(t&&void 0!==t[0]&&void 0!==t[1]){const e=(0,o.moveToCellSequence)(t[0]-1,t[1]-1,this._bufferService,this._coreService.decPrivateModes.applicationCursorKeys);this._coreService.triggerDataEvent(e,!0)}}}else this._fireEventIfSelectionChanged()}_fireEventIfSelectionChanged(){const e=this._model.finalSelectionStart,t=this._model.finalSelectionEnd,i=!(!e||!t||e[0]===t[0]&&e[1]===t[1]);i?e&&t&&(this._oldSelectionStart&&this._oldSelectionEnd&&e[0]===this._oldSelectionStart[0]&&e[1]===this._oldSelectionStart[1]&&t[0]===this._oldSelectionEnd[0]&&t[1]===this._oldSelectionEnd[1]||this._fireOnSelectionChange(e,t,i)):this._oldHasSelection&&this._fireOnSelectionChange(e,t,i)}_fireOnSelectionChange(e,t,i){this._oldSelectionStart=e,this._oldSelectionEnd=t,this._oldHasSelection=i,this._onSelectionChange.fire()}_handleBufferActivate(e){this.clearSelection(),this._trimListener.dispose(),this._trimListener=e.activeBuffer.lines.onTrim((e=>this._handleTrim(e)))}_convertViewportColToCharacterIndex(e,t){let i=t;for(let s=0;t>=s;s++){const r=e.loadCell(s,this._workCell).getChars().length;0===this._workCell.getWidth()?i--:r>1&&t!==s&&(i+=r-1)}return i}setSelection(e,t,i){this._model.clearSelection(),this._removeMouseDownListeners(),this._model.selectionStart=[e,t],this._model.selectionStartLength=i,this.refresh(),this._fireEventIfSelectionChanged()}rightClickSelect(e){this._isClickInSelection(e)||(this._selectWordAtCursor(e,!1)&&this.refresh(!0),this._fireEventIfSelectionChanged())}_getWordAt(e,t,i=!0,s=!0){if(e[0]>=this._bufferService.cols)return;const r=this._bufferService.buffer,n=r.lines.get(e[1]);if(!n)return;const o=r.translateBufferLineToString(e[1],!1);let a=this._convertViewportColToCharacterIndex(n,e[0]),h=a;const c=e[0]-a;let l=0,d=0,_=0,u=0;if(\" \"===o.charAt(a)){for(;a>0&&\" \"===o.charAt(a-1);)a--;for(;h<o.length&&\" \"===o.charAt(h+1);)h++}else{let t=e[0],i=e[0];0===n.getWidth(t)&&(l++,t--),2===n.getWidth(i)&&(d++,i++);const s=n.getString(i).length;for(s>1&&(u+=s-1,h+=s-1);t>0&&a>0&&!this._isCharWordSeparator(n.loadCell(t-1,this._workCell));){n.loadCell(t-1,this._workCell);const e=this._workCell.getChars().length;0===this._workCell.getWidth()?(l++,t--):e>1&&(_+=e-1,a-=e-1),a--,t--}for(;i<n.length&&h+1<o.length&&!this._isCharWordSeparator(n.loadCell(i+1,this._workCell));){n.loadCell(i+1,this._workCell);const e=this._workCell.getChars().length;2===this._workCell.getWidth()?(d++,i++):e>1&&(u+=e-1,h+=e-1),h++,i++}}h++;let f=a+c-l+_,v=Math.min(this._bufferService.cols,h-a+l+d-_-u);if(t||\"\"!==o.slice(a,h).trim()){if(i&&0===f&&32!==n.getCodePoint(0)){const t=r.lines.get(e[1]-1);if(t&&n.isWrapped&&32!==t.getCodePoint(this._bufferService.cols-1)){const t=this._getWordAt([this._bufferService.cols-1,e[1]-1],!1,!0,!1);if(t){const e=this._bufferService.cols-t.start;f-=e,v+=e}}}if(s&&f+v===this._bufferService.cols&&32!==n.getCodePoint(this._bufferService.cols-1)){const t=r.lines.get(e[1]+1);if(t?.isWrapped&&32!==t.getCodePoint(0)){const t=this._getWordAt([0,e[1]+1],!1,!1,!0);t&&(v+=t.length)}}return{start:f,length:v}}}_selectWordAt(e,t){const i=this._getWordAt(e,t);if(i){for(;i.start<0;)i.start+=this._bufferService.cols,e[1]--;this._model.selectionStart=[i.start,e[1]],this._model.selectionStartLength=i.length}}_selectToWordAt(e){const t=this._getWordAt(e,!0);if(t){let i=e[1];for(;t.start<0;)t.start+=this._bufferService.cols,i--;if(!this._model.areSelectionValuesReversed())for(;t.start+t.length>this._bufferService.cols;)t.length-=this._bufferService.cols,i++;this._model.selectionEnd=[this._model.areSelectionValuesReversed()?t.start:t.start+t.length,i]}}_isCharWordSeparator(e){return 0!==e.getWidth()&&this._optionsService.rawOptions.wordSeparator.indexOf(e.getChars())>=0}_selectLineAt(e){const t=this._bufferService.buffer.getWrappedRangeForLine(e),i={start:{x:0,y:t.first},end:{x:this._bufferService.cols-1,y:t.last}};this._model.selectionStart=[0,t.first],this._model.selectionEnd=void 0,this._model.selectionStartLength=(0,_.getRangeLength)(i,this._bufferService.cols)}};t.SelectionService=g=s([r(3,f.IBufferService),r(4,f.ICoreService),r(5,h.IMouseService),r(6,f.IOptionsService),r(7,h.IRenderService),r(8,h.ICoreBrowserService)],g)},4725:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ILinkProviderService=t.IThemeService=t.ICharacterJoinerService=t.ISelectionService=t.IRenderService=t.IMouseService=t.ICoreBrowserService=t.ICharSizeService=void 0;const s=i(8343);t.ICharSizeService=(0,s.createDecorator)(\"CharSizeService\"),t.ICoreBrowserService=(0,s.createDecorator)(\"CoreBrowserService\"),t.IMouseService=(0,s.createDecorator)(\"MouseService\"),t.IRenderService=(0,s.createDecorator)(\"RenderService\"),t.ISelectionService=(0,s.createDecorator)(\"SelectionService\"),t.ICharacterJoinerService=(0,s.createDecorator)(\"CharacterJoinerService\"),t.IThemeService=(0,s.createDecorator)(\"ThemeService\"),t.ILinkProviderService=(0,s.createDecorator)(\"LinkProviderService\")},6731:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.ThemeService=t.DEFAULT_ANSI_COLORS=void 0;const n=i(7239),o=i(8055),a=i(8460),h=i(844),c=i(2585),l=o.css.toColor(\"#ffffff\"),d=o.css.toColor(\"#000000\"),_=o.css.toColor(\"#ffffff\"),u=o.css.toColor(\"#000000\"),f={css:\"rgba(255, 255, 255, 0.3)\",rgba:4294967117};t.DEFAULT_ANSI_COLORS=Object.freeze((()=>{const e=[o.css.toColor(\"#2e3436\"),o.css.toColor(\"#cc0000\"),o.css.toColor(\"#4e9a06\"),o.css.toColor(\"#c4a000\"),o.css.toColor(\"#3465a4\"),o.css.toColor(\"#75507b\"),o.css.toColor(\"#06989a\"),o.css.toColor(\"#d3d7cf\"),o.css.toColor(\"#555753\"),o.css.toColor(\"#ef2929\"),o.css.toColor(\"#8ae234\"),o.css.toColor(\"#fce94f\"),o.css.toColor(\"#729fcf\"),o.css.toColor(\"#ad7fa8\"),o.css.toColor(\"#34e2e2\"),o.css.toColor(\"#eeeeec\")],t=[0,95,135,175,215,255];for(let i=0;i<216;i++){const s=t[i/36%6|0],r=t[i/6%6|0],n=t[i%6];e.push({css:o.channels.toCss(s,r,n),rgba:o.channels.toRgba(s,r,n)})}for(let t=0;t<24;t++){const i=8+10*t;e.push({css:o.channels.toCss(i,i,i),rgba:o.channels.toRgba(i,i,i)})}return e})());let v=t.ThemeService=class extends h.Disposable{get colors(){return this._colors}constructor(e){super(),this._optionsService=e,this._contrastCache=new n.ColorContrastCache,this._halfContrastCache=new n.ColorContrastCache,this._onChangeColors=this.register(new a.EventEmitter),this.onChangeColors=this._onChangeColors.event,this._colors={foreground:l,background:d,cursor:_,cursorAccent:u,selectionForeground:void 0,selectionBackgroundTransparent:f,selectionBackgroundOpaque:o.color.blend(d,f),selectionInactiveBackgroundTransparent:f,selectionInactiveBackgroundOpaque:o.color.blend(d,f),ansi:t.DEFAULT_ANSI_COLORS.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))))}_setTheme(e={}){const i=this._colors;if(i.foreground=p(e.foreground,l),i.background=p(e.background,d),i.cursor=p(e.cursor,_),i.cursorAccent=p(e.cursorAccent,u),i.selectionBackgroundTransparent=p(e.selectionBackground,f),i.selectionBackgroundOpaque=o.color.blend(i.background,i.selectionBackgroundTransparent),i.selectionInactiveBackgroundTransparent=p(e.selectionInactiveBackground,i.selectionBackgroundTransparent),i.selectionInactiveBackgroundOpaque=o.color.blend(i.background,i.selectionInactiveBackgroundTransparent),i.selectionForeground=e.selectionForeground?p(e.selectionForeground,o.NULL_COLOR):void 0,i.selectionForeground===o.NULL_COLOR&&(i.selectionForeground=void 0),o.color.isOpaque(i.selectionBackgroundTransparent)){const e=.3;i.selectionBackgroundTransparent=o.color.opacity(i.selectionBackgroundTransparent,e)}if(o.color.isOpaque(i.selectionInactiveBackgroundTransparent)){const e=.3;i.selectionInactiveBackgroundTransparent=o.color.opacity(i.selectionInactiveBackgroundTransparent,e)}if(i.ansi=t.DEFAULT_ANSI_COLORS.slice(),i.ansi[0]=p(e.black,t.DEFAULT_ANSI_COLORS[0]),i.ansi[1]=p(e.red,t.DEFAULT_ANSI_COLORS[1]),i.ansi[2]=p(e.green,t.DEFAULT_ANSI_COLORS[2]),i.ansi[3]=p(e.yellow,t.DEFAULT_ANSI_COLORS[3]),i.ansi[4]=p(e.blue,t.DEFAULT_ANSI_COLORS[4]),i.ansi[5]=p(e.magenta,t.DEFAULT_ANSI_COLORS[5]),i.ansi[6]=p(e.cyan,t.DEFAULT_ANSI_COLORS[6]),i.ansi[7]=p(e.white,t.DEFAULT_ANSI_COLORS[7]),i.ansi[8]=p(e.brightBlack,t.DEFAULT_ANSI_COLORS[8]),i.ansi[9]=p(e.brightRed,t.DEFAULT_ANSI_COLORS[9]),i.ansi[10]=p(e.brightGreen,t.DEFAULT_ANSI_COLORS[10]),i.ansi[11]=p(e.brightYellow,t.DEFAULT_ANSI_COLORS[11]),i.ansi[12]=p(e.brightBlue,t.DEFAULT_ANSI_COLORS[12]),i.ansi[13]=p(e.brightMagenta,t.DEFAULT_ANSI_COLORS[13]),i.ansi[14]=p(e.brightCyan,t.DEFAULT_ANSI_COLORS[14]),i.ansi[15]=p(e.brightWhite,t.DEFAULT_ANSI_COLORS[15]),e.extendedAnsi){const s=Math.min(i.ansi.length-16,e.extendedAnsi.length);for(let r=0;r<s;r++)i.ansi[r+16]=p(e.extendedAnsi[r],t.DEFAULT_ANSI_COLORS[r+16])}this._contrastCache.clear(),this._halfContrastCache.clear(),this._updateRestoreColors(),this._onChangeColors.fire(this.colors)}restoreColor(e){this._restoreColor(e),this._onChangeColors.fire(this.colors)}_restoreColor(e){if(void 0!==e)switch(e){case 256:this._colors.foreground=this._restoreColors.foreground;break;case 257:this._colors.background=this._restoreColors.background;break;case 258:this._colors.cursor=this._restoreColors.cursor;break;default:this._colors.ansi[e]=this._restoreColors.ansi[e]}else for(let e=0;e<this._restoreColors.ansi.length;++e)this._colors.ansi[e]=this._restoreColors.ansi[e]}modifyColors(e){e(this._colors),this._onChangeColors.fire(this.colors)}_updateRestoreColors(){this._restoreColors={foreground:this._colors.foreground,background:this._colors.background,cursor:this._colors.cursor,ansi:this._colors.ansi.slice()}}};function p(e,t){if(void 0!==e)try{return o.css.toColor(e)}catch{}return t}t.ThemeService=v=s([r(0,c.IOptionsService)],v)},6349:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CircularList=void 0;const s=i(8460),r=i(844);class n extends r.Disposable{constructor(e){super(),this._maxLength=e,this.onDeleteEmitter=this.register(new s.EventEmitter),this.onDelete=this.onDeleteEmitter.event,this.onInsertEmitter=this.register(new s.EventEmitter),this.onInsert=this.onInsertEmitter.event,this.onTrimEmitter=this.register(new s.EventEmitter),this.onTrim=this.onTrimEmitter.event,this._array=new Array(this._maxLength),this._startIndex=0,this._length=0}get maxLength(){return this._maxLength}set maxLength(e){if(this._maxLength===e)return;const t=new Array(e);for(let i=0;i<Math.min(e,this.length);i++)t[i]=this._array[this._getCyclicIndex(i)];this._array=t,this._maxLength=e,this._startIndex=0}get length(){return this._length}set length(e){if(e>this._length)for(let t=this._length;t<e;t++)this._array[t]=void 0;this._length=e}get(e){return this._array[this._getCyclicIndex(e)]}set(e,t){this._array[this._getCyclicIndex(e)]=t}push(e){this._array[this._getCyclicIndex(this._length)]=e,this._length===this._maxLength?(this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1)):this._length++}recycle(){if(this._length!==this._maxLength)throw new Error(\"Can only recycle when the buffer is full\");return this._startIndex=++this._startIndex%this._maxLength,this.onTrimEmitter.fire(1),this._array[this._getCyclicIndex(this._length-1)]}get isFull(){return this._length===this._maxLength}pop(){return this._array[this._getCyclicIndex(this._length---1)]}splice(e,t,...i){if(t){for(let i=e;i<this._length-t;i++)this._array[this._getCyclicIndex(i)]=this._array[this._getCyclicIndex(i+t)];this._length-=t,this.onDeleteEmitter.fire({index:e,amount:t})}for(let t=this._length-1;t>=e;t--)this._array[this._getCyclicIndex(t+i.length)]=this._array[this._getCyclicIndex(t)];for(let t=0;t<i.length;t++)this._array[this._getCyclicIndex(e+t)]=i[t];if(i.length&&this.onInsertEmitter.fire({index:e,amount:i.length}),this._length+i.length>this._maxLength){const e=this._length+i.length-this._maxLength;this._startIndex+=e,this._length=this._maxLength,this.onTrimEmitter.fire(e)}else this._length+=i.length}trimStart(e){e>this._length&&(e=this._length),this._startIndex+=e,this._length-=e,this.onTrimEmitter.fire(e)}shiftElements(e,t,i){if(!(t<=0)){if(e<0||e>=this._length)throw new Error(\"start argument out of range\");if(e+i<0)throw new Error(\"Cannot shift elements in list beyond index 0\");if(i>0){for(let s=t-1;s>=0;s--)this.set(e+s+i,this.get(e+s));const s=e+t+i-this._length;if(s>0)for(this._length+=s;this._length>this._maxLength;)this._length--,this._startIndex++,this.onTrimEmitter.fire(1)}else for(let s=0;s<t;s++)this.set(e+s+i,this.get(e+s))}}_getCyclicIndex(e){return(this._startIndex+e)%this._maxLength}}t.CircularList=n},1439:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.clone=void 0,t.clone=function e(t,i=5){if(\"object\"!=typeof t)return t;const s=Array.isArray(t)?[]:{};for(const r in t)s[r]=i<=1?t[r]:t[r]&&e(t[r],i-1);return s}},8055:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.contrastRatio=t.toPaddedHex=t.rgba=t.rgb=t.css=t.color=t.channels=t.NULL_COLOR=void 0;let i=0,s=0,r=0,n=0;var o,a,h,c,l;function d(e){const t=e.toString(16);return t.length<2?\"0\"+t:t}function _(e,t){return e<t?(t+.05)/(e+.05):(e+.05)/(t+.05)}t.NULL_COLOR={css:\"#00000000\",rgba:0},function(e){e.toCss=function(e,t,i,s){return void 0!==s?`#${d(e)}${d(t)}${d(i)}${d(s)}`:`#${d(e)}${d(t)}${d(i)}`},e.toRgba=function(e,t,i,s=255){return(e<<24|t<<16|i<<8|s)>>>0},e.toColor=function(t,i,s,r){return{css:e.toCss(t,i,s,r),rgba:e.toRgba(t,i,s,r)}}}(o||(t.channels=o={})),function(e){function t(e,t){return n=Math.round(255*t),[i,s,r]=l.toChannels(e.rgba),{css:o.toCss(i,s,r,n),rgba:o.toRgba(i,s,r,n)}}e.blend=function(e,t){if(n=(255&t.rgba)/255,1===n)return{css:t.css,rgba:t.rgba};const a=t.rgba>>24&255,h=t.rgba>>16&255,c=t.rgba>>8&255,l=e.rgba>>24&255,d=e.rgba>>16&255,_=e.rgba>>8&255;return i=l+Math.round((a-l)*n),s=d+Math.round((h-d)*n),r=_+Math.round((c-_)*n),{css:o.toCss(i,s,r),rgba:o.toRgba(i,s,r)}},e.isOpaque=function(e){return 255==(255&e.rgba)},e.ensureContrastRatio=function(e,t,i){const s=l.ensureContrastRatio(e.rgba,t.rgba,i);if(s)return o.toColor(s>>24&255,s>>16&255,s>>8&255)},e.opaque=function(e){const t=(255|e.rgba)>>>0;return[i,s,r]=l.toChannels(t),{css:o.toCss(i,s,r),rgba:t}},e.opacity=t,e.multiplyOpacity=function(e,i){return n=255&e.rgba,t(e,n*i/255)},e.toColorRGB=function(e){return[e.rgba>>24&255,e.rgba>>16&255,e.rgba>>8&255]}}(a||(t.color=a={})),function(e){let t,a;try{const e=document.createElement(\"canvas\");e.width=1,e.height=1;const i=e.getContext(\"2d\",{willReadFrequently:!0});i&&(t=i,t.globalCompositeOperation=\"copy\",a=t.createLinearGradient(0,0,1,1))}catch{}e.toColor=function(e){if(e.match(/#[\\da-f]{3,8}/i))switch(e.length){case 4:return i=parseInt(e.slice(1,2).repeat(2),16),s=parseInt(e.slice(2,3).repeat(2),16),r=parseInt(e.slice(3,4).repeat(2),16),o.toColor(i,s,r);case 5:return i=parseInt(e.slice(1,2).repeat(2),16),s=parseInt(e.slice(2,3).repeat(2),16),r=parseInt(e.slice(3,4).repeat(2),16),n=parseInt(e.slice(4,5).repeat(2),16),o.toColor(i,s,r,n);case 7:return{css:e,rgba:(parseInt(e.slice(1),16)<<8|255)>>>0};case 9:return{css:e,rgba:parseInt(e.slice(1),16)>>>0}}const h=e.match(/rgba?\\(\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*,\\s*(\\d{1,3})\\s*(,\\s*(0|1|\\d?\\.(\\d+))\\s*)?\\)/);if(h)return i=parseInt(h[1]),s=parseInt(h[2]),r=parseInt(h[3]),n=Math.round(255*(void 0===h[5]?1:parseFloat(h[5]))),o.toColor(i,s,r,n);if(!t||!a)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillStyle=a,t.fillStyle=e,\"string\"!=typeof t.fillStyle)throw new Error(\"css.toColor: Unsupported css format\");if(t.fillRect(0,0,1,1),[i,s,r,n]=t.getImageData(0,0,1,1).data,255!==n)throw new Error(\"css.toColor: Unsupported css format\");return{rgba:o.toRgba(i,s,r,n),css:e}}}(h||(t.css=h={})),function(e){function t(e,t,i){const s=e/255,r=t/255,n=i/255;return.2126*(s<=.03928?s/12.92:Math.pow((s+.055)/1.055,2.4))+.7152*(r<=.03928?r/12.92:Math.pow((r+.055)/1.055,2.4))+.0722*(n<=.03928?n/12.92:Math.pow((n+.055)/1.055,2.4))}e.relativeLuminance=function(e){return t(e>>16&255,e>>8&255,255&e)},e.relativeLuminance2=t}(c||(t.rgb=c={})),function(e){function t(e,t,i){const s=e>>24&255,r=e>>16&255,n=e>>8&255;let o=t>>24&255,a=t>>16&255,h=t>>8&255,l=_(c.relativeLuminance2(o,a,h),c.relativeLuminance2(s,r,n));for(;l<i&&(o>0||a>0||h>0);)o-=Math.max(0,Math.ceil(.1*o)),a-=Math.max(0,Math.ceil(.1*a)),h-=Math.max(0,Math.ceil(.1*h)),l=_(c.relativeLuminance2(o,a,h),c.relativeLuminance2(s,r,n));return(o<<24|a<<16|h<<8|255)>>>0}function a(e,t,i){const s=e>>24&255,r=e>>16&255,n=e>>8&255;let o=t>>24&255,a=t>>16&255,h=t>>8&255,l=_(c.relativeLuminance2(o,a,h),c.relativeLuminance2(s,r,n));for(;l<i&&(o<255||a<255||h<255);)o=Math.min(255,o+Math.ceil(.1*(255-o))),a=Math.min(255,a+Math.ceil(.1*(255-a))),h=Math.min(255,h+Math.ceil(.1*(255-h))),l=_(c.relativeLuminance2(o,a,h),c.relativeLuminance2(s,r,n));return(o<<24|a<<16|h<<8|255)>>>0}e.blend=function(e,t){if(n=(255&t)/255,1===n)return t;const a=t>>24&255,h=t>>16&255,c=t>>8&255,l=e>>24&255,d=e>>16&255,_=e>>8&255;return i=l+Math.round((a-l)*n),s=d+Math.round((h-d)*n),r=_+Math.round((c-_)*n),o.toRgba(i,s,r)},e.ensureContrastRatio=function(e,i,s){const r=c.relativeLuminance(e>>8),n=c.relativeLuminance(i>>8);if(_(r,n)<s){if(n<r){const n=t(e,i,s),o=_(r,c.relativeLuminance(n>>8));if(o<s){const t=a(e,i,s);return o>_(r,c.relativeLuminance(t>>8))?n:t}return n}const o=a(e,i,s),h=_(r,c.relativeLuminance(o>>8));if(h<s){const n=t(e,i,s);return h>_(r,c.relativeLuminance(n>>8))?o:n}return o}},e.reduceLuminance=t,e.increaseLuminance=a,e.toChannels=function(e){return[e>>24&255,e>>16&255,e>>8&255,255&e]}}(l||(t.rgba=l={})),t.toPaddedHex=d,t.contrastRatio=_},8969:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreTerminal=void 0;const s=i(844),r=i(2585),n=i(4348),o=i(7866),a=i(744),h=i(7302),c=i(6975),l=i(8460),d=i(1753),_=i(1480),u=i(7994),f=i(9282),v=i(5435),p=i(5981),g=i(2660);let m=!1;class S extends s.Disposable{get onScroll(){return this._onScrollApi||(this._onScrollApi=this.register(new l.EventEmitter),this._onScroll.event((e=>{this._onScrollApi?.fire(e.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(e){for(const t in e)this.optionsService.options[t]=e[t]}constructor(e){super(),this._windowsWrappingHeuristics=this.register(new s.MutableDisposable),this._onBinary=this.register(new l.EventEmitter),this.onBinary=this._onBinary.event,this._onData=this.register(new l.EventEmitter),this.onData=this._onData.event,this._onLineFeed=this.register(new l.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onResize=this.register(new l.EventEmitter),this.onResize=this._onResize.event,this._onWriteParsed=this.register(new l.EventEmitter),this.onWriteParsed=this._onWriteParsed.event,this._onScroll=this.register(new l.EventEmitter),this._instantiationService=new n.InstantiationService,this.optionsService=this.register(new h.OptionsService(e)),this._instantiationService.setService(r.IOptionsService,this.optionsService),this._bufferService=this.register(this._instantiationService.createInstance(a.BufferService)),this._instantiationService.setService(r.IBufferService,this._bufferService),this._logService=this.register(this._instantiationService.createInstance(o.LogService)),this._instantiationService.setService(r.ILogService,this._logService),this.coreService=this.register(this._instantiationService.createInstance(c.CoreService)),this._instantiationService.setService(r.ICoreService,this.coreService),this.coreMouseService=this.register(this._instantiationService.createInstance(d.CoreMouseService)),this._instantiationService.setService(r.ICoreMouseService,this.coreMouseService),this.unicodeService=this.register(this._instantiationService.createInstance(_.UnicodeService)),this._instantiationService.setService(r.IUnicodeService,this.unicodeService),this._charsetService=this._instantiationService.createInstance(u.CharsetService),this._instantiationService.setService(r.ICharsetService,this._charsetService),this._oscLinkService=this._instantiationService.createInstance(g.OscLinkService),this._instantiationService.setService(r.IOscLinkService,this._oscLinkService),this._inputHandler=this.register(new v.InputHandler(this._bufferService,this._charsetService,this.coreService,this._logService,this.optionsService,this._oscLinkService,this.coreMouseService,this.unicodeService)),this.register((0,l.forwardEvent)(this._inputHandler.onLineFeed,this._onLineFeed)),this.register(this._inputHandler),this.register((0,l.forwardEvent)(this._bufferService.onResize,this._onResize)),this.register((0,l.forwardEvent)(this.coreService.onData,this._onData)),this.register((0,l.forwardEvent)(this.coreService.onBinary,this._onBinary)),this.register(this.coreService.onRequestScrollToBottom((()=>this.scrollToBottom()))),this.register(this.coreService.onUserInput((()=>this._writeBuffer.handleUserInput()))),this.register(this.optionsService.onMultipleOptionChange([\"windowsMode\",\"windowsPty\"],(()=>this._handleWindowsPtyOptionChange()))),this.register(this._bufferService.onScroll((e=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this.register(this._inputHandler.onScroll((e=>{this._onScroll.fire({position:this._bufferService.buffer.ydisp,source:0}),this._inputHandler.markRangeDirty(this._bufferService.buffer.scrollTop,this._bufferService.buffer.scrollBottom)}))),this._writeBuffer=this.register(new p.WriteBuffer(((e,t)=>this._inputHandler.parse(e,t)))),this.register((0,l.forwardEvent)(this._writeBuffer.onWriteParsed,this._onWriteParsed))}write(e,t){this._writeBuffer.write(e,t)}writeSync(e,t){this._logService.logLevel<=r.LogLevelEnum.WARN&&!m&&(this._logService.warn(\"writeSync is unreliable and will be removed soon.\"),m=!0),this._writeBuffer.writeSync(e,t)}input(e,t=!0){this.coreService.triggerDataEvent(e,t)}resize(e,t){isNaN(e)||isNaN(t)||(e=Math.max(e,a.MINIMUM_COLS),t=Math.max(t,a.MINIMUM_ROWS),this._bufferService.resize(e,t))}scroll(e,t=!1){this._bufferService.scroll(e,t)}scrollLines(e,t,i){this._bufferService.scrollLines(e,t,i)}scrollPages(e){this.scrollLines(e*(this.rows-1))}scrollToTop(){this.scrollLines(-this._bufferService.buffer.ydisp)}scrollToBottom(){this.scrollLines(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp)}scrollToLine(e){const t=e-this._bufferService.buffer.ydisp;0!==t&&this.scrollLines(t)}registerEscHandler(e,t){return this._inputHandler.registerEscHandler(e,t)}registerDcsHandler(e,t){return this._inputHandler.registerDcsHandler(e,t)}registerCsiHandler(e,t){return this._inputHandler.registerCsiHandler(e,t)}registerOscHandler(e,t){return this._inputHandler.registerOscHandler(e,t)}_setup(){this._handleWindowsPtyOptionChange()}reset(){this._inputHandler.reset(),this._bufferService.reset(),this._charsetService.reset(),this.coreService.reset(),this.coreMouseService.reset()}_handleWindowsPtyOptionChange(){let e=!1;const t=this.optionsService.rawOptions.windowsPty;t&&void 0!==t.buildNumber&&void 0!==t.buildNumber?e=!!(\"conpty\"===t.backend&&t.buildNumber<21376):this.optionsService.rawOptions.windowsMode&&(e=!0),e?this._enableWindowsWrappingHeuristics():this._windowsWrappingHeuristics.clear()}_enableWindowsWrappingHeuristics(){if(!this._windowsWrappingHeuristics.value){const e=[];e.push(this.onLineFeed(f.updateWindowsModeWrappedState.bind(null,this._bufferService))),e.push(this.registerCsiHandler({final:\"H\"},(()=>((0,f.updateWindowsModeWrappedState)(this._bufferService),!1)))),this._windowsWrappingHeuristics.value=(0,s.toDisposable)((()=>{for(const t of e)t.dispose()}))}}}t.CoreTerminal=S},8460:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.runAndSubscribe=t.forwardEvent=t.EventEmitter=void 0,t.EventEmitter=class{constructor(){this._listeners=[],this._disposed=!1}get event(){return this._event||(this._event=e=>(this._listeners.push(e),{dispose:()=>{if(!this._disposed)for(let t=0;t<this._listeners.length;t++)if(this._listeners[t]===e)return void this._listeners.splice(t,1)}})),this._event}fire(e,t){const i=[];for(let e=0;e<this._listeners.length;e++)i.push(this._listeners[e]);for(let s=0;s<i.length;s++)i[s].call(void 0,e,t)}dispose(){this.clearListeners(),this._disposed=!0}clearListeners(){this._listeners&&(this._listeners.length=0)}},t.forwardEvent=function(e,t){return e((e=>t.fire(e)))},t.runAndSubscribe=function(e,t){return t(void 0),e((e=>t(e)))}},5435:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.InputHandler=t.WindowsOptionsReportType=void 0;const n=i(2584),o=i(7116),a=i(2015),h=i(844),c=i(482),l=i(8437),d=i(8460),_=i(643),u=i(511),f=i(3734),v=i(2585),p=i(1480),g=i(6242),m=i(6351),S=i(5941),C={\"(\":0,\")\":1,\"*\":2,\"+\":3,\"-\":1,\".\":2},b=131072;function w(e,t){if(e>24)return t.setWinLines||!1;switch(e){case 1:return!!t.restoreWin;case 2:return!!t.minimizeWin;case 3:return!!t.setWinPosition;case 4:return!!t.setWinSizePixels;case 5:return!!t.raiseWin;case 6:return!!t.lowerWin;case 7:return!!t.refreshWin;case 8:return!!t.setWinSizeChars;case 9:return!!t.maximizeWin;case 10:return!!t.fullscreenWin;case 11:return!!t.getWinState;case 13:return!!t.getWinPosition;case 14:return!!t.getWinSizePixels;case 15:return!!t.getScreenSizePixels;case 16:return!!t.getCellSizePixels;case 18:return!!t.getWinSizeChars;case 19:return!!t.getScreenSizeChars;case 20:return!!t.getIconTitle;case 21:return!!t.getWinTitle;case 22:return!!t.pushTitle;case 23:return!!t.popTitle;case 24:return!!t.setWinLines}return!1}var y;!function(e){e[e.GET_WIN_SIZE_PIXELS=0]=\"GET_WIN_SIZE_PIXELS\",e[e.GET_CELL_SIZE_PIXELS=1]=\"GET_CELL_SIZE_PIXELS\"}(y||(t.WindowsOptionsReportType=y={}));let E=0;class k extends h.Disposable{getAttrData(){return this._curAttrData}constructor(e,t,i,s,r,h,_,f,v=new a.EscapeSequenceParser){super(),this._bufferService=e,this._charsetService=t,this._coreService=i,this._logService=s,this._optionsService=r,this._oscLinkService=h,this._coreMouseService=_,this._unicodeService=f,this._parser=v,this._parseBuffer=new Uint32Array(4096),this._stringDecoder=new c.StringToUtf32,this._utf8Decoder=new c.Utf8ToUtf32,this._workCell=new u.CellData,this._windowTitle=\"\",this._iconName=\"\",this._windowTitleStack=[],this._iconNameStack=[],this._curAttrData=l.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=l.DEFAULT_ATTR_DATA.clone(),this._onRequestBell=this.register(new d.EventEmitter),this.onRequestBell=this._onRequestBell.event,this._onRequestRefreshRows=this.register(new d.EventEmitter),this.onRequestRefreshRows=this._onRequestRefreshRows.event,this._onRequestReset=this.register(new d.EventEmitter),this.onRequestReset=this._onRequestReset.event,this._onRequestSendFocus=this.register(new d.EventEmitter),this.onRequestSendFocus=this._onRequestSendFocus.event,this._onRequestSyncScrollBar=this.register(new d.EventEmitter),this.onRequestSyncScrollBar=this._onRequestSyncScrollBar.event,this._onRequestWindowsOptionsReport=this.register(new d.EventEmitter),this.onRequestWindowsOptionsReport=this._onRequestWindowsOptionsReport.event,this._onA11yChar=this.register(new d.EventEmitter),this.onA11yChar=this._onA11yChar.event,this._onA11yTab=this.register(new d.EventEmitter),this.onA11yTab=this._onA11yTab.event,this._onCursorMove=this.register(new d.EventEmitter),this.onCursorMove=this._onCursorMove.event,this._onLineFeed=this.register(new d.EventEmitter),this.onLineFeed=this._onLineFeed.event,this._onScroll=this.register(new d.EventEmitter),this.onScroll=this._onScroll.event,this._onTitleChange=this.register(new d.EventEmitter),this.onTitleChange=this._onTitleChange.event,this._onColor=this.register(new d.EventEmitter),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 L(this._bufferService),this._activeBuffer=this._bufferService.buffer,this.register(this._bufferService.buffers.onBufferActivate((e=>this._activeBuffer=e.activeBuffer))),this._parser.setCsiHandlerFallback(((e,t)=>{this._logService.debug(\"Unknown CSI code: \",{identifier:this._parser.identToString(e),params:t.toArray()})})),this._parser.setEscHandlerFallback((e=>{this._logService.debug(\"Unknown ESC code: \",{identifier:this._parser.identToString(e)})})),this._parser.setExecuteHandlerFallback((e=>{this._logService.debug(\"Unknown EXECUTE code: \",{code:e})})),this._parser.setOscHandlerFallback(((e,t,i)=>{this._logService.debug(\"Unknown OSC code: \",{identifier:e,action:t,data:i})})),this._parser.setDcsHandlerFallback(((e,t,i)=>{\"HOOK\"===t&&(i=i.toArray()),this._logService.debug(\"Unknown DCS code: \",{identifier:this._parser.identToString(e),action:t,payload:i})})),this._parser.setPrintHandler(((e,t,i)=>this.print(e,t,i))),this._parser.registerCsiHandler({final:\"@\"},(e=>this.insertChars(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"@\"},(e=>this.scrollLeft(e))),this._parser.registerCsiHandler({final:\"A\"},(e=>this.cursorUp(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"A\"},(e=>this.scrollRight(e))),this._parser.registerCsiHandler({final:\"B\"},(e=>this.cursorDown(e))),this._parser.registerCsiHandler({final:\"C\"},(e=>this.cursorForward(e))),this._parser.registerCsiHandler({final:\"D\"},(e=>this.cursorBackward(e))),this._parser.registerCsiHandler({final:\"E\"},(e=>this.cursorNextLine(e))),this._parser.registerCsiHandler({final:\"F\"},(e=>this.cursorPrecedingLine(e))),this._parser.registerCsiHandler({final:\"G\"},(e=>this.cursorCharAbsolute(e))),this._parser.registerCsiHandler({final:\"H\"},(e=>this.cursorPosition(e))),this._parser.registerCsiHandler({final:\"I\"},(e=>this.cursorForwardTab(e))),this._parser.registerCsiHandler({final:\"J\"},(e=>this.eraseInDisplay(e,!1))),this._parser.registerCsiHandler({prefix:\"?\",final:\"J\"},(e=>this.eraseInDisplay(e,!0))),this._parser.registerCsiHandler({final:\"K\"},(e=>this.eraseInLine(e,!1))),this._parser.registerCsiHandler({prefix:\"?\",final:\"K\"},(e=>this.eraseInLine(e,!0))),this._parser.registerCsiHandler({final:\"L\"},(e=>this.insertLines(e))),this._parser.registerCsiHandler({final:\"M\"},(e=>this.deleteLines(e))),this._parser.registerCsiHandler({final:\"P\"},(e=>this.deleteChars(e))),this._parser.registerCsiHandler({final:\"S\"},(e=>this.scrollUp(e))),this._parser.registerCsiHandler({final:\"T\"},(e=>this.scrollDown(e))),this._parser.registerCsiHandler({final:\"X\"},(e=>this.eraseChars(e))),this._parser.registerCsiHandler({final:\"Z\"},(e=>this.cursorBackwardTab(e))),this._parser.registerCsiHandler({final:\"`\"},(e=>this.charPosAbsolute(e))),this._parser.registerCsiHandler({final:\"a\"},(e=>this.hPositionRelative(e))),this._parser.registerCsiHandler({final:\"b\"},(e=>this.repeatPrecedingCharacter(e))),this._parser.registerCsiHandler({final:\"c\"},(e=>this.sendDeviceAttributesPrimary(e))),this._parser.registerCsiHandler({prefix:\">\",final:\"c\"},(e=>this.sendDeviceAttributesSecondary(e))),this._parser.registerCsiHandler({final:\"d\"},(e=>this.linePosAbsolute(e))),this._parser.registerCsiHandler({final:\"e\"},(e=>this.vPositionRelative(e))),this._parser.registerCsiHandler({final:\"f\"},(e=>this.hVPosition(e))),this._parser.registerCsiHandler({final:\"g\"},(e=>this.tabClear(e))),this._parser.registerCsiHandler({final:\"h\"},(e=>this.setMode(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"h\"},(e=>this.setModePrivate(e))),this._parser.registerCsiHandler({final:\"l\"},(e=>this.resetMode(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"l\"},(e=>this.resetModePrivate(e))),this._parser.registerCsiHandler({final:\"m\"},(e=>this.charAttributes(e))),this._parser.registerCsiHandler({final:\"n\"},(e=>this.deviceStatus(e))),this._parser.registerCsiHandler({prefix:\"?\",final:\"n\"},(e=>this.deviceStatusPrivate(e))),this._parser.registerCsiHandler({intermediates:\"!\",final:\"p\"},(e=>this.softReset(e))),this._parser.registerCsiHandler({intermediates:\" \",final:\"q\"},(e=>this.setCursorStyle(e))),this._parser.registerCsiHandler({final:\"r\"},(e=>this.setScrollRegion(e))),this._parser.registerCsiHandler({final:\"s\"},(e=>this.saveCursor(e))),this._parser.registerCsiHandler({final:\"t\"},(e=>this.windowOptions(e))),this._parser.registerCsiHandler({final:\"u\"},(e=>this.restoreCursor(e))),this._parser.registerCsiHandler({intermediates:\"'\",final:\"}\"},(e=>this.insertColumns(e))),this._parser.registerCsiHandler({intermediates:\"'\",final:\"~\"},(e=>this.deleteColumns(e))),this._parser.registerCsiHandler({intermediates:'\"',final:\"q\"},(e=>this.selectProtected(e))),this._parser.registerCsiHandler({intermediates:\"$\",final:\"p\"},(e=>this.requestMode(e,!0))),this._parser.registerCsiHandler({prefix:\"?\",intermediates:\"$\",final:\"p\"},(e=>this.requestMode(e,!1))),this._parser.setExecuteHandler(n.C0.BEL,(()=>this.bell())),this._parser.setExecuteHandler(n.C0.LF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.VT,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.FF,(()=>this.lineFeed())),this._parser.setExecuteHandler(n.C0.CR,(()=>this.carriageReturn())),this._parser.setExecuteHandler(n.C0.BS,(()=>this.backspace())),this._parser.setExecuteHandler(n.C0.HT,(()=>this.tab())),this._parser.setExecuteHandler(n.C0.SO,(()=>this.shiftOut())),this._parser.setExecuteHandler(n.C0.SI,(()=>this.shiftIn())),this._parser.setExecuteHandler(n.C1.IND,(()=>this.index())),this._parser.setExecuteHandler(n.C1.NEL,(()=>this.nextLine())),this._parser.setExecuteHandler(n.C1.HTS,(()=>this.tabSet())),this._parser.registerOscHandler(0,new g.OscHandler((e=>(this.setTitle(e),this.setIconName(e),!0)))),this._parser.registerOscHandler(1,new g.OscHandler((e=>this.setIconName(e)))),this._parser.registerOscHandler(2,new g.OscHandler((e=>this.setTitle(e)))),this._parser.registerOscHandler(4,new g.OscHandler((e=>this.setOrReportIndexedColor(e)))),this._parser.registerOscHandler(8,new g.OscHandler((e=>this.setHyperlink(e)))),this._parser.registerOscHandler(10,new g.OscHandler((e=>this.setOrReportFgColor(e)))),this._parser.registerOscHandler(11,new g.OscHandler((e=>this.setOrReportBgColor(e)))),this._parser.registerOscHandler(12,new g.OscHandler((e=>this.setOrReportCursorColor(e)))),this._parser.registerOscHandler(104,new g.OscHandler((e=>this.restoreIndexedColor(e)))),this._parser.registerOscHandler(110,new g.OscHandler((e=>this.restoreFgColor(e)))),this._parser.registerOscHandler(111,new g.OscHandler((e=>this.restoreBgColor(e)))),this._parser.registerOscHandler(112,new g.OscHandler((e=>this.restoreCursorColor(e)))),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(const e in o.CHARSETS)this._parser.registerEscHandler({intermediates:\"(\",final:e},(()=>this.selectCharset(\"(\"+e))),this._parser.registerEscHandler({intermediates:\")\",final:e},(()=>this.selectCharset(\")\"+e))),this._parser.registerEscHandler({intermediates:\"*\",final:e},(()=>this.selectCharset(\"*\"+e))),this._parser.registerEscHandler({intermediates:\"+\",final:e},(()=>this.selectCharset(\"+\"+e))),this._parser.registerEscHandler({intermediates:\"-\",final:e},(()=>this.selectCharset(\"-\"+e))),this._parser.registerEscHandler({intermediates:\".\",final:e},(()=>this.selectCharset(\".\"+e))),this._parser.registerEscHandler({intermediates:\"/\",final:e},(()=>this.selectCharset(\"/\"+e)));this._parser.registerEscHandler({intermediates:\"#\",final:\"8\"},(()=>this.screenAlignmentPattern())),this._parser.setErrorHandler((e=>(this._logService.error(\"Parsing error: \",e),e))),this._parser.registerDcsHandler({intermediates:\"$\",final:\"q\"},new m.DcsHandler(((e,t)=>this.requestStatusString(e,t))))}_preserveStack(e,t,i,s){this._parseStack.paused=!0,this._parseStack.cursorStartX=e,this._parseStack.cursorStartY=t,this._parseStack.decodedLength=i,this._parseStack.position=s}_logSlowResolvingAsync(e){this._logService.logLevel<=v.LogLevelEnum.WARN&&Promise.race([e,new Promise(((e,t)=>setTimeout((()=>t(\"#SLOW_TIMEOUT\")),5e3)))]).catch((e=>{if(\"#SLOW_TIMEOUT\"!==e)throw e;console.warn(\"async parser handler taking longer than 5000 ms\")}))}_getCurrentLinkId(){return this._curAttrData.extended.urlId}parse(e,t){let i,s=this._activeBuffer.x,r=this._activeBuffer.y,n=0;const o=this._parseStack.paused;if(o){if(i=this._parser.parse(this._parseBuffer,this._parseStack.decodedLength,t))return this._logSlowResolvingAsync(i),i;s=this._parseStack.cursorStartX,r=this._parseStack.cursorStartY,this._parseStack.paused=!1,e.length>b&&(n=this._parseStack.position+b)}if(this._logService.logLevel<=v.LogLevelEnum.DEBUG&&this._logService.debug(\"parsing data\"+(\"string\"==typeof e?` \"${e}\"`:` \"${Array.prototype.map.call(e,(e=>String.fromCharCode(e))).join(\"\")}\"`),\"string\"==typeof e?e.split(\"\").map((e=>e.charCodeAt(0))):e),this._parseBuffer.length<e.length&&this._parseBuffer.length<b&&(this._parseBuffer=new Uint32Array(Math.min(e.length,b))),o||this._dirtyRowTracker.clearRange(),e.length>b)for(let t=n;t<e.length;t+=b){const n=t+b<e.length?t+b:e.length,o=\"string\"==typeof e?this._stringDecoder.decode(e.substring(t,n),this._parseBuffer):this._utf8Decoder.decode(e.subarray(t,n),this._parseBuffer);if(i=this._parser.parse(this._parseBuffer,o))return this._preserveStack(s,r,o,t),this._logSlowResolvingAsync(i),i}else if(!o){const t=\"string\"==typeof e?this._stringDecoder.decode(e,this._parseBuffer):this._utf8Decoder.decode(e,this._parseBuffer);if(i=this._parser.parse(this._parseBuffer,t))return this._preserveStack(s,r,t,0),this._logSlowResolvingAsync(i),i}this._activeBuffer.x===s&&this._activeBuffer.y===r||this._onCursorMove.fire();const a=this._dirtyRowTracker.end+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp),h=this._dirtyRowTracker.start+(this._bufferService.buffer.ybase-this._bufferService.buffer.ydisp);h<this._bufferService.rows&&this._onRequestRefreshRows.fire(Math.min(h,this._bufferService.rows-1),Math.min(a,this._bufferService.rows-1))}print(e,t,i){let s,r;const n=this._charsetService.charset,o=this._optionsService.rawOptions.screenReaderMode,a=this._bufferService.cols,h=this._coreService.decPrivateModes.wraparound,d=this._coreService.modes.insertMode,u=this._curAttrData;let f=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._activeBuffer.x&&i-t>0&&2===f.getWidth(this._activeBuffer.x-1)&&f.setCellFromCodepoint(this._activeBuffer.x-1,0,1,u);let v=this._parser.precedingJoinState;for(let g=t;g<i;++g){if(s=e[g],s<127&&n){const e=n[String.fromCharCode(s)];e&&(s=e.charCodeAt(0))}const t=this._unicodeService.charProperties(s,v);r=p.UnicodeService.extractWidth(t);const i=p.UnicodeService.extractShouldJoin(t),m=i?p.UnicodeService.extractWidth(v):0;if(v=t,o&&this._onA11yChar.fire((0,c.stringFromCodePoint)(s)),this._getCurrentLinkId()&&this._oscLinkService.addLineToLink(this._getCurrentLinkId(),this._activeBuffer.ybase+this._activeBuffer.y),this._activeBuffer.x+r-m>a)if(h){const e=f;let t=this._activeBuffer.x-m;for(this._activeBuffer.x=m,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),f=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y),m>0&&f instanceof l.BufferLine&&f.copyCellsFrom(e,t,0,m,!1);t<a;)e.setCellFromCodepoint(t++,0,1,u)}else if(this._activeBuffer.x=a-1,2===r)continue;if(i&&this._activeBuffer.x){const e=f.getWidth(this._activeBuffer.x-1)?1:2;f.addCodepointToCell(this._activeBuffer.x-e,s,r);for(let e=r-m;--e>=0;)f.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}else if(d&&(f.insertCells(this._activeBuffer.x,r-m,this._activeBuffer.getNullCell(u)),2===f.getWidth(a-1)&&f.setCellFromCodepoint(a-1,_.NULL_CELL_CODE,_.NULL_CELL_WIDTH,u)),f.setCellFromCodepoint(this._activeBuffer.x++,s,r,u),r>0)for(;--r;)f.setCellFromCodepoint(this._activeBuffer.x++,0,0,u)}this._parser.precedingJoinState=v,this._activeBuffer.x<a&&i-t>0&&0===f.getWidth(this._activeBuffer.x)&&!f.hasContent(this._activeBuffer.x)&&f.setCellFromCodepoint(this._activeBuffer.x,0,1,u),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}registerCsiHandler(e,t){return\"t\"!==e.final||e.prefix||e.intermediates?this._parser.registerCsiHandler(e,t):this._parser.registerCsiHandler(e,(e=>!w(e.params[0],this._optionsService.rawOptions.windowOptions)||t(e)))}registerDcsHandler(e,t){return this._parser.registerDcsHandler(e,new m.DcsHandler(t))}registerEscHandler(e,t){return this._parser.registerEscHandler(e,t)}registerOscHandler(e,t){return this._parser.registerOscHandler(e,new g.OscHandler(t))}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(){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(0===this._activeBuffer.x&&this._activeBuffer.y>this._activeBuffer.scrollTop&&this._activeBuffer.y<=this._activeBuffer.scrollBottom&&this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y)?.isWrapped){this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).isWrapped=!1,this._activeBuffer.y--,this._activeBuffer.x=this._bufferService.cols-1;const 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;const e=this._activeBuffer.x;return this._activeBuffer.x=this._activeBuffer.nextStop(),this._optionsService.rawOptions.screenReaderMode&&this._onA11yTab.fire(this._activeBuffer.x-e),!0}shiftOut(){return this._charsetService.setgLevel(1),!0}shiftIn(){return this._charsetService.setgLevel(0),!0}_restrictCursor(e=this._bufferService.cols-1){this._activeBuffer.x=Math.min(e,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(e,t){this._dirtyRowTracker.markDirty(this._activeBuffer.y),this._coreService.decPrivateModes.origin?(this._activeBuffer.x=e,this._activeBuffer.y=this._activeBuffer.scrollTop+t):(this._activeBuffer.x=e,this._activeBuffer.y=t),this._restrictCursor(),this._dirtyRowTracker.markDirty(this._activeBuffer.y)}_moveCursor(e,t){this._restrictCursor(),this._setCursor(this._activeBuffer.x+e,this._activeBuffer.y+t)}cursorUp(e){const t=this._activeBuffer.y-this._activeBuffer.scrollTop;return t>=0?this._moveCursor(0,-Math.min(t,e.params[0]||1)):this._moveCursor(0,-(e.params[0]||1)),!0}cursorDown(e){const t=this._activeBuffer.scrollBottom-this._activeBuffer.y;return t>=0?this._moveCursor(0,Math.min(t,e.params[0]||1)):this._moveCursor(0,e.params[0]||1),!0}cursorForward(e){return this._moveCursor(e.params[0]||1,0),!0}cursorBackward(e){return this._moveCursor(-(e.params[0]||1),0),!0}cursorNextLine(e){return this.cursorDown(e),this._activeBuffer.x=0,!0}cursorPrecedingLine(e){return this.cursorUp(e),this._activeBuffer.x=0,!0}cursorCharAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}cursorPosition(e){return this._setCursor(e.length>=2?(e.params[1]||1)-1:0,(e.params[0]||1)-1),!0}charPosAbsolute(e){return this._setCursor((e.params[0]||1)-1,this._activeBuffer.y),!0}hPositionRelative(e){return this._moveCursor(e.params[0]||1,0),!0}linePosAbsolute(e){return this._setCursor(this._activeBuffer.x,(e.params[0]||1)-1),!0}vPositionRelative(e){return this._moveCursor(0,e.params[0]||1),!0}hVPosition(e){return this.cursorPosition(e),!0}tabClear(e){const t=e.params[0];return 0===t?delete this._activeBuffer.tabs[this._activeBuffer.x]:3===t&&(this._activeBuffer.tabs={}),!0}cursorForwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.nextStop();return!0}cursorBackwardTab(e){if(this._activeBuffer.x>=this._bufferService.cols)return!0;let t=e.params[0]||1;for(;t--;)this._activeBuffer.x=this._activeBuffer.prevStop();return!0}selectProtected(e){const t=e.params[0];return 1===t&&(this._curAttrData.bg|=536870912),2!==t&&0!==t||(this._curAttrData.bg&=-536870913),!0}_eraseInBufferLine(e,t,i,s=!1,r=!1){const n=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);n.replaceCells(t,i,this._activeBuffer.getNullCell(this._eraseAttrData()),r),s&&(n.isWrapped=!1)}_resetBufferLine(e,t=!1){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i&&(i.fill(this._activeBuffer.getNullCell(this._eraseAttrData()),t),this._bufferService.buffer.clearMarkers(this._activeBuffer.ybase+e),i.isWrapped=!1)}eraseInDisplay(e,t=!1){let i;switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i++,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);i<this._bufferService.rows;i++)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(i);break;case 1:for(i=this._activeBuffer.y,this._dirtyRowTracker.markDirty(i),this._eraseInBufferLine(i,0,this._activeBuffer.x+1,!0,t),this._activeBuffer.x+1>=this._bufferService.cols&&(this._activeBuffer.lines.get(i+1).isWrapped=!1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0);break;case 2:for(i=this._bufferService.rows,this._dirtyRowTracker.markDirty(i-1);i--;)this._resetBufferLine(i,t);this._dirtyRowTracker.markDirty(0);break;case 3:const e=this._activeBuffer.lines.length-this._bufferService.rows;e>0&&(this._activeBuffer.lines.trimStart(e),this._activeBuffer.ybase=Math.max(this._activeBuffer.ybase-e,0),this._activeBuffer.ydisp=Math.max(this._activeBuffer.ydisp-e,0),this._onScroll.fire(0))}return!0}eraseInLine(e,t=!1){switch(this._restrictCursor(this._bufferService.cols),e.params[0]){case 0:this._eraseInBufferLine(this._activeBuffer.y,this._activeBuffer.x,this._bufferService.cols,0===this._activeBuffer.x,t);break;case 1:this._eraseInBufferLine(this._activeBuffer.y,0,this._activeBuffer.x+1,!1,t);break;case 2:this._eraseInBufferLine(this._activeBuffer.y,0,this._bufferService.cols,!0,t)}return this._dirtyRowTracker.markDirty(this._activeBuffer.y),!0}insertLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const i=this._activeBuffer.ybase+this._activeBuffer.y,s=this._bufferService.rows-1-this._activeBuffer.scrollBottom,r=this._bufferService.rows-1+this._activeBuffer.ybase-s+1;for(;t--;)this._activeBuffer.lines.splice(r-1,1),this._activeBuffer.lines.splice(i,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}deleteLines(e){this._restrictCursor();let t=e.params[0]||1;if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const i=this._activeBuffer.ybase+this._activeBuffer.y;let s;for(s=this._bufferService.rows-1-this._activeBuffer.scrollBottom,s=this._bufferService.rows-1+this._activeBuffer.ybase-s;t--;)this._activeBuffer.lines.splice(i,1),this._activeBuffer.lines.splice(s,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.y,this._activeBuffer.scrollBottom),this._activeBuffer.x=0,!0}insertChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.insertCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}deleteChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.deleteCells(this._activeBuffer.x,e.params[0]||1,this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}scrollUp(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,0,this._activeBuffer.getBlankLine(this._eraseAttrData()));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollDown(e){let t=e.params[0]||1;for(;t--;)this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollBottom,1),this._activeBuffer.lines.splice(this._activeBuffer.ybase+this._activeBuffer.scrollTop,0,this._activeBuffer.getBlankLine(l.DEFAULT_ATTR_DATA));return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollLeft(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.deleteCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}scrollRight(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.insertCells(0,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}insertColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.insertCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}deleteColumns(e){if(this._activeBuffer.y>this._activeBuffer.scrollBottom||this._activeBuffer.y<this._activeBuffer.scrollTop)return!0;const t=e.params[0]||1;for(let e=this._activeBuffer.scrollTop;e<=this._activeBuffer.scrollBottom;++e){const i=this._activeBuffer.lines.get(this._activeBuffer.ybase+e);i.deleteCells(this._activeBuffer.x,t,this._activeBuffer.getNullCell(this._eraseAttrData())),i.isWrapped=!1}return this._dirtyRowTracker.markRangeDirty(this._activeBuffer.scrollTop,this._activeBuffer.scrollBottom),!0}eraseChars(e){this._restrictCursor();const t=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y);return t&&(t.replaceCells(this._activeBuffer.x,this._activeBuffer.x+(e.params[0]||1),this._activeBuffer.getNullCell(this._eraseAttrData())),this._dirtyRowTracker.markDirty(this._activeBuffer.y)),!0}repeatPrecedingCharacter(e){const t=this._parser.precedingJoinState;if(!t)return!0;const i=e.params[0]||1,s=p.UnicodeService.extractWidth(t),r=this._activeBuffer.x-s,n=this._activeBuffer.lines.get(this._activeBuffer.ybase+this._activeBuffer.y).getString(r),o=new Uint32Array(n.length*i);let a=0;for(let e=0;e<n.length;){const t=n.codePointAt(e)||0;o[a++]=t,e+=t>65535?2:1}let h=a;for(let e=1;e<i;++e)o.copyWithin(h,0,a),h+=a;return this.print(o,0,h),!0}sendDeviceAttributesPrimary(e){return e.params[0]>0||(this._is(\"xterm\")||this._is(\"rxvt-unicode\")||this._is(\"screen\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[?1;2c\"):this._is(\"linux\")&&this._coreService.triggerDataEvent(n.C0.ESC+\"[?6c\")),!0}sendDeviceAttributesSecondary(e){return e.params[0]>0||(this._is(\"xterm\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[>0;276;0c\"):this._is(\"rxvt-unicode\")?this._coreService.triggerDataEvent(n.C0.ESC+\"[>85;95;0c\"):this._is(\"linux\")?this._coreService.triggerDataEvent(e.params[0]+\"c\"):this._is(\"screen\")&&this._coreService.triggerDataEvent(n.C0.ESC+\"[>83;40003;0c\")),!0}_is(e){return 0===(this._optionsService.rawOptions.termName+\"\").indexOf(e)}setMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!0;break;case 20:this._optionsService.options.convertEol=!0}return!0}setModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!0;break;case 2:this._charsetService.setgCharset(0,o.DEFAULT_CHARSET),this._charsetService.setgCharset(1,o.DEFAULT_CHARSET),this._charsetService.setgCharset(2,o.DEFAULT_CHARSET),this._charsetService.setgCharset(3,o.DEFAULT_CHARSET);break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(132,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!0,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!0;break;case 12:this._optionsService.options.cursorBlink=!0;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!0;break;case 66:this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire();break;case 9:this._coreMouseService.activeProtocol=\"X10\";break;case 1e3:this._coreMouseService.activeProtocol=\"VT200\";break;case 1002:this._coreMouseService.activeProtocol=\"DRAG\";break;case 1003:this._coreMouseService.activeProtocol=\"ANY\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!0,this._onRequestSendFocus.fire();break;case 1005:this._logService.debug(\"DECSET 1005 not supported (see #2507)\");break;case 1006:this._coreMouseService.activeEncoding=\"SGR\";break;case 1015:this._logService.debug(\"DECSET 1015 not supported (see #2507)\");break;case 1016:this._coreMouseService.activeEncoding=\"SGR_PIXELS\";break;case 25:this._coreService.isCursorHidden=!1;break;case 1048:this.saveCursor();break;case 1049:this.saveCursor();case 47:case 1047:this._bufferService.buffers.activateAltBuffer(this._eraseAttrData()),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!0}return!0}resetMode(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 4:this._coreService.modes.insertMode=!1;break;case 20:this._optionsService.options.convertEol=!1}return!0}resetModePrivate(e){for(let t=0;t<e.length;t++)switch(e.params[t]){case 1:this._coreService.decPrivateModes.applicationCursorKeys=!1;break;case 3:this._optionsService.rawOptions.windowOptions.setWinLines&&(this._bufferService.resize(80,this._bufferService.rows),this._onRequestReset.fire());break;case 6:this._coreService.decPrivateModes.origin=!1,this._setCursor(0,0);break;case 7:this._coreService.decPrivateModes.wraparound=!1;break;case 12:this._optionsService.options.cursorBlink=!1;break;case 45:this._coreService.decPrivateModes.reverseWraparound=!1;break;case 66:this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire();break;case 9:case 1e3:case 1002:case 1003:this._coreMouseService.activeProtocol=\"NONE\";break;case 1004:this._coreService.decPrivateModes.sendFocus=!1;break;case 1005:this._logService.debug(\"DECRST 1005 not supported (see #2507)\");break;case 1006:case 1016:this._coreMouseService.activeEncoding=\"DEFAULT\";break;case 1015:this._logService.debug(\"DECRST 1015 not supported (see #2507)\");break;case 25:this._coreService.isCursorHidden=!0;break;case 1048:this.restoreCursor();break;case 1049:case 47:case 1047:this._bufferService.buffers.activateNormalBuffer(),1049===e.params[t]&&this.restoreCursor(),this._coreService.isCursorInitialized=!0,this._onRequestRefreshRows.fire(0,this._bufferService.rows-1),this._onRequestSyncScrollBar.fire();break;case 2004:this._coreService.decPrivateModes.bracketedPasteMode=!1}return!0}requestMode(e,t){const i=this._coreService.decPrivateModes,{activeProtocol:s,activeEncoding:r}=this._coreMouseService,o=this._coreService,{buffers:a,cols:h}=this._bufferService,{active:c,alt:l}=a,d=this._optionsService.rawOptions,_=e=>e?1:2,u=e.params[0];return f=u,v=t?2===u?4:4===u?_(o.modes.insertMode):12===u?3:20===u?_(d.convertEol):0:1===u?_(i.applicationCursorKeys):3===u?d.windowOptions.setWinLines?80===h?2:132===h?1:0:0:6===u?_(i.origin):7===u?_(i.wraparound):8===u?3:9===u?_(\"X10\"===s):12===u?_(d.cursorBlink):25===u?_(!o.isCursorHidden):45===u?_(i.reverseWraparound):66===u?_(i.applicationKeypad):67===u?4:1e3===u?_(\"VT200\"===s):1002===u?_(\"DRAG\"===s):1003===u?_(\"ANY\"===s):1004===u?_(i.sendFocus):1005===u?4:1006===u?_(\"SGR\"===r):1015===u?4:1016===u?_(\"SGR_PIXELS\"===r):1048===u?1:47===u||1047===u||1049===u?_(c===l):2004===u?_(i.bracketedPasteMode):0,o.triggerDataEvent(`${n.C0.ESC}[${t?\"\":\"?\"}${f};${v}$y`),!0;var f,v}_updateAttrColor(e,t,i,s,r){return 2===t?(e|=50331648,e&=-16777216,e|=f.AttributeData.fromColorRGB([i,s,r])):5===t&&(e&=-50331904,e|=33554432|255&i),e}_extractColor(e,t,i){const s=[0,0,-1,0,0,0];let r=0,n=0;do{if(s[n+r]=e.params[t+n],e.hasSubParams(t+n)){const i=e.getSubParams(t+n);let o=0;do{5===s[1]&&(r=1),s[n+o+1+r]=i[o]}while(++o<i.length&&o+n+1+r<s.length);break}if(5===s[1]&&n+r>=2||2===s[1]&&n+r>=5)break;s[1]&&(r=1)}while(++n+t<e.length&&n+r<s.length);for(let e=2;e<s.length;++e)-1===s[e]&&(s[e]=0);switch(s[0]){case 38:i.fg=this._updateAttrColor(i.fg,s[1],s[3],s[4],s[5]);break;case 48:i.bg=this._updateAttrColor(i.bg,s[1],s[3],s[4],s[5]);break;case 58:i.extended=i.extended.clone(),i.extended.underlineColor=this._updateAttrColor(i.extended.underlineColor,s[1],s[3],s[4],s[5])}return n}_processUnderline(e,t){t.extended=t.extended.clone(),(!~e||e>5)&&(e=1),t.extended.underlineStyle=e,t.fg|=268435456,0===e&&(t.fg&=-268435457),t.updateExtended()}_processSGR0(e){e.fg=l.DEFAULT_ATTR_DATA.fg,e.bg=l.DEFAULT_ATTR_DATA.bg,e.extended=e.extended.clone(),e.extended.underlineStyle=0,e.extended.underlineColor&=-67108864,e.updateExtended()}charAttributes(e){if(1===e.length&&0===e.params[0])return this._processSGR0(this._curAttrData),!0;const t=e.length;let i;const s=this._curAttrData;for(let r=0;r<t;r++)i=e.params[r],i>=30&&i<=37?(s.fg&=-50331904,s.fg|=16777216|i-30):i>=40&&i<=47?(s.bg&=-50331904,s.bg|=16777216|i-40):i>=90&&i<=97?(s.fg&=-50331904,s.fg|=16777224|i-90):i>=100&&i<=107?(s.bg&=-50331904,s.bg|=16777224|i-100):0===i?this._processSGR0(s):1===i?s.fg|=134217728:3===i?s.bg|=67108864:4===i?(s.fg|=268435456,this._processUnderline(e.hasSubParams(r)?e.getSubParams(r)[0]:1,s)):5===i?s.fg|=536870912:7===i?s.fg|=67108864:8===i?s.fg|=1073741824:9===i?s.fg|=2147483648:2===i?s.bg|=134217728:21===i?this._processUnderline(2,s):22===i?(s.fg&=-134217729,s.bg&=-134217729):23===i?s.bg&=-67108865:24===i?(s.fg&=-268435457,this._processUnderline(0,s)):25===i?s.fg&=-536870913:27===i?s.fg&=-67108865:28===i?s.fg&=-1073741825:29===i?s.fg&=2147483647:39===i?(s.fg&=-67108864,s.fg|=16777215&l.DEFAULT_ATTR_DATA.fg):49===i?(s.bg&=-67108864,s.bg|=16777215&l.DEFAULT_ATTR_DATA.bg):38===i||48===i||58===i?r+=this._extractColor(e,r,s):53===i?s.bg|=1073741824:55===i?s.bg&=-1073741825:59===i?(s.extended=s.extended.clone(),s.extended.underlineColor=-1,s.updateExtended()):100===i?(s.fg&=-67108864,s.fg|=16777215&l.DEFAULT_ATTR_DATA.fg,s.bg&=-67108864,s.bg|=16777215&l.DEFAULT_ATTR_DATA.bg):this._logService.debug(\"Unknown SGR attribute: %d.\",i);return!0}deviceStatus(e){switch(e.params[0]){case 5:this._coreService.triggerDataEvent(`${n.C0.ESC}[0n`);break;case 6:const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[${e};${t}R`)}return!0}deviceStatusPrivate(e){if(6===e.params[0]){const e=this._activeBuffer.y+1,t=this._activeBuffer.x+1;this._coreService.triggerDataEvent(`${n.C0.ESC}[?${e};${t}R`)}return!0}softReset(e){return this._coreService.isCursorHidden=!1,this._onRequestSyncScrollBar.fire(),this._activeBuffer.scrollTop=0,this._activeBuffer.scrollBottom=this._bufferService.rows-1,this._curAttrData=l.DEFAULT_ATTR_DATA.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(e){const t=e.params[0]||1;switch(t){case 1:case 2:this._optionsService.options.cursorStyle=\"block\";break;case 3:case 4:this._optionsService.options.cursorStyle=\"underline\";break;case 5:case 6:this._optionsService.options.cursorStyle=\"bar\"}const i=t%2==1;return this._optionsService.options.cursorBlink=i,!0}setScrollRegion(e){const t=e.params[0]||1;let i;return(e.length<2||(i=e.params[1])>this._bufferService.rows||0===i)&&(i=this._bufferService.rows),i>t&&(this._activeBuffer.scrollTop=t-1,this._activeBuffer.scrollBottom=i-1,this._setCursor(0,0)),!0}windowOptions(e){if(!w(e.params[0],this._optionsService.rawOptions.windowOptions))return!0;const t=e.length>1?e.params[1]:0;switch(e.params[0]){case 14:2!==t&&this._onRequestWindowsOptionsReport.fire(y.GET_WIN_SIZE_PIXELS);break;case 16:this._onRequestWindowsOptionsReport.fire(y.GET_CELL_SIZE_PIXELS);break;case 18:this._bufferService&&this._coreService.triggerDataEvent(`${n.C0.ESC}[8;${this._bufferService.rows};${this._bufferService.cols}t`);break;case 22:0!==t&&2!==t||(this._windowTitleStack.push(this._windowTitle),this._windowTitleStack.length>10&&this._windowTitleStack.shift()),0!==t&&1!==t||(this._iconNameStack.push(this._iconName),this._iconNameStack.length>10&&this._iconNameStack.shift());break;case 23:0!==t&&2!==t||this._windowTitleStack.length&&this.setTitle(this._windowTitleStack.pop()),0!==t&&1!==t||this._iconNameStack.length&&this.setIconName(this._iconNameStack.pop())}return!0}saveCursor(e){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(e){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(e){return this._windowTitle=e,this._onTitleChange.fire(e),!0}setIconName(e){return this._iconName=e,!0}setOrReportIndexedColor(e){const t=[],i=e.split(\";\");for(;i.length>1;){const e=i.shift(),s=i.shift();if(/^\\d+$/.exec(e)){const i=parseInt(e);if(D(i))if(\"?\"===s)t.push({type:0,index:i});else{const e=(0,S.parseColor)(s);e&&t.push({type:1,index:i,color:e})}}}return t.length&&this._onColor.fire(t),!0}setHyperlink(e){const t=e.split(\";\");return!(t.length<2)&&(t[1]?this._createHyperlink(t[0],t[1]):!t[0]&&this._finishHyperlink())}_createHyperlink(e,t){this._getCurrentLinkId()&&this._finishHyperlink();const i=e.split(\":\");let s;const r=i.findIndex((e=>e.startsWith(\"id=\")));return-1!==r&&(s=i[r].slice(3)||void 0),this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=this._oscLinkService.registerLink({id:s,uri:t}),this._curAttrData.updateExtended(),!0}_finishHyperlink(){return this._curAttrData.extended=this._curAttrData.extended.clone(),this._curAttrData.extended.urlId=0,this._curAttrData.updateExtended(),!0}_setOrReportSpecialColor(e,t){const i=e.split(\";\");for(let e=0;e<i.length&&!(t>=this._specialColors.length);++e,++t)if(\"?\"===i[e])this._onColor.fire([{type:0,index:this._specialColors[t]}]);else{const s=(0,S.parseColor)(i[e]);s&&this._onColor.fire([{type:1,index:this._specialColors[t],color:s}])}return!0}setOrReportFgColor(e){return this._setOrReportSpecialColor(e,0)}setOrReportBgColor(e){return this._setOrReportSpecialColor(e,1)}setOrReportCursorColor(e){return this._setOrReportSpecialColor(e,2)}restoreIndexedColor(e){if(!e)return this._onColor.fire([{type:2}]),!0;const t=[],i=e.split(\";\");for(let e=0;e<i.length;++e)if(/^\\d+$/.exec(i[e])){const s=parseInt(i[e]);D(s)&&t.push({type:2,index:s})}return t.length&&this._onColor.fire(t),!0}restoreFgColor(e){return this._onColor.fire([{type:2,index:256}]),!0}restoreBgColor(e){return this._onColor.fire([{type:2,index:257}]),!0}restoreCursorColor(e){return this._onColor.fire([{type:2,index:258}]),!0}nextLine(){return this._activeBuffer.x=0,this.index(),!0}keypadApplicationMode(){return this._logService.debug(\"Serial port requested application keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!0,this._onRequestSyncScrollBar.fire(),!0}keypadNumericMode(){return this._logService.debug(\"Switching back to normal keypad.\"),this._coreService.decPrivateModes.applicationKeypad=!1,this._onRequestSyncScrollBar.fire(),!0}selectDefaultCharset(){return this._charsetService.setgLevel(0),this._charsetService.setgCharset(0,o.DEFAULT_CHARSET),!0}selectCharset(e){return 2!==e.length?(this.selectDefaultCharset(),!0):(\"/\"===e[0]||this._charsetService.setgCharset(C[e[0]],o.CHARSETS[e[1]]||o.DEFAULT_CHARSET),!0)}index(){return this._restrictCursor(),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._restrictCursor(),!0}tabSet(){return this._activeBuffer.tabs[this._activeBuffer.x]=!0,!0}reverseIndex(){if(this._restrictCursor(),this._activeBuffer.y===this._activeBuffer.scrollTop){const e=this._activeBuffer.scrollBottom-this._activeBuffer.scrollTop;this._activeBuffer.lines.shiftElements(this._activeBuffer.ybase+this._activeBuffer.y,e,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=l.DEFAULT_ATTR_DATA.clone(),this._eraseAttrDataInternal=l.DEFAULT_ATTR_DATA.clone()}_eraseAttrData(){return this._eraseAttrDataInternal.bg&=-67108864,this._eraseAttrDataInternal.bg|=67108863&this._curAttrData.bg,this._eraseAttrDataInternal}setgLevel(e){return this._charsetService.setgLevel(e),!0}screenAlignmentPattern(){const e=new u.CellData;e.content=1<<22|\"E\".charCodeAt(0),e.fg=this._curAttrData.fg,e.bg=this._curAttrData.bg,this._setCursor(0,0);for(let t=0;t<this._bufferService.rows;++t){const i=this._activeBuffer.ybase+this._activeBuffer.y+t,s=this._activeBuffer.lines.get(i);s&&(s.fill(e),s.isWrapped=!1)}return this._dirtyRowTracker.markAllDirty(),this._setCursor(0,0),!0}requestStatusString(e,t){const i=this._bufferService.buffer,s=this._optionsService.rawOptions;return(e=>(this._coreService.triggerDataEvent(`${n.C0.ESC}${e}${n.C0.ESC}\\\\`),!0))('\"q'===e?`P1$r${this._curAttrData.isProtected()?1:0}\"q`:'\"p'===e?'P1$r61;1\"p':\"r\"===e?`P1$r${i.scrollTop+1};${i.scrollBottom+1}r`:\"m\"===e?\"P1$r0m\":\" q\"===e?`P1$r${{block:2,underline:4,bar:6}[s.cursorStyle]-(s.cursorBlink?1:0)} q`:\"P0$r\")}markRangeDirty(e,t){this._dirtyRowTracker.markRangeDirty(e,t)}}t.InputHandler=k;let L=class{constructor(e){this._bufferService=e,this.clearRange()}clearRange(){this.start=this._bufferService.buffer.y,this.end=this._bufferService.buffer.y}markDirty(e){e<this.start?this.start=e:e>this.end&&(this.end=e)}markRangeDirty(e,t){e>t&&(E=e,e=t,t=E),e<this.start&&(this.start=e),t>this.end&&(this.end=t)}markAllDirty(){this.markRangeDirty(0,this._bufferService.rows-1)}};function D(e){return 0<=e&&e<256}L=s([r(0,v.IBufferService)],L)},844:(e,t)=>{function i(e){for(const t of e)t.dispose();e.length=0}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getDisposeArrayDisposable=t.disposeArray=t.toDisposable=t.MutableDisposable=t.Disposable=void 0,t.Disposable=class{constructor(){this._disposables=[],this._isDisposed=!1}dispose(){this._isDisposed=!0;for(const e of this._disposables)e.dispose();this._disposables.length=0}register(e){return this._disposables.push(e),e}unregister(e){const t=this._disposables.indexOf(e);-1!==t&&this._disposables.splice(t,1)}},t.MutableDisposable=class{constructor(){this._isDisposed=!1}get value(){return this._isDisposed?void 0:this._value}set value(e){this._isDisposed||e===this._value||(this._value?.dispose(),this._value=e)}clear(){this.value=void 0}dispose(){this._isDisposed=!0,this._value?.dispose(),this._value=void 0}},t.toDisposable=function(e){return{dispose:e}},t.disposeArray=i,t.getDisposeArrayDisposable=function(e){return{dispose:()=>i(e)}}},1505:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.FourKeyMap=t.TwoKeyMap=void 0;class i{constructor(){this._data={}}set(e,t,i){this._data[e]||(this._data[e]={}),this._data[e][t]=i}get(e,t){return this._data[e]?this._data[e][t]:void 0}clear(){this._data={}}}t.TwoKeyMap=i,t.FourKeyMap=class{constructor(){this._data=new i}set(e,t,s,r,n){this._data.get(e,t)||this._data.set(e,t,new i),this._data.get(e,t).set(s,r,n)}get(e,t,i,s){return this._data.get(e,t)?.get(i,s)}clear(){this._data.clear()}}},6114:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.isChromeOS=t.isLinux=t.isWindows=t.isIphone=t.isIpad=t.isMac=t.getSafariVersion=t.isSafari=t.isLegacyEdge=t.isFirefox=t.isNode=void 0,t.isNode=\"undefined\"!=typeof process&&\"title\"in process;const i=t.isNode?\"node\":navigator.userAgent,s=t.isNode?\"node\":navigator.platform;t.isFirefox=i.includes(\"Firefox\"),t.isLegacyEdge=i.includes(\"Edge\"),t.isSafari=/^((?!chrome|android).)*safari/i.test(i),t.getSafariVersion=function(){if(!t.isSafari)return 0;const e=i.match(/Version\\/(\\d+)/);return null===e||e.length<2?0:parseInt(e[1])},t.isMac=[\"Macintosh\",\"MacIntel\",\"MacPPC\",\"Mac68K\"].includes(s),t.isIpad=\"iPad\"===s,t.isIphone=\"iPhone\"===s,t.isWindows=[\"Windows\",\"Win16\",\"Win32\",\"WinCE\"].includes(s),t.isLinux=s.indexOf(\"Linux\")>=0,t.isChromeOS=/\\bCrOS\\b/.test(i)},6106:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.SortedList=void 0;let i=0;t.SortedList=class{constructor(e){this._getKey=e,this._array=[]}clear(){this._array.length=0}insert(e){0!==this._array.length?(i=this._search(this._getKey(e)),this._array.splice(i,0,e)):this._array.push(e)}delete(e){if(0===this._array.length)return!1;const t=this._getKey(e);if(void 0===t)return!1;if(i=this._search(t),-1===i)return!1;if(this._getKey(this._array[i])!==t)return!1;do{if(this._array[i]===e)return this._array.splice(i,1),!0}while(++i<this._array.length&&this._getKey(this._array[i])===t);return!1}*getKeyIterator(e){if(0!==this._array.length&&(i=this._search(e),!(i<0||i>=this._array.length)&&this._getKey(this._array[i])===e))do{yield this._array[i]}while(++i<this._array.length&&this._getKey(this._array[i])===e)}forEachByKey(e,t){if(0!==this._array.length&&(i=this._search(e),!(i<0||i>=this._array.length)&&this._getKey(this._array[i])===e))do{t(this._array[i])}while(++i<this._array.length&&this._getKey(this._array[i])===e)}values(){return[...this._array].values()}_search(e){let t=0,i=this._array.length-1;for(;i>=t;){let s=t+i>>1;const r=this._getKey(this._array[s]);if(r>e)i=s-1;else{if(!(r<e)){for(;s>0&&this._getKey(this._array[s-1])===e;)s--;return s}t=s+1}}return t}}},7226:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DebouncedIdleTask=t.IdleTaskQueue=t.PriorityTaskQueue=void 0;const s=i(6114);class r{constructor(){this._tasks=[],this._i=0}enqueue(e){this._tasks.push(e),this._start()}flush(){for(;this._i<this._tasks.length;)this._tasks[this._i]()||this._i++;this.clear()}clear(){this._idleCallback&&(this._cancelCallback(this._idleCallback),this._idleCallback=void 0),this._i=0,this._tasks.length=0}_start(){this._idleCallback||(this._idleCallback=this._requestCallback(this._process.bind(this)))}_process(e){this._idleCallback=void 0;let t=0,i=0,s=e.timeRemaining(),r=0;for(;this._i<this._tasks.length;){if(t=Date.now(),this._tasks[this._i]()||this._i++,t=Math.max(1,Date.now()-t),i=Math.max(t,i),r=e.timeRemaining(),1.5*i>r)return s-t<-20&&console.warn(`task queue exceeded allotted deadline by ${Math.abs(Math.round(s-t))}ms`),void this._start();s=r}this.clear()}}class n extends r{_requestCallback(e){return setTimeout((()=>e(this._createDeadline(16))))}_cancelCallback(e){clearTimeout(e)}_createDeadline(e){const t=Date.now()+e;return{timeRemaining:()=>Math.max(0,t-Date.now())}}}t.PriorityTaskQueue=n,t.IdleTaskQueue=!s.isNode&&\"requestIdleCallback\"in window?class extends r{_requestCallback(e){return requestIdleCallback(e)}_cancelCallback(e){cancelIdleCallback(e)}}:n,t.DebouncedIdleTask=class{constructor(){this._queue=new t.IdleTaskQueue}set(e){this._queue.clear(),this._queue.enqueue(e)}flush(){this._queue.flush()}}},9282:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.updateWindowsModeWrappedState=void 0;const s=i(643);t.updateWindowsModeWrappedState=function(e){const t=e.buffer.lines.get(e.buffer.ybase+e.buffer.y-1),i=t?.get(e.cols-1),r=e.buffer.lines.get(e.buffer.ybase+e.buffer.y);r&&i&&(r.isWrapped=i[s.CHAR_DATA_CODE_INDEX]!==s.NULL_CELL_CODE&&i[s.CHAR_DATA_CODE_INDEX]!==s.WHITESPACE_CELL_CODE)}},3734:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ExtendedAttrs=t.AttributeData=void 0;class i{constructor(){this.fg=0,this.bg=0,this.extended=new s}static toColorRGB(e){return[e>>>16&255,e>>>8&255,255&e]}static fromColorRGB(e){return(255&e[0])<<16|(255&e[1])<<8|255&e[2]}clone(){const e=new i;return e.fg=this.fg,e.bg=this.bg,e.extended=this.extended.clone(),e}isInverse(){return 67108864&this.fg}isBold(){return 134217728&this.fg}isUnderline(){return this.hasExtendedAttrs()&&0!==this.extended.underlineStyle?1:268435456&this.fg}isBlink(){return 536870912&this.fg}isInvisible(){return 1073741824&this.fg}isItalic(){return 67108864&this.bg}isDim(){return 134217728&this.bg}isStrikethrough(){return 2147483648&this.fg}isProtected(){return 536870912&this.bg}isOverline(){return 1073741824&this.bg}getFgColorMode(){return 50331648&this.fg}getBgColorMode(){return 50331648&this.bg}isFgRGB(){return 50331648==(50331648&this.fg)}isBgRGB(){return 50331648==(50331648&this.bg)}isFgPalette(){return 16777216==(50331648&this.fg)||33554432==(50331648&this.fg)}isBgPalette(){return 16777216==(50331648&this.bg)||33554432==(50331648&this.bg)}isFgDefault(){return 0==(50331648&this.fg)}isBgDefault(){return 0==(50331648&this.bg)}isAttributeDefault(){return 0===this.fg&&0===this.bg}getFgColor(){switch(50331648&this.fg){case 16777216:case 33554432:return 255&this.fg;case 50331648:return 16777215&this.fg;default:return-1}}getBgColor(){switch(50331648&this.bg){case 16777216:case 33554432:return 255&this.bg;case 50331648:return 16777215&this.bg;default:return-1}}hasExtendedAttrs(){return 268435456&this.bg}updateExtended(){this.extended.isEmpty()?this.bg&=-268435457:this.bg|=268435456}getUnderlineColor(){if(268435456&this.bg&&~this.extended.underlineColor)switch(50331648&this.extended.underlineColor){case 16777216:case 33554432:return 255&this.extended.underlineColor;case 50331648:return 16777215&this.extended.underlineColor;default:return this.getFgColor()}return this.getFgColor()}getUnderlineColorMode(){return 268435456&this.bg&&~this.extended.underlineColor?50331648&this.extended.underlineColor:this.getFgColorMode()}isUnderlineColorRGB(){return 268435456&this.bg&&~this.extended.underlineColor?50331648==(50331648&this.extended.underlineColor):this.isFgRGB()}isUnderlineColorPalette(){return 268435456&this.bg&&~this.extended.underlineColor?16777216==(50331648&this.extended.underlineColor)||33554432==(50331648&this.extended.underlineColor):this.isFgPalette()}isUnderlineColorDefault(){return 268435456&this.bg&&~this.extended.underlineColor?0==(50331648&this.extended.underlineColor):this.isFgDefault()}getUnderlineStyle(){return 268435456&this.fg?268435456&this.bg?this.extended.underlineStyle:1:0}getUnderlineVariantOffset(){return this.extended.underlineVariantOffset}}t.AttributeData=i;class s{get ext(){return this._urlId?-469762049&this._ext|this.underlineStyle<<26:this._ext}set ext(e){this._ext=e}get underlineStyle(){return this._urlId?5:(469762048&this._ext)>>26}set underlineStyle(e){this._ext&=-469762049,this._ext|=e<<26&469762048}get underlineColor(){return 67108863&this._ext}set underlineColor(e){this._ext&=-67108864,this._ext|=67108863&e}get urlId(){return this._urlId}set urlId(e){this._urlId=e}get underlineVariantOffset(){const e=(3758096384&this._ext)>>29;return e<0?4294967288^e:e}set underlineVariantOffset(e){this._ext&=536870911,this._ext|=e<<29&3758096384}constructor(e=0,t=0){this._ext=0,this._urlId=0,this._ext=e,this._urlId=t}clone(){return new s(this._ext,this._urlId)}isEmpty(){return 0===this.underlineStyle&&0===this._urlId}}t.ExtendedAttrs=s},9092:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Buffer=t.MAX_BUFFER_SIZE=void 0;const s=i(6349),r=i(7226),n=i(3734),o=i(8437),a=i(4634),h=i(511),c=i(643),l=i(4863),d=i(7116);t.MAX_BUFFER_SIZE=4294967295,t.Buffer=class{constructor(e,t,i){this._hasScrollback=e,this._optionsService=t,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=o.DEFAULT_ATTR_DATA.clone(),this.savedCharset=d.DEFAULT_CHARSET,this.markers=[],this._nullCell=h.CellData.fromCharData([0,c.NULL_CELL_CHAR,c.NULL_CELL_WIDTH,c.NULL_CELL_CODE]),this._whitespaceCell=h.CellData.fromCharData([0,c.WHITESPACE_CELL_CHAR,c.WHITESPACE_CELL_WIDTH,c.WHITESPACE_CELL_CODE]),this._isClearing=!1,this._memoryCleanupQueue=new r.IdleTaskQueue,this._memoryCleanupPosition=0,this._cols=this._bufferService.cols,this._rows=this._bufferService.rows,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}getNullCell(e){return e?(this._nullCell.fg=e.fg,this._nullCell.bg=e.bg,this._nullCell.extended=e.extended):(this._nullCell.fg=0,this._nullCell.bg=0,this._nullCell.extended=new n.ExtendedAttrs),this._nullCell}getWhitespaceCell(e){return e?(this._whitespaceCell.fg=e.fg,this._whitespaceCell.bg=e.bg,this._whitespaceCell.extended=e.extended):(this._whitespaceCell.fg=0,this._whitespaceCell.bg=0,this._whitespaceCell.extended=new n.ExtendedAttrs),this._whitespaceCell}getBlankLine(e,t){return new o.BufferLine(this._bufferService.cols,this.getNullCell(e),t)}get hasScrollback(){return this._hasScrollback&&this.lines.maxLength>this._rows}get isCursorInViewport(){const e=this.ybase+this.y-this.ydisp;return e>=0&&e<this._rows}_getCorrectBufferLength(e){if(!this._hasScrollback)return e;const i=e+this._optionsService.rawOptions.scrollback;return i>t.MAX_BUFFER_SIZE?t.MAX_BUFFER_SIZE:i}fillViewportRows(e){if(0===this.lines.length){void 0===e&&(e=o.DEFAULT_ATTR_DATA);let t=this._rows;for(;t--;)this.lines.push(this.getBlankLine(e))}}clear(){this.ydisp=0,this.ybase=0,this.y=0,this.x=0,this.lines=new s.CircularList(this._getCorrectBufferLength(this._rows)),this.scrollTop=0,this.scrollBottom=this._rows-1,this.setupTabStops()}resize(e,t){const i=this.getNullCell(o.DEFAULT_ATTR_DATA);let s=0;const r=this._getCorrectBufferLength(t);if(r>this.lines.maxLength&&(this.lines.maxLength=r),this.lines.length>0){if(this._cols<e)for(let t=0;t<this.lines.length;t++)s+=+this.lines.get(t).resize(e,i);let n=0;if(this._rows<t)for(let s=this._rows;s<t;s++)this.lines.length<t+this.ybase&&(this._optionsService.rawOptions.windowsMode||void 0!==this._optionsService.rawOptions.windowsPty.backend||void 0!==this._optionsService.rawOptions.windowsPty.buildNumber?this.lines.push(new o.BufferLine(e,i)):this.ybase>0&&this.lines.length<=this.ybase+this.y+n+1?(this.ybase--,n++,this.ydisp>0&&this.ydisp--):this.lines.push(new o.BufferLine(e,i)));else for(let e=this._rows;e>t;e--)this.lines.length>t+this.ybase&&(this.lines.length>this.ybase+this.y+1?this.lines.pop():(this.ybase++,this.ydisp++));if(r<this.lines.maxLength){const e=this.lines.length-r;e>0&&(this.lines.trimStart(e),this.ybase=Math.max(this.ybase-e,0),this.ydisp=Math.max(this.ydisp-e,0),this.savedY=Math.max(this.savedY-e,0)),this.lines.maxLength=r}this.x=Math.min(this.x,e-1),this.y=Math.min(this.y,t-1),n&&(this.y+=n),this.savedX=Math.min(this.savedX,e-1),this.scrollTop=0}if(this.scrollBottom=t-1,this._isReflowEnabled&&(this._reflow(e,t),this._cols>e))for(let t=0;t<this.lines.length;t++)s+=+this.lines.get(t).resize(e,i);this._cols=e,this._rows=t,this._memoryCleanupQueue.clear(),s>.1*this.lines.length&&(this._memoryCleanupPosition=0,this._memoryCleanupQueue.enqueue((()=>this._batchedMemoryCleanup())))}_batchedMemoryCleanup(){let e=!0;this._memoryCleanupPosition>=this.lines.length&&(this._memoryCleanupPosition=0,e=!1);let t=0;for(;this._memoryCleanupPosition<this.lines.length;)if(t+=this.lines.get(this._memoryCleanupPosition++).cleanupMemory(),t>100)return!0;return e}get _isReflowEnabled(){const e=this._optionsService.rawOptions.windowsPty;return e&&e.buildNumber?this._hasScrollback&&\"conpty\"===e.backend&&e.buildNumber>=21376:this._hasScrollback&&!this._optionsService.rawOptions.windowsMode}_reflow(e,t){this._cols!==e&&(e>this._cols?this._reflowLarger(e,t):this._reflowSmaller(e,t))}_reflowLarger(e,t){const i=(0,a.reflowLargerGetLinesToRemove)(this.lines,this._cols,e,this.ybase+this.y,this.getNullCell(o.DEFAULT_ATTR_DATA));if(i.length>0){const s=(0,a.reflowLargerCreateNewLayout)(this.lines,i);(0,a.reflowLargerApplyNewLayout)(this.lines,s.layout),this._reflowLargerAdjustViewport(e,t,s.countRemoved)}}_reflowLargerAdjustViewport(e,t,i){const s=this.getNullCell(o.DEFAULT_ATTR_DATA);let r=i;for(;r-- >0;)0===this.ybase?(this.y>0&&this.y--,this.lines.length<t&&this.lines.push(new o.BufferLine(e,s))):(this.ydisp===this.ybase&&this.ydisp--,this.ybase--);this.savedY=Math.max(this.savedY-i,0)}_reflowSmaller(e,t){const i=this.getNullCell(o.DEFAULT_ATTR_DATA),s=[];let r=0;for(let n=this.lines.length-1;n>=0;n--){let h=this.lines.get(n);if(!h||!h.isWrapped&&h.getTrimmedLength()<=e)continue;const c=[h];for(;h.isWrapped&&n>0;)h=this.lines.get(--n),c.unshift(h);const l=this.ybase+this.y;if(l>=n&&l<n+c.length)continue;const d=c[c.length-1].getTrimmedLength(),_=(0,a.reflowSmallerGetNewLineLengths)(c,this._cols,e),u=_.length-c.length;let f;f=0===this.ybase&&this.y!==this.lines.length-1?Math.max(0,this.y-this.lines.maxLength+u):Math.max(0,this.lines.length-this.lines.maxLength+u);const v=[];for(let e=0;e<u;e++){const e=this.getBlankLine(o.DEFAULT_ATTR_DATA,!0);v.push(e)}v.length>0&&(s.push({start:n+c.length+r,newLines:v}),r+=v.length),c.push(...v);let p=_.length-1,g=_[p];0===g&&(p--,g=_[p]);let m=c.length-u-1,S=d;for(;m>=0;){const e=Math.min(S,g);if(void 0===c[p])break;if(c[p].copyCellsFrom(c[m],S-e,g-e,e,!0),g-=e,0===g&&(p--,g=_[p]),S-=e,0===S){m--;const e=Math.max(m,0);S=(0,a.getWrappedLineTrimmedLength)(c,e,this._cols)}}for(let t=0;t<c.length;t++)_[t]<e&&c[t].setCell(_[t],i);let C=u-f;for(;C-- >0;)0===this.ybase?this.y<t-1?(this.y++,this.lines.pop()):(this.ybase++,this.ydisp++):this.ybase<Math.min(this.lines.maxLength,this.lines.length+r)-t&&(this.ybase===this.ydisp&&this.ydisp++,this.ybase++);this.savedY=Math.min(this.savedY+u,this.ybase+t-1)}if(s.length>0){const e=[],t=[];for(let e=0;e<this.lines.length;e++)t.push(this.lines.get(e));const i=this.lines.length;let n=i-1,o=0,a=s[o];this.lines.length=Math.min(this.lines.maxLength,this.lines.length+r);let h=0;for(let c=Math.min(this.lines.maxLength-1,i+r-1);c>=0;c--)if(a&&a.start>n+h){for(let e=a.newLines.length-1;e>=0;e--)this.lines.set(c--,a.newLines[e]);c++,e.push({index:n+1,amount:a.newLines.length}),h+=a.newLines.length,a=s[++o]}else this.lines.set(c,t[n--]);let c=0;for(let t=e.length-1;t>=0;t--)e[t].index+=c,this.lines.onInsertEmitter.fire(e[t]),c+=e[t].amount;const l=Math.max(0,i+r-this.lines.maxLength);l>0&&this.lines.onTrimEmitter.fire(l)}}translateBufferLineToString(e,t,i=0,s){const r=this.lines.get(e);return r?r.translateToString(t,i,s):\"\"}getWrappedRangeForLine(e){let t=e,i=e;for(;t>0&&this.lines.get(t).isWrapped;)t--;for(;i+1<this.lines.length&&this.lines.get(i+1).isWrapped;)i++;return{first:t,last:i}}setupTabStops(e){for(null!=e?this.tabs[e]||(e=this.prevStop(e)):(this.tabs={},e=0);e<this._cols;e+=this._optionsService.rawOptions.tabStopWidth)this.tabs[e]=!0}prevStop(e){for(null==e&&(e=this.x);!this.tabs[--e]&&e>0;);return e>=this._cols?this._cols-1:e<0?0:e}nextStop(e){for(null==e&&(e=this.x);!this.tabs[++e]&&e<this._cols;);return e>=this._cols?this._cols-1:e<0?0:e}clearMarkers(e){this._isClearing=!0;for(let t=0;t<this.markers.length;t++)this.markers[t].line===e&&(this.markers[t].dispose(),this.markers.splice(t--,1));this._isClearing=!1}clearAllMarkers(){this._isClearing=!0;for(let e=0;e<this.markers.length;e++)this.markers[e].dispose(),this.markers.splice(e--,1);this._isClearing=!1}addMarker(e){const t=new l.Marker(e);return this.markers.push(t),t.register(this.lines.onTrim((e=>{t.line-=e,t.line<0&&t.dispose()}))),t.register(this.lines.onInsert((e=>{t.line>=e.index&&(t.line+=e.amount)}))),t.register(this.lines.onDelete((e=>{t.line>=e.index&&t.line<e.index+e.amount&&t.dispose(),t.line>e.index&&(t.line-=e.amount)}))),t.register(t.onDispose((()=>this._removeMarker(t)))),t}_removeMarker(e){this._isClearing||this.markers.splice(this.markers.indexOf(e),1)}}},8437:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLine=t.DEFAULT_ATTR_DATA=void 0;const s=i(3734),r=i(511),n=i(643),o=i(482);t.DEFAULT_ATTR_DATA=Object.freeze(new s.AttributeData);let a=0;class h{constructor(e,t,i=!1){this.isWrapped=i,this._combined={},this._extendedAttrs={},this._data=new Uint32Array(3*e);const s=t||r.CellData.fromCharData([0,n.NULL_CELL_CHAR,n.NULL_CELL_WIDTH,n.NULL_CELL_CODE]);for(let t=0;t<e;++t)this.setCell(t,s);this.length=e}get(e){const t=this._data[3*e+0],i=2097151&t;return[this._data[3*e+1],2097152&t?this._combined[e]:i?(0,o.stringFromCodePoint)(i):\"\",t>>22,2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):i]}set(e,t){this._data[3*e+1]=t[n.CHAR_DATA_ATTR_INDEX],t[n.CHAR_DATA_CHAR_INDEX].length>1?(this._combined[e]=t[1],this._data[3*e+0]=2097152|e|t[n.CHAR_DATA_WIDTH_INDEX]<<22):this._data[3*e+0]=t[n.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|t[n.CHAR_DATA_WIDTH_INDEX]<<22}getWidth(e){return this._data[3*e+0]>>22}hasWidth(e){return 12582912&this._data[3*e+0]}getFg(e){return this._data[3*e+1]}getBg(e){return this._data[3*e+2]}hasContent(e){return 4194303&this._data[3*e+0]}getCodePoint(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e].charCodeAt(this._combined[e].length-1):2097151&t}isCombined(e){return 2097152&this._data[3*e+0]}getString(e){const t=this._data[3*e+0];return 2097152&t?this._combined[e]:2097151&t?(0,o.stringFromCodePoint)(2097151&t):\"\"}isProtected(e){return 536870912&this._data[3*e+2]}loadCell(e,t){return a=3*e,t.content=this._data[a+0],t.fg=this._data[a+1],t.bg=this._data[a+2],2097152&t.content&&(t.combinedData=this._combined[e]),268435456&t.bg&&(t.extended=this._extendedAttrs[e]),t}setCell(e,t){2097152&t.content&&(this._combined[e]=t.combinedData),268435456&t.bg&&(this._extendedAttrs[e]=t.extended),this._data[3*e+0]=t.content,this._data[3*e+1]=t.fg,this._data[3*e+2]=t.bg}setCellFromCodepoint(e,t,i,s){268435456&s.bg&&(this._extendedAttrs[e]=s.extended),this._data[3*e+0]=t|i<<22,this._data[3*e+1]=s.fg,this._data[3*e+2]=s.bg}addCodepointToCell(e,t,i){let s=this._data[3*e+0];2097152&s?this._combined[e]+=(0,o.stringFromCodePoint)(t):2097151&s?(this._combined[e]=(0,o.stringFromCodePoint)(2097151&s)+(0,o.stringFromCodePoint)(t),s&=-2097152,s|=2097152):s=t|1<<22,i&&(s&=-12582913,s|=i<<22),this._data[3*e+0]=s}insertCells(e,t,i){if((e%=this.length)&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length-e){const s=new r.CellData;for(let i=this.length-e-t-1;i>=0;--i)this.setCell(e+t+i,this.loadCell(e+i,s));for(let s=0;s<t;++s)this.setCell(e+s,i)}else for(let t=e;t<this.length;++t)this.setCell(t,i);2===this.getWidth(this.length-1)&&this.setCellFromCodepoint(this.length-1,0,1,i)}deleteCells(e,t,i){if(e%=this.length,t<this.length-e){const s=new r.CellData;for(let i=0;i<this.length-e-t;++i)this.setCell(e+i,this.loadCell(e+t+i,s));for(let e=this.length-t;e<this.length;++e)this.setCell(e,i)}else for(let t=e;t<this.length;++t)this.setCell(t,i);e&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),0!==this.getWidth(e)||this.hasContent(e)||this.setCellFromCodepoint(e,0,1,i)}replaceCells(e,t,i,s=!1){if(s)for(e&&2===this.getWidth(e-1)&&!this.isProtected(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length&&2===this.getWidth(t-1)&&!this.isProtected(t)&&this.setCellFromCodepoint(t,0,1,i);e<t&&e<this.length;)this.isProtected(e)||this.setCell(e,i),e++;else for(e&&2===this.getWidth(e-1)&&this.setCellFromCodepoint(e-1,0,1,i),t<this.length&&2===this.getWidth(t-1)&&this.setCellFromCodepoint(t,0,1,i);e<t&&e<this.length;)this.setCell(e++,i)}resize(e,t){if(e===this.length)return 4*this._data.length*2<this._data.buffer.byteLength;const i=3*e;if(e>this.length){if(this._data.buffer.byteLength>=4*i)this._data=new Uint32Array(this._data.buffer,0,i);else{const e=new Uint32Array(i);e.set(this._data),this._data=e}for(let i=this.length;i<e;++i)this.setCell(i,t)}else{this._data=this._data.subarray(0,i);const t=Object.keys(this._combined);for(let i=0;i<t.length;i++){const s=parseInt(t[i],10);s>=e&&delete this._combined[s]}const s=Object.keys(this._extendedAttrs);for(let t=0;t<s.length;t++){const i=parseInt(s[t],10);i>=e&&delete this._extendedAttrs[i]}}return this.length=e,4*i*2<this._data.buffer.byteLength}cleanupMemory(){if(4*this._data.length*2<this._data.buffer.byteLength){const e=new Uint32Array(this._data.length);return e.set(this._data),this._data=e,1}return 0}fill(e,t=!1){if(t)for(let t=0;t<this.length;++t)this.isProtected(t)||this.setCell(t,e);else{this._combined={},this._extendedAttrs={};for(let t=0;t<this.length;++t)this.setCell(t,e)}}copyFrom(e){this.length!==e.length?this._data=new Uint32Array(e._data):this._data.set(e._data),this.length=e.length,this._combined={};for(const t in e._combined)this._combined[t]=e._combined[t];this._extendedAttrs={};for(const t in e._extendedAttrs)this._extendedAttrs[t]=e._extendedAttrs[t];this.isWrapped=e.isWrapped}clone(){const e=new h(0);e._data=new Uint32Array(this._data),e.length=this.length;for(const t in this._combined)e._combined[t]=this._combined[t];for(const t in this._extendedAttrs)e._extendedAttrs[t]=this._extendedAttrs[t];return e.isWrapped=this.isWrapped,e}getTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0])return e+(this._data[3*e+0]>>22);return 0}getNoBgTrimmedLength(){for(let e=this.length-1;e>=0;--e)if(4194303&this._data[3*e+0]||50331648&this._data[3*e+2])return e+(this._data[3*e+0]>>22);return 0}copyCellsFrom(e,t,i,s,r){const n=e._data;if(r)for(let r=s-1;r>=0;r--){for(let e=0;e<3;e++)this._data[3*(i+r)+e]=n[3*(t+r)+e];268435456&n[3*(t+r)+2]&&(this._extendedAttrs[i+r]=e._extendedAttrs[t+r])}else for(let r=0;r<s;r++){for(let e=0;e<3;e++)this._data[3*(i+r)+e]=n[3*(t+r)+e];268435456&n[3*(t+r)+2]&&(this._extendedAttrs[i+r]=e._extendedAttrs[t+r])}const o=Object.keys(e._combined);for(let s=0;s<o.length;s++){const r=parseInt(o[s],10);r>=t&&(this._combined[r-t+i]=e._combined[r])}}translateToString(e,t,i,s){t=t??0,i=i??this.length,e&&(i=Math.min(i,this.getTrimmedLength())),s&&(s.length=0);let r=\"\";for(;t<i;){const e=this._data[3*t+0],i=2097151&e,a=2097152&e?this._combined[t]:i?(0,o.stringFromCodePoint)(i):n.WHITESPACE_CELL_CHAR;if(r+=a,s)for(let e=0;e<a.length;++e)s.push(t);t+=e>>22||1}return s&&s.push(t),r}}t.BufferLine=h},4841:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.getRangeLength=void 0,t.getRangeLength=function(e,t){if(e.start.y>e.end.y)throw new Error(`Buffer range end (${e.end.x}, ${e.end.y}) cannot be before start (${e.start.x}, ${e.start.y})`);return t*(e.end.y-e.start.y)+(e.end.x-e.start.x+1)}},4634:(e,t)=>{function i(e,t,i){if(t===e.length-1)return e[t].getTrimmedLength();const s=!e[t].hasContent(i-1)&&1===e[t].getWidth(i-1),r=2===e[t+1].getWidth(0);return s&&r?i-1:i}Object.defineProperty(t,\"__esModule\",{value:!0}),t.getWrappedLineTrimmedLength=t.reflowSmallerGetNewLineLengths=t.reflowLargerApplyNewLayout=t.reflowLargerCreateNewLayout=t.reflowLargerGetLinesToRemove=void 0,t.reflowLargerGetLinesToRemove=function(e,t,s,r,n){const o=[];for(let a=0;a<e.length-1;a++){let h=a,c=e.get(++h);if(!c.isWrapped)continue;const l=[e.get(a)];for(;h<e.length&&c.isWrapped;)l.push(c),c=e.get(++h);if(r>=a&&r<h){a+=l.length-1;continue}let d=0,_=i(l,d,t),u=1,f=0;for(;u<l.length;){const e=i(l,u,t),r=e-f,o=s-_,a=Math.min(r,o);l[d].copyCellsFrom(l[u],f,_,a,!1),_+=a,_===s&&(d++,_=0),f+=a,f===e&&(u++,f=0),0===_&&0!==d&&2===l[d-1].getWidth(s-1)&&(l[d].copyCellsFrom(l[d-1],s-1,_++,1,!1),l[d-1].setCell(s-1,n))}l[d].replaceCells(_,s,n);let v=0;for(let e=l.length-1;e>0&&(e>d||0===l[e].getTrimmedLength());e--)v++;v>0&&(o.push(a+l.length-v),o.push(v)),a+=l.length-1}return o},t.reflowLargerCreateNewLayout=function(e,t){const i=[];let s=0,r=t[s],n=0;for(let o=0;o<e.length;o++)if(r===o){const i=t[++s];e.onDeleteEmitter.fire({index:o-n,amount:i}),o+=i-1,n+=i,r=t[++s]}else i.push(o);return{layout:i,countRemoved:n}},t.reflowLargerApplyNewLayout=function(e,t){const i=[];for(let s=0;s<t.length;s++)i.push(e.get(t[s]));for(let t=0;t<i.length;t++)e.set(t,i[t]);e.length=t.length},t.reflowSmallerGetNewLineLengths=function(e,t,s){const r=[],n=e.map(((s,r)=>i(e,r,t))).reduce(((e,t)=>e+t));let o=0,a=0,h=0;for(;h<n;){if(n-h<s){r.push(n-h);break}o+=s;const c=i(e,a,t);o>c&&(o-=c,a++);const l=2===e[a].getWidth(o-1);l&&o--;const d=l?s-1:s;r.push(d),h+=d}return r},t.getWrappedLineTrimmedLength=i},5295:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferSet=void 0;const s=i(8460),r=i(844),n=i(9092);class o extends r.Disposable{constructor(e,t){super(),this._optionsService=e,this._bufferService=t,this._onBufferActivate=this.register(new s.EventEmitter),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 n.Buffer(!0,this._optionsService,this._bufferService),this._normal.fillViewportRows(),this._alt=new n.Buffer(!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(e){this._activeBuffer!==this._alt&&(this._alt.fillViewportRows(e),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(e,t){this._normal.resize(e,t),this._alt.resize(e,t),this.setupTabStops(e)}setupTabStops(e){this._normal.setupTabStops(e),this._alt.setupTabStops(e)}}t.BufferSet=o},511:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CellData=void 0;const s=i(482),r=i(643),n=i(3734);class o extends n.AttributeData{constructor(){super(...arguments),this.content=0,this.fg=0,this.bg=0,this.extended=new n.ExtendedAttrs,this.combinedData=\"\"}static fromCharData(e){const t=new o;return t.setFromCharData(e),t}isCombined(){return 2097152&this.content}getWidth(){return this.content>>22}getChars(){return 2097152&this.content?this.combinedData:2097151&this.content?(0,s.stringFromCodePoint)(2097151&this.content):\"\"}getCode(){return this.isCombined()?this.combinedData.charCodeAt(this.combinedData.length-1):2097151&this.content}setFromCharData(e){this.fg=e[r.CHAR_DATA_ATTR_INDEX],this.bg=0;let t=!1;if(e[r.CHAR_DATA_CHAR_INDEX].length>2)t=!0;else if(2===e[r.CHAR_DATA_CHAR_INDEX].length){const i=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0);if(55296<=i&&i<=56319){const s=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(1);56320<=s&&s<=57343?this.content=1024*(i-55296)+s-56320+65536|e[r.CHAR_DATA_WIDTH_INDEX]<<22:t=!0}else t=!0}else this.content=e[r.CHAR_DATA_CHAR_INDEX].charCodeAt(0)|e[r.CHAR_DATA_WIDTH_INDEX]<<22;t&&(this.combinedData=e[r.CHAR_DATA_CHAR_INDEX],this.content=2097152|e[r.CHAR_DATA_WIDTH_INDEX]<<22)}getAsCharData(){return[this.fg,this.getChars(),this.getWidth(),this.getCode()]}}t.CellData=o},643:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WHITESPACE_CELL_CODE=t.WHITESPACE_CELL_WIDTH=t.WHITESPACE_CELL_CHAR=t.NULL_CELL_CODE=t.NULL_CELL_WIDTH=t.NULL_CELL_CHAR=t.CHAR_DATA_CODE_INDEX=t.CHAR_DATA_WIDTH_INDEX=t.CHAR_DATA_CHAR_INDEX=t.CHAR_DATA_ATTR_INDEX=t.DEFAULT_EXT=t.DEFAULT_ATTR=t.DEFAULT_COLOR=void 0,t.DEFAULT_COLOR=0,t.DEFAULT_ATTR=256|t.DEFAULT_COLOR<<9,t.DEFAULT_EXT=0,t.CHAR_DATA_ATTR_INDEX=0,t.CHAR_DATA_CHAR_INDEX=1,t.CHAR_DATA_WIDTH_INDEX=2,t.CHAR_DATA_CODE_INDEX=3,t.NULL_CELL_CHAR=\"\",t.NULL_CELL_WIDTH=1,t.NULL_CELL_CODE=0,t.WHITESPACE_CELL_CHAR=\" \",t.WHITESPACE_CELL_WIDTH=1,t.WHITESPACE_CELL_CODE=32},4863:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Marker=void 0;const s=i(8460),r=i(844);class n{get id(){return this._id}constructor(e){this.line=e,this.isDisposed=!1,this._disposables=[],this._id=n._nextId++,this._onDispose=this.register(new s.EventEmitter),this.onDispose=this._onDispose.event}dispose(){this.isDisposed||(this.isDisposed=!0,this.line=-1,this._onDispose.fire(),(0,r.disposeArray)(this._disposables),this._disposables.length=0)}register(e){return this._disposables.push(e),e}}t.Marker=n,n._nextId=1},7116:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DEFAULT_CHARSET=t.CHARSETS=void 0,t.CHARSETS={},t.DEFAULT_CHARSET=t.CHARSETS.B,t.CHARSETS[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:\"≥\",\"{\":\"π\",\"|\":\"≠\",\"}\":\"£\",\"~\":\"·\"},t.CHARSETS.A={\"#\":\"£\"},t.CHARSETS.B=void 0,t.CHARSETS[4]={\"#\":\"£\",\"@\":\"¾\",\"[\":\"ij\",\"\\\\\":\"½\",\"]\":\"|\",\"{\":\"¨\",\"|\":\"f\",\"}\":\"¼\",\"~\":\"´\"},t.CHARSETS.C=t.CHARSETS[5]={\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.R={\"#\":\"£\",\"@\":\"à\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"§\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"¨\"},t.CHARSETS.Q={\"@\":\"à\",\"[\":\"â\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",\"`\":\"ô\",\"{\":\"é\",\"|\":\"ù\",\"}\":\"è\",\"~\":\"û\"},t.CHARSETS.K={\"@\":\"§\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Ü\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"ß\"},t.CHARSETS.Y={\"#\":\"£\",\"@\":\"§\",\"[\":\"°\",\"\\\\\":\"ç\",\"]\":\"é\",\"`\":\"ù\",\"{\":\"à\",\"|\":\"ò\",\"}\":\"è\",\"~\":\"ì\"},t.CHARSETS.E=t.CHARSETS[6]={\"@\":\"Ä\",\"[\":\"Æ\",\"\\\\\":\"Ø\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"ä\",\"{\":\"æ\",\"|\":\"ø\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS.Z={\"#\":\"£\",\"@\":\"§\",\"[\":\"¡\",\"\\\\\":\"Ñ\",\"]\":\"¿\",\"{\":\"°\",\"|\":\"ñ\",\"}\":\"ç\"},t.CHARSETS.H=t.CHARSETS[7]={\"@\":\"É\",\"[\":\"Ä\",\"\\\\\":\"Ö\",\"]\":\"Å\",\"^\":\"Ü\",\"`\":\"é\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"å\",\"~\":\"ü\"},t.CHARSETS[\"=\"]={\"#\":\"ù\",\"@\":\"à\",\"[\":\"é\",\"\\\\\":\"ç\",\"]\":\"ê\",\"^\":\"î\",_:\"è\",\"`\":\"ô\",\"{\":\"ä\",\"|\":\"ö\",\"}\":\"ü\",\"~\":\"û\"}},2584:(e,t)=>{var i,s,r;Object.defineProperty(t,\"__esModule\",{value:!0}),t.C1_ESCAPED=t.C1=t.C0=void 0,function(e){e.NUL=\"\\0\",e.SOH=\"\u0001\",e.STX=\"\u0002\",e.ETX=\"\u0003\",e.EOT=\"\u0004\",e.ENQ=\"\u0005\",e.ACK=\"\u0006\",e.BEL=\"\u0007\",e.BS=\"\\b\",e.HT=\"\\t\",e.LF=\"\\n\",e.VT=\"\\v\",e.FF=\"\\f\",e.CR=\"\\r\",e.SO=\"\u000e\",e.SI=\"\u000f\",e.DLE=\"\u0010\",e.DC1=\"\u0011\",e.DC2=\"\u0012\",e.DC3=\"\u0013\",e.DC4=\"\u0014\",e.NAK=\"\u0015\",e.SYN=\"\u0016\",e.ETB=\"\u0017\",e.CAN=\"\u0018\",e.EM=\"\u0019\",e.SUB=\"\u001a\",e.ESC=\"\u001b\",e.FS=\"\u001c\",e.GS=\"\u001d\",e.RS=\"\u001e\",e.US=\"\u001f\",e.SP=\" \",e.DEL=\"\"}(i||(t.C0=i={})),function(e){e.PAD=\"\",e.HOP=\"\",e.BPH=\"\",e.NBH=\"\",e.IND=\"\",e.NEL=\"
\",e.SSA=\"\",e.ESA=\"\",e.HTS=\"\",e.HTJ=\"\",e.VTS=\"\",e.PLD=\"\",e.PLU=\"\",e.RI=\"\",e.SS2=\"\",e.SS3=\"\",e.DCS=\"\",e.PU1=\"\",e.PU2=\"\",e.STS=\"\",e.CCH=\"\",e.MW=\"\",e.SPA=\"\",e.EPA=\"\",e.SOS=\"\",e.SGCI=\"\",e.SCI=\"\",e.CSI=\"\",e.ST=\"\",e.OSC=\"\",e.PM=\"\",e.APC=\"\"}(s||(t.C1=s={})),function(e){e.ST=`${i.ESC}\\\\`}(r||(t.C1_ESCAPED=r={}))},7399:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.evaluateKeyboardEvent=void 0;const s=i(2584),r={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:[\"'\",'\"']};t.evaluateKeyboardEvent=function(e,t,i,n){const o={type:0,cancel:!1,key:void 0},a=(e.shiftKey?1:0)|(e.altKey?2:0)|(e.ctrlKey?4:0)|(e.metaKey?8:0);switch(e.keyCode){case 0:\"UIKeyInputUpArrow\"===e.key?o.key=t?s.C0.ESC+\"OA\":s.C0.ESC+\"[A\":\"UIKeyInputLeftArrow\"===e.key?o.key=t?s.C0.ESC+\"OD\":s.C0.ESC+\"[D\":\"UIKeyInputRightArrow\"===e.key?o.key=t?s.C0.ESC+\"OC\":s.C0.ESC+\"[C\":\"UIKeyInputDownArrow\"===e.key&&(o.key=t?s.C0.ESC+\"OB\":s.C0.ESC+\"[B\");break;case 8:o.key=e.ctrlKey?\"\\b\":s.C0.DEL,e.altKey&&(o.key=s.C0.ESC+o.key);break;case 9:if(e.shiftKey){o.key=s.C0.ESC+\"[Z\";break}o.key=s.C0.HT,o.cancel=!0;break;case 13:o.key=e.altKey?s.C0.ESC+s.C0.CR:s.C0.CR,o.cancel=!0;break;case 27:o.key=s.C0.ESC,e.altKey&&(o.key=s.C0.ESC+s.C0.ESC),o.cancel=!0;break;case 37:if(e.metaKey)break;a?(o.key=s.C0.ESC+\"[1;\"+(a+1)+\"D\",o.key===s.C0.ESC+\"[1;3D\"&&(o.key=s.C0.ESC+(i?\"b\":\"[1;5D\"))):o.key=t?s.C0.ESC+\"OD\":s.C0.ESC+\"[D\";break;case 39:if(e.metaKey)break;a?(o.key=s.C0.ESC+\"[1;\"+(a+1)+\"C\",o.key===s.C0.ESC+\"[1;3C\"&&(o.key=s.C0.ESC+(i?\"f\":\"[1;5C\"))):o.key=t?s.C0.ESC+\"OC\":s.C0.ESC+\"[C\";break;case 38:if(e.metaKey)break;a?(o.key=s.C0.ESC+\"[1;\"+(a+1)+\"A\",i||o.key!==s.C0.ESC+\"[1;3A\"||(o.key=s.C0.ESC+\"[1;5A\")):o.key=t?s.C0.ESC+\"OA\":s.C0.ESC+\"[A\";break;case 40:if(e.metaKey)break;a?(o.key=s.C0.ESC+\"[1;\"+(a+1)+\"B\",i||o.key!==s.C0.ESC+\"[1;3B\"||(o.key=s.C0.ESC+\"[1;5B\")):o.key=t?s.C0.ESC+\"OB\":s.C0.ESC+\"[B\";break;case 45:e.shiftKey||e.ctrlKey||(o.key=s.C0.ESC+\"[2~\");break;case 46:o.key=a?s.C0.ESC+\"[3;\"+(a+1)+\"~\":s.C0.ESC+\"[3~\";break;case 36:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"H\":t?s.C0.ESC+\"OH\":s.C0.ESC+\"[H\";break;case 35:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"F\":t?s.C0.ESC+\"OF\":s.C0.ESC+\"[F\";break;case 33:e.shiftKey?o.type=2:e.ctrlKey?o.key=s.C0.ESC+\"[5;\"+(a+1)+\"~\":o.key=s.C0.ESC+\"[5~\";break;case 34:e.shiftKey?o.type=3:e.ctrlKey?o.key=s.C0.ESC+\"[6;\"+(a+1)+\"~\":o.key=s.C0.ESC+\"[6~\";break;case 112:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"P\":s.C0.ESC+\"OP\";break;case 113:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"Q\":s.C0.ESC+\"OQ\";break;case 114:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"R\":s.C0.ESC+\"OR\";break;case 115:o.key=a?s.C0.ESC+\"[1;\"+(a+1)+\"S\":s.C0.ESC+\"OS\";break;case 116:o.key=a?s.C0.ESC+\"[15;\"+(a+1)+\"~\":s.C0.ESC+\"[15~\";break;case 117:o.key=a?s.C0.ESC+\"[17;\"+(a+1)+\"~\":s.C0.ESC+\"[17~\";break;case 118:o.key=a?s.C0.ESC+\"[18;\"+(a+1)+\"~\":s.C0.ESC+\"[18~\";break;case 119:o.key=a?s.C0.ESC+\"[19;\"+(a+1)+\"~\":s.C0.ESC+\"[19~\";break;case 120:o.key=a?s.C0.ESC+\"[20;\"+(a+1)+\"~\":s.C0.ESC+\"[20~\";break;case 121:o.key=a?s.C0.ESC+\"[21;\"+(a+1)+\"~\":s.C0.ESC+\"[21~\";break;case 122:o.key=a?s.C0.ESC+\"[23;\"+(a+1)+\"~\":s.C0.ESC+\"[23~\";break;case 123:o.key=a?s.C0.ESC+\"[24;\"+(a+1)+\"~\":s.C0.ESC+\"[24~\";break;default:if(!e.ctrlKey||e.shiftKey||e.altKey||e.metaKey)if(i&&!n||!e.altKey||e.metaKey)!i||e.altKey||e.ctrlKey||e.shiftKey||!e.metaKey?e.key&&!e.ctrlKey&&!e.altKey&&!e.metaKey&&e.keyCode>=48&&1===e.key.length?o.key=e.key:e.key&&e.ctrlKey&&(\"_\"===e.key&&(o.key=s.C0.US),\"@\"===e.key&&(o.key=s.C0.NUL)):65===e.keyCode&&(o.type=1);else{const t=r[e.keyCode],i=t?.[e.shiftKey?1:0];if(i)o.key=s.C0.ESC+i;else if(e.keyCode>=65&&e.keyCode<=90){const t=e.ctrlKey?e.keyCode-64:e.keyCode+32;let i=String.fromCharCode(t);e.shiftKey&&(i=i.toUpperCase()),o.key=s.C0.ESC+i}else if(32===e.keyCode)o.key=s.C0.ESC+(e.ctrlKey?s.C0.NUL:\" \");else if(\"Dead\"===e.key&&e.code.startsWith(\"Key\")){let t=e.code.slice(3,4);e.shiftKey||(t=t.toLowerCase()),o.key=s.C0.ESC+t,o.cancel=!0}}else e.keyCode>=65&&e.keyCode<=90?o.key=String.fromCharCode(e.keyCode-64):32===e.keyCode?o.key=s.C0.NUL:e.keyCode>=51&&e.keyCode<=55?o.key=String.fromCharCode(e.keyCode-51+27):56===e.keyCode?o.key=s.C0.DEL:219===e.keyCode?o.key=s.C0.ESC:220===e.keyCode?o.key=s.C0.FS:221===e.keyCode&&(o.key=s.C0.GS)}return o}},482:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Utf8ToUtf32=t.StringToUtf32=t.utf32ToString=t.stringFromCodePoint=void 0,t.stringFromCodePoint=function(e){return e>65535?(e-=65536,String.fromCharCode(55296+(e>>10))+String.fromCharCode(e%1024+56320)):String.fromCharCode(e)},t.utf32ToString=function(e,t=0,i=e.length){let s=\"\";for(let r=t;r<i;++r){let t=e[r];t>65535?(t-=65536,s+=String.fromCharCode(55296+(t>>10))+String.fromCharCode(t%1024+56320)):s+=String.fromCharCode(t)}return s},t.StringToUtf32=class{constructor(){this._interim=0}clear(){this._interim=0}decode(e,t){const i=e.length;if(!i)return 0;let s=0,r=0;if(this._interim){const i=e.charCodeAt(r++);56320<=i&&i<=57343?t[s++]=1024*(this._interim-55296)+i-56320+65536:(t[s++]=this._interim,t[s++]=i),this._interim=0}for(let n=r;n<i;++n){const r=e.charCodeAt(n);if(55296<=r&&r<=56319){if(++n>=i)return this._interim=r,s;const o=e.charCodeAt(n);56320<=o&&o<=57343?t[s++]=1024*(r-55296)+o-56320+65536:(t[s++]=r,t[s++]=o)}else 65279!==r&&(t[s++]=r)}return s}},t.Utf8ToUtf32=class{constructor(){this.interim=new Uint8Array(3)}clear(){this.interim.fill(0)}decode(e,t){const i=e.length;if(!i)return 0;let s,r,n,o,a=0,h=0,c=0;if(this.interim[0]){let s=!1,r=this.interim[0];r&=192==(224&r)?31:224==(240&r)?15:7;let n,o=0;for(;(n=63&this.interim[++o])&&o<4;)r<<=6,r|=n;const h=192==(224&this.interim[0])?2:224==(240&this.interim[0])?3:4,l=h-o;for(;c<l;){if(c>=i)return 0;if(n=e[c++],128!=(192&n)){c--,s=!0;break}this.interim[o++]=n,r<<=6,r|=63&n}s||(2===h?r<128?c--:t[a++]=r:3===h?r<2048||r>=55296&&r<=57343||65279===r||(t[a++]=r):r<65536||r>1114111||(t[a++]=r)),this.interim.fill(0)}const l=i-4;let d=c;for(;d<i;){for(;!(!(d<l)||128&(s=e[d])||128&(r=e[d+1])||128&(n=e[d+2])||128&(o=e[d+3]));)t[a++]=s,t[a++]=r,t[a++]=n,t[a++]=o,d+=4;if(s=e[d++],s<128)t[a++]=s;else if(192==(224&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(h=(31&s)<<6|63&r,h<128){d--;continue}t[a++]=h}else if(224==(240&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(h=(15&s)<<12|(63&r)<<6|63&n,h<2048||h>=55296&&h<=57343||65279===h)continue;t[a++]=h}else if(240==(248&s)){if(d>=i)return this.interim[0]=s,a;if(r=e[d++],128!=(192&r)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,a;if(n=e[d++],128!=(192&n)){d--;continue}if(d>=i)return this.interim[0]=s,this.interim[1]=r,this.interim[2]=n,a;if(o=e[d++],128!=(192&o)){d--;continue}if(h=(7&s)<<18|(63&r)<<12|(63&n)<<6|63&o,h<65536||h>1114111)continue;t[a++]=h}}return a}}},225:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeV6=void 0;const s=i(1480),r=[[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]],n=[[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]];let o;t.UnicodeV6=class{constructor(){if(this.version=\"6\",!o){o=new Uint8Array(65536),o.fill(1),o[0]=0,o.fill(0,1,32),o.fill(0,127,160),o.fill(2,4352,4448),o[9001]=2,o[9002]=2,o.fill(2,11904,42192),o[12351]=1,o.fill(2,44032,55204),o.fill(2,63744,64256),o.fill(2,65040,65050),o.fill(2,65072,65136),o.fill(2,65280,65377),o.fill(2,65504,65511);for(let e=0;e<r.length;++e)o.fill(0,r[e][0],r[e][1]+1)}}wcwidth(e){return e<32?0:e<127?1:e<65536?o[e]:function(e,t){let i,s=0,r=t.length-1;if(e<t[0][0]||e>t[r][1])return!1;for(;r>=s;)if(i=s+r>>1,e>t[i][1])s=i+1;else{if(!(e<t[i][0]))return!0;r=i-1}return!1}(e,n)?0:e>=131072&&e<=196605||e>=196608&&e<=262141?2:1}charProperties(e,t){let i=this.wcwidth(e),r=0===i&&0!==t;if(r){const e=s.UnicodeService.extractWidth(t);0===e?r=!1:e>i&&(i=e)}return s.UnicodeService.createPropertyValue(0,i,r)}}},5981:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.WriteBuffer=void 0;const s=i(8460),r=i(844);class n extends r.Disposable{constructor(e){super(),this._action=e,this._writeBuffer=[],this._callbacks=[],this._pendingData=0,this._bufferOffset=0,this._isSyncWriting=!1,this._syncCalls=0,this._didUserInput=!1,this._onWriteParsed=this.register(new s.EventEmitter),this.onWriteParsed=this._onWriteParsed.event}handleUserInput(){this._didUserInput=!0}writeSync(e,t){if(void 0!==t&&this._syncCalls>t)return void(this._syncCalls=0);if(this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(void 0),this._syncCalls++,this._isSyncWriting)return;let i;for(this._isSyncWriting=!0;i=this._writeBuffer.shift();){this._action(i);const e=this._callbacks.shift();e&&e()}this._pendingData=0,this._bufferOffset=2147483647,this._isSyncWriting=!1,this._syncCalls=0}write(e,t){if(this._pendingData>5e7)throw new Error(\"write data discarded, use flow control to avoid losing data\");if(!this._writeBuffer.length){if(this._bufferOffset=0,this._didUserInput)return this._didUserInput=!1,this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t),void this._innerWrite();setTimeout((()=>this._innerWrite()))}this._pendingData+=e.length,this._writeBuffer.push(e),this._callbacks.push(t)}_innerWrite(e=0,t=!0){const i=e||Date.now();for(;this._writeBuffer.length>this._bufferOffset;){const e=this._writeBuffer[this._bufferOffset],s=this._action(e,t);if(s){const e=e=>Date.now()-i>=12?setTimeout((()=>this._innerWrite(0,e))):this._innerWrite(i,e);return void s.catch((e=>(queueMicrotask((()=>{throw e})),Promise.resolve(!1)))).then(e)}const r=this._callbacks[this._bufferOffset];if(r&&r(),this._bufferOffset++,this._pendingData-=e.length,Date.now()-i>=12)break}this._writeBuffer.length>this._bufferOffset?(this._bufferOffset>50&&(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()}}t.WriteBuffer=n},5941:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.toRgbString=t.parseColor=void 0;const i=/^([\\da-f])\\/([\\da-f])\\/([\\da-f])$|^([\\da-f]{2})\\/([\\da-f]{2})\\/([\\da-f]{2})$|^([\\da-f]{3})\\/([\\da-f]{3})\\/([\\da-f]{3})$|^([\\da-f]{4})\\/([\\da-f]{4})\\/([\\da-f]{4})$/,s=/^[\\da-f]+$/;function r(e,t){const i=e.toString(16),s=i.length<2?\"0\"+i:i;switch(t){case 4:return i[0];case 8:return s;case 12:return(s+s).slice(0,3);default:return s+s}}t.parseColor=function(e){if(!e)return;let t=e.toLowerCase();if(0===t.indexOf(\"rgb:\")){t=t.slice(4);const e=i.exec(t);if(e){const t=e[1]?15:e[4]?255:e[7]?4095:65535;return[Math.round(parseInt(e[1]||e[4]||e[7]||e[10],16)/t*255),Math.round(parseInt(e[2]||e[5]||e[8]||e[11],16)/t*255),Math.round(parseInt(e[3]||e[6]||e[9]||e[12],16)/t*255)]}}else if(0===t.indexOf(\"#\")&&(t=t.slice(1),s.exec(t)&&[3,6,9,12].includes(t.length))){const e=t.length/3,i=[0,0,0];for(let s=0;s<3;++s){const r=parseInt(t.slice(e*s,e*s+e),16);i[s]=1===e?r<<4:2===e?r:3===e?r>>4:r>>8}return i}},t.toRgbString=function(e,t=16){const[i,s,n]=e;return`rgb:${r(i,t)}/${r(s,t)}/${r(n,t)}`}},5770:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.PAYLOAD_LIMIT=void 0,t.PAYLOAD_LIMIT=1e7},6351:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DcsHandler=t.DcsParser=void 0;const s=i(482),r=i(8742),n=i(5770),o=[];t.DcsParser=class{constructor(){this._handlers=Object.create(null),this._active=o,this._ident=0,this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=o}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}reset(){if(this._active.length)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].unhook(!1);this._stack.paused=!1,this._active=o,this._ident=0}hook(e,t){if(this.reset(),this._ident=e,this._active=this._handlers[e]||o,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].hook(t);else this._handlerFb(this._ident,\"HOOK\",t)}put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._ident,\"PUT\",(0,s.utf32ToString)(e,t,i))}unhook(e,t=!0){if(this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].unhook(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].unhook(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._ident,\"UNHOOK\",e);this._active=o,this._ident=0}};const a=new r.Params;a.addParam(0),t.DcsHandler=class{constructor(e){this._handler=e,this._data=\"\",this._params=a,this._hitLimit=!1}hook(e){this._params=e.length>1||e.params[0]?e.clone():a,this._data=\"\",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,s.utf32ToString)(e,t,i),this._data.length>n.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))}unhook(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data,this._params),t instanceof Promise))return t.then((e=>(this._params=a,this._data=\"\",this._hitLimit=!1,e)));return this._params=a,this._data=\"\",this._hitLimit=!1,t}}},2015:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.EscapeSequenceParser=t.VT500_TRANSITION_TABLE=t.TransitionTable=void 0;const s=i(844),r=i(8742),n=i(6242),o=i(6351);class a{constructor(e){this.table=new Uint8Array(e)}setDefault(e,t){this.table.fill(e<<4|t)}add(e,t,i,s){this.table[t<<8|e]=i<<4|s}addMany(e,t,i,s){for(let r=0;r<e.length;r++)this.table[t<<8|e[r]]=i<<4|s}}t.TransitionTable=a;const h=160;t.VT500_TRANSITION_TABLE=function(){const e=new a(4095),t=Array.apply(null,Array(256)).map(((e,t)=>t)),i=(e,i)=>t.slice(e,i),s=i(32,127),r=i(0,24);r.push(25),r.push.apply(r,i(28,32));const n=i(0,14);let o;for(o in e.setDefault(1,0),e.addMany(s,0,2,0),n)e.addMany([24,26,153,154],o,3,0),e.addMany(i(128,144),o,3,0),e.addMany(i(144,152),o,3,0),e.add(156,o,0,0),e.add(27,o,11,1),e.add(157,o,4,8),e.addMany([152,158,159],o,0,7),e.add(155,o,11,3),e.add(144,o,11,9);return e.addMany(r,0,3,0),e.addMany(r,1,3,1),e.add(127,1,0,1),e.addMany(r,8,0,8),e.addMany(r,3,3,3),e.add(127,3,0,3),e.addMany(r,4,3,4),e.add(127,4,0,4),e.addMany(r,6,3,6),e.addMany(r,5,3,5),e.add(127,5,0,5),e.addMany(r,2,3,2),e.add(127,2,0,2),e.add(93,1,4,8),e.addMany(s,8,5,8),e.add(127,8,5,8),e.addMany([156,27,24,26,7],8,6,0),e.addMany(i(28,32),8,0,8),e.addMany([88,94,95],1,0,7),e.addMany(s,7,0,7),e.addMany(r,7,0,7),e.add(156,7,0,0),e.add(127,7,0,7),e.add(91,1,11,3),e.addMany(i(64,127),3,7,0),e.addMany(i(48,60),3,8,4),e.addMany([60,61,62,63],3,9,4),e.addMany(i(48,60),4,8,4),e.addMany(i(64,127),4,7,0),e.addMany([60,61,62,63],4,0,6),e.addMany(i(32,64),6,0,6),e.add(127,6,0,6),e.addMany(i(64,127),6,0,0),e.addMany(i(32,48),3,9,5),e.addMany(i(32,48),5,9,5),e.addMany(i(48,64),5,0,6),e.addMany(i(64,127),5,7,0),e.addMany(i(32,48),4,9,5),e.addMany(i(32,48),1,9,2),e.addMany(i(32,48),2,9,2),e.addMany(i(48,127),2,10,0),e.addMany(i(48,80),1,10,0),e.addMany(i(81,88),1,10,0),e.addMany([89,90,92],1,10,0),e.addMany(i(96,127),1,10,0),e.add(80,1,11,9),e.addMany(r,9,0,9),e.add(127,9,0,9),e.addMany(i(28,32),9,0,9),e.addMany(i(32,48),9,9,12),e.addMany(i(48,60),9,8,10),e.addMany([60,61,62,63],9,9,10),e.addMany(r,11,0,11),e.addMany(i(32,128),11,0,11),e.addMany(i(28,32),11,0,11),e.addMany(r,10,0,10),e.add(127,10,0,10),e.addMany(i(28,32),10,0,10),e.addMany(i(48,60),10,8,10),e.addMany([60,61,62,63],10,0,11),e.addMany(i(32,48),10,9,12),e.addMany(r,12,0,12),e.add(127,12,0,12),e.addMany(i(28,32),12,0,12),e.addMany(i(32,48),12,9,12),e.addMany(i(48,64),12,0,11),e.addMany(i(64,127),12,12,13),e.addMany(i(64,127),10,12,13),e.addMany(i(64,127),9,12,13),e.addMany(r,13,13,13),e.addMany(s,13,13,13),e.add(127,13,0,13),e.addMany([27,156,24,26],13,14,0),e.add(h,0,2,0),e.add(h,8,5,8),e.add(h,6,0,6),e.add(h,11,0,11),e.add(h,13,13,13),e}();class c extends s.Disposable{constructor(e=t.VT500_TRANSITION_TABLE){super(),this._transitions=e,this._parseStack={state:0,handlers:[],handlerPos:0,transition:0,chunkPos:0},this.initialState=0,this.currentState=this.initialState,this._params=new r.Params,this._params.addParam(0),this._collect=0,this.precedingJoinState=0,this._printHandlerFb=(e,t,i)=>{},this._executeHandlerFb=e=>{},this._csiHandlerFb=(e,t)=>{},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((0,s.toDisposable)((()=>{this._csiHandlers=Object.create(null),this._executeHandlers=Object.create(null),this._escHandlers=Object.create(null)}))),this._oscParser=this.register(new n.OscParser),this._dcsParser=this.register(new o.DcsParser),this._errorHandler=this._errorHandlerFb,this.registerEscHandler({final:\"\\\\\"},(()=>!0))}_identifier(e,t=[64,126]){let i=0;if(e.prefix){if(e.prefix.length>1)throw new Error(\"only one byte as prefix supported\");if(i=e.prefix.charCodeAt(0),i&&60>i||i>63)throw new Error(\"prefix must be in range 0x3c .. 0x3f\")}if(e.intermediates){if(e.intermediates.length>2)throw new Error(\"only two bytes as intermediates are supported\");for(let t=0;t<e.intermediates.length;++t){const s=e.intermediates.charCodeAt(t);if(32>s||s>47)throw new Error(\"intermediate must be in range 0x20 .. 0x2f\");i<<=8,i|=s}}if(1!==e.final.length)throw new Error(\"final must be a single byte\");const s=e.final.charCodeAt(0);if(t[0]>s||s>t[1])throw new Error(`final must be in range ${t[0]} .. ${t[1]}`);return i<<=8,i|=s,i}identToString(e){const t=[];for(;e;)t.push(String.fromCharCode(255&e)),e>>=8;return t.reverse().join(\"\")}setPrintHandler(e){this._printHandler=e}clearPrintHandler(){this._printHandler=this._printHandlerFb}registerEscHandler(e,t){const i=this._identifier(e,[48,126]);void 0===this._escHandlers[i]&&(this._escHandlers[i]=[]);const s=this._escHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearEscHandler(e){this._escHandlers[this._identifier(e,[48,126])]&&delete this._escHandlers[this._identifier(e,[48,126])]}setEscHandlerFallback(e){this._escHandlerFb=e}setExecuteHandler(e,t){this._executeHandlers[e.charCodeAt(0)]=t}clearExecuteHandler(e){this._executeHandlers[e.charCodeAt(0)]&&delete this._executeHandlers[e.charCodeAt(0)]}setExecuteHandlerFallback(e){this._executeHandlerFb=e}registerCsiHandler(e,t){const i=this._identifier(e);void 0===this._csiHandlers[i]&&(this._csiHandlers[i]=[]);const s=this._csiHandlers[i];return s.push(t),{dispose:()=>{const e=s.indexOf(t);-1!==e&&s.splice(e,1)}}}clearCsiHandler(e){this._csiHandlers[this._identifier(e)]&&delete this._csiHandlers[this._identifier(e)]}setCsiHandlerFallback(e){this._csiHandlerFb=e}registerDcsHandler(e,t){return this._dcsParser.registerHandler(this._identifier(e),t)}clearDcsHandler(e){this._dcsParser.clearHandler(this._identifier(e))}setDcsHandlerFallback(e){this._dcsParser.setHandlerFallback(e)}registerOscHandler(e,t){return this._oscParser.registerHandler(e,t)}clearOscHandler(e){this._oscParser.clearHandler(e)}setOscHandlerFallback(e){this._oscParser.setHandlerFallback(e)}setErrorHandler(e){this._errorHandler=e}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,0!==this._parseStack.state&&(this._parseStack.state=2,this._parseStack.handlers=[])}_preserveStack(e,t,i,s,r){this._parseStack.state=e,this._parseStack.handlers=t,this._parseStack.handlerPos=i,this._parseStack.transition=s,this._parseStack.chunkPos=r}parse(e,t,i){let s,r=0,n=0,o=0;if(this._parseStack.state)if(2===this._parseStack.state)this._parseStack.state=0,o=this._parseStack.chunkPos+1;else{if(void 0===i||1===this._parseStack.state)throw this._parseStack.state=1,new Error(\"improper continuation due to previous async handler, giving up parsing\");const t=this._parseStack.handlers;let n=this._parseStack.handlerPos-1;switch(this._parseStack.state){case 3:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](this._params),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 4:if(!1===i&&n>-1)for(;n>=0&&(s=t[n](),!0!==s);n--)if(s instanceof Promise)return this._parseStack.handlerPos=n,s;this._parseStack.handlers=[];break;case 6:if(r=e[this._parseStack.chunkPos],s=this._dcsParser.unhook(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0;break;case 5:if(r=e[this._parseStack.chunkPos],s=this._oscParser.end(24!==r&&26!==r,i),s)return s;27===r&&(this._parseStack.transition|=1),this._params.reset(),this._params.addParam(0),this._collect=0}this._parseStack.state=0,o=this._parseStack.chunkPos+1,this.precedingJoinState=0,this.currentState=15&this._parseStack.transition}for(let i=o;i<t;++i){switch(r=e[i],n=this._transitions.table[this.currentState<<8|(r<160?r:h)],n>>4){case 2:for(let s=i+1;;++s){if(s>=t||(r=e[s])<32||r>126&&r<h){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<h){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<h){this._printHandler(e,i,s),i=s-1;break}if(++s>=t||(r=e[s])<32||r>126&&r<h){this._printHandler(e,i,s),i=s-1;break}}break;case 3:this._executeHandlers[r]?this._executeHandlers[r]():this._executeHandlerFb(r),this.precedingJoinState=0;break;case 0:break;case 1:if(this._errorHandler({position:i,code:r,currentState:this.currentState,collect:this._collect,params:this._params,abort:!1}).abort)return;break;case 7:const o=this._csiHandlers[this._collect<<8|r];let a=o?o.length-1:-1;for(;a>=0&&(s=o[a](this._params),!0!==s);a--)if(s instanceof Promise)return this._preserveStack(3,o,a,n,i),s;a<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(++i<t&&(r=e[i])>47&&r<60);i--;break;case 9:this._collect<<=8,this._collect|=r;break;case 10:const c=this._escHandlers[this._collect<<8|r];let l=c?c.length-1:-1;for(;l>=0&&(s=c[l](),!0!==s);l--)if(s instanceof Promise)return this._preserveStack(4,c,l,n,i),s;l<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 s=i+1;;++s)if(s>=t||24===(r=e[s])||26===r||27===r||r>127&&r<h){this._dcsParser.put(e,i,s),i=s-1;break}break;case 14:if(s=this._dcsParser.unhook(24!==r&&26!==r),s)return this._preserveStack(6,[],0,n,i),s;27===r&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0;break;case 4:this._oscParser.start();break;case 5:for(let s=i+1;;s++)if(s>=t||(r=e[s])<32||r>127&&r<h){this._oscParser.put(e,i,s),i=s-1;break}break;case 6:if(s=this._oscParser.end(24!==r&&26!==r),s)return this._preserveStack(5,[],0,n,i),s;27===r&&(n|=1),this._params.reset(),this._params.addParam(0),this._collect=0,this.precedingJoinState=0}this.currentState=15&n}}}t.EscapeSequenceParser=c},6242:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscHandler=t.OscParser=void 0;const s=i(5770),r=i(482),n=[];t.OscParser=class{constructor(){this._state=0,this._active=n,this._id=-1,this._handlers=Object.create(null),this._handlerFb=()=>{},this._stack={paused:!1,loopPosition:0,fallThrough:!1}}registerHandler(e,t){void 0===this._handlers[e]&&(this._handlers[e]=[]);const i=this._handlers[e];return i.push(t),{dispose:()=>{const e=i.indexOf(t);-1!==e&&i.splice(e,1)}}}clearHandler(e){this._handlers[e]&&delete this._handlers[e]}setHandlerFallback(e){this._handlerFb=e}dispose(){this._handlers=Object.create(null),this._handlerFb=()=>{},this._active=n}reset(){if(2===this._state)for(let e=this._stack.paused?this._stack.loopPosition-1:this._active.length-1;e>=0;--e)this._active[e].end(!1);this._stack.paused=!1,this._active=n,this._id=-1,this._state=0}_start(){if(this._active=this._handlers[this._id]||n,this._active.length)for(let e=this._active.length-1;e>=0;e--)this._active[e].start();else this._handlerFb(this._id,\"START\")}_put(e,t,i){if(this._active.length)for(let s=this._active.length-1;s>=0;s--)this._active[s].put(e,t,i);else this._handlerFb(this._id,\"PUT\",(0,r.utf32ToString)(e,t,i))}start(){this.reset(),this._state=1}put(e,t,i){if(3!==this._state){if(1===this._state)for(;t<i;){const i=e[t++];if(59===i){this._state=2,this._start();break}if(i<48||57<i)return void(this._state=3);-1===this._id&&(this._id=0),this._id=10*this._id+i-48}2===this._state&&i-t>0&&this._put(e,t,i)}}end(e,t=!0){if(0!==this._state){if(3!==this._state)if(1===this._state&&this._start(),this._active.length){let i=!1,s=this._active.length-1,r=!1;if(this._stack.paused&&(s=this._stack.loopPosition-1,i=t,r=this._stack.fallThrough,this._stack.paused=!1),!r&&!1===i){for(;s>=0&&(i=this._active[s].end(e),!0!==i);s--)if(i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!1,i;s--}for(;s>=0;s--)if(i=this._active[s].end(!1),i instanceof Promise)return this._stack.paused=!0,this._stack.loopPosition=s,this._stack.fallThrough=!0,i}else this._handlerFb(this._id,\"END\",e);this._active=n,this._id=-1,this._state=0}}},t.OscHandler=class{constructor(e){this._handler=e,this._data=\"\",this._hitLimit=!1}start(){this._data=\"\",this._hitLimit=!1}put(e,t,i){this._hitLimit||(this._data+=(0,r.utf32ToString)(e,t,i),this._data.length>s.PAYLOAD_LIMIT&&(this._data=\"\",this._hitLimit=!0))}end(e){let t=!1;if(this._hitLimit)t=!1;else if(e&&(t=this._handler(this._data),t instanceof Promise))return t.then((e=>(this._data=\"\",this._hitLimit=!1,e)));return this._data=\"\",this._hitLimit=!1,t}}},8742:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.Params=void 0;const i=2147483647;class s{static fromArray(e){const t=new s;if(!e.length)return t;for(let i=Array.isArray(e[0])?1:0;i<e.length;++i){const s=e[i];if(Array.isArray(s))for(let e=0;e<s.length;++e)t.addSubParam(s[e]);else t.addParam(s)}return t}constructor(e=32,t=32){if(this.maxLength=e,this.maxSubParamsLength=t,t>256)throw new Error(\"maxSubParamsLength must not be greater than 256\");this.params=new Int32Array(e),this.length=0,this._subParams=new Int32Array(t),this._subParamsLength=0,this._subParamsIdx=new Uint16Array(e),this._rejectDigits=!1,this._rejectSubDigits=!1,this._digitIsSub=!1}clone(){const e=new s(this.maxLength,this.maxSubParamsLength);return e.params.set(this.params),e.length=this.length,e._subParams.set(this._subParams),e._subParamsLength=this._subParamsLength,e._subParamsIdx.set(this._subParamsIdx),e._rejectDigits=this._rejectDigits,e._rejectSubDigits=this._rejectSubDigits,e._digitIsSub=this._digitIsSub,e}toArray(){const e=[];for(let t=0;t<this.length;++t){e.push(this.params[t]);const i=this._subParamsIdx[t]>>8,s=255&this._subParamsIdx[t];s-i>0&&e.push(Array.prototype.slice.call(this._subParams,i,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;else{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>i?i:e}}addSubParam(e){if(this._digitIsSub=!0,this.length)if(this._rejectDigits||this._subParamsLength>=this.maxSubParamsLength)this._rejectSubDigits=!0;else{if(e<-1)throw new Error(\"values lesser than -1 are not allowed\");this._subParams[this._subParamsLength++]=e>i?i:e,this._subParamsIdx[this.length-1]++}}hasSubParams(e){return(255&this._subParamsIdx[e])-(this._subParamsIdx[e]>>8)>0}getSubParams(e){const t=this._subParamsIdx[e]>>8,i=255&this._subParamsIdx[e];return i-t>0?this._subParams.subarray(t,i):null}getSubParamsAll(){const e={};for(let t=0;t<this.length;++t){const i=this._subParamsIdx[t]>>8,s=255&this._subParamsIdx[t];s-i>0&&(e[t]=this._subParams.slice(i,s))}return e}addDigit(e){let t;if(this._rejectDigits||!(t=this._digitIsSub?this._subParamsLength:this.length)||this._digitIsSub&&this._rejectSubDigits)return;const s=this._digitIsSub?this._subParams:this.params,r=s[t-1];s[t-1]=~r?Math.min(10*r+e,i):e}}t.Params=s},5741:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.AddonManager=void 0,t.AddonManager=class{constructor(){this._addons=[]}dispose(){for(let e=this._addons.length-1;e>=0;e--)this._addons[e].instance.dispose()}loadAddon(e,t){const i={instance:t,dispose:t.dispose,isDisposed:!1};this._addons.push(i),t.dispose=()=>this._wrappedAddonDispose(i),t.activate(e)}_wrappedAddonDispose(e){if(e.isDisposed)return;let t=-1;for(let i=0;i<this._addons.length;i++)if(this._addons[i]===e){t=i;break}if(-1===t)throw new Error(\"Could not dispose an addon that has not been loaded\");e.isDisposed=!0,e.dispose.apply(e.instance),this._addons.splice(t,1)}}},8771:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferApiView=void 0;const s=i(3785),r=i(511);t.BufferApiView=class{constructor(e,t){this._buffer=e,this.type=t}init(e){return this._buffer=e,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(e){const t=this._buffer.lines.get(e);if(t)return new s.BufferLineApiView(t)}getNullCell(){return new r.CellData}}},3785:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferLineApiView=void 0;const s=i(511);t.BufferLineApiView=class{constructor(e){this._line=e}get isWrapped(){return this._line.isWrapped}get length(){return this._line.length}getCell(e,t){if(!(e<0||e>=this._line.length))return t?(this._line.loadCell(e,t),t):this._line.loadCell(e,new s.CellData)}translateToString(e,t,i){return this._line.translateToString(e,t,i)}}},8285:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferNamespaceApi=void 0;const s=i(8771),r=i(8460),n=i(844);class o extends n.Disposable{constructor(e){super(),this._core=e,this._onBufferChange=this.register(new r.EventEmitter),this.onBufferChange=this._onBufferChange.event,this._normal=new s.BufferApiView(this._core.buffers.normal,\"normal\"),this._alternate=new s.BufferApiView(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)}}t.BufferNamespaceApi=o},7975:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.ParserApi=void 0,t.ParserApi=class{constructor(e){this._core=e}registerCsiHandler(e,t){return this._core.registerCsiHandler(e,(e=>t(e.toArray())))}addCsiHandler(e,t){return this.registerCsiHandler(e,t)}registerDcsHandler(e,t){return this._core.registerDcsHandler(e,((e,i)=>t(e,i.toArray())))}addDcsHandler(e,t){return this.registerDcsHandler(e,t)}registerEscHandler(e,t){return this._core.registerEscHandler(e,t)}addEscHandler(e,t){return this.registerEscHandler(e,t)}registerOscHandler(e,t){return this._core.registerOscHandler(e,t)}addOscHandler(e,t){return this.registerOscHandler(e,t)}}},7090:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeApi=void 0,t.UnicodeApi=class{constructor(e){this._core=e}register(e){this._core.unicodeService.register(e)}get versions(){return this._core.unicodeService.versions}get activeVersion(){return this._core.unicodeService.activeVersion}set activeVersion(e){this._core.unicodeService.activeVersion=e}}},744:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.BufferService=t.MINIMUM_ROWS=t.MINIMUM_COLS=void 0;const n=i(8460),o=i(844),a=i(5295),h=i(2585);t.MINIMUM_COLS=2,t.MINIMUM_ROWS=1;let c=t.BufferService=class extends o.Disposable{get buffer(){return this.buffers.active}constructor(e){super(),this.isUserScrolling=!1,this._onResize=this.register(new n.EventEmitter),this.onResize=this._onResize.event,this._onScroll=this.register(new n.EventEmitter),this.onScroll=this._onScroll.event,this.cols=Math.max(e.rawOptions.cols||0,t.MINIMUM_COLS),this.rows=Math.max(e.rawOptions.rows||0,t.MINIMUM_ROWS),this.buffers=this.register(new a.BufferSet(e,this))}resize(e,t){this.cols=e,this.rows=t,this.buffers.resize(e,t),this._onResize.fire({cols:e,rows:t})}reset(){this.buffers.reset(),this.isUserScrolling=!1}scroll(e,t=!1){const i=this.buffer;let s;s=this._cachedBlankLine,s&&s.length===this.cols&&s.getFg(0)===e.fg&&s.getBg(0)===e.bg||(s=i.getBlankLine(e,t),this._cachedBlankLine=s),s.isWrapped=t;const r=i.ybase+i.scrollTop,n=i.ybase+i.scrollBottom;if(0===i.scrollTop){const e=i.lines.isFull;n===i.lines.length-1?e?i.lines.recycle().copyFrom(s):i.lines.push(s.clone()):i.lines.splice(n+1,0,s.clone()),e?this.isUserScrolling&&(i.ydisp=Math.max(i.ydisp-1,0)):(i.ybase++,this.isUserScrolling||i.ydisp++)}else{const e=n-r+1;i.lines.shiftElements(r+1,e-1,-1),i.lines.set(n,s.clone())}this.isUserScrolling||(i.ydisp=i.ybase),this._onScroll.fire(i.ydisp)}scrollLines(e,t,i){const s=this.buffer;if(e<0){if(0===s.ydisp)return;this.isUserScrolling=!0}else e+s.ydisp>=s.ybase&&(this.isUserScrolling=!1);const r=s.ydisp;s.ydisp=Math.max(Math.min(s.ydisp+e,s.ybase),0),r!==s.ydisp&&(t||this._onScroll.fire(s.ydisp))}};t.BufferService=c=s([r(0,h.IOptionsService)],c)},7994:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.CharsetService=void 0,t.CharsetService=class{constructor(){this.glevel=0,this._charsets=[]}reset(){this.charset=void 0,this._charsets=[],this.glevel=0}setgLevel(e){this.glevel=e,this.charset=this._charsets[e]}setgCharset(e,t){this._charsets[e]=t,this.glevel===e&&(this.charset=t)}}},1753:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreMouseService=void 0;const n=i(2585),o=i(8460),a=i(844),h={NONE:{events:0,restrict:()=>!1},X10:{events:1,restrict:e=>4!==e.button&&1===e.action&&(e.ctrl=!1,e.alt=!1,e.shift=!1,!0)},VT200:{events:19,restrict:e=>32!==e.action},DRAG:{events:23,restrict:e=>32!==e.action||3!==e.button},ANY:{events:31,restrict:e=>!0}};function c(e,t){let i=(e.ctrl?16:0)|(e.shift?4:0)|(e.alt?8:0);return 4===e.button?(i|=64,i|=e.action):(i|=3&e.button,4&e.button&&(i|=64),8&e.button&&(i|=128),32===e.action?i|=32:0!==e.action||t||(i|=3)),i}const l=String.fromCharCode,d={DEFAULT:e=>{const t=[c(e,!1)+32,e.col+32,e.row+32];return t[0]>255||t[1]>255||t[2]>255?\"\":`\u001b[M${l(t[0])}${l(t[1])}${l(t[2])}`},SGR:e=>{const t=0===e.action&&4!==e.button?\"m\":\"M\";return`\u001b[<${c(e,!0)};${e.col};${e.row}${t}`},SGR_PIXELS:e=>{const t=0===e.action&&4!==e.button?\"m\":\"M\";return`\u001b[<${c(e,!0)};${e.x};${e.y}${t}`}};let _=t.CoreMouseService=class extends a.Disposable{constructor(e,t){super(),this._bufferService=e,this._coreService=t,this._protocols={},this._encodings={},this._activeProtocol=\"\",this._activeEncoding=\"\",this._lastEvent=null,this._onProtocolChange=this.register(new o.EventEmitter),this.onProtocolChange=this._onProtocolChange.event;for(const e of Object.keys(h))this.addProtocol(e,h[e]);for(const e of Object.keys(d))this.addEncoding(e,d[e]);this.reset()}addProtocol(e,t){this._protocols[e]=t}addEncoding(e,t){this._encodings[e]=t}get activeProtocol(){return this._activeProtocol}get areMouseEventsActive(){return 0!==this._protocols[this._activeProtocol].events}set activeProtocol(e){if(!this._protocols[e])throw new Error(`unknown protocol \"${e}\"`);this._activeProtocol=e,this._onProtocolChange.fire(this._protocols[e].events)}get activeEncoding(){return this._activeEncoding}set activeEncoding(e){if(!this._encodings[e])throw new Error(`unknown encoding \"${e}\"`);this._activeEncoding=e}reset(){this.activeProtocol=\"NONE\",this.activeEncoding=\"DEFAULT\",this._lastEvent=null}triggerMouseEvent(e){if(e.col<0||e.col>=this._bufferService.cols||e.row<0||e.row>=this._bufferService.rows)return!1;if(4===e.button&&32===e.action)return!1;if(3===e.button&&32!==e.action)return!1;if(4!==e.button&&(2===e.action||3===e.action))return!1;if(e.col++,e.row++,32===e.action&&this._lastEvent&&this._equalEvents(this._lastEvent,e,\"SGR_PIXELS\"===this._activeEncoding))return!1;if(!this._protocols[this._activeProtocol].restrict(e))return!1;const t=this._encodings[this._activeEncoding](e);return t&&(\"DEFAULT\"===this._activeEncoding?this._coreService.triggerBinaryEvent(t):this._coreService.triggerDataEvent(t,!0)),this._lastEvent=e,!0}explainEvents(e){return{down:!!(1&e),up:!!(2&e),drag:!!(4&e),move:!!(8&e),wheel:!!(16&e)}}_equalEvents(e,t,i){if(i){if(e.x!==t.x)return!1;if(e.y!==t.y)return!1}else{if(e.col!==t.col)return!1;if(e.row!==t.row)return!1}return e.button===t.button&&e.action===t.action&&e.ctrl===t.ctrl&&e.alt===t.alt&&e.shift===t.shift}};t.CoreMouseService=_=s([r(0,n.IBufferService),r(1,n.ICoreService)],_)},6975:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.CoreService=void 0;const n=i(1439),o=i(8460),a=i(844),h=i(2585),c=Object.freeze({insertMode:!1}),l=Object.freeze({applicationCursorKeys:!1,applicationKeypad:!1,bracketedPasteMode:!1,origin:!1,reverseWraparound:!1,sendFocus:!1,wraparound:!0});let d=t.CoreService=class extends a.Disposable{constructor(e,t,i){super(),this._bufferService=e,this._logService=t,this._optionsService=i,this.isCursorInitialized=!1,this.isCursorHidden=!1,this._onData=this.register(new o.EventEmitter),this.onData=this._onData.event,this._onUserInput=this.register(new o.EventEmitter),this.onUserInput=this._onUserInput.event,this._onBinary=this.register(new o.EventEmitter),this.onBinary=this._onBinary.event,this._onRequestScrollToBottom=this.register(new o.EventEmitter),this.onRequestScrollToBottom=this._onRequestScrollToBottom.event,this.modes=(0,n.clone)(c),this.decPrivateModes=(0,n.clone)(l)}reset(){this.modes=(0,n.clone)(c),this.decPrivateModes=(0,n.clone)(l)}triggerDataEvent(e,t=!1){if(this._optionsService.rawOptions.disableStdin)return;const i=this._bufferService.buffer;t&&this._optionsService.rawOptions.scrollOnUserInput&&i.ybase!==i.ydisp&&this._onRequestScrollToBottom.fire(),t&&this._onUserInput.fire(),this._logService.debug(`sending data \"${e}\"`,(()=>e.split(\"\").map((e=>e.charCodeAt(0))))),this._onData.fire(e)}triggerBinaryEvent(e){this._optionsService.rawOptions.disableStdin||(this._logService.debug(`sending binary \"${e}\"`,(()=>e.split(\"\").map((e=>e.charCodeAt(0))))),this._onBinary.fire(e))}};t.CoreService=d=s([r(0,h.IBufferService),r(1,h.ILogService),r(2,h.IOptionsService)],d)},9074:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.DecorationService=void 0;const s=i(8055),r=i(8460),n=i(844),o=i(6106);let a=0,h=0;class c extends n.Disposable{get decorations(){return this._decorations.values()}constructor(){super(),this._decorations=new o.SortedList((e=>e?.marker.line)),this._onDecorationRegistered=this.register(new r.EventEmitter),this.onDecorationRegistered=this._onDecorationRegistered.event,this._onDecorationRemoved=this.register(new r.EventEmitter),this.onDecorationRemoved=this._onDecorationRemoved.event,this.register((0,n.toDisposable)((()=>this.reset())))}registerDecoration(e){if(e.marker.isDisposed)return;const t=new l(e);if(t){const e=t.marker.onDispose((()=>t.dispose()));t.onDispose((()=>{t&&(this._decorations.delete(t)&&this._onDecorationRemoved.fire(t),e.dispose())})),this._decorations.insert(t),this._onDecorationRegistered.fire(t)}return t}reset(){for(const e of this._decorations.values())e.dispose();this._decorations.clear()}*getDecorationsAtCell(e,t,i){let s=0,r=0;for(const n of this._decorations.getKeyIterator(t))s=n.options.x??0,r=s+(n.options.width??1),e>=s&&e<r&&(!i||(n.options.layer??\"bottom\")===i)&&(yield n)}forEachDecorationAtCell(e,t,i,s){this._decorations.forEachByKey(t,(t=>{a=t.options.x??0,h=a+(t.options.width??1),e>=a&&e<h&&(!i||(t.options.layer??\"bottom\")===i)&&s(t)}))}}t.DecorationService=c;class l extends n.Disposable{get isDisposed(){return this._isDisposed}get backgroundColorRGB(){return null===this._cachedBg&&(this.options.backgroundColor?this._cachedBg=s.css.toColor(this.options.backgroundColor):this._cachedBg=void 0),this._cachedBg}get foregroundColorRGB(){return null===this._cachedFg&&(this.options.foregroundColor?this._cachedFg=s.css.toColor(this.options.foregroundColor):this._cachedFg=void 0),this._cachedFg}constructor(e){super(),this.options=e,this.onRenderEmitter=this.register(new r.EventEmitter),this.onRender=this.onRenderEmitter.event,this._onDispose=this.register(new r.EventEmitter),this.onDispose=this._onDispose.event,this._cachedBg=null,this._cachedFg=null,this.marker=e.marker,this.options.overviewRulerOptions&&!this.options.overviewRulerOptions.position&&(this.options.overviewRulerOptions.position=\"full\")}dispose(){this._onDispose.fire(),super.dispose()}}},4348:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.InstantiationService=t.ServiceCollection=void 0;const s=i(2585),r=i(8343);class n{constructor(...e){this._entries=new Map;for(const[t,i]of e)this.set(t,i)}set(e,t){const i=this._entries.get(e);return this._entries.set(e,t),i}forEach(e){for(const[t,i]of this._entries.entries())e(t,i)}has(e){return this._entries.has(e)}get(e){return this._entries.get(e)}}t.ServiceCollection=n,t.InstantiationService=class{constructor(){this._services=new n,this._services.set(s.IInstantiationService,this)}setService(e,t){this._services.set(e,t)}getService(e){return this._services.get(e)}createInstance(e,...t){const i=(0,r.getServiceDependencies)(e).sort(((e,t)=>e.index-t.index)),s=[];for(const t of i){const i=this._services.get(t.id);if(!i)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`);s.push(i)}const n=i.length>0?i[0].index:t.length;if(t.length!==n)throw new Error(`[createInstance] First service dependency of ${e.name} at position ${n+1} conflicts with ${t.length} static arguments`);return new e(...[...t,...s])}}},7866:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.traceCall=t.setTraceLogger=t.LogService=void 0;const n=i(844),o=i(2585),a={trace:o.LogLevelEnum.TRACE,debug:o.LogLevelEnum.DEBUG,info:o.LogLevelEnum.INFO,warn:o.LogLevelEnum.WARN,error:o.LogLevelEnum.ERROR,off:o.LogLevelEnum.OFF};let h,c=t.LogService=class extends n.Disposable{get logLevel(){return this._logLevel}constructor(e){super(),this._optionsService=e,this._logLevel=o.LogLevelEnum.OFF,this._updateLogLevel(),this.register(this._optionsService.onSpecificOptionChange(\"logLevel\",(()=>this._updateLogLevel()))),h=this}_updateLogLevel(){this._logLevel=a[this._optionsService.rawOptions.logLevel]}_evalLazyOptionalParams(e){for(let t=0;t<e.length;t++)\"function\"==typeof e[t]&&(e[t]=e[t]())}_log(e,t,i){this._evalLazyOptionalParams(i),e.call(console,(this._optionsService.options.logger?\"\":\"xterm.js: \")+t,...i)}trace(e,...t){this._logLevel<=o.LogLevelEnum.TRACE&&this._log(this._optionsService.options.logger?.trace.bind(this._optionsService.options.logger)??console.log,e,t)}debug(e,...t){this._logLevel<=o.LogLevelEnum.DEBUG&&this._log(this._optionsService.options.logger?.debug.bind(this._optionsService.options.logger)??console.log,e,t)}info(e,...t){this._logLevel<=o.LogLevelEnum.INFO&&this._log(this._optionsService.options.logger?.info.bind(this._optionsService.options.logger)??console.info,e,t)}warn(e,...t){this._logLevel<=o.LogLevelEnum.WARN&&this._log(this._optionsService.options.logger?.warn.bind(this._optionsService.options.logger)??console.warn,e,t)}error(e,...t){this._logLevel<=o.LogLevelEnum.ERROR&&this._log(this._optionsService.options.logger?.error.bind(this._optionsService.options.logger)??console.error,e,t)}};t.LogService=c=s([r(0,o.IOptionsService)],c),t.setTraceLogger=function(e){h=e},t.traceCall=function(e,t,i){if(\"function\"!=typeof i.value)throw new Error(\"not supported\");const s=i.value;i.value=function(...e){if(h.logLevel!==o.LogLevelEnum.TRACE)return s.apply(this,e);h.trace(`GlyphRenderer#${s.name}(${e.map((e=>JSON.stringify(e))).join(\", \")})`);const t=s.apply(this,e);return h.trace(`GlyphRenderer#${s.name} return`,t),t}}},7302:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.OptionsService=t.DEFAULT_OPTIONS=void 0;const s=i(8460),r=i(844),n=i(6114);t.DEFAULT_OPTIONS={cols:80,rows:24,cursorBlink:!1,cursorStyle:\"block\",cursorWidth:1,cursorInactiveStyle:\"outline\",customGlyphs:!0,drawBoldTextInBrightColors:!0,documentOverride:null,fastScrollModifier:\"alt\",fastScrollSensitivity:5,fontFamily:\"courier-new, courier, monospace\",fontSize:15,fontWeight:\"normal\",fontWeightBold:\"bold\",ignoreBracketedPasteMode:!1,lineHeight:1,letterSpacing:0,linkHandler:null,logLevel:\"info\",logger:null,scrollback:1e3,scrollOnUserInput:!0,scrollSensitivity:1,screenReaderMode:!1,smoothScrollDuration:0,macOptionIsMeta:!1,macOptionClickForcesSelection:!1,minimumContrastRatio:1,disableStdin:!1,allowProposedApi:!1,allowTransparency:!1,tabStopWidth:8,theme:{},rescaleOverlappingGlyphs:!1,rightClickSelectsWord:n.isMac,windowOptions:{},windowsMode:!1,windowsPty:{},wordSeparator:\" ()[]{}',\\\"`\",altClickMovesCursor:!0,convertEol:!1,termName:\"xterm\",cancelEvents:!1,overviewRulerWidth:0};const o=[\"normal\",\"bold\",\"100\",\"200\",\"300\",\"400\",\"500\",\"600\",\"700\",\"800\",\"900\"];class a extends r.Disposable{constructor(e){super(),this._onOptionChange=this.register(new s.EventEmitter),this.onOptionChange=this._onOptionChange.event;const i={...t.DEFAULT_OPTIONS};for(const t in e)if(t in i)try{const s=e[t];i[t]=this._sanitizeAndValidateOption(t,s)}catch(e){console.error(e)}this.rawOptions=i,this.options={...i},this._setupOptions(),this.register((0,r.toDisposable)((()=>{this.rawOptions.linkHandler=null,this.rawOptions.documentOverride=null})))}onSpecificOptionChange(e,t){return this.onOptionChange((i=>{i===e&&t(this.rawOptions[e])}))}onMultipleOptionChange(e,t){return this.onOptionChange((i=>{-1!==e.indexOf(i)&&t()}))}_setupOptions(){const e=e=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key \"${e}\"`);return this.rawOptions[e]},i=(e,i)=>{if(!(e in t.DEFAULT_OPTIONS))throw new Error(`No option with key \"${e}\"`);i=this._sanitizeAndValidateOption(e,i),this.rawOptions[e]!==i&&(this.rawOptions[e]=i,this._onOptionChange.fire(e))};for(const t in this.rawOptions){const s={get:e.bind(this,t),set:i.bind(this,t)};Object.defineProperty(this.options,t,s)}}_sanitizeAndValidateOption(e,i){switch(e){case\"cursorStyle\":if(i||(i=t.DEFAULT_OPTIONS[e]),!function(e){return\"block\"===e||\"underline\"===e||\"bar\"===e}(i))throw new Error(`\"${i}\" is not a valid value for ${e}`);break;case\"wordSeparator\":i||(i=t.DEFAULT_OPTIONS[e]);break;case\"fontWeight\":case\"fontWeightBold\":if(\"number\"==typeof i&&1<=i&&i<=1e3)break;i=o.includes(i)?i:t.DEFAULT_OPTIONS[e];break;case\"cursorWidth\":i=Math.floor(i);case\"lineHeight\":case\"tabStopWidth\":if(i<1)throw new Error(`${e} cannot be less than 1, value: ${i}`);break;case\"minimumContrastRatio\":i=Math.max(1,Math.min(21,Math.round(10*i)/10));break;case\"scrollback\":if((i=Math.min(i,4294967295))<0)throw new Error(`${e} cannot be less than 0, value: ${i}`);break;case\"fastScrollSensitivity\":case\"scrollSensitivity\":if(i<=0)throw new Error(`${e} cannot be less than or equal to 0, value: ${i}`);break;case\"rows\":case\"cols\":if(!i&&0!==i)throw new Error(`${e} must be numeric, value: ${i}`);break;case\"windowsPty\":i=i??{}}return i}}t.OptionsService=a},2660:function(e,t,i){var s=this&&this.__decorate||function(e,t,i,s){var r,n=arguments.length,o=n<3?t:null===s?s=Object.getOwnPropertyDescriptor(t,i):s;if(\"object\"==typeof Reflect&&\"function\"==typeof Reflect.decorate)o=Reflect.decorate(e,t,i,s);else for(var a=e.length-1;a>=0;a--)(r=e[a])&&(o=(n<3?r(o):n>3?r(t,i,o):r(t,i))||o);return n>3&&o&&Object.defineProperty(t,i,o),o},r=this&&this.__param||function(e,t){return function(i,s){t(i,s,e)}};Object.defineProperty(t,\"__esModule\",{value:!0}),t.OscLinkService=void 0;const n=i(2585);let o=t.OscLinkService=class{constructor(e){this._bufferService=e,this._nextId=1,this._entriesWithId=new Map,this._dataByLinkId=new Map}registerLink(e){const t=this._bufferService.buffer;if(void 0===e.id){const i=t.addMarker(t.ybase+t.y),s={data:e,id:this._nextId++,lines:[i]};return i.onDispose((()=>this._removeMarkerFromLink(s,i))),this._dataByLinkId.set(s.id,s),s.id}const i=e,s=this._getEntryIdKey(i),r=this._entriesWithId.get(s);if(r)return this.addLineToLink(r.id,t.ybase+t.y),r.id;const n=t.addMarker(t.ybase+t.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(e,t){const i=this._dataByLinkId.get(e);if(i&&i.lines.every((e=>e.line!==t))){const e=this._bufferService.buffer.addMarker(t);i.lines.push(e),e.onDispose((()=>this._removeMarkerFromLink(i,e)))}}getLinkData(e){return this._dataByLinkId.get(e)?.data}_getEntryIdKey(e){return`${e.id};;${e.uri}`}_removeMarkerFromLink(e,t){const i=e.lines.indexOf(t);-1!==i&&(e.lines.splice(i,1),0===e.lines.length&&(void 0!==e.data.id&&this._entriesWithId.delete(e.key),this._dataByLinkId.delete(e.id)))}};t.OscLinkService=o=s([r(0,n.IBufferService)],o)},8343:(e,t)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.createDecorator=t.getServiceDependencies=t.serviceRegistry=void 0;const i=\"di$target\",s=\"di$dependencies\";t.serviceRegistry=new Map,t.getServiceDependencies=function(e){return e[s]||[]},t.createDecorator=function(e){if(t.serviceRegistry.has(e))return t.serviceRegistry.get(e);const r=function(e,t,n){if(3!==arguments.length)throw new Error(\"@IServiceName-decorator can only be used to decorate a parameter\");!function(e,t,r){t[i]===t?t[s].push({id:e,index:r}):(t[s]=[{id:e,index:r}],t[i]=t)}(r,e,n)};return r.toString=()=>e,t.serviceRegistry.set(e,r),r}},2585:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.IDecorationService=t.IUnicodeService=t.IOscLinkService=t.IOptionsService=t.ILogService=t.LogLevelEnum=t.IInstantiationService=t.ICharsetService=t.ICoreService=t.ICoreMouseService=t.IBufferService=void 0;const s=i(8343);var r;t.IBufferService=(0,s.createDecorator)(\"BufferService\"),t.ICoreMouseService=(0,s.createDecorator)(\"CoreMouseService\"),t.ICoreService=(0,s.createDecorator)(\"CoreService\"),t.ICharsetService=(0,s.createDecorator)(\"CharsetService\"),t.IInstantiationService=(0,s.createDecorator)(\"InstantiationService\"),function(e){e[e.TRACE=0]=\"TRACE\",e[e.DEBUG=1]=\"DEBUG\",e[e.INFO=2]=\"INFO\",e[e.WARN=3]=\"WARN\",e[e.ERROR=4]=\"ERROR\",e[e.OFF=5]=\"OFF\"}(r||(t.LogLevelEnum=r={})),t.ILogService=(0,s.createDecorator)(\"LogService\"),t.IOptionsService=(0,s.createDecorator)(\"OptionsService\"),t.IOscLinkService=(0,s.createDecorator)(\"OscLinkService\"),t.IUnicodeService=(0,s.createDecorator)(\"UnicodeService\"),t.IDecorationService=(0,s.createDecorator)(\"DecorationService\")},1480:(e,t,i)=>{Object.defineProperty(t,\"__esModule\",{value:!0}),t.UnicodeService=void 0;const s=i(8460),r=i(225);class n{static extractShouldJoin(e){return 0!=(1&e)}static extractWidth(e){return e>>1&3}static extractCharKind(e){return e>>3}static createPropertyValue(e,t,i=!1){return(16777215&e)<<3|(3&t)<<1|(i?1:0)}constructor(){this._providers=Object.create(null),this._active=\"\",this._onChange=new s.EventEmitter,this.onChange=this._onChange.event;const e=new r.UnicodeV6;this.register(e),this._active=e.version,this._activeProvider=e}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 t=0,i=0;const s=e.length;for(let r=0;r<s;++r){let o=e.charCodeAt(r);if(55296<=o&&o<=56319){if(++r>=s)return t+this.wcwidth(o);const i=e.charCodeAt(r);56320<=i&&i<=57343?o=1024*(o-55296)+i-56320+65536:t+=this.wcwidth(i)}const a=this.charProperties(o,i);let h=n.extractWidth(a);n.extractShouldJoin(a)&&(h-=n.extractWidth(i)),t+=h,i=a}return t}charProperties(e,t){return this._activeProvider.charProperties(e,t)}}t.UnicodeService=n}},t={};function i(s){var r=t[s];if(void 0!==r)return r.exports;var n=t[s]={exports:{}};return e[s].call(n.exports,n,n.exports,i),n.exports}var s={};return(()=>{var e=s;Object.defineProperty(e,\"__esModule\",{value:!0}),e.Terminal=void 0;const t=i(9042),r=i(3236),n=i(844),o=i(5741),a=i(8285),h=i(7975),c=i(7090),l=[\"cols\",\"rows\"];class d extends n.Disposable{constructor(e){super(),this._core=this.register(new r.Terminal(e)),this._addonManager=this.register(new o.AddonManager),this._publicOptions={...this._core.options};const t=e=>this._core.options[e],i=(e,t)=>{this._checkReadonlyOptions(e),this._core.options[e]=t};for(const e in this._core.options){const s={get:t.bind(this,e),set:i.bind(this,e)};Object.defineProperty(this._publicOptions,e,s)}}_checkReadonlyOptions(e){if(l.includes(e))throw new Error(`Option \"${e}\" 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 h.ParserApi(this._core)),this._parser}get unicode(){return this._checkProposedApi(),new c.UnicodeApi(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 a.BufferNamespaceApi(this._core))),this._buffer}get markers(){return this._checkProposedApi(),this._core.markers}get modes(){const e=this._core.coreService.decPrivateModes;let t=\"none\";switch(this._core.coreMouseService.activeProtocol){case\"X10\":t=\"x10\";break;case\"VT200\":t=\"vt200\";break;case\"DRAG\":t=\"drag\";break;case\"ANY\":t=\"any\"}return{applicationCursorKeysMode:e.applicationCursorKeys,applicationKeypadMode:e.applicationKeypad,bracketedPasteMode:e.bracketedPasteMode,insertMode:this._core.coreService.modes.insertMode,mouseTrackingMode:t,originMode:e.origin,reverseWraparoundMode:e.reverseWraparound,sendFocusMode:e.sendFocus,wraparoundMode:e.wraparound}}get options(){return this._publicOptions}set options(e){for(const t in e)this._publicOptions[t]=e[t]}blur(){this._core.blur()}focus(){this._core.focus()}input(e,t=!0){this._core.input(e,t)}resize(e,t){this._verifyIntegers(e,t),this._core.resize(e,t)}open(e){this._core.open(e)}attachCustomKeyEventHandler(e){this._core.attachCustomKeyEventHandler(e)}attachCustomWheelEventHandler(e){this._core.attachCustomWheelEventHandler(e)}registerLinkProvider(e){return this._core.registerLinkProvider(e)}registerCharacterJoiner(e){return this._checkProposedApi(),this._core.registerCharacterJoiner(e)}deregisterCharacterJoiner(e){this._checkProposedApi(),this._core.deregisterCharacterJoiner(e)}registerMarker(e=0){return this._verifyIntegers(e),this._core.registerMarker(e)}registerDecoration(e){return this._checkProposedApi(),this._verifyPositiveIntegers(e.x??0,e.width??0,e.height??0),this._core.registerDecoration(e)}hasSelection(){return this._core.hasSelection()}select(e,t,i){this._verifyIntegers(e,t,i),this._core.select(e,t,i)}getSelection(){return this._core.getSelection()}getSelectionPosition(){return this._core.getSelectionPosition()}clearSelection(){this._core.clearSelection()}selectAll(){this._core.selectAll()}selectLines(e,t){this._verifyIntegers(e,t),this._core.selectLines(e,t)}dispose(){super.dispose()}scrollLines(e){this._verifyIntegers(e),this._core.scrollLines(e)}scrollPages(e){this._verifyIntegers(e),this._core.scrollPages(e)}scrollToTop(){this._core.scrollToTop()}scrollToBottom(){this._core.scrollToBottom()}scrollToLine(e){this._verifyIntegers(e),this._core.scrollToLine(e)}clear(){this._core.clear()}write(e,t){this._core.write(e,t)}writeln(e,t){this._core.write(e),this._core.write(\"\\r\\n\",t)}paste(e){this._core.paste(e)}refresh(e,t){this._verifyIntegers(e,t),this._core.refresh(e,t)}reset(){this._core.reset()}clearTextureAtlas(){this._core.clearTextureAtlas()}loadAddon(e){this._addonManager.loadAddon(this,e)}static get strings(){return t}_verifyIntegers(...e){for(const t of e)if(t===1/0||isNaN(t)||t%1!=0)throw new Error(\"This API only accepts integers\")}_verifyPositiveIntegers(...e){for(const t of e)if(t&&(t===1/0||isNaN(t)||t%1!=0||t<0))throw new Error(\"This API only accepts positive integers\")}}e.Terminal=d})(),s})()));\n//# sourceMappingURL=xterm.js.map","// src/primitive.tsx\nvar canUseDOM = !!(typeof window !== \"undefined\" && window.document && window.document.createElement);\nfunction composeEventHandlers(originalEventHandler, ourEventHandler, { checkForDefaultPrevented = true } = {}) {\n return function handleEvent(event) {\n originalEventHandler?.(event);\n if (checkForDefaultPrevented === false || !event.defaultPrevented) {\n return ourEventHandler?.(event);\n }\n };\n}\nfunction getOwnerWindow(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access window outside of the DOM\");\n }\n return element?.ownerDocument?.defaultView ?? window;\n}\nfunction getOwnerDocument(element) {\n if (!canUseDOM) {\n throw new Error(\"Cannot access document outside of the DOM\");\n }\n return element?.ownerDocument ?? document;\n}\nfunction getActiveElement(node, activeDescendant = false) {\n const { activeElement } = getOwnerDocument(node);\n if (!activeElement?.nodeName) {\n return null;\n }\n if (isFrame(activeElement) && activeElement.contentDocument) {\n return getActiveElement(activeElement.contentDocument.body, activeDescendant);\n }\n if (activeDescendant) {\n const id = activeElement.getAttribute(\"aria-activedescendant\");\n if (id) {\n const element = getOwnerDocument(activeElement).getElementById(id);\n if (element) {\n return element;\n }\n }\n }\n return activeElement;\n}\nfunction isFrame(element) {\n return element.tagName === \"IFRAME\";\n}\nexport {\n canUseDOM,\n composeEventHandlers,\n getActiveElement,\n getOwnerDocument,\n getOwnerWindow,\n isFrame\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/compose-refs/src/compose-refs.tsx\nimport * as React from \"react\";\nfunction setRef(ref, value) {\n if (typeof ref === \"function\") {\n return ref(value);\n } else if (ref !== null && ref !== void 0) {\n ref.current = value;\n }\n}\nfunction composeRefs(...refs) {\n return (node) => {\n let hasCleanup = false;\n const cleanups = refs.map((ref) => {\n const cleanup = setRef(ref, node);\n if (!hasCleanup && typeof cleanup == \"function\") {\n hasCleanup = true;\n }\n return cleanup;\n });\n if (hasCleanup) {\n return () => {\n for (let i = 0; i < cleanups.length; i++) {\n const cleanup = cleanups[i];\n if (typeof cleanup == \"function\") {\n cleanup();\n } else {\n setRef(refs[i], null);\n }\n }\n };\n }\n };\n}\nfunction useComposedRefs(...refs) {\n return React.useCallback(composeRefs(...refs), refs);\n}\nexport {\n composeRefs,\n useComposedRefs\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/context/src/create-context.tsx\nimport * as React from \"react\";\nimport { jsx } from \"react/jsx-runtime\";\nfunction createContext2(rootComponentName, defaultContext) {\n const Context = React.createContext(defaultContext);\n const Provider = (props) => {\n const { children, ...context } = props;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName) {\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n}\nfunction createContextScope(scopeName, createContextScopeDeps = []) {\n let defaultContexts = [];\n function createContext3(rootComponentName, defaultContext) {\n const BaseContext = React.createContext(defaultContext);\n const index = defaultContexts.length;\n defaultContexts = [...defaultContexts, defaultContext];\n const Provider = (props) => {\n const { scope, children, ...context } = props;\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const value = React.useMemo(() => context, Object.values(context));\n return /* @__PURE__ */ jsx(Context.Provider, { value, children });\n };\n Provider.displayName = rootComponentName + \"Provider\";\n function useContext2(consumerName, scope) {\n const Context = scope?.[scopeName]?.[index] || BaseContext;\n const context = React.useContext(Context);\n if (context) return context;\n if (defaultContext !== void 0) return defaultContext;\n throw new Error(`\\`${consumerName}\\` must be used within \\`${rootComponentName}\\``);\n }\n return [Provider, useContext2];\n }\n const createScope = () => {\n const scopeContexts = defaultContexts.map((defaultContext) => {\n return React.createContext(defaultContext);\n });\n return function useScope(scope) {\n const contexts = scope?.[scopeName] || scopeContexts;\n return React.useMemo(\n () => ({ [`__scope${scopeName}`]: { ...scope, [scopeName]: contexts } }),\n [scope, contexts]\n );\n };\n };\n createScope.scopeName = scopeName;\n return [createContext3, composeContextScopes(createScope, ...createContextScopeDeps)];\n}\nfunction composeContextScopes(...scopes) {\n const baseScope = scopes[0];\n if (scopes.length === 1) return baseScope;\n const createScope = () => {\n const scopeHooks = scopes.map((createScope2) => ({\n useScope: createScope2(),\n scopeName: createScope2.scopeName\n }));\n return function useComposedScopes(overrideScopes) {\n const nextScopes = scopeHooks.reduce((nextScopes2, { useScope, scopeName }) => {\n const scopeProps = useScope(overrideScopes);\n const currentScope = scopeProps[`__scope${scopeName}`];\n return { ...nextScopes2, ...currentScope };\n }, {});\n return React.useMemo(() => ({ [`__scope${baseScope.scopeName}`]: nextScopes }), [nextScopes]);\n };\n };\n createScope.scopeName = baseScope.scopeName;\n return createScope;\n}\nexport {\n createContext2 as createContext,\n createContextScope\n};\n//# sourceMappingURL=index.mjs.map\n","// src/slot.tsx\nimport * as React from \"react\";\nimport { composeRefs } from \"@radix-ui/react-compose-refs\";\nimport { Fragment as Fragment2, jsx } from \"react/jsx-runtime\";\n// @__NO_SIDE_EFFECTS__\nfunction createSlot(ownerName) {\n const SlotClone = /* @__PURE__ */ createSlotClone(ownerName);\n const Slot2 = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n const childrenArray = React.Children.toArray(children);\n const slottable = childrenArray.find(isSlottable);\n if (slottable) {\n const newElement = slottable.props.children;\n const newChildren = childrenArray.map((child) => {\n if (child === slottable) {\n if (React.Children.count(newElement) > 1) return React.Children.only(null);\n return React.isValidElement(newElement) ? newElement.props.children : null;\n } else {\n return child;\n }\n });\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children: React.isValidElement(newElement) ? React.cloneElement(newElement, void 0, newChildren) : null });\n }\n return /* @__PURE__ */ jsx(SlotClone, { ...slotProps, ref: forwardedRef, children });\n });\n Slot2.displayName = `${ownerName}.Slot`;\n return Slot2;\n}\nvar Slot = /* @__PURE__ */ createSlot(\"Slot\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlotClone(ownerName) {\n const SlotClone = React.forwardRef((props, forwardedRef) => {\n const { children, ...slotProps } = props;\n if (React.isValidElement(children)) {\n const childrenRef = getElementRef(children);\n const props2 = mergeProps(slotProps, children.props);\n if (children.type !== React.Fragment) {\n props2.ref = forwardedRef ? composeRefs(forwardedRef, childrenRef) : childrenRef;\n }\n return React.cloneElement(children, props2);\n }\n return React.Children.count(children) > 1 ? React.Children.only(null) : null;\n });\n SlotClone.displayName = `${ownerName}.SlotClone`;\n return SlotClone;\n}\nvar SLOTTABLE_IDENTIFIER = Symbol(\"radix.slottable\");\n// @__NO_SIDE_EFFECTS__\nfunction createSlottable(ownerName) {\n const Slottable2 = ({ children }) => {\n return /* @__PURE__ */ jsx(Fragment2, { children });\n };\n Slottable2.displayName = `${ownerName}.Slottable`;\n Slottable2.__radixId = SLOTTABLE_IDENTIFIER;\n return Slottable2;\n}\nvar Slottable = /* @__PURE__ */ createSlottable(\"Slottable\");\nfunction isSlottable(child) {\n return React.isValidElement(child) && typeof child.type === \"function\" && \"__radixId\" in child.type && child.type.__radixId === SLOTTABLE_IDENTIFIER;\n}\nfunction mergeProps(slotProps, childProps) {\n const overrideProps = { ...childProps };\n for (const propName in childProps) {\n const slotPropValue = slotProps[propName];\n const childPropValue = childProps[propName];\n const isHandler = /^on[A-Z]/.test(propName);\n if (isHandler) {\n if (slotPropValue && childPropValue) {\n overrideProps[propName] = (...args) => {\n const result = childPropValue(...args);\n slotPropValue(...args);\n return result;\n };\n } else if (slotPropValue) {\n overrideProps[propName] = slotPropValue;\n }\n } else if (propName === \"style\") {\n overrideProps[propName] = { ...slotPropValue, ...childPropValue };\n } else if (propName === \"className\") {\n overrideProps[propName] = [slotPropValue, childPropValue].filter(Boolean).join(\" \");\n }\n }\n return { ...slotProps, ...overrideProps };\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nexport {\n Slot as Root,\n Slot,\n Slottable,\n createSlot,\n createSlottable\n};\n//# sourceMappingURL=index.mjs.map\n","// src/primitive.tsx\nimport * as React from \"react\";\nimport * as ReactDOM from \"react-dom\";\nimport { createSlot } from \"@radix-ui/react-slot\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NODES = [\n \"a\",\n \"button\",\n \"div\",\n \"form\",\n \"h2\",\n \"h3\",\n \"img\",\n \"input\",\n \"label\",\n \"li\",\n \"nav\",\n \"ol\",\n \"p\",\n \"select\",\n \"span\",\n \"svg\",\n \"ul\"\n];\nvar Primitive = NODES.reduce((primitive, node) => {\n const Slot = createSlot(`Primitive.${node}`);\n const Node = React.forwardRef((props, forwardedRef) => {\n const { asChild, ...primitiveProps } = props;\n const Comp = asChild ? Slot : node;\n if (typeof window !== \"undefined\") {\n window[Symbol.for(\"radix-ui\")] = true;\n }\n return /* @__PURE__ */ jsx(Comp, { ...primitiveProps, ref: forwardedRef });\n });\n Node.displayName = `Primitive.${node}`;\n return { ...primitive, [node]: Node };\n}, {});\nfunction dispatchDiscreteCustomEvent(target, event) {\n if (target) ReactDOM.flushSync(() => target.dispatchEvent(event));\n}\nvar Root = Primitive;\nexport {\n Primitive,\n Root,\n dispatchDiscreteCustomEvent\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-callback-ref/src/use-callback-ref.tsx\nimport * as React from \"react\";\nfunction useCallbackRef(callback) {\n const callbackRef = React.useRef(callback);\n React.useEffect(() => {\n callbackRef.current = callback;\n });\n return React.useMemo(() => (...args) => callbackRef.current?.(...args), []);\n}\nexport {\n useCallbackRef\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-escape-keydown/src/use-escape-keydown.tsx\nimport * as React from \"react\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nfunction useEscapeKeydown(onEscapeKeyDownProp, ownerDocument = globalThis?.document) {\n const onEscapeKeyDown = useCallbackRef(onEscapeKeyDownProp);\n React.useEffect(() => {\n const handleKeyDown = (event) => {\n if (event.key === \"Escape\") {\n onEscapeKeyDown(event);\n }\n };\n ownerDocument.addEventListener(\"keydown\", handleKeyDown, { capture: true });\n return () => ownerDocument.removeEventListener(\"keydown\", handleKeyDown, { capture: true });\n }, [onEscapeKeyDown, ownerDocument]);\n}\nexport {\n useEscapeKeydown\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/dismissable-layer.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { Primitive, dispatchDiscreteCustomEvent } from \"@radix-ui/react-primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useEscapeKeydown } from \"@radix-ui/react-use-escape-keydown\";\nimport { jsx } from \"react/jsx-runtime\";\nvar DISMISSABLE_LAYER_NAME = \"DismissableLayer\";\nvar CONTEXT_UPDATE = \"dismissableLayer.update\";\nvar POINTER_DOWN_OUTSIDE = \"dismissableLayer.pointerDownOutside\";\nvar FOCUS_OUTSIDE = \"dismissableLayer.focusOutside\";\nvar originalBodyPointerEvents;\nvar DismissableLayerContext = React.createContext({\n layers: /* @__PURE__ */ new Set(),\n layersWithOutsidePointerEventsDisabled: /* @__PURE__ */ new Set(),\n branches: /* @__PURE__ */ new Set()\n});\nvar DismissableLayer = React.forwardRef(\n (props, forwardedRef) => {\n const {\n disableOutsidePointerEvents = false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside,\n onInteractOutside,\n onDismiss,\n ...layerProps\n } = props;\n const context = React.useContext(DismissableLayerContext);\n const [node, setNode] = React.useState(null);\n const ownerDocument = node?.ownerDocument ?? globalThis?.document;\n const [, force] = React.useState({});\n const composedRefs = useComposedRefs(forwardedRef, (node2) => setNode(node2));\n const layers = Array.from(context.layers);\n const [highestLayerWithOutsidePointerEventsDisabled] = [...context.layersWithOutsidePointerEventsDisabled].slice(-1);\n const highestLayerWithOutsidePointerEventsDisabledIndex = layers.indexOf(highestLayerWithOutsidePointerEventsDisabled);\n const index = node ? layers.indexOf(node) : -1;\n const isBodyPointerEventsDisabled = context.layersWithOutsidePointerEventsDisabled.size > 0;\n const isPointerEventsEnabled = index >= highestLayerWithOutsidePointerEventsDisabledIndex;\n const pointerDownOutside = usePointerDownOutside((event) => {\n const target = event.target;\n const isPointerDownOnBranch = [...context.branches].some((branch) => branch.contains(target));\n if (!isPointerEventsEnabled || isPointerDownOnBranch) return;\n onPointerDownOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n const focusOutside = useFocusOutside((event) => {\n const target = event.target;\n const isFocusInBranch = [...context.branches].some((branch) => branch.contains(target));\n if (isFocusInBranch) return;\n onFocusOutside?.(event);\n onInteractOutside?.(event);\n if (!event.defaultPrevented) onDismiss?.();\n }, ownerDocument);\n useEscapeKeydown((event) => {\n const isHighestLayer = index === context.layers.size - 1;\n if (!isHighestLayer) return;\n onEscapeKeyDown?.(event);\n if (!event.defaultPrevented && onDismiss) {\n event.preventDefault();\n onDismiss();\n }\n }, ownerDocument);\n React.useEffect(() => {\n if (!node) return;\n if (disableOutsidePointerEvents) {\n if (context.layersWithOutsidePointerEventsDisabled.size === 0) {\n originalBodyPointerEvents = ownerDocument.body.style.pointerEvents;\n ownerDocument.body.style.pointerEvents = \"none\";\n }\n context.layersWithOutsidePointerEventsDisabled.add(node);\n }\n context.layers.add(node);\n dispatchUpdate();\n return () => {\n if (disableOutsidePointerEvents && context.layersWithOutsidePointerEventsDisabled.size === 1) {\n ownerDocument.body.style.pointerEvents = originalBodyPointerEvents;\n }\n };\n }, [node, ownerDocument, disableOutsidePointerEvents, context]);\n React.useEffect(() => {\n return () => {\n if (!node) return;\n context.layers.delete(node);\n context.layersWithOutsidePointerEventsDisabled.delete(node);\n dispatchUpdate();\n };\n }, [node, context]);\n React.useEffect(() => {\n const handleUpdate = () => force({});\n document.addEventListener(CONTEXT_UPDATE, handleUpdate);\n return () => document.removeEventListener(CONTEXT_UPDATE, handleUpdate);\n }, []);\n return /* @__PURE__ */ jsx(\n Primitive.div,\n {\n ...layerProps,\n ref: composedRefs,\n style: {\n pointerEvents: isBodyPointerEventsDisabled ? isPointerEventsEnabled ? \"auto\" : \"none\" : void 0,\n ...props.style\n },\n onFocusCapture: composeEventHandlers(props.onFocusCapture, focusOutside.onFocusCapture),\n onBlurCapture: composeEventHandlers(props.onBlurCapture, focusOutside.onBlurCapture),\n onPointerDownCapture: composeEventHandlers(\n props.onPointerDownCapture,\n pointerDownOutside.onPointerDownCapture\n )\n }\n );\n }\n);\nDismissableLayer.displayName = DISMISSABLE_LAYER_NAME;\nvar BRANCH_NAME = \"DismissableLayerBranch\";\nvar DismissableLayerBranch = React.forwardRef((props, forwardedRef) => {\n const context = React.useContext(DismissableLayerContext);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n React.useEffect(() => {\n const node = ref.current;\n if (node) {\n context.branches.add(node);\n return () => {\n context.branches.delete(node);\n };\n }\n }, [context.branches]);\n return /* @__PURE__ */ jsx(Primitive.div, { ...props, ref: composedRefs });\n});\nDismissableLayerBranch.displayName = BRANCH_NAME;\nfunction usePointerDownOutside(onPointerDownOutside, ownerDocument = globalThis?.document) {\n const handlePointerDownOutside = useCallbackRef(onPointerDownOutside);\n const isPointerInsideReactTreeRef = React.useRef(false);\n const handleClickRef = React.useRef(() => {\n });\n React.useEffect(() => {\n const handlePointerDown = (event) => {\n if (event.target && !isPointerInsideReactTreeRef.current) {\n let handleAndDispatchPointerDownOutsideEvent2 = function() {\n handleAndDispatchCustomEvent(\n POINTER_DOWN_OUTSIDE,\n handlePointerDownOutside,\n eventDetail,\n { discrete: true }\n );\n };\n var handleAndDispatchPointerDownOutsideEvent = handleAndDispatchPointerDownOutsideEvent2;\n const eventDetail = { originalEvent: event };\n if (event.pointerType === \"touch\") {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n handleClickRef.current = handleAndDispatchPointerDownOutsideEvent2;\n ownerDocument.addEventListener(\"click\", handleClickRef.current, { once: true });\n } else {\n handleAndDispatchPointerDownOutsideEvent2();\n }\n } else {\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n }\n isPointerInsideReactTreeRef.current = false;\n };\n const timerId = window.setTimeout(() => {\n ownerDocument.addEventListener(\"pointerdown\", handlePointerDown);\n }, 0);\n return () => {\n window.clearTimeout(timerId);\n ownerDocument.removeEventListener(\"pointerdown\", handlePointerDown);\n ownerDocument.removeEventListener(\"click\", handleClickRef.current);\n };\n }, [ownerDocument, handlePointerDownOutside]);\n return {\n // ensures we check React component tree (not just DOM tree)\n onPointerDownCapture: () => isPointerInsideReactTreeRef.current = true\n };\n}\nfunction useFocusOutside(onFocusOutside, ownerDocument = globalThis?.document) {\n const handleFocusOutside = useCallbackRef(onFocusOutside);\n const isFocusInsideReactTreeRef = React.useRef(false);\n React.useEffect(() => {\n const handleFocus = (event) => {\n if (event.target && !isFocusInsideReactTreeRef.current) {\n const eventDetail = { originalEvent: event };\n handleAndDispatchCustomEvent(FOCUS_OUTSIDE, handleFocusOutside, eventDetail, {\n discrete: false\n });\n }\n };\n ownerDocument.addEventListener(\"focusin\", handleFocus);\n return () => ownerDocument.removeEventListener(\"focusin\", handleFocus);\n }, [ownerDocument, handleFocusOutside]);\n return {\n onFocusCapture: () => isFocusInsideReactTreeRef.current = true,\n onBlurCapture: () => isFocusInsideReactTreeRef.current = false\n };\n}\nfunction dispatchUpdate() {\n const event = new CustomEvent(CONTEXT_UPDATE);\n document.dispatchEvent(event);\n}\nfunction handleAndDispatchCustomEvent(name, handler, detail, { discrete }) {\n const target = detail.originalEvent.target;\n const event = new CustomEvent(name, { bubbles: false, cancelable: true, detail });\n if (handler) target.addEventListener(name, handler, { once: true });\n if (discrete) {\n dispatchDiscreteCustomEvent(target, event);\n } else {\n target.dispatchEvent(event);\n }\n}\nvar Root = DismissableLayer;\nvar Branch = DismissableLayerBranch;\nexport {\n Branch,\n DismissableLayer,\n DismissableLayerBranch,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-layout-effect/src/use-layout-effect.tsx\nimport * as React from \"react\";\nvar useLayoutEffect2 = globalThis?.document ? React.useLayoutEffect : () => {\n};\nexport {\n useLayoutEffect2 as useLayoutEffect\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/id/src/id.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useReactId = React[\" useId \".trim().toString()] || (() => void 0);\nvar count = 0;\nfunction useId(deterministicId) {\n const [id, setId] = React.useState(useReactId());\n useLayoutEffect(() => {\n if (!deterministicId) setId((reactId) => reactId ?? String(count++));\n }, [deterministicId]);\n return deterministicId || (id ? `radix-${id}` : \"\");\n}\nexport {\n useId\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * Custom positioning reference element.\n * @see https://floating-ui.com/docs/virtual-elements\n */\n\nconst sides = ['top', 'right', 'bottom', 'left'];\nconst alignments = ['start', 'end'];\nconst placements = /*#__PURE__*/sides.reduce((acc, side) => acc.concat(side, side + \"-\" + alignments[0], side + \"-\" + alignments[1]), []);\nconst min = Math.min;\nconst max = Math.max;\nconst round = Math.round;\nconst floor = Math.floor;\nconst createCoords = v => ({\n x: v,\n y: v\n});\nconst oppositeSideMap = {\n left: 'right',\n right: 'left',\n bottom: 'top',\n top: 'bottom'\n};\nconst oppositeAlignmentMap = {\n start: 'end',\n end: 'start'\n};\nfunction clamp(start, value, end) {\n return max(start, min(value, end));\n}\nfunction evaluate(value, param) {\n return typeof value === 'function' ? value(param) : value;\n}\nfunction getSide(placement) {\n return placement.split('-')[0];\n}\nfunction getAlignment(placement) {\n return placement.split('-')[1];\n}\nfunction getOppositeAxis(axis) {\n return axis === 'x' ? 'y' : 'x';\n}\nfunction getAxisLength(axis) {\n return axis === 'y' ? 'height' : 'width';\n}\nconst yAxisSides = /*#__PURE__*/new Set(['top', 'bottom']);\nfunction getSideAxis(placement) {\n return yAxisSides.has(getSide(placement)) ? 'y' : 'x';\n}\nfunction getAlignmentAxis(placement) {\n return getOppositeAxis(getSideAxis(placement));\n}\nfunction getAlignmentSides(placement, rects, rtl) {\n if (rtl === void 0) {\n rtl = false;\n }\n const alignment = getAlignment(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const length = getAxisLength(alignmentAxis);\n let mainAlignmentSide = alignmentAxis === 'x' ? alignment === (rtl ? 'end' : 'start') ? 'right' : 'left' : alignment === 'start' ? 'bottom' : 'top';\n if (rects.reference[length] > rects.floating[length]) {\n mainAlignmentSide = getOppositePlacement(mainAlignmentSide);\n }\n return [mainAlignmentSide, getOppositePlacement(mainAlignmentSide)];\n}\nfunction getExpandedPlacements(placement) {\n const oppositePlacement = getOppositePlacement(placement);\n return [getOppositeAlignmentPlacement(placement), oppositePlacement, getOppositeAlignmentPlacement(oppositePlacement)];\n}\nfunction getOppositeAlignmentPlacement(placement) {\n return placement.replace(/start|end/g, alignment => oppositeAlignmentMap[alignment]);\n}\nconst lrPlacement = ['left', 'right'];\nconst rlPlacement = ['right', 'left'];\nconst tbPlacement = ['top', 'bottom'];\nconst btPlacement = ['bottom', 'top'];\nfunction getSideList(side, isStart, rtl) {\n switch (side) {\n case 'top':\n case 'bottom':\n if (rtl) return isStart ? rlPlacement : lrPlacement;\n return isStart ? lrPlacement : rlPlacement;\n case 'left':\n case 'right':\n return isStart ? tbPlacement : btPlacement;\n default:\n return [];\n }\n}\nfunction getOppositeAxisPlacements(placement, flipAlignment, direction, rtl) {\n const alignment = getAlignment(placement);\n let list = getSideList(getSide(placement), direction === 'start', rtl);\n if (alignment) {\n list = list.map(side => side + \"-\" + alignment);\n if (flipAlignment) {\n list = list.concat(list.map(getOppositeAlignmentPlacement));\n }\n }\n return list;\n}\nfunction getOppositePlacement(placement) {\n return placement.replace(/left|right|bottom|top/g, side => oppositeSideMap[side]);\n}\nfunction expandPaddingObject(padding) {\n return {\n top: 0,\n right: 0,\n bottom: 0,\n left: 0,\n ...padding\n };\n}\nfunction getPaddingObject(padding) {\n return typeof padding !== 'number' ? expandPaddingObject(padding) : {\n top: padding,\n right: padding,\n bottom: padding,\n left: padding\n };\n}\nfunction rectToClientRect(rect) {\n const {\n x,\n y,\n width,\n height\n } = rect;\n return {\n width,\n height,\n top: y,\n left: x,\n right: x + width,\n bottom: y + height,\n x,\n y\n };\n}\n\nexport { alignments, clamp, createCoords, evaluate, expandPaddingObject, floor, getAlignment, getAlignmentAxis, getAlignmentSides, getAxisLength, getExpandedPlacements, getOppositeAlignmentPlacement, getOppositeAxis, getOppositeAxisPlacements, getOppositePlacement, getPaddingObject, getSide, getSideAxis, max, min, placements, rectToClientRect, round, sides };\n","import { getSideAxis, getAlignmentAxis, getAxisLength, getSide, getAlignment, evaluate, getPaddingObject, rectToClientRect, min, clamp, placements, getAlignmentSides, getOppositeAlignmentPlacement, getOppositePlacement, getExpandedPlacements, getOppositeAxisPlacements, sides, max, getOppositeAxis } from '@floating-ui/utils';\nexport { rectToClientRect } from '@floating-ui/utils';\n\nfunction computeCoordsFromPlacement(_ref, placement, rtl) {\n let {\n reference,\n floating\n } = _ref;\n const sideAxis = getSideAxis(placement);\n const alignmentAxis = getAlignmentAxis(placement);\n const alignLength = getAxisLength(alignmentAxis);\n const side = getSide(placement);\n const isVertical = sideAxis === 'y';\n const commonX = reference.x + reference.width / 2 - floating.width / 2;\n const commonY = reference.y + reference.height / 2 - floating.height / 2;\n const commonAlign = reference[alignLength] / 2 - floating[alignLength] / 2;\n let coords;\n switch (side) {\n case 'top':\n coords = {\n x: commonX,\n y: reference.y - floating.height\n };\n break;\n case 'bottom':\n coords = {\n x: commonX,\n y: reference.y + reference.height\n };\n break;\n case 'right':\n coords = {\n x: reference.x + reference.width,\n y: commonY\n };\n break;\n case 'left':\n coords = {\n x: reference.x - floating.width,\n y: commonY\n };\n break;\n default:\n coords = {\n x: reference.x,\n y: reference.y\n };\n }\n switch (getAlignment(placement)) {\n case 'start':\n coords[alignmentAxis] -= commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n case 'end':\n coords[alignmentAxis] += commonAlign * (rtl && isVertical ? -1 : 1);\n break;\n }\n return coords;\n}\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n *\n * This export does not have any `platform` interface logic. You will need to\n * write one for the platform you are using Floating UI with.\n */\nconst computePosition = async (reference, floating, config) => {\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform\n } = config;\n const validMiddleware = middleware.filter(Boolean);\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(floating));\n let rects = await platform.getElementRects({\n reference,\n floating,\n strategy\n });\n let {\n x,\n y\n } = computeCoordsFromPlacement(rects, placement, rtl);\n let statefulPlacement = placement;\n let middlewareData = {};\n let resetCount = 0;\n for (let i = 0; i < validMiddleware.length; i++) {\n const {\n name,\n fn\n } = validMiddleware[i];\n const {\n x: nextX,\n y: nextY,\n data,\n reset\n } = await fn({\n x,\n y,\n initialPlacement: placement,\n placement: statefulPlacement,\n strategy,\n middlewareData,\n rects,\n platform,\n elements: {\n reference,\n floating\n }\n });\n x = nextX != null ? nextX : x;\n y = nextY != null ? nextY : y;\n middlewareData = {\n ...middlewareData,\n [name]: {\n ...middlewareData[name],\n ...data\n }\n };\n if (reset && resetCount <= 50) {\n resetCount++;\n if (typeof reset === 'object') {\n if (reset.placement) {\n statefulPlacement = reset.placement;\n }\n if (reset.rects) {\n rects = reset.rects === true ? await platform.getElementRects({\n reference,\n floating,\n strategy\n }) : reset.rects;\n }\n ({\n x,\n y\n } = computeCoordsFromPlacement(rects, statefulPlacement, rtl));\n }\n i = -1;\n }\n }\n return {\n x,\n y,\n placement: statefulPlacement,\n strategy,\n middlewareData\n };\n};\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nasync function detectOverflow(state, options) {\n var _await$platform$isEle;\n if (options === void 0) {\n options = {};\n }\n const {\n x,\n y,\n platform,\n rects,\n elements,\n strategy\n } = state;\n const {\n boundary = 'clippingAncestors',\n rootBoundary = 'viewport',\n elementContext = 'floating',\n altBoundary = false,\n padding = 0\n } = evaluate(options, state);\n const paddingObject = getPaddingObject(padding);\n const altContext = elementContext === 'floating' ? 'reference' : 'floating';\n const element = elements[altBoundary ? altContext : elementContext];\n const clippingClientRect = rectToClientRect(await platform.getClippingRect({\n element: ((_await$platform$isEle = await (platform.isElement == null ? void 0 : platform.isElement(element))) != null ? _await$platform$isEle : true) ? element : element.contextElement || (await (platform.getDocumentElement == null ? void 0 : platform.getDocumentElement(elements.floating))),\n boundary,\n rootBoundary,\n strategy\n }));\n const rect = elementContext === 'floating' ? {\n x,\n y,\n width: rects.floating.width,\n height: rects.floating.height\n } : rects.reference;\n const offsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(elements.floating));\n const offsetScale = (await (platform.isElement == null ? void 0 : platform.isElement(offsetParent))) ? (await (platform.getScale == null ? void 0 : platform.getScale(offsetParent))) || {\n x: 1,\n y: 1\n } : {\n x: 1,\n y: 1\n };\n const elementClientRect = rectToClientRect(platform.convertOffsetParentRelativeRectToViewportRelativeRect ? await platform.convertOffsetParentRelativeRectToViewportRelativeRect({\n elements,\n rect,\n offsetParent,\n strategy\n }) : rect);\n return {\n top: (clippingClientRect.top - elementClientRect.top + paddingObject.top) / offsetScale.y,\n bottom: (elementClientRect.bottom - clippingClientRect.bottom + paddingObject.bottom) / offsetScale.y,\n left: (clippingClientRect.left - elementClientRect.left + paddingObject.left) / offsetScale.x,\n right: (elementClientRect.right - clippingClientRect.right + paddingObject.right) / offsetScale.x\n };\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = options => ({\n name: 'arrow',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n platform,\n elements,\n middlewareData\n } = state;\n // Since `element` is required, we don't Partial<> the type.\n const {\n element,\n padding = 0\n } = evaluate(options, state) || {};\n if (element == null) {\n return {};\n }\n const paddingObject = getPaddingObject(padding);\n const coords = {\n x,\n y\n };\n const axis = getAlignmentAxis(placement);\n const length = getAxisLength(axis);\n const arrowDimensions = await platform.getDimensions(element);\n const isYAxis = axis === 'y';\n const minProp = isYAxis ? 'top' : 'left';\n const maxProp = isYAxis ? 'bottom' : 'right';\n const clientProp = isYAxis ? 'clientHeight' : 'clientWidth';\n const endDiff = rects.reference[length] + rects.reference[axis] - coords[axis] - rects.floating[length];\n const startDiff = coords[axis] - rects.reference[axis];\n const arrowOffsetParent = await (platform.getOffsetParent == null ? void 0 : platform.getOffsetParent(element));\n let clientSize = arrowOffsetParent ? arrowOffsetParent[clientProp] : 0;\n\n // DOM platform can return `window` as the `offsetParent`.\n if (!clientSize || !(await (platform.isElement == null ? void 0 : platform.isElement(arrowOffsetParent)))) {\n clientSize = elements.floating[clientProp] || rects.floating[length];\n }\n const centerToReference = endDiff / 2 - startDiff / 2;\n\n // If the padding is large enough that it causes the arrow to no longer be\n // centered, modify the padding so that it is centered.\n const largestPossiblePadding = clientSize / 2 - arrowDimensions[length] / 2 - 1;\n const minPadding = min(paddingObject[minProp], largestPossiblePadding);\n const maxPadding = min(paddingObject[maxProp], largestPossiblePadding);\n\n // Make sure the arrow doesn't overflow the floating element if the center\n // point is outside the floating element's bounds.\n const min$1 = minPadding;\n const max = clientSize - arrowDimensions[length] - maxPadding;\n const center = clientSize / 2 - arrowDimensions[length] / 2 + centerToReference;\n const offset = clamp(min$1, center, max);\n\n // If the reference is small enough that the arrow's padding causes it to\n // to point to nothing for an aligned placement, adjust the offset of the\n // floating element itself. To ensure `shift()` continues to take action,\n // a single reset is performed when this is true.\n const shouldAddOffset = !middlewareData.arrow && getAlignment(placement) != null && center !== offset && rects.reference[length] / 2 - (center < min$1 ? minPadding : maxPadding) - arrowDimensions[length] / 2 < 0;\n const alignmentOffset = shouldAddOffset ? center < min$1 ? center - min$1 : center - max : 0;\n return {\n [axis]: coords[axis] + alignmentOffset,\n data: {\n [axis]: offset,\n centerOffset: center - offset - alignmentOffset,\n ...(shouldAddOffset && {\n alignmentOffset\n })\n },\n reset: shouldAddOffset\n };\n }\n});\n\nfunction getPlacementList(alignment, autoAlignment, allowedPlacements) {\n const allowedPlacementsSortedByAlignment = alignment ? [...allowedPlacements.filter(placement => getAlignment(placement) === alignment), ...allowedPlacements.filter(placement => getAlignment(placement) !== alignment)] : allowedPlacements.filter(placement => getSide(placement) === placement);\n return allowedPlacementsSortedByAlignment.filter(placement => {\n if (alignment) {\n return getAlignment(placement) === alignment || (autoAlignment ? getOppositeAlignmentPlacement(placement) !== placement : false);\n }\n return true;\n });\n}\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'autoPlacement',\n options,\n async fn(state) {\n var _middlewareData$autoP, _middlewareData$autoP2, _placementsThatFitOnE;\n const {\n rects,\n middlewareData,\n placement,\n platform,\n elements\n } = state;\n const {\n crossAxis = false,\n alignment,\n allowedPlacements = placements,\n autoAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n const placements$1 = alignment !== undefined || allowedPlacements === placements ? getPlacementList(alignment || null, autoAlignment, allowedPlacements) : allowedPlacements;\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const currentIndex = ((_middlewareData$autoP = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP.index) || 0;\n const currentPlacement = placements$1[currentIndex];\n if (currentPlacement == null) {\n return {};\n }\n const alignmentSides = getAlignmentSides(currentPlacement, rects, await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating)));\n\n // Make `computeCoords` start from the right place.\n if (placement !== currentPlacement) {\n return {\n reset: {\n placement: placements$1[0]\n }\n };\n }\n const currentOverflows = [overflow[getSide(currentPlacement)], overflow[alignmentSides[0]], overflow[alignmentSides[1]]];\n const allOverflows = [...(((_middlewareData$autoP2 = middlewareData.autoPlacement) == null ? void 0 : _middlewareData$autoP2.overflows) || []), {\n placement: currentPlacement,\n overflows: currentOverflows\n }];\n const nextPlacement = placements$1[currentIndex + 1];\n\n // There are more placements to check.\n if (nextPlacement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n const placementsSortedByMostSpace = allOverflows.map(d => {\n const alignment = getAlignment(d.placement);\n return [d.placement, alignment && crossAxis ?\n // Check along the mainAxis and main crossAxis side.\n d.overflows.slice(0, 2).reduce((acc, v) => acc + v, 0) :\n // Check only the mainAxis.\n d.overflows[0], d.overflows];\n }).sort((a, b) => a[1] - b[1]);\n const placementsThatFitOnEachSide = placementsSortedByMostSpace.filter(d => d[2].slice(0,\n // Aligned placements should not check their opposite crossAxis\n // side.\n getAlignment(d[0]) ? 2 : 3).every(v => v <= 0));\n const resetPlacement = ((_placementsThatFitOnE = placementsThatFitOnEachSide[0]) == null ? void 0 : _placementsThatFitOnE[0]) || placementsSortedByMostSpace[0][0];\n if (resetPlacement !== placement) {\n return {\n data: {\n index: currentIndex + 1,\n overflows: allOverflows\n },\n reset: {\n placement: resetPlacement\n }\n };\n }\n return {};\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'flip',\n options,\n async fn(state) {\n var _middlewareData$arrow, _middlewareData$flip;\n const {\n placement,\n middlewareData,\n rects,\n initialPlacement,\n platform,\n elements\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true,\n fallbackPlacements: specifiedFallbackPlacements,\n fallbackStrategy = 'bestFit',\n fallbackAxisSideDirection = 'none',\n flipAlignment = true,\n ...detectOverflowOptions\n } = evaluate(options, state);\n\n // If a reset by the arrow was caused due to an alignment offset being\n // added, we should skip any logic now since `flip()` has already done its\n // work.\n // https://github.com/floating-ui/floating-ui/issues/2549#issuecomment-1719601643\n if ((_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n const side = getSide(placement);\n const initialSideAxis = getSideAxis(initialPlacement);\n const isBasePlacement = getSide(initialPlacement) === initialPlacement;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const fallbackPlacements = specifiedFallbackPlacements || (isBasePlacement || !flipAlignment ? [getOppositePlacement(initialPlacement)] : getExpandedPlacements(initialPlacement));\n const hasFallbackAxisSideDirection = fallbackAxisSideDirection !== 'none';\n if (!specifiedFallbackPlacements && hasFallbackAxisSideDirection) {\n fallbackPlacements.push(...getOppositeAxisPlacements(initialPlacement, flipAlignment, fallbackAxisSideDirection, rtl));\n }\n const placements = [initialPlacement, ...fallbackPlacements];\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const overflows = [];\n let overflowsData = ((_middlewareData$flip = middlewareData.flip) == null ? void 0 : _middlewareData$flip.overflows) || [];\n if (checkMainAxis) {\n overflows.push(overflow[side]);\n }\n if (checkCrossAxis) {\n const sides = getAlignmentSides(placement, rects, rtl);\n overflows.push(overflow[sides[0]], overflow[sides[1]]);\n }\n overflowsData = [...overflowsData, {\n placement,\n overflows\n }];\n\n // One or more sides is overflowing.\n if (!overflows.every(side => side <= 0)) {\n var _middlewareData$flip2, _overflowsData$filter;\n const nextIndex = (((_middlewareData$flip2 = middlewareData.flip) == null ? void 0 : _middlewareData$flip2.index) || 0) + 1;\n const nextPlacement = placements[nextIndex];\n if (nextPlacement) {\n const ignoreCrossAxisOverflow = checkCrossAxis === 'alignment' ? initialSideAxis !== getSideAxis(nextPlacement) : false;\n if (!ignoreCrossAxisOverflow ||\n // We leave the current main axis only if every placement on that axis\n // overflows the main axis.\n overflowsData.every(d => getSideAxis(d.placement) === initialSideAxis ? d.overflows[0] > 0 : true)) {\n // Try next placement and re-run the lifecycle.\n return {\n data: {\n index: nextIndex,\n overflows: overflowsData\n },\n reset: {\n placement: nextPlacement\n }\n };\n }\n }\n\n // First, find the candidates that fit on the mainAxis side of overflow,\n // then find the placement that fits the best on the main crossAxis side.\n let resetPlacement = (_overflowsData$filter = overflowsData.filter(d => d.overflows[0] <= 0).sort((a, b) => a.overflows[1] - b.overflows[1])[0]) == null ? void 0 : _overflowsData$filter.placement;\n\n // Otherwise fallback.\n if (!resetPlacement) {\n switch (fallbackStrategy) {\n case 'bestFit':\n {\n var _overflowsData$filter2;\n const placement = (_overflowsData$filter2 = overflowsData.filter(d => {\n if (hasFallbackAxisSideDirection) {\n const currentSideAxis = getSideAxis(d.placement);\n return currentSideAxis === initialSideAxis ||\n // Create a bias to the `y` side axis due to horizontal\n // reading directions favoring greater width.\n currentSideAxis === 'y';\n }\n return true;\n }).map(d => [d.placement, d.overflows.filter(overflow => overflow > 0).reduce((acc, overflow) => acc + overflow, 0)]).sort((a, b) => a[1] - b[1])[0]) == null ? void 0 : _overflowsData$filter2[0];\n if (placement) {\n resetPlacement = placement;\n }\n break;\n }\n case 'initialPlacement':\n resetPlacement = initialPlacement;\n break;\n }\n }\n if (placement !== resetPlacement) {\n return {\n reset: {\n placement: resetPlacement\n }\n };\n }\n }\n return {};\n }\n };\n};\n\nfunction getSideOffsets(overflow, rect) {\n return {\n top: overflow.top - rect.height,\n right: overflow.right - rect.width,\n bottom: overflow.bottom - rect.height,\n left: overflow.left - rect.width\n };\n}\nfunction isAnySideFullyClipped(overflow) {\n return sides.some(side => overflow[side] >= 0);\n}\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'hide',\n options,\n async fn(state) {\n const {\n rects\n } = state;\n const {\n strategy = 'referenceHidden',\n ...detectOverflowOptions\n } = evaluate(options, state);\n switch (strategy) {\n case 'referenceHidden':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n elementContext: 'reference'\n });\n const offsets = getSideOffsets(overflow, rects.reference);\n return {\n data: {\n referenceHiddenOffsets: offsets,\n referenceHidden: isAnySideFullyClipped(offsets)\n }\n };\n }\n case 'escaped':\n {\n const overflow = await detectOverflow(state, {\n ...detectOverflowOptions,\n altBoundary: true\n });\n const offsets = getSideOffsets(overflow, rects.floating);\n return {\n data: {\n escapedOffsets: offsets,\n escaped: isAnySideFullyClipped(offsets)\n }\n };\n }\n default:\n {\n return {};\n }\n }\n }\n };\n};\n\nfunction getBoundingRect(rects) {\n const minX = min(...rects.map(rect => rect.left));\n const minY = min(...rects.map(rect => rect.top));\n const maxX = max(...rects.map(rect => rect.right));\n const maxY = max(...rects.map(rect => rect.bottom));\n return {\n x: minX,\n y: minY,\n width: maxX - minX,\n height: maxY - minY\n };\n}\nfunction getRectsByLine(rects) {\n const sortedRects = rects.slice().sort((a, b) => a.y - b.y);\n const groups = [];\n let prevRect = null;\n for (let i = 0; i < sortedRects.length; i++) {\n const rect = sortedRects[i];\n if (!prevRect || rect.y - prevRect.y > prevRect.height / 2) {\n groups.push([rect]);\n } else {\n groups[groups.length - 1].push(rect);\n }\n prevRect = rect;\n }\n return groups.map(rect => rectToClientRect(getBoundingRect(rect)));\n}\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'inline',\n options,\n async fn(state) {\n const {\n placement,\n elements,\n rects,\n platform,\n strategy\n } = state;\n // A MouseEvent's client{X,Y} coords can be up to 2 pixels off a\n // ClientRect's bounds, despite the event listener being triggered. A\n // padding of 2 seems to handle this issue.\n const {\n padding = 2,\n x,\n y\n } = evaluate(options, state);\n const nativeClientRects = Array.from((await (platform.getClientRects == null ? void 0 : platform.getClientRects(elements.reference))) || []);\n const clientRects = getRectsByLine(nativeClientRects);\n const fallback = rectToClientRect(getBoundingRect(nativeClientRects));\n const paddingObject = getPaddingObject(padding);\n function getBoundingClientRect() {\n // There are two rects and they are disjoined.\n if (clientRects.length === 2 && clientRects[0].left > clientRects[1].right && x != null && y != null) {\n // Find the first rect in which the point is fully inside.\n return clientRects.find(rect => x > rect.left - paddingObject.left && x < rect.right + paddingObject.right && y > rect.top - paddingObject.top && y < rect.bottom + paddingObject.bottom) || fallback;\n }\n\n // There are 2 or more connected rects.\n if (clientRects.length >= 2) {\n if (getSideAxis(placement) === 'y') {\n const firstRect = clientRects[0];\n const lastRect = clientRects[clientRects.length - 1];\n const isTop = getSide(placement) === 'top';\n const top = firstRect.top;\n const bottom = lastRect.bottom;\n const left = isTop ? firstRect.left : lastRect.left;\n const right = isTop ? firstRect.right : lastRect.right;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n const isLeftSide = getSide(placement) === 'left';\n const maxRight = max(...clientRects.map(rect => rect.right));\n const minLeft = min(...clientRects.map(rect => rect.left));\n const measureRects = clientRects.filter(rect => isLeftSide ? rect.left === minLeft : rect.right === maxRight);\n const top = measureRects[0].top;\n const bottom = measureRects[measureRects.length - 1].bottom;\n const left = minLeft;\n const right = maxRight;\n const width = right - left;\n const height = bottom - top;\n return {\n top,\n bottom,\n left,\n right,\n width,\n height,\n x: left,\n y: top\n };\n }\n return fallback;\n }\n const resetRects = await platform.getElementRects({\n reference: {\n getBoundingClientRect\n },\n floating: elements.floating,\n strategy\n });\n if (rects.reference.x !== resetRects.reference.x || rects.reference.y !== resetRects.reference.y || rects.reference.width !== resetRects.reference.width || rects.reference.height !== resetRects.reference.height) {\n return {\n reset: {\n rects: resetRects\n }\n };\n }\n return {};\n }\n };\n};\n\nconst originSides = /*#__PURE__*/new Set(['left', 'top']);\n\n// For type backwards-compatibility, the `OffsetOptions` type was also\n// Derivable.\n\nasync function convertValueToCoords(state, options) {\n const {\n placement,\n platform,\n elements\n } = state;\n const rtl = await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating));\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isVertical = getSideAxis(placement) === 'y';\n const mainAxisMulti = originSides.has(side) ? -1 : 1;\n const crossAxisMulti = rtl && isVertical ? -1 : 1;\n const rawValue = evaluate(options, state);\n\n // eslint-disable-next-line prefer-const\n let {\n mainAxis,\n crossAxis,\n alignmentAxis\n } = typeof rawValue === 'number' ? {\n mainAxis: rawValue,\n crossAxis: 0,\n alignmentAxis: null\n } : {\n mainAxis: rawValue.mainAxis || 0,\n crossAxis: rawValue.crossAxis || 0,\n alignmentAxis: rawValue.alignmentAxis\n };\n if (alignment && typeof alignmentAxis === 'number') {\n crossAxis = alignment === 'end' ? alignmentAxis * -1 : alignmentAxis;\n }\n return isVertical ? {\n x: crossAxis * crossAxisMulti,\n y: mainAxis * mainAxisMulti\n } : {\n x: mainAxis * mainAxisMulti,\n y: crossAxis * crossAxisMulti\n };\n}\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = function (options) {\n if (options === void 0) {\n options = 0;\n }\n return {\n name: 'offset',\n options,\n async fn(state) {\n var _middlewareData$offse, _middlewareData$arrow;\n const {\n x,\n y,\n placement,\n middlewareData\n } = state;\n const diffCoords = await convertValueToCoords(state, options);\n\n // If the placement is the same and the arrow caused an alignment offset\n // then we don't need to change the positioning coordinates.\n if (placement === ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse.placement) && (_middlewareData$arrow = middlewareData.arrow) != null && _middlewareData$arrow.alignmentOffset) {\n return {};\n }\n return {\n x: x + diffCoords.x,\n y: y + diffCoords.y,\n data: {\n ...diffCoords,\n placement\n }\n };\n }\n };\n};\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'shift',\n options,\n async fn(state) {\n const {\n x,\n y,\n placement\n } = state;\n const {\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = false,\n limiter = {\n fn: _ref => {\n let {\n x,\n y\n } = _ref;\n return {\n x,\n y\n };\n }\n },\n ...detectOverflowOptions\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const crossAxis = getSideAxis(getSide(placement));\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n if (checkMainAxis) {\n const minSide = mainAxis === 'y' ? 'top' : 'left';\n const maxSide = mainAxis === 'y' ? 'bottom' : 'right';\n const min = mainAxisCoord + overflow[minSide];\n const max = mainAxisCoord - overflow[maxSide];\n mainAxisCoord = clamp(min, mainAxisCoord, max);\n }\n if (checkCrossAxis) {\n const minSide = crossAxis === 'y' ? 'top' : 'left';\n const maxSide = crossAxis === 'y' ? 'bottom' : 'right';\n const min = crossAxisCoord + overflow[minSide];\n const max = crossAxisCoord - overflow[maxSide];\n crossAxisCoord = clamp(min, crossAxisCoord, max);\n }\n const limitedCoords = limiter.fn({\n ...state,\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n });\n return {\n ...limitedCoords,\n data: {\n x: limitedCoords.x - x,\n y: limitedCoords.y - y,\n enabled: {\n [mainAxis]: checkMainAxis,\n [crossAxis]: checkCrossAxis\n }\n }\n };\n }\n };\n};\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n options,\n fn(state) {\n const {\n x,\n y,\n placement,\n rects,\n middlewareData\n } = state;\n const {\n offset = 0,\n mainAxis: checkMainAxis = true,\n crossAxis: checkCrossAxis = true\n } = evaluate(options, state);\n const coords = {\n x,\n y\n };\n const crossAxis = getSideAxis(placement);\n const mainAxis = getOppositeAxis(crossAxis);\n let mainAxisCoord = coords[mainAxis];\n let crossAxisCoord = coords[crossAxis];\n const rawOffset = evaluate(offset, state);\n const computedOffset = typeof rawOffset === 'number' ? {\n mainAxis: rawOffset,\n crossAxis: 0\n } : {\n mainAxis: 0,\n crossAxis: 0,\n ...rawOffset\n };\n if (checkMainAxis) {\n const len = mainAxis === 'y' ? 'height' : 'width';\n const limitMin = rects.reference[mainAxis] - rects.floating[len] + computedOffset.mainAxis;\n const limitMax = rects.reference[mainAxis] + rects.reference[len] - computedOffset.mainAxis;\n if (mainAxisCoord < limitMin) {\n mainAxisCoord = limitMin;\n } else if (mainAxisCoord > limitMax) {\n mainAxisCoord = limitMax;\n }\n }\n if (checkCrossAxis) {\n var _middlewareData$offse, _middlewareData$offse2;\n const len = mainAxis === 'y' ? 'width' : 'height';\n const isOriginSide = originSides.has(getSide(placement));\n const limitMin = rects.reference[crossAxis] - rects.floating[len] + (isOriginSide ? ((_middlewareData$offse = middlewareData.offset) == null ? void 0 : _middlewareData$offse[crossAxis]) || 0 : 0) + (isOriginSide ? 0 : computedOffset.crossAxis);\n const limitMax = rects.reference[crossAxis] + rects.reference[len] + (isOriginSide ? 0 : ((_middlewareData$offse2 = middlewareData.offset) == null ? void 0 : _middlewareData$offse2[crossAxis]) || 0) - (isOriginSide ? computedOffset.crossAxis : 0);\n if (crossAxisCoord < limitMin) {\n crossAxisCoord = limitMin;\n } else if (crossAxisCoord > limitMax) {\n crossAxisCoord = limitMax;\n }\n }\n return {\n [mainAxis]: mainAxisCoord,\n [crossAxis]: crossAxisCoord\n };\n }\n };\n};\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = function (options) {\n if (options === void 0) {\n options = {};\n }\n return {\n name: 'size',\n options,\n async fn(state) {\n var _state$middlewareData, _state$middlewareData2;\n const {\n placement,\n rects,\n platform,\n elements\n } = state;\n const {\n apply = () => {},\n ...detectOverflowOptions\n } = evaluate(options, state);\n const overflow = await detectOverflow(state, detectOverflowOptions);\n const side = getSide(placement);\n const alignment = getAlignment(placement);\n const isYAxis = getSideAxis(placement) === 'y';\n const {\n width,\n height\n } = rects.floating;\n let heightSide;\n let widthSide;\n if (side === 'top' || side === 'bottom') {\n heightSide = side;\n widthSide = alignment === ((await (platform.isRTL == null ? void 0 : platform.isRTL(elements.floating))) ? 'start' : 'end') ? 'left' : 'right';\n } else {\n widthSide = side;\n heightSide = alignment === 'end' ? 'top' : 'bottom';\n }\n const maximumClippingHeight = height - overflow.top - overflow.bottom;\n const maximumClippingWidth = width - overflow.left - overflow.right;\n const overflowAvailableHeight = min(height - overflow[heightSide], maximumClippingHeight);\n const overflowAvailableWidth = min(width - overflow[widthSide], maximumClippingWidth);\n const noShift = !state.middlewareData.shift;\n let availableHeight = overflowAvailableHeight;\n let availableWidth = overflowAvailableWidth;\n if ((_state$middlewareData = state.middlewareData.shift) != null && _state$middlewareData.enabled.x) {\n availableWidth = maximumClippingWidth;\n }\n if ((_state$middlewareData2 = state.middlewareData.shift) != null && _state$middlewareData2.enabled.y) {\n availableHeight = maximumClippingHeight;\n }\n if (noShift && !alignment) {\n const xMin = max(overflow.left, 0);\n const xMax = max(overflow.right, 0);\n const yMin = max(overflow.top, 0);\n const yMax = max(overflow.bottom, 0);\n if (isYAxis) {\n availableWidth = width - 2 * (xMin !== 0 || xMax !== 0 ? xMin + xMax : max(overflow.left, overflow.right));\n } else {\n availableHeight = height - 2 * (yMin !== 0 || yMax !== 0 ? yMin + yMax : max(overflow.top, overflow.bottom));\n }\n }\n await apply({\n ...state,\n availableWidth,\n availableHeight\n });\n const nextDimensions = await platform.getDimensions(elements.floating);\n if (width !== nextDimensions.width || height !== nextDimensions.height) {\n return {\n reset: {\n rects: true\n }\n };\n }\n return {};\n }\n };\n};\n\nexport { arrow, autoPlacement, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, shift, size };\n","function hasWindow() {\n return typeof window !== 'undefined';\n}\nfunction getNodeName(node) {\n if (isNode(node)) {\n return (node.nodeName || '').toLowerCase();\n }\n // Mocked nodes in testing environments may not be instances of Node. By\n // returning `#document` an infinite loop won't occur.\n // https://github.com/floating-ui/floating-ui/issues/2317\n return '#document';\n}\nfunction getWindow(node) {\n var _node$ownerDocument;\n return (node == null || (_node$ownerDocument = node.ownerDocument) == null ? void 0 : _node$ownerDocument.defaultView) || window;\n}\nfunction getDocumentElement(node) {\n var _ref;\n return (_ref = (isNode(node) ? node.ownerDocument : node.document) || window.document) == null ? void 0 : _ref.documentElement;\n}\nfunction isNode(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Node || value instanceof getWindow(value).Node;\n}\nfunction isElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof Element || value instanceof getWindow(value).Element;\n}\nfunction isHTMLElement(value) {\n if (!hasWindow()) {\n return false;\n }\n return value instanceof HTMLElement || value instanceof getWindow(value).HTMLElement;\n}\nfunction isShadowRoot(value) {\n if (!hasWindow() || typeof ShadowRoot === 'undefined') {\n return false;\n }\n return value instanceof ShadowRoot || value instanceof getWindow(value).ShadowRoot;\n}\nconst invalidOverflowDisplayValues = /*#__PURE__*/new Set(['inline', 'contents']);\nfunction isOverflowElement(element) {\n const {\n overflow,\n overflowX,\n overflowY,\n display\n } = getComputedStyle(element);\n return /auto|scroll|overlay|hidden|clip/.test(overflow + overflowY + overflowX) && !invalidOverflowDisplayValues.has(display);\n}\nconst tableElements = /*#__PURE__*/new Set(['table', 'td', 'th']);\nfunction isTableElement(element) {\n return tableElements.has(getNodeName(element));\n}\nconst topLayerSelectors = [':popover-open', ':modal'];\nfunction isTopLayer(element) {\n return topLayerSelectors.some(selector => {\n try {\n return element.matches(selector);\n } catch (_e) {\n return false;\n }\n });\n}\nconst transformProperties = ['transform', 'translate', 'scale', 'rotate', 'perspective'];\nconst willChangeValues = ['transform', 'translate', 'scale', 'rotate', 'perspective', 'filter'];\nconst containValues = ['paint', 'layout', 'strict', 'content'];\nfunction isContainingBlock(elementOrCss) {\n const webkit = isWebKit();\n const css = isElement(elementOrCss) ? getComputedStyle(elementOrCss) : elementOrCss;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n // https://drafts.csswg.org/css-transforms-2/#individual-transforms\n return transformProperties.some(value => css[value] ? css[value] !== 'none' : false) || (css.containerType ? css.containerType !== 'normal' : false) || !webkit && (css.backdropFilter ? css.backdropFilter !== 'none' : false) || !webkit && (css.filter ? css.filter !== 'none' : false) || willChangeValues.some(value => (css.willChange || '').includes(value)) || containValues.some(value => (css.contain || '').includes(value));\n}\nfunction getContainingBlock(element) {\n let currentNode = getParentNode(element);\n while (isHTMLElement(currentNode) && !isLastTraversableNode(currentNode)) {\n if (isContainingBlock(currentNode)) {\n return currentNode;\n } else if (isTopLayer(currentNode)) {\n return null;\n }\n currentNode = getParentNode(currentNode);\n }\n return null;\n}\nfunction isWebKit() {\n if (typeof CSS === 'undefined' || !CSS.supports) return false;\n return CSS.supports('-webkit-backdrop-filter', 'none');\n}\nconst lastTraversableNodeNames = /*#__PURE__*/new Set(['html', 'body', '#document']);\nfunction isLastTraversableNode(node) {\n return lastTraversableNodeNames.has(getNodeName(node));\n}\nfunction getComputedStyle(element) {\n return getWindow(element).getComputedStyle(element);\n}\nfunction getNodeScroll(element) {\n if (isElement(element)) {\n return {\n scrollLeft: element.scrollLeft,\n scrollTop: element.scrollTop\n };\n }\n return {\n scrollLeft: element.scrollX,\n scrollTop: element.scrollY\n };\n}\nfunction getParentNode(node) {\n if (getNodeName(node) === 'html') {\n return node;\n }\n const result =\n // Step into the shadow DOM of the parent of a slotted node.\n node.assignedSlot ||\n // DOM Element detected.\n node.parentNode ||\n // ShadowRoot detected.\n isShadowRoot(node) && node.host ||\n // Fallback.\n getDocumentElement(node);\n return isShadowRoot(result) ? result.host : result;\n}\nfunction getNearestOverflowAncestor(node) {\n const parentNode = getParentNode(node);\n if (isLastTraversableNode(parentNode)) {\n return node.ownerDocument ? node.ownerDocument.body : node.body;\n }\n if (isHTMLElement(parentNode) && isOverflowElement(parentNode)) {\n return parentNode;\n }\n return getNearestOverflowAncestor(parentNode);\n}\nfunction getOverflowAncestors(node, list, traverseIframes) {\n var _node$ownerDocument2;\n if (list === void 0) {\n list = [];\n }\n if (traverseIframes === void 0) {\n traverseIframes = true;\n }\n const scrollableAncestor = getNearestOverflowAncestor(node);\n const isBody = scrollableAncestor === ((_node$ownerDocument2 = node.ownerDocument) == null ? void 0 : _node$ownerDocument2.body);\n const win = getWindow(scrollableAncestor);\n if (isBody) {\n const frameElement = getFrameElement(win);\n return list.concat(win, win.visualViewport || [], isOverflowElement(scrollableAncestor) ? scrollableAncestor : [], frameElement && traverseIframes ? getOverflowAncestors(frameElement) : []);\n }\n return list.concat(scrollableAncestor, getOverflowAncestors(scrollableAncestor, [], traverseIframes));\n}\nfunction getFrameElement(win) {\n return win.parent && Object.getPrototypeOf(win.parent) ? win.frameElement : null;\n}\n\nexport { getComputedStyle, getContainingBlock, getDocumentElement, getFrameElement, getNearestOverflowAncestor, getNodeName, getNodeScroll, getOverflowAncestors, getParentNode, getWindow, isContainingBlock, isElement, isHTMLElement, isLastTraversableNode, isNode, isOverflowElement, isShadowRoot, isTableElement, isTopLayer, isWebKit };\n","import { rectToClientRect, arrow as arrow$1, autoPlacement as autoPlacement$1, detectOverflow as detectOverflow$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1, computePosition as computePosition$1 } from '@floating-ui/core';\nimport { round, createCoords, max, min, floor } from '@floating-ui/utils';\nimport { getComputedStyle as getComputedStyle$1, isHTMLElement, isElement, getWindow, isWebKit, getFrameElement, getNodeScroll, getDocumentElement, isTopLayer, getNodeName, isOverflowElement, getOverflowAncestors, getParentNode, isLastTraversableNode, isContainingBlock, isTableElement, getContainingBlock } from '@floating-ui/utils/dom';\nexport { getOverflowAncestors } from '@floating-ui/utils/dom';\n\nfunction getCssDimensions(element) {\n const css = getComputedStyle$1(element);\n // In testing environments, the `width` and `height` properties are empty\n // strings for SVG elements, returning NaN. Fallback to `0` in this case.\n let width = parseFloat(css.width) || 0;\n let height = parseFloat(css.height) || 0;\n const hasOffset = isHTMLElement(element);\n const offsetWidth = hasOffset ? element.offsetWidth : width;\n const offsetHeight = hasOffset ? element.offsetHeight : height;\n const shouldFallback = round(width) !== offsetWidth || round(height) !== offsetHeight;\n if (shouldFallback) {\n width = offsetWidth;\n height = offsetHeight;\n }\n return {\n width,\n height,\n $: shouldFallback\n };\n}\n\nfunction unwrapElement(element) {\n return !isElement(element) ? element.contextElement : element;\n}\n\nfunction getScale(element) {\n const domElement = unwrapElement(element);\n if (!isHTMLElement(domElement)) {\n return createCoords(1);\n }\n const rect = domElement.getBoundingClientRect();\n const {\n width,\n height,\n $\n } = getCssDimensions(domElement);\n let x = ($ ? round(rect.width) : rect.width) / width;\n let y = ($ ? round(rect.height) : rect.height) / height;\n\n // 0, NaN, or Infinity should always fallback to 1.\n\n if (!x || !Number.isFinite(x)) {\n x = 1;\n }\n if (!y || !Number.isFinite(y)) {\n y = 1;\n }\n return {\n x,\n y\n };\n}\n\nconst noOffsets = /*#__PURE__*/createCoords(0);\nfunction getVisualOffsets(element) {\n const win = getWindow(element);\n if (!isWebKit() || !win.visualViewport) {\n return noOffsets;\n }\n return {\n x: win.visualViewport.offsetLeft,\n y: win.visualViewport.offsetTop\n };\n}\nfunction shouldAddVisualOffsets(element, isFixed, floatingOffsetParent) {\n if (isFixed === void 0) {\n isFixed = false;\n }\n if (!floatingOffsetParent || isFixed && floatingOffsetParent !== getWindow(element)) {\n return false;\n }\n return isFixed;\n}\n\nfunction getBoundingClientRect(element, includeScale, isFixedStrategy, offsetParent) {\n if (includeScale === void 0) {\n includeScale = false;\n }\n if (isFixedStrategy === void 0) {\n isFixedStrategy = false;\n }\n const clientRect = element.getBoundingClientRect();\n const domElement = unwrapElement(element);\n let scale = createCoords(1);\n if (includeScale) {\n if (offsetParent) {\n if (isElement(offsetParent)) {\n scale = getScale(offsetParent);\n }\n } else {\n scale = getScale(element);\n }\n }\n const visualOffsets = shouldAddVisualOffsets(domElement, isFixedStrategy, offsetParent) ? getVisualOffsets(domElement) : createCoords(0);\n let x = (clientRect.left + visualOffsets.x) / scale.x;\n let y = (clientRect.top + visualOffsets.y) / scale.y;\n let width = clientRect.width / scale.x;\n let height = clientRect.height / scale.y;\n if (domElement) {\n const win = getWindow(domElement);\n const offsetWin = offsetParent && isElement(offsetParent) ? getWindow(offsetParent) : offsetParent;\n let currentWin = win;\n let currentIFrame = getFrameElement(currentWin);\n while (currentIFrame && offsetParent && offsetWin !== currentWin) {\n const iframeScale = getScale(currentIFrame);\n const iframeRect = currentIFrame.getBoundingClientRect();\n const css = getComputedStyle$1(currentIFrame);\n const left = iframeRect.left + (currentIFrame.clientLeft + parseFloat(css.paddingLeft)) * iframeScale.x;\n const top = iframeRect.top + (currentIFrame.clientTop + parseFloat(css.paddingTop)) * iframeScale.y;\n x *= iframeScale.x;\n y *= iframeScale.y;\n width *= iframeScale.x;\n height *= iframeScale.y;\n x += left;\n y += top;\n currentWin = getWindow(currentIFrame);\n currentIFrame = getFrameElement(currentWin);\n }\n }\n return rectToClientRect({\n width,\n height,\n x,\n y\n });\n}\n\n// If <html> has a CSS width greater than the viewport, then this will be\n// incorrect for RTL.\nfunction getWindowScrollBarX(element, rect) {\n const leftScroll = getNodeScroll(element).scrollLeft;\n if (!rect) {\n return getBoundingClientRect(getDocumentElement(element)).left + leftScroll;\n }\n return rect.left + leftScroll;\n}\n\nfunction getHTMLOffset(documentElement, scroll) {\n const htmlRect = documentElement.getBoundingClientRect();\n const x = htmlRect.left + scroll.scrollLeft - getWindowScrollBarX(documentElement, htmlRect);\n const y = htmlRect.top + scroll.scrollTop;\n return {\n x,\n y\n };\n}\n\nfunction convertOffsetParentRelativeRectToViewportRelativeRect(_ref) {\n let {\n elements,\n rect,\n offsetParent,\n strategy\n } = _ref;\n const isFixed = strategy === 'fixed';\n const documentElement = getDocumentElement(offsetParent);\n const topLayer = elements ? isTopLayer(elements.floating) : false;\n if (offsetParent === documentElement || topLayer && isFixed) {\n return rect;\n }\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n let scale = createCoords(1);\n const offsets = createCoords(0);\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isHTMLElement(offsetParent)) {\n const offsetRect = getBoundingClientRect(offsetParent);\n scale = getScale(offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n }\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n return {\n width: rect.width * scale.x,\n height: rect.height * scale.y,\n x: rect.x * scale.x - scroll.scrollLeft * scale.x + offsets.x + htmlOffset.x,\n y: rect.y * scale.y - scroll.scrollTop * scale.y + offsets.y + htmlOffset.y\n };\n}\n\nfunction getClientRects(element) {\n return Array.from(element.getClientRects());\n}\n\n// Gets the entire size of the scrollable document area, even extending outside\n// of the `<html>` and `<body>` rect bounds if horizontally scrollable.\nfunction getDocumentRect(element) {\n const html = getDocumentElement(element);\n const scroll = getNodeScroll(element);\n const body = element.ownerDocument.body;\n const width = max(html.scrollWidth, html.clientWidth, body.scrollWidth, body.clientWidth);\n const height = max(html.scrollHeight, html.clientHeight, body.scrollHeight, body.clientHeight);\n let x = -scroll.scrollLeft + getWindowScrollBarX(element);\n const y = -scroll.scrollTop;\n if (getComputedStyle$1(body).direction === 'rtl') {\n x += max(html.clientWidth, body.clientWidth) - width;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\n// Safety check: ensure the scrollbar space is reasonable in case this\n// calculation is affected by unusual styles.\n// Most scrollbars leave 15-18px of space.\nconst SCROLLBAR_MAX = 25;\nfunction getViewportRect(element, strategy) {\n const win = getWindow(element);\n const html = getDocumentElement(element);\n const visualViewport = win.visualViewport;\n let width = html.clientWidth;\n let height = html.clientHeight;\n let x = 0;\n let y = 0;\n if (visualViewport) {\n width = visualViewport.width;\n height = visualViewport.height;\n const visualViewportBased = isWebKit();\n if (!visualViewportBased || visualViewportBased && strategy === 'fixed') {\n x = visualViewport.offsetLeft;\n y = visualViewport.offsetTop;\n }\n }\n const windowScrollbarX = getWindowScrollBarX(html);\n // <html> `overflow: hidden` + `scrollbar-gutter: stable` reduces the\n // visual width of the <html> but this is not considered in the size\n // of `html.clientWidth`.\n if (windowScrollbarX <= 0) {\n const doc = html.ownerDocument;\n const body = doc.body;\n const bodyStyles = getComputedStyle(body);\n const bodyMarginInline = doc.compatMode === 'CSS1Compat' ? parseFloat(bodyStyles.marginLeft) + parseFloat(bodyStyles.marginRight) || 0 : 0;\n const clippingStableScrollbarWidth = Math.abs(html.clientWidth - body.clientWidth - bodyMarginInline);\n if (clippingStableScrollbarWidth <= SCROLLBAR_MAX) {\n width -= clippingStableScrollbarWidth;\n }\n } else if (windowScrollbarX <= SCROLLBAR_MAX) {\n // If the <body> scrollbar is on the left, the width needs to be extended\n // by the scrollbar amount so there isn't extra space on the right.\n width += windowScrollbarX;\n }\n return {\n width,\n height,\n x,\n y\n };\n}\n\nconst absoluteOrFixed = /*#__PURE__*/new Set(['absolute', 'fixed']);\n// Returns the inner client rect, subtracting scrollbars if present.\nfunction getInnerBoundingClientRect(element, strategy) {\n const clientRect = getBoundingClientRect(element, true, strategy === 'fixed');\n const top = clientRect.top + element.clientTop;\n const left = clientRect.left + element.clientLeft;\n const scale = isHTMLElement(element) ? getScale(element) : createCoords(1);\n const width = element.clientWidth * scale.x;\n const height = element.clientHeight * scale.y;\n const x = left * scale.x;\n const y = top * scale.y;\n return {\n width,\n height,\n x,\n y\n };\n}\nfunction getClientRectFromClippingAncestor(element, clippingAncestor, strategy) {\n let rect;\n if (clippingAncestor === 'viewport') {\n rect = getViewportRect(element, strategy);\n } else if (clippingAncestor === 'document') {\n rect = getDocumentRect(getDocumentElement(element));\n } else if (isElement(clippingAncestor)) {\n rect = getInnerBoundingClientRect(clippingAncestor, strategy);\n } else {\n const visualOffsets = getVisualOffsets(element);\n rect = {\n x: clippingAncestor.x - visualOffsets.x,\n y: clippingAncestor.y - visualOffsets.y,\n width: clippingAncestor.width,\n height: clippingAncestor.height\n };\n }\n return rectToClientRect(rect);\n}\nfunction hasFixedPositionAncestor(element, stopNode) {\n const parentNode = getParentNode(element);\n if (parentNode === stopNode || !isElement(parentNode) || isLastTraversableNode(parentNode)) {\n return false;\n }\n return getComputedStyle$1(parentNode).position === 'fixed' || hasFixedPositionAncestor(parentNode, stopNode);\n}\n\n// A \"clipping ancestor\" is an `overflow` element with the characteristic of\n// clipping (or hiding) child elements. This returns all clipping ancestors\n// of the given element up the tree.\nfunction getClippingElementAncestors(element, cache) {\n const cachedResult = cache.get(element);\n if (cachedResult) {\n return cachedResult;\n }\n let result = getOverflowAncestors(element, [], false).filter(el => isElement(el) && getNodeName(el) !== 'body');\n let currentContainingBlockComputedStyle = null;\n const elementIsFixed = getComputedStyle$1(element).position === 'fixed';\n let currentNode = elementIsFixed ? getParentNode(element) : element;\n\n // https://developer.mozilla.org/en-US/docs/Web/CSS/Containing_block#identifying_the_containing_block\n while (isElement(currentNode) && !isLastTraversableNode(currentNode)) {\n const computedStyle = getComputedStyle$1(currentNode);\n const currentNodeIsContaining = isContainingBlock(currentNode);\n if (!currentNodeIsContaining && computedStyle.position === 'fixed') {\n currentContainingBlockComputedStyle = null;\n }\n const shouldDropCurrentNode = elementIsFixed ? !currentNodeIsContaining && !currentContainingBlockComputedStyle : !currentNodeIsContaining && computedStyle.position === 'static' && !!currentContainingBlockComputedStyle && absoluteOrFixed.has(currentContainingBlockComputedStyle.position) || isOverflowElement(currentNode) && !currentNodeIsContaining && hasFixedPositionAncestor(element, currentNode);\n if (shouldDropCurrentNode) {\n // Drop non-containing blocks.\n result = result.filter(ancestor => ancestor !== currentNode);\n } else {\n // Record last containing block for next iteration.\n currentContainingBlockComputedStyle = computedStyle;\n }\n currentNode = getParentNode(currentNode);\n }\n cache.set(element, result);\n return result;\n}\n\n// Gets the maximum area that the element is visible in due to any number of\n// clipping ancestors.\nfunction getClippingRect(_ref) {\n let {\n element,\n boundary,\n rootBoundary,\n strategy\n } = _ref;\n const elementClippingAncestors = boundary === 'clippingAncestors' ? isTopLayer(element) ? [] : getClippingElementAncestors(element, this._c) : [].concat(boundary);\n const clippingAncestors = [...elementClippingAncestors, rootBoundary];\n const firstClippingAncestor = clippingAncestors[0];\n const clippingRect = clippingAncestors.reduce((accRect, clippingAncestor) => {\n const rect = getClientRectFromClippingAncestor(element, clippingAncestor, strategy);\n accRect.top = max(rect.top, accRect.top);\n accRect.right = min(rect.right, accRect.right);\n accRect.bottom = min(rect.bottom, accRect.bottom);\n accRect.left = max(rect.left, accRect.left);\n return accRect;\n }, getClientRectFromClippingAncestor(element, firstClippingAncestor, strategy));\n return {\n width: clippingRect.right - clippingRect.left,\n height: clippingRect.bottom - clippingRect.top,\n x: clippingRect.left,\n y: clippingRect.top\n };\n}\n\nfunction getDimensions(element) {\n const {\n width,\n height\n } = getCssDimensions(element);\n return {\n width,\n height\n };\n}\n\nfunction getRectRelativeToOffsetParent(element, offsetParent, strategy) {\n const isOffsetParentAnElement = isHTMLElement(offsetParent);\n const documentElement = getDocumentElement(offsetParent);\n const isFixed = strategy === 'fixed';\n const rect = getBoundingClientRect(element, true, isFixed, offsetParent);\n let scroll = {\n scrollLeft: 0,\n scrollTop: 0\n };\n const offsets = createCoords(0);\n\n // If the <body> scrollbar appears on the left (e.g. RTL systems). Use\n // Firefox with layout.scrollbar.side = 3 in about:config to test this.\n function setLeftRTLScrollbarOffset() {\n offsets.x = getWindowScrollBarX(documentElement);\n }\n if (isOffsetParentAnElement || !isOffsetParentAnElement && !isFixed) {\n if (getNodeName(offsetParent) !== 'body' || isOverflowElement(documentElement)) {\n scroll = getNodeScroll(offsetParent);\n }\n if (isOffsetParentAnElement) {\n const offsetRect = getBoundingClientRect(offsetParent, true, isFixed, offsetParent);\n offsets.x = offsetRect.x + offsetParent.clientLeft;\n offsets.y = offsetRect.y + offsetParent.clientTop;\n } else if (documentElement) {\n setLeftRTLScrollbarOffset();\n }\n }\n if (isFixed && !isOffsetParentAnElement && documentElement) {\n setLeftRTLScrollbarOffset();\n }\n const htmlOffset = documentElement && !isOffsetParentAnElement && !isFixed ? getHTMLOffset(documentElement, scroll) : createCoords(0);\n const x = rect.left + scroll.scrollLeft - offsets.x - htmlOffset.x;\n const y = rect.top + scroll.scrollTop - offsets.y - htmlOffset.y;\n return {\n x,\n y,\n width: rect.width,\n height: rect.height\n };\n}\n\nfunction isStaticPositioned(element) {\n return getComputedStyle$1(element).position === 'static';\n}\n\nfunction getTrueOffsetParent(element, polyfill) {\n if (!isHTMLElement(element) || getComputedStyle$1(element).position === 'fixed') {\n return null;\n }\n if (polyfill) {\n return polyfill(element);\n }\n let rawOffsetParent = element.offsetParent;\n\n // Firefox returns the <html> element as the offsetParent if it's non-static,\n // while Chrome and Safari return the <body> element. The <body> element must\n // be used to perform the correct calculations even if the <html> element is\n // non-static.\n if (getDocumentElement(element) === rawOffsetParent) {\n rawOffsetParent = rawOffsetParent.ownerDocument.body;\n }\n return rawOffsetParent;\n}\n\n// Gets the closest ancestor positioned element. Handles some edge cases,\n// such as table ancestors and cross browser bugs.\nfunction getOffsetParent(element, polyfill) {\n const win = getWindow(element);\n if (isTopLayer(element)) {\n return win;\n }\n if (!isHTMLElement(element)) {\n let svgOffsetParent = getParentNode(element);\n while (svgOffsetParent && !isLastTraversableNode(svgOffsetParent)) {\n if (isElement(svgOffsetParent) && !isStaticPositioned(svgOffsetParent)) {\n return svgOffsetParent;\n }\n svgOffsetParent = getParentNode(svgOffsetParent);\n }\n return win;\n }\n let offsetParent = getTrueOffsetParent(element, polyfill);\n while (offsetParent && isTableElement(offsetParent) && isStaticPositioned(offsetParent)) {\n offsetParent = getTrueOffsetParent(offsetParent, polyfill);\n }\n if (offsetParent && isLastTraversableNode(offsetParent) && isStaticPositioned(offsetParent) && !isContainingBlock(offsetParent)) {\n return win;\n }\n return offsetParent || getContainingBlock(element) || win;\n}\n\nconst getElementRects = async function (data) {\n const getOffsetParentFn = this.getOffsetParent || getOffsetParent;\n const getDimensionsFn = this.getDimensions;\n const floatingDimensions = await getDimensionsFn(data.floating);\n return {\n reference: getRectRelativeToOffsetParent(data.reference, await getOffsetParentFn(data.floating), data.strategy),\n floating: {\n x: 0,\n y: 0,\n width: floatingDimensions.width,\n height: floatingDimensions.height\n }\n };\n};\n\nfunction isRTL(element) {\n return getComputedStyle$1(element).direction === 'rtl';\n}\n\nconst platform = {\n convertOffsetParentRelativeRectToViewportRelativeRect,\n getDocumentElement,\n getClippingRect,\n getOffsetParent,\n getElementRects,\n getClientRects,\n getDimensions,\n getScale,\n isElement,\n isRTL\n};\n\nfunction rectsAreEqual(a, b) {\n return a.x === b.x && a.y === b.y && a.width === b.width && a.height === b.height;\n}\n\n// https://samthor.au/2021/observing-dom/\nfunction observeMove(element, onMove) {\n let io = null;\n let timeoutId;\n const root = getDocumentElement(element);\n function cleanup() {\n var _io;\n clearTimeout(timeoutId);\n (_io = io) == null || _io.disconnect();\n io = null;\n }\n function refresh(skip, threshold) {\n if (skip === void 0) {\n skip = false;\n }\n if (threshold === void 0) {\n threshold = 1;\n }\n cleanup();\n const elementRectForRootMargin = element.getBoundingClientRect();\n const {\n left,\n top,\n width,\n height\n } = elementRectForRootMargin;\n if (!skip) {\n onMove();\n }\n if (!width || !height) {\n return;\n }\n const insetTop = floor(top);\n const insetRight = floor(root.clientWidth - (left + width));\n const insetBottom = floor(root.clientHeight - (top + height));\n const insetLeft = floor(left);\n const rootMargin = -insetTop + \"px \" + -insetRight + \"px \" + -insetBottom + \"px \" + -insetLeft + \"px\";\n const options = {\n rootMargin,\n threshold: max(0, min(1, threshold)) || 1\n };\n let isFirstUpdate = true;\n function handleObserve(entries) {\n const ratio = entries[0].intersectionRatio;\n if (ratio !== threshold) {\n if (!isFirstUpdate) {\n return refresh();\n }\n if (!ratio) {\n // If the reference is clipped, the ratio is 0. Throttle the refresh\n // to prevent an infinite loop of updates.\n timeoutId = setTimeout(() => {\n refresh(false, 1e-7);\n }, 1000);\n } else {\n refresh(false, ratio);\n }\n }\n if (ratio === 1 && !rectsAreEqual(elementRectForRootMargin, element.getBoundingClientRect())) {\n // It's possible that even though the ratio is reported as 1, the\n // element is not actually fully within the IntersectionObserver's root\n // area anymore. This can happen under performance constraints. This may\n // be a bug in the browser's IntersectionObserver implementation. To\n // work around this, we compare the element's bounding rect now with\n // what it was at the time we created the IntersectionObserver. If they\n // are not equal then the element moved, so we refresh.\n refresh();\n }\n isFirstUpdate = false;\n }\n\n // Older browsers don't support a `document` as the root and will throw an\n // error.\n try {\n io = new IntersectionObserver(handleObserve, {\n ...options,\n // Handle <iframe>s\n root: root.ownerDocument\n });\n } catch (_e) {\n io = new IntersectionObserver(handleObserve, options);\n }\n io.observe(element);\n }\n refresh(true);\n return cleanup;\n}\n\n/**\n * Automatically updates the position of the floating element when necessary.\n * Should only be called when the floating element is mounted on the DOM or\n * visible on the screen.\n * @returns cleanup function that should be invoked when the floating element is\n * removed from the DOM or hidden from the screen.\n * @see https://floating-ui.com/docs/autoUpdate\n */\nfunction autoUpdate(reference, floating, update, options) {\n if (options === void 0) {\n options = {};\n }\n const {\n ancestorScroll = true,\n ancestorResize = true,\n elementResize = typeof ResizeObserver === 'function',\n layoutShift = typeof IntersectionObserver === 'function',\n animationFrame = false\n } = options;\n const referenceEl = unwrapElement(reference);\n const ancestors = ancestorScroll || ancestorResize ? [...(referenceEl ? getOverflowAncestors(referenceEl) : []), ...getOverflowAncestors(floating)] : [];\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.addEventListener('scroll', update, {\n passive: true\n });\n ancestorResize && ancestor.addEventListener('resize', update);\n });\n const cleanupIo = referenceEl && layoutShift ? observeMove(referenceEl, update) : null;\n let reobserveFrame = -1;\n let resizeObserver = null;\n if (elementResize) {\n resizeObserver = new ResizeObserver(_ref => {\n let [firstEntry] = _ref;\n if (firstEntry && firstEntry.target === referenceEl && resizeObserver) {\n // Prevent update loops when using the `size` middleware.\n // https://github.com/floating-ui/floating-ui/issues/1740\n resizeObserver.unobserve(floating);\n cancelAnimationFrame(reobserveFrame);\n reobserveFrame = requestAnimationFrame(() => {\n var _resizeObserver;\n (_resizeObserver = resizeObserver) == null || _resizeObserver.observe(floating);\n });\n }\n update();\n });\n if (referenceEl && !animationFrame) {\n resizeObserver.observe(referenceEl);\n }\n resizeObserver.observe(floating);\n }\n let frameId;\n let prevRefRect = animationFrame ? getBoundingClientRect(reference) : null;\n if (animationFrame) {\n frameLoop();\n }\n function frameLoop() {\n const nextRefRect = getBoundingClientRect(reference);\n if (prevRefRect && !rectsAreEqual(prevRefRect, nextRefRect)) {\n update();\n }\n prevRefRect = nextRefRect;\n frameId = requestAnimationFrame(frameLoop);\n }\n update();\n return () => {\n var _resizeObserver2;\n ancestors.forEach(ancestor => {\n ancestorScroll && ancestor.removeEventListener('scroll', update);\n ancestorResize && ancestor.removeEventListener('resize', update);\n });\n cleanupIo == null || cleanupIo();\n (_resizeObserver2 = resizeObserver) == null || _resizeObserver2.disconnect();\n resizeObserver = null;\n if (animationFrame) {\n cancelAnimationFrame(frameId);\n }\n };\n}\n\n/**\n * Resolves with an object of overflow side offsets that determine how much the\n * element is overflowing a given clipping boundary on each side.\n * - positive = overflowing the boundary by that number of pixels\n * - negative = how many pixels left before it will overflow\n * - 0 = lies flush with the boundary\n * @see https://floating-ui.com/docs/detectOverflow\n */\nconst detectOverflow = detectOverflow$1;\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = offset$1;\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = autoPlacement$1;\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = shift$1;\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = flip$1;\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = size$1;\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = hide$1;\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = arrow$1;\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = inline$1;\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = limitShift$1;\n\n/**\n * Computes the `x` and `y` coordinates that will place the floating element\n * next to a given reference element.\n */\nconst computePosition = (reference, floating, options) => {\n // This caches the expensive `getClippingElementAncestors` function so that\n // multiple lifecycle resets re-use the same result. It only lives for a\n // single call. If other functions become expensive, we can add them as well.\n const cache = new Map();\n const mergedOptions = {\n platform,\n ...options\n };\n const platformWithCache = {\n ...mergedOptions.platform,\n _c: cache\n };\n return computePosition$1(reference, floating, {\n ...mergedOptions,\n platform: platformWithCache\n });\n};\n\nexport { arrow, autoPlacement, autoUpdate, computePosition, detectOverflow, flip, hide, inline, limitShift, offset, platform, shift, size };\n","import { computePosition, arrow as arrow$2, autoPlacement as autoPlacement$1, flip as flip$1, hide as hide$1, inline as inline$1, limitShift as limitShift$1, offset as offset$1, shift as shift$1, size as size$1 } from '@floating-ui/dom';\nexport { autoUpdate, computePosition, detectOverflow, getOverflowAncestors, platform } from '@floating-ui/dom';\nimport * as React from 'react';\nimport { useLayoutEffect } from 'react';\nimport * as ReactDOM from 'react-dom';\n\nvar isClient = typeof document !== 'undefined';\n\nvar noop = function noop() {};\nvar index = isClient ? useLayoutEffect : noop;\n\n// Fork of `fast-deep-equal` that only does the comparisons we need and compares\n// functions\nfunction deepEqual(a, b) {\n if (a === b) {\n return true;\n }\n if (typeof a !== typeof b) {\n return false;\n }\n if (typeof a === 'function' && a.toString() === b.toString()) {\n return true;\n }\n let length;\n let i;\n let keys;\n if (a && b && typeof a === 'object') {\n if (Array.isArray(a)) {\n length = a.length;\n if (length !== b.length) return false;\n for (i = length; i-- !== 0;) {\n if (!deepEqual(a[i], b[i])) {\n return false;\n }\n }\n return true;\n }\n keys = Object.keys(a);\n length = keys.length;\n if (length !== Object.keys(b).length) {\n return false;\n }\n for (i = length; i-- !== 0;) {\n if (!{}.hasOwnProperty.call(b, keys[i])) {\n return false;\n }\n }\n for (i = length; i-- !== 0;) {\n const key = keys[i];\n if (key === '_owner' && a.$$typeof) {\n continue;\n }\n if (!deepEqual(a[key], b[key])) {\n return false;\n }\n }\n return true;\n }\n return a !== a && b !== b;\n}\n\nfunction getDPR(element) {\n if (typeof window === 'undefined') {\n return 1;\n }\n const win = element.ownerDocument.defaultView || window;\n return win.devicePixelRatio || 1;\n}\n\nfunction roundByDPR(element, value) {\n const dpr = getDPR(element);\n return Math.round(value * dpr) / dpr;\n}\n\nfunction useLatestRef(value) {\n const ref = React.useRef(value);\n index(() => {\n ref.current = value;\n });\n return ref;\n}\n\n/**\n * Provides data to position a floating element.\n * @see https://floating-ui.com/docs/useFloating\n */\nfunction useFloating(options) {\n if (options === void 0) {\n options = {};\n }\n const {\n placement = 'bottom',\n strategy = 'absolute',\n middleware = [],\n platform,\n elements: {\n reference: externalReference,\n floating: externalFloating\n } = {},\n transform = true,\n whileElementsMounted,\n open\n } = options;\n const [data, setData] = React.useState({\n x: 0,\n y: 0,\n strategy,\n placement,\n middlewareData: {},\n isPositioned: false\n });\n const [latestMiddleware, setLatestMiddleware] = React.useState(middleware);\n if (!deepEqual(latestMiddleware, middleware)) {\n setLatestMiddleware(middleware);\n }\n const [_reference, _setReference] = React.useState(null);\n const [_floating, _setFloating] = React.useState(null);\n const setReference = React.useCallback(node => {\n if (node !== referenceRef.current) {\n referenceRef.current = node;\n _setReference(node);\n }\n }, []);\n const setFloating = React.useCallback(node => {\n if (node !== floatingRef.current) {\n floatingRef.current = node;\n _setFloating(node);\n }\n }, []);\n const referenceEl = externalReference || _reference;\n const floatingEl = externalFloating || _floating;\n const referenceRef = React.useRef(null);\n const floatingRef = React.useRef(null);\n const dataRef = React.useRef(data);\n const hasWhileElementsMounted = whileElementsMounted != null;\n const whileElementsMountedRef = useLatestRef(whileElementsMounted);\n const platformRef = useLatestRef(platform);\n const openRef = useLatestRef(open);\n const update = React.useCallback(() => {\n if (!referenceRef.current || !floatingRef.current) {\n return;\n }\n const config = {\n placement,\n strategy,\n middleware: latestMiddleware\n };\n if (platformRef.current) {\n config.platform = platformRef.current;\n }\n computePosition(referenceRef.current, floatingRef.current, config).then(data => {\n const fullData = {\n ...data,\n // The floating element's position may be recomputed while it's closed\n // but still mounted (such as when transitioning out). To ensure\n // `isPositioned` will be `false` initially on the next open, avoid\n // setting it to `true` when `open === false` (must be specified).\n isPositioned: openRef.current !== false\n };\n if (isMountedRef.current && !deepEqual(dataRef.current, fullData)) {\n dataRef.current = fullData;\n ReactDOM.flushSync(() => {\n setData(fullData);\n });\n }\n });\n }, [latestMiddleware, placement, strategy, platformRef, openRef]);\n index(() => {\n if (open === false && dataRef.current.isPositioned) {\n dataRef.current.isPositioned = false;\n setData(data => ({\n ...data,\n isPositioned: false\n }));\n }\n }, [open]);\n const isMountedRef = React.useRef(false);\n index(() => {\n isMountedRef.current = true;\n return () => {\n isMountedRef.current = false;\n };\n }, []);\n index(() => {\n if (referenceEl) referenceRef.current = referenceEl;\n if (floatingEl) floatingRef.current = floatingEl;\n if (referenceEl && floatingEl) {\n if (whileElementsMountedRef.current) {\n return whileElementsMountedRef.current(referenceEl, floatingEl, update);\n }\n update();\n }\n }, [referenceEl, floatingEl, update, whileElementsMountedRef, hasWhileElementsMounted]);\n const refs = React.useMemo(() => ({\n reference: referenceRef,\n floating: floatingRef,\n setReference,\n setFloating\n }), [setReference, setFloating]);\n const elements = React.useMemo(() => ({\n reference: referenceEl,\n floating: floatingEl\n }), [referenceEl, floatingEl]);\n const floatingStyles = React.useMemo(() => {\n const initialStyles = {\n position: strategy,\n left: 0,\n top: 0\n };\n if (!elements.floating) {\n return initialStyles;\n }\n const x = roundByDPR(elements.floating, data.x);\n const y = roundByDPR(elements.floating, data.y);\n if (transform) {\n return {\n ...initialStyles,\n transform: \"translate(\" + x + \"px, \" + y + \"px)\",\n ...(getDPR(elements.floating) >= 1.5 && {\n willChange: 'transform'\n })\n };\n }\n return {\n position: strategy,\n left: x,\n top: y\n };\n }, [strategy, transform, elements.floating, data.x, data.y]);\n return React.useMemo(() => ({\n ...data,\n update,\n refs,\n elements,\n floatingStyles\n }), [data, update, refs, elements, floatingStyles]);\n}\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow$1 = options => {\n function isRef(value) {\n return {}.hasOwnProperty.call(value, 'current');\n }\n return {\n name: 'arrow',\n options,\n fn(state) {\n const {\n element,\n padding\n } = typeof options === 'function' ? options(state) : options;\n if (element && isRef(element)) {\n if (element.current != null) {\n return arrow$2({\n element: element.current,\n padding\n }).fn(state);\n }\n return {};\n }\n if (element) {\n return arrow$2({\n element,\n padding\n }).fn(state);\n }\n return {};\n }\n };\n};\n\n/**\n * Modifies the placement by translating the floating element along the\n * specified axes.\n * A number (shorthand for `mainAxis` or distance), or an axes configuration\n * object may be passed.\n * @see https://floating-ui.com/docs/offset\n */\nconst offset = (options, deps) => ({\n ...offset$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by shifting it in order to\n * keep it in view when it will overflow the clipping boundary.\n * @see https://floating-ui.com/docs/shift\n */\nconst shift = (options, deps) => ({\n ...shift$1(options),\n options: [options, deps]\n});\n\n/**\n * Built-in `limiter` that will stop `shift()` at a certain point.\n */\nconst limitShift = (options, deps) => ({\n ...limitShift$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by flipping the `placement`\n * in order to keep it in view when the preferred placement(s) will overflow the\n * clipping boundary. Alternative to `autoPlacement`.\n * @see https://floating-ui.com/docs/flip\n */\nconst flip = (options, deps) => ({\n ...flip$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data that allows you to change the size of the floating element —\n * for instance, prevent it from overflowing the clipping boundary or match the\n * width of the reference element.\n * @see https://floating-ui.com/docs/size\n */\nconst size = (options, deps) => ({\n ...size$1(options),\n options: [options, deps]\n});\n\n/**\n * Optimizes the visibility of the floating element by choosing the placement\n * that has the most space available automatically, without needing to specify a\n * preferred placement. Alternative to `flip`.\n * @see https://floating-ui.com/docs/autoPlacement\n */\nconst autoPlacement = (options, deps) => ({\n ...autoPlacement$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to hide the floating element in applicable situations, such as\n * when it is not in the same clipping context as the reference element.\n * @see https://floating-ui.com/docs/hide\n */\nconst hide = (options, deps) => ({\n ...hide$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides improved positioning for inline reference elements that can span\n * over multiple lines, such as hyperlinks or range selections.\n * @see https://floating-ui.com/docs/inline\n */\nconst inline = (options, deps) => ({\n ...inline$1(options),\n options: [options, deps]\n});\n\n/**\n * Provides data to position an inner element of the floating element so that it\n * appears centered to the reference element.\n * This wraps the core `arrow` middleware to allow React refs as the element.\n * @see https://floating-ui.com/docs/arrow\n */\nconst arrow = (options, deps) => ({\n ...arrow$1(options),\n options: [options, deps]\n});\n\nexport { arrow, autoPlacement, flip, hide, inline, limitShift, offset, shift, size, useFloating };\n","// src/arrow.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar NAME = \"Arrow\";\nvar Arrow = React.forwardRef((props, forwardedRef) => {\n const { children, width = 10, height = 5, ...arrowProps } = props;\n return /* @__PURE__ */ jsx(\n Primitive.svg,\n {\n ...arrowProps,\n ref: forwardedRef,\n width,\n height,\n viewBox: \"0 0 30 10\",\n preserveAspectRatio: \"none\",\n children: props.asChild ? children : /* @__PURE__ */ jsx(\"polygon\", { points: \"0,0 30,0 15,10\" })\n }\n );\n});\nArrow.displayName = NAME;\nvar Root = Arrow;\nexport {\n Arrow,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// packages/react/use-size/src/use-size.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nfunction useSize(element) {\n const [size, setSize] = React.useState(void 0);\n useLayoutEffect(() => {\n if (element) {\n setSize({ width: element.offsetWidth, height: element.offsetHeight });\n const resizeObserver = new ResizeObserver((entries) => {\n if (!Array.isArray(entries)) {\n return;\n }\n if (!entries.length) {\n return;\n }\n const entry = entries[0];\n let width;\n let height;\n if (\"borderBoxSize\" in entry) {\n const borderSizeEntry = entry[\"borderBoxSize\"];\n const borderSize = Array.isArray(borderSizeEntry) ? borderSizeEntry[0] : borderSizeEntry;\n width = borderSize[\"inlineSize\"];\n height = borderSize[\"blockSize\"];\n } else {\n width = element.offsetWidth;\n height = element.offsetHeight;\n }\n setSize({ width, height });\n });\n resizeObserver.observe(element, { box: \"border-box\" });\n return () => resizeObserver.unobserve(element);\n } else {\n setSize(void 0);\n }\n }, [element]);\n return size;\n}\nexport {\n useSize\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/popper.tsx\nimport * as React from \"react\";\nimport {\n useFloating,\n autoUpdate,\n offset,\n shift,\n limitShift,\n hide,\n arrow as floatingUIarrow,\n flip,\n size\n} from \"@floating-ui/react-dom\";\nimport * as ArrowPrimitive from \"@radix-ui/react-arrow\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useCallbackRef } from \"@radix-ui/react-use-callback-ref\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { useSize } from \"@radix-ui/react-use-size\";\nimport { jsx } from \"react/jsx-runtime\";\nvar SIDE_OPTIONS = [\"top\", \"right\", \"bottom\", \"left\"];\nvar ALIGN_OPTIONS = [\"start\", \"center\", \"end\"];\nvar POPPER_NAME = \"Popper\";\nvar [createPopperContext, createPopperScope] = createContextScope(POPPER_NAME);\nvar [PopperProvider, usePopperContext] = createPopperContext(POPPER_NAME);\nvar Popper = (props) => {\n const { __scopePopper, children } = props;\n const [anchor, setAnchor] = React.useState(null);\n return /* @__PURE__ */ jsx(PopperProvider, { scope: __scopePopper, anchor, onAnchorChange: setAnchor, children });\n};\nPopper.displayName = POPPER_NAME;\nvar ANCHOR_NAME = \"PopperAnchor\";\nvar PopperAnchor = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopePopper, virtualRef, ...anchorProps } = props;\n const context = usePopperContext(ANCHOR_NAME, __scopePopper);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const anchorRef = React.useRef(null);\n React.useEffect(() => {\n const previousAnchor = anchorRef.current;\n anchorRef.current = virtualRef?.current || ref.current;\n if (previousAnchor !== anchorRef.current) {\n context.onAnchorChange(anchorRef.current);\n }\n });\n return virtualRef ? null : /* @__PURE__ */ jsx(Primitive.div, { ...anchorProps, ref: composedRefs });\n }\n);\nPopperAnchor.displayName = ANCHOR_NAME;\nvar CONTENT_NAME = \"PopperContent\";\nvar [PopperContentProvider, useContentContext] = createPopperContext(CONTENT_NAME);\nvar PopperContent = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopePopper,\n side = \"bottom\",\n sideOffset = 0,\n align = \"center\",\n alignOffset = 0,\n arrowPadding = 0,\n avoidCollisions = true,\n collisionBoundary = [],\n collisionPadding: collisionPaddingProp = 0,\n sticky = \"partial\",\n hideWhenDetached = false,\n updatePositionStrategy = \"optimized\",\n onPlaced,\n ...contentProps\n } = props;\n const context = usePopperContext(CONTENT_NAME, __scopePopper);\n const [content, setContent] = React.useState(null);\n const composedRefs = useComposedRefs(forwardedRef, (node) => setContent(node));\n const [arrow, setArrow] = React.useState(null);\n const arrowSize = useSize(arrow);\n const arrowWidth = arrowSize?.width ?? 0;\n const arrowHeight = arrowSize?.height ?? 0;\n const desiredPlacement = side + (align !== \"center\" ? \"-\" + align : \"\");\n const collisionPadding = typeof collisionPaddingProp === \"number\" ? collisionPaddingProp : { top: 0, right: 0, bottom: 0, left: 0, ...collisionPaddingProp };\n const boundary = Array.isArray(collisionBoundary) ? collisionBoundary : [collisionBoundary];\n const hasExplicitBoundaries = boundary.length > 0;\n const detectOverflowOptions = {\n padding: collisionPadding,\n boundary: boundary.filter(isNotNull),\n // with `strategy: 'fixed'`, this is the only way to get it to respect boundaries\n altBoundary: hasExplicitBoundaries\n };\n const { refs, floatingStyles, placement, isPositioned, middlewareData } = useFloating({\n // default to `fixed` strategy so users don't have to pick and we also avoid focus scroll issues\n strategy: \"fixed\",\n placement: desiredPlacement,\n whileElementsMounted: (...args) => {\n const cleanup = autoUpdate(...args, {\n animationFrame: updatePositionStrategy === \"always\"\n });\n return cleanup;\n },\n elements: {\n reference: context.anchor\n },\n middleware: [\n offset({ mainAxis: sideOffset + arrowHeight, alignmentAxis: alignOffset }),\n avoidCollisions && shift({\n mainAxis: true,\n crossAxis: false,\n limiter: sticky === \"partial\" ? limitShift() : void 0,\n ...detectOverflowOptions\n }),\n avoidCollisions && flip({ ...detectOverflowOptions }),\n size({\n ...detectOverflowOptions,\n apply: ({ elements, rects, availableWidth, availableHeight }) => {\n const { width: anchorWidth, height: anchorHeight } = rects.reference;\n const contentStyle = elements.floating.style;\n contentStyle.setProperty(\"--radix-popper-available-width\", `${availableWidth}px`);\n contentStyle.setProperty(\"--radix-popper-available-height\", `${availableHeight}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-width\", `${anchorWidth}px`);\n contentStyle.setProperty(\"--radix-popper-anchor-height\", `${anchorHeight}px`);\n }\n }),\n arrow && floatingUIarrow({ element: arrow, padding: arrowPadding }),\n transformOrigin({ arrowWidth, arrowHeight }),\n hideWhenDetached && hide({ strategy: \"referenceHidden\", ...detectOverflowOptions })\n ]\n });\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const handlePlaced = useCallbackRef(onPlaced);\n useLayoutEffect(() => {\n if (isPositioned) {\n handlePlaced?.();\n }\n }, [isPositioned, handlePlaced]);\n const arrowX = middlewareData.arrow?.x;\n const arrowY = middlewareData.arrow?.y;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const [contentZIndex, setContentZIndex] = React.useState();\n useLayoutEffect(() => {\n if (content) setContentZIndex(window.getComputedStyle(content).zIndex);\n }, [content]);\n return /* @__PURE__ */ jsx(\n \"div\",\n {\n ref: refs.setFloating,\n \"data-radix-popper-content-wrapper\": \"\",\n style: {\n ...floatingStyles,\n transform: isPositioned ? floatingStyles.transform : \"translate(0, -200%)\",\n // keep off the page when measuring\n minWidth: \"max-content\",\n zIndex: contentZIndex,\n [\"--radix-popper-transform-origin\"]: [\n middlewareData.transformOrigin?.x,\n middlewareData.transformOrigin?.y\n ].join(\" \"),\n // hide the content if using the hide middleware and should be hidden\n // set visibility to hidden and disable pointer events so the UI behaves\n // as if the PopperContent isn't there at all\n ...middlewareData.hide?.referenceHidden && {\n visibility: \"hidden\",\n pointerEvents: \"none\"\n }\n },\n dir: props.dir,\n children: /* @__PURE__ */ jsx(\n PopperContentProvider,\n {\n scope: __scopePopper,\n placedSide,\n onArrowChange: setArrow,\n arrowX,\n arrowY,\n shouldHideArrow: cannotCenterArrow,\n children: /* @__PURE__ */ jsx(\n Primitive.div,\n {\n \"data-side\": placedSide,\n \"data-align\": placedAlign,\n ...contentProps,\n ref: composedRefs,\n style: {\n ...contentProps.style,\n // if the PopperContent hasn't been placed yet (not all measurements done)\n // we prevent animations so that users's animation don't kick in too early referring wrong sides\n animation: !isPositioned ? \"none\" : void 0\n }\n }\n )\n }\n )\n }\n );\n }\n);\nPopperContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"PopperArrow\";\nvar OPPOSITE_SIDE = {\n top: \"bottom\",\n right: \"left\",\n bottom: \"top\",\n left: \"right\"\n};\nvar PopperArrow = React.forwardRef(function PopperArrow2(props, forwardedRef) {\n const { __scopePopper, ...arrowProps } = props;\n const contentContext = useContentContext(ARROW_NAME, __scopePopper);\n const baseSide = OPPOSITE_SIDE[contentContext.placedSide];\n return (\n // we have to use an extra wrapper because `ResizeObserver` (used by `useSize`)\n // doesn't report size as we'd expect on SVG elements.\n // it reports their bounding box which is effectively the largest path inside the SVG.\n /* @__PURE__ */ jsx(\n \"span\",\n {\n ref: contentContext.onArrowChange,\n style: {\n position: \"absolute\",\n left: contentContext.arrowX,\n top: contentContext.arrowY,\n [baseSide]: 0,\n transformOrigin: {\n top: \"\",\n right: \"0 0\",\n bottom: \"center 0\",\n left: \"100% 0\"\n }[contentContext.placedSide],\n transform: {\n top: \"translateY(100%)\",\n right: \"translateY(50%) rotate(90deg) translateX(-50%)\",\n bottom: `rotate(180deg)`,\n left: \"translateY(50%) rotate(-90deg) translateX(50%)\"\n }[contentContext.placedSide],\n visibility: contentContext.shouldHideArrow ? \"hidden\" : void 0\n },\n children: /* @__PURE__ */ jsx(\n ArrowPrimitive.Root,\n {\n ...arrowProps,\n ref: forwardedRef,\n style: {\n ...arrowProps.style,\n // ensures the element can be measured correctly (mostly for if SVG)\n display: \"block\"\n }\n }\n )\n }\n )\n );\n});\nPopperArrow.displayName = ARROW_NAME;\nfunction isNotNull(value) {\n return value !== null;\n}\nvar transformOrigin = (options) => ({\n name: \"transformOrigin\",\n options,\n fn(data) {\n const { placement, rects, middlewareData } = data;\n const cannotCenterArrow = middlewareData.arrow?.centerOffset !== 0;\n const isArrowHidden = cannotCenterArrow;\n const arrowWidth = isArrowHidden ? 0 : options.arrowWidth;\n const arrowHeight = isArrowHidden ? 0 : options.arrowHeight;\n const [placedSide, placedAlign] = getSideAndAlignFromPlacement(placement);\n const noArrowAlign = { start: \"0%\", center: \"50%\", end: \"100%\" }[placedAlign];\n const arrowXCenter = (middlewareData.arrow?.x ?? 0) + arrowWidth / 2;\n const arrowYCenter = (middlewareData.arrow?.y ?? 0) + arrowHeight / 2;\n let x = \"\";\n let y = \"\";\n if (placedSide === \"bottom\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${-arrowHeight}px`;\n } else if (placedSide === \"top\") {\n x = isArrowHidden ? noArrowAlign : `${arrowXCenter}px`;\n y = `${rects.floating.height + arrowHeight}px`;\n } else if (placedSide === \"right\") {\n x = `${-arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n } else if (placedSide === \"left\") {\n x = `${rects.floating.width + arrowHeight}px`;\n y = isArrowHidden ? noArrowAlign : `${arrowYCenter}px`;\n }\n return { data: { x, y } };\n }\n});\nfunction getSideAndAlignFromPlacement(placement) {\n const [side, align = \"center\"] = placement.split(\"-\");\n return [side, align];\n}\nvar Root2 = Popper;\nvar Anchor = PopperAnchor;\nvar Content = PopperContent;\nvar Arrow = PopperArrow;\nexport {\n ALIGN_OPTIONS,\n Anchor,\n Arrow,\n Content,\n Popper,\n PopperAnchor,\n PopperArrow,\n PopperContent,\n Root2 as Root,\n SIDE_OPTIONS,\n createPopperScope\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/portal.tsx\nimport * as React from \"react\";\nimport ReactDOM from \"react-dom\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nimport { jsx } from \"react/jsx-runtime\";\nvar PORTAL_NAME = \"Portal\";\nvar Portal = React.forwardRef((props, forwardedRef) => {\n const { container: containerProp, ...portalProps } = props;\n const [mounted, setMounted] = React.useState(false);\n useLayoutEffect(() => setMounted(true), []);\n const container = containerProp || mounted && globalThis?.document?.body;\n return container ? ReactDOM.createPortal(/* @__PURE__ */ jsx(Primitive.div, { ...portalProps, ref: forwardedRef }), container) : null;\n});\nPortal.displayName = PORTAL_NAME;\nvar Root = Portal;\nexport {\n Portal,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/presence.tsx\nimport * as React2 from \"react\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\n\n// src/use-state-machine.tsx\nimport * as React from \"react\";\nfunction useStateMachine(initialState, machine) {\n return React.useReducer((state, event) => {\n const nextState = machine[state][event];\n return nextState ?? state;\n }, initialState);\n}\n\n// src/presence.tsx\nvar Presence = (props) => {\n const { present, children } = props;\n const presence = usePresence(present);\n const child = typeof children === \"function\" ? children({ present: presence.isPresent }) : React2.Children.only(children);\n const ref = useComposedRefs(presence.ref, getElementRef(child));\n const forceMount = typeof children === \"function\";\n return forceMount || presence.isPresent ? React2.cloneElement(child, { ref }) : null;\n};\nPresence.displayName = \"Presence\";\nfunction usePresence(present) {\n const [node, setNode] = React2.useState();\n const stylesRef = React2.useRef(null);\n const prevPresentRef = React2.useRef(present);\n const prevAnimationNameRef = React2.useRef(\"none\");\n const initialState = present ? \"mounted\" : \"unmounted\";\n const [state, send] = useStateMachine(initialState, {\n mounted: {\n UNMOUNT: \"unmounted\",\n ANIMATION_OUT: \"unmountSuspended\"\n },\n unmountSuspended: {\n MOUNT: \"mounted\",\n ANIMATION_END: \"unmounted\"\n },\n unmounted: {\n MOUNT: \"mounted\"\n }\n });\n React2.useEffect(() => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n prevAnimationNameRef.current = state === \"mounted\" ? currentAnimationName : \"none\";\n }, [state]);\n useLayoutEffect(() => {\n const styles = stylesRef.current;\n const wasPresent = prevPresentRef.current;\n const hasPresentChanged = wasPresent !== present;\n if (hasPresentChanged) {\n const prevAnimationName = prevAnimationNameRef.current;\n const currentAnimationName = getAnimationName(styles);\n if (present) {\n send(\"MOUNT\");\n } else if (currentAnimationName === \"none\" || styles?.display === \"none\") {\n send(\"UNMOUNT\");\n } else {\n const isAnimating = prevAnimationName !== currentAnimationName;\n if (wasPresent && isAnimating) {\n send(\"ANIMATION_OUT\");\n } else {\n send(\"UNMOUNT\");\n }\n }\n prevPresentRef.current = present;\n }\n }, [present, send]);\n useLayoutEffect(() => {\n if (node) {\n let timeoutId;\n const ownerWindow = node.ownerDocument.defaultView ?? window;\n const handleAnimationEnd = (event) => {\n const currentAnimationName = getAnimationName(stylesRef.current);\n const isCurrentAnimation = currentAnimationName.includes(CSS.escape(event.animationName));\n if (event.target === node && isCurrentAnimation) {\n send(\"ANIMATION_END\");\n if (!prevPresentRef.current) {\n const currentFillMode = node.style.animationFillMode;\n node.style.animationFillMode = \"forwards\";\n timeoutId = ownerWindow.setTimeout(() => {\n if (node.style.animationFillMode === \"forwards\") {\n node.style.animationFillMode = currentFillMode;\n }\n });\n }\n }\n };\n const handleAnimationStart = (event) => {\n if (event.target === node) {\n prevAnimationNameRef.current = getAnimationName(stylesRef.current);\n }\n };\n node.addEventListener(\"animationstart\", handleAnimationStart);\n node.addEventListener(\"animationcancel\", handleAnimationEnd);\n node.addEventListener(\"animationend\", handleAnimationEnd);\n return () => {\n ownerWindow.clearTimeout(timeoutId);\n node.removeEventListener(\"animationstart\", handleAnimationStart);\n node.removeEventListener(\"animationcancel\", handleAnimationEnd);\n node.removeEventListener(\"animationend\", handleAnimationEnd);\n };\n } else {\n send(\"ANIMATION_END\");\n }\n }, [node, send]);\n return {\n isPresent: [\"mounted\", \"unmountSuspended\"].includes(state),\n ref: React2.useCallback((node2) => {\n stylesRef.current = node2 ? getComputedStyle(node2) : null;\n setNode(node2);\n }, [])\n };\n}\nfunction getAnimationName(styles) {\n return styles?.animationName || \"none\";\n}\nfunction getElementRef(element) {\n let getter = Object.getOwnPropertyDescriptor(element.props, \"ref\")?.get;\n let mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.ref;\n }\n getter = Object.getOwnPropertyDescriptor(element, \"ref\")?.get;\n mayWarn = getter && \"isReactWarning\" in getter && getter.isReactWarning;\n if (mayWarn) {\n return element.props.ref;\n }\n return element.props.ref || element.ref;\n}\nvar Root = Presence;\nexport {\n Presence,\n Root\n};\n//# sourceMappingURL=index.mjs.map\n","// src/use-controllable-state.tsx\nimport * as React from \"react\";\nimport { useLayoutEffect } from \"@radix-ui/react-use-layout-effect\";\nvar useInsertionEffect = React[\" useInsertionEffect \".trim().toString()] || useLayoutEffect;\nfunction useControllableState({\n prop,\n defaultProp,\n onChange = () => {\n },\n caller\n}) {\n const [uncontrolledProp, setUncontrolledProp, onChangeRef] = useUncontrolledState({\n defaultProp,\n onChange\n });\n const isControlled = prop !== void 0;\n const value = isControlled ? prop : uncontrolledProp;\n if (true) {\n const isControlledRef = React.useRef(prop !== void 0);\n React.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const setValue = React.useCallback(\n (nextValue) => {\n if (isControlled) {\n const value2 = isFunction(nextValue) ? nextValue(prop) : nextValue;\n if (value2 !== prop) {\n onChangeRef.current?.(value2);\n }\n } else {\n setUncontrolledProp(nextValue);\n }\n },\n [isControlled, prop, setUncontrolledProp, onChangeRef]\n );\n return [value, setValue];\n}\nfunction useUncontrolledState({\n defaultProp,\n onChange\n}) {\n const [value, setValue] = React.useState(defaultProp);\n const prevValueRef = React.useRef(value);\n const onChangeRef = React.useRef(onChange);\n useInsertionEffect(() => {\n onChangeRef.current = onChange;\n }, [onChange]);\n React.useEffect(() => {\n if (prevValueRef.current !== value) {\n onChangeRef.current?.(value);\n prevValueRef.current = value;\n }\n }, [value, prevValueRef]);\n return [value, setValue, onChangeRef];\n}\nfunction isFunction(value) {\n return typeof value === \"function\";\n}\n\n// src/use-controllable-state-reducer.tsx\nimport * as React2 from \"react\";\nimport { useEffectEvent } from \"@radix-ui/react-use-effect-event\";\nvar SYNC_STATE = Symbol(\"RADIX:SYNC_STATE\");\nfunction useControllableStateReducer(reducer, userArgs, initialArg, init) {\n const { prop: controlledState, defaultProp, onChange: onChangeProp, caller } = userArgs;\n const isControlled = controlledState !== void 0;\n const onChange = useEffectEvent(onChangeProp);\n if (true) {\n const isControlledRef = React2.useRef(controlledState !== void 0);\n React2.useEffect(() => {\n const wasControlled = isControlledRef.current;\n if (wasControlled !== isControlled) {\n const from = wasControlled ? \"controlled\" : \"uncontrolled\";\n const to = isControlled ? \"controlled\" : \"uncontrolled\";\n console.warn(\n `${caller} is changing from ${from} to ${to}. Components should not switch from controlled to uncontrolled (or vice versa). Decide between using a controlled or uncontrolled value for the lifetime of the component.`\n );\n }\n isControlledRef.current = isControlled;\n }, [isControlled, caller]);\n }\n const args = [{ ...initialArg, state: defaultProp }];\n if (init) {\n args.push(init);\n }\n const [internalState, dispatch] = React2.useReducer(\n (state2, action) => {\n if (action.type === SYNC_STATE) {\n return { ...state2, state: action.state };\n }\n const next = reducer(state2, action);\n if (isControlled && !Object.is(next.state, state2.state)) {\n onChange(next.state);\n }\n return next;\n },\n ...args\n );\n const uncontrolledState = internalState.state;\n const prevValueRef = React2.useRef(uncontrolledState);\n React2.useEffect(() => {\n if (prevValueRef.current !== uncontrolledState) {\n prevValueRef.current = uncontrolledState;\n if (!isControlled) {\n onChange(uncontrolledState);\n }\n }\n }, [onChange, uncontrolledState, prevValueRef, isControlled]);\n const state = React2.useMemo(() => {\n const isControlled2 = controlledState !== void 0;\n if (isControlled2) {\n return { ...internalState, state: controlledState };\n }\n return internalState;\n }, [internalState, controlledState]);\n React2.useEffect(() => {\n if (isControlled && !Object.is(controlledState, internalState.state)) {\n dispatch({ type: SYNC_STATE, state: controlledState });\n }\n }, [controlledState, internalState.state, isControlled]);\n return [state, dispatch];\n}\nexport {\n useControllableState,\n useControllableStateReducer\n};\n//# sourceMappingURL=index.mjs.map\n","// src/visually-hidden.tsx\nimport * as React from \"react\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { jsx } from \"react/jsx-runtime\";\nvar VISUALLY_HIDDEN_STYLES = Object.freeze({\n // See: https://github.com/twbs/bootstrap/blob/main/scss/mixins/_visually-hidden.scss\n position: \"absolute\",\n border: 0,\n width: 1,\n height: 1,\n padding: 0,\n margin: -1,\n overflow: \"hidden\",\n clip: \"rect(0, 0, 0, 0)\",\n whiteSpace: \"nowrap\",\n wordWrap: \"normal\"\n});\nvar NAME = \"VisuallyHidden\";\nvar VisuallyHidden = React.forwardRef(\n (props, forwardedRef) => {\n return /* @__PURE__ */ jsx(\n Primitive.span,\n {\n ...props,\n ref: forwardedRef,\n style: { ...VISUALLY_HIDDEN_STYLES, ...props.style }\n }\n );\n }\n);\nVisuallyHidden.displayName = NAME;\nvar Root = VisuallyHidden;\nexport {\n Root,\n VISUALLY_HIDDEN_STYLES,\n VisuallyHidden\n};\n//# sourceMappingURL=index.mjs.map\n","\"use client\";\n\n// src/tooltip.tsx\nimport * as React from \"react\";\nimport { composeEventHandlers } from \"@radix-ui/primitive\";\nimport { useComposedRefs } from \"@radix-ui/react-compose-refs\";\nimport { createContextScope } from \"@radix-ui/react-context\";\nimport { DismissableLayer } from \"@radix-ui/react-dismissable-layer\";\nimport { useId } from \"@radix-ui/react-id\";\nimport * as PopperPrimitive from \"@radix-ui/react-popper\";\nimport { createPopperScope } from \"@radix-ui/react-popper\";\nimport { Portal as PortalPrimitive } from \"@radix-ui/react-portal\";\nimport { Presence } from \"@radix-ui/react-presence\";\nimport { Primitive } from \"@radix-ui/react-primitive\";\nimport { createSlottable } from \"@radix-ui/react-slot\";\nimport { useControllableState } from \"@radix-ui/react-use-controllable-state\";\nimport * as VisuallyHiddenPrimitive from \"@radix-ui/react-visually-hidden\";\nimport { jsx, jsxs } from \"react/jsx-runtime\";\nvar [createTooltipContext, createTooltipScope] = createContextScope(\"Tooltip\", [\n createPopperScope\n]);\nvar usePopperScope = createPopperScope();\nvar PROVIDER_NAME = \"TooltipProvider\";\nvar DEFAULT_DELAY_DURATION = 700;\nvar TOOLTIP_OPEN = \"tooltip.open\";\nvar [TooltipProviderContextProvider, useTooltipProviderContext] = createTooltipContext(PROVIDER_NAME);\nvar TooltipProvider = (props) => {\n const {\n __scopeTooltip,\n delayDuration = DEFAULT_DELAY_DURATION,\n skipDelayDuration = 300,\n disableHoverableContent = false,\n children\n } = props;\n const isOpenDelayedRef = React.useRef(true);\n const isPointerInTransitRef = React.useRef(false);\n const skipDelayTimerRef = React.useRef(0);\n React.useEffect(() => {\n const skipDelayTimer = skipDelayTimerRef.current;\n return () => window.clearTimeout(skipDelayTimer);\n }, []);\n return /* @__PURE__ */ jsx(\n TooltipProviderContextProvider,\n {\n scope: __scopeTooltip,\n isOpenDelayedRef,\n delayDuration,\n onOpen: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n isOpenDelayedRef.current = false;\n }, []),\n onClose: React.useCallback(() => {\n window.clearTimeout(skipDelayTimerRef.current);\n skipDelayTimerRef.current = window.setTimeout(\n () => isOpenDelayedRef.current = true,\n skipDelayDuration\n );\n }, [skipDelayDuration]),\n isPointerInTransitRef,\n onPointerInTransitChange: React.useCallback((inTransit) => {\n isPointerInTransitRef.current = inTransit;\n }, []),\n disableHoverableContent,\n children\n }\n );\n};\nTooltipProvider.displayName = PROVIDER_NAME;\nvar TOOLTIP_NAME = \"Tooltip\";\nvar [TooltipContextProvider, useTooltipContext] = createTooltipContext(TOOLTIP_NAME);\nvar Tooltip = (props) => {\n const {\n __scopeTooltip,\n children,\n open: openProp,\n defaultOpen,\n onOpenChange,\n disableHoverableContent: disableHoverableContentProp,\n delayDuration: delayDurationProp\n } = props;\n const providerContext = useTooltipProviderContext(TOOLTIP_NAME, props.__scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const [trigger, setTrigger] = React.useState(null);\n const contentId = useId();\n const openTimerRef = React.useRef(0);\n const disableHoverableContent = disableHoverableContentProp ?? providerContext.disableHoverableContent;\n const delayDuration = delayDurationProp ?? providerContext.delayDuration;\n const wasOpenDelayedRef = React.useRef(false);\n const [open, setOpen] = useControllableState({\n prop: openProp,\n defaultProp: defaultOpen ?? false,\n onChange: (open2) => {\n if (open2) {\n providerContext.onOpen();\n document.dispatchEvent(new CustomEvent(TOOLTIP_OPEN));\n } else {\n providerContext.onClose();\n }\n onOpenChange?.(open2);\n },\n caller: TOOLTIP_NAME\n });\n const stateAttribute = React.useMemo(() => {\n return open ? wasOpenDelayedRef.current ? \"delayed-open\" : \"instant-open\" : \"closed\";\n }, [open]);\n const handleOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n wasOpenDelayedRef.current = false;\n setOpen(true);\n }, [setOpen]);\n const handleClose = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n setOpen(false);\n }, [setOpen]);\n const handleDelayedOpen = React.useCallback(() => {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = window.setTimeout(() => {\n wasOpenDelayedRef.current = true;\n setOpen(true);\n openTimerRef.current = 0;\n }, delayDuration);\n }, [delayDuration, setOpen]);\n React.useEffect(() => {\n return () => {\n if (openTimerRef.current) {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n };\n }, []);\n return /* @__PURE__ */ jsx(PopperPrimitive.Root, { ...popperScope, children: /* @__PURE__ */ jsx(\n TooltipContextProvider,\n {\n scope: __scopeTooltip,\n contentId,\n open,\n stateAttribute,\n trigger,\n onTriggerChange: setTrigger,\n onTriggerEnter: React.useCallback(() => {\n if (providerContext.isOpenDelayedRef.current) handleDelayedOpen();\n else handleOpen();\n }, [providerContext.isOpenDelayedRef, handleDelayedOpen, handleOpen]),\n onTriggerLeave: React.useCallback(() => {\n if (disableHoverableContent) {\n handleClose();\n } else {\n window.clearTimeout(openTimerRef.current);\n openTimerRef.current = 0;\n }\n }, [handleClose, disableHoverableContent]),\n onOpen: handleOpen,\n onClose: handleClose,\n disableHoverableContent,\n children\n }\n ) });\n};\nTooltip.displayName = TOOLTIP_NAME;\nvar TRIGGER_NAME = \"TooltipTrigger\";\nvar TooltipTrigger = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...triggerProps } = props;\n const context = useTooltipContext(TRIGGER_NAME, __scopeTooltip);\n const providerContext = useTooltipProviderContext(TRIGGER_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref, context.onTriggerChange);\n const isPointerDownRef = React.useRef(false);\n const hasPointerMoveOpenedRef = React.useRef(false);\n const handlePointerUp = React.useCallback(() => isPointerDownRef.current = false, []);\n React.useEffect(() => {\n return () => document.removeEventListener(\"pointerup\", handlePointerUp);\n }, [handlePointerUp]);\n return /* @__PURE__ */ jsx(PopperPrimitive.Anchor, { asChild: true, ...popperScope, children: /* @__PURE__ */ jsx(\n Primitive.button,\n {\n \"aria-describedby\": context.open ? context.contentId : void 0,\n \"data-state\": context.stateAttribute,\n ...triggerProps,\n ref: composedRefs,\n onPointerMove: composeEventHandlers(props.onPointerMove, (event) => {\n if (event.pointerType === \"touch\") return;\n if (!hasPointerMoveOpenedRef.current && !providerContext.isPointerInTransitRef.current) {\n context.onTriggerEnter();\n hasPointerMoveOpenedRef.current = true;\n }\n }),\n onPointerLeave: composeEventHandlers(props.onPointerLeave, () => {\n context.onTriggerLeave();\n hasPointerMoveOpenedRef.current = false;\n }),\n onPointerDown: composeEventHandlers(props.onPointerDown, () => {\n if (context.open) {\n context.onClose();\n }\n isPointerDownRef.current = true;\n document.addEventListener(\"pointerup\", handlePointerUp, { once: true });\n }),\n onFocus: composeEventHandlers(props.onFocus, () => {\n if (!isPointerDownRef.current) context.onOpen();\n }),\n onBlur: composeEventHandlers(props.onBlur, context.onClose),\n onClick: composeEventHandlers(props.onClick, context.onClose)\n }\n ) });\n }\n);\nTooltipTrigger.displayName = TRIGGER_NAME;\nvar PORTAL_NAME = \"TooltipPortal\";\nvar [PortalProvider, usePortalContext] = createTooltipContext(PORTAL_NAME, {\n forceMount: void 0\n});\nvar TooltipPortal = (props) => {\n const { __scopeTooltip, forceMount, children, container } = props;\n const context = useTooltipContext(PORTAL_NAME, __scopeTooltip);\n return /* @__PURE__ */ jsx(PortalProvider, { scope: __scopeTooltip, forceMount, children: /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: /* @__PURE__ */ jsx(PortalPrimitive, { asChild: true, container, children }) }) });\n};\nTooltipPortal.displayName = PORTAL_NAME;\nvar CONTENT_NAME = \"TooltipContent\";\nvar TooltipContent = React.forwardRef(\n (props, forwardedRef) => {\n const portalContext = usePortalContext(CONTENT_NAME, props.__scopeTooltip);\n const { forceMount = portalContext.forceMount, side = \"top\", ...contentProps } = props;\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n return /* @__PURE__ */ jsx(Presence, { present: forceMount || context.open, children: context.disableHoverableContent ? /* @__PURE__ */ jsx(TooltipContentImpl, { side, ...contentProps, ref: forwardedRef }) : /* @__PURE__ */ jsx(TooltipContentHoverable, { side, ...contentProps, ref: forwardedRef }) });\n }\n);\nvar TooltipContentHoverable = React.forwardRef((props, forwardedRef) => {\n const context = useTooltipContext(CONTENT_NAME, props.__scopeTooltip);\n const providerContext = useTooltipProviderContext(CONTENT_NAME, props.__scopeTooltip);\n const ref = React.useRef(null);\n const composedRefs = useComposedRefs(forwardedRef, ref);\n const [pointerGraceArea, setPointerGraceArea] = React.useState(null);\n const { trigger, onClose } = context;\n const content = ref.current;\n const { onPointerInTransitChange } = providerContext;\n const handleRemoveGraceArea = React.useCallback(() => {\n setPointerGraceArea(null);\n onPointerInTransitChange(false);\n }, [onPointerInTransitChange]);\n const handleCreateGraceArea = React.useCallback(\n (event, hoverTarget) => {\n const currentTarget = event.currentTarget;\n const exitPoint = { x: event.clientX, y: event.clientY };\n const exitSide = getExitSideFromRect(exitPoint, currentTarget.getBoundingClientRect());\n const paddedExitPoints = getPaddedExitPoints(exitPoint, exitSide);\n const hoverTargetPoints = getPointsFromRect(hoverTarget.getBoundingClientRect());\n const graceArea = getHull([...paddedExitPoints, ...hoverTargetPoints]);\n setPointerGraceArea(graceArea);\n onPointerInTransitChange(true);\n },\n [onPointerInTransitChange]\n );\n React.useEffect(() => {\n return () => handleRemoveGraceArea();\n }, [handleRemoveGraceArea]);\n React.useEffect(() => {\n if (trigger && content) {\n const handleTriggerLeave = (event) => handleCreateGraceArea(event, content);\n const handleContentLeave = (event) => handleCreateGraceArea(event, trigger);\n trigger.addEventListener(\"pointerleave\", handleTriggerLeave);\n content.addEventListener(\"pointerleave\", handleContentLeave);\n return () => {\n trigger.removeEventListener(\"pointerleave\", handleTriggerLeave);\n content.removeEventListener(\"pointerleave\", handleContentLeave);\n };\n }\n }, [trigger, content, handleCreateGraceArea, handleRemoveGraceArea]);\n React.useEffect(() => {\n if (pointerGraceArea) {\n const handleTrackPointerGrace = (event) => {\n const target = event.target;\n const pointerPosition = { x: event.clientX, y: event.clientY };\n const hasEnteredTarget = trigger?.contains(target) || content?.contains(target);\n const isPointerOutsideGraceArea = !isPointInPolygon(pointerPosition, pointerGraceArea);\n if (hasEnteredTarget) {\n handleRemoveGraceArea();\n } else if (isPointerOutsideGraceArea) {\n handleRemoveGraceArea();\n onClose();\n }\n };\n document.addEventListener(\"pointermove\", handleTrackPointerGrace);\n return () => document.removeEventListener(\"pointermove\", handleTrackPointerGrace);\n }\n }, [trigger, content, pointerGraceArea, onClose, handleRemoveGraceArea]);\n return /* @__PURE__ */ jsx(TooltipContentImpl, { ...props, ref: composedRefs });\n});\nvar [VisuallyHiddenContentContextProvider, useVisuallyHiddenContentContext] = createTooltipContext(TOOLTIP_NAME, { isInside: false });\nvar Slottable = createSlottable(\"TooltipContent\");\nvar TooltipContentImpl = React.forwardRef(\n (props, forwardedRef) => {\n const {\n __scopeTooltip,\n children,\n \"aria-label\": ariaLabel,\n onEscapeKeyDown,\n onPointerDownOutside,\n ...contentProps\n } = props;\n const context = useTooltipContext(CONTENT_NAME, __scopeTooltip);\n const popperScope = usePopperScope(__scopeTooltip);\n const { onClose } = context;\n React.useEffect(() => {\n document.addEventListener(TOOLTIP_OPEN, onClose);\n return () => document.removeEventListener(TOOLTIP_OPEN, onClose);\n }, [onClose]);\n React.useEffect(() => {\n if (context.trigger) {\n const handleScroll = (event) => {\n const target = event.target;\n if (target?.contains(context.trigger)) onClose();\n };\n window.addEventListener(\"scroll\", handleScroll, { capture: true });\n return () => window.removeEventListener(\"scroll\", handleScroll, { capture: true });\n }\n }, [context.trigger, onClose]);\n return /* @__PURE__ */ jsx(\n DismissableLayer,\n {\n asChild: true,\n disableOutsidePointerEvents: false,\n onEscapeKeyDown,\n onPointerDownOutside,\n onFocusOutside: (event) => event.preventDefault(),\n onDismiss: onClose,\n children: /* @__PURE__ */ jsxs(\n PopperPrimitive.Content,\n {\n \"data-state\": context.stateAttribute,\n ...popperScope,\n ...contentProps,\n ref: forwardedRef,\n style: {\n ...contentProps.style,\n // re-namespace exposed content custom properties\n ...{\n \"--radix-tooltip-content-transform-origin\": \"var(--radix-popper-transform-origin)\",\n \"--radix-tooltip-content-available-width\": \"var(--radix-popper-available-width)\",\n \"--radix-tooltip-content-available-height\": \"var(--radix-popper-available-height)\",\n \"--radix-tooltip-trigger-width\": \"var(--radix-popper-anchor-width)\",\n \"--radix-tooltip-trigger-height\": \"var(--radix-popper-anchor-height)\"\n }\n },\n children: [\n /* @__PURE__ */ jsx(Slottable, { children }),\n /* @__PURE__ */ jsx(VisuallyHiddenContentContextProvider, { scope: __scopeTooltip, isInside: true, children: /* @__PURE__ */ jsx(VisuallyHiddenPrimitive.Root, { id: context.contentId, role: \"tooltip\", children: ariaLabel || children }) })\n ]\n }\n )\n }\n );\n }\n);\nTooltipContent.displayName = CONTENT_NAME;\nvar ARROW_NAME = \"TooltipArrow\";\nvar TooltipArrow = React.forwardRef(\n (props, forwardedRef) => {\n const { __scopeTooltip, ...arrowProps } = props;\n const popperScope = usePopperScope(__scopeTooltip);\n const visuallyHiddenContentContext = useVisuallyHiddenContentContext(\n ARROW_NAME,\n __scopeTooltip\n );\n return visuallyHiddenContentContext.isInside ? null : /* @__PURE__ */ jsx(PopperPrimitive.Arrow, { ...popperScope, ...arrowProps, ref: forwardedRef });\n }\n);\nTooltipArrow.displayName = ARROW_NAME;\nfunction getExitSideFromRect(point, rect) {\n const top = Math.abs(rect.top - point.y);\n const bottom = Math.abs(rect.bottom - point.y);\n const right = Math.abs(rect.right - point.x);\n const left = Math.abs(rect.left - point.x);\n switch (Math.min(top, bottom, right, left)) {\n case left:\n return \"left\";\n case right:\n return \"right\";\n case top:\n return \"top\";\n case bottom:\n return \"bottom\";\n default:\n throw new Error(\"unreachable\");\n }\n}\nfunction getPaddedExitPoints(exitPoint, exitSide, padding = 5) {\n const paddedExitPoints = [];\n switch (exitSide) {\n case \"top\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y + padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"bottom\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y - padding }\n );\n break;\n case \"left\":\n paddedExitPoints.push(\n { x: exitPoint.x + padding, y: exitPoint.y - padding },\n { x: exitPoint.x + padding, y: exitPoint.y + padding }\n );\n break;\n case \"right\":\n paddedExitPoints.push(\n { x: exitPoint.x - padding, y: exitPoint.y - padding },\n { x: exitPoint.x - padding, y: exitPoint.y + padding }\n );\n break;\n }\n return paddedExitPoints;\n}\nfunction getPointsFromRect(rect) {\n const { top, right, bottom, left } = rect;\n return [\n { x: left, y: top },\n { x: right, y: top },\n { x: right, y: bottom },\n { x: left, y: bottom }\n ];\n}\nfunction isPointInPolygon(point, polygon) {\n const { x, y } = point;\n let inside = false;\n for (let i = 0, j = polygon.length - 1; i < polygon.length; j = i++) {\n const ii = polygon[i];\n const jj = polygon[j];\n const xi = ii.x;\n const yi = ii.y;\n const xj = jj.x;\n const yj = jj.y;\n const intersect = yi > y !== yj > y && x < (xj - xi) * (y - yi) / (yj - yi) + xi;\n if (intersect) inside = !inside;\n }\n return inside;\n}\nfunction getHull(points) {\n const newPoints = points.slice();\n newPoints.sort((a, b) => {\n if (a.x < b.x) return -1;\n else if (a.x > b.x) return 1;\n else if (a.y < b.y) return -1;\n else if (a.y > b.y) return 1;\n else return 0;\n });\n return getHullPresorted(newPoints);\n}\nfunction getHullPresorted(points) {\n if (points.length <= 1) return points.slice();\n const upperHull = [];\n for (let i = 0; i < points.length; i++) {\n const p = points[i];\n while (upperHull.length >= 2) {\n const q = upperHull[upperHull.length - 1];\n const r = upperHull[upperHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) upperHull.pop();\n else break;\n }\n upperHull.push(p);\n }\n upperHull.pop();\n const lowerHull = [];\n for (let i = points.length - 1; i >= 0; i--) {\n const p = points[i];\n while (lowerHull.length >= 2) {\n const q = lowerHull[lowerHull.length - 1];\n const r = lowerHull[lowerHull.length - 2];\n if ((q.x - r.x) * (p.y - r.y) >= (q.y - r.y) * (p.x - r.x)) lowerHull.pop();\n else break;\n }\n lowerHull.push(p);\n }\n lowerHull.pop();\n if (upperHull.length === 1 && lowerHull.length === 1 && upperHull[0].x === lowerHull[0].x && upperHull[0].y === lowerHull[0].y) {\n return upperHull;\n } else {\n return upperHull.concat(lowerHull);\n }\n}\nvar Provider = TooltipProvider;\nvar Root3 = Tooltip;\nvar Trigger = TooltipTrigger;\nvar Portal = TooltipPortal;\nvar Content2 = TooltipContent;\nvar Arrow2 = TooltipArrow;\nexport {\n Arrow2 as Arrow,\n Content2 as Content,\n Portal,\n Provider,\n Root3 as Root,\n Tooltip,\n TooltipArrow,\n TooltipContent,\n TooltipPortal,\n TooltipProvider,\n TooltipTrigger,\n Trigger,\n createTooltipScope\n};\n//# sourceMappingURL=index.mjs.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nconst toKebabCase = (string) => string.replace(/([a-z0-9])([A-Z])/g, \"$1-$2\").toLowerCase();\nconst mergeClasses = (...classes) => classes.filter((className, index, array) => {\n return Boolean(className) && className.trim() !== \"\" && array.indexOf(className) === index;\n}).join(\" \").trim();\n\nexport { mergeClasses, toKebabCase };\n//# sourceMappingURL=utils.js.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nvar defaultAttributes = {\n xmlns: \"http://www.w3.org/2000/svg\",\n width: 24,\n height: 24,\n viewBox: \"0 0 24 24\",\n fill: \"none\",\n stroke: \"currentColor\",\n strokeWidth: 2,\n strokeLinecap: \"round\",\n strokeLinejoin: \"round\"\n};\n\nexport { defaultAttributes as default };\n//# sourceMappingURL=defaultAttributes.js.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport defaultAttributes from './defaultAttributes.js';\nimport { mergeClasses } from './shared/src/utils.js';\n\nconst Icon = forwardRef(\n ({\n color = \"currentColor\",\n size = 24,\n strokeWidth = 2,\n absoluteStrokeWidth,\n className = \"\",\n children,\n iconNode,\n ...rest\n }, ref) => {\n return createElement(\n \"svg\",\n {\n ref,\n ...defaultAttributes,\n width: size,\n height: size,\n stroke: color,\n strokeWidth: absoluteStrokeWidth ? Number(strokeWidth) * 24 / Number(size) : strokeWidth,\n className: mergeClasses(\"lucide\", className),\n ...rest\n },\n [\n ...iconNode.map(([tag, attrs]) => createElement(tag, attrs)),\n ...Array.isArray(children) ? children : [children]\n ]\n );\n }\n);\n\nexport { Icon as default };\n//# sourceMappingURL=Icon.js.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport { forwardRef, createElement } from 'react';\nimport { mergeClasses, toKebabCase } from './shared/src/utils.js';\nimport Icon from './Icon.js';\n\nconst createLucideIcon = (iconName, iconNode) => {\n const Component = forwardRef(\n ({ className, ...props }, ref) => createElement(Icon, {\n ref,\n iconNode,\n className: mergeClasses(`lucide-${toKebabCase(iconName)}`, className),\n ...props\n })\n );\n Component.displayName = `${iconName}`;\n return Component;\n};\n\nexport { createLucideIcon as default };\n//# sourceMappingURL=createLucideIcon.js.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Check = createLucideIcon(\"Check\", [[\"path\", { d: \"M20 6 9 17l-5-5\", key: \"1gmf2c\" }]]);\n\nexport { Check as default };\n//# sourceMappingURL=check.js.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst CircleAlert = createLucideIcon(\"CircleAlert\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"10\", key: \"1mglay\" }],\n [\"line\", { x1: \"12\", x2: \"12\", y1: \"8\", y2: \"12\", key: \"1pkeuh\" }],\n [\"line\", { x1: \"12\", x2: \"12.01\", y1: \"16\", y2: \"16\", key: \"4dfq90\" }]\n]);\n\nexport { CircleAlert as default };\n//# sourceMappingURL=circle-alert.js.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Copy = createLucideIcon(\"Copy\", [\n [\"rect\", { width: \"14\", height: \"14\", x: \"8\", y: \"8\", rx: \"2\", ry: \"2\", key: \"17jyea\" }],\n [\"path\", { d: \"M4 16c-1.1 0-2-.9-2-2V4c0-1.1.9-2 2-2h10c1.1 0 2 .9 2 2\", key: \"zix9uf\" }]\n]);\n\nexport { Copy as default };\n//# sourceMappingURL=copy.js.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Moon = createLucideIcon(\"Moon\", [\n [\"path\", { d: \"M12 3a6 6 0 0 0 9 9 9 9 0 1 1-9-9Z\", key: \"a7tn18\" }]\n]);\n\nexport { Moon as default };\n//# sourceMappingURL=moon.js.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst RotateCcw = createLucideIcon(\"RotateCcw\", [\n [\"path\", { d: \"M3 12a9 9 0 1 0 9-9 9.75 9.75 0 0 0-6.74 2.74L3 8\", key: \"1357e3\" }],\n [\"path\", { d: \"M3 3v5h5\", key: \"1xhq8a\" }]\n]);\n\nexport { RotateCcw as default };\n//# sourceMappingURL=rotate-ccw.js.map\n","/**\n * @license lucide-react v0.469.0 - ISC\n *\n * This source code is licensed under the ISC license.\n * See the LICENSE file in the root directory of this source tree.\n */\n\nimport createLucideIcon from '../createLucideIcon.js';\n\nconst Sun = createLucideIcon(\"Sun\", [\n [\"circle\", { cx: \"12\", cy: \"12\", r: \"4\", key: \"4exip2\" }],\n [\"path\", { d: \"M12 2v2\", key: \"tus03m\" }],\n [\"path\", { d: \"M12 20v2\", key: \"1lh1kg\" }],\n [\"path\", { d: \"m4.93 4.93 1.41 1.41\", key: \"149t6j\" }],\n [\"path\", { d: \"m17.66 17.66 1.41 1.41\", key: \"ptbguv\" }],\n [\"path\", { d: \"M2 12h2\", key: \"1t8f8n\" }],\n [\"path\", { d: \"M20 12h2\", key: \"1q8mjw\" }],\n [\"path\", { d: \"m6.34 17.66-1.41 1.41\", key: \"1m8zz5\" }],\n [\"path\", { d: \"m19.07 4.93-1.41 1.41\", key: \"1shlcs\" }]\n]);\n\nexport { Sun as default };\n//# sourceMappingURL=sun.js.map\n","import { useEffect, useRef, useState } from 'react'\nimport Editor from '@monaco-editor/react'\nimport { Terminal as XTerm } from '@xterm/xterm'\nimport '@xterm/xterm/css/xterm.css'\nimport * as Tooltip from '@radix-ui/react-tooltip'\nimport {\n RotateCcw,\n Copy,\n Moon,\n Sun,\n Check,\n AlertCircle\n} from 'lucide-react'\n\n// Default code templates\nconst DEFAULT_CODE: Record<string, string> = {\n java: `void main() {\n System.out.println(\"Hello from NotJS!\");\n System.out.println(\"Enter your name:\");\n\n var scanner = new java.util.Scanner(System.in);\n var name = scanner.nextLine();\n\n System.out.println(\"Hello, \" + name + \"!\");\n}\n`,\n cpp: `#include <iostream>\n#include <string>\n\nint main() {\n std::cout << \"Hello from NotJS C++!\" << std::endl;\n std::cout << \"Enter your name: \";\n\n std::string name;\n std::getline(std::cin, name);\n\n std::cout << \"Hello, \" << name << \"!\" << std::endl;\n\n return 0;\n}\n`\n}\n\nexport interface ExecutionRequest {\n language: string\n code: string\n version: string | null\n arguments: string[]\n}\n\nexport interface NotJSProps {\n websocketUrl?: string\n apiBaseUrl?: string\n initialCode?: string\n initialLanguage?: string\n initialVersion?: string\n initialDarkMode?: boolean\n hideHeader?: boolean\n}\n\nexport default function NotJS({\n websocketUrl = 'ws://localhost:8080/terminal',\n apiBaseUrl = 'http://localhost:8080/api',\n initialCode,\n initialLanguage = 'java',\n initialVersion = '25',\n initialDarkMode = true,\n hideHeader = false\n}: NotJSProps) {\n // State\n const [code, setCode] = useState(initialCode || DEFAULT_CODE[initialLanguage] || DEFAULT_CODE.java)\n const [languages, setLanguages] = useState<string[]>([])\n const [selectedLanguage, setSelectedLanguage] = useState(initialLanguage)\n const [versions, setVersions] = useState<string[]>([])\n const [selectedVersion, setSelectedVersion] = useState<string | null>(initialVersion)\n const [defaultVersion, setDefaultVersion] = useState<string | null>(null)\n const [isDarkMode, setIsDarkMode] = useState(initialDarkMode)\n const [codeCopied, setCodeCopied] = useState(false)\n const [consoleCopied, setConsoleCopied] = useState(false)\n const [leftPanelWidth, setLeftPanelWidth] = useState(50) // percentage\n const [isResizing, setIsResizing] = useState(false)\n const [isAvailable, setIsAvailable] = useState<boolean | null>(null)\n const [errorMessage, setErrorMessage] = useState<string>('')\n\n // Refs\n const terminalRef = useRef<HTMLDivElement>(null)\n const xtermRef = useRef<XTerm | null>(null)\n const wsRef = useRef<WebSocket | null>(null)\n const inputBufferRef = useRef<string>('')\n const containerRef = useRef<HTMLDivElement>(null)\n\n // Check API availability for initial language and version\n useEffect(() => {\n const checkAvailability = async () => {\n try {\n const response = await fetch(`${apiBaseUrl}/language/info/${initialLanguage}`)\n if (!response.ok) {\n throw new Error('Language not supported')\n }\n const info = await response.json()\n\n if (!info.availableVersions.includes(initialVersion)) {\n setIsAvailable(false)\n setErrorMessage(\n `${initialLanguage.toUpperCase()} version ${initialVersion} is not available. Available versions: ${info.availableVersions.join(', ')}`\n )\n } else {\n setIsAvailable(true)\n }\n } catch (error) {\n setIsAvailable(false)\n setErrorMessage(\n `Failed to connect to NotJS API at ${apiBaseUrl}. Please ensure the Spring Boot backend is running.`\n )\n }\n }\n\n checkAvailability()\n }, [apiBaseUrl, initialLanguage, initialVersion])\n\n // Fetch supported languages on mount\n useEffect(() => {\n fetch(`${apiBaseUrl}/language/supported`)\n .then(res => res.json())\n .then((langs: string[]) => {\n setLanguages(langs)\n })\n .catch(err => {\n console.error('Failed to fetch languages:', err)\n })\n }, [apiBaseUrl])\n\n // Fetch versions when language changes\n useEffect(() => {\n if (!selectedLanguage) return\n\n fetch(`${apiBaseUrl}/language/info/${selectedLanguage}`)\n .then(res => res.json())\n .then((info: { availableVersions: string[]; defaultVersion: string }) => {\n setVersions(info.availableVersions)\n setDefaultVersion(info.defaultVersion)\n setSelectedVersion(null) // Reset to default\n })\n .catch(err => {\n console.error('Failed to fetch language info:', err)\n })\n }, [selectedLanguage, apiBaseUrl])\n\n // Load default code when language changes\n useEffect(() => {\n if (DEFAULT_CODE[selectedLanguage]) {\n setCode(DEFAULT_CODE[selectedLanguage])\n }\n }, [selectedLanguage])\n\n // Initialize xterm and WebSocket\n useEffect(() => {\n if (!terminalRef.current || isAvailable !== true) return\n\n // Create terminal\n const term = new XTerm({\n cursorBlink: true,\n fontSize: 14,\n fontFamily: 'Menlo, Monaco, \"Courier New\", monospace',\n theme: isDarkMode ? {\n background: '#0a0a0a',\n foreground: '#d4d4d4',\n cursor: '#ffffff',\n } : {\n background: '#ffffff',\n foreground: '#000000',\n cursor: '#000000',\n },\n scrollback: 1000,\n convertEol: true,\n })\n\n xtermRef.current = term\n term.open(terminalRef.current)\n\n // Fit terminal to container\n const fitTerminal = () => {\n if (terminalRef.current && xtermRef.current) {\n const rect = terminalRef.current.getBoundingClientRect()\n const cols = Math.floor((rect.width - 20) / 9)\n const rows = Math.floor((rect.height - 20) / 17)\n xtermRef.current.resize(cols, rows)\n }\n }\n\n setTimeout(fitTerminal, 100)\n window.addEventListener('resize', fitTerminal)\n\n // Connect WebSocket\n const ws = new WebSocket(websocketUrl)\n wsRef.current = ws\n\n ws.onopen = () => {\n console.log('WebSocket connected')\n term.write('\\x1b[1;32m> Connected\\x1b[0m\\r\\n')\n\n // Send initial execution request\n const executionRequest: ExecutionRequest = {\n language: selectedLanguage,\n code: code,\n version: selectedVersion || defaultVersion || null,\n arguments: []\n }\n\n ws.send(JSON.stringify(executionRequest))\n term.write(`\\x1b[1;36m> Running ${selectedLanguage} ${selectedVersion || defaultVersion || ''}...\\x1b[0m\\r\\n`)\n }\n\n ws.onmessage = (event) => {\n const data = event.data.replace(/\\n/g, '\\r\\n')\n term.write(data)\n }\n\n ws.onerror = (error) => {\n console.error('WebSocket error:', error)\n term.write('\\x1b[1;31m\\r\\n[ERROR] WebSocket connection error\\x1b[0m\\r\\n')\n }\n\n ws.onclose = () => {\n console.log('WebSocket closed')\n term.write('\\x1b[1;33m\\r\\n[DISCONNECTED]\\x1b[0m\\r\\n')\n }\n\n // Handle terminal input\n term.onData((data) => {\n if (ws.readyState === WebSocket.OPEN) {\n if (data === '\\x7f' || data === '\\b') {\n // Backspace\n if (inputBufferRef.current.length > 0) {\n inputBufferRef.current = inputBufferRef.current.slice(0, -1)\n term.write('\\b \\b')\n }\n } else if (data === '\\r') {\n // Enter - send line\n term.write('\\r\\n')\n ws.send(inputBufferRef.current + '\\n')\n inputBufferRef.current = ''\n } else if (data === '\\x03') {\n // Ctrl+C\n term.write('^C\\r\\n')\n inputBufferRef.current = ''\n } else {\n // Normal character\n inputBufferRef.current += data\n term.write(data)\n }\n }\n })\n\n return () => {\n window.removeEventListener('resize', fitTerminal)\n term.dispose()\n if (ws.readyState === WebSocket.OPEN) {\n ws.close()\n }\n }\n }, [isAvailable, websocketUrl, selectedLanguage, code, selectedVersion, defaultVersion, isDarkMode])\n\n // Update terminal theme when dark mode changes\n useEffect(() => {\n if (xtermRef.current) {\n xtermRef.current.options.theme = isDarkMode ? {\n background: '#0a0a0a',\n foreground: '#d4d4d4',\n cursor: '#ffffff',\n } : {\n background: '#ffffff',\n foreground: '#000000',\n cursor: '#000000',\n }\n }\n }, [isDarkMode])\n\n // Handle run/restart\n const handleRun = () => {\n if (!xtermRef.current || !terminalRef.current) return\n\n // Close existing connection and remove its handlers to prevent them from writing to terminal\n if (wsRef.current) {\n const oldWs = wsRef.current\n // Remove all event handlers before closing\n oldWs.onopen = null\n oldWs.onmessage = null\n oldWs.onerror = null\n oldWs.onclose = null\n oldWs.close()\n }\n\n // Clear terminal completely (including scrollback buffer)\n xtermRef.current.reset()\n xtermRef.current.clear()\n inputBufferRef.current = ''\n\n // Reconnect\n const ws = new WebSocket(websocketUrl)\n wsRef.current = ws\n\n ws.onopen = () => {\n console.log('WebSocket reconnected')\n xtermRef.current?.write('\\x1b[1;32m> Connected\\x1b[0m\\r\\n')\n\n const executionRequest: ExecutionRequest = {\n language: selectedLanguage,\n code: code,\n version: selectedVersion || defaultVersion || null,\n arguments: []\n }\n\n ws.send(JSON.stringify(executionRequest))\n xtermRef.current?.write(`\\x1b[1;36m> Running ${selectedLanguage} ${selectedVersion || defaultVersion || ''}...\\x1b[0m\\r\\n`)\n }\n\n ws.onmessage = (event) => {\n const data = event.data.replace(/\\n/g, '\\r\\n')\n xtermRef.current?.write(data)\n }\n\n ws.onerror = (error) => {\n console.error('WebSocket error:', error)\n xtermRef.current?.write('\\x1b[1;31m\\r\\n[ERROR] WebSocket connection error\\x1b[0m\\r\\n')\n }\n\n ws.onclose = () => {\n console.log('WebSocket closed')\n xtermRef.current?.write('\\x1b[1;33m\\r\\n[DISCONNECTED]\\x1b[0m\\r\\n')\n }\n\n // Handle terminal input\n xtermRef.current?.onData((data) => {\n if (ws.readyState === WebSocket.OPEN) {\n if (data === '\\x7f' || data === '\\b') {\n if (inputBufferRef.current.length > 0) {\n inputBufferRef.current = inputBufferRef.current.slice(0, -1)\n xtermRef.current?.write('\\b \\b')\n }\n } else if (data === '\\r') {\n xtermRef.current?.write('\\r\\n')\n ws.send(inputBufferRef.current + '\\n')\n inputBufferRef.current = ''\n } else if (data === '\\x03') {\n xtermRef.current?.write('^C\\r\\n')\n inputBufferRef.current = ''\n } else {\n inputBufferRef.current += data\n xtermRef.current?.write(data)\n }\n }\n })\n }\n\n // Handle copy to clipboard\n const copyToClipboard = (text: string, type: 'code' | 'console') => {\n navigator.clipboard.writeText(text).then(() => {\n if (type === 'code') {\n setCodeCopied(true)\n setTimeout(() => setCodeCopied(false), 2000)\n } else {\n setConsoleCopied(true)\n setTimeout(() => setConsoleCopied(false), 2000)\n }\n })\n }\n\n const copyConsoleOutput = () => {\n if (xtermRef.current) {\n const buffer = xtermRef.current.buffer.active\n let text = ''\n for (let i = 0; i < buffer.length; i++) {\n const line = buffer.getLine(i)\n if (line) {\n text += line.translateToString(true) + '\\n'\n }\n }\n copyToClipboard(text, 'console')\n }\n }\n\n // Toggle theme\n const toggleTheme = () => {\n setIsDarkMode(prev => !prev)\n if (isDarkMode) {\n document.documentElement.classList.remove('dark')\n } else {\n document.documentElement.classList.add('dark')\n }\n }\n\n // Initialize dark mode\n useEffect(() => {\n if (isDarkMode) {\n document.documentElement.classList.add('dark')\n }\n }, [])\n\n // Handle resizing panels\n const handleMouseDown = (e: React.MouseEvent) => {\n e.preventDefault()\n setIsResizing(true)\n }\n\n useEffect(() => {\n const handleMouseMove = (e: MouseEvent) => {\n if (!isResizing || !containerRef.current) return\n\n const container = containerRef.current\n const containerRect = container.getBoundingClientRect()\n const newLeftWidth = ((e.clientX - containerRect.left) / containerRect.width) * 100\n\n // Constrain between 20% and 80%\n if (newLeftWidth >= 20 && newLeftWidth <= 80) {\n setLeftPanelWidth(newLeftWidth)\n }\n }\n\n const handleMouseUp = () => {\n setIsResizing(false)\n }\n\n if (isResizing) {\n document.addEventListener('mousemove', handleMouseMove)\n document.addEventListener('mouseup', handleMouseUp)\n document.body.style.cursor = 'col-resize'\n document.body.style.userSelect = 'none'\n }\n\n return () => {\n document.removeEventListener('mousemove', handleMouseMove)\n document.removeEventListener('mouseup', handleMouseUp)\n document.body.style.cursor = ''\n document.body.style.userSelect = ''\n }\n }, [isResizing])\n\n // Refit terminal when panel width changes\n useEffect(() => {\n if (xtermRef.current && terminalRef.current) {\n setTimeout(() => {\n if (terminalRef.current && xtermRef.current) {\n const rect = terminalRef.current.getBoundingClientRect()\n const cols = Math.floor((rect.width - 20) / 9)\n const rows = Math.floor((rect.height - 20) / 17)\n xtermRef.current.resize(cols, rows)\n }\n }, 10)\n }\n }, [leftPanelWidth])\n\n // Show error fallback if API is not available\n if (isAvailable === false) {\n return (\n <div className=\"flex flex-col items-center justify-center h-screen w-screen bg-neutral-50 dark:bg-neutral-950 p-8\">\n <div className=\"max-w-2xl w-full border-2 border-red-500 rounded-2xl p-8 bg-white dark:bg-neutral-900\">\n <div className=\"flex items-start gap-4\">\n <AlertCircle className=\"w-8 h-8 text-red-500 flex-shrink-0 mt-1\" />\n <div>\n <h2 className=\"text-2xl font-bold text-red-600 dark:text-red-500 mb-3\">\n NotJS Configuration Error\n </h2>\n <p className=\"text-red-700 dark:text-red-400 text-lg leading-relaxed\">\n {errorMessage}\n </p>\n </div>\n </div>\n </div>\n </div>\n )\n }\n\n // Show loading state while checking availability\n if (isAvailable === null) {\n return (\n <div className=\"flex flex-col items-center justify-center h-screen w-screen bg-neutral-50 dark:bg-neutral-950\">\n <div className=\"text-neutral-600 dark:text-neutral-400 text-lg\">\n Loading NotJS...\n </div>\n </div>\n )\n }\n\n return (\n <Tooltip.Provider delayDuration={200}>\n <div className=\"flex flex-col h-screen w-screen bg-neutral-50 dark:bg-neutral-950\">\n {/* Header */}\n {!hideHeader && (\n <div className=\"flex items-center justify-between px-8 py-5 bg-white/80 dark:bg-neutral-900/80 backdrop-blur border-b border-black/5 dark:border-white/5\">\n <div className=\"flex items-center gap-6\">\n <div className=\"flex items-center gap-4\">\n <h1 className=\"text-2xl font-semibold text-neutral-900 dark:text-white\">\n NotJS\n </h1>\n <img\n src=\"/notjslogo.png\"\n alt=\"NotJS Logo\"\n className=\"h-14 object-contain rounded-xl\"\n />\n </div>\n\n <select\n value={selectedLanguage}\n onChange={(e) => setSelectedLanguage(e.target.value)}\n className=\"px-4 py-2 rounded-xl bg-neutral-100 dark:bg-neutral-800 text-neutral-900 dark:text-white focus:outline-none focus:ring-2 focus:ring-blue-500/40 transition\"\n >\n {languages.map(lang => (\n <option key={lang} value={lang}>\n {lang.toUpperCase()}\n </option>\n ))}\n </select>\n\n {versions.length > 0 && (\n <select\n value={selectedVersion || defaultVersion || ''}\n onChange={(e) => setSelectedVersion(e.target.value || null)}\n className=\"px-4 py-2 rounded-xl bg-neutral-100 dark:bg-neutral-800 text-neutral-900 dark:text-white text-sm focus:outline-none focus:ring-2 focus:ring-blue-500/40 transition\"\n >\n {versions.map(version => (\n <option key={version} value={version}>\n v{version} {version === defaultVersion ? '(default)' : ''}\n </option>\n ))}\n </select>\n )}\n </div>\n\n <button\n onClick={toggleTheme}\n className=\"p-3 rounded-xl bg-neutral-100 dark:bg-neutral-800 hover:bg-neutral-200 dark:hover:bg-neutral-700 transition\"\n >\n {isDarkMode ? (\n <Sun className=\"w-5 h-5 text-yellow-500\" />\n ) : (\n <Moon className=\"w-5 h-5 text-neutral-700\" />\n )}\n </button>\n </div>\n )}\n\n {/* Main Content */}\n <div ref={containerRef} className=\"flex flex-1 overflow-hidden relative\">\n {/* Code Panel */}\n <div\n className=\"flex flex-col bg-white dark:bg-neutral-900\"\n style={{ width: `${leftPanelWidth}%` }}\n >\n {/* Code Header */}\n <div className=\"flex items-center justify-between px-8 py-4 bg-neutral-100/70 dark:bg-neutral-900 border-b border-black/5 dark:border-white/5\">\n <h2 className=\"text-md font-semibold tracking-wide text-neutral-600 dark:text-neutral-400\">\n CODE\n </h2>\n\n <div className=\"flex items-center gap-3\">\n {/* Restart */}\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <button\n onClick={handleRun}\n className=\"p-2.5 rounded-xl transition bg-orange-500/90 hover:bg-orange-500 text-white\"\n >\n <RotateCcw className=\"w-4 h-4\" />\n </button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content\n className=\"rounded-lg bg-neutral-900 dark:bg-neutral-800 px-3 py-1.5 text-xs text-white shadow-lg\"\n sideOffset={5}\n >\n Restart program\n <Tooltip.Arrow className=\"fill-neutral-900 dark:fill-neutral-800\" />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n\n {/* Copy Code */}\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <button\n onClick={() => copyToClipboard(code, 'code')}\n className=\"p-2.5 rounded-xl bg-neutral-200 dark:bg-neutral-800 hover:bg-neutral-300 dark:hover:bg-neutral-700 transition\"\n >\n {codeCopied ? (\n <Check className=\"w-4 h-4 text-emerald-600\" />\n ) : (\n <Copy className=\"w-4 h-4 text-neutral-700 dark:text-neutral-300\" />\n )}\n </button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content\n className=\"rounded-lg bg-neutral-900 dark:bg-neutral-800 px-3 py-1.5 text-xs text-white shadow-lg\"\n sideOffset={5}\n >\n Copy code\n <Tooltip.Arrow className=\"fill-neutral-900 dark:fill-neutral-800\" />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n </div>\n </div>\n\n <div className=\"flex-1 overflow-hidden rounded-b-2xl\">\n <Editor\n height=\"100%\"\n language={selectedLanguage}\n value={code}\n onChange={(value) => setCode(value || '')}\n theme={isDarkMode ? 'vs-dark' : 'light'}\n options={{\n minimap: { enabled: false },\n fontSize: 14,\n lineNumbers: 'on',\n scrollBeyondLastLine: false,\n automaticLayout: true,\n tabSize: 2,\n wordWrap: 'on',\n padding: { top: 12, bottom: 12 }\n }}\n />\n </div>\n </div>\n\n {/* Resize Handle */}\n <div\n className={`w-1 bg-black/5 dark:bg-white/5 hover:bg-blue-500 cursor-col-resize transition ${\n isResizing ? 'bg-blue-500' : ''\n }`}\n onMouseDown={handleMouseDown}\n />\n\n {/* Console Panel */}\n <div className=\"flex-1 flex flex-col bg-white dark:bg-neutral-950\">\n <div className=\"flex items-center justify-between px-8 py-4 bg-neutral-100/70 dark:bg-neutral-900 border-b border-black/5 dark:border-white/5\">\n <h2 className=\"text-md font-semibold tracking-wide text-neutral-600 dark:text-neutral-400\">\n CONSOLE\n </h2>\n\n <Tooltip.Root>\n <Tooltip.Trigger asChild>\n <button\n onClick={copyConsoleOutput}\n className=\"p-2.5 rounded-xl bg-neutral-200 dark:bg-neutral-800 hover:bg-neutral-300 dark:hover:bg-neutral-700 transition\"\n >\n {consoleCopied ? (\n <Check className=\"w-4 h-4 text-emerald-600\" />\n ) : (\n <Copy className=\"w-4 h-4 text-neutral-700 dark:text-neutral-300\" />\n )}\n </button>\n </Tooltip.Trigger>\n <Tooltip.Portal>\n <Tooltip.Content\n className=\"rounded-lg bg-neutral-900 dark:bg-neutral-800 px-3 py-1.5 text-xs text-white shadow-lg\"\n sideOffset={5}\n >\n Copy output\n <Tooltip.Arrow className=\"fill-neutral-900 dark:fill-neutral-800\" />\n </Tooltip.Content>\n </Tooltip.Portal>\n </Tooltip.Root>\n </div>\n\n <div\n ref={terminalRef}\n className=\"flex-1 overflow-hidden rounded-b-2xl bg-white dark:bg-neutral-950 p-3\"\n />\n </div>\n </div>\n </div>\n </Tooltip.Provider>\n )\n}"],"names":["_arrayLikeToArray","r","a","e","n","_arrayWithHoles","_defineProperty","t","_toPropertyKey","_iterableToArrayLimit","l","i","u","f","o","_nonIterableRest","ownKeys","_objectSpread2","_objectWithoutProperties","_objectWithoutPropertiesLoose","_slicedToArray","_unsupportedIterableToArray","_toPrimitive","obj","key","value","object","enumerableOnly","keys","symbols","sym","target","source","compose","_len","fns","_key","x","y","curry","fn","curried","_this","_len2","args","_key2","_len3","nextArgs","_key3","isObject","isEmpty","isFunction","hasOwnProperty","property","validateChanges","initial","changes","errorHandler","field","validateSelector","selector","validateHandler","handler","_handler","validateInitial","throwError","errorMessages","type","validators","create","state","didUpdate","didStateUpdate","update","updateState","validate","getChanges","extractChanges","getState","setState","causedChanges","_handler$field","index","config","validateConfig","informAboutDeprecation","merge","CANCELATION_MESSAGE","makeCancelable","promise","hasCanceled_","wrappedPromise","resolve","reject","val","_excluded","_state$create","config$1","_state$create2","globalConfig","_validators$config","monaco","init","_ref","isInitialized","wrapperPromise","storeMonacoInstance","injectScripts","getMonacoLoaderScript","configureLoader","script","createScript","src","_ref2","loaderScript","_ref3","require","loaded","error","__getMonacoInstance","_ref4","loader","le","v","ae","Y","Me","me","Z","$","Ee","m","E","K","ee","H","ye","Ce","xe","k","he","Re","ge","D","h","De","be","te","Oe","g","N","P","V","z","F","j","A","q","M","O","re","T","s","S","c","w","d","b","Se","I","_b","_a","L","oe","U","ne","_c","_d","ke","ie","Te","He","ve","Ue","se","_","Ve","ue","C","Q","B","p","Ne","R","pe","X","_e","W","G","J","We","fe","de","ze","Ft","module","composeEventHandlers","originalEventHandler","ourEventHandler","checkForDefaultPrevented","event","setRef","ref","composeRefs","refs","node","hasCleanup","cleanups","cleanup","useComposedRefs","React","createContextScope","scopeName","createContextScopeDeps","defaultContexts","createContext3","rootComponentName","defaultContext","BaseContext","Provider","props","scope","children","context","Context","jsx","useContext2","consumerName","createScope","scopeContexts","contexts","composeContextScopes","scopes","baseScope","scopeHooks","createScope2","overrideScopes","nextScopes","nextScopes2","useScope","currentScope","createSlot","ownerName","SlotClone","createSlotClone","Slot2","forwardedRef","slotProps","childrenArray","slottable","isSlottable","newElement","newChildren","child","childrenRef","getElementRef","props2","mergeProps","SLOTTABLE_IDENTIFIER","createSlottable","Slottable2","Fragment2","childProps","overrideProps","propName","slotPropValue","childPropValue","result","element","getter","mayWarn","NODES","Primitive","primitive","Slot","Node","asChild","primitiveProps","Comp","dispatchDiscreteCustomEvent","ReactDOM","useCallbackRef","callback","callbackRef","useEscapeKeydown","onEscapeKeyDownProp","ownerDocument","onEscapeKeyDown","handleKeyDown","DISMISSABLE_LAYER_NAME","CONTEXT_UPDATE","POINTER_DOWN_OUTSIDE","FOCUS_OUTSIDE","originalBodyPointerEvents","DismissableLayerContext","DismissableLayer","disableOutsidePointerEvents","onPointerDownOutside","onFocusOutside","onInteractOutside","onDismiss","layerProps","setNode","force","composedRefs","node2","layers","highestLayerWithOutsidePointerEventsDisabled","highestLayerWithOutsidePointerEventsDisabledIndex","isBodyPointerEventsDisabled","isPointerEventsEnabled","pointerDownOutside","usePointerDownOutside","isPointerDownOnBranch","branch","focusOutside","useFocusOutside","dispatchUpdate","handleUpdate","BRANCH_NAME","DismissableLayerBranch","handlePointerDownOutside","isPointerInsideReactTreeRef","handleClickRef","handlePointerDown","handleAndDispatchPointerDownOutsideEvent2","handleAndDispatchCustomEvent","eventDetail","timerId","handleFocusOutside","isFocusInsideReactTreeRef","handleFocus","name","detail","discrete","useLayoutEffect2","useReactId","count","useId","deterministicId","id","setId","useLayoutEffect","reactId","sides","min","max","round","floor","createCoords","oppositeSideMap","oppositeAlignmentMap","clamp","start","end","evaluate","param","getSide","placement","getAlignment","getOppositeAxis","axis","getAxisLength","yAxisSides","getSideAxis","getAlignmentAxis","getAlignmentSides","rects","rtl","alignment","alignmentAxis","length","mainAlignmentSide","getOppositePlacement","getExpandedPlacements","oppositePlacement","getOppositeAlignmentPlacement","lrPlacement","rlPlacement","tbPlacement","btPlacement","getSideList","side","isStart","getOppositeAxisPlacements","flipAlignment","direction","list","expandPaddingObject","padding","getPaddingObject","rectToClientRect","rect","width","height","computeCoordsFromPlacement","reference","floating","sideAxis","alignLength","isVertical","commonX","commonY","commonAlign","coords","computePosition","strategy","middleware","platform","validMiddleware","statefulPlacement","middlewareData","resetCount","nextX","nextY","data","reset","detectOverflow","options","_await$platform$isEle","elements","boundary","rootBoundary","elementContext","altBoundary","paddingObject","clippingClientRect","offsetParent","offsetScale","elementClientRect","arrow","arrowDimensions","isYAxis","minProp","maxProp","clientProp","endDiff","startDiff","arrowOffsetParent","clientSize","centerToReference","largestPossiblePadding","minPadding","maxPadding","min$1","center","offset","shouldAddOffset","alignmentOffset","flip","_middlewareData$arrow","_middlewareData$flip","initialPlacement","checkMainAxis","checkCrossAxis","specifiedFallbackPlacements","fallbackStrategy","fallbackAxisSideDirection","detectOverflowOptions","initialSideAxis","isBasePlacement","fallbackPlacements","hasFallbackAxisSideDirection","placements","overflow","overflows","overflowsData","_middlewareData$flip2","_overflowsData$filter","nextIndex","nextPlacement","resetPlacement","_overflowsData$filter2","currentSideAxis","acc","getSideOffsets","isAnySideFullyClipped","hide","offsets","originSides","convertValueToCoords","mainAxisMulti","crossAxisMulti","rawValue","mainAxis","crossAxis","_middlewareData$offse","diffCoords","shift","limiter","mainAxisCoord","crossAxisCoord","minSide","maxSide","limitedCoords","limitShift","rawOffset","computedOffset","len","limitMin","limitMax","_middlewareData$offse2","isOriginSide","size","_state$middlewareData","_state$middlewareData2","apply","heightSide","widthSide","maximumClippingHeight","maximumClippingWidth","overflowAvailableHeight","overflowAvailableWidth","noShift","availableHeight","availableWidth","xMin","xMax","yMin","yMax","nextDimensions","hasWindow","getNodeName","isNode","getWindow","_node$ownerDocument","getDocumentElement","isElement","isHTMLElement","isShadowRoot","invalidOverflowDisplayValues","isOverflowElement","overflowX","overflowY","display","getComputedStyle","tableElements","isTableElement","topLayerSelectors","isTopLayer","transformProperties","willChangeValues","containValues","isContainingBlock","elementOrCss","webkit","isWebKit","css","getContainingBlock","currentNode","getParentNode","isLastTraversableNode","lastTraversableNodeNames","getNodeScroll","getNearestOverflowAncestor","parentNode","getOverflowAncestors","traverseIframes","_node$ownerDocument2","scrollableAncestor","isBody","win","frameElement","getFrameElement","getCssDimensions","getComputedStyle$1","hasOffset","offsetWidth","offsetHeight","shouldFallback","unwrapElement","getScale","domElement","noOffsets","getVisualOffsets","shouldAddVisualOffsets","isFixed","floatingOffsetParent","getBoundingClientRect","includeScale","isFixedStrategy","clientRect","scale","visualOffsets","offsetWin","currentWin","currentIFrame","iframeScale","iframeRect","left","top","getWindowScrollBarX","leftScroll","getHTMLOffset","documentElement","scroll","htmlRect","convertOffsetParentRelativeRectToViewportRelativeRect","topLayer","isOffsetParentAnElement","offsetRect","htmlOffset","getClientRects","getDocumentRect","html","body","SCROLLBAR_MAX","getViewportRect","visualViewport","visualViewportBased","windowScrollbarX","doc","bodyStyles","bodyMarginInline","clippingStableScrollbarWidth","absoluteOrFixed","getInnerBoundingClientRect","getClientRectFromClippingAncestor","clippingAncestor","hasFixedPositionAncestor","stopNode","getClippingElementAncestors","cache","cachedResult","el","currentContainingBlockComputedStyle","elementIsFixed","computedStyle","currentNodeIsContaining","ancestor","getClippingRect","clippingAncestors","firstClippingAncestor","clippingRect","accRect","getDimensions","getRectRelativeToOffsetParent","setLeftRTLScrollbarOffset","isStaticPositioned","getTrueOffsetParent","polyfill","rawOffsetParent","getOffsetParent","svgOffsetParent","getElementRects","getOffsetParentFn","getDimensionsFn","floatingDimensions","isRTL","rectsAreEqual","observeMove","onMove","io","timeoutId","root","_io","refresh","skip","threshold","elementRectForRootMargin","insetTop","insetRight","insetBottom","insetLeft","isFirstUpdate","handleObserve","entries","ratio","autoUpdate","ancestorScroll","ancestorResize","elementResize","layoutShift","animationFrame","referenceEl","ancestors","cleanupIo","reobserveFrame","resizeObserver","firstEntry","_resizeObserver","frameId","prevRefRect","frameLoop","nextRefRect","_resizeObserver2","offset$1","shift$1","flip$1","size$1","hide$1","arrow$1","limitShift$1","mergedOptions","platformWithCache","computePosition$1","isClient","noop","deepEqual","getDPR","roundByDPR","dpr","useLatestRef","useFloating","externalReference","externalFloating","transform","whileElementsMounted","open","setData","latestMiddleware","setLatestMiddleware","_reference","_setReference","_floating","_setFloating","setReference","referenceRef","setFloating","floatingRef","floatingEl","dataRef","hasWhileElementsMounted","whileElementsMountedRef","platformRef","openRef","fullData","isMountedRef","floatingStyles","initialStyles","isRef","arrow$2","deps","NAME","Arrow","arrowProps","Root","useSize","setSize","entry","borderSizeEntry","borderSize","POPPER_NAME","createPopperContext","createPopperScope","PopperProvider","usePopperContext","Popper","__scopePopper","anchor","setAnchor","ANCHOR_NAME","PopperAnchor","virtualRef","anchorProps","anchorRef","previousAnchor","CONTENT_NAME","PopperContentProvider","useContentContext","PopperContent","sideOffset","align","alignOffset","arrowPadding","avoidCollisions","collisionBoundary","collisionPaddingProp","sticky","hideWhenDetached","updatePositionStrategy","onPlaced","contentProps","content","setContent","setArrow","arrowSize","arrowWidth","arrowHeight","desiredPlacement","collisionPadding","hasExplicitBoundaries","isNotNull","isPositioned","anchorWidth","anchorHeight","contentStyle","floatingUIarrow","transformOrigin","placedSide","placedAlign","getSideAndAlignFromPlacement","handlePlaced","arrowX","arrowY","cannotCenterArrow","contentZIndex","setContentZIndex","_f","ARROW_NAME","OPPOSITE_SIDE","PopperArrow","contentContext","baseSide","ArrowPrimitive.Root","isArrowHidden","noArrowAlign","arrowXCenter","arrowYCenter","Root2","Anchor","Content","PORTAL_NAME","Portal","containerProp","portalProps","mounted","setMounted","container","useStateMachine","initialState","machine","Presence","present","presence","usePresence","React2","stylesRef","prevPresentRef","prevAnimationNameRef","send","currentAnimationName","getAnimationName","styles","wasPresent","prevAnimationName","ownerWindow","handleAnimationEnd","isCurrentAnimation","currentFillMode","handleAnimationStart","useInsertionEffect","useControllableState","prop","defaultProp","onChange","caller","uncontrolledProp","setUncontrolledProp","onChangeRef","useUncontrolledState","isControlled","isControlledRef","wasControlled","setValue","nextValue","value2","prevValueRef","VISUALLY_HIDDEN_STYLES","VisuallyHidden","createTooltipContext","usePopperScope","PROVIDER_NAME","DEFAULT_DELAY_DURATION","TOOLTIP_OPEN","TooltipProviderContextProvider","useTooltipProviderContext","TooltipProvider","__scopeTooltip","delayDuration","skipDelayDuration","disableHoverableContent","isOpenDelayedRef","isPointerInTransitRef","skipDelayTimerRef","skipDelayTimer","inTransit","TOOLTIP_NAME","TooltipContextProvider","useTooltipContext","Tooltip","openProp","defaultOpen","onOpenChange","disableHoverableContentProp","delayDurationProp","providerContext","popperScope","trigger","setTrigger","contentId","openTimerRef","wasOpenDelayedRef","setOpen","open2","stateAttribute","handleOpen","handleClose","handleDelayedOpen","PopperPrimitive.Root","TRIGGER_NAME","TooltipTrigger","triggerProps","isPointerDownRef","hasPointerMoveOpenedRef","handlePointerUp","PopperPrimitive.Anchor","PortalProvider","usePortalContext","TooltipPortal","forceMount","PortalPrimitive","TooltipContent","portalContext","TooltipContentImpl","TooltipContentHoverable","pointerGraceArea","setPointerGraceArea","onClose","onPointerInTransitChange","handleRemoveGraceArea","handleCreateGraceArea","hoverTarget","currentTarget","exitPoint","exitSide","getExitSideFromRect","paddedExitPoints","getPaddedExitPoints","hoverTargetPoints","getPointsFromRect","graceArea","getHull","handleTriggerLeave","handleContentLeave","handleTrackPointerGrace","pointerPosition","hasEnteredTarget","isPointerOutsideGraceArea","isPointInPolygon","VisuallyHiddenContentContextProvider","useVisuallyHiddenContentContext","Slottable","ariaLabel","handleScroll","jsxs","PopperPrimitive.Content","VisuallyHiddenPrimitive.Root","TooltipArrow","PopperPrimitive.Arrow","point","bottom","right","polygon","inside","ii","jj","xi","yi","xj","yj","points","newPoints","getHullPresorted","upperHull","lowerHull","Root3","Trigger","Content2","Arrow2","toKebabCase","string","mergeClasses","classes","className","array","defaultAttributes","Icon","forwardRef","color","strokeWidth","absoluteStrokeWidth","iconNode","rest","createElement","tag","attrs","createLucideIcon","iconName","Component","Check","CircleAlert","Copy","Moon","RotateCcw","Sun","DEFAULT_CODE","NotJS","websocketUrl","apiBaseUrl","initialCode","initialLanguage","initialVersion","initialDarkMode","hideHeader","code","setCode","useState","languages","setLanguages","selectedLanguage","setSelectedLanguage","versions","setVersions","selectedVersion","setSelectedVersion","defaultVersion","setDefaultVersion","isDarkMode","setIsDarkMode","codeCopied","setCodeCopied","consoleCopied","setConsoleCopied","leftPanelWidth","setLeftPanelWidth","isResizing","setIsResizing","isAvailable","setIsAvailable","errorMessage","setErrorMessage","terminalRef","useRef","xtermRef","wsRef","inputBufferRef","containerRef","useEffect","response","info","res","langs","err","term","XTerm","fitTerminal","cols","rows","ws","executionRequest","handleRun","oldWs","copyToClipboard","text","copyConsoleOutput","buffer","line","toggleTheme","prev","handleMouseDown","handleMouseMove","containerRect","newLeftWidth","handleMouseUp","AlertCircle","Tooltip.Provider","lang","version","Tooltip.Root","Tooltip.Trigger","Tooltip.Portal","Tooltip.Content","Tooltip.Arrow","Editor"],"mappings":"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AE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GAAE,CAAC,MAAK,IAAI,GA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","x_google_ignoreList":[0,1,2,3,4,5,6,7,8,9,10,11,12,13,14,15,16,17,18,19,20,21,22,23,24,25,26,27,28,29,30,31,32,33,34,35,36,37,38,39,40,41,42,43,44]}
|