@emailmaker/emailmaker 1.0.105-alpha.6 → 1.0.107-dev.1
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 +1 -1
- package/cli/README.md +2 -0
- package/cli/apps/emailmaker/package.json +1 -1
- package/cli/index.js +13 -1
- package/cli/lib/config.js +16 -8
- package/cli/package.json +2 -2
- package/emailmaker-esm.js +7 -7
- package/emailmaker.js +2 -2
- package/iframe/js/amp.CBamu9Jy.js +1 -0
- package/iframe/js/chunk.oX6nCJbK.js +1 -1
- package/iframe/js/iframe-eblock.js +1 -1
- package/iframe/js/iframe.js +1 -1
- package/iframe/js/rules.BSaCN7eK.js +1 -1
- package/iframe/js/sanitize-html.Dy7Uwo8P.js +1 -1
- package/package.json +3 -4
- package/react/index.js +4 -4
- package/runtime/@ant-design/cssinjs/index.js +1 -1
- package/runtime/@ant-design/pro-layout/index.js +1 -1
- package/runtime/antd/index.js +1 -1
- package/runtime/chunks/es-86-u14x5.js +407 -0
- package/runtime/chunks/{es-CO7WpZVp.js → es-BRjT21eG.js} +1 -1
- package/runtime/chunks/es-C3X1_iRJ.js +4 -0
- package/static/amd/{3410ae4c.js → 106c1c44.js} +3 -3
- package/static/amd/{f1412d1b.js → 19494006.js} +1 -1
- package/static/amd/{7617a3c6.js → 2480eb3b.js} +25 -25
- package/static/amd/{e8b0ce702.js → 28f4634f2.js} +1 -1
- package/static/amd/{34ee9141.js → 2f60af9f.js} +1 -1
- package/static/amd/{bdff951a.js → 368d792c.js} +1 -1
- package/static/amd/{1dca3566.js → 3b4d5d23.js} +2 -2
- package/static/amd/{3f397bbd.js → 502761e0.js} +3 -3
- package/static/amd/{2f1e7ffb.js → 50c7eb6c.js} +1 -1
- package/static/amd/{5c18d97d2.js → 534fa9082.js} +1 -1
- package/static/amd/626c39be.js +1 -0
- package/static/amd/{62985723.js → 75616837.js} +2 -2
- package/static/amd/{ad924d2d2.js → 7683aed32.js} +1 -1
- package/static/amd/76cadc91.js +1 -0
- package/static/amd/{2e738d66.js → 846684a0.js} +1 -1
- package/static/amd/{cf56bf8e.js → 8678c217.js} +1 -1
- package/static/amd/{d3e49443.js → 8af477e8.js} +35 -35
- package/static/amd/{647aeb89.js → 8c80ca60.js} +1 -1
- package/static/amd/{59f1eb21.js → 91174af6.js} +1 -1
- package/static/amd/{db53b13b2.js → a0db9bc52.js} +1 -1
- package/static/amd/{3c045c05.js → a208672b.js} +1 -1
- package/static/amd/{51f74c23.js → b3ea6c2b.js} +1 -1
- package/static/amd/{3a544ab7.js → be8bfd98.js} +1 -1
- package/static/amd/{4f7b7e7b.js → d6ebf258.js} +1 -1
- package/static/amd/d9706ce7.js +1 -0
- package/static/amd/da5e5be92.js +47 -0
- package/static/amd/{31419a832.js → dd3a2c7f2.js} +5 -5
- package/static/amd/{da3c98572.js → ddbaadd22.js} +1 -1
- package/static/amd/f0773d02.js +1 -0
- package/static/amd/{ea7fcdd22.js → f0a443f72.js} +1 -1
- package/static/amd/{edf12452.js → fd51d75b.js} +1 -1
- package/static/core/{7478008a2.js → 112814fb2.js} +5 -5
- package/static/core/{3c58018a.js → 12623967.js} +23 -0
- package/static/core/12d586d6.js +2 -0
- package/static/core/{3aa1accd.js → 175a42e3.js} +2 -2
- package/static/core/{3929de6a.js → 2b2c49f5.js} +1 -1
- package/static/core/{b43d62502.js → 3106db502.js} +1 -1
- package/static/core/{7ede5bb32.js → 36a93fbc2.js} +1 -1
- package/static/core/{dd1b48732.js → 3ef8b3172.js} +44 -62
- package/static/core/404e7156.js +25 -0
- package/static/core/{3bc9e40e2.js → 41900faf2.js} +7081 -7126
- package/static/core/{950736cb.js → 42607e0b.js} +2 -2
- package/static/core/{37f5c2e2.js → 4d4236d42.js} +6 -8
- package/static/core/{f402cdb02.js → 4ef9e9292.js} +2 -2
- package/static/core/{d0d551132.js → 4f5874c32.js} +17 -16
- package/static/core/{356406472.js → 5daae05b2.js} +4 -4
- package/static/core/648686e8.js +3 -0
- package/static/core/6a07fdd9.js +17 -0
- package/static/core/{dd819c97.js → 71a549aa.js} +2 -2
- package/static/core/{dff461712.js → 75c365b22.js} +2 -2
- package/static/core/869ed3c1.js +88 -0
- package/static/core/{da0c7c5f2.js → 87e43e8f2.js} +165 -164
- package/static/core/{c714cdff2.js → 88a09d732.js} +57 -66
- package/static/core/{85bd6ac0.js → 9608479b.js} +33 -37
- package/static/core/970aa3c0.js +3 -0
- package/static/core/{2898e7aa2.js → 9f5c7c092.js} +2 -2
- package/static/core/{a8844025.js → b09f9769.js} +2 -2
- package/static/core/b19a3fa4.js +54 -0
- package/static/core/{239366ec2.js → bb1ecd2f2.js} +1 -1
- package/static/core/{84829538.js → c6b9e0932.js} +14 -21
- package/static/core/cc53df61.js +3 -0
- package/static/core/{2dc46694.js → d32193e5.js} +2 -2
- package/static/core/{c615024a2.js → d81bea0e2.js} +13 -12
- package/static/core/e3ca5f72.js +3 -0
- package/static/core/{f4b3eea52.js → e735ab4e2.js} +4 -4
- package/static/core/{e61f10d22.js → efaf9d352.js} +2 -2
- package/static/core/{6db4a8aa2.js → f6c370402.js} +10 -10
- package/static/core/{9238a7c32.js → f8a0a5292.js} +2 -2
- package/iframe/js/amp.Hj8A4hcJ.js +0 -1
- package/runtime/chunks/es-CEL9YonN.js +0 -4
- package/runtime/chunks/es-Dc0YYbhY.js +0 -407
- package/static/amd/3568bbc9.js +0 -1
- package/static/amd/7634e85e2.js +0 -47
- package/static/amd/90fc6abd.js +0 -1
- package/static/amd/e459f307.js +0 -1
- package/static/amd/f2ec6999.js +0 -1
- package/static/core/3cd7aecb.js +0 -3
- package/static/core/56649294.js +0 -3
- package/static/core/5cdc0d83.js +0 -3
- package/static/core/9eb43b50.js +0 -2
- package/static/core/de2a198b.js +0 -3
- package/static/core/f33680b1.js +0 -28
- /package/iframe/{iframe-eblock.3b0419db.html → iframe-eblock.e2c5cb99.html} +0 -0
- /package/iframe/{iframe.3b0419db.html → iframe.e2c5cb99.html} +0 -0
- /package/static/core/{1b08a9cc.js → 0a8c3cd4.js} +0 -0
- /package/static/core/{dc11e0c2.js → 13a32c93.js} +0 -0
- /package/static/core/{aa6d1b3c.js → 15c3e303.js} +0 -0
- /package/static/core/{432a48e72.js → 1c83f7f62.js} +0 -0
- /package/static/core/{73a54dd5.js → 2423f182.js} +0 -0
- /package/static/core/{16d77cfa.js → 26bcc803.js} +0 -0
- /package/static/core/{5e245313.js → 3301f9b2.js} +0 -0
- /package/static/core/{8e816ff3.js → 3ce618bb.js} +0 -0
- /package/static/core/{75260591.js → 68bb7a74.js} +0 -0
- /package/static/core/{71a2973c.js → 88f5cc0f.js} +0 -0
- /package/static/core/{8d0a7b7c.js → 9ac04a2e.js} +0 -0
- /package/static/core/{4dedb700.js → 9faf360e.js} +0 -0
- /package/static/core/{cb527115.js → a1f54cad.js} +0 -0
- /package/static/core/{ac7a72f4.js → a3aeb012.js} +0 -0
- /package/static/core/{a8632524.js → aa66c7a7.js} +0 -0
- /package/static/core/{ef18be3f.js → ba484ecf.js} +0 -0
- /package/static/core/{f2efcf13.js → baa68b06.js} +0 -0
- /package/static/core/{a453cd4e.js → c0f2f2c0.js} +0 -0
- /package/static/core/{bba72d91.js → f03fa3a22.js} +0 -0
|
@@ -1,7 +1,7 @@
|
|
|
1
|
-
__emailmaker__.define(`3410ae4c.js`,[`require`,`exports`,`module`,`50032f39.js`,`62985723.js`],function(e,t,n){let r=e(`./50032f39.js`),i=e(`./62985723.js`);var a=class{constructor(e){this._values=e}hasChanged(e){return this._values[e]}},o=class{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}},s=class{constructor(e,t,n,r){this.id=e,this.name=t,this.defaultValue=n,this.schema=r}applyUpdate(e,t){return l(e,t)}compute(e,t,n){return n}},c=class{constructor(e,t){this.newValue=e,this.didChange=t}};function l(e,t){if(typeof e!=`object`||typeof t!=`object`||!e||!t)return new c(t,e!==t);if(Array.isArray(e)||Array.isArray(t))return new c(t,Array.isArray(e)&&Array.isArray(t)&&i.Wu(e,t));let n=!1;for(let r in t)if(t.hasOwnProperty(r)){let i=l(e[r],t[r]);i.didChange&&(e[r]=i.newValue,n=!0)}return new c(e,n)}var u=class{constructor(e){this.schema=void 0,this.id=e,this.name=`_never_`,this.defaultValue=void 0}applyUpdate(e,t){return l(e,t)}validate(e){return this.defaultValue}},d=class{constructor(e,t,n,r){this.id=e,this.name=t,this.defaultValue=n,this.schema=r}applyUpdate(e,t){return l(e,t)}validate(e){return e===void 0?this.defaultValue:e}compute(e,t,n){return n}};function f(e,t){return e===void 0?t:e===`false`?!1:!!e}var p=class extends d{constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`boolean`,r.default=n),super(e,t,n,r)}validate(e){return f(e,this.defaultValue)}};function m(e,t,n,r){if(e===void 0)return t;let i=parseInt(e,10);return isNaN(i)?t:(i=Math.max(n,i),i=Math.min(r,i),i|0)}var h=class e extends d{constructor(e,t,n,r,i,a=void 0){a!==void 0&&(a.type=`integer`,a.default=n,a.minimum=r,a.maximum=i),super(e,t,n,a),this.minimum=r,this.maximum=i}static clampedInt(e,t,n,r){return m(e,t,n,r)}validate(t){return e.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}},g=class e extends d{constructor(e,t,n,r,i){i!==void 0&&(i.type=`number`,i.default=n),super(e,t,n,i),this.validationFn=r}static clamp(e,t,n){return e<t?t:e>n?n:e}static float(e,t){if(typeof e==`number`)return e;if(e===void 0)return t;let n=parseFloat(e);return isNaN(n)?t:n}validate(t){return this.validationFn(e.float(t,this.defaultValue))}},_=class e extends d{static string(e,t){return typeof e==`string`?e:t}constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`string`,r.default=n),super(e,t,n,r)}validate(t){return e.string(t,this.defaultValue)}};function v(e,t,n){return typeof e!=`string`||n.indexOf(e)===-1?t:e}var y=class extends d{constructor(e,t,n,r,i=void 0){i!==void 0&&(i.type=`string`,i.enum=r,i.default=n),super(e,t,n,i),this._allowedValues=r}validate(e){return v(e,this.defaultValue,this._allowedValues)}},b=class extends s{constructor(e,t,n,r,i,a,o=void 0){o!==void 0&&(o.type=`string`,o.enum=i,o.default=r),super(e,t,n,o),this._allowedValues=i,this._convert=a}validate(e){return typeof e!=`string`||this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}};function x(e){switch(e){case`none`:return 0;case`keep`:return 1;case`brackets`:return 2;case`advanced`:return 3;case`full`:return 4}}var S=class extends s{constructor(){super(2,`accessibilitySupport`,0,{type:`string`,enum:[`auto`,`on`,`off`],enumDescriptions:[i.Td(`accessibilitySupport.auto`,`The editor will use platform APIs to detect when a Screen Reader is attached.`),i.Td(`accessibilitySupport.on`,`The editor will be permanently optimized for usage with a Screen Reader. Word wrapping will be disabled.`),i.Td(`accessibilitySupport.off`,`The editor will never be optimized for usage with a Screen Reader.`)],default:`auto`,description:i.Td(`accessibilitySupport`,`Controls whether the editor should run in a mode where it is optimized for screen readers. Setting to on will disable word wrapping.`)})}validate(e){switch(e){case`auto`:return 0;case`off`:return 1;case`on`:return 2}return this.defaultValue}compute(e,t,n){return n===0?e.accessibilitySupport:n}},C=class extends s{constructor(){let e={insertSpace:!0,ignoreEmptyLines:!0};super(19,`comments`,e,{"editor.comments.insertSpace":{type:`boolean`,default:e.insertSpace,description:i.Td(`comments.insertSpace`,`Controls whether a space character is inserted when commenting.`)},"editor.comments.ignoreEmptyLines":{type:`boolean`,default:e.ignoreEmptyLines,description:i.Td(`comments.ignoreEmptyLines`,`Controls if empty lines should be ignored with toggle, add or remove actions for line comments.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{insertSpace:f(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:f(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};function w(e){switch(e){case`blink`:return 1;case`smooth`:return 2;case`phase`:return 3;case`expand`:return 4;case`solid`:return 5}}var T;(function(e){e[e.Line=1]=`Line`,e[e.Block=2]=`Block`,e[e.Underline=3]=`Underline`,e[e.LineThin=4]=`LineThin`,e[e.BlockOutline=5]=`BlockOutline`,e[e.UnderlineThin=6]=`UnderlineThin`})(T||={});function E(e){switch(e){case`line`:return T.Line;case`block`:return T.Block;case`underline`:return T.Underline;case`line-thin`:return T.LineThin;case`block-outline`:return T.BlockOutline;case`underline-thin`:return T.UnderlineThin}}var D=class extends u{constructor(){super(129)}compute(e,t,n){let r=[`monaco-editor`];return t.get(34)&&r.push(t.get(34)),e.extraEditorClassName&&r.push(e.extraEditorClassName),t.get(67)===`default`?r.push(`mouse-default`):t.get(67)===`copy`&&r.push(`mouse-copy`),t.get(101)&&r.push(`showUnused`),t.get(127)&&r.push(`showDeprecated`),r.join(` `)}},ee=class extends p{constructor(){super(33,`emptySelectionClipboard`,!0,{description:i.Td(`emptySelectionClipboard`,`Controls whether copying without a selection copies the current line.`)})}compute(e,t,n){return n&&e.emptySelectionClipboard}},te=class extends s{constructor(){let e={cursorMoveOnType:!0,seedSearchStringFromSelection:`always`,autoFindInSelection:`never`,globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(36,`find`,e,{"editor.find.cursorMoveOnType":{type:`boolean`,default:e.cursorMoveOnType,description:i.Td(`find.cursorMoveOnType`,`Controls whether the cursor should jump to find matches while typing.`)},"editor.find.seedSearchStringFromSelection":{type:`string`,enum:[`never`,`always`,`selection`],default:e.seedSearchStringFromSelection,enumDescriptions:[i.Td(`editor.find.seedSearchStringFromSelection.never`,`Never seed search string from the editor selection.`),i.Td(`editor.find.seedSearchStringFromSelection.always`,`Always seed search string from the editor selection, including word at cursor position.`),i.Td(`editor.find.seedSearchStringFromSelection.selection`,`Only seed search string from the editor selection.`)],description:i.Td(`find.seedSearchStringFromSelection`,`Controls whether the search string in the Find Widget is seeded from the editor selection.`)},"editor.find.autoFindInSelection":{type:`string`,enum:[`never`,`always`,`multiline`],default:e.autoFindInSelection,enumDescriptions:[i.Td(`editor.find.autoFindInSelection.never`,`Never turn on Find in Selection automatically (default).`),i.Td(`editor.find.autoFindInSelection.always`,`Always turn on Find in Selection automatically.`),i.Td(`editor.find.autoFindInSelection.multiline`,`Turn on Find in Selection automatically when multiple lines of content are selected.`)],description:i.Td(`find.autoFindInSelection`,`Controls the condition for turning on Find in Selection automatically.`)},"editor.find.globalFindClipboard":{type:`boolean`,default:e.globalFindClipboard,description:i.Td(`find.globalFindClipboard`,`Controls whether the Find Widget should read or modify the shared find clipboard on macOS.`),included:i.bd},"editor.find.addExtraSpaceOnTop":{type:`boolean`,default:e.addExtraSpaceOnTop,description:i.Td(`find.addExtraSpaceOnTop`,`Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.`)},"editor.find.loop":{type:`boolean`,default:e.loop,description:i.Td(`find.loop`,`Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{cursorMoveOnType:f(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection==`boolean`?e.seedSearchStringFromSelection?`always`:`never`:v(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,[`never`,`always`,`selection`]),autoFindInSelection:typeof e.autoFindInSelection==`boolean`?e.autoFindInSelection?`always`:`never`:v(t.autoFindInSelection,this.defaultValue.autoFindInSelection,[`never`,`always`,`multiline`]),globalFindClipboard:f(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:f(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:f(t.loop,this.defaultValue.loop)}}},ne=class e extends s{constructor(){super(46,`fontLigatures`,e.OFF,{anyOf:[{type:`boolean`,description:i.Td(`fontLigatures`,`Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.`)},{type:`string`,description:i.Td(`fontFeatureSettings`,`Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.`)}],description:i.Td(`fontLigaturesGeneral`,`Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.`),default:!1})}validate(t){return t===void 0?this.defaultValue:typeof t==`string`?t===`false`?e.OFF:t===`true`?e.ON:t:t?e.ON:e.OFF}};ne.OFF=`"liga" off, "calt" off`,ne.ON=`"liga" on, "calt" on`;var re=class extends u{constructor(){super(45)}compute(e,t,n){return e.fontInfo}},ie=class extends d{constructor(){super(47,`fontSize`,Fe.fontSize,{type:`number`,minimum:6,maximum:100,default:Fe.fontSize,description:i.Td(`fontSize`,`Controls the font size in pixels.`)})}validate(e){let t=g.float(e,this.defaultValue);return t===0?Fe.fontSize:g.clamp(t,6,100)}compute(e,t,n){return e.fontInfo.fontSize}},ae=class e extends s{constructor(){super(48,`fontWeight`,Fe.fontWeight,{anyOf:[{type:`number`,minimum:e.MINIMUM_VALUE,maximum:e.MAXIMUM_VALUE,errorMessage:i.Td(`fontWeightErrorMessage`,`Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.`)},{type:`string`,pattern:`^(normal|bold|1000|[1-9][0-9]{0,2})$`},{enum:e.SUGGESTION_VALUES}],default:Fe.fontWeight,description:i.Td(`fontWeight`,`Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.`)})}validate(t){return t===`normal`||t===`bold`?t:String(h.clampedInt(t,Fe.fontWeight,e.MINIMUM_VALUE,e.MAXIMUM_VALUE))}};ae.SUGGESTION_VALUES=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],ae.MINIMUM_VALUE=1,ae.MAXIMUM_VALUE=1e3;var oe=class extends s{constructor(){let e={multiple:`peek`,multipleDefinitions:`peek`,multipleTypeDefinitions:`peek`,multipleDeclarations:`peek`,multipleImplementations:`peek`,multipleReferences:`peek`,alternativeDefinitionCommand:`editor.action.goToReferences`,alternativeTypeDefinitionCommand:`editor.action.goToReferences`,alternativeDeclarationCommand:`editor.action.goToReferences`,alternativeImplementationCommand:``,alternativeReferenceCommand:``},t={type:`string`,enum:[`peek`,`gotoAndPeek`,`goto`],default:e.multiple,enumDescriptions:[i.Td(`editor.gotoLocation.multiple.peek`,`Show peek view of the results (default)`),i.Td(`editor.gotoLocation.multiple.gotoAndPeek`,`Go to the primary result and show a peek view`),i.Td(`editor.gotoLocation.multiple.goto`,`Go to the primary result and enable peek-less navigation to others`)]},n=[``,`editor.action.referenceSearch.trigger`,`editor.action.goToReferences`,`editor.action.peekImplementation`,`editor.action.goToImplementation`,`editor.action.peekTypeDefinition`,`editor.action.goToTypeDefinition`,`editor.action.peekDeclaration`,`editor.action.revealDeclaration`,`editor.action.peekDefinition`,`editor.action.revealDefinitionAside`,`editor.action.revealDefinition`];super(52,`gotoLocation`,e,{"editor.gotoLocation.multiple":{deprecationMessage:i.Td(`editor.gotoLocation.multiple.deprecated`,`This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.`)},"editor.gotoLocation.multipleDefinitions":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleDefinitions`,`Controls the behavior the 'Go to Definition'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleTypeDefinitions`,`Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleDeclarations":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleDeclarations`,`Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleImplementations":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleImplemenattions`,`Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleReferences":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleReferences`,`Controls the behavior the 'Go to References'-command when multiple target locations exist.`)},t),"editor.gotoLocation.alternativeDefinitionCommand":{type:`string`,default:e.alternativeDefinitionCommand,enum:n,description:i.Td(`alternativeDefinitionCommand`,`Alternative command id that is being executed when the result of 'Go to Definition' is the current location.`)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:`string`,default:e.alternativeTypeDefinitionCommand,enum:n,description:i.Td(`alternativeTypeDefinitionCommand`,`Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.`)},"editor.gotoLocation.alternativeDeclarationCommand":{type:`string`,default:e.alternativeDeclarationCommand,enum:n,description:i.Td(`alternativeDeclarationCommand`,`Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.`)},"editor.gotoLocation.alternativeImplementationCommand":{type:`string`,default:e.alternativeImplementationCommand,enum:n,description:i.Td(`alternativeImplementationCommand`,`Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.`)},"editor.gotoLocation.alternativeReferenceCommand":{type:`string`,default:e.alternativeReferenceCommand,enum:n,description:i.Td(`alternativeReferenceCommand`,`Alternative command id that is being executed when the result of 'Go to Reference' is the current location.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{multiple:v(t.multiple,this.defaultValue.multiple,[`peek`,`gotoAndPeek`,`goto`]),multipleDefinitions:t.multipleDefinitions??v(t.multipleDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleTypeDefinitions:t.multipleTypeDefinitions??v(t.multipleTypeDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleDeclarations:t.multipleDeclarations??v(t.multipleDeclarations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleImplementations:t.multipleImplementations??v(t.multipleImplementations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleReferences:t.multipleReferences??v(t.multipleReferences,`peek`,[`peek`,`gotoAndPeek`,`goto`]),alternativeDefinitionCommand:_.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:_.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:_.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:_.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:_.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}},se=class extends s{constructor(){let e={enabled:!0,delay:300,sticky:!0,above:!0};super(54,`hover`,e,{"editor.hover.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`hover.enabled`,`Controls whether the hover is shown.`)},"editor.hover.delay":{type:`number`,default:e.delay,minimum:0,maximum:1e4,description:i.Td(`hover.delay`,`Controls the delay in milliseconds after which the hover is shown.`)},"editor.hover.sticky":{type:`boolean`,default:e.sticky,description:i.Td(`hover.sticky`,`Controls whether the hover should remain visible when mouse is moved over it.`)},"editor.hover.above":{type:`boolean`,default:e.above,description:i.Td(`hover.above`,`Prefer showing hovers above the line, if there's space.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),delay:h.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:f(t.sticky,this.defaultValue.sticky),above:f(t.above,this.defaultValue.above)}}},ce=class e extends u{constructor(){super(132)}compute(t,n,r){return e.computeLayout(n,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio})}static computeContainedMinimapLineCount(e){let t=e.height/e.lineHeight,n=e.scrollBeyondLastLine?t-1:0,r=(e.viewLineCount+n)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeyondLastLine:n,desiredRatio:r,minimapLineCount:Math.floor(e.viewLineCount/r)}}static _computeMinimapLayout(t,n){let r=t.outerWidth,i=t.outerHeight,a=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(a*i),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:i};let o=n.stableMinimapLayoutInput,s=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,c=t.lineHeight,l=t.typicalHalfwidthCharacterWidth,u=t.scrollBeyondLastLine,d=t.minimap.renderCharacters,f=a>=2?Math.round(t.minimap.scale*2):t.minimap.scale,p=t.minimap.maxColumn,m=t.minimap.size,h=t.minimap.side,g=t.verticalScrollbarWidth,_=t.viewLineCount,v=t.remainingWidth,y=t.isViewportWrapping,b=d?2:3,x=Math.floor(a*i),S=x/a,C=!1,w=!1,T=b*f,E=f/a,D=1;if(m===`fill`||m===`fit`){let{typicalViewportLineCount:r,extraLinesBeyondLastLine:o,desiredRatio:l,minimapLineCount:d}=e.computeContainedMinimapLineCount({viewLineCount:_,scrollBeyondLastLine:u,height:i,lineHeight:c,pixelRatio:a});if(_/d>1)C=!0,w=!0,f=1,T=1,E=f/a;else{let e=!1,i=f+1;if(m===`fit`){let t=Math.ceil((_+o)*T);y&&s&&v<=n.stableFitRemainingWidth?(e=!0,i=n.stableFitMaxMinimapScale):e=t>x}if(m===`fill`||e){C=!0;let e=f;T=Math.min(c*a,Math.max(1,Math.floor(1/l))),y&&s&&v<=n.stableFitRemainingWidth&&(i=n.stableFitMaxMinimapScale),f=Math.min(i,Math.max(1,Math.floor(T/b))),f>e&&(D=Math.min(2,f/e)),E=f/a/D,x=Math.ceil(Math.max(r,_+o)*T),y?(n.stableMinimapLayoutInput=t,n.stableFitRemainingWidth=v,n.stableFitMaxMinimapScale=f):(n.stableMinimapLayoutInput=null,n.stableFitRemainingWidth=0)}}}let ee=Math.floor(p*E),te=Math.min(ee,Math.max(0,Math.floor((v-g-2)*E/(l+E)))+8),ne=Math.floor(a*te),re=ne/a;return ne=Math.floor(ne*D),{renderMinimap:d?1:2,minimapLeft:h===`left`?0:r-te-g,minimapWidth:te,minimapHeightIsEditorHeight:C,minimapIsSampling:w,minimapScale:f,minimapLineHeight:T,minimapCanvasInnerWidth:ne,minimapCanvasInnerHeight:x,minimapCanvasOuterWidth:re,minimapCanvasOuterHeight:S}}static computeLayout(t,n){let r=n.outerWidth|0,i=n.outerHeight|0,a=n.lineHeight|0,s=n.lineNumbersDigitCount|0,c=n.typicalHalfwidthCharacterWidth,l=n.maxDigitWidth,u=n.pixelRatio,d=n.viewLineCount,f=t.get(124),p=f===`inherit`?t.get(123):f,m=p===`inherit`?t.get(119):p,g=t.get(122),_=t.get(2),v=n.isDominatedByLongLines,y=t.get(51),b=t.get(61).renderType!==0,x=t.get(62),S=t.get(95),C=t.get(66),w=t.get(93),T=w.verticalScrollbarSize,E=w.verticalHasArrows,D=w.arrowSize,ee=w.horizontalScrollbarSize,te=t.get(59),ne=t.get(38),re=t.get(100)!==`never`,ie;if(typeof te==`string`&&/^\d+(\.\d+)?ch$/.test(te)){let e=parseFloat(te.substr(0,te.length-2));ie=h.clampedInt(e*c,0,0,1e3)}else ie=h.clampedInt(te,0,0,1e3);ne&&re&&(ie+=16);let ae=0;if(b){let e=Math.max(s,x);ae=Math.round(e*l)}let oe=0;y&&(oe=a);let se=0,ce=se+oe,le=ce+ae,ue=le+ie,de=r-oe-ae-ie,fe=!1,pe=!1,me=-1;_!==2&&(p===`inherit`&&v?(fe=!0,pe=!0):m===`on`||m===`bounded`?pe=!0:m===`wordWrapColumn`&&(me=g));let he=e._computeMinimapLayout({outerWidth:r,outerHeight:i,lineHeight:a,typicalHalfwidthCharacterWidth:c,pixelRatio:u,scrollBeyondLastLine:S,minimap:C,verticalScrollbarWidth:T,viewLineCount:d,remainingWidth:de,isViewportWrapping:pe},n.memory||new o);he.renderMinimap!==0&&he.minimapLeft===0&&(se+=he.minimapWidth,ce+=he.minimapWidth,le+=he.minimapWidth,ue+=he.minimapWidth);let ge=de-he.minimapWidth,_e=Math.max(1,Math.floor((ge-T-2)/c)),ve=E?D:0;return pe&&(me=Math.max(1,_e),m===`bounded`&&(me=Math.min(me,g))),{width:r,height:i,glyphMarginLeft:se,glyphMarginWidth:oe,lineNumbersLeft:ce,lineNumbersWidth:ae,decorationsLeft:le,decorationsWidth:ie,contentLeft:ue,contentWidth:ge,minimap:he,viewportColumn:_e,isWordWrapMinified:fe,isViewportWrapping:pe,wrappingColumn:me,verticalScrollbarWidth:T,horizontalScrollbarHeight:ee,overviewRuler:{top:ve,width:T,height:i-2*ve,right:0}}}},le=class extends s{constructor(){let e={enabled:!0};super(58,`lightbulb`,e,{"editor.lightbulb.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`codeActions`,`Enables the code action lightbulb in the editor.`)}})}validate(e){return!e||typeof e!=`object`?this.defaultValue:{enabled:f(e.enabled,this.defaultValue.enabled)}}},ue=class extends s{constructor(){let e={enabled:`on`,fontSize:0,fontFamily:``,padding:!1};super(128,`inlayHints`,e,{"editor.inlayHints.enabled":{type:`string`,default:e.enabled,description:i.Td(`inlayHints.enable`,`Enables the inlay hints in the editor.`),enum:[`on`,`onUnlessPressed`,`offUnlessPressed`,`off`],markdownEnumDescriptions:[i.Td(`editor.inlayHints.on`,`Inlay hints are enabled`),i.Td(`editor.inlayHints.onUnlessPressed`,"Inlay hints are showing by default and hide when holding `Ctrl+Alt`"),i.Td(`editor.inlayHints.offUnlessPressed`,"Inlay hints are hidden by default and show when holding `Ctrl+Alt`"),i.Td(`editor.inlayHints.off`,`Inlay hints are disabled`)]},"editor.inlayHints.fontSize":{type:`number`,default:e.fontSize,markdownDescription:i.Td(`inlayHints.fontSize`,`Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.`,"`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:`string`,default:e.fontFamily,markdownDescription:i.Td(`inlayHints.fontFamily`,`Controls font family of inlay hints in the editor. When set to empty, the {0} is used.`,"`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:`boolean`,default:e.padding,description:i.Td(`inlayHints.padding`,`Enables the padding around the inlay hints in the editor.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return typeof t.enabled==`boolean`&&(t.enabled=t.enabled?`on`:`off`),{enabled:v(t.enabled,this.defaultValue.enabled,[`on`,`off`,`offUnlessPressed`,`onUnlessPressed`]),fontSize:h.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:_.string(t.fontFamily,this.defaultValue.fontFamily),padding:f(t.padding,this.defaultValue.padding)}}},de=class extends g{constructor(){super(60,`lineHeight`,Fe.lineHeight,e=>g.clamp(e,0,150),{markdownDescription:i.Td(`lineHeight`,`Controls the line height.
|
|
1
|
+
__emailmaker__.define(`106c1c44.js`,[`require`,`exports`,`module`,`50032f39.js`,`75616837.js`],function(e,t,n){let r=e(`./50032f39.js`),i=e(`./75616837.js`);var a=class{constructor(e){this._values=e}hasChanged(e){return this._values[e]}},o=class{constructor(){this.stableMinimapLayoutInput=null,this.stableFitMaxMinimapScale=0,this.stableFitRemainingWidth=0}},s=class{constructor(e,t,n,r){this.id=e,this.name=t,this.defaultValue=n,this.schema=r}applyUpdate(e,t){return l(e,t)}compute(e,t,n){return n}},c=class{constructor(e,t){this.newValue=e,this.didChange=t}};function l(e,t){if(typeof e!=`object`||typeof t!=`object`||!e||!t)return new c(t,e!==t);if(Array.isArray(e)||Array.isArray(t))return new c(t,Array.isArray(e)&&Array.isArray(t)&&i.Wu(e,t));let n=!1;for(let r in t)if(t.hasOwnProperty(r)){let i=l(e[r],t[r]);i.didChange&&(e[r]=i.newValue,n=!0)}return new c(e,n)}var u=class{constructor(e){this.schema=void 0,this.id=e,this.name=`_never_`,this.defaultValue=void 0}applyUpdate(e,t){return l(e,t)}validate(e){return this.defaultValue}},d=class{constructor(e,t,n,r){this.id=e,this.name=t,this.defaultValue=n,this.schema=r}applyUpdate(e,t){return l(e,t)}validate(e){return e===void 0?this.defaultValue:e}compute(e,t,n){return n}};function f(e,t){return e===void 0?t:e===`false`?!1:!!e}var p=class extends d{constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`boolean`,r.default=n),super(e,t,n,r)}validate(e){return f(e,this.defaultValue)}};function m(e,t,n,r){if(e===void 0)return t;let i=parseInt(e,10);return isNaN(i)?t:(i=Math.max(n,i),i=Math.min(r,i),i|0)}var h=class e extends d{constructor(e,t,n,r,i,a=void 0){a!==void 0&&(a.type=`integer`,a.default=n,a.minimum=r,a.maximum=i),super(e,t,n,a),this.minimum=r,this.maximum=i}static clampedInt(e,t,n,r){return m(e,t,n,r)}validate(t){return e.clampedInt(t,this.defaultValue,this.minimum,this.maximum)}},g=class e extends d{constructor(e,t,n,r,i){i!==void 0&&(i.type=`number`,i.default=n),super(e,t,n,i),this.validationFn=r}static clamp(e,t,n){return e<t?t:e>n?n:e}static float(e,t){if(typeof e==`number`)return e;if(e===void 0)return t;let n=parseFloat(e);return isNaN(n)?t:n}validate(t){return this.validationFn(e.float(t,this.defaultValue))}},_=class e extends d{static string(e,t){return typeof e==`string`?e:t}constructor(e,t,n,r=void 0){r!==void 0&&(r.type=`string`,r.default=n),super(e,t,n,r)}validate(t){return e.string(t,this.defaultValue)}};function v(e,t,n){return typeof e!=`string`||n.indexOf(e)===-1?t:e}var y=class extends d{constructor(e,t,n,r,i=void 0){i!==void 0&&(i.type=`string`,i.enum=r,i.default=n),super(e,t,n,i),this._allowedValues=r}validate(e){return v(e,this.defaultValue,this._allowedValues)}},b=class extends s{constructor(e,t,n,r,i,a,o=void 0){o!==void 0&&(o.type=`string`,o.enum=i,o.default=r),super(e,t,n,o),this._allowedValues=i,this._convert=a}validate(e){return typeof e!=`string`||this._allowedValues.indexOf(e)===-1?this.defaultValue:this._convert(e)}};function x(e){switch(e){case`none`:return 0;case`keep`:return 1;case`brackets`:return 2;case`advanced`:return 3;case`full`:return 4}}var S=class extends s{constructor(){super(2,`accessibilitySupport`,0,{type:`string`,enum:[`auto`,`on`,`off`],enumDescriptions:[i.Td(`accessibilitySupport.auto`,`The editor will use platform APIs to detect when a Screen Reader is attached.`),i.Td(`accessibilitySupport.on`,`The editor will be permanently optimized for usage with a Screen Reader. Word wrapping will be disabled.`),i.Td(`accessibilitySupport.off`,`The editor will never be optimized for usage with a Screen Reader.`)],default:`auto`,description:i.Td(`accessibilitySupport`,`Controls whether the editor should run in a mode where it is optimized for screen readers. Setting to on will disable word wrapping.`)})}validate(e){switch(e){case`auto`:return 0;case`off`:return 1;case`on`:return 2}return this.defaultValue}compute(e,t,n){return n===0?e.accessibilitySupport:n}},C=class extends s{constructor(){let e={insertSpace:!0,ignoreEmptyLines:!0};super(19,`comments`,e,{"editor.comments.insertSpace":{type:`boolean`,default:e.insertSpace,description:i.Td(`comments.insertSpace`,`Controls whether a space character is inserted when commenting.`)},"editor.comments.ignoreEmptyLines":{type:`boolean`,default:e.ignoreEmptyLines,description:i.Td(`comments.ignoreEmptyLines`,`Controls if empty lines should be ignored with toggle, add or remove actions for line comments.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{insertSpace:f(t.insertSpace,this.defaultValue.insertSpace),ignoreEmptyLines:f(t.ignoreEmptyLines,this.defaultValue.ignoreEmptyLines)}}};function w(e){switch(e){case`blink`:return 1;case`smooth`:return 2;case`phase`:return 3;case`expand`:return 4;case`solid`:return 5}}var T;(function(e){e[e.Line=1]=`Line`,e[e.Block=2]=`Block`,e[e.Underline=3]=`Underline`,e[e.LineThin=4]=`LineThin`,e[e.BlockOutline=5]=`BlockOutline`,e[e.UnderlineThin=6]=`UnderlineThin`})(T||={});function E(e){switch(e){case`line`:return T.Line;case`block`:return T.Block;case`underline`:return T.Underline;case`line-thin`:return T.LineThin;case`block-outline`:return T.BlockOutline;case`underline-thin`:return T.UnderlineThin}}var D=class extends u{constructor(){super(129)}compute(e,t,n){let r=[`monaco-editor`];return t.get(34)&&r.push(t.get(34)),e.extraEditorClassName&&r.push(e.extraEditorClassName),t.get(67)===`default`?r.push(`mouse-default`):t.get(67)===`copy`&&r.push(`mouse-copy`),t.get(101)&&r.push(`showUnused`),t.get(127)&&r.push(`showDeprecated`),r.join(` `)}},ee=class extends p{constructor(){super(33,`emptySelectionClipboard`,!0,{description:i.Td(`emptySelectionClipboard`,`Controls whether copying without a selection copies the current line.`)})}compute(e,t,n){return n&&e.emptySelectionClipboard}},te=class extends s{constructor(){let e={cursorMoveOnType:!0,seedSearchStringFromSelection:`always`,autoFindInSelection:`never`,globalFindClipboard:!1,addExtraSpaceOnTop:!0,loop:!0};super(36,`find`,e,{"editor.find.cursorMoveOnType":{type:`boolean`,default:e.cursorMoveOnType,description:i.Td(`find.cursorMoveOnType`,`Controls whether the cursor should jump to find matches while typing.`)},"editor.find.seedSearchStringFromSelection":{type:`string`,enum:[`never`,`always`,`selection`],default:e.seedSearchStringFromSelection,enumDescriptions:[i.Td(`editor.find.seedSearchStringFromSelection.never`,`Never seed search string from the editor selection.`),i.Td(`editor.find.seedSearchStringFromSelection.always`,`Always seed search string from the editor selection, including word at cursor position.`),i.Td(`editor.find.seedSearchStringFromSelection.selection`,`Only seed search string from the editor selection.`)],description:i.Td(`find.seedSearchStringFromSelection`,`Controls whether the search string in the Find Widget is seeded from the editor selection.`)},"editor.find.autoFindInSelection":{type:`string`,enum:[`never`,`always`,`multiline`],default:e.autoFindInSelection,enumDescriptions:[i.Td(`editor.find.autoFindInSelection.never`,`Never turn on Find in Selection automatically (default).`),i.Td(`editor.find.autoFindInSelection.always`,`Always turn on Find in Selection automatically.`),i.Td(`editor.find.autoFindInSelection.multiline`,`Turn on Find in Selection automatically when multiple lines of content are selected.`)],description:i.Td(`find.autoFindInSelection`,`Controls the condition for turning on Find in Selection automatically.`)},"editor.find.globalFindClipboard":{type:`boolean`,default:e.globalFindClipboard,description:i.Td(`find.globalFindClipboard`,`Controls whether the Find Widget should read or modify the shared find clipboard on macOS.`),included:i.bd},"editor.find.addExtraSpaceOnTop":{type:`boolean`,default:e.addExtraSpaceOnTop,description:i.Td(`find.addExtraSpaceOnTop`,`Controls whether the Find Widget should add extra lines on top of the editor. When true, you can scroll beyond the first line when the Find Widget is visible.`)},"editor.find.loop":{type:`boolean`,default:e.loop,description:i.Td(`find.loop`,`Controls whether the search automatically restarts from the beginning (or the end) when no further matches can be found.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{cursorMoveOnType:f(t.cursorMoveOnType,this.defaultValue.cursorMoveOnType),seedSearchStringFromSelection:typeof e.seedSearchStringFromSelection==`boolean`?e.seedSearchStringFromSelection?`always`:`never`:v(t.seedSearchStringFromSelection,this.defaultValue.seedSearchStringFromSelection,[`never`,`always`,`selection`]),autoFindInSelection:typeof e.autoFindInSelection==`boolean`?e.autoFindInSelection?`always`:`never`:v(t.autoFindInSelection,this.defaultValue.autoFindInSelection,[`never`,`always`,`multiline`]),globalFindClipboard:f(t.globalFindClipboard,this.defaultValue.globalFindClipboard),addExtraSpaceOnTop:f(t.addExtraSpaceOnTop,this.defaultValue.addExtraSpaceOnTop),loop:f(t.loop,this.defaultValue.loop)}}},ne=class e extends s{constructor(){super(46,`fontLigatures`,e.OFF,{anyOf:[{type:`boolean`,description:i.Td(`fontLigatures`,`Enables/Disables font ligatures ('calt' and 'liga' font features). Change this to a string for fine-grained control of the 'font-feature-settings' CSS property.`)},{type:`string`,description:i.Td(`fontFeatureSettings`,`Explicit 'font-feature-settings' CSS property. A boolean can be passed instead if one only needs to turn on/off ligatures.`)}],description:i.Td(`fontLigaturesGeneral`,`Configures font ligatures or font features. Can be either a boolean to enable/disable ligatures or a string for the value of the CSS 'font-feature-settings' property.`),default:!1})}validate(t){return t===void 0?this.defaultValue:typeof t==`string`?t===`false`?e.OFF:t===`true`?e.ON:t:t?e.ON:e.OFF}};ne.OFF=`"liga" off, "calt" off`,ne.ON=`"liga" on, "calt" on`;var re=class extends u{constructor(){super(45)}compute(e,t,n){return e.fontInfo}},ie=class extends d{constructor(){super(47,`fontSize`,Fe.fontSize,{type:`number`,minimum:6,maximum:100,default:Fe.fontSize,description:i.Td(`fontSize`,`Controls the font size in pixels.`)})}validate(e){let t=g.float(e,this.defaultValue);return t===0?Fe.fontSize:g.clamp(t,6,100)}compute(e,t,n){return e.fontInfo.fontSize}},ae=class e extends s{constructor(){super(48,`fontWeight`,Fe.fontWeight,{anyOf:[{type:`number`,minimum:e.MINIMUM_VALUE,maximum:e.MAXIMUM_VALUE,errorMessage:i.Td(`fontWeightErrorMessage`,`Only "normal" and "bold" keywords or numbers between 1 and 1000 are allowed.`)},{type:`string`,pattern:`^(normal|bold|1000|[1-9][0-9]{0,2})$`},{enum:e.SUGGESTION_VALUES}],default:Fe.fontWeight,description:i.Td(`fontWeight`,`Controls the font weight. Accepts "normal" and "bold" keywords or numbers between 1 and 1000.`)})}validate(t){return t===`normal`||t===`bold`?t:String(h.clampedInt(t,Fe.fontWeight,e.MINIMUM_VALUE,e.MAXIMUM_VALUE))}};ae.SUGGESTION_VALUES=[`normal`,`bold`,`100`,`200`,`300`,`400`,`500`,`600`,`700`,`800`,`900`],ae.MINIMUM_VALUE=1,ae.MAXIMUM_VALUE=1e3;var oe=class extends s{constructor(){let e={multiple:`peek`,multipleDefinitions:`peek`,multipleTypeDefinitions:`peek`,multipleDeclarations:`peek`,multipleImplementations:`peek`,multipleReferences:`peek`,alternativeDefinitionCommand:`editor.action.goToReferences`,alternativeTypeDefinitionCommand:`editor.action.goToReferences`,alternativeDeclarationCommand:`editor.action.goToReferences`,alternativeImplementationCommand:``,alternativeReferenceCommand:``},t={type:`string`,enum:[`peek`,`gotoAndPeek`,`goto`],default:e.multiple,enumDescriptions:[i.Td(`editor.gotoLocation.multiple.peek`,`Show peek view of the results (default)`),i.Td(`editor.gotoLocation.multiple.gotoAndPeek`,`Go to the primary result and show a peek view`),i.Td(`editor.gotoLocation.multiple.goto`,`Go to the primary result and enable peek-less navigation to others`)]},n=[``,`editor.action.referenceSearch.trigger`,`editor.action.goToReferences`,`editor.action.peekImplementation`,`editor.action.goToImplementation`,`editor.action.peekTypeDefinition`,`editor.action.goToTypeDefinition`,`editor.action.peekDeclaration`,`editor.action.revealDeclaration`,`editor.action.peekDefinition`,`editor.action.revealDefinitionAside`,`editor.action.revealDefinition`];super(52,`gotoLocation`,e,{"editor.gotoLocation.multiple":{deprecationMessage:i.Td(`editor.gotoLocation.multiple.deprecated`,`This setting is deprecated, please use separate settings like 'editor.editor.gotoLocation.multipleDefinitions' or 'editor.editor.gotoLocation.multipleImplementations' instead.`)},"editor.gotoLocation.multipleDefinitions":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleDefinitions`,`Controls the behavior the 'Go to Definition'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleTypeDefinitions":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleTypeDefinitions`,`Controls the behavior the 'Go to Type Definition'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleDeclarations":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleDeclarations`,`Controls the behavior the 'Go to Declaration'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleImplementations":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleImplemenattions`,`Controls the behavior the 'Go to Implementations'-command when multiple target locations exist.`)},t),"editor.gotoLocation.multipleReferences":Object.assign({description:i.Td(`editor.editor.gotoLocation.multipleReferences`,`Controls the behavior the 'Go to References'-command when multiple target locations exist.`)},t),"editor.gotoLocation.alternativeDefinitionCommand":{type:`string`,default:e.alternativeDefinitionCommand,enum:n,description:i.Td(`alternativeDefinitionCommand`,`Alternative command id that is being executed when the result of 'Go to Definition' is the current location.`)},"editor.gotoLocation.alternativeTypeDefinitionCommand":{type:`string`,default:e.alternativeTypeDefinitionCommand,enum:n,description:i.Td(`alternativeTypeDefinitionCommand`,`Alternative command id that is being executed when the result of 'Go to Type Definition' is the current location.`)},"editor.gotoLocation.alternativeDeclarationCommand":{type:`string`,default:e.alternativeDeclarationCommand,enum:n,description:i.Td(`alternativeDeclarationCommand`,`Alternative command id that is being executed when the result of 'Go to Declaration' is the current location.`)},"editor.gotoLocation.alternativeImplementationCommand":{type:`string`,default:e.alternativeImplementationCommand,enum:n,description:i.Td(`alternativeImplementationCommand`,`Alternative command id that is being executed when the result of 'Go to Implementation' is the current location.`)},"editor.gotoLocation.alternativeReferenceCommand":{type:`string`,default:e.alternativeReferenceCommand,enum:n,description:i.Td(`alternativeReferenceCommand`,`Alternative command id that is being executed when the result of 'Go to Reference' is the current location.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{multiple:v(t.multiple,this.defaultValue.multiple,[`peek`,`gotoAndPeek`,`goto`]),multipleDefinitions:t.multipleDefinitions??v(t.multipleDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleTypeDefinitions:t.multipleTypeDefinitions??v(t.multipleTypeDefinitions,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleDeclarations:t.multipleDeclarations??v(t.multipleDeclarations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleImplementations:t.multipleImplementations??v(t.multipleImplementations,`peek`,[`peek`,`gotoAndPeek`,`goto`]),multipleReferences:t.multipleReferences??v(t.multipleReferences,`peek`,[`peek`,`gotoAndPeek`,`goto`]),alternativeDefinitionCommand:_.string(t.alternativeDefinitionCommand,this.defaultValue.alternativeDefinitionCommand),alternativeTypeDefinitionCommand:_.string(t.alternativeTypeDefinitionCommand,this.defaultValue.alternativeTypeDefinitionCommand),alternativeDeclarationCommand:_.string(t.alternativeDeclarationCommand,this.defaultValue.alternativeDeclarationCommand),alternativeImplementationCommand:_.string(t.alternativeImplementationCommand,this.defaultValue.alternativeImplementationCommand),alternativeReferenceCommand:_.string(t.alternativeReferenceCommand,this.defaultValue.alternativeReferenceCommand)}}},se=class extends s{constructor(){let e={enabled:!0,delay:300,sticky:!0,above:!0};super(54,`hover`,e,{"editor.hover.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`hover.enabled`,`Controls whether the hover is shown.`)},"editor.hover.delay":{type:`number`,default:e.delay,minimum:0,maximum:1e4,description:i.Td(`hover.delay`,`Controls the delay in milliseconds after which the hover is shown.`)},"editor.hover.sticky":{type:`boolean`,default:e.sticky,description:i.Td(`hover.sticky`,`Controls whether the hover should remain visible when mouse is moved over it.`)},"editor.hover.above":{type:`boolean`,default:e.above,description:i.Td(`hover.above`,`Prefer showing hovers above the line, if there's space.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),delay:h.clampedInt(t.delay,this.defaultValue.delay,0,1e4),sticky:f(t.sticky,this.defaultValue.sticky),above:f(t.above,this.defaultValue.above)}}},ce=class e extends u{constructor(){super(132)}compute(t,n,r){return e.computeLayout(n,{memory:t.memory,outerWidth:t.outerWidth,outerHeight:t.outerHeight,isDominatedByLongLines:t.isDominatedByLongLines,lineHeight:t.fontInfo.lineHeight,viewLineCount:t.viewLineCount,lineNumbersDigitCount:t.lineNumbersDigitCount,typicalHalfwidthCharacterWidth:t.fontInfo.typicalHalfwidthCharacterWidth,maxDigitWidth:t.fontInfo.maxDigitWidth,pixelRatio:t.pixelRatio})}static computeContainedMinimapLineCount(e){let t=e.height/e.lineHeight,n=e.scrollBeyondLastLine?t-1:0,r=(e.viewLineCount+n)/(e.pixelRatio*e.height);return{typicalViewportLineCount:t,extraLinesBeyondLastLine:n,desiredRatio:r,minimapLineCount:Math.floor(e.viewLineCount/r)}}static _computeMinimapLayout(t,n){let r=t.outerWidth,i=t.outerHeight,a=t.pixelRatio;if(!t.minimap.enabled)return{renderMinimap:0,minimapLeft:0,minimapWidth:0,minimapHeightIsEditorHeight:!1,minimapIsSampling:!1,minimapScale:1,minimapLineHeight:1,minimapCanvasInnerWidth:0,minimapCanvasInnerHeight:Math.floor(a*i),minimapCanvasOuterWidth:0,minimapCanvasOuterHeight:i};let o=n.stableMinimapLayoutInput,s=o&&t.outerHeight===o.outerHeight&&t.lineHeight===o.lineHeight&&t.typicalHalfwidthCharacterWidth===o.typicalHalfwidthCharacterWidth&&t.pixelRatio===o.pixelRatio&&t.scrollBeyondLastLine===o.scrollBeyondLastLine&&t.minimap.enabled===o.minimap.enabled&&t.minimap.side===o.minimap.side&&t.minimap.size===o.minimap.size&&t.minimap.showSlider===o.minimap.showSlider&&t.minimap.renderCharacters===o.minimap.renderCharacters&&t.minimap.maxColumn===o.minimap.maxColumn&&t.minimap.scale===o.minimap.scale&&t.verticalScrollbarWidth===o.verticalScrollbarWidth&&t.isViewportWrapping===o.isViewportWrapping,c=t.lineHeight,l=t.typicalHalfwidthCharacterWidth,u=t.scrollBeyondLastLine,d=t.minimap.renderCharacters,f=a>=2?Math.round(t.minimap.scale*2):t.minimap.scale,p=t.minimap.maxColumn,m=t.minimap.size,h=t.minimap.side,g=t.verticalScrollbarWidth,_=t.viewLineCount,v=t.remainingWidth,y=t.isViewportWrapping,b=d?2:3,x=Math.floor(a*i),S=x/a,C=!1,w=!1,T=b*f,E=f/a,D=1;if(m===`fill`||m===`fit`){let{typicalViewportLineCount:r,extraLinesBeyondLastLine:o,desiredRatio:l,minimapLineCount:d}=e.computeContainedMinimapLineCount({viewLineCount:_,scrollBeyondLastLine:u,height:i,lineHeight:c,pixelRatio:a});if(_/d>1)C=!0,w=!0,f=1,T=1,E=f/a;else{let e=!1,i=f+1;if(m===`fit`){let t=Math.ceil((_+o)*T);y&&s&&v<=n.stableFitRemainingWidth?(e=!0,i=n.stableFitMaxMinimapScale):e=t>x}if(m===`fill`||e){C=!0;let e=f;T=Math.min(c*a,Math.max(1,Math.floor(1/l))),y&&s&&v<=n.stableFitRemainingWidth&&(i=n.stableFitMaxMinimapScale),f=Math.min(i,Math.max(1,Math.floor(T/b))),f>e&&(D=Math.min(2,f/e)),E=f/a/D,x=Math.ceil(Math.max(r,_+o)*T),y?(n.stableMinimapLayoutInput=t,n.stableFitRemainingWidth=v,n.stableFitMaxMinimapScale=f):(n.stableMinimapLayoutInput=null,n.stableFitRemainingWidth=0)}}}let ee=Math.floor(p*E),te=Math.min(ee,Math.max(0,Math.floor((v-g-2)*E/(l+E)))+8),ne=Math.floor(a*te),re=ne/a;return ne=Math.floor(ne*D),{renderMinimap:d?1:2,minimapLeft:h===`left`?0:r-te-g,minimapWidth:te,minimapHeightIsEditorHeight:C,minimapIsSampling:w,minimapScale:f,minimapLineHeight:T,minimapCanvasInnerWidth:ne,minimapCanvasInnerHeight:x,minimapCanvasOuterWidth:re,minimapCanvasOuterHeight:S}}static computeLayout(t,n){let r=n.outerWidth|0,i=n.outerHeight|0,a=n.lineHeight|0,s=n.lineNumbersDigitCount|0,c=n.typicalHalfwidthCharacterWidth,l=n.maxDigitWidth,u=n.pixelRatio,d=n.viewLineCount,f=t.get(124),p=f===`inherit`?t.get(123):f,m=p===`inherit`?t.get(119):p,g=t.get(122),_=t.get(2),v=n.isDominatedByLongLines,y=t.get(51),b=t.get(61).renderType!==0,x=t.get(62),S=t.get(95),C=t.get(66),w=t.get(93),T=w.verticalScrollbarSize,E=w.verticalHasArrows,D=w.arrowSize,ee=w.horizontalScrollbarSize,te=t.get(59),ne=t.get(38),re=t.get(100)!==`never`,ie;if(typeof te==`string`&&/^\d+(\.\d+)?ch$/.test(te)){let e=parseFloat(te.substr(0,te.length-2));ie=h.clampedInt(e*c,0,0,1e3)}else ie=h.clampedInt(te,0,0,1e3);ne&&re&&(ie+=16);let ae=0;b&&(ae=Math.round(Math.max(s,x)*l));let oe=0;y&&(oe=a);let se=0,ce=se+oe,le=ce+ae,ue=le+ie,de=r-oe-ae-ie,fe=!1,pe=!1,me=-1;_!==2&&(p===`inherit`&&v?(fe=!0,pe=!0):m===`on`||m===`bounded`?pe=!0:m===`wordWrapColumn`&&(me=g));let he=e._computeMinimapLayout({outerWidth:r,outerHeight:i,lineHeight:a,typicalHalfwidthCharacterWidth:c,pixelRatio:u,scrollBeyondLastLine:S,minimap:C,verticalScrollbarWidth:T,viewLineCount:d,remainingWidth:de,isViewportWrapping:pe},n.memory||new o);he.renderMinimap!==0&&he.minimapLeft===0&&(se+=he.minimapWidth,ce+=he.minimapWidth,le+=he.minimapWidth,ue+=he.minimapWidth);let ge=de-he.minimapWidth,_e=Math.max(1,Math.floor((ge-T-2)/c)),ve=E?D:0;return pe&&(me=Math.max(1,_e),m===`bounded`&&(me=Math.min(me,g))),{width:r,height:i,glyphMarginLeft:se,glyphMarginWidth:oe,lineNumbersLeft:ce,lineNumbersWidth:ae,decorationsLeft:le,decorationsWidth:ie,contentLeft:ue,contentWidth:ge,minimap:he,viewportColumn:_e,isWordWrapMinified:fe,isViewportWrapping:pe,wrappingColumn:me,verticalScrollbarWidth:T,horizontalScrollbarHeight:ee,overviewRuler:{top:ve,width:T,height:i-2*ve,right:0}}}},le=class extends s{constructor(){let e={enabled:!0};super(58,`lightbulb`,e,{"editor.lightbulb.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`codeActions`,`Enables the code action lightbulb in the editor.`)}})}validate(e){return!e||typeof e!=`object`?this.defaultValue:{enabled:f(e.enabled,this.defaultValue.enabled)}}},ue=class extends s{constructor(){let e={enabled:`on`,fontSize:0,fontFamily:``,padding:!1};super(128,`inlayHints`,e,{"editor.inlayHints.enabled":{type:`string`,default:e.enabled,description:i.Td(`inlayHints.enable`,`Enables the inlay hints in the editor.`),enum:[`on`,`onUnlessPressed`,`offUnlessPressed`,`off`],markdownEnumDescriptions:[i.Td(`editor.inlayHints.on`,`Inlay hints are enabled`),i.Td(`editor.inlayHints.onUnlessPressed`,"Inlay hints are showing by default and hide when holding `Ctrl+Alt`"),i.Td(`editor.inlayHints.offUnlessPressed`,"Inlay hints are hidden by default and show when holding `Ctrl+Alt`"),i.Td(`editor.inlayHints.off`,`Inlay hints are disabled`)]},"editor.inlayHints.fontSize":{type:`number`,default:e.fontSize,markdownDescription:i.Td(`inlayHints.fontSize`,`Controls font size of inlay hints in the editor. As default the {0} is used when the configured value is less than {1} or greater than the editor font size.`,"`#editor.fontSize#`","`5`")},"editor.inlayHints.fontFamily":{type:`string`,default:e.fontFamily,markdownDescription:i.Td(`inlayHints.fontFamily`,`Controls font family of inlay hints in the editor. When set to empty, the {0} is used.`,"`#editor.fontFamily#`")},"editor.inlayHints.padding":{type:`boolean`,default:e.padding,description:i.Td(`inlayHints.padding`,`Enables the padding around the inlay hints in the editor.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return typeof t.enabled==`boolean`&&(t.enabled=t.enabled?`on`:`off`),{enabled:v(t.enabled,this.defaultValue.enabled,[`on`,`off`,`offUnlessPressed`,`onUnlessPressed`]),fontSize:h.clampedInt(t.fontSize,this.defaultValue.fontSize,0,100),fontFamily:_.string(t.fontFamily,this.defaultValue.fontFamily),padding:f(t.padding,this.defaultValue.padding)}}},de=class extends g{constructor(){super(60,`lineHeight`,Fe.lineHeight,e=>g.clamp(e,0,150),{markdownDescription:i.Td(`lineHeight`,`Controls the line height.
|
|
2
2
|
- Use 0 to automatically compute the line height from the font size.
|
|
3
3
|
- Values between 0 and 8 will be used as a multiplier with the font size.
|
|
4
|
-
- Values greater than or equal to 8 will be used as effective values.`)})}compute(e,t,n){return e.fontInfo.lineHeight}},fe=class extends s{constructor(){let e={enabled:!0,size:`proportional`,side:`right`,showSlider:`mouseover`,autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(66,`minimap`,e,{"editor.minimap.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`minimap.enabled`,`Controls whether the minimap is shown.`)},"editor.minimap.autohide":{type:`boolean`,default:e.autohide,description:i.Td(`minimap.autohide`,`Controls whether the minimap is hidden automatically.`)},"editor.minimap.size":{type:`string`,enum:[`proportional`,`fill`,`fit`],enumDescriptions:[i.Td(`minimap.size.proportional`,`The minimap has the same size as the editor contents (and might scroll).`),i.Td(`minimap.size.fill`,`The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling).`),i.Td(`minimap.size.fit`,`The minimap will shrink as necessary to never be larger than the editor (no scrolling).`)],default:e.size,description:i.Td(`minimap.size`,`Controls the size of the minimap.`)},"editor.minimap.side":{type:`string`,enum:[`left`,`right`],default:e.side,description:i.Td(`minimap.side`,`Controls the side where to render the minimap.`)},"editor.minimap.showSlider":{type:`string`,enum:[`always`,`mouseover`],default:e.showSlider,description:i.Td(`minimap.showSlider`,`Controls when the minimap slider is shown.`)},"editor.minimap.scale":{type:`number`,default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:i.Td(`minimap.scale`,`Scale of content drawn in the minimap: 1, 2 or 3.`)},"editor.minimap.renderCharacters":{type:`boolean`,default:e.renderCharacters,description:i.Td(`minimap.renderCharacters`,`Render the actual characters on a line as opposed to color blocks.`)},"editor.minimap.maxColumn":{type:`number`,default:e.maxColumn,description:i.Td(`minimap.maxColumn`,`Limit the width of the minimap to render at most a certain number of columns.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),autohide:f(t.autohide,this.defaultValue.autohide),size:v(t.size,this.defaultValue.size,[`proportional`,`fill`,`fit`]),side:v(t.side,this.defaultValue.side,[`right`,`left`]),showSlider:v(t.showSlider,this.defaultValue.showSlider,[`always`,`mouseover`]),renderCharacters:f(t.renderCharacters,this.defaultValue.renderCharacters),scale:h.clampedInt(t.scale,1,1,3),maxColumn:h.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4)}}};function pe(e){return e===`ctrlCmd`?i.bd?`metaKey`:`ctrlKey`:`altKey`}var me=class extends s{constructor(){super(76,`padding`,{top:0,bottom:0},{"editor.padding.top":{type:`number`,default:0,minimum:0,maximum:1e3,description:i.Td(`padding.top`,`Controls the amount of space between the top edge of the editor and the first line.`)},"editor.padding.bottom":{type:`number`,default:0,minimum:0,maximum:1e3,description:i.Td(`padding.bottom`,`Controls the amount of space between the bottom edge of the editor and the last line.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{top:h.clampedInt(t.top,0,0,1e3),bottom:h.clampedInt(t.bottom,0,0,1e3)}}},he=class extends s{constructor(){let e={enabled:!0,cycle:!1};super(77,`parameterHints`,e,{"editor.parameterHints.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`parameterHints.enabled`,`Enables a pop-up that shows parameter documentation and type information as you type.`)},"editor.parameterHints.cycle":{type:`boolean`,default:e.cycle,description:i.Td(`parameterHints.cycle`,`Controls whether the parameter hints menu cycles or closes when reaching the end of the list.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),cycle:f(t.cycle,this.defaultValue.cycle)}}},ge=class extends u{constructor(){super(130)}compute(e,t,n){return e.pixelRatio}},_e=class extends s{constructor(){let e={other:`on`,comments:`off`,strings:`off`},t=[{type:`boolean`},{type:`string`,enum:[`on`,`inline`,`off`],enumDescriptions:[i.Td(`on`,`Quick suggestions show inside the suggest widget`),i.Td(`inline`,`Quick suggestions show as ghost text`),i.Td(`off`,`Quick suggestions are disabled`)]}];super(80,`quickSuggestions`,e,{type:`object`,additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:i.Td(`quickSuggestions.strings`,`Enable quick suggestions inside strings.`)},comments:{anyOf:t,default:e.comments,description:i.Td(`quickSuggestions.comments`,`Enable quick suggestions inside comments.`)},other:{anyOf:t,default:e.other,description:i.Td(`quickSuggestions.other`,`Enable quick suggestions outside of strings and comments.`)}},default:e,markdownDescription:i.Td(`quickSuggestions`,`Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.`,`#editor.suggestOnTriggerCharacters#`)}),this.defaultValue=e}validate(e){if(typeof e==`boolean`){let t=e?`on`:`off`;return{comments:t,strings:t,other:t}}if(!e||typeof e!=`object`)return this.defaultValue;let{other:t,comments:n,strings:r}=e,i=[`on`,`inline`,`off`],a,o,s;return a=typeof t==`boolean`?t?`on`:`off`:v(t,this.defaultValue.other,i),o=typeof n==`boolean`?n?`on`:`off`:v(n,this.defaultValue.comments,i),s=typeof r==`boolean`?r?`on`:`off`:v(r,this.defaultValue.strings,i),{other:a,comments:o,strings:s}}},ve=class extends s{constructor(){super(61,`lineNumbers`,{renderType:1,renderFn:null},{type:`string`,enum:[`off`,`on`,`relative`,`interval`],enumDescriptions:[i.Td(`lineNumbers.off`,`Line numbers are not rendered.`),i.Td(`lineNumbers.on`,`Line numbers are rendered as absolute number.`),i.Td(`lineNumbers.relative`,`Line numbers are rendered as distance in lines to cursor position.`),i.Td(`lineNumbers.interval`,`Line numbers are rendered every 10 lines.`)],default:`on`,description:i.Td(`lineNumbers`,`Controls the display of line numbers.`)})}validate(e){let t=this.defaultValue.renderType,n=this.defaultValue.renderFn;return e!==void 0&&(typeof e==`function`?(t=4,n=e):t=e===`interval`?3:e===`relative`?2:e===`on`?1:0),{renderType:t,renderFn:n}}};function ye(e){let t=e.get(88);return t===`editable`?e.get(82):t!==`on`}var be=class extends s{constructor(){let e=[],t={type:`number`,description:i.Td(`rulers.size`,`Number of monospace characters at which this editor ruler will render.`)};super(92,`rulers`,e,{type:`array`,items:{anyOf:[t,{type:[`object`],properties:{column:t,color:{type:`string`,description:i.Td(`rulers.color`,`Color of this editor ruler.`),format:`color-hex`}}}]},default:e,description:i.Td(`rulers`,`Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.`)})}validate(e){if(Array.isArray(e)){let t=[];for(let n of e)if(typeof n==`number`)t.push({column:h.clampedInt(n,0,0,1e4),color:null});else if(n&&typeof n==`object`){let e=n;t.push({column:h.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort((e,t)=>e.column-t.column),t}return this.defaultValue}};function xe(e,t){if(typeof e!=`string`)return t;switch(e){case`hidden`:return 2;case`visible`:return 3;default:return 1}}var Se=class extends s{constructor(){let e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1};super(93,`scrollbar`,e,{"editor.scrollbar.vertical":{type:`string`,enum:[`auto`,`visible`,`hidden`],enumDescriptions:[i.Td(`scrollbar.vertical.auto`,`The vertical scrollbar will be visible only when necessary.`),i.Td(`scrollbar.vertical.visible`,`The vertical scrollbar will always be visible.`),i.Td(`scrollbar.vertical.fit`,`The vertical scrollbar will always be hidden.`)],default:`auto`,description:i.Td(`scrollbar.vertical`,`Controls the visibility of the vertical scrollbar.`)},"editor.scrollbar.horizontal":{type:`string`,enum:[`auto`,`visible`,`hidden`],enumDescriptions:[i.Td(`scrollbar.horizontal.auto`,`The horizontal scrollbar will be visible only when necessary.`),i.Td(`scrollbar.horizontal.visible`,`The horizontal scrollbar will always be visible.`),i.Td(`scrollbar.horizontal.fit`,`The horizontal scrollbar will always be hidden.`)],default:`auto`,description:i.Td(`scrollbar.horizontal`,`Controls the visibility of the horizontal scrollbar.`)},"editor.scrollbar.verticalScrollbarSize":{type:`number`,default:e.verticalScrollbarSize,description:i.Td(`scrollbar.verticalScrollbarSize`,`The width of the vertical scrollbar.`)},"editor.scrollbar.horizontalScrollbarSize":{type:`number`,default:e.horizontalScrollbarSize,description:i.Td(`scrollbar.horizontalScrollbarSize`,`The height of the horizontal scrollbar.`)},"editor.scrollbar.scrollByPage":{type:`boolean`,default:e.scrollByPage,description:i.Td(`scrollbar.scrollByPage`,`Controls whether clicks scroll by page or jump to click position.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e,n=h.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),r=h.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:h.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:xe(t.vertical,this.defaultValue.vertical),horizontal:xe(t.horizontal,this.defaultValue.horizontal),useShadows:f(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:f(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:f(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:f(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:f(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:n,horizontalSliderSize:h.clampedInt(t.horizontalSliderSize,n,0,1e3),verticalScrollbarSize:r,verticalSliderSize:h.clampedInt(t.verticalSliderSize,r,0,1e3),scrollByPage:f(t.scrollByPage,this.defaultValue.scrollByPage)}}},Ce=`inUntrustedWorkspace`,we={allowedCharacters:`editor.unicodeHighlight.allowedCharacters`,invisibleCharacters:`editor.unicodeHighlight.invisibleCharacters`,nonBasicASCII:`editor.unicodeHighlight.nonBasicASCII`,ambiguousCharacters:`editor.unicodeHighlight.ambiguousCharacters`,includeComments:`editor.unicodeHighlight.includeComments`,includeStrings:`editor.unicodeHighlight.includeStrings`,allowedLocales:`editor.unicodeHighlight.allowedLocales`},Te=class extends s{constructor(){let e={nonBasicASCII:Ce,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Ce,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(114,`unicodeHighlight`,e,{[we.nonBasicASCII]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Ce],default:e.nonBasicASCII,description:i.Td(`unicodeHighlight.nonBasicASCII`,`Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.`)},[we.invisibleCharacters]:{restricted:!0,type:`boolean`,default:e.invisibleCharacters,description:i.Td(`unicodeHighlight.invisibleCharacters`,`Controls whether characters that just reserve space or have no width at all are highlighted.`)},[we.ambiguousCharacters]:{restricted:!0,type:`boolean`,default:e.ambiguousCharacters,description:i.Td(`unicodeHighlight.ambiguousCharacters`,`Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.`)},[we.includeComments]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Ce],default:e.includeComments,description:i.Td(`unicodeHighlight.includeComments`,`Controls whether characters in comments should also be subject to unicode highlighting.`)},[we.includeStrings]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Ce],default:e.includeStrings,description:i.Td(`unicodeHighlight.includeStrings`,`Controls whether characters in strings should also be subject to unicode highlighting.`)},[we.allowedCharacters]:{restricted:!0,type:`object`,default:e.allowedCharacters,description:i.Td(`unicodeHighlight.allowedCharacters`,`Defines allowed characters that are not being highlighted.`),additionalProperties:{type:`boolean`}},[we.allowedLocales]:{restricted:!0,type:`object`,additionalProperties:{type:`boolean`},default:e.allowedLocales,description:i.Td(`unicodeHighlight.allowedLocales`,`Unicode characters that are common in allowed locales are not being highlighted.`)}})}applyUpdate(e,t){let n=!1;t.allowedCharacters&&e&&(i.yu(e.allowedCharacters,t.allowedCharacters)||(e=Object.assign(Object.assign({},e),{allowedCharacters:t.allowedCharacters}),n=!0)),t.allowedLocales&&e&&(i.yu(e.allowedLocales,t.allowedLocales)||(e=Object.assign(Object.assign({},e),{allowedLocales:t.allowedLocales}),n=!0));let r=super.applyUpdate(e,t);return n?new c(r.newValue,!0):r}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{nonBasicASCII:ke(t.nonBasicASCII,Ce,[!0,!1,Ce]),invisibleCharacters:f(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:f(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:ke(t.includeComments,Ce,[!0,!1,Ce]),includeStrings:ke(t.includeStrings,Ce,[!0,!1,Ce]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!=`object`||!e)return t;let n={};for(let[t,r]of Object.entries(e))r===!0&&(n[t]=!0);return n}},Ee=class extends s{constructor(){let e={enabled:!0,mode:`subwordSmart`};super(56,`inlineSuggest`,e,{"editor.inlineSuggest.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`inlineSuggest.enabled`,`Controls whether to automatically show inline suggestions in the editor.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),mode:v(t.mode,this.defaultValue.mode,[`prefix`,`subword`,`subwordSmart`])}}},De=class extends s{constructor(){let e={enabled:i.hu.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:i.hu.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(12,`bracketPairColorization`,e,{"editor.bracketPairColorization.enabled":{type:`boolean`,default:e.enabled,markdownDescription:i.Td(`bracketPairColorization.enabled`,`Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.`,"`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:`boolean`,default:e.independentColorPoolPerBracketType,description:i.Td(`bracketPairColorization.independentColorPoolPerBracketType`,`Controls whether each bracket type has its own independent color pool.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:f(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}},Oe=class extends s{constructor(){let e={bracketPairs:!1,bracketPairsHorizontal:`active`,highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(13,`guides`,e,{"editor.guides.bracketPairs":{type:[`boolean`,`string`],enum:[!0,`active`,!1],enumDescriptions:[i.Td(`editor.guides.bracketPairs.true`,`Enables bracket pair guides.`),i.Td(`editor.guides.bracketPairs.active`,`Enables bracket pair guides only for the active bracket pair.`),i.Td(`editor.guides.bracketPairs.false`,`Disables bracket pair guides.`)],default:e.bracketPairs,description:i.Td(`editor.guides.bracketPairs`,`Controls whether bracket pair guides are enabled or not.`)},"editor.guides.bracketPairsHorizontal":{type:[`boolean`,`string`],enum:[!0,`active`,!1],enumDescriptions:[i.Td(`editor.guides.bracketPairsHorizontal.true`,`Enables horizontal guides as addition to vertical bracket pair guides.`),i.Td(`editor.guides.bracketPairsHorizontal.active`,`Enables horizontal guides only for the active bracket pair.`),i.Td(`editor.guides.bracketPairsHorizontal.false`,`Disables horizontal bracket pair guides.`)],default:e.bracketPairsHorizontal,description:i.Td(`editor.guides.bracketPairsHorizontal`,`Controls whether horizontal bracket pair guides are enabled or not.`)},"editor.guides.highlightActiveBracketPair":{type:`boolean`,default:e.highlightActiveBracketPair,description:i.Td(`editor.guides.highlightActiveBracketPair`,`Controls whether the editor should highlight the active bracket pair.`)},"editor.guides.indentation":{type:`boolean`,default:e.indentation,description:i.Td(`editor.guides.indentation`,`Controls whether the editor should render indent guides.`)},"editor.guides.highlightActiveIndentation":{type:[`boolean`,`string`],enum:[!0,`always`,!1],enumDescriptions:[i.Td(`editor.guides.highlightActiveIndentation.true`,`Highlights the active indent guide.`),i.Td(`editor.guides.highlightActiveIndentation.always`,`Highlights the active indent guide even if bracket guides are highlighted.`),i.Td(`editor.guides.highlightActiveIndentation.false`,`Do not highlight the active indent guide.`)],default:e.highlightActiveIndentation,description:i.Td(`editor.guides.highlightActiveIndentation`,`Controls whether the editor should highlight the active indent guide.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{bracketPairs:ke(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,`active`]),bracketPairsHorizontal:ke(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,`active`]),highlightActiveBracketPair:f(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:f(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:ke(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,`always`])}}};function ke(e,t,n){let r=n.indexOf(e);return r===-1?t:n[r]}var Ae=class extends s{constructor(){let e={insertMode:`insert`,filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,showStatusBar:!1,preview:!1,previewMode:`subwordSmart`,showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(107,`suggest`,e,{"editor.suggest.insertMode":{type:`string`,enum:[`insert`,`replace`],enumDescriptions:[i.Td(`suggest.insertMode.insert`,`Insert suggestion without overwriting text right of the cursor.`),i.Td(`suggest.insertMode.replace`,`Insert suggestion and overwrite text right of the cursor.`)],default:e.insertMode,description:i.Td(`suggest.insertMode`,`Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.`)},"editor.suggest.filterGraceful":{type:`boolean`,default:e.filterGraceful,description:i.Td(`suggest.filterGraceful`,`Controls whether filtering and sorting suggestions accounts for small typos.`)},"editor.suggest.localityBonus":{type:`boolean`,default:e.localityBonus,description:i.Td(`suggest.localityBonus`,`Controls whether sorting favors words that appear close to the cursor.`)},"editor.suggest.shareSuggestSelections":{type:`boolean`,default:e.shareSuggestSelections,markdownDescription:i.Td(`suggest.shareSuggestSelections`,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.snippetsPreventQuickSuggestions":{type:`boolean`,default:e.snippetsPreventQuickSuggestions,description:i.Td(`suggest.snippetsPreventQuickSuggestions`,`Controls whether an active snippet prevents quick suggestions.`)},"editor.suggest.showIcons":{type:`boolean`,default:e.showIcons,description:i.Td(`suggest.showIcons`,`Controls whether to show or hide icons in suggestions.`)},"editor.suggest.showStatusBar":{type:`boolean`,default:e.showStatusBar,description:i.Td(`suggest.showStatusBar`,`Controls the visibility of the status bar at the bottom of the suggest widget.`)},"editor.suggest.preview":{type:`boolean`,default:e.preview,description:i.Td(`suggest.preview`,`Controls whether to preview the suggestion outcome in the editor.`)},"editor.suggest.showInlineDetails":{type:`boolean`,default:e.showInlineDetails,description:i.Td(`suggest.showInlineDetails`,`Controls whether suggest details show inline with the label or only in the details widget`)},"editor.suggest.maxVisibleSuggestions":{type:`number`,deprecationMessage:i.Td(`suggest.maxVisibleSuggestions.dep`,`This setting is deprecated. The suggest widget can now be resized.`)},"editor.suggest.filteredTypes":{type:`object`,deprecationMessage:i.Td(`deprecated`,`This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.`)},"editor.suggest.showMethods":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showMethods`,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFunctions`,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showConstructors`,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showDeprecated`,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.showFields":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFields`,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showVariables`,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showClasss`,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showStructs`,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showInterfaces`,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showModules`,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showPropertys`,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showEvents`,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showOperators`,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showUnits`,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showValues`,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showConstants`,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showEnums`,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showEnumMembers`,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showKeywords`,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showTexts`,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showColors`,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFiles`,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showReferences`,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showCustomcolors`,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFolders`,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showTypeParameters`,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showSnippets`,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showUsers`,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showIssues`,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{insertMode:v(t.insertMode,this.defaultValue.insertMode,[`insert`,`replace`]),filterGraceful:f(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:f(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:f(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:f(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),showIcons:f(t.showIcons,this.defaultValue.showIcons),showStatusBar:f(t.showStatusBar,this.defaultValue.showStatusBar),preview:f(t.preview,this.defaultValue.preview),previewMode:v(t.previewMode,this.defaultValue.previewMode,[`prefix`,`subword`,`subwordSmart`]),showInlineDetails:f(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:f(t.showMethods,this.defaultValue.showMethods),showFunctions:f(t.showFunctions,this.defaultValue.showFunctions),showConstructors:f(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:f(t.showDeprecated,this.defaultValue.showDeprecated),showFields:f(t.showFields,this.defaultValue.showFields),showVariables:f(t.showVariables,this.defaultValue.showVariables),showClasses:f(t.showClasses,this.defaultValue.showClasses),showStructs:f(t.showStructs,this.defaultValue.showStructs),showInterfaces:f(t.showInterfaces,this.defaultValue.showInterfaces),showModules:f(t.showModules,this.defaultValue.showModules),showProperties:f(t.showProperties,this.defaultValue.showProperties),showEvents:f(t.showEvents,this.defaultValue.showEvents),showOperators:f(t.showOperators,this.defaultValue.showOperators),showUnits:f(t.showUnits,this.defaultValue.showUnits),showValues:f(t.showValues,this.defaultValue.showValues),showConstants:f(t.showConstants,this.defaultValue.showConstants),showEnums:f(t.showEnums,this.defaultValue.showEnums),showEnumMembers:f(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:f(t.showKeywords,this.defaultValue.showKeywords),showWords:f(t.showWords,this.defaultValue.showWords),showColors:f(t.showColors,this.defaultValue.showColors),showFiles:f(t.showFiles,this.defaultValue.showFiles),showReferences:f(t.showReferences,this.defaultValue.showReferences),showFolders:f(t.showFolders,this.defaultValue.showFolders),showTypeParameters:f(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:f(t.showSnippets,this.defaultValue.showSnippets),showUsers:f(t.showUsers,this.defaultValue.showUsers),showIssues:f(t.showIssues,this.defaultValue.showIssues)}}},je=class extends s{constructor(){super(103,`smartSelect`,{selectLeadingAndTrailingWhitespace:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:i.Td(`selectLeadingAndTrailingWhitespace`,`Whether leading and trailing whitespace should always be selected.`),default:!0,type:`boolean`}})}validate(e){return!e||typeof e!=`object`?this.defaultValue:{selectLeadingAndTrailingWhitespace:f(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace)}}},Me=class extends u{constructor(){super(131)}compute(e,t,n){return t.get(82)?!0:e.tabFocusMode}};function Ne(e){switch(e){case`none`:return 0;case`same`:return 1;case`indent`:return 2;case`deepIndent`:return 3}}var Pe=class extends u{constructor(){super(133)}compute(e,t,n){let r=t.get(132);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:r.isWordWrapMinified,isViewportWrapping:r.isViewportWrapping,wrappingColumn:r.wrappingColumn}}},Fe={fontFamily:i.bd?`Menlo, Monaco, 'Courier New', monospace`:i.vd?`'Droid Sans Mono', 'monospace', monospace`:`Consolas, 'Courier New', monospace`,fontWeight:`normal`,fontSize:i.bd?12:14,lineHeight:0,letterSpacing:0},Ie=[];function O(e){return Ie[e.id]=e,e}var Le={acceptSuggestionOnCommitCharacter:O(new p(0,`acceptSuggestionOnCommitCharacter`,!0,{markdownDescription:i.Td(`acceptSuggestionOnCommitCharacter`,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`; `) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:O(new y(1,`acceptSuggestionOnEnter`,`on`,[`on`,`smart`,`off`],{markdownEnumDescriptions:[``,i.Td(`acceptSuggestionOnEnterSmart`,"Only accept a suggestion with `Enter` when it makes a textual change."),``],markdownDescription:i.Td(`acceptSuggestionOnEnter`,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:O(new S),accessibilityPageSize:O(new h(3,`accessibilityPageSize`,10,1,1073741824,{description:i.Td(`accessibilityPageSize`,`Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default.`)})),ariaLabel:O(new _(4,`ariaLabel`,i.Td(`editorViewAccessibleLabel`,`Editor content`))),autoClosingBrackets:O(new y(5,`autoClosingBrackets`,`languageDefined`,[`always`,`languageDefined`,`beforeWhitespace`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingBrackets.languageDefined`,`Use language configurations to determine when to autoclose brackets.`),i.Td(`editor.autoClosingBrackets.beforeWhitespace`,`Autoclose brackets only when the cursor is to the left of whitespace.`),``],description:i.Td(`autoClosingBrackets`,`Controls whether the editor should automatically close brackets after the user adds an opening bracket.`)})),autoClosingDelete:O(new y(6,`autoClosingDelete`,`auto`,[`always`,`auto`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingDelete.auto`,`Remove adjacent closing quotes or brackets only if they were automatically inserted.`),``],description:i.Td(`autoClosingDelete`,`Controls whether the editor should remove adjacent closing quotes or brackets when deleting.`)})),autoClosingOvertype:O(new y(7,`autoClosingOvertype`,`auto`,[`always`,`auto`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingOvertype.auto`,`Type over closing quotes or brackets only if they were automatically inserted.`),``],description:i.Td(`autoClosingOvertype`,`Controls whether the editor should type over closing quotes or brackets.`)})),autoClosingQuotes:O(new y(8,`autoClosingQuotes`,`languageDefined`,[`always`,`languageDefined`,`beforeWhitespace`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingQuotes.languageDefined`,`Use language configurations to determine when to autoclose quotes.`),i.Td(`editor.autoClosingQuotes.beforeWhitespace`,`Autoclose quotes only when the cursor is to the left of whitespace.`),``],description:i.Td(`autoClosingQuotes`,`Controls whether the editor should automatically close quotes after the user adds an opening quote.`)})),autoIndent:O(new b(9,`autoIndent`,4,`full`,[`none`,`keep`,`brackets`,`advanced`,`full`],x,{enumDescriptions:[i.Td(`editor.autoIndent.none`,`The editor will not insert indentation automatically.`),i.Td(`editor.autoIndent.keep`,`The editor will keep the current line's indentation.`),i.Td(`editor.autoIndent.brackets`,`The editor will keep the current line's indentation and honor language defined brackets.`),i.Td(`editor.autoIndent.advanced`,`The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages.`),i.Td(`editor.autoIndent.full`,`The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.`)],description:i.Td(`autoIndent`,`Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.`)})),automaticLayout:O(new p(10,`automaticLayout`,!1)),autoSurround:O(new y(11,`autoSurround`,`languageDefined`,[`languageDefined`,`quotes`,`brackets`,`never`],{enumDescriptions:[i.Td(`editor.autoSurround.languageDefined`,`Use language configurations to determine when to automatically surround selections.`),i.Td(`editor.autoSurround.quotes`,`Surround with quotes but not brackets.`),i.Td(`editor.autoSurround.brackets`,`Surround with brackets but not quotes.`),``],description:i.Td(`autoSurround`,`Controls whether the editor should automatically surround selections when typing quotes or brackets.`)})),bracketPairColorization:O(new De),bracketPairGuides:O(new Oe),stickyTabStops:O(new p(105,`stickyTabStops`,!1,{description:i.Td(`stickyTabStops`,`Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.`)})),codeLens:O(new p(14,`codeLens`,!0,{description:i.Td(`codeLens`,`Controls whether the editor shows CodeLens.`)})),codeLensFontFamily:O(new _(15,`codeLensFontFamily`,``,{description:i.Td(`codeLensFontFamily`,`Controls the font family for CodeLens.`)})),codeLensFontSize:O(new h(16,`codeLensFontSize`,0,0,100,{type:`number`,default:0,minimum:0,maximum:100,markdownDescription:i.Td(`codeLensFontSize`,"Controls the font size in pixels for CodeLens. When set to `0`, 90% of `#editor.fontSize#` is used.")})),colorDecorators:O(new p(17,`colorDecorators`,!0,{description:i.Td(`colorDecorators`,`Controls whether the editor should render the inline color decorators and color picker.`)})),columnSelection:O(new p(18,`columnSelection`,!1,{description:i.Td(`columnSelection`,`Enable that the selection with the mouse and keys is doing column selection.`)})),comments:O(new C),contextmenu:O(new p(20,`contextmenu`,!0)),copyWithSyntaxHighlighting:O(new p(21,`copyWithSyntaxHighlighting`,!0,{description:i.Td(`copyWithSyntaxHighlighting`,`Controls whether syntax highlighting should be copied into the clipboard.`)})),cursorBlinking:O(new b(22,`cursorBlinking`,1,`blink`,[`blink`,`smooth`,`phase`,`expand`,`solid`],w,{description:i.Td(`cursorBlinking`,`Control the cursor animation style.`)})),cursorSmoothCaretAnimation:O(new p(23,`cursorSmoothCaretAnimation`,!1,{description:i.Td(`cursorSmoothCaretAnimation`,`Controls whether the smooth caret animation should be enabled.`)})),cursorStyle:O(new b(24,`cursorStyle`,T.Line,`line`,[`line`,`block`,`underline`,`line-thin`,`block-outline`,`underline-thin`],E,{description:i.Td(`cursorStyle`,`Controls the cursor style.`)})),cursorSurroundingLines:O(new h(25,`cursorSurroundingLines`,0,0,1073741824,{description:i.Td(`cursorSurroundingLines`,`Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.`)})),cursorSurroundingLinesStyle:O(new y(26,`cursorSurroundingLinesStyle`,`default`,[`default`,`all`],{enumDescriptions:[i.Td(`cursorSurroundingLinesStyle.default`,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),i.Td(`cursorSurroundingLinesStyle.all`,"`cursorSurroundingLines` is enforced always.")],description:i.Td(`cursorSurroundingLinesStyle`,"Controls when `cursorSurroundingLines` should be enforced.")})),cursorWidth:O(new h(27,`cursorWidth`,0,0,1073741824,{markdownDescription:i.Td(`cursorWidth`,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:O(new p(28,`disableLayerHinting`,!1)),disableMonospaceOptimizations:O(new p(29,`disableMonospaceOptimizations`,!1)),domReadOnly:O(new p(30,`domReadOnly`,!1)),dragAndDrop:O(new p(31,`dragAndDrop`,!0,{description:i.Td(`dragAndDrop`,`Controls whether the editor should allow moving selections via drag and drop.`)})),emptySelectionClipboard:O(new ee),enableDropIntoEditor:O(new p(32,`enableDropIntoEditor`,!0)),extraEditorClassName:O(new _(34,`extraEditorClassName`,``)),fastScrollSensitivity:O(new g(35,`fastScrollSensitivity`,5,e=>e<=0?5:e,{markdownDescription:i.Td(`fastScrollSensitivity`,"Scrolling speed multiplier when pressing `Alt`.")})),find:O(new te),fixedOverflowWidgets:O(new p(37,`fixedOverflowWidgets`,!1)),folding:O(new p(38,`folding`,!0,{description:i.Td(`folding`,`Controls whether the editor has code folding enabled.`)})),foldingStrategy:O(new y(39,`foldingStrategy`,`auto`,[`auto`,`indentation`],{enumDescriptions:[i.Td(`foldingStrategy.auto`,`Use a language-specific folding strategy if available, else the indentation-based one.`),i.Td(`foldingStrategy.indentation`,`Use the indentation-based folding strategy.`)],description:i.Td(`foldingStrategy`,`Controls the strategy for computing folding ranges.`)})),foldingHighlight:O(new p(40,`foldingHighlight`,!0,{description:i.Td(`foldingHighlight`,`Controls whether the editor should highlight folded ranges.`)})),foldingImportsByDefault:O(new p(41,`foldingImportsByDefault`,!1,{description:i.Td(`foldingImportsByDefault`,`Controls whether the editor automatically collapses import ranges.`)})),foldingMaximumRegions:O(new h(42,`foldingMaximumRegions`,5e3,10,65e3,{description:i.Td(`foldingMaximumRegions`,`The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.`)})),unfoldOnClickAfterEndOfLine:O(new p(43,`unfoldOnClickAfterEndOfLine`,!1,{description:i.Td(`unfoldOnClickAfterEndOfLine`,`Controls whether clicking on the empty content after a folded line will unfold the line.`)})),fontFamily:O(new _(44,`fontFamily`,Fe.fontFamily,{description:i.Td(`fontFamily`,`Controls the font family.`)})),fontInfo:O(new re),fontLigatures2:O(new ne),fontSize:O(new ie),fontWeight:O(new ae),formatOnPaste:O(new p(49,`formatOnPaste`,!1,{description:i.Td(`formatOnPaste`,`Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.`)})),formatOnType:O(new p(50,`formatOnType`,!1,{description:i.Td(`formatOnType`,`Controls whether the editor should automatically format the line after typing.`)})),glyphMargin:O(new p(51,`glyphMargin`,!0,{description:i.Td(`glyphMargin`,`Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.`)})),gotoLocation:O(new oe),hideCursorInOverviewRuler:O(new p(53,`hideCursorInOverviewRuler`,!1,{description:i.Td(`hideCursorInOverviewRuler`,`Controls whether the cursor should be hidden in the overview ruler.`)})),hover:O(new se),inDiffEditor:O(new p(55,`inDiffEditor`,!1)),letterSpacing:O(new g(57,`letterSpacing`,Fe.letterSpacing,e=>g.clamp(e,-5,20),{description:i.Td(`letterSpacing`,`Controls the letter spacing in pixels.`)})),lightbulb:O(new le),lineDecorationsWidth:O(new d(59,`lineDecorationsWidth`,10)),lineHeight:O(new de),lineNumbers:O(new ve),lineNumbersMinChars:O(new h(62,`lineNumbersMinChars`,5,1,300)),linkedEditing:O(new p(63,`linkedEditing`,!1,{description:i.Td(`linkedEditing`,`Controls whether the editor has linked editing enabled. Depending on the language, related symbols, e.g. HTML tags, are updated while editing.`)})),links:O(new p(64,`links`,!0,{description:i.Td(`links`,`Controls whether the editor should detect links and make them clickable.`)})),matchBrackets:O(new y(65,`matchBrackets`,`always`,[`always`,`near`,`never`],{description:i.Td(`matchBrackets`,`Highlight matching brackets.`)})),minimap:O(new fe),mouseStyle:O(new y(67,`mouseStyle`,`text`,[`text`,`default`,`copy`])),mouseWheelScrollSensitivity:O(new g(68,`mouseWheelScrollSensitivity`,1,e=>e===0?1:e,{markdownDescription:i.Td(`mouseWheelScrollSensitivity`,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:O(new p(69,`mouseWheelZoom`,!1,{markdownDescription:i.Td(`mouseWheelZoom`,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:O(new p(70,`multiCursorMergeOverlapping`,!0,{description:i.Td(`multiCursorMergeOverlapping`,`Merge multiple cursors when they are overlapping.`)})),multiCursorModifier:O(new b(71,`multiCursorModifier`,`altKey`,`alt`,[`ctrlCmd`,`alt`],pe,{markdownEnumDescriptions:[i.Td(`multiCursorModifier.ctrlCmd`,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),i.Td(`multiCursorModifier.alt`,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:i.Td({key:`multiCursorModifier`,comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},`The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).`)})),multiCursorPaste:O(new y(72,`multiCursorPaste`,`spread`,[`spread`,`full`],{markdownEnumDescriptions:[i.Td(`multiCursorPaste.spread`,`Each cursor pastes a single line of the text.`),i.Td(`multiCursorPaste.full`,`Each cursor pastes the full text.`)],markdownDescription:i.Td(`multiCursorPaste`,`Controls pasting when the line count of the pasted text matches the cursor count.`)})),occurrencesHighlight:O(new p(73,`occurrencesHighlight`,!0,{description:i.Td(`occurrencesHighlight`,`Controls whether the editor should highlight semantic symbol occurrences.`)})),overviewRulerBorder:O(new p(74,`overviewRulerBorder`,!0,{description:i.Td(`overviewRulerBorder`,`Controls whether a border should be drawn around the overview ruler.`)})),overviewRulerLanes:O(new h(75,`overviewRulerLanes`,3,0,3)),padding:O(new me),parameterHints:O(new he),peekWidgetDefaultFocus:O(new y(78,`peekWidgetDefaultFocus`,`tree`,[`tree`,`editor`],{enumDescriptions:[i.Td(`peekWidgetDefaultFocus.tree`,`Focus the tree when opening peek`),i.Td(`peekWidgetDefaultFocus.editor`,`Focus the editor when opening peek`)],description:i.Td(`peekWidgetDefaultFocus`,`Controls whether to focus the inline editor or the tree in the peek widget.`)})),definitionLinkOpensInPeek:O(new p(79,`definitionLinkOpensInPeek`,!1,{description:i.Td(`definitionLinkOpensInPeek`,`Controls whether the Go to Definition mouse gesture always opens the peek widget.`)})),quickSuggestions:O(new _e),quickSuggestionsDelay:O(new h(81,`quickSuggestionsDelay`,10,0,1073741824,{description:i.Td(`quickSuggestionsDelay`,`Controls the delay in milliseconds after which quick suggestions will show up.`)})),readOnly:O(new p(82,`readOnly`,!1)),renameOnType:O(new p(83,`renameOnType`,!1,{description:i.Td(`renameOnType`,`Controls whether the editor auto renames on type.`),markdownDeprecationMessage:i.Td(`renameOnTypeDeprecate`,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:O(new p(84,`renderControlCharacters`,!0,{description:i.Td(`renderControlCharacters`,`Controls whether the editor should render control characters.`),restricted:!0})),renderFinalNewline:O(new p(85,`renderFinalNewline`,!0,{description:i.Td(`renderFinalNewline`,`Render last line number when the file ends with a newline.`)})),renderLineHighlight:O(new y(86,`renderLineHighlight`,`line`,[`none`,`gutter`,`line`,`all`],{enumDescriptions:[``,``,``,i.Td(`renderLineHighlight.all`,`Highlights both the gutter and the current line.`)],description:i.Td(`renderLineHighlight`,`Controls how the editor should render the current line highlight.`)})),renderLineHighlightOnlyWhenFocus:O(new p(87,`renderLineHighlightOnlyWhenFocus`,!1,{description:i.Td(`renderLineHighlightOnlyWhenFocus`,`Controls if the editor should render the current line highlight only when the editor is focused.`)})),renderValidationDecorations:O(new y(88,`renderValidationDecorations`,`editable`,[`editable`,`on`,`off`])),renderWhitespace:O(new y(89,`renderWhitespace`,`selection`,[`none`,`boundary`,`selection`,`trailing`,`all`],{enumDescriptions:[``,i.Td(`renderWhitespace.boundary`,`Render whitespace characters except for single spaces between words.`),i.Td(`renderWhitespace.selection`,`Render whitespace characters only on selected text.`),i.Td(`renderWhitespace.trailing`,`Render only trailing whitespace characters.`),``],description:i.Td(`renderWhitespace`,`Controls how the editor should render whitespace characters.`)})),revealHorizontalRightPadding:O(new h(90,`revealHorizontalRightPadding`,30,0,1e3)),roundedSelection:O(new p(91,`roundedSelection`,!0,{description:i.Td(`roundedSelection`,`Controls whether selections should have rounded corners.`)})),rulers:O(new be),scrollbar:O(new Se),scrollBeyondLastColumn:O(new h(94,`scrollBeyondLastColumn`,4,0,1073741824,{description:i.Td(`scrollBeyondLastColumn`,`Controls the number of extra characters beyond which the editor will scroll horizontally.`)})),scrollBeyondLastLine:O(new p(95,`scrollBeyondLastLine`,!0,{description:i.Td(`scrollBeyondLastLine`,`Controls whether the editor will scroll beyond the last line.`)})),scrollPredominantAxis:O(new p(96,`scrollPredominantAxis`,!0,{description:i.Td(`scrollPredominantAxis`,`Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.`)})),selectionClipboard:O(new p(97,`selectionClipboard`,!0,{description:i.Td(`selectionClipboard`,`Controls whether the Linux primary clipboard should be supported.`),included:i.vd})),selectionHighlight:O(new p(98,`selectionHighlight`,!0,{description:i.Td(`selectionHighlight`,`Controls whether the editor should highlight matches similar to the selection.`)})),selectOnLineNumbers:O(new p(99,`selectOnLineNumbers`,!0)),showFoldingControls:O(new y(100,`showFoldingControls`,`mouseover`,[`always`,`never`,`mouseover`],{enumDescriptions:[i.Td(`showFoldingControls.always`,`Always show the folding controls.`),i.Td(`showFoldingControls.never`,`Never show the folding controls and reduce the gutter size.`),i.Td(`showFoldingControls.mouseover`,`Only show the folding controls when the mouse is over the gutter.`)],description:i.Td(`showFoldingControls`,`Controls when the folding controls on the gutter are shown.`)})),showUnused:O(new p(101,`showUnused`,!0,{description:i.Td(`showUnused`,`Controls fading out of unused code.`)})),showDeprecated:O(new p(127,`showDeprecated`,!0,{description:i.Td(`showDeprecated`,`Controls strikethrough deprecated variables.`)})),inlayHints:O(new ue),snippetSuggestions:O(new y(102,`snippetSuggestions`,`inline`,[`top`,`bottom`,`inline`,`none`],{enumDescriptions:[i.Td(`snippetSuggestions.top`,`Show snippet suggestions on top of other suggestions.`),i.Td(`snippetSuggestions.bottom`,`Show snippet suggestions below other suggestions.`),i.Td(`snippetSuggestions.inline`,`Show snippets suggestions with other suggestions.`),i.Td(`snippetSuggestions.none`,`Do not show snippet suggestions.`)],description:i.Td(`snippetSuggestions`,`Controls whether snippets are shown with other suggestions and how they are sorted.`)})),smartSelect:O(new je),smoothScrolling:O(new p(104,`smoothScrolling`,!1,{description:i.Td(`smoothScrolling`,`Controls whether the editor will scroll using an animation.`)})),stopRenderingLineAfter:O(new h(106,`stopRenderingLineAfter`,1e4,-1,1073741824)),suggest:O(new Ae),inlineSuggest:O(new Ee),suggestFontSize:O(new h(108,`suggestFontSize`,0,0,1e3,{markdownDescription:i.Td(`suggestFontSize`,`Font size for the suggest widget. When set to {0}, the value of {1} is used.`,"`0`","`#editor.fontSize#`")})),suggestLineHeight:O(new h(109,`suggestLineHeight`,0,0,1e3,{markdownDescription:i.Td(`suggestLineHeight`,`Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.`,"`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:O(new p(110,`suggestOnTriggerCharacters`,!0,{description:i.Td(`suggestOnTriggerCharacters`,`Controls whether suggestions should automatically show up when typing trigger characters.`)})),suggestSelection:O(new y(111,`suggestSelection`,`first`,[`first`,`recentlyUsed`,`recentlyUsedByPrefix`],{markdownEnumDescriptions:[i.Td(`suggestSelection.first`,`Always select the first suggestion.`),i.Td(`suggestSelection.recentlyUsed`,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),i.Td(`suggestSelection.recentlyUsedByPrefix`,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:i.Td(`suggestSelection`,`Controls how suggestions are pre-selected when showing the suggest list.`)})),tabCompletion:O(new y(112,`tabCompletion`,`off`,[`on`,`off`,`onlySnippets`],{enumDescriptions:[i.Td(`tabCompletion.on`,`Tab complete will insert the best matching suggestion when pressing tab.`),i.Td(`tabCompletion.off`,`Disable tab completions.`),i.Td(`tabCompletion.onlySnippets`,`Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.`)],description:i.Td(`tabCompletion`,`Enables tab completions.`)})),tabIndex:O(new h(113,`tabIndex`,0,-1,1073741824)),unicodeHighlight:O(new Te),unusualLineTerminators:O(new y(115,`unusualLineTerminators`,`prompt`,[`auto`,`off`,`prompt`],{enumDescriptions:[i.Td(`unusualLineTerminators.auto`,`Unusual line terminators are automatically removed.`),i.Td(`unusualLineTerminators.off`,`Unusual line terminators are ignored.`),i.Td(`unusualLineTerminators.prompt`,`Unusual line terminators prompt to be removed.`)],description:i.Td(`unusualLineTerminators`,`Remove unusual line terminators that might cause problems.`)})),useShadowDOM:O(new p(116,`useShadowDOM`,!0)),useTabStops:O(new p(117,`useTabStops`,!0,{description:i.Td(`useTabStops`,`Inserting and deleting whitespace follows tab stops.`)})),wordSeparators:O(new _(118,`wordSeparators`,i.ud,{description:i.Td(`wordSeparators`,`Characters that will be used as word separators when doing word related navigations or operations.`)})),wordWrap:O(new y(119,`wordWrap`,`off`,[`off`,`on`,`wordWrapColumn`,`bounded`],{markdownEnumDescriptions:[i.Td(`wordWrap.off`,`Lines will never wrap.`),i.Td(`wordWrap.on`,`Lines will wrap at the viewport width.`),i.Td({key:`wordWrap.wordWrapColumn`,comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),i.Td({key:`wordWrap.bounded`,comment:[`- viewport means the edge of the visible window size.`,"- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:i.Td({key:`wordWrap`,comment:[`- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.`,"- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},`Controls how lines should wrap.`)})),wordWrapBreakAfterCharacters:O(new _(120,`wordWrapBreakAfterCharacters`,` })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」`)),wordWrapBreakBeforeCharacters:O(new _(121,`wordWrapBreakBeforeCharacters`,`([{‘“〈《「『【〔([{「£¥$£¥++`)),wordWrapColumn:O(new h(122,`wordWrapColumn`,80,1,1073741824,{markdownDescription:i.Td({key:`wordWrapColumn`,comment:["- `editor.wordWrap` refers to a different setting and should not be localized.",`- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized.`]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:O(new y(123,`wordWrapOverride1`,`inherit`,[`off`,`on`,`inherit`])),wordWrapOverride2:O(new y(124,`wordWrapOverride2`,`inherit`,[`off`,`on`,`inherit`])),wrappingIndent:O(new b(125,`wrappingIndent`,1,`same`,[`none`,`same`,`indent`,`deepIndent`],Ne,{enumDescriptions:[i.Td(`wrappingIndent.none`,`No indentation. Wrapped lines begin at column 1.`),i.Td(`wrappingIndent.same`,`Wrapped lines get the same indentation as the parent.`),i.Td(`wrappingIndent.indent`,`Wrapped lines get +1 indentation toward the parent.`),i.Td(`wrappingIndent.deepIndent`,`Wrapped lines get +2 indentation toward the parent.`)],description:i.Td(`wrappingIndent`,`Controls the indentation of wrapped lines.`)})),wrappingStrategy:O(new y(126,`wrappingStrategy`,`simple`,[`simple`,`advanced`],{enumDescriptions:[i.Td(`wrappingStrategy.simple`,`Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.`),i.Td(`wrappingStrategy.advanced`,`Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.`)],description:i.Td(`wrappingStrategy`,`Controls the algorithm that computes wrapping points.`)})),editorClassName:O(new D),pixelRatio:O(new ge),tabFocusMode:O(new Me),layoutInfo:O(new ce),wrappingInfo:O(new Pe)},Re;(function(e){e[e.Unknown=0]=`Unknown`,e[e.Disabled=1]=`Disabled`,e[e.Enabled=2]=`Enabled`})(Re||={});var ze;(function(e){e[e.KeepWhitespace=1]=`KeepWhitespace`,e[e.InsertAsSnippet=4]=`InsertAsSnippet`})(ze||={});var Be;(function(e){e[e.Method=0]=`Method`,e[e.Function=1]=`Function`,e[e.Constructor=2]=`Constructor`,e[e.Field=3]=`Field`,e[e.Variable=4]=`Variable`,e[e.Class=5]=`Class`,e[e.Struct=6]=`Struct`,e[e.Interface=7]=`Interface`,e[e.Module=8]=`Module`,e[e.Property=9]=`Property`,e[e.Event=10]=`Event`,e[e.Operator=11]=`Operator`,e[e.Unit=12]=`Unit`,e[e.Value=13]=`Value`,e[e.Constant=14]=`Constant`,e[e.Enum=15]=`Enum`,e[e.EnumMember=16]=`EnumMember`,e[e.Keyword=17]=`Keyword`,e[e.Text=18]=`Text`,e[e.Color=19]=`Color`,e[e.File=20]=`File`,e[e.Reference=21]=`Reference`,e[e.Customcolor=22]=`Customcolor`,e[e.Folder=23]=`Folder`,e[e.TypeParameter=24]=`TypeParameter`,e[e.User=25]=`User`,e[e.Issue=26]=`Issue`,e[e.Snippet=27]=`Snippet`})(Be||={});var Ve;(function(e){e[e.Deprecated=1]=`Deprecated`})(Ve||={});var He;(function(e){e[e.Invoke=0]=`Invoke`,e[e.TriggerCharacter=1]=`TriggerCharacter`,e[e.TriggerForIncompleteCompletions=2]=`TriggerForIncompleteCompletions`})(He||={});var Ue;(function(e){e[e.EXACT=0]=`EXACT`,e[e.ABOVE=1]=`ABOVE`,e[e.BELOW=2]=`BELOW`})(Ue||={});var We;(function(e){e[e.NotSet=0]=`NotSet`,e[e.ContentFlush=1]=`ContentFlush`,e[e.RecoverFromMarkers=2]=`RecoverFromMarkers`,e[e.Explicit=3]=`Explicit`,e[e.Paste=4]=`Paste`,e[e.Undo=5]=`Undo`,e[e.Redo=6]=`Redo`})(We||={});var Ge;(function(e){e[e.LF=1]=`LF`,e[e.CRLF=2]=`CRLF`})(Ge||={});var Ke;(function(e){e[e.Text=0]=`Text`,e[e.Read=1]=`Read`,e[e.Write=2]=`Write`})(Ke||={});var qe;(function(e){e[e.None=0]=`None`,e[e.Keep=1]=`Keep`,e[e.Brackets=2]=`Brackets`,e[e.Advanced=3]=`Advanced`,e[e.Full=4]=`Full`})(qe||={});var Je;(function(e){e[e.acceptSuggestionOnCommitCharacter=0]=`acceptSuggestionOnCommitCharacter`,e[e.acceptSuggestionOnEnter=1]=`acceptSuggestionOnEnter`,e[e.accessibilitySupport=2]=`accessibilitySupport`,e[e.accessibilityPageSize=3]=`accessibilityPageSize`,e[e.ariaLabel=4]=`ariaLabel`,e[e.autoClosingBrackets=5]=`autoClosingBrackets`,e[e.autoClosingDelete=6]=`autoClosingDelete`,e[e.autoClosingOvertype=7]=`autoClosingOvertype`,e[e.autoClosingQuotes=8]=`autoClosingQuotes`,e[e.autoIndent=9]=`autoIndent`,e[e.automaticLayout=10]=`automaticLayout`,e[e.autoSurround=11]=`autoSurround`,e[e.bracketPairColorization=12]=`bracketPairColorization`,e[e.guides=13]=`guides`,e[e.codeLens=14]=`codeLens`,e[e.codeLensFontFamily=15]=`codeLensFontFamily`,e[e.codeLensFontSize=16]=`codeLensFontSize`,e[e.colorDecorators=17]=`colorDecorators`,e[e.columnSelection=18]=`columnSelection`,e[e.comments=19]=`comments`,e[e.contextmenu=20]=`contextmenu`,e[e.copyWithSyntaxHighlighting=21]=`copyWithSyntaxHighlighting`,e[e.cursorBlinking=22]=`cursorBlinking`,e[e.cursorSmoothCaretAnimation=23]=`cursorSmoothCaretAnimation`,e[e.cursorStyle=24]=`cursorStyle`,e[e.cursorSurroundingLines=25]=`cursorSurroundingLines`,e[e.cursorSurroundingLinesStyle=26]=`cursorSurroundingLinesStyle`,e[e.cursorWidth=27]=`cursorWidth`,e[e.disableLayerHinting=28]=`disableLayerHinting`,e[e.disableMonospaceOptimizations=29]=`disableMonospaceOptimizations`,e[e.domReadOnly=30]=`domReadOnly`,e[e.dragAndDrop=31]=`dragAndDrop`,e[e.enableDropIntoEditor=32]=`enableDropIntoEditor`,e[e.emptySelectionClipboard=33]=`emptySelectionClipboard`,e[e.extraEditorClassName=34]=`extraEditorClassName`,e[e.fastScrollSensitivity=35]=`fastScrollSensitivity`,e[e.find=36]=`find`,e[e.fixedOverflowWidgets=37]=`fixedOverflowWidgets`,e[e.folding=38]=`folding`,e[e.foldingStrategy=39]=`foldingStrategy`,e[e.foldingHighlight=40]=`foldingHighlight`,e[e.foldingImportsByDefault=41]=`foldingImportsByDefault`,e[e.foldingMaximumRegions=42]=`foldingMaximumRegions`,e[e.unfoldOnClickAfterEndOfLine=43]=`unfoldOnClickAfterEndOfLine`,e[e.fontFamily=44]=`fontFamily`,e[e.fontInfo=45]=`fontInfo`,e[e.fontLigatures=46]=`fontLigatures`,e[e.fontSize=47]=`fontSize`,e[e.fontWeight=48]=`fontWeight`,e[e.formatOnPaste=49]=`formatOnPaste`,e[e.formatOnType=50]=`formatOnType`,e[e.glyphMargin=51]=`glyphMargin`,e[e.gotoLocation=52]=`gotoLocation`,e[e.hideCursorInOverviewRuler=53]=`hideCursorInOverviewRuler`,e[e.hover=54]=`hover`,e[e.inDiffEditor=55]=`inDiffEditor`,e[e.inlineSuggest=56]=`inlineSuggest`,e[e.letterSpacing=57]=`letterSpacing`,e[e.lightbulb=58]=`lightbulb`,e[e.lineDecorationsWidth=59]=`lineDecorationsWidth`,e[e.lineHeight=60]=`lineHeight`,e[e.lineNumbers=61]=`lineNumbers`,e[e.lineNumbersMinChars=62]=`lineNumbersMinChars`,e[e.linkedEditing=63]=`linkedEditing`,e[e.links=64]=`links`,e[e.matchBrackets=65]=`matchBrackets`,e[e.minimap=66]=`minimap`,e[e.mouseStyle=67]=`mouseStyle`,e[e.mouseWheelScrollSensitivity=68]=`mouseWheelScrollSensitivity`,e[e.mouseWheelZoom=69]=`mouseWheelZoom`,e[e.multiCursorMergeOverlapping=70]=`multiCursorMergeOverlapping`,e[e.multiCursorModifier=71]=`multiCursorModifier`,e[e.multiCursorPaste=72]=`multiCursorPaste`,e[e.occurrencesHighlight=73]=`occurrencesHighlight`,e[e.overviewRulerBorder=74]=`overviewRulerBorder`,e[e.overviewRulerLanes=75]=`overviewRulerLanes`,e[e.padding=76]=`padding`,e[e.parameterHints=77]=`parameterHints`,e[e.peekWidgetDefaultFocus=78]=`peekWidgetDefaultFocus`,e[e.definitionLinkOpensInPeek=79]=`definitionLinkOpensInPeek`,e[e.quickSuggestions=80]=`quickSuggestions`,e[e.quickSuggestionsDelay=81]=`quickSuggestionsDelay`,e[e.readOnly=82]=`readOnly`,e[e.renameOnType=83]=`renameOnType`,e[e.renderControlCharacters=84]=`renderControlCharacters`,e[e.renderFinalNewline=85]=`renderFinalNewline`,e[e.renderLineHighlight=86]=`renderLineHighlight`,e[e.renderLineHighlightOnlyWhenFocus=87]=`renderLineHighlightOnlyWhenFocus`,e[e.renderValidationDecorations=88]=`renderValidationDecorations`,e[e.renderWhitespace=89]=`renderWhitespace`,e[e.revealHorizontalRightPadding=90]=`revealHorizontalRightPadding`,e[e.roundedSelection=91]=`roundedSelection`,e[e.rulers=92]=`rulers`,e[e.scrollbar=93]=`scrollbar`,e[e.scrollBeyondLastColumn=94]=`scrollBeyondLastColumn`,e[e.scrollBeyondLastLine=95]=`scrollBeyondLastLine`,e[e.scrollPredominantAxis=96]=`scrollPredominantAxis`,e[e.selectionClipboard=97]=`selectionClipboard`,e[e.selectionHighlight=98]=`selectionHighlight`,e[e.selectOnLineNumbers=99]=`selectOnLineNumbers`,e[e.showFoldingControls=100]=`showFoldingControls`,e[e.showUnused=101]=`showUnused`,e[e.snippetSuggestions=102]=`snippetSuggestions`,e[e.smartSelect=103]=`smartSelect`,e[e.smoothScrolling=104]=`smoothScrolling`,e[e.stickyTabStops=105]=`stickyTabStops`,e[e.stopRenderingLineAfter=106]=`stopRenderingLineAfter`,e[e.suggest=107]=`suggest`,e[e.suggestFontSize=108]=`suggestFontSize`,e[e.suggestLineHeight=109]=`suggestLineHeight`,e[e.suggestOnTriggerCharacters=110]=`suggestOnTriggerCharacters`,e[e.suggestSelection=111]=`suggestSelection`,e[e.tabCompletion=112]=`tabCompletion`,e[e.tabIndex=113]=`tabIndex`,e[e.unicodeHighlighting=114]=`unicodeHighlighting`,e[e.unusualLineTerminators=115]=`unusualLineTerminators`,e[e.useShadowDOM=116]=`useShadowDOM`,e[e.useTabStops=117]=`useTabStops`,e[e.wordSeparators=118]=`wordSeparators`,e[e.wordWrap=119]=`wordWrap`,e[e.wordWrapBreakAfterCharacters=120]=`wordWrapBreakAfterCharacters`,e[e.wordWrapBreakBeforeCharacters=121]=`wordWrapBreakBeforeCharacters`,e[e.wordWrapColumn=122]=`wordWrapColumn`,e[e.wordWrapOverride1=123]=`wordWrapOverride1`,e[e.wordWrapOverride2=124]=`wordWrapOverride2`,e[e.wrappingIndent=125]=`wrappingIndent`,e[e.wrappingStrategy=126]=`wrappingStrategy`,e[e.showDeprecated=127]=`showDeprecated`,e[e.inlayHints=128]=`inlayHints`,e[e.editorClassName=129]=`editorClassName`,e[e.pixelRatio=130]=`pixelRatio`,e[e.tabFocusMode=131]=`tabFocusMode`,e[e.layoutInfo=132]=`layoutInfo`,e[e.wrappingInfo=133]=`wrappingInfo`})(Je||={});var Ye;(function(e){e[e.TextDefined=0]=`TextDefined`,e[e.LF=1]=`LF`,e[e.CRLF=2]=`CRLF`})(Ye||={});var Xe;(function(e){e[e.LF=0]=`LF`,e[e.CRLF=1]=`CRLF`})(Xe||={});var Ze;(function(e){e[e.None=0]=`None`,e[e.Indent=1]=`Indent`,e[e.IndentOutdent=2]=`IndentOutdent`,e[e.Outdent=3]=`Outdent`})(Ze||={});var Qe;(function(e){e[e.Both=0]=`Both`,e[e.Right=1]=`Right`,e[e.Left=2]=`Left`,e[e.None=3]=`None`})(Qe||={});var $e;(function(e){e[e.Type=1]=`Type`,e[e.Parameter=2]=`Parameter`})($e||={});var et;(function(e){e[e.Automatic=0]=`Automatic`,e[e.Explicit=1]=`Explicit`})(et||={});var tt;(function(e){e[e.DependsOnKbLayout=-1]=`DependsOnKbLayout`,e[e.Unknown=0]=`Unknown`,e[e.Backspace=1]=`Backspace`,e[e.Tab=2]=`Tab`,e[e.Enter=3]=`Enter`,e[e.Shift=4]=`Shift`,e[e.Ctrl=5]=`Ctrl`,e[e.Alt=6]=`Alt`,e[e.PauseBreak=7]=`PauseBreak`,e[e.CapsLock=8]=`CapsLock`,e[e.Escape=9]=`Escape`,e[e.Space=10]=`Space`,e[e.PageUp=11]=`PageUp`,e[e.PageDown=12]=`PageDown`,e[e.End=13]=`End`,e[e.Home=14]=`Home`,e[e.LeftArrow=15]=`LeftArrow`,e[e.UpArrow=16]=`UpArrow`,e[e.RightArrow=17]=`RightArrow`,e[e.DownArrow=18]=`DownArrow`,e[e.Insert=19]=`Insert`,e[e.Delete=20]=`Delete`,e[e.Digit0=21]=`Digit0`,e[e.Digit1=22]=`Digit1`,e[e.Digit2=23]=`Digit2`,e[e.Digit3=24]=`Digit3`,e[e.Digit4=25]=`Digit4`,e[e.Digit5=26]=`Digit5`,e[e.Digit6=27]=`Digit6`,e[e.Digit7=28]=`Digit7`,e[e.Digit8=29]=`Digit8`,e[e.Digit9=30]=`Digit9`,e[e.KeyA=31]=`KeyA`,e[e.KeyB=32]=`KeyB`,e[e.KeyC=33]=`KeyC`,e[e.KeyD=34]=`KeyD`,e[e.KeyE=35]=`KeyE`,e[e.KeyF=36]=`KeyF`,e[e.KeyG=37]=`KeyG`,e[e.KeyH=38]=`KeyH`,e[e.KeyI=39]=`KeyI`,e[e.KeyJ=40]=`KeyJ`,e[e.KeyK=41]=`KeyK`,e[e.KeyL=42]=`KeyL`,e[e.KeyM=43]=`KeyM`,e[e.KeyN=44]=`KeyN`,e[e.KeyO=45]=`KeyO`,e[e.KeyP=46]=`KeyP`,e[e.KeyQ=47]=`KeyQ`,e[e.KeyR=48]=`KeyR`,e[e.KeyS=49]=`KeyS`,e[e.KeyT=50]=`KeyT`,e[e.KeyU=51]=`KeyU`,e[e.KeyV=52]=`KeyV`,e[e.KeyW=53]=`KeyW`,e[e.KeyX=54]=`KeyX`,e[e.KeyY=55]=`KeyY`,e[e.KeyZ=56]=`KeyZ`,e[e.Meta=57]=`Meta`,e[e.ContextMenu=58]=`ContextMenu`,e[e.F1=59]=`F1`,e[e.F2=60]=`F2`,e[e.F3=61]=`F3`,e[e.F4=62]=`F4`,e[e.F5=63]=`F5`,e[e.F6=64]=`F6`,e[e.F7=65]=`F7`,e[e.F8=66]=`F8`,e[e.F9=67]=`F9`,e[e.F10=68]=`F10`,e[e.F11=69]=`F11`,e[e.F12=70]=`F12`,e[e.F13=71]=`F13`,e[e.F14=72]=`F14`,e[e.F15=73]=`F15`,e[e.F16=74]=`F16`,e[e.F17=75]=`F17`,e[e.F18=76]=`F18`,e[e.F19=77]=`F19`,e[e.NumLock=78]=`NumLock`,e[e.ScrollLock=79]=`ScrollLock`,e[e.Semicolon=80]=`Semicolon`,e[e.Equal=81]=`Equal`,e[e.Comma=82]=`Comma`,e[e.Minus=83]=`Minus`,e[e.Period=84]=`Period`,e[e.Slash=85]=`Slash`,e[e.Backquote=86]=`Backquote`,e[e.BracketLeft=87]=`BracketLeft`,e[e.Backslash=88]=`Backslash`,e[e.BracketRight=89]=`BracketRight`,e[e.Quote=90]=`Quote`,e[e.OEM_8=91]=`OEM_8`,e[e.IntlBackslash=92]=`IntlBackslash`,e[e.Numpad0=93]=`Numpad0`,e[e.Numpad1=94]=`Numpad1`,e[e.Numpad2=95]=`Numpad2`,e[e.Numpad3=96]=`Numpad3`,e[e.Numpad4=97]=`Numpad4`,e[e.Numpad5=98]=`Numpad5`,e[e.Numpad6=99]=`Numpad6`,e[e.Numpad7=100]=`Numpad7`,e[e.Numpad8=101]=`Numpad8`,e[e.Numpad9=102]=`Numpad9`,e[e.NumpadMultiply=103]=`NumpadMultiply`,e[e.NumpadAdd=104]=`NumpadAdd`,e[e.NUMPAD_SEPARATOR=105]=`NUMPAD_SEPARATOR`,e[e.NumpadSubtract=106]=`NumpadSubtract`,e[e.NumpadDecimal=107]=`NumpadDecimal`,e[e.NumpadDivide=108]=`NumpadDivide`,e[e.KEY_IN_COMPOSITION=109]=`KEY_IN_COMPOSITION`,e[e.ABNT_C1=110]=`ABNT_C1`,e[e.ABNT_C2=111]=`ABNT_C2`,e[e.AudioVolumeMute=112]=`AudioVolumeMute`,e[e.AudioVolumeUp=113]=`AudioVolumeUp`,e[e.AudioVolumeDown=114]=`AudioVolumeDown`,e[e.BrowserSearch=115]=`BrowserSearch`,e[e.BrowserHome=116]=`BrowserHome`,e[e.BrowserBack=117]=`BrowserBack`,e[e.BrowserForward=118]=`BrowserForward`,e[e.MediaTrackNext=119]=`MediaTrackNext`,e[e.MediaTrackPrevious=120]=`MediaTrackPrevious`,e[e.MediaStop=121]=`MediaStop`,e[e.MediaPlayPause=122]=`MediaPlayPause`,e[e.LaunchMediaPlayer=123]=`LaunchMediaPlayer`,e[e.LaunchMail=124]=`LaunchMail`,e[e.LaunchApp2=125]=`LaunchApp2`,e[e.Clear=126]=`Clear`,e[e.MAX_VALUE=127]=`MAX_VALUE`})(tt||={});var nt;(function(e){e[e.Hint=1]=`Hint`,e[e.Info=2]=`Info`,e[e.Warning=4]=`Warning`,e[e.Error=8]=`Error`})(nt||={});var rt;(function(e){e[e.Unnecessary=1]=`Unnecessary`,e[e.Deprecated=2]=`Deprecated`})(rt||={});var it;(function(e){e[e.Inline=1]=`Inline`,e[e.Gutter=2]=`Gutter`})(it||={});var at;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.TEXTAREA=1]=`TEXTAREA`,e[e.GUTTER_GLYPH_MARGIN=2]=`GUTTER_GLYPH_MARGIN`,e[e.GUTTER_LINE_NUMBERS=3]=`GUTTER_LINE_NUMBERS`,e[e.GUTTER_LINE_DECORATIONS=4]=`GUTTER_LINE_DECORATIONS`,e[e.GUTTER_VIEW_ZONE=5]=`GUTTER_VIEW_ZONE`,e[e.CONTENT_TEXT=6]=`CONTENT_TEXT`,e[e.CONTENT_EMPTY=7]=`CONTENT_EMPTY`,e[e.CONTENT_VIEW_ZONE=8]=`CONTENT_VIEW_ZONE`,e[e.CONTENT_WIDGET=9]=`CONTENT_WIDGET`,e[e.OVERVIEW_RULER=10]=`OVERVIEW_RULER`,e[e.SCROLLBAR=11]=`SCROLLBAR`,e[e.OVERLAY_WIDGET=12]=`OVERLAY_WIDGET`,e[e.OUTSIDE_EDITOR=13]=`OUTSIDE_EDITOR`})(at||={});var ot;(function(e){e[e.TOP_RIGHT_CORNER=0]=`TOP_RIGHT_CORNER`,e[e.BOTTOM_RIGHT_CORNER=1]=`BOTTOM_RIGHT_CORNER`,e[e.TOP_CENTER=2]=`TOP_CENTER`})(ot||={});var st;(function(e){e[e.Left=1]=`Left`,e[e.Center=2]=`Center`,e[e.Right=4]=`Right`,e[e.Full=7]=`Full`})(st||={});var ct;(function(e){e[e.Left=0]=`Left`,e[e.Right=1]=`Right`,e[e.None=2]=`None`,e[e.LeftOfInjectedText=3]=`LeftOfInjectedText`,e[e.RightOfInjectedText=4]=`RightOfInjectedText`})(ct||={});var lt;(function(e){e[e.Off=0]=`Off`,e[e.On=1]=`On`,e[e.Relative=2]=`Relative`,e[e.Interval=3]=`Interval`,e[e.Custom=4]=`Custom`})(lt||={});var ut;(function(e){e[e.None=0]=`None`,e[e.Text=1]=`Text`,e[e.Blocks=2]=`Blocks`})(ut||={});var dt;(function(e){e[e.Smooth=0]=`Smooth`,e[e.Immediate=1]=`Immediate`})(dt||={});var ft;(function(e){e[e.Auto=1]=`Auto`,e[e.Hidden=2]=`Hidden`,e[e.Visible=3]=`Visible`})(ft||={});var pt;(function(e){e[e.LTR=0]=`LTR`,e[e.RTL=1]=`RTL`})(pt||={});var mt;(function(e){e[e.Invoke=1]=`Invoke`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.ContentChange=3]=`ContentChange`})(mt||={});var ht;(function(e){e[e.File=0]=`File`,e[e.Module=1]=`Module`,e[e.Namespace=2]=`Namespace`,e[e.Package=3]=`Package`,e[e.Class=4]=`Class`,e[e.Method=5]=`Method`,e[e.Property=6]=`Property`,e[e.Field=7]=`Field`,e[e.Constructor=8]=`Constructor`,e[e.Enum=9]=`Enum`,e[e.Interface=10]=`Interface`,e[e.Function=11]=`Function`,e[e.Variable=12]=`Variable`,e[e.Constant=13]=`Constant`,e[e.String=14]=`String`,e[e.Number=15]=`Number`,e[e.Boolean=16]=`Boolean`,e[e.Array=17]=`Array`,e[e.Object=18]=`Object`,e[e.Key=19]=`Key`,e[e.Null=20]=`Null`,e[e.EnumMember=21]=`EnumMember`,e[e.Struct=22]=`Struct`,e[e.Event=23]=`Event`,e[e.Operator=24]=`Operator`,e[e.TypeParameter=25]=`TypeParameter`})(ht||={});var gt;(function(e){e[e.Deprecated=1]=`Deprecated`})(gt||={});var _t;(function(e){e[e.Hidden=0]=`Hidden`,e[e.Blink=1]=`Blink`,e[e.Smooth=2]=`Smooth`,e[e.Phase=3]=`Phase`,e[e.Expand=4]=`Expand`,e[e.Solid=5]=`Solid`})(_t||={});var vt;(function(e){e[e.Line=1]=`Line`,e[e.Block=2]=`Block`,e[e.Underline=3]=`Underline`,e[e.LineThin=4]=`LineThin`,e[e.BlockOutline=5]=`BlockOutline`,e[e.UnderlineThin=6]=`UnderlineThin`})(vt||={});var yt;(function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]=`AlwaysGrowsWhenTypingAtEdges`,e[e.NeverGrowsWhenTypingAtEdges=1]=`NeverGrowsWhenTypingAtEdges`,e[e.GrowsOnlyWhenTypingBefore=2]=`GrowsOnlyWhenTypingBefore`,e[e.GrowsOnlyWhenTypingAfter=3]=`GrowsOnlyWhenTypingAfter`})(yt||={});var bt;(function(e){e[e.None=0]=`None`,e[e.Same=1]=`Same`,e[e.Indent=2]=`Indent`,e[e.DeepIndent=3]=`DeepIndent`})(bt||={});var xt=class{static chord(e,t){return i.Rl(e,t)}};xt.CtrlCmd=2048,xt.Shift=1024,xt.Alt=512,xt.WinCtrl=256;function St(){return{editor:void 0,languages:void 0,CancellationTokenSource:i.Vl,Emitter:i.Ul,KeyCode:tt,KeyMod:xt,Position:i.kl,Range:i.Ol,Selection:i.Dl,SelectionDirection:pt,MarkerSeverity:nt,MarkerTag:rt,Uri:i.Al,Token:i.bl}}var Ct=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}setMaxWidth(e){let t=wt(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=wt(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=wt(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=wt(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=wt(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=wt(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=wt(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=wt(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=wt(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=wt(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function wt(e){return typeof e==`number`?`${e}px`:e}function k(e){return new Ct(e)}function Tt(e,t){e instanceof Ct?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+`px`,e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.lineHeight=t.lineHeight+`px`,e.style.letterSpacing=t.letterSpacing+`px`)}var Et=class{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}},Dt=class e{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){let t=document.createElement(`div`);t.style.position=`absolute`,t.style.top=`-50000px`,t.style.width=`50000px`;let n=document.createElement(`div`);Tt(n,this._bareFontInfo),t.appendChild(n);let r=document.createElement(`div`);Tt(r,this._bareFontInfo),r.style.fontWeight=`bold`,t.appendChild(r);let i=document.createElement(`div`);Tt(i,this._bareFontInfo),i.style.fontStyle=`italic`,t.appendChild(i);let a=[];for(let t of this._requests){let o;t.type===0&&(o=n),t.type===2&&(o=r),t.type===1&&(o=i),o.appendChild(document.createElement(`br`));let s=document.createElement(`span`);e._render(s,t),o.appendChild(s),a.push(s)}this._container=t,this._testElements=a}static _render(e,t){if(t.chr===` `){let t=`\xA0`;for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let n=t.chr;for(let e=0;e<8;e++)n+=n;e.textContent=n}}_readFromDomElements(){for(let e=0,t=this._requests.length;e<t;e++){let t=this._requests[e],n=this._testElements[e];t.fulfill(n.offsetWidth/256)}}};function Ot(e,t){new Dt(e,t).read()}var kt=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new i.Ul,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(e){e=Math.min(Math.max(-5,e),20),this._zoomLevel!==e&&(this._zoomLevel=e,this._onDidChangeZoomLevel.fire(this._zoomLevel))}},At=i.bd?1.5:1.35,jt=8,Mt=class e{constructor(e){this._bareFontInfoBrand=void 0,this.pixelRatio=e.pixelRatio,this.fontFamily=String(e.fontFamily),this.fontWeight=String(e.fontWeight),this.fontSize=e.fontSize,this.fontFeatureSettings=e.fontFeatureSettings,this.lineHeight=e.lineHeight|0,this.letterSpacing=e.letterSpacing}static createFromValidatedSettings(t,n,r){let i=t.get(44),a=t.get(48),o=t.get(47),s=t.get(46),c=t.get(60),l=t.get(57);return e._create(i,a,o,s,c,l,n,r)}static _create(t,n,r,i,a,o,s,c){a===0?a=At*r:a<jt&&(a*=r),a=Math.round(a),a<jt&&(a=jt);let l=1+(c?0:kt.getZoomLevel()*.1);return r*=l,a*=l,new e({pixelRatio:s,fontFamily:t,fontWeight:n,fontSize:r,fontFeatureSettings:i,lineHeight:a,letterSpacing:o})}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){let t=Fe.fontFamily,n=e._wrapInQuotes(this.fontFamily);return t&&this.fontFamily!==t?`${n}, ${t}`:n}static _wrapInQuotes(e){return/[,"']/.test(e)?e:/[+ ]/.test(e)?`"${e}"`:e}},Nt=class extends Mt{constructor(e,t){super(e),this._editorStylingBrand=void 0,this.version=1,this.isTrusted=t,this.isMonospace=e.isMonospace,this.typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=e.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.maxDigitWidth=e.maxDigitWidth}equals(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.fontFeatureSettings===e.fontFeatureSettings&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.maxDigitWidth===e.maxDigitWidth}},Pt=class extends i.Xl{constructor(){super(),this._onDidChange=this._register(new i.Ul),this.onDidChange=this._onDidChange.event,this._cache=new Ft,this._evictUntrustedReadingsTimeout=-1}dispose(){this._evictUntrustedReadingsTimeout!==-1&&(window.clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache=new Ft,this._onDidChange.fire()}_writeToCache(e,t){this._cache.put(e,t),!t.isTrusted&&this._evictUntrustedReadingsTimeout===-1&&(this._evictUntrustedReadingsTimeout=window.setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()},5e3))}_evictUntrustedReadings(){let e=this._cache.getValues(),t=!1;for(let n of e)n.isTrusted||(t=!0,this._cache.remove(n));t&&this._onDidChange.fire()}readFontInfo(e){if(!this._cache.has(e)){let t=this._actualReadFontInfo(e);(t.typicalHalfwidthCharacterWidth<=2||t.typicalFullwidthCharacterWidth<=2||t.spaceWidth<=2||t.maxDigitWidth<=2)&&(t=new Nt({pixelRatio:i.hc.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:t.isMonospace,typicalHalfwidthCharacterWidth:Math.max(t.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(t.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:t.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(t.spaceWidth,5),middotWidth:Math.max(t.middotWidth,5),wsmiddotWidth:Math.max(t.wsmiddotWidth,5),maxDigitWidth:Math.max(t.maxDigitWidth,5)},!1)),this._writeToCache(e,t)}return this._cache.get(e)}_createRequest(e,t,n,r){let i=new Et(e,t);return n.push(i),r?.push(i),i}_actualReadFontInfo(e){let t=[],n=[],r=this._createRequest(`n`,0,t,n),a=this._createRequest(`m`,0,t,null),o=this._createRequest(` `,0,t,n),s=this._createRequest(`0`,0,t,n),c=this._createRequest(`1`,0,t,n),l=this._createRequest(`2`,0,t,n),u=this._createRequest(`3`,0,t,n),d=this._createRequest(`4`,0,t,n),f=this._createRequest(`5`,0,t,n),p=this._createRequest(`6`,0,t,n),m=this._createRequest(`7`,0,t,n),h=this._createRequest(`8`,0,t,n),g=this._createRequest(`9`,0,t,n),_=this._createRequest(`→`,0,t,n),v=this._createRequest(`→`,0,t,null),y=this._createRequest(`·`,0,t,n),b=this._createRequest(`⸱`,0,t,null),x=`|/-_ilm%`;for(let e=0;e<8;e++)this._createRequest(x.charAt(e),0,t,n),this._createRequest(x.charAt(e),1,t,n),this._createRequest(x.charAt(e),2,t,n);Ot(e,t);let S=Math.max(s.width,c.width,l.width,u.width,d.width,f.width,p.width,m.width,h.width,g.width),C=e.fontFeatureSettings===ne.OFF,w=n[0].width;for(let e=1,t=n.length;C&&e<t;e++){let t=w-n[e].width;if(t<-.001||t>.001){C=!1;break}}let T=!0;return C&&v.width!==w&&(T=!1),v.width>_.width&&(T=!1),new Nt({pixelRatio:i.hc.value,fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,fontFeatureSettings:e.fontFeatureSettings,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:C,typicalHalfwidthCharacterWidth:r.width,typicalFullwidthCharacterWidth:a.width,canUseHalfwidthRightwardsArrow:T,spaceWidth:o.width,middotWidth:y.width,wsmiddotWidth:b.width,maxDigitWidth:S},!0)}},Ft=class{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){let t=e.getId();return!!this._values[t]}get(e){let t=e.getId();return this._values[t]}put(e,t){let n=e.getId();this._keys[n]=e,this._values[n]=t}remove(e){let t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}},It=new Pt,Lt={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0},Rt=class extends i.Xl{constructor(e,t={}){super(),this._onDidUpdate=this._register(new i.Ul),this._editor=e,this._options=i.bu(t,Lt,!1),this.disposed=!1,this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=!!this._options.alwaysRevealFirst,this._register(this._editor.onDidDispose(()=>this.dispose())),this._register(this._editor.onDidUpdateDiff(()=>this._onDiffUpdated())),this._options.followsCaret&&this._register(this._editor.getModifiedEditor().onDidChangeCursorPosition(e=>{this.ignoreSelectionChange||(this.nextIdx=-1)})),this._options.alwaysRevealFirst&&this._register(this._editor.getModifiedEditor().onDidChangeModel(e=>{this.revealFirst=!0})),this._init()}_init(){this._editor.getLineChanges()}_onDiffUpdated(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&this._editor.getLineChanges()!==null&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))}_compute(e){this.ranges=[],e&&e.forEach(e=>{!this._options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach(e=>{this.ranges.push({rhs:!0,range:new i.Ol(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})}):e.modifiedEndLineNumber===0?this.ranges.push({rhs:!0,range:new i.Ol(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber+1,1)}):this.ranges.push({rhs:!0,range:new i.Ol(e.modifiedStartLineNumber,1,e.modifiedEndLineNumber+1,1)})}),this.ranges.sort((e,t)=>i.Ol.compareRangesUsingStarts(e.range,t.range)),this._onDidUpdate.fire(this)}_initIdx(e){let t=!1,n=this._editor.getPosition();if(!n){this.nextIdx=0;return}for(let r=0,i=this.ranges.length;r<i&&!t;r++){let i=this.ranges[r].range;n.isBeforeOrEqual(i.getStartPosition())&&(this.nextIdx=r+(e?0:-1),t=!0)}t||(this.nextIdx=e?0:this.ranges.length-1),this.nextIdx<0&&(this.nextIdx=this.ranges.length-1)}_move(e,t){if(i.uc(!this.disposed,`Illegal State - diff navigator has been disposed`),!this.canNavigate())return;this.nextIdx===-1?this._initIdx(e):e?(this.nextIdx+=1,this.nextIdx>=this.ranges.length&&(this.nextIdx=0)):(--this.nextIdx,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));let n=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{let e=n.range.getStartPosition();this._editor.setPosition(e),this._editor.revealRangeInCenter(n.range,t)}finally{this.ignoreSelectionChange=!1}}canNavigate(){return this.ranges&&this.ranges.length>0}next(e=0){this._move(!0,e)}previous(e=0){this._move(!1,e)}dispose(){super.dispose(),this.ranges=[],this.disposed=!0}},zt={ICodeEditor:`vs.editor.ICodeEditor`,IDiffEditor:`vs.editor.IDiffEditor`},Bt=`$initialize`,Vt=!1;function Ht(e){i.Sd&&(Vt||=!0,e.message)}var Ut=class{constructor(e,t,n,r){this.vsWorker=e,this.req=t,this.method=n,this.args=r,this.type=0}},Wt=class{constructor(e,t,n,r){this.vsWorker=e,this.seq=t,this.res=n,this.err=r,this.type=1}},Gt=class{constructor(e,t,n,r){this.vsWorker=e,this.req=t,this.eventName=n,this.arg=r,this.type=2}},Kt=class{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}},qt=class{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}},Jt=class{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){let n=String(++this._lastSentReq);return new Promise((r,i)=>{this._pendingReplies[n]={resolve:r,reject:i},this._send(new Ut(this._workerId,n,e,t))})}listen(e,t){let n=null,r=new i.Ul({onFirstListenerAdd:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,r),this._send(new Gt(this._workerId,n,e,t))},onLastListenerRemove:()=>{this._pendingEmitters.delete(n),this._send(new qt(this._workerId,n)),n=null}});return r.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return;let t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;e.err.$isError&&(n=Error(),n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),t.reject(n);return}t.resolve(e.res)}_handleRequestMessage(e){let t=e.req;this._handler.handleMessage(e.method,e.args).then(e=>{this._send(new Wt(this._workerId,t,e,void 0))},e=>{e.detail instanceof Error&&(e.detail=i.mu(e.detail)),this._send(new Wt(this._workerId,t,void 0,i.mu(e)))})}_handleSubscribeEventMessage(e){let t=e.req,n=this._handler.handleEvent(e.eventName,e.arg)(e=>{this._send(new Kt(this._workerId,t,e))});this._pendingEvents.set(t,n)}_handleEventMessage(e){this._pendingEmitters.has(e.req)&&this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)&&(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req))}_send(e){let t=[];if(e.type===0)for(let n=0;n<e.args.length;n++)e.args[n]instanceof ArrayBuffer&&t.push(e.args[n]);else e.type===1&&e.res instanceof ArrayBuffer&&t.push(e.res);this._handler.sendMessage(e,t)}},Yt=class extends i.Xl{constructor(e,t,n){super();let r=null;this._worker=this._register(e.create(`vs/base/common/worker/simpleWorker`,e=>{this._protocol.handleMessage(e)},e=>{r?.(e)})),this._protocol=new Jt({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t)=>{if(typeof n[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` on main thread host.`));try{return Promise.resolve(n[e].apply(n,t))}catch(e){return Promise.reject(e)}},handleEvent:(e,t)=>{if(Zt(e)){let r=n[e].call(n,t);if(typeof r!=`function`)throw Error(`Missing dynamic event ${e} on main thread host.`);return r}if(Xt(e)){let t=n[e];if(typeof t!=`function`)throw Error(`Missing event ${e} on main thread host.`);return t}throw Error(`Malformed event name ${e}`)}}),this._protocol.setWorkerId(this._worker.getId());let a=null;i.gd.require!==void 0&&typeof i.gd.require.getConfig==`function`?a=i.gd.require.getConfig():i.gd.requirejs!==void 0&&(a=i.gd.requirejs.s.contexts._.config);let o=i.Tu(n);this._onModuleLoaded=this._protocol.sendMessage(Bt,[this._worker.getId(),JSON.parse(JSON.stringify(a)),t,o]);let s=(e,t)=>this._request(e,t),c=(e,t)=>this._protocol.listen(e,t);this._lazyProxy=new Promise((e,n)=>{r=n,this._onModuleLoaded.then(t=>{e(Qt(t,s,c))},e=>{n(e),this._onError(`Worker failed to load `+t,e)})})}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise((n,r)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(e,t).then(n,r)},r)})}_onError(e,t){console.error(e)}};function Xt(e){return e[0]===`o`&&e[1]===`n`&&i.Xc(e.charCodeAt(2))}function Zt(e){return/^onDynamic/.test(e)&&i.Xc(e.charCodeAt(9))}function Qt(e,t,n){let r=e=>function(){return t(e,Array.prototype.slice.call(arguments,0))},i=e=>function(t){return n(e,t)},a={};for(let t of e){if(Zt(t)){a[t]=i(t);continue}if(Xt(t)){a[t]=n(t,void 0);continue}a[t]=r(t)}return a}var $t=window.trustedTypes?.createPolicy(`defaultWorkerFactory`,{createScriptURL:e=>e});function en(e){if(i.gd.emailmakerMonacoEnvironment){if(typeof i.gd.emailmakerMonacoEnvironment.getWorker==`function`)return i.gd.emailmakerMonacoEnvironment.getWorker(`workerMain.js`,e);if(typeof i.gd.emailmakerMonacoEnvironment.getWorkerUrl==`function`){let t=i.gd.emailmakerMonacoEnvironment.getWorkerUrl(`workerMain.js`,e);return new Worker($t?$t.createScriptURL(t):t,{name:e})}}throw Error(`You must define a function emailmakerMonacoEnvironment.getWorkerUrl or emailmakerMonacoEnvironment.getWorker`)}function tn(e){return typeof e.then==`function`}var nn=class{constructor(e,t,n,r,i){this.id=t;let a=en(n);tn(a)?this.worker=a:this.worker=Promise.resolve(a),this.postMessage(e,[]),this.worker.then(e=>{e.onmessage=function(e){r(e.data)},e.onmessageerror=i,typeof e.addEventListener==`function`&&e.addEventListener(`error`,i)})}getId(){return this.id}postMessage(e,t){var n;(n=this.worker)==null||n.then(n=>n.postMessage(e,t))}dispose(){var e;(e=this.worker)==null||e.then(e=>e.terminate()),this.worker=null}},rn=class e{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(t,n,r){let i=++e.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new nn(t,i,this._label||`anonymous`+i,n,e=>{Ht(e),this._webWorkerFailedBeforeError=e,r(e)})}};rn.LAST_WORKER_ID=0;var an=class{constructor(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}},on=class{constructor(e){this.source=e}getElements(){let e=this.source,t=new Int32Array(e.length);for(let n=0,r=e.length;n<r;n++)t[n]=e.charCodeAt(n);return t}};function sn(e,t,n){return new dn(new on(e),new on(t)).ComputeDiff(n).changes}var cn=class{static Assert(e,t){if(!e)throw Error(t)}},ln=class{static Copy(e,t,n,r,i){for(let a=0;a<i;a++)n[r+a]=e[t+a]}static Copy2(e,t,n,r,i){for(let a=0;a<i;a++)n[r+a]=e[t+a]}},un=class{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new an(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}},dn=class e{constructor(t,n,r=null){this.ContinueProcessingPredicate=r,this._originalSequence=t,this._modifiedSequence=n;let[i,a,o]=e._getElements(t),[s,c,l]=e._getElements(n);this._hasStrings=o&&l,this._originalStringElements=i,this._originalElementsOrHash=a,this._modifiedStringElements=s,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]==`string`}static _getElements(t){let n=t.getElements();if(e._isStringArray(n)){let e=new Int32Array(n.length);for(let t=0,r=n.length;t<r;t++)e[t]=i.ds(n[t],0);return[n,e,!0]}return n instanceof Int32Array?[[],n,!1]:[[],new Int32Array(n),!1]}ElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._modifiedElementsOrHash[t]?this._hasStrings?this._originalStringElements[e]===this._modifiedStringElements[t]:!0:!1}ElementsAreStrictEqual(t,n){return this.ElementsAreEqual(t,n)?e._getStrictElement(this._originalSequence,t)===e._getStrictElement(this._modifiedSequence,n):!1}static _getStrictElement(e,t){return typeof e.getStrictElement==`function`?e.getStrictElement(t):null}OriginalElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._originalElementsOrHash[t]?this._hasStrings?this._originalStringElements[e]===this._originalStringElements[t]:!0:!1}ModifiedElementsAreEqual(e,t){return this._modifiedElementsOrHash[e]===this._modifiedElementsOrHash[t]?this._hasStrings?this._modifiedStringElements[e]===this._modifiedStringElements[t]:!0:!1}ComputeDiff(e){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,e)}_ComputeDiff(e,t,n,r,i){let a=[!1],o=this.ComputeDiffRecursive(e,t,n,r,a);return i&&(o=this.PrettifyChanges(o)),{quitEarly:a[0],changes:o}}ComputeDiffRecursive(e,t,n,r,i){for(i[0]=!1;e<=t&&n<=r&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){let i;return n<=r?(cn.Assert(e===t+1,`originalStart should only be one more than originalEnd`),i=[new an(e,0,n,r-n+1)]):e<=t?(cn.Assert(n===r+1,`modifiedStart should only be one more than modifiedEnd`),i=[new an(e,t-e+1,n,0)]):(cn.Assert(e===t+1,`originalStart should only be one more than originalEnd`),cn.Assert(n===r+1,`modifiedStart should only be one more than modifiedEnd`),i=[]),i}let a=[0],o=[0],s=this.ComputeRecursionPoint(e,t,n,r,a,o,i),c=a[0],l=o[0];if(s!==null)return s;if(!i[0]){let a=this.ComputeDiffRecursive(e,c,n,l,i),o=[];return o=i[0]?[new an(c+1,t-(c+1)+1,l+1,r-(l+1)+1)]:this.ComputeDiffRecursive(c+1,t,l+1,r,i),this.ConcatenateChanges(a,o)}return[new an(e,t-e+1,n,r-n+1)]}WALKTRACE(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=null,y=null,b=new un,x=t,S=n,C=f[0]-h[0]-r,w=-1073741824,T=this.m_forwardHistory.length-1;do{let t=C+e;t===x||t<S&&c[t-1]<c[t+1]?(u=c[t+1],p=u-C-r,u<w&&b.MarkNextChange(),w=u,b.AddModifiedElement(u+1,p),C=t+1-e):(u=c[t-1]+1,p=u-C-r,u<w&&b.MarkNextChange(),w=u-1,b.AddOriginalElement(u,p+1),C=t-1-e),T>=0&&(c=this.m_forwardHistory[T],e=c[0],x=1,S=c.length-1)}while(--T>=-1);if(v=b.getReverseChanges(),_[0]){let e=f[0]+1,t=h[0]+1;if(v!==null&&v.length>0){let n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}y=[new an(e,d-e+1,t,m-t+1)]}else{b=new un,x=a,S=o,C=f[0]-h[0]-s,w=1073741824,T=g?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{let e=C+i;e===x||e<S&&l[e-1]>=l[e+1]?(u=l[e+1]-1,p=u-C-s,u>w&&b.MarkNextChange(),w=u+1,b.AddOriginalElement(u+1,p+1),C=e+1-i):(u=l[e-1],p=u-C-s,u>w&&b.MarkNextChange(),w=u,b.AddModifiedElement(u+1,p+1),C=e-1-i),T>=0&&(l=this.m_reverseHistory[T],i=l[0],x=1,S=l.length-1)}while(--T>=-1);y=b.getChanges()}return this.ConcatenateChanges(v,y)}ComputeRecursionPoint(e,t,n,r,i,a,o){let s=0,c=0,l=0,u=0,d=0,f=0;e--,n--,i[0]=0,a[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];let p=t-e+(r-n),m=p+1,h=new Int32Array(m),g=new Int32Array(m),_=r-n,v=t-e,y=e-n,b=t-r,x=(v-_)%2==0;h[_]=e,g[v]=t,o[0]=!1;for(let S=1;S<=p/2+1;S++){let p=0,C=0;l=this.ClipDiagonalBound(_-S,S,_,m),u=this.ClipDiagonalBound(_+S,S,_,m);for(let e=l;e<=u;e+=2){s=e===l||e<u&&h[e-1]<h[e+1]?h[e+1]:h[e-1]+1,c=s-(e-_)-y;let n=s;for(;s<t&&c<r&&this.ElementsAreEqual(s+1,c+1);)s++,c++;if(h[e]=s,s+c>p+C&&(p=s,C=c),!x&&Math.abs(e-v)<=S-1&&s>=g[e])return i[0]=s,a[0]=c,n<=g[e]&&S<=1448?this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o):null}let w=(p-e+(C-n)-S)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(p,w))return o[0]=!0,i[0]=p,a[0]=C,w>0&&S<=1448?this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o):(e++,n++,[new an(e,t-e+1,n,r-n+1)]);d=this.ClipDiagonalBound(v-S,S,v,m),f=this.ClipDiagonalBound(v+S,S,v,m);for(let p=d;p<=f;p+=2){s=p===d||p<f&&g[p-1]>=g[p+1]?g[p+1]-1:g[p-1],c=s-(p-v)-b;let m=s;for(;s>e&&c>n&&this.ElementsAreEqual(s,c);)s--,c--;if(g[p]=s,x&&Math.abs(p-_)<=S&&s<=h[p])return i[0]=s,a[0]=c,m>=h[p]&&S<=1448?this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o):null}if(S<=1447){let e=new Int32Array(u-l+2);e[0]=_-l+1,ln.Copy2(h,l,e,1,u-l+1),this.m_forwardHistory.push(e),e=new Int32Array(f-d+2),e[0]=v-d+1,ln.Copy2(g,d,e,1,f-d+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o)}PrettifyChanges(e){for(let t=0;t<e.length;t++){let n=e[t],r=t<e.length-1?e[t+1].originalStart:this._originalElementsOrHash.length,i=t<e.length-1?e[t+1].modifiedStart:this._modifiedElementsOrHash.length,a=n.originalLength>0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength<r&&n.modifiedStart+n.modifiedLength<i&&(!a||this.OriginalElementsAreEqual(n.originalStart,n.originalStart+n.originalLength))&&(!o||this.ModifiedElementsAreEqual(n.modifiedStart,n.modifiedStart+n.modifiedLength));){let e=this.ElementsAreStrictEqual(n.originalStart,n.modifiedStart);if(this.ElementsAreStrictEqual(n.originalStart+n.originalLength,n.modifiedStart+n.modifiedLength)&&!e)break;n.originalStart++,n.modifiedStart++}let s=[null];if(t<e.length-1&&this.ChangesOverlap(e[t],e[t+1],s)){e[t]=s[0],e.splice(t+1,1),t--;continue}}for(let t=e.length-1;t>=0;t--){let n=e[t],r=0,i=0;if(t>0){let n=e[t-1];r=n.originalStart+n.originalLength,i=n.modifiedStart+n.modifiedLength}let a=n.originalLength>0,o=n.modifiedLength>0,s=0,c=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){let t=n.originalStart-e,l=n.modifiedStart-e;if(t<r||l<i||a&&!this.OriginalElementsAreEqual(t,t+n.originalLength)||o&&!this.ModifiedElementsAreEqual(l,l+n.modifiedLength))break;let u=(t===r&&l===i?5:0)+this._boundaryScore(t,n.originalLength,l,n.modifiedLength);u>c&&(c=u,s=e)}n.originalStart-=s,n.modifiedStart-=s;let l=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],l)){e[t-1]=l[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,n=e.length;t<n;t++){let n=e[t-1],r=e[t],i=r.originalStart-n.originalStart-n.originalLength,a=n.originalStart,o=r.originalStart+r.originalLength,s=o-a,c=n.modifiedStart,l=r.modifiedStart+r.modifiedLength,u=l-c;if(i<5&&s<20&&u<20){let e=this._findBetterContiguousSequence(a,s,c,u,i);if(e){let[t,a]=e;(t!==n.originalStart+n.originalLength||a!==n.modifiedStart+n.modifiedLength)&&(n.originalLength=t-n.originalStart,n.modifiedLength=a-n.modifiedStart,r.originalStart=t+i,r.modifiedStart=a+i,r.originalLength=o-r.originalStart,r.modifiedLength=l-r.modifiedStart)}}}return e}_findBetterContiguousSequence(e,t,n,r,i){if(t<i||r<i)return null;let a=e+t-i+1,o=n+r-i+1,s=0,c=0,l=0;for(let t=e;t<a;t++)for(let e=n;e<o;e++){let n=this._contiguousSequenceScore(t,e,i);n>0&&n>s&&(s=n,c=t,l=e)}return s>0?[c,l]:null}_contiguousSequenceScore(e,t,n){let r=0;for(let i=0;i<n;i++){if(!this.ElementsAreEqual(e+i,t+i))return 0;r+=this._originalStringElements[e+i].length}return r}_OriginalIsBoundary(e){return e<=0||e>=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){let n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){let n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)}ConcatenateChanges(e,t){let n=[];if(e.length===0||t.length===0)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){let r=Array(e.length+t.length-1);return ln.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],ln.Copy(t,1,r,e.length,t.length-1),r}else{let n=Array(e.length+t.length);return ln.Copy(e,0,n,0,e.length),ln.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(cn.Assert(e.originalStart<=t.originalStart,`Left change is not less than or equal to right change`),cn.Assert(e.modifiedStart<=t.modifiedStart,`Left change is not less than or equal to right change`),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){let r=e.originalStart,i=e.originalLength,a=e.modifiedStart,o=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(i=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(o=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new an(r,i,a,o),!0}else return n[0]=null,!1}ClipDiagonalBound(e,t,n,r){if(e>=0&&e<r)return e;let i=n,a=r-n-1,o=t%2==0;return e<0?o===(i%2==0)?0:1:o===(a%2==0)?r-1:r-2}},fn=3;function pn(e,t,n,r){return new dn(e,t,n).ComputeDiff(r)}var mn=class{constructor(e){let t=[],n=[];for(let r=0,i=e.length;r<i;r++)t[r]=bn(e[r],1),n[r]=xn(e[r],1);this.lines=e,this._startColumns=t,this._endColumns=n}getElements(){let e=[];for(let t=0,n=this.lines.length;t<n;t++)e[t]=this.lines[t].substring(this._startColumns[t]-1,this._endColumns[t]-1);return e}getStrictElement(e){return this.lines[e]}getStartLineNumber(e){return e+1}getEndLineNumber(e){return e+1}createCharSequence(e,t,n){let r=[],i=[],a=[],o=0;for(let s=t;s<=n;s++){let t=this.lines[s],c=e?this._startColumns[s]:1,l=e?this._endColumns[s]:t.length+1;for(let e=c;e<l;e++)r[o]=t.charCodeAt(e-1),i[o]=s+1,a[o]=e,o++;!e&&s<n&&(r[o]=10,i[o]=s+1,a[o]=t.length+1,o++)}return new hn(r,i,a)}},hn=class{constructor(e,t,n){this._charCodes=e,this._lineNumbers=t,this._columns=n}toString(){return`[`+this._charCodes.map((e,t)=>(e===10?`\\n`:String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`).join(`, `)+`]`}_assertIndex(e,t){if(e<0||e>=t.length)throw Error(`Illegal index`)}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return e===-1?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),this._charCodes[e]===10?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return e===-1?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),this._charCodes[e]===10?1:this._columns[e]+1)}},gn=class e{constructor(e,t,n,r,i,a,o,s){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=r,this.modifiedStartLineNumber=i,this.modifiedStartColumn=a,this.modifiedEndLineNumber=o,this.modifiedEndColumn=s}static createFromDiffChange(t,n,r){return new e(n.getStartLineNumber(t.originalStart),n.getStartColumn(t.originalStart),n.getEndLineNumber(t.originalStart+t.originalLength-1),n.getEndColumn(t.originalStart+t.originalLength-1),r.getStartLineNumber(t.modifiedStart),r.getStartColumn(t.modifiedStart),r.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),r.getEndColumn(t.modifiedStart+t.modifiedLength-1))}};function _n(e){if(e.length<=1)return e;let t=[e[0]],n=t[0];for(let r=1,i=e.length;r<i;r++){let i=e[r],a=i.originalStart-(n.originalStart+n.originalLength),o=i.modifiedStart-(n.modifiedStart+n.modifiedLength);Math.min(a,o)<fn?(n.originalLength=i.originalStart+i.originalLength-n.originalStart,n.modifiedLength=i.modifiedStart+i.modifiedLength-n.modifiedStart):(t.push(i),n=i)}return t}var vn=class e{constructor(e,t,n,r,i){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=r,this.charChanges=i}static createFromDiffResult(t,n,r,i,a,o,s){let c,l,u,d,f;if(n.originalLength===0?(c=r.getStartLineNumber(n.originalStart)-1,l=0):(c=r.getStartLineNumber(n.originalStart),l=r.getEndLineNumber(n.originalStart+n.originalLength-1)),n.modifiedLength===0?(u=i.getStartLineNumber(n.modifiedStart)-1,d=0):(u=i.getStartLineNumber(n.modifiedStart),d=i.getEndLineNumber(n.modifiedStart+n.modifiedLength-1)),o&&n.originalLength>0&&n.originalLength<20&&n.modifiedLength>0&&n.modifiedLength<20&&a()){let e=r.createCharSequence(t,n.originalStart,n.originalStart+n.originalLength-1),o=i.createCharSequence(t,n.modifiedStart,n.modifiedStart+n.modifiedLength-1);if(e.getElements().length>0&&o.getElements().length>0){let t=pn(e,o,a,!0).changes;s&&(t=_n(t)),f=[];for(let n=0,r=t.length;n<r;n++)f.push(gn.createFromDiffChange(t[n],e,o))}}return new e(c,l,u,d,f)}},yn=class{constructor(e,t,n){this.shouldComputeCharChanges=n.shouldComputeCharChanges,this.shouldPostProcessCharChanges=n.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=n.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=n.shouldMakePrettyDiff,this.originalLines=e,this.modifiedLines=t,this.original=new mn(e),this.modified=new mn(t),this.continueLineDiff=Sn(n.maxComputationTime),this.continueCharDiff=Sn(n.maxComputationTime===0?0:Math.min(n.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0)return this.modified.lines.length===1&&this.modified.lines[0].length===0?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};let e=pn(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),t=e.changes,n=e.quitEarly;if(this.shouldIgnoreTrimWhitespace){let e=[];for(let n=0,r=t.length;n<r;n++)e.push(vn.createFromDiffResult(this.shouldIgnoreTrimWhitespace,t[n],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:n,changes:e}}let r=[],i=0,a=0;for(let e=-1,n=t.length;e<n;e++){let o=e+1<n?t[e+1]:null,s=o?o.originalStart:this.originalLines.length,c=o?o.modifiedStart:this.modifiedLines.length;for(;i<s&&a<c;){let e=this.originalLines[i],t=this.modifiedLines[a];if(e!==t){{let n=bn(e,1),o=bn(t,1);for(;n>1&&o>1&&e.charCodeAt(n-2)===t.charCodeAt(o-2);)n--,o--;(n>1||o>1)&&this._pushTrimWhitespaceCharChange(r,i+1,1,n,a+1,1,o)}{let n=xn(e,1),o=xn(t,1),s=e.length+1,c=t.length+1;for(;n<s&&o<c&&e.charCodeAt(n-1)===e.charCodeAt(o-1);)n++,o++;(n<s||o<c)&&this._pushTrimWhitespaceCharChange(r,i+1,n,s,a+1,o,c)}}i++,a++}o&&(r.push(vn.createFromDiffResult(this.shouldIgnoreTrimWhitespace,o,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),i+=o.originalLength,a+=o.modifiedLength)}return{quitEarly:n,changes:r}}_pushTrimWhitespaceCharChange(e,t,n,r,i,a,o){if(this._mergeTrimWhitespaceCharChange(e,t,n,r,i,a,o))return;let s;this.shouldComputeCharChanges&&(s=[new gn(t,n,t,r,i,a,i,o)]),e.push(new vn(t,t,i,i,s))}_mergeTrimWhitespaceCharChange(e,t,n,r,i,a,o){let s=e.length;if(s===0)return!1;let c=e[s-1];return c.originalEndLineNumber===0||c.modifiedEndLineNumber===0?!1:c.originalEndLineNumber+1===t&&c.modifiedEndLineNumber+1===i?(c.originalEndLineNumber=t,c.modifiedEndLineNumber=i,this.shouldComputeCharChanges&&c.charChanges&&c.charChanges.push(new gn(t,n,t,r,i,a,i,o)),!0):!1}};function bn(e,t){let n=i.Lc(e);return n===-1?t:n+1}function xn(e,t){let n=i.Zc(e);return n===-1?t:n+2}function Sn(e){if(e===0)return()=>!0;let t=Date.now();return()=>Date.now()-t<e}var Cn=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=i.ss(e);let n=this.values,r=this.prefixSum,a=t.length;return a===0?!1:(this.values=new Uint32Array(n.length+a),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+a),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=i.ss(e),t=i.ss(t),this.values[e]===t?!1:(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=i.ss(e),t=i.ss(t);let n=this.values,r=this.prefixSum;if(e>=n.length)return!1;let a=n.length-e;return t>=a&&(t=a),t===0?!1:(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=i.ss(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,a=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],a=i-this.values[r],e<a)n=r-1;else if(e>=i)t=r+1;else break;return new Tn(r,e-a)}},wn=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();let t=this._indexBySum[e];return new Tn(t,e-(t>0?this._prefixSum[t-1]:0))}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=i.Ru(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e<t;e++){let t=this._values[e],n=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let r=0;r<t;r++)this._indexBySum[n+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._prefixSum[this._prefixSum.length-1],this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,t){this._values[e]!==t&&(this._values[e]=t,this._invalidate(e))}},Tn=class{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}},En=class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);let t=e.changes;for(let e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new i.kl(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new Cn(n)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;let n=i.al(t);if(n.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);let r=new Uint32Array(n.length-1);for(let t=1;t<n.length;t++)this._lines.splice(e.lineNumber+t-1,0,n[t]),r[t-1]=n[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}},Dn=class{constructor(e,t,n){let r=new Uint8Array(e*t);for(let i=0,a=e*t;i<a;i++)r[i]=n;this._data=r,this.rows=e,this.cols=t}get(e,t){return this._data[e*this.cols+t]}set(e,t,n){this._data[e*this.cols+t]=n}},On=class{constructor(e){let t=0,n=0;for(let r=0,i=e.length;r<i;r++){let[i,a,o]=e[r];a>t&&(t=a),i>n&&(n=i),o>n&&(n=o)}t++,n++;let r=new Dn(n,t,0);for(let t=0,n=e.length;t<n;t++){let[n,i,a]=e[t];r.set(n,i,a)}this._states=r,this._maxCharCode=t}nextState(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)}},kn=null;function An(){return kn===null&&(kn=new On([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),kn}var jn=null;function Mn(){if(jn===null){jn=new i.as(0);for(let e=0;e<35;e++)jn.set(` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`.charCodeAt(e),1);for(let e=0;e<4;e++)jn.set(`.,;:`.charCodeAt(e),2)}return jn}var Nn=class e{static _createLink(e,t,n,r,i){let a=i-1;do{let n=t.charCodeAt(a);if(e.get(n)!==2)break;a--}while(a>r);if(r>0){let e=t.charCodeAt(r-1),n=t.charCodeAt(a);(e===40&&n===41||e===91&&n===93||e===123&&n===125)&&a--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:a+2},url:t.substring(r,a+1)}}static computeLinks(t,n=An()){let r=Mn(),i=[];for(let a=1,o=t.getLineCount();a<=o;a++){let o=t.getLineContent(a),s=o.length,c=0,l=0,u=0,d=1,f=!1,p=!1,m=!1,h=!1;for(;c<s;){let t=!1,s=o.charCodeAt(c);if(d===13){let n;switch(s){case 40:f=!0,n=0;break;case 41:n=f?0:1;break;case 91:m=!0,p=!0,n=0;break;case 93:m=!1,n=p?0:1;break;case 123:h=!0,n=0;break;case 125:n=h?0:1;break;case 39:n=u===39?1:0;break;case 34:n=u===34?1:0;break;case 96:n=u===96?1:0;break;case 42:n=u===42?1:0;break;case 124:n=u===124?1:0;break;case 32:n=m?0:1;break;default:n=r.get(s)}n===1&&(i.push(e._createLink(r,o,a,l,c)),t=!0)}else if(d===12){let e;s===91?(p=!0,e=0):e=r.get(s),e===1?t=!0:d=13}else d=n.nextState(d,s),d===0&&(t=!0);t&&(d=1,f=!1,p=!1,h=!1,l=c+1,u=s),c++}d===13&&i.push(e._createLink(r,o,a,l,s))}return i}};function Pn(e){return!e||typeof e.getLineCount!=`function`||typeof e.getLineContent!=`function`?[]:Nn.computeLinks(e)}var Fn=class{constructor(){this._defaultValueSet=[[`true`,`false`],[`True`,`False`],[`Private`,`Public`,`Friend`,`ReadOnly`,`Partial`,`Protected`,`WriteOnly`],[`public`,`protected`,`private`]]}navigateValueSet(e,t,n,r,i){if(e&&t){let n=this.doNavigateValueSet(t,i);if(n)return{range:e,value:n}}if(n&&r){let e=this.doNavigateValueSet(r,i);if(e)return{range:n,value:e}}return null}doNavigateValueSet(e,t){let n=this.numberReplace(e,t);return n===null?this.textReplace(e,t):n}numberReplace(e,t){let n=10**(e.length-(e.lastIndexOf(`.`)+1)),r=Number(e),i=parseFloat(e);return!isNaN(r)&&!isNaN(i)&&r===i?r===0&&!t?null:(r=Math.floor(r*n),r+=t?n:-n,String(r/n)):null}textReplace(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)}valueSetsReplace(e,t,n){let r=null;for(let i=0,a=e.length;r===null&&i<a;i++)r=this.valueSetReplace(e[i],t,n);return r}valueSetReplace(e,t,n){let r=e.indexOf(t);return r>=0?(r+=n?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}};Fn.INSTANCE=new Fn;var In=class{static computeUnicodeHighlights(e,t,n){let r=n?n.startLineNumber:1,a=n?n.endLineNumber:e.getLineCount(),o=new Rn(t),s=o.getCandidateCodePoints(),c;c=s===`allNonBasicAscii`?RegExp(`[^\\t\\n\\r\\x20-\\x7E]`,`g`):RegExp(`${Ln(Array.from(s))}`,`g`);let l=new i.rs(null,c),u=[],d=!1,f,p=0,m=0,h=0;forLoop:for(let t=r,n=a;t<=n;t++){let n=e.getLineContent(t),r=n.length;l.reset(0);do if(f=l.next(n),f){let e=f.index,a=f.index+f[0].length;if(e>0){let t=n.charCodeAt(e-1);i.qc(t)&&e--}if(a+1<r){let e=n.charCodeAt(a-1);i.qc(e)&&a++}let s=n.substring(e,a),c=i.fd(e+1,i.ld,n,0),l=o.shouldHighlightNonBasicASCII(s,c?c.word:null);if(l!==0){if(l===3?p++:l===2?m++:l===1?h++:i.Su(l),u.length>=1e3){d=!0;break forLoop}u.push(new i.Ol(t,e+1,t,a+1))}}while(f)}return{ranges:u,hasMore:d,ambiguousCharacterCount:p,invisibleCharacterCount:m,nonBasicAsciiCharacterCount:h}}static computeUnicodeHighlightReason(e,t){let n=new Rn(t);switch(n.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{let r=e.codePointAt(0),a=n.ambiguousCharacters.getPrimaryConfusable(r),o=i.Tc.getLocales().filter(e=>!i.Tc.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(r));return{kind:0,confusableWith:String.fromCodePoint(a),notAmbiguousInLocales:o}}case 1:return{kind:2}}}};function Ln(e,t){return`[${i.Ic(e.map(e=>String.fromCodePoint(e)).join(``))}]`}var Rn=class{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=i.Tc.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return`allNonBasicAscii`;let e=new Set;if(this.options.invisibleCharacters)for(let t of i.Ec.codePoints)zn(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(let t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(let t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){let n=e.codePointAt(0);if(this.allowedCodePoints.has(n))return 0;if(this.options.nonBasicASCII)return 1;let r=!1,a=!1;if(t)for(let e of t){let t=e.codePointAt(0),n=i.Uc(e);r||=n,!n&&!this.ambiguousCharacters.isAmbiguous(t)&&!i.Ec.isInvisibleCharacter(t)&&(a=!0)}return!r&&a?0:this.options.invisibleCharacters&&!zn(e)&&i.Ec.isInvisibleCharacter(n)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(n)?3:0}};function zn(e){return e===` `||e===`
|
|
4
|
+
- Values greater than or equal to 8 will be used as effective values.`)})}compute(e,t,n){return e.fontInfo.lineHeight}},fe=class extends s{constructor(){let e={enabled:!0,size:`proportional`,side:`right`,showSlider:`mouseover`,autohide:!1,renderCharacters:!0,maxColumn:120,scale:1};super(66,`minimap`,e,{"editor.minimap.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`minimap.enabled`,`Controls whether the minimap is shown.`)},"editor.minimap.autohide":{type:`boolean`,default:e.autohide,description:i.Td(`minimap.autohide`,`Controls whether the minimap is hidden automatically.`)},"editor.minimap.size":{type:`string`,enum:[`proportional`,`fill`,`fit`],enumDescriptions:[i.Td(`minimap.size.proportional`,`The minimap has the same size as the editor contents (and might scroll).`),i.Td(`minimap.size.fill`,`The minimap will stretch or shrink as necessary to fill the height of the editor (no scrolling).`),i.Td(`minimap.size.fit`,`The minimap will shrink as necessary to never be larger than the editor (no scrolling).`)],default:e.size,description:i.Td(`minimap.size`,`Controls the size of the minimap.`)},"editor.minimap.side":{type:`string`,enum:[`left`,`right`],default:e.side,description:i.Td(`minimap.side`,`Controls the side where to render the minimap.`)},"editor.minimap.showSlider":{type:`string`,enum:[`always`,`mouseover`],default:e.showSlider,description:i.Td(`minimap.showSlider`,`Controls when the minimap slider is shown.`)},"editor.minimap.scale":{type:`number`,default:e.scale,minimum:1,maximum:3,enum:[1,2,3],description:i.Td(`minimap.scale`,`Scale of content drawn in the minimap: 1, 2 or 3.`)},"editor.minimap.renderCharacters":{type:`boolean`,default:e.renderCharacters,description:i.Td(`minimap.renderCharacters`,`Render the actual characters on a line as opposed to color blocks.`)},"editor.minimap.maxColumn":{type:`number`,default:e.maxColumn,description:i.Td(`minimap.maxColumn`,`Limit the width of the minimap to render at most a certain number of columns.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),autohide:f(t.autohide,this.defaultValue.autohide),size:v(t.size,this.defaultValue.size,[`proportional`,`fill`,`fit`]),side:v(t.side,this.defaultValue.side,[`right`,`left`]),showSlider:v(t.showSlider,this.defaultValue.showSlider,[`always`,`mouseover`]),renderCharacters:f(t.renderCharacters,this.defaultValue.renderCharacters),scale:h.clampedInt(t.scale,1,1,3),maxColumn:h.clampedInt(t.maxColumn,this.defaultValue.maxColumn,1,1e4)}}};function pe(e){return e===`ctrlCmd`?i.bd?`metaKey`:`ctrlKey`:`altKey`}var me=class extends s{constructor(){super(76,`padding`,{top:0,bottom:0},{"editor.padding.top":{type:`number`,default:0,minimum:0,maximum:1e3,description:i.Td(`padding.top`,`Controls the amount of space between the top edge of the editor and the first line.`)},"editor.padding.bottom":{type:`number`,default:0,minimum:0,maximum:1e3,description:i.Td(`padding.bottom`,`Controls the amount of space between the bottom edge of the editor and the last line.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{top:h.clampedInt(t.top,0,0,1e3),bottom:h.clampedInt(t.bottom,0,0,1e3)}}},he=class extends s{constructor(){let e={enabled:!0,cycle:!1};super(77,`parameterHints`,e,{"editor.parameterHints.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`parameterHints.enabled`,`Enables a pop-up that shows parameter documentation and type information as you type.`)},"editor.parameterHints.cycle":{type:`boolean`,default:e.cycle,description:i.Td(`parameterHints.cycle`,`Controls whether the parameter hints menu cycles or closes when reaching the end of the list.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),cycle:f(t.cycle,this.defaultValue.cycle)}}},ge=class extends u{constructor(){super(130)}compute(e,t,n){return e.pixelRatio}},_e=class extends s{constructor(){let e={other:`on`,comments:`off`,strings:`off`},t=[{type:`boolean`},{type:`string`,enum:[`on`,`inline`,`off`],enumDescriptions:[i.Td(`on`,`Quick suggestions show inside the suggest widget`),i.Td(`inline`,`Quick suggestions show as ghost text`),i.Td(`off`,`Quick suggestions are disabled`)]}];super(80,`quickSuggestions`,e,{type:`object`,additionalProperties:!1,properties:{strings:{anyOf:t,default:e.strings,description:i.Td(`quickSuggestions.strings`,`Enable quick suggestions inside strings.`)},comments:{anyOf:t,default:e.comments,description:i.Td(`quickSuggestions.comments`,`Enable quick suggestions inside comments.`)},other:{anyOf:t,default:e.other,description:i.Td(`quickSuggestions.other`,`Enable quick suggestions outside of strings and comments.`)}},default:e,markdownDescription:i.Td(`quickSuggestions`,`Controls whether suggestions should automatically show up while typing. This can be controlled for typing in comments, strings, and other code. Quick suggestion can be configured to show as ghost text or with the suggest widget. Also be aware of the '{0}'-setting which controls if suggestions are triggered by special characters.`,`#editor.suggestOnTriggerCharacters#`)}),this.defaultValue=e}validate(e){if(typeof e==`boolean`){let t=e?`on`:`off`;return{comments:t,strings:t,other:t}}if(!e||typeof e!=`object`)return this.defaultValue;let{other:t,comments:n,strings:r}=e,i=[`on`,`inline`,`off`],a,o,s;return a=typeof t==`boolean`?t?`on`:`off`:v(t,this.defaultValue.other,i),o=typeof n==`boolean`?n?`on`:`off`:v(n,this.defaultValue.comments,i),s=typeof r==`boolean`?r?`on`:`off`:v(r,this.defaultValue.strings,i),{other:a,comments:o,strings:s}}},ve=class extends s{constructor(){super(61,`lineNumbers`,{renderType:1,renderFn:null},{type:`string`,enum:[`off`,`on`,`relative`,`interval`],enumDescriptions:[i.Td(`lineNumbers.off`,`Line numbers are not rendered.`),i.Td(`lineNumbers.on`,`Line numbers are rendered as absolute number.`),i.Td(`lineNumbers.relative`,`Line numbers are rendered as distance in lines to cursor position.`),i.Td(`lineNumbers.interval`,`Line numbers are rendered every 10 lines.`)],default:`on`,description:i.Td(`lineNumbers`,`Controls the display of line numbers.`)})}validate(e){let t=this.defaultValue.renderType,n=this.defaultValue.renderFn;return e!==void 0&&(typeof e==`function`?(t=4,n=e):t=e===`interval`?3:e===`relative`?2:e===`on`?1:0),{renderType:t,renderFn:n}}};function ye(e){let t=e.get(88);return t===`editable`?e.get(82):t!==`on`}var be=class extends s{constructor(){let e=[],t={type:`number`,description:i.Td(`rulers.size`,`Number of monospace characters at which this editor ruler will render.`)};super(92,`rulers`,e,{type:`array`,items:{anyOf:[t,{type:[`object`],properties:{column:t,color:{type:`string`,description:i.Td(`rulers.color`,`Color of this editor ruler.`),format:`color-hex`}}}]},default:e,description:i.Td(`rulers`,`Render vertical rulers after a certain number of monospace characters. Use multiple values for multiple rulers. No rulers are drawn if array is empty.`)})}validate(e){if(Array.isArray(e)){let t=[];for(let n of e)if(typeof n==`number`)t.push({column:h.clampedInt(n,0,0,1e4),color:null});else if(n&&typeof n==`object`){let e=n;t.push({column:h.clampedInt(e.column,0,0,1e4),color:e.color})}return t.sort((e,t)=>e.column-t.column),t}return this.defaultValue}};function xe(e,t){if(typeof e!=`string`)return t;switch(e){case`hidden`:return 2;case`visible`:return 3;default:return 1}}var Se=class extends s{constructor(){let e={vertical:1,horizontal:1,arrowSize:11,useShadows:!0,verticalHasArrows:!1,horizontalHasArrows:!1,horizontalScrollbarSize:12,horizontalSliderSize:12,verticalScrollbarSize:14,verticalSliderSize:14,handleMouseWheel:!0,alwaysConsumeMouseWheel:!0,scrollByPage:!1};super(93,`scrollbar`,e,{"editor.scrollbar.vertical":{type:`string`,enum:[`auto`,`visible`,`hidden`],enumDescriptions:[i.Td(`scrollbar.vertical.auto`,`The vertical scrollbar will be visible only when necessary.`),i.Td(`scrollbar.vertical.visible`,`The vertical scrollbar will always be visible.`),i.Td(`scrollbar.vertical.fit`,`The vertical scrollbar will always be hidden.`)],default:`auto`,description:i.Td(`scrollbar.vertical`,`Controls the visibility of the vertical scrollbar.`)},"editor.scrollbar.horizontal":{type:`string`,enum:[`auto`,`visible`,`hidden`],enumDescriptions:[i.Td(`scrollbar.horizontal.auto`,`The horizontal scrollbar will be visible only when necessary.`),i.Td(`scrollbar.horizontal.visible`,`The horizontal scrollbar will always be visible.`),i.Td(`scrollbar.horizontal.fit`,`The horizontal scrollbar will always be hidden.`)],default:`auto`,description:i.Td(`scrollbar.horizontal`,`Controls the visibility of the horizontal scrollbar.`)},"editor.scrollbar.verticalScrollbarSize":{type:`number`,default:e.verticalScrollbarSize,description:i.Td(`scrollbar.verticalScrollbarSize`,`The width of the vertical scrollbar.`)},"editor.scrollbar.horizontalScrollbarSize":{type:`number`,default:e.horizontalScrollbarSize,description:i.Td(`scrollbar.horizontalScrollbarSize`,`The height of the horizontal scrollbar.`)},"editor.scrollbar.scrollByPage":{type:`boolean`,default:e.scrollByPage,description:i.Td(`scrollbar.scrollByPage`,`Controls whether clicks scroll by page or jump to click position.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e,n=h.clampedInt(t.horizontalScrollbarSize,this.defaultValue.horizontalScrollbarSize,0,1e3),r=h.clampedInt(t.verticalScrollbarSize,this.defaultValue.verticalScrollbarSize,0,1e3);return{arrowSize:h.clampedInt(t.arrowSize,this.defaultValue.arrowSize,0,1e3),vertical:xe(t.vertical,this.defaultValue.vertical),horizontal:xe(t.horizontal,this.defaultValue.horizontal),useShadows:f(t.useShadows,this.defaultValue.useShadows),verticalHasArrows:f(t.verticalHasArrows,this.defaultValue.verticalHasArrows),horizontalHasArrows:f(t.horizontalHasArrows,this.defaultValue.horizontalHasArrows),handleMouseWheel:f(t.handleMouseWheel,this.defaultValue.handleMouseWheel),alwaysConsumeMouseWheel:f(t.alwaysConsumeMouseWheel,this.defaultValue.alwaysConsumeMouseWheel),horizontalScrollbarSize:n,horizontalSliderSize:h.clampedInt(t.horizontalSliderSize,n,0,1e3),verticalScrollbarSize:r,verticalSliderSize:h.clampedInt(t.verticalSliderSize,r,0,1e3),scrollByPage:f(t.scrollByPage,this.defaultValue.scrollByPage)}}},Ce=`inUntrustedWorkspace`,we={allowedCharacters:`editor.unicodeHighlight.allowedCharacters`,invisibleCharacters:`editor.unicodeHighlight.invisibleCharacters`,nonBasicASCII:`editor.unicodeHighlight.nonBasicASCII`,ambiguousCharacters:`editor.unicodeHighlight.ambiguousCharacters`,includeComments:`editor.unicodeHighlight.includeComments`,includeStrings:`editor.unicodeHighlight.includeStrings`,allowedLocales:`editor.unicodeHighlight.allowedLocales`},Te=class extends s{constructor(){let e={nonBasicASCII:Ce,invisibleCharacters:!0,ambiguousCharacters:!0,includeComments:Ce,includeStrings:!0,allowedCharacters:{},allowedLocales:{_os:!0,_vscode:!0}};super(114,`unicodeHighlight`,e,{[we.nonBasicASCII]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Ce],default:e.nonBasicASCII,description:i.Td(`unicodeHighlight.nonBasicASCII`,`Controls whether all non-basic ASCII characters are highlighted. Only characters between U+0020 and U+007E, tab, line-feed and carriage-return are considered basic ASCII.`)},[we.invisibleCharacters]:{restricted:!0,type:`boolean`,default:e.invisibleCharacters,description:i.Td(`unicodeHighlight.invisibleCharacters`,`Controls whether characters that just reserve space or have no width at all are highlighted.`)},[we.ambiguousCharacters]:{restricted:!0,type:`boolean`,default:e.ambiguousCharacters,description:i.Td(`unicodeHighlight.ambiguousCharacters`,`Controls whether characters are highlighted that can be confused with basic ASCII characters, except those that are common in the current user locale.`)},[we.includeComments]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Ce],default:e.includeComments,description:i.Td(`unicodeHighlight.includeComments`,`Controls whether characters in comments should also be subject to unicode highlighting.`)},[we.includeStrings]:{restricted:!0,type:[`boolean`,`string`],enum:[!0,!1,Ce],default:e.includeStrings,description:i.Td(`unicodeHighlight.includeStrings`,`Controls whether characters in strings should also be subject to unicode highlighting.`)},[we.allowedCharacters]:{restricted:!0,type:`object`,default:e.allowedCharacters,description:i.Td(`unicodeHighlight.allowedCharacters`,`Defines allowed characters that are not being highlighted.`),additionalProperties:{type:`boolean`}},[we.allowedLocales]:{restricted:!0,type:`object`,additionalProperties:{type:`boolean`},default:e.allowedLocales,description:i.Td(`unicodeHighlight.allowedLocales`,`Unicode characters that are common in allowed locales are not being highlighted.`)}})}applyUpdate(e,t){let n=!1;t.allowedCharacters&&e&&(i.yu(e.allowedCharacters,t.allowedCharacters)||(e=Object.assign(Object.assign({},e),{allowedCharacters:t.allowedCharacters}),n=!0)),t.allowedLocales&&e&&(i.yu(e.allowedLocales,t.allowedLocales)||(e=Object.assign(Object.assign({},e),{allowedLocales:t.allowedLocales}),n=!0));let r=super.applyUpdate(e,t);return n?new c(r.newValue,!0):r}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{nonBasicASCII:ke(t.nonBasicASCII,Ce,[!0,!1,Ce]),invisibleCharacters:f(t.invisibleCharacters,this.defaultValue.invisibleCharacters),ambiguousCharacters:f(t.ambiguousCharacters,this.defaultValue.ambiguousCharacters),includeComments:ke(t.includeComments,Ce,[!0,!1,Ce]),includeStrings:ke(t.includeStrings,Ce,[!0,!1,Ce]),allowedCharacters:this.validateBooleanMap(e.allowedCharacters,this.defaultValue.allowedCharacters),allowedLocales:this.validateBooleanMap(e.allowedLocales,this.defaultValue.allowedLocales)}}validateBooleanMap(e,t){if(typeof e!=`object`||!e)return t;let n={};for(let[t,r]of Object.entries(e))r===!0&&(n[t]=!0);return n}},Ee=class extends s{constructor(){let e={enabled:!0,mode:`subwordSmart`};super(56,`inlineSuggest`,e,{"editor.inlineSuggest.enabled":{type:`boolean`,default:e.enabled,description:i.Td(`inlineSuggest.enabled`,`Controls whether to automatically show inline suggestions in the editor.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),mode:v(t.mode,this.defaultValue.mode,[`prefix`,`subword`,`subwordSmart`])}}},De=class extends s{constructor(){let e={enabled:i.hu.bracketPairColorizationOptions.enabled,independentColorPoolPerBracketType:i.hu.bracketPairColorizationOptions.independentColorPoolPerBracketType};super(12,`bracketPairColorization`,e,{"editor.bracketPairColorization.enabled":{type:`boolean`,default:e.enabled,markdownDescription:i.Td(`bracketPairColorization.enabled`,`Controls whether bracket pair colorization is enabled or not. Use {0} to override the bracket highlight colors.`,"`#workbench.colorCustomizations#`")},"editor.bracketPairColorization.independentColorPoolPerBracketType":{type:`boolean`,default:e.independentColorPoolPerBracketType,description:i.Td(`bracketPairColorization.independentColorPoolPerBracketType`,`Controls whether each bracket type has its own independent color pool.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{enabled:f(t.enabled,this.defaultValue.enabled),independentColorPoolPerBracketType:f(t.independentColorPoolPerBracketType,this.defaultValue.independentColorPoolPerBracketType)}}},Oe=class extends s{constructor(){let e={bracketPairs:!1,bracketPairsHorizontal:`active`,highlightActiveBracketPair:!0,indentation:!0,highlightActiveIndentation:!0};super(13,`guides`,e,{"editor.guides.bracketPairs":{type:[`boolean`,`string`],enum:[!0,`active`,!1],enumDescriptions:[i.Td(`editor.guides.bracketPairs.true`,`Enables bracket pair guides.`),i.Td(`editor.guides.bracketPairs.active`,`Enables bracket pair guides only for the active bracket pair.`),i.Td(`editor.guides.bracketPairs.false`,`Disables bracket pair guides.`)],default:e.bracketPairs,description:i.Td(`editor.guides.bracketPairs`,`Controls whether bracket pair guides are enabled or not.`)},"editor.guides.bracketPairsHorizontal":{type:[`boolean`,`string`],enum:[!0,`active`,!1],enumDescriptions:[i.Td(`editor.guides.bracketPairsHorizontal.true`,`Enables horizontal guides as addition to vertical bracket pair guides.`),i.Td(`editor.guides.bracketPairsHorizontal.active`,`Enables horizontal guides only for the active bracket pair.`),i.Td(`editor.guides.bracketPairsHorizontal.false`,`Disables horizontal bracket pair guides.`)],default:e.bracketPairsHorizontal,description:i.Td(`editor.guides.bracketPairsHorizontal`,`Controls whether horizontal bracket pair guides are enabled or not.`)},"editor.guides.highlightActiveBracketPair":{type:`boolean`,default:e.highlightActiveBracketPair,description:i.Td(`editor.guides.highlightActiveBracketPair`,`Controls whether the editor should highlight the active bracket pair.`)},"editor.guides.indentation":{type:`boolean`,default:e.indentation,description:i.Td(`editor.guides.indentation`,`Controls whether the editor should render indent guides.`)},"editor.guides.highlightActiveIndentation":{type:[`boolean`,`string`],enum:[!0,`always`,!1],enumDescriptions:[i.Td(`editor.guides.highlightActiveIndentation.true`,`Highlights the active indent guide.`),i.Td(`editor.guides.highlightActiveIndentation.always`,`Highlights the active indent guide even if bracket guides are highlighted.`),i.Td(`editor.guides.highlightActiveIndentation.false`,`Do not highlight the active indent guide.`)],default:e.highlightActiveIndentation,description:i.Td(`editor.guides.highlightActiveIndentation`,`Controls whether the editor should highlight the active indent guide.`)}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{bracketPairs:ke(t.bracketPairs,this.defaultValue.bracketPairs,[!0,!1,`active`]),bracketPairsHorizontal:ke(t.bracketPairsHorizontal,this.defaultValue.bracketPairsHorizontal,[!0,!1,`active`]),highlightActiveBracketPair:f(t.highlightActiveBracketPair,this.defaultValue.highlightActiveBracketPair),indentation:f(t.indentation,this.defaultValue.indentation),highlightActiveIndentation:ke(t.highlightActiveIndentation,this.defaultValue.highlightActiveIndentation,[!0,!1,`always`])}}};function ke(e,t,n){let r=n.indexOf(e);return r===-1?t:n[r]}var Ae=class extends s{constructor(){let e={insertMode:`insert`,filterGraceful:!0,snippetsPreventQuickSuggestions:!0,localityBonus:!1,shareSuggestSelections:!1,showIcons:!0,showStatusBar:!1,preview:!1,previewMode:`subwordSmart`,showInlineDetails:!0,showMethods:!0,showFunctions:!0,showConstructors:!0,showDeprecated:!0,showFields:!0,showVariables:!0,showClasses:!0,showStructs:!0,showInterfaces:!0,showModules:!0,showProperties:!0,showEvents:!0,showOperators:!0,showUnits:!0,showValues:!0,showConstants:!0,showEnums:!0,showEnumMembers:!0,showKeywords:!0,showWords:!0,showColors:!0,showFiles:!0,showReferences:!0,showFolders:!0,showTypeParameters:!0,showSnippets:!0,showUsers:!0,showIssues:!0};super(107,`suggest`,e,{"editor.suggest.insertMode":{type:`string`,enum:[`insert`,`replace`],enumDescriptions:[i.Td(`suggest.insertMode.insert`,`Insert suggestion without overwriting text right of the cursor.`),i.Td(`suggest.insertMode.replace`,`Insert suggestion and overwrite text right of the cursor.`)],default:e.insertMode,description:i.Td(`suggest.insertMode`,`Controls whether words are overwritten when accepting completions. Note that this depends on extensions opting into this feature.`)},"editor.suggest.filterGraceful":{type:`boolean`,default:e.filterGraceful,description:i.Td(`suggest.filterGraceful`,`Controls whether filtering and sorting suggestions accounts for small typos.`)},"editor.suggest.localityBonus":{type:`boolean`,default:e.localityBonus,description:i.Td(`suggest.localityBonus`,`Controls whether sorting favors words that appear close to the cursor.`)},"editor.suggest.shareSuggestSelections":{type:`boolean`,default:e.shareSuggestSelections,markdownDescription:i.Td(`suggest.shareSuggestSelections`,"Controls whether remembered suggestion selections are shared between multiple workspaces and windows (needs `#editor.suggestSelection#`).")},"editor.suggest.snippetsPreventQuickSuggestions":{type:`boolean`,default:e.snippetsPreventQuickSuggestions,description:i.Td(`suggest.snippetsPreventQuickSuggestions`,`Controls whether an active snippet prevents quick suggestions.`)},"editor.suggest.showIcons":{type:`boolean`,default:e.showIcons,description:i.Td(`suggest.showIcons`,`Controls whether to show or hide icons in suggestions.`)},"editor.suggest.showStatusBar":{type:`boolean`,default:e.showStatusBar,description:i.Td(`suggest.showStatusBar`,`Controls the visibility of the status bar at the bottom of the suggest widget.`)},"editor.suggest.preview":{type:`boolean`,default:e.preview,description:i.Td(`suggest.preview`,`Controls whether to preview the suggestion outcome in the editor.`)},"editor.suggest.showInlineDetails":{type:`boolean`,default:e.showInlineDetails,description:i.Td(`suggest.showInlineDetails`,`Controls whether suggest details show inline with the label or only in the details widget`)},"editor.suggest.maxVisibleSuggestions":{type:`number`,deprecationMessage:i.Td(`suggest.maxVisibleSuggestions.dep`,`This setting is deprecated. The suggest widget can now be resized.`)},"editor.suggest.filteredTypes":{type:`object`,deprecationMessage:i.Td(`deprecated`,`This setting is deprecated, please use separate settings like 'editor.suggest.showKeywords' or 'editor.suggest.showSnippets' instead.`)},"editor.suggest.showMethods":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showMethods`,"When enabled IntelliSense shows `method`-suggestions.")},"editor.suggest.showFunctions":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFunctions`,"When enabled IntelliSense shows `function`-suggestions.")},"editor.suggest.showConstructors":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showConstructors`,"When enabled IntelliSense shows `constructor`-suggestions.")},"editor.suggest.showDeprecated":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showDeprecated`,"When enabled IntelliSense shows `deprecated`-suggestions.")},"editor.suggest.showFields":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFields`,"When enabled IntelliSense shows `field`-suggestions.")},"editor.suggest.showVariables":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showVariables`,"When enabled IntelliSense shows `variable`-suggestions.")},"editor.suggest.showClasses":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showClasss`,"When enabled IntelliSense shows `class`-suggestions.")},"editor.suggest.showStructs":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showStructs`,"When enabled IntelliSense shows `struct`-suggestions.")},"editor.suggest.showInterfaces":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showInterfaces`,"When enabled IntelliSense shows `interface`-suggestions.")},"editor.suggest.showModules":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showModules`,"When enabled IntelliSense shows `module`-suggestions.")},"editor.suggest.showProperties":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showPropertys`,"When enabled IntelliSense shows `property`-suggestions.")},"editor.suggest.showEvents":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showEvents`,"When enabled IntelliSense shows `event`-suggestions.")},"editor.suggest.showOperators":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showOperators`,"When enabled IntelliSense shows `operator`-suggestions.")},"editor.suggest.showUnits":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showUnits`,"When enabled IntelliSense shows `unit`-suggestions.")},"editor.suggest.showValues":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showValues`,"When enabled IntelliSense shows `value`-suggestions.")},"editor.suggest.showConstants":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showConstants`,"When enabled IntelliSense shows `constant`-suggestions.")},"editor.suggest.showEnums":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showEnums`,"When enabled IntelliSense shows `enum`-suggestions.")},"editor.suggest.showEnumMembers":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showEnumMembers`,"When enabled IntelliSense shows `enumMember`-suggestions.")},"editor.suggest.showKeywords":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showKeywords`,"When enabled IntelliSense shows `keyword`-suggestions.")},"editor.suggest.showWords":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showTexts`,"When enabled IntelliSense shows `text`-suggestions.")},"editor.suggest.showColors":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showColors`,"When enabled IntelliSense shows `color`-suggestions.")},"editor.suggest.showFiles":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFiles`,"When enabled IntelliSense shows `file`-suggestions.")},"editor.suggest.showReferences":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showReferences`,"When enabled IntelliSense shows `reference`-suggestions.")},"editor.suggest.showCustomcolors":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showCustomcolors`,"When enabled IntelliSense shows `customcolor`-suggestions.")},"editor.suggest.showFolders":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showFolders`,"When enabled IntelliSense shows `folder`-suggestions.")},"editor.suggest.showTypeParameters":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showTypeParameters`,"When enabled IntelliSense shows `typeParameter`-suggestions.")},"editor.suggest.showSnippets":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showSnippets`,"When enabled IntelliSense shows `snippet`-suggestions.")},"editor.suggest.showUsers":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showUsers`,"When enabled IntelliSense shows `user`-suggestions.")},"editor.suggest.showIssues":{type:`boolean`,default:!0,markdownDescription:i.Td(`editor.suggest.showIssues`,"When enabled IntelliSense shows `issues`-suggestions.")}})}validate(e){if(!e||typeof e!=`object`)return this.defaultValue;let t=e;return{insertMode:v(t.insertMode,this.defaultValue.insertMode,[`insert`,`replace`]),filterGraceful:f(t.filterGraceful,this.defaultValue.filterGraceful),snippetsPreventQuickSuggestions:f(t.snippetsPreventQuickSuggestions,this.defaultValue.filterGraceful),localityBonus:f(t.localityBonus,this.defaultValue.localityBonus),shareSuggestSelections:f(t.shareSuggestSelections,this.defaultValue.shareSuggestSelections),showIcons:f(t.showIcons,this.defaultValue.showIcons),showStatusBar:f(t.showStatusBar,this.defaultValue.showStatusBar),preview:f(t.preview,this.defaultValue.preview),previewMode:v(t.previewMode,this.defaultValue.previewMode,[`prefix`,`subword`,`subwordSmart`]),showInlineDetails:f(t.showInlineDetails,this.defaultValue.showInlineDetails),showMethods:f(t.showMethods,this.defaultValue.showMethods),showFunctions:f(t.showFunctions,this.defaultValue.showFunctions),showConstructors:f(t.showConstructors,this.defaultValue.showConstructors),showDeprecated:f(t.showDeprecated,this.defaultValue.showDeprecated),showFields:f(t.showFields,this.defaultValue.showFields),showVariables:f(t.showVariables,this.defaultValue.showVariables),showClasses:f(t.showClasses,this.defaultValue.showClasses),showStructs:f(t.showStructs,this.defaultValue.showStructs),showInterfaces:f(t.showInterfaces,this.defaultValue.showInterfaces),showModules:f(t.showModules,this.defaultValue.showModules),showProperties:f(t.showProperties,this.defaultValue.showProperties),showEvents:f(t.showEvents,this.defaultValue.showEvents),showOperators:f(t.showOperators,this.defaultValue.showOperators),showUnits:f(t.showUnits,this.defaultValue.showUnits),showValues:f(t.showValues,this.defaultValue.showValues),showConstants:f(t.showConstants,this.defaultValue.showConstants),showEnums:f(t.showEnums,this.defaultValue.showEnums),showEnumMembers:f(t.showEnumMembers,this.defaultValue.showEnumMembers),showKeywords:f(t.showKeywords,this.defaultValue.showKeywords),showWords:f(t.showWords,this.defaultValue.showWords),showColors:f(t.showColors,this.defaultValue.showColors),showFiles:f(t.showFiles,this.defaultValue.showFiles),showReferences:f(t.showReferences,this.defaultValue.showReferences),showFolders:f(t.showFolders,this.defaultValue.showFolders),showTypeParameters:f(t.showTypeParameters,this.defaultValue.showTypeParameters),showSnippets:f(t.showSnippets,this.defaultValue.showSnippets),showUsers:f(t.showUsers,this.defaultValue.showUsers),showIssues:f(t.showIssues,this.defaultValue.showIssues)}}},je=class extends s{constructor(){super(103,`smartSelect`,{selectLeadingAndTrailingWhitespace:!0},{"editor.smartSelect.selectLeadingAndTrailingWhitespace":{description:i.Td(`selectLeadingAndTrailingWhitespace`,`Whether leading and trailing whitespace should always be selected.`),default:!0,type:`boolean`}})}validate(e){return!e||typeof e!=`object`?this.defaultValue:{selectLeadingAndTrailingWhitespace:f(e.selectLeadingAndTrailingWhitespace,this.defaultValue.selectLeadingAndTrailingWhitespace)}}},Me=class extends u{constructor(){super(131)}compute(e,t,n){return t.get(82)?!0:e.tabFocusMode}};function Ne(e){switch(e){case`none`:return 0;case`same`:return 1;case`indent`:return 2;case`deepIndent`:return 3}}var Pe=class extends u{constructor(){super(133)}compute(e,t,n){let r=t.get(132);return{isDominatedByLongLines:e.isDominatedByLongLines,isWordWrapMinified:r.isWordWrapMinified,isViewportWrapping:r.isViewportWrapping,wrappingColumn:r.wrappingColumn}}},Fe={fontFamily:i.bd?`Menlo, Monaco, 'Courier New', monospace`:i.vd?`'Droid Sans Mono', 'monospace', monospace`:`Consolas, 'Courier New', monospace`,fontWeight:`normal`,fontSize:i.bd?12:14,lineHeight:0,letterSpacing:0},Ie=[];function O(e){return Ie[e.id]=e,e}var Le={acceptSuggestionOnCommitCharacter:O(new p(0,`acceptSuggestionOnCommitCharacter`,!0,{markdownDescription:i.Td(`acceptSuggestionOnCommitCharacter`,"Controls whether suggestions should be accepted on commit characters. For example, in JavaScript, the semi-colon (`; `) can be a commit character that accepts a suggestion and types that character.")})),acceptSuggestionOnEnter:O(new y(1,`acceptSuggestionOnEnter`,`on`,[`on`,`smart`,`off`],{markdownEnumDescriptions:[``,i.Td(`acceptSuggestionOnEnterSmart`,"Only accept a suggestion with `Enter` when it makes a textual change."),``],markdownDescription:i.Td(`acceptSuggestionOnEnter`,"Controls whether suggestions should be accepted on `Enter`, in addition to `Tab`. Helps to avoid ambiguity between inserting new lines or accepting suggestions.")})),accessibilitySupport:O(new S),accessibilityPageSize:O(new h(3,`accessibilityPageSize`,10,1,1073741824,{description:i.Td(`accessibilityPageSize`,`Controls the number of lines in the editor that can be read out by a screen reader at once. When we detect a screen reader we automatically set the default to be 500. Warning: this has a performance implication for numbers larger than the default.`)})),ariaLabel:O(new _(4,`ariaLabel`,i.Td(`editorViewAccessibleLabel`,`Editor content`))),autoClosingBrackets:O(new y(5,`autoClosingBrackets`,`languageDefined`,[`always`,`languageDefined`,`beforeWhitespace`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingBrackets.languageDefined`,`Use language configurations to determine when to autoclose brackets.`),i.Td(`editor.autoClosingBrackets.beforeWhitespace`,`Autoclose brackets only when the cursor is to the left of whitespace.`),``],description:i.Td(`autoClosingBrackets`,`Controls whether the editor should automatically close brackets after the user adds an opening bracket.`)})),autoClosingDelete:O(new y(6,`autoClosingDelete`,`auto`,[`always`,`auto`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingDelete.auto`,`Remove adjacent closing quotes or brackets only if they were automatically inserted.`),``],description:i.Td(`autoClosingDelete`,`Controls whether the editor should remove adjacent closing quotes or brackets when deleting.`)})),autoClosingOvertype:O(new y(7,`autoClosingOvertype`,`auto`,[`always`,`auto`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingOvertype.auto`,`Type over closing quotes or brackets only if they were automatically inserted.`),``],description:i.Td(`autoClosingOvertype`,`Controls whether the editor should type over closing quotes or brackets.`)})),autoClosingQuotes:O(new y(8,`autoClosingQuotes`,`languageDefined`,[`always`,`languageDefined`,`beforeWhitespace`,`never`],{enumDescriptions:[``,i.Td(`editor.autoClosingQuotes.languageDefined`,`Use language configurations to determine when to autoclose quotes.`),i.Td(`editor.autoClosingQuotes.beforeWhitespace`,`Autoclose quotes only when the cursor is to the left of whitespace.`),``],description:i.Td(`autoClosingQuotes`,`Controls whether the editor should automatically close quotes after the user adds an opening quote.`)})),autoIndent:O(new b(9,`autoIndent`,4,`full`,[`none`,`keep`,`brackets`,`advanced`,`full`],x,{enumDescriptions:[i.Td(`editor.autoIndent.none`,`The editor will not insert indentation automatically.`),i.Td(`editor.autoIndent.keep`,`The editor will keep the current line's indentation.`),i.Td(`editor.autoIndent.brackets`,`The editor will keep the current line's indentation and honor language defined brackets.`),i.Td(`editor.autoIndent.advanced`,`The editor will keep the current line's indentation, honor language defined brackets and invoke special onEnterRules defined by languages.`),i.Td(`editor.autoIndent.full`,`The editor will keep the current line's indentation, honor language defined brackets, invoke special onEnterRules defined by languages, and honor indentationRules defined by languages.`)],description:i.Td(`autoIndent`,`Controls whether the editor should automatically adjust the indentation when users type, paste, move or indent lines.`)})),automaticLayout:O(new p(10,`automaticLayout`,!1)),autoSurround:O(new y(11,`autoSurround`,`languageDefined`,[`languageDefined`,`quotes`,`brackets`,`never`],{enumDescriptions:[i.Td(`editor.autoSurround.languageDefined`,`Use language configurations to determine when to automatically surround selections.`),i.Td(`editor.autoSurround.quotes`,`Surround with quotes but not brackets.`),i.Td(`editor.autoSurround.brackets`,`Surround with brackets but not quotes.`),``],description:i.Td(`autoSurround`,`Controls whether the editor should automatically surround selections when typing quotes or brackets.`)})),bracketPairColorization:O(new De),bracketPairGuides:O(new Oe),stickyTabStops:O(new p(105,`stickyTabStops`,!1,{description:i.Td(`stickyTabStops`,`Emulate selection behavior of tab characters when using spaces for indentation. Selection will stick to tab stops.`)})),codeLens:O(new p(14,`codeLens`,!0,{description:i.Td(`codeLens`,`Controls whether the editor shows CodeLens.`)})),codeLensFontFamily:O(new _(15,`codeLensFontFamily`,``,{description:i.Td(`codeLensFontFamily`,`Controls the font family for CodeLens.`)})),codeLensFontSize:O(new h(16,`codeLensFontSize`,0,0,100,{type:`number`,default:0,minimum:0,maximum:100,markdownDescription:i.Td(`codeLensFontSize`,"Controls the font size in pixels for CodeLens. When set to `0`, 90% of `#editor.fontSize#` is used.")})),colorDecorators:O(new p(17,`colorDecorators`,!0,{description:i.Td(`colorDecorators`,`Controls whether the editor should render the inline color decorators and color picker.`)})),columnSelection:O(new p(18,`columnSelection`,!1,{description:i.Td(`columnSelection`,`Enable that the selection with the mouse and keys is doing column selection.`)})),comments:O(new C),contextmenu:O(new p(20,`contextmenu`,!0)),copyWithSyntaxHighlighting:O(new p(21,`copyWithSyntaxHighlighting`,!0,{description:i.Td(`copyWithSyntaxHighlighting`,`Controls whether syntax highlighting should be copied into the clipboard.`)})),cursorBlinking:O(new b(22,`cursorBlinking`,1,`blink`,[`blink`,`smooth`,`phase`,`expand`,`solid`],w,{description:i.Td(`cursorBlinking`,`Control the cursor animation style.`)})),cursorSmoothCaretAnimation:O(new p(23,`cursorSmoothCaretAnimation`,!1,{description:i.Td(`cursorSmoothCaretAnimation`,`Controls whether the smooth caret animation should be enabled.`)})),cursorStyle:O(new b(24,`cursorStyle`,T.Line,`line`,[`line`,`block`,`underline`,`line-thin`,`block-outline`,`underline-thin`],E,{description:i.Td(`cursorStyle`,`Controls the cursor style.`)})),cursorSurroundingLines:O(new h(25,`cursorSurroundingLines`,0,0,1073741824,{description:i.Td(`cursorSurroundingLines`,`Controls the minimal number of visible leading and trailing lines surrounding the cursor. Known as 'scrollOff' or 'scrollOffset' in some other editors.`)})),cursorSurroundingLinesStyle:O(new y(26,`cursorSurroundingLinesStyle`,`default`,[`default`,`all`],{enumDescriptions:[i.Td(`cursorSurroundingLinesStyle.default`,"`cursorSurroundingLines` is enforced only when triggered via the keyboard or API."),i.Td(`cursorSurroundingLinesStyle.all`,"`cursorSurroundingLines` is enforced always.")],description:i.Td(`cursorSurroundingLinesStyle`,"Controls when `cursorSurroundingLines` should be enforced.")})),cursorWidth:O(new h(27,`cursorWidth`,0,0,1073741824,{markdownDescription:i.Td(`cursorWidth`,"Controls the width of the cursor when `#editor.cursorStyle#` is set to `line`.")})),disableLayerHinting:O(new p(28,`disableLayerHinting`,!1)),disableMonospaceOptimizations:O(new p(29,`disableMonospaceOptimizations`,!1)),domReadOnly:O(new p(30,`domReadOnly`,!1)),dragAndDrop:O(new p(31,`dragAndDrop`,!0,{description:i.Td(`dragAndDrop`,`Controls whether the editor should allow moving selections via drag and drop.`)})),emptySelectionClipboard:O(new ee),enableDropIntoEditor:O(new p(32,`enableDropIntoEditor`,!0)),extraEditorClassName:O(new _(34,`extraEditorClassName`,``)),fastScrollSensitivity:O(new g(35,`fastScrollSensitivity`,5,e=>e<=0?5:e,{markdownDescription:i.Td(`fastScrollSensitivity`,"Scrolling speed multiplier when pressing `Alt`.")})),find:O(new te),fixedOverflowWidgets:O(new p(37,`fixedOverflowWidgets`,!1)),folding:O(new p(38,`folding`,!0,{description:i.Td(`folding`,`Controls whether the editor has code folding enabled.`)})),foldingStrategy:O(new y(39,`foldingStrategy`,`auto`,[`auto`,`indentation`],{enumDescriptions:[i.Td(`foldingStrategy.auto`,`Use a language-specific folding strategy if available, else the indentation-based one.`),i.Td(`foldingStrategy.indentation`,`Use the indentation-based folding strategy.`)],description:i.Td(`foldingStrategy`,`Controls the strategy for computing folding ranges.`)})),foldingHighlight:O(new p(40,`foldingHighlight`,!0,{description:i.Td(`foldingHighlight`,`Controls whether the editor should highlight folded ranges.`)})),foldingImportsByDefault:O(new p(41,`foldingImportsByDefault`,!1,{description:i.Td(`foldingImportsByDefault`,`Controls whether the editor automatically collapses import ranges.`)})),foldingMaximumRegions:O(new h(42,`foldingMaximumRegions`,5e3,10,65e3,{description:i.Td(`foldingMaximumRegions`,`The maximum number of foldable regions. Increasing this value may result in the editor becoming less responsive when the current source has a large number of foldable regions.`)})),unfoldOnClickAfterEndOfLine:O(new p(43,`unfoldOnClickAfterEndOfLine`,!1,{description:i.Td(`unfoldOnClickAfterEndOfLine`,`Controls whether clicking on the empty content after a folded line will unfold the line.`)})),fontFamily:O(new _(44,`fontFamily`,Fe.fontFamily,{description:i.Td(`fontFamily`,`Controls the font family.`)})),fontInfo:O(new re),fontLigatures2:O(new ne),fontSize:O(new ie),fontWeight:O(new ae),formatOnPaste:O(new p(49,`formatOnPaste`,!1,{description:i.Td(`formatOnPaste`,`Controls whether the editor should automatically format the pasted content. A formatter must be available and the formatter should be able to format a range in a document.`)})),formatOnType:O(new p(50,`formatOnType`,!1,{description:i.Td(`formatOnType`,`Controls whether the editor should automatically format the line after typing.`)})),glyphMargin:O(new p(51,`glyphMargin`,!0,{description:i.Td(`glyphMargin`,`Controls whether the editor should render the vertical glyph margin. Glyph margin is mostly used for debugging.`)})),gotoLocation:O(new oe),hideCursorInOverviewRuler:O(new p(53,`hideCursorInOverviewRuler`,!1,{description:i.Td(`hideCursorInOverviewRuler`,`Controls whether the cursor should be hidden in the overview ruler.`)})),hover:O(new se),inDiffEditor:O(new p(55,`inDiffEditor`,!1)),letterSpacing:O(new g(57,`letterSpacing`,Fe.letterSpacing,e=>g.clamp(e,-5,20),{description:i.Td(`letterSpacing`,`Controls the letter spacing in pixels.`)})),lightbulb:O(new le),lineDecorationsWidth:O(new d(59,`lineDecorationsWidth`,10)),lineHeight:O(new de),lineNumbers:O(new ve),lineNumbersMinChars:O(new h(62,`lineNumbersMinChars`,5,1,300)),linkedEditing:O(new p(63,`linkedEditing`,!1,{description:i.Td(`linkedEditing`,`Controls whether the editor has linked editing enabled. Depending on the language, related symbols, e.g. HTML tags, are updated while editing.`)})),links:O(new p(64,`links`,!0,{description:i.Td(`links`,`Controls whether the editor should detect links and make them clickable.`)})),matchBrackets:O(new y(65,`matchBrackets`,`always`,[`always`,`near`,`never`],{description:i.Td(`matchBrackets`,`Highlight matching brackets.`)})),minimap:O(new fe),mouseStyle:O(new y(67,`mouseStyle`,`text`,[`text`,`default`,`copy`])),mouseWheelScrollSensitivity:O(new g(68,`mouseWheelScrollSensitivity`,1,e=>e===0?1:e,{markdownDescription:i.Td(`mouseWheelScrollSensitivity`,"A multiplier to be used on the `deltaX` and `deltaY` of mouse wheel scroll events.")})),mouseWheelZoom:O(new p(69,`mouseWheelZoom`,!1,{markdownDescription:i.Td(`mouseWheelZoom`,"Zoom the font of the editor when using mouse wheel and holding `Ctrl`.")})),multiCursorMergeOverlapping:O(new p(70,`multiCursorMergeOverlapping`,!0,{description:i.Td(`multiCursorMergeOverlapping`,`Merge multiple cursors when they are overlapping.`)})),multiCursorModifier:O(new b(71,`multiCursorModifier`,`altKey`,`alt`,[`ctrlCmd`,`alt`],pe,{markdownEnumDescriptions:[i.Td(`multiCursorModifier.ctrlCmd`,"Maps to `Control` on Windows and Linux and to `Command` on macOS."),i.Td(`multiCursorModifier.alt`,"Maps to `Alt` on Windows and Linux and to `Option` on macOS.")],markdownDescription:i.Td({key:`multiCursorModifier`,comment:["- `ctrlCmd` refers to a value the setting can take and should not be localized.","- `Control` and `Command` refer to the modifier keys Ctrl or Cmd on the keyboard and can be localized."]},`The modifier to be used to add multiple cursors with the mouse. The Go to Definition and Open Link mouse gestures will adapt such that they do not conflict with the [multicursor modifier](https://code.visualstudio.com/docs/editor/codebasics#_multicursor-modifier).`)})),multiCursorPaste:O(new y(72,`multiCursorPaste`,`spread`,[`spread`,`full`],{markdownEnumDescriptions:[i.Td(`multiCursorPaste.spread`,`Each cursor pastes a single line of the text.`),i.Td(`multiCursorPaste.full`,`Each cursor pastes the full text.`)],markdownDescription:i.Td(`multiCursorPaste`,`Controls pasting when the line count of the pasted text matches the cursor count.`)})),occurrencesHighlight:O(new p(73,`occurrencesHighlight`,!0,{description:i.Td(`occurrencesHighlight`,`Controls whether the editor should highlight semantic symbol occurrences.`)})),overviewRulerBorder:O(new p(74,`overviewRulerBorder`,!0,{description:i.Td(`overviewRulerBorder`,`Controls whether a border should be drawn around the overview ruler.`)})),overviewRulerLanes:O(new h(75,`overviewRulerLanes`,3,0,3)),padding:O(new me),parameterHints:O(new he),peekWidgetDefaultFocus:O(new y(78,`peekWidgetDefaultFocus`,`tree`,[`tree`,`editor`],{enumDescriptions:[i.Td(`peekWidgetDefaultFocus.tree`,`Focus the tree when opening peek`),i.Td(`peekWidgetDefaultFocus.editor`,`Focus the editor when opening peek`)],description:i.Td(`peekWidgetDefaultFocus`,`Controls whether to focus the inline editor or the tree in the peek widget.`)})),definitionLinkOpensInPeek:O(new p(79,`definitionLinkOpensInPeek`,!1,{description:i.Td(`definitionLinkOpensInPeek`,`Controls whether the Go to Definition mouse gesture always opens the peek widget.`)})),quickSuggestions:O(new _e),quickSuggestionsDelay:O(new h(81,`quickSuggestionsDelay`,10,0,1073741824,{description:i.Td(`quickSuggestionsDelay`,`Controls the delay in milliseconds after which quick suggestions will show up.`)})),readOnly:O(new p(82,`readOnly`,!1)),renameOnType:O(new p(83,`renameOnType`,!1,{description:i.Td(`renameOnType`,`Controls whether the editor auto renames on type.`),markdownDeprecationMessage:i.Td(`renameOnTypeDeprecate`,"Deprecated, use `editor.linkedEditing` instead.")})),renderControlCharacters:O(new p(84,`renderControlCharacters`,!0,{description:i.Td(`renderControlCharacters`,`Controls whether the editor should render control characters.`),restricted:!0})),renderFinalNewline:O(new p(85,`renderFinalNewline`,!0,{description:i.Td(`renderFinalNewline`,`Render last line number when the file ends with a newline.`)})),renderLineHighlight:O(new y(86,`renderLineHighlight`,`line`,[`none`,`gutter`,`line`,`all`],{enumDescriptions:[``,``,``,i.Td(`renderLineHighlight.all`,`Highlights both the gutter and the current line.`)],description:i.Td(`renderLineHighlight`,`Controls how the editor should render the current line highlight.`)})),renderLineHighlightOnlyWhenFocus:O(new p(87,`renderLineHighlightOnlyWhenFocus`,!1,{description:i.Td(`renderLineHighlightOnlyWhenFocus`,`Controls if the editor should render the current line highlight only when the editor is focused.`)})),renderValidationDecorations:O(new y(88,`renderValidationDecorations`,`editable`,[`editable`,`on`,`off`])),renderWhitespace:O(new y(89,`renderWhitespace`,`selection`,[`none`,`boundary`,`selection`,`trailing`,`all`],{enumDescriptions:[``,i.Td(`renderWhitespace.boundary`,`Render whitespace characters except for single spaces between words.`),i.Td(`renderWhitespace.selection`,`Render whitespace characters only on selected text.`),i.Td(`renderWhitespace.trailing`,`Render only trailing whitespace characters.`),``],description:i.Td(`renderWhitespace`,`Controls how the editor should render whitespace characters.`)})),revealHorizontalRightPadding:O(new h(90,`revealHorizontalRightPadding`,30,0,1e3)),roundedSelection:O(new p(91,`roundedSelection`,!0,{description:i.Td(`roundedSelection`,`Controls whether selections should have rounded corners.`)})),rulers:O(new be),scrollbar:O(new Se),scrollBeyondLastColumn:O(new h(94,`scrollBeyondLastColumn`,4,0,1073741824,{description:i.Td(`scrollBeyondLastColumn`,`Controls the number of extra characters beyond which the editor will scroll horizontally.`)})),scrollBeyondLastLine:O(new p(95,`scrollBeyondLastLine`,!0,{description:i.Td(`scrollBeyondLastLine`,`Controls whether the editor will scroll beyond the last line.`)})),scrollPredominantAxis:O(new p(96,`scrollPredominantAxis`,!0,{description:i.Td(`scrollPredominantAxis`,`Scroll only along the predominant axis when scrolling both vertically and horizontally at the same time. Prevents horizontal drift when scrolling vertically on a trackpad.`)})),selectionClipboard:O(new p(97,`selectionClipboard`,!0,{description:i.Td(`selectionClipboard`,`Controls whether the Linux primary clipboard should be supported.`),included:i.vd})),selectionHighlight:O(new p(98,`selectionHighlight`,!0,{description:i.Td(`selectionHighlight`,`Controls whether the editor should highlight matches similar to the selection.`)})),selectOnLineNumbers:O(new p(99,`selectOnLineNumbers`,!0)),showFoldingControls:O(new y(100,`showFoldingControls`,`mouseover`,[`always`,`never`,`mouseover`],{enumDescriptions:[i.Td(`showFoldingControls.always`,`Always show the folding controls.`),i.Td(`showFoldingControls.never`,`Never show the folding controls and reduce the gutter size.`),i.Td(`showFoldingControls.mouseover`,`Only show the folding controls when the mouse is over the gutter.`)],description:i.Td(`showFoldingControls`,`Controls when the folding controls on the gutter are shown.`)})),showUnused:O(new p(101,`showUnused`,!0,{description:i.Td(`showUnused`,`Controls fading out of unused code.`)})),showDeprecated:O(new p(127,`showDeprecated`,!0,{description:i.Td(`showDeprecated`,`Controls strikethrough deprecated variables.`)})),inlayHints:O(new ue),snippetSuggestions:O(new y(102,`snippetSuggestions`,`inline`,[`top`,`bottom`,`inline`,`none`],{enumDescriptions:[i.Td(`snippetSuggestions.top`,`Show snippet suggestions on top of other suggestions.`),i.Td(`snippetSuggestions.bottom`,`Show snippet suggestions below other suggestions.`),i.Td(`snippetSuggestions.inline`,`Show snippets suggestions with other suggestions.`),i.Td(`snippetSuggestions.none`,`Do not show snippet suggestions.`)],description:i.Td(`snippetSuggestions`,`Controls whether snippets are shown with other suggestions and how they are sorted.`)})),smartSelect:O(new je),smoothScrolling:O(new p(104,`smoothScrolling`,!1,{description:i.Td(`smoothScrolling`,`Controls whether the editor will scroll using an animation.`)})),stopRenderingLineAfter:O(new h(106,`stopRenderingLineAfter`,1e4,-1,1073741824)),suggest:O(new Ae),inlineSuggest:O(new Ee),suggestFontSize:O(new h(108,`suggestFontSize`,0,0,1e3,{markdownDescription:i.Td(`suggestFontSize`,`Font size for the suggest widget. When set to {0}, the value of {1} is used.`,"`0`","`#editor.fontSize#`")})),suggestLineHeight:O(new h(109,`suggestLineHeight`,0,0,1e3,{markdownDescription:i.Td(`suggestLineHeight`,`Line height for the suggest widget. When set to {0}, the value of {1} is used. The minimum value is 8.`,"`0`","`#editor.lineHeight#`")})),suggestOnTriggerCharacters:O(new p(110,`suggestOnTriggerCharacters`,!0,{description:i.Td(`suggestOnTriggerCharacters`,`Controls whether suggestions should automatically show up when typing trigger characters.`)})),suggestSelection:O(new y(111,`suggestSelection`,`first`,[`first`,`recentlyUsed`,`recentlyUsedByPrefix`],{markdownEnumDescriptions:[i.Td(`suggestSelection.first`,`Always select the first suggestion.`),i.Td(`suggestSelection.recentlyUsed`,"Select recent suggestions unless further typing selects one, e.g. `console.| -> console.log` because `log` has been completed recently."),i.Td(`suggestSelection.recentlyUsedByPrefix`,"Select suggestions based on previous prefixes that have completed those suggestions, e.g. `co -> console` and `con -> const`.")],description:i.Td(`suggestSelection`,`Controls how suggestions are pre-selected when showing the suggest list.`)})),tabCompletion:O(new y(112,`tabCompletion`,`off`,[`on`,`off`,`onlySnippets`],{enumDescriptions:[i.Td(`tabCompletion.on`,`Tab complete will insert the best matching suggestion when pressing tab.`),i.Td(`tabCompletion.off`,`Disable tab completions.`),i.Td(`tabCompletion.onlySnippets`,`Tab complete snippets when their prefix match. Works best when 'quickSuggestions' aren't enabled.`)],description:i.Td(`tabCompletion`,`Enables tab completions.`)})),tabIndex:O(new h(113,`tabIndex`,0,-1,1073741824)),unicodeHighlight:O(new Te),unusualLineTerminators:O(new y(115,`unusualLineTerminators`,`prompt`,[`auto`,`off`,`prompt`],{enumDescriptions:[i.Td(`unusualLineTerminators.auto`,`Unusual line terminators are automatically removed.`),i.Td(`unusualLineTerminators.off`,`Unusual line terminators are ignored.`),i.Td(`unusualLineTerminators.prompt`,`Unusual line terminators prompt to be removed.`)],description:i.Td(`unusualLineTerminators`,`Remove unusual line terminators that might cause problems.`)})),useShadowDOM:O(new p(116,`useShadowDOM`,!0)),useTabStops:O(new p(117,`useTabStops`,!0,{description:i.Td(`useTabStops`,`Inserting and deleting whitespace follows tab stops.`)})),wordSeparators:O(new _(118,`wordSeparators`,i.ud,{description:i.Td(`wordSeparators`,`Characters that will be used as word separators when doing word related navigations or operations.`)})),wordWrap:O(new y(119,`wordWrap`,`off`,[`off`,`on`,`wordWrapColumn`,`bounded`],{markdownEnumDescriptions:[i.Td(`wordWrap.off`,`Lines will never wrap.`),i.Td(`wordWrap.on`,`Lines will wrap at the viewport width.`),i.Td({key:`wordWrap.wordWrapColumn`,comment:["- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at `#editor.wordWrapColumn#`."),i.Td({key:`wordWrap.bounded`,comment:[`- viewport means the edge of the visible window size.`,"- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},"Lines will wrap at the minimum of viewport and `#editor.wordWrapColumn#`.")],description:i.Td({key:`wordWrap`,comment:[`- 'off', 'on', 'wordWrapColumn' and 'bounded' refer to values the setting can take and should not be localized.`,"- `editor.wordWrapColumn` refers to a different setting and should not be localized."]},`Controls how lines should wrap.`)})),wordWrapBreakAfterCharacters:O(new _(120,`wordWrapBreakAfterCharacters`,` })]?|/&.,;¢°′″‰℃、。。、¢,.:;?!%・・ゝゞヽヾーァィゥェォッャュョヮヵヶぁぃぅぇぉっゃゅょゎゕゖㇰㇱㇲㇳㇴㇵㇶㇷㇸㇹㇺㇻㇼㇽㇾㇿ々〻ァィゥェォャュョッー”〉》」』】〕)]}」`)),wordWrapBreakBeforeCharacters:O(new _(121,`wordWrapBreakBeforeCharacters`,`([{‘“〈《「『【〔([{「£¥$£¥++`)),wordWrapColumn:O(new h(122,`wordWrapColumn`,80,1,1073741824,{markdownDescription:i.Td({key:`wordWrapColumn`,comment:["- `editor.wordWrap` refers to a different setting and should not be localized.",`- 'wordWrapColumn' and 'bounded' refer to values the different setting can take and should not be localized.`]},"Controls the wrapping column of the editor when `#editor.wordWrap#` is `wordWrapColumn` or `bounded`.")})),wordWrapOverride1:O(new y(123,`wordWrapOverride1`,`inherit`,[`off`,`on`,`inherit`])),wordWrapOverride2:O(new y(124,`wordWrapOverride2`,`inherit`,[`off`,`on`,`inherit`])),wrappingIndent:O(new b(125,`wrappingIndent`,1,`same`,[`none`,`same`,`indent`,`deepIndent`],Ne,{enumDescriptions:[i.Td(`wrappingIndent.none`,`No indentation. Wrapped lines begin at column 1.`),i.Td(`wrappingIndent.same`,`Wrapped lines get the same indentation as the parent.`),i.Td(`wrappingIndent.indent`,`Wrapped lines get +1 indentation toward the parent.`),i.Td(`wrappingIndent.deepIndent`,`Wrapped lines get +2 indentation toward the parent.`)],description:i.Td(`wrappingIndent`,`Controls the indentation of wrapped lines.`)})),wrappingStrategy:O(new y(126,`wrappingStrategy`,`simple`,[`simple`,`advanced`],{enumDescriptions:[i.Td(`wrappingStrategy.simple`,`Assumes that all characters are of the same width. This is a fast algorithm that works correctly for monospace fonts and certain scripts (like Latin characters) where glyphs are of equal width.`),i.Td(`wrappingStrategy.advanced`,`Delegates wrapping points computation to the browser. This is a slow algorithm, that might cause freezes for large files, but it works correctly in all cases.`)],description:i.Td(`wrappingStrategy`,`Controls the algorithm that computes wrapping points.`)})),editorClassName:O(new D),pixelRatio:O(new ge),tabFocusMode:O(new Me),layoutInfo:O(new ce),wrappingInfo:O(new Pe)},Re;(function(e){e[e.Unknown=0]=`Unknown`,e[e.Disabled=1]=`Disabled`,e[e.Enabled=2]=`Enabled`})(Re||={});var ze;(function(e){e[e.KeepWhitespace=1]=`KeepWhitespace`,e[e.InsertAsSnippet=4]=`InsertAsSnippet`})(ze||={});var Be;(function(e){e[e.Method=0]=`Method`,e[e.Function=1]=`Function`,e[e.Constructor=2]=`Constructor`,e[e.Field=3]=`Field`,e[e.Variable=4]=`Variable`,e[e.Class=5]=`Class`,e[e.Struct=6]=`Struct`,e[e.Interface=7]=`Interface`,e[e.Module=8]=`Module`,e[e.Property=9]=`Property`,e[e.Event=10]=`Event`,e[e.Operator=11]=`Operator`,e[e.Unit=12]=`Unit`,e[e.Value=13]=`Value`,e[e.Constant=14]=`Constant`,e[e.Enum=15]=`Enum`,e[e.EnumMember=16]=`EnumMember`,e[e.Keyword=17]=`Keyword`,e[e.Text=18]=`Text`,e[e.Color=19]=`Color`,e[e.File=20]=`File`,e[e.Reference=21]=`Reference`,e[e.Customcolor=22]=`Customcolor`,e[e.Folder=23]=`Folder`,e[e.TypeParameter=24]=`TypeParameter`,e[e.User=25]=`User`,e[e.Issue=26]=`Issue`,e[e.Snippet=27]=`Snippet`})(Be||={});var Ve;(function(e){e[e.Deprecated=1]=`Deprecated`})(Ve||={});var He;(function(e){e[e.Invoke=0]=`Invoke`,e[e.TriggerCharacter=1]=`TriggerCharacter`,e[e.TriggerForIncompleteCompletions=2]=`TriggerForIncompleteCompletions`})(He||={});var Ue;(function(e){e[e.EXACT=0]=`EXACT`,e[e.ABOVE=1]=`ABOVE`,e[e.BELOW=2]=`BELOW`})(Ue||={});var We;(function(e){e[e.NotSet=0]=`NotSet`,e[e.ContentFlush=1]=`ContentFlush`,e[e.RecoverFromMarkers=2]=`RecoverFromMarkers`,e[e.Explicit=3]=`Explicit`,e[e.Paste=4]=`Paste`,e[e.Undo=5]=`Undo`,e[e.Redo=6]=`Redo`})(We||={});var Ge;(function(e){e[e.LF=1]=`LF`,e[e.CRLF=2]=`CRLF`})(Ge||={});var Ke;(function(e){e[e.Text=0]=`Text`,e[e.Read=1]=`Read`,e[e.Write=2]=`Write`})(Ke||={});var qe;(function(e){e[e.None=0]=`None`,e[e.Keep=1]=`Keep`,e[e.Brackets=2]=`Brackets`,e[e.Advanced=3]=`Advanced`,e[e.Full=4]=`Full`})(qe||={});var Je;(function(e){e[e.acceptSuggestionOnCommitCharacter=0]=`acceptSuggestionOnCommitCharacter`,e[e.acceptSuggestionOnEnter=1]=`acceptSuggestionOnEnter`,e[e.accessibilitySupport=2]=`accessibilitySupport`,e[e.accessibilityPageSize=3]=`accessibilityPageSize`,e[e.ariaLabel=4]=`ariaLabel`,e[e.autoClosingBrackets=5]=`autoClosingBrackets`,e[e.autoClosingDelete=6]=`autoClosingDelete`,e[e.autoClosingOvertype=7]=`autoClosingOvertype`,e[e.autoClosingQuotes=8]=`autoClosingQuotes`,e[e.autoIndent=9]=`autoIndent`,e[e.automaticLayout=10]=`automaticLayout`,e[e.autoSurround=11]=`autoSurround`,e[e.bracketPairColorization=12]=`bracketPairColorization`,e[e.guides=13]=`guides`,e[e.codeLens=14]=`codeLens`,e[e.codeLensFontFamily=15]=`codeLensFontFamily`,e[e.codeLensFontSize=16]=`codeLensFontSize`,e[e.colorDecorators=17]=`colorDecorators`,e[e.columnSelection=18]=`columnSelection`,e[e.comments=19]=`comments`,e[e.contextmenu=20]=`contextmenu`,e[e.copyWithSyntaxHighlighting=21]=`copyWithSyntaxHighlighting`,e[e.cursorBlinking=22]=`cursorBlinking`,e[e.cursorSmoothCaretAnimation=23]=`cursorSmoothCaretAnimation`,e[e.cursorStyle=24]=`cursorStyle`,e[e.cursorSurroundingLines=25]=`cursorSurroundingLines`,e[e.cursorSurroundingLinesStyle=26]=`cursorSurroundingLinesStyle`,e[e.cursorWidth=27]=`cursorWidth`,e[e.disableLayerHinting=28]=`disableLayerHinting`,e[e.disableMonospaceOptimizations=29]=`disableMonospaceOptimizations`,e[e.domReadOnly=30]=`domReadOnly`,e[e.dragAndDrop=31]=`dragAndDrop`,e[e.enableDropIntoEditor=32]=`enableDropIntoEditor`,e[e.emptySelectionClipboard=33]=`emptySelectionClipboard`,e[e.extraEditorClassName=34]=`extraEditorClassName`,e[e.fastScrollSensitivity=35]=`fastScrollSensitivity`,e[e.find=36]=`find`,e[e.fixedOverflowWidgets=37]=`fixedOverflowWidgets`,e[e.folding=38]=`folding`,e[e.foldingStrategy=39]=`foldingStrategy`,e[e.foldingHighlight=40]=`foldingHighlight`,e[e.foldingImportsByDefault=41]=`foldingImportsByDefault`,e[e.foldingMaximumRegions=42]=`foldingMaximumRegions`,e[e.unfoldOnClickAfterEndOfLine=43]=`unfoldOnClickAfterEndOfLine`,e[e.fontFamily=44]=`fontFamily`,e[e.fontInfo=45]=`fontInfo`,e[e.fontLigatures=46]=`fontLigatures`,e[e.fontSize=47]=`fontSize`,e[e.fontWeight=48]=`fontWeight`,e[e.formatOnPaste=49]=`formatOnPaste`,e[e.formatOnType=50]=`formatOnType`,e[e.glyphMargin=51]=`glyphMargin`,e[e.gotoLocation=52]=`gotoLocation`,e[e.hideCursorInOverviewRuler=53]=`hideCursorInOverviewRuler`,e[e.hover=54]=`hover`,e[e.inDiffEditor=55]=`inDiffEditor`,e[e.inlineSuggest=56]=`inlineSuggest`,e[e.letterSpacing=57]=`letterSpacing`,e[e.lightbulb=58]=`lightbulb`,e[e.lineDecorationsWidth=59]=`lineDecorationsWidth`,e[e.lineHeight=60]=`lineHeight`,e[e.lineNumbers=61]=`lineNumbers`,e[e.lineNumbersMinChars=62]=`lineNumbersMinChars`,e[e.linkedEditing=63]=`linkedEditing`,e[e.links=64]=`links`,e[e.matchBrackets=65]=`matchBrackets`,e[e.minimap=66]=`minimap`,e[e.mouseStyle=67]=`mouseStyle`,e[e.mouseWheelScrollSensitivity=68]=`mouseWheelScrollSensitivity`,e[e.mouseWheelZoom=69]=`mouseWheelZoom`,e[e.multiCursorMergeOverlapping=70]=`multiCursorMergeOverlapping`,e[e.multiCursorModifier=71]=`multiCursorModifier`,e[e.multiCursorPaste=72]=`multiCursorPaste`,e[e.occurrencesHighlight=73]=`occurrencesHighlight`,e[e.overviewRulerBorder=74]=`overviewRulerBorder`,e[e.overviewRulerLanes=75]=`overviewRulerLanes`,e[e.padding=76]=`padding`,e[e.parameterHints=77]=`parameterHints`,e[e.peekWidgetDefaultFocus=78]=`peekWidgetDefaultFocus`,e[e.definitionLinkOpensInPeek=79]=`definitionLinkOpensInPeek`,e[e.quickSuggestions=80]=`quickSuggestions`,e[e.quickSuggestionsDelay=81]=`quickSuggestionsDelay`,e[e.readOnly=82]=`readOnly`,e[e.renameOnType=83]=`renameOnType`,e[e.renderControlCharacters=84]=`renderControlCharacters`,e[e.renderFinalNewline=85]=`renderFinalNewline`,e[e.renderLineHighlight=86]=`renderLineHighlight`,e[e.renderLineHighlightOnlyWhenFocus=87]=`renderLineHighlightOnlyWhenFocus`,e[e.renderValidationDecorations=88]=`renderValidationDecorations`,e[e.renderWhitespace=89]=`renderWhitespace`,e[e.revealHorizontalRightPadding=90]=`revealHorizontalRightPadding`,e[e.roundedSelection=91]=`roundedSelection`,e[e.rulers=92]=`rulers`,e[e.scrollbar=93]=`scrollbar`,e[e.scrollBeyondLastColumn=94]=`scrollBeyondLastColumn`,e[e.scrollBeyondLastLine=95]=`scrollBeyondLastLine`,e[e.scrollPredominantAxis=96]=`scrollPredominantAxis`,e[e.selectionClipboard=97]=`selectionClipboard`,e[e.selectionHighlight=98]=`selectionHighlight`,e[e.selectOnLineNumbers=99]=`selectOnLineNumbers`,e[e.showFoldingControls=100]=`showFoldingControls`,e[e.showUnused=101]=`showUnused`,e[e.snippetSuggestions=102]=`snippetSuggestions`,e[e.smartSelect=103]=`smartSelect`,e[e.smoothScrolling=104]=`smoothScrolling`,e[e.stickyTabStops=105]=`stickyTabStops`,e[e.stopRenderingLineAfter=106]=`stopRenderingLineAfter`,e[e.suggest=107]=`suggest`,e[e.suggestFontSize=108]=`suggestFontSize`,e[e.suggestLineHeight=109]=`suggestLineHeight`,e[e.suggestOnTriggerCharacters=110]=`suggestOnTriggerCharacters`,e[e.suggestSelection=111]=`suggestSelection`,e[e.tabCompletion=112]=`tabCompletion`,e[e.tabIndex=113]=`tabIndex`,e[e.unicodeHighlighting=114]=`unicodeHighlighting`,e[e.unusualLineTerminators=115]=`unusualLineTerminators`,e[e.useShadowDOM=116]=`useShadowDOM`,e[e.useTabStops=117]=`useTabStops`,e[e.wordSeparators=118]=`wordSeparators`,e[e.wordWrap=119]=`wordWrap`,e[e.wordWrapBreakAfterCharacters=120]=`wordWrapBreakAfterCharacters`,e[e.wordWrapBreakBeforeCharacters=121]=`wordWrapBreakBeforeCharacters`,e[e.wordWrapColumn=122]=`wordWrapColumn`,e[e.wordWrapOverride1=123]=`wordWrapOverride1`,e[e.wordWrapOverride2=124]=`wordWrapOverride2`,e[e.wrappingIndent=125]=`wrappingIndent`,e[e.wrappingStrategy=126]=`wrappingStrategy`,e[e.showDeprecated=127]=`showDeprecated`,e[e.inlayHints=128]=`inlayHints`,e[e.editorClassName=129]=`editorClassName`,e[e.pixelRatio=130]=`pixelRatio`,e[e.tabFocusMode=131]=`tabFocusMode`,e[e.layoutInfo=132]=`layoutInfo`,e[e.wrappingInfo=133]=`wrappingInfo`})(Je||={});var Ye;(function(e){e[e.TextDefined=0]=`TextDefined`,e[e.LF=1]=`LF`,e[e.CRLF=2]=`CRLF`})(Ye||={});var Xe;(function(e){e[e.LF=0]=`LF`,e[e.CRLF=1]=`CRLF`})(Xe||={});var Ze;(function(e){e[e.None=0]=`None`,e[e.Indent=1]=`Indent`,e[e.IndentOutdent=2]=`IndentOutdent`,e[e.Outdent=3]=`Outdent`})(Ze||={});var Qe;(function(e){e[e.Both=0]=`Both`,e[e.Right=1]=`Right`,e[e.Left=2]=`Left`,e[e.None=3]=`None`})(Qe||={});var $e;(function(e){e[e.Type=1]=`Type`,e[e.Parameter=2]=`Parameter`})($e||={});var et;(function(e){e[e.Automatic=0]=`Automatic`,e[e.Explicit=1]=`Explicit`})(et||={});var tt;(function(e){e[e.DependsOnKbLayout=-1]=`DependsOnKbLayout`,e[e.Unknown=0]=`Unknown`,e[e.Backspace=1]=`Backspace`,e[e.Tab=2]=`Tab`,e[e.Enter=3]=`Enter`,e[e.Shift=4]=`Shift`,e[e.Ctrl=5]=`Ctrl`,e[e.Alt=6]=`Alt`,e[e.PauseBreak=7]=`PauseBreak`,e[e.CapsLock=8]=`CapsLock`,e[e.Escape=9]=`Escape`,e[e.Space=10]=`Space`,e[e.PageUp=11]=`PageUp`,e[e.PageDown=12]=`PageDown`,e[e.End=13]=`End`,e[e.Home=14]=`Home`,e[e.LeftArrow=15]=`LeftArrow`,e[e.UpArrow=16]=`UpArrow`,e[e.RightArrow=17]=`RightArrow`,e[e.DownArrow=18]=`DownArrow`,e[e.Insert=19]=`Insert`,e[e.Delete=20]=`Delete`,e[e.Digit0=21]=`Digit0`,e[e.Digit1=22]=`Digit1`,e[e.Digit2=23]=`Digit2`,e[e.Digit3=24]=`Digit3`,e[e.Digit4=25]=`Digit4`,e[e.Digit5=26]=`Digit5`,e[e.Digit6=27]=`Digit6`,e[e.Digit7=28]=`Digit7`,e[e.Digit8=29]=`Digit8`,e[e.Digit9=30]=`Digit9`,e[e.KeyA=31]=`KeyA`,e[e.KeyB=32]=`KeyB`,e[e.KeyC=33]=`KeyC`,e[e.KeyD=34]=`KeyD`,e[e.KeyE=35]=`KeyE`,e[e.KeyF=36]=`KeyF`,e[e.KeyG=37]=`KeyG`,e[e.KeyH=38]=`KeyH`,e[e.KeyI=39]=`KeyI`,e[e.KeyJ=40]=`KeyJ`,e[e.KeyK=41]=`KeyK`,e[e.KeyL=42]=`KeyL`,e[e.KeyM=43]=`KeyM`,e[e.KeyN=44]=`KeyN`,e[e.KeyO=45]=`KeyO`,e[e.KeyP=46]=`KeyP`,e[e.KeyQ=47]=`KeyQ`,e[e.KeyR=48]=`KeyR`,e[e.KeyS=49]=`KeyS`,e[e.KeyT=50]=`KeyT`,e[e.KeyU=51]=`KeyU`,e[e.KeyV=52]=`KeyV`,e[e.KeyW=53]=`KeyW`,e[e.KeyX=54]=`KeyX`,e[e.KeyY=55]=`KeyY`,e[e.KeyZ=56]=`KeyZ`,e[e.Meta=57]=`Meta`,e[e.ContextMenu=58]=`ContextMenu`,e[e.F1=59]=`F1`,e[e.F2=60]=`F2`,e[e.F3=61]=`F3`,e[e.F4=62]=`F4`,e[e.F5=63]=`F5`,e[e.F6=64]=`F6`,e[e.F7=65]=`F7`,e[e.F8=66]=`F8`,e[e.F9=67]=`F9`,e[e.F10=68]=`F10`,e[e.F11=69]=`F11`,e[e.F12=70]=`F12`,e[e.F13=71]=`F13`,e[e.F14=72]=`F14`,e[e.F15=73]=`F15`,e[e.F16=74]=`F16`,e[e.F17=75]=`F17`,e[e.F18=76]=`F18`,e[e.F19=77]=`F19`,e[e.NumLock=78]=`NumLock`,e[e.ScrollLock=79]=`ScrollLock`,e[e.Semicolon=80]=`Semicolon`,e[e.Equal=81]=`Equal`,e[e.Comma=82]=`Comma`,e[e.Minus=83]=`Minus`,e[e.Period=84]=`Period`,e[e.Slash=85]=`Slash`,e[e.Backquote=86]=`Backquote`,e[e.BracketLeft=87]=`BracketLeft`,e[e.Backslash=88]=`Backslash`,e[e.BracketRight=89]=`BracketRight`,e[e.Quote=90]=`Quote`,e[e.OEM_8=91]=`OEM_8`,e[e.IntlBackslash=92]=`IntlBackslash`,e[e.Numpad0=93]=`Numpad0`,e[e.Numpad1=94]=`Numpad1`,e[e.Numpad2=95]=`Numpad2`,e[e.Numpad3=96]=`Numpad3`,e[e.Numpad4=97]=`Numpad4`,e[e.Numpad5=98]=`Numpad5`,e[e.Numpad6=99]=`Numpad6`,e[e.Numpad7=100]=`Numpad7`,e[e.Numpad8=101]=`Numpad8`,e[e.Numpad9=102]=`Numpad9`,e[e.NumpadMultiply=103]=`NumpadMultiply`,e[e.NumpadAdd=104]=`NumpadAdd`,e[e.NUMPAD_SEPARATOR=105]=`NUMPAD_SEPARATOR`,e[e.NumpadSubtract=106]=`NumpadSubtract`,e[e.NumpadDecimal=107]=`NumpadDecimal`,e[e.NumpadDivide=108]=`NumpadDivide`,e[e.KEY_IN_COMPOSITION=109]=`KEY_IN_COMPOSITION`,e[e.ABNT_C1=110]=`ABNT_C1`,e[e.ABNT_C2=111]=`ABNT_C2`,e[e.AudioVolumeMute=112]=`AudioVolumeMute`,e[e.AudioVolumeUp=113]=`AudioVolumeUp`,e[e.AudioVolumeDown=114]=`AudioVolumeDown`,e[e.BrowserSearch=115]=`BrowserSearch`,e[e.BrowserHome=116]=`BrowserHome`,e[e.BrowserBack=117]=`BrowserBack`,e[e.BrowserForward=118]=`BrowserForward`,e[e.MediaTrackNext=119]=`MediaTrackNext`,e[e.MediaTrackPrevious=120]=`MediaTrackPrevious`,e[e.MediaStop=121]=`MediaStop`,e[e.MediaPlayPause=122]=`MediaPlayPause`,e[e.LaunchMediaPlayer=123]=`LaunchMediaPlayer`,e[e.LaunchMail=124]=`LaunchMail`,e[e.LaunchApp2=125]=`LaunchApp2`,e[e.Clear=126]=`Clear`,e[e.MAX_VALUE=127]=`MAX_VALUE`})(tt||={});var nt;(function(e){e[e.Hint=1]=`Hint`,e[e.Info=2]=`Info`,e[e.Warning=4]=`Warning`,e[e.Error=8]=`Error`})(nt||={});var rt;(function(e){e[e.Unnecessary=1]=`Unnecessary`,e[e.Deprecated=2]=`Deprecated`})(rt||={});var it;(function(e){e[e.Inline=1]=`Inline`,e[e.Gutter=2]=`Gutter`})(it||={});var at;(function(e){e[e.UNKNOWN=0]=`UNKNOWN`,e[e.TEXTAREA=1]=`TEXTAREA`,e[e.GUTTER_GLYPH_MARGIN=2]=`GUTTER_GLYPH_MARGIN`,e[e.GUTTER_LINE_NUMBERS=3]=`GUTTER_LINE_NUMBERS`,e[e.GUTTER_LINE_DECORATIONS=4]=`GUTTER_LINE_DECORATIONS`,e[e.GUTTER_VIEW_ZONE=5]=`GUTTER_VIEW_ZONE`,e[e.CONTENT_TEXT=6]=`CONTENT_TEXT`,e[e.CONTENT_EMPTY=7]=`CONTENT_EMPTY`,e[e.CONTENT_VIEW_ZONE=8]=`CONTENT_VIEW_ZONE`,e[e.CONTENT_WIDGET=9]=`CONTENT_WIDGET`,e[e.OVERVIEW_RULER=10]=`OVERVIEW_RULER`,e[e.SCROLLBAR=11]=`SCROLLBAR`,e[e.OVERLAY_WIDGET=12]=`OVERLAY_WIDGET`,e[e.OUTSIDE_EDITOR=13]=`OUTSIDE_EDITOR`})(at||={});var ot;(function(e){e[e.TOP_RIGHT_CORNER=0]=`TOP_RIGHT_CORNER`,e[e.BOTTOM_RIGHT_CORNER=1]=`BOTTOM_RIGHT_CORNER`,e[e.TOP_CENTER=2]=`TOP_CENTER`})(ot||={});var st;(function(e){e[e.Left=1]=`Left`,e[e.Center=2]=`Center`,e[e.Right=4]=`Right`,e[e.Full=7]=`Full`})(st||={});var ct;(function(e){e[e.Left=0]=`Left`,e[e.Right=1]=`Right`,e[e.None=2]=`None`,e[e.LeftOfInjectedText=3]=`LeftOfInjectedText`,e[e.RightOfInjectedText=4]=`RightOfInjectedText`})(ct||={});var lt;(function(e){e[e.Off=0]=`Off`,e[e.On=1]=`On`,e[e.Relative=2]=`Relative`,e[e.Interval=3]=`Interval`,e[e.Custom=4]=`Custom`})(lt||={});var ut;(function(e){e[e.None=0]=`None`,e[e.Text=1]=`Text`,e[e.Blocks=2]=`Blocks`})(ut||={});var dt;(function(e){e[e.Smooth=0]=`Smooth`,e[e.Immediate=1]=`Immediate`})(dt||={});var ft;(function(e){e[e.Auto=1]=`Auto`,e[e.Hidden=2]=`Hidden`,e[e.Visible=3]=`Visible`})(ft||={});var pt;(function(e){e[e.LTR=0]=`LTR`,e[e.RTL=1]=`RTL`})(pt||={});var mt;(function(e){e[e.Invoke=1]=`Invoke`,e[e.TriggerCharacter=2]=`TriggerCharacter`,e[e.ContentChange=3]=`ContentChange`})(mt||={});var ht;(function(e){e[e.File=0]=`File`,e[e.Module=1]=`Module`,e[e.Namespace=2]=`Namespace`,e[e.Package=3]=`Package`,e[e.Class=4]=`Class`,e[e.Method=5]=`Method`,e[e.Property=6]=`Property`,e[e.Field=7]=`Field`,e[e.Constructor=8]=`Constructor`,e[e.Enum=9]=`Enum`,e[e.Interface=10]=`Interface`,e[e.Function=11]=`Function`,e[e.Variable=12]=`Variable`,e[e.Constant=13]=`Constant`,e[e.String=14]=`String`,e[e.Number=15]=`Number`,e[e.Boolean=16]=`Boolean`,e[e.Array=17]=`Array`,e[e.Object=18]=`Object`,e[e.Key=19]=`Key`,e[e.Null=20]=`Null`,e[e.EnumMember=21]=`EnumMember`,e[e.Struct=22]=`Struct`,e[e.Event=23]=`Event`,e[e.Operator=24]=`Operator`,e[e.TypeParameter=25]=`TypeParameter`})(ht||={});var gt;(function(e){e[e.Deprecated=1]=`Deprecated`})(gt||={});var _t;(function(e){e[e.Hidden=0]=`Hidden`,e[e.Blink=1]=`Blink`,e[e.Smooth=2]=`Smooth`,e[e.Phase=3]=`Phase`,e[e.Expand=4]=`Expand`,e[e.Solid=5]=`Solid`})(_t||={});var vt;(function(e){e[e.Line=1]=`Line`,e[e.Block=2]=`Block`,e[e.Underline=3]=`Underline`,e[e.LineThin=4]=`LineThin`,e[e.BlockOutline=5]=`BlockOutline`,e[e.UnderlineThin=6]=`UnderlineThin`})(vt||={});var yt;(function(e){e[e.AlwaysGrowsWhenTypingAtEdges=0]=`AlwaysGrowsWhenTypingAtEdges`,e[e.NeverGrowsWhenTypingAtEdges=1]=`NeverGrowsWhenTypingAtEdges`,e[e.GrowsOnlyWhenTypingBefore=2]=`GrowsOnlyWhenTypingBefore`,e[e.GrowsOnlyWhenTypingAfter=3]=`GrowsOnlyWhenTypingAfter`})(yt||={});var bt;(function(e){e[e.None=0]=`None`,e[e.Same=1]=`Same`,e[e.Indent=2]=`Indent`,e[e.DeepIndent=3]=`DeepIndent`})(bt||={});var xt=class{static chord(e,t){return i.Rl(e,t)}};xt.CtrlCmd=2048,xt.Shift=1024,xt.Alt=512,xt.WinCtrl=256;function St(){return{editor:void 0,languages:void 0,CancellationTokenSource:i.Vl,Emitter:i.Ul,KeyCode:tt,KeyMod:xt,Position:i.kl,Range:i.Ol,Selection:i.Dl,SelectionDirection:pt,MarkerSeverity:nt,MarkerTag:rt,Uri:i.Al,Token:i.bl}}var Ct=class{constructor(e){this.domNode=e,this._maxWidth=``,this._width=``,this._height=``,this._top=``,this._left=``,this._bottom=``,this._right=``,this._fontFamily=``,this._fontWeight=``,this._fontSize=``,this._fontStyle=``,this._fontFeatureSettings=``,this._textDecoration=``,this._lineHeight=``,this._letterSpacing=``,this._className=``,this._display=``,this._position=``,this._visibility=``,this._color=``,this._backgroundColor=``,this._layerHint=!1,this._contain=`none`,this._boxShadow=``}setMaxWidth(e){let t=wt(e);this._maxWidth!==t&&(this._maxWidth=t,this.domNode.style.maxWidth=this._maxWidth)}setWidth(e){let t=wt(e);this._width!==t&&(this._width=t,this.domNode.style.width=this._width)}setHeight(e){let t=wt(e);this._height!==t&&(this._height=t,this.domNode.style.height=this._height)}setTop(e){let t=wt(e);this._top!==t&&(this._top=t,this.domNode.style.top=this._top)}setLeft(e){let t=wt(e);this._left!==t&&(this._left=t,this.domNode.style.left=this._left)}setBottom(e){let t=wt(e);this._bottom!==t&&(this._bottom=t,this.domNode.style.bottom=this._bottom)}setRight(e){let t=wt(e);this._right!==t&&(this._right=t,this.domNode.style.right=this._right)}setFontFamily(e){this._fontFamily!==e&&(this._fontFamily=e,this.domNode.style.fontFamily=this._fontFamily)}setFontWeight(e){this._fontWeight!==e&&(this._fontWeight=e,this.domNode.style.fontWeight=this._fontWeight)}setFontSize(e){let t=wt(e);this._fontSize!==t&&(this._fontSize=t,this.domNode.style.fontSize=this._fontSize)}setFontStyle(e){this._fontStyle!==e&&(this._fontStyle=e,this.domNode.style.fontStyle=this._fontStyle)}setFontFeatureSettings(e){this._fontFeatureSettings!==e&&(this._fontFeatureSettings=e,this.domNode.style.fontFeatureSettings=this._fontFeatureSettings)}setTextDecoration(e){this._textDecoration!==e&&(this._textDecoration=e,this.domNode.style.textDecoration=this._textDecoration)}setLineHeight(e){let t=wt(e);this._lineHeight!==t&&(this._lineHeight=t,this.domNode.style.lineHeight=this._lineHeight)}setLetterSpacing(e){let t=wt(e);this._letterSpacing!==t&&(this._letterSpacing=t,this.domNode.style.letterSpacing=this._letterSpacing)}setClassName(e){this._className!==e&&(this._className=e,this.domNode.className=this._className)}toggleClassName(e,t){this.domNode.classList.toggle(e,t),this._className=this.domNode.className}setDisplay(e){this._display!==e&&(this._display=e,this.domNode.style.display=this._display)}setPosition(e){this._position!==e&&(this._position=e,this.domNode.style.position=this._position)}setVisibility(e){this._visibility!==e&&(this._visibility=e,this.domNode.style.visibility=this._visibility)}setColor(e){this._color!==e&&(this._color=e,this.domNode.style.color=this._color)}setBackgroundColor(e){this._backgroundColor!==e&&(this._backgroundColor=e,this.domNode.style.backgroundColor=this._backgroundColor)}setLayerHinting(e){this._layerHint!==e&&(this._layerHint=e,this.domNode.style.transform=this._layerHint?`translate3d(0px, 0px, 0px)`:``)}setBoxShadow(e){this._boxShadow!==e&&(this._boxShadow=e,this.domNode.style.boxShadow=e)}setContain(e){this._contain!==e&&(this._contain=e,this.domNode.style.contain=this._contain)}setAttribute(e,t){this.domNode.setAttribute(e,t)}removeAttribute(e){this.domNode.removeAttribute(e)}appendChild(e){this.domNode.appendChild(e.domNode)}removeChild(e){this.domNode.removeChild(e.domNode)}};function wt(e){return typeof e==`number`?`${e}px`:e}function k(e){return new Ct(e)}function Tt(e,t){e instanceof Ct?(e.setFontFamily(t.getMassagedFontFamily()),e.setFontWeight(t.fontWeight),e.setFontSize(t.fontSize),e.setFontFeatureSettings(t.fontFeatureSettings),e.setLineHeight(t.lineHeight),e.setLetterSpacing(t.letterSpacing)):(e.style.fontFamily=t.getMassagedFontFamily(),e.style.fontWeight=t.fontWeight,e.style.fontSize=t.fontSize+`px`,e.style.fontFeatureSettings=t.fontFeatureSettings,e.style.lineHeight=t.lineHeight+`px`,e.style.letterSpacing=t.letterSpacing+`px`)}var Et=class{constructor(e,t){this.chr=e,this.type=t,this.width=0}fulfill(e){this.width=e}},Dt=class e{constructor(e,t){this._bareFontInfo=e,this._requests=t,this._container=null,this._testElements=null}read(){this._createDomElements(),document.body.appendChild(this._container),this._readFromDomElements(),document.body.removeChild(this._container),this._container=null,this._testElements=null}_createDomElements(){let t=document.createElement(`div`);t.style.position=`absolute`,t.style.top=`-50000px`,t.style.width=`50000px`;let n=document.createElement(`div`);Tt(n,this._bareFontInfo),t.appendChild(n);let r=document.createElement(`div`);Tt(r,this._bareFontInfo),r.style.fontWeight=`bold`,t.appendChild(r);let i=document.createElement(`div`);Tt(i,this._bareFontInfo),i.style.fontStyle=`italic`,t.appendChild(i);let a=[];for(let t of this._requests){let o;t.type===0&&(o=n),t.type===2&&(o=r),t.type===1&&(o=i),o.appendChild(document.createElement(`br`));let s=document.createElement(`span`);e._render(s,t),o.appendChild(s),a.push(s)}this._container=t,this._testElements=a}static _render(e,t){if(t.chr===` `){let t=`\xA0`;for(let e=0;e<8;e++)t+=t;e.innerText=t}else{let n=t.chr;for(let e=0;e<8;e++)n+=n;e.textContent=n}}_readFromDomElements(){for(let e=0,t=this._requests.length;e<t;e++){let t=this._requests[e],n=this._testElements[e];t.fulfill(n.offsetWidth/256)}}};function Ot(e,t){new Dt(e,t).read()}var kt=new class{constructor(){this._zoomLevel=0,this._onDidChangeZoomLevel=new i.Ul,this.onDidChangeZoomLevel=this._onDidChangeZoomLevel.event}getZoomLevel(){return this._zoomLevel}setZoomLevel(e){e=Math.min(Math.max(-5,e),20),this._zoomLevel!==e&&(this._zoomLevel=e,this._onDidChangeZoomLevel.fire(this._zoomLevel))}},At=i.bd?1.5:1.35,jt=8,Mt=class e{constructor(e){this._bareFontInfoBrand=void 0,this.pixelRatio=e.pixelRatio,this.fontFamily=String(e.fontFamily),this.fontWeight=String(e.fontWeight),this.fontSize=e.fontSize,this.fontFeatureSettings=e.fontFeatureSettings,this.lineHeight=e.lineHeight|0,this.letterSpacing=e.letterSpacing}static createFromValidatedSettings(t,n,r){let i=t.get(44),a=t.get(48),o=t.get(47),s=t.get(46),c=t.get(60),l=t.get(57);return e._create(i,a,o,s,c,l,n,r)}static _create(t,n,r,i,a,o,s,c){a===0?a=At*r:a<jt&&(a*=r),a=Math.round(a),a<jt&&(a=jt);let l=1+(c?0:kt.getZoomLevel()*.1);return r*=l,a*=l,new e({pixelRatio:s,fontFamily:t,fontWeight:n,fontSize:r,fontFeatureSettings:i,lineHeight:a,letterSpacing:o})}getId(){return`${this.pixelRatio}-${this.fontFamily}-${this.fontWeight}-${this.fontSize}-${this.fontFeatureSettings}-${this.lineHeight}-${this.letterSpacing}`}getMassagedFontFamily(){let t=Fe.fontFamily,n=e._wrapInQuotes(this.fontFamily);return t&&this.fontFamily!==t?`${n}, ${t}`:n}static _wrapInQuotes(e){return/[,"']/.test(e)?e:/[+ ]/.test(e)?`"${e}"`:e}},Nt=class extends Mt{constructor(e,t){super(e),this._editorStylingBrand=void 0,this.version=1,this.isTrusted=t,this.isMonospace=e.isMonospace,this.typicalHalfwidthCharacterWidth=e.typicalHalfwidthCharacterWidth,this.typicalFullwidthCharacterWidth=e.typicalFullwidthCharacterWidth,this.canUseHalfwidthRightwardsArrow=e.canUseHalfwidthRightwardsArrow,this.spaceWidth=e.spaceWidth,this.middotWidth=e.middotWidth,this.wsmiddotWidth=e.wsmiddotWidth,this.maxDigitWidth=e.maxDigitWidth}equals(e){return this.fontFamily===e.fontFamily&&this.fontWeight===e.fontWeight&&this.fontSize===e.fontSize&&this.fontFeatureSettings===e.fontFeatureSettings&&this.lineHeight===e.lineHeight&&this.letterSpacing===e.letterSpacing&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.typicalFullwidthCharacterWidth===e.typicalFullwidthCharacterWidth&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.maxDigitWidth===e.maxDigitWidth}},Pt=class extends i.Xl{constructor(){super(),this._onDidChange=this._register(new i.Ul),this.onDidChange=this._onDidChange.event,this._cache=new Ft,this._evictUntrustedReadingsTimeout=-1}dispose(){this._evictUntrustedReadingsTimeout!==-1&&(window.clearTimeout(this._evictUntrustedReadingsTimeout),this._evictUntrustedReadingsTimeout=-1),super.dispose()}clearAllFontInfos(){this._cache=new Ft,this._onDidChange.fire()}_writeToCache(e,t){this._cache.put(e,t),!t.isTrusted&&this._evictUntrustedReadingsTimeout===-1&&(this._evictUntrustedReadingsTimeout=window.setTimeout(()=>{this._evictUntrustedReadingsTimeout=-1,this._evictUntrustedReadings()},5e3))}_evictUntrustedReadings(){let e=this._cache.getValues(),t=!1;for(let n of e)n.isTrusted||(t=!0,this._cache.remove(n));t&&this._onDidChange.fire()}readFontInfo(e){if(!this._cache.has(e)){let t=this._actualReadFontInfo(e);(t.typicalHalfwidthCharacterWidth<=2||t.typicalFullwidthCharacterWidth<=2||t.spaceWidth<=2||t.maxDigitWidth<=2)&&(t=new Nt({pixelRatio:i.hc.value,fontFamily:t.fontFamily,fontWeight:t.fontWeight,fontSize:t.fontSize,fontFeatureSettings:t.fontFeatureSettings,lineHeight:t.lineHeight,letterSpacing:t.letterSpacing,isMonospace:t.isMonospace,typicalHalfwidthCharacterWidth:Math.max(t.typicalHalfwidthCharacterWidth,5),typicalFullwidthCharacterWidth:Math.max(t.typicalFullwidthCharacterWidth,5),canUseHalfwidthRightwardsArrow:t.canUseHalfwidthRightwardsArrow,spaceWidth:Math.max(t.spaceWidth,5),middotWidth:Math.max(t.middotWidth,5),wsmiddotWidth:Math.max(t.wsmiddotWidth,5),maxDigitWidth:Math.max(t.maxDigitWidth,5)},!1)),this._writeToCache(e,t)}return this._cache.get(e)}_createRequest(e,t,n,r){let i=new Et(e,t);return n.push(i),r?.push(i),i}_actualReadFontInfo(e){let t=[],n=[],r=this._createRequest(`n`,0,t,n),a=this._createRequest(`m`,0,t,null),o=this._createRequest(` `,0,t,n),s=this._createRequest(`0`,0,t,n),c=this._createRequest(`1`,0,t,n),l=this._createRequest(`2`,0,t,n),u=this._createRequest(`3`,0,t,n),d=this._createRequest(`4`,0,t,n),f=this._createRequest(`5`,0,t,n),p=this._createRequest(`6`,0,t,n),m=this._createRequest(`7`,0,t,n),h=this._createRequest(`8`,0,t,n),g=this._createRequest(`9`,0,t,n),_=this._createRequest(`→`,0,t,n),v=this._createRequest(`→`,0,t,null),y=this._createRequest(`·`,0,t,n),b=this._createRequest(`⸱`,0,t,null),x=`|/-_ilm%`;for(let e=0;e<8;e++)this._createRequest(x.charAt(e),0,t,n),this._createRequest(x.charAt(e),1,t,n),this._createRequest(x.charAt(e),2,t,n);Ot(e,t);let S=Math.max(s.width,c.width,l.width,u.width,d.width,f.width,p.width,m.width,h.width,g.width),C=e.fontFeatureSettings===ne.OFF,w=n[0].width;for(let e=1,t=n.length;C&&e<t;e++){let t=w-n[e].width;if(t<-.001||t>.001){C=!1;break}}let T=!0;return C&&v.width!==w&&(T=!1),v.width>_.width&&(T=!1),new Nt({pixelRatio:i.hc.value,fontFamily:e.fontFamily,fontWeight:e.fontWeight,fontSize:e.fontSize,fontFeatureSettings:e.fontFeatureSettings,lineHeight:e.lineHeight,letterSpacing:e.letterSpacing,isMonospace:C,typicalHalfwidthCharacterWidth:r.width,typicalFullwidthCharacterWidth:a.width,canUseHalfwidthRightwardsArrow:T,spaceWidth:o.width,middotWidth:y.width,wsmiddotWidth:b.width,maxDigitWidth:S},!0)}},Ft=class{constructor(){this._keys=Object.create(null),this._values=Object.create(null)}has(e){let t=e.getId();return!!this._values[t]}get(e){let t=e.getId();return this._values[t]}put(e,t){let n=e.getId();this._keys[n]=e,this._values[n]=t}remove(e){let t=e.getId();delete this._keys[t],delete this._values[t]}getValues(){return Object.keys(this._keys).map(e=>this._values[e])}},It=new Pt,Lt={followsCaret:!0,ignoreCharChanges:!0,alwaysRevealFirst:!0},Rt=class extends i.Xl{constructor(e,t={}){super(),this._onDidUpdate=this._register(new i.Ul),this._editor=e,this._options=i.bu(t,Lt,!1),this.disposed=!1,this.nextIdx=-1,this.ranges=[],this.ignoreSelectionChange=!1,this.revealFirst=!!this._options.alwaysRevealFirst,this._register(this._editor.onDidDispose(()=>this.dispose())),this._register(this._editor.onDidUpdateDiff(()=>this._onDiffUpdated())),this._options.followsCaret&&this._register(this._editor.getModifiedEditor().onDidChangeCursorPosition(e=>{this.ignoreSelectionChange||(this.nextIdx=-1)})),this._options.alwaysRevealFirst&&this._register(this._editor.getModifiedEditor().onDidChangeModel(e=>{this.revealFirst=!0})),this._init()}_init(){this._editor.getLineChanges()}_onDiffUpdated(){this._init(),this._compute(this._editor.getLineChanges()),this.revealFirst&&this._editor.getLineChanges()!==null&&(this.revealFirst=!1,this.nextIdx=-1,this.next(1))}_compute(e){this.ranges=[],e&&e.forEach(e=>{!this._options.ignoreCharChanges&&e.charChanges?e.charChanges.forEach(e=>{this.ranges.push({rhs:!0,range:new i.Ol(e.modifiedStartLineNumber,e.modifiedStartColumn,e.modifiedEndLineNumber,e.modifiedEndColumn)})}):e.modifiedEndLineNumber===0?this.ranges.push({rhs:!0,range:new i.Ol(e.modifiedStartLineNumber,1,e.modifiedStartLineNumber+1,1)}):this.ranges.push({rhs:!0,range:new i.Ol(e.modifiedStartLineNumber,1,e.modifiedEndLineNumber+1,1)})}),this.ranges.sort((e,t)=>i.Ol.compareRangesUsingStarts(e.range,t.range)),this._onDidUpdate.fire(this)}_initIdx(e){let t=!1,n=this._editor.getPosition();if(!n){this.nextIdx=0;return}for(let r=0,i=this.ranges.length;r<i&&!t;r++){let i=this.ranges[r].range;n.isBeforeOrEqual(i.getStartPosition())&&(this.nextIdx=r+(e?0:-1),t=!0)}t||(this.nextIdx=e?0:this.ranges.length-1),this.nextIdx<0&&(this.nextIdx=this.ranges.length-1)}_move(e,t){if(i.uc(!this.disposed,`Illegal State - diff navigator has been disposed`),!this.canNavigate())return;this.nextIdx===-1?this._initIdx(e):e?(this.nextIdx+=1,this.nextIdx>=this.ranges.length&&(this.nextIdx=0)):(--this.nextIdx,this.nextIdx<0&&(this.nextIdx=this.ranges.length-1));let n=this.ranges[this.nextIdx];this.ignoreSelectionChange=!0;try{let e=n.range.getStartPosition();this._editor.setPosition(e),this._editor.revealRangeInCenter(n.range,t)}finally{this.ignoreSelectionChange=!1}}canNavigate(){return this.ranges&&this.ranges.length>0}next(e=0){this._move(!0,e)}previous(e=0){this._move(!1,e)}dispose(){super.dispose(),this.ranges=[],this.disposed=!0}},zt={ICodeEditor:`vs.editor.ICodeEditor`,IDiffEditor:`vs.editor.IDiffEditor`},Bt=`$initialize`,Vt=!1;function Ht(e){i.Sd&&(Vt||=!0,e.message)}var Ut=class{constructor(e,t,n,r){this.vsWorker=e,this.req=t,this.method=n,this.args=r,this.type=0}},Wt=class{constructor(e,t,n,r){this.vsWorker=e,this.seq=t,this.res=n,this.err=r,this.type=1}},Gt=class{constructor(e,t,n,r){this.vsWorker=e,this.req=t,this.eventName=n,this.arg=r,this.type=2}},Kt=class{constructor(e,t,n){this.vsWorker=e,this.req=t,this.event=n,this.type=3}},qt=class{constructor(e,t){this.vsWorker=e,this.req=t,this.type=4}},Jt=class{constructor(e){this._workerId=-1,this._handler=e,this._lastSentReq=0,this._pendingReplies=Object.create(null),this._pendingEmitters=new Map,this._pendingEvents=new Map}setWorkerId(e){this._workerId=e}sendMessage(e,t){let n=String(++this._lastSentReq);return new Promise((r,i)=>{this._pendingReplies[n]={resolve:r,reject:i},this._send(new Ut(this._workerId,n,e,t))})}listen(e,t){let n=null,r=new i.Ul({onFirstListenerAdd:()=>{n=String(++this._lastSentReq),this._pendingEmitters.set(n,r),this._send(new Gt(this._workerId,n,e,t))},onLastListenerRemove:()=>{this._pendingEmitters.delete(n),this._send(new qt(this._workerId,n)),n=null}});return r.event}handleMessage(e){!e||!e.vsWorker||this._workerId!==-1&&e.vsWorker!==this._workerId||this._handleMessage(e)}_handleMessage(e){switch(e.type){case 1:return this._handleReplyMessage(e);case 0:return this._handleRequestMessage(e);case 2:return this._handleSubscribeEventMessage(e);case 3:return this._handleEventMessage(e);case 4:return this._handleUnsubscribeEventMessage(e)}}_handleReplyMessage(e){if(!this._pendingReplies[e.seq])return;let t=this._pendingReplies[e.seq];if(delete this._pendingReplies[e.seq],e.err){let n=e.err;e.err.$isError&&(n=Error(),n.name=e.err.name,n.message=e.err.message,n.stack=e.err.stack),t.reject(n);return}t.resolve(e.res)}_handleRequestMessage(e){let t=e.req;this._handler.handleMessage(e.method,e.args).then(e=>{this._send(new Wt(this._workerId,t,e,void 0))},e=>{e.detail instanceof Error&&(e.detail=i.mu(e.detail)),this._send(new Wt(this._workerId,t,void 0,i.mu(e)))})}_handleSubscribeEventMessage(e){let t=e.req,n=this._handler.handleEvent(e.eventName,e.arg)(e=>{this._send(new Kt(this._workerId,t,e))});this._pendingEvents.set(t,n)}_handleEventMessage(e){this._pendingEmitters.has(e.req)&&this._pendingEmitters.get(e.req).fire(e.event)}_handleUnsubscribeEventMessage(e){this._pendingEvents.has(e.req)&&(this._pendingEvents.get(e.req).dispose(),this._pendingEvents.delete(e.req))}_send(e){let t=[];if(e.type===0)for(let n=0;n<e.args.length;n++)e.args[n]instanceof ArrayBuffer&&t.push(e.args[n]);else e.type===1&&e.res instanceof ArrayBuffer&&t.push(e.res);this._handler.sendMessage(e,t)}},Yt=class extends i.Xl{constructor(e,t,n){super();let r=null;this._worker=this._register(e.create(`vs/base/common/worker/simpleWorker`,e=>{this._protocol.handleMessage(e)},e=>{r?.(e)})),this._protocol=new Jt({sendMessage:(e,t)=>{this._worker.postMessage(e,t)},handleMessage:(e,t)=>{if(typeof n[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` on main thread host.`));try{return Promise.resolve(n[e].apply(n,t))}catch(e){return Promise.reject(e)}},handleEvent:(e,t)=>{if(Zt(e)){let r=n[e].call(n,t);if(typeof r!=`function`)throw Error(`Missing dynamic event ${e} on main thread host.`);return r}if(Xt(e)){let t=n[e];if(typeof t!=`function`)throw Error(`Missing event ${e} on main thread host.`);return t}throw Error(`Malformed event name ${e}`)}}),this._protocol.setWorkerId(this._worker.getId());let a=null;i.gd.require!==void 0&&typeof i.gd.require.getConfig==`function`?a=i.gd.require.getConfig():i.gd.requirejs!==void 0&&(a=i.gd.requirejs.s.contexts._.config);let o=i.Tu(n);this._onModuleLoaded=this._protocol.sendMessage(Bt,[this._worker.getId(),JSON.parse(JSON.stringify(a)),t,o]);let s=(e,t)=>this._request(e,t),c=(e,t)=>this._protocol.listen(e,t);this._lazyProxy=new Promise((e,n)=>{r=n,this._onModuleLoaded.then(t=>{e(Qt(t,s,c))},e=>{n(e),this._onError(`Worker failed to load `+t,e)})})}getProxyObject(){return this._lazyProxy}_request(e,t){return new Promise((n,r)=>{this._onModuleLoaded.then(()=>{this._protocol.sendMessage(e,t).then(n,r)},r)})}_onError(e,t){console.error(e)}};function Xt(e){return e[0]===`o`&&e[1]===`n`&&i.Xc(e.charCodeAt(2))}function Zt(e){return/^onDynamic/.test(e)&&i.Xc(e.charCodeAt(9))}function Qt(e,t,n){let r=e=>function(){return t(e,Array.prototype.slice.call(arguments,0))},i=e=>function(t){return n(e,t)},a={};for(let t of e){if(Zt(t)){a[t]=i(t);continue}if(Xt(t)){a[t]=n(t,void 0);continue}a[t]=r(t)}return a}var $t=window.trustedTypes?.createPolicy(`defaultWorkerFactory`,{createScriptURL:e=>e});function en(e){if(i.gd.emailmakerMonacoEnvironment){if(typeof i.gd.emailmakerMonacoEnvironment.getWorker==`function`)return i.gd.emailmakerMonacoEnvironment.getWorker(`workerMain.js`,e);if(typeof i.gd.emailmakerMonacoEnvironment.getWorkerUrl==`function`){let t=i.gd.emailmakerMonacoEnvironment.getWorkerUrl(`workerMain.js`,e);return new Worker($t?$t.createScriptURL(t):t,{name:e})}}throw Error(`You must define a function emailmakerMonacoEnvironment.getWorkerUrl or emailmakerMonacoEnvironment.getWorker`)}function tn(e){return typeof e.then==`function`}var nn=class{constructor(e,t,n,r,i){this.id=t;let a=en(n);tn(a)?this.worker=a:this.worker=Promise.resolve(a),this.postMessage(e,[]),this.worker.then(e=>{e.onmessage=function(e){r(e.data)},e.onmessageerror=i,typeof e.addEventListener==`function`&&e.addEventListener(`error`,i)})}getId(){return this.id}postMessage(e,t){var n;(n=this.worker)==null||n.then(n=>n.postMessage(e,t))}dispose(){var e;(e=this.worker)==null||e.then(e=>e.terminate()),this.worker=null}},rn=class e{constructor(e){this._label=e,this._webWorkerFailedBeforeError=!1}create(t,n,r){let i=++e.LAST_WORKER_ID;if(this._webWorkerFailedBeforeError)throw this._webWorkerFailedBeforeError;return new nn(t,i,this._label||`anonymous`+i,n,e=>{Ht(e),this._webWorkerFailedBeforeError=e,r(e)})}};rn.LAST_WORKER_ID=0;var an=class{constructor(e,t,n,r){this.originalStart=e,this.originalLength=t,this.modifiedStart=n,this.modifiedLength=r}getOriginalEnd(){return this.originalStart+this.originalLength}getModifiedEnd(){return this.modifiedStart+this.modifiedLength}},on=class{constructor(e){this.source=e}getElements(){let e=this.source,t=new Int32Array(e.length);for(let n=0,r=e.length;n<r;n++)t[n]=e.charCodeAt(n);return t}};function sn(e,t,n){return new dn(new on(e),new on(t)).ComputeDiff(n).changes}var cn=class{static Assert(e,t){if(!e)throw Error(t)}},ln=class{static Copy(e,t,n,r,i){for(let a=0;a<i;a++)n[r+a]=e[t+a]}static Copy2(e,t,n,r,i){for(let a=0;a<i;a++)n[r+a]=e[t+a]}},un=class{constructor(){this.m_changes=[],this.m_originalStart=1073741824,this.m_modifiedStart=1073741824,this.m_originalCount=0,this.m_modifiedCount=0}MarkNextChange(){(this.m_originalCount>0||this.m_modifiedCount>0)&&this.m_changes.push(new an(this.m_originalStart,this.m_originalCount,this.m_modifiedStart,this.m_modifiedCount)),this.m_originalCount=0,this.m_modifiedCount=0,this.m_originalStart=1073741824,this.m_modifiedStart=1073741824}AddOriginalElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_originalCount++}AddModifiedElement(e,t){this.m_originalStart=Math.min(this.m_originalStart,e),this.m_modifiedStart=Math.min(this.m_modifiedStart,t),this.m_modifiedCount++}getChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes}getReverseChanges(){return(this.m_originalCount>0||this.m_modifiedCount>0)&&this.MarkNextChange(),this.m_changes.reverse(),this.m_changes}},dn=class e{constructor(t,n,r=null){this.ContinueProcessingPredicate=r,this._originalSequence=t,this._modifiedSequence=n;let[i,a,o]=e._getElements(t),[s,c,l]=e._getElements(n);this._hasStrings=o&&l,this._originalStringElements=i,this._originalElementsOrHash=a,this._modifiedStringElements=s,this._modifiedElementsOrHash=c,this.m_forwardHistory=[],this.m_reverseHistory=[]}static _isStringArray(e){return e.length>0&&typeof e[0]==`string`}static _getElements(t){let n=t.getElements();if(e._isStringArray(n)){let e=new Int32Array(n.length);for(let t=0,r=n.length;t<r;t++)e[t]=i.ds(n[t],0);return[n,e,!0]}return n instanceof Int32Array?[[],n,!1]:[[],new Int32Array(n),!1]}ElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._modifiedElementsOrHash[t]?this._hasStrings?this._originalStringElements[e]===this._modifiedStringElements[t]:!0:!1}ElementsAreStrictEqual(t,n){return this.ElementsAreEqual(t,n)?e._getStrictElement(this._originalSequence,t)===e._getStrictElement(this._modifiedSequence,n):!1}static _getStrictElement(e,t){return typeof e.getStrictElement==`function`?e.getStrictElement(t):null}OriginalElementsAreEqual(e,t){return this._originalElementsOrHash[e]===this._originalElementsOrHash[t]?this._hasStrings?this._originalStringElements[e]===this._originalStringElements[t]:!0:!1}ModifiedElementsAreEqual(e,t){return this._modifiedElementsOrHash[e]===this._modifiedElementsOrHash[t]?this._hasStrings?this._modifiedStringElements[e]===this._modifiedStringElements[t]:!0:!1}ComputeDiff(e){return this._ComputeDiff(0,this._originalElementsOrHash.length-1,0,this._modifiedElementsOrHash.length-1,e)}_ComputeDiff(e,t,n,r,i){let a=[!1],o=this.ComputeDiffRecursive(e,t,n,r,a);return i&&(o=this.PrettifyChanges(o)),{quitEarly:a[0],changes:o}}ComputeDiffRecursive(e,t,n,r,i){for(i[0]=!1;e<=t&&n<=r&&this.ElementsAreEqual(e,n);)e++,n++;for(;t>=e&&r>=n&&this.ElementsAreEqual(t,r);)t--,r--;if(e>t||n>r){let i;return n<=r?(cn.Assert(e===t+1,`originalStart should only be one more than originalEnd`),i=[new an(e,0,n,r-n+1)]):e<=t?(cn.Assert(n===r+1,`modifiedStart should only be one more than modifiedEnd`),i=[new an(e,t-e+1,n,0)]):(cn.Assert(e===t+1,`originalStart should only be one more than originalEnd`),cn.Assert(n===r+1,`modifiedStart should only be one more than modifiedEnd`),i=[]),i}let a=[0],o=[0],s=this.ComputeRecursionPoint(e,t,n,r,a,o,i),c=a[0],l=o[0];if(s!==null)return s;if(!i[0]){let a=this.ComputeDiffRecursive(e,c,n,l,i),o=[];return o=i[0]?[new an(c+1,t-(c+1)+1,l+1,r-(l+1)+1)]:this.ComputeDiffRecursive(c+1,t,l+1,r,i),this.ConcatenateChanges(a,o)}return[new an(e,t-e+1,n,r-n+1)]}WALKTRACE(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_){let v=null,y=null,b=new un,x=t,S=n,C=f[0]-h[0]-r,w=-1073741824,T=this.m_forwardHistory.length-1;do{let t=C+e;t===x||t<S&&c[t-1]<c[t+1]?(u=c[t+1],p=u-C-r,u<w&&b.MarkNextChange(),w=u,b.AddModifiedElement(u+1,p),C=t+1-e):(u=c[t-1]+1,p=u-C-r,u<w&&b.MarkNextChange(),w=u-1,b.AddOriginalElement(u,p+1),C=t-1-e),T>=0&&(c=this.m_forwardHistory[T],e=c[0],x=1,S=c.length-1)}while(--T>=-1);if(v=b.getReverseChanges(),_[0]){let e=f[0]+1,t=h[0]+1;if(v!==null&&v.length>0){let n=v[v.length-1];e=Math.max(e,n.getOriginalEnd()),t=Math.max(t,n.getModifiedEnd())}y=[new an(e,d-e+1,t,m-t+1)]}else{b=new un,x=a,S=o,C=f[0]-h[0]-s,w=1073741824,T=g?this.m_reverseHistory.length-1:this.m_reverseHistory.length-2;do{let e=C+i;e===x||e<S&&l[e-1]>=l[e+1]?(u=l[e+1]-1,p=u-C-s,u>w&&b.MarkNextChange(),w=u+1,b.AddOriginalElement(u+1,p+1),C=e+1-i):(u=l[e-1],p=u-C-s,u>w&&b.MarkNextChange(),w=u,b.AddModifiedElement(u+1,p+1),C=e-1-i),T>=0&&(l=this.m_reverseHistory[T],i=l[0],x=1,S=l.length-1)}while(--T>=-1);y=b.getChanges()}return this.ConcatenateChanges(v,y)}ComputeRecursionPoint(e,t,n,r,i,a,o){let s=0,c=0,l=0,u=0,d=0,f=0;e--,n--,i[0]=0,a[0]=0,this.m_forwardHistory=[],this.m_reverseHistory=[];let p=t-e+(r-n),m=p+1,h=new Int32Array(m),g=new Int32Array(m),_=r-n,v=t-e,y=e-n,b=t-r,x=(v-_)%2==0;h[_]=e,g[v]=t,o[0]=!1;for(let S=1;S<=p/2+1;S++){let p=0,C=0;l=this.ClipDiagonalBound(_-S,S,_,m),u=this.ClipDiagonalBound(_+S,S,_,m);for(let e=l;e<=u;e+=2){s=e===l||e<u&&h[e-1]<h[e+1]?h[e+1]:h[e-1]+1,c=s-(e-_)-y;let n=s;for(;s<t&&c<r&&this.ElementsAreEqual(s+1,c+1);)s++,c++;if(h[e]=s,s+c>p+C&&(p=s,C=c),!x&&Math.abs(e-v)<=S-1&&s>=g[e])return i[0]=s,a[0]=c,n<=g[e]&&S<=1448?this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o):null}let w=(p-e+(C-n)-S)/2;if(this.ContinueProcessingPredicate!==null&&!this.ContinueProcessingPredicate(p,w))return o[0]=!0,i[0]=p,a[0]=C,w>0&&S<=1448?this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o):(e++,n++,[new an(e,t-e+1,n,r-n+1)]);d=this.ClipDiagonalBound(v-S,S,v,m),f=this.ClipDiagonalBound(v+S,S,v,m);for(let p=d;p<=f;p+=2){s=p===d||p<f&&g[p-1]>=g[p+1]?g[p+1]-1:g[p-1],c=s-(p-v)-b;let m=s;for(;s>e&&c>n&&this.ElementsAreEqual(s,c);)s--,c--;if(g[p]=s,x&&Math.abs(p-_)<=S&&s<=h[p])return i[0]=s,a[0]=c,m>=h[p]&&S<=1448?this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o):null}if(S<=1447){let e=new Int32Array(u-l+2);e[0]=_-l+1,ln.Copy2(h,l,e,1,u-l+1),this.m_forwardHistory.push(e),e=new Int32Array(f-d+2),e[0]=v-d+1,ln.Copy2(g,d,e,1,f-d+1),this.m_reverseHistory.push(e)}}return this.WALKTRACE(_,l,u,y,v,d,f,b,h,g,s,t,i,c,r,a,x,o)}PrettifyChanges(e){for(let t=0;t<e.length;t++){let n=e[t],r=t<e.length-1?e[t+1].originalStart:this._originalElementsOrHash.length,i=t<e.length-1?e[t+1].modifiedStart:this._modifiedElementsOrHash.length,a=n.originalLength>0,o=n.modifiedLength>0;for(;n.originalStart+n.originalLength<r&&n.modifiedStart+n.modifiedLength<i&&(!a||this.OriginalElementsAreEqual(n.originalStart,n.originalStart+n.originalLength))&&(!o||this.ModifiedElementsAreEqual(n.modifiedStart,n.modifiedStart+n.modifiedLength));){let e=this.ElementsAreStrictEqual(n.originalStart,n.modifiedStart);if(this.ElementsAreStrictEqual(n.originalStart+n.originalLength,n.modifiedStart+n.modifiedLength)&&!e)break;n.originalStart++,n.modifiedStart++}let s=[null];if(t<e.length-1&&this.ChangesOverlap(e[t],e[t+1],s)){e[t]=s[0],e.splice(t+1,1),t--;continue}}for(let t=e.length-1;t>=0;t--){let n=e[t],r=0,i=0;if(t>0){let n=e[t-1];r=n.originalStart+n.originalLength,i=n.modifiedStart+n.modifiedLength}let a=n.originalLength>0,o=n.modifiedLength>0,s=0,c=this._boundaryScore(n.originalStart,n.originalLength,n.modifiedStart,n.modifiedLength);for(let e=1;;e++){let t=n.originalStart-e,l=n.modifiedStart-e;if(t<r||l<i||a&&!this.OriginalElementsAreEqual(t,t+n.originalLength)||o&&!this.ModifiedElementsAreEqual(l,l+n.modifiedLength))break;let u=(t===r&&l===i?5:0)+this._boundaryScore(t,n.originalLength,l,n.modifiedLength);u>c&&(c=u,s=e)}n.originalStart-=s,n.modifiedStart-=s;let l=[null];if(t>0&&this.ChangesOverlap(e[t-1],e[t],l)){e[t-1]=l[0],e.splice(t,1),t++;continue}}if(this._hasStrings)for(let t=1,n=e.length;t<n;t++){let n=e[t-1],r=e[t],i=r.originalStart-n.originalStart-n.originalLength,a=n.originalStart,o=r.originalStart+r.originalLength,s=o-a,c=n.modifiedStart,l=r.modifiedStart+r.modifiedLength,u=l-c;if(i<5&&s<20&&u<20){let e=this._findBetterContiguousSequence(a,s,c,u,i);if(e){let[t,a]=e;(t!==n.originalStart+n.originalLength||a!==n.modifiedStart+n.modifiedLength)&&(n.originalLength=t-n.originalStart,n.modifiedLength=a-n.modifiedStart,r.originalStart=t+i,r.modifiedStart=a+i,r.originalLength=o-r.originalStart,r.modifiedLength=l-r.modifiedStart)}}}return e}_findBetterContiguousSequence(e,t,n,r,i){if(t<i||r<i)return null;let a=e+t-i+1,o=n+r-i+1,s=0,c=0,l=0;for(let t=e;t<a;t++)for(let e=n;e<o;e++){let n=this._contiguousSequenceScore(t,e,i);n>0&&n>s&&(s=n,c=t,l=e)}return s>0?[c,l]:null}_contiguousSequenceScore(e,t,n){let r=0;for(let i=0;i<n;i++){if(!this.ElementsAreEqual(e+i,t+i))return 0;r+=this._originalStringElements[e+i].length}return r}_OriginalIsBoundary(e){return e<=0||e>=this._originalElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._originalStringElements[e])}_OriginalRegionIsBoundary(e,t){if(this._OriginalIsBoundary(e)||this._OriginalIsBoundary(e-1))return!0;if(t>0){let n=e+t;if(this._OriginalIsBoundary(n-1)||this._OriginalIsBoundary(n))return!0}return!1}_ModifiedIsBoundary(e){return e<=0||e>=this._modifiedElementsOrHash.length-1?!0:this._hasStrings&&/^\s*$/.test(this._modifiedStringElements[e])}_ModifiedRegionIsBoundary(e,t){if(this._ModifiedIsBoundary(e)||this._ModifiedIsBoundary(e-1))return!0;if(t>0){let n=e+t;if(this._ModifiedIsBoundary(n-1)||this._ModifiedIsBoundary(n))return!0}return!1}_boundaryScore(e,t,n,r){return(this._OriginalRegionIsBoundary(e,t)?1:0)+(this._ModifiedRegionIsBoundary(n,r)?1:0)}ConcatenateChanges(e,t){let n=[];if(e.length===0||t.length===0)return t.length>0?t:e;if(this.ChangesOverlap(e[e.length-1],t[0],n)){let r=Array(e.length+t.length-1);return ln.Copy(e,0,r,0,e.length-1),r[e.length-1]=n[0],ln.Copy(t,1,r,e.length,t.length-1),r}else{let n=Array(e.length+t.length);return ln.Copy(e,0,n,0,e.length),ln.Copy(t,0,n,e.length,t.length),n}}ChangesOverlap(e,t,n){if(cn.Assert(e.originalStart<=t.originalStart,`Left change is not less than or equal to right change`),cn.Assert(e.modifiedStart<=t.modifiedStart,`Left change is not less than or equal to right change`),e.originalStart+e.originalLength>=t.originalStart||e.modifiedStart+e.modifiedLength>=t.modifiedStart){let r=e.originalStart,i=e.originalLength,a=e.modifiedStart,o=e.modifiedLength;return e.originalStart+e.originalLength>=t.originalStart&&(i=t.originalStart+t.originalLength-e.originalStart),e.modifiedStart+e.modifiedLength>=t.modifiedStart&&(o=t.modifiedStart+t.modifiedLength-e.modifiedStart),n[0]=new an(r,i,a,o),!0}else return n[0]=null,!1}ClipDiagonalBound(e,t,n,r){if(e>=0&&e<r)return e;let i=n,a=r-n-1,o=t%2==0;return e<0?o===(i%2==0)?0:1:o===(a%2==0)?r-1:r-2}},fn=3;function pn(e,t,n,r){return new dn(e,t,n).ComputeDiff(r)}var mn=class{constructor(e){let t=[],n=[];for(let r=0,i=e.length;r<i;r++)t[r]=bn(e[r],1),n[r]=xn(e[r],1);this.lines=e,this._startColumns=t,this._endColumns=n}getElements(){let e=[];for(let t=0,n=this.lines.length;t<n;t++)e[t]=this.lines[t].substring(this._startColumns[t]-1,this._endColumns[t]-1);return e}getStrictElement(e){return this.lines[e]}getStartLineNumber(e){return e+1}getEndLineNumber(e){return e+1}createCharSequence(e,t,n){let r=[],i=[],a=[],o=0;for(let s=t;s<=n;s++){let t=this.lines[s],c=e?this._startColumns[s]:1,l=e?this._endColumns[s]:t.length+1;for(let e=c;e<l;e++)r[o]=t.charCodeAt(e-1),i[o]=s+1,a[o]=e,o++;!e&&s<n&&(r[o]=10,i[o]=s+1,a[o]=t.length+1,o++)}return new hn(r,i,a)}},hn=class{constructor(e,t,n){this._charCodes=e,this._lineNumbers=t,this._columns=n}toString(){return`[`+this._charCodes.map((e,t)=>(e===10?`\\n`:String.fromCharCode(e))+`-(${this._lineNumbers[t]},${this._columns[t]})`).join(`, `)+`]`}_assertIndex(e,t){if(e<0||e>=t.length)throw Error(`Illegal index`)}getElements(){return this._charCodes}getStartLineNumber(e){return e>0&&e===this._lineNumbers.length?this.getEndLineNumber(e-1):(this._assertIndex(e,this._lineNumbers),this._lineNumbers[e])}getEndLineNumber(e){return e===-1?this.getStartLineNumber(e+1):(this._assertIndex(e,this._lineNumbers),this._charCodes[e]===10?this._lineNumbers[e]+1:this._lineNumbers[e])}getStartColumn(e){return e>0&&e===this._columns.length?this.getEndColumn(e-1):(this._assertIndex(e,this._columns),this._columns[e])}getEndColumn(e){return e===-1?this.getStartColumn(e+1):(this._assertIndex(e,this._columns),this._charCodes[e]===10?1:this._columns[e]+1)}},gn=class e{constructor(e,t,n,r,i,a,o,s){this.originalStartLineNumber=e,this.originalStartColumn=t,this.originalEndLineNumber=n,this.originalEndColumn=r,this.modifiedStartLineNumber=i,this.modifiedStartColumn=a,this.modifiedEndLineNumber=o,this.modifiedEndColumn=s}static createFromDiffChange(t,n,r){return new e(n.getStartLineNumber(t.originalStart),n.getStartColumn(t.originalStart),n.getEndLineNumber(t.originalStart+t.originalLength-1),n.getEndColumn(t.originalStart+t.originalLength-1),r.getStartLineNumber(t.modifiedStart),r.getStartColumn(t.modifiedStart),r.getEndLineNumber(t.modifiedStart+t.modifiedLength-1),r.getEndColumn(t.modifiedStart+t.modifiedLength-1))}};function _n(e){if(e.length<=1)return e;let t=[e[0]],n=t[0];for(let r=1,i=e.length;r<i;r++){let i=e[r],a=i.originalStart-(n.originalStart+n.originalLength),o=i.modifiedStart-(n.modifiedStart+n.modifiedLength);Math.min(a,o)<fn?(n.originalLength=i.originalStart+i.originalLength-n.originalStart,n.modifiedLength=i.modifiedStart+i.modifiedLength-n.modifiedStart):(t.push(i),n=i)}return t}var vn=class e{constructor(e,t,n,r,i){this.originalStartLineNumber=e,this.originalEndLineNumber=t,this.modifiedStartLineNumber=n,this.modifiedEndLineNumber=r,this.charChanges=i}static createFromDiffResult(t,n,r,i,a,o,s){let c,l,u,d,f;if(n.originalLength===0?(c=r.getStartLineNumber(n.originalStart)-1,l=0):(c=r.getStartLineNumber(n.originalStart),l=r.getEndLineNumber(n.originalStart+n.originalLength-1)),n.modifiedLength===0?(u=i.getStartLineNumber(n.modifiedStart)-1,d=0):(u=i.getStartLineNumber(n.modifiedStart),d=i.getEndLineNumber(n.modifiedStart+n.modifiedLength-1)),o&&n.originalLength>0&&n.originalLength<20&&n.modifiedLength>0&&n.modifiedLength<20&&a()){let e=r.createCharSequence(t,n.originalStart,n.originalStart+n.originalLength-1),o=i.createCharSequence(t,n.modifiedStart,n.modifiedStart+n.modifiedLength-1);if(e.getElements().length>0&&o.getElements().length>0){let t=pn(e,o,a,!0).changes;s&&(t=_n(t)),f=[];for(let n=0,r=t.length;n<r;n++)f.push(gn.createFromDiffChange(t[n],e,o))}}return new e(c,l,u,d,f)}},yn=class{constructor(e,t,n){this.shouldComputeCharChanges=n.shouldComputeCharChanges,this.shouldPostProcessCharChanges=n.shouldPostProcessCharChanges,this.shouldIgnoreTrimWhitespace=n.shouldIgnoreTrimWhitespace,this.shouldMakePrettyDiff=n.shouldMakePrettyDiff,this.originalLines=e,this.modifiedLines=t,this.original=new mn(e),this.modified=new mn(t),this.continueLineDiff=Sn(n.maxComputationTime),this.continueCharDiff=Sn(n.maxComputationTime===0?0:Math.min(n.maxComputationTime,5e3))}computeDiff(){if(this.original.lines.length===1&&this.original.lines[0].length===0)return this.modified.lines.length===1&&this.modified.lines[0].length===0?{quitEarly:!1,changes:[]}:{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:1,modifiedStartLineNumber:1,modifiedEndLineNumber:this.modified.lines.length,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};if(this.modified.lines.length===1&&this.modified.lines[0].length===0)return{quitEarly:!1,changes:[{originalStartLineNumber:1,originalEndLineNumber:this.original.lines.length,modifiedStartLineNumber:1,modifiedEndLineNumber:1,charChanges:[{modifiedEndColumn:0,modifiedEndLineNumber:0,modifiedStartColumn:0,modifiedStartLineNumber:0,originalEndColumn:0,originalEndLineNumber:0,originalStartColumn:0,originalStartLineNumber:0}]}]};let e=pn(this.original,this.modified,this.continueLineDiff,this.shouldMakePrettyDiff),t=e.changes,n=e.quitEarly;if(this.shouldIgnoreTrimWhitespace){let e=[];for(let n=0,r=t.length;n<r;n++)e.push(vn.createFromDiffResult(this.shouldIgnoreTrimWhitespace,t[n],this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges));return{quitEarly:n,changes:e}}let r=[],i=0,a=0;for(let e=-1,n=t.length;e<n;e++){let o=e+1<n?t[e+1]:null,s=o?o.originalStart:this.originalLines.length,c=o?o.modifiedStart:this.modifiedLines.length;for(;i<s&&a<c;){let e=this.originalLines[i],t=this.modifiedLines[a];if(e!==t){{let n=bn(e,1),o=bn(t,1);for(;n>1&&o>1&&e.charCodeAt(n-2)===t.charCodeAt(o-2);)n--,o--;(n>1||o>1)&&this._pushTrimWhitespaceCharChange(r,i+1,1,n,a+1,1,o)}{let n=xn(e,1),o=xn(t,1),s=e.length+1,c=t.length+1;for(;n<s&&o<c&&e.charCodeAt(n-1)===e.charCodeAt(o-1);)n++,o++;(n<s||o<c)&&this._pushTrimWhitespaceCharChange(r,i+1,n,s,a+1,o,c)}}i++,a++}o&&(r.push(vn.createFromDiffResult(this.shouldIgnoreTrimWhitespace,o,this.original,this.modified,this.continueCharDiff,this.shouldComputeCharChanges,this.shouldPostProcessCharChanges)),i+=o.originalLength,a+=o.modifiedLength)}return{quitEarly:n,changes:r}}_pushTrimWhitespaceCharChange(e,t,n,r,i,a,o){if(this._mergeTrimWhitespaceCharChange(e,t,n,r,i,a,o))return;let s;this.shouldComputeCharChanges&&(s=[new gn(t,n,t,r,i,a,i,o)]),e.push(new vn(t,t,i,i,s))}_mergeTrimWhitespaceCharChange(e,t,n,r,i,a,o){let s=e.length;if(s===0)return!1;let c=e[s-1];return c.originalEndLineNumber===0||c.modifiedEndLineNumber===0?!1:c.originalEndLineNumber+1===t&&c.modifiedEndLineNumber+1===i?(c.originalEndLineNumber=t,c.modifiedEndLineNumber=i,this.shouldComputeCharChanges&&c.charChanges&&c.charChanges.push(new gn(t,n,t,r,i,a,i,o)),!0):!1}};function bn(e,t){let n=i.Lc(e);return n===-1?t:n+1}function xn(e,t){let n=i.Zc(e);return n===-1?t:n+2}function Sn(e){if(e===0)return()=>!0;let t=Date.now();return()=>Date.now()-t<e}var Cn=class{constructor(e){this.values=e,this.prefixSum=new Uint32Array(e.length),this.prefixSumValidIndex=new Int32Array(1),this.prefixSumValidIndex[0]=-1}insertValues(e,t){e=i.ss(e);let n=this.values,r=this.prefixSum,a=t.length;return a===0?!1:(this.values=new Uint32Array(n.length+a),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e),e+a),this.values.set(t,e),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSum=new Uint32Array(this.values.length),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}setValue(e,t){return e=i.ss(e),t=i.ss(t),this.values[e]===t?!1:(this.values[e]=t,e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),!0)}removeValues(e,t){e=i.ss(e),t=i.ss(t);let n=this.values,r=this.prefixSum;if(e>=n.length)return!1;let a=n.length-e;return t>=a&&(t=a),t===0?!1:(this.values=new Uint32Array(n.length-t),this.values.set(n.subarray(0,e),0),this.values.set(n.subarray(e+t),e),this.prefixSum=new Uint32Array(this.values.length),e-1<this.prefixSumValidIndex[0]&&(this.prefixSumValidIndex[0]=e-1),this.prefixSumValidIndex[0]>=0&&this.prefixSum.set(r.subarray(0,this.prefixSumValidIndex[0]+1)),!0)}getTotalSum(){return this.values.length===0?0:this._getPrefixSum(this.values.length-1)}getPrefixSum(e){return e<0?0:(e=i.ss(e),this._getPrefixSum(e))}_getPrefixSum(e){if(e<=this.prefixSumValidIndex[0])return this.prefixSum[e];let t=this.prefixSumValidIndex[0]+1;t===0&&(this.prefixSum[0]=this.values[0],t++),e>=this.values.length&&(e=this.values.length-1);for(let n=t;n<=e;n++)this.prefixSum[n]=this.prefixSum[n-1]+this.values[n];return this.prefixSumValidIndex[0]=Math.max(this.prefixSumValidIndex[0],e),this.prefixSum[e]}getIndexOf(e){e=Math.floor(e),this.getTotalSum();let t=0,n=this.values.length-1,r=0,i=0,a=0;for(;t<=n;)if(r=t+(n-t)/2|0,i=this.prefixSum[r],a=i-this.values[r],e<a)n=r-1;else if(e>=i)t=r+1;else break;return new Tn(r,e-a)}},wn=class{constructor(e){this._values=e,this._isValid=!1,this._validEndIndex=-1,this._prefixSum=[],this._indexBySum=[]}getTotalSum(){return this._ensureValid(),this._indexBySum.length}getPrefixSum(e){return this._ensureValid(),e===0?0:this._prefixSum[e-1]}getIndexOf(e){this._ensureValid();let t=this._indexBySum[e];return new Tn(t,e-(t>0?this._prefixSum[t-1]:0))}removeValues(e,t){this._values.splice(e,t),this._invalidate(e)}insertValues(e,t){this._values=i.Ru(this._values,e,t),this._invalidate(e)}_invalidate(e){this._isValid=!1,this._validEndIndex=Math.min(this._validEndIndex,e-1)}_ensureValid(){if(!this._isValid){for(let e=this._validEndIndex+1,t=this._values.length;e<t;e++){let t=this._values[e],n=e>0?this._prefixSum[e-1]:0;this._prefixSum[e]=n+t;for(let r=0;r<t;r++)this._indexBySum[n+r]=e}this._prefixSum.length=this._values.length,this._indexBySum.length=this._prefixSum[this._prefixSum.length-1],this._isValid=!0,this._validEndIndex=this._values.length-1}}setValue(e,t){this._values[e]!==t&&(this._values[e]=t,this._invalidate(e))}},Tn=class{constructor(e,t){this.index=e,this.remainder=t,this._prefixSumIndexOfResultBrand=void 0,this.index=e,this.remainder=t}},En=class{constructor(e,t,n,r){this._uri=e,this._lines=t,this._eol=n,this._versionId=r,this._lineStarts=null,this._cachedTextValue=null}dispose(){this._lines.length=0}get version(){return this._versionId}getText(){return this._cachedTextValue===null&&(this._cachedTextValue=this._lines.join(this._eol)),this._cachedTextValue}onEvents(e){e.eol&&e.eol!==this._eol&&(this._eol=e.eol,this._lineStarts=null);let t=e.changes;for(let e of t)this._acceptDeleteRange(e.range),this._acceptInsertText(new i.kl(e.range.startLineNumber,e.range.startColumn),e.text);this._versionId=e.versionId,this._cachedTextValue=null}_ensureLineStarts(){if(!this._lineStarts){let e=this._eol.length,t=this._lines.length,n=new Uint32Array(t);for(let r=0;r<t;r++)n[r]=this._lines[r].length+e;this._lineStarts=new Cn(n)}}_setLineText(e,t){this._lines[e]=t,this._lineStarts&&this._lineStarts.setValue(e,this._lines[e].length+this._eol.length)}_acceptDeleteRange(e){if(e.startLineNumber===e.endLineNumber){if(e.startColumn===e.endColumn)return;this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.startLineNumber-1].substring(e.endColumn-1));return}this._setLineText(e.startLineNumber-1,this._lines[e.startLineNumber-1].substring(0,e.startColumn-1)+this._lines[e.endLineNumber-1].substring(e.endColumn-1)),this._lines.splice(e.startLineNumber,e.endLineNumber-e.startLineNumber),this._lineStarts&&this._lineStarts.removeValues(e.startLineNumber,e.endLineNumber-e.startLineNumber)}_acceptInsertText(e,t){if(t.length===0)return;let n=i.al(t);if(n.length===1){this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]+this._lines[e.lineNumber-1].substring(e.column-1));return}n[n.length-1]+=this._lines[e.lineNumber-1].substring(e.column-1),this._setLineText(e.lineNumber-1,this._lines[e.lineNumber-1].substring(0,e.column-1)+n[0]);let r=new Uint32Array(n.length-1);for(let t=1;t<n.length;t++)this._lines.splice(e.lineNumber+t-1,0,n[t]),r[t-1]=n[t].length+this._eol.length;this._lineStarts&&this._lineStarts.insertValues(e.lineNumber,r)}},Dn=class{constructor(e,t,n){let r=new Uint8Array(e*t);for(let i=0,a=e*t;i<a;i++)r[i]=n;this._data=r,this.rows=e,this.cols=t}get(e,t){return this._data[e*this.cols+t]}set(e,t,n){this._data[e*this.cols+t]=n}},On=class{constructor(e){let t=0,n=0;for(let r=0,i=e.length;r<i;r++){let[i,a,o]=e[r];a>t&&(t=a),i>n&&(n=i),o>n&&(n=o)}t++,n++;let r=new Dn(n,t,0);for(let t=0,n=e.length;t<n;t++){let[n,i,a]=e[t];r.set(n,i,a)}this._states=r,this._maxCharCode=t}nextState(e,t){return t<0||t>=this._maxCharCode?0:this._states.get(e,t)}},kn=null;function An(){return kn===null&&(kn=new On([[1,104,2],[1,72,2],[1,102,6],[1,70,6],[2,116,3],[2,84,3],[3,116,4],[3,84,4],[4,112,5],[4,80,5],[5,115,9],[5,83,9],[5,58,10],[6,105,7],[6,73,7],[7,108,8],[7,76,8],[8,101,9],[8,69,9],[9,58,10],[10,47,11],[11,47,12]])),kn}var jn=null;function Mn(){if(jn===null){jn=new i.as(0);for(let e=0;e<35;e++)jn.set(` <>'"、。。、,.:;‘〈「『〔([{「」}])〕』」〉’`~…`.charCodeAt(e),1);for(let e=0;e<4;e++)jn.set(`.,;:`.charCodeAt(e),2)}return jn}var Nn=class e{static _createLink(e,t,n,r,i){let a=i-1;do{let n=t.charCodeAt(a);if(e.get(n)!==2)break;a--}while(a>r);if(r>0){let e=t.charCodeAt(r-1),n=t.charCodeAt(a);(e===40&&n===41||e===91&&n===93||e===123&&n===125)&&a--}return{range:{startLineNumber:n,startColumn:r+1,endLineNumber:n,endColumn:a+2},url:t.substring(r,a+1)}}static computeLinks(t,n=An()){let r=Mn(),i=[];for(let a=1,o=t.getLineCount();a<=o;a++){let o=t.getLineContent(a),s=o.length,c=0,l=0,u=0,d=1,f=!1,p=!1,m=!1,h=!1;for(;c<s;){let t=!1,s=o.charCodeAt(c);if(d===13){let n;switch(s){case 40:f=!0,n=0;break;case 41:n=f?0:1;break;case 91:m=!0,p=!0,n=0;break;case 93:m=!1,n=p?0:1;break;case 123:h=!0,n=0;break;case 125:n=h?0:1;break;case 39:n=u===39?1:0;break;case 34:n=u===34?1:0;break;case 96:n=u===96?1:0;break;case 42:n=u===42?1:0;break;case 124:n=u===124?1:0;break;case 32:n=m?0:1;break;default:n=r.get(s)}n===1&&(i.push(e._createLink(r,o,a,l,c)),t=!0)}else if(d===12){let e;s===91?(p=!0,e=0):e=r.get(s),e===1?t=!0:d=13}else d=n.nextState(d,s),d===0&&(t=!0);t&&(d=1,f=!1,p=!1,h=!1,l=c+1,u=s),c++}d===13&&i.push(e._createLink(r,o,a,l,s))}return i}};function Pn(e){return!e||typeof e.getLineCount!=`function`||typeof e.getLineContent!=`function`?[]:Nn.computeLinks(e)}var Fn=class{constructor(){this._defaultValueSet=[[`true`,`false`],[`True`,`False`],[`Private`,`Public`,`Friend`,`ReadOnly`,`Partial`,`Protected`,`WriteOnly`],[`public`,`protected`,`private`]]}navigateValueSet(e,t,n,r,i){if(e&&t){let n=this.doNavigateValueSet(t,i);if(n)return{range:e,value:n}}if(n&&r){let e=this.doNavigateValueSet(r,i);if(e)return{range:n,value:e}}return null}doNavigateValueSet(e,t){let n=this.numberReplace(e,t);return n===null?this.textReplace(e,t):n}numberReplace(e,t){let n=10**(e.length-(e.lastIndexOf(`.`)+1)),r=Number(e),i=parseFloat(e);return!isNaN(r)&&!isNaN(i)&&r===i?r===0&&!t?null:(r=Math.floor(r*n),r+=t?n:-n,String(r/n)):null}textReplace(e,t){return this.valueSetsReplace(this._defaultValueSet,e,t)}valueSetsReplace(e,t,n){let r=null;for(let i=0,a=e.length;r===null&&i<a;i++)r=this.valueSetReplace(e[i],t,n);return r}valueSetReplace(e,t,n){let r=e.indexOf(t);return r>=0?(r+=n?1:-1,r<0?r=e.length-1:r%=e.length,e[r]):null}};Fn.INSTANCE=new Fn;var In=class{static computeUnicodeHighlights(e,t,n){let r=n?n.startLineNumber:1,a=n?n.endLineNumber:e.getLineCount(),o=new Rn(t),s=o.getCandidateCodePoints(),c;c=RegExp(s===`allNonBasicAscii`?`[^\\t\\n\\r\\x20-\\x7E]`:`${Ln(Array.from(s))}`,`g`);let l=new i.rs(null,c),u=[],d=!1,f,p=0,m=0,h=0;forLoop:for(let t=r,n=a;t<=n;t++){let n=e.getLineContent(t),r=n.length;l.reset(0);do if(f=l.next(n),f){let e=f.index,a=f.index+f[0].length;if(e>0){let t=n.charCodeAt(e-1);i.qc(t)&&e--}if(a+1<r){let e=n.charCodeAt(a-1);i.qc(e)&&a++}let s=n.substring(e,a),c=i.fd(e+1,i.ld,n,0),l=o.shouldHighlightNonBasicASCII(s,c?c.word:null);if(l!==0){if(l===3?p++:l===2?m++:l===1?h++:i.Su(l),u.length>=1e3){d=!0;break forLoop}u.push(new i.Ol(t,e+1,t,a+1))}}while(f)}return{ranges:u,hasMore:d,ambiguousCharacterCount:p,invisibleCharacterCount:m,nonBasicAsciiCharacterCount:h}}static computeUnicodeHighlightReason(e,t){let n=new Rn(t);switch(n.shouldHighlightNonBasicASCII(e,null)){case 0:return null;case 2:return{kind:1};case 3:{let r=e.codePointAt(0),a=n.ambiguousCharacters.getPrimaryConfusable(r),o=i.Tc.getLocales().filter(e=>!i.Tc.getInstance(new Set([...t.allowedLocales,e])).isAmbiguous(r));return{kind:0,confusableWith:String.fromCodePoint(a),notAmbiguousInLocales:o}}case 1:return{kind:2}}}};function Ln(e,t){return`[${i.Ic(e.map(e=>String.fromCodePoint(e)).join(``))}]`}var Rn=class{constructor(e){this.options=e,this.allowedCodePoints=new Set(e.allowedCodePoints),this.ambiguousCharacters=i.Tc.getInstance(new Set(e.allowedLocales))}getCandidateCodePoints(){if(this.options.nonBasicASCII)return`allNonBasicAscii`;let e=new Set;if(this.options.invisibleCharacters)for(let t of i.Ec.codePoints)zn(String.fromCodePoint(t))||e.add(t);if(this.options.ambiguousCharacters)for(let t of this.ambiguousCharacters.getConfusableCodePoints())e.add(t);for(let t of this.allowedCodePoints)e.delete(t);return e}shouldHighlightNonBasicASCII(e,t){let n=e.codePointAt(0);if(this.allowedCodePoints.has(n))return 0;if(this.options.nonBasicASCII)return 1;let r=!1,a=!1;if(t)for(let e of t){let t=e.codePointAt(0),n=i.Uc(e);r||=n,!n&&!this.ambiguousCharacters.isAmbiguous(t)&&!i.Ec.isInvisibleCharacter(t)&&(a=!0)}return!r&&a?0:this.options.invisibleCharacters&&!zn(e)&&i.Ec.isInvisibleCharacter(n)?2:this.options.ambiguousCharacters&&this.ambiguousCharacters.isAmbiguous(n)?3:0}};function zn(e){return e===` `||e===`
|
|
5
5
|
`||e===` `}var Bn=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Vn=class extends En{get uri(){return this._uri}get eol(){return this._eol}getValue(){return this.getText()}getLinesContent(){return this._lines.slice(0)}getLineCount(){return this._lines.length}getLineContent(e){return this._lines[e-1]}getWordAtPosition(e,t){let n=i.fd(e.column,i.dd(t),this._lines[e.lineNumber-1],0);return n?new i.Ol(e.lineNumber,n.startColumn,e.lineNumber,n.endColumn):null}words(e){let t=this._lines,n=this._wordenize.bind(this),r=0,i=``,a=0,o=[];return{*[Symbol.iterator](){for(;;)if(a<o.length){let e=i.substring(o[a].start,o[a].end);a+=1,yield e}else if(r<t.length)i=t[r],o=n(i,e),a=0,r+=1;else break}}}getLineWords(e,t){let n=this._lines[e-1],r=this._wordenize(n,t),i=[];for(let e of r)i.push({word:n.substring(e.start,e.end),startColumn:e.start+1,endColumn:e.end+1});return i}_wordenize(e,t){let n=[],r;for(t.lastIndex=0;(r=t.exec(e))&&r[0].length!==0;)n.push({start:r.index,end:r.index+r[0].length});return n}getValueInRange(e){if(e=this._validateRange(e),e.startLineNumber===e.endLineNumber)return this._lines[e.startLineNumber-1].substring(e.startColumn-1,e.endColumn-1);let t=this._eol,n=e.startLineNumber-1,r=e.endLineNumber-1,i=[];i.push(this._lines[n].substring(e.startColumn-1));for(let e=n+1;e<r;e++)i.push(this._lines[e]);return i.push(this._lines[r].substring(0,e.endColumn-1)),i.join(t)}offsetAt(e){return e=this._validatePosition(e),this._ensureLineStarts(),this._lineStarts.getPrefixSum(e.lineNumber-2)+(e.column-1)}positionAt(e){e=Math.floor(e),e=Math.max(0,e),this._ensureLineStarts();let t=this._lineStarts.getIndexOf(e),n=this._lines[t.index].length;return{lineNumber:1+t.index,column:1+Math.min(t.remainder,n)}}_validateRange(e){let t=this._validatePosition({lineNumber:e.startLineNumber,column:e.startColumn}),n=this._validatePosition({lineNumber:e.endLineNumber,column:e.endColumn});return t.lineNumber!==e.startLineNumber||t.column!==e.startColumn||n.lineNumber!==e.endLineNumber||n.column!==e.endColumn?{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}:e}_validatePosition(e){if(!i.kl.isIPosition(e))throw Error(`bad position`);let{lineNumber:t,column:n}=e,r=!1;if(t<1)t=1,n=1,r=!0;else if(t>this._lines.length)t=this._lines.length,n=this._lines[t-1].length+1,r=!0;else{let e=this._lines[t-1].length+1;n<1?(n=1,r=!0):n>e&&(n=e,r=!0)}return r?{lineNumber:t,column:n}:e}},Hn=class e{constructor(e,t){this._host=e,this._models=Object.create(null),this._foreignModuleFactory=t,this._foreignModule=null}dispose(){this._models=Object.create(null)}_getModel(e){return this._models[e]}_getModels(){let e=[];return Object.keys(this._models).forEach(t=>e.push(this._models[t])),e}acceptNewModel(e){this._models[e.url]=new Vn(i.Al.parse(e.url),e.lines,e.EOL,e.versionId)}acceptModelChanged(e,t){this._models[e]&&this._models[e].onEvents(t)}acceptRemovedModel(e){this._models[e]&&delete this._models[e]}computeUnicodeHighlights(e,t,n){return Bn(this,void 0,void 0,function*(){let r=this._getModel(e);return r?In.computeUnicodeHighlights(r,t,n):{ranges:[],hasMore:!1,ambiguousCharacterCount:0,invisibleCharacterCount:0,nonBasicAsciiCharacterCount:0}})}computeDiff(t,n,r,i){return Bn(this,void 0,void 0,function*(){let a=this._getModel(t),o=this._getModel(n);return!a||!o?null:e.computeDiff(a,o,r,i)})}static computeDiff(e,t,n,r){let i=new yn(e.getLinesContent(),t.getLinesContent(),{shouldComputeCharChanges:!0,shouldPostProcessCharChanges:!0,shouldIgnoreTrimWhitespace:n,shouldMakePrettyDiff:!0,maxComputationTime:r}).computeDiff(),a=i.changes.length>0?!1:this._modelsAreIdentical(e,t);return{quitEarly:i.quitEarly,identical:a,changes:i.changes}}static _modelsAreIdentical(e,t){let n=e.getLineCount();if(n!==t.getLineCount())return!1;for(let r=1;r<=n;r++)if(e.getLineContent(r)!==t.getLineContent(r))return!1;return!0}computeMoreMinimalEdits(t,n){return Bn(this,void 0,void 0,function*(){let r=this._getModel(t);if(!r)return n;let a=[],o;n=n.slice(0).sort((e,t)=>e.range&&t.range?i.Ol.compareRangesUsingStarts(e.range,t.range):(e.range?0:1)-(t.range?0:1));for(let{range:t,text:s,eol:c}of n){if(typeof c==`number`&&(o=c),i.Ol.isEmpty(t)&&!s)continue;let n=r.getValueInRange(t);if(s=s.replace(/\r\n|\n|\r/g,r.eol),n===s)continue;if(Math.max(s.length,n.length)>e._diffLimit){a.push({range:t,text:s});continue}let l=sn(n,s,!1),u=r.offsetAt(i.Ol.lift(t).getStartPosition());for(let e of l){let t=r.positionAt(u+e.originalStart),n=r.positionAt(u+e.originalStart+e.originalLength),i={text:s.substr(e.modifiedStart,e.modifiedLength),range:{startLineNumber:t.lineNumber,startColumn:t.column,endLineNumber:n.lineNumber,endColumn:n.column}};r.getValueInRange(i.range)!==i.text&&a.push(i)}}return typeof o==`number`&&a.push({eol:o,text:``,range:{startLineNumber:0,startColumn:0,endLineNumber:0,endColumn:0}}),a})}computeLinks(e){return Bn(this,void 0,void 0,function*(){let t=this._getModel(e);return t?Pn(t):null})}textualSuggest(t,n,r,a){return Bn(this,void 0,void 0,function*(){let o=new i.Yl(!0),s=new RegExp(r,a),c=new Set;outer:for(let r of t){let t=this._getModel(r);if(t){for(let r of t.words(s))if(!(r===n||!isNaN(Number(r)))&&(c.add(r),c.size>e._suggestionsLimit))break outer}}return{words:Array.from(c),duration:o.elapsed()}})}computeWordRanges(e,t,n,r){return Bn(this,void 0,void 0,function*(){let i=this._getModel(e);if(!i)return Object.create(null);let a=new RegExp(n,r),o=Object.create(null);for(let e=t.startLineNumber;e<t.endLineNumber;e++){let t=i.getLineWords(e,a);for(let n of t){if(!isNaN(Number(n.word)))continue;let t=o[n.word];t||(t=[],o[n.word]=t),t.push({startLineNumber:e,startColumn:n.startColumn,endLineNumber:e,endColumn:n.endColumn})}}return o})}navigateValueSet(e,t,n,r,i){return Bn(this,void 0,void 0,function*(){let a=this._getModel(e);if(!a)return null;let o=new RegExp(r,i);t.startColumn===t.endColumn&&(t={startLineNumber:t.startLineNumber,startColumn:t.startColumn,endLineNumber:t.endLineNumber,endColumn:t.endColumn+1});let s=a.getValueInRange(t),c=a.getWordAtPosition({lineNumber:t.startLineNumber,column:t.startColumn},o);if(!c)return null;let l=a.getValueInRange(c);return Fn.INSTANCE.navigateValueSet(t,s,c,l,n)})}loadForeignModule(e,t,n){let r={host:i.wu(n,(e,t)=>this._host.fhr(e,t)),getMirrorModels:()=>this._getModels()};return this._foreignModuleFactory?(this._foreignModule=this._foreignModuleFactory(r,t),Promise.resolve(i.Tu(this._foreignModule))):Promise.reject(Error(`Unexpected usage`))}fmr(e,t){if(!this._foreignModule||typeof this._foreignModule[e]!=`function`)return Promise.reject(Error(`Missing requestHandler or method: `+e));try{return Promise.resolve(this._foreignModule[e].apply(this._foreignModule,t))}catch(e){return Promise.reject(e)}}};Hn._diffLimit=1e5,Hn._suggestionsLimit=1e4,typeof importScripts==`function`&&(i.gd.monaco=St());var Un=i.mc(`textResourceConfigurationService`),Wn=i.mc(`textResourcePropertiesService`),Gn=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Kn=function(e,t){return function(n,r){t(n,r,e)}},qn=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},Jn=60*1e3,Yn=300*1e3;function Xn(e,t){let n=e.getModel(t);return!(!n||n.isTooLargeForSyncing())}var Zn=class extends i.Xl{constructor(e,t,n,r,i){super(),this._modelService=e,this._workerManager=this._register(new $n(this._modelService,r)),this._logService=n,this._register(i.linkProvider.register({language:`*`,hasAccessToAllModels:!0},{provideLinks:(e,t)=>Xn(this._modelService,e.uri)?this._workerManager.withWorker().then(t=>t.computeLinks(e.uri)).then(e=>e&&{links:e}):Promise.resolve({links:[]})})),this._register(i.completionProvider.register(`*`,new Qn(this._workerManager,t,this._modelService,r)))}dispose(){super.dispose()}canComputeUnicodeHighlights(e){return Xn(this._modelService,e)}computedUnicodeHighlights(e,t,n){return this._workerManager.withWorker().then(r=>r.computedUnicodeHighlights(e,t,n))}computeDiff(e,t,n,r){return this._workerManager.withWorker().then(i=>i.computeDiff(e,t,n,r))}computeMoreMinimalEdits(e,t){if(i.$u(t)){if(!Xn(this._modelService,e))return Promise.resolve(t);let n=i.Yl.create(!0),r=this._workerManager.withWorker().then(n=>n.computeMoreMinimalEdits(e,t));return r.finally(()=>this._logService.trace(`FORMAT#computeMoreMinimalEdits`,e.toString(!0),n.elapsed())),Promise.race([r,i.ks(1e3).then(()=>t)])}else return Promise.resolve(void 0)}canNavigateValueSet(e){return Xn(this._modelService,e)}navigateValueSet(e,t,n){return this._workerManager.withWorker().then(r=>r.navigateValueSet(e,t,n))}canComputeWordRanges(e){return Xn(this._modelService,e)}computeWordRanges(e,t){return this._workerManager.withWorker().then(n=>n.computeWordRanges(e,t))}};Zn=Gn([Kn(0,i.As),Kn(1,Un),Kn(2,i.$o),Kn(3,i.Ps),Kn(4,i.Zo)],Zn);var Qn=class{constructor(e,t,n,r){this.languageConfigurationService=r,this._debugDisplayName=`wordbasedCompletions`,this._workerManager=e,this._configurationService=t,this._modelService=n}provideCompletionItems(e,t){return qn(this,void 0,void 0,function*(){let n=this._configurationService.getValue(e.uri,t,`editor`);if(!n.wordBasedSuggestions)return;let r=[];if(n.wordBasedSuggestionsMode===`currentDocument`)Xn(this._modelService,e.uri)&&r.push(e.uri);else for(let t of this._modelService.getModels())Xn(this._modelService,t.uri)&&(t===e?r.unshift(t.uri):(n.wordBasedSuggestionsMode===`allDocuments`||t.getLanguageId()===e.getLanguageId())&&r.push(t.uri));if(r.length===0)return;let a=this.languageConfigurationService.getLanguageConfiguration(e.getLanguageId()).getWordDefinition(),o=e.getWordAtPosition(t),s=o?new i.Ol(t.lineNumber,o.startColumn,t.lineNumber,o.endColumn):i.Ol.fromPositions(t),c=s.setEndPosition(t.lineNumber,t.column),l=yield(yield this._workerManager.withWorker()).textualSuggest(r,o?.word,a);if(l)return{duration:l.duration,suggestions:l.words.map(e=>({kind:18,label:e,insertText:e,range:{insert:c,replace:s}}))}})}},$n=class extends i.Xl{constructor(e,t){super(),this.languageConfigurationService=t,this._modelService=e,this._editorWorkerClient=null,this._lastWorkerUsedTime=new Date().getTime(),this._register(new i.gs).cancelAndSet(()=>this._checkStopIdleWorker(),Math.round(Yn/2)),this._register(this._modelService.onModelRemoved(e=>this._checkStopEmptyWorker()))}dispose(){this._editorWorkerClient&&=(this._editorWorkerClient.dispose(),null),super.dispose()}_checkStopEmptyWorker(){this._editorWorkerClient&&this._modelService.getModels().length===0&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}_checkStopIdleWorker(){this._editorWorkerClient&&new Date().getTime()-this._lastWorkerUsedTime>Yn&&(this._editorWorkerClient.dispose(),this._editorWorkerClient=null)}withWorker(){return this._lastWorkerUsedTime=new Date().getTime(),this._editorWorkerClient||=new rr(this._modelService,!1,`editorWorkerService`,this.languageConfigurationService),Promise.resolve(this._editorWorkerClient)}},er=class extends i.Xl{constructor(e,t,n){if(super(),this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),this._proxy=e,this._modelService=t,!n){let e=new i.gs;e.cancelAndSet(()=>this._checkStopModelSync(),Math.round(Jn/2)),this._register(e)}}dispose(){for(let e in this._syncedModels)i.nu(this._syncedModels[e]);this._syncedModels=Object.create(null),this._syncedModelsLastUsedTime=Object.create(null),super.dispose()}ensureSyncedResources(e,t){for(let n of e){let e=n.toString();this._syncedModels[e]||this._beginModelSync(n,t),this._syncedModels[e]&&(this._syncedModelsLastUsedTime[e]=new Date().getTime())}}_checkStopModelSync(){let e=new Date().getTime(),t=[];for(let n in this._syncedModelsLastUsedTime)e-this._syncedModelsLastUsedTime[n]>Jn&&t.push(n);for(let e of t)this._stopModelSync(e)}_beginModelSync(e,t){let n=this._modelService.getModel(e);if(!n||!t&&n.isTooLargeForSyncing())return;let r=e.toString();this._proxy.acceptNewModel({url:n.uri.toString(),lines:n.getLinesContent(),EOL:n.getEOL(),versionId:n.getVersionId()});let a=new i.Zl;a.add(n.onDidChangeContent(e=>{this._proxy.acceptModelChanged(r.toString(),e)})),a.add(n.onWillDispose(()=>{this._stopModelSync(r)})),a.add(i.au(()=>{this._proxy.acceptRemovedModel(r)})),this._syncedModels[r]=a}_stopModelSync(e){let t=this._syncedModels[e];delete this._syncedModels[e],delete this._syncedModelsLastUsedTime[e],i.nu(t)}},tr=class{constructor(e){this._instance=e,this._proxyObj=Promise.resolve(this._instance)}dispose(){this._instance.dispose()}getProxyObject(){return this._proxyObj}},nr=class{constructor(e){this._workerClient=e}fhr(e,t){return this._workerClient.fhr(e,t)}},rr=class extends i.Xl{constructor(e,t,n,r){super(),this.languageConfigurationService=r,this._disposed=!1,this._modelService=e,this._keepIdleModels=t,this._workerFactory=new rn(n),this._worker=null,this._modelManager=null}fhr(e,t){throw Error(`Not implemented!`)}_getOrCreateWorker(){if(!this._worker)try{this._worker=this._register(new Yt(this._workerFactory,`vs/editor/common/services/editorSimpleWorker`,new nr(this)))}catch(e){Ht(e),this._worker=new tr(new Hn(new nr(this),null))}return this._worker}_getProxy(){return this._getOrCreateWorker().getProxyObject().then(void 0,e=>(Ht(e),this._worker=new tr(new Hn(new nr(this),null)),this._getOrCreateWorker().getProxyObject()))}_getOrCreateModelManager(e){return this._modelManager||=this._register(new er(e,this._modelService,this._keepIdleModels)),this._modelManager}_withSyncedResources(e,t=!1){return qn(this,void 0,void 0,function*(){return this._disposed?Promise.reject(i.cu()):this._getProxy().then(n=>(this._getOrCreateModelManager(n).ensureSyncedResources(e,t),n))})}computedUnicodeHighlights(e,t,n){return this._withSyncedResources([e]).then(r=>r.computeUnicodeHighlights(e.toString(),t,n))}computeDiff(e,t,n,r){return this._withSyncedResources([e,t],!0).then(i=>i.computeDiff(e.toString(),t.toString(),n,r))}computeMoreMinimalEdits(e,t){return this._withSyncedResources([e]).then(n=>n.computeMoreMinimalEdits(e.toString(),t))}computeLinks(e){return this._withSyncedResources([e]).then(t=>t.computeLinks(e.toString()))}textualSuggest(e,t,n){return qn(this,void 0,void 0,function*(){let r=yield this._withSyncedResources(e),a=n.source,o=i.tl(n);return r.textualSuggest(e.map(e=>e.toString()),t,a,o)})}computeWordRanges(e,t){return this._withSyncedResources([e]).then(n=>{let r=this._modelService.getModel(e);if(!r)return Promise.resolve(null);let a=this.languageConfigurationService.getLanguageConfiguration(r.getLanguageId()).getWordDefinition(),o=a.source,s=i.tl(a);return n.computeWordRanges(e.toString(),t,o,s)})}navigateValueSet(e,t,n){return this._withSyncedResources([e]).then(r=>{let a=this._modelService.getModel(e);if(!a)return null;let o=this.languageConfigurationService.getLanguageConfiguration(a.getLanguageId()).getWordDefinition(),s=o.source,c=i.tl(o);return r.navigateValueSet(e.toString(),t,n,s,c)})}dispose(){super.dispose(),this._disposed=!0}};function ir(e,t,n){return new ar(e,t,n)}var ar=class extends rr{constructor(e,t,n){super(e,n.keepIdleModels||!1,n.label,t),this._foreignModuleId=n.moduleId,this._foreignModuleCreateData=n.createData||null,this._foreignModuleHost=n.host||null,this._foreignProxy=null}fhr(e,t){if(!this._foreignModuleHost||typeof this._foreignModuleHost[e]!=`function`)return Promise.reject(Error(`Missing method `+e+` or missing main thread foreign host.`));try{return Promise.resolve(this._foreignModuleHost[e].apply(this._foreignModuleHost,t))}catch(e){return Promise.reject(e)}}_getForeignProxy(){return this._foreignProxy||=this._getProxy().then(e=>{let t=this._foreignModuleHost?i.Tu(this._foreignModuleHost):[];return e.loadForeignModule(this._foreignModuleId,this._foreignModuleCreateData,t).then(t=>{this._foreignModuleCreateData=null;let n=(t,n)=>e.fmr(t,n),r=(e,t)=>function(){return t(e,Array.prototype.slice.call(arguments,0))},i={};for(let e of t)i[e]=r(e,n);return i})}),this._foreignProxy}getProxy(){return this._getForeignProxy()}withSyncedResources(e){return this._withSyncedResources(e).then(e=>this.getProxy())}},or=class e{constructor(e,t,n,r){this.startColumn=e,this.endColumn=t,this.className=n,this.type=r,this._lineDecorationBrand=void 0}static _equals(e,t){return e.startColumn===t.startColumn&&e.endColumn===t.endColumn&&e.className===t.className&&e.type===t.type}static equalsArr(t,n){let r=t.length;if(r!==n.length)return!1;for(let i=0;i<r;i++)if(!e._equals(t[i],n[i]))return!1;return!0}static extractWrapped(t,n,r){if(t.length===0)return t;let i=n+1,a=r+1,o=r-n,s=[],c=0;for(let n of t)n.endColumn<=i||n.startColumn>=a||(s[c++]=new e(Math.max(1,n.startColumn-i+1),Math.min(o+1,n.endColumn-i+1),n.className,n.type));return s}static filter(t,n,r,i){if(t.length===0)return[];let a=[],o=0;for(let s=0,c=t.length;s<c;s++){let c=t[s],l=c.range;if(l.endLineNumber<n||l.startLineNumber>n||l.isEmpty()&&(c.type===0||c.type===3))continue;let u=l.startLineNumber===n?l.startColumn:r,d=l.endLineNumber===n?l.endColumn:i;a[o++]=new e(u,d,c.inlineClassName,c.type)}return a}static _typeCompare(e,t){let n=[2,0,1,3];return n[e]-n[t]}static compare(t,n){if(t.startColumn!==n.startColumn)return t.startColumn-n.startColumn;if(t.endColumn!==n.endColumn)return t.endColumn-n.endColumn;let r=e._typeCompare(t.type,n.type);return r===0?t.className===n.className?0:t.className<n.className?-1:1:r}},sr=class{constructor(e,t,n,r){this.startOffset=e,this.endOffset=t,this.className=n,this.metadata=r}},cr=class e{constructor(){this.stopOffsets=[],this.classNames=[],this.metadata=[],this.count=0}static _metadata(e){let t=0;for(let n=0,r=e.length;n<r;n++)t|=e[n];return t}consumeLowerThan(t,n,r){for(;this.count>0&&this.stopOffsets[0]<t;){let t=0;for(;t+1<this.count&&this.stopOffsets[t]===this.stopOffsets[t+1];)t++;r.push(new sr(n,this.stopOffsets[t],this.classNames.join(` `),e._metadata(this.metadata))),n=this.stopOffsets[t]+1,this.stopOffsets.splice(0,t+1),this.classNames.splice(0,t+1),this.metadata.splice(0,t+1),this.count-=t+1}return this.count>0&&n<t&&(r.push(new sr(n,t-1,this.classNames.join(` `),e._metadata(this.metadata))),n=t),n}insert(e,t,n){if(this.count===0||this.stopOffsets[this.count-1]<=e)this.stopOffsets.push(e),this.classNames.push(t),this.metadata.push(n);else for(let r=0;r<this.count;r++)if(this.stopOffsets[r]>=e){this.stopOffsets.splice(r,0,e),this.classNames.splice(r,0,t),this.metadata.splice(r,0,n);break}this.count++}},lr=class{static normalize(e,t){if(t.length===0)return[];let n=[],r=new cr,a=0;for(let o=0,s=t.length;o<s;o++){let s=t[o],c=s.startColumn,l=s.endColumn,u=s.className,d=s.type===1?2:s.type===2?4:0;if(c>1){let t=e.charCodeAt(c-2);i.qc(t)&&c--}if(l>1){let t=e.charCodeAt(l-2);i.qc(t)&&l--}let f=c-1,p=l-2;a=r.consumeLowerThan(f,a,n),r.count===0&&(a=f),r.insert(p,u,d)}return r.consumeLowerThan(1073741824,a,n),n}},A=class{constructor(e,t,n,r){this.endIndex=e,this.type=t,this.metadata=n,this.containsRTL=r,this._linePartBrand=void 0}isWhitespace(){return!!(this.metadata&1)}isPseudoAfter(){return!!(this.metadata&4)}},ur=class{constructor(e,t){this.startOffset=e,this.endOffset=t}equals(e){return this.startOffset===e.startOffset&&this.endOffset===e.endOffset}},dr=class{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m,h,g,_,v){this.useMonospaceOptimizations=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.continuesWithWrappedLine=r,this.isBasicASCII=i,this.containsRTL=a,this.fauxIndentLength=o,this.lineTokens=s,this.lineDecorations=c.sort(or.compare),this.tabSize=l,this.startVisibleColumn=u,this.spaceWidth=d,this.stopRenderingLineAfter=m,this.renderWhitespace=h===`all`?4:h===`boundary`?1:h===`selection`?2:h===`trailing`?3:0,this.renderControlCharacters=g,this.fontLigatures=_,this.selectionsOnLine=v&&v.sort((e,t)=>e.startOffset<t.startOffset?-1:1),Math.abs(p-d)<Math.abs(f-d)?(this.renderSpaceWidth=p,this.renderSpaceCharCode=11825):(this.renderSpaceWidth=f,this.renderSpaceCharCode=183)}sameSelection(e){if(this.selectionsOnLine===null)return e===null;if(e===null||e.length!==this.selectionsOnLine.length)return!1;for(let t=0;t<this.selectionsOnLine.length;t++)if(!this.selectionsOnLine[t].equals(e[t]))return!1;return!0}equals(e){return this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineContent===e.lineContent&&this.continuesWithWrappedLine===e.continuesWithWrappedLine&&this.isBasicASCII===e.isBasicASCII&&this.containsRTL===e.containsRTL&&this.fauxIndentLength===e.fauxIndentLength&&this.tabSize===e.tabSize&&this.startVisibleColumn===e.startVisibleColumn&&this.spaceWidth===e.spaceWidth&&this.renderSpaceWidth===e.renderSpaceWidth&&this.renderSpaceCharCode===e.renderSpaceCharCode&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.fontLigatures===e.fontLigatures&&or.equalsArr(this.lineDecorations,e.lineDecorations)&&this.lineTokens.equals(e.lineTokens)&&this.sameSelection(e.selectionsOnLine)}},fr=class{constructor(e,t){this.partIndex=e,this.charIndex=t}},pr=class e{constructor(e,t){this.length=e,this._data=new Uint32Array(this.length),this._horizontalOffset=new Uint32Array(this.length)}static getPartIndex(e){return(e&4294901760)>>>16}static getCharIndex(e){return(e&65535)>>>0}setColumnInfo(e,t,n,r){let i=(t<<16|n<<0)>>>0;this._data[e-1]=i,this._horizontalOffset[e-1]=r}getHorizontalOffset(e){return this._horizontalOffset.length===0?0:this._horizontalOffset[e-1]}charOffsetToPartData(e){return this.length===0?0:e<0?this._data[0]:e>=this.length?this._data[this.length-1]:this._data[e]}getDomPosition(t){let n=this.charOffsetToPartData(t-1);return new fr(e.getPartIndex(n),e.getCharIndex(n))}getColumn(e,t){return this.partDataToCharOffset(e.partIndex,t,e.charIndex)+1}partDataToCharOffset(t,n,r){if(this.length===0)return 0;let i=(t<<16|r<<0)>>>0,a=0,o=this.length-1;for(;a+1<o;){let e=a+o>>>1,t=this._data[e];if(t===i)return e;t>i?o=e:a=e}if(a===o)return a;let s=this._data[a],c=this._data[o];if(s===i)return a;if(c===i)return o;let l=e.getPartIndex(s),u=e.getCharIndex(s),d=e.getPartIndex(c),f;return f=l===d?e.getCharIndex(c):n,r-u<=f-r?a:o}},mr=class{constructor(e,t,n){this._renderLineOutputBrand=void 0,this.characterMapping=e,this.containsRTL=t,this.containsForeignElements=n}};function hr(e,t){if(e.lineContent.length===0){if(e.lineDecorations.length>0){t.appendASCIIString(`<span>`);let n=0,r=0,i=0;for(let a of e.lineDecorations)(a.type===1||a.type===2)&&(t.appendASCIIString(`<span class="`),t.appendASCIIString(a.className),t.appendASCIIString(`"></span>`),a.type===1&&(i|=1,n++),a.type===2&&(i|=2,r++));t.appendASCIIString(`</span>`);let a=new pr(1,n+r);return a.setColumnInfo(1,n,0,0),new mr(a,!1,i)}return t.appendASCIIString(`<span><span></span></span>`),new mr(new pr(0,0),!1,0)}return Er(yr(e),t)}var gr=class{constructor(e,t,n,r){this.characterMapping=e,this.html=t,this.containsRTL=n,this.containsForeignElements=r}};function _r(e){let t=i.ec(1e4),n=hr(e,t);return new gr(n.characterMapping,t.build(),n.containsRTL,n.containsForeignElements)}var vr=class{constructor(e,t,n,r,i,a,o,s,c,l,u,d,f,p,m){this.fontIsMonospace=e,this.canUseHalfwidthRightwardsArrow=t,this.lineContent=n,this.len=r,this.isOverflowing=i,this.parts=a,this.containsForeignElements=o,this.fauxIndentLength=s,this.tabSize=c,this.startVisibleColumn=l,this.containsRTL=u,this.spaceWidth=d,this.renderSpaceCharCode=f,this.renderWhitespace=p,this.renderControlCharacters=m}};function yr(e){let t=e.lineContent,n,r;e.stopRenderingLineAfter!==-1&&e.stopRenderingLineAfter<t.length?(n=!0,r=e.stopRenderingLineAfter):(n=!1,r=t.length);let i=br(t,e.containsRTL,e.lineTokens,e.fauxIndentLength,r);e.renderControlCharacters&&!e.isBasicASCII&&(i=Cr(t,i)),(e.renderWhitespace===4||e.renderWhitespace===1||e.renderWhitespace===2&&e.selectionsOnLine||e.renderWhitespace===3)&&(i=wr(e,t,r,i));let a=0;if(e.lineDecorations.length>0){for(let t=0,n=e.lineDecorations.length;t<n;t++){let n=e.lineDecorations[t];n.type===3||n.type===1?a|=1:n.type===2&&(a|=2)}i=Tr(t,r,i,e.lineDecorations)}return e.containsRTL||(i=xr(t,i,!e.isBasicASCII||e.fontLigatures)),new vr(e.useMonospaceOptimizations,e.canUseHalfwidthRightwardsArrow,t,r,n,i,a,e.fauxIndentLength,e.tabSize,e.startVisibleColumn,e.containsRTL,e.spaceWidth,e.renderSpaceCharCode,e.renderWhitespace,e.renderControlCharacters)}function br(e,t,n,r,a){let o=[],s=0;r>0&&(o[s++]=new A(r,``,0,!1));let c=r;for(let l=0,u=n.getCount();l<u;l++){let u=n.getEndOffset(l);if(u<=r)continue;let d=n.getClassName(l);if(u>=a){let n=t?i.jc(e.substring(c,a)):!1;o[s++]=new A(a,d,0,n);break}let f=t?i.jc(e.substring(c,u)):!1;o[s++]=new A(u,d,0,f),c=u}return o}function xr(e,t,n){let r=0,i=[],a=0;if(n)for(let n=0,o=t.length;n<o;n++){let o=t[n],s=o.endIndex;if(r+50<s){let t=o.type,n=o.metadata,c=o.containsRTL,l=-1,u=r;for(let o=r;o<s;o++)e.charCodeAt(o)===32&&(l=o),l!==-1&&o-u>=50&&(i[a++]=new A(l+1,t,n,c),u=l+1,l=-1);u!==s&&(i[a++]=new A(s,t,n,c))}else i[a++]=o;r=s}else for(let e=0,n=t.length;e<n;e++){let n=t[e],o=n.endIndex,s=o-r;if(s>50){let e=n.type,t=n.metadata,c=n.containsRTL,l=Math.ceil(s/50);for(let n=1;n<l;n++){let o=r+n*50;i[a++]=new A(o,e,t,c)}i[a++]=new A(o,e,t,c)}else i[a++]=n;r=o}return i}function Sr(e){return e<32?e!==9:e===127||e>=8234&&e<=8238||e>=8294&&e<=8297||e>=8206&&e<=8207||e===1564}function Cr(e,t){let n=[],r=new A(0,``,0,!1),i=0;for(let a of t){let t=a.endIndex;for(;i<t;i++)Sr(e.charCodeAt(i))&&(i>r.endIndex&&(r=new A(i,a.type,a.metadata,a.containsRTL),n.push(r)),r=new A(i+1,`mtkcontrol`,a.metadata,!1),n.push(r));i>r.endIndex&&(r=new A(t,a.type,a.metadata,a.containsRTL),n.push(r))}return n}function wr(e,t,n,r){let a=e.continuesWithWrappedLine,o=e.fauxIndentLength,s=e.tabSize,c=e.startVisibleColumn,l=e.useMonospaceOptimizations,u=e.selectionsOnLine,d=e.renderWhitespace===1,f=e.renderWhitespace===3,p=e.renderSpaceWidth!==e.spaceWidth,m=[],h=0,g=0,_=r[g].type,v=r[g].containsRTL,y=r[g].endIndex,b=r.length,x=!1,S=i.Lc(t),C;S===-1?(x=!0,S=n,C=n):C=i.Zc(t);let w=!1,T=0,E=u&&u[T],D=c%s;for(let e=o;e<n;e++){let a=t.charCodeAt(e);E&&e>=E.endOffset&&(T++,E=u&&u[T]);let c;if(e<S||e>C)c=!0;else if(a===9)c=!0;else if(a===32)if(d)if(w)c=!0;else{let r=e+1<n?t.charCodeAt(e+1):0;c=r===32||r===9}else c=!0;else c=!1;if(c&&u&&(c=!!E&&E.startOffset<=e&&E.endOffset>e),c&&f&&(c=x||e>C),c&&v&&e>=S&&e<=C&&(c=!1),w){if(!c||!l&&D>=s){if(p){let t=h>0?m[h-1].endIndex:o;for(let n=t+1;n<=e;n++)m[h++]=new A(n,`mtkw`,1,!1)}else m[h++]=new A(e,`mtkw`,1,!1);D%=s}}else (e===y||c&&e>o)&&(m[h++]=new A(e,_,0,v),D%=s);for(a===9?D=s:i.Kc(a)?D+=2:D++,w=c;e===y&&(g++,g<b);)_=r[g].type,v=r[g].containsRTL,y=r[g].endIndex}let ee=!1;if(w)if(a&&d){let e=n>0?t.charCodeAt(n-1):0,r=n>1?t.charCodeAt(n-2):0;e===32&&r!==32&&r!==9||(ee=!0)}else ee=!0;if(ee)if(p){let e=h>0?m[h-1].endIndex:o;for(let t=e+1;t<=n;t++)m[h++]=new A(t,`mtkw`,1,!1)}else m[h++]=new A(n,`mtkw`,1,!1);else m[h++]=new A(n,_,0,v);return m}function Tr(e,t,n,r){r.sort(or.compare);let i=lr.normalize(e,r),a=i.length,o=0,s=[],c=0,l=0;for(let e=0,t=n.length;e<t;e++){let t=n[e],r=t.endIndex,u=t.type,d=t.metadata,f=t.containsRTL;for(;o<a&&i[o].startOffset<r;){let e=i[o];if(e.startOffset>l&&(l=e.startOffset,s[c++]=new A(l,u,d,f)),e.endOffset+1<=r)l=e.endOffset+1,s[c++]=new A(l,u+` `+e.className,d|e.metadata,f),o++;else{l=r,s[c++]=new A(l,u+` `+e.className,d|e.metadata,f);break}}r>l&&(l=r,s[c++]=new A(l,u,d,f))}let u=n[n.length-1].endIndex;if(o<a&&i[o].startOffset===u)for(;o<a&&i[o].startOffset===u;){let e=i[o];s[c++]=new A(l,e.className,e.metadata,!1),o++}return s}function Er(e,t){let n=e.fontIsMonospace,r=e.canUseHalfwidthRightwardsArrow,a=e.containsForeignElements,o=e.lineContent,s=e.len,c=e.isOverflowing,l=e.parts,u=e.fauxIndentLength,d=e.tabSize,f=e.startVisibleColumn,p=e.containsRTL,m=e.spaceWidth,h=e.renderSpaceCharCode,g=e.renderWhitespace,_=e.renderControlCharacters,v=new pr(s+1,l.length),y=!1,b=0,x=f,S=0,C=0,w=0;p?t.appendASCIIString(`<span dir="ltr">`):t.appendASCIIString(`<span>`);for(let e=0,c=l.length;e<c;e++){let c=l[e],f=c.endIndex,p=c.type,T=c.containsRTL,E=g!==0&&c.isWhitespace(),D=E&&!n&&(p===`mtkw`||!a),ee=b===f&&c.isPseudoAfter();if(S=0,t.appendASCIIString(`<span `),T&&t.appendASCIIString(`style="unicode-bidi:isolate" `),t.appendASCIIString(`class="`),t.appendASCIIString(D?`mtkz`:p),t.appendASCII(34),E){let n=0;{let e=b,t=x;for(;e<f;e++){let r=(o.charCodeAt(e)===9?d-t%d:1)|0;n+=r,e>=u&&(t+=r)}}for(D&&(t.appendASCIIString(` style="width:`),t.appendASCIIString(String(m*n)),t.appendASCIIString(`px"`)),t.appendASCII(62);b<f;b++){v.setColumnInfo(b+1,e-w,S,C),w=0;let n=o.charCodeAt(b),i,a;if(n===9){i=d-x%d|0,a=i,!r||a>1?t.write1(8594):t.write1(65515);for(let e=2;e<=a;e++)t.write1(160)}else i=2,a=1,t.write1(h),t.write1(8204);S+=i,C+=a,b>=u&&(x+=a)}}else for(t.appendASCII(62);b<f;b++){v.setColumnInfo(b+1,e-w,S,C),w=0;let n=o.charCodeAt(b),r=1,a=1;switch(n){case 9:r=d-x%d,a=r;for(let e=1;e<=r;e++)t.write1(160);break;case 32:t.write1(160);break;case 60:t.appendASCIIString(`<`);break;case 62:t.appendASCIIString(`>`);break;case 38:t.appendASCIIString(`&`);break;case 0:_?t.write1(9216):t.appendASCIIString(`�`);break;case 65279:case 8232:case 8233:case 133:t.write1(65533);break;default:i.Kc(n)&&a++,_&&n<32?t.write1(9216+n):_&&n===127?t.write1(9249):_&&Sr(n)?(t.appendASCIIString(`[U+`),t.appendASCIIString(Dr(n)),t.appendASCIIString(`]`),r=8,a=r):t.write1(n)}S+=r,C+=a,b>=u&&(x+=a)}ee?w++:w=0,b>=s&&!y&&c.isPseudoAfter()&&(y=!0,v.setColumnInfo(b+1,e,S,C)),t.appendASCIIString(`</span>`)}return y||v.setColumnInfo(s+1,l.length-1,S,C),c&&t.appendASCIIString(`<span>…</span>`),t.appendASCIIString(`</span>`),new mr(v,p,a)}function Dr(e){return e.toString(16).toUpperCase().padStart(4,`0`)}var Or=class{constructor(e,t,n,r){this._viewportBrand=void 0,this.top=e|0,this.left=t|0,this.width=n|0,this.height=r|0}},kr=class{constructor(e,t){this.tabSize=e,this.data=t}},Ar=class{constructor(e,t,n,r,i,a,o){this._viewLineDataBrand=void 0,this.content=e,this.continuesWithWrappedLine=t,this.minColumn=n,this.maxColumn=r,this.startVisibleColumn=i,this.tokens=a,this.inlineDecorations=o}},jr=class e{constructor(t,n,r,i,a,o,s,c,l,u){this.minColumn=t,this.maxColumn=n,this.content=r,this.continuesWithWrappedLine=i,this.isBasicASCII=e.isBasicASCII(r,o),this.containsRTL=e.containsRTL(r,this.isBasicASCII,a),this.tokens=s,this.inlineDecorations=c,this.tabSize=l,this.startVisibleColumn=u}static isBasicASCII(e,t){return t?i.Uc(e):!0}static containsRTL(e,t,n){return!t&&n?i.jc(e):!1}},Mr=class{constructor(e,t,n){this.range=e,this.inlineClassName=t,this.type=n}},Nr=class{constructor(e,t,n,r){this.startOffset=e,this.endOffset=t,this.inlineClassName=n,this.inlineClassNameAffectsLetterSpacing=r}toInlineDecoration(e){return new Mr(new i.Ol(e,this.startOffset+1,e,this.endOffset+1),this.inlineClassName,this.inlineClassNameAffectsLetterSpacing?3:0)}},Pr=class{constructor(e,t){this._viewModelDecorationBrand=void 0,this.range=e,this.options=t}},Fr=class{constructor(e,t,n){this.color=e,this.zIndex=t,this.data=n}static cmp(e,t){return e.zIndex===t.zIndex?e.color<t.color?-1:e.color>t.color?1:0:e.zIndex-t.zIndex}};function Ir(e){return Array.isArray(e)}function Lr(e){return!Ir(e)}function Rr(e){return typeof e==`string`}function zr(e){return!Rr(e)}function Br(e){return!e}function Vr(e,t){return e.ignoreCase&&t?t.toLowerCase():t}function Hr(e){return e.replace(/[&<>'"_]/g,`-`)}function Ur(e,t){`${e.languageId}${t}`}function j(e,t){return Error(`${e.languageId}: ${t}`)}function Wr(e,t,n,r,i){let a=/\$((\$)|(#)|(\d\d?)|[sS](\d\d?)|@(\w+))/g,o=null;return t.replace(a,function(t,a,s,c,l,u,d,f,p){return Br(s)?Br(c)?!Br(l)&&l<r.length?Vr(e,r[l]):!Br(d)&&e&&typeof e[d]==`string`?e[d]:(o===null&&(o=i.split(`.`),o.unshift(i)),!Br(u)&&u<o.length?Vr(e,o[u]):``):Vr(e,n):`$`})}function Gr(e,t){let n=t;for(;n&&n.length>0;){let t=e.tokenizer[n];if(t)return t;let r=n.lastIndexOf(`.`);n=r<0?null:n.substr(0,r)}return null}function Kr(e,t){let n=t;for(;n&&n.length>0;){if(e.stateNames[n])return!0;let t=n.lastIndexOf(`.`);n=t<0?null:n.substr(0,t)}return!1}var qr=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Jr=function(e,t){return function(n,r){t(n,r,e)}},Yr=5,Xr=class{constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}static create(e,t){return this._INSTANCE.create(e,t)}create(e,t){if(e!==null&&e.depth>=this._maxCacheDepth)return new Zr(e,t);let n=Zr.getStackElementId(e);n.length>0&&(n+=`|`),n+=t;let r=this._entries[n];return r||(r=new Zr(e,t),this._entries[n]=r,r)}};Xr._INSTANCE=new Xr(Yr);var Zr=class e{constructor(e,t){this.parent=e,this.state=t,this.depth=(this.parent?this.parent.depth:0)+1}static getStackElementId(e){let t=``;for(;e!==null;)t.length>0&&(t+=`|`),t+=e.state,e=e.parent;return t}static _equals(e,t){for(;e!==null&&t!==null;){if(e===t)return!0;if(e.state!==t.state)return!1;e=e.parent,t=t.parent}return e===null&&t===null}equals(t){return e._equals(this,t)}push(e){return Xr.create(this,e)}pop(){return this.parent}popall(){let e=this;for(;e.parent;)e=e.parent;return e}switchTo(e){return Xr.create(this.parent,e)}},Qr=class e{constructor(e,t){this.languageId=e,this.state=t}equals(e){return this.languageId===e.languageId&&this.state.equals(e.state)}clone(){return this.state.clone()===this.state?this:new e(this.languageId,this.state)}},$r=class{constructor(e){this._maxCacheDepth=e,this._entries=Object.create(null)}static create(e,t){return this._INSTANCE.create(e,t)}create(e,t){if(t!==null||e!==null&&e.depth>=this._maxCacheDepth)return new ei(e,t);let n=Zr.getStackElementId(e),r=this._entries[n];return r||(r=new ei(e,null),this._entries[n]=r,r)}};$r._INSTANCE=new $r(Yr);var ei=class e{constructor(e,t){this.stack=e,this.embeddedLanguageData=t}clone(){return(this.embeddedLanguageData?this.embeddedLanguageData.clone():null)===this.embeddedLanguageData?this:$r.create(this.stack,this.embeddedLanguageData)}equals(t){return!(t instanceof e)||!this.stack.equals(t.stack)?!1:this.embeddedLanguageData===null&&t.embeddedLanguageData===null?!0:this.embeddedLanguageData===null||t.embeddedLanguageData===null?!1:this.embeddedLanguageData.equals(t.embeddedLanguageData)}},ti=class{constructor(){this._tokens=[],this._languageId=null,this._lastTokenType=null,this._lastTokenLanguage=null}enterLanguage(e){this._languageId=e}emit(e,t){this._lastTokenType===t&&this._lastTokenLanguage===this._languageId||(this._lastTokenType=t,this._lastTokenLanguage=this._languageId,this._tokens.push(new i.bl(e,t,this._languageId)))}nestedLanguageTokenize(e,t,n,r){let a=n.languageId,o=n.state,s=i.xl.get(a);if(!s)return this.enterLanguage(a),this.emit(r,``),o;let c=s.tokenize(e,t,o);if(r!==0)for(let e of c.tokens)this._tokens.push(new i.bl(e.offset+r,e.type,e.language));else this._tokens=this._tokens.concat(c.tokens);return this._lastTokenType=null,this._lastTokenLanguage=null,this._languageId=null,c.endState}finalize(e){return new i.Sl(this._tokens,e)}},ni=class e{constructor(e,t){this._languageService=e,this._theme=t,this._prependTokens=null,this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0}enterLanguage(e){this._currentLanguageId=this._languageService.languageIdCodec.encodeLanguageId(e)}emit(e,t){let n=this._theme.match(this._currentLanguageId,t);this._lastTokenMetadata!==n&&(this._lastTokenMetadata=n,this._tokens.push(e),this._tokens.push(n))}static _merge(e,t,n){let r=e===null?0:e.length,i=t.length,a=n===null?0:n.length;if(r===0&&i===0&&a===0)return new Uint32Array;if(r===0&&i===0)return n;if(i===0&&a===0)return e;let o=new Uint32Array(r+i+a);e!==null&&o.set(e);for(let e=0;e<i;e++)o[r+e]=t[e];return n!==null&&o.set(n,r+i),o}nestedLanguageTokenize(t,n,r,a){let o=r.languageId,s=r.state,c=i.xl.get(o);if(!c)return this.enterLanguage(o),this.emit(a,``),s;let l=c.tokenizeEncoded(t,n,s);if(a!==0)for(let e=0,t=l.tokens.length;e<t;e+=2)l.tokens[e]+=a;return this._prependTokens=e._merge(this._prependTokens,this._tokens,l.tokens),this._tokens=[],this._currentLanguageId=0,this._lastTokenMetadata=0,l.endState}finalize(t){return new i.ml(e._merge(this._prependTokens,this._tokens,null),t)}},ri=class e{constructor(e,t,n,r,a){this._configurationService=a,this._languageService=e,this._standaloneThemeService=t,this._languageId=n,this._lexer=r,this._embeddedLanguages=Object.create(null),this.embeddedLoaded=Promise.resolve(void 0);let o=!1;this._tokenizationRegistryListener=i.xl.onDidChange(e=>{if(o)return;let t=!1;for(let n=0,r=e.changedLanguages.length;n<r;n++){let r=e.changedLanguages[n];if(this._embeddedLanguages[r]){t=!0;break}}t&&(o=!0,i.xl.fire([this._languageId]),o=!1)}),this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}),this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration(`editor.maxTokenizationLineLength`)&&(this._maxTokenizationLineLength=this._configurationService.getValue(`editor.maxTokenizationLineLength`,{overrideIdentifier:this._languageId}))})}dispose(){this._tokenizationRegistryListener.dispose()}getLoadStatus(){let t=[];for(let n in this._embeddedLanguages){let r=i.xl.get(n);if(r){if(r instanceof e){let e=r.getLoadStatus();e.loaded===!1&&t.push(e.promise)}continue}i.xl.isResolved(n)||t.push(i.xl.getOrCreate(n))}return t.length===0?{loaded:!0}:{loaded:!1,promise:Promise.all(t).then(e=>void 0)}}getInitialState(){let e=Xr.create(null,this._lexer.start);return $r.create(e,null)}tokenize(e,t,n){if(e.length>=this._maxTokenizationLineLength)return i.Ms(this._languageId,n);let r=new ti,a=this._tokenize(e,t,n,r);return r.finalize(a)}tokenizeEncoded(e,t,n){if(e.length>=this._maxTokenizationLineLength)return i.Ns(this._languageService.languageIdCodec.encodeLanguageId(this._languageId),n);let r=new ni(this._languageService,this._standaloneThemeService.getColorTheme().tokenTheme),a=this._tokenize(e,t,n,r);return r.finalize(a)}_tokenize(e,t,n,r){return n.embeddedLanguageData?this._nestedTokenize(e,t,n,0,r):this._myTokenize(e,t,n,0,r)}_findLeavingNestedLanguageOffset(e,t){let n=this._lexer.tokenizer[t.stack.state];if(!n&&(n=Gr(this._lexer,t.stack.state),!n))throw j(this._lexer,`tokenizer state is not defined: `+t.stack.state);let r=-1,i=!1;for(let t of n){if(!zr(t.action)||t.action.nextEmbedded!==`@pop`)continue;i=!0;let n=t.regex,a=t.regex.source;if(a.substr(0,4)===`^(?:`&&a.substr(a.length-1,1)===`)`){let e=(n.ignoreCase?`i`:``)+(n.unicode?`u`:``);n=new RegExp(a.substr(4,a.length-5),e)}let o=e.search(n);o===-1||o!==0&&t.matchOnlyAtLineStart||(r===-1||o<r)&&(r=o)}if(!i)throw j(this._lexer,`no rule containing nextEmbedded: "@pop" in tokenizer embedded state: `+t.stack.state);return r}_nestedTokenize(e,t,n,r,i){let a=this._findLeavingNestedLanguageOffset(e,n);if(a===-1){let a=i.nestedLanguageTokenize(e,t,n.embeddedLanguageData,r);return $r.create(n.stack,new Qr(n.embeddedLanguageData.languageId,a))}let o=e.substring(0,a);o.length>0&&i.nestedLanguageTokenize(o,!1,n.embeddedLanguageData,r);let s=e.substring(a);return this._myTokenize(s,t,n,r+a,i)}_safeRuleName(e){return e?e.name:`(unknown)`}_myTokenize(e,t,n,r,i){i.enterLanguage(this._languageId);let a=e.length,o=t&&this._lexer.includeLF?e+`
|
|
6
6
|
`:e,s=o.length,c=n.embeddedLanguageData,l=n.stack,u=0,d=null,f=!0;for(;f||u<s;){let n=u,p=l.depth,m=d?d.groups.length:0,h=l.state,g=null,_=null,v=null,y=null,b=null;if(d){g=d.matches;let e=d.groups.shift();_=e.matched,v=e.action,y=d.rule,d.groups.length===0&&(d=null)}else{if(!f&&u>=s)break;f=!1;let e=this._lexer.tokenizer[h];if(!e&&(e=Gr(this._lexer,h),!e))throw j(this._lexer,`tokenizer state is not defined: `+h);let t=o.substr(u);for(let n of e)if((u===0||!n.matchOnlyAtLineStart)&&(g=t.match(n.regex),g)){_=g[0],v=n.action;break}}if(g||(g=[``],_=``),v||=(u<s&&(g=[o.charAt(u)],_=g[0]),this._lexer.defaultToken),_===null)break;for(u+=_.length;Lr(v)&&zr(v)&&v.test;)v=v.test(_,g,h,u===s);let x=null;if(typeof v==`string`||Array.isArray(v))x=v;else if(v.group)x=v.group;else if(v.token!==null&&v.token!==void 0){if(x=v.tokenSubst?Wr(this._lexer,v.token,_,g,h):v.token,v.nextEmbedded)if(v.nextEmbedded===`@pop`){if(!c)throw j(this._lexer,`cannot pop embedded language if not inside one`);c=null}else if(c)throw j(this._lexer,`cannot enter embedded language from within an embedded language`);else b=Wr(this._lexer,v.nextEmbedded,_,g,h);if(v.goBack&&(u=Math.max(0,u-v.goBack)),v.switchTo&&typeof v.switchTo==`string`){let e=Wr(this._lexer,v.switchTo,_,g,h);if(e[0]===`@`&&(e=e.substr(1)),Gr(this._lexer,e))l=l.switchTo(e);else throw j(this._lexer,`trying to switch to a state '`+e+`' that is undefined in rule: `+this._safeRuleName(y))}else if(v.transform&&typeof v.transform==`function`)throw j(this._lexer,`action.transform not supported`);else if(v.next)if(v.next===`@push`){if(l.depth>=this._lexer.maxStack)throw j(this._lexer,`maximum tokenizer stack size reached: [`+l.state+`,`+l.parent.state+`,...]`);l=l.push(h)}else if(v.next===`@pop`){if(l.depth<=1)throw j(this._lexer,`trying to pop an empty stack in rule: `+this._safeRuleName(y));l=l.pop()}else if(v.next===`@popall`)l=l.popall();else{let e=Wr(this._lexer,v.next,_,g,h);if(e[0]===`@`&&(e=e.substr(1)),Gr(this._lexer,e))l=l.push(e);else throw j(this._lexer,`trying to set a next state '`+e+`' that is undefined in rule: `+this._safeRuleName(y))}v.log&&typeof v.log==`string`&&Ur(this._lexer,this._lexer.languageId+`: `+Wr(this._lexer,v.log,_,g,h))}if(x===null)throw j(this._lexer,`lexer rule has no well-defined action in rule: `+this._safeRuleName(y));let S=n=>{let a=this._languageService.getLanguageIdByLanguageName(n)||this._languageService.getLanguageIdByMimeType(n)||n,o=this._getNestedEmbeddedLanguageData(a);if(u<s){let n=e.substr(u);return this._nestedTokenize(n,t,$r.create(l,o),r+u,i)}else return $r.create(l,o)};if(Array.isArray(x)){if(d&&d.groups.length>0)throw j(this._lexer,`groups cannot be nested: `+this._safeRuleName(y));if(g.length!==x.length+1)throw j(this._lexer,`matched number of groups does not match the number of actions in rule: `+this._safeRuleName(y));let e=0;for(let t=1;t<g.length;t++)e+=g[t].length;if(e!==_.length)throw j(this._lexer,`with groups, all characters should be matched in consecutive groups in rule: `+this._safeRuleName(y));d={rule:y,matches:g,groups:[]};for(let e=0;e<x.length;e++)d.groups[e]={action:x[e],matched:g[e+1]};u-=_.length;continue}else{if(x===`@rematch`&&(u-=_.length,_=``,g=null,x=``,b!==null))return S(b);if(_.length===0){if(s===0||p!==l.depth||h!==l.state||(d?d.groups.length:0)!==m)continue;throw j(this._lexer,`no progress in tokenizer in rule: `+this._safeRuleName(y))}let e=null;if(Rr(x)&&x.indexOf(`@brackets`)===0){let t=x.substr(9),n=ii(this._lexer,_);if(!n)throw j(this._lexer,`@brackets token returned but no bracket defined as: `+_);e=Hr(n.token+t)}else e=Hr(x===``?``:x+this._lexer.tokenPostfix);n<a&&i.emit(n+r,e)}if(b!==null)return S(b)}return $r.create(l,c)}_getNestedEmbeddedLanguageData(e){if(!this._languageService.isRegisteredLanguageId(e))return new Qr(e,i.js);e!==this._languageId&&(i.xl.getOrCreate(e),this._embeddedLanguages[e]=!0);let t=i.xl.get(e);return t?new Qr(e,t.getInitialState()):new Qr(e,i.js)}};ri=qr([Jr(4,i.Ys)],ri);function ii(e,t){if(!t)return null;t=Vr(e,t);let n=e.brackets;for(let e of n)if(e.open===t)return{token:e.token,bracketType:1};else if(e.close===t)return{token:e.token,bracketType:-1};return null}var ai=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},oi=window.trustedTypes?.createPolicy(`standaloneColorizer`,{createHTML:e=>e}),si=class{static colorizeElement(e,t,n,r){r||={};let i=r.theme||`vs`,a=r.mimeType||n.getAttribute(`lang`)||n.getAttribute(`data-lang`);if(!a)return console.error(`Mode not detected`),Promise.resolve();let o=t.getLanguageIdByMimeType(a)||a;e.setTheme(i);let s=n.firstChild?n.firstChild.nodeValue:``;return n.className+=` `+i,this.colorize(t,s||``,o,r).then(e=>{n.innerHTML=oi?.createHTML(e)??e},e=>console.error(e))}static colorize(e,t,n,r){return ai(this,void 0,void 0,function*(){let a=e.languageIdCodec,o=4;r&&typeof r.tabSize==`number`&&(o=r.tabSize),i.sl(t)&&(t=t.substr(1));let s=i.al(t);if(!e.isRegisteredLanguageId(n))return li(s,o,a);let c=yield i.xl.getOrCreate(n);return c?ci(s,o,c,a):li(s,o,a)})}static colorizeLine(e,t,n,r,i=4){let a=jr.isBasicASCII(e,t);return _r(new dr(!1,!0,e,!1,a,jr.containsRTL(e,a,n),0,r,[],i,0,0,0,0,-1,`none`,!1,!1,null)).html}static colorizeModelLine(e,t,n=4){let r=e.getLineContent(t);e.tokenization.forceTokenization(t);let i=e.tokenization.getLineTokens(t).inflate();return this.colorizeLine(r,e.mightContainNonBasicASCII(),e.mightContainRTL(),i,n)}};function ci(e,t,n,r){return new Promise((i,a)=>{let o=()=>{let s=ui(e,t,n,r);if(n instanceof ri){let e=n.getLoadStatus();if(e.loaded===!1){e.promise.then(o,a);return}}i(s)};o()})}function li(e,t,n){let r=[],a=new Uint32Array(2);a[0]=0,a[1]=33587200;for(let o=0,s=e.length;o<s;o++){let s=e[o];a[0]=s.length;let c=new i.Yo(a,s,n),l=jr.isBasicASCII(s,!0),u=_r(new dr(!1,!0,s,!1,l,jr.containsRTL(s,l,!0),0,c,[],t,0,0,0,0,-1,`none`,!1,!1,null));r=r.concat(u.html),r.push(`<br/>`)}return r.join(``)}function ui(e,t,n,r){let a=[],o=n.getInitialState();for(let s=0,c=e.length;s<c;s++){let c=e[s],l=n.tokenizeEncoded(c,!0,o);i.Yo.convertToEndOffset(l.tokens,c.length);let u=new i.Yo(l.tokens,c,r),d=jr.isBasicASCII(c,!0),f=_r(new dr(!1,!0,c,!1,d,jr.containsRTL(c,d,!0),0,u.inflate(),[],t,0,0,0,0,-1,`none`,!1,!1,null));a=a.concat(f.html),a.push(`<br/>`),o=l.endState}return a.join(``)}var di=2e4,fi,pi,mi,hi,gi;function _i(e){fi=document.createElement(`div`),fi.className=`monaco-aria-container`;let t=()=>{let e=document.createElement(`div`);return e.className=`monaco-alert`,e.setAttribute(`role`,`alert`),e.setAttribute(`aria-atomic`,`true`),fi.appendChild(e),e};pi=t(),mi=t();let n=()=>{let e=document.createElement(`div`);return e.className=`monaco-status`,e.setAttribute(`role`,`complementary`),e.setAttribute(`aria-live`,`polite`),e.setAttribute(`aria-atomic`,`true`),fi.appendChild(e),e};hi=n(),gi=n(),e.appendChild(fi)}function vi(e){fi&&(pi.textContent===e?(i.$a(pi),bi(mi,e)):(i.$a(mi),bi(pi,e)))}function yi(e){fi&&(i.bd?vi(e):hi.textContent===e?(i.$a(hi),bi(gi,e)):(i.$a(gi),bi(hi,e)))}function bi(e,t){i.$a(e),t.length>di&&(t=t.substr(0,di)),e.textContent=t,e.style.visibility=`hidden`,e.style.visibility=`visible`}var xi=i.mc(`markerDecorationsService`),Si=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Ci=function(e,t){return function(n,r){t(n,r,e)}},wi=class{constructor(e,t){}dispose(){}};wi.ID=`editor.contrib.markerDecorations`,wi=Si([Ci(1,xi)],wi),i.ta(wi.ID,wi);var Ti=class extends i.Xl{constructor(e,t){super(),this._onDidChange=this._register(new i.Ul),this.onDidChange=this._onDidChange.event,this._referenceDomElement=e,this._width=-1,this._height=-1,this._resizeObserver=null,this.measureReferenceDomElement(!1,t)}dispose(){this.stopObserving(),super.dispose()}getWidth(){return this._width}getHeight(){return this._height}startObserving(){!this._resizeObserver&&this._referenceDomElement&&(this._resizeObserver=new ResizeObserver(e=>{e&&e[0]&&e[0].contentRect?this.observe({width:e[0].contentRect.width,height:e[0].contentRect.height}):this.observe()}),this._resizeObserver.observe(this._referenceDomElement))}stopObserving(){this._resizeObserver&&=(this._resizeObserver.disconnect(),null)}observe(e){this.measureReferenceDomElement(!0,e)}measureReferenceDomElement(e,t){let n=0,r=0;t?(n=t.width,r=t.height):this._referenceDomElement&&(n=this._referenceDomElement.clientWidth,r=this._referenceDomElement.clientHeight),n=Math.max(5,n),r=Math.max(5,r),(this._width!==n||this._height!==r)&&(this._width=n,this._height=r,e&&this._onDidChange.fire())}},Ei=class e{constructor(e,t){this.key=e,this.migrate=t}apply(t){let n=e._read(t,this.key);this.migrate(n,n=>e._read(t,n),(n,r)=>e._write(t,n,r))}static _read(e,t){if(e===void 0)return;let n=t.indexOf(`.`);if(n>=0){let r=t.substring(0,n);return this._read(e[r],t.substring(n+1))}return e[t]}static _write(e,t,n){let r=t.indexOf(`.`);if(r>=0){let i=t.substring(0,r);e[i]=e[i]||{},this._write(e[i],t.substring(r+1),n);return}e[t]=n}};Ei.items=[];function Di(e,t){Ei.items.push(new Ei(e,t))}function Oi(e,t){Di(e,(n,r,i)=>{if(n!==void 0){for(let[r,a]of t)if(n===r){i(e,a);return}}})}function ki(e){Ei.items.forEach(t=>t.apply(e))}Oi(`wordWrap`,[[!0,`on`],[!1,`off`]]),Oi(`lineNumbers`,[[!0,`on`],[!1,`off`]]),Oi(`cursorBlinking`,[[`visible`,`solid`]]),Oi(`renderWhitespace`,[[!0,`boundary`],[!1,`none`]]),Oi(`renderLineHighlight`,[[!0,`line`],[!1,`none`]]),Oi(`acceptSuggestionOnEnter`,[[!0,`on`],[!1,`off`]]),Oi(`tabCompletion`,[[!1,`off`],[!0,`onlySnippets`]]),Oi(`hover`,[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Oi(`parameterHints`,[[!0,{enabled:!0}],[!1,{enabled:!1}]]),Oi(`autoIndent`,[[!1,`advanced`],[!0,`full`]]),Oi(`matchBrackets`,[[!0,`always`],[!1,`never`]]),Di(`autoClosingBrackets`,(e,t,n)=>{e===!1&&(n(`autoClosingBrackets`,`never`),t(`autoClosingQuotes`)===void 0&&n(`autoClosingQuotes`,`never`),t(`autoSurround`)===void 0&&n(`autoSurround`,`never`))}),Di(`renderIndentGuides`,(e,t,n)=>{e!==void 0&&(n(`renderIndentGuides`,void 0),t(`guides.indentation`)===void 0&&n(`guides.indentation`,!!e))}),Di(`highlightActiveIndentGuide`,(e,t,n)=>{e!==void 0&&(n(`highlightActiveIndentGuide`,void 0),t(`guides.highlightActiveIndentation`)===void 0&&n(`guides.highlightActiveIndentation`,!!e))});var Ai={method:`showMethods`,function:`showFunctions`,constructor:`showConstructors`,deprecated:`showDeprecated`,field:`showFields`,variable:`showVariables`,class:`showClasses`,struct:`showStructs`,interface:`showInterfaces`,module:`showModules`,property:`showProperties`,event:`showEvents`,operator:`showOperators`,unit:`showUnits`,value:`showValues`,constant:`showConstants`,enum:`showEnums`,enumMember:`showEnumMembers`,keyword:`showKeywords`,text:`showWords`,color:`showColors`,file:`showFiles`,reference:`showReferences`,folder:`showFolders`,typeParameter:`showTypeParameters`,snippet:`showSnippets`};Di(`suggest.filteredTypes`,(e,t,n)=>{if(e&&typeof e==`object`){for(let r of Object.entries(Ai))e[r[0]]===!1&&t(`suggest.${r[1]}`)===void 0&&n(`suggest.${r[1]}`,!1);n(`suggest.filteredTypes`,void 0)}}),Di(`quickSuggestions`,(e,t,n)=>{if(typeof e==`boolean`){let t=e?`on`:`off`;n(`quickSuggestions`,{comments:t,strings:t,other:t})}});var ji=new class{constructor(){this._tabFocus=!1,this._onDidChangeTabFocus=new i.Ul,this.onDidChangeTabFocus=this._onDidChangeTabFocus.event}getTabFocusMode(){return this._tabFocus}setTabFocusMode(e){this._tabFocus!==e&&(this._tabFocus=e,this._onDidChangeTabFocus.fire(this._tabFocus))}},Mi=i.mc(`accessibilityService`),Ni=new i.Da(`accessibilityModeEnabled`,!1),Pi=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Fi=function(e,t){return function(n,r){t(n,r,e)}},Ii=class extends i.Xl{constructor(e,t,n,r){super(),this._accessibilityService=r,this._onDidChange=this._register(new i.Ul),this.onDidChange=this._onDidChange.event,this._onDidChangeFast=this._register(new i.Ul),this.onDidChangeFast=this._onDidChangeFast.event,this._isDominatedByLongLines=!1,this._viewLineCount=1,this._lineNumbersDigitCount=1,this._reservedHeight=0,this._computeOptionsMemory=new o,this.isSimpleWidget=e,this._containerObserver=this._register(new Ti(n,t.dimension)),this._rawOptions=Hi(t),this._validatedOptions=Vi.validateOptions(this._rawOptions),this.options=this._computeOptions(),this.options.get(10)&&this._containerObserver.startObserving(),this._register(kt.onDidChangeZoomLevel(()=>this._recomputeOptions())),this._register(ji.onDidChangeTabFocus(()=>this._recomputeOptions())),this._register(this._containerObserver.onDidChange(()=>this._recomputeOptions())),this._register(It.onDidChange(()=>this._recomputeOptions())),this._register(i.hc.onDidChange(()=>this._recomputeOptions())),this._register(this._accessibilityService.onDidChangeScreenReaderOptimized(()=>this._recomputeOptions()))}_recomputeOptions(){let e=this._computeOptions(),t=Vi.checkEquals(this.options,e);t!==null&&(this.options=e,this._onDidChangeFast.fire(t),this._onDidChange.fire(t))}_computeOptions(){let e=this._readEnvConfiguration(),t=Mt.createFromValidatedSettings(this._validatedOptions,e.pixelRatio,this.isSimpleWidget),n=this._readFontInfo(t),r={memory:this._computeOptionsMemory,outerWidth:e.outerWidth,outerHeight:e.outerHeight-this._reservedHeight,fontInfo:n,extraEditorClassName:e.extraEditorClassName,isDominatedByLongLines:this._isDominatedByLongLines,viewLineCount:this._viewLineCount,lineNumbersDigitCount:this._lineNumbersDigitCount,emptySelectionClipboard:e.emptySelectionClipboard,pixelRatio:e.pixelRatio,tabFocusMode:ji.getTabFocusMode(),accessibilitySupport:e.accessibilitySupport};return Vi.computeOptions(this._validatedOptions,r)}_readEnvConfiguration(){return{extraEditorClassName:Ri(),outerWidth:this._containerObserver.getWidth(),outerHeight:this._containerObserver.getHeight(),emptySelectionClipboard:i.Cc||i.bc,pixelRatio:i.hc.value,accessibilitySupport:this._accessibilityService.isScreenReaderOptimized()?2:this._accessibilityService.getAccessibilitySupport()}}_readFontInfo(e){return It.readFontInfo(e)}getRawOptions(){return this._rawOptions}updateOptions(e){let t=Hi(e);Vi.applyUpdate(this._rawOptions,t)&&(this._validatedOptions=Vi.validateOptions(this._rawOptions),this._recomputeOptions())}observeContainer(e){this._containerObserver.observe(e)}setIsDominatedByLongLines(e){this._isDominatedByLongLines!==e&&(this._isDominatedByLongLines=e,this._recomputeOptions())}setModelLineCount(e){let t=Li(e);this._lineNumbersDigitCount!==t&&(this._lineNumbersDigitCount=t,this._recomputeOptions())}setViewLineCount(e){this._viewLineCount!==e&&(this._viewLineCount=e,this._recomputeOptions())}setReservedHeight(e){this._reservedHeight!==e&&(this._reservedHeight=e,this._recomputeOptions())}};Ii=Pi([Fi(3,Mi)],Ii);function Li(e){let t=0;for(;e;)e=Math.floor(e/10),t++;return t||1}function Ri(){let e=``;return!i.xc&&!i.wc&&(e+=`no-user-select `),i.xc&&(e+=`no-minimap-shadow `,e+=`enable-user-select `),i.bd&&(e+=`mac `),e}var zi=class{constructor(){this._values=[]}_read(e){return this._values[e]}get(e){return this._values[e]}_write(e,t){this._values[e]=t}},Bi=class{constructor(){this._values=[]}_read(e){if(e>=this._values.length)throw Error(`Cannot read uninitialized value`);return this._values[e]}get(e){return this._read(e)}_write(e,t){this._values[e]=t}},Vi=class e{static validateOptions(e){let t=new zi;for(let n of Ie){let r=n.name===`_never_`?void 0:e[n.name];t._write(n.id,n.validate(r))}return t}static computeOptions(e,t){let n=new Bi;for(let r of Ie)n._write(r.id,r.compute(t,n,e._read(r.id)));return n}static _deepEquals(t,n){if(typeof t!=`object`||typeof n!=`object`||!t||!n)return t===n;if(Array.isArray(t)||Array.isArray(n))return Array.isArray(t)&&Array.isArray(n)?i.Wu(t,n):!1;if(Object.keys(t).length!==Object.keys(n).length)return!1;for(let r in t)if(!e._deepEquals(t[r],n[r]))return!1;return!0}static checkEquals(t,n){let r=[],i=!1;for(let a of Ie){let o=!e._deepEquals(t._read(a.id),n._read(a.id));r[a.id]=o,o&&(i=!0)}return i?new a(r):null}static applyUpdate(e,t){let n=!1;for(let r of Ie)if(t.hasOwnProperty(r.name)){let i=r.applyUpdate(e[r.name],t[r.name]);e[r.name]=i.newValue,n||=i.didChange}return n}};function Hi(e){let t=i._u(e);return ki(t),t}function M(e,t,n){let r=null,i=null;if(typeof n.value==`function`?(r=`value`,i=n.value,i.length):typeof n.get==`function`&&(r=`get`,i=n.get),!i)throw Error(`not supported`);let a=`$memoize$${t}`;n[r]=function(...e){return this.hasOwnProperty(a)||Object.defineProperty(this,a,{configurable:!1,enumerable:!1,writable:!1,value:i.apply(this,e)}),this[a]}}var Ui=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},N;(function(e){e.Tap=`-monaco-gesturetap`,e.Change=`-monaco-gesturechange`,e.Start=`-monaco-gesturestart`,e.End=`-monaco-gesturesend`,e.Contextmenu=`-monaco-gesturecontextmenu`})(N||={});var Wi=class e extends i.Xl{constructor(){super(),this.dispatched=!1,this.activeTouches={},this.handle=null,this.targets=[],this.ignoreTargets=[],this._lastSetTapCountTime=0,this._register(i.Ka(document,`touchstart`,e=>this.onTouchStart(e),{passive:!1})),this._register(i.Ka(document,`touchend`,e=>this.onTouchEnd(e))),this._register(i.Ka(document,`touchmove`,e=>this.onTouchMove(e),{passive:!1}))}static addTarget(t){return e.isTouchDevice()?(e.INSTANCE||=new e,e.INSTANCE.targets.push(t),{dispose:()=>{e.INSTANCE.targets=e.INSTANCE.targets.filter(e=>e!==t)}}):i.Xl.None}static ignoreTarget(t){return e.isTouchDevice()?(e.INSTANCE||=new e,e.INSTANCE.ignoreTargets.push(t),{dispose:()=>{e.INSTANCE.ignoreTargets=e.INSTANCE.ignoreTargets.filter(e=>e!==t)}}):i.Xl.None}static isTouchDevice(){return`ontouchstart`in window||navigator.maxTouchPoints>0}dispose(){this.handle&&=(this.handle.dispose(),null),super.dispose()}onTouchStart(e){let t=Date.now();this.handle&&=(this.handle.dispose(),null);for(let n=0,r=e.targetTouches.length;n<r;n++){let r=e.targetTouches.item(n);this.activeTouches[r.identifier]={id:r.identifier,initialTarget:r.target,initialTimeStamp:t,initialPageX:r.pageX,initialPageY:r.pageY,rollingTimestamps:[t],rollingPageX:[r.pageX],rollingPageY:[r.pageY]};let i=this.newGestureEvent(N.Start,r.target);i.pageX=r.pageX,i.pageY=r.pageY,this.dispatchEvent(i)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}onTouchEnd(t){let n=Date.now(),r=Object.keys(this.activeTouches).length;for(let a=0,o=t.changedTouches.length;a<o;a++){let o=t.changedTouches.item(a);if(!this.activeTouches.hasOwnProperty(String(o.identifier)))continue;let s=this.activeTouches[o.identifier],c=Date.now()-s.initialTimeStamp;if(c<e.HOLD_DELAY&&Math.abs(s.initialPageX-i.sd(s.rollingPageX))<30&&Math.abs(s.initialPageY-i.sd(s.rollingPageY))<30){let e=this.newGestureEvent(N.Tap,s.initialTarget);e.pageX=i.sd(s.rollingPageX),e.pageY=i.sd(s.rollingPageY),this.dispatchEvent(e)}else if(c>=e.HOLD_DELAY&&Math.abs(s.initialPageX-i.sd(s.rollingPageX))<30&&Math.abs(s.initialPageY-i.sd(s.rollingPageY))<30){let e=this.newGestureEvent(N.Contextmenu,s.initialTarget);e.pageX=i.sd(s.rollingPageX),e.pageY=i.sd(s.rollingPageY),this.dispatchEvent(e)}else if(r===1){let e=i.sd(s.rollingPageX),t=i.sd(s.rollingPageY),r=i.sd(s.rollingTimestamps)-s.rollingTimestamps[0],a=e-s.rollingPageX[0],o=t-s.rollingPageY[0],c=this.targets.filter(e=>s.initialTarget instanceof Node&&e.contains(s.initialTarget));this.inertia(c,n,Math.abs(a)/r,a>0?1:-1,e,Math.abs(o)/r,o>0?1:-1,t)}this.dispatchEvent(this.newGestureEvent(N.End,s.initialTarget)),delete this.activeTouches[o.identifier]}this.dispatched&&=(t.preventDefault(),t.stopPropagation(),!1)}newGestureEvent(e,t){let n=document.createEvent(`CustomEvent`);return n.initEvent(e,!1,!0),n.initialTarget=t,n.tapCount=0,n}dispatchEvent(t){if(t.type===N.Tap){let n=new Date().getTime(),r=0;r=n-this._lastSetTapCountTime>e.CLEAR_TAP_COUNT_TIME?1:2,this._lastSetTapCountTime=n,t.tapCount=r}else (t.type===N.Change||t.type===N.Contextmenu)&&(this._lastSetTapCountTime=0);for(let e=0;e<this.ignoreTargets.length;e++)if(t.initialTarget instanceof Node&&this.ignoreTargets[e].contains(t.initialTarget))return;this.targets.forEach(e=>{t.initialTarget instanceof Node&&e.contains(t.initialTarget)&&(e.dispatchEvent(t),this.dispatched=!0)})}inertia(t,n,r,a,o,s,c,l){this.handle=i.Ao(()=>{let i=Date.now(),u=i-n,d=0,f=0,p=!0;r+=e.SCROLL_FRICTION*u,s+=e.SCROLL_FRICTION*u,r>0&&(p=!1,d=a*r*u),s>0&&(p=!1,f=c*s*u);let m=this.newGestureEvent(N.Change);m.translationX=d,m.translationY=f,t.forEach(e=>e.dispatchEvent(m)),p||this.inertia(t,i,r,a,o+d,s,c,l+f)})}onTouchMove(e){let t=Date.now();for(let n=0,r=e.changedTouches.length;n<r;n++){let r=e.changedTouches.item(n);if(!this.activeTouches.hasOwnProperty(String(r.identifier)))continue;let a=this.activeTouches[r.identifier],o=this.newGestureEvent(N.Change,a.initialTarget);o.translationX=r.pageX-i.sd(a.rollingPageX),o.translationY=r.pageY-i.sd(a.rollingPageY),o.pageX=r.pageX,o.pageY=r.pageY,this.dispatchEvent(o),a.rollingPageX.length>3&&(a.rollingPageX.shift(),a.rollingPageY.shift(),a.rollingTimestamps.shift()),a.rollingPageX.push(r.pageX),a.rollingPageY.push(r.pageY),a.rollingTimestamps.push(t)}this.dispatched&&=(e.preventDefault(),e.stopPropagation(),!1)}};Wi.SCROLL_FRICTION=-.005,Wi.HOLD_DELAY=700,Wi.CLEAR_TAP_COUNT_TIME=400,Ui([M],Wi,`isTouchDevice`,null);var Gi=class extends i.Xl{constructor(){super(),this._shouldRender=!0}shouldRender(){return this._shouldRender}forceShouldRender(){this._shouldRender=!0}setShouldRender(){this._shouldRender=!0}onDidRender(){this._shouldRender=!1}onCompositionStart(e){return!1}onCompositionEnd(e){return!1}onConfigurationChanged(e){return!1}onCursorStateChanged(e){return!1}onDecorationsChanged(e){return!1}onFlushed(e){return!1}onFocusChanged(e){return!1}onLanguageConfigurationChanged(e){return!1}onLineMappingChanged(e){return!1}onLinesChanged(e){return!1}onLinesDeleted(e){return!1}onLinesInserted(e){return!1}onRevealRangeRequest(e){return!1}onScrollChanged(e){return!1}onThemeChanged(e){return!1}onTokensChanged(e){return!1}onTokensColorsChanged(e){return!1}onZonesChanged(e){return!1}handleEvents(e){let t=!1;for(let n=0,r=e.length;n<r;n++){let r=e[n];switch(r.type){case 0:this.onCompositionStart(r)&&(t=!0);break;case 1:this.onCompositionEnd(r)&&(t=!0);break;case 2:this.onConfigurationChanged(r)&&(t=!0);break;case 3:this.onCursorStateChanged(r)&&(t=!0);break;case 4:this.onDecorationsChanged(r)&&(t=!0);break;case 5:this.onFlushed(r)&&(t=!0);break;case 6:this.onFocusChanged(r)&&(t=!0);break;case 7:this.onLanguageConfigurationChanged(r)&&(t=!0);break;case 8:this.onLineMappingChanged(r)&&(t=!0);break;case 9:this.onLinesChanged(r)&&(t=!0);break;case 10:this.onLinesDeleted(r)&&(t=!0);break;case 11:this.onLinesInserted(r)&&(t=!0);break;case 12:this.onRevealRangeRequest(r)&&(t=!0);break;case 13:this.onScrollChanged(r)&&(t=!0);break;case 15:this.onTokensChanged(r)&&(t=!0);break;case 14:this.onThemeChanged(r)&&(t=!0);break;case 16:this.onTokensColorsChanged(r)&&(t=!0);break;case 17:this.onZonesChanged(r)&&(t=!0);break;default:}}t&&(this._shouldRender=!0)}},Ki=class extends Gi{constructor(e){super(),this._context=e,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}},qi=class{static write(e,t){e.setAttribute(`data-mprt`,String(t))}static read(e){let t=e.getAttribute(`data-mprt`);return t===null?0:parseInt(t,10)}static collect(e,t){let n=[],r=0;for(;e&&e!==document.body&&e!==t;)e.nodeType===e.ELEMENT_NODE&&(n[r++]=this.read(e)),e=e.parentElement;let i=new Uint8Array(r);for(let e=0;e<r;e++)i[e]=n[r-e-1];return i}},Ji=class{constructor(e,t){this._restrictedRenderingContextBrand=void 0,this._viewLayout=e,this.viewportData=t,this.scrollWidth=this._viewLayout.getScrollWidth(),this.scrollHeight=this._viewLayout.getScrollHeight(),this.visibleRange=this.viewportData.visibleRange,this.bigNumbersDelta=this.viewportData.bigNumbersDelta;let n=this._viewLayout.getCurrentViewport();this.scrollTop=n.top,this.scrollLeft=n.left,this.viewportWidth=n.width,this.viewportHeight=n.height}getScrolledTopFromAbsoluteTop(e){return e-this.scrollTop}getVerticalOffsetForLineNumber(e){return this._viewLayout.getVerticalOffsetForLineNumber(e)}getDecorationsInViewport(){return this.viewportData.getDecorationsInViewport()}},Yi=class extends Ji{constructor(e,t,n){super(e,t),this._renderingContextBrand=void 0,this._viewLines=n}linesVisibleRangesForRange(e,t){return this._viewLines.linesVisibleRangesForRange(e,t)}visibleRangeForPosition(e){return this._viewLines.visibleRangeForPosition(e)}},Xi=class{constructor(e,t,n){this.outsideRenderedLine=e,this.lineNumber=t,this.ranges=n}},Zi=class e{constructor(e,t){this._horizontalRangeBrand=void 0,this.left=Math.round(e),this.width=Math.round(t)}static from(t){let n=Array(t.length);for(let r=0,i=t.length;r<i;r++){let i=t[r];n[r]=new e(i.left,i.width)}return n}toString(){return`[${this.left},${this.width}]`}},Qi=class{constructor(e,t){this._floatHorizontalRangeBrand=void 0,this.left=e,this.width=t}toString(){return`[${this.left},${this.width}]`}static compare(e,t){return e.left-t.left}},$i=class{constructor(e,t){this.outsideRenderedLine=e,this.originalLeft=t,this.left=Math.round(this.originalLeft)}},ea=class{constructor(e,t){this.outsideRenderedLine=e,this.ranges=t}},ta=class{static _createRange(){return this._handyReadyRange||=document.createRange(),this._handyReadyRange}static _detachRange(e,t){e.selectNodeContents(t)}static _readClientRects(e,t,n,r,i){let a=this._createRange();try{return a.setStart(e,t),a.setEnd(n,r),a.getClientRects()}catch{return null}finally{this._detachRange(a,i)}}static _mergeAdjacentRanges(e){if(e.length===1)return e;e.sort(Qi.compare);let t=[],n=0,r=e[0];for(let i=1,a=e.length;i<a;i++){let a=e[i];r.left+r.width+.9>=a.left?r.width=Math.max(r.width,a.left+a.width-r.left):(t[n++]=r,r=a)}return t[n++]=r,t}static _createHorizontalRangesFromClientRects(e,t,n){if(!e||e.length===0)return null;let r=[];for(let i=0,a=e.length;i<a;i++){let a=e[i];r[i]=new Qi(Math.max(0,(a.left-t)/n),a.width/n)}return this._mergeAdjacentRanges(r)}static readHorizontalRanges(e,t,n,r,i,a,o,s){let c=e.children.length-1;if(0>c)return null;if(t=Math.min(c,Math.max(0,t)),r=Math.min(c,Math.max(0,r)),t===r&&n===i&&n===0&&!e.children[t].firstChild){let n=e.children[t].getClientRects();return this._createHorizontalRangesFromClientRects(n,a,o)}t!==r&&r>0&&i===0&&(r--,i=1073741824);let l=e.children[t].firstChild,u=e.children[r].firstChild;if((!l||!u)&&(!l&&n===0&&t>0&&(l=e.children[t-1].firstChild,n=1073741824),!u&&i===0&&r>0&&(u=e.children[r-1].firstChild,i=1073741824)),!l||!u)return null;n=Math.min(l.textContent.length,Math.max(0,n)),i=Math.min(u.textContent.length,Math.max(0,i));let d=this._readClientRects(l,n,u,i,s);return this._createHorizontalRangesFromClientRects(d,a,o)}},na=(function(){return i.xd?!0:!(i.vd||i.bc||i.xc)})(),ra=!0,ia=class{constructor(e,t){this._domNode=e,this._clientRectDeltaLeft=0,this._clientRectScale=1,this._clientRectRead=!1,this.endNode=t}readClientRect(){if(!this._clientRectRead){this._clientRectRead=!0;let e=this._domNode.getBoundingClientRect();this._clientRectDeltaLeft=e.left,this._clientRectScale=e.width/this._domNode.offsetWidth}}get clientRectDeltaLeft(){return this._clientRectRead||this.readClientRect(),this._clientRectDeltaLeft}get clientRectScale(){return this._clientRectRead||this.readClientRect(),this._clientRectScale}},aa=class{constructor(e,t){this.themeType=t;let n=e.options,r=n.get(45);this.renderWhitespace=n.get(89),this.renderControlCharacters=n.get(84),this.spaceWidth=r.spaceWidth,this.middotWidth=r.middotWidth,this.wsmiddotWidth=r.wsmiddotWidth,this.useMonospaceOptimizations=r.isMonospace&&!n.get(29),this.canUseHalfwidthRightwardsArrow=r.canUseHalfwidthRightwardsArrow,this.lineHeight=n.get(60),this.stopRenderingLineAfter=n.get(106),this.fontLigatures=n.get(46)}equals(e){return this.themeType===e.themeType&&this.renderWhitespace===e.renderWhitespace&&this.renderControlCharacters===e.renderControlCharacters&&this.spaceWidth===e.spaceWidth&&this.middotWidth===e.middotWidth&&this.wsmiddotWidth===e.wsmiddotWidth&&this.useMonospaceOptimizations===e.useMonospaceOptimizations&&this.canUseHalfwidthRightwardsArrow===e.canUseHalfwidthRightwardsArrow&&this.lineHeight===e.lineHeight&&this.stopRenderingLineAfter===e.stopRenderingLineAfter&&this.fontLigatures===e.fontLigatures}},oa=class e{constructor(e){this._options=e,this._isMaybeInvalid=!0,this._renderedViewLine=null}getDomNode(){return this._renderedViewLine&&this._renderedViewLine.domNode?this._renderedViewLine.domNode.domNode:null}setDomNode(e){if(this._renderedViewLine)this._renderedViewLine.domNode=k(e);else throw Error(`I have no rendered view line to set the dom node to...`)}onContentChanged(){this._isMaybeInvalid=!0}onTokensChanged(){this._isMaybeInvalid=!0}onDecorationsChanged(){this._isMaybeInvalid=!0}onOptionsChanged(e){this._isMaybeInvalid=!0,this._options=e}onSelectionChanged(){return i.wa(this._options.themeType)||this._options.renderWhitespace===`selection`?(this._isMaybeInvalid=!0,!0):!1}renderLine(t,n,r,a){if(this._isMaybeInvalid===!1)return!1;this._isMaybeInvalid=!1;let o=r.getViewLineRenderingData(t),s=this._options,c=or.filter(o.inlineDecorations,t,o.minColumn,o.maxColumn),l=null;if(i.wa(s.themeType)||this._options.renderWhitespace===`selection`){let e=r.selections;for(let n of e){if(n.endLineNumber<t||n.startLineNumber>t)continue;let e=n.startLineNumber===t?n.startColumn:o.minColumn,r=n.endLineNumber===t?n.endColumn:o.maxColumn;e<r&&(i.wa(s.themeType)||this._options.renderWhitespace!==`selection`?c.push(new or(e,r,`inline-selected-text`,0)):(l||=[],l.push(new ur(e-1,r-1))))}}let u=new dr(s.useMonospaceOptimizations,s.canUseHalfwidthRightwardsArrow,o.content,o.continuesWithWrappedLine,o.isBasicASCII,o.containsRTL,o.minColumn-1,o.tokens,c,o.tabSize,o.startVisibleColumn,s.spaceWidth,s.middotWidth,s.wsmiddotWidth,s.stopRenderingLineAfter,s.renderWhitespace,s.renderControlCharacters,s.fontLigatures!==ne.OFF,l);if(this._renderedViewLine&&this._renderedViewLine.input.equals(u))return!1;a.appendASCIIString(`<div style="top:`),a.appendASCIIString(String(n)),a.appendASCIIString(`px;height:`),a.appendASCIIString(String(this._options.lineHeight)),a.appendASCIIString(`px;" class="`),a.appendASCIIString(e.CLASS_NAME),a.appendASCIIString(`">`);let d=hr(u,a);a.appendASCIIString(`</div>`);let f=null;return ra&&na&&o.isBasicASCII&&s.useMonospaceOptimizations&&d.containsForeignElements===0&&o.content.length<300&&u.lineTokens.getCount()<100&&(f=new sa(this._renderedViewLine?this._renderedViewLine.domNode:null,u,d.characterMapping)),f||=ua(this._renderedViewLine?this._renderedViewLine.domNode:null,u,d.characterMapping,d.containsRTL,d.containsForeignElements),this._renderedViewLine=f,!0}layoutLine(e,t){this._renderedViewLine&&this._renderedViewLine.domNode&&(this._renderedViewLine.domNode.setTop(t),this._renderedViewLine.domNode.setHeight(this._options.lineHeight))}getWidth(){return this._renderedViewLine?this._renderedViewLine.getWidth():0}getWidthIsFast(){return this._renderedViewLine?this._renderedViewLine.getWidthIsFast():!0}needsMonospaceFontCheck(){return this._renderedViewLine?this._renderedViewLine instanceof sa:!1}monospaceAssumptionsAreValid(){return this._renderedViewLine&&this._renderedViewLine instanceof sa?this._renderedViewLine.monospaceAssumptionsAreValid():ra}onMonospaceAssumptionsInvalidated(){this._renderedViewLine&&this._renderedViewLine instanceof sa&&(this._renderedViewLine=this._renderedViewLine.toSlowRenderedLine())}getVisibleRangesForRange(e,t,n,r){if(!this._renderedViewLine)return null;t=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,t)),n=Math.min(this._renderedViewLine.input.lineContent.length+1,Math.max(1,n));let i=this._renderedViewLine.input.stopRenderingLineAfter,a=!1;i!==-1&&t>i+1&&n>i+1&&(a=!0),i!==-1&&t>i+1&&(t=i+1),i!==-1&&n>i+1&&(n=i+1);let o=this._renderedViewLine.getVisibleRangesForRange(e,t,n,r);return o&&o.length>0?new ea(a,o):null}getColumnOfNodeOffset(e,t,n){return this._renderedViewLine?this._renderedViewLine.getColumnOfNodeOffset(e,t,n):1}};oa.CLASS_NAME=`view-line`;var sa=class{constructor(e,t,n){this.domNode=e,this.input=t,this._characterMapping=n,this._charWidth=t.spaceWidth}getWidth(){return Math.round(this._getCharPosition(this._characterMapping.length))}getWidthIsFast(){return!0}monospaceAssumptionsAreValid(){if(!this.domNode)return ra;let e=this.getWidth(),t=this.domNode.domNode.firstChild.offsetWidth;return Math.abs(e-t)>=2&&(ra=!1),ra}toSlowRenderedLine(){return ua(this.domNode,this.input,this._characterMapping,!1,0)}getVisibleRangesForRange(e,t,n,r){let i=this._getCharPosition(t);return[new Qi(i,this._getCharPosition(n)-i)]}_getCharPosition(e){let t=this._characterMapping.getHorizontalOffset(e);return this._charWidth*t}getColumnOfNodeOffset(e,t,n){let r=t.textContent.length,i=-1;for(;t;)t=t.previousSibling,i++;return this._characterMapping.getColumn(new fr(i,n),r)}},ca=class{constructor(e,t,n,r,i){if(this.domNode=e,this.input=t,this._characterMapping=n,this._isWhitespaceOnly=/^\s*$/.test(t.lineContent),this._containsForeignElements=i,this._cachedWidth=-1,this._pixelOffsetCache=null,!r||this._characterMapping.length===0){this._pixelOffsetCache=new Float32Array(Math.max(2,this._characterMapping.length+1));for(let e=0,t=this._characterMapping.length;e<=t;e++)this._pixelOffsetCache[e]=-1}}_getReadingTarget(e){return e.domNode.firstChild}getWidth(){return this.domNode?(this._cachedWidth===-1&&(this._cachedWidth=this._getReadingTarget(this.domNode).offsetWidth),this._cachedWidth):0}getWidthIsFast(){return this._cachedWidth!==-1}getVisibleRangesForRange(e,t,n,r){if(!this.domNode)return null;if(this._pixelOffsetCache!==null){let i=this._readPixelOffset(this.domNode,e,t,r);if(i===-1)return null;let a=this._readPixelOffset(this.domNode,e,n,r);return a===-1?null:[new Qi(i,a-i)]}return this._readVisibleRangesForRange(this.domNode,e,t,n,r)}_readVisibleRangesForRange(e,t,n,r,i){if(n===r){let r=this._readPixelOffset(e,t,n,i);return r===-1?null:[new Qi(r,0)]}else return this._readRawVisibleRangesForRange(e,n,r,i)}_readPixelOffset(e,t,n,r){if(this._characterMapping.length===0){if(this._containsForeignElements===0||this._containsForeignElements===2)return 0;if(this._containsForeignElements===1)return this.getWidth();let t=this._getReadingTarget(e);return t.firstChild?t.firstChild.offsetWidth:0}if(this._pixelOffsetCache!==null){let i=this._pixelOffsetCache[n];if(i!==-1)return i;let a=this._actualReadPixelOffset(e,t,n,r);return this._pixelOffsetCache[n]=a,a}return this._actualReadPixelOffset(e,t,n,r)}_actualReadPixelOffset(e,t,n,r){if(this._characterMapping.length===0){let t=ta.readHorizontalRanges(this._getReadingTarget(e),0,0,0,0,r.clientRectDeltaLeft,r.clientRectScale,r.endNode);return!t||t.length===0?-1:t[0].left}if(n===this._characterMapping.length&&this._isWhitespaceOnly&&this._containsForeignElements===0)return this.getWidth();let i=this._characterMapping.getDomPosition(n),a=ta.readHorizontalRanges(this._getReadingTarget(e),i.partIndex,i.charIndex,i.partIndex,i.charIndex,r.clientRectDeltaLeft,r.clientRectScale,r.endNode);if(!a||a.length===0)return-1;let o=a[0].left;if(this.input.isBasicASCII){let e=this._characterMapping.getHorizontalOffset(n),t=Math.round(this.input.spaceWidth*e);if(Math.abs(t-o)<=1)return t}return o}_readRawVisibleRangesForRange(e,t,n,r){if(t===1&&n===this._characterMapping.length)return[new Qi(0,this.getWidth())];let i=this._characterMapping.getDomPosition(t),a=this._characterMapping.getDomPosition(n);return ta.readHorizontalRanges(this._getReadingTarget(e),i.partIndex,i.charIndex,a.partIndex,a.charIndex,r.clientRectDeltaLeft,r.clientRectScale,r.endNode)}getColumnOfNodeOffset(e,t,n){let r=t.textContent.length,i=-1;for(;t;)t=t.previousSibling,i++;return this._characterMapping.getColumn(new fr(i,n),r)}},la=class extends ca{_readVisibleRangesForRange(e,t,n,r,i){let a=super._readVisibleRangesForRange(e,t,n,r,i);if(!a||a.length===0||n===r||n===1&&r===this._characterMapping.length)return a;if(!this.input.containsRTL){let n=this._readPixelOffset(e,t,r,i);if(n!==-1){let e=a[a.length-1];e.left<n&&(e.width=n-e.left)}}return a}},ua=(function(){return i.Cc?da:fa})();function da(e,t,n,r,i){return new la(e,t,n,r,i)}function fa(e,t,n,r,i){return new ca(e,t,n,r,i)}var pa=class e{static whitespaceVisibleColumn(e,t,n){let r=e.length,a=0,o=-1,s=-1;for(let c=0;c<r;c++){if(c===t)return[o,s,a];switch(a%n===0&&(o=c,s=a),e.charCodeAt(c)){case 32:a+=1;break;case 9:a=i.It.nextRenderTabStop(a,n);break;default:return[-1,-1,-1]}}return t===r?[o,s,a]:[-1,-1,-1]}static atomicPosition(t,n,r,a){let o=t.length,[s,c,l]=e.whitespaceVisibleColumn(t,n,r);if(l===-1)return-1;let u;switch(a){case 0:u=!0;break;case 1:u=!1;break;case 2:if(l%r===0)return n;u=l%r<=r/2;break}if(u){if(s===-1)return-1;let e=c;for(let n=s;n<o;++n){if(e===c+r)return s;switch(t.charCodeAt(n)){case 32:e+=1;break;case 9:e=i.It.nextRenderTabStop(e,r);break;default:return-1}}return e===c+r?s:-1}let d=i.It.nextRenderTabStop(l,r),f=l;for(let e=n;e<o;e++){if(f===d)return e;switch(t.charCodeAt(e)){case 32:f+=1;break;case 9:f=i.It.nextRenderTabStop(f,r);break;default:return-1}}return f===d?o:-1}},ma=class{constructor(e=null){this.hitTarget=e,this.type=0}},ha=class{constructor(e,t,n){this.position=e,this.spanNode=t,this.injectedText=n,this.type=1}},ga;(function(e){function t(e,t,n){let r=e.getPositionFromDOMInfo(t,n);return r?new ha(r,t,null):new ma(t)}e.createFromDOMInfo=t})(ga||={});var _a=class{constructor(e,t){this.lastViewCursorsRenderData=e,this.lastTextareaPosition=t}},va=class{static _deduceRage(e,t=null){return!t&&e?new i.Ol(e.lineNumber,e.column,e.lineNumber,e.column):t??null}static createUnknown(e,t,n){return{type:0,element:e,mouseColumn:t,position:n,range:this._deduceRage(n)}}static createTextarea(e,t){return{type:1,element:e,mouseColumn:t,position:null,range:null}}static createMargin(e,t,n,r,i,a){return{type:e,element:t,mouseColumn:n,position:r,range:i,detail:a}}static createViewZone(e,t,n,r,i){return{type:e,element:t,mouseColumn:n,position:r,range:this._deduceRage(r),detail:i}}static createContentText(e,t,n,r,i){return{type:6,element:e,mouseColumn:t,position:n,range:this._deduceRage(n,r),detail:i}}static createContentEmpty(e,t,n,r){return{type:7,element:e,mouseColumn:t,position:n,range:this._deduceRage(n),detail:r}}static createContentWidget(e,t,n){return{type:9,element:e,mouseColumn:t,position:null,range:null,detail:n}}static createScrollbar(e,t,n){return{type:11,element:e,mouseColumn:t,position:n,range:this._deduceRage(n)}}static createOverlayWidget(e,t,n){return{type:12,element:e,mouseColumn:t,position:null,range:null,detail:n}}static createOutsideEditor(e,t){return{type:13,element:null,mouseColumn:e,position:t,range:this._deduceRage(t)}}static _typeToString(e){return e===1?`TEXTAREA`:e===2?`GUTTER_GLYPH_MARGIN`:e===3?`GUTTER_LINE_NUMBERS`:e===4?`GUTTER_LINE_DECORATIONS`:e===5?`GUTTER_VIEW_ZONE`:e===6?`CONTENT_TEXT`:e===7?`CONTENT_EMPTY`:e===8?`CONTENT_VIEW_ZONE`:e===9?`CONTENT_WIDGET`:e===10?`OVERVIEW_RULER`:e===11?`SCROLLBAR`:e===12?`OVERLAY_WIDGET`:`UNKNOWN`}static toString(e){return this._typeToString(e.type)+`: `+e.position+` - `+e.range+` - `+JSON.stringify(e.detail)}},ya=class{static isTextArea(e){return e.length===2&&e[0]===3&&e[1]===6}static isChildOfViewLines(e){return e.length>=4&&e[0]===3&&e[3]===7}static isStrictChildOfViewLines(e){return e.length>4&&e[0]===3&&e[3]===7}static isChildOfScrollableElement(e){return e.length>=2&&e[0]===3&&e[1]===5}static isChildOfMinimap(e){return e.length>=2&&e[0]===3&&e[1]===8}static isChildOfContentWidgets(e){return e.length>=4&&e[0]===3&&e[3]===1}static isChildOfOverflowingContentWidgets(e){return e.length>=1&&e[0]===2}static isChildOfOverlayWidgets(e){return e.length>=2&&e[0]===3&&e[1]===4}},ba=class e{constructor(e,t,n){this.viewModel=e.viewModel;let r=e.configuration.options;this.layoutInfo=r.get(132),this.viewDomNode=t.viewDomNode,this.lineHeight=r.get(60),this.stickyTabStops=r.get(105),this.typicalHalfwidthCharacterWidth=r.get(45).typicalHalfwidthCharacterWidth,this.lastRenderData=n,this._context=e,this._viewHelper=t}getZoneAtCoord(t){return e.getZoneAtCoord(this._context,t)}static getZoneAtCoord(e,t){let n=e.viewLayout.getWhitespaceAtVerticalOffset(t);if(n){let r=n.verticalOffset+n.height/2,a=e.viewModel.getLineCount(),o=null,s,c=null;return n.afterLineNumber!==a&&(c=new i.kl(n.afterLineNumber+1,1)),n.afterLineNumber>0&&(o=new i.kl(n.afterLineNumber,e.viewModel.getLineMaxColumn(n.afterLineNumber))),s=c===null?o:o===null?c:t<r?o:c,{viewZoneId:n.id,afterLineNumber:n.afterLineNumber,positionBefore:o,positionAfter:c,position:s}}return null}getFullLineRangeAtCoord(e){if(this._context.viewLayout.isAfterLines(e)){let e=this._context.viewModel.getLineCount(),t=this._context.viewModel.getLineMaxColumn(e);return{range:new i.Ol(e,t,e,t),isAfterLines:!0}}let t=this._context.viewLayout.getLineNumberAtVerticalOffset(e);return{range:new i.Ol(t,1,t,this._context.viewModel.getLineMaxColumn(t)),isAfterLines:!1}}getLineNumberAtVerticalOffset(e){return this._context.viewLayout.getLineNumberAtVerticalOffset(e)}isAfterLines(e){return this._context.viewLayout.isAfterLines(e)}isInTopPadding(e){return this._context.viewLayout.isInTopPadding(e)}isInBottomPadding(e){return this._context.viewLayout.isInBottomPadding(e)}getVerticalOffsetForLineNumber(e){return this._context.viewLayout.getVerticalOffsetForLineNumber(e)}findAttribute(t,n){return e._findAttribute(t,n,this._viewHelper.viewDomNode)}static _findAttribute(e,t,n){for(;e&&e!==document.body;){if(e.hasAttribute&&e.hasAttribute(t))return e.getAttribute(t);if(e===n)return null;e=e.parentNode}return null}getLineWidth(e){return this._viewHelper.getLineWidth(e)}visibleRangeForPosition(e,t){return this._viewHelper.visibleRangeForPosition(e,t)}getPositionFromDOMInfo(e,t){return this._viewHelper.getPositionFromDOMInfo(e,t)}getCurrentScrollTop(){return this._context.viewLayout.getCurrentScrollTop()}getCurrentScrollLeft(){return this._context.viewLayout.getCurrentScrollLeft()}},xa=class{constructor(e,t,n,r){this.editorPos=t,this.pos=n,this.relativePos=r,this.mouseVerticalOffset=Math.max(0,e.getCurrentScrollTop()+this.relativePos.y),this.mouseContentHorizontalOffset=e.getCurrentScrollLeft()+this.relativePos.x-e.layoutInfo.contentLeft,this.isInMarginArea=this.relativePos.x<e.layoutInfo.contentLeft&&this.relativePos.x>=e.layoutInfo.glyphMarginLeft,this.isInContentArea=!this.isInMarginArea,this.mouseColumn=Math.max(0,Ta._getMouseColumn(this.mouseContentHorizontalOffset,e.typicalHalfwidthCharacterWidth))}},Sa=class e extends xa{constructor(e,t,n,r,i){super(e,t,n,r),this._ctx=e,i?(this.target=i,this.targetPath=qi.collect(i,e.viewDomNode)):(this.target=null,this.targetPath=new Uint8Array)}toString(){return`pos(${this.pos.x},${this.pos.y}), editorPos(${this.editorPos.x},${this.editorPos.y}), relativePos(${this.relativePos.x},${this.relativePos.y}), mouseVerticalOffset: ${this.mouseVerticalOffset}, mouseContentHorizontalOffset: ${this.mouseContentHorizontalOffset}\n\ttarget: ${this.target?this.target.outerHTML:null}`}_getMouseColumn(e=null){return e&&e.column<this._ctx.viewModel.getLineMaxColumn(e.lineNumber)?i.It.visibleColumnFromColumn(this._ctx.viewModel.getLineContent(e.lineNumber),e.column,this._ctx.viewModel.model.getOptions().tabSize)+1:this.mouseColumn}fulfillUnknown(e=null){return va.createUnknown(this.target,this._getMouseColumn(e),e)}fulfillTextarea(){return va.createTextarea(this.target,this._getMouseColumn())}fulfillMargin(e,t,n,r){return va.createMargin(e,this.target,this._getMouseColumn(t),t,n,r)}fulfillViewZone(e,t,n){return va.createViewZone(e,this.target,this._getMouseColumn(t),t,n)}fulfillContentText(e,t,n){return va.createContentText(this.target,this._getMouseColumn(e),e,t,n)}fulfillContentEmpty(e,t){return va.createContentEmpty(this.target,this._getMouseColumn(e),e,t)}fulfillContentWidget(e){return va.createContentWidget(this.target,this._getMouseColumn(),e)}fulfillScrollbar(e){return va.createScrollbar(this.target,this._getMouseColumn(e),e)}fulfillOverlayWidget(e){return va.createOverlayWidget(this.target,this._getMouseColumn(),e)}withTarget(t){return new e(this._ctx,this.editorPos,this.pos,this.relativePos,t)}},Ca={isAfterLines:!0};function wa(e){return{isAfterLines:!1,horizontalDistanceToText:e}}var Ta=class e{constructor(e,t){this._context=e,this._viewHelper=t}mouseTargetIsWidget(e){let t=e.target,n=qi.collect(t,this._viewHelper.viewDomNode);return!!(ya.isChildOfContentWidgets(n)||ya.isChildOfOverflowingContentWidgets(n)||ya.isChildOfOverlayWidgets(n))}createMouseTarget(t,n,r,i,a){let o=new ba(this._context,this._viewHelper,t),s=new Sa(o,n,r,i,a);try{return e._createMouseTarget(o,s,!1)}catch{return s.fulfillUnknown()}}static _createMouseTarget(t,n,r){if(n.target===null){if(r)return n.fulfillUnknown();let i=e._doHitTest(t,n);return i.type===1?e.createMouseTargetFromHitTestPosition(t,n,i.spanNode,i.position,i.injectedText):this._createMouseTarget(t,n.withTarget(i.hitTarget),!0)}let i=n,a=null;return a||=e._hitTestContentWidget(t,i),a||=e._hitTestOverlayWidget(t,i),a||=e._hitTestMinimap(t,i),a||=e._hitTestScrollbarSlider(t,i),a||=e._hitTestViewZone(t,i),a||=e._hitTestMargin(t,i),a||=e._hitTestViewCursor(t,i),a||=e._hitTestTextArea(t,i),a||=e._hitTestViewLines(t,i,r),a||=e._hitTestScrollbar(t,i),a||n.fulfillUnknown()}static _hitTestContentWidget(e,t){if(ya.isChildOfContentWidgets(t.targetPath)||ya.isChildOfOverflowingContentWidgets(t.targetPath)){let n=e.findAttribute(t.target,`widgetId`);return n?t.fulfillContentWidget(n):t.fulfillUnknown()}return null}static _hitTestOverlayWidget(e,t){if(ya.isChildOfOverlayWidgets(t.targetPath)){let n=e.findAttribute(t.target,`widgetId`);return n?t.fulfillOverlayWidget(n):t.fulfillUnknown()}return null}static _hitTestViewCursor(e,t){if(t.target){let n=e.lastRenderData.lastViewCursorsRenderData;for(let e of n)if(t.target===e.domNode)return t.fulfillContentText(e.position,null,{mightBeForeignElement:!1,injectedText:null})}if(t.isInContentArea){let n=e.lastRenderData.lastViewCursorsRenderData,r=t.mouseContentHorizontalOffset,i=t.mouseVerticalOffset;for(let a of n){if(r<a.contentLeft||r>a.contentLeft+a.width)continue;let n=e.getVerticalOffsetForLineNumber(a.position.lineNumber);if(n<=i&&i<=n+a.height)return t.fulfillContentText(a.position,null,{mightBeForeignElement:!1,injectedText:null})}}return null}static _hitTestViewZone(e,t){let n=e.getZoneAtCoord(t.mouseVerticalOffset);if(n){let e=t.isInContentArea?8:5;return t.fulfillViewZone(e,n.position,n)}return null}static _hitTestTextArea(e,t){return ya.isTextArea(t.targetPath)?e.lastRenderData.lastTextareaPosition?t.fulfillContentText(e.lastRenderData.lastTextareaPosition,null,{mightBeForeignElement:!1,injectedText:null}):t.fulfillTextarea():null}static _hitTestMargin(e,t){if(t.isInMarginArea){let n=e.getFullLineRangeAtCoord(t.mouseVerticalOffset),r=n.range.getStartPosition(),i=Math.abs(t.relativePos.x),a={isAfterLines:n.isAfterLines,glyphMarginLeft:e.layoutInfo.glyphMarginLeft,glyphMarginWidth:e.layoutInfo.glyphMarginWidth,lineNumbersWidth:e.layoutInfo.lineNumbersWidth,offsetX:i};return i-=e.layoutInfo.glyphMarginLeft,i<=e.layoutInfo.glyphMarginWidth?t.fulfillMargin(2,r,n.range,a):(i-=e.layoutInfo.glyphMarginWidth,i<=e.layoutInfo.lineNumbersWidth?t.fulfillMargin(3,r,n.range,a):(i-=e.layoutInfo.lineNumbersWidth,t.fulfillMargin(4,r,n.range,a)))}return null}static _hitTestViewLines(t,n,r){if(!ya.isChildOfViewLines(n.targetPath))return null;if(t.isInTopPadding(n.mouseVerticalOffset))return n.fulfillContentEmpty(new i.kl(1,1),Ca);if(t.isAfterLines(n.mouseVerticalOffset)||t.isInBottomPadding(n.mouseVerticalOffset)){let e=t.viewModel.getLineCount(),r=t.viewModel.getLineMaxColumn(e);return n.fulfillContentEmpty(new i.kl(e,r),Ca)}if(r){if(ya.isStrictChildOfViewLines(n.targetPath)){let e=t.getLineNumberAtVerticalOffset(n.mouseVerticalOffset);if(t.viewModel.getLineLength(e)===0){let r=t.getLineWidth(e),a=wa(n.mouseContentHorizontalOffset-r);return n.fulfillContentEmpty(new i.kl(e,1),a)}let r=t.getLineWidth(e);if(n.mouseContentHorizontalOffset>=r){let a=wa(n.mouseContentHorizontalOffset-r),o=new i.kl(e,t.viewModel.getLineMaxColumn(e));return n.fulfillContentEmpty(o,a)}}return n.fulfillUnknown()}let a=e._doHitTest(t,n);return a.type===1?e.createMouseTargetFromHitTestPosition(t,n,a.spanNode,a.position,a.injectedText):this._createMouseTarget(t,n.withTarget(a.hitTarget),!0)}static _hitTestMinimap(e,t){if(ya.isChildOfMinimap(t.targetPath)){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new i.kl(n,r))}return null}static _hitTestScrollbarSlider(e,t){if(ya.isChildOfScrollableElement(t.targetPath)&&t.target&&t.target.nodeType===1){let n=t.target.className;if(n&&/\b(slider|scrollbar)\b/.test(n)){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new i.kl(n,r))}}return null}static _hitTestScrollbar(e,t){if(ya.isChildOfScrollableElement(t.targetPath)){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.viewModel.getLineMaxColumn(n);return t.fulfillScrollbar(new i.kl(n,r))}return null}getMouseColumn(t){let n=this._context.configuration.options,r=n.get(132),i=this._context.viewLayout.getCurrentScrollLeft()+t.x-r.contentLeft;return e._getMouseColumn(i,n.get(45).typicalHalfwidthCharacterWidth)}static _getMouseColumn(e,t){return e<0?1:Math.round(e/t)+1}static createMouseTargetFromHitTestPosition(e,t,n,r,a){let o=r.lineNumber,s=r.column,c=e.getLineWidth(o);if(t.mouseContentHorizontalOffset>c){let e=wa(t.mouseContentHorizontalOffset-c);return t.fulfillContentEmpty(r,e)}let l=e.visibleRangeForPosition(o,s);if(!l)return t.fulfillUnknown(r);let u=l.left;if(t.mouseContentHorizontalOffset===u)return t.fulfillContentText(r,null,{mightBeForeignElement:!!a,injectedText:a});let d=[];if(d.push({offset:l.left,column:s}),s>1){let t=e.visibleRangeForPosition(o,s-1);t&&d.push({offset:t.left,column:s-1})}if(s<e.viewModel.getLineMaxColumn(o)){let t=e.visibleRangeForPosition(o,s+1);t&&d.push({offset:t.left,column:s+1})}d.sort((e,t)=>e.offset-t.offset);let f=t.pos.toClientCoordinates(),p=n.getBoundingClientRect(),m=p.left<=f.clientX&&f.clientX<=p.right;for(let e=1;e<d.length;e++){let n=d[e-1],r=d[e];if(n.offset<=t.mouseContentHorizontalOffset&&t.mouseContentHorizontalOffset<=r.offset){let e=new i.Ol(o,n.column,o,r.column),s=Math.abs(n.offset-t.mouseContentHorizontalOffset)<Math.abs(r.offset-t.mouseContentHorizontalOffset)?new i.kl(o,n.column):new i.kl(o,r.column);return t.fulfillContentText(s,e,{mightBeForeignElement:!m||!!a,injectedText:a})}}return t.fulfillContentText(r,null,{mightBeForeignElement:!m||!!a,injectedText:a})}static _doHitTestWithCaretRangeFromPoint(e,t){let n=e.getLineNumberAtVerticalOffset(t.mouseVerticalOffset),r=e.getVerticalOffsetForLineNumber(n)+Math.floor(e.lineHeight/2),a=t.pos.y+(r-t.mouseVerticalOffset);a<=t.editorPos.y&&(a=t.editorPos.y+1),a>=t.editorPos.y+t.editorPos.height&&(a=t.editorPos.y+t.editorPos.height-1);let o=new i.Ut(t.pos.x,a),s=this._actualDoHitTestWithCaretRangeFromPoint(e,o.toClientCoordinates());return s.type===1?s:this._actualDoHitTestWithCaretRangeFromPoint(e,t.pos.toClientCoordinates())}static _actualDoHitTestWithCaretRangeFromPoint(e,t){let n=i.po(e.viewDomNode),r;if(r=n?n.caretRangeFromPoint===void 0?Ea(n,t.clientX,t.clientY):n.caretRangeFromPoint(t.clientX,t.clientY):document.caretRangeFromPoint(t.clientX,t.clientY),!r||!r.startContainer)return new ma;let a=r.startContainer;if(a.nodeType===a.TEXT_NODE){let t=a.parentNode,n=t?t.parentNode:null,i=n?n.parentNode:null;return(i&&i.nodeType===i.ELEMENT_NODE?i.className:null)===oa.CLASS_NAME?ga.createFromDOMInfo(e,t,r.startOffset):new ma(a.parentNode)}else if(a.nodeType===a.ELEMENT_NODE){let t=a.parentNode,n=t?t.parentNode:null;return(n&&n.nodeType===n.ELEMENT_NODE?n.className:null)===oa.CLASS_NAME?ga.createFromDOMInfo(e,a,a.textContent.length):new ma(a)}return new ma}static _doHitTestWithCaretPositionFromPoint(e,t){let n=document.caretPositionFromPoint(t.clientX,t.clientY);if(n.offsetNode.nodeType===n.offsetNode.TEXT_NODE){let t=n.offsetNode.parentNode,r=t?t.parentNode:null,i=r?r.parentNode:null;return(i&&i.nodeType===i.ELEMENT_NODE?i.className:null)===oa.CLASS_NAME?ga.createFromDOMInfo(e,n.offsetNode.parentNode,n.offset):new ma(n.offsetNode.parentNode)}if(n.offsetNode.nodeType===n.offsetNode.ELEMENT_NODE){let t=n.offsetNode.parentNode,r=t&&t.nodeType===t.ELEMENT_NODE?t.className:null,i=t?t.parentNode:null,a=i&&i.nodeType===i.ELEMENT_NODE?i.className:null;if(r===oa.CLASS_NAME){let t=n.offsetNode.childNodes[Math.min(n.offset,n.offsetNode.childNodes.length-1)];if(t)return ga.createFromDOMInfo(e,t,0)}else if(a===oa.CLASS_NAME)return ga.createFromDOMInfo(e,n.offsetNode,0)}return new ma(n.offsetNode)}static _snapToSoftTabBoundary(e,t){let n=t.getLineContent(e.lineNumber),{tabSize:r}=t.model.getOptions(),a=pa.atomicPosition(n,e.column-1,r,2);return a===-1?e:new i.kl(e.lineNumber,a+1)}static _doHitTest(e,t){let n=new ma;if(typeof document.caretRangeFromPoint==`function`?n=this._doHitTestWithCaretRangeFromPoint(e,t):document.caretPositionFromPoint&&(n=this._doHitTestWithCaretPositionFromPoint(e,t.pos.toClientCoordinates())),n.type===1){let t=e.viewModel.getInjectedTextAt(n.position),r=e.viewModel.normalizePosition(n.position,2);(t||!r.equals(n.position))&&(n=new ha(r,n.spanNode,t))}return n.type===1&&e.stickyTabStops&&(n=new ha(this._snapToSoftTabBoundary(n.position,e.viewModel),n.spanNode,n.injectedText)),n}};function Ea(e,t,n){let r=document.createRange(),i=e.elementFromPoint(t,n);if(i!==null){for(;i&&i.firstChild&&i.firstChild.nodeType!==i.firstChild.TEXT_NODE&&i.lastChild&&i.lastChild.firstChild;)i=i.lastChild;let e=i.getBoundingClientRect(),n=window.getComputedStyle(i,null).getPropertyValue(`font`),a=i.innerText,o=e.left,s=0,c;if(t>e.left+e.width)s=a.length;else{let e=Da.getInstance();for(let r=0;r<a.length+1;r++){if(c=e.getCharWidth(a.charAt(r),n)/2,o+=c,t<o){s=r;break}o+=c}}r.setStart(i.firstChild,s),r.setEnd(i.firstChild,s)}return r}var Da=class e{constructor(){this._cache={},this._canvas=document.createElement(`canvas`)}static getInstance(){return e._INSTANCE||=new e,e._INSTANCE}getCharWidth(e,t){let n=e+t;if(this._cache[n])return this._cache[n];let r=this._canvas.getContext(`2d`);r.font=t;let i=r.measureText(e).width;return this._cache[n]=i,i}};Da._INSTANCE=null;var Oa=class extends Gi{constructor(e,t,n){super(),this._mouseLeaveMonitor=null,this._context=e,this.viewController=t,this.viewHelper=n,this.mouseTargetFactory=new Ta(this._context,n),this._mouseDownOperation=this._register(new ka(this._context,this.viewController,this.viewHelper,(e,t)=>this._createMouseTarget(e,t),e=>this._getMouseColumn(e))),this.lastMouseLeaveTime=-1,this._height=this._context.configuration.options.get(132).height;let r=new i.Bt(this.viewHelper.viewDomNode);this._register(r.onContextMenu(this.viewHelper.viewDomNode,e=>this._onContextMenu(e,!0))),this._register(r.onMouseMove(this.viewHelper.viewDomNode,e=>{this._onMouseMove(e),this._mouseLeaveMonitor||=i.Ka(document,`mousemove`,e=>{this.viewHelper.viewDomNode.contains(e.target)||this._onMouseLeave(new i.zt(e,!1,this.viewHelper.viewDomNode))})})),this._register(r.onMouseUp(this.viewHelper.viewDomNode,e=>this._onMouseUp(e))),this._register(r.onMouseLeave(this.viewHelper.viewDomNode,e=>this._onMouseLeave(e)));let a=0;this._register(r.onPointerDown(this.viewHelper.viewDomNode,(e,t)=>{a=t})),this._register(i.Ka(this.viewHelper.viewDomNode,i.Ua.POINTER_UP,e=>{this._mouseDownOperation.onPointerUp()})),this._register(r.onMouseDown(this.viewHelper.viewDomNode,e=>this._onMouseDown(e,a))),this._register(i.Ka(this.viewHelper.viewDomNode,i.Ua.MOUSE_WHEEL,e=>{if(this.viewController.emitMouseWheel(e),!this._context.configuration.options.get(69))return;let t=new i.Vo(e);if(i.bd?(e.metaKey||e.ctrlKey)&&!e.shiftKey&&!e.altKey:e.ctrlKey&&!e.metaKey&&!e.shiftKey&&!e.altKey){let e=kt.getZoomLevel(),n=t.deltaY>0?1:-1;kt.setZoomLevel(e+n),t.preventDefault(),t.stopPropagation()}},{capture:!0,passive:!1})),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._mouseLeaveMonitor&&=(this._mouseLeaveMonitor.dispose(),null),super.dispose()}onConfigurationChanged(e){if(e.hasChanged(132)){let e=this._context.configuration.options.get(132).height;this._height!==e&&(this._height=e,this._mouseDownOperation.onHeightChanged())}return!1}onCursorStateChanged(e){return this._mouseDownOperation.onCursorStateChanged(e),!1}onFocusChanged(e){return!1}onScrollChanged(e){return this._mouseDownOperation.onScrollChanged(),!1}getTargetAtClientPoint(e,t){let n=new i.Lt(e,t).toPageCoordinates(),r=i.Gt(this.viewHelper.viewDomNode);if(n.y<r.y||n.y>r.y+r.height||n.x<r.x||n.x>r.x+r.width)return null;let a=i.Wt(this.viewHelper.viewDomNode,r,n);return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),r,n,a,null)}_createMouseTarget(e,t){let n=e.target;if(!this.viewHelper.viewDomNode.contains(n)){let t=i.po(this.viewHelper.viewDomNode);t&&(n=t.elementsFromPoint(e.posx,e.posy).find(e=>this.viewHelper.viewDomNode.contains(e)))}return this.mouseTargetFactory.createMouseTarget(this.viewHelper.getLastRenderData(),e.editorPos,e.pos,e.relativePos,t?n:null)}_getMouseColumn(e){return this.mouseTargetFactory.getMouseColumn(e.relativePos)}_onContextMenu(e,t){this.viewController.emitContextMenu({event:e,target:this._createMouseTarget(e,t)})}_onMouseMove(e){this.mouseTargetFactory.mouseTargetIsWidget(e)||e.preventDefault(),!this._mouseDownOperation.isActive()&&(e.timestamp<this.lastMouseLeaveTime||this.viewController.emitMouseMove({event:e,target:this._createMouseTarget(e,!0)}))}_onMouseLeave(e){this._mouseLeaveMonitor&&=(this._mouseLeaveMonitor.dispose(),null),this.lastMouseLeaveTime=new Date().getTime(),this.viewController.emitMouseLeave({event:e,target:null})}_onMouseUp(e){this.viewController.emitMouseUp({event:e,target:this._createMouseTarget(e,!0)})}_onMouseDown(e,t){let n=this._createMouseTarget(e,!0),r=n.type===6||n.type===7,a=n.type===2||n.type===3||n.type===4,o=n.type===3,s=this._context.configuration.options.get(99),c=n.type===8||n.type===5,l=n.type===9,u=e.leftButton||e.middleButton;i.bd&&e.leftButton&&e.ctrlKey&&(u=!1);let d=()=>{e.preventDefault(),this.viewHelper.focusTextArea()};if(u&&(r||o&&s))d(),this._mouseDownOperation.start(n.type,e,t);else if(a)e.preventDefault();else if(c){let r=n.detail;u&&this.viewHelper.shouldSuppressMouseDownOnViewZone(r.viewZoneId)&&(d(),this._mouseDownOperation.start(n.type,e,t),e.preventDefault())}else l&&this.viewHelper.shouldSuppressMouseDownOnWidget(n.detail)&&(d(),e.preventDefault());this.viewController.emitMouseDown({event:e,target:n})}},ka=class extends i.Xl{constructor(e,t,n,r,a){super(),this._context=e,this._viewController=t,this._viewHelper=n,this._createMouseTarget=r,this._getMouseColumn=a,this._mouseMoveMonitor=this._register(new i.Ht(this._viewHelper.viewDomNode)),this._onScrollTimeout=this._register(new i.xs),this._mouseState=new Aa,this._currentSelection=new i.Dl(1,1,1,1),this._isActive=!1,this._lastMouseEvent=null}dispose(){super.dispose()}isActive(){return this._isActive}_onMouseDownThenMove(e){this._lastMouseEvent=e,this._mouseState.setModifiers(e);let t=this._findMousePosition(e,!1);t&&(this._mouseState.isDragAndDrop?this._viewController.emitMouseDrag({event:e,target:t}):this._dispatchMouse(t,!0))}start(e,t,n){this._lastMouseEvent=t,this._mouseState.setStartedOnLineNumbers(e===3),this._mouseState.setStartButtons(t),this._mouseState.setModifiers(t);let r=this._findMousePosition(t,!0);if(!r||!r.position)return;this._mouseState.trySetCount(t.detail,r.position),t.detail=this._mouseState.count;let i=this._context.configuration.options;if(!i.get(82)&&i.get(31)&&!i.get(18)&&!this._mouseState.altKey&&t.detail<2&&!this._isActive&&!this._currentSelection.isEmpty()&&r.type===6&&r.position&&this._currentSelection.containsPosition(r.position)){this._mouseState.isDragAndDrop=!0,this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,n,t.buttons,e=>this._onMouseDownThenMove(e),e=>{let t=this._findMousePosition(this._lastMouseEvent,!1);e&&e instanceof KeyboardEvent?this._viewController.emitMouseDropCanceled():this._viewController.emitMouseDrop({event:this._lastMouseEvent,target:t?this._createMouseTarget(this._lastMouseEvent,!0):null}),this._stop()});return}this._mouseState.isDragAndDrop=!1,this._dispatchMouse(r,t.shiftKey),this._isActive||(this._isActive=!0,this._mouseMoveMonitor.startMonitoring(this._viewHelper.viewLinesDomNode,n,t.buttons,e=>this._onMouseDownThenMove(e),()=>this._stop()))}_stop(){this._isActive=!1,this._onScrollTimeout.cancel()}onHeightChanged(){this._mouseMoveMonitor.stopMonitoring()}onPointerUp(){this._mouseMoveMonitor.stopMonitoring()}onScrollChanged(){this._isActive&&this._onScrollTimeout.setIfNotSet(()=>{if(!this._lastMouseEvent)return;let e=this._findMousePosition(this._lastMouseEvent,!1);e&&(this._mouseState.isDragAndDrop||this._dispatchMouse(e,!0))},10)}onCursorStateChanged(e){this._currentSelection=e.selections[0]}_getPositionOutsideEditor(e){let t=e.editorPos,n=this._context.viewModel,r=this._context.viewLayout,a=this._getMouseColumn(e);if(e.posy<t.y){let n=Math.max(r.getCurrentScrollTop()-(t.y-e.posy),0),o=ba.getZoneAtCoord(this._context,n);if(o){let e=this._helpPositionJumpOverViewZone(o);if(e)return va.createOutsideEditor(a,e)}let s=r.getLineNumberAtVerticalOffset(n);return va.createOutsideEditor(a,new i.kl(s,1))}if(e.posy>t.y+t.height){let t=r.getCurrentScrollTop()+e.relativePos.y,o=ba.getZoneAtCoord(this._context,t);if(o){let e=this._helpPositionJumpOverViewZone(o);if(e)return va.createOutsideEditor(a,e)}let s=r.getLineNumberAtVerticalOffset(t);return va.createOutsideEditor(a,new i.kl(s,n.getLineMaxColumn(s)))}let o=r.getLineNumberAtVerticalOffset(r.getCurrentScrollTop()+e.relativePos.y);return e.posx<t.x?va.createOutsideEditor(a,new i.kl(o,1)):e.posx>t.x+t.width?va.createOutsideEditor(a,new i.kl(o,n.getLineMaxColumn(o))):null}_findMousePosition(e,t){let n=this._getPositionOutsideEditor(e);if(n)return n;let r=this._createMouseTarget(e,t);if(!r.position)return null;if(r.type===8||r.type===5){let e=this._helpPositionJumpOverViewZone(r.detail);if(e)return va.createViewZone(r.type,r.element,r.mouseColumn,e,r.detail)}return r}_helpPositionJumpOverViewZone(e){let t=new i.kl(this._currentSelection.selectionStartLineNumber,this._currentSelection.selectionStartColumn),n=e.positionBefore,r=e.positionAfter;return n&&r?n.isBefore(t)?n:r:null}_dispatchMouse(e,t){e.position&&this._viewController.dispatchMouse({position:e.position,mouseColumn:e.mouseColumn,startedOnLineNumbers:this._mouseState.startedOnLineNumbers,inSelectionMode:t,mouseDownCount:this._mouseState.count,altKey:this._mouseState.altKey,ctrlKey:this._mouseState.ctrlKey,metaKey:this._mouseState.metaKey,shiftKey:this._mouseState.shiftKey,leftButton:this._mouseState.leftButton,middleButton:this._mouseState.middleButton,onInjectedText:e.type===6&&e.detail.injectedText!==null})}},Aa=class e{constructor(){this._altKey=!1,this._ctrlKey=!1,this._metaKey=!1,this._shiftKey=!1,this._leftButton=!1,this._middleButton=!1,this._startedOnLineNumbers=!1,this._lastMouseDownPosition=null,this._lastMouseDownPositionEqualCount=0,this._lastMouseDownCount=0,this._lastSetMouseDownCountTime=0,this.isDragAndDrop=!1}get altKey(){return this._altKey}get ctrlKey(){return this._ctrlKey}get metaKey(){return this._metaKey}get shiftKey(){return this._shiftKey}get leftButton(){return this._leftButton}get middleButton(){return this._middleButton}get startedOnLineNumbers(){return this._startedOnLineNumbers}get count(){return this._lastMouseDownCount}setModifiers(e){this._altKey=e.altKey,this._ctrlKey=e.ctrlKey,this._metaKey=e.metaKey,this._shiftKey=e.shiftKey}setStartButtons(e){this._leftButton=e.leftButton,this._middleButton=e.middleButton}setStartedOnLineNumbers(e){this._startedOnLineNumbers=e}trySetCount(t,n){let r=new Date().getTime();r-this._lastSetMouseDownCountTime>e.CLEAR_MOUSE_DOWN_COUNT_TIME&&(t=1),this._lastSetMouseDownCountTime=r,t>this._lastMouseDownCount+1&&(t=this._lastMouseDownCount+1),this._lastMouseDownPosition&&this._lastMouseDownPosition.equals(n)?this._lastMouseDownPositionEqualCount++:this._lastMouseDownPositionEqualCount=1,this._lastMouseDownPosition=n,this._lastMouseDownCount=Math.min(t,this._lastMouseDownPositionEqualCount)}};Aa.CLEAR_MOUSE_DOWN_COUNT_TIME=400;var P=class e{constructor(e,t,n,r,i){this.value=e,this.selectionStart=t,this.selectionEnd=n,this.selectionStartPosition=r,this.selectionEndPosition=i}toString(){return`[ <${this.value}>, selectionStart: ${this.selectionStart}, selectionEnd: ${this.selectionEnd}]`}static readFromTextArea(t){return new e(t.getValue(),t.getSelectionStart(),t.getSelectionEnd(),null,null)}collapseSelection(){return new e(this.value,this.value.length,this.value.length,null,null)}writeToTextArea(e,t,n){t.setValue(e,this.value),n&&t.setSelectionRange(e,this.selectionStart,this.selectionEnd)}deduceEditorPosition(e){if(e<=this.selectionStart){let t=this.value.substring(e,this.selectionStart);return this._finishDeduceEditorPosition(this.selectionStartPosition,t,-1)}if(e>=this.selectionEnd){let t=this.value.substring(this.selectionEnd,e);return this._finishDeduceEditorPosition(this.selectionEndPosition,t,1)}let t=this.value.substring(this.selectionStart,e);if(t.indexOf(`…`)===-1)return this._finishDeduceEditorPosition(this.selectionStartPosition,t,1);let n=this.value.substring(e,this.selectionEnd);return this._finishDeduceEditorPosition(this.selectionEndPosition,n,-1)}_finishDeduceEditorPosition(e,t,n){let r=0,i=-1;for(;(i=t.indexOf(`
|
|
7
7
|
`,i+1))!==-1;)r++;return[e,n*t.length,r]}static deduceInput(e,t,n){if(!e)return{text:``,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};let r=Math.min(i.Dc(e.value,t.value),e.selectionStart,t.selectionStart),a=Math.min(i.Oc(e.value,t.value),e.value.length-e.selectionEnd,t.value.length-t.selectionEnd);e.value.substring(r,e.value.length-a);let o=t.value.substring(r,t.value.length-a),s=e.selectionStart-r,c=e.selectionEnd-r;return t.selectionStart-r===t.selectionEnd-r?{text:o,replacePrevCharCnt:e.selectionStart-r,replaceNextCharCnt:0,positionDelta:0}:{text:o,replacePrevCharCnt:c-s,replaceNextCharCnt:0,positionDelta:0}}static deduceAndroidCompositionInput(e,t){if(!e)return{text:``,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:0};if(e.value===t.value)return{text:``,replacePrevCharCnt:0,replaceNextCharCnt:0,positionDelta:t.selectionEnd-e.selectionEnd};let n=Math.min(i.Dc(e.value,t.value),e.selectionEnd),r=Math.min(i.Oc(e.value,t.value),e.value.length-e.selectionEnd),a=e.value.substring(n,e.value.length-r),o=t.value.substring(n,t.value.length-r);e.selectionStart-n;let s=e.selectionEnd-n;t.selectionStart-n;let c=t.selectionEnd-n;return{text:o,replacePrevCharCnt:s,replaceNextCharCnt:a.length-s,positionDelta:c-o.length}}};P.EMPTY=new P(``,0,0,null,null);var ja=class e{static _getPageOfLine(e,t){return Math.floor((e-1)/t)}static _getRangeForPage(e,t){let n=e*t;return new i.Ol(n+1,1,n+t+1,1)}static fromEditorSelection(t,n,r,a,o){let s=e._getPageOfLine(r.startLineNumber,a),c=e._getRangeForPage(s,a),l=e._getPageOfLine(r.endLineNumber,a),u=e._getRangeForPage(l,a),d=c.intersectRanges(new i.Ol(1,1,r.startLineNumber,r.startColumn)),f=n.getValueInRange(d,1),p=n.getLineCount(),m=n.getLineMaxColumn(p),h=u.intersectRanges(new i.Ol(r.endLineNumber,r.endColumn,p,m)),g=n.getValueInRange(h,1),_;if(s===l||s+1===l)_=n.getValueInRange(r,1);else{let e=c.intersectRanges(r),t=u.intersectRanges(r);_=n.getValueInRange(e,1)+`…`+n.getValueInRange(t,1)}return o&&(f.length>500&&(f=f.substring(f.length-500,f.length)),g.length>500&&(g=g.substring(0,500)),_.length>2*500&&(_=_.substring(0,500)+`…`+_.substring(_.length-500,_.length))),new P(f+_+g,f.length,f.length+_.length,new i.kl(r.startLineNumber,r.startColumn),new i.kl(r.endLineNumber,r.endColumn))}},Ma;(function(e){e.Tap=`-monaco-textarea-synthetic-tap`})(Ma||={});var Na={forceCopyWithSyntaxHighlighting:!1},Pa=class{constructor(){this._lastState=null}set(e,t){this._lastState={lastCopiedValue:e,data:t}}get(e){return this._lastState&&this._lastState.lastCopiedValue===e?this._lastState.data:(this._lastState=null,null)}};Pa.INSTANCE=new Pa;var Fa=class{constructor(){this._lastTypeTextLength=0}handleCompositionUpdate(e){e||=``;let t={text:e,replacePrevCharCnt:this._lastTypeTextLength,replaceNextCharCnt:0,positionDelta:0};return this._lastTypeTextLength=e.length,t}},Ia=class extends i.Xl{constructor(e,t,n,r){super(),this._host=e,this._textArea=t,this._OS=n,this._browser=r,this._onFocus=this._register(new i.Ul),this.onFocus=this._onFocus.event,this._onBlur=this._register(new i.Ul),this.onBlur=this._onBlur.event,this._onKeyDown=this._register(new i.Ul),this.onKeyDown=this._onKeyDown.event,this._onKeyUp=this._register(new i.Ul),this.onKeyUp=this._onKeyUp.event,this._onCut=this._register(new i.Ul),this.onCut=this._onCut.event,this._onPaste=this._register(new i.Ul),this.onPaste=this._onPaste.event,this._onType=this._register(new i.Ul),this.onType=this._onType.event,this._onCompositionStart=this._register(new i.Ul),this.onCompositionStart=this._onCompositionStart.event,this._onCompositionUpdate=this._register(new i.Ul),this.onCompositionUpdate=this._onCompositionUpdate.event,this._onCompositionEnd=this._register(new i.Ul),this.onCompositionEnd=this._onCompositionEnd.event,this._onSelectionChangeRequest=this._register(new i.Ul),this.onSelectionChangeRequest=this._onSelectionChangeRequest.event,this._asyncTriggerCut=this._register(new i.ys(()=>this._onCut.fire(),0)),this._asyncFocusGainWriteScreenReaderContent=this._register(new i.ys(()=>this.writeScreenReaderContent(`asyncFocusGain`),0)),this._textAreaState=P.EMPTY,this._selectionChangeListener=null,this.writeScreenReaderContent(`ctor`),this._hasFocus=!1,this._currentComposition=null;let a=null;this._register(this._textArea.onKeyDown(e=>{let t=new i.Ho(e);(t.keyCode===109||this._currentComposition&&t.keyCode===1)&&t.stopPropagation(),t.equals(9)&&t.preventDefault(),a=t,this._onKeyDown.fire(t)})),this._register(this._textArea.onKeyUp(e=>{let t=new i.Ho(e);this._onKeyUp.fire(t)})),this._register(this._textArea.onCompositionStart(e=>{let t=new Fa;if(this._currentComposition){this._currentComposition=t;return}if(this._currentComposition=t,this._OS===2&&a&&a.equals(109)&&this._textAreaState.selectionStart===this._textAreaState.selectionEnd&&this._textAreaState.selectionStart>0&&this._textAreaState.value.substr(this._textAreaState.selectionStart-1,1)===e.data&&(a.code===`ArrowRight`||a.code===`ArrowLeft`)){t.handleCompositionUpdate(`x`),this._onCompositionStart.fire({data:e.data});return}if(this._browser.isAndroid){this._onCompositionStart.fire({data:e.data});return}this._onCompositionStart.fire({data:e.data})})),this._register(this._textArea.onCompositionUpdate(e=>{let t=this._currentComposition;if(!t)return;if(this._browser.isAndroid){let t=P.readFromTextArea(this._textArea),n=P.deduceAndroidCompositionInput(this._textAreaState,t);this._textAreaState=t,this._onType.fire(n),this._onCompositionUpdate.fire(e);return}let n=t.handleCompositionUpdate(e.data);this._textAreaState=P.readFromTextArea(this._textArea),this._onType.fire(n),this._onCompositionUpdate.fire(e)})),this._register(this._textArea.onCompositionEnd(e=>{let t=this._currentComposition;if(!t)return;if(this._currentComposition=null,this._browser.isAndroid){let e=P.readFromTextArea(this._textArea),t=P.deduceAndroidCompositionInput(this._textAreaState,e);this._textAreaState=e,this._onType.fire(t),this._onCompositionEnd.fire();return}let n=t.handleCompositionUpdate(e.data);this._textAreaState=P.readFromTextArea(this._textArea),this._onType.fire(n),this._onCompositionEnd.fire()})),this._register(this._textArea.onInput(e=>{if(this._textArea.setIgnoreSelectionChangeTime(`received input event`),this._currentComposition)return;let t=P.readFromTextArea(this._textArea),n=P.deduceInput(this._textAreaState,t,this._OS===2);n.replacePrevCharCnt===0&&n.text.length===1&&i.qc(n.text.charCodeAt(0))||(this._textAreaState=t,(n.text!==``||n.replacePrevCharCnt!==0||n.replaceNextCharCnt!==0||n.positionDelta!==0)&&this._onType.fire(n))})),this._register(this._textArea.onCut(e=>{this._textArea.setIgnoreSelectionChangeTime(`received cut event`),this._ensureClipboardGetsEditorSelection(e),this._asyncTriggerCut.schedule()})),this._register(this._textArea.onCopy(e=>{this._ensureClipboardGetsEditorSelection(e)})),this._register(this._textArea.onPaste(e=>{if(this._textArea.setIgnoreSelectionChangeTime(`received paste event`),e.preventDefault(),!e.clipboardData)return;let[t,n]=La.getTextData(e.clipboardData);t&&(n||=Pa.INSTANCE.get(t),this._onPaste.fire({text:t,metadata:n}))})),this._register(this._textArea.onFocus(()=>{let e=this._hasFocus;this._setHasFocus(!0),this._browser.isSafari&&!e&&this._hasFocus&&this._asyncFocusGainWriteScreenReaderContent.schedule()})),this._register(this._textArea.onBlur(()=>{this._currentComposition&&(this._currentComposition=null,this.writeScreenReaderContent(`blurWithoutCompositionEnd`),this._onCompositionEnd.fire()),this._setHasFocus(!1)})),this._register(this._textArea.onSyntheticTap(()=>{this._browser.isAndroid&&this._currentComposition&&(this._currentComposition=null,this.writeScreenReaderContent(`tapWithoutCompositionEnd`),this._onCompositionEnd.fire())}))}_installSelectionChangeListener(){let e=0;return i.Ka(document,`selectionchange`,t=>{if(!this._hasFocus||this._currentComposition||!this._browser.isChrome)return;let n=Date.now(),r=n-e;if(e=n,r<5)return;let a=n-this._textArea.getIgnoreSelectionChangeTime();if(this._textArea.resetSelectionChangeTime(),a<100||!this._textAreaState.selectionStartPosition||!this._textAreaState.selectionEndPosition)return;let o=this._textArea.getValue();if(this._textAreaState.value!==o)return;let s=this._textArea.getSelectionStart(),c=this._textArea.getSelectionEnd();if(this._textAreaState.selectionStart===s&&this._textAreaState.selectionEnd===c)return;let l=this._textAreaState.deduceEditorPosition(s),u=this._host.deduceModelPosition(l[0],l[1],l[2]),d=this._textAreaState.deduceEditorPosition(c),f=this._host.deduceModelPosition(d[0],d[1],d[2]),p=new i.Dl(u.lineNumber,u.column,f.lineNumber,f.column);this._onSelectionChangeRequest.fire(p)})}dispose(){super.dispose(),this._selectionChangeListener&&=(this._selectionChangeListener.dispose(),null)}focusTextArea(){this._setHasFocus(!0),this.refreshFocusState()}isFocused(){return this._hasFocus}refreshFocusState(){this._setHasFocus(this._textArea.hasFocus())}_setHasFocus(e){this._hasFocus!==e&&(this._hasFocus=e,this._selectionChangeListener&&=(this._selectionChangeListener.dispose(),null),this._hasFocus&&(this._selectionChangeListener=this._installSelectionChangeListener()),this._hasFocus&&this.writeScreenReaderContent(`focusgain`),this._hasFocus?this._onFocus.fire():this._onBlur.fire())}_setAndWriteTextAreaState(e,t){this._hasFocus||(t=t.collapseSelection()),t.writeToTextArea(e,this._textArea,this._hasFocus),this._textAreaState=t}writeScreenReaderContent(e){this._currentComposition||this._setAndWriteTextAreaState(e,this._host.getScreenReaderContent(this._textAreaState))}_ensureClipboardGetsEditorSelection(e){let t=this._host.getDataToCopy(),n={version:1,isFromEmptySelection:t.isFromEmptySelection,multicursorText:t.multicursorText,mode:t.mode};Pa.INSTANCE.set(this._browser.isFirefox?t.text.replace(/\r\n/g,`
|
|
@@ -67,7 +67,7 @@ __emailmaker__.define(`3410ae4c.js`,[`require`,`exports`,`module`,`50032f39.js`,
|
|
|
67
67
|
}
|
|
68
68
|
`)});var Rs=class{constructor(e,t,n){this._decorationToRenderBrand=void 0,this.startLineNumber=+e,this.endLineNumber=+t,this.className=String(n)}},zs=class extends Ha{_render(e,t,n){let r=[];for(let n=e;n<=t;n++){let t=n-e;r[t]=[]}if(n.length===0)return r;n.sort((e,t)=>e.className===t.className?e.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber:e.className<t.className?-1:1);let i=null,a=0;for(let o=0,s=n.length;o<s;o++){let s=n[o],c=s.className,l=Math.max(s.startLineNumber,e)-e,u=Math.min(s.endLineNumber,t)-e;i===c?(l=Math.max(a+1,l),a=Math.max(a,u)):(i=c,a=u);for(let e=l;e<=a;e++)r[e].push(i)}return r}},Bs=class extends zs{constructor(e){super(),this._context=e;let t=this._context.configuration.options,n=t.get(132);this._lineHeight=t.get(60),this._glyphMargin=t.get(51),this._glyphMarginLeft=n.glyphMarginLeft,this._glyphMarginWidth=n.glyphMarginWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options,n=t.get(132);return this._lineHeight=t.get(60),this._glyphMargin=t.get(51),this._glyphMarginLeft=n.glyphMarginLeft,this._glyphMarginWidth=n.glyphMarginWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){let t=e.getDecorationsInViewport(),n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e],a=i.options.glyphMarginClassName;a&&(n[r++]=new Rs(i.range.startLineNumber,i.range.endLineNumber,a))}return n}prepareRender(e){if(!this._glyphMargin){this._renderResult=null;return}let t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=this._render(t,n,this._getDecorations(e)),i=this._lineHeight.toString(),a=this._glyphMarginLeft.toString(),o=this._glyphMarginWidth.toString(),s=`" style="left:`+a+`px;width:`+o+`px;height:`+i+`px;"></div>`,c=[];for(let e=t;e<=n;e++){let n=e-t,i=r[n];i.length===0?c[n]=``:c[n]=`<div class="cgmr codicon `+i.join(` `)+s}this._renderResult=c}render(e,t){if(!this._renderResult)return``;let n=t-e;return n<0||n>=this._renderResult.length?``:this._renderResult[n]}},Vs=class extends Ha{constructor(e){super(),this._context=e,this._primaryPosition=null;let t=this._context.configuration.options,n=t.get(133),r=t.get(45);this._lineHeight=t.get(60),this._spaceWidth=r.spaceWidth,this._maxIndentLeft=n.wrappingColumn===-1?-1:n.wrappingColumn*r.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(13),this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options,n=t.get(133),r=t.get(45);return this._lineHeight=t.get(60),this._spaceWidth=r.spaceWidth,this._maxIndentLeft=n.wrappingColumn===-1?-1:n.wrappingColumn*r.typicalHalfwidthCharacterWidth,this._bracketPairGuideOptions=t.get(13),!0}onCursorStateChanged(e){let t=e.selections[0].getPosition();return this._primaryPosition?.equals(t)?!1:(this._primaryPosition=t,!0)}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}onLanguageConfigurationChanged(e){return!0}prepareRender(e){if(!this._bracketPairGuideOptions.indentation&&this._bracketPairGuideOptions.bracketPairs===!1){this._renderResult=null;return}let t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=e.scrollWidth,a=this._lineHeight,o=this._primaryPosition,s=this.getGuidesByLine(t,n,o),c=[];for(let o=t;o<=n;o++){let n=o-t,l=s[n],u=``,d=e.visibleRangeForPosition(new i.kl(o,1))?.left??0;for(let t of l){let n=t.column===-1?d+(t.visibleColumn-1)*this._spaceWidth:e.visibleRangeForPosition(new i.kl(o,t.column)).left;if(n>r||this._maxIndentLeft>0&&n>this._maxIndentLeft)break;let s=t.horizontalLine?t.horizontalLine.top?`horizontal-top`:`horizontal-bottom`:`vertical`,c=t.horizontalLine?(e.visibleRangeForPosition(new i.kl(o,t.horizontalLine.endColumn))?.left??n+this._spaceWidth)-n:this._spaceWidth;u+=`<div class="core-guide ${t.className} ${s}" style="left:${n}px;height:${a}px;width:${c}px"></div>`}c[n]=u}this._renderResult=c}getGuidesByLine(e,t,n){let r=this._bracketPairGuideOptions.bracketPairs===!1?null:this._context.viewModel.getBracketGuidesInRangeByLine(e,t,n,{highlightActive:this._bracketPairGuideOptions.highlightActiveBracketPair,horizontalGuides:this._bracketPairGuideOptions.bracketPairsHorizontal===!0?i.G.Enabled:this._bracketPairGuideOptions.bracketPairsHorizontal===`active`?i.G.EnabledForActive:i.G.Disabled,includeInactive:this._bracketPairGuideOptions.bracketPairs===!0}),a=this._bracketPairGuideOptions.indentation?this._context.viewModel.getLinesIndentGuides(e,t):null,o=0,s=0,c=0;if(this._bracketPairGuideOptions.highlightActiveIndentation!==!1&&n){let r=this._context.viewModel.getActiveIndentGuide(n.lineNumber,e,t);o=r.startLineNumber,s=r.endLineNumber,c=r.indent}let{indentSize:l}=this._context.viewModel.model.getOptions(),u=[];for(let n=e;n<=t;n++){let t=[];u.push(t);let d=r?r[n-e]:[],f=new i.Lu(d),p=a?a[n-e]:[];for(let e=1;e<=p;e++){let r=(e-1)*l+1,a=(this._bracketPairGuideOptions.highlightActiveIndentation===`always`||d.length===0)&&o<=n&&n<=s&&e===c;t.push(...f.takeWhile(e=>e.visibleColumn<r)||[]);let u=f.peek();(!u||u.visibleColumn!==r||u.horizontalLine)&&t.push(new i.K(r,-1,a?`core-guide-indent-active`:`core-guide-indent`,null,-1,-1))}t.push(...f.takeWhile(e=>!0)||[])}return u}render(e,t){if(!this._renderResult)return``;let n=t-e;return n<0||n>=this._renderResult.length?``:this._renderResult[n]}};function Hs(e){if(!(e&&e.isTransparent()))return e}i.ba((e,t)=>{let n=e.getColor(i.bt);n&&t.addRule(`.monaco-editor .lines-content .core-guide-indent { box-shadow: 1px 0 0 0 ${n} inset; }`);let r=e.getColor(i.X)||n;r&&t.addRule(`.monaco-editor .lines-content .core-guide-indent-active { box-shadow: 1px 0 0 0 ${r} inset; }`);let a=[{bracketColor:i.Q,guideColor:i.ft,guideColorActive:i.ot},{bracketColor:i.$,guideColor:i.pt,guideColorActive:i.st},{bracketColor:i.et,guideColor:i.mt,guideColorActive:i.ct},{bracketColor:i.tt,guideColor:i.ht,guideColorActive:i.lt},{bracketColor:i.nt,guideColor:i.gt,guideColorActive:i.ut},{bracketColor:i.rt,guideColor:i._t,guideColorActive:i.dt}],o=new i.W,s=a.map(t=>{let n=e.getColor(t.bracketColor),r=e.getColor(t.guideColor),i=e.getColor(t.guideColorActive),a=Hs(Hs(r)??n?.transparent(.3)),o=Hs(Hs(i)??n);if(!(!a||!o))return{guideColor:a,guideColorActive:o}}).filter(i.Ou);if(s.length>0){for(let e=0;e<30;e++){let n=s[e%s.length];t.addRule(`.monaco-editor .${o.getInlineClassNameOfLevel(e).replace(/ /g,`.`)} { --guide-color: ${n.guideColor}; --guide-color-active: ${n.guideColorActive}; }`)}t.addRule(`.monaco-editor .vertical { box-shadow: 1px 0 0 0 var(--guide-color) inset; }`),t.addRule(`.monaco-editor .horizontal-top { border-top: 1px solid var(--guide-color); }`),t.addRule(`.monaco-editor .horizontal-bottom { border-bottom: 1px solid var(--guide-color); }`),t.addRule(`.monaco-editor .vertical.${o.activeClassName} { box-shadow: 1px 0 0 0 var(--guide-color-active) inset; }`),t.addRule(`.monaco-editor .horizontal-top.${o.activeClassName} { border-top: 1px solid var(--guide-color-active); }`),t.addRule(`.monaco-editor .horizontal-bottom.${o.activeClassName} { border-bottom: 1px solid var(--guide-color-active); }`)}});var Us=class{constructor(){this._currentVisibleRange=new i.Ol(1,1,1,1)}getCurrentVisibleRange(){return this._currentVisibleRange}setCurrentVisibleRange(e){this._currentVisibleRange=e}},Ws=class{constructor(e,t,n,r,i,a,o){this.minimalReveal=e,this.lineNumber=t,this.startColumn=n,this.endColumn=r,this.startScrollTop=i,this.stopScrollTop=a,this.scrollType=o,this.type=`range`,this.minLineNumber=t,this.maxLineNumber=t}},Gs=class{constructor(e,t,n,r,i){this.minimalReveal=e,this.selections=t,this.startScrollTop=n,this.stopScrollTop=r,this.scrollType=i,this.type=`selections`;let a=t[0].startLineNumber,o=t[0].endLineNumber;for(let e=1,n=t.length;e<n;e++){let n=t[e];a=Math.min(a,n.startLineNumber),o=Math.max(o,n.endLineNumber)}this.minLineNumber=a,this.maxLineNumber=o}},Ks=class e extends Ki{constructor(e,t){super(e),this._linesContent=t,this._textRangeRestingSpot=document.createElement(`div`),this._visibleLines=new Zo(this),this.domNode=this._visibleLines.domNode;let n=this._context.configuration,r=this._context.configuration.options,a=r.get(45),o=r.get(133),s=r.get(132);this._lineHeight=r.get(60),this._typicalHalfwidthCharacterWidth=a.typicalHalfwidthCharacterWidth,this._isViewportWrapping=o.isViewportWrapping,this._revealHorizontalRightPadding=r.get(90),this._horizontalScrollbarHeight=s.horizontalScrollbarHeight,this._cursorSurroundingLines=r.get(25),this._cursorSurroundingLinesStyle=r.get(26),this._canUseLayerHinting=!r.get(28),this._viewLineOptions=new aa(n,this._context.theme.type),qi.write(this.domNode,7),this.domNode.setClassName(`view-lines ${Ga}`),Tt(this.domNode,a),this._maxLineWidth=0,this._asyncUpdateLineWidths=new i.ys(()=>{this._updateLineWidthsSlow()},200),this._asyncCheckMonospaceFontAssumptions=new i.ys(()=>{this._checkMonospaceFontAssumptions()},2e3),this._lastRenderedData=new Us,this._horizontalRevealRequest=null}dispose(){this._asyncUpdateLineWidths.dispose(),this._asyncCheckMonospaceFontAssumptions.dispose(),super.dispose()}getDomNode(){return this.domNode}createVisibleLine(){return new oa(this._viewLineOptions)}onConfigurationChanged(e){this._visibleLines.onConfigurationChanged(e),e.hasChanged(133)&&(this._maxLineWidth=0);let t=this._context.configuration.options,n=t.get(45),r=t.get(133),i=t.get(132);return this._lineHeight=t.get(60),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._isViewportWrapping=r.isViewportWrapping,this._revealHorizontalRightPadding=t.get(90),this._horizontalScrollbarHeight=i.horizontalScrollbarHeight,this._cursorSurroundingLines=t.get(25),this._cursorSurroundingLinesStyle=t.get(26),this._canUseLayerHinting=!t.get(28),Tt(this.domNode,n),this._onOptionsMaybeChanged(),e.hasChanged(132)&&(this._maxLineWidth=0),!0}_onOptionsMaybeChanged(){let e=this._context.configuration,t=new aa(e,this._context.theme.type);if(!this._viewLineOptions.equals(t)){this._viewLineOptions=t;let e=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let t=e;t<=n;t++)this._visibleLines.getVisibleLine(t).onOptionsChanged(this._viewLineOptions);return!0}return!1}onCursorStateChanged(e){let t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),r=!1;for(let e=t;e<=n;e++)r=this._visibleLines.getVisibleLine(e).onSelectionChanged()||r;return r}onDecorationsChanged(e){{let e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let n=e;n<=t;n++)this._visibleLines.getVisibleLine(n).onDecorationsChanged()}return!0}onFlushed(e){let t=this._visibleLines.onFlushed(e);return this._maxLineWidth=0,t}onLinesChanged(e){return this._visibleLines.onLinesChanged(e)}onLinesDeleted(e){return this._visibleLines.onLinesDeleted(e)}onLinesInserted(e){return this._visibleLines.onLinesInserted(e)}onRevealRangeRequest(e){let t=this._computeScrollTopToRevealRange(this._context.viewLayout.getFutureViewport(),e.source,e.minimalReveal,e.range,e.selections,e.verticalType);if(t===-1)return!1;let n=this._context.viewLayout.validateScrollPosition({scrollTop:t});e.revealHorizontal?e.range&&e.range.startLineNumber!==e.range.endLineNumber?n={scrollTop:n.scrollTop,scrollLeft:0}:e.range?this._horizontalRevealRequest=new Ws(e.minimalReveal,e.range.startLineNumber,e.range.startColumn,e.range.endColumn,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType):e.selections&&e.selections.length>0&&(this._horizontalRevealRequest=new Gs(e.minimalReveal,e.selections,this._context.viewLayout.getCurrentScrollTop(),n.scrollTop,e.scrollType)):this._horizontalRevealRequest=null;let r=Math.abs(this._context.viewLayout.getCurrentScrollTop()-n.scrollTop)<=this._lineHeight?1:e.scrollType;return this._context.viewModel.viewLayout.setScrollPosition(n,r),!0}onScrollChanged(e){if(this._horizontalRevealRequest&&e.scrollLeftChanged&&(this._horizontalRevealRequest=null),this._horizontalRevealRequest&&e.scrollTopChanged){let t=Math.min(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop),n=Math.max(this._horizontalRevealRequest.startScrollTop,this._horizontalRevealRequest.stopScrollTop);(e.scrollTop<t||e.scrollTop>n)&&(this._horizontalRevealRequest=null)}return this.domNode.setWidth(e.scrollWidth),this._visibleLines.onScrollChanged(e)||!0}onTokensChanged(e){return this._visibleLines.onTokensChanged(e)}onZonesChanged(e){return this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth),this._visibleLines.onZonesChanged(e)}onThemeChanged(e){return this._onOptionsMaybeChanged()}getPositionFromDOMInfo(e,t){let n=this._getViewLineDomNode(e);if(n===null)return null;let r=this._getLineNumberFor(n);if(r===-1||r<1||r>this._context.viewModel.getLineCount())return null;if(this._context.viewModel.getLineMaxColumn(r)===1)return new i.kl(r,1);let a=this._visibleLines.getStartLineNumber(),o=this._visibleLines.getEndLineNumber();if(r<a||r>o)return null;let s=this._visibleLines.getVisibleLine(r).getColumnOfNodeOffset(r,e,t),c=this._context.viewModel.getLineMinColumn(r);return s<c&&(s=c),new i.kl(r,s)}_getViewLineDomNode(e){for(;e&&e.nodeType===1;){if(e.className===oa.CLASS_NAME)return e;e=e.parentElement}return null}_getLineNumberFor(e){let t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();for(let r=t;r<=n;r++)if(e===this._visibleLines.getVisibleLine(r).getDomNode())return r;return-1}getLineWidth(e){let t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber();return e<t||e>n?-1:this._visibleLines.getVisibleLine(e).getWidth()}linesVisibleRangesForRange(e,t){if(this.shouldRender())return null;let n=e.endLineNumber,r=i.Ol.intersectRanges(e,this._lastRenderedData.getCurrentVisibleRange());if(!r)return null;let a=[],o=0,s=new ia(this.domNode.domNode,this._textRangeRestingSpot),c=0;t&&(c=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new i.kl(r.startLineNumber,1)).lineNumber);let l=this._visibleLines.getStartLineNumber(),u=this._visibleLines.getEndLineNumber();for(let e=r.startLineNumber;e<=r.endLineNumber;e++){if(e<l||e>u)continue;let d=e===r.startLineNumber?r.startColumn:1,f=e===r.endLineNumber?r.endColumn:this._context.viewModel.getLineMaxColumn(e),p=this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,d,f,s);if(p){if(t&&e<n){let t=c;c=this._context.viewModel.coordinatesConverter.convertViewPositionToModelPosition(new i.kl(e+1,1)).lineNumber,t!==c&&(p.ranges[p.ranges.length-1].width+=this._typicalHalfwidthCharacterWidth)}a[o++]=new Xi(p.outsideRenderedLine,e,Zi.from(p.ranges))}}return o===0?null:a}_visibleRangesForLineRange(e,t,n){return this.shouldRender()||e<this._visibleLines.getStartLineNumber()||e>this._visibleLines.getEndLineNumber()?null:this._visibleLines.getVisibleLine(e).getVisibleRangesForRange(e,t,n,new ia(this.domNode.domNode,this._textRangeRestingSpot))}visibleRangeForPosition(e){let t=this._visibleRangesForLineRange(e.lineNumber,e.column,e.column);return t?new $i(t.outsideRenderedLine,t.ranges[0].left):null}updateLineWidths(){this._updateLineWidths(!1)}_updateLineWidthsFast(){return this._updateLineWidths(!0)}_updateLineWidthsSlow(){this._updateLineWidths(!1)}_updateLineWidths(e){let t=this._visibleLines.getStartLineNumber(),n=this._visibleLines.getEndLineNumber(),r=1,i=!0;for(let a=t;a<=n;a++){let t=this._visibleLines.getVisibleLine(a);if(e&&!t.getWidthIsFast()){i=!1;continue}r=Math.max(r,t.getWidth())}return i&&t===1&&n===this._context.viewModel.getLineCount()&&(this._maxLineWidth=0),this._ensureMaxLineWidth(r),i}_checkMonospaceFontAssumptions(){let e=-1,t=-1,n=this._visibleLines.getStartLineNumber(),r=this._visibleLines.getEndLineNumber();for(let i=n;i<=r;i++){let n=this._visibleLines.getVisibleLine(i);if(n.needsMonospaceFontCheck()){let r=n.getWidth();r>t&&(t=r,e=i)}}if(e!==-1&&!this._visibleLines.getVisibleLine(e).monospaceAssumptionsAreValid())for(let e=n;e<=r;e++)this._visibleLines.getVisibleLine(e).onMonospaceAssumptionsInvalidated()}prepareRender(){throw Error(`Not supported`)}render(){throw Error(`Not supported`)}renderText(e){if(this._visibleLines.renderLines(e),this._lastRenderedData.setCurrentVisibleRange(e.visibleRange),this.domNode.setWidth(this._context.viewLayout.getScrollWidth()),this.domNode.setHeight(Math.min(this._context.viewLayout.getScrollHeight(),1e6)),this._horizontalRevealRequest){let t=this._horizontalRevealRequest;if(e.startLineNumber<=t.minLineNumber&&t.maxLineNumber<=e.endLineNumber){this._horizontalRevealRequest=null,this.onDidRender();let e=this._computeScrollLeftToReveal(t);e&&(this._isViewportWrapping||this._ensureMaxLineWidth(e.maxHorizontalOffset),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},t.scrollType))}}if(this._updateLineWidthsFast()||this._asyncUpdateLineWidths.schedule(),i.vd&&!this._asyncCheckMonospaceFontAssumptions.isScheduled()){let e=this._visibleLines.getStartLineNumber(),t=this._visibleLines.getEndLineNumber();for(let n=e;n<=t;n++)if(this._visibleLines.getVisibleLine(n).needsMonospaceFontCheck()){this._asyncCheckMonospaceFontAssumptions.schedule();break}}this._linesContent.setLayerHinting(this._canUseLayerHinting),this._linesContent.setContain(`strict`);let t=this._context.viewLayout.getCurrentScrollTop()-e.bigNumbersDelta;this._linesContent.setTop(-t),this._linesContent.setLeft(-this._context.viewLayout.getCurrentScrollLeft())}_ensureMaxLineWidth(e){let t=Math.ceil(e);this._maxLineWidth<t&&(this._maxLineWidth=t,this._context.viewModel.viewLayout.setMaxLineWidth(this._maxLineWidth))}_computeScrollTopToRevealRange(e,t,n,r,i,a){let o=e.top,s=e.height,c=o+s,l,u,d;if(i&&i.length>0){let e=i[0].startLineNumber,t=i[0].endLineNumber;for(let n=1,r=i.length;n<r;n++){let r=i[n];e=Math.min(e,r.startLineNumber),t=Math.max(t,r.endLineNumber)}l=!1,u=this._context.viewLayout.getVerticalOffsetForLineNumber(e),d=this._context.viewLayout.getVerticalOffsetForLineNumber(t)+this._lineHeight}else if(r)l=!0,u=this._context.viewLayout.getVerticalOffsetForLineNumber(r.startLineNumber),d=this._context.viewLayout.getVerticalOffsetForLineNumber(r.endLineNumber)+this._lineHeight;else return-1;if((t===`mouse`||n)&&this._cursorSurroundingLinesStyle===`default`)n||(u-=this._lineHeight);else{let e=Math.min(s/this._lineHeight/2,this._cursorSurroundingLines);u-=e*this._lineHeight,d+=Math.max(0,e-1)*this._lineHeight}(a===0||a===4)&&(d+=n?this._horizontalScrollbarHeight:this._lineHeight);let f;if(d-u>s){if(!l)return-1;f=u}else if(a===5||a===6)if(a===6&&o<=u&&d<=c)f=o;else{let e=Math.max(5*this._lineHeight,s*.2),t=u-e,n=d-s;f=Math.max(n,t)}else if(a===1||a===2)if(a===2&&o<=u&&d<=c)f=o;else{let e=(u+d)/2;f=Math.max(0,e-s/2)}else f=this._computeMinimumScrolling(o,c,u,d,a===3,a===4);return f}_computeScrollLeftToReveal(t){let n=this._context.viewLayout.getCurrentViewport(),r=n.left,i=r+n.width,a=1073741824,o=0;if(t.type===`range`){let e=this._visibleRangesForLineRange(t.lineNumber,t.startColumn,t.endColumn);if(!e)return null;for(let t of e.ranges)a=Math.min(a,Math.round(t.left)),o=Math.max(o,Math.round(t.left+t.width))}else for(let e of t.selections){if(e.startLineNumber!==e.endLineNumber)return null;let t=this._visibleRangesForLineRange(e.startLineNumber,e.startColumn,e.endColumn);if(!t)return null;for(let e of t.ranges)a=Math.min(a,Math.round(e.left)),o=Math.max(o,Math.round(e.left+e.width))}return t.minimalReveal||(a=Math.max(0,a-e.HORIZONTAL_EXTRA_PX),o+=this._revealHorizontalRightPadding),t.type===`selections`&&o-a>n.width?null:{scrollLeft:this._computeMinimumScrolling(r,i,a,o),maxHorizontalOffset:o}}_computeMinimumScrolling(e,t,n,r,i,a){e|=0,t|=0,n|=0,r|=0,i=!!i,a=!!a;let o=t-e;if(r-n<o){if(i)return n;if(a)return Math.max(0,r-o);if(n<e)return n;if(r>t)return Math.max(0,r-o)}else return n;return e}};Ks.HORIZONTAL_EXTRA_PX=30;var qs=class extends zs{constructor(e){super(),this._context=e;let t=this._context.configuration.options.get(132);this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options.get(132);return this._decorationsLeft=t.decorationsLeft,this._decorationsWidth=t.decorationsWidth,!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){let t=e.getDecorationsInViewport(),n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e],a=i.options.linesDecorationsClassName;a&&(n[r++]=new Rs(i.range.startLineNumber,i.range.endLineNumber,a));let o=i.options.firstLineDecorationClassName;o&&(n[r++]=new Rs(i.range.startLineNumber,i.range.startLineNumber,o))}return n}prepareRender(e){let t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=this._render(t,n,this._getDecorations(e)),i=this._decorationsLeft.toString(),a=this._decorationsWidth.toString(),o=`" style="left:`+i+`px;width:`+a+`px;"></div>`,s=[];for(let e=t;e<=n;e++){let n=e-t,i=r[n],a=``;for(let e=0,t=i.length;e<t;e++)a+=`<div class="cldr `+i[e]+o;s[n]=a}this._renderResult=s}render(e,t){return this._renderResult?this._renderResult[t-e]:``}},Js=class extends zs{constructor(e){super(),this._context=e,this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){return!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_getDecorations(e){let t=e.getDecorationsInViewport(),n=[],r=0;for(let e=0,i=t.length;e<i;e++){let i=t[e],a=i.options.marginClassName;a&&(n[r++]=new Rs(i.range.startLineNumber,i.range.endLineNumber,a))}return n}prepareRender(e){let t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber,r=this._render(t,n,this._getDecorations(e)),i=[];for(let e=t;e<=n;e++){let n=e-t,a=r[n],o=``;for(let e=0,t=a.length;e<t;e++)o+=`<div class="cmdr `+a[e]+`" style=""></div>`;i[n]=o}this._renderResult=i}render(e,t){return this._renderResult?this._renderResult[t-e]:``}},Ys=class e{constructor(t,n,r,i){this._rgba8Brand=void 0,this.r=e._clamp(t),this.g=e._clamp(n),this.b=e._clamp(r),this.a=e._clamp(i)}equals(e){return this.r===e.r&&this.g===e.g&&this.b===e.b&&this.a===e.a}static _clamp(e){return e<0?0:e>255?255:e|0}};Ys.Empty=new Ys(0,0,0,0);var Xs=class e extends i.Xl{constructor(){super(),this._onDidChange=new i.Ul,this.onDidChange=this._onDidChange.event,this._updateColorMap(),this._register(i.xl.onDidChange(e=>{e.changedColorMap&&this._updateColorMap()}))}static getInstance(){return this._INSTANCE||=i.iu(new e),this._INSTANCE}_updateColorMap(){let e=i.xl.getColorMap();if(!e){this._colors=[Ys.Empty],this._backgroundIsLight=!0;return}this._colors=[Ys.Empty];for(let t=1;t<e.length;t++){let n=e[t].rgba;this._colors[t]=new Ys(n.r,n.g,n.b,Math.round(n.a*255))}this._backgroundIsLight=e[2].getRelativeLuminance()>=.5,this._onDidChange.fire(void 0)}getColor(e){return(e<1||e>=this._colors.length)&&(e=2),this._colors[e]}backgroundIsLight(){return this._backgroundIsLight}};Xs._INSTANCE=null;var Zs=(()=>{let e=[];for(let t=32;t<=126;t++)e.push(t);return e.push(65533),e})(),Qs=(e,t)=>(e-=32,e<0||e>96?t<=2?(e+96)%96:95:e),$s=class e{constructor(t,n){this.scale=n,this._minimapCharRendererBrand=void 0,this.charDataNormal=e.soften(t,12/15),this.charDataLight=e.soften(t,50/60)}static soften(e,t){let n=new Uint8ClampedArray(e.length);for(let r=0,a=e.length;r<a;r++)n[r]=i.cs(e[r]*t);return n}renderChar(e,t,n,r,i,a,o,s,c,l,u){let d=1*this.scale,f=2*this.scale,p=u?1:f;if(t+d>e.width||n+p>e.height)return;let m=l?this.charDataLight:this.charDataNormal,h=Qs(r,c),g=e.width*4,_=o.r,v=o.g,y=o.b,b=i.r-_,x=i.g-v,S=i.b-y,C=Math.max(a,s),w=e.data,T=h*d*f,E=n*g+t*4;for(let e=0;e<p;e++){let e=E;for(let t=0;t<d;t++){let t=m[T++]/255*(a/255);w[e++]=_+b*t,w[e++]=v+x*t,w[e++]=y+S*t,w[e++]=C}E+=g}}blockRenderChar(e,t,n,r,i,a,o,s){let c=1*this.scale,l=2*this.scale,u=s?1:l;if(t+c>e.width||n+u>e.height)return;let d=e.width*4,f=i/255*.5,p=a.r,m=a.g,h=a.b,g=r.r-p,_=r.g-m,v=r.b-h,y=p+g*f,b=m+_*f,x=h+v*f,S=Math.max(i,o),C=e.data,w=n*d+t*4;for(let e=0;e<u;e++){let e=w;for(let t=0;t<c;t++)C[e++]=y,C[e++]=b,C[e++]=x,C[e++]=S;w+=d}}},ec={0:0,1:1,2:2,3:3,4:4,5:5,6:6,7:7,8:8,9:9,A:10,B:11,C:12,D:13,E:14,F:15},tc=e=>{let t=new Uint8ClampedArray(e.length/2);for(let n=0;n<e.length;n+=2)t[n>>1]=ec[e[n]]<<4|ec[e[n+1]]&15;return t},nc={1:i.ou(()=>tc(`0000511D6300CF609C709645A78432005642574171487021003C451900274D35D762755E8B629C5BA856AF57BA649530C167D1512A272A3F6038604460398526BCA2A968DB6F8957C768BE5FBE2FB467CF5D8D5B795DC7625B5DFF50DE64C466DB2FC47CD860A65E9A2EB96CB54CE06DA763AB2EA26860524D3763536601005116008177A8705E53AB738E6A982F88BAA35B5F5B626D9C636B449B737E5B7B678598869A662F6B5B8542706C704C80736A607578685B70594A49715A4522E792`)),2:i.ou(()=>tc(`000000000000000055394F383D2800008B8B1F210002000081B1CBCBCC820000847AAF6B9AAF2119BE08B8881AD60000A44FD07DCCF107015338130C00000000385972265F390B406E2437634B4B48031B12B8A0847000001E15B29A402F0000000000004B33460B00007A752C2A0000000000004D3900000084394B82013400ABA5CFC7AD9C0302A45A3E5A98AB000089A43382D97900008BA54AA087A70A0248A6A7AE6DBE0000BF6F94987EA40A01A06DCFA7A7A9030496C32F77891D0000A99FB1A0AFA80603B29AB9CA75930D010C0948354D3900000C0948354F37460D0028BE673D8400000000AF9D7B6E00002B007AA8933400007AA642675C2700007984CFB9C3985B768772A8A6B7B20000CAAECAAFC4B700009F94A6009F840009D09F9BA4CA9C0000CC8FC76DC87F0000C991C472A2000000A894A48CA7B501079BA2C9C69BA20000B19A5D3FA89000005CA6009DA2960901B0A7F0669FB200009D009E00B7890000DAD0F5D092820000D294D4C48BD10000B5A7A4A3B1A50402CAB6CBA6A2000000B5A7A4A3B1A8044FCDADD19D9CB00000B7778F7B8AAE0803C9AB5D3F5D3F00009EA09EA0BAB006039EA0989A8C7900009B9EF4D6B7C00000A9A7816CACA80000ABAC84705D3F000096DA635CDC8C00006F486F266F263D4784006124097B00374F6D2D6D2D6D4A3A95872322000000030000000000008D8939130000000000002E22A5C9CBC70600AB25C0B5C9B400061A2DB04CA67001082AA6BEBEBFC606002321DACBC19E03087AA08B6768380000282FBAC0B8CA7A88AD25BBA5A29900004C396C5894A6000040485A6E356E9442A32CD17EADA70000B4237923628600003E2DE9C1D7B500002F25BBA5A2990000231DB6AFB4A804023025C0B5CAB588062B2CBDBEC0C706882435A75CA20000002326BD6A82A908048B4B9A5A668000002423A09CB4BB060025259C9D8A7900001C1FCAB2C7C700002A2A9387ABA200002626A4A47D6E9D14333163A0C87500004B6F9C2D643A257049364936493647358A34438355497F1A0000A24C1D590000D38DFFBDD4CD3126`))},rc=class e{static create(t,n){if(this.lastCreated&&t===this.lastCreated.scale&&n===this.lastFontFamily)return this.lastCreated;let r;return r=nc[t]?new $s(nc[t](),t):e.createFromSampleData(e.createSampleData(n).data,t),this.lastFontFamily=n,this.lastCreated=r,r}static createSampleData(e){let t=document.createElement(`canvas`),n=t.getContext(`2d`);t.style.height=`16px`,t.height=16,t.width=960,t.style.width=`960px`,n.fillStyle=`#ffffff`,n.font=`bold 16px ${e}`,n.textBaseline=`middle`;let r=0;for(let e of Zs)n.fillText(String.fromCharCode(e),r,16/2),r+=10;return n.getImageData(0,0,960,16)}static createFromSampleData(t,n){if(t.length!==640*96)throw Error(`Unexpected source in MinimapCharRenderer`);return new $s(e._downsample(t,n),n)}static _downsampleChar(e,t,n,r,a){let o=1*a,s=2*a,c=r,l=0;for(let r=0;r<s;r++){let a=r/s*16,u=(r+1)/s*16;for(let r=0;r<o;r++){let s=r/o*10,d=(r+1)/o*10,f=0,p=0;for(let n=a;n<u;n++){let r=t+Math.floor(n)*3840,i=1-(n-Math.floor(n));for(let t=s;t<d;t++){let n=1-(t-Math.floor(t)),a=r+Math.floor(t)*4,o=n*i;p+=o,f+=e[a]*e[a+3]/255*o}}let m=f/p;l=Math.max(l,m),n[c++]=i.cs(m)}}return l}static _downsample(e,t){let n=2*t*1*t,r=n*96,i=new Uint8ClampedArray(r),a=0,o=0,s=0;for(let r=0;r<96;r++)s=Math.max(s,this._downsampleChar(e,o,i,a,t)),a+=n,o+=40;if(s>0){let e=255/s;for(let t=0;t<r;t++)i[t]*=e}return i}},ic=140,ac=2,oc=class e{constructor(t,n,r){let a=t.options,o=a.get(130),s=a.get(132),c=s.minimap,l=a.get(45),u=a.get(66);this.renderMinimap=c.renderMinimap,this.size=u.size,this.minimapHeightIsEditorHeight=c.minimapHeightIsEditorHeight,this.scrollBeyondLastLine=a.get(95),this.showSlider=u.showSlider,this.autohide=u.autohide,this.pixelRatio=o,this.typicalHalfwidthCharacterWidth=l.typicalHalfwidthCharacterWidth,this.lineHeight=a.get(60),this.minimapLeft=c.minimapLeft,this.minimapWidth=c.minimapWidth,this.minimapHeight=s.height,this.canvasInnerWidth=c.minimapCanvasInnerWidth,this.canvasInnerHeight=c.minimapCanvasInnerHeight,this.canvasOuterWidth=c.minimapCanvasOuterWidth,this.canvasOuterHeight=c.minimapCanvasOuterHeight,this.isSampling=c.minimapIsSampling,this.editorHeight=s.height,this.fontScale=c.minimapScale,this.minimapLineHeight=c.minimapLineHeight,this.minimapCharWidth=1*this.fontScale,this.charRenderer=i.ou(()=>rc.create(this.fontScale,l.fontFamily)),this.defaultBackgroundColor=r.getColor(2),this.backgroundColor=e._getMinimapBackground(n,this.defaultBackgroundColor),this.foregroundAlpha=e._getMinimapForegroundOpacity(n)}static _getMinimapBackground(e,t){let n=e.getColor(i.ei);return n?new Ys(n.rgba.r,n.rgba.g,n.rgba.b,Math.round(255*n.rgba.a)):t}static _getMinimapForegroundOpacity(e){let t=e.getColor(i.ri);return t?Ys._clamp(Math.round(255*t.rgba.a)):255}equals(e){return this.renderMinimap===e.renderMinimap&&this.size===e.size&&this.minimapHeightIsEditorHeight===e.minimapHeightIsEditorHeight&&this.scrollBeyondLastLine===e.scrollBeyondLastLine&&this.showSlider===e.showSlider&&this.autohide===e.autohide&&this.pixelRatio===e.pixelRatio&&this.typicalHalfwidthCharacterWidth===e.typicalHalfwidthCharacterWidth&&this.lineHeight===e.lineHeight&&this.minimapLeft===e.minimapLeft&&this.minimapWidth===e.minimapWidth&&this.minimapHeight===e.minimapHeight&&this.canvasInnerWidth===e.canvasInnerWidth&&this.canvasInnerHeight===e.canvasInnerHeight&&this.canvasOuterWidth===e.canvasOuterWidth&&this.canvasOuterHeight===e.canvasOuterHeight&&this.isSampling===e.isSampling&&this.editorHeight===e.editorHeight&&this.fontScale===e.fontScale&&this.minimapLineHeight===e.minimapLineHeight&&this.minimapCharWidth===e.minimapCharWidth&&this.defaultBackgroundColor&&this.defaultBackgroundColor.equals(e.defaultBackgroundColor)&&this.backgroundColor&&this.backgroundColor.equals(e.backgroundColor)&&this.foregroundAlpha===e.foregroundAlpha}},sc=class e{constructor(e,t,n,r,i,a,o,s){this.scrollTop=e,this.scrollHeight=t,this.sliderNeeded=n,this._computedSliderRatio=r,this.sliderTop=i,this.sliderHeight=a,this.startLineNumber=o,this.endLineNumber=s}getDesiredScrollTopFromDelta(e){return Math.round(this.scrollTop+e/this._computedSliderRatio)}getDesiredScrollTopFromTouchLocation(e){return Math.round((e-this.sliderHeight/2)/this._computedSliderRatio)}static create(t,n,r,i,a,o,s,c,l,u,d){let f=t.pixelRatio,p=t.minimapLineHeight,m=Math.floor(t.canvasInnerHeight/p),h=t.lineHeight;if(t.minimapHeightIsEditorHeight){let n=c*t.lineHeight+(t.scrollBeyondLastLine?a-t.lineHeight:0),r=Math.max(1,Math.floor(a*a/n)),i=Math.max(0,t.minimapHeight-r),o=i/(u-a),d=l*o,f=i>0,p=Math.floor(t.canvasInnerHeight/t.minimapLineHeight);return new e(l,u,f,o,d,r,1,Math.min(s,p))}let g;if(o&&r!==s){let e=r-n+1;g=Math.floor(e*p/f)}else{let e=a/h;g=Math.floor(e*p/f)}let _;_=t.scrollBeyondLastLine?(s-1)*p/f:Math.max(0,s*p/f-g),_=Math.min(t.minimapHeight-g,_);let v=_/(u-a),y=l*v,b=0;if(t.scrollBeyondLastLine&&(b=a/h-1),m>=s+b)return new e(l,u,_>0,v,y,g,1,s);{let t=Math.max(1,Math.floor(n-y*f/p));d&&d.scrollHeight===u&&(d.scrollTop>l&&(t=Math.min(t,d.startLineNumber)),d.scrollTop<l&&(t=Math.max(t,d.startLineNumber)));let r=Math.min(s,t+m-1),a=(l-i)/h;return new e(l,u,!0,v,(n-t+a)*p/f,g,t,r)}}},cc=class{constructor(e){this.dy=e}onContentChanged(){this.dy=-1}onTokensChanged(){this.dy=-1}};cc.INVALID=new cc(-1);var lc=class{constructor(e,t,n){this.renderedLayout=e,this._imageData=t,this._renderedLines=new Xo(()=>cc.INVALID),this._renderedLines._set(e.startLineNumber,n)}linesEquals(e){if(!this.scrollEquals(e))return!1;let t=this._renderedLines._get().lines;for(let e=0,n=t.length;e<n;e++)if(t[e].dy===-1)return!1;return!0}scrollEquals(e){return this.renderedLayout.startLineNumber===e.startLineNumber&&this.renderedLayout.endLineNumber===e.endLineNumber}_get(){let e=this._renderedLines._get();return{imageData:this._imageData,rendLineNumberStart:e.rendLineNumberStart,lines:e.lines}}onLinesChanged(e,t){return this._renderedLines.onLinesChanged(e,t)}onLinesDeleted(e,t){this._renderedLines.onLinesDeleted(e,t)}onLinesInserted(e,t){this._renderedLines.onLinesInserted(e,t)}onTokensChanged(e){return this._renderedLines.onTokensChanged(e)}},uc=class e{constructor(t,n,r,i){this._backgroundFillData=e._createBackgroundFillData(n,r,i),this._buffers=[t.createImageData(n,r),t.createImageData(n,r)],this._lastUsedBuffer=0}getBuffer(){this._lastUsedBuffer=1-this._lastUsedBuffer;let e=this._buffers[this._lastUsedBuffer];return e.data.set(this._backgroundFillData),e}static _createBackgroundFillData(e,t,n){let r=n.r,i=n.g,a=n.b,o=n.a,s=new Uint8ClampedArray(e*t*4),c=0;for(let n=0;n<t;n++)for(let t=0;t<e;t++)s[c]=r,s[c+1]=i,s[c+2]=a,s[c+3]=o,c+=4;return s}},dc=class e{constructor(e,t){this.samplingRatio=e,this.minimapLines=t}static compute(t,n,r){if(t.renderMinimap===0||!t.isSampling)return[null,[]];let i=t.pixelRatio,a=t.lineHeight,o=t.scrollBeyondLastLine,{minimapLineCount:s}=ce.computeContainedMinimapLineCount({viewLineCount:n,scrollBeyondLastLine:o,height:t.editorHeight,lineHeight:a,pixelRatio:i}),c=n/s,l=c/2;if(!r||r.minimapLines.length===0){let t=[];if(t[0]=1,s>1){for(let e=0,n=s-1;e<n;e++)t[e]=Math.round(e*c+l);t[s-1]=n}return[new e(c,t),[]]}let u=r.minimapLines,d=u.length,f=[],p=0,m=0,h=1,g=[],_=null;for(let e=0;e<s;e++){let t=Math.max(h,Math.round(e*c)),r=Math.max(t,Math.round((e+1)*c));for(;p<d&&u[p]<t;){if(g.length<10){let e=p+1+m;_&&_.type===`deleted`&&_._oldIndex===p-1?_.deleteToLineNumber++:(_={type:`deleted`,_oldIndex:p,deleteFromLineNumber:e,deleteToLineNumber:e},g.push(_)),m--}p++}let i;if(p<d&&u[p]<=r)i=u[p],p++;else if(i=e===0?1:e+1===s?n:Math.round(e*c+l),g.length<10){let t=p+1+m;_&&_.type===`inserted`&&_._i===e-1?_.insertToLineNumber++:(_={type:`inserted`,_i:e,insertFromLineNumber:t,insertToLineNumber:t},g.push(_)),m++}f[e]=i,h=i}if(g.length<10)for(;p<d;){let e=p+1+m;_&&_.type===`deleted`&&_._oldIndex===p-1?_.deleteToLineNumber++:(_={type:`deleted`,_oldIndex:p,deleteFromLineNumber:e,deleteToLineNumber:e},g.push(_)),m--,p++}else g=[{type:`flush`}];return[new e(c,f),g]}modelLineToMinimapLine(e){return Math.min(this.minimapLines.length,Math.max(1,Math.round(e/this.samplingRatio)))}modelLineRangeToMinimapLineRange(e,t){let n=this.modelLineToMinimapLine(e)-1;for(;n>0&&this.minimapLines[n-1]>=e;)n--;let r=this.modelLineToMinimapLine(t)-1;for(;r+1<this.minimapLines.length&&this.minimapLines[r+1]<=t;)r++;if(n===r){let r=this.minimapLines[n];if(r<e||r>t)return null}return[n+1,r+1]}decorationLineRangeToMinimapLineRange(e,t){let n=this.modelLineToMinimapLine(e),r=this.modelLineToMinimapLine(t);return e!==t&&r===n&&(r===this.minimapLines.length?n>1&&n--:r++),[n,r]}onLinesDeleted(e){let t=e.toLineNumber-e.fromLineNumber+1,n=this.minimapLines.length,r=0;for(let i=this.minimapLines.length-1;i>=0&&!(this.minimapLines[i]<e.fromLineNumber);i--)this.minimapLines[i]<=e.toLineNumber?(this.minimapLines[i]=Math.max(1,e.fromLineNumber-1),n=Math.min(n,i),r=Math.max(r,i)):this.minimapLines[i]-=t;return[n,r]}onLinesInserted(e){let t=e.toLineNumber-e.fromLineNumber+1;for(let n=this.minimapLines.length-1;n>=0&&!(this.minimapLines[n]<e.fromLineNumber);n--)this.minimapLines[n]+=t}},fc=class extends Ki{constructor(e){super(e),this.tokensColorTracker=Xs.getInstance(),this._selections=[],this._minimapSelections=null,this.options=new oc(this._context.configuration,this._context.theme,this.tokensColorTracker);let[t]=dc.compute(this.options,this._context.viewModel.getLineCount(),null);this._samplingState=t,this._shouldCheckSampling=!1,this._actual=new pc(e.theme,this)}dispose(){this._actual.dispose(),super.dispose()}getDomNode(){return this._actual.getDomNode()}_onOptionsMaybeChanged(){let e=new oc(this._context.configuration,this._context.theme,this.tokensColorTracker);return this.options.equals(e)?!1:(this.options=e,this._recreateLineSampling(),this._actual.onDidChangeOptions(),!0)}onConfigurationChanged(e){return this._onOptionsMaybeChanged()}onCursorStateChanged(e){return this._selections=e.selections,this._minimapSelections=null,this._actual.onSelectionChanged()}onDecorationsChanged(e){return e.affectsMinimap?this._actual.onDecorationsChanged():!1}onFlushed(e){return this._samplingState&&(this._shouldCheckSampling=!0),this._actual.onFlushed()}onLinesChanged(e){if(this._samplingState){let t=this._samplingState.modelLineRangeToMinimapLineRange(e.fromLineNumber,e.fromLineNumber+e.count-1);return t?this._actual.onLinesChanged(t[0],t[1]-t[0]+1):!1}else return this._actual.onLinesChanged(e.fromLineNumber,e.count)}onLinesDeleted(e){if(this._samplingState){let[t,n]=this._samplingState.onLinesDeleted(e);return t<=n&&this._actual.onLinesChanged(t+1,n-t+1),this._shouldCheckSampling=!0,!0}else return this._actual.onLinesDeleted(e.fromLineNumber,e.toLineNumber)}onLinesInserted(e){return this._samplingState?(this._samplingState.onLinesInserted(e),this._shouldCheckSampling=!0,!0):this._actual.onLinesInserted(e.fromLineNumber,e.toLineNumber)}onScrollChanged(e){return this._actual.onScrollChanged()}onThemeChanged(e){return this._actual.onThemeChanged(),this._onOptionsMaybeChanged(),!0}onTokensChanged(e){if(this._samplingState){let t=[];for(let n of e.ranges){let e=this._samplingState.modelLineRangeToMinimapLineRange(n.fromLineNumber,n.toLineNumber);e&&t.push({fromLineNumber:e[0],toLineNumber:e[1]})}return t.length?this._actual.onTokensChanged(t):!1}else return this._actual.onTokensChanged(e.ranges)}onTokensColorsChanged(e){return this._onOptionsMaybeChanged(),this._actual.onTokensColorsChanged()}onZonesChanged(e){return this._actual.onZonesChanged()}prepareRender(e){this._shouldCheckSampling&&(this._shouldCheckSampling=!1,this._recreateLineSampling())}render(e){let t=e.visibleRange.startLineNumber,n=e.visibleRange.endLineNumber;this._samplingState&&(t=this._samplingState.modelLineToMinimapLine(t),n=this._samplingState.modelLineToMinimapLine(n));let r={viewportContainsWhitespaceGaps:e.viewportData.whitespaceViewportData.length>0,scrollWidth:e.scrollWidth,scrollHeight:e.scrollHeight,viewportStartLineNumber:t,viewportEndLineNumber:n,viewportStartLineNumberVerticalOffset:e.getVerticalOffsetForLineNumber(t),scrollTop:e.scrollTop,scrollLeft:e.scrollLeft,viewportWidth:e.viewportWidth,viewportHeight:e.viewportHeight};this._actual.render(r)}_recreateLineSampling(){this._minimapSelections=null;let e=!!this._samplingState,[t,n]=dc.compute(this.options,this._context.viewModel.getLineCount(),this._samplingState);if(this._samplingState=t,e&&this._samplingState)for(let e of n)switch(e.type){case`deleted`:this._actual.onLinesDeleted(e.deleteFromLineNumber,e.deleteToLineNumber);break;case`inserted`:this._actual.onLinesInserted(e.insertFromLineNumber,e.insertToLineNumber);break;case`flush`:this._actual.onFlushed();break}}getLineCount(){return this._samplingState?this._samplingState.minimapLines.length:this._context.viewModel.getLineCount()}getRealLineCount(){return this._context.viewModel.getLineCount()}getLineContent(e){return this._samplingState?this._context.viewModel.getLineContent(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineContent(e)}getLineMaxColumn(e){return this._samplingState?this._context.viewModel.getLineMaxColumn(this._samplingState.minimapLines[e-1]):this._context.viewModel.getLineMaxColumn(e)}getMinimapLinesRenderingData(e,t,n){if(this._samplingState){let r=[];for(let i=0,a=t-e+1;i<a;i++)n[i]?r[i]=this._context.viewModel.getViewLineData(this._samplingState.minimapLines[e+i-1]):r[i]=null;return r}return this._context.viewModel.getMinimapLinesRenderingData(e,t,n).data}getSelections(){if(this._minimapSelections===null)if(this._samplingState){this._minimapSelections=[];for(let e of this._selections){let[t,n]=this._samplingState.decorationLineRangeToMinimapLineRange(e.startLineNumber,e.endLineNumber);this._minimapSelections.push(new i.Dl(t,e.startColumn,n,e.endColumn))}}else this._minimapSelections=this._selections;return this._minimapSelections}getMinimapDecorationsInViewport(e,t){let n;if(this._samplingState){let r=this._samplingState.minimapLines[e-1],a=this._samplingState.minimapLines[t-1];n=new i.Ol(r,1,a,this._context.viewModel.getLineMaxColumn(a))}else n=new i.Ol(e,1,t,this._context.viewModel.getLineMaxColumn(t));let r=this._context.viewModel.getDecorationsInViewport(n);if(this._samplingState){let e=[];for(let t of r){if(!t.options.minimap)continue;let n=t.range,r=this._samplingState.modelLineToMinimapLine(n.startLineNumber),a=this._samplingState.modelLineToMinimapLine(n.endLineNumber);e.push(new Pr(new i.Ol(r,n.startColumn,a,n.endColumn),t.options))}return e}return r}getOptions(){return this._context.viewModel.model.getOptions()}revealLineNumber(e){this._samplingState&&(e=this._samplingState.minimapLines[e-1]),this._context.viewModel.revealRange(`mouse`,!1,new i.Ol(e,1,e,1),1,0)}setScrollTop(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e},1)}},pc=class e extends i.Xl{constructor(e,t){super(),this._renderDecorations=!1,this._gestureInProgress=!1,this._theme=e,this._model=t,this._lastRenderData=null,this._buffers=null,this._selectionColor=this._theme.getColor(i.ii),this._domNode=k(document.createElement(`div`)),qi.write(this._domNode,8),this._domNode.setClassName(this._getMinimapDomNodeClassName()),this._domNode.setPosition(`absolute`),this._domNode.setAttribute(`role`,`presentation`),this._domNode.setAttribute(`aria-hidden`,`true`),this._shadow=k(document.createElement(`div`)),this._shadow.setClassName(`minimap-shadow-hidden`),this._domNode.appendChild(this._shadow),this._canvas=k(document.createElement(`canvas`)),this._canvas.setPosition(`absolute`),this._canvas.setLeft(0),this._domNode.appendChild(this._canvas),this._decorationsCanvas=k(document.createElement(`canvas`)),this._decorationsCanvas.setPosition(`absolute`),this._decorationsCanvas.setClassName(`minimap-decorations-layer`),this._decorationsCanvas.setLeft(0),this._domNode.appendChild(this._decorationsCanvas),this._slider=k(document.createElement(`div`)),this._slider.setPosition(`absolute`),this._slider.setClassName(`minimap-slider`),this._slider.setLayerHinting(!0),this._slider.setContain(`strict`),this._domNode.appendChild(this._slider),this._sliderHorizontal=k(document.createElement(`div`)),this._sliderHorizontal.setPosition(`absolute`),this._sliderHorizontal.setClassName(`minimap-slider-horizontal`),this._slider.appendChild(this._sliderHorizontal),this._applyLayout(),this._pointerDownListener=i.Ja(this._domNode.domNode,i.Ua.POINTER_DOWN,e=>{if(e.preventDefault(),this._model.options.renderMinimap===0||!this._lastRenderData)return;if(this._model.options.size!==`proportional`){if(e.button===0&&this._lastRenderData){let t=i.uo(this._slider.domNode),n=t.top+t.height/2;this._startSliderDragging(e,n,this._lastRenderData.renderedLayout)}return}let t=this._model.options.minimapLineHeight,n=this._model.options.canvasInnerHeight/this._model.options.canvasOuterHeight*e.offsetY,r=Math.floor(n/t)+this._lastRenderData.renderedLayout.startLineNumber;r=Math.min(r,this._model.getLineCount()),this._model.revealLineNumber(r)}),this._sliderPointerMoveMonitor=new i.Ui,this._sliderPointerDownListener=i.Ja(this._slider.domNode,i.Ua.POINTER_DOWN,e=>{e.preventDefault(),e.stopPropagation(),e.button===0&&this._lastRenderData&&this._startSliderDragging(e,e.pageY,this._lastRenderData.renderedLayout)}),this._gestureDisposable=Wi.addTarget(this._domNode.domNode),this._sliderTouchStartListener=i.Ka(this._domNode.domNode,N.Start,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&(this._slider.toggleClassName(`active`,!0),this._gestureInProgress=!0,this.scrollDueToTouchEvent(e))},{passive:!1}),this._sliderTouchMoveListener=i.Ka(this._domNode.domNode,N.Change,e=>{e.preventDefault(),e.stopPropagation(),this._lastRenderData&&this._gestureInProgress&&this.scrollDueToTouchEvent(e)},{passive:!1}),this._sliderTouchEndListener=i.Ja(this._domNode.domNode,N.End,e=>{e.preventDefault(),e.stopPropagation(),this._gestureInProgress=!1,this._slider.toggleClassName(`active`,!1)})}_startSliderDragging(e,t,n){if(!e.target||!(e.target instanceof Element))return;let r=e.pageX;this._slider.toggleClassName(`active`,!0);let a=(e,a)=>{let o=Math.abs(a-r);if(i.Cd&&o>ic){this._model.setScrollTop(n.scrollTop);return}let s=e-t;this._model.setScrollTop(n.getDesiredScrollTopFromDelta(s))};e.pageY!==t&&a(e.pageY,r),this._sliderPointerMoveMonitor.startMonitoring(e.target,e.pointerId,e.buttons,e=>a(e.pageY,e.pageX),()=>{this._slider.toggleClassName(`active`,!1)})}scrollDueToTouchEvent(e){let t=this._domNode.domNode.getBoundingClientRect().top,n=this._lastRenderData.renderedLayout.getDesiredScrollTopFromTouchLocation(e.pageY-t);this._model.setScrollTop(n)}dispose(){this._pointerDownListener.dispose(),this._sliderPointerMoveMonitor.dispose(),this._sliderPointerDownListener.dispose(),this._gestureDisposable.dispose(),this._sliderTouchStartListener.dispose(),this._sliderTouchMoveListener.dispose(),this._sliderTouchEndListener.dispose(),super.dispose()}_getMinimapDomNodeClassName(){let e=[`minimap`];return this._model.options.showSlider===`always`?e.push(`slider-always`):e.push(`slider-mouseover`),this._model.options.autohide&&e.push(`autohide`),e.join(` `)}getDomNode(){return this._domNode}_applyLayout(){this._domNode.setLeft(this._model.options.minimapLeft),this._domNode.setWidth(this._model.options.minimapWidth),this._domNode.setHeight(this._model.options.minimapHeight),this._shadow.setHeight(this._model.options.minimapHeight),this._canvas.setWidth(this._model.options.canvasOuterWidth),this._canvas.setHeight(this._model.options.canvasOuterHeight),this._canvas.domNode.width=this._model.options.canvasInnerWidth,this._canvas.domNode.height=this._model.options.canvasInnerHeight,this._decorationsCanvas.setWidth(this._model.options.canvasOuterWidth),this._decorationsCanvas.setHeight(this._model.options.canvasOuterHeight),this._decorationsCanvas.domNode.width=this._model.options.canvasInnerWidth,this._decorationsCanvas.domNode.height=this._model.options.canvasInnerHeight,this._slider.setWidth(this._model.options.minimapWidth)}_getBuffer(){return this._buffers||this._model.options.canvasInnerWidth>0&&this._model.options.canvasInnerHeight>0&&(this._buffers=new uc(this._canvas.domNode.getContext(`2d`),this._model.options.canvasInnerWidth,this._model.options.canvasInnerHeight,this._model.options.backgroundColor)),this._buffers?this._buffers.getBuffer():null}onDidChangeOptions(){this._lastRenderData=null,this._buffers=null,this._applyLayout(),this._domNode.setClassName(this._getMinimapDomNodeClassName())}onSelectionChanged(){return this._renderDecorations=!0,!0}onDecorationsChanged(){return this._renderDecorations=!0,!0}onFlushed(){return this._lastRenderData=null,!0}onLinesChanged(e,t){return this._lastRenderData?this._lastRenderData.onLinesChanged(e,t):!1}onLinesDeleted(e,t){var n;return(n=this._lastRenderData)==null||n.onLinesDeleted(e,t),!0}onLinesInserted(e,t){var n;return(n=this._lastRenderData)==null||n.onLinesInserted(e,t),!0}onScrollChanged(){return this._renderDecorations=!0,!0}onThemeChanged(){return this._selectionColor=this._theme.getColor(i.ii),this._renderDecorations=!0,!0}onTokensChanged(e){return this._lastRenderData?this._lastRenderData.onTokensChanged(e):!1}onTokensColorsChanged(){return this._lastRenderData=null,this._buffers=null,!0}onZonesChanged(){return this._lastRenderData=null,!0}render(e){if(this._model.options.renderMinimap===0){this._shadow.setClassName(`minimap-shadow-hidden`),this._sliderHorizontal.setWidth(0),this._sliderHorizontal.setHeight(0);return}e.scrollLeft+e.viewportWidth>=e.scrollWidth?this._shadow.setClassName(`minimap-shadow-hidden`):this._shadow.setClassName(`minimap-shadow-visible`);let t=sc.create(this._model.options,e.viewportStartLineNumber,e.viewportEndLineNumber,e.viewportStartLineNumberVerticalOffset,e.viewportHeight,e.viewportContainsWhitespaceGaps,this._model.getLineCount(),this._model.getRealLineCount(),e.scrollTop,e.scrollHeight,this._lastRenderData?this._lastRenderData.renderedLayout:null);this._slider.setDisplay(t.sliderNeeded?`block`:`none`),this._slider.setTop(t.sliderTop),this._slider.setHeight(t.sliderHeight),this._sliderHorizontal.setLeft(0),this._sliderHorizontal.setWidth(this._model.options.minimapWidth),this._sliderHorizontal.setTop(0),this._sliderHorizontal.setHeight(t.sliderHeight),this.renderDecorations(t),this._lastRenderData=this.renderLines(t)}renderDecorations(e){if(this._renderDecorations){this._renderDecorations=!1;let t=this._model.getSelections();t.sort(i.Ol.compareRangesUsingStarts);let n=this._model.getMinimapDecorationsInViewport(e.startLineNumber,e.endLineNumber);n.sort((e,t)=>(e.options.zIndex||0)-(t.options.zIndex||0));let{canvasInnerWidth:r,canvasInnerHeight:a}=this._model.options,o=this._model.options.minimapLineHeight,s=this._model.options.minimapCharWidth,c=this._model.getOptions().tabSize,l=this._decorationsCanvas.domNode.getContext(`2d`);l.clearRect(0,0,r,a);let u=new mc(e.startLineNumber,e.endLineNumber,!1);this._renderSelectionLineHighlights(l,t,u,e,o),this._renderDecorationsLineHighlights(l,n,u,e,o);let d=new mc(e.startLineNumber,e.endLineNumber,null);this._renderSelectionsHighlights(l,t,d,e,o,c,s,r),this._renderDecorationsHighlights(l,n,d,e,o,c,s,r)}}_renderSelectionLineHighlights(e,t,n,r,i){if(!this._selectionColor||this._selectionColor.isTransparent())return;e.fillStyle=this._selectionColor.transparent(.5).toString();let a=0,o=0;for(let s of t){let t=Math.max(r.startLineNumber,s.startLineNumber),c=Math.min(r.endLineNumber,s.endLineNumber);if(t>c)continue;for(let e=t;e<=c;e++)n.set(e,!0);let l=(t-r.startLineNumber)*i,u=(c-r.startLineNumber)*i+i;o>=l?o=u:(o>a&&e.fillRect(8,a,e.canvas.width,o-a),a=l,o=u)}o>a&&e.fillRect(8,a,e.canvas.width,o-a)}_renderDecorationsLineHighlights(e,t,n,r,a){let o=new Map;for(let s=t.length-1;s>=0;s--){let c=t[s],l=c.options.minimap;if(!l||l.position!==i.oc.Inline)continue;let u=Math.max(r.startLineNumber,c.range.startLineNumber),d=Math.min(r.endLineNumber,c.range.endLineNumber);if(u>d)continue;let f=l.getColor(this._theme.value);if(!f||f.isTransparent())continue;let p=o.get(f.toString());p||(p=f.transparent(.5).toString(),o.set(f.toString(),p)),e.fillStyle=p;for(let t=u;t<=d;t++){if(n.has(t))continue;n.set(t,!0);let i=(u-r.startLineNumber)*a;e.fillRect(8,i,e.canvas.width,a)}}}_renderSelectionsHighlights(e,t,n,r,i,a,o,s){if(!(!this._selectionColor||this._selectionColor.isTransparent()))for(let c of t){let t=Math.max(r.startLineNumber,c.startLineNumber),l=Math.min(r.endLineNumber,c.endLineNumber);if(!(t>l))for(let u=t;u<=l;u++)this.renderDecorationOnLine(e,n,c,this._selectionColor,r,u,i,i,a,o,s)}}_renderDecorationsHighlights(e,t,n,r,a,o,s,c){for(let l of t){let t=l.options.minimap;if(!t)continue;let u=Math.max(r.startLineNumber,l.range.startLineNumber),d=Math.min(r.endLineNumber,l.range.endLineNumber);if(u>d)continue;let f=t.getColor(this._theme.value);if(!(!f||f.isTransparent()))for(let p=u;p<=d;p++)switch(t.position){case i.oc.Inline:this.renderDecorationOnLine(e,n,l.range,f,r,p,a,a,o,s,c);continue;case i.oc.Gutter:{let t=(p-r.startLineNumber)*a;this.renderDecoration(e,f,2,t,ac,a);continue}}}}renderDecorationOnLine(e,t,n,r,i,a,o,s,c,l,u){let d=(a-i.startLineNumber)*s;if(d+o<0||d>this._model.options.canvasInnerHeight)return;let{startLineNumber:f,endLineNumber:p}=n,m=f===a?n.startColumn:1,h=p===a?n.endColumn:this._model.getLineMaxColumn(a),g=this.getXOffsetForPosition(t,a,m,c,l,u),_=this.getXOffsetForPosition(t,a,h,c,l,u);this.renderDecoration(e,r,g,d,_-g,o)}getXOffsetForPosition(e,t,n,r,a,o){if(n===1)return 8;if((n-1)*a>=o)return o;let s=e.get(t);if(!s){let n=this._model.getLineContent(t);s=[8];let c=8;for(let e=1;e<n.length+1;e++){let t=n.charCodeAt(e-1),l=t===9?r*a:i.Kc(t)?2*a:a,u=c+l;if(u>=o){s[e]=o;break}s[e]=u,c=u}e.set(t,s)}return n-1<s.length?s[n-1]:o}renderDecoration(e,t,n,r,i,a){e.fillStyle=t&&t.toString()||``,e.fillRect(n,r,i,a)}renderLines(t){let n=t.startLineNumber,r=t.endLineNumber,i=this._model.options.minimapLineHeight;if(this._lastRenderData&&this._lastRenderData.linesEquals(t)){let e=this._lastRenderData._get();return new lc(t,e.imageData,e.lines)}let a=this._getBuffer();if(!a)return null;let[o,s,c]=e._renderUntouchedLines(a,n,r,i,this._lastRenderData),l=this._model.getMinimapLinesRenderingData(n,r,c),u=this._model.getOptions().tabSize,d=this._model.options.defaultBackgroundColor,f=this._model.options.backgroundColor,p=this._model.options.foregroundAlpha,m=this._model.tokensColorTracker,h=m.backgroundIsLight(),g=this._model.options.renderMinimap,_=this._model.options.charRenderer(),v=this._model.options.fontScale,y=this._model.options.minimapCharWidth,b=(g===1?2:3)*v,x=i>b?Math.floor((i-b)/2):0,S=f.a/255,C=new Ys(Math.round((f.r-d.r)*S+d.r),Math.round((f.g-d.g)*S+d.g),Math.round((f.b-d.b)*S+d.b),255),w=0,T=[];for(let t=0,o=r-n+1;t<o;t++)c[t]&&e._renderLine(a,C,f.a,h,g,y,m,p,_,w,x,u,l[t],v,i),T[t]=new cc(w),w+=i;let E=o===-1?0:o,D=(s===-1?a.height:s)-E;return this._canvas.domNode.getContext(`2d`).putImageData(a,0,0,0,E,a.width,D),new lc(t,a,T)}static _renderUntouchedLines(e,t,n,r,i){let a=[];if(!i){for(let e=0,r=n-t+1;e<r;e++)a[e]=!0;return[-1,-1,a]}let o=i._get(),s=o.imageData.data,c=o.rendLineNumberStart,l=o.lines,u=l.length,d=e.width,f=e.data,p=(n-t+1)*r*d*4,m=-1,h=-1,g=-1,_=-1,v=-1,y=-1,b=0;for(let e=t;e<=n;e++){let n=e-t,i=e-c,o=i>=0&&i<u?l[i].dy:-1;if(o===-1){a[n]=!0,b+=r;continue}let x=o*d*4,S=(o+r)*d*4,C=b*d*4,w=(b+r)*d*4;_===x&&y===C?(_=S,y=w):(g!==-1&&(f.set(s.subarray(g,_),v),m===-1&&g===0&&g===v&&(m=_),h===-1&&_===p&&g===v&&(h=g)),g=x,_=S,v=C,y=w),a[n]=!1,b+=r}return g!==-1&&(f.set(s.subarray(g,_),v),m===-1&&g===0&&g===v&&(m=_),h===-1&&_===p&&g===v&&(h=g)),[m===-1?-1:m/(d*4),h===-1?-1:h/(d*4),a]}static _renderLine(e,t,n,r,a,o,s,c,l,u,d,f,p,m,h){let g=p.content,_=p.tokens,v=e.width-o,y=h===1,b=8,x=0,S=0;for(let p=0,h=_.getCount();p<h;p++){let h=_.getEndOffset(p),C=_.getForeground(p),w=s.getColor(C);for(;x<h;x++){if(b>v)return;let s=g.charCodeAt(x);if(s===9){let e=f-(x+S)%f;S+=e-1,b+=e*o}else if(s===32)b+=o;else{let f=i.Kc(s)?2:1;for(let i=0;i<f;i++)if(a===2?l.blockRenderChar(e,b,u+d,w,c,t,n,y):l.renderChar(e,b,u+d,s,w,c,t,n,m,r,y),b+=o,b>v)return}}}}},mc=class{constructor(e,t,n){this._startLineNumber=e,this._endLineNumber=t,this._defaultValue=n,this._values=[];for(let e=0,t=this._endLineNumber-this._startLineNumber+1;e<t;e++)this._values[e]=n}has(e){return this.get(e)!==this._defaultValue}set(e,t){e<this._startLineNumber||e>this._endLineNumber||(this._values[e-this._startLineNumber]=t)}get(e){return e<this._startLineNumber||e>this._endLineNumber?this._defaultValue:this._values[e-this._startLineNumber]}};i.ba((e,t)=>{let n=e.getColor(i.si);n&&t.addRule(`.monaco-editor .minimap-slider .minimap-slider-horizontal { background: ${n}; }`);let r=e.getColor(i.ci);r&&t.addRule(`.monaco-editor .minimap-slider:hover .minimap-slider-horizontal { background: ${r}; }`);let a=e.getColor(i.oi);a&&t.addRule(`.monaco-editor .minimap-slider.active .minimap-slider-horizontal { background: ${a}; }`);let o=e.getColor(i.Di);o&&t.addRule(`.monaco-editor .minimap-shadow-visible { box-shadow: ${o} -6px 0 6px -6px inset; }`)});var hc=class extends Ki{constructor(e){super(e);let t=this._context.configuration.options.get(132);this._widgets={},this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,this._domNode=k(document.createElement(`div`)),qi.write(this._domNode,4),this._domNode.setClassName(`overlayWidgets`)}dispose(){super.dispose(),this._widgets={}}getDomNode(){return this._domNode}onConfigurationChanged(e){let t=this._context.configuration.options.get(132);return this._verticalScrollbarWidth=t.verticalScrollbarWidth,this._minimapWidth=t.minimap.minimapWidth,this._horizontalScrollbarHeight=t.horizontalScrollbarHeight,this._editorHeight=t.height,this._editorWidth=t.width,!0}addWidget(e){let t=k(e.getDomNode());this._widgets[e.getId()]={widget:e,preference:null,domNode:t},t.setPosition(`absolute`),t.setAttribute(`widgetId`,e.getId()),this._domNode.appendChild(t),this.setShouldRender()}setWidgetPosition(e,t){let n=this._widgets[e.getId()];return n.preference===t?!1:(n.preference=t,this.setShouldRender(),!0)}removeWidget(e){let t=e.getId();if(this._widgets.hasOwnProperty(t)){let e=this._widgets[t].domNode.domNode;delete this._widgets[t],e.parentNode.removeChild(e),this.setShouldRender()}}_renderWidget(e){let t=e.domNode;if(e.preference===null){t.setTop(``);return}if(e.preference===0)t.setTop(0),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth);else if(e.preference===1){let e=t.domNode.clientHeight;t.setTop(this._editorHeight-e-2*this._horizontalScrollbarHeight),t.setRight(2*this._verticalScrollbarWidth+this._minimapWidth)}else e.preference===2&&(t.setTop(0),t.domNode.style.right=`50%`)}prepareRender(e){}render(e){this._domNode.setWidth(this._editorWidth);let t=Object.keys(this._widgets);for(let e=0,n=t.length;e<n;e++){let n=t[e];this._renderWidget(this._widgets[n])}}},gc=class{constructor(e,t){let n=e.options;this.lineHeight=n.get(60),this.pixelRatio=n.get(130),this.overviewRulerLanes=n.get(75),this.renderBorder=n.get(74);let r=t.getColor(i.Tt);this.borderColor=r?r.toString():null,this.hideCursor=n.get(53);let a=t.getColor(i.yt);this.cursorColor=a?a.transparent(.7).toString():null,this.themeType=t.type;let o=n.get(66),s=o.enabled,c=o.side,l=t.getColor(i.wt),u=i.xl.getDefaultBackground(),d=null;l===void 0?s&&(d=u):d=l,d===null||c===`left`?this.backgroundColor=null:this.backgroundColor=i.Bi.Format.CSS.formatHex(d);let f=n.get(132).overviewRuler;this.top=f.top,this.right=f.right,this.domWidth=f.width,this.domHeight=f.height,this.overviewRulerLanes===0?(this.canvasWidth=0,this.canvasHeight=0):(this.canvasWidth=this.domWidth*this.pixelRatio|0,this.canvasHeight=this.domHeight*this.pixelRatio|0);let[p,m]=this._initLanes(1,this.canvasWidth,this.overviewRulerLanes);this.x=p,this.w=m}_initLanes(e,t,n){let r=t-e;if(n>=3){let t=Math.floor(r/3),n=Math.floor(r/3),i=r-t-n,a=e,o=a+t;return[[0,a,o,a,a+t+i,a,o,a],[0,t,i,t+i,n,t+i+n,i+n,t+i+n]]}else if(n===2){let t=Math.floor(r/2),n=r-t,i=e;return[[0,i,i,i,i+t,i,i,i],[0,t,t,t,n,t+n,t+n,t+n]]}else{let t=e,n=r;return[[0,t,t,t,t,t,t,t],[0,n,n,n,n,n,n,n]]}}equals(e){return this.lineHeight===e.lineHeight&&this.pixelRatio===e.pixelRatio&&this.overviewRulerLanes===e.overviewRulerLanes&&this.renderBorder===e.renderBorder&&this.borderColor===e.borderColor&&this.hideCursor===e.hideCursor&&this.cursorColor===e.cursorColor&&this.themeType===e.themeType&&this.backgroundColor===e.backgroundColor&&this.top===e.top&&this.right===e.right&&this.domWidth===e.domWidth&&this.domHeight===e.domHeight&&this.canvasWidth===e.canvasWidth&&this.canvasHeight===e.canvasHeight}},_c=class extends Ki{constructor(e){super(e),this._domNode=k(document.createElement(`canvas`)),this._domNode.setClassName(`decorationsOverviewRuler`),this._domNode.setPosition(`absolute`),this._domNode.setLayerHinting(!0),this._domNode.setContain(`strict`),this._domNode.setAttribute(`aria-hidden`,`true`),this._updateSettings(!1),this._tokensColorTrackerListener=i.xl.onDidChange(e=>{e.changedColorMap&&this._updateSettings(!0)}),this._cursorPositions=[]}dispose(){super.dispose(),this._tokensColorTrackerListener.dispose()}_updateSettings(e){let t=new gc(this._context.configuration,this._context.theme);return this._settings&&this._settings.equals(t)?!1:(this._settings=t,this._domNode.setTop(this._settings.top),this._domNode.setRight(this._settings.right),this._domNode.setWidth(this._settings.domWidth),this._domNode.setHeight(this._settings.domHeight),this._domNode.domNode.width=this._settings.canvasWidth,this._domNode.domNode.height=this._settings.canvasHeight,e&&this._render(),!0)}onConfigurationChanged(e){return this._updateSettings(!1)}onCursorStateChanged(e){this._cursorPositions=[];for(let t=0,n=e.selections.length;t<n;t++)this._cursorPositions[t]=e.selections[t].getPosition();return this._cursorPositions.sort(i.kl.compare),!0}onDecorationsChanged(e){return!!e.affectsOverviewRuler}onFlushed(e){return!0}onScrollChanged(e){return e.scrollHeightChanged}onZonesChanged(e){return!0}onThemeChanged(e){return this._updateSettings(!1)}getDomNode(){return this._domNode.domNode}prepareRender(e){}render(e){this._render()}_render(){if(this._settings.overviewRulerLanes===0){this._domNode.setBackgroundColor(this._settings.backgroundColor?this._settings.backgroundColor:``),this._domNode.setDisplay(`none`);return}this._domNode.setDisplay(`block`);let e=this._settings.canvasWidth,t=this._settings.canvasHeight,n=this._settings.lineHeight,r=this._context.viewLayout,i=t/this._context.viewLayout.getScrollHeight(),a=this._context.viewModel.getAllOverviewRulerDecorations(this._context.theme),o=6*this._settings.pixelRatio|0,s=o/2|0,c=this._domNode.domNode.getContext(`2d`);this._settings.backgroundColor===null?c.clearRect(0,0,e,t):(c.fillStyle=this._settings.backgroundColor,c.fillRect(0,0,e,t));let l=this._settings.x,u=this._settings.w;a.sort(Fr.cmp);for(let e of a){let a=e.color,d=e.data;c.fillStyle=a;let f=0,p=0,m=0;for(let e=0,a=d.length/3;e<a;e++){let a=d[3*e],h=d[3*e+1],g=d[3*e+2],_=r.getVerticalOffsetForLineNumber(h)*i|0,v=(r.getVerticalOffsetForLineNumber(g)+n)*i|0;if(v-_<o){let e=(_+v)/2|0;e<s?e=s:e+s>t&&(e=t-s),_=e-s,v=e+s}_>m+1||a!==f?(e!==0&&c.fillRect(l[f],p,u[f],m-p),f=a,p=_,m=v):v>m&&(m=v)}c.fillRect(l[f],p,u[f],m-p)}if(!this._settings.hideCursor&&this._settings.cursorColor){let e=2*this._settings.pixelRatio|0,n=e/2|0,a=this._settings.x[7],o=this._settings.w[7];c.fillStyle=this._settings.cursorColor;let s=-100,l=-100;for(let u=0,d=this._cursorPositions.length;u<d;u++){let d=this._cursorPositions[u],f=r.getVerticalOffsetForLineNumber(d.lineNumber)*i|0;f<n?f=n:f+n>t&&(f=t-n);let p=f-n,m=p+e;p>l+1?(u!==0&&c.fillRect(a,s,o,l-s),s=p,l=m):m>l&&(l=m)}c.fillRect(a,s,o,l-s)}this._settings.renderBorder&&this._settings.borderColor&&this._settings.overviewRulerLanes>0&&(c.beginPath(),c.lineWidth=1,c.strokeStyle=this._settings.borderColor,c.moveTo(0,0),c.lineTo(0,t),c.stroke(),c.moveTo(0,0),c.lineTo(e,0),c.stroke())}},vc=class{constructor(e,t,n){this._colorZoneBrand=void 0,this.from=e|0,this.to=t|0,this.colorId=n|0}static compare(e,t){return e.colorId===t.colorId?e.from===t.from?e.to-t.to:e.from-t.from:e.colorId-t.colorId}},yc=class{constructor(e,t,n,r){this._overviewRulerZoneBrand=void 0,this.startLineNumber=e,this.endLineNumber=t,this.heightInLines=n,this.color=r,this._colorZone=null}static compare(e,t){return e.color===t.color?e.startLineNumber===t.startLineNumber?e.heightInLines===t.heightInLines?e.endLineNumber-t.endLineNumber:e.heightInLines-t.heightInLines:e.startLineNumber-t.startLineNumber:e.color<t.color?-1:1}setColorZone(e){this._colorZone=e}getColorZones(){return this._colorZone}},bc=class{constructor(e){this._getVerticalOffsetForLine=e,this._zones=[],this._colorZonesInvalid=!1,this._lineHeight=0,this._domWidth=0,this._domHeight=0,this._outerHeight=0,this._pixelRatio=1,this._lastAssignedId=0,this._color2Id=Object.create(null),this._id2Color=[]}getId2Color(){return this._id2Color}setZones(e){this._zones=e,this._zones.sort(yc.compare)}setLineHeight(e){return this._lineHeight===e?!1:(this._lineHeight=e,this._colorZonesInvalid=!0,!0)}setPixelRatio(e){this._pixelRatio=e,this._colorZonesInvalid=!0}getDOMWidth(){return this._domWidth}getCanvasWidth(){return this._domWidth*this._pixelRatio}setDOMWidth(e){return this._domWidth===e?!1:(this._domWidth=e,this._colorZonesInvalid=!0,!0)}getDOMHeight(){return this._domHeight}getCanvasHeight(){return this._domHeight*this._pixelRatio}setDOMHeight(e){return this._domHeight===e?!1:(this._domHeight=e,this._colorZonesInvalid=!0,!0)}getOuterHeight(){return this._outerHeight}setOuterHeight(e){return this._outerHeight===e?!1:(this._outerHeight=e,this._colorZonesInvalid=!0,!0)}resolveColorZones(){let e=this._colorZonesInvalid,t=Math.floor(this._lineHeight),n=Math.floor(this.getCanvasHeight()),r=n/Math.floor(this._outerHeight),i=Math.floor(4*this._pixelRatio/2),a=[];for(let o=0,s=this._zones.length;o<s;o++){let s=this._zones[o];if(!e){let e=s.getColorZones();if(e){a.push(e);continue}}let c=this._getVerticalOffsetForLine(s.startLineNumber),l=s.heightInLines===0?this._getVerticalOffsetForLine(s.endLineNumber)+t:c+s.heightInLines*t,u=Math.floor(r*c),d=Math.floor(r*l),f=Math.floor((u+d)/2),p=d-f;p<i&&(p=i),f-p<0&&(f=p),f+p>n&&(f=n-p);let m=s.color,h=this._color2Id[m];h||(h=++this._lastAssignedId,this._color2Id[m]=h,this._id2Color[h]=m);let g=new vc(f-p,f+p,h);s.setColorZone(g),a.push(g)}return this._colorZonesInvalid=!1,a.sort(vc.compare),a}},xc=class extends Gi{constructor(e,t){super(),this._context=e;let n=this._context.configuration.options;this._domNode=k(document.createElement(`canvas`)),this._domNode.setClassName(t),this._domNode.setPosition(`absolute`),this._domNode.setLayerHinting(!0),this._domNode.setContain(`strict`),this._zoneManager=new bc(e=>this._context.viewLayout.getVerticalOffsetForLineNumber(e)),this._zoneManager.setDOMWidth(0),this._zoneManager.setDOMHeight(0),this._zoneManager.setOuterHeight(this._context.viewLayout.getScrollHeight()),this._zoneManager.setLineHeight(n.get(60)),this._zoneManager.setPixelRatio(n.get(130)),this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return e.hasChanged(60)&&(this._zoneManager.setLineHeight(t.get(60)),this._render()),e.hasChanged(130)&&(this._zoneManager.setPixelRatio(t.get(130)),this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render()),!0}onFlushed(e){return this._render(),!0}onScrollChanged(e){return e.scrollHeightChanged&&(this._zoneManager.setOuterHeight(e.scrollHeight),this._render()),!0}onZonesChanged(e){return this._render(),!0}getDomNode(){return this._domNode.domNode}setLayout(e){this._domNode.setTop(e.top),this._domNode.setRight(e.right);let t=!1;t=this._zoneManager.setDOMWidth(e.width)||t,t=this._zoneManager.setDOMHeight(e.height)||t,t&&(this._domNode.setWidth(this._zoneManager.getDOMWidth()),this._domNode.setHeight(this._zoneManager.getDOMHeight()),this._domNode.domNode.width=this._zoneManager.getCanvasWidth(),this._domNode.domNode.height=this._zoneManager.getCanvasHeight(),this._render())}setZones(e){this._zoneManager.setZones(e),this._render()}_render(){if(this._zoneManager.getOuterHeight()===0)return!1;let e=this._zoneManager.getCanvasWidth(),t=this._zoneManager.getCanvasHeight(),n=this._zoneManager.resolveColorZones(),r=this._zoneManager.getId2Color(),i=this._domNode.domNode.getContext(`2d`);return i.clearRect(0,0,e,t),n.length>0&&this._renderOneLane(i,n,r,e),!0}_renderOneLane(e,t,n,r){let i=0,a=0,o=0;for(let s of t){let t=s.colorId,c=s.from,l=s.to;t===i?o>=c?o=Math.max(o,l):(e.fillRect(0,a,r,o-a),a=c,o=l):(e.fillRect(0,a,r,o-a),i=t,e.fillStyle=n[i],a=c,o=l)}e.fillRect(0,a,r,o-a)}},Sc=class extends Ki{constructor(e){super(e),this.domNode=k(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this.domNode.setClassName(`view-rulers`),this._renderedRulers=[];let t=this._context.configuration.options;this._rulers=t.get(92),this._typicalHalfwidthCharacterWidth=t.get(45).typicalHalfwidthCharacterWidth}dispose(){super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._rulers=t.get(92),this._typicalHalfwidthCharacterWidth=t.get(45).typicalHalfwidthCharacterWidth,!0}onScrollChanged(e){return e.scrollHeightChanged}prepareRender(e){}_ensureRulersCount(){let e=this._renderedRulers.length,t=this._rulers.length;if(e===t)return;if(e<t){let{tabSize:n}=this._context.viewModel.model.getOptions(),r=n,i=t-e;for(;i>0;){let e=k(document.createElement(`div`));e.setClassName(`view-ruler`),e.setWidth(r),this.domNode.appendChild(e),this._renderedRulers.push(e),i--}return}let n=e-t;for(;n>0;){let e=this._renderedRulers.pop();this.domNode.removeChild(e),n--}}render(e){this._ensureRulersCount();for(let t=0,n=this._rulers.length;t<n;t++){let n=this._renderedRulers[t],r=this._rulers[t];n.setBoxShadow(r.color?`1px 0 0 0 ${r.color} inset`:``),n.setHeight(Math.min(e.scrollHeight,1e6)),n.setLeft(r.column*this._typicalHalfwidthCharacterWidth)}}};i.ba((e,t)=>{let n=e.getColor(i.Et);n&&t.addRule(`.monaco-editor .view-ruler { box-shadow: 1px 0 0 0 ${n} inset; }`)});var Cc=class extends Ki{constructor(e){super(e),this._scrollTop=0,this._width=0,this._updateWidth(),this._shouldShow=!1,this._useShadows=this._context.configuration.options.get(93).useShadows,this._domNode=k(document.createElement(`div`)),this._domNode.setAttribute(`role`,`presentation`),this._domNode.setAttribute(`aria-hidden`,`true`)}dispose(){super.dispose()}_updateShouldShow(){let e=this._useShadows&&this._scrollTop>0;return this._shouldShow===e?!1:(this._shouldShow=e,!0)}getDomNode(){return this._domNode}_updateWidth(){let e=this._context.configuration.options.get(132);e.minimap.renderMinimap===0||e.minimap.minimapWidth>0&&e.minimap.minimapLeft===0?this._width=e.width:this._width=e.width-e.verticalScrollbarWidth}onConfigurationChanged(e){return this._useShadows=this._context.configuration.options.get(93).useShadows,this._updateWidth(),this._updateShouldShow(),!0}onScrollChanged(e){return this._scrollTop=e.scrollTop,this._updateShouldShow()}prepareRender(e){}render(e){this._domNode.setWidth(this._width),this._domNode.setClassName(this._shouldShow?`scroll-decoration`:``)}};i.ba((e,t)=>{let n=e.getColor(i.Di);n&&t.addRule(`.monaco-editor .scroll-decoration { box-shadow: ${n} 0 6px 6px -6px inset; }`)});var wc=class{constructor(e){this.left=e.left,this.width=e.width,this.startStyle=null,this.endStyle=null}},Tc=class{constructor(e,t){this.lineNumber=e,this.ranges=t}};function Ec(e){return new wc(e)}function Dc(e){return new Tc(e.lineNumber,e.ranges.map(Ec))}var Oc=class e extends Ha{constructor(e){super(),this._previousFrameVisibleRangesWithStyle=[],this._context=e;let t=this._context.configuration.options;this._lineHeight=t.get(60),this._roundedSelection=t.get(91),this._typicalHalfwidthCharacterWidth=t.get(45).typicalHalfwidthCharacterWidth,this._selections=[],this._renderResult=null,this._context.addEventHandler(this)}dispose(){this._context.removeEventHandler(this),this._renderResult=null,super.dispose()}onConfigurationChanged(e){let t=this._context.configuration.options;return this._lineHeight=t.get(60),this._roundedSelection=t.get(91),this._typicalHalfwidthCharacterWidth=t.get(45).typicalHalfwidthCharacterWidth,!0}onCursorStateChanged(e){return this._selections=e.selections.slice(0),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return e.scrollTopChanged}onZonesChanged(e){return!0}_visibleRangesHaveGaps(e){for(let t=0,n=e.length;t<n;t++)if(e[t].ranges.length>1)return!0;return!1}_enrichVisibleRangesWithStyle(e,t,n){let r=this._typicalHalfwidthCharacterWidth/4,i=null,a=null;if(n&&n.length>0&&t.length>0){let r=t[0].lineNumber;if(r===e.startLineNumber)for(let e=0;!i&&e<n.length;e++)n[e].lineNumber===r&&(i=n[e].ranges[0]);let o=t[t.length-1].lineNumber;if(o===e.endLineNumber)for(let e=n.length-1;!a&&e>=0;e--)n[e].lineNumber===o&&(a=n[e].ranges[0]);i&&!i.startStyle&&(i=null),a&&!a.startStyle&&(a=null)}for(let e=0,n=t.length;e<n;e++){let o=t[e].ranges[0],s=o.left,c=o.left+o.width,l={top:0,bottom:0},u={top:0,bottom:0};if(e>0){let n=t[e-1].ranges[0].left,i=t[e-1].ranges[0].left+t[e-1].ranges[0].width;kc(s-n)<r?l.top=2:s>n&&(l.top=1),kc(c-i)<r?u.top=2:n<c&&c<i&&(u.top=1)}else i&&(l.top=i.startStyle.top,u.top=i.endStyle.top);if(e+1<n){let n=t[e+1].ranges[0].left,i=t[e+1].ranges[0].left+t[e+1].ranges[0].width;kc(s-n)<r?l.bottom=2:n<s&&s<i&&(l.bottom=1),kc(c-i)<r?u.bottom=2:c<i&&(u.bottom=1)}else a&&(l.bottom=a.startStyle.bottom,u.bottom=a.endStyle.bottom);o.startStyle=l,o.endStyle=u}}_getVisibleRangesWithStyle(e,t,n){let r=(t.linesVisibleRangesForRange(e,!0)||[]).map(Dc);return!this._visibleRangesHaveGaps(r)&&this._roundedSelection&&this._enrichVisibleRangesWithStyle(t.visibleRange,r,n),r}_createSelectionPiece(e,t,n,r,i){return`<div class="cslr `+n+`" style="top:`+e.toString()+`px;left:`+r.toString()+`px;width:`+i.toString()+`px;height:`+t+`px;"></div>`}_actualRenderOneSelection(t,n,r,i){if(i.length===0)return;let a=!!i[0].ranges[0].startStyle,o=this._lineHeight.toString(),s=(this._lineHeight-1).toString(),c=i[0].lineNumber,l=i[i.length-1].lineNumber;for(let u=0,d=i.length;u<d;u++){let d=i[u],f=d.lineNumber,p=f-n,m=r&&(f===l||f===c)?s:o,h=r&&f===c?1:0,g=``,_=``;for(let t=0,n=d.ranges.length;t<n;t++){let n=d.ranges[t];if(a){let t=n.startStyle,r=n.endStyle;if(t.top===1||t.bottom===1){g+=this._createSelectionPiece(h,m,e.SELECTION_CLASS_NAME,n.left-e.ROUNDED_PIECE_WIDTH,e.ROUNDED_PIECE_WIDTH);let r=e.EDITOR_BACKGROUND_CLASS_NAME;t.top===1&&(r+=` `+e.SELECTION_TOP_RIGHT),t.bottom===1&&(r+=` `+e.SELECTION_BOTTOM_RIGHT),g+=this._createSelectionPiece(h,m,r,n.left-e.ROUNDED_PIECE_WIDTH,e.ROUNDED_PIECE_WIDTH)}if(r.top===1||r.bottom===1){g+=this._createSelectionPiece(h,m,e.SELECTION_CLASS_NAME,n.left+n.width,e.ROUNDED_PIECE_WIDTH);let t=e.EDITOR_BACKGROUND_CLASS_NAME;r.top===1&&(t+=` `+e.SELECTION_TOP_LEFT),r.bottom===1&&(t+=` `+e.SELECTION_BOTTOM_LEFT),g+=this._createSelectionPiece(h,m,t,n.left+n.width,e.ROUNDED_PIECE_WIDTH)}}let r=e.SELECTION_CLASS_NAME;if(a){let t=n.startStyle,i=n.endStyle;t.top===0&&(r+=` `+e.SELECTION_TOP_LEFT),t.bottom===0&&(r+=` `+e.SELECTION_BOTTOM_LEFT),i.top===0&&(r+=` `+e.SELECTION_TOP_RIGHT),i.bottom===0&&(r+=` `+e.SELECTION_BOTTOM_RIGHT)}_+=this._createSelectionPiece(h,m,r,n.left,n.width)}t[p][0]+=g,t[p][1]+=_}}prepareRender(e){let t=[],n=e.visibleRange.startLineNumber,r=e.visibleRange.endLineNumber;for(let e=n;e<=r;e++){let r=e-n;t[r]=[``,``]}let i=[];for(let r=0,a=this._selections.length;r<a;r++){let a=this._selections[r];if(a.isEmpty()){i[r]=null;continue}let o=this._getVisibleRangesWithStyle(a,e,this._previousFrameVisibleRangesWithStyle[r]);i[r]=o,this._actualRenderOneSelection(t,n,this._selections.length>1,o)}this._previousFrameVisibleRangesWithStyle=i,this._renderResult=t.map(([e,t])=>e+t)}render(e,t){if(!this._renderResult)return``;let n=t-e;return n<0||n>=this._renderResult.length?``:this._renderResult[n]}};Oc.SELECTION_CLASS_NAME=`selected-text`,Oc.SELECTION_TOP_LEFT=`top-left-radius`,Oc.SELECTION_BOTTOM_LEFT=`bottom-left-radius`,Oc.SELECTION_TOP_RIGHT=`top-right-radius`,Oc.SELECTION_BOTTOM_RIGHT=`bottom-right-radius`,Oc.EDITOR_BACKGROUND_CLASS_NAME=`monaco-editor-background`,Oc.ROUNDED_PIECE_WIDTH=10,i.ba((e,t)=>{let n=e.getColor(i.Kn);n&&t.addRule(`.monaco-editor .focused .selected-text { background-color: ${n}; }`);let r=e.getColor(i.Pn);r&&t.addRule(`.monaco-editor .selected-text { background-color: ${r}; }`);let a=e.getColor(i.qn);a&&!a.isTransparent()&&t.addRule(`.monaco-editor .view-line span.inline-selected-text { color: ${a}; }`)});function kc(e){return e<0?-e:e}var Ac=class{constructor(e,t,n,r,i,a){this.top=e,this.left=t,this.width=n,this.height=r,this.textContent=i,this.textContentClassName=a}},jc=class{constructor(e){this._context=e;let t=this._context.configuration.options,n=t.get(45);this._cursorStyle=t.get(24),this._lineHeight=t.get(60),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(27),this._typicalHalfwidthCharacterWidth),this._isVisible=!0,this._domNode=k(document.createElement(`div`)),this._domNode.setClassName(`cursor ${Ga}`),this._domNode.setHeight(this._lineHeight),this._domNode.setTop(0),this._domNode.setLeft(0),Tt(this._domNode,n),this._domNode.setDisplay(`none`),this._position=new i.kl(1,1),this._lastRenderedContent=``,this._renderData=null}getDomNode(){return this._domNode}getPosition(){return this._position}show(){this._isVisible||=(this._domNode.setVisibility(`inherit`),!0)}hide(){this._isVisible&&=(this._domNode.setVisibility(`hidden`),!1)}onConfigurationChanged(e){let t=this._context.configuration.options,n=t.get(45);return this._cursorStyle=t.get(24),this._lineHeight=t.get(60),this._typicalHalfwidthCharacterWidth=n.typicalHalfwidthCharacterWidth,this._lineCursorWidth=Math.min(t.get(27),this._typicalHalfwidthCharacterWidth),Tt(this._domNode,n),!0}onCursorPositionChanged(e){return this._position=e,!0}_getGraphemeAwarePosition(){let{lineNumber:e,column:t}=this._position,n=this._context.viewModel.getLineContent(e),[r,a]=i.zc(n,t-1);return[new i.kl(e,r+1),n.substring(r,a)]}_prepareRender(e){let t=``,[n,r]=this._getGraphemeAwarePosition();if(this._cursorStyle===T.Line||this._cursorStyle===T.LineThin){let a=e.visibleRangeForPosition(n);if(!a||a.outsideRenderedLine)return null;let o;this._cursorStyle===T.Line?(o=i.eo(this._lineCursorWidth>0?this._lineCursorWidth:2),o>2&&(t=r)):o=i.eo(1);let s=a.left;return o>=2&&s>=1&&--s,new Ac(e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta,s,o,this._lineHeight,t,``)}let a=e.linesVisibleRangesForRange(new i.Ol(n.lineNumber,n.column,n.lineNumber,n.column+r.length),!1);if(!a||a.length===0)return null;let o=a[0];if(o.outsideRenderedLine||o.ranges.length===0)return null;let s=o.ranges[0],c=r===` `||s.width<1?this._typicalHalfwidthCharacterWidth:s.width,l=``;if(this._cursorStyle===T.Block){let e=this._context.viewModel.getViewLineData(n.lineNumber);t=r;let i=e.tokens.findTokenIndexAtOffset(n.column-1);l=e.tokens.getClassName(i)}let u=e.getVerticalOffsetForLineNumber(n.lineNumber)-e.bigNumbersDelta,d=this._lineHeight;return(this._cursorStyle===T.Underline||this._cursorStyle===T.UnderlineThin)&&(u+=this._lineHeight-2,d=2),new Ac(u,s.left,c,d,t,l)}prepareRender(e){this._renderData=this._prepareRender(e)}render(e){return this._renderData?(this._lastRenderedContent!==this._renderData.textContent&&(this._lastRenderedContent=this._renderData.textContent,this._domNode.domNode.textContent=this._lastRenderedContent),this._domNode.setClassName(`cursor ${Ga} ${this._renderData.textContentClassName}`),this._domNode.setDisplay(`block`),this._domNode.setTop(this._renderData.top),this._domNode.setLeft(this._renderData.left),this._domNode.setWidth(this._renderData.width),this._domNode.setLineHeight(this._renderData.height),this._domNode.setHeight(this._renderData.height),{domNode:this._domNode.domNode,position:this._position,contentLeft:this._renderData.left,height:this._renderData.height,width:2}):(this._domNode.setDisplay(`none`),null)}},Mc=class e extends Ki{constructor(e){super(e);let t=this._context.configuration.options;this._readOnly=t.get(82),this._cursorBlinking=t.get(22),this._cursorStyle=t.get(24),this._cursorSmoothCaretAnimation=t.get(23),this._selectionIsEmpty=!0,this._isComposingInput=!1,this._isVisible=!1,this._primaryCursor=new jc(this._context),this._secondaryCursors=[],this._renderData=[],this._domNode=k(document.createElement(`div`)),this._domNode.setAttribute(`role`,`presentation`),this._domNode.setAttribute(`aria-hidden`,`true`),this._updateDomClassName(),this._domNode.appendChild(this._primaryCursor.getDomNode()),this._startCursorBlinkAnimation=new i.xs,this._cursorFlatBlinkInterval=new i.gs,this._blinkingEnabled=!1,this._editorHasFocus=!1,this._updateBlinking()}dispose(){super.dispose(),this._startCursorBlinkAnimation.dispose(),this._cursorFlatBlinkInterval.dispose()}getDomNode(){return this._domNode}onCompositionStart(e){return this._isComposingInput=!0,this._updateBlinking(),!0}onCompositionEnd(e){return this._isComposingInput=!1,this._updateBlinking(),!0}onConfigurationChanged(e){let t=this._context.configuration.options;this._readOnly=t.get(82),this._cursorBlinking=t.get(22),this._cursorStyle=t.get(24),this._cursorSmoothCaretAnimation=t.get(23),this._updateBlinking(),this._updateDomClassName(),this._primaryCursor.onConfigurationChanged(e);for(let t=0,n=this._secondaryCursors.length;t<n;t++)this._secondaryCursors[t].onConfigurationChanged(e);return!0}_onCursorPositionChanged(e,t){if(this._primaryCursor.onCursorPositionChanged(e),this._updateBlinking(),this._secondaryCursors.length<t.length){let e=t.length-this._secondaryCursors.length;for(let t=0;t<e;t++){let e=new jc(this._context);this._domNode.domNode.insertBefore(e.getDomNode().domNode,this._primaryCursor.getDomNode().domNode.nextSibling),this._secondaryCursors.push(e)}}else if(this._secondaryCursors.length>t.length){let e=this._secondaryCursors.length-t.length;for(let t=0;t<e;t++)this._domNode.removeChild(this._secondaryCursors[0].getDomNode()),this._secondaryCursors.splice(0,1)}for(let e=0;e<t.length;e++)this._secondaryCursors[e].onCursorPositionChanged(t[e])}onCursorStateChanged(e){let t=[];for(let n=0,r=e.selections.length;n<r;n++)t[n]=e.selections[n].getPosition();this._onCursorPositionChanged(t[0],t.slice(1));let n=e.selections[0].isEmpty();return this._selectionIsEmpty!==n&&(this._selectionIsEmpty=n,this._updateDomClassName()),!0}onDecorationsChanged(e){return!0}onFlushed(e){return!0}onFocusChanged(e){return this._editorHasFocus=e.isFocused,this._updateBlinking(),!1}onLinesChanged(e){return!0}onLinesDeleted(e){return!0}onLinesInserted(e){return!0}onScrollChanged(e){return!0}onTokensChanged(e){let t=t=>{for(let n=0,r=e.ranges.length;n<r;n++)if(e.ranges[n].fromLineNumber<=t.lineNumber&&t.lineNumber<=e.ranges[n].toLineNumber)return!0;return!1};if(t(this._primaryCursor.getPosition()))return!0;for(let e of this._secondaryCursors)if(t(e.getPosition()))return!0;return!1}onZonesChanged(e){return!0}_getCursorBlinking(){return this._isComposingInput||!this._editorHasFocus?0:this._readOnly?5:this._cursorBlinking}_updateBlinking(){this._startCursorBlinkAnimation.cancel(),this._cursorFlatBlinkInterval.cancel();let t=this._getCursorBlinking(),n=t===0,r=t===5;n?this._hide():this._show(),this._blinkingEnabled=!1,this._updateDomClassName(),!n&&!r&&(t===1?this._cursorFlatBlinkInterval.cancelAndSet(()=>{this._isVisible?this._hide():this._show()},e.BLINK_INTERVAL):this._startCursorBlinkAnimation.setIfNotSet(()=>{this._blinkingEnabled=!0,this._updateDomClassName()},e.BLINK_INTERVAL))}_updateDomClassName(){this._domNode.setClassName(this._getClassName())}_getClassName(){let e=`cursors-layer`;switch(this._selectionIsEmpty||(e+=` has-selection`),this._cursorStyle){case T.Line:e+=` cursor-line-style`;break;case T.Block:e+=` cursor-block-style`;break;case T.Underline:e+=` cursor-underline-style`;break;case T.LineThin:e+=` cursor-line-thin-style`;break;case T.BlockOutline:e+=` cursor-block-outline-style`;break;case T.UnderlineThin:e+=` cursor-underline-thin-style`;break;default:e+=` cursor-line-style`}if(this._blinkingEnabled)switch(this._getCursorBlinking()){case 1:e+=` cursor-blink`;break;case 2:e+=` cursor-smooth`;break;case 3:e+=` cursor-phase`;break;case 4:e+=` cursor-expand`;break;case 5:e+=` cursor-solid`;break;default:e+=` cursor-solid`}else e+=` cursor-solid`;return this._cursorSmoothCaretAnimation&&(e+=` cursor-smooth-caret-animation`),e}_show(){this._primaryCursor.show();for(let e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].show();this._isVisible=!0}_hide(){this._primaryCursor.hide();for(let e=0,t=this._secondaryCursors.length;e<t;e++)this._secondaryCursors[e].hide();this._isVisible=!1}prepareRender(e){this._primaryCursor.prepareRender(e);for(let t=0,n=this._secondaryCursors.length;t<n;t++)this._secondaryCursors[t].prepareRender(e)}render(e){let t=[],n=0,r=this._primaryCursor.render(e);r&&(t[n++]=r);for(let r=0,i=this._secondaryCursors.length;r<i;r++){let i=this._secondaryCursors[r].render(e);i&&(t[n++]=i)}this._renderData=t}getLastRenderData(){return this._renderData}};Mc.BLINK_INTERVAL=500,i.ba((e,t)=>{let n=e.getColor(i.yt);if(n){let r=e.getColor(i.vt);r||=n.opposite(),t.addRule(`.monaco-editor .inputarea.ime-input { caret-color: ${n}; }`),t.addRule(`.monaco-editor .cursors-layer .cursor { background-color: ${n}; border-color: ${n}; color: ${r}; }`),i.wa(e.type)&&t.addRule(`.monaco-editor .cursors-layer.has-selection .cursor { border-left: 1px solid ${r}; border-right: 1px solid ${r}; }`)}});var Nc=()=>{throw Error(`Invalid change accessor`)},Pc=class extends Ki{constructor(e){super(e);let t=this._context.configuration.options,n=t.get(132);this._lineHeight=t.get(60),this._contentWidth=n.contentWidth,this._contentLeft=n.contentLeft,this.domNode=k(document.createElement(`div`)),this.domNode.setClassName(`view-zones`),this.domNode.setPosition(`absolute`),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this.marginDomNode=k(document.createElement(`div`)),this.marginDomNode.setClassName(`margin-view-zones`),this.marginDomNode.setPosition(`absolute`),this.marginDomNode.setAttribute(`role`,`presentation`),this.marginDomNode.setAttribute(`aria-hidden`,`true`),this._zones={}}dispose(){super.dispose(),this._zones={}}_recomputeWhitespacesProps(){let e=this._context.viewLayout.getWhitespaces(),t=new Map;for(let n of e)t.set(n.id,n);let n=!1;return this._context.viewModel.changeWhitespace(e=>{let r=Object.keys(this._zones);for(let i=0,a=r.length;i<a;i++){let a=r[i],o=this._zones[a],s=this._computeWhitespaceProps(o.delegate);o.isInHiddenArea=s.isInHiddenArea;let c=t.get(a);c&&(c.afterLineNumber!==s.afterViewLineNumber||c.height!==s.heightInPx)&&(e.changeOneWhitespace(a,s.afterViewLineNumber,s.heightInPx),this._safeCallOnComputedHeight(o.delegate,s.heightInPx),n=!0)}}),n}onConfigurationChanged(e){let t=this._context.configuration.options,n=t.get(132);return this._lineHeight=t.get(60),this._contentWidth=n.contentWidth,this._contentLeft=n.contentLeft,e.hasChanged(60)&&this._recomputeWhitespacesProps(),!0}onLineMappingChanged(e){return this._recomputeWhitespacesProps()}onLinesDeleted(e){return!0}onScrollChanged(e){return e.scrollTopChanged||e.scrollWidthChanged}onZonesChanged(e){return!0}onLinesInserted(e){return!0}_getZoneOrdinal(e){return e.afterColumn===void 0?1e4:e.afterColumn}_computeWhitespaceProps(e){if(e.afterLineNumber===0)return{isInHiddenArea:!1,afterViewLineNumber:0,heightInPx:this._heightInPixels(e),minWidthInPx:this._minWidthInPixels(e)};let t;if(e.afterColumn!==void 0)t=this._context.viewModel.model.validatePosition({lineNumber:e.afterLineNumber,column:e.afterColumn});else{let n=this._context.viewModel.model.validatePosition({lineNumber:e.afterLineNumber,column:1}).lineNumber;t=new i.kl(n,this._context.viewModel.model.getLineMaxColumn(n))}let n;n=t.column===this._context.viewModel.model.getLineMaxColumn(t.lineNumber)?this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber+1,column:1}):this._context.viewModel.model.validatePosition({lineNumber:t.lineNumber,column:t.column+1});let r=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(t,e.afterColumnAffinity),a=this._context.viewModel.coordinatesConverter.modelPositionIsVisible(n);return{isInHiddenArea:!a,afterViewLineNumber:r.lineNumber,heightInPx:a?this._heightInPixels(e):0,minWidthInPx:this._minWidthInPixels(e)}}changeViewZones(e){let t=!1;return this._context.viewModel.changeWhitespace(n=>{let r={addZone:e=>(t=!0,this._addZone(n,e)),removeZone:e=>{e&&(t=this._removeZone(n,e)||t)},layoutZone:e=>{e&&(t=this._layoutZone(n,e)||t)}};Fc(e,r),r.addZone=Nc,r.removeZone=Nc,r.layoutZone=Nc}),t}_addZone(e,t){let n=this._computeWhitespaceProps(t),r={whitespaceId:e.insertWhitespace(n.afterViewLineNumber,this._getZoneOrdinal(t),n.heightInPx,n.minWidthInPx),delegate:t,isInHiddenArea:n.isInHiddenArea,isVisible:!1,domNode:k(t.domNode),marginDomNode:t.marginDomNode?k(t.marginDomNode):null};return this._safeCallOnComputedHeight(r.delegate,n.heightInPx),r.domNode.setPosition(`absolute`),r.domNode.domNode.style.width=`100%`,r.domNode.setDisplay(`none`),r.domNode.setAttribute(`monaco-view-zone`,r.whitespaceId),this.domNode.appendChild(r.domNode),r.marginDomNode&&(r.marginDomNode.setPosition(`absolute`),r.marginDomNode.domNode.style.width=`100%`,r.marginDomNode.setDisplay(`none`),r.marginDomNode.setAttribute(`monaco-view-zone`,r.whitespaceId),this.marginDomNode.appendChild(r.marginDomNode)),this._zones[r.whitespaceId]=r,this.setShouldRender(),r.whitespaceId}_removeZone(e,t){if(this._zones.hasOwnProperty(t)){let n=this._zones[t];return delete this._zones[t],e.removeWhitespace(n.whitespaceId),n.domNode.removeAttribute(`monaco-visible-view-zone`),n.domNode.removeAttribute(`monaco-view-zone`),n.domNode.domNode.parentNode.removeChild(n.domNode.domNode),n.marginDomNode&&(n.marginDomNode.removeAttribute(`monaco-visible-view-zone`),n.marginDomNode.removeAttribute(`monaco-view-zone`),n.marginDomNode.domNode.parentNode.removeChild(n.marginDomNode.domNode)),this.setShouldRender(),!0}return!1}_layoutZone(e,t){if(this._zones.hasOwnProperty(t)){let n=this._zones[t],r=this._computeWhitespaceProps(n.delegate);return n.isInHiddenArea=r.isInHiddenArea,e.changeOneWhitespace(n.whitespaceId,r.afterViewLineNumber,r.heightInPx),this._safeCallOnComputedHeight(n.delegate,r.heightInPx),this.setShouldRender(),!0}return!1}shouldSuppressMouseDownOnViewZone(e){return this._zones.hasOwnProperty(e)?!!this._zones[e].delegate.suppressMouseDown:!1}_heightInPixels(e){return typeof e.heightInPx==`number`?e.heightInPx:typeof e.heightInLines==`number`?this._lineHeight*e.heightInLines:this._lineHeight}_minWidthInPixels(e){return typeof e.minWidthInPx==`number`?e.minWidthInPx:0}_safeCallOnComputedHeight(e,t){if(typeof e.onComputedHeight==`function`)try{e.onComputedHeight(t)}catch(e){i.fu(e)}}_safeCallOnDomNodeTop(e,t){if(typeof e.onDomNodeTop==`function`)try{e.onDomNodeTop(t)}catch(e){i.fu(e)}}prepareRender(e){}render(e){let t=e.viewportData.whitespaceViewportData,n={},r=!1;for(let e of t)this._zones[e.id].isInHiddenArea||(n[e.id]=e,r=!0);let i=Object.keys(this._zones);for(let t=0,r=i.length;t<r;t++){let r=i[t],a=this._zones[r],o=0,s=0,c=`none`;n.hasOwnProperty(r)?(o=n[r].verticalOffset-e.bigNumbersDelta,s=n[r].height,c=`block`,a.isVisible||=(a.domNode.setAttribute(`monaco-visible-view-zone`,`true`),!0),this._safeCallOnDomNodeTop(a.delegate,e.getScrolledTopFromAbsoluteTop(n[r].verticalOffset))):(a.isVisible&&=(a.domNode.removeAttribute(`monaco-visible-view-zone`),!1),this._safeCallOnDomNodeTop(a.delegate,e.getScrolledTopFromAbsoluteTop(-1e6))),a.domNode.setTop(o),a.domNode.setHeight(s),a.domNode.setDisplay(c),a.marginDomNode&&(a.marginDomNode.setTop(o),a.marginDomNode.setHeight(s),a.marginDomNode.setDisplay(c))}r&&(this.domNode.setWidth(Math.max(e.scrollWidth,this._contentWidth)),this.marginDomNode.setWidth(this._contentLeft))}};function Fc(e,t){try{return e(t)}catch(e){i.fu(e)}}var Ic=class{constructor(e){this._theme=e}get type(){return this._theme.type}get value(){return this._theme}update(e){this._theme=e}getColor(e){return this._theme.getColor(e)}},Lc=class{constructor(e,t,n){this.configuration=e,this.theme=new Ic(t),this.viewModel=n,this.viewLayout=n.viewLayout}addEventHandler(e){this.viewModel.addViewEventHandler(e)}removeEventHandler(e){this.viewModel.removeViewEventHandler(e)}},Rc=class{constructor(e,t,n,r){this.selections=e,this.startLineNumber=t.startLineNumber|0,this.endLineNumber=t.endLineNumber|0,this.relativeVerticalOffset=t.relativeVerticalOffset,this.bigNumbersDelta=t.bigNumbersDelta|0,this.whitespaceViewportData=n,this._model=r,this.visibleRange=new i.Ol(t.startLineNumber,this._model.getLineMinColumn(t.startLineNumber),t.endLineNumber,this._model.getLineMaxColumn(t.endLineNumber))}getViewLineRenderingData(e){return this._model.getViewLineRenderingData(this.visibleRange,e)}getDecorationsInViewport(){return this._model.getDecorationsInViewport(this.visibleRange)}},zc=class extends Ki{constructor(e){super(e),this.blocks=[],this.contentWidth=-1,this.domNode=k(document.createElement(`div`)),this.domNode.setAttribute(`role`,`presentation`),this.domNode.setAttribute(`aria-hidden`,`true`),this.domNode.setClassName(`blockDecorations-container`),this.update()}update(){let e=!1,t=this._context.configuration.options.get(132),n=t.contentWidth-t.verticalScrollbarWidth;return this.contentWidth!==n&&(this.contentWidth=n,e=!0),e}dispose(){super.dispose()}onConfigurationChanged(e){return this.update()}onScrollChanged(e){return e.scrollTopChanged||e.scrollLeftChanged}onDecorationsChanged(e){return!0}onZonesChanged(e){return!0}prepareRender(e){}render(e){let t=0,n=e.getDecorationsInViewport();for(let r of n){if(!r.options.blockClassName)continue;let n=this.blocks[t];n||(n=this.blocks[t]=k(document.createElement(`div`)),this.domNode.appendChild(n));let i=e.getVerticalOffsetForLineNumber(r.range.startLineNumber),a=e.getVerticalOffsetForLineNumber(r.range.endLineNumber+1);n.setClassName(`blockDecorations-block `+r.options.blockClassName),n.setLeft(e.scrollLeft),n.setWidth(this.contentWidth),n.setTop(i),n.setHeight(a-i),t++}for(let e=t;e<this.blocks.length;e++)this.blocks[e].domNode.remove();this.blocks.length=t}},Bc=class extends Gi{constructor(e,t,n,r,a,o){super(),this._selections=[new i.Dl(1,1,1,1)],this._renderAnimationFrame=null;let s=new Jo(t,r,a,e);this._context=new Lc(t,n,r),this._context.addEventHandler(this),this._viewParts=[],this._textAreaHandler=new Ja(this._context,s,this._createTextAreaHandlerHelper()),this._viewParts.push(this._textAreaHandler),this._linesContent=k(document.createElement(`div`)),this._linesContent.setClassName(`lines-content monaco-editor-background`),this._linesContent.setPosition(`absolute`),this.domNode=k(document.createElement(`div`)),this.domNode.setClassName(this._getEditorClassName()),this.domNode.setAttribute(`role`,`code`),this._overflowGuardContainer=k(document.createElement(`div`)),qi.write(this._overflowGuardContainer,3),this._overflowGuardContainer.setClassName(`overflow-guard`),this._scrollbar=new Ls(this._context,this._linesContent,this.domNode,this._overflowGuardContainer),this._viewParts.push(this._scrollbar),this._viewLines=new Ks(this._context,this._linesContent),this._viewZones=new Pc(this._context),this._viewParts.push(this._viewZones);let c=new _c(this._context);this._viewParts.push(c);let l=new Cc(this._context);this._viewParts.push(l);let u=new ts(this._context);this._viewParts.push(u),u.addDynamicOverlay(new cs(this._context)),u.addDynamicOverlay(new Oc(this._context)),u.addDynamicOverlay(new Vs(this._context)),u.addDynamicOverlay(new us(this._context));let d=new ns(this._context);this._viewParts.push(d),d.addDynamicOverlay(new ls(this._context)),d.addDynamicOverlay(new Bs(this._context)),d.addDynamicOverlay(new Js(this._context)),d.addDynamicOverlay(new qs(this._context)),d.addDynamicOverlay(new Ua(this._context));let f=new Wa(this._context);f.getDomNode().appendChild(this._viewZones.marginDomNode),f.getDomNode().appendChild(d.getDomNode()),this._viewParts.push(f),this._contentWidgets=new is(this._context,this.domNode),this._viewParts.push(this._contentWidgets),this._viewCursors=new Mc(this._context),this._viewParts.push(this._viewCursors),this._overlayWidgets=new hc(this._context),this._viewParts.push(this._overlayWidgets);let p=new Sc(this._context);this._viewParts.push(p);let m=new zc(this._context);this._viewParts.push(m);let h=new fc(this._context);if(this._viewParts.push(h),c){let e=this._scrollbar.getOverviewRulerLayoutInfo();e.parent.insertBefore(c.getDomNode(),e.insertBefore)}this._linesContent.appendChild(u.getDomNode()),this._linesContent.appendChild(p.domNode),this._linesContent.appendChild(m.domNode),this._linesContent.appendChild(this._viewZones.domNode),this._linesContent.appendChild(this._viewLines.getDomNode()),this._linesContent.appendChild(this._contentWidgets.domNode),this._linesContent.appendChild(this._viewCursors.getDomNode()),this._overflowGuardContainer.appendChild(f.getDomNode()),this._overflowGuardContainer.appendChild(this._scrollbar.getDomNode()),this._overflowGuardContainer.appendChild(l.getDomNode()),this._overflowGuardContainer.appendChild(this._textAreaHandler.textArea),this._overflowGuardContainer.appendChild(this._textAreaHandler.textAreaCover),this._overflowGuardContainer.appendChild(this._overlayWidgets.getDomNode()),this._overflowGuardContainer.appendChild(h.getDomNode()),this.domNode.appendChild(this._overflowGuardContainer),o?o.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode.domNode):this.domNode.appendChild(this._contentWidgets.overflowingContentWidgetsDomNode),this._applyLayout(),this._pointerHandler=this._register(new Va(this._context,s,this._createPointerHandlerHelper()))}_flushAccumulatedAndRenderNow(){this._renderNow()}_createPointerHandlerHelper(){return{viewDomNode:this.domNode.domNode,linesContentDomNode:this._linesContent.domNode,viewLinesDomNode:this._viewLines.getDomNode().domNode,focusTextArea:()=>{this.focus()},dispatchTextAreaEvent:e=>{this._textAreaHandler.textArea.domNode.dispatchEvent(e)},getLastRenderData:()=>new _a(this._viewCursors.getLastRenderData()||[],this._textAreaHandler.getLastRenderData()),shouldSuppressMouseDownOnViewZone:e=>this._viewZones.shouldSuppressMouseDownOnViewZone(e),shouldSuppressMouseDownOnWidget:e=>this._contentWidgets.shouldSuppressMouseDownOnWidget(e),getPositionFromDOMInfo:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getPositionFromDOMInfo(e,t)),visibleRangeForPosition:(e,t)=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(new i.kl(e,t))),getLineWidth:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.getLineWidth(e))}}_createTextAreaHandlerHelper(){return{visibleRangeForPosition:e=>(this._flushAccumulatedAndRenderNow(),this._viewLines.visibleRangeForPosition(e))}}_applyLayout(){let e=this._context.configuration.options.get(132);this.domNode.setWidth(e.width),this.domNode.setHeight(e.height),this._overflowGuardContainer.setWidth(e.width),this._overflowGuardContainer.setHeight(e.height),this._linesContent.setWidth(1e6),this._linesContent.setHeight(1e6)}_getEditorClassName(){let e=this._textAreaHandler.isFocused()?` focused`:``;return this._context.configuration.options.get(129)+` `+i.ya(this._context.theme.type)+e}handleEvents(e){super.handleEvents(e),this._scheduleRender()}onConfigurationChanged(e){return this.domNode.setClassName(this._getEditorClassName()),this._applyLayout(),!1}onCursorStateChanged(e){return this._selections=e.selections,!1}onFocusChanged(e){return this.domNode.setClassName(this._getEditorClassName()),!1}onThemeChanged(e){return this._context.theme.update(e.theme),this.domNode.setClassName(this._getEditorClassName()),!1}dispose(){this._renderAnimationFrame!==null&&(this._renderAnimationFrame.dispose(),this._renderAnimationFrame=null),this._contentWidgets.overflowingContentWidgetsDomNode.domNode.remove(),this._context.removeEventHandler(this),this._viewLines.dispose();for(let e of this._viewParts)e.dispose();super.dispose()}_scheduleRender(){this._renderAnimationFrame===null&&(this._renderAnimationFrame=i.Oo(this._onRenderScheduled.bind(this),100))}_onRenderScheduled(){this._renderAnimationFrame=null,this._flushAccumulatedAndRenderNow()}_renderNow(){Vc(()=>this._actualRender())}_getViewPartsToRender(){let e=[],t=0;for(let n of this._viewParts)n.shouldRender()&&(e[t++]=n);return e}_actualRender(){if(!i.So(this.domNode.domNode))return;let e=this._getViewPartsToRender();if(!this._viewLines.shouldRender()&&e.length===0)return;let t=this._context.viewLayout.getLinesViewportData();this._context.viewModel.setViewport(t.startLineNumber,t.endLineNumber,t.centeredLineNumber);let n=new Rc(this._selections,t,this._context.viewLayout.getWhitespaceViewportData(),this._context.viewModel);this._contentWidgets.shouldRender()&&this._contentWidgets.onBeforeRender(n),this._viewLines.shouldRender()&&(this._viewLines.renderText(n),this._viewLines.onDidRender(),e=this._getViewPartsToRender());let r=new Yi(this._context.viewLayout,n,this._viewLines);for(let t of e)t.prepareRender(r);for(let t of e)t.render(r),t.onDidRender()}delegateVerticalScrollbarPointerDown(e){this._scrollbar.delegateVerticalScrollbarPointerDown(e)}restoreState(e){this._context.viewModel.viewLayout.setScrollPosition({scrollTop:e.scrollTop},1),this._context.viewModel.tokenizeViewport(),this._renderNow(),this._viewLines.updateLineWidths(),this._context.viewModel.viewLayout.setScrollPosition({scrollLeft:e.scrollLeft},1)}getOffsetForColumn(e,t){let n=this._context.viewModel.model.validatePosition({lineNumber:e,column:t}),r=this._context.viewModel.coordinatesConverter.convertModelPositionToViewPosition(n);this._flushAccumulatedAndRenderNow();let a=this._viewLines.visibleRangeForPosition(new i.kl(r.lineNumber,r.column));return a?a.left:-1}getTargetAtClientPoint(e,t){let n=this._pointerHandler.getTargetAtClientPoint(e,t);return n?Yo.convertViewToModelMouseTarget(n,this._context.viewModel.coordinatesConverter):null}createOverviewRuler(e){return new xc(this._context,e)}change(e){this._viewZones.changeViewZones(e),this._scheduleRender()}render(e,t){if(t){this._viewLines.forceShouldRender();for(let e of this._viewParts)e.forceShouldRender()}e?this._flushAccumulatedAndRenderNow():this._scheduleRender()}focus(){this._textAreaHandler.focusTextArea()}isFocused(){return this._textAreaHandler.isFocused()}setAriaOptions(e){this._textAreaHandler.setAriaOptions(e)}addContentWidget(e){this._contentWidgets.addWidget(e.widget),this.layoutContentWidget(e),this._scheduleRender()}layoutContentWidget(e){let t=e.position&&e.position.range||null;if(t===null){let n=e.position?e.position.position:null;n!==null&&(t=new i.Ol(n.lineNumber,n.column,n.lineNumber,n.column))}let n=e.position?e.position.preference:null;this._contentWidgets.setWidgetPosition(e.widget,t,n,e.position?.positionAffinity??null),this._scheduleRender()}removeContentWidget(e){this._contentWidgets.removeWidget(e.widget),this._scheduleRender()}addOverlayWidget(e){this._overlayWidgets.addWidget(e.widget),this.layoutOverlayWidget(e),this._scheduleRender()}layoutOverlayWidget(e){let t=e.position?e.position.preference:null;this._overlayWidgets.setWidgetPosition(e.widget,t)&&this._scheduleRender()}removeOverlayWidget(e){this._overlayWidgets.removeWidget(e.widget),this._scheduleRender()}};function Vc(e){try{return e()}catch(e){i.fu(e)}}var Hc=class e{constructor(e){this._selTrackedRange=null,this._trackSelection=!0,this._setState(e,new no(new i.Ol(1,1,1,1),0,new i.kl(1,1),0),new no(new i.Ol(1,1,1,1),0,new i.kl(1,1),0))}dispose(e){this._removeTrackedRange(e)}startTrackingSelection(e){this._trackSelection=!0,this._updateTrackedRange(e)}stopTrackingSelection(e){this._trackSelection=!1,this._removeTrackedRange(e)}_updateTrackedRange(e){this._trackSelection&&(this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,this.modelState.selection,0))}_removeTrackedRange(e){this._selTrackedRange=e.model._setTrackedRange(this._selTrackedRange,null,0)}asCursorState(){return new F(this.modelState,this.viewState)}readSelectionFromMarkers(e){let t=e.model._getTrackedRange(this._selTrackedRange);return i.Dl.fromRange(t,this.modelState.selection.getDirection())}ensureValidState(e){this._setState(e,this.modelState,this.viewState)}setState(e,t,n){this._setState(e,t,n)}static _validatePositionWithCache(e,t,n,r){return t.equals(n)?r:e.normalizePosition(t,2)}static _validateViewState(e,t){let n=t.position,r=t.selectionStart.getStartPosition(),a=t.selectionStart.getEndPosition(),o=e.normalizePosition(n,2),s=this._validatePositionWithCache(e,r,n,o),c=this._validatePositionWithCache(e,a,r,s);return n.equals(o)&&r.equals(s)&&a.equals(c)?t:new no(i.Ol.fromPositions(s,c),t.selectionStartLeftoverVisibleColumns+r.column-s.column,o,t.leftoverVisibleColumns+n.column-o.column)}_setState(t,n,r){if(r&&=e._validateViewState(t.viewModel,r),n){let e=t.model.validateRange(n.selectionStart),r=n.selectionStart.equalsRange(e)?n.selectionStartLeftoverVisibleColumns:0,i=t.model.validatePosition(n.position);n=new no(e,r,i,n.position.equals(i)?n.leftoverVisibleColumns:0)}else{if(!r)return;let e=t.model.validateRange(t.coordinatesConverter.convertViewRangeToModelRange(r.selectionStart)),i=t.model.validatePosition(t.coordinatesConverter.convertViewPositionToModelPosition(r.position));n=new no(e,r.selectionStartLeftoverVisibleColumns,i,r.leftoverVisibleColumns)}if(r){let e=t.coordinatesConverter.validateViewRange(r.selectionStart,n.selectionStart),i=t.coordinatesConverter.validateViewPosition(r.position,n.position);r=new no(e,n.selectionStartLeftoverVisibleColumns,i,n.leftoverVisibleColumns)}else{let e=t.coordinatesConverter.convertModelPositionToViewPosition(new i.kl(n.selectionStart.startLineNumber,n.selectionStart.startColumn)),a=t.coordinatesConverter.convertModelPositionToViewPosition(new i.kl(n.selectionStart.endLineNumber,n.selectionStart.endColumn)),o=new i.Ol(e.lineNumber,e.column,a.lineNumber,a.column),s=t.coordinatesConverter.convertModelPositionToViewPosition(n.position);r=new no(o,n.selectionStartLeftoverVisibleColumns,s,n.leftoverVisibleColumns)}this.modelState=n,this.viewState=r,this._updateTrackedRange(t)}},Uc=class{constructor(e){this.context=e,this.cursors=[new Hc(e)],this.lastAddedCursorIndex=0}dispose(){for(let e of this.cursors)e.dispose(this.context)}startTrackingSelections(){for(let e of this.cursors)e.startTrackingSelection(this.context)}stopTrackingSelections(){for(let e of this.cursors)e.stopTrackingSelection(this.context)}updateContext(e){this.context=e}ensureValidState(){for(let e of this.cursors)e.ensureValidState(this.context)}readSelectionFromMarkers(){return this.cursors.map(e=>e.readSelectionFromMarkers(this.context))}getAll(){return this.cursors.map(e=>e.asCursorState())}getViewPositions(){return this.cursors.map(e=>e.viewState.position)}getTopMostViewPosition(){return i.Yu(this.cursors,i.Hu(e=>e.viewState.position,i.kl.compare)).viewState.position}getBottomMostViewPosition(){return i.qu(this.cursors,i.Hu(e=>e.viewState.position,i.kl.compare)).viewState.position}getSelections(){return this.cursors.map(e=>e.modelState.selection)}getViewSelections(){return this.cursors.map(e=>e.viewState.selection)}setSelections(e){this.setStates(F.fromModelSelections(e))}getPrimaryCursor(){return this.cursors[0].asCursorState()}setStates(e){e!==null&&(this.cursors[0].setState(this.context,e[0].modelState,e[0].viewState),this._setSecondaryStates(e.slice(1)))}_setSecondaryStates(e){let t=this.cursors.length-1,n=e.length;if(t<n){let e=n-t;for(let t=0;t<e;t++)this._addSecondaryCursor()}else if(t>n){let e=t-n;for(let t=0;t<e;t++)this._removeSecondaryCursor(this.cursors.length-2)}for(let t=0;t<n;t++)this.cursors[t+1].setState(this.context,e[t].modelState,e[t].viewState)}killSecondaryCursors(){this._setSecondaryStates([])}_addSecondaryCursor(){this.cursors.push(new Hc(this.context)),this.lastAddedCursorIndex=this.cursors.length-1}getLastAddedCursorIndex(){return this.cursors.length===1||this.lastAddedCursorIndex===0?0:this.lastAddedCursorIndex}_removeSecondaryCursor(e){this.lastAddedCursorIndex>=e+1&&this.lastAddedCursorIndex--,this.cursors[e+1].dispose(this.context),this.cursors.splice(e+1,1)}normalize(){if(this.cursors.length===1)return;let e=this.cursors.slice(0),t=[];for(let n=0,r=e.length;n<r;n++)t.push({index:n,selection:e[n].modelState.selection});t.sort(i.Hu(e=>e.selection,i.Ol.compareRangesUsingStarts));for(let n=0;n<t.length-1;n++){let r=t[n],a=t[n+1],o=r.selection,s=a.selection;if(!this.context.cursorConfig.multiCursorMergeOverlapping)continue;let c;if(c=s.isEmpty()||o.isEmpty()?s.getStartPosition().isBeforeOrEqual(o.getEndPosition()):s.getStartPosition().isBefore(o.getEndPosition()),c){let o=r.index<a.index?n:n+1,s=r.index<a.index?n+1:n,c=t[s].index,l=t[o].index,u=t[s].selection,d=t[o].selection;if(!u.equalsSelection(d)){let n=u.plusRange(d),r=u.selectionStartLineNumber===u.startLineNumber&&u.selectionStartColumn===u.startColumn,a=d.selectionStartLineNumber===d.startLineNumber&&d.selectionStartColumn===d.startColumn,s;c===this.lastAddedCursorIndex?(s=r,this.lastAddedCursorIndex=l):s=a;let f;f=s?new i.Dl(n.startLineNumber,n.startColumn,n.endLineNumber,n.endColumn):new i.Dl(n.endLineNumber,n.endColumn,n.startLineNumber,n.startColumn),t[o].selection=f;let p=F.fromModelSelection(f);e[l].setState(this.context,p.modelState,p.viewState)}for(let e of t)e.index>c&&e.index--;e.splice(c,1),t.splice(s,1),this._removeSecondaryCursor(c-1),n--}}}},Wc=class{constructor(e,t,n,r){this._cursorContextBrand=void 0,this.model=e,this.viewModel=t,this.coordinatesConverter=n,this.cursorConfig=r}},Gc=class{constructor(){this.type=0}},Kc=class{constructor(){this.type=1}},qc=class{constructor(e){this.type=2,this._source=e}hasChanged(e){return this._source.hasChanged(e)}},Jc=class{constructor(e,t){this.type=3,this.selections=e,this.modelSelections=t}},Yc=class{constructor(e){this.type=4,e?(this.affectsMinimap=e.affectsMinimap,this.affectsOverviewRuler=e.affectsOverviewRuler):(this.affectsMinimap=!0,this.affectsOverviewRuler=!0)}},Xc=class{constructor(){this.type=5}},Zc=class{constructor(e){this.type=6,this.isFocused=e}},Qc=class{constructor(){this.type=7}},$c=class{constructor(){this.type=8}},el=class{constructor(e,t){this.fromLineNumber=e,this.count=t,this.type=9}},tl=class{constructor(e,t){this.type=10,this.fromLineNumber=e,this.toLineNumber=t}},nl=class{constructor(e,t){this.type=11,this.fromLineNumber=e,this.toLineNumber=t}},rl=class{constructor(e,t,n,r,i,a,o){this.source=e,this.minimalReveal=t,this.range=n,this.selections=r,this.verticalType=i,this.revealHorizontal=a,this.scrollType=o,this.type=12}},il=class{constructor(e){this.type=13,this.scrollWidth=e.scrollWidth,this.scrollLeft=e.scrollLeft,this.scrollHeight=e.scrollHeight,this.scrollTop=e.scrollTop,this.scrollWidthChanged=e.scrollWidthChanged,this.scrollLeftChanged=e.scrollLeftChanged,this.scrollHeightChanged=e.scrollHeightChanged,this.scrollTopChanged=e.scrollTopChanged}},al=class{constructor(e){this.theme=e,this.type=14}},ol=class{constructor(e){this.type=15,this.ranges=e}},sl=class{constructor(){this.type=16}},cl=class{constructor(){this.type=17}},ll=class extends i.Xl{constructor(){super(),this._onEvent=this._register(new i.Ul),this.onEvent=this._onEvent.event,this._eventHandlers=[],this._viewEventQueue=null,this._isConsumingViewEventQueue=!1,this._collector=null,this._collectorCnt=0,this._outgoingEvents=[]}emitOutgoingEvent(e){this._addOutgoingEvent(e),this._emitOutgoingEvents()}_addOutgoingEvent(e){for(let t=0,n=this._outgoingEvents.length;t<n;t++){let n=this._outgoingEvents[t].kind===e.kind?this._outgoingEvents[t].attemptToMerge(e):null;if(n){this._outgoingEvents[t]=n;return}}this._outgoingEvents.push(e)}_emitOutgoingEvents(){for(;this._outgoingEvents.length>0;){if(this._collector||this._isConsumingViewEventQueue)return;let e=this._outgoingEvents.shift();e.isNoOp()||this._onEvent.fire(e)}}addViewEventHandler(e){for(let e=0,t=this._eventHandlers.length;e<t;e++)this._eventHandlers[e];this._eventHandlers.push(e)}removeViewEventHandler(e){for(let t=0;t<this._eventHandlers.length;t++)if(this._eventHandlers[t]===e){this._eventHandlers.splice(t,1);break}}beginEmitViewEvents(){return this._collectorCnt++,this._collectorCnt===1&&(this._collector=new ul),this._collector}endEmitViewEvents(){if(this._collectorCnt--,this._collectorCnt===0){let e=this._collector.outgoingEvents,t=this._collector.viewEvents;this._collector=null;for(let t of e)this._addOutgoingEvent(t);t.length>0&&this._emitMany(t)}this._emitOutgoingEvents()}emitSingleViewEvent(e){try{this.beginEmitViewEvents().emitViewEvent(e)}finally{this.endEmitViewEvents()}}_emitMany(e){this._viewEventQueue?this._viewEventQueue=this._viewEventQueue.concat(e):this._viewEventQueue=e,this._isConsumingViewEventQueue||this._consumeViewEventQueue()}_consumeViewEventQueue(){try{this._isConsumingViewEventQueue=!0,this._doConsumeQueue()}finally{this._isConsumingViewEventQueue=!1}}_doConsumeQueue(){for(;this._viewEventQueue;){let e=this._viewEventQueue;this._viewEventQueue=null;let t=this._eventHandlers.slice(0);for(let n of t)n.handleEvents(e)}}},ul=class{constructor(){this.viewEvents=[],this.outgoingEvents=[]}emitViewEvent(e){this.viewEvents.push(e)}emitOutgoingEvent(e){this.outgoingEvents.push(e)}},dl=class e{constructor(e,t,n,r){this.kind=0,this._oldContentWidth=e,this._oldContentHeight=t,this.contentWidth=n,this.contentHeight=r,this.contentWidthChanged=this._oldContentWidth!==this.contentWidth,this.contentHeightChanged=this._oldContentHeight!==this.contentHeight}isNoOp(){return!this.contentWidthChanged&&!this.contentHeightChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldContentWidth,this._oldContentHeight,t.contentWidth,t.contentHeight):null}},fl=class e{constructor(e,t){this.kind=1,this.oldHasFocus=e,this.hasFocus=t}isNoOp(){return this.oldHasFocus===this.hasFocus}attemptToMerge(t){return t.kind===this.kind?new e(this.oldHasFocus,t.hasFocus):null}},pl=class e{constructor(e,t,n,r,i,a,o,s){this.kind=2,this._oldScrollWidth=e,this._oldScrollLeft=t,this._oldScrollHeight=n,this._oldScrollTop=r,this.scrollWidth=i,this.scrollLeft=a,this.scrollHeight=o,this.scrollTop=s,this.scrollWidthChanged=this._oldScrollWidth!==this.scrollWidth,this.scrollLeftChanged=this._oldScrollLeft!==this.scrollLeft,this.scrollHeightChanged=this._oldScrollHeight!==this.scrollHeight,this.scrollTopChanged=this._oldScrollTop!==this.scrollTop}isNoOp(){return!this.scrollWidthChanged&&!this.scrollLeftChanged&&!this.scrollHeightChanged&&!this.scrollTopChanged}attemptToMerge(t){return t.kind===this.kind?new e(this._oldScrollWidth,this._oldScrollLeft,this._oldScrollHeight,this._oldScrollTop,t.scrollWidth,t.scrollLeft,t.scrollHeight,t.scrollTop):null}},ml=class{constructor(){this.kind=3}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},hl=class e{constructor(e,t,n,r,i,a,o){this.kind=6,this.oldSelections=e,this.selections=t,this.oldModelVersionId=n,this.modelVersionId=r,this.source=i,this.reason=a,this.reachedMaxCursorCount=o}static _selectionsAreEqual(e,t){if(!e&&!t)return!0;if(!e||!t)return!1;let n=e.length;if(n!==t.length)return!1;for(let r=0;r<n;r++)if(!e[r].equalsSelection(t[r]))return!1;return!0}isNoOp(){return e._selectionsAreEqual(this.oldSelections,this.selections)&&this.oldModelVersionId===this.modelVersionId}attemptToMerge(t){return t.kind===this.kind?new e(this.oldSelections,t.selections,this.oldModelVersionId,t.modelVersionId,t.source,t.reason,this.reachedMaxCursorCount||t.reachedMaxCursorCount):null}},gl=class{constructor(){this.kind=5}isNoOp(){return!1}attemptToMerge(e){return e.kind===this.kind?this:null}},_l=class{constructor(e){this.event=e,this.kind=7}isNoOp(){return!1}attemptToMerge(e){return null}},vl=class{constructor(e){this.event=e,this.kind=8}isNoOp(){return!1}attemptToMerge(e){return null}},yl=class{constructor(e){this.event=e,this.kind=9}isNoOp(){return!1}attemptToMerge(e){return null}},bl=class{constructor(e){this.event=e,this.kind=10}isNoOp(){return!1}attemptToMerge(e){return null}},xl=class{constructor(e){this.event=e,this.kind=11}isNoOp(){return!1}attemptToMerge(e){return null}},Sl=class{constructor(e){this.event=e,this.kind=12}isNoOp(){return!1}attemptToMerge(e){return null}},Cl=class e extends i.Xl{constructor(e,t,n,r){super(),this._model=e,this._knownModelVersionId=this._model.getVersionId(),this._viewModel=t,this._coordinatesConverter=n,this.context=new Wc(this._model,this._viewModel,this._coordinatesConverter,r),this._cursors=new Uc(this.context),this._hasFocus=!1,this._isHandling=!1,this._compositionState=null,this._columnSelectData=null,this._autoClosedActions=[],this._prevEditOperationType=0}dispose(){this._cursors.dispose(),this._autoClosedActions=i.nu(this._autoClosedActions),super.dispose()}updateConfiguration(e){this.context=new Wc(this._model,this._viewModel,this._coordinatesConverter,e),this._cursors.updateContext(this.context)}onLineMappingChanged(e){this._knownModelVersionId===this._model.getVersionId()&&this.setStates(e,`viewModel`,0,this.getCursorStates())}setHasFocus(e){this._hasFocus=e}_validateAutoClosedActions(){if(this._autoClosedActions.length>0){let e=this._cursors.getSelections();for(let t=0;t<this._autoClosedActions.length;t++){let n=this._autoClosedActions[t];n.isValid(e)||(n.dispose(),this._autoClosedActions.splice(t,1),t--)}}}getPrimaryCursorState(){return this._cursors.getPrimaryCursor()}getLastAddedCursorIndex(){return this._cursors.getLastAddedCursorIndex()}getCursorStates(){return this._cursors.getAll()}setStates(t,n,r,i){let a=!1;i!==null&&i.length>e.MAX_CURSOR_COUNT&&(i=i.slice(0,e.MAX_CURSOR_COUNT),a=!0);let o=wl.from(this._model,this);return this._cursors.setStates(i),this._cursors.normalize(),this._columnSelectData=null,this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,o,a)}setCursorColumnSelectData(e){this._columnSelectData=e}revealPrimary(e,t,n,r,a,o){let s=this._cursors.getViewPositions(),c=null,l=null;s.length>1?l=this._cursors.getViewSelections():c=i.Ol.fromPositions(s[0],s[0]),e.emitViewEvent(new rl(t,n,c,l,r,a,o))}saveState(){let e=[],t=this._cursors.getSelections();for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push({inSelectionMode:!r.isEmpty(),selectionStart:{lineNumber:r.selectionStartLineNumber,column:r.selectionStartColumn},position:{lineNumber:r.positionLineNumber,column:r.positionColumn}})}return e}restoreState(e,t){let n=[];for(let e=0,r=t.length;e<r;e++){let r=t[e],i=1,a=1;r.position&&r.position.lineNumber&&(i=r.position.lineNumber),r.position&&r.position.column&&(a=r.position.column);let o=i,s=a;r.selectionStart&&r.selectionStart.lineNumber&&(o=r.selectionStart.lineNumber),r.selectionStart&&r.selectionStart.column&&(s=r.selectionStart.column),n.push({selectionStartLineNumber:o,selectionStartColumn:s,positionLineNumber:i,positionColumn:a})}this.setStates(e,`restoreState`,0,F.fromModelSelections(n)),this.revealPrimary(e,`restoreState`,!1,0,!0,1)}onModelContentChanged(e,t){if(t instanceof i.U){if(this._isHandling)return;this._isHandling=!0;try{this.setStates(e,`modelChange`,0,this.getCursorStates())}finally{this._isHandling=!1}}else{let n=t.rawContentChangedEvent;if(this._knownModelVersionId=n.versionId,this._isHandling)return;let r=n.containsEvent(1);if(this._prevEditOperationType=0,r)this._cursors.dispose(),this._cursors=new Uc(this.context),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(e,`model`,1,null,!1);else if(this._hasFocus&&n.resultingSelection&&n.resultingSelection.length>0){let t=F.fromModelSelections(n.resultingSelection);this.setStates(e,`modelChange`,n.isUndoing?5:n.isRedoing?6:2,t)&&this.revealPrimary(e,`modelChange`,!1,0,!0,0)}else{let t=this._cursors.readSelectionFromMarkers();this.setStates(e,`modelChange`,2,F.fromModelSelections(t))}}}getSelection(){return this._cursors.getPrimaryCursor().modelState.selection}getTopMostViewPosition(){return this._cursors.getTopMostViewPosition()}getBottomMostViewPosition(){return this._cursors.getBottomMostViewPosition()}getCursorColumnSelectData(){if(this._columnSelectData)return this._columnSelectData;let e=this._cursors.getPrimaryCursor(),t=e.viewState.selectionStart.getStartPosition(),n=e.viewState.position;return{isReal:!1,fromViewLineNumber:t.lineNumber,fromViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,t),toViewLineNumber:n.lineNumber,toViewVisualColumn:this.context.cursorConfig.visibleColumnFromColumn(this._viewModel,n)}}getSelections(){return this._cursors.getSelections()}setSelections(e,t,n,r){this.setStates(e,t,r,F.fromModelSelections(n))}getPrevEditOperationType(){return this._prevEditOperationType}setPrevEditOperationType(e){this._prevEditOperationType=e}_pushAutoClosedAction(e,t){let n=[],r=[];for(let i=0,a=e.length;i<a;i++)n.push({range:e[i],options:{description:`auto-closed-character`,inlineClassName:`auto-closed-character`,stickiness:1}}),r.push({range:t[i],options:{description:`auto-closed-enclosing`,stickiness:1}});let i=this._model.deltaDecorations([],n),a=this._model.deltaDecorations([],r);this._autoClosedActions.push(new Tl(this._model,i,a))}_executeEditOperation(e){if(!e)return;e.shouldPushStackElementBefore&&this._model.pushStackElement();let t=El.executeCommands(this._model,this._cursors.getSelections(),e.commands);if(t){this._interpretCommandResult(t);let n=[],r=[];for(let t=0;t<e.commands.length;t++){let i=e.commands[t];i instanceof No&&i.enclosingRange&&i.closeCharacterRange&&(n.push(i.closeCharacterRange),r.push(i.enclosingRange))}n.length>0&&this._pushAutoClosedAction(n,r),this._prevEditOperationType=e.type}e.shouldPushStackElementAfter&&this._model.pushStackElement()}_interpretCommandResult(e){(!e||e.length===0)&&(e=this._cursors.readSelectionFromMarkers()),this._columnSelectData=null,this._cursors.setSelections(e),this._cursors.normalize()}_emitStateChangedIfNecessary(e,t,n,r,i){let a=wl.from(this._model,this);if(a.equals(r))return!1;let o=this._cursors.getSelections(),s=this._cursors.getViewSelections();if(e.emitViewEvent(new Jc(s,o)),!r||r.cursorState.length!==a.cursorState.length||a.cursorState.some((e,t)=>!e.modelState.equals(r.cursorState[t].modelState))){let s=r?r.cursorState.map(e=>e.modelState.selection):null,c=r?r.modelVersionId:0;e.emitOutgoingEvent(new hl(s,o,c,a.modelVersionId,t||`keyboard`,n,i))}return!0}_findAutoClosingPairs(e){if(!e.length)return null;let t=[];for(let n=0,r=e.length;n<r;n++){let r=e[n];if(!r.text||r.text.indexOf(`
|
|
69
69
|
`)>=0)return null;let i=r.text.match(/([)\]}>'"`])([^)\]}>'"`]*)$/);if(!i)return null;let a=i[1],o=this.context.cursorConfig.autoClosingPairs.autoClosingPairsCloseSingleChar.get(a);if(!o||o.length!==1)return null;let s=o[0].open,c=r.text.length-i[2].length-1,l=r.text.lastIndexOf(s,c-1);if(l===-1)return null;t.push([l,c])}return t}executeEdits(e,t,n,r){let a=null;t===`snippet`&&(a=this._findAutoClosingPairs(n)),a&&(n[0]._isTracked=!0);let o=[],s=[],c=this._model.pushEditOperations(this.getSelections(),n,e=>{if(a)for(let t=0,n=a.length;t<n;t++){let[n,r]=a[t],c=e[t],l=c.range.startLineNumber,u=c.range.startColumn-1+n,d=c.range.startColumn-1+r;o.push(new i.Ol(l,d+1,l,d+2)),s.push(new i.Ol(l,u+1,l,d+2))}let t=r(e);return t&&(this._isHandling=!0),t});c&&(this._isHandling=!1,this.setSelections(e,t,c,0)),o.length>0&&this._pushAutoClosedAction(o,s)}_executeEdit(e,t,n,r=0){if(this.context.cursorConfig.readOnly)return;let a=wl.from(this._model,this);this._cursors.stopTrackingSelections(),this._isHandling=!0;try{this._cursors.ensureValidState(),e()}catch(e){i.fu(e)}this._isHandling=!1,this._cursors.startTrackingSelections(),this._validateAutoClosedActions(),this._emitStateChangedIfNecessary(t,n,r,a,!1)&&this.revealPrimary(t,n,!1,0,!0,0)}getAutoClosedCharacters(){return Tl.getAllAutoClosedCharacters(this._autoClosedActions)}startComposition(e){this._compositionState=new Ol(this._model,this.getSelections())}endComposition(e,t){let n=this._compositionState?this._compositionState.deduceOutcome(this._model,this.getSelections()):null;this._compositionState=null,this._executeEdit(()=>{t===`keyboard`&&this._executeEditOperation(Mo.compositionEndWithInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,n,this.getSelections(),this.getAutoClosedCharacters()))},e,t)}type(e,t,n){this._executeEdit(()=>{if(n===`keyboard`){let e=t.length,n=0;for(;n<e;){let e=i.$c(t,n),r=t.substr(n,e);this._executeEditOperation(Mo.typeWithInterceptors(!!this._compositionState,this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),this.getAutoClosedCharacters(),r)),n+=e}}else this._executeEditOperation(Mo.typeWithoutInterceptors(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t))},e,n)}compositionType(e,t,n,r,a,o){if(t.length===0&&n===0&&r===0){if(a!==0){let t=this.getSelections().map(e=>{let t=e.getPosition();return new i.Dl(t.lineNumber,t.column+a,t.lineNumber,t.column+a)});this.setSelections(e,o,t,0)}return}this._executeEdit(()=>{this._executeEditOperation(Mo.compositionType(this._prevEditOperationType,this.context.cursorConfig,this._model,this.getSelections(),t,n,r,a))},e,o)}paste(e,t,n,r,i){this._executeEdit(()=>{this._executeEditOperation(Mo.paste(this.context.cursorConfig,this._model,this.getSelections(),t,n,r||[]))},e,i,4)}cut(e,t){this._executeEdit(()=>{this._executeEditOperation(po.cut(this.context.cursorConfig,this._model,this.getSelections()))},e,t)}executeCommand(e,t,n){this._executeEdit(()=>{this._cursors.killSecondaryCursors(),this._executeEditOperation(new ro(0,[t],{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,n)}executeCommands(e,t,n){this._executeEdit(()=>{this._executeEditOperation(new ro(0,t,{shouldPushStackElementBefore:!1,shouldPushStackElementAfter:!1}))},e,n)}};Cl.MAX_CURSOR_COUNT=1e4;var wl=class e{constructor(e,t){this.modelVersionId=e,this.cursorState=t}static from(t,n){return new e(t.getVersionId(),n.getCursorStates())}equals(e){if(!e||this.modelVersionId!==e.modelVersionId||this.cursorState.length!==e.cursorState.length)return!1;for(let t=0,n=this.cursorState.length;t<n;t++)if(!this.cursorState[t].equals(e.cursorState[t]))return!1;return!0}},Tl=class{constructor(e,t,n){this._model=e,this._autoClosedCharactersDecorations=t,this._autoClosedEnclosingDecorations=n}static getAllAutoClosedCharacters(e){let t=[];for(let n of e)t=t.concat(n.getAutoClosedCharactersRanges());return t}dispose(){this._autoClosedCharactersDecorations=this._model.deltaDecorations(this._autoClosedCharactersDecorations,[]),this._autoClosedEnclosingDecorations=this._model.deltaDecorations(this._autoClosedEnclosingDecorations,[])}getAutoClosedCharactersRanges(){let e=[];for(let t=0;t<this._autoClosedCharactersDecorations.length;t++){let n=this._model.getDecorationRange(this._autoClosedCharactersDecorations[t]);n&&e.push(n)}return e}isValid(e){let t=[];for(let e=0;e<this._autoClosedEnclosingDecorations.length;e++){let n=this._model.getDecorationRange(this._autoClosedEnclosingDecorations[e]);if(n&&(t.push(n),n.startLineNumber!==n.endLineNumber))return!1}t.sort(i.Ol.compareRangesUsingStarts),e.sort(i.Ol.compareRangesUsingStarts);for(let n=0;n<e.length;n++)if(n>=t.length||!t[n].strictContainsRange(e[n]))return!1;return!0}},El=class{static executeCommands(e,t,n){let r={model:e,selectionsBefore:t,trackedRanges:[],trackedRangesDirection:[]},i=this._innerExecuteCommands(r,n);for(let e=0,t=r.trackedRanges.length;e<t;e++)r.model._setTrackedRange(r.trackedRanges[e],null,0);return i}static _innerExecuteCommands(e,t){if(this._arrayIsEmpty(t))return null;let n=this._getEditOperations(e,t);if(n.operations.length===0)return null;let r=n.operations,a=this._getLoserCursorMap(r);if(a.hasOwnProperty(`0`))return null;let o=[];for(let e=0,t=r.length;e<t;e++)a.hasOwnProperty(r[e].identifier.major.toString())||o.push(r[e]);n.hadTrackedEditOperation&&o.length>0&&(o[0]._isTracked=!0);let s=e.model.pushEditOperations(e.selectionsBefore,o,n=>{let r=[];for(let t=0;t<e.selectionsBefore.length;t++)r[t]=[];for(let e of n)e.identifier&&r[e.identifier.major].push(e);let a=(e,t)=>e.identifier.minor-t.identifier.minor,o=[];for(let n=0;n<e.selectionsBefore.length;n++)r[n].length>0?(r[n].sort(a),o[n]=t[n].computeCursorState(e.model,{getInverseEditOperations:()=>r[n],getTrackedSelection:t=>{let n=parseInt(t,10),r=e.model._getTrackedRange(e.trackedRanges[n]);return e.trackedRangesDirection[n]===0?new i.Dl(r.startLineNumber,r.startColumn,r.endLineNumber,r.endColumn):new i.Dl(r.endLineNumber,r.endColumn,r.startLineNumber,r.startColumn)}})):o[n]=e.selectionsBefore[n];return o});s||=e.selectionsBefore;let c=[];for(let e in a)a.hasOwnProperty(e)&&c.push(parseInt(e,10));c.sort((e,t)=>t-e);for(let e of c)s.splice(e,1);return s}static _arrayIsEmpty(e){for(let t=0,n=e.length;t<n;t++)if(e[t])return!1;return!0}static _getEditOperations(e,t){let n=[],r=!1;for(let i=0,a=t.length;i<a;i++){let a=t[i];if(a){let t=this._getEditOperationsFromCommand(e,i,a);n=n.concat(t.operations),r||=t.hadTrackedEditOperation}}return{operations:n,hadTrackedEditOperation:r}}static _getEditOperationsFromCommand(e,t,n){let r=[],a=0,o=(e,o,s=!1)=>{i.Ol.isEmpty(e)&&o===``||r.push({identifier:{major:t,minor:a++},range:e,text:o,forceMoveMarkers:s,isAutoWhitespaceEdit:n.insertsAutoWhitespace})},s=!1,c={addEditOperation:o,addTrackedEditOperation:(e,t,n)=>{s=!0,o(e,t,n)},trackSelection:(t,n)=>{let r=i.Dl.liftSelection(t),a;if(r.isEmpty())if(typeof n==`boolean`)a=n?2:3;else{let t=e.model.getLineMaxColumn(r.startLineNumber);a=r.startColumn===t?2:3}else a=1;let o=e.trackedRanges.length,s=e.model._setTrackedRange(null,r,a);return e.trackedRanges[o]=s,e.trackedRangesDirection[o]=r.getDirection(),o.toString()}};try{n.getEditOperations(e.model,c)}catch(e){return i.fu(e),{operations:[],hadTrackedEditOperation:!1}}return{operations:r,hadTrackedEditOperation:s}}static _getLoserCursorMap(e){e=e.slice(0),e.sort((e,t)=>-i.Ol.compareRangesUsingEnds(e.range,t.range));let t={};for(let n=1;n<e.length;n++){let r=e[n-1],a=e[n];if(i.Ol.getStartPosition(r.range).isBefore(i.Ol.getEndPosition(a.range))){let i;i=r.identifier.major>a.identifier.major?r.identifier.major:a.identifier.major,t[i.toString()]=!0;for(let t=0;t<e.length;t++)e[t].identifier.major===i&&(e.splice(t,1),t<n&&n--,t--);n>0&&n--}}return t}},Dl=class{constructor(e,t,n){this.text=e,this.startSelection=t,this.endSelection=n}},Ol=class e{constructor(t,n){this._original=e._capture(t,n)}static _capture(e,t){let n=[];for(let r of t){if(r.startLineNumber!==r.endLineNumber)return null;n.push(new Dl(e.getLineContent(r.startLineNumber),r.startColumn-1,r.endColumn-1))}return n}deduceOutcome(t,n){if(!this._original)return null;let r=e._capture(t,n);if(!r||this._original.length!==r.length)return null;let i=[];for(let t=0,n=this._original.length;t<n;t++)i.push(e._deduceOutcome(this._original[t],r[t]));return i}static _deduceOutcome(e,t){let n=Math.min(e.startSelection,t.startSelection,i.Dc(e.text,t.text)),r=Math.min(e.text.length-e.endSelection,t.text.length-t.endSelection,i.Oc(e.text,t.text)),a=e.text.substring(n,e.text.length-r),o=t.text.substring(n,t.text.length-r);return new Po(a,e.startSelection-n,e.endSelection-n,o,t.startSelection-n,t.endSelection-n)}},kl=class{constructor(e,t,n,r,i,a){this.id=e,this.label=t,this.alias=n,this._precondition=r,this._run=i,this._contextKeyService=a}isSupported(){return this._contextKeyService.contextMatchesRules(this._precondition)}run(){return this.isSupported()?this._run():Promise.resolve(void 0)}},Al=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},jl={getInitialState:()=>i.js,tokenizeEncoded:(e,t,n)=>i.Ns(0,n)};function Ml(e,t,n){return Al(this,void 0,void 0,function*(){if(!n)return Pl(t,e.languageIdCodec,jl);let r=yield i.xl.getOrCreate(n);return Pl(t,e.languageIdCodec,r||jl)})}function Nl(e,t,n,r,i,a,o){let s=`<div>`,c=r,l=0,u=!0;for(let d=0,f=t.getCount();d<f;d++){let f=t.getEndOffset(d);if(f<=r)continue;let p=``;for(;c<f&&c<i;c++){let t=e.charCodeAt(c);switch(t){case 9:{let e=a-(c+l)%a;for(l+=e-1;e>0;)o&&u?(p+=` `,u=!1):(p+=` `,u=!0),e--;break}case 60:p+=`<`,u=!1;break;case 62:p+=`>`,u=!1;break;case 38:p+=`&`,u=!1;break;case 0:p+=`�`,u=!1;break;case 65279:case 8232:case 8233:case 133:p+=`�`,u=!1;break;case 13:p+=`​`,u=!1;break;case 32:o&&u?(p+=` `,u=!1):(p+=` `,u=!0);break;default:p+=String.fromCharCode(t),u=!1}}if(s+=`<span style="${t.getInlineStyle(d,n)}">${p}</span>`,f>i||c>=i)break}return s+=`</div>`,s}function Pl(e,t,n){let r=`<div class="monaco-tokenized-source">`,a=i.al(e),o=n.getInitialState();for(let e=0,s=a.length;e<s;e++){let s=a[e];e>0&&(r+=`<br/>`);let c=n.tokenizeEncoded(s,!0,o);i.Yo.convertToEndOffset(c.tokens,s.length);let l=new i.Yo(c.tokens,s,t).inflate(),u=0;for(let e=0,t=l.getCount();e<t;e++){let t=l.getClassName(e),n=l.getEndOffset(e);r+=`<span class="${t}">${i.Fc(s.substring(u,n))}</span>`,u=n}o=c.endState}return r+=`</div>`,r}var Fl=class{constructor(){this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[]}insert(e){this._hasPending=!0,this._inserts.push(e)}change(e){this._hasPending=!0,this._changes.push(e)}remove(e){this._hasPending=!0,this._removes.push(e)}mustCommit(){return this._hasPending}commit(e){if(!this._hasPending)return;let t=this._inserts,n=this._changes,r=this._removes;this._hasPending=!1,this._inserts=[],this._changes=[],this._removes=[],e._commitPendingChanges(t,n,r)}},Il=class{constructor(e,t,n,r,i){this.id=e,this.afterLineNumber=t,this.ordinal=n,this.height=r,this.minWidth=i,this.prefixSum=0}},Ll=class e{constructor(t,n,r,a){this._instanceId=i.il(++e.INSTANCE_COUNT),this._pendingChanges=new Fl,this._lastWhitespaceId=0,this._arr=[],this._prefixSumValidIndex=-1,this._minWidth=-1,this._lineCount=t,this._lineHeight=n,this._paddingTop=r,this._paddingBottom=a}static findInsertionIndex(e,t,n){let r=0,i=e.length;for(;r<i;){let a=r+i>>>1;t===e[a].afterLineNumber?n<e[a].ordinal?i=a:r=a+1:t<e[a].afterLineNumber?i=a:r=a+1}return r}setLineHeight(e){this._checkPendingChanges(),this._lineHeight=e}setPadding(e,t){this._paddingTop=e,this._paddingBottom=t}onFlushed(e){this._checkPendingChanges(),this._lineCount=e}changeWhitespace(e){let t=!1;try{e({insertWhitespace:(e,n,r,i)=>{t=!0,e|=0,n|=0,r|=0,i|=0;let a=this._instanceId+ ++this._lastWhitespaceId;return this._pendingChanges.insert(new Il(a,e,n,r,i)),a},changeOneWhitespace:(e,n,r)=>{t=!0,n|=0,r|=0,this._pendingChanges.change({id:e,newAfterLineNumber:n,newHeight:r})},removeWhitespace:e=>{t=!0,this._pendingChanges.remove({id:e})}})}finally{this._pendingChanges.commit(this)}return t}_commitPendingChanges(e,t,n){if((e.length>0||n.length>0)&&(this._minWidth=-1),e.length+t.length+n.length<=1){for(let t of e)this._insertWhitespace(t);for(let e of t)this._changeOneWhitespace(e.id,e.newAfterLineNumber,e.newHeight);for(let e of n){let t=this._findWhitespaceIndex(e.id);t!==-1&&this._removeWhitespace(t)}return}let r=new Set;for(let e of n)r.add(e.id);let i=new Map;for(let e of t)i.set(e.id,e);let a=e=>{let t=[];for(let n of e)if(!r.has(n.id)){if(i.has(n.id)){let e=i.get(n.id);n.afterLineNumber=e.newAfterLineNumber,n.height=e.newHeight}t.push(n)}return t},o=a(this._arr).concat(a(e));o.sort((e,t)=>e.afterLineNumber===t.afterLineNumber?e.ordinal-t.ordinal:e.afterLineNumber-t.afterLineNumber),this._arr=o,this._prefixSumValidIndex=-1}_checkPendingChanges(){this._pendingChanges.mustCommit()&&this._pendingChanges.commit(this)}_insertWhitespace(t){let n=e.findInsertionIndex(this._arr,t.afterLineNumber,t.ordinal);this._arr.splice(n,0,t),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,n-1)}_findWhitespaceIndex(e){let t=this._arr;for(let n=0,r=t.length;n<r;n++)if(t[n].id===e)return n;return-1}_changeOneWhitespace(e,t,n){let r=this._findWhitespaceIndex(e);if(r!==-1&&(this._arr[r].height!==n&&(this._arr[r].height=n,this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,r-1)),this._arr[r].afterLineNumber!==t)){let e=this._arr[r];this._removeWhitespace(r),e.afterLineNumber=t,this._insertWhitespace(e)}}_removeWhitespace(e){this._arr.splice(e,1),this._prefixSumValidIndex=Math.min(this._prefixSumValidIndex,e-1)}onLinesDeleted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount-=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&r<=t?this._arr[n].afterLineNumber=e-1:r>t&&(this._arr[n].afterLineNumber-=t-e+1)}}onLinesInserted(e,t){this._checkPendingChanges(),e|=0,t|=0,this._lineCount+=t-e+1;for(let n=0,r=this._arr.length;n<r;n++){let r=this._arr[n].afterLineNumber;e<=r&&(this._arr[n].afterLineNumber+=t-e+1)}}getWhitespacesTotalHeight(){return this._checkPendingChanges(),this._arr.length===0?0:this.getWhitespacesAccumulatedHeight(this._arr.length-1)}getWhitespacesAccumulatedHeight(e){this._checkPendingChanges(),e|=0;let t=Math.max(0,this._prefixSumValidIndex+1);t===0&&(this._arr[0].prefixSum=this._arr[0].height,t++);for(let n=t;n<=e;n++)this._arr[n].prefixSum=this._arr[n-1].prefixSum+this._arr[n].height;return this._prefixSumValidIndex=Math.max(this._prefixSumValidIndex,e),this._arr[e].prefixSum}getLinesTotalHeight(){return this._checkPendingChanges(),this._lineHeight*this._lineCount+this.getWhitespacesTotalHeight()+this._paddingTop+this._paddingBottom}getWhitespaceAccumulatedHeightBeforeLineNumber(e){this._checkPendingChanges(),e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e);return t===-1?0:this.getWhitespacesAccumulatedHeight(t)}_findLastWhitespaceBeforeLineNumber(e){e|=0;let t=this._arr,n=0,r=t.length-1;for(;n<=r;){let i=(r-n|0)/2|0,a=n+i|0;if(t[a].afterLineNumber<e){if(a+1>=t.length||t[a+1].afterLineNumber>=e)return a;n=a+1|0}else r=a-1|0}return-1}_findFirstWhitespaceAfterLineNumber(e){e|=0;let t=this._findLastWhitespaceBeforeLineNumber(e)+1;return t<this._arr.length?t:-1}getFirstWhitespaceIndexAfterLineNumber(e){return this._checkPendingChanges(),e|=0,this._findFirstWhitespaceAfterLineNumber(e)}getVerticalOffsetForLineNumber(e,t=!1){this._checkPendingChanges(),e|=0;let n;n=e>1?this._lineHeight*(e-1):0;let r=this.getWhitespaceAccumulatedHeightBeforeLineNumber(e-(t?1:0));return n+r+this._paddingTop}getWhitespaceMinWidth(){if(this._checkPendingChanges(),this._minWidth===-1){let e=0;for(let t=0,n=this._arr.length;t<n;t++)e=Math.max(e,this._arr[t].minWidth);this._minWidth=e}return this._minWidth}isAfterLines(e){return this._checkPendingChanges(),e>this.getLinesTotalHeight()}isInTopPadding(e){return this._paddingTop===0?!1:(this._checkPendingChanges(),e<this._paddingTop)}isInBottomPadding(e){return this._paddingBottom===0?!1:(this._checkPendingChanges(),e>=this.getLinesTotalHeight()-this._paddingBottom)}getLineNumberAtOrAfterVerticalOffset(e){if(this._checkPendingChanges(),e|=0,e<0)return 1;let t=this._lineCount|0,n=this._lineHeight,r=1,i=t;for(;r<i;){let t=(r+i)/2|0,a=this.getVerticalOffsetForLineNumber(t)|0;if(e>=a+n)r=t+1;else if(e>=a)return t;else i=t}return r>t?t:r}getLinesViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;let n=this._lineHeight,r=this.getLineNumberAtOrAfterVerticalOffset(e)|0,i=this.getVerticalOffsetForLineNumber(r)|0,a=this._lineCount|0,o=this.getFirstWhitespaceIndexAfterLineNumber(r)|0,s=this.getWhitespacesCount()|0,c,l;o===-1?(o=s,l=a+1,c=0):(l=this.getAfterLineNumberForWhitespaceIndex(o)|0,c=this.getHeightForWhitespaceIndex(o)|0);let u=i,d=u,f=5e5,p=0;i>=f&&(p=Math.floor(i/f)*f,p=Math.floor(p/n)*n,d-=p);let m=[],h=e+(t-e)/2,g=-1;for(let e=r;e<=a;e++){if(g===-1){let t=u,r=u+n;(t<=h&&h<r||t>h)&&(g=e)}for(u+=n,m[e-r]=d,d+=n;l===e;)d+=c,u+=c,o++,o>=s?l=a+1:(l=this.getAfterLineNumberForWhitespaceIndex(o)|0,c=this.getHeightForWhitespaceIndex(o)|0);if(u>=t){a=e;break}}g===-1&&(g=a);let _=this.getVerticalOffsetForLineNumber(a)|0,v=r,y=a;return v<y&&i<e&&v++,v<y&&_+n>t&&y--,{bigNumbersDelta:p,startLineNumber:r,endLineNumber:a,relativeVerticalOffset:m,centeredLineNumber:g,completelyVisibleStartLineNumber:v,completelyVisibleEndLineNumber:y}}getVerticalOffsetForWhitespaceIndex(e){this._checkPendingChanges(),e|=0;let t=this.getAfterLineNumberForWhitespaceIndex(e),n;n=t>=1?this._lineHeight*t:0;let r;return r=e>0?this.getWhitespacesAccumulatedHeight(e-1):0,n+r+this._paddingTop}getWhitespaceIndexAtOrAfterVerticallOffset(e){this._checkPendingChanges(),e|=0;let t=0,n=this.getWhitespacesCount()-1;if(n<0)return-1;let r=this.getVerticalOffsetForWhitespaceIndex(n),i=this.getHeightForWhitespaceIndex(n);if(e>=r+i)return-1;for(;t<n;){let r=Math.floor((t+n)/2),i=this.getVerticalOffsetForWhitespaceIndex(r),a=this.getHeightForWhitespaceIndex(r);if(e>=i+a)t=r+1;else if(e>=i)return r;else n=r}return t}getWhitespaceAtVerticalOffset(e){this._checkPendingChanges(),e|=0;let t=this.getWhitespaceIndexAtOrAfterVerticallOffset(e);if(t<0||t>=this.getWhitespacesCount())return null;let n=this.getVerticalOffsetForWhitespaceIndex(t);if(n>e)return null;let r=this.getHeightForWhitespaceIndex(t);return{id:this.getIdForWhitespaceIndex(t),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(t),verticalOffset:n,height:r}}getWhitespaceViewportData(e,t){this._checkPendingChanges(),e|=0,t|=0;let n=this.getWhitespaceIndexAtOrAfterVerticallOffset(e),r=this.getWhitespacesCount()-1;if(n<0)return[];let i=[];for(let e=n;e<=r;e++){let n=this.getVerticalOffsetForWhitespaceIndex(e),r=this.getHeightForWhitespaceIndex(e);if(n>=t)break;i.push({id:this.getIdForWhitespaceIndex(e),afterLineNumber:this.getAfterLineNumberForWhitespaceIndex(e),verticalOffset:n,height:r})}return i}getWhitespaces(){return this._checkPendingChanges(),this._arr.slice(0)}getWhitespacesCount(){return this._checkPendingChanges(),this._arr.length}getIdForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].id}getAfterLineNumberForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].afterLineNumber}getHeightForWhitespaceIndex(e){return this._checkPendingChanges(),e|=0,this._arr[e].height}};Ll.INSTANCE_COUNT=0;var Rl=125,zl=class{constructor(e,t,n,r){e|=0,t|=0,n|=0,r|=0,e<0&&(e=0),t<0&&(t=0),n<0&&(n=0),r<0&&(r=0),this.width=e,this.contentWidth=t,this.scrollWidth=Math.max(e,t),this.height=n,this.contentHeight=r,this.scrollHeight=Math.max(n,r)}equals(e){return this.width===e.width&&this.contentWidth===e.contentWidth&&this.height===e.height&&this.contentHeight===e.contentHeight}},Bl=class extends i.Xl{constructor(e,t){super(),this._onDidContentSizeChange=this._register(new i.Ul),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._dimensions=new zl(0,0,0,0),this._scrollable=this._register(new xs({forceIntegerValues:!0,smoothScrollDuration:e,scheduleAtNextAnimationFrame:t})),this.onDidScroll=this._scrollable.onScroll}getScrollable(){return this._scrollable}setSmoothScrollDuration(e){this._scrollable.setSmoothScrollDuration(e)}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}getScrollDimensions(){return this._dimensions}setScrollDimensions(e){if(this._dimensions.equals(e))return;let t=this._dimensions;this._dimensions=e,this._scrollable.setScrollDimensions({width:e.width,scrollWidth:e.scrollWidth,height:e.height,scrollHeight:e.scrollHeight},!0);let n=t.contentWidth!==e.contentWidth,r=t.contentHeight!==e.contentHeight;(n||r)&&this._onDidContentSizeChange.fire(new dl(t.contentWidth,t.contentHeight,e.contentWidth,e.contentHeight))}getFutureScrollPosition(){return this._scrollable.getFutureScrollPosition()}getCurrentScrollPosition(){return this._scrollable.getCurrentScrollPosition()}setScrollPositionNow(e){this._scrollable.setScrollPositionNow(e)}setScrollPositionSmooth(e){this._scrollable.setScrollPositionSmooth(e)}},Vl=class extends i.Xl{constructor(e,t,n){super(),this._configuration=e;let r=this._configuration.options,i=r.get(132),a=r.get(76);this._linesLayout=new Ll(t,r.get(60),a.top,a.bottom),this._scrollable=this._register(new Bl(0,n)),this._configureSmoothScrollDuration(),this._scrollable.setScrollDimensions(new zl(i.contentWidth,0,i.height,0)),this.onDidScroll=this._scrollable.onDidScroll,this.onDidContentSizeChange=this._scrollable.onDidContentSizeChange,this._updateHeight()}dispose(){super.dispose()}getScrollable(){return this._scrollable.getScrollable()}onHeightMaybeChanged(){this._updateHeight()}_configureSmoothScrollDuration(){this._scrollable.setSmoothScrollDuration(this._configuration.options.get(104)?Rl:0)}onConfigurationChanged(e){let t=this._configuration.options;if(e.hasChanged(60)&&this._linesLayout.setLineHeight(t.get(60)),e.hasChanged(76)){let e=t.get(76);this._linesLayout.setPadding(e.top,e.bottom)}if(e.hasChanged(132)){let e=t.get(132),n=e.contentWidth,r=e.height,i=this._scrollable.getScrollDimensions(),a=i.contentWidth;this._scrollable.setScrollDimensions(new zl(n,i.contentWidth,r,this._getContentHeight(n,r,a)))}else this._updateHeight();e.hasChanged(104)&&this._configureSmoothScrollDuration()}onFlushed(e){this._linesLayout.onFlushed(e)}onLinesDeleted(e,t){this._linesLayout.onLinesDeleted(e,t)}onLinesInserted(e,t){this._linesLayout.onLinesInserted(e,t)}_getHorizontalScrollbarHeight(e,t){let n=this._configuration.options.get(93);return n.horizontal===2||e>=t?0:n.horizontalScrollbarSize}_getContentHeight(e,t,n){let r=this._configuration.options,i=this._linesLayout.getLinesTotalHeight();return r.get(95)?i+=Math.max(0,t-r.get(60)-r.get(76).bottom):i+=this._getHorizontalScrollbarHeight(e,n),i}_updateHeight(){let e=this._scrollable.getScrollDimensions(),t=e.width,n=e.height,r=e.contentWidth;this._scrollable.setScrollDimensions(new zl(t,e.contentWidth,n,this._getContentHeight(t,n,r)))}getCurrentViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getCurrentScrollPosition();return new Or(t.scrollTop,t.scrollLeft,e.width,e.height)}getFutureViewport(){let e=this._scrollable.getScrollDimensions(),t=this._scrollable.getFutureScrollPosition();return new Or(t.scrollTop,t.scrollLeft,e.width,e.height)}_computeContentWidth(e){let t=this._configuration.options,n=t.get(133),r=t.get(45),i=t.get(132);if(n.isViewportWrapping){let n=t.get(66);return e>i.contentWidth+r.typicalHalfwidthCharacterWidth&&n.enabled&&n.side===`right`?e+i.verticalScrollbarWidth:e}else{let n=t.get(94)*r.typicalHalfwidthCharacterWidth,a=this._linesLayout.getWhitespaceMinWidth();return Math.max(e+n+i.verticalScrollbarWidth,a)}}setMaxLineWidth(e){let t=this._scrollable.getScrollDimensions();this._scrollable.setScrollDimensions(new zl(t.width,this._computeContentWidth(e),t.height,t.contentHeight)),this._updateHeight()}saveState(){let e=this._scrollable.getFutureScrollPosition(),t=e.scrollTop,n=this._linesLayout.getLineNumberAtOrAfterVerticalOffset(t);return{scrollTop:t,scrollTopWithoutViewZones:t-this._linesLayout.getWhitespaceAccumulatedHeightBeforeLineNumber(n),scrollLeft:e.scrollLeft}}changeWhitespace(e){let t=this._linesLayout.changeWhitespace(e);return t&&this.onHeightMaybeChanged(),t}getVerticalOffsetForLineNumber(e,t=!1){return this._linesLayout.getVerticalOffsetForLineNumber(e,t)}isAfterLines(e){return this._linesLayout.isAfterLines(e)}isInTopPadding(e){return this._linesLayout.isInTopPadding(e)}isInBottomPadding(e){return this._linesLayout.isInBottomPadding(e)}getLineNumberAtVerticalOffset(e){return this._linesLayout.getLineNumberAtOrAfterVerticalOffset(e)}getWhitespaceAtVerticalOffset(e){return this._linesLayout.getWhitespaceAtVerticalOffset(e)}getLinesViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getLinesViewportData(e.top,e.top+e.height)}getLinesViewportDataAtScrollTop(e){let t=this._scrollable.getScrollDimensions();return e+t.height>t.scrollHeight&&(e=t.scrollHeight-t.height),e<0&&(e=0),this._linesLayout.getLinesViewportData(e,e+t.height)}getWhitespaceViewportData(){let e=this.getCurrentViewport();return this._linesLayout.getWhitespaceViewportData(e.top,e.top+e.height)}getWhitespaces(){return this._linesLayout.getWhitespaces()}getContentWidth(){return this._scrollable.getScrollDimensions().contentWidth}getScrollWidth(){return this._scrollable.getScrollDimensions().scrollWidth}getContentHeight(){return this._scrollable.getScrollDimensions().contentHeight}getScrollHeight(){return this._scrollable.getScrollDimensions().scrollHeight}getCurrentScrollLeft(){return this._scrollable.getCurrentScrollPosition().scrollLeft}getCurrentScrollTop(){return this._scrollable.getCurrentScrollPosition().scrollTop}validateScrollPosition(e){return this._scrollable.validateScrollPosition(e)}setScrollPosition(e,t){t===1?this._scrollable.setScrollPositionNow(e):this._scrollable.setScrollPositionSmooth(e)}deltaScrollNow(e,t){let n=this._scrollable.getCurrentScrollPosition();this._scrollable.setScrollPositionNow({scrollLeft:n.scrollLeft+e,scrollTop:n.scrollTop+t})}},Hl=class{constructor(e,t,n,r,i){this.editorId=e,this.model=t,this.configuration=n,this._linesCollection=r,this._coordinatesConverter=i,this._decorationsCache=Object.create(null),this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}_clearCachedModelDecorationsResolver(){this._cachedModelDecorationsResolver=null,this._cachedModelDecorationsResolverViewRange=null}dispose(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}reset(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onModelDecorationsChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}onLineMappingChanged(){this._decorationsCache=Object.create(null),this._clearCachedModelDecorationsResolver()}_getOrCreateViewModelDecoration(e){let t=e.id,n=this._decorationsCache[t];if(!n){let r=e.range,a=e.options,o;if(a.isWholeLine){let e=this._coordinatesConverter.convertModelPositionToViewPosition(new i.kl(r.startLineNumber,1),0),t=this._coordinatesConverter.convertModelPositionToViewPosition(new i.kl(r.endLineNumber,this.model.getLineMaxColumn(r.endLineNumber)),1);o=new i.Ol(e.lineNumber,e.column,t.lineNumber,t.column)}else o=this._coordinatesConverter.convertModelRangeToViewRange(r,1);n=new Pr(o,a),this._decorationsCache[t]=n}return n}getDecorationsViewportData(e){let t=this._cachedModelDecorationsResolver!==null;return t&&=e.equalsRange(this._cachedModelDecorationsResolverViewRange),t||(this._cachedModelDecorationsResolver=this._getDecorationsViewportData(e),this._cachedModelDecorationsResolverViewRange=e),this._cachedModelDecorationsResolver}_getDecorationsViewportData(e){let t=this._linesCollection.getDecorationsInRange(e,this.editorId,ye(this.configuration.options)),n=e.startLineNumber,r=e.endLineNumber,a=[],o=0,s=[];for(let e=n;e<=r;e++)s[e-n]=[];for(let e=0,c=t.length;e<c;e++){let c=t[e],l=c.options;if(!Ul(this.model,c))continue;let u=this._getOrCreateViewModelDecoration(c),d=u.range;if(a[o++]=u,l.inlineClassName){let e=new Mr(d,l.inlineClassName,l.inlineClassNameAffectsLetterSpacing?3:0),t=Math.max(n,d.startLineNumber),i=Math.min(r,d.endLineNumber);for(let r=t;r<=i;r++)s[r-n].push(e)}if(l.beforeContentClassName&&n<=d.startLineNumber&&d.startLineNumber<=r){let e=new Mr(new i.Ol(d.startLineNumber,d.startColumn,d.startLineNumber,d.startColumn),l.beforeContentClassName,1);s[d.startLineNumber-n].push(e)}if(l.afterContentClassName&&n<=d.endLineNumber&&d.endLineNumber<=r){let e=new Mr(new i.Ol(d.endLineNumber,d.endColumn,d.endLineNumber,d.endColumn),l.afterContentClassName,2);s[d.endLineNumber-n].push(e)}}return{decorations:a,inlineDecorations:s}}};function Ul(e,t){return!(t.options.hideInCommentTokens&&Wl(e,t)||t.options.hideInStringTokens&&Gl(e,t))}function Wl(e,t){return Kl(e,t.range,e=>e===1)}function Gl(e,t){return Kl(e,t.range,e=>e===2)}function Kl(e,t,n){for(let r=t.startLineNumber;r<=t.endLineNumber;r++){let i=e.tokenization.getLineTokens(r),a=r===t.startLineNumber,o=r===t.endLineNumber,s=a?i.findTokenIndexAtOffset(t.startColumn-1):0;for(;s<i.getCount()&&!(o&&i.getStartOffset(s)>t.endColumn-1);){if(!n(i.getStandardTokenType(s)))return!1;s++}}return!0}function ql(e,t){return e===null?t?Yl.INSTANCE:Xl.INSTANCE:new Jl(e,t)}var Jl=class{constructor(e,t){this._projectionData=e,this._isVisible=t}isVisible(){return this._isVisible}setVisible(e){return this._isVisible=e,this}getProjectionData(){return this._projectionData}getViewLineCount(){return this._isVisible?this._projectionData.getOutputLineCount():0}getViewLineContent(e,t,n){this._assertVisible();let r=n>0?this._projectionData.breakOffsets[n-1]:0,a=this._projectionData.breakOffsets[n],o;if(this._projectionData.injectionOffsets!==null){let n=this._projectionData.injectionOffsets.map((e,t)=>new i.H(0,0,e+1,this._projectionData.injectionOptions[t],0));o=i.H.applyInjectedText(e.getLineContent(t),n).substring(r,a)}else o=e.getValueInRange({startLineNumber:t,startColumn:r+1,endLineNumber:t,endColumn:a+1});return n>0&&(o=Ql(this._projectionData.wrappedTextIndentLength)+o),o}getViewLineLength(e,t,n){return this._assertVisible(),this._projectionData.getLineLength(n)}getViewLineMinColumn(e,t,n){return this._assertVisible(),this._projectionData.getMinOutputOffset(n)+1}getViewLineMaxColumn(e,t,n){return this._assertVisible(),this._projectionData.getMaxOutputOffset(n)+1}getViewLineData(e,t,n){let r=[];return this.getViewLinesData(e,t,n,1,0,[!0],r),r[0]}getViewLinesData(e,t,n,r,a,o,s){this._assertVisible();let c=this._projectionData,l=c.injectionOffsets,u=c.injectionOptions,d=null;if(l){d=[];let e=0,t=0;for(let n=0;n<c.getOutputLineCount();n++){let r=[];d[n]=r;let i=n>0?c.breakOffsets[n-1]:0,a=c.breakOffsets[n];for(;t<l.length;){let o=u[t].content.length,s=l[t]+e,d=s+o;if(s>a)break;if(i<d){let e=u[t];if(e.inlineClassName){let t=n>0?c.wrappedTextIndentLength:0,o=t+Math.max(s-i,0),l=t+Math.min(d-i,a);o!==l&&r.push(new Nr(o,l,e.inlineClassName,e.inlineClassNameAffectsLetterSpacing))}}if(d<=a)e+=o,t++;else break}}}let f;f=l?e.tokenization.getLineTokens(t).withInserted(l.map((e,t)=>({offset:e,text:u[t].content,tokenMetadata:i.Yo.defaultTokenMetadata}))):e.tokenization.getLineTokens(t);for(let e=n;e<n+r;e++){let t=a+e-n;if(!o[t]){s[t]=null;continue}s[t]=this._getViewLineData(f,d?d[e]:null,e)}}_getViewLineData(e,t,n){this._assertVisible();let r=this._projectionData,i=n>0?r.wrappedTextIndentLength:0,a=n>0?r.breakOffsets[n-1]:0,o=r.breakOffsets[n],s=e.sliceAndInflate(a,o,i),c=s.getLineContent();n>0&&(c=Ql(r.wrappedTextIndentLength)+c);let l=this._projectionData.getMinOutputOffset(n)+1,u=c.length+1,d=n+1<this.getViewLineCount(),f=n===0?0:r.breakOffsetsVisibleColumn[n-1];return new Ar(c,d,l,u,f,s,t)}getModelColumnOfViewPosition(e,t){return this._assertVisible(),this._projectionData.translateToInputOffset(e,t-1)+1}getViewPositionOfModelPosition(e,t,n=2){return this._assertVisible(),this._projectionData.translateToOutputPosition(t-1,n).toPosition(e)}getViewLineNumberOfModelPosition(e,t){return this._assertVisible(),e+this._projectionData.translateToOutputPosition(t-1).outputLineIndex}normalizePosition(e,t,n){let r=t.lineNumber-e;return this._projectionData.normalizeOutputPosition(e,t.column-1,n).toPosition(r)}getInjectedTextAt(e,t){return this._projectionData.getInjectedText(e,t-1)}_assertVisible(){if(!this._isVisible)throw Error(`Not supported`)}},Yl=class{constructor(){}isVisible(){return!0}setVisible(e){return e?this:Xl.INSTANCE}getProjectionData(){return null}getViewLineCount(){return 1}getViewLineContent(e,t,n){return e.getLineContent(t)}getViewLineLength(e,t,n){return e.getLineLength(t)}getViewLineMinColumn(e,t,n){return e.getLineMinColumn(t)}getViewLineMaxColumn(e,t,n){return e.getLineMaxColumn(t)}getViewLineData(e,t,n){let r=e.tokenization.getLineTokens(t),i=r.getLineContent();return new Ar(i,!1,1,i.length+1,0,r.inflate(),null)}getViewLinesData(e,t,n,r,i,a,o){if(!a[i]){o[i]=null;return}o[i]=this.getViewLineData(e,t,0)}getModelColumnOfViewPosition(e,t){return t}getViewPositionOfModelPosition(e,t){return new i.kl(e,t)}getViewLineNumberOfModelPosition(e,t){return e}normalizePosition(e,t,n){return t}getInjectedTextAt(e,t){return null}};Yl.INSTANCE=new Yl;var Xl=class{constructor(){}isVisible(){return!1}setVisible(e){return e?Yl.INSTANCE:this}getProjectionData(){return null}getViewLineCount(){return 0}getViewLineContent(e,t,n){throw Error(`Not supported`)}getViewLineLength(e,t,n){throw Error(`Not supported`)}getViewLineMinColumn(e,t,n){throw Error(`Not supported`)}getViewLineMaxColumn(e,t,n){throw Error(`Not supported`)}getViewLineData(e,t,n){throw Error(`Not supported`)}getViewLinesData(e,t,n,r,i,a,o){throw Error(`Not supported`)}getModelColumnOfViewPosition(e,t){throw Error(`Not supported`)}getViewPositionOfModelPosition(e,t){throw Error(`Not supported`)}getViewLineNumberOfModelPosition(e,t){throw Error(`Not supported`)}normalizePosition(e,t,n){throw Error(`Not supported`)}getInjectedTextAt(e,t){throw Error(`Not supported`)}};Xl.INSTANCE=new Xl;var Zl=[``];function Ql(e){if(e>=Zl.length)for(let t=1;t<=e;t++)Zl[t]=$l(t);return Zl[e]}function $l(e){return Array(e+1).join(` `)}var eu=class{constructor(e,t,n,r,i,a,o,s,c){this._editorId=e,this.model=t,this._validModelVersionId=-1,this._domLineBreaksComputerFactory=n,this._monospaceLineBreaksComputerFactory=r,this.fontInfo=i,this.tabSize=a,this.wrappingStrategy=o,this.wrappingColumn=s,this.wrappingIndent=c,this._constructLines(!0,null)}dispose(){this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[])}createCoordinatesConverter(){return new iu(this)}_constructLines(e,t){this.modelLineProjections=[],e&&(this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,[]));let n=this.model.getLinesContent(),r=this.model.getInjectedTextDecorations(this._editorId),a=n.length,o=this.createLineBreaksComputer(),s=new i.Lu(i.H.fromDecorations(r));for(let e=0;e<a;e++){let r=s.takeWhile(t=>t.lineNumber===e+1);o.addRequest(n[e],r,t?t[e]:null)}let c=o.finalize(),l=[],u=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(i.Ol.compareRangesUsingStarts),d=1,f=0,p=-1,m=p+1<u.length?f+1:a+2;for(let e=0;e<a;e++){let t=e+1;t===m&&(p++,d=u[p].startLineNumber,f=u[p].endLineNumber,m=p+1<u.length?f+1:a+2);let n=t>=d&&t<=f,r=ql(c[e],!n);l[e]=r.getViewLineCount(),this.modelLineProjections[e]=r}this._validModelVersionId=this.model.getVersionId(),this.projectedModelLineLineCounts=new wn(l)}getHiddenAreas(){return this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e))}setHiddenAreas(e){let t=tu(e.map(e=>this.model.validateRange(e))),n=this.hiddenAreasDecorationIds.map(e=>this.model.getDecorationRange(e)).sort(i.Ol.compareRangesUsingStarts);if(t.length===n.length){let e=!1;for(let r=0;r<t.length;r++)if(!t[r].equalsRange(n[r])){e=!0;break}if(!e)return!1}let r=t.map(e=>({range:e,options:i.f.EMPTY}));this.hiddenAreasDecorationIds=this.model.deltaDecorations(this.hiddenAreasDecorationIds,r);let a=t,o=1,s=0,c=-1,l=c+1<a.length?s+1:this.modelLineProjections.length+2,u=!1;for(let e=0;e<this.modelLineProjections.length;e++){let t=e+1;t===l&&(c++,o=a[c].startLineNumber,s=a[c].endLineNumber,l=c+1<a.length?s+1:this.modelLineProjections.length+2);let n=!1;if(t>=o&&t<=s?this.modelLineProjections[e].isVisible()&&(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!1),n=!0):(u=!0,this.modelLineProjections[e].isVisible()||(this.modelLineProjections[e]=this.modelLineProjections[e].setVisible(!0),n=!0)),n){let t=this.modelLineProjections[e].getViewLineCount();this.projectedModelLineLineCounts.setValue(e,t)}}return u||this.setHiddenAreas([]),!0}modelPositionIsVisible(e,t){return e<1||e>this.modelLineProjections.length?!1:this.modelLineProjections[e-1].isVisible()}getModelLineViewLineCount(e){return e<1||e>this.modelLineProjections.length?1:this.modelLineProjections[e-1].getViewLineCount()}setTabSize(e){return this.tabSize===e?!1:(this.tabSize=e,this._constructLines(!1,null),!0)}setWrappingSettings(e,t,n,r){let i=this.fontInfo.equals(e),a=this.wrappingStrategy===t,o=this.wrappingColumn===n,s=this.wrappingIndent===r;if(i&&a&&o&&s)return!1;let c=i&&a&&!o&&s;this.fontInfo=e,this.wrappingStrategy=t,this.wrappingColumn=n,this.wrappingIndent=r;let l=null;if(c){l=[];for(let e=0,t=this.modelLineProjections.length;e<t;e++)l[e]=this.modelLineProjections[e].getProjectionData()}return this._constructLines(!1,l),!0}createLineBreaksComputer(){return(this.wrappingStrategy===`advanced`?this._domLineBreaksComputerFactory:this._monospaceLineBreaksComputerFactory).createLineBreaksComputer(this.fontInfo,this.tabSize,this.wrappingColumn,this.wrappingIndent)}onModelFlushed(){this._constructLines(!0,null)}onModelLinesDeleted(e,t,n){if(!e||e<=this._validModelVersionId)return null;let r=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,i=this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections.splice(t-1,n-t+1),this.projectedModelLineLineCounts.removeValues(t-1,n-t+1),new tl(r,i)}onModelLinesInserted(e,t,n,r){if(!e||e<=this._validModelVersionId)return null;let i=t>2&&!this.modelLineProjections[t-2].isVisible(),a=t===1?1:this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,o=0,s=[],c=[];for(let e=0,t=r.length;e<t;e++){let t=ql(r[e],!i);s.push(t);let n=t.getViewLineCount();o+=n,c[e]=n}return this.modelLineProjections=this.modelLineProjections.slice(0,t-1).concat(s).concat(this.modelLineProjections.slice(t-1)),this.projectedModelLineLineCounts.insertValues(t-1,c),new nl(a,a+o-1)}onModelLineChanged(e,t,n){if(e!==null&&e<=this._validModelVersionId)return[!1,null,null,null];let r=t-1,i=this.modelLineProjections[r].getViewLineCount(),a=ql(n,this.modelLineProjections[r].isVisible());this.modelLineProjections[r]=a;let o=this.modelLineProjections[r].getViewLineCount(),s=!1,c=0,l=-1,u=0,d=-1,f=0,p=-1;i>o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1,f=l+1,p=f+(i-o)-1,s=!0):i<o?(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+i-1,u=l+1,d=u+(o-i)-1,s=!0):(c=this.projectedModelLineLineCounts.getPrefixSum(t-1)+1,l=c+o-1),this.projectedModelLineLineCounts.setValue(r,o);let m=c<=l?new el(c,l-c+1):null,h=u<=d?new nl(u,d):null,g=f<=p?new tl(f,p):null;return[s,m,h,g]}acceptVersionId(e){this._validModelVersionId=e,this.modelLineProjections.length===1&&!this.modelLineProjections[0].isVisible()&&this.setHiddenAreas([])}getViewLineCount(){return this.projectedModelLineLineCounts.getTotalSum()}_toValidViewLineNumber(e){if(e<1)return 1;let t=this.getViewLineCount();return e>t?t:e|0}getActiveIndentGuide(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t),n=this._toValidViewLineNumber(n);let r=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),i=this.convertViewPositionToModelPosition(t,this.getViewLineMinColumn(t)),a=this.convertViewPositionToModelPosition(n,this.getViewLineMinColumn(n)),o=this.model.guides.getActiveIndentGuide(r.lineNumber,i.lineNumber,a.lineNumber),s=this.convertModelPositionToViewPosition(o.startLineNumber,1),c=this.convertModelPositionToViewPosition(o.endLineNumber,this.model.getLineMaxColumn(o.endLineNumber));return{startLineNumber:s.lineNumber,endLineNumber:c.lineNumber,indent:o.indent}}getViewLineInfo(e){e=this._toValidViewLineNumber(e);let t=this.projectedModelLineLineCounts.getIndexOf(e-1),n=t.index,r=t.remainder;return new nu(n+1,r)}getMinColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getMaxColumnOfViewLine(e){return this.modelLineProjections[e.modelLineNumber-1].getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx)}getModelStartPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMinColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new i.kl(e.modelLineNumber,r)}getModelEndPositionOfViewLine(e){let t=this.modelLineProjections[e.modelLineNumber-1],n=t.getViewLineMaxColumn(this.model,e.modelLineNumber,e.modelLineWrappedLineIdx),r=t.getModelColumnOfViewPosition(e.modelLineWrappedLineIdx,n);return new i.kl(e.modelLineNumber,r)}getViewLineInfosGroupedByModelRanges(e,t){let n=this.getViewLineInfo(e),r=this.getViewLineInfo(t),a=[],o=this.getModelStartPositionOfViewLine(n),s=[];for(let e=n.modelLineNumber;e<=r.modelLineNumber;e++){let t=this.modelLineProjections[e-1];if(t.isVisible()){let i=e===n.modelLineNumber?n.modelLineWrappedLineIdx:0,a=e===r.modelLineNumber?r.modelLineWrappedLineIdx+1:t.getViewLineCount();for(let t=i;t<a;t++)s.push(new nu(e,t))}if(!t.isVisible()&&o){let t=new i.kl(e-1,this.model.getLineMaxColumn(e-1)+1),n=i.Ol.fromPositions(o,t);a.push(new ru(n,s)),s=[],o=null}else t.isVisible()&&!o&&(o=new i.kl(e,1))}if(o){let e=i.Ol.fromPositions(o,this.getModelEndPositionOfViewLine(r));a.push(new ru(e,s))}return a}getViewLinesBracketGuides(e,t,n,r){let a=n?this.convertViewPositionToModelPosition(n.lineNumber,n.column):null,o=[];for(let n of this.getViewLineInfosGroupedByModelRanges(e,t)){let e=n.modelRange.startLineNumber,t=this.model.guides.getLinesBracketGuides(e,n.modelRange.endLineNumber,a,r);for(let r of n.viewLines){let n=t[r.modelLineNumber-e].map(e=>{if(e.forWrappedLinesAfterColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesAfterColumn).lineNumber>=r.modelLineWrappedLineIdx||e.forWrappedLinesBeforeOrAtColumn!==-1&&this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.forWrappedLinesBeforeOrAtColumn).lineNumber<r.modelLineWrappedLineIdx)return;if(!e.horizontalLine)return e;let t=-1;if(e.column!==-1){let n=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.column);if(n.lineNumber===r.modelLineWrappedLineIdx)t=n.column;else if(n.lineNumber<r.modelLineWrappedLineIdx)t=this.getMinColumnOfViewLine(r);else if(n.lineNumber>r.modelLineWrappedLineIdx)return}let n=this.convertModelPositionToViewPosition(r.modelLineNumber,e.horizontalLine.endColumn),a=this.modelLineProjections[r.modelLineNumber-1].getViewPositionOfModelPosition(0,e.horizontalLine.endColumn);return a.lineNumber===r.modelLineWrappedLineIdx?new i.K(e.visibleColumn,t,e.className,new i.q(e.horizontalLine.top,n.column),-1,-1):a.lineNumber<r.modelLineWrappedLineIdx?void 0:e.visibleColumn===-1?new i.K(e.visibleColumn,t,e.className,new i.q(e.horizontalLine.top,this.getMaxColumnOfViewLine(r)),-1,-1):void 0});o.push(n.filter(e=>!!e))}}return o}getViewLinesIndentGuides(e,t){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let n=this.convertViewPositionToModelPosition(e,this.getViewLineMinColumn(e)),r=this.convertViewPositionToModelPosition(t,this.getViewLineMaxColumn(t)),a=[],o=[],s=[],c=n.lineNumber-1,l=r.lineNumber-1,u=null;for(let e=c;e<=l;e++){let t=this.modelLineProjections[e];if(t.isVisible()){let r=t.getViewLineNumberOfModelPosition(0,e===c?n.column:1),a=t.getViewLineNumberOfModelPosition(0,this.model.getLineMaxColumn(e+1)),l=a-r+1,d=0;l>1&&t.getViewLineMinColumn(this.model,e+1,a)===1&&(d=r===0?1:2),o.push(l),s.push(d),u===null&&(u=new i.kl(e+1,0))}else u!==null&&(a=a.concat(this.model.guides.getLinesIndentGuides(u.lineNumber,e)),u=null)}u!==null&&(a=a.concat(this.model.guides.getLinesIndentGuides(u.lineNumber,r.lineNumber)),u=null);let d=t-e+1,f=Array(d),p=0;for(let e=0,t=a.length;e<t;e++){let t=a[e],n=Math.min(d-p,o[e]),r=s[e],i;i=r===2?0:r===1?1:n;for(let e=0;e<n;e++)e===i&&(t=0),f[p++]=t}return f}getViewLineContent(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineContent(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineLength(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineLength(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMinColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMinColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineMaxColumn(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineMaxColumn(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLineData(e){let t=this.getViewLineInfo(e);return this.modelLineProjections[t.modelLineNumber-1].getViewLineData(this.model,t.modelLineNumber,t.modelLineWrappedLineIdx)}getViewLinesData(e,t,n){e=this._toValidViewLineNumber(e),t=this._toValidViewLineNumber(t);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),i=e,a=r.index,o=r.remainder,s=[];for(let r=a,c=this.model.getLineCount();r<c;r++){let c=this.modelLineProjections[r];if(!c.isVisible())continue;let l=r===a?o:0,u=c.getViewLineCount()-l,d=!1;if(i+u>t&&(d=!0,u=t-i+1),c.getViewLinesData(this.model,r+1,l,u,i-e,n,s),i+=u,d)break}return s}validateViewPosition(e,t,n){e=this._toValidViewLineNumber(e);let r=this.projectedModelLineLineCounts.getIndexOf(e-1),a=r.index,o=r.remainder,s=this.modelLineProjections[a],c=s.getViewLineMinColumn(this.model,a+1,o),l=s.getViewLineMaxColumn(this.model,a+1,o);t<c&&(t=c),t>l&&(t=l);let u=s.getModelColumnOfViewPosition(o,t);return this.model.validatePosition(new i.kl(a+1,u)).equals(n)?new i.kl(e,t):this.convertModelPositionToViewPosition(n.lineNumber,n.column)}validateViewRange(e,t){let n=this.validateViewPosition(e.startLineNumber,e.startColumn,t.getStartPosition()),r=this.validateViewPosition(e.endLineNumber,e.endColumn,t.getEndPosition());return new i.Ol(n.lineNumber,n.column,r.lineNumber,r.column)}convertViewPositionToModelPosition(e,t){let n=this.getViewLineInfo(e),r=this.modelLineProjections[n.modelLineNumber-1].getModelColumnOfViewPosition(n.modelLineWrappedLineIdx,t);return this.model.validatePosition(new i.kl(n.modelLineNumber,r))}convertViewRangeToModelRange(e){let t=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),n=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);return new i.Ol(t.lineNumber,t.column,n.lineNumber,n.column)}convertModelPositionToViewPosition(e,t,n=2){let r=this.model.validatePosition(new i.kl(e,t)),a=r.lineNumber,o=r.column,s=a-1,c=!1;for(;s>0&&!this.modelLineProjections[s].isVisible();)s--,c=!0;if(s===0&&!this.modelLineProjections[s].isVisible())return new i.kl(1,1);let l=1+this.projectedModelLineLineCounts.getPrefixSum(s),u;return u=c?this.modelLineProjections[s].getViewPositionOfModelPosition(l,this.model.getLineMaxColumn(s+1),n):this.modelLineProjections[a-1].getViewPositionOfModelPosition(l,o,n),u}convertModelRangeToViewRange(e,t=0){if(e.isEmpty()){let n=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,t);return i.Ol.fromPositions(n)}else{let t=this.convertModelPositionToViewPosition(e.startLineNumber,e.startColumn,1),n=this.convertModelPositionToViewPosition(e.endLineNumber,e.endColumn,0);return new i.Ol(t.lineNumber,t.column,n.lineNumber,n.column)}}getViewLineNumberOfModelPosition(e,t){let n=e-1;if(this.modelLineProjections[n].isVisible()){let e=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(e,t)}for(;n>0&&!this.modelLineProjections[n].isVisible();)n--;if(n===0&&!this.modelLineProjections[n].isVisible())return 1;let r=1+this.projectedModelLineLineCounts.getPrefixSum(n);return this.modelLineProjections[n].getViewLineNumberOfModelPosition(r,this.model.getLineMaxColumn(n+1))}getDecorationsInRange(e,t,n){let r=this.convertViewPositionToModelPosition(e.startLineNumber,e.startColumn),a=this.convertViewPositionToModelPosition(e.endLineNumber,e.endColumn);if(a.lineNumber-r.lineNumber<=e.endLineNumber-e.startLineNumber)return this.model.getDecorationsInRange(new i.Ol(r.lineNumber,1,a.lineNumber,a.column),t,n);let o=[],s=r.lineNumber-1,c=a.lineNumber-1,l=null;for(let e=s;e<=c;e++)if(this.modelLineProjections[e].isVisible())l===null&&(l=new i.kl(e+1,e===s?r.column:1));else if(l!==null){let r=this.model.getLineMaxColumn(e);o=o.concat(this.model.getDecorationsInRange(new i.Ol(l.lineNumber,l.column,e,r),t,n)),l=null}l!==null&&(o=o.concat(this.model.getDecorationsInRange(new i.Ol(l.lineNumber,l.column,a.lineNumber,a.column),t,n)),l=null),o.sort((e,t)=>{let n=i.Ol.compareRangesUsingStarts(e.range,t.range);return n===0?e.id<t.id?-1:e.id>t.id?1:0:n});let u=[],d=0,f=null;for(let e of o){let t=e.id;f!==t&&(f=t,u[d++]=e)}return u}getInjectedTextAt(e){let t=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[t.modelLineNumber-1].getInjectedTextAt(t.modelLineWrappedLineIdx,e.column)}normalizePosition(e,t){let n=this.getViewLineInfo(e.lineNumber);return this.modelLineProjections[n.modelLineNumber-1].normalizePosition(n.modelLineWrappedLineIdx,e,t)}getLineIndentColumn(e){let t=this.getViewLineInfo(e);return t.modelLineWrappedLineIdx===0?this.model.getLineIndentColumn(t.modelLineNumber):0}};function tu(e){if(e.length===0)return[];let t=e.slice();t.sort(i.Ol.compareRangesUsingStarts);let n=[],r=t[0].startLineNumber,a=t[0].endLineNumber;for(let e=1,o=t.length;e<o;e++){let o=t[e];o.startLineNumber>a+1?(n.push(new i.Ol(r,1,a,1)),r=o.startLineNumber,a=o.endLineNumber):o.endLineNumber>a&&(a=o.endLineNumber)}return n.push(new i.Ol(r,1,a,1)),n}var nu=class{constructor(e,t){this.modelLineNumber=e,this.modelLineWrappedLineIdx=t}},ru=class{constructor(e,t){this.modelRange=e,this.viewLines=t}},iu=class{constructor(e){this._lines=e}convertViewPositionToModelPosition(e){return this._lines.convertViewPositionToModelPosition(e.lineNumber,e.column)}convertViewRangeToModelRange(e){return this._lines.convertViewRangeToModelRange(e)}validateViewPosition(e,t){return this._lines.validateViewPosition(e.lineNumber,e.column,t)}validateViewRange(e,t){return this._lines.validateViewRange(e,t)}convertModelPositionToViewPosition(e,t){return this._lines.convertModelPositionToViewPosition(e.lineNumber,e.column,t)}convertModelRangeToViewRange(e,t){return this._lines.convertModelRangeToViewRange(e,t)}modelPositionIsVisible(e){return this._lines.modelPositionIsVisible(e.lineNumber,e.column)}getModelLineViewLineCount(e){return this._lines.getModelLineViewLineCount(e)}getViewLineNumberOfModelPosition(e,t){return this._lines.getViewLineNumberOfModelPosition(e,t)}},au=class{constructor(e){this.model=e}dispose(){}createCoordinatesConverter(){return new ou(this)}getHiddenAreas(){return[]}setHiddenAreas(e){return!1}setTabSize(e){return!1}setWrappingSettings(e,t,n,r){return!1}createLineBreaksComputer(){let e=[];return{addRequest:(t,n,r)=>{e.push(null)},finalize:()=>e}}onModelFlushed(){}onModelLinesDeleted(e,t,n){return new tl(t,n)}onModelLinesInserted(e,t,n,r){return new nl(t,n)}onModelLineChanged(e,t,n){return[!1,new el(t,1),null,null]}acceptVersionId(e){}getViewLineCount(){return this.model.getLineCount()}getActiveIndentGuide(e,t,n){return{startLineNumber:e,endLineNumber:e,indent:0}}getViewLinesBracketGuides(e,t,n){return Array(t-e+1).fill([])}getViewLinesIndentGuides(e,t){let n=t-e+1,r=Array(n);for(let e=0;e<n;e++)r[e]=0;return r}getViewLineContent(e){return this.model.getLineContent(e)}getViewLineLength(e){return this.model.getLineLength(e)}getViewLineMinColumn(e){return this.model.getLineMinColumn(e)}getViewLineMaxColumn(e){return this.model.getLineMaxColumn(e)}getViewLineData(e){let t=this.model.tokenization.getLineTokens(e),n=t.getLineContent();return new Ar(n,!1,1,n.length+1,0,t.inflate(),null)}getViewLinesData(e,t,n){let r=this.model.getLineCount();e=Math.min(Math.max(1,e),r),t=Math.min(Math.max(1,t),r);let i=[];for(let r=e;r<=t;r++){let t=r-e;i[t]=n[t]?this.getViewLineData(r):null}return i}getDecorationsInRange(e,t,n){return this.model.getDecorationsInRange(e,t,n)}normalizePosition(e,t){return this.model.normalizePosition(e,t)}getLineIndentColumn(e){return this.model.getLineIndentColumn(e)}getInjectedTextAt(e){return null}},ou=class{constructor(e){this._lines=e}_validPosition(e){return this._lines.model.validatePosition(e)}_validRange(e){return this._lines.model.validateRange(e)}convertViewPositionToModelPosition(e){return this._validPosition(e)}convertViewRangeToModelRange(e){return this._validRange(e)}validateViewPosition(e,t){return this._validPosition(t)}validateViewRange(e,t){return this._validRange(t)}convertModelPositionToViewPosition(e){return this._validPosition(e)}convertModelRangeToViewRange(e){return this._validRange(e)}modelPositionIsVisible(e){let t=this._lines.model.getLineCount();return!(e.lineNumber<1||e.lineNumber>t)}getModelLineViewLineCount(e){return 1}getViewLineNumberOfModelPosition(e,t){return e}},su=class extends i.Xl{constructor(e,t,n,r,a,o,s,c){if(super(),this.languageConfigurationService=s,this._themeService=c,this._editorId=e,this._configuration=t,this.model=n,this._eventDispatcher=new ll,this.onEvent=this._eventDispatcher.onEvent,this.cursorConfig=new $a(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._tokenizeViewportSoon=this._register(new i.ys(()=>this.tokenizeViewport(),50)),this._updateConfigurationViewLineCount=this._register(new i.ys(()=>this._updateConfigurationViewLineCountNow(),0)),this._hasFocus=!1,this._viewportStart=cu.create(this.model),this.model.isTooLargeForTokenization())this._lines=new au(this.model);else{let e=this._configuration.options,t=e.get(45),n=e.get(126),i=e.get(133),o=e.get(125);this._lines=new eu(this._editorId,this.model,r,a,t,this.model.getOptions().tabSize,n,i.wrappingColumn,o)}this.coordinatesConverter=this._lines.createCoordinatesConverter(),this._cursor=this._register(new Cl(n,this,this.coordinatesConverter,this.cursorConfig)),this.viewLayout=this._register(new Vl(this._configuration,this.getLineCount(),o)),this._register(this.viewLayout.onDidScroll(e=>{e.scrollTopChanged&&this._tokenizeViewportSoon.schedule(),e.scrollTopChanged&&this._viewportStart.invalidate(),this._eventDispatcher.emitSingleViewEvent(new il(e)),this._eventDispatcher.emitOutgoingEvent(new pl(e.oldScrollWidth,e.oldScrollLeft,e.oldScrollHeight,e.oldScrollTop,e.scrollWidth,e.scrollLeft,e.scrollHeight,e.scrollTop))})),this._register(this.viewLayout.onDidContentSizeChange(e=>{this._eventDispatcher.emitOutgoingEvent(e)})),this._decorations=new Hl(this._editorId,this.model,this._configuration,this._lines,this.coordinatesConverter),this._registerModelEvents(),this._register(this._configuration.onDidChangeFast(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents();this._onConfigurationChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}})),this._register(Xs.getInstance().onDidChange(()=>{this._eventDispatcher.emitSingleViewEvent(new sl)})),this._register(this._themeService.onDidColorThemeChange(e=>{this._invalidateDecorationsColorCache(),this._eventDispatcher.emitSingleViewEvent(new al(e))})),this._updateConfigurationViewLineCountNow()}dispose(){super.dispose(),this._decorations.dispose(),this._lines.dispose(),this._viewportStart.dispose(),this._eventDispatcher.dispose()}createLineBreaksComputer(){return this._lines.createLineBreaksComputer()}addViewEventHandler(e){this._eventDispatcher.addViewEventHandler(e)}removeViewEventHandler(e){this._eventDispatcher.removeViewEventHandler(e)}_updateConfigurationViewLineCountNow(){this._configuration.setViewLineCount(this._lines.getViewLineCount())}tokenizeViewport(){let e=this.viewLayout.getLinesViewportData(),t=new i.Ol(e.startLineNumber,this.getLineMinColumn(e.startLineNumber),e.endLineNumber,this.getLineMaxColumn(e.endLineNumber)),n=this._toModelVisibleRanges(t);for(let e of n)this.model.tokenization.tokenizeViewport(e.startLineNumber,e.endLineNumber)}setHasFocus(e){this._hasFocus=e,this._cursor.setHasFocus(e),this._eventDispatcher.emitSingleViewEvent(new Zc(e)),this._eventDispatcher.emitOutgoingEvent(new fl(!e,e))}onCompositionStart(){this._eventDispatcher.emitSingleViewEvent(new Gc)}onCompositionEnd(){this._eventDispatcher.emitSingleViewEvent(new Kc)}_onConfigurationChanged(e,t){let n=null;if(this._viewportStart.isValid){let e=new i.kl(this._viewportStart.viewLineNumber,this.getLineMinColumn(this._viewportStart.viewLineNumber));n=this.coordinatesConverter.convertViewPositionToModelPosition(e)}let r=!1,a=this._configuration.options,o=a.get(45),s=a.get(126),c=a.get(133),l=a.get(125);if(this._lines.setWrappingSettings(o,s,c.wrappingColumn,l)&&(e.emitViewEvent(new Xc),e.emitViewEvent(new $c),e.emitViewEvent(new Yc(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.getCurrentScrollTop()!==0&&(r=!0),this._updateConfigurationViewLineCount.schedule()),t.hasChanged(82)&&(this._decorations.reset(),e.emitViewEvent(new Yc(null))),e.emitViewEvent(new qc(t)),this.viewLayout.onConfigurationChanged(t),r&&n){let e=this.coordinatesConverter.convertModelPositionToViewPosition(n),t=this.viewLayout.getVerticalOffsetForLineNumber(e.lineNumber);this.viewLayout.setScrollPosition({scrollTop:t+this._viewportStart.startLineDelta},1)}$a.shouldRecreate(t)&&(this.cursorConfig=new $a(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig))}_registerModelEvents(){this._register(this.model.onDidChangeContentOrInjectedText(e=>{try{let t=this._eventDispatcher.beginEmitViewEvents(),n=!1,r=!1,a=e instanceof i.V?e.rawContentChangedEvent.changes:e.changes,o=e instanceof i.V?e.rawContentChangedEvent.versionId:null,s=this._lines.createLineBreaksComputer();for(let e of a)switch(e.changeType){case 4:for(let t=0;t<e.detail.length;t++){let n=e.detail[t],r=e.injectedTexts[t];r&&=r.filter(e=>!e.ownerId||e.ownerId===this._editorId),s.addRequest(n,r,null)}break;case 2:{let t=null;e.injectedText&&(t=e.injectedText.filter(e=>!e.ownerId||e.ownerId===this._editorId)),s.addRequest(e.detail,t,null);break}}let c=new i.Lu(s.finalize());for(let e of a)switch(e.changeType){case 1:this._lines.onModelFlushed(),t.emitViewEvent(new Xc),this._decorations.reset(),this.viewLayout.onFlushed(this.getLineCount()),n=!0;break;case 3:{let r=this._lines.onModelLinesDeleted(o,e.fromLineNumber,e.toLineNumber);r!==null&&(t.emitViewEvent(r),this.viewLayout.onLinesDeleted(r.fromLineNumber,r.toLineNumber)),n=!0;break}case 4:{let r=c.takeCount(e.detail.length),i=this._lines.onModelLinesInserted(o,e.fromLineNumber,e.toLineNumber,r);i!==null&&(t.emitViewEvent(i),this.viewLayout.onLinesInserted(i.fromLineNumber,i.toLineNumber)),n=!0;break}case 2:{let n=c.dequeue(),[i,a,s,l]=this._lines.onModelLineChanged(o,e.lineNumber,n);r=i,a&&t.emitViewEvent(a),s&&(t.emitViewEvent(s),this.viewLayout.onLinesInserted(s.fromLineNumber,s.toLineNumber)),l&&(t.emitViewEvent(l),this.viewLayout.onLinesDeleted(l.fromLineNumber,l.toLineNumber));break}case 5:break}o!==null&&this._lines.acceptVersionId(o),this.viewLayout.onHeightMaybeChanged(),!n&&r&&(t.emitViewEvent(new $c),t.emitViewEvent(new Yc(null)),this._cursor.onLineMappingChanged(t),this._decorations.onLineMappingChanged())}finally{this._eventDispatcher.endEmitViewEvents()}let t=this._viewportStart.isValid;if(this._viewportStart.invalidate(),this._configuration.setModelLineCount(this.model.getLineCount()),this._updateConfigurationViewLineCountNow(),!this._hasFocus&&this.model.getAttachedEditorCount()>=2&&t){let e=this.model._getTrackedRange(this._viewportStart.modelTrackedRange);if(e){let t=this.coordinatesConverter.convertModelPositionToViewPosition(e.getStartPosition()),n=this.viewLayout.getVerticalOffsetForLineNumber(t.lineNumber);this.viewLayout.setScrollPosition({scrollTop:n+this._viewportStart.startLineDelta},1)}}try{let t=this._eventDispatcher.beginEmitViewEvents();e instanceof i.V&&t.emitOutgoingEvent(new bl(e.contentChangedEvent)),this._cursor.onModelContentChanged(t,e)}finally{this._eventDispatcher.endEmitViewEvents()}this._tokenizeViewportSoon.schedule()})),this._register(this.model.onDidChangeTokens(e=>{let t=[];for(let n=0,r=e.ranges.length;n<r;n++){let r=e.ranges[n];t[n]={fromLineNumber:this.coordinatesConverter.convertModelPositionToViewPosition(new i.kl(r.fromLineNumber,1)).lineNumber,toLineNumber:this.coordinatesConverter.convertModelPositionToViewPosition(new i.kl(r.toLineNumber,this.model.getLineMaxColumn(r.toLineNumber))).lineNumber}}this._eventDispatcher.emitSingleViewEvent(new ol(t)),e.tokenizationSupportChanged&&this._tokenizeViewportSoon.schedule(),this._eventDispatcher.emitOutgoingEvent(new Sl(e))})),this._register(this.model.onDidChangeLanguageConfiguration(e=>{this._eventDispatcher.emitSingleViewEvent(new Qc),this.cursorConfig=new $a(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new yl(e))})),this._register(this.model.onDidChangeLanguage(e=>{this.cursorConfig=new $a(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new vl(e))})),this._register(this.model.onDidChangeOptions(e=>{if(this._lines.setTabSize(this.model.getOptions().tabSize)){try{let e=this._eventDispatcher.beginEmitViewEvents();e.emitViewEvent(new Xc),e.emitViewEvent(new $c),e.emitViewEvent(new Yc(null)),this._cursor.onLineMappingChanged(e),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule()}this.cursorConfig=new $a(this.model.getLanguageId(),this.model.getOptions(),this._configuration,this.languageConfigurationService),this._cursor.updateConfiguration(this.cursorConfig),this._eventDispatcher.emitOutgoingEvent(new xl(e))})),this._register(this.model.onDidChangeDecorations(e=>{this._decorations.onModelDecorationsChanged(),this._eventDispatcher.emitSingleViewEvent(new Yc(e)),this._eventDispatcher.emitOutgoingEvent(new _l(e))}))}setHiddenAreas(e){let t=!1;try{let n=this._eventDispatcher.beginEmitViewEvents();t=this._lines.setHiddenAreas(e),t&&(n.emitViewEvent(new Xc),n.emitViewEvent(new $c),n.emitViewEvent(new Yc(null)),this._cursor.onLineMappingChanged(n),this._decorations.onLineMappingChanged(),this.viewLayout.onFlushed(this.getLineCount()),this.viewLayout.onHeightMaybeChanged())}finally{this._eventDispatcher.endEmitViewEvents()}this._updateConfigurationViewLineCount.schedule(),t&&this._eventDispatcher.emitOutgoingEvent(new ml)}getVisibleRangesPlusViewportAboveBelow(){let e=this._configuration.options.get(132),t=this._configuration.options.get(60),n=Math.max(20,Math.round(e.height/t)),r=this.viewLayout.getLinesViewportData(),a=Math.max(1,r.completelyVisibleStartLineNumber-n),o=Math.min(this.getLineCount(),r.completelyVisibleEndLineNumber+n);return this._toModelVisibleRanges(new i.Ol(a,this.getLineMinColumn(a),o,this.getLineMaxColumn(o)))}getVisibleRanges(){let e=this.getCompletelyVisibleViewRange();return this._toModelVisibleRanges(e)}_toModelVisibleRanges(e){let t=this.coordinatesConverter.convertViewRangeToModelRange(e),n=this._lines.getHiddenAreas();if(n.length===0)return[t];let r=[],a=0,o=t.startLineNumber,s=t.startColumn,c=t.endLineNumber,l=t.endColumn;for(let e=0,t=n.length;e<t;e++){let t=n[e].startLineNumber,l=n[e].endLineNumber;l<o||t>c||(o<t&&(r[a++]=new i.Ol(o,s,t-1,this.model.getLineMaxColumn(t-1))),o=l+1,s=1)}return(o<c||o===c&&s<l)&&(r[a++]=new i.Ol(o,s,c,l)),r}getCompletelyVisibleViewRange(){let e=this.viewLayout.getLinesViewportData(),t=e.completelyVisibleStartLineNumber,n=e.completelyVisibleEndLineNumber;return new i.Ol(t,this.getLineMinColumn(t),n,this.getLineMaxColumn(n))}getCompletelyVisibleViewRangeAtScrollTop(e){let t=this.viewLayout.getLinesViewportDataAtScrollTop(e),n=t.completelyVisibleStartLineNumber,r=t.completelyVisibleEndLineNumber;return new i.Ol(n,this.getLineMinColumn(n),r,this.getLineMaxColumn(r))}saveState(){let e=this.viewLayout.saveState(),t=e.scrollTop,n=this.viewLayout.getLineNumberAtVerticalOffset(t),r=this.coordinatesConverter.convertViewPositionToModelPosition(new i.kl(n,this.getLineMinColumn(n))),a=this.viewLayout.getVerticalOffsetForLineNumber(n)-t;return{scrollLeft:e.scrollLeft,firstPosition:r,firstPositionDeltaTop:a}}reduceRestoreState(e){if(e.firstPosition===void 0)return this._reduceRestoreStateCompatibility(e);let t=this.model.validatePosition(e.firstPosition),n=this.coordinatesConverter.convertModelPositionToViewPosition(t),r=this.viewLayout.getVerticalOffsetForLineNumber(n.lineNumber)-e.firstPositionDeltaTop;return{scrollLeft:e.scrollLeft,scrollTop:r}}_reduceRestoreStateCompatibility(e){return{scrollLeft:e.scrollLeft,scrollTop:e.scrollTopWithoutViewZones}}getTabSize(){return this.model.getOptions().tabSize}getLineCount(){return this._lines.getViewLineCount()}setViewport(e,t,n){this._viewportStart.update(this,e)}getActiveIndentGuide(e,t,n){return this._lines.getActiveIndentGuide(e,t,n)}getLinesIndentGuides(e,t){return this._lines.getViewLinesIndentGuides(e,t)}getBracketGuidesInRangeByLine(e,t,n,r){return this._lines.getViewLinesBracketGuides(e,t,n,r)}getLineContent(e){return this._lines.getViewLineContent(e)}getLineLength(e){return this._lines.getViewLineLength(e)}getLineMinColumn(e){return this._lines.getViewLineMinColumn(e)}getLineMaxColumn(e){return this._lines.getViewLineMaxColumn(e)}getLineFirstNonWhitespaceColumn(e){let t=i.Lc(this.getLineContent(e));return t===-1?0:t+1}getLineLastNonWhitespaceColumn(e){let t=i.Zc(this.getLineContent(e));return t===-1?0:t+2}getDecorationsInViewport(e){return this._decorations.getDecorationsViewportData(e).decorations}getInjectedTextAt(e){return this._lines.getInjectedTextAt(e)}getViewLineRenderingData(e,t){let n=this.model.mightContainRTL(),r=this.model.mightContainNonBasicASCII(),i=this.getTabSize(),a=this._lines.getViewLineData(t),o=this._decorations.getDecorationsViewportData(e).inlineDecorations[t-e.startLineNumber];return a.inlineDecorations&&(o=[...o,...a.inlineDecorations.map(e=>e.toInlineDecoration(t))]),new jr(a.minColumn,a.maxColumn,a.content,a.continuesWithWrappedLine,n,r,a.tokens,o,i,a.startVisibleColumn)}getViewLineData(e){return this._lines.getViewLineData(e)}getMinimapLinesRenderingData(e,t,n){let r=this._lines.getViewLinesData(e,t,n);return new kr(this.getTabSize(),r)}getAllOverviewRulerDecorations(e){let t=this.model.getOverviewRulerDecorations(this._editorId,ye(this._configuration.options)),n=new lu;for(let r of t){let t=r.options,i=t.overviewRuler;if(!i)continue;let a=i.position;if(a===0)continue;let o=i.getColor(e.value),s=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.startLineNumber,r.range.startColumn),c=this.coordinatesConverter.getViewLineNumberOfModelPosition(r.range.endLineNumber,r.range.endColumn);n.accept(o,t.zIndex,s,c,a)}return n.asArray}_invalidateDecorationsColorCache(){let e=this.model.getOverviewRulerDecorations();for(let t of e){let e=t.options.overviewRuler;e&&e.invalidateCachedColor();let n=t.options.minimap;n&&n.invalidateCachedColor()}}getValueInRange(e,t){let n=this.coordinatesConverter.convertViewRangeToModelRange(e);return this.model.getValueInRange(n,t)}deduceModelPositionRelativeToViewPosition(e,t,n){let r=this.coordinatesConverter.convertViewPositionToModelPosition(e);this.model.getEOL().length===2&&(t<0?t-=n:t+=n);let i=this.model.getOffsetAt(r)+t;return this.model.getPositionAt(i)}getPlainTextToCopy(e,t,n){let r=n?`\r
|
|
70
|
-
`:this.model.getEOL();e=e.slice(0),e.sort(i.Ol.compareRangesUsingStarts);let a=!1,o=!1;for(let t of e)t.isEmpty()?a=!0:o=!0;if(!o){if(!t)return``;let n=e.map(e=>e.startLineNumber),i=``;for(let e=0;e<n.length;e++)e>0&&n[e-1]===n[e]||(i+=this.model.getLineContent(n[e])+r);return i}if(a&&t){let t=[],r=0;for(let i of e){let e=i.startLineNumber;i.isEmpty()?e!==r&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(i,n?2:0)),r=e}return t.length===1?t[0]:t}let s=[];for(let t of e)t.isEmpty()||s.push(this.model.getValueInRange(t,n?2:0));return s.length===1?s[0]:s}getRichTextToCopy(e,t){let n=this.model.getLanguageId();if(n===`plaintext`||e.length!==1)return null;let r=e[0];if(r.isEmpty()){if(!t)return null;let e=r.startLineNumber;r=new i.Ol(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}let a=this._configuration.options.get(45),o=this._getColorMap(),s=/[:;\\\/<>]/.test(a.fontFamily)||a.fontFamily===Fe.fontFamily,c;return s?c=Fe.fontFamily:(c=a.fontFamily,c=c.replace(/"/g,`'`),/[,']/.test(c)||/[+ ]/.test(c)&&(c=`'${c}'`),c=`${c}, ${Fe.fontFamily}`),{mode:n,html:`<div style="color: ${o[1]};background-color: ${o[2]};font-family: ${c};font-weight: ${a.fontWeight};font-size: ${a.fontSize}px;line-height: ${a.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(r,o)+`</div>`}}_getHTMLToCopy(e,t){let n=e.startLineNumber,r=e.startColumn,a=e.endLineNumber,o=e.endColumn,s=this.getTabSize(),c=``;for(let e=n;e<=a;e++){let l=this.model.tokenization.getLineTokens(e),u=l.getLineContent(),d=e===n?r-1:0,f=e===a?o-1:u.length;u===``?c+=`<br>`:c+=Nl(u,l.inflate(),t,d,f,s,i.Cd)}return c}_getColorMap(){let e=i.xl.getColorMap(),t=[`#000000`];if(e)for(let n=1,r=e.length;n<r;n++)t[n]=i.Bi.Format.CSS.formatHex(e[n]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,n){return this._withViewEventsCollector(r=>this._cursor.setStates(r,e,t,n))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,n=0){this._withViewEventsCollector(r=>this._cursor.setSelections(r,e,t,n))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new gl);return}this._withViewEventsCollector(e)}executeEdits(e,t,n){this._executeCursorEdit(r=>this._cursor.executeEdits(r,e,t,n))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(n=>this._cursor.type(n,e,t))}compositionType(e,t,n,r,i){this._executeCursorEdit(a=>this._cursor.compositionType(a,e,t,n,r,i))}paste(e,t,n,r){this._executeCursorEdit(i=>this._cursor.paste(i,e,t,n,r))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(n=>this._cursor.executeCommand(n,e,t))}executeCommands(e,t){this._executeCursorEdit(n=>this._cursor.executeCommands(n,e,t))}revealPrimaryCursor(e,t,n=!1){this._withViewEventsCollector(r=>this._cursor.revealPrimary(r,e,n,0,t,0))}revealTopMostCursor(e){let t=this._cursor.getTopMostViewPosition(),n=new i.Ol(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new rl(e,!1,n,null,0,!0,0)))}revealBottomMostCursor(e){let t=this._cursor.getBottomMostViewPosition(),n=new i.Ol(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new rl(e,!1,n,null,0,!0,0)))}revealRange(e,t,n,r,i){this._withViewEventsCollector(a=>a.emitViewEvent(new rl(e,!1,n,null,r,t,i)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new cl),this._eventDispatcher.emitOutgoingEvent(new ml))}_withViewEventsCollector(e){try{return e(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}},cu=class e{constructor(e,t,n,r,i){this._model=e,this._viewLineNumber=t,this._isValid=n,this._modelTrackedRange=r,this._startLineDelta=i}static create(t){return new e(t,1,!1,t._setTrackedRange(null,new i.Ol(1,1,1,1),1),0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){let n=e.coordinatesConverter.convertViewPositionToModelPosition(new i.kl(t,e.getLineMinColumn(t))),r=e.model._setTrackedRange(this._modelTrackedRange,new i.Ol(n.lineNumber,n.column,n.lineNumber,n.column),1),a=e.viewLayout.getVerticalOffsetForLineNumber(t),o=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=r,this._startLineDelta=o-a}invalidate(){this._isValid=!1}},lu=class{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,n,r,i){let a=this._asMap[e];if(a){let e=a.data,t=e[e.length-3],o=e[e.length-1];if(t===i&&o+1>=n){r>o&&(e[e.length-1]=r);return}e.push(i,n,r)}else{let a=new Fr(e,t,[i,n,r]);this._asMap[e]=a,this.asArray.push(a)}}},uu=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}get(e){return this._entries.get(e)}},du;(function(e){e[e.Ignore=0]=`Ignore`,e[e.Info=1]=`Info`,e[e.Warning=2]=`Warning`,e[e.Error=3]=`Error`})(du||={}),(function(e){let t=`error`,n=`warning`,r=`info`;function a(a){return a?i.Pc(t,a)?e.Error:i.Pc(n,a)||i.Pc(`warn`,a)?e.Warning:i.Pc(r,a)?e.Info:e.Ignore:e.Ignore}e.fromValue=a;function o(i){switch(i){case e.Error:return t;case e.Warning:return n;case e.Info:return r;default:return`ignore`}}e.toString=o})(du||={});var H=du,fu=H,pu=i.mc(`notificationService`),mu=class{},hu=class{constructor(e,t,n,r,i){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=n,this.breakOffsetsVisibleColumn=r,this.wrappedTextIndentLength=i}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){let t=e>0?this.breakOffsets[e-1]:0,n=this.breakOffsets[e]-t;return e>0&&(n+=this.wrappedTextIndentLength),n}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let n=e===0?t:this.breakOffsets[e-1]+t;if(this.injectionOffsets!==null)for(let e=0;e<this.injectionOffsets.length&&n>this.injectionOffsets[e];e++)n<this.injectionOffsets[e]+this.injectionOptions[e].content.length?n=this.injectionOffsets[e]:n-=this.injectionOptions[e].content.length;return n}translateToOutputPosition(e,t=2){let n=e;if(this.injectionOffsets!==null)for(let r=0;r<this.injectionOffsets.length&&!(e<this.injectionOffsets[r]||t!==1&&e===this.injectionOffsets[r]);r++)n+=this.injectionOptions[r].content.length;return this.offsetInInputWithInjectionsToOutputPosition(n,t)}offsetInInputWithInjectionsToOutputPosition(e,t=2){let n=0,r=this.breakOffsets.length-1,i=0,a=0;for(;n<=r;){i=n+(r-n)/2|0;let o=this.breakOffsets[i];if(a=i>0?this.breakOffsets[i-1]:0,t===0)if(e<=a)r=i-1;else if(e>o)n=i+1;else break;else if(e<a)r=i-1;else if(e>=o)n=i+1;else break}let o=e-a;return i>0&&(o+=this.wrappedTextIndentLength),new vu(i,o)}normalizeOutputPosition(e,t,n){if(this.injectionOffsets!==null){let r=this.outputPositionToOffsetInInputWithInjections(e,t),i=this.normalizeOffsetInInputWithInjectionsAroundInjections(r,n);if(i!==r)return this.offsetInInputWithInjectionsToOutputPosition(i,n)}if(n===0){if(e>0&&t===this.getMinOutputOffset(e))return new vu(e-1,this.getMaxOutputOffset(e-1))}else if(n===1&&e<this.getOutputLineCount()-1&&t===this.getMaxOutputOffset(e))return new vu(e+1,this.getMinOutputOffset(e+1));return new vu(e,t)}outputPositionToOffsetInInputWithInjections(e,t){return e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){let n=this.getInjectedTextAtOffset(e);if(!n)return e;if(t===2){if(e===n.offsetInInputWithInjections+n.length&&gu(this.injectionOptions[n.injectedTextIndex].cursorStops))return n.offsetInInputWithInjections+n.length;{let e=n.offsetInInputWithInjections;if(_u(this.injectionOptions[n.injectedTextIndex].cursorStops))return e;let t=n.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[n.injectedTextIndex]&&!(gu(this.injectionOptions[t].cursorStops)||(e-=this.injectionOptions[t].content.length,_u(this.injectionOptions[t].cursorStops)));)t--;return e}}else if(t===1||t===4){let e=n.offsetInInputWithInjections+n.length,t=n.injectedTextIndex;for(;t+1<this.injectionOffsets.length&&this.injectionOffsets[t+1]===this.injectionOffsets[t];)e+=this.injectionOptions[t+1].content.length,t++;return e}else if(t===0||t===3){let e=n.offsetInInputWithInjections,t=n.injectedTextIndex;for(;t-1>=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}i.Su(t)}getInjectedText(e,t){let n=this.outputPositionToOffsetInInputWithInjections(e,t),r=this.getInjectedTextAtOffset(n);return r?{options:this.injectionOptions[r.injectedTextIndex]}:null}getInjectedTextAtOffset(e){let t=this.injectionOffsets,n=this.injectionOptions;if(t!==null){let r=0;for(let i=0;i<t.length;i++){let a=n[i].content.length,o=t[i]+r,s=t[i]+r+a;if(o>e)break;if(e<=s)return{injectedTextIndex:i,offsetInInputWithInjections:o,length:a};r+=a}}}};function gu(e){return e==null?!0:e===i.ac.Right||e===i.ac.Both}function _u(e){return e==null?!0:e===i.ac.Left||e===i.ac.Both}var vu=class{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new i.kl(e+this.outputLineIndex,this.outputOffset+1)}},yu=class e{constructor(e,t){this.classifier=new bu(e,t)}static create(t){return new e(t.get(121),t.get(120))}createLineBreaksComputer(e,t,n,r){let i=[],a=[],o=[];return{addRequest:(e,t,n)=>{i.push(e),a.push(t),o.push(n)},finalize:()=>{let s=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,c=[];for(let e=0,l=i.length;e<l;e++){let l=a[e],u=o[e];u&&!u.injectionOptions&&!l?c[e]=Cu(this.classifier,u,i[e],t,n,s,r):c[e]=wu(this.classifier,i[e],l,t,n,s,r)}return xu.length=0,Su.length=0,c}}}},bu=class extends i.as{constructor(e,t){super(0);for(let t=0;t<e.length;t++)this.set(e.charCodeAt(t),1);for(let e=0;e<t.length;e++)this.set(t.charCodeAt(e),2)}get(e){return e>=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}},xu=[],Su=[];function Cu(e,t,n,r,a,o,s){if(a===-1)return null;let c=n.length;if(c<=1)return null;let l=t.breakOffsets,u=t.breakOffsetsVisibleColumn,d=Ou(n,r,a,o,s),f=a-d,p=xu,m=Su,h=0,g=0,_=0,v=a,y=l.length,b=0;if(b>=0){let e=Math.abs(u[b]-v);for(;b+1<y;){let t=Math.abs(u[b+1]-v);if(t>=e)break;e=t,b++}}for(;b<y;){let t=b<0?0:l[b],a=b<0?0:u[b];g>t&&(t=g,a=_);let s=0,d=0,x=0,S=0;if(a<=v){let _=a,y=t===0?0:n.charCodeAt(t-1),b=t===0?0:e.get(y),C=!0;for(let a=t;a<c;a++){let t=a,c=n.charCodeAt(a),l,u;if(i.qc(c)?(a++,l=0,u=2):(l=e.get(c),u=Tu(c,_,r,o)),t>g&&Du(y,b,c,l)&&(s=t,d=_),_+=u,_>v){t>g?(x=t,S=_-u):(x=a+1,S=_),_-d>f&&(s=0),C=!1;break}y=c,b=l}if(C){h>0&&(p[h]=l[l.length-1],m[h]=u[l.length-1],h++);break}}if(s===0){let c=a,l=n.charCodeAt(t),u=e.get(l),p=!1;for(let r=t-1;r>=g;r--){let t=r+1,a=n.charCodeAt(r);if(a===9){p=!0;break}let m,h;if(i.Jc(a)?(r--,m=0,h=2):(m=e.get(a),h=i.Kc(a)?o:1),c<=v){if(x===0&&(x=t,S=c),c<=v-f)break;if(Du(a,m,l,u)){s=t,d=c;break}}c-=h,l=a,u=m}if(s!==0){let e=f-(S-d);if(e<=r){let t=n.charCodeAt(x),a;a=i.qc(t)?2:Tu(t,S,r,o),e-a<0&&(s=0)}}if(p){b--;continue}}if(s===0&&(s=x,d=S),s<=g){let e=n.charCodeAt(g);i.qc(e)?(s=g+2,d=_+2):(s=g+1,d=_+Tu(e,_,r,o))}for(g=s,p[h]=s,_=d,m[h]=d,h++,v=d+f;b<0||b<y&&u[b]<d;)b++;let C=Math.abs(u[b]-v);for(;b+1<y;){let e=Math.abs(u[b+1]-v);if(e>=C)break;C=e,b++}}return h===0?null:(p.length=h,m.length=h,xu=t.breakOffsets,Su=t.breakOffsetsVisibleColumn,t.breakOffsets=p,t.breakOffsetsVisibleColumn=m,t.wrappedTextIndentLength=d,t)}function wu(e,t,n,r,a,o,s){let c=i.H.applyInjectedText(t,n),l,u;if(n&&n.length>0?(l=n.map(e=>e.options),u=n.map(e=>e.column-1)):(l=null,u=null),a===-1)return l?new hu(u,l,[c.length],[],0):null;let d=c.length;if(d<=1)return l?new hu(u,l,[c.length],[],0):null;let f=Ou(c,r,a,o,s),p=a-f,m=[],h=[],g=0,_=0,v=0,y=a,b=c.charCodeAt(0),x=e.get(b),S=Tu(b,0,r,o),C=1;i.qc(b)&&(S+=1,b=c.charCodeAt(1),x=e.get(b),C++);for(let t=C;t<d;t++){let n=t,a=c.charCodeAt(t),s,l;i.qc(a)?(t++,s=0,l=2):(s=e.get(a),l=Tu(a,S,r,o)),Du(b,x,a,s)&&(_=n,v=S),S+=l,S>y&&((_===0||S-v>p)&&(_=n,v=S-l),m[g]=_,h[g]=v,g++,y=v+p,_=0),b=a,x=s}return g===0&&(!n||n.length===0)?null:(m[g]=d,h[g]=S,new hu(u,l,m,h,f))}function Tu(e,t,n,r){return e===9?n-t%n:i.Kc(e)||e<32?r:1}function Eu(e,t){return t-e%t}function Du(e,t,n,r){return n!==32&&(t===2&&r!==2||t!==1&&r===1||t===3&&r!==2||r===3&&t!==1)}function Ou(e,t,n,r,a){let o=0;if(a!==0){let s=i.Lc(e);if(s!==-1){for(let n=0;n<s;n++){let r=e.charCodeAt(n)===9?Eu(o,t):1;o+=r}let i=a===3?2:a===2?1:0;for(let e=0;e<i;e++){let e=Eu(o,t);o+=e}o+r>n&&(o=0)}}return o}var ku=window.trustedTypes?.createPolicy(`domLineBreaksComputer`,{createHTML:e=>e}),Au=class e{static create(){return new e}constructor(){}createLineBreaksComputer(e,t,n,r){let i=[],a=[];return{addRequest:(e,t,n)=>{i.push(e),a.push(t)},finalize:()=>ju(i,e,t,n,r,a)}}};function ju(e,t,n,r,a,o){function s(t){let n=o[t];if(n){let r=i.H.applyInjectedText(e[t],n),a=n.map(e=>e.options);return new hu(n.map(e=>e.column-1),a,[r.length],[],0)}else return null}if(r===-1){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=s(n);return t}let c=Math.round(r*t.typicalHalfwidthCharacterWidth),l=a===3?2:a===2?1:0,u=Math.round(n*l),d=Math.ceil(t.spaceWidth*u),f=document.createElement(`div`);Tt(f,t);let p=i.ec(1e4),m=[],h=[],g=[],_=[],v=[];for(let r=0;r<e.length;r++){let s=i.H.applyInjectedText(e[r],o[r]),l=0,u=0,f=c;if(a!==0)if(l=i.Lc(s),l===-1)l=0;else{for(let e=0;e<l;e++){let t=s.charCodeAt(e)===9?n-u%n:1;u+=t}let e=Math.ceil(t.spaceWidth*u);e+t.typicalFullwidthCharacterWidth>c?(l=0,u=0):f=c-e}let y=s.substr(l),b=Mu(y,u,n,f,p,d);m[r]=l,h[r]=u,g[r]=y,_[r]=b[0],v[r]=b[1]}let y=p.build();f.innerHTML=ku?.createHTML(y)??y,f.style.position=`absolute`,f.style.top=`10000`,f.style.wordWrap=`break-word`,document.body.appendChild(f);let b=document.createRange(),x=Array.prototype.slice.call(f.children,0),S=[];for(let t=0;t<e.length;t++){let e=x[t],n=Nu(b,e,g[t],_[t]);if(n===null){S[t]=s(t);continue}let r=m[t],i=h[t]+u,a=v[t],c=[];for(let e=0,t=n.length;e<t;e++)c[e]=a[n[e]];if(r!==0)for(let e=0,t=n.length;e<t;e++)n[e]+=r;let l,d,f=o[t];f?(l=f.map(e=>e.options),d=f.map(e=>e.column-1)):(l=null,d=null),S[t]=new hu(d,l,n,c,i)}return document.body.removeChild(f),S}function Mu(e,t,n,r,a,o){if(o!==0){let e=String(o);a.appendASCIIString(`<div style="text-indent: -`),a.appendASCIIString(e),a.appendASCIIString(`px; padding-left: `),a.appendASCIIString(e),a.appendASCIIString(`px; box-sizing: border-box; width:`)}else a.appendASCIIString(`<div style="width:`);a.appendASCIIString(String(r)),a.appendASCIIString(`px;">`);let s=e.length,c=t,l=0,u=[],d=[],f=0<s?e.charCodeAt(0):0;a.appendASCIIString(`<span>`);for(let t=0;t<s;t++){t!==0&&t%16384==0&&a.appendASCIIString(`</span><span>`),u[t]=l,d[t]=c;let r=f;f=t+1<s?e.charCodeAt(t+1):0;let o=1,p=1;switch(r){case 9:o=n-c%n,p=o;for(let e=1;e<=o;e++)e<o?a.write1(160):a.appendASCII(32);break;case 32:f===32?a.write1(160):a.appendASCII(32);break;case 60:a.appendASCIIString(`<`);break;case 62:a.appendASCIIString(`>`);break;case 38:a.appendASCIIString(`&`);break;case 0:a.appendASCIIString(`�`);break;case 65279:case 8232:case 8233:case 133:a.write1(65533);break;default:i.Kc(r)&&p++,r<32?a.write1(9216+r):a.write1(r)}l+=o,c+=p}return a.appendASCIIString(`</span>`),u[e.length]=l,d[e.length]=c,a.appendASCIIString(`</div>`),[u,d]}function Nu(e,t,n,r){if(n.length<=1)return null;let i=Array.prototype.slice.call(t.children,0),a=[];try{Pu(e,i,r,0,null,n.length-1,null,a)}catch{return null}return a.length===0?null:(a.push(n.length),a)}function Pu(e,t,n,r,i,a,o,s){if(r===a||(i||=Fu(e,t,n[r],n[r+1]),o||=Fu(e,t,n[a],n[a+1]),Math.abs(i[0].top-o[0].top)<=.1))return;if(r+1===a){s.push(a);return}let c=r+(a-r)/2|0,l=Fu(e,t,n[c],n[c+1]);Pu(e,t,n,r,i,c,l,s),Pu(e,t,n,c,l,a,o,s)}function Fu(e,t,n,r){return e.setStart(t[n/16384|0].firstChild,n%16384),e.setEnd(t[r/16384|0].firstChild,r%16384),e.getClientRects()}var Iu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Lu=function(e,t){return function(n,r){t(n,r,e)}},Ru=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},zu=0,Bu=class{constructor(e,t,n,r,i){this.model=e,this.viewModel=t,this.view=n,this.hasRealView=r,this.listenersToRemove=i}dispose(){i.nu(this.listenersToRemove),this.model.onBeforeDetached(),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}},Vu=class e extends i.Xl{constructor(e,t,n,r,a,o,s,c,l,u,d,f){super(),this.languageConfigurationService=d,this._deliveryQueue=new i.Kl,this._onDidDispose=this._register(new i.Ul),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this._onDidChangeConfiguration=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onDidChangeModel=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new Hu({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new Hu({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onWillType=this._onWillType.event,this._onDidType=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection();let p=Object.assign({},t);this._domElement=e,this._overflowWidgetsDomNode=p.overflowWidgetsDomNode,delete p.overflowWidgetsDomNode,this._id=++zu,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=n.telemetryData,this._configuration=this._register(this._createConfiguration(n.isSimpleWidget||!1,p,u)),this._register(this._configuration.onDidChange(e=>{this._onDidChangeConfiguration.fire(e);let t=this._configuration.options;if(e.hasChanged(132)){let e=t.get(132);this._onDidLayoutChange.fire(e)}})),this._contextKeyService=this._register(s.createScoped(this._domElement)),this._notificationService=l,this._codeEditorService=a,this._commandService=o,this._themeService=c,this._register(new Uu(this,this._contextKeyService)),this._register(new Wu(this,this._contextKeyService,f)),this._instantiationService=r.createChild(new uu([i.Ea,this._contextKeyService])),this._modelData=null,this._contributions={},this._actions={},this._focusTracker=new Gu(e),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={};let m;m=Array.isArray(n.contributions)?n.contributions:i.qi.getEditorContributions();for(let e of m){if(this._contributions[e.id]){i.fu(Error(`Cannot have two contributions with the same id ${e.id}`));continue}try{let t=this._instantiationService.createInstance(e.ctor,this);this._contributions[e.id]=t}catch(e){i.fu(e)}}i.qi.getEditorActions().forEach(e=>{if(this._actions[e.id]){i.fu(Error(`Cannot have two actions with the same id ${e.id}`));return}let t=new kl(e.id,e.label,e.alias,i.Iu(e.precondition),()=>this._instantiationService.invokeFunction(t=>Promise.resolve(e.runEditorCommand(t,this,null))),this._contextKeyService);this._actions[t.id]=t}),this._register(new i.Va(this._domElement,{onDragEnter:()=>void 0,onDragOver:e=>{if(!this._configuration.options.get(32))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:e=>Ru(this,void 0,void 0,function*(){if(!this._configuration.options.get(32)||(this.removeDropIndicator(),!e.dataTransfer))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this._onDropIntoEditor.fire({position:t.position,event:e})}),onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}get isSimpleWidget(){return this._configuration.isSimpleWidget}_createConfiguration(e,t,n){return new Ii(e,t,this._domElement,n)}getId(){return this.getEditorType()+`:`+this._id}getEditorType(){return zt.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose();let e=Object.keys(this._contributions);for(let t=0,n=e.length;t<n;t++){let n=e[t];this._contributions[n].dispose()}this._contributions={},this._actions={},this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?mo.getWordAtPosition(this._modelData.model,this._configuration.options.get(118),e):null}getValue(e=null){if(!this._modelData)return``;let t=!!(e&&e.preserveBOM),n=0;return e&&e.lineEnding&&e.lineEnding===`
|
|
70
|
+
`:this.model.getEOL();e=e.slice(0),e.sort(i.Ol.compareRangesUsingStarts);let a=!1,o=!1;for(let t of e)t.isEmpty()?a=!0:o=!0;if(!o){if(!t)return``;let n=e.map(e=>e.startLineNumber),i=``;for(let e=0;e<n.length;e++)e>0&&n[e-1]===n[e]||(i+=this.model.getLineContent(n[e])+r);return i}if(a&&t){let t=[],r=0;for(let i of e){let e=i.startLineNumber;i.isEmpty()?e!==r&&t.push(this.model.getLineContent(e)):t.push(this.model.getValueInRange(i,n?2:0)),r=e}return t.length===1?t[0]:t}let s=[];for(let t of e)t.isEmpty()||s.push(this.model.getValueInRange(t,n?2:0));return s.length===1?s[0]:s}getRichTextToCopy(e,t){let n=this.model.getLanguageId();if(n===`plaintext`||e.length!==1)return null;let r=e[0];if(r.isEmpty()){if(!t)return null;let e=r.startLineNumber;r=new i.Ol(e,this.model.getLineMinColumn(e),e,this.model.getLineMaxColumn(e))}let a=this._configuration.options.get(45),o=this._getColorMap(),s=/[:;\\\/<>]/.test(a.fontFamily)||a.fontFamily===Fe.fontFamily,c;return s?c=Fe.fontFamily:(c=a.fontFamily,c=c.replace(/"/g,`'`),/[,']/.test(c)||/[+ ]/.test(c)&&(c=`'${c}'`),c=`${c}, ${Fe.fontFamily}`),{mode:n,html:`<div style="color: ${o[1]};background-color: ${o[2]};font-family: ${c};font-weight: ${a.fontWeight};font-size: ${a.fontSize}px;line-height: ${a.lineHeight}px;white-space: pre;">`+this._getHTMLToCopy(r,o)+`</div>`}}_getHTMLToCopy(e,t){let n=e.startLineNumber,r=e.startColumn,a=e.endLineNumber,o=e.endColumn,s=this.getTabSize(),c=``;for(let e=n;e<=a;e++){let l=this.model.tokenization.getLineTokens(e),u=l.getLineContent(),d=e===n?r-1:0,f=e===a?o-1:u.length;u===``?c+=`<br>`:c+=Nl(u,l.inflate(),t,d,f,s,i.Cd)}return c}_getColorMap(){let e=i.xl.getColorMap(),t=[`#000000`];if(e)for(let n=1,r=e.length;n<r;n++)t[n]=i.Bi.Format.CSS.formatHex(e[n]);return t}getPrimaryCursorState(){return this._cursor.getPrimaryCursorState()}getLastAddedCursorIndex(){return this._cursor.getLastAddedCursorIndex()}getCursorStates(){return this._cursor.getCursorStates()}setCursorStates(e,t,n){return this._withViewEventsCollector(r=>this._cursor.setStates(r,e,t,n))}getCursorColumnSelectData(){return this._cursor.getCursorColumnSelectData()}getCursorAutoClosedCharacters(){return this._cursor.getAutoClosedCharacters()}setCursorColumnSelectData(e){this._cursor.setCursorColumnSelectData(e)}getPrevEditOperationType(){return this._cursor.getPrevEditOperationType()}setPrevEditOperationType(e){this._cursor.setPrevEditOperationType(e)}getSelection(){return this._cursor.getSelection()}getSelections(){return this._cursor.getSelections()}getPosition(){return this._cursor.getPrimaryCursorState().modelState.position}setSelections(e,t,n=0){this._withViewEventsCollector(r=>this._cursor.setSelections(r,e,t,n))}saveCursorState(){return this._cursor.saveState()}restoreCursorState(e){this._withViewEventsCollector(t=>this._cursor.restoreState(t,e))}_executeCursorEdit(e){if(this._cursor.context.cursorConfig.readOnly){this._eventDispatcher.emitOutgoingEvent(new gl);return}this._withViewEventsCollector(e)}executeEdits(e,t,n){this._executeCursorEdit(r=>this._cursor.executeEdits(r,e,t,n))}startComposition(){this._executeCursorEdit(e=>this._cursor.startComposition(e))}endComposition(e){this._executeCursorEdit(t=>this._cursor.endComposition(t,e))}type(e,t){this._executeCursorEdit(n=>this._cursor.type(n,e,t))}compositionType(e,t,n,r,i){this._executeCursorEdit(a=>this._cursor.compositionType(a,e,t,n,r,i))}paste(e,t,n,r){this._executeCursorEdit(i=>this._cursor.paste(i,e,t,n,r))}cut(e){this._executeCursorEdit(t=>this._cursor.cut(t,e))}executeCommand(e,t){this._executeCursorEdit(n=>this._cursor.executeCommand(n,e,t))}executeCommands(e,t){this._executeCursorEdit(n=>this._cursor.executeCommands(n,e,t))}revealPrimaryCursor(e,t,n=!1){this._withViewEventsCollector(r=>this._cursor.revealPrimary(r,e,n,0,t,0))}revealTopMostCursor(e){let t=this._cursor.getTopMostViewPosition(),n=new i.Ol(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new rl(e,!1,n,null,0,!0,0)))}revealBottomMostCursor(e){let t=this._cursor.getBottomMostViewPosition(),n=new i.Ol(t.lineNumber,t.column,t.lineNumber,t.column);this._withViewEventsCollector(t=>t.emitViewEvent(new rl(e,!1,n,null,0,!0,0)))}revealRange(e,t,n,r,i){this._withViewEventsCollector(a=>a.emitViewEvent(new rl(e,!1,n,null,r,t,i)))}changeWhitespace(e){this.viewLayout.changeWhitespace(e)&&(this._eventDispatcher.emitSingleViewEvent(new cl),this._eventDispatcher.emitOutgoingEvent(new ml))}_withViewEventsCollector(e){try{return e(this._eventDispatcher.beginEmitViewEvents())}finally{this._eventDispatcher.endEmitViewEvents()}}normalizePosition(e,t){return this._lines.normalizePosition(e,t)}getLineIndentColumn(e){return this._lines.getLineIndentColumn(e)}},cu=class e{constructor(e,t,n,r,i){this._model=e,this._viewLineNumber=t,this._isValid=n,this._modelTrackedRange=r,this._startLineDelta=i}static create(t){return new e(t,1,!1,t._setTrackedRange(null,new i.Ol(1,1,1,1),1),0)}get viewLineNumber(){return this._viewLineNumber}get isValid(){return this._isValid}get modelTrackedRange(){return this._modelTrackedRange}get startLineDelta(){return this._startLineDelta}dispose(){this._model._setTrackedRange(this._modelTrackedRange,null,1)}update(e,t){let n=e.coordinatesConverter.convertViewPositionToModelPosition(new i.kl(t,e.getLineMinColumn(t))),r=e.model._setTrackedRange(this._modelTrackedRange,new i.Ol(n.lineNumber,n.column,n.lineNumber,n.column),1),a=e.viewLayout.getVerticalOffsetForLineNumber(t),o=e.viewLayout.getCurrentScrollTop();this._viewLineNumber=t,this._isValid=!0,this._modelTrackedRange=r,this._startLineDelta=o-a}invalidate(){this._isValid=!1}},lu=class{constructor(){this._asMap=Object.create(null),this.asArray=[]}accept(e,t,n,r,i){let a=this._asMap[e];if(a){let e=a.data,t=e[e.length-3],o=e[e.length-1];if(t===i&&o+1>=n){r>o&&(e[e.length-1]=r);return}e.push(i,n,r)}else{let a=new Fr(e,t,[i,n,r]);this._asMap[e]=a,this.asArray.push(a)}}},uu=class{constructor(...e){this._entries=new Map;for(let[t,n]of e)this.set(t,n)}set(e,t){let n=this._entries.get(e);return this._entries.set(e,t),n}get(e){return this._entries.get(e)}},du;(function(e){e[e.Ignore=0]=`Ignore`,e[e.Info=1]=`Info`,e[e.Warning=2]=`Warning`,e[e.Error=3]=`Error`})(du||={}),(function(e){let t=`error`,n=`warning`,r=`info`;function a(a){return a?i.Pc(t,a)?e.Error:i.Pc(n,a)||i.Pc(`warn`,a)?e.Warning:i.Pc(r,a)?e.Info:e.Ignore:e.Ignore}e.fromValue=a;function o(i){switch(i){case e.Error:return t;case e.Warning:return n;case e.Info:return r;default:return`ignore`}}e.toString=o})(du||={});var H=du,fu=H,pu=i.mc(`notificationService`),mu=class{},hu=class{constructor(e,t,n,r,i){this.injectionOffsets=e,this.injectionOptions=t,this.breakOffsets=n,this.breakOffsetsVisibleColumn=r,this.wrappedTextIndentLength=i}getOutputLineCount(){return this.breakOffsets.length}getMinOutputOffset(e){return e>0?this.wrappedTextIndentLength:0}getLineLength(e){let t=e>0?this.breakOffsets[e-1]:0,n=this.breakOffsets[e]-t;return e>0&&(n+=this.wrappedTextIndentLength),n}getMaxOutputOffset(e){return this.getLineLength(e)}translateToInputOffset(e,t){e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength));let n=e===0?t:this.breakOffsets[e-1]+t;if(this.injectionOffsets!==null)for(let e=0;e<this.injectionOffsets.length&&n>this.injectionOffsets[e];e++)n<this.injectionOffsets[e]+this.injectionOptions[e].content.length?n=this.injectionOffsets[e]:n-=this.injectionOptions[e].content.length;return n}translateToOutputPosition(e,t=2){let n=e;if(this.injectionOffsets!==null)for(let r=0;r<this.injectionOffsets.length&&!(e<this.injectionOffsets[r]||t!==1&&e===this.injectionOffsets[r]);r++)n+=this.injectionOptions[r].content.length;return this.offsetInInputWithInjectionsToOutputPosition(n,t)}offsetInInputWithInjectionsToOutputPosition(e,t=2){let n=0,r=this.breakOffsets.length-1,i=0,a=0;for(;n<=r;){i=n+(r-n)/2|0;let o=this.breakOffsets[i];if(a=i>0?this.breakOffsets[i-1]:0,t===0)if(e<=a)r=i-1;else if(e>o)n=i+1;else break;else if(e<a)r=i-1;else if(e>=o)n=i+1;else break}let o=e-a;return i>0&&(o+=this.wrappedTextIndentLength),new vu(i,o)}normalizeOutputPosition(e,t,n){if(this.injectionOffsets!==null){let r=this.outputPositionToOffsetInInputWithInjections(e,t),i=this.normalizeOffsetInInputWithInjectionsAroundInjections(r,n);if(i!==r)return this.offsetInInputWithInjectionsToOutputPosition(i,n)}if(n===0){if(e>0&&t===this.getMinOutputOffset(e))return new vu(e-1,this.getMaxOutputOffset(e-1))}else if(n===1&&e<this.getOutputLineCount()-1&&t===this.getMaxOutputOffset(e))return new vu(e+1,this.getMinOutputOffset(e+1));return new vu(e,t)}outputPositionToOffsetInInputWithInjections(e,t){return e>0&&(t=Math.max(0,t-this.wrappedTextIndentLength)),(e>0?this.breakOffsets[e-1]:0)+t}normalizeOffsetInInputWithInjectionsAroundInjections(e,t){let n=this.getInjectedTextAtOffset(e);if(!n)return e;if(t===2){if(e===n.offsetInInputWithInjections+n.length&&gu(this.injectionOptions[n.injectedTextIndex].cursorStops))return n.offsetInInputWithInjections+n.length;{let e=n.offsetInInputWithInjections;if(_u(this.injectionOptions[n.injectedTextIndex].cursorStops))return e;let t=n.injectedTextIndex-1;for(;t>=0&&this.injectionOffsets[t]===this.injectionOffsets[n.injectedTextIndex]&&!(gu(this.injectionOptions[t].cursorStops)||(e-=this.injectionOptions[t].content.length,_u(this.injectionOptions[t].cursorStops)));)t--;return e}}else if(t===1||t===4){let e=n.offsetInInputWithInjections+n.length,t=n.injectedTextIndex;for(;t+1<this.injectionOffsets.length&&this.injectionOffsets[t+1]===this.injectionOffsets[t];)e+=this.injectionOptions[t+1].content.length,t++;return e}else if(t===0||t===3){let e=n.offsetInInputWithInjections,t=n.injectedTextIndex;for(;t-1>=0&&this.injectionOffsets[t-1]===this.injectionOffsets[t];)e-=this.injectionOptions[t-1].content.length,t--;return e}i.Su(t)}getInjectedText(e,t){let n=this.outputPositionToOffsetInInputWithInjections(e,t),r=this.getInjectedTextAtOffset(n);return r?{options:this.injectionOptions[r.injectedTextIndex]}:null}getInjectedTextAtOffset(e){let t=this.injectionOffsets,n=this.injectionOptions;if(t!==null){let r=0;for(let i=0;i<t.length;i++){let a=n[i].content.length,o=t[i]+r,s=t[i]+r+a;if(o>e)break;if(e<=s)return{injectedTextIndex:i,offsetInInputWithInjections:o,length:a};r+=a}}}};function gu(e){return e==null?!0:e===i.ac.Right||e===i.ac.Both}function _u(e){return e==null?!0:e===i.ac.Left||e===i.ac.Both}var vu=class{constructor(e,t){this.outputLineIndex=e,this.outputOffset=t}toString(){return`${this.outputLineIndex}:${this.outputOffset}`}toPosition(e){return new i.kl(e+this.outputLineIndex,this.outputOffset+1)}},yu=class e{constructor(e,t){this.classifier=new bu(e,t)}static create(t){return new e(t.get(121),t.get(120))}createLineBreaksComputer(e,t,n,r){let i=[],a=[],o=[];return{addRequest:(e,t,n)=>{i.push(e),a.push(t),o.push(n)},finalize:()=>{let s=e.typicalFullwidthCharacterWidth/e.typicalHalfwidthCharacterWidth,c=[];for(let e=0,l=i.length;e<l;e++){let l=a[e],u=o[e];u&&!u.injectionOptions&&!l?c[e]=Cu(this.classifier,u,i[e],t,n,s,r):c[e]=wu(this.classifier,i[e],l,t,n,s,r)}return xu.length=0,Su.length=0,c}}}},bu=class extends i.as{constructor(e,t){super(0);for(let t=0;t<e.length;t++)this.set(e.charCodeAt(t),1);for(let e=0;e<t.length;e++)this.set(t.charCodeAt(e),2)}get(e){return e>=0&&e<256?this._asciiMap[e]:e>=12352&&e<=12543||e>=13312&&e<=19903||e>=19968&&e<=40959?3:this._map.get(e)||this._defaultValue}},xu=[],Su=[];function Cu(e,t,n,r,a,o,s){if(a===-1)return null;let c=n.length;if(c<=1)return null;let l=t.breakOffsets,u=t.breakOffsetsVisibleColumn,d=Ou(n,r,a,o,s),f=a-d,p=xu,m=Su,h=0,g=0,_=0,v=a,y=l.length,b=0;if(b>=0){let e=Math.abs(u[b]-v);for(;b+1<y;){let t=Math.abs(u[b+1]-v);if(t>=e)break;e=t,b++}}for(;b<y;){let t=b<0?0:l[b],a=b<0?0:u[b];g>t&&(t=g,a=_);let s=0,d=0,x=0,S=0;if(a<=v){let _=a,y=t===0?0:n.charCodeAt(t-1),b=t===0?0:e.get(y),C=!0;for(let a=t;a<c;a++){let t=a,c=n.charCodeAt(a),l,u;if(i.qc(c)?(a++,l=0,u=2):(l=e.get(c),u=Tu(c,_,r,o)),t>g&&Du(y,b,c,l)&&(s=t,d=_),_+=u,_>v){t>g?(x=t,S=_-u):(x=a+1,S=_),_-d>f&&(s=0),C=!1;break}y=c,b=l}if(C){h>0&&(p[h]=l[l.length-1],m[h]=u[l.length-1],h++);break}}if(s===0){let c=a,l=n.charCodeAt(t),u=e.get(l),p=!1;for(let r=t-1;r>=g;r--){let t=r+1,a=n.charCodeAt(r);if(a===9){p=!0;break}let m,h;if(i.Jc(a)?(r--,m=0,h=2):(m=e.get(a),h=i.Kc(a)?o:1),c<=v){if(x===0&&(x=t,S=c),c<=v-f)break;if(Du(a,m,l,u)){s=t,d=c;break}}c-=h,l=a,u=m}if(s!==0){let e=f-(S-d);if(e<=r){let t=n.charCodeAt(x),a;a=i.qc(t)?2:Tu(t,S,r,o),e-a<0&&(s=0)}}if(p){b--;continue}}if(s===0&&(s=x,d=S),s<=g){let e=n.charCodeAt(g);i.qc(e)?(s=g+2,d=_+2):(s=g+1,d=_+Tu(e,_,r,o))}for(g=s,p[h]=s,_=d,m[h]=d,h++,v=d+f;b<0||b<y&&u[b]<d;)b++;let C=Math.abs(u[b]-v);for(;b+1<y;){let e=Math.abs(u[b+1]-v);if(e>=C)break;C=e,b++}}return h===0?null:(p.length=h,m.length=h,xu=t.breakOffsets,Su=t.breakOffsetsVisibleColumn,t.breakOffsets=p,t.breakOffsetsVisibleColumn=m,t.wrappedTextIndentLength=d,t)}function wu(e,t,n,r,a,o,s){let c=i.H.applyInjectedText(t,n),l,u;if(n&&n.length>0?(l=n.map(e=>e.options),u=n.map(e=>e.column-1)):(l=null,u=null),a===-1)return l?new hu(u,l,[c.length],[],0):null;let d=c.length;if(d<=1)return l?new hu(u,l,[c.length],[],0):null;let f=Ou(c,r,a,o,s),p=a-f,m=[],h=[],g=0,_=0,v=0,y=a,b=c.charCodeAt(0),x=e.get(b),S=Tu(b,0,r,o),C=1;i.qc(b)&&(S+=1,b=c.charCodeAt(1),x=e.get(b),C++);for(let t=C;t<d;t++){let n=t,a=c.charCodeAt(t),s,l;i.qc(a)?(t++,s=0,l=2):(s=e.get(a),l=Tu(a,S,r,o)),Du(b,x,a,s)&&(_=n,v=S),S+=l,S>y&&((_===0||S-v>p)&&(_=n,v=S-l),m[g]=_,h[g]=v,g++,y=v+p,_=0),b=a,x=s}return g===0&&(!n||n.length===0)?null:(m[g]=d,h[g]=S,new hu(u,l,m,h,f))}function Tu(e,t,n,r){return e===9?n-t%n:i.Kc(e)||e<32?r:1}function Eu(e,t){return t-e%t}function Du(e,t,n,r){return n!==32&&(t===2&&r!==2||t!==1&&r===1||t===3&&r!==2||r===3&&t!==1)}function Ou(e,t,n,r,a){let o=0;if(a!==0){let s=i.Lc(e);if(s!==-1){for(let n=0;n<s;n++){let r=e.charCodeAt(n)===9?Eu(o,t):1;o+=r}let i=a===3?2:a===2?1:0;for(let e=0;e<i;e++){let e=Eu(o,t);o+=e}o+r>n&&(o=0)}}return o}var ku=window.trustedTypes?.createPolicy(`domLineBreaksComputer`,{createHTML:e=>e}),Au=class e{static create(){return new e}constructor(){}createLineBreaksComputer(e,t,n,r){let i=[],a=[];return{addRequest:(e,t,n)=>{i.push(e),a.push(t)},finalize:()=>ju(i,e,t,n,r,a)}}};function ju(e,t,n,r,a,o){function s(t){let n=o[t];if(n){let r=i.H.applyInjectedText(e[t],n),a=n.map(e=>e.options);return new hu(n.map(e=>e.column-1),a,[r.length],[],0)}else return null}if(r===-1){let t=[];for(let n=0,r=e.length;n<r;n++)t[n]=s(n);return t}let c=Math.round(r*t.typicalHalfwidthCharacterWidth),l=Math.round(n*(a===3?2:a===2?1:0)),u=Math.ceil(t.spaceWidth*l),d=document.createElement(`div`);Tt(d,t);let f=i.ec(1e4),p=[],m=[],h=[],g=[],_=[];for(let r=0;r<e.length;r++){let s=i.H.applyInjectedText(e[r],o[r]),l=0,d=0,v=c;if(a!==0)if(l=i.Lc(s),l===-1)l=0;else{for(let e=0;e<l;e++){let t=s.charCodeAt(e)===9?n-d%n:1;d+=t}let e=Math.ceil(t.spaceWidth*d);e+t.typicalFullwidthCharacterWidth>c?(l=0,d=0):v=c-e}let y=s.substr(l),b=Mu(y,d,n,v,f,u);p[r]=l,m[r]=d,h[r]=y,g[r]=b[0],_[r]=b[1]}let v=f.build();d.innerHTML=ku?.createHTML(v)??v,d.style.position=`absolute`,d.style.top=`10000`,d.style.wordWrap=`break-word`,document.body.appendChild(d);let y=document.createRange(),b=Array.prototype.slice.call(d.children,0),x=[];for(let t=0;t<e.length;t++){let e=b[t],n=Nu(y,e,h[t],g[t]);if(n===null){x[t]=s(t);continue}let r=p[t],i=m[t]+l,a=_[t],c=[];for(let e=0,t=n.length;e<t;e++)c[e]=a[n[e]];if(r!==0)for(let e=0,t=n.length;e<t;e++)n[e]+=r;let u,d,f=o[t];f?(u=f.map(e=>e.options),d=f.map(e=>e.column-1)):(u=null,d=null),x[t]=new hu(d,u,n,c,i)}return document.body.removeChild(d),x}function Mu(e,t,n,r,a,o){if(o!==0){let e=String(o);a.appendASCIIString(`<div style="text-indent: -`),a.appendASCIIString(e),a.appendASCIIString(`px; padding-left: `),a.appendASCIIString(e),a.appendASCIIString(`px; box-sizing: border-box; width:`)}else a.appendASCIIString(`<div style="width:`);a.appendASCIIString(String(r)),a.appendASCIIString(`px;">`);let s=e.length,c=t,l=0,u=[],d=[],f=0<s?e.charCodeAt(0):0;a.appendASCIIString(`<span>`);for(let t=0;t<s;t++){t!==0&&t%16384==0&&a.appendASCIIString(`</span><span>`),u[t]=l,d[t]=c;let r=f;f=t+1<s?e.charCodeAt(t+1):0;let o=1,p=1;switch(r){case 9:o=n-c%n,p=o;for(let e=1;e<=o;e++)e<o?a.write1(160):a.appendASCII(32);break;case 32:f===32?a.write1(160):a.appendASCII(32);break;case 60:a.appendASCIIString(`<`);break;case 62:a.appendASCIIString(`>`);break;case 38:a.appendASCIIString(`&`);break;case 0:a.appendASCIIString(`�`);break;case 65279:case 8232:case 8233:case 133:a.write1(65533);break;default:i.Kc(r)&&p++,r<32?a.write1(9216+r):a.write1(r)}l+=o,c+=p}return a.appendASCIIString(`</span>`),u[e.length]=l,d[e.length]=c,a.appendASCIIString(`</div>`),[u,d]}function Nu(e,t,n,r){if(n.length<=1)return null;let i=Array.prototype.slice.call(t.children,0),a=[];try{Pu(e,i,r,0,null,n.length-1,null,a)}catch{return null}return a.length===0?null:(a.push(n.length),a)}function Pu(e,t,n,r,i,a,o,s){if(r===a||(i||=Fu(e,t,n[r],n[r+1]),o||=Fu(e,t,n[a],n[a+1]),Math.abs(i[0].top-o[0].top)<=.1))return;if(r+1===a){s.push(a);return}let c=r+(a-r)/2|0,l=Fu(e,t,n[c],n[c+1]);Pu(e,t,n,r,i,c,l,s),Pu(e,t,n,c,l,a,o,s)}function Fu(e,t,n,r){return e.setStart(t[n/16384|0].firstChild,n%16384),e.setEnd(t[r/16384|0].firstChild,r%16384),e.getClientRects()}var Iu=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},Lu=function(e,t){return function(n,r){t(n,r,e)}},Ru=function(e,t,n,r){function i(e){return e instanceof n?e:new n(function(t){t(e)})}return new(n||=Promise)(function(n,a){function o(e){try{c(r.next(e))}catch(e){a(e)}}function s(e){try{c(r.throw(e))}catch(e){a(e)}}function c(e){e.done?n(e.value):i(e.value).then(o,s)}c((r=r.apply(e,t||[])).next())})},zu=0,Bu=class{constructor(e,t,n,r,i){this.model=e,this.viewModel=t,this.view=n,this.hasRealView=r,this.listenersToRemove=i}dispose(){i.nu(this.listenersToRemove),this.model.onBeforeDetached(),this.hasRealView&&this.view.dispose(),this.viewModel.dispose()}},Vu=class e extends i.Xl{constructor(e,t,n,r,a,o,s,c,l,u,d,f){super(),this.languageConfigurationService=d,this._deliveryQueue=new i.Kl,this._onDidDispose=this._register(new i.Ul),this.onDidDispose=this._onDidDispose.event,this._onDidChangeModelContent=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelContent=this._onDidChangeModelContent.event,this._onDidChangeModelLanguage=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguage=this._onDidChangeModelLanguage.event,this._onDidChangeModelLanguageConfiguration=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelLanguageConfiguration=this._onDidChangeModelLanguageConfiguration.event,this._onDidChangeModelOptions=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelOptions=this._onDidChangeModelOptions.event,this._onDidChangeModelDecorations=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModelDecorations=this._onDidChangeModelDecorations.event,this._onDidChangeModelTokens=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this._onDidChangeConfiguration=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeConfiguration=this._onDidChangeConfiguration.event,this._onDidChangeModel=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeModel=this._onDidChangeModel.event,this._onDidChangeCursorPosition=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorPosition=this._onDidChangeCursorPosition.event,this._onDidChangeCursorSelection=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeCursorSelection=this._onDidChangeCursorSelection.event,this._onDidAttemptReadOnlyEdit=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidAttemptReadOnlyEdit=this._onDidAttemptReadOnlyEdit.event,this._onDidLayoutChange=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidLayoutChange=this._onDidLayoutChange.event,this._editorTextFocus=this._register(new Hu({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorText=this._editorTextFocus.onDidChangeToTrue,this.onDidBlurEditorText=this._editorTextFocus.onDidChangeToFalse,this._editorWidgetFocus=this._register(new Hu({deliveryQueue:this._deliveryQueue})),this.onDidFocusEditorWidget=this._editorWidgetFocus.onDidChangeToTrue,this.onDidBlurEditorWidget=this._editorWidgetFocus.onDidChangeToFalse,this._onWillType=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onWillType=this._onWillType.event,this._onDidType=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidType=this._onDidType.event,this._onDidCompositionStart=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidCompositionStart=this._onDidCompositionStart.event,this._onDidCompositionEnd=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidCompositionEnd=this._onDidCompositionEnd.event,this._onDidPaste=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidPaste=this._onDidPaste.event,this._onMouseUp=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseUp=this._onMouseUp.event,this._onMouseDown=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDown=this._onMouseDown.event,this._onMouseDrag=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDrag=this._onMouseDrag.event,this._onMouseDrop=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDrop=this._onMouseDrop.event,this._onMouseDropCanceled=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseDropCanceled=this._onMouseDropCanceled.event,this._onDropIntoEditor=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDropIntoEditor=this._onDropIntoEditor.event,this._onContextMenu=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onContextMenu=this._onContextMenu.event,this._onMouseMove=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseMove=this._onMouseMove.event,this._onMouseLeave=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseLeave=this._onMouseLeave.event,this._onMouseWheel=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onMouseWheel=this._onMouseWheel.event,this._onKeyUp=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onKeyUp=this._onKeyUp.event,this._onKeyDown=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onKeyDown=this._onKeyDown.event,this._onDidContentSizeChange=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidContentSizeChange=this._onDidContentSizeChange.event,this._onDidScrollChange=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidScrollChange=this._onDidScrollChange.event,this._onDidChangeViewZones=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeViewZones=this._onDidChangeViewZones.event,this._onDidChangeHiddenAreas=this._register(new i.Ul({deliveryQueue:this._deliveryQueue})),this.onDidChangeHiddenAreas=this._onDidChangeHiddenAreas.event,this._bannerDomNode=null,this._dropIntoEditorDecorations=this.createDecorationsCollection();let p=Object.assign({},t);this._domElement=e,this._overflowWidgetsDomNode=p.overflowWidgetsDomNode,delete p.overflowWidgetsDomNode,this._id=++zu,this._decorationTypeKeysToIds={},this._decorationTypeSubtypes={},this._telemetryData=n.telemetryData,this._configuration=this._register(this._createConfiguration(n.isSimpleWidget||!1,p,u)),this._register(this._configuration.onDidChange(e=>{this._onDidChangeConfiguration.fire(e);let t=this._configuration.options;if(e.hasChanged(132)){let e=t.get(132);this._onDidLayoutChange.fire(e)}})),this._contextKeyService=this._register(s.createScoped(this._domElement)),this._notificationService=l,this._codeEditorService=a,this._commandService=o,this._themeService=c,this._register(new Uu(this,this._contextKeyService)),this._register(new Wu(this,this._contextKeyService,f)),this._instantiationService=r.createChild(new uu([i.Ea,this._contextKeyService])),this._modelData=null,this._contributions={},this._actions={},this._focusTracker=new Gu(e),this._register(this._focusTracker.onChange(()=>{this._editorWidgetFocus.setValue(this._focusTracker.hasFocus())})),this._contentWidgets={},this._overlayWidgets={};let m;m=Array.isArray(n.contributions)?n.contributions:i.qi.getEditorContributions();for(let e of m){if(this._contributions[e.id]){i.fu(Error(`Cannot have two contributions with the same id ${e.id}`));continue}try{let t=this._instantiationService.createInstance(e.ctor,this);this._contributions[e.id]=t}catch(e){i.fu(e)}}i.qi.getEditorActions().forEach(e=>{if(this._actions[e.id]){i.fu(Error(`Cannot have two actions with the same id ${e.id}`));return}let t=new kl(e.id,e.label,e.alias,i.Iu(e.precondition),()=>this._instantiationService.invokeFunction(t=>Promise.resolve(e.runEditorCommand(t,this,null))),this._contextKeyService);this._actions[t.id]=t}),this._register(new i.Va(this._domElement,{onDragEnter:()=>void 0,onDragOver:e=>{if(!this._configuration.options.get(32))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this.showDropIndicatorAt(t.position)},onDrop:e=>Ru(this,void 0,void 0,function*(){if(!this._configuration.options.get(32)||(this.removeDropIndicator(),!e.dataTransfer))return;let t=this.getTargetAtClientPoint(e.clientX,e.clientY);t?.position&&this._onDropIntoEditor.fire({position:t.position,event:e})}),onDragLeave:()=>{this.removeDropIndicator()},onDragEnd:()=>{this.removeDropIndicator()}})),this._codeEditorService.addCodeEditor(this)}get isSimpleWidget(){return this._configuration.isSimpleWidget}_createConfiguration(e,t,n){return new Ii(e,t,this._domElement,n)}getId(){return this.getEditorType()+`:`+this._id}getEditorType(){return zt.ICodeEditor}dispose(){this._codeEditorService.removeCodeEditor(this),this._focusTracker.dispose();let e=Object.keys(this._contributions);for(let t=0,n=e.length;t<n;t++){let n=e[t];this._contributions[n].dispose()}this._contributions={},this._actions={},this._contentWidgets={},this._overlayWidgets={},this._removeDecorationTypes(),this._postDetachModelCleanup(this._detachModel()),this._onDidDispose.fire(),super.dispose()}invokeWithinContext(e){return this._instantiationService.invokeFunction(e)}updateOptions(e){this._configuration.updateOptions(e||{})}getOptions(){return this._configuration.options}getOption(e){return this._configuration.options.get(e)}getRawOptions(){return this._configuration.getRawOptions()}getOverflowWidgetsDomNode(){return this._overflowWidgetsDomNode}getConfiguredWordAtPosition(e){return this._modelData?mo.getWordAtPosition(this._modelData.model,this._configuration.options.get(118),e):null}getValue(e=null){if(!this._modelData)return``;let t=!!(e&&e.preserveBOM),n=0;return e&&e.lineEnding&&e.lineEnding===`
|
|
71
71
|
`?n=1:e&&e.lineEnding&&e.lineEnding===`\r
|
|
72
72
|
`&&(n=2),this._modelData.model.getValue(n,t)}setValue(e){this._modelData&&this._modelData.model.setValue(e)}getModel(){return this._modelData?this._modelData.model:null}setModel(e=null){let t=e;if(this._modelData===null&&t===null||this._modelData&&this._modelData.model===t)return;let n=this.hasTextFocus(),r=this._detachModel();this._attachModel(t),n&&this.hasModel()&&this.focus();let i={oldModelUrl:r?r.uri:null,newModelUrl:t?t.uri:null};this._removeDecorationTypes(),this._onDidChangeModel.fire(i),this._postDetachModelCleanup(r)}_removeDecorationTypes(){if(this._decorationTypeKeysToIds={},this._decorationTypeSubtypes){for(let e in this._decorationTypeSubtypes){let t=this._decorationTypeSubtypes[e];for(let n in t)this._removeDecorationType(e+`-`+n)}this._decorationTypeSubtypes={}}}getVisibleRanges(){return this._modelData?this._modelData.viewModel.getVisibleRanges():[]}getVisibleRangesPlusViewportAboveBelow(){return this._modelData?this._modelData.viewModel.getVisibleRangesPlusViewportAboveBelow():[]}getWhitespaces(){return this._modelData?this._modelData.viewModel.viewLayout.getWhitespaces():[]}getTopForLineNumber(t,n=!1){return this._modelData?e._getVerticalOffsetForPosition(this._modelData,t,1,n):-1}getTopForPosition(t,n){return this._modelData?e._getVerticalOffsetForPosition(this._modelData,t,n,!1):-1}static _getVerticalOffsetForPosition(e,t,n,r=!1){let i=e.model.validatePosition({lineNumber:t,column:n}),a=e.viewModel.coordinatesConverter.convertModelPositionToViewPosition(i);return e.viewModel.viewLayout.getVerticalOffsetForLineNumber(a.lineNumber,r)}setHiddenAreas(e){var t;(t=this._modelData)==null||t.viewModel.setHiddenAreas(e.map(e=>i.Ol.lift(e)))}getVisibleColumnFromPosition(e){if(!this._modelData)return e.column;let t=this._modelData.model.validatePosition(e),n=this._modelData.model.getOptions().tabSize;return i.It.visibleColumnFromColumn(this._modelData.model.getLineContent(t.lineNumber),t.column,n)+1}getPosition(){return this._modelData?this._modelData.viewModel.getPosition():null}setPosition(e,t=`api`){if(this._modelData){if(!i.kl.isIPosition(e))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,[{selectionStartLineNumber:e.lineNumber,selectionStartColumn:e.column,positionLineNumber:e.lineNumber,positionColumn:e.column}])}}_sendRevealRange(e,t,n,r){if(!this._modelData)return;if(!i.Ol.isIRange(e))throw Error(`Invalid arguments`);let a=this._modelData.model.validateRange(e),o=this._modelData.viewModel.coordinatesConverter.convertModelRangeToViewRange(a);this._modelData.viewModel.revealRange(`api`,n,o,t,r)}revealLine(e,t=0){this._revealLine(e,0,t)}revealLineInCenter(e,t=0){this._revealLine(e,1,t)}revealLineInCenterIfOutsideViewport(e,t=0){this._revealLine(e,2,t)}revealLineNearTop(e,t=0){this._revealLine(e,5,t)}_revealLine(e,t,n){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new i.Ol(e,1,e,1),t,!1,n)}revealPosition(e,t=0){this._revealPosition(e,0,!0,t)}revealPositionInCenter(e,t=0){this._revealPosition(e,1,!0,t)}revealPositionInCenterIfOutsideViewport(e,t=0){this._revealPosition(e,2,!0,t)}revealPositionNearTop(e,t=0){this._revealPosition(e,5,!0,t)}_revealPosition(e,t,n,r){if(!i.kl.isIPosition(e))throw Error(`Invalid arguments`);this._sendRevealRange(new i.Ol(e.lineNumber,e.column,e.lineNumber,e.column),t,n,r)}getSelection(){return this._modelData?this._modelData.viewModel.getSelection():null}getSelections(){return this._modelData?this._modelData.viewModel.getSelections():null}setSelection(e,t=`api`){let n=i.Dl.isISelection(e),r=i.Ol.isIRange(e);if(!n&&!r)throw Error(`Invalid arguments`);if(n)this._setSelectionImpl(e,t);else if(r){let n={selectionStartLineNumber:e.startLineNumber,selectionStartColumn:e.startColumn,positionLineNumber:e.endLineNumber,positionColumn:e.endColumn};this._setSelectionImpl(n,t)}}_setSelectionImpl(e,t){if(!this._modelData)return;let n=new i.Dl(e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn);this._modelData.viewModel.setSelections(t,[n])}revealLines(e,t,n=0){this._revealLines(e,t,0,n)}revealLinesInCenter(e,t,n=0){this._revealLines(e,t,1,n)}revealLinesInCenterIfOutsideViewport(e,t,n=0){this._revealLines(e,t,2,n)}revealLinesNearTop(e,t,n=0){this._revealLines(e,t,5,n)}_revealLines(e,t,n,r){if(typeof e!=`number`||typeof t!=`number`)throw Error(`Invalid arguments`);this._sendRevealRange(new i.Ol(e,1,t,1),n,!1,r)}revealRange(e,t=0,n=!1,r=!0){this._revealRange(e,n?1:0,r,t)}revealRangeInCenter(e,t=0){this._revealRange(e,1,!0,t)}revealRangeInCenterIfOutsideViewport(e,t=0){this._revealRange(e,2,!0,t)}revealRangeNearTop(e,t=0){this._revealRange(e,5,!0,t)}revealRangeNearTopIfOutsideViewport(e,t=0){this._revealRange(e,6,!0,t)}revealRangeAtTop(e,t=0){this._revealRange(e,3,!0,t)}_revealRange(e,t,n,r){if(!i.Ol.isIRange(e))throw Error(`Invalid arguments`);this._sendRevealRange(i.Ol.lift(e),t,n,r)}setSelections(e,t=`api`,n=0){if(this._modelData){if(!e||e.length===0)throw Error(`Invalid arguments`);for(let t=0,n=e.length;t<n;t++)if(!i.Dl.isISelection(e[t]))throw Error(`Invalid arguments`);this._modelData.viewModel.setSelections(t,e,n)}}getContentWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getContentWidth():-1}getScrollWidth(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollWidth():-1}getScrollLeft(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollLeft():-1}getContentHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getContentHeight():-1}getScrollHeight(){return this._modelData?this._modelData.viewModel.viewLayout.getScrollHeight():-1}getScrollTop(){return this._modelData?this._modelData.viewModel.viewLayout.getCurrentScrollTop():-1}setScrollLeft(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollLeft:e},t)}}setScrollTop(e,t=1){if(this._modelData){if(typeof e!=`number`)throw Error(`Invalid arguments`);this._modelData.viewModel.viewLayout.setScrollPosition({scrollTop:e},t)}}setScrollPosition(e,t=1){this._modelData&&this._modelData.viewModel.viewLayout.setScrollPosition(e,t)}saveViewState(){if(!this._modelData)return null;let e={},t=Object.keys(this._contributions);for(let n of t){let t=this._contributions[n];typeof t.saveViewState==`function`&&(e[n]=t.saveViewState())}return{cursorState:this._modelData.viewModel.saveCursorState(),viewState:this._modelData.viewModel.saveState(),contributionsState:e}}restoreViewState(e){if(!this._modelData||!this._modelData.hasRealView)return;let t=e;if(t&&t.cursorState&&t.viewState){let e=t.cursorState;Array.isArray(e)?e.length>0&&this._modelData.viewModel.restoreCursorState(e):this._modelData.viewModel.restoreCursorState([e]);let n=t.contributionsState||{},r=Object.keys(this._contributions);for(let e=0,t=r.length;e<t;e++){let t=r[e],i=this._contributions[t];typeof i.restoreViewState==`function`&&i.restoreViewState(n[t])}let i=this._modelData.viewModel.reduceRestoreState(t.viewState);this._modelData.view.restoreState(i)}}getContribution(e){return this._contributions[e]||null}getActions(){let e=[],t=Object.keys(this._actions);for(let n=0,r=t.length;n<r;n++){let r=t[n];e.push(this._actions[r])}return e}getSupportedActions(){let e=this.getActions();return e=e.filter(e=>e.isSupported()),e}getAction(e){return this._actions[e]||null}trigger(e,t,n){switch(n||={},t){case`compositionStart`:this._startComposition();return;case`compositionEnd`:this._endComposition(e);return;case`type`:{let t=n;this._type(e,t.text||``);return}case`replacePreviousChar`:{let t=n;this._compositionType(e,t.text||``,t.replaceCharCnt||0,0,0);return}case`compositionType`:{let t=n;this._compositionType(e,t.text||``,t.replacePrevCharCnt||0,t.replaceNextCharCnt||0,t.positionDelta||0);return}case`paste`:{let t=n;this._paste(e,t.text||``,t.pasteOnNewLine||!1,t.multicursorText||null,t.mode||null);return}case`cut`:this._cut(e);return}let r=this.getAction(t);if(r){Promise.resolve(r.run()).then(void 0,i.fu);return}this._modelData&&(this._triggerEditorCommand(e,t,n)||this._triggerCommand(t,n))}_triggerCommand(e,t){this._commandService.executeCommand(e,t)}_startComposition(){this._modelData&&(this._modelData.viewModel.startComposition(),this._onDidCompositionStart.fire())}_endComposition(e){this._modelData&&(this._modelData.viewModel.endComposition(e),this._onDidCompositionEnd.fire())}_type(e,t){!this._modelData||t.length===0||(e===`keyboard`&&this._onWillType.fire(t),this._modelData.viewModel.type(t,e),e===`keyboard`&&this._onDidType.fire(t))}_compositionType(e,t,n,r,i){this._modelData&&this._modelData.viewModel.compositionType(t,n,r,i,e)}_paste(e,t,n,r,a){if(!this._modelData||t.length===0)return;let o=this._modelData.viewModel.getSelection().getStartPosition();this._modelData.viewModel.paste(t,n,r,e);let s=this._modelData.viewModel.getSelection().getStartPosition();e===`keyboard`&&this._onDidPaste.fire({range:new i.Ol(o.lineNumber,o.column,s.lineNumber,s.column),languageId:a})}_cut(e){this._modelData&&this._modelData.viewModel.cut(e)}_triggerEditorCommand(e,t,n){let r=i.qi.getEditorCommand(t);return r?(n||={},n.source=e,this._instantiationService.invokeFunction(e=>{Promise.resolve(r.runEditorCommand(e,this,n)).then(void 0,i.fu)}),!0):!1}_getViewModel(){return this._modelData?this._modelData.viewModel:null}pushUndoStop(){return!this._modelData||this._configuration.options.get(82)?!1:(this._modelData.model.pushStackElement(),!0)}popUndoStop(){return!this._modelData||this._configuration.options.get(82)?!1:(this._modelData.model.popStackElement(),!0)}executeEdits(e,t,n){if(!this._modelData||this._configuration.options.get(82))return!1;let r;return r=n?Array.isArray(n)?()=>n:n:()=>null,this._modelData.viewModel.executeEdits(e,t,r),!0}executeCommand(e,t){this._modelData&&this._modelData.viewModel.executeCommand(t,e)}executeCommands(e,t){this._modelData&&this._modelData.viewModel.executeCommands(t,e)}createDecorationsCollection(e){return new Ku(this,e)}changeDecorations(e){return this._modelData?this._modelData.model.changeDecorations(e,this._id):null}getLineDecorations(e){return this._modelData?this._modelData.model.getLineDecorations(e,this._id,ye(this._configuration.options)):null}getDecorationsInRange(e){return this._modelData?this._modelData.model.getDecorationsInRange(e,this._id,ye(this._configuration.options)):null}deltaDecorations(e,t){return this._modelData?e.length===0&&t.length===0?e:this._modelData.model.deltaDecorations(e,t,this._id):[]}removeDecorations(e){!this._modelData||e.length===0||this._modelData.model.changeDecorations(t=>{t.deltaDecorations(e,[])})}removeDecorationsByType(e){let t=this._decorationTypeKeysToIds[e];t&&this.deltaDecorations(t,[]),this._decorationTypeKeysToIds.hasOwnProperty(e)&&delete this._decorationTypeKeysToIds[e],this._decorationTypeSubtypes.hasOwnProperty(e)&&delete this._decorationTypeSubtypes[e]}getLayoutInfo(){return this._configuration.options.get(132)}createOverviewRuler(e){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.createOverviewRuler(e)}getContainerDomNode(){return this._domElement}getDomNode(){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.domNode.domNode}delegateVerticalScrollbarPointerDown(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.delegateVerticalScrollbarPointerDown(e)}layout(e){this._configuration.observeContainer(e),this.render()}focus(){!this._modelData||!this._modelData.hasRealView||this._modelData.view.focus()}hasTextFocus(){return!this._modelData||!this._modelData.hasRealView?!1:this._modelData.view.isFocused()}hasWidgetFocus(){return this._focusTracker&&this._focusTracker.hasFocus()}addContentWidget(e){let t={widget:e,position:e.getPosition()};this._contentWidgets.hasOwnProperty(e.getId()),this._contentWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addContentWidget(t)}layoutContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let n=this._contentWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutContentWidget(n)}}removeContentWidget(e){let t=e.getId();if(this._contentWidgets.hasOwnProperty(t)){let e=this._contentWidgets[t];delete this._contentWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeContentWidget(e)}}addOverlayWidget(e){let t={widget:e,position:e.getPosition()};this._overlayWidgets.hasOwnProperty(e.getId()),this._overlayWidgets[e.getId()]=t,this._modelData&&this._modelData.hasRealView&&this._modelData.view.addOverlayWidget(t)}layoutOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let n=this._overlayWidgets[t];n.position=e.getPosition(),this._modelData&&this._modelData.hasRealView&&this._modelData.view.layoutOverlayWidget(n)}}removeOverlayWidget(e){let t=e.getId();if(this._overlayWidgets.hasOwnProperty(t)){let e=this._overlayWidgets[t];delete this._overlayWidgets[t],this._modelData&&this._modelData.hasRealView&&this._modelData.view.removeOverlayWidget(e)}}changeViewZones(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.change(e)}getTargetAtClientPoint(e,t){return!this._modelData||!this._modelData.hasRealView?null:this._modelData.view.getTargetAtClientPoint(e,t)}getScrolledVisiblePosition(t){if(!this._modelData||!this._modelData.hasRealView)return null;let n=this._modelData.model.validatePosition(t),r=this._configuration.options,i=r.get(132);return{top:e._getVerticalOffsetForPosition(this._modelData,n.lineNumber,n.column)-this.getScrollTop(),left:this._modelData.view.getOffsetForColumn(n.lineNumber,n.column)+i.glyphMarginWidth+i.lineNumbersWidth+i.decorationsWidth-this.getScrollLeft(),height:r.get(60)}}getOffsetForColumn(e,t){return!this._modelData||!this._modelData.hasRealView?-1:this._modelData.view.getOffsetForColumn(e,t)}render(e=!1){!this._modelData||!this._modelData.hasRealView||this._modelData.view.render(!0,e)}setAriaOptions(e){!this._modelData||!this._modelData.hasRealView||this._modelData.view.setAriaOptions(e)}applyFontInfo(e){Tt(e,this._configuration.options.get(45))}setBanner(e,t){this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),this._bannerDomNode=e,this._configuration.setReservedHeight(e?t:0),this._bannerDomNode&&this._domElement.prepend(this._bannerDomNode)}_attachModel(e){if(!e){this._modelData=null;return}let t=[];this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._configuration.setIsDominatedByLongLines(e.isDominatedByLongLines()),this._configuration.setModelLineCount(e.getLineCount()),e.onBeforeAttached();let n=new su(this._id,this._configuration,e,Au.create(),yu.create(this._configuration.options),e=>i.Ao(e),this.languageConfigurationService,this._themeService);t.push(e.onWillDispose(()=>this.setModel(null))),t.push(n.onEvent(t=>{switch(t.kind){case 0:this._onDidContentSizeChange.fire(t);break;case 1:this._editorTextFocus.setValue(t.hasFocus);break;case 2:this._onDidScrollChange.fire(t);break;case 3:this._onDidChangeViewZones.fire();break;case 4:this._onDidChangeHiddenAreas.fire();break;case 5:this._onDidAttemptReadOnlyEdit.fire();break;case 6:{t.reachedMaxCursorCount&&this._notificationService.warn(i.Td(`cursors.maximum`,`The number of cursors has been limited to {0}.`,Cl.MAX_CURSOR_COUNT));let e=[];for(let n=0,r=t.selections.length;n<r;n++)e[n]=t.selections[n].getPosition();let n={position:e[0],secondaryPositions:e.slice(1),reason:t.reason,source:t.source};this._onDidChangeCursorPosition.fire(n);let r={selection:t.selections[0],secondarySelections:t.selections.slice(1),modelVersionId:t.modelVersionId,oldSelections:t.oldSelections,oldModelVersionId:t.oldModelVersionId,source:t.source,reason:t.reason};this._onDidChangeCursorSelection.fire(r);break}case 7:this._onDidChangeModelDecorations.fire(t.event);break;case 8:this._domElement.setAttribute(`data-mode-id`,e.getLanguageId()),this._onDidChangeModelLanguage.fire(t.event);break;case 9:this._onDidChangeModelLanguageConfiguration.fire(t.event);break;case 10:this._onDidChangeModelContent.fire(t.event);break;case 11:this._onDidChangeModelOptions.fire(t.event);break;case 12:this._onDidChangeModelTokens.fire(t.event);break}}));let[r,a]=this._createView(n);if(a){this._domElement.appendChild(r.domNode.domNode);let t=Object.keys(this._contentWidgets);for(let e=0,n=t.length;e<n;e++){let n=t[e];r.addContentWidget(this._contentWidgets[n])}t=Object.keys(this._overlayWidgets);for(let e=0,n=t.length;e<n;e++){let n=t[e];r.addOverlayWidget(this._overlayWidgets[n])}r.render(!1,!0),r.domNode.domNode.setAttribute(`data-uri`,e.uri.toString())}this._modelData=new Bu(e,n,r,a,t)}_createView(e){let t;t=this.isSimpleWidget?{paste:(e,t,n,r)=>{this._paste(`keyboard`,e,t,n,r)},type:e=>{this._type(`keyboard`,e)},compositionType:(e,t,n,r)=>{this._compositionType(`keyboard`,e,t,n,r)},startComposition:()=>{this._startComposition()},endComposition:()=>{this._endComposition(`keyboard`)},cut:()=>{this._cut(`keyboard`)}}:{paste:(e,t,n,r)=>{let i={text:e,pasteOnNewLine:t,multicursorText:n,mode:r};this._commandService.executeCommand(`paste`,i)},type:e=>{let t={text:e};this._commandService.executeCommand(`type`,t)},compositionType:(e,t,n,r)=>{if(n||r){let i={text:e,replacePrevCharCnt:t,replaceNextCharCnt:n,positionDelta:r};this._commandService.executeCommand(`compositionType`,i)}else{let n={text:e,replaceCharCnt:t};this._commandService.executeCommand(`replacePreviousChar`,n)}},startComposition:()=>{this._commandService.executeCommand(`compositionStart`,{})},endComposition:()=>{this._commandService.executeCommand(`compositionEnd`,{})},cut:()=>{this._commandService.executeCommand(`cut`,{})}};let n=new Yo(e.coordinatesConverter);return n.onKeyDown=e=>this._onKeyDown.fire(e),n.onKeyUp=e=>this._onKeyUp.fire(e),n.onContextMenu=e=>this._onContextMenu.fire(e),n.onMouseMove=e=>this._onMouseMove.fire(e),n.onMouseLeave=e=>this._onMouseLeave.fire(e),n.onMouseDown=e=>this._onMouseDown.fire(e),n.onMouseUp=e=>this._onMouseUp.fire(e),n.onMouseDrag=e=>this._onMouseDrag.fire(e),n.onMouseDrop=e=>this._onMouseDrop.fire(e),n.onMouseDropCanceled=e=>this._onMouseDropCanceled.fire(e),n.onMouseWheel=e=>this._onMouseWheel.fire(e),[new Bc(t,this._configuration,this._themeService.getColorTheme(),e,n,this._overflowWidgetsDomNode),!0]}_postDetachModelCleanup(e){e?.removeAllDecorationsWithOwnerId(this._id)}_detachModel(){if(!this._modelData)return null;let e=this._modelData.model,t=this._modelData.hasRealView?this._modelData.view.domNode.domNode:null;return this._modelData.dispose(),this._modelData=null,this._domElement.removeAttribute(`data-mode-id`),t&&this._domElement.contains(t)&&this._domElement.removeChild(t),this._bannerDomNode&&this._domElement.contains(this._bannerDomNode)&&this._domElement.removeChild(this._bannerDomNode),e}_removeDecorationType(e){this._codeEditorService.removeDecorationType(e)}hasModel(){return this._modelData!==null}showDropIndicatorAt(t){let n=[{range:new i.Ol(t.lineNumber,t.column,t.lineNumber,t.column),options:e.dropIntoEditorDecorationOptions}];this._dropIntoEditorDecorations.set(n),this.revealPosition(t,1)}removeDropIndicator(){this._dropIntoEditorDecorations.clear()}};Vu.dropIntoEditorDecorationOptions=i.f.register({description:`workbench-dnd-target`,className:`dnd-target`}),Vu=Iu([Lu(3,i.fc),Lu(4,i.dc),Lu(5,i.Ma),Lu(6,i.Ea),Lu(7,i.ga),Lu(8,pu),Lu(9,Mi),Lu(10,i.Ps),Lu(11,i.Zo)],Vu);var Hu=class extends i.Xl{constructor(e){super(),this._emitterOptions=e,this._onDidChangeToTrue=this._register(new i.Ul(this._emitterOptions)),this.onDidChangeToTrue=this._onDidChangeToTrue.event,this._onDidChangeToFalse=this._register(new i.Ul(this._emitterOptions)),this.onDidChangeToFalse=this._onDidChangeToFalse.event,this._value=0}setValue(e){let t=e?2:1;this._value!==t&&(this._value=t,this._value===2?this._onDidChangeToTrue.fire():this._value===1&&this._onDidChangeToFalse.fire())}},Uu=class extends i.Xl{constructor(e,t){super(),this._editor=e,t.createKey(`editorId`,e.getId()),this._editorSimpleInput=R.editorSimpleInput.bindTo(t),this._editorFocus=R.focus.bindTo(t),this._textInputFocus=R.textInputFocus.bindTo(t),this._editorTextFocus=R.editorTextFocus.bindTo(t),this._editorTabMovesFocus=R.tabMovesFocus.bindTo(t),this._editorReadonly=R.readOnly.bindTo(t),this._inDiffEditor=R.inDiffEditor.bindTo(t),this._editorColumnSelection=R.columnSelection.bindTo(t),this._hasMultipleSelections=R.hasMultipleSelections.bindTo(t),this._hasNonEmptySelection=R.hasNonEmptySelection.bindTo(t),this._canUndo=R.canUndo.bindTo(t),this._canRedo=R.canRedo.bindTo(t),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromConfig())),this._register(this._editor.onDidChangeCursorSelection(()=>this._updateFromSelection())),this._register(this._editor.onDidFocusEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorWidget(()=>this._updateFromFocus())),this._register(this._editor.onDidFocusEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidBlurEditorText(()=>this._updateFromFocus())),this._register(this._editor.onDidChangeModel(()=>this._updateFromModel())),this._register(this._editor.onDidChangeConfiguration(()=>this._updateFromModel())),this._updateFromConfig(),this._updateFromSelection(),this._updateFromFocus(),this._updateFromModel(),this._editorSimpleInput.set(this._editor.isSimpleWidget)}_updateFromConfig(){let e=this._editor.getOptions();this._editorTabMovesFocus.set(e.get(131)),this._editorReadonly.set(e.get(82)),this._inDiffEditor.set(e.get(55)),this._editorColumnSelection.set(e.get(18))}_updateFromSelection(){let e=this._editor.getSelections();e?(this._hasMultipleSelections.set(e.length>1),this._hasNonEmptySelection.set(e.some(e=>!e.isEmpty()))):(this._hasMultipleSelections.reset(),this._hasNonEmptySelection.reset())}_updateFromFocus(){this._editorFocus.set(this._editor.hasWidgetFocus()&&!this._editor.isSimpleWidget),this._editorTextFocus.set(this._editor.hasTextFocus()&&!this._editor.isSimpleWidget),this._textInputFocus.set(this._editor.hasTextFocus())}_updateFromModel(){let e=this._editor.getModel();this._canUndo.set(!!(e&&e.canUndo())),this._canRedo.set(!!(e&&e.canRedo()))}},Wu=class extends i.Xl{constructor(e,t,n){super(),this._editor=e,this._contextKeyService=t,this._languageFeaturesService=n,this._langId=R.languageId.bindTo(t),this._hasCompletionItemProvider=R.hasCompletionItemProvider.bindTo(t),this._hasCodeActionsProvider=R.hasCodeActionsProvider.bindTo(t),this._hasCodeLensProvider=R.hasCodeLensProvider.bindTo(t),this._hasDefinitionProvider=R.hasDefinitionProvider.bindTo(t),this._hasDeclarationProvider=R.hasDeclarationProvider.bindTo(t),this._hasImplementationProvider=R.hasImplementationProvider.bindTo(t),this._hasTypeDefinitionProvider=R.hasTypeDefinitionProvider.bindTo(t),this._hasHoverProvider=R.hasHoverProvider.bindTo(t),this._hasDocumentHighlightProvider=R.hasDocumentHighlightProvider.bindTo(t),this._hasDocumentSymbolProvider=R.hasDocumentSymbolProvider.bindTo(t),this._hasReferenceProvider=R.hasReferenceProvider.bindTo(t),this._hasRenameProvider=R.hasRenameProvider.bindTo(t),this._hasSignatureHelpProvider=R.hasSignatureHelpProvider.bindTo(t),this._hasInlayHintsProvider=R.hasInlayHintsProvider.bindTo(t),this._hasDocumentFormattingProvider=R.hasDocumentFormattingProvider.bindTo(t),this._hasDocumentSelectionFormattingProvider=R.hasDocumentSelectionFormattingProvider.bindTo(t),this._hasMultipleDocumentFormattingProvider=R.hasMultipleDocumentFormattingProvider.bindTo(t),this._hasMultipleDocumentSelectionFormattingProvider=R.hasMultipleDocumentSelectionFormattingProvider.bindTo(t),this._isInWalkThrough=R.isInWalkThroughSnippet.bindTo(t);let r=()=>this._update();this._register(e.onDidChangeModel(r)),this._register(e.onDidChangeModelLanguage(r)),this._register(n.completionProvider.onDidChange(r)),this._register(n.codeActionProvider.onDidChange(r)),this._register(n.codeLensProvider.onDidChange(r)),this._register(n.definitionProvider.onDidChange(r)),this._register(n.declarationProvider.onDidChange(r)),this._register(n.implementationProvider.onDidChange(r)),this._register(n.typeDefinitionProvider.onDidChange(r)),this._register(n.hoverProvider.onDidChange(r)),this._register(n.documentHighlightProvider.onDidChange(r)),this._register(n.documentSymbolProvider.onDidChange(r)),this._register(n.referenceProvider.onDidChange(r)),this._register(n.renameProvider.onDidChange(r)),this._register(n.documentFormattingEditProvider.onDidChange(r)),this._register(n.documentRangeFormattingEditProvider.onDidChange(r)),this._register(n.signatureHelpProvider.onDidChange(r)),this._register(n.inlayHintsProvider.onDidChange(r)),r()}dispose(){super.dispose()}reset(){this._contextKeyService.bufferChangeEvents(()=>{this._langId.reset(),this._hasCompletionItemProvider.reset(),this._hasCodeActionsProvider.reset(),this._hasCodeLensProvider.reset(),this._hasDefinitionProvider.reset(),this._hasDeclarationProvider.reset(),this._hasImplementationProvider.reset(),this._hasTypeDefinitionProvider.reset(),this._hasHoverProvider.reset(),this._hasDocumentHighlightProvider.reset(),this._hasDocumentSymbolProvider.reset(),this._hasReferenceProvider.reset(),this._hasRenameProvider.reset(),this._hasDocumentFormattingProvider.reset(),this._hasDocumentSelectionFormattingProvider.reset(),this._hasSignatureHelpProvider.reset(),this._isInWalkThrough.reset()})}_update(){let e=this._editor.getModel();if(!e){this.reset();return}this._contextKeyService.bufferChangeEvents(()=>{this._langId.set(e.getLanguageId()),this._hasCompletionItemProvider.set(this._languageFeaturesService.completionProvider.has(e)),this._hasCodeActionsProvider.set(this._languageFeaturesService.codeActionProvider.has(e)),this._hasCodeLensProvider.set(this._languageFeaturesService.codeLensProvider.has(e)),this._hasDefinitionProvider.set(this._languageFeaturesService.definitionProvider.has(e)),this._hasDeclarationProvider.set(this._languageFeaturesService.declarationProvider.has(e)),this._hasImplementationProvider.set(this._languageFeaturesService.implementationProvider.has(e)),this._hasTypeDefinitionProvider.set(this._languageFeaturesService.typeDefinitionProvider.has(e)),this._hasHoverProvider.set(this._languageFeaturesService.hoverProvider.has(e)),this._hasDocumentHighlightProvider.set(this._languageFeaturesService.documentHighlightProvider.has(e)),this._hasDocumentSymbolProvider.set(this._languageFeaturesService.documentSymbolProvider.has(e)),this._hasReferenceProvider.set(this._languageFeaturesService.referenceProvider.has(e)),this._hasRenameProvider.set(this._languageFeaturesService.renameProvider.has(e)),this._hasSignatureHelpProvider.set(this._languageFeaturesService.signatureHelpProvider.has(e)),this._hasInlayHintsProvider.set(this._languageFeaturesService.inlayHintsProvider.has(e)),this._hasDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.has(e)||this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.has(e)),this._hasMultipleDocumentFormattingProvider.set(this._languageFeaturesService.documentFormattingEditProvider.all(e).length+this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._hasMultipleDocumentSelectionFormattingProvider.set(this._languageFeaturesService.documentRangeFormattingEditProvider.all(e).length>1),this._isInWalkThrough.set(e.uri.scheme===i.Io.walkThroughSnippet)})}},Gu=class extends i.Xl{constructor(e){super(),this._onChange=this._register(new i.Ul),this.onChange=this._onChange.event,this._hasFocus=!1,this._domFocusTracker=this._register(i.No(e)),this._register(this._domFocusTracker.onDidFocus(()=>{this._hasFocus=!0,this._onChange.fire(void 0)})),this._register(this._domFocusTracker.onDidBlur(()=>{this._hasFocus=!1,this._onChange.fire(void 0)}))}hasFocus(){return this._hasFocus}},Ku=class{constructor(e,t){this._editor=e,this._decorationIds=[],this._isChangingDecorations=!1,Array.isArray(t)&&t.length>0&&this.set(t)}get length(){return this._decorationIds.length}onDidChange(e,t,n){return this._editor.onDidChangeModelDecorations(n=>{this._isChangingDecorations||e.call(t,n)},n)}getRange(e){return!this._editor.hasModel()||e>=this._decorationIds.length?null:this._editor.getModel().getDecorationRange(this._decorationIds[e])}getRanges(){if(!this._editor.hasModel())return[];let e=this._editor.getModel(),t=[];for(let n of this._decorationIds){let r=e.getDecorationRange(n);r&&t.push(r)}return t}has(e){return this._decorationIds.includes(e.id)}clear(){this._decorationIds.length!==0&&this.set([])}set(e){try{this._isChangingDecorations=!0,this._editor.changeDecorations(t=>{this._decorationIds=t.deltaDecorations(this._decorationIds,e)})}finally{this._isChangingDecorations=!1}}},qu=`%3Csvg%20xmlns%3D'http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg'%20viewBox%3D'0%200%206%203'%20enable-background%3D'new%200%200%206%203'%20height%3D'3'%20width%3D'6'%3E%3Cg%20fill%3D'`,Ju=`'%3E%3Cpolygon%20points%3D'5.5%2C0%202.5%2C3%201.1%2C3%204.1%2C0'%2F%3E%3Cpolygon%20points%3D'4%2C0%206%2C2%206%2C0.6%205.4%2C0'%2F%3E%3Cpolygon%20points%3D'0%2C2%201%2C3%202.4%2C3%200%2C0.6'%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function Yu(e){return qu+encodeURIComponent(e.toString())+Ju}var Xu=`%3Csvg%20xmlns%3D%22http%3A%2F%2Fwww.w3.org%2F2000%2Fsvg%22%20height%3D%223%22%20width%3D%2212%22%3E%3Cg%20fill%3D%22`,Zu=`%22%3E%3Ccircle%20cx%3D%221%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%225%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3Ccircle%20cx%3D%229%22%20cy%3D%221%22%20r%3D%221%22%2F%3E%3C%2Fg%3E%3C%2Fsvg%3E`;function Qu(e){return Xu+encodeURIComponent(e.toString())+Zu}i.ba((e,t)=>{let n=e.getColor(i.vn);n&&t.addRule(`.monaco-editor .squiggly-error { border-bottom: 4px double ${n}; }`);let r=e.getColor(i.yn);r&&t.addRule(`.monaco-editor .squiggly-error { background: url("data:image/svg+xml,${Yu(r)}") repeat-x bottom left; }`);let a=e.getColor(i._n);a&&t.addRule(`.monaco-editor .squiggly-error::before { display: block; content: ''; width: 100%; height: 100%; background: ${a}; }`);let o=e.getColor(i.Zn);o&&t.addRule(`.monaco-editor .squiggly-warning { border-bottom: 4px double ${o}; }`);let s=e.getColor(i.Qn);s&&t.addRule(`.monaco-editor .squiggly-warning { background: url("data:image/svg+xml,${Yu(s)}") repeat-x bottom left; }`);let c=e.getColor(i.Xn);c&&t.addRule(`.monaco-editor .squiggly-warning::before { display: block; content: ''; width: 100%; height: 100%; background: ${c}; }`);let l=e.getColor(i.In);l&&t.addRule(`.monaco-editor .squiggly-info { border-bottom: 4px double ${l}; }`);let u=e.getColor(i.Ln);u&&t.addRule(`.monaco-editor .squiggly-info { background: url("data:image/svg+xml,${Yu(u)}") repeat-x bottom left; }`);let d=e.getColor(i.Fn);d&&t.addRule(`.monaco-editor .squiggly-info::before { display: block; content: ''; width: 100%; height: 100%; background: ${d}; }`);let f=e.getColor(i.Dn);f&&t.addRule(`.monaco-editor .squiggly-hint { border-bottom: 2px dotted ${f}; }`);let p=e.getColor(i.On);p&&t.addRule(`.monaco-editor .squiggly-hint { background: url("data:image/svg+xml,${Qu(p)}") no-repeat bottom left; }`);let m=e.getColor(i.Ot);m&&t.addRule(`.monaco-editor.showUnused .squiggly-inline-unnecessary { opacity: ${m.rgba.a}; }`);let h=e.getColor(i.Dt);h&&t.addRule(`.monaco-editor.showUnused .squiggly-unnecessary { border-bottom: 2px dashed ${h}; }`);let g=e.getColor(i.En)||`inherit`;t.addRule(`.monaco-editor.showDeprecated .squiggly-inline-deprecated { text-decoration: line-through; text-decoration-color: ${g}}`)});var U=class{constructor(e,t,n){let r=e=>this.emitter.fire(e);this.emitter=new i.Ul({onFirstListenerAdd:()=>e.addEventListener(t,r,n),onLastListenerRemove:()=>e.removeEventListener(t,r,n)})}get event(){return this.emitter.event}dispose(){this.emitter.dispose()}};function $u(e){return e.preventDefault(),e.stopPropagation(),e}var ed=function(e,t,n,r){var i=arguments.length,a=i<3?t:r===null?r=Object.getOwnPropertyDescriptor(t,n):r,o;if(typeof Reflect==`object`&&typeof Reflect.decorate==`function`)a=Reflect.decorate(e,t,n,r);else for(var s=e.length-1;s>=0;s--)(o=e[s])&&(a=(i<3?o(a):i>3?o(t,n,a):o(t,n))||a);return i>3&&a&&Object.defineProperty(t,n,a),a},td=!1,nd;(function(e){e.North=`north`,e.South=`south`,e.East=`east`,e.West=`west`})(nd||={});var rd=4,id=new i.Ul,ad=300,od=new i.Ul,sd=class{constructor(){this.disposables=new i.Zl}get onPointerMove(){return this.disposables.add(new U(window,`mousemove`)).event}get onPointerUp(){return this.disposables.add(new U(window,`mouseup`)).event}dispose(){this.disposables.dispose()}};ed([M],sd.prototype,`onPointerMove`,null),ed([M],sd.prototype,`onPointerUp`,null);var cd=class{constructor(e){this.el=e,this.disposables=new i.Zl}get onPointerMove(){return this.disposables.add(new U(this.el,N.Change)).event}get onPointerUp(){return this.disposables.add(new U(this.el,N.End)).event}dispose(){this.disposables.dispose()}};ed([M],cd.prototype,`onPointerMove`,null),ed([M],cd.prototype,`onPointerUp`,null);var ld=class{constructor(e){this.factory=e}get onPointerMove(){return this.factory.onPointerMove}get onPointerUp(){return this.factory.onPointerUp}dispose(){}};ed([M],ld.prototype,`onPointerMove`,null),ed([M],ld.prototype,`onPointerUp`,null);var ud=`pointer-events-disabled`,dd=class e extends i.Xl{constructor(t,n,r){super(),this.hoverDelay=ad,this.hoverDelayer=this._register(new i.ms(this.hoverDelay)),this._state=3,this.onDidEnablementChange=this._register(new i.Ul),this._onDidStart=this._register(new i.Ul),this._onDidChange=this._register(new i.Ul),this._onDidReset=this._register(new i.Ul),this._onDidEnd=this._register(new i.Ul),this.orthogonalStartSashDisposables=this._register(new i.Zl),this.orthogonalStartDragHandleDisposables=this._register(new i.Zl),this.orthogonalEndSashDisposables=this._register(new i.Zl),this.orthogonalEndDragHandleDisposables=this._register(new i.Zl),this.onDidStart=this._onDidStart.event,this.onDidChange=this._onDidChange.event,this.onDidReset=this._onDidReset.event,this.onDidEnd=this._onDidEnd.event,this.linkedSash=void 0,this.el=i.Xa(t,i.za(`.monaco-sash`)),r.orthogonalEdge&&this.el.classList.add(`orthogonal-edge-${r.orthogonalEdge}`),i.bd&&this.el.classList.add(`mac`);let a=this._register(new U(this.el,`mousedown`)).event;this._register(a(e=>this.onPointerStart(e,new sd),this));let o=this._register(new U(this.el,`dblclick`)).event;this._register(o(this.onPointerDoublePress,this));let s=this._register(new U(this.el,`mouseenter`)).event;this._register(s(()=>e.onMouseEnter(this)));let c=this._register(new U(this.el,`mouseleave`)).event;this._register(c(()=>e.onMouseLeave(this))),this._register(Wi.addTarget(this.el));let l=i.Wl.map(this._register(new U(this.el,N.Start)).event,e=>Object.assign(Object.assign({},e),{target:e.initialTarget??null}));this._register(l(e=>this.onPointerStart(e,new cd(this.el)),this));let u=this._register(new U(this.el,N.Tap)).event,d=i.Wl.map(i.Wl.filter(i.Wl.debounce(u,(e,t)=>({event:t,count:(e?.count??0)+1}),250),({count:e})=>e===2),({event:e})=>Object.assign(Object.assign({},e),{target:e.initialTarget??null}));this._register(d(this.onPointerDoublePress,this)),typeof r.size==`number`?(this.size=r.size,r.orientation===0?this.el.style.width=`${this.size}px`:this.el.style.height=`${this.size}px`):(this.size=rd,this._register(id.event(e=>{this.size=e,this.layout()}))),this._register(od.event(e=>this.hoverDelay=e)),this.layoutProvider=n,this.orthogonalStartSash=r.orthogonalStartSash,this.orthogonalEndSash=r.orthogonalEndSash,this.orientation=r.orientation||0,this.orientation===1?(this.el.classList.add(`horizontal`),this.el.classList.remove(`vertical`)):(this.el.classList.remove(`horizontal`),this.el.classList.add(`vertical`)),this.el.classList.toggle(`debug`,td),this.layout()}get state(){return this._state}get orthogonalStartSash(){return this._orthogonalStartSash}get orthogonalEndSash(){return this._orthogonalEndSash}set state(e){this._state!==e&&(this.el.classList.toggle(`disabled`,e===0),this.el.classList.toggle(`minimum`,e===1),this.el.classList.toggle(`maximum`,e===2),this._state=e,this.onDidEnablementChange.fire(e))}set orthogonalStartSash(t){if(this.orthogonalStartDragHandleDisposables.clear(),this.orthogonalStartSashDisposables.clear(),t){let n=n=>{this.orthogonalStartDragHandleDisposables.clear(),n!==0&&(this._orthogonalStartDragHandle=i.Xa(this.el,i.za(`.orthogonal-drag-handle.start`)),this.orthogonalStartDragHandleDisposables.add(i.au(()=>this._orthogonalStartDragHandle.remove())),this.orthogonalStartDragHandleDisposables.add(new U(this._orthogonalStartDragHandle,`mouseenter`)).event(()=>e.onMouseEnter(t),void 0,this.orthogonalStartDragHandleDisposables),this.orthogonalStartDragHandleDisposables.add(new U(this._orthogonalStartDragHandle,`mouseleave`)).event(()=>e.onMouseLeave(t),void 0,this.orthogonalStartDragHandleDisposables))};this.orthogonalStartSashDisposables.add(t.onDidEnablementChange.event(n,this)),n(t.state)}this._orthogonalStartSash=t}set orthogonalEndSash(t){if(this.orthogonalEndDragHandleDisposables.clear(),this.orthogonalEndSashDisposables.clear(),t){let n=n=>{this.orthogonalEndDragHandleDisposables.clear(),n!==0&&(this._orthogonalEndDragHandle=i.Xa(this.el,i.za(`.orthogonal-drag-handle.end`)),this.orthogonalEndDragHandleDisposables.add(i.au(()=>this._orthogonalEndDragHandle.remove())),this.orthogonalEndDragHandleDisposables.add(new U(this._orthogonalEndDragHandle,`mouseenter`)).event(()=>e.onMouseEnter(t),void 0,this.orthogonalEndDragHandleDisposables),this.orthogonalEndDragHandleDisposables.add(new U(this._orthogonalEndDragHandle,`mouseleave`)).event(()=>e.onMouseLeave(t),void 0,this.orthogonalEndDragHandleDisposables))};this.orthogonalEndSashDisposables.add(t.onDidEnablementChange.event(n,this)),n(t.state)}this._orthogonalEndSash=t}onPointerStart(e,t){i.Ha.stop(e);let n=!1;if(!e.__orthogonalSashEvent){let r=this.getOrthogonalSash(e);r&&(n=!0,e.__orthogonalSashEvent=!0,r.onPointerStart(e,new ld(t)))}if(this.linkedSash&&!e.__linkedSashEvent&&(e.__linkedSashEvent=!0,this.linkedSash.onPointerStart(e,new ld(t))),!this.state)return;let r=i.fo(`iframe`);for(let e of r)e.classList.add(ud);let a=e.pageX,o=e.pageY,s=e.altKey,c={startX:a,currentX:a,startY:o,currentY:o,altKey:s};this.el.classList.add(`active`),this._onDidStart.fire(c);let l=i.ro(this.el),u=()=>{let e=``;e=n?`all-scroll`:this.orientation===1?this.state===1?`s-resize`:this.state===2?`n-resize`:i.bd?`row-resize`:`ns-resize`:this.state===1?`e-resize`:this.state===2?`w-resize`:i.bd?`col-resize`:`ew-resize`,l.textContent=`* { cursor: ${e} !important; }`},d=new i.Zl;u(),n||this.onDidEnablementChange.event(u,null,d),t.onPointerMove(e=>{i.Ha.stop(e,!1);let t={startX:a,currentX:e.pageX,startY:o,currentY:e.pageY,altKey:s};this._onDidChange.fire(t)},null,d),t.onPointerUp(e=>{i.Ha.stop(e,!1),this.el.removeChild(l),this.el.classList.remove(`active`),this._onDidEnd.fire(),d.dispose();for(let e of r)e.classList.remove(ud)},null,d),d.add(t)}onPointerDoublePress(e){let t=this.getOrthogonalSash(e);t&&t._onDidReset.fire(),this.linkedSash&&this.linkedSash._onDidReset.fire(),this._onDidReset.fire()}static onMouseEnter(t,n=!1){t.el.classList.contains(`active`)?(t.hoverDelayer.cancel(),t.el.classList.add(`hover`)):t.hoverDelayer.trigger(()=>t.el.classList.add(`hover`),t.hoverDelay).then(void 0,()=>{}),!n&&t.linkedSash&&e.onMouseEnter(t.linkedSash,!0)}static onMouseLeave(t,n=!1){t.hoverDelayer.cancel(),t.el.classList.remove(`hover`),!n&&t.linkedSash&&e.onMouseLeave(t.linkedSash,!0)}clearSashHoverState(){e.onMouseLeave(this)}layout(){if(this.orientation===0){let e=this.layoutProvider;this.el.style.left=e.getVerticalSashLeft(this)-this.size/2+`px`,e.getVerticalSashTop&&(this.el.style.top=e.getVerticalSashTop(this)+`px`),e.getVerticalSashHeight&&(this.el.style.height=e.getVerticalSashHeight(this)+`px`)}else{let e=this.layoutProvider;this.el.style.top=e.getHorizontalSashTop(this)-this.size/2+`px`,e.getHorizontalSashLeft&&(this.el.style.left=e.getHorizontalSashLeft(this)+`px`),e.getHorizontalSashWidth&&(this.el.style.width=e.getHorizontalSashWidth(this)+`px`)}}getOrthogonalSash(e){if(!(!e.target||!(e.target instanceof HTMLElement))&&e.target.classList.contains(`orthogonal-drag-handle`))return e.target.classList.contains(`start`)?this.orthogonalStartSash:this.orthogonalEndSash}dispose(){super.dispose(),this.el.remove()}},fd=class e{constructor(e,t,n){this._visiblePosition=e,this._visiblePositionScrollDelta=t,this._cursorPosition=n}static capture(t){let n=null,r=0;if(t.getScrollTop()!==0){let e=t.getVisibleRanges();if(e.length>0){n=e[0].getStartPosition();let i=t.getTopForPosition(n.lineNumber,n.column);r=t.getScrollTop()-i}}return new e(n,r,t.getPosition())}restore(e){if(this._visiblePosition){let t=e.getTopForPosition(this._visiblePosition.lineNumber,this._visiblePosition.column);e.setScrollTop(t+this._visiblePositionScrollDelta)}}restoreRelativeVerticalPositionOfCursor(e){let t=e.getPosition();if(!this._cursorPosition||!t)return;let n=e.getTopForLineNumber(t.lineNumber)-e.getTopForLineNumber(this._cursorPosition.lineNumber);e.setScrollTop(e.getScrollTop()+n)}},pd={RESOURCES:`ResourceURLs`,DOWNLOAD_URL:`DownloadURL`,FILES:`Files`,TEXT:i.Us.text},md={CurrentDragAndDropData:void 0};function hd(...e){return function(t,n){for(let r=0,i=e.length;r<i;r++){let i=e[r](t,n);if(i)return i}return null}}_d.bind(void 0,!1);var gd=_d.bind(void 0,!0);function _d(e,t,n){if(!n||n.length<t.length)return null;let r;return r=e?i.ol(n,t):n.indexOf(t)===0,r?t.length>0?[{start:0,end:t.length}]:[]:null}function vd(e,t){let n=t.toLowerCase().indexOf(e.toLowerCase());return n===-1?null:[{start:n,end:n+e.length}]}function yd(e,t){return bd(e.toLowerCase(),t.toLowerCase(),0,0)}function bd(e,t,n,r){if(n===e.length)return[];if(r===t.length)return null;if(e[n]===t[r]){let i=null;return(i=bd(e,t,n+1,r+1))?kd({start:r,end:r+1},i):null}return bd(e,t,n,r+1)}function xd(e){return 97<=e&&e<=122}function Sd(e){return 65<=e&&e<=90}function Cd(e){return 48<=e&&e<=57}function wd(e){return e===32||e===9||e===10||e===13}var Td=new Set;`()[]{}<>\`'"-/;:,.?!`.split(``).forEach(e=>Td.add(e.charCodeAt(0)));function Ed(e){return wd(e)||Td.has(e)}function Dd(e,t){return e===t||Ed(e)&&Ed(t)}function Od(e){return xd(e)||Sd(e)||Cd(e)}function kd(e,t){return t.length===0?t=[e]:e.end===t[0].start?t[0].start=e.start:t.unshift(e),t}function Ad(e,t){for(let n=t;n<e.length;n++){let t=e.charCodeAt(n);if(Sd(t)||Cd(t)||n>0&&!Od(e.charCodeAt(n-1)))return n}return e.length}function jd(e,t,n,r){if(n===e.length)return[];if(r===t.length||e[n]!==t[r].toLowerCase())return null;{let i=null,a=r+1;for(i=jd(e,t,n+1,r+1);!i&&(a=Ad(t,a))<t.length;)i=jd(e,t,n+1,a),a++;return i===null?null:kd({start:r,end:r+1},i)}}function Md(e){let t=0,n=0,r=0,i=0,a=0;for(let o=0;o<e.length;o++)a=e.charCodeAt(o),Sd(a)&&t++,xd(a)&&n++,Od(a)&&r++,Cd(a)&&i++;return{upperPercent:t/e.length,lowerPercent:n/e.length,alphaPercent:r/e.length,numericPercent:i/e.length}}function Nd(e){let{upperPercent:t,lowerPercent:n}=e;return n===0&&t>.6}function Pd(e){let{upperPercent:t,lowerPercent:n,alphaPercent:r,numericPercent:i}=e;return n>.2&&t<.8&&r>.6&&i<.2}function Fd(e){let t=0,n=0,r=0,i=0;for(let a=0;a<e.length;a++)r=e.charCodeAt(a),Sd(r)&&t++,xd(r)&&n++,wd(r)&&i++;return(t===0||n===0)&&i===0?e.length<=30:t<=5}function Id(e,t){if(!t||(t=t.trim(),t.length===0)||!Fd(e)||t.length>60)return null;let n=Md(t);if(!Pd(n)){if(!Nd(n))return null;t=t.toLowerCase()}let r=null,i=0;for(e=e.toLowerCase();i<t.length&&(r=jd(e,t,0,i))===null;)i=Ad(t,i+1);return r}function Ld(e,t,n=!1){if(!t||t.length===0)return null;let r=null,i=0;for(e=e.toLowerCase(),t=t.toLowerCase();i<t.length&&(r=Rd(e,t,0,i,n))===null;)i=zd(t,i+1);return r}function Rd(e,t,n,r,i){if(n===e.length)return[];if(r===t.length)return null;if(Dd(e.charCodeAt(n),t.charCodeAt(r))){let a=null,o=r+1;if(a=Rd(e,t,n+1,r+1,i),!i)for(;!a&&(o=zd(t,o))<t.length;)a=Rd(e,t,n+1,o,i),o++;return a===null?null:kd({start:r,end:r+1},a)}else return null}function zd(e,t){for(let n=t;n<e.length;n++)if(Ed(e.charCodeAt(n))||n>0&&Ed(e.charCodeAt(n-1)))return n;return e.length}var Bd=hd(gd,Id,vd),Vd=hd(gd,Id,yd),Hd=new i.c(1e4);function Ud(e,t,n=!1){if(typeof e!=`string`||typeof t!=`string`)return null;let r=Hd.get(e);r||(r=new RegExp(i.Nc(e),`i`),Hd.set(e,r));let a=r.exec(t);return a?[{start:a.index,end:a.index+a[0].length}]:n?Vd(e,t):Bd(e,t)}function Wd(e,t,n,r,i,a){let o=Math.min(13,e.length);for(;n<o;n++){let o=sf(e,t,n,r,i,a,{firstMatchCanBeWeak:!1,boostFullMatch:!0});if(o)return o}return[0,a]}function Gd(e){if(e===void 0)return[];let t=[],n=e[1];for(let r=e.length-1;r>1;r--){let i=e[r]+n,a=t[t.length-1];a&&a.end===i?a.end=i+1:t.push({start:i,end:i+1})}return t}var Kd=128;function qd(){let e=[],t=[];for(let e=0;e<=Kd;e++)t[e]=0;for(let n=0;n<=Kd;n++)e.push(t.slice(0));return e}function Jd(e){let t=[];for(let n=0;n<=e;n++)t[n]=0;return t}var Yd=Jd(2*Kd),Xd=Jd(2*Kd),Zd=qd(),Qd=qd(),$d=qd();function ef(e,t){if(t<0||t>=e.length)return!1;let n=e.codePointAt(t);switch(n){case 95:case 45:case 46:case 32:case 47:case 92:case 39:case 34:case 58:case 36:case 60:case 62:case 40:case 41:case 91:case 93:case 123:case 125:return!0;case void 0:return!1;default:return!!i.Wc(n)}}function tf(e,t){if(t<0||t>=e.length)return!1;switch(e.charCodeAt(t)){case 32:case 9:return!0;default:return!1}}function nf(e,t,n){return t[e]!==n[e]}function rf(e,t,n,r,i,a,o=!1){for(;t<n&&i<a;)e[t]===r[i]&&(o&&(Yd[t]=i),t+=1),i+=1;return t===n}var af;(function(e){e.Default=[-100,0];function t(e){return!e||e.length===2&&e[0]===-100&&e[1]===0}e.isDefault=t})(af||={});var of=class{constructor(e,t){this.firstMatchCanBeWeak=e,this.boostFullMatch=t}};of.default={boostFullMatch:!0,firstMatchCanBeWeak:!1};function sf(e,t,n,r,i,a,o=of.default){let s=e.length>Kd?Kd:e.length,c=r.length>Kd?Kd:r.length;if(n>=s||a>=c||s-n>c-a||!rf(t,n,s,i,a,c,!0))return;cf(s,c,n,a,t,i);let l=1,u=1,d=n,f=a,p=[!1];for(l=1,d=n;d<s;l++,d++){let o=Yd[d],m=Xd[d],h=d+1<s?Xd[d+1]:c;for(u=o-a+1,f=o;f<h;u++,f++){let s=-(2**53-1),h=!1;f<=m&&(s=lf(e,t,d,n,r,i,f,c,a,Zd[l-1][u-1]===0,p));let g=0;s!==2**53-1&&(h=!0,g=s+Qd[l-1][u-1]);let _=f>o,v=_?Qd[l][u-1]+(Zd[l][u-1]>0?-5:0):0,y=f>o+1&&Zd[l][u-1]>0,b=y?Qd[l][u-2]+(Zd[l][u-2]>0?-5:0):0;if(y&&(!_||b>=v)&&(!h||b>=g))Qd[l][u]=b,$d[l][u]=3,Zd[l][u]=0;else if(_&&(!h||v>=g))Qd[l][u]=v,$d[l][u]=2,Zd[l][u]=0;else if(h)Qd[l][u]=g,$d[l][u]=1,Zd[l][u]=Zd[l-1][u-1]+1;else throw Error(`not possible`)}}if(!p[0]&&!o.firstMatchCanBeWeak)return;l--,u--;let m=[Qd[l][u],a],h=0,g=0;for(;l>=1;){let e=u;do{let t=$d[l][e];if(t===3)e-=2;else if(t===2)--e;else break}while(e>=1);h>1&&t[n+l-1]===i[a+u-1]&&!nf(e+a-1,r,i)&&h+1>Zd[l][e]&&(e=u),e===u?h++:h=1,g||=e,l--,u=e-1,m.push(u)}c===s&&o.boostFullMatch&&(m[0]+=2);let _=g-s;return m[0]-=_,m}function cf(e,t,n,r,i,a){let o=e-1,s=t-1;for(;o>=n&&s>=r;)i[o]===a[s]&&(Xd[o]=s,o--),s--}function lf(e,t,n,r,i,a,o,s,c,l,u){if(t[n]!==a[o])return-(2**53-1);let d=1,f=!1;return o===n-r?d=e[n]===i[o]?7:5:nf(o,i,a)&&(o===0||!nf(o-1,i,a))?(d=e[n]===i[o]?7:5,f=!0):ef(a,o)&&(o===0||!ef(a,o-1))?d=5:(ef(a,o-1)||tf(a,o-1))&&(d=5,f=!0),d>1&&n===r&&(u[0]=!0),f||=nf(o,i,a)||ef(a,o-1)||tf(a,o-1),n===r?o>c&&(d-=f?3:5):l?d+=f?2:0:d+=f?0:1,o+1===s&&(d-=f?3:5),d}function uf(e,t,n,r,i,a,o){return df(e,t,n,r,i,a,!0,o)}function df(e,t,n,r,i,a,o,s){let c=sf(e,t,n,r,i,a,s);if(c&&!o)return c;if(e.length>=3){let t=Math.min(7,e.length-1);for(let o=n+1;o<t;o++){let t=ff(e,o);if(t){let e=sf(t,t.toLowerCase(),n,r,i,a,s);e&&(e[0]-=3,(!c||e[0]>c[0])&&(c=e))}}}return c}function ff(e,t){if(t+1>=e.length)return;let n=e[t],r=e[t+1];if(n!==r)return e.slice(0,t)+r+n+e.slice(t+2)}var pf=RegExp(`\\$\\(${i.wl.iconNameExpression}(?:${i.wl.iconModifierExpression})?\\)`,`g`),mf=new RegExp(i.wl.iconNameCharacter),hf=RegExp(`(\\\\)?${pf.source}`,`g`);function gf(e){return e.replace(hf,(e,t)=>t?e:`\\${e}`)}var _f=RegExp(`\\\\${pf.source}`,`g`);function vf(e){return e.replace(_f,e=>`\\${e}`)}var yf=RegExp(`(\\s)?(\\\\)?${pf.source}(\\s)?`,`g`);function bf(e){return e.indexOf(`$(`)===-1?e:e.replace(yf,(e,t,n,r)=>n?e:t||r||``)}function xf(e){let t=e.indexOf(`$(`);return t===-1?{text:e}:Sf(e,t)}function Sf(e,t){let n=[],r=``;function i(e){if(e){r+=e;for(let t of e)n.push(s)}}let a=-1,o=``,s=0,c,l,u=t,d=e.length;for(i(e.substr(0,t));u<d;){if(c=e[u],l=e[u+1],c===`$`&&l===`(`)a=u,i(o),o=`$(`,u++;else if(c===`)`&&a!==-1){let e=u-a+1;s+=e,a=-1,o=``}else a===-1?i(c):mf.test(c)?o+=c:(i(o),a=-1,o=``);u++}return i(o),{text:r,iconOffsets:n}}function Cf(e,t,n=!1){let{text:r,iconOffsets:a}=t;if(!a||a.length===0)return Ud(e,r,n);let o=i.Qc(r,` `),s=r.length-o.length,c=Ud(e,o,n);if(c)for(let e of c){let t=a[e.start+s]+s;e.start+=t,e.end+=t}return c}var wf=class{constructor(e=``,t=!1){if(this.value=e,typeof this.value!=`string`)throw i.lu(`value`);typeof t==`boolean`?(this.isTrusted=t,this.supportThemeIcons=!1,this.supportHtml=!1):(this.isTrusted=t.isTrusted??void 0,this.supportThemeIcons=t.supportThemeIcons??!1,this.supportHtml=t.supportHtml??!1)}appendText(e,t=0){return this.value+=Df(this.supportThemeIcons?gf(e):e).replace(/([ \t]+)/g,(e,t)=>` `.repeat(t.length)).replace(/\>/gm,`\\>`).replace(/\n/g,t===1?`\\
|
|
73
73
|
`:`
|