e.afterLineNumber-t.afterLineNumber)}_renderOriginalLine(e,t,i,n,o,r,s,a,l,c,h,d,u,g,p,m,f,_){f.appendASCIIString('');const b=kt.e.isBasicASCII(t,r),v=kt.e.containsRTL(t,b,s),C=Object(St.d)(new St.c(a.isMonospace&&!l,a.canUseHalfwidthRightwardsArrow,t,!1,b,v,0,i,n,m,0,a.spaceWidth,a.middotWidth,a.wsmiddotWidth,d,u,g,p!==F.e.OFF,null),f);if(f.appendASCIIString("
"),this._renderIndicators){const t=document.createElement("div");t.className="delete-sign "+on.d.asClassName(Rn),t.setAttribute("style",`position:absolute;top:${e*c}px;width:${h}px;height:${c}px;right:0;`),_.appendChild(t)}const w=C.characterMapping.getAbsoluteOffsets();return w.length>0?w[w.length-1]:0}}function $n(e,t){return Object(F.n)(e,t,["off","on","inherit"])}function Gn(e){return e.modifiedEndLineNumber>0}function Yn(e){return e.originalEndLineNumber>0}function Zn(){const e=document.createElement("div");return e.className="diagonal-fill",e}function Xn(e,t,i,n){const o=e.getLineCount();return i=Math.min(o,Math.max(1,i)),n=Math.min(o,Math.max(1,n)),t.coordinatesConverter.convertModelRangeToViewRange(new H.a(i,e.getLineMinColumn(i),n,e.getLineMaxColumn(n)))}Object(on.f)((e,t)=>{const i=e.getColor(nn.m);i&&(t.addRule(`.monaco-editor .line-insert, .monaco-editor .char-insert { background-color: ${i}; }`),t.addRule(`.monaco-diff-editor .line-insert, .monaco-diff-editor .char-insert { background-color: ${i}; }`),t.addRule(`.monaco-editor .inline-added-margin-view-zone { background-color: ${i}; }`));const n=e.getColor(nn.o);n&&(t.addRule(`.monaco-editor .line-delete, .monaco-editor .char-delete { background-color: ${n}; }`),t.addRule(`.monaco-diff-editor .line-delete, .monaco-diff-editor .char-delete { background-color: ${n}; }`),t.addRule(`.monaco-editor .inline-deleted-margin-view-zone { background-color: ${n}; }`));const o=e.getColor(nn.n);o&&t.addRule(`.monaco-editor .line-insert, .monaco-editor .char-insert { border: 1px ${"hc"===e.type?"dashed":"solid"} ${o}; }`);const r=e.getColor(nn.p);r&&t.addRule(`.monaco-editor .line-delete, .monaco-editor .char-delete { border: 1px ${"hc"===e.type?"dashed":"solid"} ${r}; }`);const s=e.getColor(nn.pc);s&&t.addRule(`.monaco-diff-editor.side-by-side .editor.modified { box-shadow: -6px 0 5px -5px ${s}; }`);const a=e.getColor(nn.k);a&&t.addRule(`.monaco-diff-editor.side-by-side .editor.modified { border-left: 1px solid ${a}; }`);const l=e.getColor(nn.rc);l&&t.addRule(`\n\t\t\t.monaco-diff-editor .diffViewport {\n\t\t\t\tbackground: ${l};\n\t\t\t}\n\t\t`);const c=e.getColor(nn.sc);c&&t.addRule(`\n\t\t\t.monaco-diff-editor .diffViewport:hover {\n\t\t\t\tbackground: ${c};\n\t\t\t}\n\t\t`);const h=e.getColor(nn.qc);h&&t.addRule(`\n\t\t\t.monaco-diff-editor .diffViewport:active {\n\t\t\t\tbackground: ${h};\n\t\t\t}\n\t\t`);const d=e.getColor(nn.l);t.addRule(`\n\t.monaco-editor .diagonal-fill {\n\t\tbackground-image: linear-gradient(\n\t\t\t-45deg,\n\t\t\t${d} 12.5%,\n\t\t\t#0000 12.5%, #0000 50%,\n\t\t\t${d} 50%, ${d} 62.5%,\n\t\t\t#0000 62.5%, #0000 100%\n\t\t);\n\t\tbackground-size: 8px 8px;\n\t}\n\t`)});var Jn=i(200),Qn=i(133),eo=i(25),to=i(42),io=i(67),no=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},oo=function(e,t){return function(i,n){t(i,n,e)}};let ro=0,so=!1;let ao=class extends Ki.a{constructor(e,t,i,n,o,r,s,a,l,c){const h=Object.assign({},t);h.ariaLabel=h.ariaLabel||yi.h.editorViewAccessibleLabel,h.ariaLabel=h.ariaLabel+";"+yi.h.accessibilityHelpMessage,super(e,h,{},i,n,o,r,a,l,c),this._standaloneKeybindingService=s instanceof Ai?s:null,so||(so=!0,Ui.b(document.body))}addCommand(e,t,i){if(!this._standaloneKeybindingService)return console.warn("Cannot add command because the editor is configured with an unrecognized KeybindingService"),null;let n="DYNAMIC_"+ ++ro,o=tn.a.deserialize(i);return this._standaloneKeybindingService.addDynamicKeybinding(n,e,t,o),n}createContextKey(e,t){return this._contextKeyService.createKey(e,t)}addAction(e){if("string"!=typeof e.id||"string"!=typeof e.label||"function"!=typeof e.run)throw new Error("Invalid action descriptor, `id`, `label` and `run` are required properties!");if(!this._standaloneKeybindingService)return console.warn("Cannot add keybinding because the editor is configured with an unrecognized KeybindingService"),de.a.None;const t=e.id,i=e.label,n=tn.a.and(tn.a.equals("editorId",this.getId()),tn.a.deserialize(e.precondition)),o=e.keybindings,r=tn.a.and(n,tn.a.deserialize(e.keybindingContext)),s=e.contextMenuGroupId||null,a=e.contextMenuOrder||0,l=(t,...i)=>Promise.resolve(e.run(this,...i)),c=new de.b,h=this.getId()+":"+t;if(c.add(ie.a.registerCommand(h,l)),s){let e={command:{id:h,title:i},when:n,group:s,order:a};c.add(eo.d.appendMenuItem(eo.b.EditorContext,e))}if(Array.isArray(o))for(const e of o)c.add(this._standaloneKeybindingService.addDynamicKeybinding(h,e,l,r));let d=new Jn.a(h,i,i,n,l,this._contextKeyService);return this._actions[t]=d,c.add(Object(de.h)(()=>{delete this._actions[t]})),c}};ao=no([oo(2,Cn.a),oo(3,Y.a),oo(4,ie.b),oo(5,tn.b),oo(6,to.a),oo(7,on.b),oo(8,Ci.a),oo(9,io.b)],ao);let lo=class extends ao{constructor(e,t,i,n,o,r,s,a,l,c,h,d,u,g,p){const m=Object.assign({},t);Wi(d,m,!1);const f=c.registerEditorContainer(e);"string"==typeof m.theme&&c.setTheme(m.theme),void 0!==m.autoDetectHighContrast&&c.setAutoDetectHighContrast(Boolean(m.autoDetectHighContrast));let _,b=m.model;if(delete m.model,super(e,m,n,o,r,s,a,c,h,u),this._contextViewService=l,this._configurationService=d,this._standaloneThemeService=c,this._register(i),this._register(f),void 0===b?(_=ho(g,p,m.value||"",m.language||"text/plain",void 0),this._ownsModel=!0):(_=b,this._ownsModel=!1),this._attachModel(_),_){let e={oldModelUrl:null,newModelUrl:_.uri};this._onDidChangeModel.fire(e)}}dispose(){super.dispose()}updateOptions(e){Wi(this._configurationService,e,!1),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_attachModel(e){super._attachModel(e),this._modelData&&this._contextViewService.setContainer(this._modelData.view.domNode.domNode)}_postDetachModelCleanup(e){super._postDetachModelCleanup(e),e&&this._ownsModel&&(e.dispose(),this._ownsModel=!1)}};lo=no([oo(3,Cn.a),oo(4,Y.a),oo(5,ie.b),oo(6,tn.b),oo(7,to.a),oo(8,yn.b),oo(9,Qn.a),oo(10,Ci.a),oo(11,ei.a),oo(12,io.b),oo(13,at.a),oo(14,we.a)],lo);let co=class extends Fn{constructor(e,t,i,n,o,r,s,a,l,c,h,d,u,g,p){const m=Object.assign({},t);Wi(d,m,!0);const f=c.registerEditorContainer(e);"string"==typeof m.theme&&c.setTheme(m.theme),void 0!==m.autoDetectHighContrast&&c.setAutoDetectHighContrast(Boolean(m.autoDetectHighContrast)),super(e,m,{},p,a,o,n,l,c,h,u,g),this._contextViewService=s,this._configurationService=d,this._standaloneThemeService=c,this._register(i),this._register(f),this._contextViewService.setContainer(this._containerDomElement)}dispose(){super.dispose()}updateOptions(e){Wi(this._configurationService,e,!0),"string"==typeof e.theme&&this._standaloneThemeService.setTheme(e.theme),void 0!==e.autoDetectHighContrast&&this._standaloneThemeService.setAutoDetectHighContrast(Boolean(e.autoDetectHighContrast)),super.updateOptions(e)}_createInnerEditor(e,t,i){return e.createInstance(ao,t,i)}getOriginalEditor(){return super.getOriginalEditor()}getModifiedEditor(){return super.getModifiedEditor()}addCommand(e,t,i){return this.getModifiedEditor().addCommand(e,t,i)}createContextKey(e,t){return this.getModifiedEditor().createContextKey(e,t)}addAction(e){return this.getModifiedEditor().addAction(e)}};function ho(e,t,i,n,o){if(i=i||"",!n){const n=i.indexOf("\n");let r=i;return-1!==n&&(r=i.substring(0,n)),uo(e,i,t.createByFilepathOrFirstLine(o||null,r),o)}return uo(e,i,t.create(n),o)}function uo(e,t,i,n){return e.createModel(t,i,n)}co=no([oo(3,Cn.a),oo(4,tn.b),oo(5,to.a),oo(6,yn.b),oo(7,Ce.a),oo(8,Y.a),oo(9,Qn.a),oo(10,Ci.a),oo(11,ei.a),oo(12,yn.a),oo(13,Ln.a),oo(14,Dn.a)],co);class go{constructor(e){this._languageIdentifier=e}getId(){return this._languageIdentifier.language}}var po=i(49),mo=i(198);let fo=[],_o=[],bo=[];function vo(e,t=!1){const i=function(e){return{id:e.id,mime:e.mime,filename:e.filename,extension:e.extension,filepattern:e.filepattern,firstline:e.firstline,userConfigured:e.userConfigured,filenameLowercase:e.filename?e.filename.toLowerCase():void 0,extensionLowercase:e.extension?e.extension.toLowerCase():void 0,filepatternLowercase:e.filepattern?e.filepattern.toLowerCase():void 0,filepatternOnPath:!!e.filepattern&&e.filepattern.indexOf(po.e.sep)>=0}}(e);fo.push(i),i.userConfigured?bo.push(i):_o.push(i),t&&!i.userConfigured&&fo.forEach(e=>{e.mime===i.mime||e.userConfigured||(i.extension&&e.extension===i.extension&&console.warn(`Overwriting extension <<${i.extension}>> to now point to mime <<${i.mime}>>`),i.filename&&e.filename===i.filename&&console.warn(`Overwriting filename <<${i.filename}>> to now point to mime <<${i.mime}>>`),i.filepattern&&e.filepattern===i.filepattern&&console.warn(`Overwriting filepattern <<${i.filepattern}>> to now point to mime <<${i.mime}>>`),i.firstline&&e.firstline===i.firstline&&console.warn(`Overwriting firstline <<${i.firstline}>> to now point to mime <<${i.mime}>>`))})}function Co(e,t){let i;if(e)switch(e.scheme){case ee.c.file:i=e.fsPath;break;case ee.c.data:i=te.a.parseMetaData(e).get(te.a.META_DATA_LABEL);break;default:i=e.path}if(!i)return["application/unknown"];i=i.toLowerCase();const n=Object(po.a)(i),o=wo(i,n,bo);if(o)return[o,"text/plain"];const r=wo(i,n,_o);if(r)return[r,"text/plain"];if(t){const e=function(e){Object(Be.S)(e)&&(e=e.substr(1));if(e.length>0)for(let t=fo.length-1;t>=0;t--){const i=fo[t];if(!i.firstline)continue;const n=e.match(i.firstline);if(n&&n.length>0)return i.mime}return null}(t);if(e)return[e,"text/plain"]}return["application/unknown"]}function wo(e,t,i){let n=null,o=null,r=null;for(let s=i.length-1;s>=0;s--){const a=i[s];if(t===a.filenameLowercase){n=a;break}if(a.filepattern&&(!o||a.filepattern.length>o.filepattern.length)){const i=a.filepatternOnPath?e:t;Object(mo.a)(a.filepatternLowercase,i)&&(o=a)}a.extension&&(!r||a.extension.length>r.extension.length)&&t.endsWith(a.extensionLowercase)&&(r=a)}return n?n.mime:o?o.mime:r?r.mime:null}var yo=i(139),So=i(39);const ko=Object.prototype.hasOwnProperty;class xo extends de.a{constructor(e=!0,t=!1){super(),this._onDidChange=this._register(new W.a),this.onDidChange=this._onDidChange.event,this._warnOnOverwrite=t,this._nextLanguageId2=1,this._languageIdToLanguage=[],this._languageToLanguageId=Object.create(null),this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},e&&(this._initializeFromRegistry(),this._register(yo.a.onDidChangeLanguages(e=>this._initializeFromRegistry())))}_initializeFromRegistry(){this._languages={},this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={};const e=yo.a.getLanguages();this._registerLanguages(e)}_registerLanguages(e){for(const t of e)this._registerLanguage(t);this._mimeTypesMap={},this._nameMap={},this._lowercaseNameMap={},Object.keys(this._languages).forEach(e=>{let t=this._languages[e];t.name&&(this._nameMap[t.name]=t.identifier),t.aliases.forEach(e=>{this._lowercaseNameMap[e.toLowerCase()]=t.identifier}),t.mimetypes.forEach(e=>{this._mimeTypesMap[e]=t.identifier})}),So.a.as(ti.a.Configuration).registerOverrideIdentifiers(yo.a.getLanguages().map(e=>e.id)),this._onDidChange.fire()}_getLanguageId(e){if(this._languageToLanguageId[e])return this._languageToLanguageId[e];const t=this._nextLanguageId2++;return this._languageIdToLanguage[t]=e,this._languageToLanguageId[e]=t,t}_registerLanguage(e){const t=e.id;let i;if(ko.call(this._languages,t))i=this._languages[t];else{const e=this._getLanguageId(t);i={identifier:new be.s(t,e),name:null,mimetypes:[],aliases:[],extensions:[],filenames:[],configurationFiles:[]},this._languages[t]=i}this._mergeLanguage(i,e)}_mergeLanguage(e,t){const i=t.id;let n=null;if(Array.isArray(t.mimetypes)&&t.mimetypes.length>0&&(e.mimetypes.push(...t.mimetypes),n=t.mimetypes[0]),n||(n="text/x-"+i,e.mimetypes.push(n)),Array.isArray(t.extensions)){t.configuration?e.extensions=t.extensions.concat(e.extensions):e.extensions=e.extensions.concat(t.extensions);for(let e of t.extensions)vo({id:i,mime:n,extension:e},this._warnOnOverwrite)}if(Array.isArray(t.filenames))for(let o of t.filenames)vo({id:i,mime:n,filename:o},this._warnOnOverwrite),e.filenames.push(o);if(Array.isArray(t.filenamePatterns))for(let e of t.filenamePatterns)vo({id:i,mime:n,filepattern:e},this._warnOnOverwrite);if("string"==typeof t.firstLine&&t.firstLine.length>0){let e=t.firstLine;"^"!==e.charAt(0)&&(e="^"+e);try{let t=new RegExp(e);Be.N(t)||vo({id:i,mime:n,firstline:t},this._warnOnOverwrite)}catch(e){Object(ke.e)(e)}}e.aliases.push(i);let o=null;if(void 0!==t.aliases&&Array.isArray(t.aliases)&&(o=0===t.aliases.length?[null]:t.aliases),null!==o)for(const t of o)t&&0!==t.length&&e.aliases.push(t);let r=null!==o&&o.length>0;if(r&&null===o[0]);else{let t=(r?o[0]:null)||i;!r&&e.name||(e.name=t)}t.configuration&&e.configurationFiles.push(t.configuration)}isRegisteredMode(e){return!!ko.call(this._mimeTypesMap,e)||ko.call(this._languages,e)}getModeIdForLanguageNameLowercase(e){return ko.call(this._lowercaseNameMap,e)?this._lowercaseNameMap[e].language:null}extractModeIds(e){return e?e.split(",").map(e=>e.trim()).map(e=>ko.call(this._mimeTypesMap,e)?this._mimeTypesMap[e].language:e).filter(e=>ko.call(this._languages,e)):[]}getLanguageIdentifier(e){if(e===ve.b||0===e)return ve.a;let t;if("string"==typeof e)t=e;else if(t=this._languageIdToLanguage[e],!t)return null;return ko.call(this._languages,t)?this._languages[t].identifier:null}getModeIdsFromFilepathOrFirstLine(e,t){if(!e&&!t)return[];let i=Co(e,t);return this.extractModeIds(i.join(","))}}class Do extends de.a{constructor(e,t){super(),this._onDidChange=this._register(new W.a),this.onDidChange=this._onDidChange.event,this._selector=t,this.languageIdentifier=this._selector(),this._register(e(()=>this._evaluate()))}_evaluate(){let e=this._selector();e.id!==this.languageIdentifier.id&&(this.languageIdentifier=e,this._onDidChange.fire(this.languageIdentifier))}}class Lo extends de.a{constructor(e=!1){super(),this._onDidCreateMode=this._register(new W.a),this.onDidCreateMode=this._onDidCreateMode.event,this._onLanguagesMaybeChanged=this._register(new W.a),this.onLanguagesMaybeChanged=this._onLanguagesMaybeChanged.event,this._instantiatedModes={},this._registry=this._register(new xo(!0,e)),this._register(this._registry.onDidChange(()=>this._onLanguagesMaybeChanged.fire()))}isRegisteredMode(e){return this._registry.isRegisteredMode(e)}getModeIdForLanguageName(e){return this._registry.getModeIdForLanguageNameLowercase(e)}getModeIdByFilepathOrFirstLine(e,t){const i=this._registry.getModeIdsFromFilepathOrFirstLine(e,t);return Object(Pe.i)(i,null)}getModeId(e){const t=this._registry.extractModeIds(e);return Object(Pe.i)(t,null)}getLanguageIdentifier(e){return this._registry.getLanguageIdentifier(e)}create(e){return new Do(this.onLanguagesMaybeChanged,()=>{const t=this.getModeId(e);return this._createModeAndGetLanguageIdentifier(t)})}createByFilepathOrFirstLine(e,t){return new Do(this.onLanguagesMaybeChanged,()=>{const i=this.getModeIdByFilepathOrFirstLine(e,t);return this._createModeAndGetLanguageIdentifier(i)})}_createModeAndGetLanguageIdentifier(e){const t=this.getLanguageIdentifier(e||"plaintext")||ve.a;return this._getOrCreateMode(t.language),t}triggerMode(e){const t=this.getModeId(e);this._getOrCreateMode(t||"plaintext")}_getOrCreateMode(e){if(!this._instantiatedModes.hasOwnProperty(e)){let t=this.getLanguageIdentifier(e)||ve.a;this._instantiatedModes[e]=new go(t),this._onDidCreateMode.fire(this._instantiatedModes[e])}return this._instantiatedModes[e]}}var Eo=i(192);class No extends de.a{constructor(){super(),this._onCodeEditorAdd=this._register(new W.a),this.onCodeEditorAdd=this._onCodeEditorAdd.event,this._onCodeEditorRemove=this._register(new W.a),this.onCodeEditorRemove=this._onCodeEditorRemove.event,this._onDiffEditorAdd=this._register(new W.a),this._onDiffEditorRemove=this._register(new W.a),this._onDecorationTypeRegistered=this._register(new W.a),this._modelProperties=new Map,this._codeEditors=Object.create(null),this._diffEditors=Object.create(null)}addCodeEditor(e){this._codeEditors[e.getId()]=e,this._onCodeEditorAdd.fire(e)}removeCodeEditor(e){delete this._codeEditors[e.getId()]&&this._onCodeEditorRemove.fire(e)}listCodeEditors(){return Object.keys(this._codeEditors).map(e=>this._codeEditors[e])}addDiffEditor(e){this._diffEditors[e.getId()]=e,this._onDiffEditorAdd.fire(e)}removeDiffEditor(e){delete this._diffEditors[e.getId()]&&this._onDiffEditorRemove.fire(e)}listDiffEditors(){return Object.keys(this._diffEditors).map(e=>this._diffEditors[e])}getFocusedCodeEditor(){let e=null;const t=this.listCodeEditors();for(const i of t){if(i.hasTextFocus())return i;i.hasWidgetFocus()&&(e=i)}return e}setModelProperty(e,t,i){const n=e.toString();let o;this._modelProperties.has(n)?o=this._modelProperties.get(n):(o=new Map,this._modelProperties.set(n,o)),o.set(t,i)}getModelProperty(e,t){const i=e.toString();if(this._modelProperties.has(i)){return this._modelProperties.get(i).get(t)}}}var Oo=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},Io=function(e,t){return function(i,n){t(i,n,e)}};class Ao{constructor(e,t,i){this._parent=e,this._editorId=t,this._styleSheet=i,this._refCount=0}ref(){this._refCount++}unref(){var e;this._refCount--,0===this._refCount&&(null===(e=this._styleSheet.parentNode)||void 0===e||e.removeChild(this._styleSheet),this._parent._removeEditorStyleSheets(this._editorId))}insertRule(e,t){this._styleSheet.sheet.insertRule(e,t)}removeRulesContainingSelector(e){Z.O(e,this._styleSheet)}}class Mo{constructor(e){this._styleSheet=e}ref(){}unref(){}insertRule(e,t){this._styleSheet.sheet.insertRule(e,t)}removeRulesContainingSelector(e){Z.O(e,this._styleSheet)}}let To=class extends No{constructor(e,t){super(),this._decorationOptionProviders=new Map,this._editorStyleSheets=new Map,this._globalStyleSheet=e||null,this._themeService=t}_getOrCreateGlobalStyleSheet(){return this._globalStyleSheet||(this._globalStyleSheet=new Mo(Z.v())),this._globalStyleSheet}_getOrCreateStyleSheet(e){if(!e)return this._getOrCreateGlobalStyleSheet();const t=e.getContainerDomNode();if(!Z.N(t))return this._getOrCreateGlobalStyleSheet();const i=e.getId();if(!this._editorStyleSheets.has(i)){const e=new Ao(this,i,Z.v(t));this._editorStyleSheets.set(i,e)}return this._editorStyleSheets.get(i)}_removeEditorStyleSheets(e){this._editorStyleSheets.delete(e)}registerDecorationType(e,t,i,n){let o=this._decorationOptionProviders.get(e);if(!o){const r=this._getOrCreateStyleSheet(n),s={styleSheet:r,key:e,parentTypeKey:i,options:t||Object.create(null)};o=i?new Ro(this._themeService,r,s):new Po(this._themeService,r,s),this._decorationOptionProviders.set(e,o),this._onDecorationTypeRegistered.fire(e)}o.refCount++}removeDecorationType(e){const t=this._decorationOptionProviders.get(e);t&&(t.refCount--,t.refCount<=0&&(this._decorationOptionProviders.delete(e),t.dispose(),this.listCodeEditors().forEach(t=>t.removeDecorations(e))))}resolveDecorationOptions(e,t){const i=this._decorationOptionProviders.get(e);if(!i)throw new Error("Unknown decoration type key: "+e);return i.getOptions(this,t)}};To=Oo([Io(1,on.b)],To);class Ro{constructor(e,t,i){this._styleSheet=t,this._styleSheet.ref(),this._parentTypeKey=i.parentTypeKey,this.refCount=0,this._beforeContentRules=new Bo(3,i,e),this._afterContentRules=new Bo(4,i,e)}getOptions(e,t){const i=e.resolveDecorationOptions(this._parentTypeKey,!0);return this._beforeContentRules&&(i.beforeContentClassName=this._beforeContentRules.className),this._afterContentRules&&(i.afterContentClassName=this._afterContentRules.className),i}dispose(){this._beforeContentRules&&(this._beforeContentRules.dispose(),this._beforeContentRules=null),this._afterContentRules&&(this._afterContentRules.dispose(),this._afterContentRules=null),this._styleSheet.unref()}}class Po{constructor(e,t,i){this._disposables=new de.b,this._styleSheet=t,this._styleSheet.ref(),this.refCount=0;const n=t=>{const n=new Bo(t,i,e);if(this._disposables.add(n),n.hasContent)return n.className};this.className=n(0);const o=(t=>{const n=new Bo(t,i,e);return this._disposables.add(n),n.hasContent?{className:n.className,hasLetterSpacing:n.hasLetterSpacing}:null})(1);o&&(this.inlineClassName=o.className,this.inlineClassNameAffectsLetterSpacing=o.hasLetterSpacing),this.beforeContentClassName=n(3),this.afterContentClassName=n(4),this.glyphMarginClassName=n(2);const r=i.options;this.isWholeLine=Boolean(r.isWholeLine),this.stickiness=r.rangeBehavior;const s=r.light&&r.light.overviewRulerColor||r.overviewRulerColor,a=r.dark&&r.dark.overviewRulerColor||r.overviewRulerColor;void 0===s&&void 0===a||(this.overviewRuler={color:s||a,darkColor:a||s,position:r.overviewRulerLane||_e.d.Center})}getOptions(e,t){return t?{inlineClassName:this.inlineClassName,beforeContentClassName:this.beforeContentClassName,afterContentClassName:this.afterContentClassName,className:this.className,glyphMarginClassName:this.glyphMarginClassName,isWholeLine:this.isWholeLine,overviewRuler:this.overviewRuler,stickiness:this.stickiness}:this}dispose(){this._disposables.dispose(),this._styleSheet.unref()}}const Fo={color:"color:{0} !important;",opacity:"opacity:{0};",backgroundColor:"background-color:{0};",outline:"outline:{0};",outlineColor:"outline-color:{0};",outlineStyle:"outline-style:{0};",outlineWidth:"outline-width:{0};",border:"border:{0};",borderColor:"border-color:{0};",borderRadius:"border-radius:{0};",borderSpacing:"border-spacing:{0};",borderStyle:"border-style:{0};",borderWidth:"border-width:{0};",fontStyle:"font-style:{0};",fontWeight:"font-weight:{0};",fontSize:"font-size:{0};",fontFamily:"font-family:{0};",textDecoration:"text-decoration:{0};",cursor:"cursor:{0};",letterSpacing:"letter-spacing:{0};",gutterIconPath:"background:{0} center center no-repeat;",gutterIconSize:"background-size:{0};",contentText:"content:'{0}';",contentIconPath:"content:{0};",margin:"margin:{0};",padding:"padding:{0};",width:"width:{0};",height:"height:{0};"};class Bo{constructor(e,t,i){this._theme=i.getColorTheme(),this._ruleType=e,this._providerArgs=t,this._usesThemeColors=!1,this._hasContent=!1,this._hasLetterSpacing=!1;let n=Wo.getClassName(this._providerArgs.key,e);this._providerArgs.parentTypeKey&&(n=n+" "+Wo.getClassName(this._providerArgs.parentTypeKey,e)),this._className=n,this._unThemedSelector=Wo.getSelector(this._providerArgs.key,this._providerArgs.parentTypeKey,e),this._buildCSS(),this._usesThemeColors?this._themeListener=i.onDidColorThemeChange(e=>{this._theme=i.getColorTheme(),this._removeCSS(),this._buildCSS()}):this._themeListener=null}dispose(){this._hasContent&&(this._removeCSS(),this._hasContent=!1),this._themeListener&&(this._themeListener.dispose(),this._themeListener=null)}get hasContent(){return this._hasContent}get hasLetterSpacing(){return this._hasLetterSpacing}get className(){return this._className}_buildCSS(){const e=this._providerArgs.options;let t,i,n;switch(this._ruleType){case 0:t=this.getCSSTextForModelDecorationClassName(e),i=this.getCSSTextForModelDecorationClassName(e.light),n=this.getCSSTextForModelDecorationClassName(e.dark);break;case 1:t=this.getCSSTextForModelDecorationInlineClassName(e),i=this.getCSSTextForModelDecorationInlineClassName(e.light),n=this.getCSSTextForModelDecorationInlineClassName(e.dark);break;case 2:t=this.getCSSTextForModelDecorationGlyphMarginClassName(e),i=this.getCSSTextForModelDecorationGlyphMarginClassName(e.light),n=this.getCSSTextForModelDecorationGlyphMarginClassName(e.dark);break;case 3:t=this.getCSSTextForModelDecorationContentClassName(e.before),i=this.getCSSTextForModelDecorationContentClassName(e.light&&e.light.before),n=this.getCSSTextForModelDecorationContentClassName(e.dark&&e.dark.before);break;case 4:t=this.getCSSTextForModelDecorationContentClassName(e.after),i=this.getCSSTextForModelDecorationContentClassName(e.light&&e.light.after),n=this.getCSSTextForModelDecorationContentClassName(e.dark&&e.dark.after);break;default:throw new Error("Unknown rule type: "+this._ruleType)}const o=this._providerArgs.styleSheet;let r=!1;t.length>0&&(o.insertRule(`${this._unThemedSelector} {${t}}`,0),r=!0),i.length>0&&(o.insertRule(`.vs${this._unThemedSelector} {${i}}`,0),r=!0),n.length>0&&(o.insertRule(`.vs-dark${this._unThemedSelector}, .hc-black${this._unThemedSelector} {${n}}`,0),r=!0),this._hasContent=r}_removeCSS(){this._providerArgs.styleSheet.removeRulesContainingSelector(this._unThemedSelector)}getCSSTextForModelDecorationClassName(e){if(!e)return"";const t=[];return this.collectCSSText(e,["backgroundColor"],t),this.collectCSSText(e,["outline","outlineColor","outlineStyle","outlineWidth"],t),this.collectBorderSettingsCSSText(e,t),t.join("")}getCSSTextForModelDecorationInlineClassName(e){if(!e)return"";const t=[];return this.collectCSSText(e,["fontStyle","fontWeight","textDecoration","cursor","color","opacity","letterSpacing"],t),e.letterSpacing&&(this._hasLetterSpacing=!0),t.join("")}getCSSTextForModelDecorationContentClassName(e){if(!e)return"";const t=[];if(void 0!==e){if(this.collectBorderSettingsCSSText(e,t),void 0!==e.contentIconPath&&t.push(Be.w(Fo.contentIconPath,Z.r(V.a.revive(e.contentIconPath)))),"string"==typeof e.contentText){const i=e.contentText.match(/^.*$/m)[0].replace(/['\\]/g,"\\$&");t.push(Be.w(Fo.contentText,i))}this.collectCSSText(e,["fontStyle","fontWeight","fontSize","fontFamily","textDecoration","color","opacity","backgroundColor","margin","padding"],t),this.collectCSSText(e,["width","height"],t)&&t.push("display:inline-block;")}return t.join("")}getCSSTextForModelDecorationGlyphMarginClassName(e){if(!e)return"";const t=[];return void 0!==e.gutterIconPath&&(t.push(Be.w(Fo.gutterIconPath,Z.r(V.a.revive(e.gutterIconPath)))),void 0!==e.gutterIconSize&&t.push(Be.w(Fo.gutterIconSize,e.gutterIconSize))),t.join("")}collectBorderSettingsCSSText(e,t){return!!this.collectCSSText(e,["border","borderColor","borderRadius","borderSpacing","borderStyle","borderWidth"],t)&&(t.push(Be.w("box-sizing: border-box;")),!0)}collectCSSText(e,t,i){const n=i.length;for(let n of t){const t=this.resolveValue(e[n]);"string"==typeof t&&i.push(Be.w(Fo[n],t))}return i.length!==n}resolveValue(e){if(Object(fe.b)(e)){this._usesThemeColors=!0;const t=this._theme.getColor(e.id);return t?t.toString():"transparent"}return e}}class Wo{static getClassName(e,t){return"ced-"+e+"-"+t}static getSelector(e,t,i){let n=".monaco-editor ."+this.getClassName(e,i);return t&&(n=n+"."+this.getClassName(t,i)),3===i?n+="::before":4===i&&(n+="::after"),n}}var jo=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},Vo=function(e,t){return function(i,n){t(i,n,e)}};let zo=class extends To{constructor(e,t,i){super(e,i),this.onCodeEditorAdd(()=>this._checkContextKey()),this.onCodeEditorRemove(()=>this._checkContextKey()),this._editorIsOpen=t.createKey("editorIsOpen",!1)}_checkContextKey(){let e=!1;for(const t of this.listCodeEditors())if(!t.isSimpleWidget){e=!0;break}this._editorIsOpen.set(e)}getActiveCodeEditor(){return null}openCodeEditor(e,t,i){return t?Promise.resolve(this.doOpenEditor(t,e)):Promise.resolve(null)}doOpenEditor(e,t){if(!this.findModel(e,t.resource)){if(t.resource){const i=t.resource.scheme;if(i===ee.c.http||i===ee.c.https)return Object(Z.X)(t.resource.toString()),e}return null}const i=t.options?t.options.selection:null;if(i)if("number"==typeof i.endLineNumber&&"number"==typeof i.endColumn)e.setSelection(i),e.revealRangeInCenter(i,1);else{const t={lineNumber:i.startLineNumber,column:i.startColumn};e.setPosition(t),e.revealPositionInCenter(t,1)}return e}findModel(e,t){const i=e.getModel();return i&&i.uri.toString()!==t.toString()?null:i}};zo=jo([Vo(1,tn.b),Vo(2,on.b)],zo);var Ho=i(13);class Uo{constructor(e,t,i,n,o){this.token=e,this.index=t,this.fontStyle=i,this.foreground=n,this.background=o}}const Ko=/^#?([0-9A-Fa-f]{6})([0-9A-Fa-f]{2})?$/;class qo{constructor(){this._lastColorId=0,this._id2color=[],this._color2id=new Map}getId(e){if(null===e)return 0;const t=e.match(Ko);if(!t)throw new Error("Illegal value for token color: "+e);e=t[1].toUpperCase();let i=this._color2id.get(e);return i||(i=++this._lastColorId,this._color2id.set(e,i),this._id2color[i]=Ho.a.fromHex("#"+e),i)}getColorMap(){return this._id2color.slice(0)}}class $o{constructor(e,t){this._colorMap=e,this._root=t,this._cache=new Map}static createFromRawTokenTheme(e,t){return this.createFromParsedTokenTheme(function(e){if(!e||!Array.isArray(e))return[];let t=[],i=0;for(let n=0,o=e.length;n{let i=function(e,t){if(et)return 1;return 0}(e.token,t.token);return 0!==i?i:e.index-t.index});let i=0,n="000000",o="ffffff";for(;e.length>=1&&""===e[0].token;){let t=e.shift();-1!==t.fontStyle&&(i=t.fontStyle),null!==t.foreground&&(n=t.foreground),null!==t.background&&(o=t.background)}let r=new qo;for(let e of t)r.getId(e);let s=r.getId(n),a=r.getId(o),l=new Yo(i,s,a),c=new Zo(l);for(let t=0,i=e.length;t>>0,this._cache.set(t,i)}return(i|e<<0)>>>0}}const Go=/\b(comment|string|regex|regexp)\b/;class Yo{constructor(e,t,i){this._fontStyle=e,this._foreground=t,this._background=i,this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0}clone(){return new Yo(this._fontStyle,this._foreground,this._background)}acceptOverwrite(e,t,i){-1!==e&&(this._fontStyle=e),0!==t&&(this._foreground=t),0!==i&&(this._background=i),this.metadata=(this._fontStyle<<11|this._foreground<<14|this._background<<23)>>>0}}class Zo{constructor(e){this._mainRule=e,this._children=new Map}match(e){if(""===e)return this._mainRule;let t,i,n=e.indexOf(".");-1===n?(t=e,i=""):(t=e.substring(0,n),i=e.substring(n+1));let o=this._children.get(t);return void 0!==o?o.match(i):this._mainRule}insert(e,t,i,n){if(""===e)return void this._mainRule.acceptOverwrite(t,i,n);let o,r,s=e.indexOf(".");-1===s?(o=e,r=""):(o=e.substring(0,s),r=e.substring(s+1));let a=this._children.get(o);void 0===a&&(a=new Zo(this._mainRule.clone()),this._children.set(o,a)),a.insert(r,t,i,n)}}const Xo={base:"vs",inherit:!1,rules:[{token:"",foreground:"000000",background:"fffffe"},{token:"invalid",foreground:"cd3131"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"001188"},{token:"variable.predefined",foreground:"4864AA"},{token:"constant",foreground:"dd0000"},{token:"comment",foreground:"008000"},{token:"number",foreground:"098658"},{token:"number.hex",foreground:"3030c0"},{token:"regexp",foreground:"800000"},{token:"annotation",foreground:"808080"},{token:"type",foreground:"008080"},{token:"delimiter",foreground:"000000"},{token:"delimiter.html",foreground:"383838"},{token:"delimiter.xml",foreground:"0000FF"},{token:"tag",foreground:"800000"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"800000"},{token:"metatag",foreground:"e00000"},{token:"metatag.content.html",foreground:"FF0000"},{token:"metatag.html",foreground:"808080"},{token:"metatag.xml",foreground:"808080"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"863B00"},{token:"string.key.json",foreground:"A31515"},{token:"string.value.json",foreground:"0451A5"},{token:"attribute.name",foreground:"FF0000"},{token:"attribute.value",foreground:"0451A5"},{token:"attribute.value.number",foreground:"098658"},{token:"attribute.value.unit",foreground:"098658"},{token:"attribute.value.html",foreground:"0000FF"},{token:"attribute.value.xml",foreground:"0000FF"},{token:"string",foreground:"A31515"},{token:"string.html",foreground:"0000FF"},{token:"string.sql",foreground:"FF0000"},{token:"string.yaml",foreground:"0451A5"},{token:"keyword",foreground:"0000FF"},{token:"keyword.json",foreground:"0451A5"},{token:"keyword.flow",foreground:"AF00DB"},{token:"keyword.flow.scss",foreground:"0000FF"},{token:"operator.scss",foreground:"666666"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"666666"},{token:"predefined.sql",foreground:"C700C7"}],colors:{[nn.r]:"#FFFFFE",[nn.B]:"#000000",[nn.J]:"#E5EBF1",[en.h]:"#D3D3D3",[en.a]:"#939393",[nn.T]:"#ADD6FF4D"}},Jo={base:"vs-dark",inherit:!1,rules:[{token:"",foreground:"D4D4D4",background:"1E1E1E"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"74B0DF"},{token:"variable.predefined",foreground:"4864AA"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"B5CEA8"},{token:"number.hex",foreground:"5BB498"},{token:"regexp",foreground:"B46695"},{token:"annotation",foreground:"cc6666"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"DCDCDC"},{token:"delimiter.html",foreground:"808080"},{token:"delimiter.xml",foreground:"808080"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta.scss",foreground:"A79873"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"DD6A6F"},{token:"metatag.content.html",foreground:"9CDCFE"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key.json",foreground:"9CDCFE"},{token:"string.value.json",foreground:"CE9178"},{token:"attribute.name",foreground:"9CDCFE"},{token:"attribute.value",foreground:"CE9178"},{token:"attribute.value.number.css",foreground:"B5CEA8"},{token:"attribute.value.unit.css",foreground:"B5CEA8"},{token:"attribute.value.hex.css",foreground:"D4D4D4"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"keyword.json",foreground:"CE9178"},{token:"keyword.flow.scss",foreground:"569CD6"},{token:"operator.scss",foreground:"909090"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[nn.r]:"#1E1E1E",[nn.B]:"#D4D4D4",[nn.J]:"#3A3D41",[en.h]:"#404040",[en.a]:"#707070",[nn.T]:"#ADD6FF26"}},Qo={base:"hc-black",inherit:!1,rules:[{token:"",foreground:"FFFFFF",background:"000000"},{token:"invalid",foreground:"f44747"},{token:"emphasis",fontStyle:"italic"},{token:"strong",fontStyle:"bold"},{token:"variable",foreground:"1AEBFF"},{token:"variable.parameter",foreground:"9CDCFE"},{token:"constant",foreground:"569CD6"},{token:"comment",foreground:"608B4E"},{token:"number",foreground:"FFFFFF"},{token:"regexp",foreground:"C0C0C0"},{token:"annotation",foreground:"569CD6"},{token:"type",foreground:"3DC9B0"},{token:"delimiter",foreground:"FFFF00"},{token:"delimiter.html",foreground:"FFFF00"},{token:"tag",foreground:"569CD6"},{token:"tag.id.pug",foreground:"4F76AC"},{token:"tag.class.pug",foreground:"4F76AC"},{token:"meta",foreground:"D4D4D4"},{token:"meta.tag",foreground:"CE9178"},{token:"metatag",foreground:"569CD6"},{token:"metatag.content.html",foreground:"1AEBFF"},{token:"metatag.html",foreground:"569CD6"},{token:"metatag.xml",foreground:"569CD6"},{token:"metatag.php",fontStyle:"bold"},{token:"key",foreground:"9CDCFE"},{token:"string.key",foreground:"9CDCFE"},{token:"string.value",foreground:"CE9178"},{token:"attribute.name",foreground:"569CD6"},{token:"attribute.value",foreground:"3FF23F"},{token:"string",foreground:"CE9178"},{token:"string.sql",foreground:"FF0000"},{token:"keyword",foreground:"569CD6"},{token:"keyword.flow",foreground:"C586C0"},{token:"operator.sql",foreground:"778899"},{token:"operator.swift",foreground:"909090"},{token:"predefined.sql",foreground:"FF00FF"}],colors:{[nn.r]:"#000000",[nn.B]:"#FFFFFF",[en.h]:"#FFFFFF",[en.a]:"#FFFFFF"}};var er=i(102);const tr=So.a.as(nn.a.ColorContribution),ir=So.a.as(on.a.ThemingContribution);class nr{constructor(e,t){this.semanticHighlighting=!1,this.themeData=t;let i=t.base;e.length>0?(or(e)?this.id=e:this.id=i+" "+e,this.themeName=e):(this.id=i,this.themeName=i),this.colors=null,this.defaultColors=Object.create(null),this._tokenTheme=null}get base(){return this.themeData.base}notifyBaseUpdated(){this.themeData.inherit&&(this.colors=null,this._tokenTheme=null)}getColors(){if(!this.colors){const e=new Map;for(let t in this.themeData.colors)e.set(t,Ho.a.fromHex(this.themeData.colors[t]));if(this.themeData.inherit){let t=rr(this.themeData.base);for(let i in t.colors)e.has(i)||e.set(i,Ho.a.fromHex(t.colors[i]))}this.colors=e}return this.colors}getColor(e,t){const i=this.getColors().get(e);return i||(!1!==t?this.getDefault(e):void 0)}getDefault(e){let t=this.defaultColors[e];return t||(t=tr.resolveDefaultColor(e,this),this.defaultColors[e]=t,t)}defines(e){return Object.prototype.hasOwnProperty.call(this.getColors(),e)}get type(){switch(this.base){case"vs":return er.a.LIGHT;case"hc-black":return er.a.HIGH_CONTRAST;default:return er.a.DARK}}get tokenTheme(){if(!this._tokenTheme){let e=[],t=[];if(this.themeData.inherit){let i=rr(this.themeData.base);e=i.rules,i.encodedTokensColors&&(t=i.encodedTokensColors)}e=e.concat(this.themeData.rules),this.themeData.encodedTokensColors&&(t=this.themeData.encodedTokensColors),this._tokenTheme=$o.createFromRawTokenTheme(e,t)}return this._tokenTheme}getTokenStyleMetadata(e,t,i){const n=this.tokenTheme._match([e].concat(t).join(".")).metadata,o=be.C.getForeground(n),r=be.C.getFontStyle(n);return{foreground:o,italic:Boolean(1&r),bold:Boolean(2&r),underline:Boolean(4&r)}}}function or(e){return"vs"===e||"vs-dark"===e||"hc-black"===e}function rr(e){switch(e){case"vs":return Xo;case"vs-dark":return Jo;case"hc-black":return Qo}}function sr(e){let t=rr(e);return new nr(e,t)}class ar extends de.a{constructor(){super(),this._onColorThemeChange=this._register(new W.a),this.onDidColorThemeChange=this._onColorThemeChange.event,this._environment=Object.create(null),this._autoDetectHighContrast=!0,this._knownThemes=new Map,this._knownThemes.set("vs",sr("vs")),this._knownThemes.set("vs-dark",sr("vs-dark")),this._knownThemes.set("hc-black",sr("hc-black"));const e=function(){const e=new W.a,t=Object(sn.a)();return t.onDidChange(()=>e.fire()),{onDidChange:e.event,getCSS(){const e={},i=i=>{let n=i.defaults;for(;on.d.isThemeIcon(n);){const e=t.getIcon(n.id);if(!e)return;n=e.defaults}const o=n.fontId;if(o){const r=t.getIconFont(o);if(r)return e[o]=r,`.codicon-${i.id}:before { content: '${n.fontCharacter}'; font-family: ${Object(Z.q)(o)}; }`}return`.codicon-${i.id}:before { content: '${n.fontCharacter}'; }`},n=[];for(let e of t.getIcons()){const t=i(e);t&&n.push(t)}for(let t in e){const i=e[t].definition.src.map(e=>`${Object(Z.r)(e.location)} format('${e.format}')`).join(", ");n.push(`@font-face { src: ${i}; font-family: ${Object(Z.q)(t)}; }`)}return n.join("\n")}}}();this._codiconCSS=e.getCSS(),this._themeCSS="",this._allCSS=`${this._codiconCSS}\n${this._themeCSS}`,this._globalStyleElement=null,this._styleElements=[],this._colorMapOverride=null,this.setTheme("vs"),e.onDidChange(()=>{this._codiconCSS=e.getCSS(),this._updateCSS()}),window.matchMedia("(forced-colors: active)").addEventListener("change",()=>{this._updateActualTheme()})}registerEditorContainer(e){return Z.N(e)?this._registerShadowDomContainer(e):this._registerRegularEditorContainer()}_registerRegularEditorContainer(){return this._globalStyleElement||(this._globalStyleElement=Z.v(),this._globalStyleElement.className="monaco-colors",this._globalStyleElement.textContent=this._allCSS,this._styleElements.push(this._globalStyleElement)),de.a.None}_registerShadowDomContainer(e){const t=Z.v(e);return t.className="monaco-colors",t.textContent=this._allCSS,this._styleElements.push(t),{dispose:()=>{for(let e=0;e{t.base===e&&t.notifyBaseUpdated()}),this._theme.themeName===e&&this.setTheme(e)}getColorTheme(){return this._theme}setColorMapOverride(e){this._colorMapOverride=e,this._updateThemeOrColorMap()}setTheme(e){let t;t=this._knownThemes.has(e)?this._knownThemes.get(e):this._knownThemes.get("vs"),this._desiredTheme=t,this._updateActualTheme()}_updateActualTheme(){const e=this._autoDetectHighContrast&&window.matchMedia("(forced-colors: active)").matches?this._knownThemes.get("hc-black"):this._desiredTheme;this._theme!==e&&(this._theme=e,this._updateThemeOrColorMap())}setAutoDetectHighContrast(e){this._autoDetectHighContrast=e,this._updateActualTheme()}_updateThemeOrColorMap(){let e=[],t={},i={addRule:i=>{t[i]||(e.push(i),t[i]=!0)}};ir.getThemingParticipants().forEach(e=>e(this._theme,i,this._environment));const n=this._colorMapOverride||this._theme.tokenTheme.getColorMap();i.addRule(function(e){let t=[];for(let i=1,n=e.length;ie.textContent=this._allCSS)}getFileIconTheme(){return{hasFileIcons:!1,hasFolderIcons:!1,hidesExplorerArrows:!1}}}var lr=i(36),cr=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},hr=function(e,t){return function(i,n){t(i,n,e)}};class dr{constructor(e,t){this._id=e,this._parent=t,this._value=Object.create(null),this._value._contextId=e}setValue(e,t){return this._value[e]!==t&&(this._value[e]=t,!0)}removeValue(e){return e in this._value&&(delete this._value[e],!0)}getValue(e){const t=this._value[e];return void 0===t&&this._parent?this._parent.getValue(e):t}}class ur extends dr{constructor(){super(-1,null)}setValue(e,t){return!1}removeValue(e){return!1}getValue(e){}}ur.INSTANCE=new ur;class gr extends dr{constructor(e,t,i){super(e,null),this._configurationService=t,this._values=J.c.forConfigKeys(),this._listener=this._configurationService.onDidChangeConfiguration(e=>{if(6===e.source){const e=Array.from(lr.a.map(this._values,([e])=>e));this._values.clear(),i.fire(new fr(e))}else{const t=[];for(const i of e.affectedKeys){const e="config."+i,n=this._values.findSuperstr(e);void 0!==n&&(t.push(...lr.a.map(n,([e])=>e)),this._values.deleteSuperstr(e)),this._values.has(e)&&(t.push(e),this._values.delete(e))}i.fire(new fr(t))}})}dispose(){this._listener.dispose()}getValue(e){if(0!==e.indexOf(gr._keyPrefix))return super.getValue(e);if(this._values.has(e))return this._values.get(e);const t=e.substr(gr._keyPrefix.length),i=this._configurationService.getValue(t);let n=void 0;switch(typeof i){case"number":case"boolean":case"string":n=i;break;default:n=Array.isArray(i)?JSON.stringify(i):i}return this._values.set(e,n),n}setValue(e,t){return super.setValue(e,t)}removeValue(e){return super.removeValue(e)}}gr._keyPrefix="config.";class pr{constructor(e,t,i){this._service=e,this._key=t,this._defaultValue=i,this.reset()}set(e){this._service.setContext(this._key,e)}reset(){void 0===this._defaultValue?this._service.removeContext(this._key):this._service.setContext(this._key,this._defaultValue)}get(){return this._service.getContextKeyValue(this._key)}}class mr{constructor(e){this.key=e}affectsSome(e){return e.has(this.key)}}class fr{constructor(e){this.keys=e}affectsSome(e){for(const t of this.keys)if(e.has(t))return!0;return!1}}class _r{constructor(e){this.events=e}affectsSome(e){for(const t of this.events)if(t.affectsSome(e))return!0;return!1}}class br{constructor(e){this._onDidChangeContext=new W.d({merge:e=>new _r(e)}),this.onDidChangeContext=this._onDidChangeContext.event,this._isDisposed=!1,this._myContextId=e}createKey(e,t){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new pr(this,e,t)}bufferChangeEvents(e){this._onDidChangeContext.pause();try{e()}finally{this._onDidChangeContext.resume()}}createScoped(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");return new Cr(this,e)}contextMatchesRules(e){if(this._isDisposed)throw new Error("AbstractContextKeyService has been disposed");const t=this.getContextValuesContainer(this._myContextId);return li.contextMatchesRules(t,e)}getContextKeyValue(e){if(!this._isDisposed)return this.getContextValuesContainer(this._myContextId).getValue(e)}setContext(e,t){if(this._isDisposed)return;const i=this.getContextValuesContainer(this._myContextId);i&&i.setValue(e,t)&&this._onDidChangeContext.fire(new mr(e))}removeContext(e){this._isDisposed||this.getContextValuesContainer(this._myContextId).removeValue(e)&&this._onDidChangeContext.fire(new mr(e))}getContext(e){return this._isDisposed?ur.INSTANCE:this.getContextValuesContainer(function(e){for(;e;){if(e.hasAttribute("data-keybinding-context")){const t=e.getAttribute("data-keybinding-context");return t?parseInt(t,10):NaN}e=e.parentElement}return 0}(e))}}let vr=class extends br{constructor(e){super(0),this._contexts=new Map,this._toDispose=new de.b,this._lastContextId=0;const t=new gr(this._myContextId,e,this._onDidChangeContext);this._contexts.set(this._myContextId,t),this._toDispose.add(t)}dispose(){this._onDidChangeContext.dispose(),this._isDisposed=!0,this._toDispose.dispose()}getContextValuesContainer(e){return this._isDisposed?ur.INSTANCE:this._contexts.get(e)||ur.INSTANCE}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ContextKeyService has been disposed");let t=++this._lastContextId;return this._contexts.set(t,new dr(t,this.getContextValuesContainer(e))),t}disposeContext(e){this._isDisposed||this._contexts.delete(e)}};vr=cr([hr(0,ei.a)],vr);class Cr extends br{constructor(e,t){if(super(e.createChildContext()),this._parentChangeListener=new de.d,this._parent=e,this._updateParentChangeListener(),this._domNode=t,this._domNode.hasAttribute("data-keybinding-context")){let e="";this._domNode.classList&&(e=Array.from(this._domNode.classList.values()).join(", ")),console.error("Element already has context attribute"+(e?": "+e:""))}this._domNode.setAttribute("data-keybinding-context",String(this._myContextId))}_updateParentChangeListener(){this._parentChangeListener.value=this._parent.onDidChangeContext(this._onDidChangeContext.fire,this._onDidChangeContext)}dispose(){this._isDisposed||(this._onDidChangeContext.dispose(),this._parent.disposeContext(this._myContextId),this._parentChangeListener.dispose(),this._domNode.removeAttribute("data-keybinding-context"),this._isDisposed=!0)}getContextValuesContainer(e){return this._isDisposed?ur.INSTANCE:this._parent.getContextValuesContainer(e)}createChildContext(e=this._myContextId){if(this._isDisposed)throw new Error("ScopedContextKeyService has been disposed");return this._parent.createChildContext(e)}disposeContext(e){this._isDisposed||this._parent.disposeContext(e)}}ie.a.registerCommand(tn.d,(function(e,t,i){e.get(tn.b).createKey(String(t),i)})),ie.a.registerCommand({id:"getContextKeyInfo",handler:()=>[...tn.c.all()].sort((e,t)=>e.key.localeCompare(t.key)),description:{description:Object(si.a)("getContextKeyInfo","A command that returns information about context keys"),args:[]}}),ie.a.registerCommand("_generateContextKeyInfo",(function(){const e=[],t=new Set;for(let i of tn.c.all())t.has(i.key)||(t.add(i.key),e.push(i));e.sort((e,t)=>e.key.localeCompare(t.key)),console.log(JSON.stringify(e,void 0,2))}));i(319),i(320);var wr,yr=i(87),Sr=i(161);function kr(e,t,i){const n=i.mode===wr.ALIGN?i.offset:i.offset+i.size,o=i.mode===wr.ALIGN?i.offset+i.size:i.offset;return 0===i.position?t<=e-n?n:t<=o?o-t:Math.max(e-t,0):t<=o?o-t:t<=e-n?n:0}!function(e){e[e.AVOID=0]="AVOID",e[e.ALIGN=1]="ALIGN"}(wr||(wr={}));class xr extends de.a{constructor(e,t){super(),this.container=null,this.delegate=null,this.toDisposeOnClean=de.a.None,this.toDisposeOnSetContainer=de.a.None,this.shadowRoot=null,this.shadowRootHostElement=null,this.view=Z.a(".context-view"),this.useFixedPosition=!1,this.useShadowDOM=!1,Z.J(this.view),this.setContainer(e,t),this._register(Object(de.h)(()=>this.setContainer(null,1)))}setContainer(e,t){var i;if(this.container&&(this.toDisposeOnSetContainer.dispose(),this.shadowRoot?(this.shadowRoot.removeChild(this.view),this.shadowRoot=null,null===(i=this.shadowRootHostElement)||void 0===i||i.remove(),this.shadowRootHostElement=null):this.container.removeChild(this.view),this.container=null),e){if(this.container=e,this.useFixedPosition=1!==t,this.useShadowDOM=3===t,this.useShadowDOM){this.shadowRootHostElement=Z.a(".shadow-root-host"),this.container.appendChild(this.shadowRootHostElement),this.shadowRoot=this.shadowRootHostElement.attachShadow({mode:"open"});const e=document.createElement("style");e.textContent=Dr,this.shadowRoot.appendChild(e),this.shadowRoot.appendChild(this.view),this.shadowRoot.appendChild(Z.a("slot"))}else this.container.appendChild(this.view);const i=new de.b;xr.BUBBLE_UP_EVENTS.forEach(e=>{i.add(Z.n(this.container,e,e=>{this.onDOMEvent(e,!1)}))}),xr.BUBBLE_DOWN_EVENTS.forEach(e=>{i.add(Z.n(this.container,e,e=>{this.onDOMEvent(e,!0)},!0))}),this.toDisposeOnSetContainer=i}}show(e){this.isVisible()&&this.hide(),Z.s(this.view),this.view.className="context-view",this.view.style.top="0px",this.view.style.left="0px",this.view.style.zIndex="2500",this.view.style.position=this.useFixedPosition?"fixed":"absolute",Z.U(this.view),this.toDisposeOnClean=e.render(this.view)||de.a.None,this.delegate=e,this.doLayout(),this.delegate.focus&&this.delegate.focus()}getViewElement(){return this.view}layout(){this.isVisible()&&(!1!==this.delegate.canRelayout||xe.c&&Sr.a.pointerEvents?(this.delegate.layout&&this.delegate.layout(),this.doLayout()):this.hide())}doLayout(){if(!this.isVisible())return;let e,t=this.delegate.getAnchor();if(Z.L(t)){let i=Z.C(t);e={top:i.top,left:i.left,width:i.width,height:i.height}}else e={top:t.y,left:t.x,width:t.width||1,height:t.height||2};const i=Z.H(this.view),n=Z.G(this.view),o=this.delegate.anchorPosition||0,r=this.delegate.anchorAlignment||0;let s,a;if(0===(this.delegate.anchorAxisAlignment||0)){const t={offset:e.top-window.pageYOffset,size:e.height,position:0===o?0:1},l={offset:e.left,size:e.width,position:0===r?0:1,mode:wr.ALIGN};s=kr(window.innerHeight,n,t)+window.pageYOffset,yr.a.intersects({start:s,end:s+n},{start:t.offset,end:t.offset+t.size})&&(l.mode=wr.AVOID),a=kr(window.innerWidth,i,l)}else{const t={offset:e.left,size:e.width,position:0===r?0:1},l={offset:e.top,size:e.height,position:0===o?0:1,mode:wr.ALIGN};a=kr(window.innerWidth,i,t),yr.a.intersects({start:a,end:a+i},{start:t.offset,end:t.offset+t.size})&&(l.mode=wr.AVOID),s=kr(window.innerHeight,n,l)+window.pageYOffset}this.view.classList.remove("top","bottom","left","right"),this.view.classList.add(0===o?"bottom":"top"),this.view.classList.add(0===r?"left":"right"),this.view.classList.toggle("fixed",this.useFixedPosition);const l=Z.C(this.container);this.view.style.top=s-(this.useFixedPosition?Z.C(this.view).top:l.top)+"px",this.view.style.left=a-(this.useFixedPosition?Z.C(this.view).left:l.left)+"px",this.view.style.width="initial"}hide(e){const t=this.delegate;this.delegate=null,(null==t?void 0:t.onHide)&&t.onHide(e),this.toDisposeOnClean.dispose(),Z.J(this.view)}isVisible(){return!!this.delegate}onDOMEvent(e,t){this.delegate&&(this.delegate.onDOMEvent?this.delegate.onDOMEvent(e,document.activeElement):t&&!Z.K(e.target,this.container)&&this.hide())}dispose(){this.hide(),super.dispose()}}xr.BUBBLE_UP_EVENTS=["click","keydown","focus","blur"],xr.BUBBLE_DOWN_EVENTS=["click"];let Dr='\n\t:host {\n\t\tall: initial; /* 1st rule so subsequent properties are reset. */\n\t}\n\n\t@font-face {\n\t\tfont-family: "codicon";\n\t\tsrc: url("./codicon.ttf?5d4d76ab2ce5108968ad644d591a16a6") format("truetype");\n\t}\n\n\t.codicon[class*=\'codicon-\'] {\n\t\tfont: normal normal normal 16px/1 codicon;\n\t\tdisplay: inline-block;\n\t\ttext-decoration: none;\n\t\ttext-rendering: auto;\n\t\ttext-align: center;\n\t\t-webkit-font-smoothing: antialiased;\n\t\t-moz-osx-font-smoothing: grayscale;\n\t\tuser-select: none;\n\t\t-webkit-user-select: none;\n\t\t-ms-user-select: none;\n\t}\n\n\t:host {\n\t\tfont-family: -apple-system, BlinkMacSystemFont, "Segoe WPC", "Segoe UI", "HelveticaNeue-Light", system-ui, "Ubuntu", "Droid Sans", sans-serif;\n\t}\n\n\t:host-context(.mac) { font-family: -apple-system, BlinkMacSystemFont, sans-serif; }\n\t:host-context(.mac:lang(zh-Hans)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang SC", "Hiragino Sans GB", sans-serif; }\n\t:host-context(.mac:lang(zh-Hant)) { font-family: -apple-system, BlinkMacSystemFont, "PingFang TC", sans-serif; }\n\t:host-context(.mac:lang(ja)) { font-family: -apple-system, BlinkMacSystemFont, "Hiragino Kaku Gothic Pro", sans-serif; }\n\t:host-context(.mac:lang(ko)) { font-family: -apple-system, BlinkMacSystemFont, "Nanum Gothic", "Apple SD Gothic Neo", "AppleGothic", sans-serif; }\n\n\t:host-context(.windows) { font-family: "Segoe WPC", "Segoe UI", sans-serif; }\n\t:host-context(.windows:lang(zh-Hans)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft YaHei", sans-serif; }\n\t:host-context(.windows:lang(zh-Hant)) { font-family: "Segoe WPC", "Segoe UI", "Microsoft Jhenghei", sans-serif; }\n\t:host-context(.windows:lang(ja)) { font-family: "Segoe WPC", "Segoe UI", "Yu Gothic UI", "Meiryo UI", sans-serif; }\n\t:host-context(.windows:lang(ko)) { font-family: "Segoe WPC", "Segoe UI", "Malgun Gothic", "Dotom", sans-serif; }\n\n\t:host-context(.linux) { font-family: system-ui, "Ubuntu", "Droid Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hans)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans SC", "Source Han Sans CN", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(zh-Hant)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans TC", "Source Han Sans TW", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ja)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans J", "Source Han Sans JP", "Source Han Sans", sans-serif; }\n\t:host-context(.linux:lang(ko)) { font-family: system-ui, "Ubuntu", "Droid Sans", "Source Han Sans K", "Source Han Sans JR", "Source Han Sans", "UnDotum", "FBaekmuk Gulim", sans-serif; }\n';var Lr=i(114),Er=i(182),Nr=i(30),Or=i(62),Ir=i(96);const Ar=/\(&([^\s&])\)|(^|[^&])&([^\s&])/,Mr=/(&)?(&)([^\s&])/g,Tr=Object(rn.d)("menu-selection",rn.b.check),Rr=Object(rn.d)("menu-submenu",rn.b.chevronRight);var Pr;!function(e){e[e.Right=0]="Right",e[e.Left=1]="Left"}(Pr||(Pr={}));class Fr extends Zi.a{constructor(e,t,i={}){e.classList.add("monaco-menu-container"),e.setAttribute("role","presentation");const n=document.createElement("div");n.classList.add("monaco-menu"),n.setAttribute("role","presentation"),super(n,{orientation:2,actionViewItemProvider:e=>this.doGetActionViewItem(e,i,o),context:i.context,actionRunner:i.actionRunner,ariaLabel:i.ariaLabel,focusOnlyEnabledItems:!0,triggerKeys:{keys:[3,...xe.f||xe.d?[10]:[]],keyDown:!0}}),this.menuElement=n,this.actionsList.setAttribute("role","menu"),this.actionsList.tabIndex=0,this.menuDisposables=this._register(new de.b),this.initializeStyleSheet(e),Object(Z.i)(n,Z.d.KEY_DOWN,e=>{new Gt.a(e).equals(2)&&e.preventDefault()}),i.enableMnemonics&&this.menuDisposables.add(Object(Z.i)(n,Z.d.KEY_DOWN,e=>{const t=e.key.toLocaleLowerCase();if(this.mnemonics.has(t)){Z.c.stop(e,!0);const i=this.mnemonics.get(t);if(1===i.length&&(i[0]instanceof Wr&&i[0].container&&this.focusItemByElement(i[0].container),i[0].onClick(e)),i.length>1){const e=i.shift();e&&e.container&&(this.focusItemByElement(e.container),i.push(e)),this.mnemonics.set(t,i)}}})),xe.d&&this._register(Object(Z.i)(n,Z.d.KEY_DOWN,e=>{const t=new Gt.a(e);t.equals(14)||t.equals(11)?(this.focusedItem=this.viewItems.length-1,this.focusNext(),Z.c.stop(e,!0)):(t.equals(13)||t.equals(12))&&(this.focusedItem=0,this.focusPrevious(),Z.c.stop(e,!0))})),this._register(Object(Z.i)(this.domNode,Z.d.MOUSE_OUT,e=>{let t=e.relatedTarget;Object(Z.K)(t,this.domNode)||(this.focusedItem=void 0,this.updateFocus(),e.stopPropagation())})),this._register(Object(Z.i)(this.actionsList,Z.d.MOUSE_OVER,e=>{let t=e.target;if(t&&Object(Z.K)(t,this.actionsList)&&t!==this.actionsList){for(;t.parentElement!==this.actionsList&&null!==t.parentElement;)t=t.parentElement;if(t.classList.contains("action-item")){const e=this.focusedItem;this.setFocusedItem(t),e!==this.focusedItem&&this.updateFocus()}}}));let o={parent:this};this.mnemonics=new Map,this.scrollableElement=this._register(new Xi.a(n,{alwaysConsumeMouseWheel:!0,horizontal:2,vertical:3,verticalScrollbarSize:7,handleMouseWheel:!0,useShadows:!0}));const r=this.scrollableElement.getDomNode();r.style.position="",this._register(Object(Z.i)(r,Z.d.MOUSE_UP,e=>{e.preventDefault()})),n.style.maxHeight=Math.max(10,window.innerHeight-e.getBoundingClientRect().top-35)+"px",t=t.filter(e=>{var t;return!(null===(t=i.submenuIds)||void 0===t?void 0:t.has(e.id))||(console.warn("Found submenu cycle: "+e.id),!1)}),this.push(t,{icon:!0,label:!0,isMenu:!0}),e.appendChild(this.scrollableElement.getDomNode()),this.scrollableElement.scanDomNode(),this.viewItems.filter(e=>!(e instanceof jr)).forEach((e,t,i)=>{e.updatePositionInSet(t+1,i.length)})}initializeStyleSheet(e){Object(Z.N)(e)?(this.styleSheet=Object(Z.v)(e),this.styleSheet.textContent=Vr):(Fr.globalStyleSheet||(Fr.globalStyleSheet=Object(Z.v)(),Fr.globalStyleSheet.textContent=Vr),this.styleSheet=Fr.globalStyleSheet)}style(e){const t=this.getContainer(),i=e.foregroundColor?""+e.foregroundColor:"",n=e.backgroundColor?""+e.backgroundColor:"",o=e.borderColor?"1px solid "+e.borderColor:"",r=e.shadowColor?"0 2px 4px "+e.shadowColor:"";t.style.border=o,this.domNode.style.color=i,this.domNode.style.backgroundColor=n,t.style.boxShadow=r,this.viewItems&&this.viewItems.forEach(t=>{(t instanceof Br||t instanceof jr)&&t.style(e)})}getContainer(){return this.scrollableElement.getDomNode()}get onScroll(){return this.scrollableElement.onScroll}focusItemByElement(e){const t=this.focusedItem;this.setFocusedItem(e),t!==this.focusedItem&&this.updateFocus()}setFocusedItem(e){for(let t=0;t{this.element&&(this._register(Object(Z.i)(this.element,Z.d.MOUSE_UP,e=>{if(Z.c.stop(e,!0),Nr.i){if(new Or.a(e).rightButton)return;this.onClick(e)}else setTimeout(()=>{this.onClick(e)},0)})),this._register(Object(Z.i)(this.element,Z.d.CONTEXT_MENU,e=>{Z.c.stop(e,!0)})))},100),this._register(this.runOnceToEnableMouseUp)}render(e){super.render(e),this.element&&(this.container=e,this.item=Object(Z.p)(this.element,Object(Z.a)("a.action-menu-item")),this._action.id===Ji.d.ID?this.item.setAttribute("role","presentation"):(this.item.setAttribute("role","menuitem"),this.mnemonic&&this.item.setAttribute("aria-keyshortcuts",""+this.mnemonic)),this.check=Object(Z.p)(this.item,Object(Z.a)("span.menu-item-check"+Tr.cssSelector)),this.check.setAttribute("role","none"),this.label=Object(Z.p)(this.item,Object(Z.a)("span.action-label")),this.options.label&&this.options.keybinding&&(Object(Z.p)(this.item,Object(Z.a)("span.keybinding")).textContent=this.options.keybinding),this.runOnceToEnableMouseUp.schedule(),this.updateClass(),this.updateLabel(),this.updateTooltip(),this.updateEnabled(),this.updateChecked())}blur(){super.blur(),this.applyStyle()}focus(){super.focus(),this.item&&this.item.focus(),this.applyStyle()}updatePositionInSet(e,t){this.item&&(this.item.setAttribute("aria-posinset",""+e),this.item.setAttribute("aria-setsize",""+t))}updateLabel(){if(this.label&&this.options.label){Object(Z.s)(this.label);let e=Object(Ir.e)(this.getAction().label);if(e){const t=function(e){const t=Ar,i=t.exec(e);if(!i)return e;const n=!i[1];return e.replace(t,n?"$2$3":"").trim()}(e);this.options.enableMnemonics||(e=t),this.label.setAttribute("aria-label",t.replace(/&&/g,"&"));const i=Ar.exec(e);if(i){e=Be.t(e),Mr.lastIndex=0;let t=Mr.exec(e);for(;t&&t[1];)t=Mr.exec(e);const n=e=>e.replace(/&&/g,"&");t?this.label.append(Be.J(n(e.substr(0,t.index))," "),Object(Z.a)("u",{"aria-hidden":"true"},t[3]),Be.O(n(e.substr(t.index+t[0].length))," ")):this.label.innerText=n(e).trim(),this.item&&this.item.setAttribute("aria-keyshortcuts",(i[1]?i[1]:i[3]).toLocaleLowerCase())}else this.label.innerText=e.replace(/&&/g,"&").trim()}}}updateTooltip(){let e=null;this.getAction().tooltip?e=this.getAction().tooltip:!this.options.label&&this.getAction().label&&this.options.icon&&(e=this.getAction().label,this.options.keybinding&&(e=si.a({key:"titleLabel",comment:["action title","action keybinding"]},"{0} ({1})",e,this.options.keybinding))),e&&this.item&&(this.item.title=e)}updateClass(){this.cssClass&&this.item&&this.item.classList.remove(...this.cssClass.split(" ")),this.options.icon&&this.label?(this.cssClass=this.getAction().class||"",this.label.classList.add("icon"),this.cssClass&&this.label.classList.add(...this.cssClass.split(" ")),this.updateEnabled()):this.label&&this.label.classList.remove("icon")}updateEnabled(){this.getAction().enabled?(this.element&&(this.element.classList.remove("disabled"),this.element.removeAttribute("aria-disabled")),this.item&&(this.item.classList.remove("disabled"),this.item.removeAttribute("aria-disabled"),this.item.tabIndex=0)):(this.element&&(this.element.classList.add("disabled"),this.element.setAttribute("aria-disabled","true")),this.item&&(this.item.classList.add("disabled"),this.item.setAttribute("aria-disabled","true")))}updateChecked(){this.item&&(this.getAction().checked?(this.item.classList.add("checked"),this.item.setAttribute("role","menuitemcheckbox"),this.item.setAttribute("aria-checked","true")):(this.item.classList.remove("checked"),this.item.setAttribute("role","menuitem"),this.item.setAttribute("aria-checked","false")))}getMnemonic(){return this.mnemonic}applyStyle(){if(!this.menuStyle)return;const e=this.element&&this.element.classList.contains("focused"),t=e&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor,i=e&&this.menuStyle.selectionBackgroundColor?this.menuStyle.selectionBackgroundColor:void 0,n=e&&this.menuStyle.selectionBorderColor?"thin solid "+this.menuStyle.selectionBorderColor:"";this.item&&(this.item.style.color=t?t.toString():"",this.item.style.backgroundColor=i?i.toString():""),this.check&&(this.check.style.color=t?t.toString():""),this.container&&(this.container.style.border=n)}style(e){this.menuStyle=e,this.applyStyle()}}class Wr extends Br{constructor(e,t,i,n){super(e,e,n),this.submenuActions=t,this.parentData=i,this.submenuOptions=n,this.mysubmenu=null,this.submenuDisposables=this._register(new de.b),this.mouseOver=!1,this.expandDirection=n&&void 0!==n.expandDirection?n.expandDirection:Pr.Right,this.showScheduler=new Se.e(()=>{this.mouseOver&&(this.cleanupExistingSubmenu(!1),this.createSubmenu(!1))},250),this.hideScheduler=new Se.e(()=>{this.element&&!Object(Z.K)(Object(Z.x)(),this.element)&&this.parentData.submenu===this.mysubmenu&&(this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!0))},750)}render(e){super.render(e),this.element&&(this.item&&(this.item.classList.add("monaco-submenu-item"),this.item.tabIndex=0,this.item.setAttribute("aria-haspopup","true"),this.updateAriaExpanded("false"),this.submenuIndicator=Object(Z.p)(this.item,Object(Z.a)("span.submenu-indicator"+Rr.cssSelector)),this.submenuIndicator.setAttribute("aria-hidden","true")),this._register(Object(Z.i)(this.element,Z.d.KEY_UP,e=>{let t=new Gt.a(e);(t.equals(17)||t.equals(3))&&(Z.c.stop(e,!0),this.createSubmenu(!0))})),this._register(Object(Z.i)(this.element,Z.d.KEY_DOWN,e=>{let t=new Gt.a(e);Object(Z.x)()===this.item&&(t.equals(17)||t.equals(3))&&Z.c.stop(e,!0)})),this._register(Object(Z.i)(this.element,Z.d.MOUSE_OVER,e=>{this.mouseOver||(this.mouseOver=!0,this.showScheduler.schedule())})),this._register(Object(Z.i)(this.element,Z.d.MOUSE_LEAVE,e=>{this.mouseOver=!1})),this._register(Object(Z.i)(this.element,Z.d.FOCUS_OUT,e=>{this.element&&!Object(Z.K)(Object(Z.x)(),this.element)&&this.hideScheduler.schedule()})),this._register(this.parentData.parent.onScroll(()=>{this.parentData.parent.focus(!1),this.cleanupExistingSubmenu(!1)})))}updateEnabled(){}onClick(e){Z.c.stop(e,!0),this.cleanupExistingSubmenu(!1),this.createSubmenu(!0)}cleanupExistingSubmenu(e){if(this.parentData.submenu&&(e||this.parentData.submenu!==this.mysubmenu)){try{this.parentData.submenu.dispose()}catch(e){}this.parentData.submenu=void 0,this.updateAriaExpanded("false"),this.submenuContainer&&(this.submenuDisposables.clear(),this.submenuContainer=void 0)}}calculateSubmenuMenuLayout(e,t,i,n){const o={top:0,left:0};return o.left=kr(e.width,t.width,{position:n===Pr.Right?0:1,offset:i.left,size:i.width}),o.left>=i.left&&o.left{new Gt.a(e).equals(15)&&(Z.c.stop(e,!0),this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0))})),this.submenuDisposables.add(Object(Z.i)(this.submenuContainer,Z.d.KEY_DOWN,e=>{new Gt.a(e).equals(15)&&Z.c.stop(e,!0)})),this.submenuDisposables.add(this.parentData.submenu.onDidCancel(()=>{this.parentData.parent.focus(),this.cleanupExistingSubmenu(!0)})),this.parentData.submenu.focus(e),this.mysubmenu=this.parentData.submenu}}updateAriaExpanded(e){var t;this.item&&(null===(t=this.item)||void 0===t||t.setAttribute("aria-expanded",e))}applyStyle(){if(super.applyStyle(),!this.menuStyle)return;const e=this.element&&this.element.classList.contains("focused")&&this.menuStyle.selectionForegroundColor?this.menuStyle.selectionForegroundColor:this.menuStyle.foregroundColor;this.submenuIndicator&&(this.submenuIndicator.style.color=e?""+e:""),this.parentData.submenu&&this.parentData.submenu.style(this.menuStyle)}dispose(){super.dispose(),this.hideScheduler.dispose(),this.mysubmenu&&(this.mysubmenu.dispose(),this.mysubmenu=null),this.submenuContainer&&(this.submenuContainer=void 0)}}class jr extends Lr.a{style(e){this.label&&(this.label.style.borderBottomColor=e.separatorColor?""+e.separatorColor:"")}}let Vr=`\n.monaco-menu {\n\tfont-size: 13px;\n\n}\n\n${Object(Er.a)(Tr)}\n${Object(Er.a)(Rr)}\n\n.monaco-menu .monaco-action-bar {\n\ttext-align: right;\n\toverflow: hidden;\n\twhite-space: nowrap;\n}\n\n.monaco-menu .monaco-action-bar .actions-container {\n\tdisplay: flex;\n\tmargin: 0 auto;\n\tpadding: 0;\n\twidth: 100%;\n\tjustify-content: flex-end;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar.reverse .actions-container {\n\tflex-direction: row-reverse;\n}\n\n.monaco-menu .monaco-action-bar .action-item {\n\tcursor: pointer;\n\tdisplay: inline-block;\n\ttransition: transform 50ms ease;\n\tposition: relative; /* DO NOT REMOVE - this is the key to preventing the ghosting icon bug in Chrome 42 */\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled {\n\tcursor: default;\n}\n\n.monaco-menu .monaco-action-bar.animated .action-item.active {\n\ttransform: scale(1.272019649, 1.272019649); /* 1.272019649 = √φ */\n}\n\n.monaco-menu .monaco-action-bar .action-item .icon,\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: inline-block;\n}\n\n.monaco-menu .monaco-action-bar .action-item .codicon {\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar .action-label {\n\tfont-size: 11px;\n\tmargin-right: 4px;\n}\n\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label,\n.monaco-menu .monaco-action-bar .action-item.disabled .action-label:hover {\n\topacity: 0.4;\n}\n\n/* Vertical actions */\n\n.monaco-menu .monaco-action-bar.vertical {\n\ttext-align: left;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tdisplay: block;\n\tborder-bottom: 1px solid #bbb;\n\tpadding-top: 1px;\n\tmargin-left: .8em;\n\tmargin-right: .8em;\n}\n\n.monaco-menu .secondary-actions .monaco-action-bar .action-label {\n\tmargin-left: 6px;\n}\n\n/* Action Items */\n.monaco-menu .monaco-action-bar .action-item.select-container {\n\toverflow: hidden; /* somehow the dropdown overflows its container, we prevent it here to not push */\n\tflex: 1;\n\tmax-width: 170px;\n\tmin-width: 60px;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n\tmargin-right: 10px;\n}\n\n.monaco-menu .monaco-action-bar.vertical {\n\tmargin-left: 0;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .actions-container {\n\tdisplay: block;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tpadding: 0;\n\ttransform: none;\n\tdisplay: flex;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.active {\n\ttransform: none;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\tflex: 1 1 auto;\n\tdisplay: flex;\n\theight: 2em;\n\talign-items: center;\n\tposition: relative;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label {\n\tflex: 1 1 auto;\n\ttext-decoration: none;\n\tpadding: 0 1em;\n\tbackground: none;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .keybinding,\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tdisplay: inline-block;\n\tflex: 2 1 auto;\n\tpadding: 0 1em;\n\ttext-align: right;\n\tfont-size: 12px;\n\tline-height: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon {\n\tfont-size: 16px !important;\n\tdisplay: flex;\n\talign-items: center;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator.codicon::before {\n\tmargin-left: auto;\n\tmargin-right: -20px;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .keybinding,\n.monaco-menu .monaco-action-bar.vertical .action-item.disabled .submenu-indicator {\n\topacity: 0.4;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator) {\n\tdisplay: inline-block;\n\tbox-sizing: border-box;\n\tmargin: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tposition: static;\n\toverflow: visible;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item .monaco-submenu {\n\tposition: absolute;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tpadding: 0.5em 0 0 0;\n\tmargin-bottom: 0.5em;\n\twidth: 100%;\n\theight: 0px !important;\n\tmargin-left: .8em !important;\n\tmargin-right: .8em !important;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator.text {\n\tpadding: 0.7em 1em 0.1em 1em;\n\tfont-weight: bold;\n\topacity: 1;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:hover {\n\tcolor: inherit;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tposition: absolute;\n\tvisibility: hidden;\n\twidth: 1em;\n\theight: 100%;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item.checked .menu-item-check {\n\tvisibility: visible;\n\tdisplay: flex;\n\talign-items: center;\n\tjustify-content: center;\n}\n\n/* Context Menu */\n\n.context-view.monaco-menu-container {\n\toutline: 0;\n\tborder: none;\n\tanimation: fadeIn 0.083s linear;\n\t-webkit-app-region: no-drag;\n}\n\n.context-view.monaco-menu-container :focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical:focus,\n.context-view.monaco-menu-container .monaco-action-bar.vertical :focus {\n\toutline: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-item {\n\tborder: thin solid transparent; /* prevents jumping behaviour on hover or focus */\n}\n\n\n/* High Contrast Theming */\n:host-context(.hc-black) .context-view.monaco-menu-container {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-menu .monaco-action-bar.vertical .action-item.focused {\n\tbackground: none;\n}\n\n/* Vertical Action Bar Styles */\n\n.monaco-menu .monaco-action-bar.vertical {\n\tpadding: .5em 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-menu-item {\n\theight: 1.8em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label:not(.separator),\n.monaco-menu .monaco-action-bar.vertical .keybinding {\n\tfont-size: inherit;\n\tpadding: 0 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .menu-item-check {\n\tfont-size: inherit;\n\twidth: 2em;\n}\n\n.monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tfont-size: inherit;\n\tpadding: 0.2em 0 0 0;\n\tmargin-bottom: 0.2em;\n}\n\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .action-label.separator {\n\tmargin-left: 0;\n\tmargin-right: 0;\n}\n\n.monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\tfont-size: 60%;\n\tpadding: 0 1.8em;\n}\n\n:host-context(.linux) .monaco-menu .monaco-action-bar.vertical .submenu-indicator {\n\theight: 100%;\n\tmask-size: 10px 10px;\n\t-webkit-mask-size: 10px 10px;\n}\n\n.monaco-menu .action-item {\n\tcursor: default;\n}\n\n/* Arrows */\n.monaco-scrollable-element > .scrollbar > .scra {\n\tcursor: pointer;\n\tfont-size: 11px !important;\n}\n\n.monaco-scrollable-element > .visible {\n\topacity: 1;\n\n\t/* Background rule added for IE9 - to allow clicks on dom node */\n\tbackground:rgba(0,0,0,0);\n\n\ttransition: opacity 100ms linear;\n}\n.monaco-scrollable-element > .invisible {\n\topacity: 0;\n\tpointer-events: none;\n}\n.monaco-scrollable-element > .invisible.fade {\n\ttransition: opacity 800ms linear;\n}\n\n/* Scrollable Content Inset Shadow */\n.monaco-scrollable-element > .shadow {\n\tposition: absolute;\n\tdisplay: none;\n}\n.monaco-scrollable-element > .shadow.top {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 3px;\n\theight: 3px;\n\twidth: 100%;\n\tbox-shadow: #DDD 0 6px 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.left {\n\tdisplay: block;\n\ttop: 3px;\n\tleft: 0;\n\theight: 100%;\n\twidth: 3px;\n\tbox-shadow: #DDD 6px 0 6px -6px inset;\n}\n.monaco-scrollable-element > .shadow.top-left-corner {\n\tdisplay: block;\n\ttop: 0;\n\tleft: 0;\n\theight: 3px;\n\twidth: 3px;\n}\n.monaco-scrollable-element > .shadow.top.left {\n\tbox-shadow: #DDD 6px 6px 6px -6px inset;\n}\n\n/* ---------- Default Style ---------- */\n\n:host-context(.vs) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(100, 100, 100, .4);\n}\n:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(121, 121, 121, .4);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider {\n\tbackground: rgba(111, 195, 223, .6);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider:hover {\n\tbackground: rgba(100, 100, 100, .7);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider:hover {\n\tbackground: rgba(111, 195, 223, .8);\n}\n\n.monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(0, 0, 0, .6);\n}\n:host-context(.vs-dark) .monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(191, 191, 191, .4);\n}\n:host-context(.hc-black) .monaco-scrollable-element > .scrollbar > .slider.active {\n\tbackground: rgba(111, 195, 223, 1);\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.top {\n\tbox-shadow: none;\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.left {\n\tbox-shadow: #000 6px 0 6px -6px inset;\n}\n\n:host-context(.vs-dark) .monaco-scrollable-element .shadow.top.left {\n\tbox-shadow: #000 6px 6px 6px -6px inset;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.top {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.left {\n\tbox-shadow: none;\n}\n\n:host-context(.hc-black) .monaco-scrollable-element .shadow.top.left {\n\tbox-shadow: none;\n}\n`;var zr=i(72),Hr=i(28);class Ur{constructor(e,t,i,n,o){this.contextViewService=e,this.telemetryService=t,this.notificationService=i,this.keybindingService=n,this.themeService=o,this.focusToReturn=null,this.block=null,this.options={blockMouse:!0}}configure(e){this.options=e}showContextMenu(e){const t=e.getActions();if(!t.length)return;let i;this.focusToReturn=document.activeElement;let n=Object(Z.L)(e.domForShadowRoot)?e.domForShadowRoot:void 0;this.contextViewService.showContextView({getAnchor:()=>e.getAnchor(),canRelayout:!1,anchorAlignment:e.anchorAlignment,anchorAxisAlignment:e.anchorAxisAlignment,render:n=>{let o=e.getMenuClassName?e.getMenuClassName():"";o&&(n.className+=" "+o),this.options.blockMouse&&(this.block=n.appendChild(Object(Z.a)(".context-view-block")),this.block.style.position="fixed",this.block.style.cursor="initial",this.block.style.left="0",this.block.style.top="0",this.block.style.width="100%",this.block.style.height="100%",this.block.style.zIndex="-1",Object(Hr.a)(this.block,Z.d.MOUSE_DOWN)(e=>e.stopPropagation()));const r=new de.b,s=e.actionRunner||new Ji.b;return s.onBeforeRun(this.onActionRun,this,r),s.onDidRun(this.onDidActionRun,this,r),i=new Fr(n,t,{actionViewItemProvider:e.getActionViewItem,context:e.getActionsContext?e.getActionsContext():null,actionRunner:s,getKeyBinding:e.getKeyBinding?e.getKeyBinding:e=>this.keybindingService.lookupKeybinding(e.id)}),r.add(Object(zr.c)(i,this.themeService)),i.onDidCancel(()=>this.contextViewService.hideContextView(!0),null,r),i.onDidBlur(()=>this.contextViewService.hideContextView(!0),null,r),Object(Hr.a)(window,Z.d.BLUR)(()=>{this.contextViewService.hideContextView(!0)},null,r),Object(Hr.a)(window,Z.d.MOUSE_DOWN)(e=>{if(e.defaultPrevented)return;let t=new Or.a(e),i=t.target;if(!t.rightButton){for(;i;){if(i===n)return;i=i.parentElement}this.contextViewService.hideContextView(!0)}},null,r),Object(de.e)(r,i)},focus:()=>{i&&i.focus(!!e.autoSelectFirstItem)},onHide:t=>{e.onHide&&e.onHide(!!t),this.block&&(this.block.remove(),this.block=null),this.focusToReturn&&this.focusToReturn.focus()}},n,!!n)}onActionRun(e){this.telemetryService&&this.telemetryService.publicLog2("workbenchActionExecuted",{id:e.action.id,from:"contextMenu"}),this.contextViewService.hideContextView(!1),this.focusToReturn&&this.focusToReturn.focus()}onDidActionRun(e){e.error&&this.notificationService.error(e.error)}}var Kr=i(111),qr=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},$r=function(e,t){return function(i,n){t(i,n,e)}};let Gr=class extends de.a{constructor(e,t,i,n,o){super(),this.contextMenuHandler=new Ur(i,e,t,n,o)}configure(e){this.contextMenuHandler.configure(e)}showContextMenu(e){this.contextMenuHandler.showContextMenu(e),Z.e.getInstance().resetKeyStatus()}};Gr=qr([$r(0,Kr.a),$r(1,Ci.a),$r(2,yn.b),$r(3,to.a),$r(4,on.b)],Gr);const Yr=Object(Cn.c)("layoutService");var Zr=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},Xr=function(e,t){return function(i,n){t(i,n,e)}};let Jr=class extends de.a{constructor(e){super(),this.layoutService=e,this.currentViewDisposable=de.a.None,this.container=e.container,this.contextView=this._register(new xr(this.container,1)),this.layout(),this._register(e.onDidLayout(()=>this.layout()))}setContainer(e,t){this.contextView.setContainer(e,t||1)}showContextView(e,t,i){t?t!==this.container&&(this.container=t,this.setContainer(t,i?3:2)):this.container!==this.layoutService.container&&(this.container=this.layoutService.container,this.setContainer(this.container,1)),this.contextView.show(e);const n=Object(de.h)(()=>{this.currentViewDisposable===n&&this.hideContextView()});return this.currentViewDisposable=n,n}getContextViewElement(){return this.contextView.getViewElement()}layout(){this.contextView.layout()}hideContextView(e){this.contextView.hide(e)}};Jr=Zr([Xr(0,Yr)],Jr);var Qr=i(172);class es{constructor(e){this.incoming=new Map,this.outgoing=new Map,this.data=e}}class ts{constructor(e){this._hashFn=e,this._nodes=new Map}roots(){const e=[];for(let t of this._nodes.values())0===t.outgoing.size&&e.push(t);return e}insertEdge(e,t){const i=this.lookupOrInsertNode(e),n=this.lookupOrInsertNode(t);i.outgoing.set(this._hashFn(t),n),n.incoming.set(this._hashFn(e),i)}removeNode(e){const t=this._hashFn(e);this._nodes.delete(t);for(let e of this._nodes.values())e.outgoing.delete(t),e.incoming.delete(t)}lookupOrInsertNode(e){const t=this._hashFn(e);let i=this._nodes.get(t);return i||(i=new es(e),this._nodes.set(t,i)),i}isEmpty(){return 0===this._nodes.size}toString(){let e=[];for(let[t,i]of this._nodes)e.push(`${t}, (incoming)[${[...i.incoming.keys()].join(", ")}], (outgoing)[${[...i.outgoing.keys()].join(",")}]`);return e.join("\n")}}var is=i(145);class ns extends Error{constructor(e){super("cyclic dependency between services"),this.message=e.toString()}}class os{constructor(e=new wn.a,t=!1,i){this._activeInstantiations=new Set,this._services=e,this._strict=t,this._parent=i,this._services.set(Cn.a,this)}createChild(e){return new os(e,this._strict,this)}invokeFunction(e,...t){let i=rs.traceInvocation(e),n=!1;try{return e({get:(e,t)=>{if(n)throw Object(ke.c)("service accessor is only valid during the invocation of its target method");const o=this._getOrCreateServiceInstance(e,i);if(!o&&t!==Cn.d)throw new Error(`[invokeFunction] unknown service '${e}'`);return o}},...t)}finally{n=!0,i.stop()}}createInstance(e,...t){let i,n;return e instanceof is.a?(i=rs.traceCreation(e.ctor),n=this._createInstance(e.ctor,e.staticArguments.concat(t),i)):(i=rs.traceCreation(e),n=this._createInstance(e,t,i)),i.stop(),n}_createInstance(e,t=[],i){let n=Cn.b.getServiceDependencies(e).sort((e,t)=>e.index-t.index),o=[];for(const t of n){let n=this._getOrCreateServiceInstance(t.id,i);if(!n&&this._strict&&!t.optional)throw new Error(`[createInstance] ${e.name} depends on UNKNOWN service ${t.id}.`);o.push(n)}let r=n.length>0?n[0].index:t.length;if(t.length!==r){console.warn(`[createInstance] First service dependency of ${e.name} at position ${r+1} conflicts with ${t.length} static arguments`);let i=r-t.length;t=i>0?t.concat(new Array(i)):t.slice(0,r)}return new e(...[...t,...o])}_setServiceInstance(e,t){if(this._services.get(e)instanceof is.a)this._services.set(e,t);else{if(!this._parent)throw new Error("illegalState - setting UNKNOWN service instance");this._parent._setServiceInstance(e,t)}}_getServiceInstanceOrDescriptor(e){let t=this._services.get(e);return!t&&this._parent?this._parent._getServiceInstanceOrDescriptor(e):t}_getOrCreateServiceInstance(e,t){let i=this._getServiceInstanceOrDescriptor(e);return i instanceof is.a?this._safeCreateAndCacheServiceInstance(e,i,t.branch(e,!0)):(t.branch(e,!1),i)}_safeCreateAndCacheServiceInstance(e,t,i){if(this._activeInstantiations.has(e))throw new Error(`illegal state - RECURSIVELY instantiating service '${e}'`);this._activeInstantiations.add(e);try{return this._createAndCacheServiceInstance(e,t,i)}finally{this._activeInstantiations.delete(e)}}_createAndCacheServiceInstance(e,t,i){const n=new ts(e=>e.id.toString());let o=0;const r=[{id:e,desc:t,_trace:i}];for(;r.length;){const t=r.pop();if(n.lookupOrInsertNode(t),o++>1e3)throw new ns(n);for(let i of Cn.b.getServiceDependencies(t.desc.ctor)){let o=this._getServiceInstanceOrDescriptor(i.id);if(o||i.optional||console.warn(`[createInstance] ${e} depends on ${i.id} which is NOT registered.`),o instanceof is.a){const e={id:i.id,desc:o,_trace:t._trace.branch(i.id,!0)};n.insertEdge(t,e),r.push(e)}}}for(;;){const e=n.roots();if(0===e.length){if(!n.isEmpty())throw new ns(n);break}for(const{data:t}of e){if(this._getServiceInstanceOrDescriptor(t.id)instanceof is.a){const e=this._createServiceInstanceWithOwner(t.id,t.desc.ctor,t.desc.staticArguments,t.desc.supportsDelayedInstantiation,t._trace);this._setServiceInstance(t.id,e)}n.removeNode(t)}}return this._getServiceInstanceOrDescriptor(e)}_createServiceInstanceWithOwner(e,t,i=[],n,o){if(this._services.get(e)instanceof is.a)return this._createServiceInstance(t,i,n,o);if(this._parent)return this._parent._createServiceInstanceWithOwner(e,t,i,n,o);throw new Error("illegalState - creating UNKNOWN service instance "+t.name)}_createServiceInstance(e,t=[],i,n){if(i){const i=new Se.b(()=>this._createInstance(e,t,n));return new Proxy(Object.create(null),{get(e,t){if(t in e)return e[t];let n=i.value,o=n[t];return"function"!=typeof o||(o=o.bind(n),e[t]=o),o},set:(e,t,n)=>(i.value[t]=n,!0)})}return this._createInstance(e,t,n)}}class rs{constructor(e,t){this.type=e,this.name=t,this._start=Date.now(),this._dep=[]}static traceInvocation(e){return rs._None}static traceCreation(e){return rs._None}branch(e,t){let i=new rs(2,e.toString());return this._dep.push([e,t,i]),i}stop(){let e=Date.now()-this._start;rs._totals+=e;let t=!1;let i=[`${0===this.type?"CREATE":"CALL"} ${this.name}`,""+function e(i,n){let o=[],r=new Array(i+1).join("\t");for(const[s,a,l]of n._dep)if(a&&l){t=!0,o.push(`${r}CREATES -> ${s}`);let n=e(i+1,l);n&&o.push(n)}else o.push(`${r}uses -> ${s}`);return o.join("\n")}(1,this),`DONE, took ${e.toFixed(2)}ms (grand total ${rs._totals.toFixed(2)}ms)`];(e>2||t)&&console.log(i.join("\n"))}}rs._None=new class extends rs{constructor(){super(-1,null)}stop(){}branch(){return this}},rs._totals=0;var ss=i(142),as=i(129),ls=i(51);class cs{constructor(){this._byResource=new J.b,this._byOwner=new Map}set(e,t,i){let n=this._byResource.get(e);n||(n=new Map,this._byResource.set(e,n)),n.set(t,i);let o=this._byOwner.get(t);o||(o=new J.b,this._byOwner.set(t,o)),o.set(e,i)}get(e,t){let i=this._byResource.get(e);return null==i?void 0:i.get(t)}delete(e,t){let i=!1,n=!1,o=this._byResource.get(e);o&&(i=o.delete(t));let r=this._byOwner.get(t);if(r&&(n=r.delete(e)),i!==n)throw new Error("illegal state");return i&&n}values(e){var t,i,n,o;return"string"==typeof e?null!==(i=null===(t=this._byOwner.get(e))||void 0===t?void 0:t.values())&&void 0!==i?i:lr.a.empty():V.a.isUri(e)?null!==(o=null===(n=this._byResource.get(e))||void 0===n?void 0:n.values())&&void 0!==o?o:lr.a.empty():lr.a.map(lr.a.concat(...this._byOwner.values()),e=>e[1])}}class hs{constructor(e){this.errors=0,this.infos=0,this.warnings=0,this.unknowns=0,this._data=new J.b,this._service=e,this._subscription=e.onMarkerChanged(this._update,this)}dispose(){this._subscription.dispose()}_update(e){for(const t of e){const e=this._data.get(t);e&&this._substract(e);const i=this._resourceStats(t);this._add(i),this._data.set(t,i)}}_resourceStats(e){const t={errors:0,warnings:0,infos:0,unknowns:0};if(e.scheme===ee.c.inMemory||e.scheme===ee.c.walkThrough||e.scheme===ee.c.walkThroughSnippet)return t;for(const{severity:i}of this._service.read({resource:e}))i===ls.c.Error?t.errors+=1:i===ls.c.Warning?t.warnings+=1:i===ls.c.Info?t.infos+=1:t.unknowns+=1;return t}_substract(e){this.errors-=e.errors,this.warnings-=e.warnings,this.infos-=e.infos,this.unknowns-=e.unknowns}_add(e){this.errors+=e.errors,this.warnings+=e.warnings,this.infos+=e.infos,this.unknowns+=e.unknowns}}class ds{constructor(){this._onMarkerChanged=new W.a,this.onMarkerChanged=W.b.debounce(this._onMarkerChanged.event,ds._debouncer,0),this._data=new cs,this._stats=new hs(this)}dispose(){this._stats.dispose(),this._onMarkerChanged.dispose()}remove(e,t){for(const i of t||[])this.changeOne(e,i,[])}changeOne(e,t,i){if(Object(Pe.l)(i)){this._data.delete(t,e)&&this._onMarkerChanged.fire([t])}else{const n=[];for(const o of i){const i=ds._toMarker(e,t,o);i&&n.push(i)}this._data.set(t,e,n),this._onMarkerChanged.fire([t])}}static _toMarker(e,t,i){let{code:n,severity:o,message:r,source:s,startLineNumber:a,startColumn:l,endLineNumber:c,endColumn:h,relatedInformation:d,tags:u}=i;if(r)return a=a>0?a:1,l=l>0?l:1,c=c>=a?c:a,h=h>0?h:l,{resource:t,owner:e,code:n,severity:o,message:r,source:s,startLineNumber:a,startColumn:l,endLineNumber:c,endColumn:h,relatedInformation:d,tags:u}}read(e=Object.create(null)){let{owner:t,resource:i,severities:n,take:o}=e;if((!o||o<0)&&(o=-1),t&&i){const e=this._data.get(i,t);if(e){const t=[];for(const i of e)if(ds._accept(i,n)){const e=t.push(i);if(o>0&&e===o)break}return t}return[]}if(t||i){const e=this._data.values(null!=i?i:t),r=[];for(const t of e)for(const e of t)if(ds._accept(e,n)){const t=r.push(e);if(o>0&&t===o)return r}return r}{const e=[];for(let t of this._data.values())for(let i of t)if(ds._accept(i,n)){const t=e.push(i);if(o>0&&t===o)return e}return e}}static _accept(e,t){return void 0===t||(t&e.severity)===e.severity}static _debouncer(e,t){e||(ds._dedupeMap=new J.b,e=[]);for(const i of t)ds._dedupeMap.has(i)||(ds._dedupeMap.set(i,!0),e.push(i));return e}}var us=i(91),gs=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},ps=function(e,t){return function(i,n){t(i,n,e)}};let ms=class{constructor(e){this._commandService=e}createMenu(e,t,i=!1){return new fs(e,i,this._commandService,t,this)}};ms=gs([ps(0,ie.b)],ms);let fs=class e{constructor(e,t,i,n,o){this._id=e,this._fireEventsForSubmenuChanges=t,this._commandService=i,this._contextKeyService=n,this._menuService=o,this._dispoables=new de.b,this._onDidChange=new W.a,this.onDidChange=this._onDidChange.event,this._menuGroups=[],this._contextKeys=new Set,this._build();const r=new Se.e(()=>this._build(),50);this._dispoables.add(r),this._dispoables.add(eo.d.onDidChangeMenu(t=>{t.has(e)&&r.schedule()}));const s=new Se.e(()=>this._onDidChange.fire(this),50);this._dispoables.add(s),this._dispoables.add(n.onDidChangeContext(e=>{e.affectsSome(this._contextKeys)&&s.schedule()}))}dispose(){this._dispoables.dispose(),this._onDidChange.dispose()}_build(){this._menuGroups.length=0,this._contextKeys.clear();const t=eo.d.getMenuItems(this._id);let i;t.sort(e._compareMenuItems);for(let e of t){const t=e.group||"";i&&i[0]===t||(i=[t,[]],this._menuGroups.push(i)),i[1].push(e),this._collectContextKeys(e)}this._onDidChange.fire(this)}_collectContextKeys(t){if(e._fillInKbExprKeys(t.when,this._contextKeys),Object(eo.f)(t)){if(t.command.precondition&&e._fillInKbExprKeys(t.command.precondition,this._contextKeys),t.command.toggled){const i=t.command.toggled.condition||t.command.toggled;e._fillInKbExprKeys(i,this._contextKeys)}}else this._fireEventsForSubmenuChanges&&eo.d.getMenuItems(t.submenu).forEach(this._collectContextKeys,this)}getActions(e){const t=[];for(let i of this._menuGroups){const[n,o]=i,r=[];for(const t of o)if(this._contextKeyService.contextMatchesRules(t.when)){const i=Object(eo.f)(t)?new eo.c(t.command,t.alt,e,this._contextKeyService,this._commandService):new eo.e(t,this._menuService,this._contextKeyService,e);r.push(i)}r.length>0&&t.push([n,r])}return t}static _fillInKbExprKeys(e,t){if(e)for(let i of e.keys())t.add(i)}static _compareMenuItems(t,i){let n=t.group,o=i.group;if(n!==o){if(!n)return 1;if(!o)return-1;if("navigation"===n)return-1;if("navigation"===o)return 1;let e=n.localeCompare(o);if(0!==e)return e}let r=t.order||0,s=i.order||0;return rs?1:e._compareTitles(Object(eo.f)(t)?t.command.title:t.title,Object(eo.f)(i)?i.command.title:i.title)}static _compareTitles(e,t){const i="string"==typeof e?e:e.original,n="string"==typeof t?t:t.original;return i.localeCompare(n)}};fs=gs([ps(2,ie.b),ps(3,tn.b),ps(4,eo.a)],fs);var _s=i(169),bs=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},vs=function(e,t){return function(i,n){t(i,n,e)}};function Cs(e){return e.toString()}class ws extends de.a{constructor(e){super(),this.model=e,this._markersData=new Map,this._register(Object(de.h)(()=>{this.model.deltaDecorations([...this._markersData.keys()],[]),this._markersData.clear()}))}update(e,t){const i=[...this._markersData.keys()];this._markersData.clear();const n=this.model.deltaDecorations(i,t);for(let t=0;tthis._onModelAdded(e)),this._register(e.onModelAdded(this._onModelAdded,this)),this._register(e.onModelRemoved(this._onModelRemoved,this)),this._register(this._markerService.onMarkerChanged(this._handleMarkerChange,this))}dispose(){super.dispose(),this._markerDecorations.forEach(e=>e.dispose()),this._markerDecorations.clear()}getMarker(e,t){const i=this._markerDecorations.get(Cs(e));return i&&i.getMarker(t)||null}_handleMarkerChange(e){e.forEach(e=>{const t=this._markerDecorations.get(Cs(e));t&&this._updateDecorations(t)})}_onModelAdded(e){const t=new ws(e);this._markerDecorations.set(Cs(e.uri),t),this._updateDecorations(t)}_onModelRemoved(e){const t=this._markerDecorations.get(Cs(e.uri));t&&(t.dispose(),this._markerDecorations.delete(Cs(e.uri))),e.uri.scheme!==ee.c.inMemory&&e.uri.scheme!==ee.c.internal&&e.uri.scheme!==ee.c.vscode||this._markerService&&this._markerService.read({resource:e.uri}).map(e=>e.owner).forEach(t=>this._markerService.remove(t,[e.uri]))}_updateDecorations(e){const t=this._markerService.read({resource:e.model.uri,take:500});let i=t.map(t=>({range:this._createDecorationRange(e.model,t),options:this._createDecorationOption(t)}));e.update(t,i)&&this._onDidChangeMarker.fire(e.model)}_createDecorationRange(e,t){let i=H.a.lift(t);if(t.severity!==ls.c.Hint||this._hasMarkerTag(t,1)||this._hasMarkerTag(t,2)||(i=i.setEndPosition(i.startLineNumber,i.startColumn+2)),i=e.validateRange(i),i.isEmpty()){let t=e.getWordAtPosition(i.getStartPosition());if(t)i=new H.a(i.startLineNumber,t.startColumn,i.endLineNumber,t.endColumn);else{let t=e.getLineLastNonWhitespaceColumn(i.startLineNumber)||e.getLineMaxColumn(i.startLineNumber);1===t||(i=i.endColumn>=t?new H.a(i.startLineNumber,t-1,i.endLineNumber,t):new H.a(i.startLineNumber,i.startColumn,i.endLineNumber,i.endColumn+1))}}else if(t.endColumn===Number.MAX_VALUE&&1===t.startColumn&&i.startLineNumber===i.endLineNumber){let n=e.getLineFirstNonWhitespaceColumn(t.startLineNumber);n=0}};ys=bs([vs(0,at.a),vs(1,ls.b)],ys);var Ss=i(106),ks=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},xs=function(e,t){return function(i,n){t(i,n,e)}};let Ds=class extends de.a{constructor(e,t){super(),this._contextKeyService=e,this._configurationService=t,this._accessibilitySupport=0,this._onDidChangeScreenReaderOptimized=new W.a,this._accessibilityModeEnabledContext=io.a.bindTo(this._contextKeyService);const i=()=>this._accessibilityModeEnabledContext.set(this.isScreenReaderOptimized());this._register(this._configurationService.onDidChangeConfiguration(e=>{e.affectsConfiguration("editor.accessibilitySupport")&&(i(),this._onDidChangeScreenReaderOptimized.fire())})),i(),this.onDidChangeScreenReaderOptimized(()=>i())}get onDidChangeScreenReaderOptimized(){return this._onDidChangeScreenReaderOptimized.event}isScreenReaderOptimized(){const e=this._configurationService.getValue("editor.accessibilitySupport");return"on"===e||"auto"===e&&2===this._accessibilitySupport}getAccessibilitySupport(){return this._accessibilitySupport}};Ds=ks([xs(0,tn.b),xs(1,ei.a)],Ds);var Ls=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};class Es{constructor(){this.mapTextToType=new Map,this.findText=""}writeText(e,t){return Ls(this,void 0,void 0,(function*(){if(t)return void this.mapTextToType.set(t,e);try{return yield navigator.clipboard.writeText(e)}catch(e){console.error(e)}const i=document.activeElement,n=document.body.appendChild(Object(Z.a)("textarea",{"aria-hidden":!0}));n.style.height="1px",n.style.width="1px",n.style.position="absolute",n.value=e,n.focus(),n.select(),document.execCommand("copy"),i instanceof HTMLElement&&i.focus(),document.body.removeChild(n)}))}readText(e){return Ls(this,void 0,void 0,(function*(){if(e)return this.mapTextToType.get(e)||"";try{return yield navigator.clipboard.readText()}catch(e){return console.error(e),""}}))}readFindText(){return Ls(this,void 0,void 0,(function*(){return this.findText}))}writeFindText(e){return Ls(this,void 0,void 0,(function*(){this.findText=e}))}}var Ns=i(109),Os=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},Is=function(e,t){return function(i,n){t(i,n,e)}},As=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};function Ms(e){return e.scheme===ee.c.file?e.fsPath:e.path}let Ts=0;class Rs{constructor(e,t,i,n,o,r,s){this.id=++Ts,this.type=0,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabel=t,this.strResource=i,this.resourceLabels=[this.resourceLabel],this.strResources=[this.strResource],this.groupId=n,this.groupOrder=o,this.sourceId=r,this.sourceOrder=s,this.isValid=!0}setValid(e){this.isValid=e}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.isValid?" VALID":"INVALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class Ps{constructor(e,t){this.resourceLabel=e,this.reason=t}}class Fs{constructor(){this.elements=new Map}createMessage(){const e=[],t=[];for(const[,i]of this.elements){(0===i.reason?e:t).push(i.resourceLabel)}let i=[];return e.length>0&&i.push(si.a({key:"externalRemoval",comment:["{0} is a list of filenames"]},"The following files have been closed and modified on disk: {0}.",e.join(", "))),t.length>0&&i.push(si.a({key:"noParallelUniverses",comment:["{0} is a list of filenames"]},"The following files have been modified in an incompatible way: {0}.",t.join(", "))),i.join("\n")}get size(){return this.elements.size}has(e){return this.elements.has(e)}set(e,t){this.elements.set(e,t)}delete(e){return this.elements.delete(e)}}class Bs{constructor(e,t,i,n,o,r,s){this.id=++Ts,this.type=1,this.actual=e,this.label=e.label,this.confirmBeforeUndo=e.confirmBeforeUndo||!1,this.resourceLabels=t,this.strResources=i,this.groupId=n,this.groupOrder=o,this.sourceId=r,this.sourceOrder=s,this.removedResources=null,this.invalidatedResources=null}canSplit(){return"function"==typeof this.actual.split}removeResource(e,t,i){this.removedResources||(this.removedResources=new Fs),this.removedResources.has(t)||this.removedResources.set(t,new Ps(e,i))}setValid(e,t,i){i?this.invalidatedResources&&(this.invalidatedResources.delete(t),0===this.invalidatedResources.size&&(this.invalidatedResources=null)):(this.invalidatedResources||(this.invalidatedResources=new Fs),this.invalidatedResources.has(t)||this.invalidatedResources.set(t,new Ps(e,0)))}toString(){return`[id:${this.id}] [group:${this.groupId}] [${this.invalidatedResources?"INVALID":" VALID"}] ${this.actual.constructor.name} - ${this.actual}`}}class Ws{constructor(e,t){this.resourceLabel=e,this.strResource=t,this._past=[],this._future=[],this.locked=!1,this.versionId=1}dispose(){for(const e of this._past)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);for(const e of this._future)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,0);this.versionId++}toString(){let e=[];e.push(`* ${this.strResource}:`);for(let t=0;t=0;t--)e.push(" * [REDO] "+this._future[t]);return e.join("\n")}flushAllElements(){this._past=[],this._future=[],this.versionId++}_setElementValidFlag(e,t){1===e.type?e.setValid(this.resourceLabel,this.strResource,t):e.setValid(t)}setElementsValidFlag(e,t){for(const i of this._past)t(i.actual)&&this._setElementValidFlag(i,e);for(const i of this._future)t(i.actual)&&this._setElementValidFlag(i,e)}pushElement(e){for(const e of this._future)1===e.type&&e.removeResource(this.resourceLabel,this.strResource,1);this._future=[],this._past.push(e),this.versionId++}createSnapshot(e){const t=[];for(let e=0,i=this._past.length;e=0;e--)t.push(this._future[e].id);return new Ns.b(e,t)}restoreSnapshot(e){const t=e.elements.length;let i=!0,n=0,o=-1;for(let r=0,s=this._past.length;r=t||s.id!==e.elements[n])&&(i=!1,o=0),i||1!==s.type||s.removeResource(this.resourceLabel,this.strResource,0)}let r=-1;for(let o=this._future.length-1;o>=0;o--,n++){const s=this._future[o];i&&(n>=t||s.id!==e.elements[n])&&(i=!1,r=o),i||1!==s.type||s.removeResource(this.resourceLabel,this.strResource,0)}-1!==o&&(this._past=this._past.slice(0,o)),-1!==r&&(this._future=this._future.slice(r+1)),this.versionId++}getElements(){const e=[],t=[];for(const t of this._past)e.push(t.actual);for(const e of this._future)t.push(e.actual);return{past:e,future:t}}getClosestPastElement(){return 0===this._past.length?null:this._past[this._past.length-1]}getSecondClosestPastElement(){return this._past.length<2?null:this._past[this._past.length-2]}getClosestFutureElement(){return 0===this._future.length?null:this._future[this._future.length-1]}hasPastElements(){return this._past.length>0}hasFutureElements(){return this._future.length>0}splitPastWorkspaceElement(e,t){for(let i=this._past.length-1;i>=0;i--)if(this._past[i]===e){t.has(this.strResource)?this._past[i]=t.get(this.strResource):this._past.splice(i,1);break}this.versionId++}splitFutureWorkspaceElement(e,t){for(let i=this._future.length-1;i>=0;i--)if(this._future[i]===e){t.has(this.strResource)?this._future[i]=t.get(this.strResource):this._future.splice(i,1);break}this.versionId++}moveBackward(e){this._past.pop(),this._future.push(e),this.versionId++}moveForward(e){this._future.pop(),this._past.push(e),this.versionId++}}class js{constructor(e){this.editStacks=e,this._versionIds=[];for(let e=0,t=this.editStacks.length;et.sourceOrder)&&(t=r,i=n))}return[t,i]}canUndo(e){if(e instanceof Ns.d){const[,t]=this._findClosestUndoElementWithSource(e.id);return!!t}const t=this.getUriComparisonKey(e);if(this._editStacks.has(t)){return this._editStacks.get(t).hasPastElements()}return!1}_onError(e,t){Object(ke.e)(e);for(const e of t.strResources)this.removeElements(e);this._notificationService.error(e)}_acquireLocks(e){for(const t of e.editStacks)if(t.locked)throw new Error("Cannot acquire edit stack lock");for(const t of e.editStacks)t.locked=!0;return()=>{for(const t of e.editStacks)t.locked=!1}}_safeInvokeWithLocks(e,t,i,n,o){const r=this._acquireLocks(i);let s;try{s=t()}catch(t){return r(),n.dispose(),this._onError(t,e)}return s?s.then(()=>(r(),n.dispose(),o()),t=>(r(),n.dispose(),this._onError(t,e))):(r(),n.dispose(),o())}_invokeWorkspacePrepare(e){return As(this,void 0,void 0,(function*(){if(void 0===e.actual.prepareUndoRedo)return de.a.None;const t=e.actual.prepareUndoRedo();return void 0===t?de.a.None:t}))}_invokeResourcePrepare(e,t){if(1!==e.actual.type||void 0===e.actual.prepareUndoRedo)return t(de.a.None);const i=e.actual.prepareUndoRedo();return i?Object(de.g)(i)?t(i):i.then(e=>t(e)):t(de.a.None)}_getAffectedEditStacks(e){const t=[];for(const i of e.strResources)t.push(this._editStacks.get(i)||Vs);return new js(t)}_tryToSplitAndUndo(e,t,i,n){if(t.canSplit())return this._splitPastWorkspaceElement(t,i),this._notificationService.info(n),new Hs(this._undo(e,0,!0));for(const e of t.strResources)this.removeElements(e);return this._notificationService.info(n),new Hs}_checkWorkspaceUndo(e,t,i,n){if(t.removedResources)return this._tryToSplitAndUndo(e,t,t.removedResources,si.a({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.removedResources.createMessage()));if(n&&t.invalidatedResources)return this._tryToSplitAndUndo(e,t,t.invalidatedResources,si.a({key:"cannotWorkspaceUndo",comment:["{0} is a label for an operation. {1} is another message."]},"Could not undo '{0}' across all files. {1}",t.label,t.invalidatedResources.createMessage()));const o=[];for(const e of i.editStacks)e.getClosestPastElement()!==t&&o.push(e.resourceLabel);if(o.length>0)return this._tryToSplitAndUndo(e,t,null,si.a({key:"cannotWorkspaceUndoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const r=[];for(const e of i.editStacks)e.locked&&r.push(e.resourceLabel);return r.length>0?this._tryToSplitAndUndo(e,t,null,si.a({key:"cannotWorkspaceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,r.join(", "))):i.isValid()?null:this._tryToSplitAndUndo(e,t,null,si.a({key:"cannotWorkspaceUndoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not undo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceUndo(e,t,i){const n=this._getAffectedEditStacks(t),o=this._checkWorkspaceUndo(e,t,n,!1);return o?o.returnValue:this._confirmAndExecuteWorkspaceUndo(e,t,n,i)}_isPartOfUndoGroup(e){if(!e.groupId)return!1;for(const[,t]of this._editStacks){const i=t.getClosestPastElement();if(i){if(i===e){const i=t.getSecondClosestPastElement();if(i&&i.groupId===e.groupId)return!0}if(i.groupId===e.groupId)return!0}}return!1}_confirmAndExecuteWorkspaceUndo(e,t,i,n){return As(this,void 0,void 0,(function*(){if(t.canSplit()&&!this._isPartOfUndoGroup(t)){const o=yield this._dialogService.show(Yt.a.Info,si.a("confirmWorkspace","Would you like to undo '{0}' across all files?",t.label),[si.a({key:"ok",comment:["{0} denotes a number that is > 1"]},"Undo in {0} Files",i.editStacks.length),si.a("nok","Undo this File"),si.a("cancel","Cancel")],{cancelId:2});if(2===o.choice)return;if(1===o.choice)return this._splitPastWorkspaceElement(t,null),this._undo(e,0,!0);const r=this._checkWorkspaceUndo(e,t,i,!1);if(r)return r.returnValue;n=!0}let o;try{o=yield this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}const r=this._checkWorkspaceUndo(e,t,i,!0);if(r)return o.dispose(),r.returnValue;for(const e of i.editStacks)e.moveBackward(t);return this._safeInvokeWithLocks(t,()=>t.actual.undo(),i,o,()=>this._continueUndoInGroup(t.groupId,n))}))}_resourceUndo(e,t,i){if(t.isValid){if(!e.locked)return this._invokeResourcePrepare(t,n=>(e.moveBackward(t),this._safeInvokeWithLocks(t,()=>t.actual.undo(),new js([e]),n,()=>this._continueUndoInGroup(t.groupId,i))));{const e=si.a({key:"cannotResourceUndoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not undo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.info(e)}}else e.flushAllElements()}_findClosestUndoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[n,o]of this._editStacks){const r=o.getClosestPastElement();r&&(r.groupId===e&&(!t||r.groupOrder>t.groupOrder)&&(t=r,i=n))}return[t,i]}_continueUndoInGroup(e,t){if(!e)return;const[,i]=this._findClosestUndoElementInGroup(e);return i?this._undo(i,0,t):void 0}undo(e){if(e instanceof Ns.d){const[,t]=this._findClosestUndoElementWithSource(e.id);return t?this._undo(t,e.id,!1):void 0}return"string"==typeof e?this._undo(e,0,!1):this._undo(this.getUriComparisonKey(e),0,!1)}_undo(e,t=0,i){if(!this._editStacks.has(e))return;const n=this._editStacks.get(e),o=n.getClosestPastElement();if(!o)return;if(o.groupId){const[e,n]=this._findClosestUndoElementInGroup(o.groupId);if(o!==e&&n)return this._undo(n,t,i)}if((o.sourceId!==t||o.confirmBeforeUndo)&&!i)return this._confirmAndContinueUndo(e,t,o);try{return 1===o.type?this._workspaceUndo(e,o,i):this._resourceUndo(n,o,i)}finally{0}}_confirmAndContinueUndo(e,t,i){return As(this,void 0,void 0,(function*(){if(1!==(yield this._dialogService.show(Yt.a.Info,si.a("confirmDifferentSource","Would you like to undo '{0}'?",i.label),[si.a("confirmDifferentSource.ok","Undo"),si.a("cancel","Cancel")],{cancelId:1})).choice)return this._undo(e,t,!0)}))}_findClosestRedoElementWithSource(e){if(!e)return[null,null];let t=null,i=null;for(const[n,o]of this._editStacks){const r=o.getClosestFutureElement();r&&(r.sourceId===e&&(!t||r.sourceOrder0)return this._tryToSplitAndRedo(e,t,null,si.a({key:"cannotWorkspaceRedoDueToChanges",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because changes were made to {1}",t.label,o.join(", ")));const r=[];for(const e of i.editStacks)e.locked&&r.push(e.resourceLabel);return r.length>0?this._tryToSplitAndRedo(e,t,null,si.a({key:"cannotWorkspaceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because there is already an undo or redo operation running on {1}",t.label,r.join(", "))):i.isValid()?null:this._tryToSplitAndRedo(e,t,null,si.a({key:"cannotWorkspaceRedoDueToInMeantimeUndoRedo",comment:["{0} is a label for an operation. {1} is a list of filenames."]},"Could not redo '{0}' across all files because an undo or redo operation occurred in the meantime",t.label))}_workspaceRedo(e,t){const i=this._getAffectedEditStacks(t),n=this._checkWorkspaceRedo(e,t,i,!1);return n?n.returnValue:this._executeWorkspaceRedo(e,t,i)}_executeWorkspaceRedo(e,t,i){return As(this,void 0,void 0,(function*(){let n;try{n=yield this._invokeWorkspacePrepare(t)}catch(e){return this._onError(e,t)}const o=this._checkWorkspaceRedo(e,t,i,!0);if(o)return n.dispose(),o.returnValue;for(const e of i.editStacks)e.moveForward(t);return this._safeInvokeWithLocks(t,()=>t.actual.redo(),i,n,()=>this._continueRedoInGroup(t.groupId))}))}_resourceRedo(e,t){if(t.isValid){if(!e.locked)return this._invokeResourcePrepare(t,i=>(e.moveForward(t),this._safeInvokeWithLocks(t,()=>t.actual.redo(),new js([e]),i,()=>this._continueRedoInGroup(t.groupId))));{const e=si.a({key:"cannotResourceRedoDueToInProgressUndoRedo",comment:["{0} is a label for an operation."]},"Could not redo '{0}' because there is already an undo or redo operation running.",t.label);this._notificationService.info(e)}}else e.flushAllElements()}_findClosestRedoElementInGroup(e){if(!e)return[null,null];let t=null,i=null;for(const[n,o]of this._editStacks){const r=o.getClosestFutureElement();r&&(r.groupId===e&&(!t||r.groupOrder{const e=new Intl.Collator(void 0,{numeric:!0,sensitivity:"base"});return{collator:e,collatorIsNumeric:e.resolvedOptions().numeric}});function qs(e,t,i){const n=e.toLowerCase(),o=t.toLowerCase(),r=function(e,t,i){const n=e.toLowerCase(),o=t.toLowerCase(),r=n.startsWith(i),s=o.startsWith(i);if(r!==s)return r?-1:1;if(r&&s){if(n.lengtho.length)return 1}return 0}(e,t,i);if(r)return r;const s=n.endsWith(i);if(s!==o.endsWith(i))return s?-1:1;const a=function(e,t,i=!1){const n=e||"",o=t||"",r=Ks.value.collator.compare(n,o);return Ks.value.collatorIsNumeric&&0===r&&n!==o?n=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},na=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};const oa=Z.a;class ra{constructor(e){this.hidden=!1,this._onChecked=new W.a,this.onChecked=this._onChecked.event,Object.assign(this,e)}get checked(){return!!this._checked}set checked(e){e!==this._checked&&(this._checked=e,this._onChecked.fire(e))}dispose(){this._onChecked.dispose()}}class sa{get templateId(){return sa.ID}renderTemplate(e){const t=Object.create(null);t.toDisposeElement=[],t.toDisposeTemplate=[],t.entry=Z.p(e,oa(".quick-input-list-entry"));const i=Z.p(t.entry,oa("label.quick-input-list-label"));t.toDisposeTemplate.push(Z.n(i,Z.d.CLICK,e=>{t.checkbox.offsetParent||e.preventDefault()})),t.checkbox=Z.p(i,oa("input.quick-input-list-checkbox")),t.checkbox.type="checkbox",t.toDisposeTemplate.push(Z.n(t.checkbox,Z.d.CHANGE,e=>{t.element.checked=t.checkbox.checked}));const n=Z.p(i,oa(".quick-input-list-rows")),o=Z.p(n,oa(".quick-input-list-row")),r=Z.p(n,oa(".quick-input-list-row"));t.label=new $s.a(o,{supportHighlights:!0,supportDescriptionHighlights:!0,supportIcons:!0});const s=Z.p(o,oa(".quick-input-list-entry-keybinding"));t.keybinding=new ta(s,xe.a);const a=Z.p(r,oa(".quick-input-list-label-meta"));return t.detail=new Gs.a(a,!0),t.separator=Z.p(t.entry,oa(".quick-input-list-separator")),t.actionBar=new Zi.a(t.entry),t.actionBar.domNode.classList.add("quick-input-list-entry-action-bar"),t.toDisposeTemplate.push(t.actionBar),t}renderElement(e,t,i){i.toDisposeElement=Object(de.f)(i.toDisposeElement),i.element=e,i.checkbox.checked=e.checked,i.toDisposeElement.push(e.onChecked(e=>i.checkbox.checked=e));const{labelHighlights:n,descriptionHighlights:o,detailHighlights:r}=e,s=Object.create(null);s.matches=n||[],s.descriptionTitle=e.saneDescription,s.descriptionMatches=o||[],s.extraClasses=e.item.iconClasses,s.italic=e.item.italic,s.strikethrough=e.item.strikethrough,i.label.setLabel(e.saneLabel,e.saneDescription,s),i.keybinding.set(e.item.keybinding),i.detail.set(e.saneDetail,r),e.separator&&e.separator.label?(i.separator.textContent=e.separator.label,i.separator.style.display=""):i.separator.style.display="none",i.entry.classList.toggle("quick-input-list-separator-border",!!e.separator),i.actionBar.clear();const a=e.item.buttons;a&&a.length?(i.actionBar.push(a.map((t,i)=>{let n=t.iconClass||(t.iconPath?Qs(t.iconPath):void 0);t.alwaysVisible&&(n=n?n+" always-visible":"always-visible");const o=new Ji.a("id-"+i,"",n,!0,()=>na(this,void 0,void 0,(function*(){e.fireButtonTriggered({button:t,item:e.item})})));return o.tooltip=t.tooltip||"",o}),{icon:!0,label:!1}),i.entry.classList.add("has-actions")):i.entry.classList.remove("has-actions")}disposeElement(e,t,i){i.toDisposeElement=Object(de.f)(i.toDisposeElement)}disposeTemplate(e){e.toDisposeElement=Object(de.f)(e.toDisposeElement),e.toDisposeTemplate=Object(de.f)(e.toDisposeTemplate)}}sa.ID="listelement";class aa{getHeight(e){return e.saneDetail?44:22}getTemplateId(e){return sa.ID}}var la;!function(e){e[e.First=1]="First",e[e.Second=2]="Second",e[e.Last=3]="Last",e[e.Next=4]="Next",e[e.Previous=5]="Previous",e[e.NextPage=6]="NextPage",e[e.PreviousPage=7]="PreviousPage"}(la||(la={}));class ca{constructor(e,t,i){this.parent=e,this.inputElements=[],this.elements=[],this.elementsToIndexes=new Map,this.matchOnDescription=!1,this.matchOnDetail=!1,this.matchOnLabel=!0,this.matchOnMeta=!0,this.sortByLabel=!0,this._onChangedAllVisibleChecked=new W.a,this.onChangedAllVisibleChecked=this._onChangedAllVisibleChecked.event,this._onChangedCheckedCount=new W.a,this.onChangedCheckedCount=this._onChangedCheckedCount.event,this._onChangedVisibleCount=new W.a,this.onChangedVisibleCount=this._onChangedVisibleCount.event,this._onChangedCheckedElements=new W.a,this.onChangedCheckedElements=this._onChangedCheckedElements.event,this._onButtonTriggered=new W.a,this.onButtonTriggered=this._onButtonTriggered.event,this._onKeyDown=new W.a,this.onKeyDown=this._onKeyDown.event,this._onLeave=new W.a,this.onLeave=this._onLeave.event,this._fireCheckedEvents=!0,this.elementDisposables=[],this.disposables=[],this.id=t,this.container=Z.p(this.parent,oa(".quick-input-list"));const n=new aa,o=new ha;this.list=i.createList("QuickInput",this.container,n,[new sa],{identityProvider:{getId:e=>e.saneLabel},setRowLineHeight:!1,multipleSelectionSupport:!1,horizontalScrolling:!1,accessibilityProvider:o}),this.list.getHTMLElement().id=t,this.disposables.push(this.list),this.disposables.push(this.list.onKeyDown(e=>{const t=new Gt.a(e);switch(t.keyCode){case 10:this.toggleCheckbox();break;case 31:(xe.f?e.metaKey:e.ctrlKey)&&this.list.setFocus(Object(Pe.r)(this.list.length));break;case 16:const t=this.list.getFocus();1===t.length&&0===t[0]&&this._onLeave.fire();break;case 18:const i=this.list.getFocus();1===i.length&&i[0]===this.list.length-1&&this._onLeave.fire()}this._onKeyDown.fire(t)})),this.disposables.push(this.list.onMouseDown(e=>{2!==e.browserEvent.button&&e.browserEvent.preventDefault()})),this.disposables.push(Z.i(this.container,Z.d.CLICK,e=>{(e.x||e.y)&&this._onLeave.fire()})),this.disposables.push(this.list.onMouseMiddleClick(e=>{this._onLeave.fire()})),this.disposables.push(this.list.onContextMenu(e=>{"number"==typeof e.index&&(e.browserEvent.preventDefault(),this.list.setSelection([e.index]))})),this.disposables.push(this._onChangedAllVisibleChecked,this._onChangedCheckedCount,this._onChangedVisibleCount,this._onChangedCheckedElements,this._onButtonTriggered,this._onLeave,this._onKeyDown)}get onDidChangeFocus(){return W.b.map(this.list.onDidChangeFocus,e=>e.elements.map(e=>e.item))}get onDidChangeSelection(){return W.b.map(this.list.onDidChangeSelection,e=>({items:e.elements.map(e=>e.item),event:e.browserEvent}))}getAllVisibleChecked(){return this.allVisibleChecked(this.elements,!1)}allVisibleChecked(e,t=!0){for(let i=0,n=e.length;i{t.hidden||(t.checked=e)})}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}setElements(e){this.elementDisposables=Object(de.f)(this.elementDisposables);const t=e=>this.fireButtonTriggered(e);this.inputElements=e,this.elements=e.reduce((i,n,o)=>{var r,s,a;if("separator"!==n.type){const l=o&&e[o-1],c=n.label&&n.label.replace(/\r?\n/g," "),h=n.meta&&n.meta.replace(/\r?\n/g," "),d=n.description&&n.description.replace(/\r?\n/g," "),u=n.detail&&n.detail.replace(/\r?\n/g," "),g=n.ariaLabel||[c,d,u].map(e=>e&&Object(Ir.d)(e).text).filter(e=>!!e).join(", ");i.push(new ra({index:o,item:n,saneLabel:c,saneMeta:h,saneAriaLabel:g,saneDescription:d,saneDetail:u,labelHighlights:null===(r=n.highlights)||void 0===r?void 0:r.label,descriptionHighlights:null===(s=n.highlights)||void 0===s?void 0:s.description,detailHighlights:null===(a=n.highlights)||void 0===a?void 0:a.detail,checked:!1,separator:l&&"separator"===l.type?l:void 0,fireButtonTriggered:t}))}return i},[]),this.elementDisposables.push(...this.elements),this.elementDisposables.push(...this.elements.map(e=>e.onChecked(()=>this.fireCheckedEvents()))),this.elementsToIndexes=this.elements.reduce((e,t,i)=>(e.set(t.item,i),e),new Map),this.list.splice(0,this.list.length),this.list.splice(0,this.list.length,this.elements),this._onChangedVisibleCount.fire(this.elements.length)}getFocusedElements(){return this.list.getFocusedElements().map(e=>e.item)}setFocusedElements(e){if(this.list.setFocus(e.filter(e=>this.elementsToIndexes.has(e)).map(e=>this.elementsToIndexes.get(e))),e.length>0){const e=this.list.getFocus()[0];"number"==typeof e&&this.list.reveal(e)}}getActiveDescendant(){return this.list.getHTMLElement().getAttribute("aria-activedescendant")}setSelectedElements(e){this.list.setSelection(e.filter(e=>this.elementsToIndexes.has(e)).map(e=>this.elementsToIndexes.get(e)))}getCheckedElements(){return this.elements.filter(e=>e.checked).map(e=>e.item)}setCheckedElements(e){try{this._fireCheckedEvents=!1;const t=new Set;for(const i of e)t.add(i);for(const e of this.elements)e.checked=t.has(e.item)}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}set enabled(e){this.list.getHTMLElement().style.pointerEvents=e?"":"none"}focus(e){if(!this.list.length)return;switch(e===la.Next&&this.list.getFocus()[0]===this.list.length-1&&(e=la.First),e===la.Previous&&0===this.list.getFocus()[0]&&(e=la.Last),e===la.Second&&this.list.length<2&&(e=la.First),e){case la.First:this.list.focusFirst();break;case la.Second:this.list.focusNth(1);break;case la.Last:this.list.focusLast();break;case la.Next:this.list.focusNext();break;case la.Previous:this.list.focusPrevious();break;case la.NextPage:this.list.focusNextPage();break;case la.PreviousPage:this.list.focusPreviousPage()}const t=this.list.getFocus()[0];"number"==typeof t&&this.list.reveal(t)}clearFocus(){this.list.setFocus([])}domFocus(){this.list.domFocus()}layout(e){this.list.getHTMLElement().style.maxHeight=e?`calc(${44*Math.floor(e/44)}px)`:"",this.list.layout()}filter(e){if(!(this.sortByLabel||this.matchOnLabel||this.matchOnDescription||this.matchOnDetail))return this.list.layout(),!1;(e=e.trim())&&(this.matchOnLabel||this.matchOnDescription||this.matchOnDetail)?this.elements.forEach(t=>{const i=this.matchOnLabel?Object(De.n)(Object(Ir.c)(e,Object(Ir.d)(t.saneLabel))):void 0,n=this.matchOnDescription?Object(De.n)(Object(Ir.c)(e,Object(Ir.d)(t.saneDescription||""))):void 0,o=this.matchOnDetail?Object(De.n)(Object(Ir.c)(e,Object(Ir.d)(t.saneDetail||""))):void 0,r=this.matchOnMeta?Object(De.n)(Object(Ir.c)(e,Object(Ir.d)(t.saneMeta||""))):void 0;i||n||o||r?(t.labelHighlights=i,t.descriptionHighlights=n,t.detailHighlights=o,t.hidden=!1):(t.labelHighlights=void 0,t.descriptionHighlights=void 0,t.detailHighlights=void 0,t.hidden=!t.item.alwaysShow),t.separator=void 0}):this.elements.forEach(e=>{e.labelHighlights=void 0,e.descriptionHighlights=void 0,e.detailHighlights=void 0,e.hidden=!1;const t=e.index&&this.inputElements[e.index-1];e.separator=t&&"separator"===t.type?t:void 0});const t=this.elements.filter(e=>!e.hidden);if(this.sortByLabel&&e){const i=e.toLowerCase();t.sort((e,t)=>function(e,t,i){const n=e.labelHighlights||[],o=t.labelHighlights||[];if(n.length&&!o.length)return-1;if(!n.length&&o.length)return 1;if(0===n.length&&0===o.length)return 0;return qs(e.saneLabel,t.saneLabel,i)}(e,t,i))}return this.elementsToIndexes=t.reduce((e,t,i)=>(e.set(t.item,i),e),new Map),this.list.splice(0,this.list.length,t),this.list.setFocus([]),this.list.layout(),this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedVisibleCount.fire(t.length),!0}toggleCheckbox(){try{this._fireCheckedEvents=!1;const e=this.list.getFocusedElements(),t=this.allVisibleChecked(e);for(const i of e)i.checked=!t}finally{this._fireCheckedEvents=!0,this.fireCheckedEvents()}}display(e){this.container.style.display=e?"":"none"}isDisplayed(){return"none"!==this.container.style.display}dispose(){this.elementDisposables=Object(de.f)(this.elementDisposables),this.disposables=Object(de.f)(this.disposables)}fireCheckedEvents(){this._fireCheckedEvents&&(this._onChangedAllVisibleChecked.fire(this.getAllVisibleChecked()),this._onChangedCheckedCount.fire(this.getCheckedCount()),this._onChangedCheckedElements.fire(this.getCheckedElements()))}fireButtonTriggered(e){this._onButtonTriggered.fire(e)}style(e){this.list.style(e)}}ia([Ys.a],ca.prototype,"onDidChangeFocus",null),ia([Ys.a],ca.prototype,"onDidChangeSelection",null);class ha{getWidgetAriaLabel(){return Object(si.a)("quickInput","Quick Input")}getAriaLabel(e){return e.saneAriaLabel}getWidgetRole(){return"listbox"}getRole(){return"option"}}var da=i(175);const ua=Z.a;class ga extends de.a{constructor(e){super(),this.parent=e,this.onKeyDown=e=>Z.i(this.inputBox.inputElement,Z.d.KEY_DOWN,t=>{e(new Gt.a(t))}),this.onMouseDown=e=>Z.i(this.inputBox.inputElement,Z.d.MOUSE_DOWN,t=>{e(new Or.a(t))}),this.onDidChange=e=>this.inputBox.onDidChange(e),this.container=Z.p(this.parent,ua(".quick-input-box")),this.inputBox=this._register(new da.b(this.container,void 0))}get value(){return this.inputBox.value}set value(e){this.inputBox.value=e}select(e=null){this.inputBox.select(e)}isSelectionAtEnd(){return this.inputBox.isSelectionAtEnd()}get placeholder(){return this.inputBox.inputElement.getAttribute("placeholder")||""}set placeholder(e){this.inputBox.setPlaceHolder(e)}get ariaLabel(){return this.inputBox.getAriaLabel()}set ariaLabel(e){this.inputBox.setAriaLabel(e)}get password(){return"password"===this.inputBox.inputElement.type}set password(e){this.inputBox.inputElement.type=e?"password":"text"}setAttribute(e,t){this.inputBox.inputElement.setAttribute(e,t)}removeAttribute(e){this.inputBox.inputElement.removeAttribute(e)}showDecoration(e){e===Yt.a.Ignore?this.inputBox.hideMessage():this.inputBox.showMessage({type:e===Yt.a.Info?1:e===Yt.a.Warning?2:3,content:""})}stylesForType(e){return this.inputBox.stylesForType(e===Yt.a.Info?1:e===Yt.a.Warning?2:3)}setFocus(){this.inputBox.focus()}layout(){this.inputBox.layout()}style(e){this.inputBox.style(e)}}var pa=i(189);i(323);const ma={progressBarBackground:Ho.a.fromHex("#0E70C0")};class fa extends de.a{constructor(e,t){super(),this.options=t||Object.create(null),Object(ue.f)(this.options,ma,!1),this.workedVal=0,this.progressBarBackground=this.options.progressBarBackground,this._register(this.showDelayedScheduler=new Se.e(()=>Object(Z.U)(this.element),0)),this.create(e)}create(e){this.element=document.createElement("div"),this.element.classList.add("monaco-progress-container"),this.element.setAttribute("role","progressbar"),this.element.setAttribute("aria-valuemin","0"),e.appendChild(this.element),this.bit=document.createElement("div"),this.bit.classList.add("progress-bit"),this.element.appendChild(this.bit),this.applyStyles()}off(){this.bit.style.width="inherit",this.bit.style.opacity="1",this.element.classList.remove("active","infinite","discrete"),this.workedVal=0,this.totalWork=void 0}stop(){return this.doDone(!1)}doDone(e){return this.element.classList.add("done"),this.element.classList.contains("infinite")?(this.bit.style.opacity="0",e?setTimeout(()=>this.off(),200):this.off()):(this.bit.style.width="inherit",e?setTimeout(()=>this.off(),200):this.off()),this}infinite(){return this.bit.style.width="2%",this.bit.style.opacity="1",this.element.classList.remove("discrete","done"),this.element.classList.add("active","infinite"),this}getContainer(){return this.element}style(e){this.progressBarBackground=e.progressBarBackground,this.applyStyles()}applyStyles(){if(this.bit){const e=this.progressBarBackground?this.progressBarBackground.toString():"";this.bit.style.backgroundColor=e}}}i(324);var _a=i(53),ba=i(132);const va={buttonBackground:Ho.a.fromHex("#0E639C"),buttonHoverBackground:Ho.a.fromHex("#006BB3"),buttonForeground:Ho.a.white};class Ca extends de.a{constructor(e,t){super(),this._onDidClick=this._register(new W.a),this.options=t||Object.create(null),Object(ue.f)(this.options,va,!1),this.buttonForeground=this.options.buttonForeground,this.buttonBackground=this.options.buttonBackground,this.buttonHoverBackground=this.options.buttonHoverBackground,this.buttonSecondaryForeground=this.options.buttonSecondaryForeground,this.buttonSecondaryBackground=this.options.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=this.options.buttonSecondaryHoverBackground,this.buttonBorder=this.options.buttonBorder,this._element=document.createElement("a"),this._element.classList.add("monaco-button"),this._element.tabIndex=0,this._element.setAttribute("role","button"),e.appendChild(this._element),this._register(_a.b.addTarget(this._element)),[Z.d.CLICK,_a.a.Tap].forEach(e=>{this._register(Object(Z.i)(this._element,e,e=>{this.enabled?this._onDidClick.fire(e):Z.c.stop(e)}))}),this._register(Object(Z.i)(this._element,Z.d.KEY_DOWN,e=>{const t=new Gt.a(e);let i=!1;this.enabled&&(t.equals(3)||t.equals(10))?(this._onDidClick.fire(e),i=!0):t.equals(9)&&(this._element.blur(),i=!0),i&&Z.c.stop(t,!0)})),this._register(Object(Z.i)(this._element,Z.d.MOUSE_OVER,e=>{this._element.classList.contains("disabled")||this.setHoverBackground()})),this._register(Object(Z.i)(this._element,Z.d.MOUSE_OUT,e=>{this.applyStyles()})),this.focusTracker=this._register(Object(Z.W)(this._element)),this._register(this.focusTracker.onDidFocus(()=>this.setHoverBackground())),this._register(this.focusTracker.onDidBlur(()=>this.applyStyles())),this.applyStyles()}get onDidClick(){return this._onDidClick.event}setHoverBackground(){let e;e=this.options.secondary?this.buttonSecondaryHoverBackground?this.buttonSecondaryHoverBackground.toString():null:this.buttonHoverBackground?this.buttonHoverBackground.toString():null,e&&(this._element.style.backgroundColor=e)}style(e){this.buttonForeground=e.buttonForeground,this.buttonBackground=e.buttonBackground,this.buttonHoverBackground=e.buttonHoverBackground,this.buttonSecondaryForeground=e.buttonSecondaryForeground,this.buttonSecondaryBackground=e.buttonSecondaryBackground,this.buttonSecondaryHoverBackground=e.buttonSecondaryHoverBackground,this.buttonBorder=e.buttonBorder,this.applyStyles()}applyStyles(){if(this._element){let e,t;this.options.secondary?(t=this.buttonSecondaryForeground?this.buttonSecondaryForeground.toString():"",e=this.buttonSecondaryBackground?this.buttonSecondaryBackground.toString():""):(t=this.buttonForeground?this.buttonForeground.toString():"",e=this.buttonBackground?this.buttonBackground.toString():"");const i=this.buttonBorder?this.buttonBorder.toString():"";this._element.style.color=t,this._element.style.backgroundColor=e,this._element.style.borderWidth=i?"1px":"",this._element.style.borderStyle=i?"solid":"",this._element.style.borderColor=i}}get element(){return this._element}set label(e){this._element.classList.add("monaco-text-button"),this.options.supportIcons?Object(Z.P)(this._element,...Object(ba.a)(e)):this._element.textContent=e,"string"==typeof this.options.title?this._element.title=this.options.title:this.options.title&&(this._element.title=e)}set enabled(e){e?(this._element.classList.remove("disabled"),this._element.setAttribute("aria-disabled",String(!1)),this._element.tabIndex=0):(this._element.classList.add("disabled"),this._element.setAttribute("aria-disabled",String(!0)))}get enabled(){return!this._element.classList.contains("disabled")}}var wa=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};const ya=Z.a,Sa={iconClass:Object(rn.d)("quick-input-back",rn.b.arrowLeft).classNames,tooltip:Object(si.a)("quickInput.back","Back"),handle:-1};class ka extends de.a{constructor(e){super(),this.ui=e,this.visible=!1,this._enabled=!0,this._busy=!1,this._ignoreFocusOut=!1,this._buttons=[],this.buttonsUpdated=!1,this.onDidTriggerButtonEmitter=this._register(new W.a),this.onDidHideEmitter=this._register(new W.a),this.onDisposeEmitter=this._register(new W.a),this.visibleDisposables=this._register(new de.b),this.onDidHide=this.onDidHideEmitter.event}get title(){return this._title}set title(e){this._title=e,this.update()}get description(){return this._description}set description(e){this._description=e,this.update()}get step(){return this._steps}set step(e){this._steps=e,this.update()}get totalSteps(){return this._totalSteps}set totalSteps(e){this._totalSteps=e,this.update()}get enabled(){return this._enabled}set enabled(e){this._enabled=e,this.update()}get contextKey(){return this._contextKey}set contextKey(e){this._contextKey=e,this.update()}get busy(){return this._busy}set busy(e){this._busy=e,this.update()}get ignoreFocusOut(){return this._ignoreFocusOut}set ignoreFocusOut(e){this._ignoreFocusOut=e,this.update()}get buttons(){return this._buttons}set buttons(e){this._buttons=e,this.buttonsUpdated=!0,this.update()}show(){this.visible||(this.visibleDisposables.add(this.ui.onDidTriggerButton(e=>{-1!==this.buttons.indexOf(e)&&this.onDidTriggerButtonEmitter.fire(e)})),this.ui.show(this),this.visible=!0,this.update())}hide(){this.visible&&this.ui.hide()}didHide(){this.visible=!1,this.visibleDisposables.clear(),this.onDidHideEmitter.fire()}update(){if(!this.visible)return;const e=this.getTitle();e&&this.ui.title.textContent!==e?this.ui.title.textContent=e:e||" "===this.ui.title.innerHTML||(this.ui.title.innerText=" ;");const t=this.getDescription();if(this.ui.description1.textContent!==t&&(this.ui.description1.textContent=t),this.ui.description2.textContent!==t&&(this.ui.description2.textContent=t),this.busy&&!this.busyDelay&&(this.busyDelay=new Se.g,this.busyDelay.setIfNotSet(()=>{this.visible&&this.ui.progressBar.infinite()},800)),!this.busy&&this.busyDelay&&(this.ui.progressBar.stop(),this.busyDelay.cancel(),this.busyDelay=void 0),this.buttonsUpdated){this.buttonsUpdated=!1,this.ui.leftActionBar.clear();const e=this.buttons.filter(e=>e===Sa);this.ui.leftActionBar.push(e.map((e,t)=>{const i=new Ji.a("id-"+t,"",e.iconClass||Qs(e.iconPath),!0,()=>wa(this,void 0,void 0,(function*(){this.onDidTriggerButtonEmitter.fire(e)})));return i.tooltip=e.tooltip||"",i}),{icon:!0,label:!1}),this.ui.rightActionBar.clear();const t=this.buttons.filter(e=>e!==Sa);this.ui.rightActionBar.push(t.map((e,t)=>{const i=new Ji.a("id-"+t,"",e.iconClass||Qs(e.iconPath),!0,()=>wa(this,void 0,void 0,(function*(){this.onDidTriggerButtonEmitter.fire(e)})));return i.tooltip=e.tooltip||"",i}),{icon:!0,label:!1})}this.ui.ignoreFocusOut=this.ignoreFocusOut,this.ui.setEnabled(this.enabled),this.ui.setContextKey(this.contextKey)}getTitle(){return this.title&&this.step?`${this.title} (${this.getSteps()})`:this.title?this.title:this.step?this.getSteps():""}getDescription(){return this.description||""}getSteps(){return this.step&&this.totalSteps?Object(si.a)("quickInput.steps","{0}/{1}",this.step,this.totalSteps):this.step?String(this.step):""}showMessageDecoration(e){if(this.ui.inputBox.showDecoration(e),e===Yt.a.Error){const t=this.ui.inputBox.stylesForType(e);this.ui.message.style.color=t.foreground?""+t.foreground:"",this.ui.message.style.backgroundColor=t.background?""+t.background:"",this.ui.message.style.border=t.border?"1px solid "+t.border:"",this.ui.message.style.paddingBottom="4px"}else this.ui.message.style.color="",this.ui.message.style.backgroundColor="",this.ui.message.style.border="",this.ui.message.style.paddingBottom=""}dispose(){this.hide(),this.onDisposeEmitter.fire(),super.dispose()}}class xa extends ka{constructor(){super(...arguments),this._value="",this.onDidChangeValueEmitter=this._register(new W.a),this.onDidAcceptEmitter=this._register(new W.a),this.onDidCustomEmitter=this._register(new W.a),this._items=[],this.itemsUpdated=!1,this._canSelectMany=!1,this._canAcceptInBackground=!1,this._matchOnDescription=!1,this._matchOnDetail=!1,this._matchOnLabel=!0,this._sortByLabel=!0,this._autoFocusOnList=!0,this._itemActivation=this.ui.isScreenReaderOptimized()?Us.a.NONE:Us.a.FIRST,this._activeItems=[],this.activeItemsUpdated=!1,this.activeItemsToConfirm=[],this.onDidChangeActiveEmitter=this._register(new W.a),this._selectedItems=[],this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=[],this.onDidChangeSelectionEmitter=this._register(new W.a),this.onDidTriggerItemButtonEmitter=this._register(new W.a),this.valueSelectionUpdated=!0,this._ok="default",this._customButton=!1,this.filterValue=e=>e,this.onDidChangeValue=this.onDidChangeValueEmitter.event,this.onDidAccept=this.onDidAcceptEmitter.event,this.onDidChangeActive=this.onDidChangeActiveEmitter.event,this.onDidChangeSelection=this.onDidChangeSelectionEmitter.event,this.onDidTriggerItemButton=this.onDidTriggerItemButtonEmitter.event}get quickNavigate(){return this._quickNavigate}set quickNavigate(e){this._quickNavigate=e,this.update()}get value(){return this._value}set value(e){this._value=e||"",this.update()}set ariaLabel(e){this._ariaLabel=e,this.update()}get ariaLabel(){return this._ariaLabel}get placeholder(){return this._placeholder}set placeholder(e){this._placeholder=e,this.update()}get items(){return this._items}set items(e){this._items=e,this.itemsUpdated=!0,this.update()}get canSelectMany(){return this._canSelectMany}set canSelectMany(e){this._canSelectMany=e,this.update()}get canAcceptInBackground(){return this._canAcceptInBackground}set canAcceptInBackground(e){this._canAcceptInBackground=e}get matchOnDescription(){return this._matchOnDescription}set matchOnDescription(e){this._matchOnDescription=e,this.update()}get matchOnDetail(){return this._matchOnDetail}set matchOnDetail(e){this._matchOnDetail=e,this.update()}get matchOnLabel(){return this._matchOnLabel}set matchOnLabel(e){this._matchOnLabel=e,this.update()}get sortByLabel(){return this._sortByLabel}set sortByLabel(e){this._sortByLabel=e,this.update()}get autoFocusOnList(){return this._autoFocusOnList}set autoFocusOnList(e){this._autoFocusOnList=e,this.update()}get itemActivation(){return this._itemActivation}set itemActivation(e){this._itemActivation=e}get activeItems(){return this._activeItems}set activeItems(e){this._activeItems=e,this.activeItemsUpdated=!0,this.update()}get selectedItems(){return this._selectedItems}set selectedItems(e){this._selectedItems=e,this.selectedItemsUpdated=!0,this.update()}get keyMods(){return this._quickNavigate?Us.b:this.ui.keyMods}set valueSelection(e){this._valueSelection=e,this.valueSelectionUpdated=!0,this.update()}get validationMessage(){return this._validationMessage}set validationMessage(e){this._validationMessage=e,this.update()}get customButton(){return this._customButton}set customButton(e){this._customButton=e,this.update()}get customLabel(){return this._customButtonLabel}set customLabel(e){this._customButtonLabel=e,this.update()}get customHover(){return this._customButtonHover}set customHover(e){this._customButtonHover=e,this.update()}get ok(){return this._ok}set ok(e){this._ok=e,this.update()}get hideInput(){return!!this._hideInput}set hideInput(e){this._hideInput=e,this.update()}trySelectFirst(){this.autoFocusOnList&&(this.canSelectMany||this.ui.list.focus(la.First))}show(){this.visible||(this.visibleDisposables.add(this.ui.inputBox.onDidChange(e=>{if(e===this.value)return;this._value=e;this.ui.list.filter(this.filterValue(this.ui.inputBox.value))&&this.trySelectFirst(),this.onDidChangeValueEmitter.fire(e)})),this.visibleDisposables.add(this.ui.inputBox.onMouseDown(e=>{this.autoFocusOnList||this.ui.list.clearFocus()})),this.visibleDisposables.add((this._hideInput?this.ui.list:this.ui.inputBox).onKeyDown(e=>{switch(e.keyCode){case 18:this.ui.list.focus(la.Next),this.canSelectMany&&this.ui.list.domFocus(),Z.c.stop(e,!0);break;case 16:this.ui.list.getFocusedElements().length?this.ui.list.focus(la.Previous):this.ui.list.focus(la.Last),this.canSelectMany&&this.ui.list.domFocus(),Z.c.stop(e,!0);break;case 12:this.ui.list.focus(la.NextPage),this.canSelectMany&&this.ui.list.domFocus(),Z.c.stop(e,!0);break;case 11:this.ui.list.focus(la.PreviousPage),this.canSelectMany&&this.ui.list.domFocus(),Z.c.stop(e,!0);break;case 17:if(!this._canAcceptInBackground)return;if(!this.ui.inputBox.isSelectionAtEnd())return;this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.onDidAcceptEmitter.fire({inBackground:!0}));break;case 14:!e.ctrlKey&&!e.metaKey||e.shiftKey||e.altKey||(this.ui.list.focus(la.First),Z.c.stop(e,!0));break;case 13:!e.ctrlKey&&!e.metaKey||e.shiftKey||e.altKey||(this.ui.list.focus(la.Last),Z.c.stop(e,!0))}})),this.visibleDisposables.add(this.ui.onDidAccept(()=>{!this.canSelectMany&&this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems)),this.onDidAcceptEmitter.fire({inBackground:!1})})),this.visibleDisposables.add(this.ui.onDidCustom(()=>{this.onDidCustomEmitter.fire()})),this.visibleDisposables.add(this.ui.list.onDidChangeFocus(e=>{this.activeItemsUpdated||this.activeItemsToConfirm!==this._activeItems&&Object(Pe.g)(e,this._activeItems,(e,t)=>e===t)||(this._activeItems=e,this.onDidChangeActiveEmitter.fire(e))})),this.visibleDisposables.add(this.ui.list.onDidChangeSelection(({items:e,event:t})=>{this.canSelectMany?e.length&&this.ui.list.setSelectedElements([]):this.selectedItemsToConfirm!==this._selectedItems&&Object(Pe.g)(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e),e.length&&this.onDidAcceptEmitter.fire({inBackground:t instanceof MouseEvent&&1===t.button}))})),this.visibleDisposables.add(this.ui.list.onChangedCheckedElements(e=>{this.canSelectMany&&(this.selectedItemsToConfirm!==this._selectedItems&&Object(Pe.g)(e,this._selectedItems,(e,t)=>e===t)||(this._selectedItems=e,this.onDidChangeSelectionEmitter.fire(e)))})),this.visibleDisposables.add(this.ui.list.onButtonTriggered(e=>this.onDidTriggerItemButtonEmitter.fire(e))),this.visibleDisposables.add(this.registerQuickNavigation()),this.valueSelectionUpdated=!0),super.show()}registerQuickNavigation(){return Z.i(this.ui.container,Z.d.KEY_UP,e=>{if(this.canSelectMany||!this._quickNavigate)return;const t=new Gt.a(e),i=t.keyCode;this._quickNavigate.keybindings.some(e=>{const[n,o]=e.getParts();return!o&&(n.shiftKey&&4===i?!(t.ctrlKey||t.altKey||t.metaKey):!(!n.altKey||6!==i)||(!(!n.ctrlKey||5!==i)||!(!n.metaKey||57!==i)))})&&(this.activeItems[0]&&(this._selectedItems=[this.activeItems[0]],this.onDidChangeSelectionEmitter.fire(this.selectedItems),this.onDidAcceptEmitter.fire({inBackground:!1})),this._quickNavigate=void 0)})}update(){if(!this.visible)return;let e=!1,t=!1;this._hideInput&&this._items.length>0&&(this.ui.isScreenReaderOptimized()?t=!0:e=!0),this.ui.container.classList.toggle("hidden-input",e&&!this.description);const i={title:!!this.title||!!this.step||!!this.buttons.length,description:!!this.description,checkAll:this.canSelectMany&&!this._hideCheckAll,checkBox:this.canSelectMany,inputBox:!e,progressBar:!e,visibleCount:!0,count:this.canSelectMany,ok:"default"===this.ok?this.canSelectMany:this.ok,list:!0,message:!!this.validationMessage,customButton:this.customButton};if(this.ui.setVisibilities(i),super.update(),this.ui.inputBox.value!==this.value&&(this.ui.inputBox.value=this.value),this.valueSelectionUpdated&&(this.valueSelectionUpdated=!1,this.ui.inputBox.select(this._valueSelection&&{start:this._valueSelection[0],end:this._valueSelection[1]})),this.ui.inputBox.placeholder!==(this.placeholder||"")&&(this.ui.inputBox.placeholder=this.placeholder||""),t)this.ui.inputBox.ariaLabel="";else{const e=this.ariaLabel||this.placeholder||xa.DEFAULT_ARIA_LABEL;this.ui.inputBox.ariaLabel!==e&&(this.ui.inputBox.ariaLabel=e)}if(this.ui.list.matchOnDescription=this.matchOnDescription,this.ui.list.matchOnDetail=this.matchOnDetail,this.ui.list.matchOnLabel=this.matchOnLabel,this.ui.list.sortByLabel=this.sortByLabel,this.itemsUpdated)switch(this.itemsUpdated=!1,this.ui.list.setElements(this.items),this.ui.list.filter(this.filterValue(this.ui.inputBox.value)),this.ui.checkAll.checked=this.ui.list.getAllVisibleChecked(),this.ui.visibleCount.setCount(this.ui.list.getVisibleCount()),this.ui.count.setCount(this.ui.list.getCheckedCount()),this._itemActivation){case Us.a.NONE:this._itemActivation=Us.a.FIRST;break;case Us.a.SECOND:this.ui.list.focus(la.Second),this._itemActivation=Us.a.FIRST;break;case Us.a.LAST:this.ui.list.focus(la.Last),this._itemActivation=Us.a.FIRST;break;default:this.trySelectFirst()}this.ui.container.classList.contains("show-checkboxes")!==!!this.canSelectMany&&(this.canSelectMany?this.ui.list.clearFocus():this.trySelectFirst()),this.activeItemsUpdated&&(this.activeItemsUpdated=!1,this.activeItemsToConfirm=this._activeItems,this.ui.list.setFocusedElements(this.activeItems),this.activeItemsToConfirm===this._activeItems&&(this.activeItemsToConfirm=null)),this.selectedItemsUpdated&&(this.selectedItemsUpdated=!1,this.selectedItemsToConfirm=this._selectedItems,this.canSelectMany?this.ui.list.setCheckedElements(this.selectedItems):this.ui.list.setSelectedElements(this.selectedItems),this.selectedItemsToConfirm===this._selectedItems&&(this.selectedItemsToConfirm=null));const n=this.validationMessage||"";this._lastValidationMessage!==n&&(this._lastValidationMessage=n,Z.P(this.ui.message,...Object(ba.a)(Object(Be.t)(n))),this.showMessageDecoration(this.validationMessage?Yt.a.Error:Yt.a.Ignore)),this.ui.customButton.label=this.customLabel||"",this.ui.customButton.element.title=this.customHover||"",this.ui.setComboboxAccessibility(!0),i.inputBox||(this.ui.list.domFocus(),this.canSelectMany&&this.ui.list.focus(la.First))}}xa.DEFAULT_ARIA_LABEL=Object(si.a)("quickInputBox.ariaLabel","Type to narrow down results.");class Da extends de.a{constructor(e){super(),this.options=e,this.comboboxAccessibility=!1,this.enabled=!0,this.onDidAcceptEmitter=this._register(new W.a),this.onDidCustomEmitter=this._register(new W.a),this.onDidTriggerButtonEmitter=this._register(new W.a),this.keyMods={ctrlCmd:!1,alt:!1},this.controller=null,this.onShowEmitter=this._register(new W.a),this.onShow=this.onShowEmitter.event,this.onHideEmitter=this._register(new W.a),this.onHide=this.onHideEmitter.event,this.idPrefix=e.idPrefix,this.parentElement=e.container,this.styles=e.styles,this.registerKeyModsListeners()}registerKeyModsListeners(){const e=e=>{this.keyMods.ctrlCmd=e.ctrlKey||e.metaKey,this.keyMods.alt=e.altKey};this._register(Z.i(window,Z.d.KEY_DOWN,e,!0)),this._register(Z.i(window,Z.d.KEY_UP,e,!0)),this._register(Z.i(window,Z.d.MOUSE_DOWN,e,!0))}getUI(){if(this.ui)return this.ui;const e=Z.p(this.parentElement,ya(".quick-input-widget.show-file-icons"));e.tabIndex=-1,e.style.display="none";const t=Z.v(e),i=Z.p(e,ya(".quick-input-titlebar")),n=this._register(new Zi.a(i));n.domNode.classList.add("quick-input-left-action-bar");const o=Z.p(i,ya(".quick-input-title")),r=this._register(new Zi.a(i));r.domNode.classList.add("quick-input-right-action-bar");const s=Z.p(e,ya(".quick-input-description")),a=Z.p(e,ya(".quick-input-header")),l=Z.p(a,ya("input.quick-input-check-all"));l.type="checkbox",this._register(Z.n(l,Z.d.CHANGE,e=>{const t=l.checked;S.setAllVisibleChecked(t)})),this._register(Z.i(l,Z.d.CLICK,e=>{(e.x||e.y)&&u.setFocus()}));const c=Z.p(a,ya(".quick-input-description")),h=Z.p(a,ya(".quick-input-and-message")),d=Z.p(h,ya(".quick-input-filter")),u=this._register(new ga(d));u.setAttribute("aria-describedby",this.idPrefix+"message");const g=Z.p(d,ya(".quick-input-visible-count"));g.setAttribute("aria-live","polite"),g.setAttribute("aria-atomic","true");const p=new pa.a(g,{countFormat:Object(si.a)({key:"quickInput.visibleCount",comment:["This tells the user how many items are shown in a list of items to select from. The items can be anything. Currently not visible, but read by screen readers."]},"{0} Results")}),m=Z.p(d,ya(".quick-input-count"));m.setAttribute("aria-live","polite");const f=new pa.a(m,{countFormat:Object(si.a)({key:"quickInput.countSelected",comment:["This tells the user how many items are selected in a list of items to select from. The items can be anything."]},"{0} Selected")}),_=Z.p(a,ya(".quick-input-action")),b=new Ca(_);b.label=Object(si.a)("ok","OK"),this._register(b.onDidClick(e=>{this.onDidAcceptEmitter.fire()}));const v=Z.p(a,ya(".quick-input-action")),C=new Ca(v);C.label=Object(si.a)("custom","Custom"),this._register(C.onDidClick(e=>{this.onDidCustomEmitter.fire()}));const w=Z.p(h,ya(`#${this.idPrefix}message.quick-input-message`)),y=new fa(e);y.getContainer().classList.add("quick-input-progress");const S=this._register(new ca(e,this.idPrefix+"list",this.options));this._register(S.onChangedAllVisibleChecked(e=>{l.checked=e})),this._register(S.onChangedVisibleCount(e=>{p.setCount(e)})),this._register(S.onChangedCheckedCount(e=>{f.setCount(e)})),this._register(S.onLeave(()=>{setTimeout(()=>{u.setFocus(),this.controller instanceof xa&&this.controller.canSelectMany&&S.clearFocus()},0)})),this._register(S.onDidChangeFocus(()=>{this.comboboxAccessibility&&this.getUI().inputBox.setAttribute("aria-activedescendant",this.getUI().list.getActiveDescendant()||"")}));const k=Z.W(e);return this._register(k),this._register(Z.i(e,Z.d.FOCUS,e=>{this.previousFocusElement=e.relatedTarget instanceof HTMLElement?e.relatedTarget:void 0},!0)),this._register(k.onDidBlur(()=>{this.getUI().ignoreFocusOut||this.options.ignoreFocusOut()||this.hide(),this.previousFocusElement=void 0})),this._register(Z.i(e,Z.d.FOCUS,e=>{u.setFocus()})),this._register(Z.i(e,Z.d.KEY_DOWN,t=>{const i=new Gt.a(t);switch(i.keyCode){case 3:Z.c.stop(t,!0),this.onDidAcceptEmitter.fire();break;case 9:Z.c.stop(t,!0),this.hide();break;case 2:if(!i.altKey&&!i.ctrlKey&&!i.metaKey){const n=[".action-label.codicon"];e.classList.contains("show-checkboxes")?n.push("input"):n.push("input[type=text]"),this.getUI().list.isDisplayed()&&n.push(".monaco-list");const o=e.querySelectorAll(n.join(", "));i.shiftKey&&i.target===o[0]?(Z.c.stop(t,!0),o[o.length-1].focus()):i.shiftKey||i.target!==o[o.length-1]||(Z.c.stop(t,!0),o[0].focus())}}})),this.ui={container:e,styleSheet:t,leftActionBar:n,titleBar:i,title:o,description1:s,description2:c,rightActionBar:r,checkAll:l,filterContainer:d,inputBox:u,visibleCountContainer:g,visibleCount:p,countContainer:m,count:f,okContainer:_,ok:b,message:w,customButtonContainer:v,customButton:C,progressBar:y,list:S,onDidAccept:this.onDidAcceptEmitter.event,onDidCustom:this.onDidCustomEmitter.event,onDidTriggerButton:this.onDidTriggerButtonEmitter.event,ignoreFocusOut:!1,keyMods:this.keyMods,isScreenReaderOptimized:()=>this.options.isScreenReaderOptimized(),show:e=>this.show(e),hide:()=>this.hide(),setVisibilities:e=>this.setVisibilities(e),setComboboxAccessibility:e=>this.setComboboxAccessibility(e),setEnabled:e=>this.setEnabled(e),setContextKey:e=>this.options.setContextKey(e)},this.updateStyles(),this.ui}pick(e,t={},i=B.a.None){return new Promise((n,o)=>{let r=e=>{r=n,t.onKeyMods&&t.onKeyMods(s.keyMods),n(e)};if(i.isCancellationRequested)return void r(void 0);const s=this.createQuickPick();let a;const l=[s,s.onDidAccept(()=>{if(s.canSelectMany)r(s.selectedItems.slice()),s.hide();else{const e=s.activeItems[0];e&&(r(e),s.hide())}}),s.onDidChangeActive(e=>{const i=e[0];i&&t.onDidFocus&&t.onDidFocus(i)}),s.onDidChangeSelection(e=>{if(!s.canSelectMany){const t=e[0];t&&(r(t),s.hide())}}),s.onDidTriggerItemButton(e=>t.onDidTriggerItemButton&&t.onDidTriggerItemButton(Object.assign(Object.assign({},e),{removeItem:()=>{const t=s.items.indexOf(e.item);if(-1!==t){const e=s.items.slice();e.splice(t,1),s.items=e}}}))),s.onDidChangeValue(e=>{!a||e||1===s.activeItems.length&&s.activeItems[0]===a||(s.activeItems=[a])}),i.onCancellationRequested(()=>{s.hide()}),s.onDidHide(()=>{Object(de.f)(l),r(void 0)})];s.canSelectMany=!!t.canPickMany,s.placeholder=t.placeHolder,s.ignoreFocusOut=!!t.ignoreFocusLost,s.matchOnDescription=!!t.matchOnDescription,s.matchOnDetail=!!t.matchOnDetail,s.matchOnLabel=void 0===t.matchOnLabel||t.matchOnLabel,s.autoFocusOnList=void 0===t.autoFocusOnList||t.autoFocusOnList,s.quickNavigate=t.quickNavigate,s.contextKey=t.contextKey,s.busy=!0,Promise.all([e,t.activeItem]).then(([e,t])=>{a=t,s.busy=!1,s.items=e,s.canSelectMany&&(s.selectedItems=e.filter(e=>"separator"!==e.type&&e.picked)),a&&(s.activeItems=[a])}),s.show(),Promise.resolve(e).then(void 0,e=>{o(e),s.hide()})})}createQuickPick(){const e=this.getUI();return new xa(e)}show(e){const t=this.getUI();this.onShowEmitter.fire();const i=this.controller;this.controller=e,i&&i.didHide(),this.setEnabled(!0),t.leftActionBar.clear(),t.title.textContent="",t.description1.textContent="",t.description2.textContent="",t.rightActionBar.clear(),t.checkAll.checked=!1,t.inputBox.placeholder="",t.inputBox.password=!1,t.inputBox.showDecoration(Yt.a.Ignore),t.visibleCount.setCount(0),t.count.setCount(0),Z.P(t.message),t.progressBar.stop(),t.list.setElements([]),t.list.matchOnDescription=!1,t.list.matchOnDetail=!1,t.list.matchOnLabel=!0,t.list.sortByLabel=!0,t.ignoreFocusOut=!1,this.setComboboxAccessibility(!1),t.inputBox.ariaLabel="";const n=this.options.backKeybindingLabel();Sa.tooltip=n?Object(si.a)("quickInput.backWithKeybinding","Back ({0})",n):Object(si.a)("quickInput.back","Back"),t.container.style.display="",this.updateLayout(),t.inputBox.setFocus()}setVisibilities(e){const t=this.getUI();t.title.style.display=e.title?"":"none",t.description1.style.display=e.description&&(e.inputBox||e.checkAll)?"":"none",t.description2.style.display=!e.description||e.inputBox||e.checkAll?"none":"",t.checkAll.style.display=e.checkAll?"":"none",t.filterContainer.style.display=e.inputBox?"":"none",t.visibleCountContainer.style.display=e.visibleCount?"":"none",t.countContainer.style.display=e.count?"":"none",t.okContainer.style.display=e.ok?"":"none",t.customButtonContainer.style.display=e.customButton?"":"none",t.message.style.display=e.message?"":"none",t.progressBar.getContainer().style.display=e.progressBar?"":"none",t.list.display(!!e.list),t.container.classList[e.checkBox?"add":"remove"]("show-checkboxes"),this.updateLayout()}setComboboxAccessibility(e){if(e!==this.comboboxAccessibility){const t=this.getUI();this.comboboxAccessibility=e,this.comboboxAccessibility?(t.inputBox.setAttribute("role","combobox"),t.inputBox.setAttribute("aria-haspopup","true"),t.inputBox.setAttribute("aria-autocomplete","list"),t.inputBox.setAttribute("aria-activedescendant",t.list.getActiveDescendant()||"")):(t.inputBox.removeAttribute("role"),t.inputBox.removeAttribute("aria-haspopup"),t.inputBox.removeAttribute("aria-autocomplete"),t.inputBox.removeAttribute("aria-activedescendant"))}}setEnabled(e){if(e!==this.enabled){this.enabled=e;for(const t of this.getUI().leftActionBar.viewItems)t.getAction().enabled=e;for(const t of this.getUI().rightActionBar.viewItems)t.getAction().enabled=e;this.getUI().checkAll.disabled=!e,this.getUI().ok.enabled=e,this.getUI().list.enabled=e}}hide(){var e;const t=this.controller;if(t){const i=!(null===(e=this.ui)||void 0===e?void 0:e.container.contains(document.activeElement));this.controller=null,this.onHideEmitter.fire(),this.getUI().container.style.display="none",i||(this.previousFocusElement&&this.previousFocusElement.offsetParent?(this.previousFocusElement.focus(),this.previousFocusElement=void 0):this.options.returnFocus()),t.didHide()}}layout(e,t){this.dimension=e,this.titleBarOffset=t,this.updateLayout()}updateLayout(){if(this.ui){this.ui.container.style.top=this.titleBarOffset+"px";const e=this.ui.container.style,t=Math.min(.62*this.dimension.width,Da.MAX_WIDTH);e.width=t+"px",e.marginLeft="-"+t/2+"px",this.ui.inputBox.layout(),this.ui.list.layout(this.dimension&&.4*this.dimension.height)}}applyStyles(e){this.styles=e,this.updateStyles()}updateStyles(){if(this.ui){const{quickInputTitleBackground:e,quickInputBackground:t,quickInputForeground:i,contrastBorder:n,widgetShadow:o}=this.styles.widget;this.ui.titleBar.style.backgroundColor=e?e.toString():"",this.ui.container.style.backgroundColor=t?t.toString():"",this.ui.container.style.color=i?i.toString():"",this.ui.container.style.border=n?"1px solid "+n:"",this.ui.container.style.boxShadow=o?"0 0 8px 2px "+o:"",this.ui.inputBox.style(this.styles.inputBox),this.ui.count.style(this.styles.countBadge),this.ui.ok.style(this.styles.button),this.ui.customButton.style(this.styles.button),this.ui.progressBar.style(this.styles.progressBar),this.ui.list.style(this.styles.list);const r=[];this.styles.list.pickerGroupBorder&&r.push(`.quick-input-list .quick-input-list-entry { border-top-color: ${this.styles.list.pickerGroupBorder}; }`),this.styles.list.pickerGroupForeground&&r.push(`.quick-input-list .quick-input-list-separator { color: ${this.styles.list.pickerGroupForeground}; }`);const s=r.join("\n");s!==this.ui.styleSheet.textContent&&(this.ui.styleSheet.textContent=s)}}}Da.MAX_WIDTH=600;var La=i(101),Ea=i(127),Na=i(126),Oa=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},Ia=function(e,t){return function(i,n){t(i,n,e)}};let Aa=class extends de.a{constructor(e,t){super(),this.quickInputService=e,this.instantiationService=t,this.registry=So.a.as(Ea.b.Quickaccess),this.mapProviderToDescriptor=new Map,this.lastAcceptedPickerValues=new Map,this.visibleQuickAccess=void 0}show(e="",t){var i;const[n,o]=this.getOrInstantiateProvider(e),r=this.visibleQuickAccess,s=null==r?void 0:r.descriptor;if(r&&o&&s===o)return e===o.prefix||(null==t?void 0:t.preserveValue)||(r.picker.value=e),void this.adjustValueSelection(r.picker,o,t);if(o&&!(null==t?void 0:t.preserveValue)){let t=void 0;if(r&&s&&s!==o){const e=r.value.substr(s.prefix.length);e&&(t=`${o.prefix}${e}`)}if(!t){const e=null==n?void 0:n.defaultFilterValue;e===Ea.a.LAST?t=this.lastAcceptedPickerValues.get(o):"string"==typeof e&&(t=`${o.prefix}${e}`)}"string"==typeof t&&(e=t)}const a=new de.b,l=a.add(this.quickInputService.createQuickPick());l.value=e,this.adjustValueSelection(l,o,t),l.placeholder=null==o?void 0:o.placeholder,l.quickNavigate=null==t?void 0:t.quickNavigateConfiguration,l.hideInput=!!l.quickNavigate&&!r,("number"==typeof(null==t?void 0:t.itemActivation)||(null==t?void 0:t.quickNavigateConfiguration))&&(l.itemActivation=null!==(i=null==t?void 0:t.itemActivation)&&void 0!==i?i:La.b.SECOND),l.contextKey=null==o?void 0:o.contextKey,l.filterValue=e=>e.substring(o?o.prefix.length:0),(null==o?void 0:o.placeholder)&&(l.ariaLabel=null==o?void 0:o.placeholder);const c=this.registerPickerListeners(l,n,o,e,a);n&&a.add(n.provide(l,c)),l.show()}adjustValueSelection(e,t,i){var n;let o;o=(null==i?void 0:i.preserveValue)?[e.value.length,e.value.length]:[null!==(n=null==t?void 0:t.prefix.length)&&void 0!==n?n:0,e.value.length],e.valueSelection=o}registerPickerListeners(e,t,i,n,o){const r=this.visibleQuickAccess={picker:e,descriptor:i,value:n};o.add(Object(de.h)(()=>{r===this.visibleQuickAccess&&(this.visibleQuickAccess=void 0)})),o.add(e.onDidChangeValue(e=>{const[i]=this.getOrInstantiateProvider(e);i!==t?this.show(e,{preserveValue:!0}):r.value=e})),i&&o.add(e.onDidAccept(()=>{this.lastAcceptedPickerValues.set(i,e.value)}));const s=o.add(new B.b);return Object(Na.a)(e.onDidHide)(()=>{0===e.selectedItems.length&&s.cancel(),o.dispose()}),s.token}getOrInstantiateProvider(e){const t=this.registry.getQuickAccessProvider(e);if(!t)return[void 0,void 0];let i=this.mapProviderToDescriptor.get(t);return i||(i=this.instantiationService.createInstance(t.ctor),this.mapProviderToDescriptor.set(t,i)),[i,t]}};Aa=Oa([Ia(0,La.a),Ia(1,Cn.a)],Aa);var Ma=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},Ta=function(e,t){return function(i,n){t(i,n,e)}};let Ra=class extends on.c{constructor(e,t,i,n,o){super(i),this.instantiationService=e,this.contextKeyService=t,this.accessibilityService=n,this.layoutService=o,this.contexts=new Map}get controller(){return this._controller||(this._controller=this._register(this.createController())),this._controller}get quickAccess(){return this._quickAccess||(this._quickAccess=this._register(this.instantiationService.createInstance(Aa))),this._quickAccess}createController(e=this.layoutService,t){var i,n;const o={idPrefix:"quickInput_",container:e.container,ignoreFocusOut:()=>!1,isScreenReaderOptimized:()=>this.accessibilityService.isScreenReaderOptimized(),backKeybindingLabel:()=>{},setContextKey:e=>this.setContextKey(e),returnFocus:()=>e.focus(),createList:(e,t,i,n,o)=>this.instantiationService.createInstance(as.d,e,t,i,n,o),styles:this.computeStyles()},r=this._register(new Da(Object.assign(Object.assign({},o),t)));return r.layout(e.dimension,null!==(n=null===(i=e.offset)||void 0===i?void 0:i.top)&&void 0!==n?n:0),this._register(e.onDidLayout(t=>{var i,n;return r.layout(t,null!==(n=null===(i=e.offset)||void 0===i?void 0:i.top)&&void 0!==n?n:0)})),this._register(r.onShow(()=>this.resetContextKeys())),this._register(r.onHide(()=>this.resetContextKeys())),r}setContextKey(e){let t;e&&(t=this.contexts.get(e),t||(t=new tn.c(e,!1).bindTo(this.contextKeyService),this.contexts.set(e,t))),t&&t.get()||(this.resetContextKeys(),t&&t.set(!0))}resetContextKeys(){this.contexts.forEach(e=>{e.get()&&e.reset()})}pick(e,t={},i=B.a.None){return this.controller.pick(e,t,i)}createQuickPick(){return this.controller.createQuickPick()}updateStyles(){this.controller.applyStyles(this.computeStyles())}computeStyles(){return{widget:Object.assign({},Object(zr.d)(this.theme,{quickInputBackground:nn.jc,quickInputForeground:nn.kc,quickInputTitleBackground:nn.mc,contrastBorder:nn.h,widgetShadow:nn.Cc})),inputBox:Object(zr.d)(this.theme,{inputForeground:nn.lb,inputBackground:nn.jb,inputBorder:nn.kb,inputValidationInfoBackground:nn.pb,inputValidationInfoForeground:nn.rb,inputValidationInfoBorder:nn.qb,inputValidationWarningBackground:nn.sb,inputValidationWarningForeground:nn.ub,inputValidationWarningBorder:nn.tb,inputValidationErrorBackground:nn.mb,inputValidationErrorForeground:nn.ob,inputValidationErrorBorder:nn.nb}),countBadge:Object(zr.d)(this.theme,{badgeBackground:nn.c,badgeForeground:nn.d,badgeBorder:nn.h}),button:Object(zr.d)(this.theme,{buttonForeground:nn.f,buttonBackground:nn.e,buttonHoverBackground:nn.g,buttonBorder:nn.h}),progressBar:Object(zr.d)(this.theme,{progressBarBackground:nn.ic}),list:Object(zr.d)(this.theme,{listBackground:nn.jc,listInactiveFocusForeground:nn.Cb,listInactiveFocusBackground:nn.lc,listFocusOutline:nn.b,listInactiveFocusOutline:nn.b,pickerGroupBorder:nn.dc,pickerGroupForeground:nn.ec})}}};Ra=Ma([Ta(0,Cn.a),Ta(1,tn.b),Ta(2,on.b),Ta(3,io.b),Ta(4,Yr)],Ra);var Pa=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},Fa=function(e,t){return function(i,n){t(i,n,e)}};let Ba=class extends Ra{constructor(e,t,i,n,o,r){super(t,i,n,o,r),this.host=void 0;const s=ja.get(e);this.host={_serviceBrand:void 0,get container(){return s.widget.getDomNode()},get dimension(){return e.getLayoutInfo()},get onDidLayout(){return e.onDidLayoutChange},focus:()=>e.focus()}}createController(){return super.createController(this.host)}};Ba=Pa([Fa(1,Cn.a),Fa(2,tn.b),Fa(3,on.b),Fa(4,io.b),Fa(5,Yr)],Ba);let Wa=class{constructor(e,t){this.instantiationService=e,this.codeEditorService=t,this.mapEditorToService=new Map}get activeService(){const e=this.codeEditorService.getFocusedCodeEditor();if(!e)throw new Error("Quick input service needs a focused editor to work.");let t=this.mapEditorToService.get(e);if(!t){const i=t=this.instantiationService.createInstance(Ba,e);this.mapEditorToService.set(e,t),Object(Na.a)(e.onDidDispose)(()=>{i.dispose(),this.mapEditorToService.delete(e)})}return t}get quickAccess(){return this.activeService.quickAccess}pick(e,t={},i=B.a.None){return this.activeService.pick(e,t,i)}createQuickPick(){return this.activeService.createQuickPick()}};Wa=Pa([Fa(0,Cn.a),Fa(1,Y.a)],Wa);class ja{constructor(e){this.editor=e,this.widget=new Va(this.editor)}static get(e){return e.getContribution(ja.ID)}dispose(){this.widget.dispose()}}ja.ID="editor.controller.quickInput";class Va{constructor(e){this.codeEditor=e,this.domNode=document.createElement("div"),this.codeEditor.addOverlayWidget(this)}getId(){return Va.ID}getDomNode(){return this.domNode}getPosition(){return{preference:2}}dispose(){this.codeEditor.removeOverlayWidget(this)}}var za;Va.ID="editor.contrib.quickInputWidget",Object(Qi.l)(ja.ID,ja),function(e){const t=new wn.a;class i{constructor(e,t){this._serviceId=e,this._factory=t,this._value=null}get id(){return this._serviceId}get(e){if(!this._value){if(e&&(this._value=e[this._serviceId.toString()]),this._value||(this._value=this._factory(e)),!this._value)throw new Error("Service "+this._serviceId+" is missing!");t.set(this._serviceId,this._value)}return this._value}}e.LazyStaticService=i;let n=[];function o(e,t){let o=new i(e,t);return n.push(o),o}e.init=function(e){let t=new wn.a;for(const[e,i]of Object(Ss.a)())t.set(e,i);for(let i in e)e.hasOwnProperty(i)&&t.set(Object(Cn.c)(i),e[i]);n.forEach(i=>t.set(i.id,i.get(e)));let i=new os(t,!0);return t.set(Cn.a,i),[t,i]},e.instantiationService=o(Cn.a,()=>new os(t,!0));const r=new Ti;e.configurationService=o(ei.a,()=>r),e.resourceConfigurationService=o(lt.a,()=>new Ri(r)),e.resourcePropertiesService=o(lt.b,()=>new Pi(r)),e.contextService=o(wi.a,()=>new Bi),e.labelService=o(ss.a,()=>new Vi),e.telemetryService=o(Kr.a,()=>new Fi),e.dialogService=o(Qr.a,()=>new Ni),e.notificationService=o(Ci.a,()=>new Oi),e.markerService=o(ls.b,()=>new ds),e.modeService=o(we.a,e=>new Lo),e.standaloneThemeService=o(Qn.a,()=>new ar),e.logService=o(ct.b,()=>new ct.d(new ct.a)),e.undoRedoService=o(Ns.a,t=>new zs(e.dialogService.get(t),e.notificationService.get(t))),e.modelService=o(at.a,t=>new Eo.a(e.configurationService.get(t),e.resourcePropertiesService.get(t),e.standaloneThemeService.get(t),e.logService.get(t),e.undoRedoService.get(t))),e.markerDecorationsService=o(_s.a,t=>new ys(e.modelService.get(t),e.markerService.get(t))),e.contextKeyService=o(tn.b,t=>new vr(e.configurationService.get(t))),e.codeEditorService=o(Y.a,t=>new zo(null,e.contextKeyService.get(t),e.standaloneThemeService.get(t))),e.editorProgressService=o(Ln.a,()=>new Ei),e.storageService=o(us.a,()=>new us.b),e.editorWorkerService=o(Ce.a,t=>new pt(e.modelService.get(t),e.resourceConfigurationService.get(t),e.logService.get(t)))}(za||(za={}));class Ha extends de.a{constructor(e,t){super();const[i,n]=za.init(t);this._serviceCollection=i,this._instantiationService=n;const o=this.get(ei.a),r=this.get(Ci.a),s=this.get(Kr.a),a=this.get(on.b),l=this.get(ct.b),c=this.get(tn.b);let h=(e,i)=>{let n=null;return t&&(n=t[e.toString()]),n||(n=i()),this._serviceCollection.set(e,n),n};h(io.b,()=>new Ds(c,o)),h(as.a,()=>new as.b(a));let d=h(ie.b,()=>new Ii(this._instantiationService)),u=h(to.a,()=>this._register(new Ai(c,d,s,r,l,e))),g=h(Yr,()=>new zi(za.codeEditorService.get(Y.a),e));h(La.a,()=>new Wa(n,za.codeEditorService.get(Y.a)));let p=h(yn.b,()=>this._register(new Jr(g)));h(Dn.a,()=>new Es),h(yn.a,()=>{const e=new Gr(s,r,p,u,a);return e.configure({blockMouse:!1}),this._register(e)}),h(eo.a,()=>new ms(d)),h(Xt.a,()=>new ji(za.modelService.get(at.a)))}get(e){let t=this._serviceCollection.get(e);if(!t)throw new Error("Missing service "+e);return t}set(e,t){this._serviceCollection.set(e,t)}has(e){return this._serviceCollection.has(e)}}function Ua(e,t,i){let n=new Ha(e,t),o=null;n.has(ye.a)||(o=new Li(za.modelService.get()),n.set(ye.a,o)),n.has(ne.a)||n.set(ne.a,new ce(n.get(Y.a),n.get(ie.b)));let r=i(n);return o&&o.setEditor(r),r}function Ka(e,t,i){return Ua(e,i||{},i=>new lo(e,t,i,i.get(Cn.a),i.get(Y.a),i.get(ie.b),i.get(tn.b),i.get(to.a),i.get(yn.b),i.get(Qn.a),i.get(Ci.a),i.get(ei.a),i.get(io.b),i.get(at.a),i.get(we.a)))}function qa(e){return za.codeEditorService.get().onCodeEditorAdd(t=>{e(t)})}function $a(e,t,i){return Ua(e,i||{},i=>new co(e,t,i,i.get(Cn.a),i.get(tn.b),i.get(to.a),i.get(yn.b),i.get(Ce.a),i.get(Y.a),i.get(Qn.a),i.get(Ci.a),i.get(ei.a),i.get(yn.a),i.get(Ln.a),i.get(Dn.a)))}function Ga(e,t){return new pe(e,t)}function Ya(e,t,i){return ho(za.modelService.get(),za.modeService.get(),e,t,i)}function Za(e,t){za.modelService.get().setMode(e,za.modeService.get().create(t))}function Xa(e,t,i){e&&za.markerService.get().changeOne(t,e.uri,i)}function Ja(e){return za.markerService.get().read(e)}function Qa(e){return za.markerService.get().onMarkerChanged(e)}function el(e){return za.modelService.get().getModel(e)}function tl(){return za.modelService.get().getModels()}function il(e){return za.modelService.get().onModelAdded(e)}function nl(e){return za.modelService.get().onModelRemoved(e)}function ol(e){return za.modelService.get().onModelModeChanged(t=>{e({model:t.model,oldLanguage:t.oldModeId})})}function rl(e){return function(e,t){return new wt(e,t)}(za.modelService.get(),e)}function sl(e,t){const i=za.standaloneThemeService.get();return i.registerEditorContainer(e),Kt.colorizeElement(i,za.modeService.get(),e,t)}function al(e,t,i){return za.standaloneThemeService.get().registerEditorContainer(document.body),Kt.colorize(za.modeService.get(),e,t,i)}function ll(e,t,i=4){return za.standaloneThemeService.get().registerEditorContainer(document.body),Kt.colorizeModelLine(e,t,i)}function cl(e,t){za.modeService.get().triggerMode(t);let i=function(e){let t=be.D.get(e);return t||{getInitialState:()=>ve.c,tokenize:(t,i,n,o)=>Object(ve.d)(e,t,n,o)}}(t),n=Object(Be.Q)(e),o=[],r=i.getInitialState();for(let e=0,t=n.length;e=100){n-=100;let e=i.split(".");if(e.unshift(i),n0&&"^"===i[0],this.name=this.name+": "+i,this.regex=_l(e,"^(?:"+(this.matchOnlyAtLineStart?i.substr(1):i)+")")}setAction(e,t){this.action=function e(t,i,n){if(n){if("string"==typeof n)return n;if(n.token||""===n.token){if("string"!=typeof n.token)throw It(t,"a 'token' attribute must be of type string, in rule: "+i);{let e={token:n.token};if(n.token.indexOf("$")>=0&&(e.tokenSubst=!0),"string"==typeof n.bracket)if("@open"===n.bracket)e.bracket=1;else{if("@close"!==n.bracket)throw It(t,"a 'bracket' attribute must be either '@open' or '@close', in rule: "+i);e.bracket=-1}if(n.next){if("string"!=typeof n.next)throw It(t,"the next state must be a string value in rule: "+i);{let o=n.next;if(!/^(@pop|@push|@popall)$/.test(o)&&("@"===o[0]&&(o=o.substr(1)),o.indexOf("$")<0&&!function(e,t){let i=t;for(;i&&i.length>0;){if(e.stateNames[i])return!0;const t=i.lastIndexOf(".");i=t<0?null:i.substr(0,t)}return!1}(t,At(t,o,"",[],""))))throw It(t,"the next state '"+n.next+"' is not defined in rule: "+i);e.next=o}}return"number"==typeof n.goBack&&(e.goBack=n.goBack),"string"==typeof n.switchTo&&(e.switchTo=n.switchTo),"string"==typeof n.log&&(e.log=n.log),"string"==typeof n.nextEmbedded&&(e.nextEmbedded=n.nextEmbedded,t.usesEmbedded=!0),e}}if(Array.isArray(n)){let o=[];for(let r=0,s=n.length;r{n.getId()===e&&(i.dispose(),t())});return i}function kl(e,t){let i=za.modeService.get().getLanguageIdentifier(e);if(!i)throw new Error("Cannot set configuration for unknown language "+e);return Re.a.register(i,t,100)}class xl{constructor(e,t){this._languageIdentifier=e,this._actual=t}getInitialState(){return this._actual.getInitialState()}tokenize(e,t,i,n){if("function"==typeof this._actual.tokenize)return Dl.adaptTokenize(this._languageIdentifier.language,this._actual,e,i,n);throw new Error("Not supported!")}tokenize2(e,t,i){let n=this._actual.tokenizeEncoded(e,i);return new K.c(n.tokens,n.endState)}}class Dl{constructor(e,t,i){this._standaloneThemeService=e,this._languageIdentifier=t,this._actual=i}getInitialState(){return this._actual.getInitialState()}static _toClassicTokens(e,t,i){let n=[],o=0;for(let r=0,s=e.length;r0&&o[r-1]===c)continue;let h=l.startIndex;0===a?h=0:hfunction(e){return"tokenizeEncoded"in e}(e)?new xl(i,e):new Dl(za.standaloneThemeService.get(),i,e);return Ll(t)?be.D.registerPromise(e,t.then(e=>n(e))):be.D.register(e,n(t))}function Ol(e,t){const i=t=>function(e,t,i,n){return new Vt(e,t,i,n)}(za.modeService.get(),za.standaloneThemeService.get(),e,function(e,t){if(!t||"object"!=typeof t)throw new Error("Monarch: expecting a language definition object");let i={};i.languageId=e,i.includeLF=pl(t.includeLF,!1),i.noThrow=!1,i.maxStack=100,i.start="string"==typeof t.start?t.start:null,i.ignoreCase=pl(t.ignoreCase,!1),i.unicode=pl(t.unicode,!1),i.tokenPostfix=ml(t.tokenPostfix,"."+i.languageId),i.defaultToken=ml(t.defaultToken,"source"),i.usesEmbedded=!1;let n=t;function o(e,r,s){for(const a of s){let s=a.include;if(s){if("string"!=typeof s)throw It(i,"an 'include' attribute must be a string at: "+e);if("@"===s[0]&&(s=s.substr(1)),!t.tokenizer[s])throw It(i,"include target '"+s+"' is not defined at: "+e);o(e+"."+s,r,t.tokenizer[s])}else{const t=new vl(e);if(Array.isArray(a)&&a.length>=1&&a.length<=3)if(t.setRegex(n,a[0]),a.length>=3)if("string"==typeof a[1])t.setAction(n,{token:a[1],next:a[2]});else{if("object"!=typeof a[1])throw It(i,"a next state as the last element of a rule can only be given if the action is either an object or a string, at: "+e);{const e=a[1];e.next=a[2],t.setAction(n,e)}}else t.setAction(n,a[1]);else{if(!a.regex)throw It(i,"a rule must either be an array, or an object with a 'regex' or 'include' field at: "+e);a.name&&"string"==typeof a.name&&(t.name=a.name),a.matchOnlyAtStart&&(t.matchOnlyAtLineStart=pl(a.matchOnlyAtLineStart,!1)),t.setRegex(n,a.regex),t.setAction(n,a.action)}r.push(t)}}}if(n.languageId=e,n.includeLF=i.includeLF,n.ignoreCase=i.ignoreCase,n.unicode=i.unicode,n.noThrow=i.noThrow,n.usesEmbedded=i.usesEmbedded,n.stateNames=t.tokenizer,n.defaultToken=i.defaultToken,!t.tokenizer||"object"!=typeof t.tokenizer)throw It(i,"a language definition must define the 'tokenizer' attribute as an object");i.tokenizer=[];for(let e in t.tokenizer)if(t.tokenizer.hasOwnProperty(e)){i.start||(i.start=e);const n=t.tokenizer[e];i.tokenizer[e]=new Array,o("tokenizer."+e,i.tokenizer[e],n)}if(i.usesEmbedded=n.usesEmbedded,t.brackets){if(!Array.isArray(t.brackets))throw It(i,"the 'brackets' attribute must be defined as an array")}else t.brackets=[{open:"{",close:"}",token:"delimiter.curly"},{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"<",close:">",token:"delimiter.angle"}];let r=[];for(let e of t.brackets){let t=e;if(t&&Array.isArray(t)&&3===t.length&&(t={token:t[2],open:t[0],close:t[1]}),t.open===t.close)throw It(i,"open and close brackets in a 'brackets' attribute must be different: "+t.open+"\n hint: use the 'bracket' attribute if matching on equal brackets is required.");if("string"!=typeof t.open||"string"!=typeof t.token||"string"!=typeof t.close)throw It(i,"every element in the 'brackets' array must be a '{open,close,token}' object or array");r.push({token:t.token+i.tokenPostfix,open:Nt(i,t.open),close:Nt(i,t.close)})}return i.brackets=r,i.noThrow=!0,i}(e,t));return Ll(t)?be.D.registerPromise(e,t.then(e=>i(e))):be.D.register(e,i(t))}function Il(e,t){return be.w.register(e,t)}function Al(e,t){return be.x.register(e,t)}function Ml(e,t){return be.z.register(e,t)}function Tl(e,t){return be.p.register(e,{provideHover:(e,i,n)=>{let o=e.getWordAtPosition(i);return Promise.resolve(t.provideHover(e,i,n)).then(e=>{if(e)return!e.range&&o&&(e.range=new H.a(i.lineNumber,o.startColumn,i.lineNumber,o.endColumn)),e.range||(e.range=new H.a(i.lineNumber,i.column,i.lineNumber,i.column)),e})}})}function Rl(e,t){return be.m.register(e,t)}function Pl(e,t){return be.i.register(e,t)}function Fl(e,t){return be.u.register(e,t)}function Bl(e,t){return be.f.register(e,t)}function Wl(e,t){return be.q.register(e,t)}function jl(e,t){return be.E.register(e,t)}function Vl(e,t){return be.b.register(e,t)}function zl(e,t){return be.a.register(e,{provideCodeActions:(e,i,n,o)=>{let r=za.markerService.get().read({resource:e.uri}).filter(e=>H.a.areIntersectingOrTouching(e,i));return t.provideCodeActions(e,i,{markers:r,only:n.only},o)}})}function Hl(e,t){return be.g.register(e,t)}function Ul(e,t){return be.j.register(e,t)}function Kl(e,t){return be.v.register(e,t)}function ql(e,t){return be.t.register(e,t)}function $l(e,t){return be.d.register(e,t)}function Gl(e,t){return be.c.register(e,t)}function Yl(e,t){return be.o.register(e,t)}function Zl(e,t){return be.e.register(e,t)}function Xl(e,t){return be.y.register(e,t)}function Jl(e,t){return be.l.register(e,t)}function Ql(e,t){return be.k.register(e,t)}var ec,tc=i(160);i.d(t,"CancellationTokenSource",(function(){return nc})),i.d(t,"Emitter",(function(){return oc})),i.d(t,"KeyCode",(function(){return rc})),i.d(t,"KeyMod",(function(){return sc})),i.d(t,"Position",(function(){return ac})),i.d(t,"Range",(function(){return lc})),i.d(t,"Selection",(function(){return cc})),i.d(t,"SelectionDirection",(function(){return hc})),i.d(t,"MarkerSeverity",(function(){return dc})),i.d(t,"MarkerTag",(function(){return uc})),i.d(t,"Uri",(function(){return gc})),i.d(t,"Token",(function(){return pc})),i.d(t,"editor",(function(){return mc})),i.d(t,"languages",(function(){return fc})),F.g.wrappingIndent.defaultValue=0,F.g.glyphMargin.defaultValue=!1,F.g.autoIndent.defaultValue=3,F.g.overviewRulerLanes.defaultValue=2,tc.a.setFormatterSelector((e,t,i)=>Promise.resolve(e[0]));const ic=$();ic.editor={create:Ka,onDidCreateEditor:qa,createDiffEditor:$a,createDiffNavigator:Ga,createModel:Ya,setModelLanguage:Za,setModelMarkers:Xa,getModelMarkers:Ja,onDidChangeMarkers:Qa,getModels:tl,getModel:el,onDidCreateModel:il,onWillDisposeModel:nl,onDidChangeModelLanguage:ol,createWebWorker:rl,colorizeElement:sl,colorize:al,colorizeModelLine:ll,tokenize:cl,defineTheme:hl,setTheme:dl,remeasureFonts:ul,registerCommand:gl,AccessibilitySupport:n,ContentWidgetPositionPreference:l,CursorChangeReason:c,DefaultEndOfLine:h,EditorAutoIndentStrategy:u,EditorOption:g,EndOfLinePreference:p,EndOfLineSequence:m,MinimapPosition:w,MouseTargetType:y,OverlayWidgetPositionPreference:S,OverviewRulerLane:k,RenderLineNumbersType:x,RenderMinimap:D,ScrollbarVisibility:E,ScrollType:L,TextEditorCursorBlinkingStyle:M,TextEditorCursorStyle:T,TrackedRangeStickiness:R,WrappingIndent:P,ConfigurationChangedEvent:F.b,BareFontInfo:me.a,FontInfo:me.b,TextModelResolvedOptions:_e.e,FindMatch:_e.b,EditorType:fe.a,EditorOptions:F.g},ic.languages={register:Cl,getLanguages:wl,onLanguage:Sl,getEncodedLanguageId:yl,setLanguageConfiguration:kl,setColorMap:El,setTokensProvider:Nl,setMonarchTokensProvider:Ol,registerReferenceProvider:Il,registerRenameProvider:Al,registerCompletionItemProvider:$l,registerSignatureHelpProvider:Ml,registerHoverProvider:Tl,registerDocumentSymbolProvider:Rl,registerDocumentHighlightProvider:Pl,registerLinkedEditingRangeProvider:Fl,registerDefinitionProvider:Bl,registerImplementationProvider:Wl,registerTypeDefinitionProvider:jl,registerCodeLensProvider:Vl,registerCodeActionProvider:zl,registerDocumentFormattingEditProvider:Hl,registerDocumentRangeFormattingEditProvider:Ul,registerOnTypeFormattingEditProvider:Kl,registerLinkProvider:ql,registerColorProvider:Gl,registerFoldingRangeProvider:Yl,registerDeclarationProvider:Zl,registerSelectionRangeProvider:Xl,registerDocumentSemanticTokensProvider:Jl,registerDocumentRangeSemanticTokensProvider:Ql,DocumentHighlightKind:d,CompletionItemKind:r,CompletionItemTag:s,CompletionItemInsertTextRule:o,SymbolKind:I,SymbolTag:A,IndentAction:f,CompletionTriggerKind:a,SignatureHelpTriggerKind:O,InlineHintKind:_,FoldingRangeKind:be.n};const nc=ic.CancellationTokenSource,oc=ic.Emitter,rc=ic.KeyCode,sc=ic.KeyMod,ac=ic.Position,lc=ic.Range,cc=ic.Selection,hc=ic.SelectionDirection,dc=ic.MarkerSeverity,uc=ic.MarkerTag,gc=ic.Uri,pc=ic.Token,mc=ic.editor,fc=ic.languages;((null===(ec=xe.b.MonacoEnvironment)||void 0===ec?void 0:ec.globalAPI)||"function"==typeof define&&i(325))&&(self.monaco=ic),void 0!==self.require&&"function"==typeof self.require.config&&self.require.config({ignoreDuplicateModules:["vscode-languageserver-types","vscode-languageserver-types/main","vscode-languageserver-textdocument","vscode-languageserver-textdocument/main","vscode-nls","vscode-nls/vscode-nls","jsonc-parser","jsonc-parser/main","vscode-uri","vscode-uri/index","vs/basic-languages/typescript/typescript"]})},function(e,t,i){"use strict";i.r(t);i(227),i(228),i(229),i(230),i(231),i(232),i(233),i(234);var n=i(222),o=i(207),r=i.n(o),s=i(223);function a(e,t){var i=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;if(!e.hasAttribute(t))throw new Error("Missing attribute '".concat(t,"' on element <").concat(e.tagName,":").concat(e.id,">"));var n=e.getAttribute(t);return i?i(n):n}function l(e){if("true"===e)return!0;if("false"===e)return!1;throw new Error("Invalid boolean attribute ".concat(e,', should be either "true" or "false"'))}function c(e){var t=parseInt(e,10);if(Number.isNaN(t))throw new Error("Invalid integer value ".concat(e));return t}function h(e){return{attribute:a(e.el,"data-update-attribute")}}var d={mounted:function(){var e=this;this.props=h(this),this.__updateAttribute(),this.el.addEventListener("input",(function(t){e.__updateAttribute()})),this.el.addEventListener("paste",(function(e){e.preventDefault();var t=e.clipboardData.getData("text/plain");document.execCommand("insertText",!1,t)})),this.el.addEventListener("keydown",(function(t){"Enter"!==t.key&&"Escape"!==t.key||e.el.blur()})),this.el.addEventListener("focus",(function(t){e.el.setAttribute("phx-update","ignore")})),this.el.addEventListener("blur",(function(t){e.el.removeAttribute("phx-update")}))},updated:function(){this.props=h(this),this.__updateAttribute()},__updateAttribute:function(){var e=this.el.innerText.trim();this.el.setAttribute(this.props.attribute,e)}},u=i(140),g={comments:{lineComment:"#"},brackets:[["{","}"],["[","]"],["(",")"]],surroundingPairs:[["{","}"],["[","]"],["(",")"],["'","'"],['"','"']],autoClosingPairs:[{open:"'",close:"'",notIn:["string","comment"]},{open:'"',close:'"',notIn:["comment"]},{open:'"""',close:'"""'},{open:"`",close:"`",notIn:["string","comment"]},{open:"(",close:")"},{open:"{",close:"}"},{open:"[",close:"]"},{open:"<<",close:">>"}],indentationRules:{increaseIndentPattern:/^\s*(after|else|catch|rescue|fn|[^#]*(do|<\-|\->|\{|\[|\=))\s*$/,decreaseIndentPattern:/^\s*((\}|\])\s*$|(after|else|catch|rescue|end)\b)/}},p={defaultToken:"source",tokenPostfix:".elixir",brackets:[{open:"[",close:"]",token:"delimiter.square"},{open:"(",close:")",token:"delimiter.parenthesis"},{open:"{",close:"}",token:"delimiter.curly"},{open:"<<",close:">>",token:"delimiter.angle.special"}],declarationKeywords:["def","defp","defn","defnp","defguard","defguardp","defmacro","defmacrop","defdelegate","defcallback","defmacrocallback","defmodule","defprotocol","defexception","defimpl","defstruct"],operatorKeywords:["and","in","not","or","when"],namespaceKeywords:["alias","import","require","use"],otherKeywords:["after","case","catch","cond","do","else","end","fn","for","if","quote","raise","receive","rescue","super","throw","try","unless","unquote_splicing","unquote","with"],constants:["true","false","nil"],nameBuiltin:["__MODULE__","__DIR__","__ENV__","__CALLER__","__STACKTRACE__"],operator:/-[->]?|!={0,2}|\*|\/|\\\\|&{1,3}|\.\.?|\^(?:\^\^)?|\+\+?|<(?:-|<<|=|>|\|>|~>?)?|=~|={1,3}|>(?:=|>>)?|\|~>|\|>|\|{1,3}|~>>?|~~~|::/,variableName:/[a-z_][a-zA-Z0-9_]*[?!]?/,atomName:/[a-zA-Z_][a-zA-Z0-9_@]*[?!]?|@specialAtomName|@operator/,specialAtomName:/\.\.\.|<<>>|%\{\}|%|\{\}/,aliasPart:/[A-Z][a-zA-Z0-9_]*/,moduleName:/@aliasPart(?:\.@aliasPart)*/,sigilSymmetricDelimiter:/"""|'''|"|'|\/|\|/,sigilStartDelimiter:/@sigilSymmetricDelimiter|<|\{|\[|\(/,sigilEndDelimiter:/@sigilSymmetricDelimiter|>|\}|\]|\)/,decimal:/\d(?:_?\d)*/,hex:/[0-9a-fA-F](_?[0-9a-fA-F])*/,octal:/[0-7](_?[0-7])*/,binary:/[01](_?[01])*/,escape:/\\u[0-9a-fA-F]{4}|\\x[0-9a-fA-F]{2}|\\./,tokenizer:{root:[{include:"@whitespace"},{include:"@comments"},{include:"@keywordsShorthand"},{include:"@numbers"},{include:"@identifiers"},{include:"@strings"},{include:"@atoms"},{include:"@sigils"},{include:"@attributes"},{include:"@symbols"}],whitespace:[[/\s+/,"white"]],comments:[[/(#)(.*)/,["comment.punctuation","comment"]]],keywordsShorthand:[[/(@atomName)(:)/,["constant","constant.punctuation"]],[/"(?=([^"]|#\{.*?\}|\\")*":)/,{token:"constant.delimiter",next:"@doubleQuotedStringKeyword"}],[/'(?=([^']|#\{.*?\}|\\')*':)/,{token:"constant.delimiter",next:"@singleQuotedStringKeyword"}]],doubleQuotedStringKeyword:[[/":/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],singleQuotedStringKeyword:[[/':/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],numbers:[[/0b@binary/,"number.binary"],[/0o@octal/,"number.octal"],[/0x@hex/,"number.hex"],[/@decimal\.@decimal([eE]-?@decimal)?/,"number.float"],[/@decimal/,"number"]],identifiers:[[/\b(defp?|defnp?|defmacrop?|defguardp?|defdelegate)(\s+)(@variableName)(?!\s+@operator)/,["keyword.declaration","white",{cases:{unquote:"keyword","@default":"function"}}]],[/(@variableName)(?=\s*\.?\s*\()/,{cases:{"@declarationKeywords":"keyword.declaration","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@default":"function.call"}}],[/(@moduleName)(\s*)(\.)(\s*)(@variableName)/,["type.identifier","white","operator","white","function.call"]],[/(:)(@atomName)(\s*)(\.)(\s*)(@variableName)/,["constant.punctuation","constant","white","operator","white","function.call"]],[/(\|>)(\s*)(@variableName)/,["operator","white",{cases:{"@otherKeywords":"keyword","@default":"function.call"}}]],[/(&)(\s*)(@variableName)/,["operator","white","function.call"]],[/@variableName/,{cases:{"@declarationKeywords":"keyword.declaration","@operatorKeywords":"keyword.operator","@namespaceKeywords":"keyword","@otherKeywords":"keyword","@constants":"constant.language","@nameBuiltin":"variable.language","_.*":"comment.unused","@default":"identifier"}}],[/@moduleName/,"type.identifier"]],strings:[[/"""/,{token:"string.delimiter",next:"@doubleQuotedHeredoc"}],[/'''/,{token:"string.delimiter",next:"@singleQuotedHeredoc"}],[/"/,{token:"string.delimiter",next:"@doubleQuotedString"}],[/'/,{token:"string.delimiter",next:"@singleQuotedString"}]],doubleQuotedHeredoc:[[/"""/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedHeredoc:[[/'''/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],doubleQuotedString:[[/"/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],singleQuotedString:[[/'/,{token:"string.delimiter",next:"@pop"}],{include:"@stringContentInterpol"}],atoms:[[/(:)(@atomName)/,["constant.punctuation","constant"]],[/:"/,{token:"constant.delimiter",next:"@doubleQuotedStringAtom"}],[/:'/,{token:"constant.delimiter",next:"@singleQuotedStringAtom"}]],doubleQuotedStringAtom:[[/"/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],singleQuotedStringAtom:[[/'/,{token:"constant.delimiter",next:"@pop"}],{include:"@stringConstantContentInterpol"}],sigils:[[/~[a-z]@sigilStartDelimiter/,{token:"@rematch",next:"@sigil.interpol"}],[/~[A-Z]@sigilStartDelimiter/,{token:"@rematch",next:"@sigil.noInterpol"}]],sigil:[[/~([a-zA-Z])\{/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.{.}"}],[/~([a-zA-Z])\[/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.[.]"}],[/~([a-zA-Z])\(/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.(.)"}],[/~([a-zA-Z])\,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.<.>"}],[/~([a-zA-Z])(@sigilSymmetricDelimiter)/,{token:"@rematch",switchTo:"@sigilStart.$S2.$1.$2.$2"}]],"sigilStart.interpol.s":[[/~s@sigilStartDelimiter/,{token:"string.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol.s":[[/(@sigilEndDelimiter)[a-zA-Z]*/,{cases:{"$1==$S5":{token:"string.delimiter",next:"@pop"},"@default":"string"}}],{include:"@stringContentInterpol"}],"sigilStart.noInterpol.S":[[/~S@sigilStartDelimiter/,{token:"string.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol.S":[[/(^|[^\\])\\@sigilEndDelimiter/,"string"],[/(@sigilEndDelimiter)[a-zA-Z]*/,{cases:{"$1==$S5":{token:"string.delimiter",next:"@pop"},"@default":"string"}}],{include:"@stringContent"}],"sigilStart.interpol.r":[[/~r@sigilStartDelimiter/,{token:"regexp.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol.r":[[/(@sigilEndDelimiter)[a-zA-Z]*/,{cases:{"$1==$S5":{token:"regexp.delimiter",next:"@pop"},"@default":"regexp"}}],{include:"@regexpContentInterpol"}],"sigilStart.noInterpol.R":[[/~R@sigilStartDelimiter/,{token:"regexp.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol.R":[[/(^|[^\\])\\@sigilEndDelimiter/,"regexp"],[/(@sigilEndDelimiter)[a-zA-Z]*/,{cases:{"$1==$S5":{token:"regexp.delimiter",next:"@pop"},"@default":"regexp"}}],{include:"@regexpContent"}],"sigilStart.interpol":[[/~([a-zA-Z])@sigilStartDelimiter/,{token:"sigil.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.interpol":[[/(@sigilEndDelimiter)[a-zA-Z]*/,{cases:{"$1==$S5":{token:"sigil.delimiter",next:"@pop"},"@default":"sigil"}}],{include:"@sigilContentInterpol"}],"sigilStart.noInterpol":[[/~([a-zA-Z])@sigilStartDelimiter/,{token:"sigil.delimiter",switchTo:"@sigilContinue.$S2.$S3.$S4.$S5"}]],"sigilContinue.noInterpol":[[/(^|[^\\])\\@sigilEndDelimiter/,"sigil"],[/(@sigilEndDelimiter)[a-zA-Z]*/,{cases:{"$1==$S5":{token:"sigil.delimiter",next:"@pop"},"@default":"sigil"}}],{include:"@sigilContent"}],attributes:[[/\@(module|type)?doc (~[sS])?"""/,{token:"comment.block.documentation",next:"@doubleQuotedHeredocDocstring"}],[/\@(module|type)?doc (~[sS])?"/,{token:"comment.block.documentation",next:"@doubleQuotedStringDocstring"}],[/\@(module|type)?doc false/,"comment.block.documentation"],[/\@(@variableName)/,"variable"]],doubleQuotedHeredocDocstring:[[/"""/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],doubleQuotedStringDocstring:[[/"/,{token:"comment.block.documentation",next:"@pop"}],{include:"@docstringContent"}],symbols:[[/\?(\\.|[^\\\s])/,"number.constant"],[/&\d+/,"operator"],[/<<<|>>>/,"operator"],[/[()\[\]\{\}]|<<|>>/,"@brackets"],[/\.\.\./,"identifier"],[/=>/,"punctuation"],[/@operator/,"operator"],[/[:;,.%]/,"punctuation"]],stringContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@stringContent"}],stringContent:[[/./,"string"]],stringConstantContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@stringConstantContent"}],stringConstantContent:[[/./,"constant"]],regexpContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@regexpContent"}],regexpContent:[[/(\s)(#)(\s.*)$/,["white","comment.punctuation","comment"]],[/./,"regexp"]],sigilContentInterpol:[{include:"@interpolation"},{include:"@escapeChar"},{include:"@sigilContent"}],sigilContent:[[/./,"sigil"]],docstringContent:[[/./,"comment.block.documentation"]],escapeChar:[[/@escape/,"constant.character.escape"]],interpolation:[[/#{/,{token:"delimiter.bracket.embed",next:"@interpolationContinue"}]],interpolationContinue:[[/}/,{token:"delimiter.bracket.embed",next:"@pop"}],{include:"@root"}]}};function m(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var i=[],n=!0,o=!1,r=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(i.push(s.value),!t||i.length!==t);n=!0);}catch(e){o=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(o)throw r}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return f(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(e);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return f(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function f(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i|[\w:]+/g)||[]}function v(e){return e[e.length-1]}function C(e){return""===e.trim()}var w={autoFormatTriggerCharacters:["\n"],provideOnTypeFormattingEdits:function(e,t,i,n,o){return"\n"===i?function(e,t){var i=e.getLinesContent(),n=t.lineNumber-1,o=i[n],r=_(i[n-1]);if(function(e,t){var i=e[t-1],n=_(i),o=b(i);if("do"===v(o)||o.includes("fn")&&"->"===v(o)){var r=e.slice(t+1).filter((function(e){return!C(e)})).find((function(e){return _(e)===n}));if(r){var s=m(b(r),1)[0];if(["after","else","catch","rescue","end"].includes(s))return!1}return!0}return!1}(i,n)){var s=t.lineNumber1&&void 0!==arguments[1]?arguments[1]:5e3;k(this,e),this.client=t,this.reportRevisionTimeoutId=null,this.reportRevisionTimeout=i}return D(e,[{key:"onClientDelta",value:function(e){return null!==this.reportRevisionTimeoutId&&(clearTimeout(this.reportRevisionTimeoutId),this.reportRevisionTimeoutId=null),this.client.sendDelta(e),new N(this.client,e)}},{key:"onServerDelta",value:function(e){var t=this;return this.client.applyDelta(e),null===this.reportRevisionTimeoutId&&(this.reportRevisionTimeoutId=setTimeout((function(){t.client.reportCurrentRevision(),t.reportRevisionTimeoutId=null}),this.reportRevisionTimeout)),this}},{key:"onServerAcknowledgement",value:function(){throw new Error("Unexpected server acknowledgement.")}}]),e}(),N=function(){function e(t,i){k(this,e),this.client=t,this.awaitedDelta=i}return D(e,[{key:"onClientDelta",value:function(e){return new O(this.client,this.awaitedDelta,e)}},{key:"onServerDelta",value:function(t){var i=this.awaitedDelta.transform(t,"right");this.client.applyDelta(i);var n=t.transform(this.awaitedDelta,"left");return new e(this.client,n)}},{key:"onServerAcknowledgement",value:function(){return new E(this.client)}}]),e}(),O=function(){function e(t,i,n){k(this,e),this.client=t,this.awaitedDelta=i,this.buffer=n}return D(e,[{key:"onClientDelta",value:function(t){var i=this.buffer.compose(t);return new e(this.client,this.awaitedDelta,i)}},{key:"onServerDelta",value:function(t){var i=this.awaitedDelta.transform(t,"right"),n=this.buffer.transform(i,"right");this.client.applyDelta(n);var o=t.transform(this.awaitedDelta,"left"),r=i.transform(this.buffer,"left");return new e(this.client,o,r)}},{key:"onServerAcknowledgement",value:function(){return this.client.sendDelta(this.buffer),new N(this.client,this.buffer)}}]),e}();function I(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function A(e,t){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:[];I(this,e),this.ops=t}return M(e,[{key:"retain",value:function(e){return e<=0?this:this.append({retain:e})}},{key:"insert",value:function(e){return""===e?this:this.append({insert:e})}},{key:"delete",value:function(e){return e<=0?this:this.append({delete:e})}},{key:"append",value:function(e){if(0===this.ops.length)return this.ops.push(e),this;var t=this.ops.pop();return F(e)&&W(t)?this.append(e).append(t):F(e)&&F(t)?(this.ops.push({insert:t.insert+e.insert}),this):W(e)&&W(t)?(this.ops.push({delete:t.delete+e.delete}),this):B(e)&&B(t)?(this.ops.push({retain:t.retain+e.retain}),this):(this.ops.push(t,e),this)}},{key:"compose",value:function(t){for(var i=new R(this.ops),n=new R(t.ops),o=new e;i.hasNext()||n.hasNext();)if(F(n.peek()))o.append(n.next());else if(W(i.peek()))o.append(i.next());else{var r=Math.min(i.peekLength(),n.peekLength()),s=i.next(r),a=n.next(r);B(a)?o.append(s):W(a)&&B(s)&&o.append(a)}return o.__trim()}},{key:"transform",value:function(t,i){if("left"!==i&&"right"!==i)throw new Error('Invalid priority "'.concat(i,'", should be either "left" or "right"'));for(var n=new R(this.ops),o=new R(t.ops),r=new e;n.hasNext()||o.hasNext();)if(!F(n.peek())||F(o.peek())&&"left"!==i)if(F(o.peek()))r.append(o.next());else{var s=Math.min(n.peekLength(),o.peekLength()),a=n.next(s),l=o.next(s);if(W(a))continue;W(l)?r.append(l):r.retain(s)}else{var c=P(n.next());r.retain(c)}return r.__trim()}},{key:"__trim",value:function(){return this.ops.length>0&&B(this.ops[this.ops.length-1])&&this.ops.pop(),this}},{key:"toCompressed",value:function(){return this.ops.map((function(e){if(F(e))return e.insert;if(B(e))return e.retain;if(W(e))return-e.delete;throw new Error("Invalid operation ".concat(e))}))}},{key:"applyToString",value:function(e){var t="",i=0;return this.ops.forEach((function(n){B(n)&&(t+=e.slice(i,i+n.retain),i+=n.retain),F(n)&&(t+=n.insert),W(n)&&(i+=n.delete)})),t+=e.slice(i)}}],[{key:"fromCompressed",value:function(e){return e.reduce((function(e,t){if("string"==typeof t)return e.insert(t);if("number"==typeof t&&t>=0)return e.retain(t);if("number"==typeof t&&t<0)return e.delete(-t);throw new Error("Invalid compressed operation ".concat(t))}),new this)}}]),e}(),R=function(){function e(t){I(this,e),this.ops=t,this.index=0,this.offset=0}return M(e,[{key:"hasNext",value:function(){return this.peekLength()<1/0}},{key:"next",value:function(){var e=arguments.length>0&&void 0!==arguments[0]?arguments[0]:1/0,t=this.ops[this.index];if(!t)return{retain:e};var i=this.offset,n=P(t);return e>=n-i?(e=n-i,this.index+=1,this.offset=0):this.offset+=e,W(t)?{delete:e}:B(t)?{retain:e}:F(t)?{insert:t.insert.substr(i,e)}:void 0}},{key:"peek",value:function(){return this.ops[this.index]||{retain:1/0}}},{key:"peekLength",value:function(){return this.ops[this.index]?P(this.ops[this.index])-this.offset:1/0}}]),e}();function P(e){return F(e)?e.insert.length:B(e)?e.retain:W(e)?e.delete:void 0}function F(e){return"string"==typeof e.insert}function B(e){return"number"==typeof e.retain}function W(e){return"number"==typeof e.delete}function j(e,t){for(var i=0;ie.length)&&(t=e.length);for(var i=0,n=new Array(t);i0&&e.editor.layout()}))})).observe(this.container),this.editor.onDidContentSizeChange((function(){var t=e.editor.getContentHeight();e.container.style.height="".concat(t,"px")}))}},{key:"__setupCompletion",value:function(){var e=this,t={};this.editor.getModel().__getCompletionItems=function(i,n){var o=i.getLineContent(n.lineNumber).slice(0,n.column-1);return new Promise((function(i,n){e.hook.pushEvent("completion_request",{hint:o,cell_id:e.cellId},(function(e){var n=e.completion_ref;n?t[n]=function(e){var t=function(e){return e.map(oe).map((function(t,i){return te(te({},t),{},{sortText:(n=i,o=e.length,String(n).padStart(o,"0"))});var n,o}))}(e);i({suggestions:t})}:i({suggestions:[]})}))}))},this.hook.handleEvent("completion_response",(function(e){var i=e.completion_ref,n=e.items,o=t[i];o&&(o(n),delete t[i])}))}}])&&ne(t.prototype,i),n&&ne(t,n),e}(),le=i(213),ce=i.n(le);var he="undefined"==typeof document?void 0:document,de=!!he&&"content"in he.createElement("template"),ue=!!he&&he.createRange&&"createContextualFragment"in he.createRange();function ge(e){return e=e.trim(),de?function(e){var t=he.createElement("template");return t.innerHTML=e,t.content.childNodes[0]}(e):ue?function(e){return se||(se=he.createRange()).selectNode(he.body),se.createContextualFragment(e).childNodes[0]}(e):function(e){var t=he.createElement("body");return t.innerHTML=e,t.childNodes[0]}(e)}function pe(e,t){var i,n,o=e.nodeName,r=t.nodeName;return o===r||(i=o.charCodeAt(0),n=r.charCodeAt(0),i<=90&&n>=97?o===r.toUpperCase():n<=90&&i>=97&&r===o.toUpperCase())}function me(e,t,i){e[i]!==t[i]&&(e[i]=t[i],e[i]?e.setAttribute(i,""):e.removeAttribute(i))}var fe={OPTION:function(e,t){var i=e.parentNode;if(i){var n=i.nodeName.toUpperCase();"OPTGROUP"===n&&(n=(i=i.parentNode)&&i.nodeName.toUpperCase()),"SELECT"!==n||i.hasAttribute("multiple")||(e.hasAttribute("selected")&&!t.selected&&(e.setAttribute("selected","selected"),e.removeAttribute("selected")),i.selectedIndex=-1)}me(e,t,"selected")},INPUT:function(e,t){me(e,t,"checked"),me(e,t,"disabled"),e.value!==t.value&&(e.value=t.value),t.hasAttribute("value")||e.removeAttribute("value")},TEXTAREA:function(e,t){var i=t.value;e.value!==i&&(e.value=i);var n=e.firstChild;if(n){var o=n.nodeValue;if(o==i||!i&&o==e.placeholder)return;n.nodeValue=i}},SELECT:function(e,t){if(!t.hasAttribute("multiple")){for(var i,n,o=-1,r=0,s=e.firstChild;s;)if("OPTGROUP"===(n=s.nodeName&&s.nodeName.toUpperCase()))s=(i=s).firstChild;else{if("OPTION"===n){if(s.hasAttribute("selected")){o=r;break}r++}!(s=s.nextSibling)&&i&&(s=i.nextSibling,i=null)}e.selectedIndex=o}}};function _e(){}function be(e){if(e)return e.getAttribute&&e.getAttribute("id")||e.id}var ve=function(e){return function(t,i,n){if(n||(n={}),"string"==typeof i)if("#document"===t.nodeName||"HTML"===t.nodeName||"BODY"===t.nodeName){var o=i;(i=he.createElement("html")).innerHTML=o}else i=ge(i);var r=n.getNodeKey||be,s=n.onBeforeNodeAdded||_e,a=n.onNodeAdded||_e,l=n.onBeforeElUpdated||_e,c=n.onElUpdated||_e,h=n.onBeforeNodeDiscarded||_e,d=n.onNodeDiscarded||_e,u=n.onBeforeElChildrenUpdated||_e,g=!0===n.childrenOnly,p=Object.create(null),m=[];function f(e){m.push(e)}function _(e,t,i){!1!==h(e)&&(t&&t.removeChild(e),d(e),function e(t,i){if(1===t.nodeType)for(var n=t.firstChild;n;){var o=void 0;i&&(o=r(n))?f(o):(d(n),n.firstChild&&e(n,i)),n=n.nextSibling}}(e,i))}function b(e){a(e);for(var t=e.firstChild;t;){var i=t.nextSibling,n=r(t);if(n){var o=p[n];o&&pe(t,o)?(t.parentNode.replaceChild(o,t),v(o,t)):b(t)}else b(t);t=i}}function v(t,i,n){var o=r(i);if(o&&delete p[o],!n){if(!1===l(t,i))return;if(e(t,i),c(t),!1===u(t,i))return}"TEXTAREA"!==t.nodeName?function(e,t){var i,n,o,a,l,c=t.firstChild,h=e.firstChild;e:for(;c;){for(a=c.nextSibling,i=r(c);h;){if(o=h.nextSibling,c.isSameNode&&c.isSameNode(h)){c=a,h=o;continue e}n=r(h);var d=h.nodeType,u=void 0;if(d===c.nodeType&&(1===d?(i?i!==n&&((l=p[i])?o===l?u=!1:(e.insertBefore(l,h),n?f(n):_(h,e,!0),h=l):u=!1):n&&(u=!1),(u=!1!==u&&pe(h,c))&&v(h,c)):3!==d&&8!=d||(u=!0,h.nodeValue!==c.nodeValue&&(h.nodeValue=c.nodeValue))),u){c=a,h=o;continue e}n?f(n):_(h,e,!0),h=o}if(i&&(l=p[i])&&pe(l,c))e.appendChild(l),v(l,c);else{var g=s(c);!1!==g&&(g&&(c=g),c.actualize&&(c=c.actualize(e.ownerDocument||he)),e.appendChild(c),b(c))}c=a,h=o}!function(e,t,i){for(;t;){var n=t.nextSibling;(i=r(t))?f(i):_(t,e,!0),t=n}}(e,h,n);var m=fe[e.nodeName];m&&m(e,t)}(t,i):fe.TEXTAREA(t,i)}!function e(t){if(1===t.nodeType||11===t.nodeType)for(var i=t.firstChild;i;){var n=r(i);n&&(p[n]=i),e(i),i=i.nextSibling}}(t);var C,w,y=t,S=y.nodeType,k=i.nodeType;if(!g)if(1===S)1===k?pe(t,i)||(d(t),y=function(e,t){for(var i=e.firstChild;i;){var n=i.nextSibling;t.appendChild(i),i=n}return t}(t,(C=i.nodeName,(w=i.namespaceURI)&&"http://www.w3.org/1999/xhtml"!==w?he.createElementNS(w,C):he.createElement(C)))):y=i;else if(3===S||8===S){if(k===S)return y.nodeValue!==i.nodeValue&&(y.nodeValue=i.nodeValue),y;y=i}if(y===i)d(t);else{if(i.isSameNode&&i.isSameNode(y))return;if(v(y,i,g),m)for(var x=0,D=m.length;x=0;a--)n=(i=s[a]).name,o=i.namespaceURI,r=i.value,o?(n=i.localName||n,e.getAttributeNS(o,n)!==r&&("xmlns"===i.prefix&&(n=i.name),e.setAttributeNS(o,n,r))):e.getAttribute(n)!==r&&e.setAttribute(n,r);for(var l=e.attributes,c=l.length-1;c>=0;c--)n=(i=l[c]).name,(o=i.namespaceURI)?(n=i.localName||n,t.hasAttributeNS(o,n)||e.removeAttributeNS(o,n)):t.hasAttribute(n)||e.removeAttribute(n)}})),Ce=i(224),we=i.n(Ce),ye=i(214),Se=i.n(ye);function ke(e,t){var i=Object.keys(e);if(Object.getOwnPropertySymbols){var n=Object.getOwnPropertySymbols(e);t&&(n=n.filter((function(t){return Object.getOwnPropertyDescriptor(e,t).enumerable}))),i.push.apply(i,n)}return i}function xe(e){for(var t=1;t$/,""),i(null,e)})).catch((function(e){i(e,null)}))}});var Ne=function(){function e(t,i){var n=arguments.length>2&&void 0!==arguments[2]?arguments[2]:null;Le(this,e),this.container=t,this.content=i,this.baseUrl=n,this.__render()}var t,i,n;return t=e,(i=[{key:"setContent",value:function(e){this.content=e,this.__render()}},{key:"__render",value:function(){var e=this;this.__getHtml().then((function(t){var i="".concat(t,"
");ve(e.container,i,{childrenOnly:!0})}))}},{key:"__getHtml",value:function(){var e=this;return new Promise((function(t,i){var n={baseUrl:e.baseUrl+"/"},o=e.__renderMathInString(e.content);ce()(o,n,(function(e,i){var n=we.a.sanitize(i);t(n||'\n \n Empty markdown cell\n
\n ')}))}))}},{key:"__renderMathInString",value:function(e){var t={throwOnError:!1,errorColor:"inherit"};return e.replace(/\$\$([\s\S]*?)\$\$/g,(function(e,i){return Se.a.renderToString(i,xe(xe({},t),{},{displayMode:!0}))})).replace(/\$([\s\S]*?)\$/g,(function(e,i){return Se.a.renderToString(i,t)}))}}])&&Ee(t.prototype,i),n&&Ee(t,n),e}();function Oe(e,t){for(var i=0;it||r>e&&s=t&&a>=i?r-e-n:s>t&&ai?s-t+o:0}var Pe=function(e,t){var i=window,n=t.scrollMode,o=t.block,r=t.inline,s=t.boundary,a=t.skipOverflowHiddenElements,l="function"==typeof s?s:function(e){return e!==s};if(!Ae(e))throw new TypeError("Invalid target");for(var c=document.scrollingElement||document.documentElement,h=[],d=e;Ae(d)&&l(d);){if((d=d.parentElement)===c){h.push(d);break}null!=d&&d===document.body&&Te(d)&&!Te(document.documentElement)||null!=d&&Te(d,a)&&h.push(d)}for(var u=i.visualViewport?i.visualViewport.width:innerWidth,g=i.visualViewport?i.visualViewport.height:innerHeight,p=window.scrollX||pageXOffset,m=window.scrollY||pageYOffset,f=e.getBoundingClientRect(),_=f.height,b=f.width,v=f.top,C=f.right,w=f.bottom,y=f.left,S="start"===o||"nearest"===o?v:"end"===o?w:v+_/2,k="center"===r?y+b/2:"end"===r?C:y,x=[],D=0;D=0&&y>=0&&w<=g&&C<=u&&v>=I&&w<=M&&y>=T&&C<=A)return x;var R=getComputedStyle(L),P=parseInt(R.borderLeftWidth,10),F=parseInt(R.borderTopWidth,10),B=parseInt(R.borderRightWidth,10),W=parseInt(R.borderBottomWidth,10),j=0,V=0,z="offsetWidth"in L?L.offsetWidth-L.clientWidth-P-B:0,H="offsetHeight"in L?L.offsetHeight-L.clientHeight-F-W:0;if(c===L)j="start"===o?S:"end"===o?S-g:"nearest"===o?Re(m,m+g,g,F,W,m+S,m+S+_,_):S-g/2,V="start"===r?k:"center"===r?k-u/2:"end"===r?k-u:Re(p,p+u,u,P,B,p+k,p+k+b,b),j=Math.max(0,j+m),V=Math.max(0,V+p);else{j="start"===o?S-I-F:"end"===o?S-M+W+H:"nearest"===o?Re(I,M,N,F,W+H,S,S+_,_):S-(I+N/2)+H/2,V="start"===r?k-T-P:"center"===r?k-(T+O/2)+z/2:"end"===r?k-A+B+z:Re(T,A,O,P,B+z,k,k+b,b);var U=L.scrollLeft,K=L.scrollTop;S+=K-(j=Math.max(0,Math.min(K+j,L.scrollHeight-N+H))),k+=U-(V=Math.max(0,Math.min(U+V,L.scrollWidth-O+z)))}x.push({el:L,top:j,left:V})}return x};function Fe(e){return e===Object(e)&&0!==Object.keys(e).length}var Be=function(e,t){var i=!e.ownerDocument.documentElement.contains(e);if(Fe(t)&&"function"==typeof t.behavior)return t.behavior(i?[]:Pe(e,t));if(!i){var n=function(e){return!1===e?{block:"end",inline:"nearest"}:Fe(e)?e:{block:"start",inline:"nearest"}}(t);return function(e,t){void 0===t&&(t="auto");var i="scrollBehavior"in document.body.style;e.forEach((function(e){var n=e.el,o=e.top,r=e.left;n.scroll&&i?n.scroll({top:o,left:r,behavior:t}):(n.scrollTop=o,n.scrollLeft=r)}))}(Pe(e,n),n.behavior)}};function We(e){return{cellId:a(e.el,"data-cell-id"),type:a(e.el,"data-type"),sessionPath:a(e.el,"data-session-path")}}function je(e){var t=arguments.length>1&&void 0!==arguments[1]?arguments[1]:null;t=t||e.state.liveEditor.editor.getSelection(),e.state.isFocused&&e.state.insertMode&&Ie.broadcast("session",{type:"cursor_selection_changed",cellId:e.props.cellId,selection:t})}var Ve={mounted:function(){var e=this;this.props=We(this),this.state={liveEditor:null,isFocused:!1,insertMode:!1},this.pushEvent("cell_init",{cell_id:this.props.cellId},(function(t){var i=t.source,n=t.revision,o=e.el.querySelector('[data-element="editor-container"]');o.firstElementChild.remove();var r=document.createElement("div");if(o.appendChild(r),e.state.liveEditor=new ae(e,r,e.props.cellId,e.props.type,i,n),"markdown"===e.props.type){var s=e.el.querySelector('[data-element="markdown-container"]'),a=e.props.sessionPath,l=new Ne(s,i,a);e.state.liveEditor.onChange((function(e){l.setContent(e)}))}e.state.isFocused&&e.state.insertMode&&(e.state.liveEditor.focus(),$(e.el),je(e)),e.state.liveEditor.onBlur((function(){e.state.isFocused&&e.state.insertMode&&e.state.liveEditor.focus()})),e.state.liveEditor.onCursorSelectionChange((function(t){je(e,t)}))})),this._unsubscribeFromCellsEvents=Ie.subscribe("cells",(function(t){!function(e,t){"cell_focused"===t.type?function(e,t){e.props.cellId===t?(e.state.isFocused=!0,e.el.setAttribute("data-js-focused","true"),$(e.el)):e.state.isFocused&&(e.state.isFocused=!1,e.el.removeAttribute("data-js-focused"))}(e,t.cellId):"insert_mode_changed"===t.type?function(e,t){e.state.isFocused&&(e.state.insertMode=t,e.state.liveEditor&&(e.state.insertMode?(e.state.liveEditor.focus(),setTimeout((function(){Be(document.activeElement,{scrollMode:"if-needed",behavior:"smooth",block:"center"})}),0),je(e)):e.state.liveEditor.blur()))}(e,t.enabled):"cell_moved"===t.type?function(e,t){e.state.isFocused&&t===e.props.cellId&&$(e.el)}(e,t.cellId):"cell_upload"===t.type?function(e,t,i){if(e.props.cellId===t){var n="");e.state.liveEditor.insert(n)}}(e,t.cellId,t.url):"location_report"===t.type&&function(e,t,i){e.props.cellId===i.cellId&&i.selection?e.state.liveEditor.updateUserSelection(t,i.selection):e.state.liveEditor.removeUserSelection(t)}(e,t.client,t.report)}(e,t)}))},destroyed:function(){this._unsubscribeFromCellsEvents(),this.state.liveEditor&&this.state.liveEditor.dispose()},updated:function(){this.props=We(this)}};function ze(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function He(e,t){for(var i=0;i0&&void 0!==arguments[0]?arguments[0]:2e3;ze(this,e),this.resetTimeout=t,this.buffer=[],this.resetTimeoutId=null}var t,i,n;return t=e,(i=[{key:"push",value:function(e){var t=this;this.buffer.push(e),this.resetTimeoutId&&clearTimeout(this.resetTimeoutId),this.resetTimeoutId=setTimeout((function(){t.reset()}),this.resetTimeout)}},{key:"reset",value:function(){this.resetTimeout&&clearTimeout(this.resetTimeout),this.clearTimeout=null,this.buffer=[]}},{key:"tryMatch",value:function(e){if(e.length>this.buffer.length)return!1;var t=this.buffer.slice(-e.length),i=e.every((function(e,i){return e===t[i]}));return i&&this.reset(),i}}])&&He(t.prototype,i),n&&He(t,n),e}();function Ke(e,t){return function(e){if(Array.isArray(e))return e}(e)||function(e,t){if("undefined"==typeof Symbol||!(Symbol.iterator in Object(e)))return;var i=[],n=!0,o=!1,r=void 0;try{for(var s,a=e[Symbol.iterator]();!(n=(s=a.next()).done)&&(i.push(s.value),!t||i.length!==t);n=!0);}catch(e){o=!0,r=e}finally{try{n||null==a.return||a.return()}finally{if(o)throw r}}return i}(e,t)||function(e,t){if(!e)return;if("string"==typeof e)return qe(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(e);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return qe(e,t)}(e,t)||function(){throw new TypeError("Invalid attempt to destructure non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}()}function qe(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i0){var n=i[i.length-1];e.pushEvent("insert_cell_below",{cell_id:n,type:t})}else nt(e,t)}}function it(e,t){if(e.state.focusedCellId)e.pushEvent("insert_cell_above",{cell_id:e.state.focusedCellId,type:t});else{var i=ht();if(i.length>0){var n=i[0];e.pushEvent("insert_cell_above",{cell_id:n,type:t})}else nt(e,t)}}function nt(e,t){var i=gt().map((function(e){return e.getAttribute("data-section-id")}));i.length>0&&e.pushEvent("insert_cell",{section_id:i[0],index:0,type:t})}function ot(e,t){if(e.state.focusedCellId=t,e.state.focusedCellId){var i=dt(e.state.focusedCellId);e.state.focusedCellType=i.getAttribute("data-type"),e.state.focusedSectionId=ut(e.state.focusedCellId)}else e.state.focusedCellType=null,e.state.focusedSectionId=null;Ie.broadcast("cells",{type:"cell_focused",cellId:t}),rt(e,!1)}function rt(e,t){e.state.insertMode=t,t?e.el.setAttribute("data-js-insert-mode","true"):(e.el.removeAttribute("data-js-insert-mode"),at(e,{cellId:e.state.focusedCellId,selection:null})),Ie.broadcast("cells",{type:"insert_mode_changed",enabled:t})}function st(e,t){Ie.broadcast("cells",{type:"location_report",client:e,report:t})}function at(e,t){Object.keys(e.state.clientsMap).length>1&&e.pushEvent("location_report",{cell_id:t.cellId,selection:lt(t.selection)})}function lt(e){return null===e?null:[e.selectionStartLineNumber,e.selectionStartColumn,e.positionLineNumber,e.positionColumn]}function ct(e){if(null===e)return null;var t=Ke(e,4),i=t[0],n=t[1],o=t[2],r=t[3];return new S.Selection(i,n,o,r)}function ht(){return Array.from(document.querySelectorAll('[data-element="cell"]')).map((function(e){return e.getAttribute("data-cell-id")}))}function dt(e){return document.querySelector('[data-element="cell"][data-cell-id="'.concat(e,'"]'))}function ut(e){return document.querySelector('[data-element="cell"][data-cell-id="'.concat(e,'"]')).closest('[data-element="section"]').getAttribute("data-section-id")}function gt(){return Array.from(document.querySelectorAll('[data-element="section"]'))}function pt(e){return document.querySelector('[data-element="section"][data-section-id="'.concat(e,'"]'))}function mt(e){e.preventDefault(),e.stopPropagation()}var ft={mounted:function(){var e,t,i=this;this.state={focusedCellId:null,focusedSectionId:null,focusedCellType:null,insertMode:!1,keyBuffer:new Ue,clientsMap:{},lastLocationReportByClientPid:{},followedClientPid:null},this.pushEvent("session_init",{},(function(e){e.clients.forEach((function(e){i.state.clientsMap[e.pid]=e}))})),this.handleDocumentKeyDown=function(e){!function(e,t){if(t.repeat)return;var i=/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform)?t.metaKey:t.ctrlKey,n=t.key,o=e.state.keyBuffer;if(e.state.insertMode)if(o.reset(),"Escape"===n){var r=!!t.target.closest(".monaco-inputbox"),s=t.target.getAttribute("aria-activedescendant"),a=s&&s.includes("suggest");r||a||function(e){rt(e,!1)}(e)}else i&&"Enter"===n?(mt(t),"elixir"===e.state.focusedCellType&&Je(e)):i&&"s"===n&&(mt(t),Xe(e));else{if(l=t.target,["input","textarea"].includes(l.tagName.toLowerCase())||"true"===l.contentEditable)return void o.reset();o.push(t.key),i&&"s"===n?(mt(t),Xe(e)):o.tryMatch(["d","d"])?function(e){e.state.focusedCellId&&e.pushEvent("delete_cell",{cell_id:e.state.focusedCellId})}(e):"elixir"===e.state.focusedCellType&&(o.tryMatch(["e","e"])||i&&"Enter"===n)?Je(e):o.tryMatch(["e","a"])?function(e){e.pushEvent("queue_all_cells_evaluation",{})}(e):o.tryMatch(["e","s"])?function(e){e.state.focusedSectionId&&e.pushEvent("queue_section_cells_evaluation",{section_id:e.state.focusedSectionId})}(e):o.tryMatch(["e","j"])?function(e){e.state.focusedCellId&&e.pushEvent("queue_child_cells_evaluation",{cell_id:e.state.focusedCellId})}(e):o.tryMatch(["s","s"])?Ye(e):o.tryMatch(["s","u"])?Ze(e):o.tryMatch(["s","r"])?function(e){e.pushEvent("show_runtime_settings",{})}(e):o.tryMatch(["e","x"])?function(e){e.state.focusedCellId&&e.pushEvent("cancel_cell_evaluation",{cell_id:e.state.focusedCellId})}(e):o.tryMatch(["?"])?function(e){e.pushEvent("show_shortcuts",{})}(e):o.tryMatch(["i"])?(mt(t),function(e){e.state.focusedCellId&&rt(e,!0)}(e)):o.tryMatch(["j"])?Qe(e,1):o.tryMatch(["k"])?Qe(e,-1):o.tryMatch(["J"])?et(e,1):o.tryMatch(["K"])?et(e,-1):o.tryMatch(["n"])?tt(e,"elixir"):o.tryMatch(["N"])?it(e,"elixir"):o.tryMatch(["m"])?tt(e,"markdown"):o.tryMatch(["M"])?it(e,"markdown"):o.tryMatch(["S"])&&function(e){e.pushEvent("add_section",{})}(e)}var l}(i,e)},document.addEventListener("keydown",this.handleDocumentKeyDown,!0),this.handleDocumentMouseDown=function(e){!function(e,t){if(t.target.closest('[data-element="actions"], [data-element="insert-buttons"]'))return void(t.target.closest('[data-element="enable-insert-mode-button"]')&&rt(e,!0));var i=t.target.closest('[data-element="cell"]'),n=i?i.dataset.cellId:null;n!==e.state.focusedCellId&&ot(e,n);if(i){var o=i.querySelector('[data-element="editor-container"]').contains(t.target);e.state.insertMode!==o&&rt(e,o)}}(i,e)},document.addEventListener("mousedown",this.handleDocumentMouseDown),this.handleDocumentDoubleClick=function(e){!function(e,t){t.target.closest('[data-element="cell"][data-type="markdown"]')&&e.state.focusedCellId&&!e.state.insertMode&&rt(e,!0)}(i,e)},document.addEventListener("dblclick",this.handleDocumentDoubleClick),document.querySelector('[data-element="sections-list"]').addEventListener("click",(function(e){!function(e,t){var i=t.target.closest('[data-element="sections-list-item"]');if(i){pt(i.getAttribute("data-section-id")).scrollIntoView({behavior:"smooth",block:"start"})}}(0,e)})),document.querySelector('[data-element="clients-list"]').addEventListener("click",(function(e){!function(e,t){var i=t.target.closest('[data-element="clients-list-item"]');if(i){var n=i.getAttribute("data-client-pid");t.target.closest('[data-element="client-link"]')&&function(e,t){$e(e,t)}(e,n),t.target.closest('[data-element="client-follow-toggle"]')&&function(e,t,i){var n=document.querySelector('[data-element="clients-list-item"][data-js-followed]');n&&n.removeAttribute("data-js-followed");t===e.state.followedClientPid?e.state.followedClientPid=null:(i.setAttribute("data-js-followed","true"),e.state.followedClientPid=t,$e(e,t))}(e,n,i)}}(i,e)})),document.querySelector('[data-element="sections-list-toggle"]').addEventListener("click",(function(e){Ye(i)})),document.querySelector('[data-element="clients-list-toggle"]').addEventListener("click",(function(e){Ze(i)})),document.querySelector('[data-element="notebook"]').addEventListener("scroll",(function(e){Ge()})),document.querySelector('[data-element="notebook-indicators"]').addEventListener("click",(function(e){!function(e,t){var i=t.target.closest('[data-element="focus-cell-button"]');if(i){var n=i.getAttribute("data-target");ot(e,n)}}(i,e)})),window.addEventListener("phx:page-loading-stop",(function(){!function(e){var t=window.location.hash;if(t.startsWith("#cell-")){var i=t.replace(/^#cell-/,"");dt(i)&&ot(e,i)}}(i)}),{once:!0}),Ge(),e=gt(),t=document.querySelector('[data-element="notebook-name"]'),0===e.length&&"Untitled notebook"===t.innerText&&(t.focus(),q(t)),this.handleEvent("cell_inserted",(function(e){var t=e.cell_id;!function(e,t){ot(e,t),rt(e,!0)}(i,t)})),this.handleEvent("cell_deleted",(function(e){var t=e.cell_id,n=e.sibling_cell_id;!function(e,t,i){e.state.focusedCellId===t&&ot(e,i)}(i,t,n)})),this.handleEvent("cell_moved",(function(e){var t,n,o=e.cell_id;n=o,(t=i).state.focusedCellId===n&&(Ie.broadcast("cells",{type:"cell_moved",cellId:n}),t.state.focusedSectionId=ut(t.state.focusedCellId))})),this.handleEvent("section_inserted",(function(e){var t=e.section_id;!function(e,t){e.state.focusedSectionId&&ot(e,null);var i=pt(t).querySelector('[data-element="section-name"]');i.focus({preventScroll:!0}),q(i),$(i)}(i,t)})),this.handleEvent("section_deleted",(function(e){var t,n,o=e.section_id;n=o,(t=i).state.focusedSectionId===n&&ot(t,null)})),this.handleEvent("section_moved",(function(e){var t=e.section_id;$(pt(t))})),this.handleEvent("cell_upload",(function(e){var t=e.cell_id,n=e.url;!function(e,t,i){e.state.focusedCellId!==t&&ot(e,t);e.state.insertMode||rt(e,!0);Ie.broadcast("cells",{type:"cell_upload",cellId:t,url:i})}(i,t,n)})),this.handleEvent("client_joined",(function(e){var t=e.client;!function(e,t){e.state.clientsMap[t.pid]=t}(i,t)})),this.handleEvent("client_left",(function(e){var t,n,o,r=e.client_pid;n=r,(o=(t=i).state.clientsMap[n])&&(delete t.state.clientsMap[n],st(o,{cellId:null,selection:null}),o.pid===t.state.followedClientPid&&(t.state.followedClientPid=null))})),this.handleEvent("clients_updated",(function(e){var t,n=e.clients;t=i,n.forEach((function(e){t.state.clientsMap[e.pid]=e}))})),this.handleEvent("location_report",(function(e){var t=e.client_pid,n={cellId:e.cell_id,selection:ct(e.selection)};!function(e,t,i){var n=e.state.clientsMap[t];e.state.lastLocationReportByClientPid[t]=i,n&&(st(n,i),n.pid===e.state.followedClientPid&&i.cellId!==e.state.focusedCellId&&ot(e,i.cellId))}(i,t,n)})),this._unsubscribeFromSessionEvents=Ie.subscribe("session",(function(e){!function(e,t){"cursor_selection_changed"===t.type&&at(e,{cellId:t.cellId,selection:t.selection})}(i,e)}))},destroyed:function(){this._unsubscribeFromSessionEvents(),document.removeEventListener("keydown",this.handleDocumentKeyDown),document.removeEventListener("mousedown",this.handleDocumentMouseDown),document.removeEventListener("dblclick",this.handleDocumentDoubleClick)}},_t={mounted:function(){this.__focus()},updated:function(){this.__focus()},__focus:function(){this.el.focus(),this.el.selectionStart=this.el.selectionEnd=this.el.value.length}},bt={mounted:function(){this.__scroll()},updated:function(){this.__scroll()},__scroll:function(){this.el.scrollTop=this.el.scrollHeight}},vt=i(225),Ct=i.n(vt);function wt(e,t,i){var n=e.childElementCount;return{height:Math.min(t,i*n),total:n,itemHeight:i,generate:function(t){return e.children.item(t).cloneNode(!0)}}}function yt(e){return{maxHeight:a(e.el,"data-max-height",c),follow:a(e.el,"data-follow",l)}}function St(e){var t,i,n,o=JSON.stringify(e),r=btoa(unescape(encodeURIComponent(o)));t=r,i=15768e4,n="".concat("user_data","=").concat(t,";max-age=").concat(i,";path=/"),document.cookie=n}function kt(){var e,t,i=(e="user_data",(t=document.cookie.split("; ").find((function(t){return t.startsWith("".concat(e,"="))})))?t.replace("".concat(e,"="),""):null);if(i){var n=decodeURIComponent(escape(atob(i)));return JSON.parse(n)}return null}function xt(e,t){var i;if("undefined"==typeof Symbol||null==e[Symbol.iterator]){if(Array.isArray(e)||(i=function(e,t){if(!e)return;if("string"==typeof e)return Dt(e,t);var i=Object.prototype.toString.call(e).slice(8,-1);"Object"===i&&e.constructor&&(i=e.constructor.name);if("Map"===i||"Set"===i)return Array.from(e);if("Arguments"===i||/^(?:Ui|I)nt(?:8|16|32)(?:Clamped)?Array$/.test(i))return Dt(e,t)}(e))||t&&e&&"number"==typeof e.length){i&&(e=i);var n=0,o=function(){};return{s:o,n:function(){return n>=e.length?{done:!0}:{done:!1,value:e[n++]}},e:function(e){throw e},f:o}}throw new TypeError("Invalid attempt to iterate non-iterable instance.\nIn order to be iterable, non-array objects must have a [Symbol.iterator]() method.")}var r,s=!0,a=!1;return{s:function(){i=e[Symbol.iterator]()},n:function(){var e=i.next();return s=e.done,e},e:function(e){a=!0,r=e},f:function(){try{s||null==i.return||i.return()}finally{if(a)throw r}}}}function Dt(e,t){(null==t||t>e.length)&&(t=e.length);for(var i=0,n=new Array(t);i",e.appendChild(n);var o=n.clientHeight;n.innerHTML="
";var r=n.clientHeight;return e.removeChild(n),r-o}return i}(this.el),this.state.templateElement=this.el.querySelector("[data-template]"),!this.state.templateElement)throw new Error("VirtualizedLines must have a child with data-template attribute");if(this.state.contentElement=this.el.querySelector("[data-content]"),!this.state.contentElement)throw new Error("VirtualizedLines must have a child with data-content");var e=wt(this.state.templateElement,this.props.maxHeight,this.state.lineHeight);this.virtualizedList=new Ct.a(this.state.contentElement,e)},updated:function(){this.props=yt(this);var e=wt(this.state.templateElement,this.props.maxHeight,this.state.lineHeight),t=Math.round(this.state.contentElement.scrollTop)===Math.round(this.state.contentElement.scrollHeight-this.state.contentElement.clientHeight);this.virtualizedList.refresh(this.state.contentElement,e),this.props.follow&&t&&(this.state.contentElement.scrollTop=this.state.contentElement.scrollHeight)}},Menu:{mounted:function(){var e=this,t=this.el.querySelector("[data-toggle]");if(!t)throw new Error("Menu must have a child with data-toggle attribute");if(!this.el.querySelector("[data-content]"))throw new Error("Menu must have a child with data-content attribute");t.addEventListener("click",(function(t){e.el.hasAttribute("data-js-open")?e.el.removeAttribute("data-js-open"):(e.el.setAttribute("data-js-open","true"),setTimeout((function(){document.addEventListener("click",(function(t){e.el.removeAttribute("data-js-open")}),{once:!0})}),0))}))}},UserForm:{mounted:function(){var e=this;this.el.addEventListener("submit",(function(t){St({name:e.el.data_name.value,hex_color:e.el.data_hex_color.value})}))}}},Nt=document.querySelector("meta[name='csrf-token']").getAttribute("content"),Ot=new s.LiveSocket("/live",n.Socket,{params:function(e){return{_csrf_token:Nt,user_data:kt()}},hooks:Et,dom:Lt});r.a.config({barColors:{0:"#b2c1ff"},shadowColor:"rgba(0, 0, 0, .3)"}),window.addEventListener("phx:page-loading-start",(function(){return r.a.show()})),window.addEventListener("phx:page-loading-stop",(function(){return r.a.hide()})),Ot.connect(),window.liveSocket=Ot},function(e,t,i){"use strict";i.r(t);var n=i(56),o=i(19),r=i(16),s=i(38),a=i(2),l=i(77),c=i(4),h=i(57),d=i(3),u=i(7),g=i(158),p=i(123),m=i(60),f=i(91),_=i(10),b=i(17),v=i(18),C=i(41),w=i(106),y=i(82),S=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},k=function(e,t){return function(i,n){t(i,n,e)}};class x{constructor(e){this.name=e}select(e,t,i){if(0===i.length)return 0;let n=i[0].score[0];for(let e=0;ethis._saveState(),500),this._disposables.add(e.onWillSaveState(e=>{e.reason===f.c.SHUTDOWN&&this._saveState()}))}dispose(){this._disposables.dispose(),this._persistSoon.dispose()}memorize(e,t,i){this._withStrategy(e,t).memorize(e,t,i),this._persistSoon.schedule()}select(e,t,i){return this._withStrategy(e,t).select(e,t,i)}_withStrategy(t,i){var n,o;const r=this._configService.getValue("editor.suggestSelection",{overrideIdentifier:null===(n=this._modeService.getLanguageIdentifier(t.getLanguageIdAtPosition(i.lineNumber,i.column)))||void 0===n?void 0:n.language,resource:t.uri});if((null===(o=this._strategy)||void 0===o?void 0:o.name)!==r){this._saveState();const t=e._strategyCtors.get(r)||D;this._strategy=new t;try{const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=this._storageService.get(`${e._storagePrefix}/${r}`,t);i&&this._strategy.fromJSON(JSON.parse(i))}catch(e){}}return this._strategy}_saveState(){if(this._strategy){const t=this._configService.getValue("editor.suggest.shareSuggestSelections")?0:1,i=JSON.stringify(this._strategy);this._storageService.store(`${e._storagePrefix}/${this._strategy.name}`,i,t,1)}}};L._strategyCtors=new Map([["recentlyUsedByPrefix",class extends x{constructor(){super("recentlyUsedByPrefix"),this._trie=m.c.forStrings(),this._seq=0}memorize(e,t,i){const{word:n}=e.getWordUntilPosition(t),o=`${e.getLanguageIdentifier().language}/${n}`;this._trie.set(o,{type:i.completion.kind,insertText:i.completion.insertText,touch:this._seq++})}select(e,t,i){let{word:n}=e.getWordUntilPosition(t);if(!n)return super.select(e,t,i);let o=`${e.getLanguageIdentifier().language}/${n}`,r=this._trie.get(o);if(r||(r=this._trie.findSubstr(o)),r)for(let e=0;ee.push([i,t])),e.sort((e,t)=>-(e[1].touch-t[1].touch)).forEach((e,t)=>e[1].touch=t),e.slice(0,200)}fromJSON(e){if(this._trie.clear(),e.length>0){this._seq=e[0][1].touch+1;for(const[t,i]of e)i.type="number"==typeof i.type?i.type:Object(_.F)(i.type),this._trie.set(t,i)}}}],["recentlyUsed",class extends x{constructor(){super("recentlyUsed"),this._cache=new m.a(300,.66),this._seq=0}memorize(e,t,i){const n=`${e.getLanguageIdentifier().language}/${i.textLabel}`;this._cache.set(n,{touch:this._seq++,type:i.completion.kind,insertText:i.completion.insertText})}select(e,t,i){if(0===i.length)return 0;const n=e.getLineContent(t.lineNumber).substr(t.column-10,t.column-1);if(/\s$/.test(n))return super.select(e,t,i);let o=i[0].score[0],r=-1,s=-1,a=-1;for(let t=0;ta&&o.type===i[t].completion.kind&&o.insertText===i[t].completion.insertText&&(a=o.touch,s=t),i[t].completion.preselect&&-1===r)return t}return-1!==s?s:-1!==r?r:0}toJSON(){return this._cache.toJSON()}fromJSON(e){this._cache.clear();for(const[t,i]of e)i.touch=0,i.type="number"==typeof i.type?i.type:Object(_.F)(i.type),this._cache.set(t,i);this._seq=this._cache.size}}],["first",D]]),L._storagePrefix="suggest/memories",L=S([k(0,f.a),k(1,y.a),k(2,C.a)],L);const E=Object(v.c)("ISuggestMemories");Object(w.b)(E,L,!0);var N=i(0),O=i(24),I=i(9),A=i(85),M=i(34),T=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},R=function(e,t){return function(i,n){t(i,n,e)}};let P=class e{constructor(t,i){this._editor=t,this._index=0,this._ckOtherSuggestions=e.OtherSuggestions.bindTo(i)}dispose(){this.reset()}reset(){var e;this._ckOtherSuggestions.reset(),null===(e=this._listener)||void 0===e||e.dispose(),this._model=void 0,this._acceptNext=void 0,this._ignore=!1}set({model:t,index:i},n){if(0===t.items.length)return void this.reset();e._moveIndex(!0,t,i)!==i?(this._acceptNext=n,this._model=t,this._index=i,this._listener=this._editor.onDidChangeCursorPosition(()=>{this._ignore||this.reset()}),this._ckOtherSuggestions.set(!0)):this.reset()}static _moveIndex(e,t,i){let n=i;for(;n=(n+t.items.length+(e?1:-1))%t.items.length,n!==i&&t.items[n].completion.additionalTextEdits;);return n}next(){this._move(!0)}prev(){this._move(!1)}_move(t){if(this._model)try{this._ignore=!0,this._index=e._moveIndex(t,this._model,this._index),this._acceptNext({index:this._index,item:this._model.items[this._index],model:this._model})}finally{this._ignore=!1}}};P.OtherSuggestions=new I.c("hasOtherSuggestions",!1),P=T([R(1,I.b)],P);var F=i(6),B=i(22),W=i(63),j=i(8);class V{constructor(e,t,i,n,o,r,s){this.clipboardText=s,this._snippetCompareFn=V._compareCompletionItems,this._items=e,this._column=t,this._wordDistance=n,this._options=o,this._refilterKind=1,this._lineContext=i,"top"===r?this._snippetCompareFn=V._compareCompletionItemsSnippetsUp:"bottom"===r&&(this._snippetCompareFn=V._compareCompletionItemsSnippetsDown)}get lineContext(){return this._lineContext}set lineContext(e){this._lineContext.leadingLineContent===e.leadingLineContent&&this._lineContext.characterCountDelta===e.characterCountDelta||(this._refilterKind=this._lineContext.characterCountDelta2e3?W.d:W.e;for(let o=0;o=d)c.score=W.a.Default;else if("string"==typeof c.completion.filterText){let t=l(n,r,e,c.completion.filterText,c.filterTextLow,0,!1);if(!t)continue;0===Object(j.g)(c.completion.filterText,u)?c.score=t:(c.score=Object(W.b)(n,r,e,u,c.labelLow,0),c.score[0]=t[0])}else{let t=l(n,r,e,u,c.labelLow,0,!1);if(!t)continue;c.score=t}}c.idx=o,c.distance=this._wordDistance.distance(c.position,c.completion),a.push(c),e.push(u.length)}this._filteredItems=a.sort(this._snippetCompareFn),this._refilterKind=0,this._stats={pLabelLen:e.length?Object(o.q)(e.length-.85,e,(e,t)=>e-t):0}}static _compareCompletionItems(e,t){return e.score[0]>t.score[0]?-1:e.score[0]t.distance?1:e.idxt.idx?1:0}static _compareCompletionItemsSnippetsDown(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return 1;if(27===t.completion.kind)return-1}return V._compareCompletionItems(e,t)}static _compareCompletionItemsSnippetsUp(e,t){if(e.completion.kind!==t.completion.kind){if(27===e.completion.kind)return-1;if(27===t.completion.kind)return 1}return V._compareCompletionItems(e,t)}}var z=i(26),H=i(90),U=i(205),K=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};class q{static create(e,t){return K(this,void 0,void 0,(function*(){if(!t.getOption(101).localityBonus)return q.None;if(!t.hasModel())return q.None;const i=t.getModel(),n=t.getPosition();if(!e.canComputeWordRanges(i.uri))return q.None;const[r]=yield(new U.a).provideSelectionRanges(i,[n]);if(0===r.length)return q.None;const s=yield e.computeWordRanges(i.uri,r[0].range);if(!s)return q.None;const a=i.getWordUntilPosition(n);return delete s[a.word],new class extends q{distance(e,i){if(!n.equals(t.getPosition()))return 0;if(17===i.kind)return 2<<20;let a="string"==typeof i.label?i.label:i.label.name,l=s[a];if(Object(o.l)(l))return 2<<20;let c=Object(o.c)(l,d.a.fromPositions(e),d.a.compareRangesUsingStarts),h=c>=0?l[c]:l[Math.max(0,~c-1)],u=r.length;for(const e of r){if(!d.a.containsRange(e.range,h))break;u-=1}return u}}}))}}q.None=new class extends q{distance(){return 0}};var $=i(112),G=i(111),Y=i(84),Z=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},X=function(e,t){return function(i,n){t(i,n,e)}},J=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};class Q{constructor(e,t,i,n){this.leadingLineContent=e.getLineContent(t.lineNumber).substr(0,t.column-1),this.leadingWord=e.getWordUntilPosition(t),this.lineNumber=t.lineNumber,this.column=t.column,this.auto=i,this.shy=n}static shouldAutoTrigger(e){if(!e.hasModel())return!1;const t=e.getModel(),i=e.getPosition();t.tokenizeIfCheap(i.lineNumber);const n=t.getWordAtPosition(i);return!!n&&(n.endColumn===i.column&&!!isNaN(Number(n.word)))}}let ee=class e{constructor(e,t,i,n,o){this._editor=e,this._editorWorkerService=t,this._clipboardService=i,this._telemetryService=n,this._logService=o,this._toDispose=new a.b,this._quickSuggestDelay=10,this._triggerCharacterListener=new a.b,this._triggerQuickSuggest=new b.g,this._state=0,this._completionDisposables=new a.b,this._onDidCancel=new F.a,this._onDidTrigger=new F.a,this._onDidSuggest=new F.a,this.onDidCancel=this._onDidCancel.event,this.onDidTrigger=this._onDidTrigger.event,this.onDidSuggest=this._onDidSuggest.event,this._telemetryGate=0,this._currentSelection=this._editor.getSelection()||new B.a(1,1,1,1),this._toDispose.add(this._editor.onDidChangeModel(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeModelLanguage(()=>{this._updateTriggerCharacters(),this.cancel()})),this._toDispose.add(this._editor.onDidChangeConfiguration(()=>{this._updateTriggerCharacters(),this._updateQuickSuggest()})),this._toDispose.add(_.d.onDidChange(()=>{this._updateTriggerCharacters(),this._updateActiveSuggestSession()})),this._toDispose.add(this._editor.onDidChangeCursorSelection(e=>{this._onCursorChange(e)}));let r=!1;this._toDispose.add(this._editor.onDidCompositionStart(()=>{r=!0})),this._toDispose.add(this._editor.onDidCompositionEnd(()=>{r=!1,this._refilterCompletionItems()})),this._toDispose.add(this._editor.onDidChangeModelContent(()=>{r||this._refilterCompletionItems()})),this._updateTriggerCharacters(),this._updateQuickSuggest()}dispose(){Object(a.f)(this._triggerCharacterListener),Object(a.f)([this._onDidCancel,this._onDidSuggest,this._onDidTrigger,this._triggerQuickSuggest]),this._toDispose.dispose(),this._completionDisposables.dispose(),this.cancel()}_updateQuickSuggest(){this._quickSuggestDelay=this._editor.getOption(74),(isNaN(this._quickSuggestDelay)||!this._quickSuggestDelay&&0!==this._quickSuggestDelay||this._quickSuggestDelay<0)&&(this._quickSuggestDelay=10)}_updateTriggerCharacters(){if(this._triggerCharacterListener.clear(),this._editor.getOption(75)||!this._editor.hasModel()||!this._editor.getOption(104))return;const e=new Map;for(const t of _.d.all(this._editor.getModel()))for(const i of t.triggerCharacters||[]){let n=e.get(i);n||(n=new Set,n.add(Object(M.c)()),e.set(i,n)),n.add(t)}const t=t=>{if(!t){const e=this._editor.getPosition();t=this._editor.getModel().getLineContent(e.lineNumber).substr(0,e.column-1)}let i="";Object(j.F)(t.charCodeAt(t.length-1))?Object(j.E)(t.charCodeAt(t.length-2))&&(i=t.substr(t.length-2)):i=t.charAt(t.length-1);const n=e.get(i);if(n){const e=this._completionModel?{items:this._completionModel.adopt(n),clipboardText:this._completionModel.clipboardText}:void 0;this.trigger({auto:!0,shy:!1,triggerCharacter:i},Boolean(this._completionModel),n,e)}};this._triggerCharacterListener.add(this._editor.onDidType(t)),this._triggerCharacterListener.add(this._editor.onDidCompositionEnd(t))}get state(){return this._state}cancel(e=!1){var t;0!==this._state&&(this._triggerQuickSuggest.cancel(),null===(t=this._requestToken)||void 0===t||t.cancel(),this._requestToken=void 0,this._state=0,this._completionModel=void 0,this._context=void 0,this._onDidCancel.fire({retrigger:e}))}clear(){this._completionDisposables.clear()}_updateActiveSuggestSession(){0!==this._state&&(this._editor.hasModel()&&_.d.has(this._editor.getModel())?this.trigger({auto:2===this._state,shy:!1},!0):this.cancel())}_onCursorChange(e){if(!this._editor.hasModel())return;const t=this._editor.getModel(),i=this._currentSelection;if(this._currentSelection=this._editor.getSelection(),!e.selection.isEmpty()||0!==e.reason&&3!==e.reason||"keyboard"!==e.source&&"deleteLeft"!==e.source)this.cancel();else if(_.d.has(t))if(0===this._state&&0===e.reason){if(!1===this._editor.getOption(73))return;if(!i.containsRange(this._currentSelection)&&!i.getEndPosition().isBeforeOrEqual(this._currentSelection.getPosition()))return;if(this._editor.getOption(101).snippetsPreventQuickSuggestions&&g.SnippetController2.get(this._editor).isInSnippet())return;this.cancel(),this._triggerQuickSuggest.cancelAndSet(()=>{if(0!==this._state)return;if(!Q.shouldAutoTrigger(this._editor))return;if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getPosition(),i=this._editor.getOption(73);if(!1!==i){if(!0===i);else{e.tokenizeIfCheap(t.lineNumber);const n=e.getLineTokens(t.lineNumber),o=n.getStandardTokenType(n.findTokenIndexAtOffset(Math.max(t.column-1-1,0)));if(!(i.other&&0===o||i.comments&&1===o||i.strings&&2===o))return}this.trigger({auto:!0,shy:!1})}},this._quickSuggestDelay)}else 0!==this._state&&3===e.reason&&this._refilterCompletionItems()}_refilterCompletionItems(){Promise.resolve().then(()=>{if(0===this._state)return;if(!this._editor.hasModel())return;const e=this._editor.getModel(),t=this._editor.getPosition(),i=new Q(e,t,2===this._state,!1);this._onNewContext(i)})}trigger(t,i=!1,n,o){var s;if(!this._editor.hasModel())return;const a=this._editor.getModel(),l=t.auto,c=new Q(a,this._editor.getPosition(),l,t.shy);this.cancel(i),this._state=l?2:1,this._onDidTrigger.fire({auto:l,shy:t.shy,position:this._editor.getPosition()}),this._context=c;let h={triggerKind:null!==(s=t.triggerKind)&&void 0!==s?s:0};t.triggerCharacter&&(h={triggerKind:1,triggerCharacter:t.triggerCharacter}),this._requestToken=new z.b;const d=this._editor.getOption(96);let u=1;switch(d){case"top":u=0;break;case"bottom":u=2}const g=e._createItemKindFilter(this._editor),p=q.create(this._editorWorkerService,this._editor),m=Object(M.e)(a,this._editor.getPosition(),new M.a(u,g,n),h,this._requestToken.token);Promise.all([m,p]).then(([e,i])=>J(this,void 0,void 0,(function*(){var n;if(null===(n=this._requestToken)||void 0===n||n.dispose(),!this._editor.hasModel())return;let r=null==o?void 0:o.clipboardText;if(!r&&e.needsClipboard&&(r=yield this._clipboardService.readText()),0===this._state)return;const s=this._editor.getModel();let a=e.items;if(o){const e=Object(M.d)(u);a=a.concat(o.items).sort(e)}const c=new Q(s,this._editor.getPosition(),l,t.shy);this._completionModel=new V(a,this._context.column,{leadingLineContent:c.leadingLineContent,characterCountDelta:c.column-this._context.column},i,this._editor.getOption(101),this._editor.getOption(96),r),this._completionDisposables.add(e.disposable),this._onNewContext(c),this._reportDurationsTelemetry(e.durations)}))).catch(r.e)}_reportDurationsTelemetry(e){this._telemetryGate++%230==0&&setTimeout(()=>{this._telemetryService.publicLog2("suggest.durations.json",{data:JSON.stringify(e)}),this._logService.debug("suggest.durations.json",e)})}static _createItemKindFilter(e){const t=new Set;"none"===e.getOption(96)&&t.add(27);const i=e.getOption(101);return i.showMethods||t.add(0),i.showFunctions||t.add(1),i.showConstructors||t.add(2),i.showFields||t.add(3),i.showVariables||t.add(4),i.showClasses||t.add(5),i.showStructs||t.add(6),i.showInterfaces||t.add(7),i.showModules||t.add(8),i.showProperties||t.add(9),i.showEvents||t.add(10),i.showOperators||t.add(11),i.showUnits||t.add(12),i.showValues||t.add(13),i.showConstants||t.add(14),i.showEnums||t.add(15),i.showEnumMembers||t.add(16),i.showKeywords||t.add(17),i.showWords||t.add(18),i.showColors||t.add(19),i.showFiles||t.add(20),i.showReferences||t.add(21),i.showColors||t.add(22),i.showFolders||t.add(23),i.showTypeParameters||t.add(24),i.showSnippets||t.add(27),i.showUsers||t.add(25),i.showIssues||t.add(26),t}_onNewContext(e){if(this._context)if(e.lineNumber===this._context.lineNumber)if(Object(j.y)(e.leadingLineContent)===Object(j.y)(this._context.leadingLineContent)){if(e.columnthis._context.leadingWord.startColumn){const e=new Set(_.d.all(this._editor.getModel()));for(let t of this._completionModel.allProvider)e.delete(t);const t=this._completionModel.adopt(new Set);this.trigger({auto:this._context.auto,shy:!1},!0,e,{items:t,clipboardText:this._completionModel.clipboardText})}else if(e.column>this._context.column&&this._completionModel.incomplete.size>0&&0!==e.leadingWord.word.length){const{incomplete:e}=this._completionModel,t=this._completionModel.adopt(e);this.trigger({auto:2===this._state,shy:!1,triggerKind:2},!0,e,{items:t,clipboardText:this._completionModel.clipboardText})}else{let t=this._completionModel.lineContext,i=!1;if(this._completionModel.lineContext={leadingLineContent:e.leadingLineContent,characterCountDelta:e.column-this._context.column},0===this._completionModel.items.length){if(Q.shouldAutoTrigger(this._editor)&&this._context.leadingWord.endColumn0,i&&0===e.leadingWord.word.length)return void this.cancel()}this._onDidSuggest.fire({completionModel:this._completionModel,auto:this._context.auto,shy:this._context.shy,isFrozen:i})}}else this.cancel();else this.cancel()}};ee=Z([X(1,H.a),X(2,$.a),X(3,G.a),X(4,Y.b)],ee);i(309),i(182),i(221);var te=i(1),ie=i(94),ne=i(72),oe=i(14),re=i(5),se=i(88),ae=i(155),le=i(73),ce=i(20),he=i(108);class de{constructor(){let e;this._onDidWillResize=new F.a,this.onDidWillResize=this._onDidWillResize.event,this._onDidResize=new F.a,this.onDidResize=this._onDidResize.event,this._sashListener=new a.b,this._size=new te.b(0,0),this._minSize=new te.b(0,0),this._maxSize=new te.b(Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER),this.domNode=document.createElement("div"),this._eastSash=new he.b(this.domNode,{getVerticalSashLeft:()=>this._size.width},{orientation:0}),this._westSash=new he.b(this.domNode,{getVerticalSashLeft:()=>0},{orientation:0}),this._northSash=new he.b(this.domNode,{getHorizontalSashTop:()=>0},{orientation:1,orthogonalEdge:he.a.North}),this._southSash=new he.b(this.domNode,{getHorizontalSashTop:()=>this._size.height},{orientation:1,orthogonalEdge:he.a.South}),this._northSash.orthogonalStartSash=this._westSash,this._northSash.orthogonalEndSash=this._eastSash,this._southSash.orthogonalStartSash=this._westSash,this._southSash.orthogonalEndSash=this._eastSash;let t=0,i=0;this._sashListener.add(F.b.any(this._northSash.onDidStart,this._eastSash.onDidStart,this._southSash.onDidStart,this._westSash.onDidStart)(()=>{void 0===e&&(this._onDidWillResize.fire(),e=this._size,t=0,i=0)})),this._sashListener.add(F.b.any(this._northSash.onDidEnd,this._eastSash.onDidEnd,this._southSash.onDidEnd,this._westSash.onDidEnd)(()=>{void 0!==e&&(e=void 0,t=0,i=0,this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(this._eastSash.onDidChange(n=>{e&&(i=n.currentX-n.startX,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,east:!0}))})),this._sashListener.add(this._westSash.onDidChange(n=>{e&&(i=-(n.currentX-n.startX),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,west:!0}))})),this._sashListener.add(this._northSash.onDidChange(n=>{e&&(t=-(n.currentY-n.startY),this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,north:!0}))})),this._sashListener.add(this._southSash.onDidChange(n=>{e&&(t=n.currentY-n.startY,this.layout(e.height+t,e.width+i),this._onDidResize.fire({dimension:this._size,done:!1,south:!0}))})),this._sashListener.add(F.b.any(this._eastSash.onDidReset,this._westSash.onDidReset)(e=>{this._preferredSize&&(this.layout(this._size.height,this._preferredSize.width),this._onDidResize.fire({dimension:this._size,done:!0}))})),this._sashListener.add(F.b.any(this._northSash.onDidReset,this._southSash.onDidReset)(e=>{this._preferredSize&&(this.layout(this._preferredSize.height,this._size.width),this._onDidResize.fire({dimension:this._size,done:!0}))}))}dispose(){this._northSash.dispose(),this._southSash.dispose(),this._eastSash.dispose(),this._westSash.dispose(),this._sashListener.dispose(),this.domNode.remove()}enableSashes(e,t,i,n){this._northSash.state=e?3:0,this._eastSash.state=t?3:0,this._southSash.state=i?3:0,this._westSash.state=n?3:0}layout(e=this.size.height,t=this.size.width){const{height:i,width:n}=this._minSize,{height:o,width:r}=this._maxSize;e=Math.max(i,Math.min(o,e)),t=Math.max(n,Math.min(r,t));const s=new te.b(t,e);te.b.equals(s,this._size)||(this.domNode.style.height=e+"px",this.domNode.style.width=t+"px",this._size=s,this._northSash.layout(),this._eastSash.layout(),this._southSash.layout(),this._westSash.layout())}get size(){return this._size}set maxSize(e){this._maxSize=e}get maxSize(){return this._maxSize}set minSize(e){this._minSize=e}get minSize(){return this._minSize}set preferredSize(e){this._preferredSize=e}get preferredSize(){return this._preferredSize}}var ue=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},ge=function(e,t){return function(i,n){t(i,n,e)}};function pe(e){return!!e&&Boolean(e.completion.documentation||e.completion.detail&&e.completion.detail!==e.completion.label)}let me=class{constructor(e,t){this._editor=e,this._onDidClose=new F.a,this.onDidClose=this._onDidClose.event,this._onDidChangeContents=new F.a,this.onDidChangeContents=this._onDidChangeContents.event,this._disposables=new a.b,this._renderDisposeable=new a.b,this._borderWidth=1,this._size=new te.b(330,0),this.domNode=te.a(".suggest-details"),this.domNode.classList.add("no-docs"),this._markdownRenderer=t.createInstance(ae.a,{editor:e}),this._body=te.a(".body"),this._scrollbar=new se.a(this._body,{}),te.p(this.domNode,this._scrollbar.getDomNode()),this._disposables.add(this._scrollbar),this._header=te.p(this._body,te.a(".header")),this._close=te.p(this._header,te.a("span"+ce.b.close.cssSelector)),this._close.title=N.a("details.close","Close"),this._type=te.p(this._header,te.a("p.type")),this._docs=te.p(this._body,te.a("p.docs")),this._configureFont(),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{e.hasChanged(38)&&this._configureFont()}))}dispose(){this._disposables.dispose(),this._renderDisposeable.dispose()}_configureFont(){const e=this._editor.getOptions(),t=e.get(38),i=t.fontFamily,n=e.get(102)||t.fontSize,o=e.get(103)||t.lineHeight,r=t.fontWeight,s=n+"px",a=o+"px";this.domNode.style.fontSize=s,this.domNode.style.lineHeight=a,this.domNode.style.fontWeight=r,this.domNode.style.fontFeatureSettings=t.fontFeatureSettings,this._type.style.fontFamily=i,this._close.style.height=a,this._close.style.width=a}getLayoutInfo(){const e=this._editor.getOption(103)||this._editor.getOption(38).lineHeight,t=this._borderWidth;return{lineHeight:e,borderWidth:t,borderHeight:2*t,verticalPadding:22,horizontalPadding:14}}renderLoading(){this._type.textContent=N.a("loading","Loading..."),this._docs.textContent="",this.domNode.classList.remove("no-docs","no-type"),this.layout(this.size.width,2*this.getLayoutInfo().lineHeight),this._onDidChangeContents.fire(this)}renderItem(e,t){var i;this._renderDisposeable.clear();let{detail:n,documentation:o}=e.completion;if(t){let t="";t+=`score: ${e.score[0]}${e.word?`, compared '${e.completion.filterText&&(e.completion.filterText,1)||"string"==typeof e.completion.label?e.completion.label:e.completion.label.name}' with '${e.word}'`:" (no prefix)"}\n`,t+=`distance: ${e.distance}, see localityBonus-setting\n`,t+=`index: ${e.idx}, based on ${e.completion.sortText&&`sortText: "${e.completion.sortText}"`||"label"}\n`,t+=`commit characters: ${null===(i=e.completion.commitCharacters)||void 0===i?void 0:i.join("")}\n`,o=(new le.a).appendCodeblock("empty",t),n="Provider: "+e.provider._debugDisplayName}if(t||pe(e)){if(this.domNode.classList.remove("no-docs","no-type"),n){const e=n.length>1e5?n.substr(0,1e5)+"…":n;this._type.textContent=e,this._type.title=e,te.U(this._type),this._type.classList.toggle("auto-wrap",!/\r?\n^\s+/gim.test(e))}else te.s(this._type),this._type.title="",te.J(this._type),this.domNode.classList.add("no-type");if(te.s(this._docs),"string"==typeof o)this._docs.classList.remove("markdown-docs"),this._docs.textContent=o;else if(o){this._docs.classList.add("markdown-docs"),te.s(this._docs);const e=this._markdownRenderer.render(o);this._docs.appendChild(e.element),this._renderDisposeable.add(e),this._renderDisposeable.add(this._markdownRenderer.onDidRenderAsync(()=>{this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}))}this.domNode.style.userSelect="text",this.domNode.tabIndex=-1,this._close.onmousedown=e=>{e.preventDefault(),e.stopPropagation()},this._close.onclick=e=>{e.preventDefault(),e.stopPropagation(),this._onDidClose.fire()},this._body.scrollTop=0,this.layout(this._size.width,this._type.clientHeight+this._docs.clientHeight),this._onDidChangeContents.fire(this)}else this.clearContents()}clearContents(){this.domNode.classList.add("no-docs"),this._type.textContent="",this._docs.textContent=""}get size(){return this._size}layout(e,t){const i=new te.b(e,t);te.b.equals(i,this._size)||(this._size=i,te.V(this.domNode,e,t)),this._scrollbar.scanDomNode()}scrollDown(e=8){this._body.scrollTop+=e}scrollUp(e=8){this._body.scrollTop-=e}scrollTop(){this._body.scrollTop=0}scrollBottom(){this._body.scrollTop=this._body.scrollHeight}pageDown(){this.scrollDown(80)}pageUp(){this.scrollUp(80)}set borderWidth(e){this._borderWidth=e}get borderWidth(){return this._borderWidth}};me=ue([ge(1,v.a)],me);class fe{constructor(e,t){let i,n;this.widget=e,this._editor=t,this._disposables=new a.b,this._added=!1,this._resizable=new de,this._resizable.domNode.classList.add("suggest-details-container"),this._resizable.domNode.appendChild(e.domNode),this._resizable.enableSashes(!1,!0,!0,!1);let o=0,r=0;this._disposables.add(this._resizable.onDidWillResize(()=>{i=this._topLeft,n=this._resizable.size})),this._disposables.add(this._resizable.onDidResize(e=>{if(i&&n){this.widget.layout(e.dimension.width,e.dimension.height);let t=!1;e.west&&(r=n.width-e.dimension.width,t=!0),e.north&&(o=n.height-e.dimension.height,t=!0),t&&this._applyTopLeft({top:i.top+o,left:i.left+r})}e.done&&(i=void 0,n=void 0,o=0,r=0,this._userSize=e.dimension)})),this._disposables.add(this.widget.onDidChangeContents(()=>{var e;this._anchorBox&&this._placeAtAnchor(this._anchorBox,null!==(e=this._userSize)&&void 0!==e?e:this.widget.size)}))}dispose(){this._disposables.dispose(),this.hide()}getId(){return"suggest.details"}getDomNode(){return this._resizable.domNode}getPosition(){return null}show(){this._added||(this._editor.addOverlayWidget(this),this.getDomNode().style.position="fixed",this._added=!0)}hide(e=!1){this._added&&(this._editor.removeOverlayWidget(this),this._added=!1,this._anchorBox=void 0,this._topLeft=void 0),e&&(this._userSize=void 0,this.widget.clearContents())}placeAtAnchor(e){var t;const i=te.C(e);this._anchorBox=i,this._placeAtAnchor(this._anchorBox,null!==(t=this._userSize)&&void 0!==t?t:this.widget.size)}_placeAtAnchor(e,t){const i=te.y(document.body),n=this.widget.getLayoutInfo();let o,r,s,a,l=new te.b(220,2*n.lineHeight),c=0,h=e.top,d=e.top+e.height-n.borderHeight,u=i.width-(e.left+e.width+n.borderWidth+n.horizontalPadding);c=-n.borderWidth+e.left+e.width,a=!0,o=new te.b(u,i.height-e.top-n.borderHeight-n.verticalPadding),r=o.with(void 0,e.top+e.height-n.borderHeight-n.verticalPadding),t.width>u&&(e.left>u&&(u=e.left-n.borderWidth-n.horizontalPadding,a=!1,c=Math.max(n.horizontalPadding,e.left-t.width-n.borderWidth),o=o.with(u),r=o.with(void 0,r.height)),e.width>1.3*u&&i.height-(e.top+e.height)>e.height&&(u=e.width,c=e.left,h=-n.borderWidth+e.top+e.height,o=new te.b(e.width-n.borderHeight,i.height-e.top-e.height-n.verticalPadding),r=o.with(void 0,e.top-n.verticalPadding),l=l.with(o.width)));let g,p=t.height,m=Math.max(o.height,r.height);p>m&&(p=m),p<=o.height?(s=!0,g=o):(s=!1,g=r),this._applyTopLeft({left:c,top:s?h:d-p}),this.getDomNode().style.position="fixed",this._resizable.enableSashes(!s,a,s,!a),this._resizable.minSize=l,this._resizable.maxSize=g,this._resizable.layout(p,Math.min(g.width,t.width)),this.widget.layout(this._resizable.size.width,this._resizable.size.height)}_applyTopLeft(e){this._topLeft=e,this.getDomNode().style.left=this._topLeft.left+"px",this.getDomNode().style.top=this._topLeft.top+"px"}}var _e=i(107),be=i(174),ve=i(25),Ce=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},we=function(e,t){return function(i,n){t(i,n,e)}};class ye extends be.a{updateLabel(){const e=this._keybindingService.lookupKeybinding(this._action.id);if(!e)return super.updateLabel();this.label&&(this.label.textContent=Object(N.a)("ddd","{0} ({1})",this._action.label,ye.symbolPrintEnter(e)))}static symbolPrintEnter(e){var t;return null===(t=e.getLabel())||void 0===t?void 0:t.replace(/\benter\b/gi,"⏎")}}let Se=class{constructor(e,t,i,n){this._menuService=i,this._contextKeyService=n,this._menuDisposables=new a.b,this.element=te.p(e,te.a(".suggest-status-bar"));const o=e=>e instanceof ve.c?t.createInstance(ye,e):void 0;this._leftActions=new _e.a(this.element,{actionViewItemProvider:o}),this._rightActions=new _e.a(this.element,{actionViewItemProvider:o}),this._leftActions.domNode.classList.add("left"),this._rightActions.domNode.classList.add("right")}dispose(){this._menuDisposables.dispose(),this.element.remove()}show(){const e=this._menuService.createMenu(M.g,this._contextKeyService),t=()=>{const t=[],i=[];for(let[n,o]of e.getActions())"left"===n?t.push(...o):i.push(...o);this._leftActions.clear(),this._leftActions.push(t),this._rightActions.clear(),this._rightActions.push(i)};this._menuDisposables.add(e.onDidChange(()=>t())),this._menuDisposables.add(e)}hide(){this._menuDisposables.clear()}};Se=Ce([we(1,v.a),we(2,ve.a),we(3,I.b)],Se);var ke,xe=i(170),De=i(35),Le=i(44),Ee=i(139);function Ne(e,t,i,n){const o=n===ke.ROOT_FOLDER?["rootfolder-icon"]:n===ke.FOLDER?["folder-icon"]:["file-icon"];if(i){let r;if(i.scheme===De.c.data){r=Le.a.parseMetaData(i).get(Le.a.META_DATA_LABEL)}else r=Oe(Object(Le.c)(i).toLowerCase());if(n===ke.FOLDER)o.push(r+"-name-folder-icon");else{if(r){if(o.push(r+"-name-file-icon"),r.length<=255){const e=r.split(".");for(let t=1;t=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},Pe=function(e,t){return function(i,n){t(i,n,e)}};function Fe(e){return"suggest-aria-id:"+e}const Be=Object(Te.b)("suggest-more-info",ce.b.chevronRight,N.a("suggestMoreInfoIcon","Icon for more information in the suggest widget.")),We=new((Ie=class e{extract(t,i){if(t.textLabel.match(e._regexStrict))return i[0]=t.textLabel,!0;if(t.completion.detail&&t.completion.detail.match(e._regexStrict))return i[0]=t.completion.detail,!0;if("string"==typeof t.completion.documentation){const n=e._regexRelaxed.exec(t.completion.documentation);if(n&&(0===n.index||n.index+n[0].length===t.completion.documentation.length))return i[0]=n[0],!0}return!1}})._regexRelaxed=/(#([\da-fA-F]{3}){1,2}|(rgb|hsl)a\(\s*(\d{1,3}%?\s*,\s*){3}(1|0?\.\d+)\)|(rgb|hsl)\(\s*\d{1,3}%?(\s*,\s*\d{1,3}%?){2}\s*\))/,Ie._regexStrict=new RegExp(`^${Ie._regexRelaxed.source}$`,"i"),Ie);let je=class{constructor(e,t,i,n){this._editor=e,this._modelService=t,this._modeService=i,this._themeService=n,this._onDidToggleDetails=new F.a,this.onDidToggleDetails=this._onDidToggleDetails.event,this.templateId="suggestion"}dispose(){this._onDidToggleDetails.dispose()}renderTemplate(e){const t=Object.create(null);t.disposables=new a.b,t.root=e,t.root.classList.add("show-file-icons"),t.icon=Object(te.p)(e,Object(te.a)(".icon")),t.colorspan=Object(te.p)(t.icon,Object(te.a)("span.colorspan"));const i=Object(te.p)(e,Object(te.a)(".contents")),n=Object(te.p)(i,Object(te.a)(".main"));t.iconContainer=Object(te.p)(n,Object(te.a)(".icon-label.codicon")),t.left=Object(te.p)(n,Object(te.a)("span.left")),t.right=Object(te.p)(n,Object(te.a)("span.right")),t.iconLabel=new xe.a(t.left,{supportHighlights:!0,supportIcons:!0}),t.disposables.add(t.iconLabel),t.parametersLabel=Object(te.p)(t.left,Object(te.a)("span.signature-label")),t.qualifierLabel=Object(te.p)(t.left,Object(te.a)("span.qualifier-label")),t.detailsLabel=Object(te.p)(t.right,Object(te.a)("span.details-label")),t.readMore=Object(te.p)(t.right,Object(te.a)("span.readMore"+oe.d.asCSSSelector(Be))),t.readMore.title=N.a("readMore","Read More");const o=()=>{const e=this._editor.getOptions(),i=e.get(38),o=i.fontFamily,r=i.fontFeatureSettings,s=e.get(102)||i.fontSize,a=e.get(103)||i.lineHeight,l=i.fontWeight,c=s+"px",h=a+"px";t.root.style.fontSize=c,t.root.style.fontWeight=l,n.style.fontFamily=o,n.style.fontFeatureSettings=r,n.style.lineHeight=h,t.icon.style.height=h,t.icon.style.width=h,t.readMore.style.height=h,t.readMore.style.width=h};return o(),t.disposables.add(this._editor.onDidChangeConfiguration(e=>{(e.hasChanged(38)||e.hasChanged(102)||e.hasChanged(103))&&o()})),t}renderElement(e,t,i){var n,r,s;const{completion:a}=e,l="string"==typeof a.label?a.label:a.label.name;i.root.id=Fe(t),i.colorspan.style.backgroundColor="";const c={labelEscapeNewLines:!0,matches:Object(W.c)(e.score)};let h=[];if(19===a.kind&&We.extract(e,h))i.icon.className="icon customcolor",i.iconContainer.className="icon hide",i.colorspan.style.backgroundColor=h[0];else if(20===a.kind&&this._themeService.getFileIconTheme().hasFileIcons){i.icon.className="icon hide",i.iconContainer.className="icon hide";const e=Ne(this._modelService,this._modeService,Me.a.from({scheme:"fake",path:l}),ke.FILE),t=Ne(this._modelService,this._modeService,Me.a.from({scheme:"fake",path:a.detail}),ke.FILE);c.extraClasses=e.length>t.length?e:t}else 23===a.kind&&this._themeService.getFileIconTheme().hasFolderIcons?(i.icon.className="icon hide",i.iconContainer.className="icon hide",c.extraClasses=Object(o.j)([Ne(this._modelService,this._modeService,Me.a.from({scheme:"fake",path:l}),ke.FOLDER),Ne(this._modelService,this._modeService,Me.a.from({scheme:"fake",path:a.detail}),ke.FOLDER)])):(i.icon.className="icon hide",i.iconContainer.className="",i.iconContainer.classList.add("suggest-icon",...Object(_.G)(a.kind).split(" ")));a.tags&&a.tags.indexOf(1)>=0&&(c.extraClasses=(c.extraClasses||[]).concat(["deprecated"]),c.matches=[]),i.iconLabel.setLabel(l,void 0,c),"string"==typeof a.label?(i.parametersLabel.textContent="",i.qualifierLabel.textContent="",i.detailsLabel.textContent=(a.detail||"").replace(/\n.*$/m,""),i.root.classList.add("string-label"),i.root.title=""):(i.parametersLabel.textContent=(a.label.parameters||"").replace(/\n.*$/m,""),i.qualifierLabel.textContent=(a.label.qualifier||"").replace(/\n.*$/m,""),i.detailsLabel.textContent=(a.label.type||"").replace(/\n.*$/m,""),i.root.classList.remove("string-label"),i.root.title=`${l}${null!==(n=a.label.parameters)&&void 0!==n?n:""} ${null!==(r=a.label.qualifier)&&void 0!==r?r:""} ${null!==(s=a.label.type)&&void 0!==s?s:""}`),this._editor.getOption(101).showInlineDetails?Object(te.U)(i.detailsLabel):Object(te.J)(i.detailsLabel),pe(e)?(i.right.classList.add("can-expand-details"),Object(te.U)(i.readMore),i.readMore.onmousedown=e=>{e.stopPropagation(),e.preventDefault()},i.readMore.onclick=e=>{e.stopPropagation(),e.preventDefault(),this._onDidToggleDetails.fire()}):(i.right.classList.remove("can-expand-details"),Object(te.J)(i.readMore),i.readMore.onmousedown=null,i.readMore.onclick=null)}disposeTemplate(e){e.disposables.dispose()}};je=Re([Pe(1,Ae.a),Pe(2,y.a),Pe(3,oe.b)],je);var Ve=i(147),ze=i(98),He=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},Ue=function(e,t){return function(i,n){t(i,n,e)}},Ke=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};const qe=Object(re.nc)("editorSuggestWidget.background",{dark:re.Y,light:re.Y,hc:re.Y},N.a("editorSuggestWidgetBackground","Background color of the suggest widget.")),$e=Object(re.nc)("editorSuggestWidget.border",{dark:re.Z,light:re.Z,hc:re.Z},N.a("editorSuggestWidgetBorder","Border color of the suggest widget.")),Ge=Object(re.nc)("editorSuggestWidget.foreground",{dark:re.B,light:re.B,hc:re.B},N.a("editorSuggestWidgetForeground","Foreground color of the suggest widget.")),Ye=Object(re.nc)("editorSuggestWidget.selectedBackground",{dark:re.lc,light:re.lc,hc:re.lc},N.a("editorSuggestWidgetSelectedBackground","Background color of the selected entry in the suggest widget.")),Ze=Object(re.nc)("editorSuggestWidget.highlightForeground",{dark:re.Eb,light:re.Eb,hc:re.Eb},N.a("editorSuggestWidgetHighlightForeground","Color of the match highlights in the suggest widget."));class Xe{constructor(e,t){this._service=e,this._key=`suggestWidget.size/${t.getEditorType()}/${t instanceof Ve.a}`}restore(){var e;const t=null!==(e=this._service.get(this._key,0))&&void 0!==e?e:"";try{const e=JSON.parse(t);if(te.b.is(e))return te.b.lift(e)}catch(e){}}store(e){this._service.store(this._key,JSON.stringify(e),0,1)}reset(){this._service.remove(this._key,0)}}let Je=class e{constructor(e,t,i,n,o){this.editor=e,this._storageService=t,this._state=0,this._isAuto=!1,this._ignoreFocusEvents=!1,this._explainMode=!1,this._showTimeout=new b.g,this._disposables=new a.b,this._onDidSelect=new F.a,this._onDidFocus=new F.a,this._onDidHide=new F.a,this._onDidShow=new F.a,this.onDidSelect=this._onDidSelect.event,this.onDidFocus=this._onDidFocus.event,this.onDidHide=this._onDidHide.event,this.onDidShow=this._onDidShow.event,this._onDetailsKeydown=new F.a,this.onDetailsKeyDown=this._onDetailsKeydown.event,this.element=new de,this.element.domNode.classList.add("editor-widget","suggest-widget"),this._contentWidget=new Qe(this,e),this._persistedSize=new Xe(t,e);class r{constructor(e,t,i=!1,n=!1){this.persistedSize=e,this.currentSize=t,this.persistHeight=i,this.persistWidth=n}}let s;this._disposables.add(this.element.onDidWillResize(()=>{this._contentWidget.lockPreference(),s=new r(this._persistedSize.restore(),this.element.size)})),this._disposables.add(this.element.onDidResize(e=>{var t,i,n,o;if(this._resize(e.dimension.width,e.dimension.height),s&&(s.persistHeight=s.persistHeight||!!e.north||!!e.south,s.persistWidth=s.persistWidth||!!e.east||!!e.west),e.done){if(s){const{itemHeight:e,defaultSize:r}=this.getLayoutInfo(),a=Math.round(e/2);let{width:l,height:c}=this.element.size;(!s.persistHeight||Math.abs(s.currentSize.height-c)<=a)&&(c=null!==(i=null===(t=s.persistedSize)||void 0===t?void 0:t.height)&&void 0!==i?i:r.height),(!s.persistWidth||Math.abs(s.currentSize.width-l)<=a)&&(l=null!==(o=null===(n=s.persistedSize)||void 0===n?void 0:n.width)&&void 0!==o?o:r.width),this._persistedSize.store(new te.b(l,c))}this._contentWidget.unlockPreference(),s=void 0}})),this._messageElement=te.p(this.element.domNode,te.a(".message")),this._listElement=te.p(this.element.domNode,te.a(".tree"));const l=o.createInstance(me,this.editor);l.onDidClose(this.toggleDetails,this,this._disposables),this._details=new fe(l,this.editor);const c=()=>this.element.domNode.classList.toggle("no-icons",!this.editor.getOption(101).showIcons);c();const h=o.createInstance(je,this.editor);this._disposables.add(h),this._disposables.add(h.onDidToggleDetails(()=>this.toggleDetails())),this._list=new ie.c("SuggestWidget",this._listElement,{getHeight:e=>this.getLayoutInfo().itemHeight,getTemplateId:e=>"suggestion"},[h],{alwaysConsumeMouseWheel:!0,useShadows:!1,mouseSupport:!1,accessibilityProvider:{getRole:()=>"option",getAriaLabel:e=>{const t="string"==typeof e.completion.label?e.completion.label:e.completion.label.name;if(e.isResolved&&this._isDetailsVisible()){const{documentation:i,detail:n}=e.completion,o=j.w("{0}{1}",n||"",i?"string"==typeof i?i:i.value:"");return N.a("ariaCurrenttSuggestionReadDetails","{0}, docs: {1}",t,o)}return t},getWidgetAriaLabel:()=>N.a("suggest","Suggest"),getWidgetRole:()=>"listbox"}}),this._status=o.createInstance(Se,this.element.domNode);const d=()=>this.element.domNode.classList.toggle("with-status-bar",this.editor.getOption(101).showStatusBar);d(),this._disposables.add(Object(ne.b)(this._list,n,{listInactiveFocusBackground:Ye,listInactiveFocusOutline:re.b})),this._disposables.add(n.onDidColorThemeChange(e=>this._onThemeChange(e))),this._onThemeChange(n.getColorTheme()),this._disposables.add(this._list.onMouseDown(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onTap(e=>this._onListMouseDownOrTap(e))),this._disposables.add(this._list.onDidChangeSelection(e=>this._onListSelection(e))),this._disposables.add(this._list.onDidChangeFocus(e=>this._onListFocus(e))),this._disposables.add(this.editor.onDidChangeCursorSelection(()=>this._onCursorSelectionChanged())),this._disposables.add(this.editor.onDidChangeConfiguration(e=>{e.hasChanged(101)&&(d(),c())})),this._ctxSuggestWidgetVisible=M.b.Visible.bindTo(i),this._ctxSuggestWidgetDetailsVisible=M.b.DetailsVisible.bindTo(i),this._ctxSuggestWidgetMultipleSuggestions=M.b.MultipleSuggestions.bindTo(i),this._disposables.add(te.n(this._details.widget.domNode,"keydown",e=>{this._onDetailsKeydown.fire(e)})),this._disposables.add(this.editor.onMouseDown(e=>this._onEditorMouseDown(e)))}dispose(){var e;this._details.widget.dispose(),this._details.dispose(),this._list.dispose(),this._status.dispose(),this._disposables.dispose(),null===(e=this._loadingTimeout)||void 0===e||e.dispose(),this._showTimeout.dispose(),this._contentWidget.dispose(),this.element.dispose()}_onEditorMouseDown(e){this._details.widget.domNode.contains(e.target.element)?this._details.widget.domNode.focus():this.element.domNode.contains(e.target.element)&&this.editor.focus()}_onCursorSelectionChanged(){0!==this._state&&this._contentWidget.layout()}_onListMouseDownOrTap(e){void 0!==e.element&&void 0!==e.index&&(e.browserEvent.preventDefault(),e.browserEvent.stopPropagation(),this._select(e.element,e.index))}_onListSelection(e){e.elements.length&&this._select(e.elements[0],e.indexes[0])}_select(e,t){const i=this._completionModel;i&&(this._onDidSelect.fire({item:e,index:t,model:i}),this.editor.focus())}_onThemeChange(e){const t=e.getColor(qe);t&&(this.element.domNode.style.backgroundColor=t.toString(),this._messageElement.style.backgroundColor=t.toString(),this._details.widget.domNode.style.backgroundColor=t.toString());const i=e.getColor($e);i&&(this.element.domNode.style.borderColor=i.toString(),this._messageElement.style.borderColor=i.toString(),this._status.element.style.borderTopColor=i.toString(),this._details.widget.domNode.style.borderColor=i.toString(),this._detailsBorderColor=i.toString());const n=e.getColor(re.db);n&&(this._detailsFocusBorderColor=n.toString()),this._details.widget.borderWidth="hc"===e.type?2:1}_onListFocus(e){var t;if(this._ignoreFocusEvents)return;if(!e.elements.length)return this._currentSuggestionDetails&&(this._currentSuggestionDetails.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=void 0),void this.editor.setAriaOptions({activeDescendant:void 0});if(!this._completionModel)return;const i=e.elements[0],n=e.indexes[0];i!==this._focusedItem&&(null===(t=this._currentSuggestionDetails)||void 0===t||t.cancel(),this._currentSuggestionDetails=void 0,this._focusedItem=i,this._list.reveal(n),this._currentSuggestionDetails=Object(b.h)(e=>Ke(this,void 0,void 0,(function*(){const t=Object(b.i)(()=>{this._isDetailsVisible()&&this.showDetails(!0)},250);e.onCancellationRequested(()=>t.dispose());const n=yield i.resolve(e);return t.dispose(),n}))),this._currentSuggestionDetails.then(()=>{n>=this._list.length||i!==this._list.element(n)||(this._ignoreFocusEvents=!0,this._list.splice(n,1,[i]),this._list.setFocus([n]),this._ignoreFocusEvents=!1,this._isDetailsVisible()?this.showDetails(!1):this.element.domNode.classList.remove("docs-side"),this.editor.setAriaOptions({activeDescendant:Fe(n)}))}).catch(r.e)),this._onDidFocus.fire({item:i,index:n,model:this._completionModel})}_setState(t){if(this._state!==t)switch(this._state=t,this.element.domNode.classList.toggle("frozen",4===t),this.element.domNode.classList.remove("message"),t){case 0:te.J(this._messageElement,this._listElement,this._status.element),this._details.hide(!0),this._status.hide(),this._contentWidget.hide(),this._ctxSuggestWidgetVisible.reset(),this._ctxSuggestWidgetMultipleSuggestions.reset(),this.element.domNode.classList.remove("visible"),this._list.splice(0,this._list.length),this._focusedItem=void 0,this._cappedHeight=void 0,this._explainMode=!1;break;case 1:this.element.domNode.classList.add("message"),this._messageElement.textContent=e.LOADING_MESSAGE,te.J(this._listElement,this._status.element),te.U(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 2:this.element.domNode.classList.add("message"),this._messageElement.textContent=e.NO_SUGGESTIONS_MESSAGE,te.J(this._listElement,this._status.element),te.U(this._messageElement),this._details.hide(),this._show(),this._focusedItem=void 0;break;case 3:case 4:te.J(this._messageElement),te.U(this._listElement,this._status.element),this._show();break;case 5:te.J(this._messageElement),te.U(this._listElement,this._status.element),this._details.show(),this._show()}}_show(){this._status.show(),this._contentWidget.show(),this._layout(this._persistedSize.restore()),this._ctxSuggestWidgetVisible.set(!0),this._showTimeout.cancelAndSet(()=>{this.element.domNode.classList.add("visible"),this._onDidShow.fire(this)},100)}showTriggered(e,t){0===this._state&&(this._contentWidget.setPosition(this.editor.getPosition()),this._isAuto=!!e,this._isAuto||(this._loadingTimeout=Object(b.i)(()=>this._setState(1),t)))}showSuggestions(e,t,i,n){var o,r;if(this._contentWidget.setPosition(this.editor.getPosition()),null===(o=this._loadingTimeout)||void 0===o||o.dispose(),null===(r=this._currentSuggestionDetails)||void 0===r||r.cancel(),this._currentSuggestionDetails=void 0,this._completionModel!==e&&(this._completionModel=e),i&&2!==this._state&&0!==this._state)return void this._setState(4);const s=this._completionModel.items.length,a=0===s;if(this._ctxSuggestWidgetMultipleSuggestions.set(s>1),a)return this._setState(n?0:2),void(this._completionModel=void 0);this._focusedItem=void 0,this._list.splice(0,this._list.length,this._completionModel.items),this._setState(i?4:3),this._list.reveal(t,0),this._list.setFocus([t]),this._layout(this.element.size),this._detailsBorderColor&&(this._details.widget.domNode.style.borderColor=this._detailsBorderColor)}selectNextPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageDown(),!0;case 1:return!this._isAuto;default:return this._list.focusNextPage(),!0}}selectNext(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusNext(1,!0),!0}}selectLast(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollBottom(),!0;case 1:return!this._isAuto;default:return this._list.focusLast(),!0}}selectPreviousPage(){switch(this._state){case 0:return!1;case 5:return this._details.widget.pageUp(),!0;case 1:return!this._isAuto;default:return this._list.focusPreviousPage(),!0}}selectPrevious(){switch(this._state){case 0:return!1;case 1:return!this._isAuto;default:return this._list.focusPrevious(1,!0),!1}}selectFirst(){switch(this._state){case 0:return!1;case 5:return this._details.widget.scrollTop(),!0;case 1:return!this._isAuto;default:return this._list.focusFirst(),!0}}getFocusedItem(){if(0!==this._state&&2!==this._state&&1!==this._state&&this._completionModel)return{item:this._list.getFocusedElements()[0],index:this._list.getFocus()[0],model:this._completionModel}}toggleDetailsFocus(){5===this._state?(this._setState(3),this._detailsBorderColor&&(this._details.widget.domNode.style.borderColor=this._detailsBorderColor)):3===this._state&&this._isDetailsVisible()&&(this._setState(5),this._detailsFocusBorderColor&&(this._details.widget.domNode.style.borderColor=this._detailsFocusBorderColor))}toggleDetails(){this._isDetailsVisible()?(this._ctxSuggestWidgetDetailsVisible.set(!1),this._setDetailsVisible(!1),this._details.hide(),this.element.domNode.classList.remove("shows-details")):!pe(this._list.getFocusedElements()[0])||3!==this._state&&5!==this._state&&4!==this._state||(this._ctxSuggestWidgetDetailsVisible.set(!0),this._setDetailsVisible(!0),this.showDetails(!1))}showDetails(e){this._details.show(),e?this._details.widget.renderLoading():this._details.widget.renderItem(this._list.getFocusedElements()[0],this._explainMode),this._positionDetails(),this.editor.focus(),this.element.domNode.classList.add("shows-details")}toggleExplainMode(){this._list.getFocusedElements()[0]&&this._isDetailsVisible()&&(this._explainMode=!this._explainMode,this.showDetails(!1))}resetPersistedSize(){this._persistedSize.reset()}hideWidget(){var e;null===(e=this._loadingTimeout)||void 0===e||e.dispose(),this._setState(0),this._onDidHide.fire(this);const t=this._persistedSize.restore(),i=Math.ceil(4.3*this.getLayoutInfo().itemHeight);t&&t.heightl&&(a=l);const c=this._completionModel?this._completionModel.stats.pLabelLen*r.typicalHalfwidthCharacterWidth:a,h=r.statusBarHeight+this._list.contentHeight+r.borderHeight,d=r.itemHeight+r.statusBarHeight,u=te.C(this.editor.getDomNode()),g=this.editor.getScrolledVisiblePosition(this.editor.getPosition()),p=u.top+g.top+g.height,m=Math.min(o.height-p-r.verticalPadding,h),f=Math.min(u.top+g.top-r.verticalPadding,h);let _=Math.min(Math.max(f,m)+r.borderHeight,h);s===(null===(t=this._cappedHeight)||void 0===t?void 0:t.capped)&&(s=this._cappedHeight.wanted),s_&&(s=_),s>m?(this._contentWidget.setPreference(1),this.element.enableSashes(!0,!0,!1,!1),_=f):(this._contentWidget.setPreference(2),this.element.enableSashes(!1,!0,!0,!1),_=m),this.element.preferredSize=new te.b(c,r.defaultSize.height),this.element.maxSize=new te.b(l,_),this.element.minSize=new te.b(220,d),this._cappedHeight=s===h?{wanted:null!==(n=null===(i=this._cappedHeight)||void 0===i?void 0:i.wanted)&&void 0!==n?n:e.height,capped:s}:void 0}this._resize(a,s)}_resize(e,t){const{width:i,height:n}=this.element.maxSize;e=Math.min(i,e),t=Math.min(n,t);const{statusBarHeight:o}=this.getLayoutInfo();this._list.layout(t-o,e),this._listElement.style.height=t-o+"px",this.element.layout(t,e),this._contentWidget.layout(),this._positionDetails()}_positionDetails(){this._isDetailsVisible()&&this._details.placeAtAnchor(this.element.domNode)}getLayoutInfo(){const e=this.editor.getOption(38),t=Object(ze.b)(this.editor.getOption(103)||e.lineHeight,8,1e3),i=this.editor.getOption(101).showStatusBar&&2!==this._state&&1!==this._state?t:0,n=this._details.widget.borderWidth,o=2*n;return{itemHeight:t,statusBarHeight:i,borderWidth:n,borderHeight:o,typicalHalfwidthCharacterWidth:e.typicalHalfwidthCharacterWidth,verticalPadding:22,horizontalPadding:14,defaultSize:new te.b(430,i+12*t+o)}}_isDetailsVisible(){return this._storageService.getBoolean("expandSuggestionDocs",0,!1)}_setDetailsVisible(e){this._storageService.store("expandSuggestionDocs",e,0,0)}};Je.LOADING_MESSAGE=N.a("suggestWidget.loading","Loading..."),Je.NO_SUGGESTIONS_MESSAGE=N.a("suggestWidget.noSuggestions","No suggestions."),Je=He([Ue(1,f.a),Ue(2,I.b),Ue(3,oe.b),Ue(4,v.a)],Je);class Qe{constructor(e,t){this._widget=e,this._editor=t,this.allowEditorOverflow=!0,this.suppressMouseDown=!1,this._preferenceLocked=!1,this._added=!1,this._hidden=!1}dispose(){this._added&&(this._added=!1,this._editor.removeContentWidget(this))}getId(){return"editor.widget.suggestWidget"}getDomNode(){return this._widget.element.domNode}show(){this._hidden=!1,this._added||(this._added=!0,this._editor.addContentWidget(this))}hide(){this._hidden||(this._hidden=!0,this.layout())}layout(){this._editor.layoutContentWidget(this)}getPosition(){return!this._hidden&&this._position&&this._preference?{position:this._position,preference:[this._preference]}:null}beforeRender(){const{height:e,width:t}=this._widget.element.size,{borderWidth:i,horizontalPadding:n}=this._widget.getLayoutInfo();return new te.b(t+2*i+n,e+2*i)}afterRender(e){this._widget._afterRender(e)}setPreference(e){this._preferenceLocked||(this._preference=e)}lockPreference(){this._preferenceLocked=!0}unlockPreference(){this._preferenceLocked=!1}setPosition(e){this._position=e}}Object(oe.f)((e,t)=>{const i=e.getColor(Ze);i&&t.addRule(`.monaco-editor .suggest-widget .monaco-list .monaco-list-row .monaco-highlighted-label .highlight { color: ${i}; }`);const n=e.getColor(Ge);n&&t.addRule(`.monaco-editor .suggest-widget, .monaco-editor .suggest-details { color: ${n}; }`);const o=e.getColor(re.zc);o&&t.addRule(`.monaco-editor .suggest-details a { color: ${o}; }`);const r=e.getColor(re.yc);r&&t.addRule(`.monaco-editor .suggest-details code { background-color: ${r}; }`)});var et=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},tt=function(e,t){return function(i,n){t(i,n,e)}};let it=class e{constructor(t,i){this._editor=t,this._enabled=!1,this._ckAtEnd=e.AtEnd.bindTo(i),this._configListener=this._editor.onDidChangeConfiguration(e=>e.hasChanged(106)&&this._update()),this._update()}dispose(){var e;this._configListener.dispose(),null===(e=this._selectionListener)||void 0===e||e.dispose(),this._ckAtEnd.reset()}_update(){const e="on"===this._editor.getOption(106);if(this._enabled!==e)if(this._enabled=e,this._enabled){const e=()=>{if(!this._editor.hasModel())return void this._ckAtEnd.set(!1);const e=this._editor.getModel(),t=this._editor.getSelection(),i=e.getWordAtPosition(t.getStartPosition());i?this._ckAtEnd.set(i.endColumn===t.getStartPosition().column):this._ckAtEnd.set(!1)};this._selectionListener=this._editor.onDidChangeCursorSelection(e),e()}else this._selectionListener&&(this._ckAtEnd.reset(),this._selectionListener.dispose(),this._selectionListener=void 0)}};it.AtEnd=new I.c("atEndOfWord",!1),it=et([tt(1,I.b)],it);var nt=i(15),ot=i(113);class rt{constructor(e,t,i){this._disposables=new a.b,this._disposables.add(t.onDidShow(()=>this._onItem(t.getFocusedItem()))),this._disposables.add(t.onDidFocus(this._onItem,this)),this._disposables.add(t.onDidHide(this.reset,this)),this._disposables.add(e.onWillType(n=>{if(this._active&&!t.isFrozen()){const t=n.charCodeAt(n.length-1);this._active.acceptCharacters.has(t)&&e.getOption(0)&&i(this._active.item)}}))}_onItem(e){if(!e||!Object(o.m)(e.item.completion.commitCharacters))return void this.reset();if(this._active&&this._active.item.item===e.item)return;const t=new ot.b;for(const i of e.item.completion.commitCharacters)i.length>0&&t.add(i.charCodeAt(0));this._active={acceptCharacters:t,item:e}}reset(){this._active=void 0}dispose(){this._disposables.dispose()}}class st{constructor(e,t){this._disposables=new a.b,this._lastOvertyped=[],this._empty=!0,this._disposables.add(e.onWillType(()=>{if(!this._empty)return;if(!e.hasModel())return;const t=e.getSelections(),i=t.length;let n=!1;for(let e=0;est._maxSelectionLength)return;this._lastOvertyped[e]={value:o.getValueInRange(i),multiline:i.startLineNumber!==i.endLineNumber}}this._empty=!1})),this._disposables.add(t.onDidCancel(e=>{this._empty||e.retrigger||(this._empty=!0)}))}getLastOvertypedInfo(e){if(!this._empty&&e>=0&&e=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},dt=function(e,t){return function(i,n){t(i,n,e)}};class ut{constructor(e,t){this._model=e,this._position=t;if(e.getLineMaxColumn(t.lineNumber)!==t.column){const i=e.getOffsetAt(t),n=e.getPositionAt(i+1);this._marker=e.deltaDecorations([],[{range:d.a.fromPositions(t,n),options:{stickiness:1}}])}}dispose(){this._marker&&!this._model.isDisposed()&&this._model.deltaDecorations(this._marker,[])}delta(e){if(this._model.isDisposed()||this._position.lineNumber!==e.lineNumber)return 0;if(this._marker){const t=this._model.getDecorationRange(this._marker[0]);return this._model.getOffsetAt(t.getStartPosition())-this._model.getOffsetAt(e)}return this._model.getLineMaxColumn(e.lineNumber)-e.column}}let gt=class e{constructor(e,t,i,n,o,r){this._memoryService=t,this._commandService=i,this._contextKeyService=n,this._instantiationService=o,this._logService=r,this._lineSuffix=new a.d,this._toDispose=new a.b,this.editor=e,this.model=o.createInstance(ee,this.editor);const l=M.b.InsertMode.bindTo(n);l.set(e.getOption(101).insertMode),this.model.onDidTrigger(()=>l.set(e.getOption(101).insertMode)),this.widget=this._toDispose.add(new b.b(()=>{const e=this._instantiationService.createInstance(Je,this.editor);this._toDispose.add(e),this._toDispose.add(e.onDidSelect(e=>this._insertSuggestion(e,0),this));const t=new rt(this.editor,e,e=>this._insertSuggestion(e,2));this._toDispose.add(t),this._toDispose.add(this.model.onDidSuggest(e=>{0===e.completionModel.items.length&&t.reset()}));const i=M.b.MakesTextEdit.bindTo(this._contextKeyService),n=M.b.HasInsertAndReplaceRange.bindTo(this._contextKeyService),o=M.b.CanResolve.bindTo(this._contextKeyService);return this._toDispose.add(Object(a.h)(()=>{i.reset(),n.reset(),o.reset()})),this._toDispose.add(e.onDidFocus(({item:e})=>{const t=this.editor.getPosition(),r=e.editStart.column,s=t.column;let a=!0;if(!("smart"!==this.editor.getOption(1)||2!==this.model.state||e.completion.command||e.completion.additionalTextEdits||4&e.completion.insertTextRules||s-r!==e.completion.insertText.length)){a=this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:r,endLineNumber:t.lineNumber,endColumn:s})!==e.completion.insertText}i.set(a),n.set(!at.a.equals(e.editInsertEnd,e.editReplaceEnd)),o.set(Boolean(e.provider.resolveCompletionItem)||Boolean(e.completion.documentation)||e.completion.detail!==e.completion.label)})),this._toDispose.add(e.onDetailsKeyDown(e=>{e.toKeybinding().equals(new s.e(!0,!1,!1,!1,33))||lt.f&&e.toKeybinding().equals(new s.e(!1,!1,!1,!0,33))?e.stopPropagation():e.toKeybinding().isModifierKey()||this.editor.focus()})),e})),this._overtypingCapturer=this._toDispose.add(new b.b(()=>this._toDispose.add(new st(this.editor,this.model)))),this._alternatives=this._toDispose.add(new b.b(()=>this._toDispose.add(new P(this.editor,this._contextKeyService)))),this._toDispose.add(o.createInstance(it,e)),this._toDispose.add(this.model.onDidTrigger(e=>{this.widget.value.showTriggered(e.auto,e.shy?250:50),this._lineSuffix.value=new ut(this.editor.getModel(),e.position)})),this._toDispose.add(this.model.onDidSuggest(e=>{if(!e.shy){let t=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.completionModel.items);this.widget.value.showSuggestions(e.completionModel,t,e.isFrozen,e.auto)}})),this._toDispose.add(this.model.onDidCancel(e=>{e.retrigger||this.widget.value.hideWidget()})),this._toDispose.add(this.editor.onDidBlurEditorWidget(()=>{this.model.cancel(),this.model.clear()}));let c=M.b.AcceptSuggestionsOnEnter.bindTo(n),h=()=>{const e=this.editor.getOption(1);c.set("on"===e||"smart"===e)};this._toDispose.add(this.editor.onDidChangeConfiguration(()=>h())),h()}static get(t){return t.getContribution(e.ID)}dispose(){this._alternatives.dispose(),this._toDispose.dispose(),this.widget.dispose(),this.model.dispose(),this._lineSuffix.dispose()}_insertSuggestion(e,t){if(!e||!e.item)return this._alternatives.value.reset(),this.model.cancel(),void this.model.clear();if(!this.editor.hasModel())return;const i=this.editor.getModel(),n=i.getAlternativeVersionId(),{item:o}=e,s=[],a=new z.b;1&t||this.editor.pushUndoStop();const c=this.getOverwriteInfo(o,Boolean(8&t));if(this._memoryService.memorize(i,this.editor.getPosition(),o),Array.isArray(o.completion.additionalTextEdits)){const e=l.c.capture(this.editor);this.editor.executeEdits("suggestController.additionalTextEdits.sync",o.completion.additionalTextEdits.map(e=>h.a.replace(d.a.lift(e.range),e.text))),e.restoreRelativeVerticalPositionOfCursor(this.editor)}else if(!o.isResolved){const e=new ct.a(!0);let n;const r=i.onDidChangeContent(e=>{if(e.isFlush)return a.cancel(),void r.dispose();for(let t of e.changes){const e=d.a.getEndPosition(t.range);n&&!at.a.isBefore(e,n)||(n=e)}});let c=t;t|=2;let u=!1,g=this.editor.onWillType(()=>{g.dispose(),u=!0,2&c||this.editor.pushUndoStop()});s.push(o.resolve(a.token).then(()=>{if(!o.completion.additionalTextEdits||a.token.isCancellationRequested)return!1;if(n&&o.completion.additionalTextEdits.some(e=>at.a.isBefore(n,d.a.getStartPosition(e.range))))return!1;u&&this.editor.pushUndoStop();const e=l.c.capture(this.editor);return this.editor.executeEdits("suggestController.additionalTextEdits.async",o.completion.additionalTextEdits.map(e=>h.a.replace(d.a.lift(e.range),e.text))),e.restoreRelativeVerticalPositionOfCursor(this.editor),!u&&2&c||this.editor.pushUndoStop(),!0}).then(t=>{this._logService.trace("[suggest] async resolving of edits DONE (ms, applied?)",e.elapsed(),t),r.dispose(),g.dispose()}))}let{insertText:u}=o.completion;4&o.completion.insertTextRules||(u=p.c.escape(u)),g.SnippetController2.get(this.editor).insert(u,{overwriteBefore:c.overwriteBefore,overwriteAfter:c.overwriteAfter,undoStopBefore:!1,undoStopAfter:!1,adjustWhitespace:!(1&o.completion.insertTextRules),clipboardText:e.model.clipboardText,overtypingCapturer:this._overtypingCapturer.value}),2&t||this.editor.pushUndoStop(),o.completion.command?o.completion.command.id===pt.id?this.model.trigger({auto:!0,shy:!1},!0):(s.push(this._commandService.executeCommand(o.completion.command.id,...o.completion.command.arguments?[...o.completion.command.arguments]:[]).catch(r.e)),this.model.cancel()):this.model.cancel(),4&t&&this._alternatives.value.set(e,e=>{for(a.cancel();i.canUndo();){n!==i.getAlternativeVersionId()&&i.undo(),this._insertSuggestion(e,3|(8&t?8:0));break}}),this._alertCompletionItem(o),Promise.all(s).finally(()=>{this.model.clear(),a.dispose()})}getOverwriteInfo(e,t){Object(nt.b)(this.editor.hasModel());let i="replace"===this.editor.getOption(101).insertMode;t&&(i=!i);const n=e.position.column-e.editStart.column,o=(i?e.editReplaceEnd.column:e.editInsertEnd.column)-e.position.column;return{overwriteBefore:n+(this.editor.getPosition().column-e.position.column),overwriteAfter:o+(this._lineSuffix.value?this._lineSuffix.value.delta(this.editor.getPosition()):0)}}_alertCompletionItem({completion:e}){const t="string"==typeof e.label?e.label:e.label.name;if(Object(o.m)(e.additionalTextEdits)){let i=N.a("aria.alert.snippet","Accepting '{0}' made {1} additional edits",t,e.additionalTextEdits.length);Object(n.a)(i)}}triggerSuggest(e){this.editor.hasModel()&&(this.model.trigger({auto:!1,shy:!1},!1,e),this.editor.revealLine(this.editor.getPosition().lineNumber,0),this.editor.focus())}triggerSuggestAndAcceptBest(e){if(!this.editor.hasModel())return;const t=this.editor.getPosition(),i=()=>{t.equals(this.editor.getPosition())&&this._commandService.executeCommand(e.fallback)},n=e=>{if(4&e.completion.insertTextRules||e.completion.additionalTextEdits)return!0;const t=this.editor.getPosition(),i=e.editStart.column,n=t.column;if(n-i!==e.completion.insertText.length)return!0;return this.editor.getModel().getValueInRange({startLineNumber:t.lineNumber,startColumn:i,endLineNumber:t.lineNumber,endColumn:n})!==e.completion.insertText};F.b.once(this.model.onDidTrigger)(e=>{let t=[];F.b.any(this.model.onDidTrigger,this.model.onDidCancel)(()=>{Object(a.f)(t),i()},void 0,t),this.model.onDidSuggest(({completionModel:e})=>{if(Object(a.f)(t),0===e.items.length)return void i();const o=this._memoryService.select(this.editor.getModel(),this.editor.getPosition(),e.items),r=e.items[o];n(r)?(this.editor.pushUndoStop(),this._insertSuggestion({index:o,item:r,model:e},7)):i()},void 0,t)}),this.model.trigger({auto:!1,shy:!0}),this.editor.revealLine(t.lineNumber,0),this.editor.focus()}acceptSelectedSuggestion(e,t){const i=this.widget.value.getFocusedItem();let n=0;e&&(n|=4),t&&(n|=8),this._insertSuggestion(i,n)}acceptNextSuggestion(){this._alternatives.value.next()}acceptPrevSuggestion(){this._alternatives.value.prev()}cancelSuggestWidget(){this.model.cancel(),this.model.clear(),this.widget.value.hideWidget()}selectNextSuggestion(){this.widget.value.selectNext()}selectNextPageSuggestion(){this.widget.value.selectNextPage()}selectLastSuggestion(){this.widget.value.selectLast()}selectPrevSuggestion(){this.widget.value.selectPrevious()}selectPrevPageSuggestion(){this.widget.value.selectPreviousPage()}selectFirstSuggestion(){this.widget.value.selectFirst()}toggleSuggestionDetails(){this.widget.value.toggleDetails()}toggleExplainMode(){this.widget.value.toggleExplainMode()}toggleSuggestionFocus(){this.widget.value.toggleDetailsFocus()}resetWidgetSize(){this.widget.value.resetPersistedSize()}};gt.ID="editor.contrib.suggestController",gt=ht([dt(1,E),dt(2,O.b),dt(3,I.b),dt(4,v.a),dt(5,Y.b)],gt);class pt extends c.b{constructor(){super({id:pt.id,label:N.a("suggest.trigger.label","Trigger Suggest"),alias:"Trigger Suggest",precondition:I.a.and(u.a.writable,u.a.hasCompletionItemProvider),kbOpts:{kbExpr:u.a.textInputFocus,primary:2058,secondary:[2087],mac:{primary:266,secondary:[521,2087]},weight:100}})}run(e,t){const i=gt.get(t);i&&i.triggerSuggest()}}pt.id="editor.action.triggerSuggest",Object(c.l)(gt.ID,gt),Object(c.j)(pt);const mt=c.c.bindToContribution(gt.get);Object(c.k)(new mt({id:"acceptSelectedSuggestion",precondition:M.b.Visible,handler(e){e.acceptSelectedSuggestion(!0,!1)}})),A.a.registerKeybindingRule({id:"acceptSelectedSuggestion",when:I.a.and(M.b.Visible,u.a.textInputFocus),primary:2,weight:190}),A.a.registerKeybindingRule({id:"acceptSelectedSuggestion",when:I.a.and(M.b.Visible,u.a.textInputFocus,M.b.AcceptSuggestionsOnEnter,M.b.MakesTextEdit),primary:3,weight:190}),ve.d.appendMenuItem(M.g,{command:{id:"acceptSelectedSuggestion",title:N.a("accept.insert","Insert")},group:"left",order:1,when:M.b.HasInsertAndReplaceRange.toNegated()}),ve.d.appendMenuItem(M.g,{command:{id:"acceptSelectedSuggestion",title:N.a("accept.insert","Insert")},group:"left",order:1,when:I.a.and(M.b.HasInsertAndReplaceRange,M.b.InsertMode.isEqualTo("insert"))}),ve.d.appendMenuItem(M.g,{command:{id:"acceptSelectedSuggestion",title:N.a("accept.replace","Replace")},group:"left",order:1,when:I.a.and(M.b.HasInsertAndReplaceRange,M.b.InsertMode.isEqualTo("replace"))}),Object(c.k)(new mt({id:"acceptAlternativeSelectedSuggestion",precondition:I.a.and(M.b.Visible,u.a.textInputFocus),kbOpts:{weight:190,kbExpr:u.a.textInputFocus,primary:1027,secondary:[1026]},handler(e){e.acceptSelectedSuggestion(!1,!0)},menuOpts:[{menuId:M.g,group:"left",order:2,when:I.a.and(M.b.HasInsertAndReplaceRange,M.b.InsertMode.isEqualTo("insert")),title:N.a("accept.replace","Replace")},{menuId:M.g,group:"left",order:2,when:I.a.and(M.b.HasInsertAndReplaceRange,M.b.InsertMode.isEqualTo("replace")),title:N.a("accept.insert","Insert")}]})),O.a.registerCommandAlias("acceptSelectedSuggestionOnEnter","acceptSelectedSuggestion"),Object(c.k)(new mt({id:"hideSuggestWidget",precondition:M.b.Visible,handler:e=>e.cancelSuggestWidget(),kbOpts:{weight:190,kbExpr:u.a.textInputFocus,primary:9,secondary:[1033]}})),Object(c.k)(new mt({id:"selectNextSuggestion",precondition:I.a.and(M.b.Visible,M.b.MultipleSuggestions),handler:e=>e.selectNextSuggestion(),kbOpts:{weight:190,kbExpr:u.a.textInputFocus,primary:18,secondary:[2066],mac:{primary:18,secondary:[2066,300]}}})),Object(c.k)(new mt({id:"selectNextPageSuggestion",precondition:I.a.and(M.b.Visible,M.b.MultipleSuggestions),handler:e=>e.selectNextPageSuggestion(),kbOpts:{weight:190,kbExpr:u.a.textInputFocus,primary:12,secondary:[2060]}})),Object(c.k)(new mt({id:"selectLastSuggestion",precondition:I.a.and(M.b.Visible,M.b.MultipleSuggestions),handler:e=>e.selectLastSuggestion()})),Object(c.k)(new mt({id:"selectPrevSuggestion",precondition:I.a.and(M.b.Visible,M.b.MultipleSuggestions),handler:e=>e.selectPrevSuggestion(),kbOpts:{weight:190,kbExpr:u.a.textInputFocus,primary:16,secondary:[2064],mac:{primary:16,secondary:[2064,302]}}})),Object(c.k)(new mt({id:"selectPrevPageSuggestion",precondition:I.a.and(M.b.Visible,M.b.MultipleSuggestions),handler:e=>e.selectPrevPageSuggestion(),kbOpts:{weight:190,kbExpr:u.a.textInputFocus,primary:11,secondary:[2059]}})),Object(c.k)(new mt({id:"selectFirstSuggestion",precondition:I.a.and(M.b.Visible,M.b.MultipleSuggestions),handler:e=>e.selectFirstSuggestion()})),Object(c.k)(new mt({id:"toggleSuggestionDetails",precondition:M.b.Visible,handler:e=>e.toggleSuggestionDetails(),kbOpts:{weight:190,kbExpr:u.a.textInputFocus,primary:2058,mac:{primary:266}},menuOpts:[{menuId:M.g,group:"right",order:1,when:I.a.and(M.b.DetailsVisible,M.b.CanResolve),title:N.a("detail.more","show less")},{menuId:M.g,group:"right",order:1,when:I.a.and(M.b.DetailsVisible.toNegated(),M.b.CanResolve),title:N.a("detail.less","show more")}]})),Object(c.k)(new mt({id:"toggleExplainMode",precondition:M.b.Visible,handler:e=>e.toggleExplainMode(),kbOpts:{weight:100,primary:2133}})),Object(c.k)(new mt({id:"toggleSuggestionFocus",precondition:M.b.Visible,handler:e=>e.toggleSuggestionFocus(),kbOpts:{weight:190,kbExpr:u.a.textInputFocus,primary:2570,mac:{primary:778}}})),Object(c.k)(new mt({id:"insertBestCompletion",precondition:I.a.and(u.a.textInputFocus,I.a.equals("config.editor.tabCompletion","on"),it.AtEnd,M.b.Visible.toNegated(),P.OtherSuggestions.toNegated(),g.SnippetController2.InSnippetMode.toNegated()),handler:(e,t)=>{e.triggerSuggestAndAcceptBest(Object(nt.i)(t)?Object.assign({fallback:"tab"},t):{fallback:"tab"})},kbOpts:{weight:190,primary:2}})),Object(c.k)(new mt({id:"insertNextSuggestion",precondition:I.a.and(u.a.textInputFocus,I.a.equals("config.editor.tabCompletion","on"),P.OtherSuggestions,M.b.Visible.toNegated(),g.SnippetController2.InSnippetMode.toNegated()),handler:e=>e.acceptNextSuggestion(),kbOpts:{weight:190,kbExpr:u.a.textInputFocus,primary:2}})),Object(c.k)(new mt({id:"insertPrevSuggestion",precondition:I.a.and(u.a.textInputFocus,I.a.equals("config.editor.tabCompletion","on"),P.OtherSuggestions,M.b.Visible.toNegated(),g.SnippetController2.InSnippetMode.toNegated()),handler:e=>e.acceptPrevSuggestion(),kbOpts:{weight:190,kbExpr:u.a.textInputFocus,primary:1026}})),Object(c.j)(class extends c.b{constructor(){super({id:"editor.action.resetSuggestSize",label:N.a("suggest.reset.label","Reset Suggest Widget Size"),alias:"Reset Suggest Widget Size",precondition:void 0})}run(e,t){gt.get(t).resetWidgetSize()}})},function(e,t,i){"use strict";i.r(t);i(291);var n=i(0),o=i(15),r=i(8),s=i(17),a=i(38),l=i(2),c=i(4),h=i(6);class d{constructor(e,t,i){if(e.length!==t.length||e.length>65535)throw new Error("invalid startIndexes or endIndexes size");this._startIndexes=e,this._endIndexes=t,this._collapseStates=new Uint32Array(Math.ceil(e.length/32)),this._types=i,this._parentsComputed=!1}ensureParentIndices(){if(!this._parentsComputed){this._parentsComputed=!0;let e=[],t=(t,i)=>{let n=e[e.length-1];return this.getStartLineNumber(n)<=t&&this.getEndLineNumber(n)>=i};for(let i=0,n=this._startIndexes.length;i16777215||o>16777215)throw new Error("startLineNumber or endLineNumber must not exceed 16777215");for(;e.length>0&&!t(n,o);)e.pop();let r=e.length>0?e[e.length-1]:-1;e.push(i),this._startIndexes[i]=n+((255&r)<<24),this._endIndexes[i]=o+((65280&r)<<16)}}}get length(){return this._startIndexes.length}getStartLineNumber(e){return 16777215&this._startIndexes[e]}getEndLineNumber(e){return 16777215&this._endIndexes[e]}getType(e){return this._types?this._types[e]:void 0}hasTypes(){return!!this._types}isCollapsed(e){let t=e/32|0,i=e%32;return 0!=(this._collapseStates[t]&1<>>24)+((4278190080&this._endIndexes[e])>>>16);return 65535===t?-1:t}contains(e,t){return this.getStartLineNumber(e)<=t&&this.getEndLineNumber(e)>=t}findIndex(e){let t=0,i=this._startIndexes.length;if(0===i)return-1;for(;t=0){if(this.getEndLineNumber(t)>=e)return t;for(t=this.getParentIndex(t);-1!==t;){if(this.contains(t,e))return t;t=this.getParentIndex(t)}}return-1}toString(){let e=[];for(let t=0;t=this.endLineNumber}containsLine(e){return this.startLineNumber<=e&&e<=this.endLineNumber}}class g{constructor(e,t){this._updateEventEmitter=new h.a,this.onDidChange=this._updateEventEmitter.event,this._textModel=e,this._decorationProvider=t,this._regions=new d(new Uint32Array(0),new Uint32Array(0)),this._editorDecorationIds=[],this._isInitialized=!1}get regions(){return this._regions}get textModel(){return this._textModel}get isInitialized(){return this._isInitialized}toggleCollapseState(e){if(!e.length)return;e=e.sort((e,t)=>e.regionIndex-t.regionIndex);const t={};this._decorationProvider.changeDecorations(i=>{let n=0,o=-1,r=-1;const s=e=>{for(;nr&&(r=e),n++}};for(let i of e){let e=i.regionIndex,n=this._editorDecorationIds[e];if(n&&!t[n]){t[n]=!0,s(e);let i=!this._regions.isCollapsed(e);this._regions.setCollapsed(e,i),o=Math.max(o,this._regions.getEndLineNumber(e))}}s(this._regions.length)}),this._updateEventEmitter.fire({model:this,collapseStateChanged:e})}update(e,t=[]){let i=[],n=-1,o=(o,r)=>{const s=e.getStartLineNumber(o),a=e.getEndLineNumber(o);r&&((e,i)=>{for(let n of t)if(en&&(n=a)},r=0,s=()=>{for(;r=t))break;o(a,i===t),a++}}l=s()}for(;a0)return e}applyMemento(e){if(!Array.isArray(e))return;let t=[];for(let i of e){let e=this.getRegionAtLine(i.startLineNumber);e&&!e.isCollapsed&&t.push(e)}this.toggleCollapseState(t)}dispose(){this._decorationProvider.deltaDecorations(this._editorDecorationIds,[])}getAllRegionsAtLine(e,t){let i=[];if(this._regions){let n=this._regions.findRange(e),o=1;for(;n>=0;){let e=this._regions.toRegion(n);t&&!t(e,o)||i.push(e),o++,n=e.parentIndex}}return i}getRegionAtLine(e){if(this._regions){let t=this._regions.findRange(e);if(t>=0)return this._regions.toRegion(t)}return null}getRegionsInside(e,t){let i=[],n=e?e.regionIndex+1:0,o=e?e.endLineNumber:Number.MAX_VALUE;if(t&&2===t.length){const e=[];for(let r=n,s=this._regions.length;r0&&!n.containedBy(e[e.length-1]);)e.pop();e.push(n),t(n,e.length)&&i.push(n)}}else for(let e=n,r=this._regions.length;e0)for(let r of n){let n=e.getRegionAtLine(r);if(n&&(n.isCollapsed!==t&&o.push(n),i>1)){let r=e.getRegionsInside(n,(e,n)=>e.isCollapsed!==t&&ne.isCollapsed!==t&&ne.isCollapsed!==t&&n<=i);o.push(...n)}e.toggleCollapseState(o)}function f(e,t,i){let n=e.textModel,o=e.regions,r=[];for(let e=o.length-1;e>=0;e--)if(i!==o.isCollapsed(e)){let i=o.getStartLineNumber(e);t.test(n.getLineContent(i))&&r.push(o.toRegion(e))}e.toggleCollapseState(r)}function _(e,t,i){let n=e.regions,o=[];for(let e=n.length-1;e>=0;e--)i!==n.isCollapsed(e)&&t===n.getType(e)&&o.push(n.toRegion(e));e.toggleCollapseState(o)}var b=i(29),v=i(20),C=i(68),w=i(14);const y=Object(C.b)("folding-expanded",v.b.chevronDown,Object(n.a)("foldingExpandedIcon","Icon for expanded ranges in the editor glyph margin.")),S=Object(C.b)("folding-collapsed",v.b.chevronRight,Object(n.a)("foldingCollapsedIcon","Icon for collapsed ranges in the editor glyph margin."));class k{constructor(e){this.editor=e,this.autoHideFoldingControls=!0,this.showFoldingHighlights=!0}getDecorationOption(e,t){return t?k.HIDDEN_RANGE_DECORATION:e?this.showFoldingHighlights?k.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION:k.COLLAPSED_VISUAL_DECORATION:this.autoHideFoldingControls?k.EXPANDED_AUTO_HIDE_VISUAL_DECORATION:k.EXPANDED_VISUAL_DECORATION}deltaDecorations(e,t){return this.editor.deltaDecorations(e,t)}changeDecorations(e){return this.editor.changeDecorations(e)}}k.COLLAPSED_VISUAL_DECORATION=b.a.register({stickiness:1,afterContentClassName:"inline-folded",isWholeLine:!0,firstLineDecorationClassName:w.d.asClassName(S)}),k.COLLAPSED_HIGHLIGHTED_VISUAL_DECORATION=b.a.register({stickiness:1,afterContentClassName:"inline-folded",className:"folded-background",isWholeLine:!0,firstLineDecorationClassName:w.d.asClassName(S)}),k.EXPANDED_AUTO_HIDE_VISUAL_DECORATION=b.a.register({stickiness:1,isWholeLine:!0,firstLineDecorationClassName:w.d.asClassName(y)}),k.EXPANDED_VISUAL_DECORATION=b.a.register({stickiness:1,isWholeLine:!0,firstLineDecorationClassName:"alwaysShowFoldIcons "+w.d.asClassName(y)}),k.HIDDEN_RANGE_DECORATION=b.a.register({stickiness:1});var x=i(7),D=i(3),L=i(19);class E{constructor(e){this._updateEventEmitter=new h.a,this._foldingModel=e,this._foldingModelListener=e.onDidChange(e=>this.updateHiddenRanges()),this._hiddenRanges=[],e.regions.length&&this.updateHiddenRanges()}get onDidChange(){return this._updateEventEmitter.event}get hiddenRanges(){return this._hiddenRanges}updateHiddenRanges(){let e=!1,t=[],i=0,n=0,o=Number.MAX_VALUE,r=-1,s=this._foldingModel.regions;for(;i({startLineNumber:e.startLineNumber-1,endLineNumber:e.endLineNumber}))}applyHiddenRanges(e){this._hiddenRanges=e,this._updateEventEmitter.fire(e)}hasRanges(){return this._hiddenRanges.length>0}isHidden(e){return null!==N(this._hiddenRanges,e)}adjustSelections(e){let t=!1,i=this._foldingModel.textModel,n=null,o=e=>(n&&function(e,t){return e>=t.startLineNumber&&e<=t.endLineNumber}(e,n)||(n=N(this._hiddenRanges,e)),n?n.startLineNumber-1:null);for(let n=0,r=e.length;n0&&(this._hiddenRanges=[],this._updateEventEmitter.fire(this._hiddenRanges)),this._foldingModelListener&&(this._foldingModelListener.dispose(),this._foldingModelListener=null)}}function N(e,t){let i=Object(L.h)(e,e=>t=0&&e[i].endLineNumber>=t?e[i]:null}var O=i(31);class I{constructor(e){this.editorModel=e,this.id="indent"}dispose(){}compute(e){let t=O.a.getFoldingRules(this.editorModel.getLanguageIdentifier().id),i=t&&!!t.offSide,n=t&&t.markers;return Promise.resolve(function(e,t,i,n=5e3){const o=e.getOptions().tabSize;let r=new A(n),s=void 0;i&&(s=new RegExp(`(${i.start.source})|(?:${i.end.source})`));let a=[],l=e.getLineCount()+1;a.push({indent:-1,endAbove:l,line:l});for(let i=e.getLineCount();i>0;i--){let n,l=e.getLineContent(i),c=b.b.computeIndentLevel(l,o),h=a[a.length-1];if(-1!==c){if(s&&(n=l.match(s))){if(!n[1]){a.push({indent:-2,endAbove:i,line:i});continue}{let e=a.length-1;for(;e>0&&-2!==a[e].indent;)e--;if(e>0){a.length=e+1,h=a[e],r.insertFirst(i,h.line,c),h.line=i,h.indent=c,h.endAbove=i;continue}}}if(h.indent>c){do{a.pop(),h=a[a.length-1]}while(h.indent>c);let e=h.endAbove-1;e-i>=1&&r.insertFirst(i,e,c)}h.indent===c?h.endAbove=i:a.push({indent:c,endAbove:i,line:i})}else t&&(h.endAbove=i)}return r.toIndentRanges(e)}(this.editorModel,i,n))}}class A{constructor(e){this._startIndexes=[],this._endIndexes=[],this._indentOccurrences=[],this._length=0,this._foldingRangesLimit=e}insertFirst(e,t,i){if(e>16777215||t>16777215)return;let n=this._length;this._startIndexes[n]=e,this._endIndexes[n]=t,this._length++,i<1e3&&(this._indentOccurrences[i]=(this._indentOccurrences[i]||0)+1)}toIndentRanges(e){if(this._length<=this._foldingRangesLimit){let e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=this._length-1,n=0;i>=0;i--,n++)e[n]=this._startIndexes[i],t[n]=this._endIndexes[i];return new d(e,t)}{let t=0,i=this._indentOccurrences.length;for(let e=0;ethis._foldingRangesLimit){i=e;break}t+=n}}const n=e.getOptions().tabSize;let o=new Uint32Array(this._foldingRangesLimit),r=new Uint32Array(this._foldingRangesLimit);for(let s=this._length-1,a=0;s>=0;s--){let l=this._startIndexes[s],c=e.getLineContent(l),h=b.b.computeIndentLevel(c,n);(hPromise.resolve(e.provideFoldingRanges(t,R,i)).then(e=>{if(!i.isCancellationRequested&&Array.isArray(e)){Array.isArray(n)||(n=[]);let i=t.getLineCount();for(let t of e)t.start>0&&t.end>t.start&&t.end<=i&&n.push({start:t.start,end:t.end,rank:o,kind:t.kind})}},T.f));return Promise.all(o).then(e=>n)}(this.providers,this.editorModel,e).then(e=>{if(e){return B(e,this.limit)}return null})}dispose(){var e;null===(e=this.disposables)||void 0===e||e.dispose()}}class F{constructor(e){this._startIndexes=[],this._endIndexes=[],this._nestingLevels=[],this._nestingLevelCounts=[],this._types=[],this._length=0,this._foldingRangesLimit=e}add(e,t,i,n){if(e>16777215||t>16777215)return;let o=this._length;this._startIndexes[o]=e,this._endIndexes[o]=t,this._nestingLevels[o]=n,this._types[o]=i,this._length++,n<30&&(this._nestingLevelCounts[n]=(this._nestingLevelCounts[n]||0)+1)}toIndentRanges(){if(this._length<=this._foldingRangesLimit){let e=new Uint32Array(this._length),t=new Uint32Array(this._length);for(let i=0;ithis._foldingRangesLimit){t=i;break}e+=n}}let i=new Uint32Array(this._foldingRangesLimit),n=new Uint32Array(this._foldingRangesLimit),o=[];for(let r=0,s=0;r{let i=e.start-t.start;return 0===i&&(i=e.rank-t.rank),i}),n=new F(t),o=void 0,r=[];for(let e of i)if(o){if(e.start>o.start)if(e.end<=o.end)r.push(o),o=e,n.add(e.start,e.end,e.kind&&e.kind.value,r.length);else{if(e.start>o.end){do{o=r.pop()}while(o&&e.start>o.end);o&&r.push(o),o=e}n.add(e.start,e.end,e.kind&&e.kind.value,r.length)}}else o=e,n.add(e.start,e.end,e.kind&&e.kind.value,r.length);return n.toIndentRanges()}class W{constructor(e,t,i,n){if(this.editorModel=e,this.id="init",t.length){let o=t=>({range:{startLineNumber:t.startLineNumber,startColumn:0,endLineNumber:t.endLineNumber,endColumn:e.getLineLength(t.endLineNumber)},options:{stickiness:1}});this.decorationIds=e.deltaDecorations([],t.map(o)),this.timeout=setTimeout(i,n)}}dispose(){this.decorationIds&&(this.editorModel.deltaDecorations(this.decorationIds,[]),this.decorationIds=void 0),"number"==typeof this.timeout&&(clearTimeout(this.timeout),this.timeout=void 0)}compute(e){let t=[];if(this.decorationIds)for(let e of this.decorationIds){let i=this.editorModel.getDecorationRange(e);i&&t.push({start:i.startLineNumber,end:i.endLineNumber,rank:1})}return Promise.resolve(B(t,Number.MAX_VALUE))}}var j=i(9),V=i(5);i.d(t,"FoldingController",(function(){return K})),i.d(t,"foldBackgroundBackground",(function(){return Y})),i.d(t,"editorFoldForeground",(function(){return Z}));var z=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},H=function(e,t){return function(i,n){t(i,n,e)}};const U=new j.c("foldingEnabled",!1);let K=class e extends l.a{constructor(e,t){super(),this.contextKeyService=t,this.localToDispose=this._register(new l.b),this.editor=e;const i=this.editor.getOptions();this._isEnabled=i.get(33),this._useFoldingProviders="indentation"!==i.get(34),this._unfoldOnClickAfterEndOfLine=i.get(36),this._restoringViewState=!1,this.foldingModel=null,this.hiddenRangeModel=null,this.rangeProvider=null,this.foldingRegionPromise=null,this.foldingStateMemento=null,this.foldingModelPromise=null,this.updateScheduler=null,this.cursorChangedScheduler=null,this.mouseDownInfo=null,this.foldingDecorationProvider=new k(e),this.foldingDecorationProvider.autoHideFoldingControls="mouseover"===i.get(94),this.foldingDecorationProvider.showFoldingHighlights=i.get(35),this.foldingEnabled=U.bindTo(this.contextKeyService),this.foldingEnabled.set(this._isEnabled),this._register(this.editor.onDidChangeModel(()=>this.onModelChanged())),this._register(this.editor.onDidChangeConfiguration(e=>{if(e.hasChanged(33)&&(this._isEnabled=this.editor.getOptions().get(33),this.foldingEnabled.set(this._isEnabled),this.onModelChanged()),e.hasChanged(94)||e.hasChanged(35)){const e=this.editor.getOptions();this.foldingDecorationProvider.autoHideFoldingControls="mouseover"===e.get(94),this.foldingDecorationProvider.showFoldingHighlights=e.get(35),this.onModelContentChanged()}e.hasChanged(34)&&(this._useFoldingProviders="indentation"!==this.editor.getOptions().get(34),this.onFoldingStrategyChanged()),e.hasChanged(36)&&(this._unfoldOnClickAfterEndOfLine=this.editor.getOptions().get(36))})),this.onModelChanged()}static get(t){return t.getContribution(e.ID)}saveViewState(){let e=this.editor.getModel();if(!e||!this._isEnabled||e.isTooLargeForTokenization())return{};if(this.foldingModel){let t=this.foldingModel.isInitialized?this.foldingModel.getMemento():this.hiddenRangeModel.getMemento(),i=this.rangeProvider?this.rangeProvider.id:void 0;return{collapsedRegions:t,lineCount:e.getLineCount(),provider:i}}}restoreViewState(e){let t=this.editor.getModel();if(!t||!this._isEnabled||t.isTooLargeForTokenization()||!this.hiddenRangeModel)return;if(!e||!e.collapsedRegions||e.lineCount!==t.getLineCount())return;"syntax"!==e.provider&&"init"!==e.provider||(this.foldingStateMemento=e);const i=e.collapsedRegions;if(this.hiddenRangeModel.applyMemento(i)){const e=this.getFoldingModel();e&&e.then(e=>{if(e){this._restoringViewState=!0;try{e.applyMemento(i)}finally{this._restoringViewState=!1}}}).then(void 0,T.e)}}onModelChanged(){this.localToDispose.clear();let e=this.editor.getModel();this._isEnabled&&e&&!e.isTooLargeForTokenization()&&(this.foldingModel=new g(e,this.foldingDecorationProvider),this.localToDispose.add(this.foldingModel),this.hiddenRangeModel=new E(this.foldingModel),this.localToDispose.add(this.hiddenRangeModel),this.localToDispose.add(this.hiddenRangeModel.onDidChange(e=>this.onHiddenRangesChanges(e))),this.updateScheduler=new s.a(200),this.cursorChangedScheduler=new s.e(()=>this.revealCursor(),200),this.localToDispose.add(this.cursorChangedScheduler),this.localToDispose.add(M.o.onDidChange(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelLanguageConfiguration(()=>this.onFoldingStrategyChanged())),this.localToDispose.add(this.editor.onDidChangeModelContent(()=>this.onModelContentChanged())),this.localToDispose.add(this.editor.onDidChangeCursorPosition(()=>this.onCursorPositionChanged())),this.localToDispose.add(this.editor.onMouseDown(e=>this.onEditorMouseDown(e))),this.localToDispose.add(this.editor.onMouseUp(e=>this.onEditorMouseUp(e))),this.localToDispose.add({dispose:()=>{this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.updateScheduler&&this.updateScheduler.cancel(),this.updateScheduler=null,this.foldingModel=null,this.foldingModelPromise=null,this.hiddenRangeModel=null,this.cursorChangedScheduler=null,this.foldingStateMemento=null,this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null}}),this.onModelContentChanged())}onFoldingStrategyChanged(){this.rangeProvider&&this.rangeProvider.dispose(),this.rangeProvider=null,this.onModelContentChanged()}getRangeProvider(e){if(this.rangeProvider)return this.rangeProvider;if(this.rangeProvider=new I(e),this._useFoldingProviders&&this.foldingModel){let t=M.o.ordered(this.foldingModel.textModel);if(0===t.length&&this.foldingStateMemento&&this.foldingStateMemento.collapsedRegions){return this.rangeProvider=new W(e,this.foldingStateMemento.collapsedRegions,()=>{this.foldingStateMemento=null,this.onFoldingStrategyChanged()},3e4)}t.length>0&&(this.rangeProvider=new P(e,t,()=>this.onModelContentChanged()))}return this.foldingStateMemento=null,this.rangeProvider}getFoldingModel(){return this.foldingModelPromise}onModelContentChanged(){this.updateScheduler&&(this.foldingRegionPromise&&(this.foldingRegionPromise.cancel(),this.foldingRegionPromise=null),this.foldingModelPromise=this.updateScheduler.trigger(()=>{const e=this.foldingModel;if(!e)return null;let t=this.foldingRegionPromise=Object(s.h)(t=>this.getRangeProvider(e.textModel).compute(t));return t.then(i=>{if(i&&t===this.foldingRegionPromise){let t=this.editor.getSelections(),n=t?t.map(e=>e.startLineNumber):[];e.update(i,n)}return e})}).then(void 0,e=>(Object(T.e)(e),null)))}onHiddenRangesChanges(e){if(this.hiddenRangeModel&&e.length&&!this._restoringViewState){let e=this.editor.getSelections();e&&this.hiddenRangeModel.adjustSelections(e)&&this.editor.setSelections(e)}this.editor.setHiddenAreas(e)}onCursorPositionChanged(){this.hiddenRangeModel&&this.hiddenRangeModel.hasRanges()&&this.cursorChangedScheduler.schedule()}revealCursor(){const e=this.getFoldingModel();e&&e.then(e=>{if(e){let t=this.editor.getSelections();if(t&&t.length>0){let i=[];for(let n of t){let t=n.selectionStartLineNumber;this.hiddenRangeModel&&this.hiddenRangeModel.isHidden(t)&&i.push(...e.getAllRegionsAtLine(t,e=>e.isCollapsed&&t>e.startLineNumber))}i.length&&(e.toggleCollapseState(i),this.reveal(t[0].getPosition()))}}}).then(void 0,T.e)}onEditorMouseDown(e){if(this.mouseDownInfo=null,!this.hiddenRangeModel||!e.target||!e.target.range)return;if(!e.event.leftButton&&!e.event.middleButton)return;const t=e.target.range;let i=!1;switch(e.target.type){case 4:const n=e.target.detail,o=e.target.element.offsetLeft;if(n.offsetX-o<5)return;i=!0;break;case 7:if(this._unfoldOnClickAfterEndOfLine&&this.hiddenRangeModel.hasRanges()){if(!e.target.detail.isAfterLines)break}return;case 6:if(this.hiddenRangeModel.hasRanges()){let e=this.editor.getModel();if(e&&t.startColumn===e.getLineMaxColumn(t.startLineNumber))break}return;default:return}this.mouseDownInfo={lineNumber:t.startLineNumber,iconClicked:i}}onEditorMouseUp(e){const t=this.getFoldingModel();if(!t||!this.mouseDownInfo||!e.target)return;let i=this.mouseDownInfo.lineNumber,n=this.mouseDownInfo.iconClicked,o=e.target.range;if(o&&o.startLineNumber===i){if(n){if(4!==e.target.type)return}else{let e=this.editor.getModel();if(!e||o.startColumn!==e.getLineMaxColumn(i))return}t.then(t=>{if(t){let o=t.getRegionAtLine(i);if(o&&o.startLineNumber===i){let r=o.isCollapsed;if(n||r){let n=[],s=e.event.middleButton||e.event.shiftKey;if(s)for(const e of t.getRegionsInside(o))e.isCollapsed===r&&n.push(e);!r&&s&&0!==n.length||n.push(o),t.toggleCollapseState(n),this.reveal({lineNumber:i,column:1})}}}}).then(void 0,T.e)}}reveal(e){this.editor.revealPositionInCenterIfOutsideViewport(e,0)}};K.ID="editor.contrib.folding",K=z([H(1,j.b)],K);class q extends c.b{runEditorCommand(e,t,i){let n=K.get(t);if(!n)return;let o=n.getFoldingModel();return o?(this.reportTelemetry(e,t),o.then(e=>{if(e){this.invoke(n,e,t,i);const o=t.getSelection();o&&n.reveal(o.getStartPosition())}})):void 0}getSelectedLines(e){let t=e.getSelections();return t?t.map(e=>e.startLineNumber):[]}getLineNumbers(e,t){return e&&e.selectionLines?e.selectionLines.map(e=>e+1):this.getSelectedLines(t)}run(e,t){}}function $(e){if(!o.k(e)){if(!o.i(e))return!1;const t=e;if(!o.k(t.levels)&&!o.h(t.levels))return!1;if(!o.k(t.direction)&&!o.j(t.direction))return!1;if(!(o.k(t.selectionLines)||o.e(t.selectionLines)&&t.selectionLines.every(o.h)))return!1}return!0}class G extends q{getFoldingLevel(){return parseInt(this.id.substr(G.ID_PREFIX.length))}invoke(e,t,i){!function(e,t,i,n){let o=e.getRegionsInside(null,(e,o)=>o===t&&e.isCollapsed!==i&&!n.some(t=>e.containsLine(t)));e.toggleCollapseState(o)}(t,this.getFoldingLevel(),!0,this.getSelectedLines(i))}}G.ID_PREFIX="editor.foldLevel",G.ID=e=>G.ID_PREFIX+e,Object(c.l)(K.ID,K),Object(c.j)(class extends q{constructor(){super({id:"editor.unfold",label:n.a("unfoldAction.label","Unfold"),alias:"Unfold",precondition:U,kbOpts:{kbExpr:x.a.editorTextFocus,primary:3161,mac:{primary:2649},weight:100},description:{description:"Unfold the content in the editor",args:[{name:"Unfold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t* 'levels': Number of levels to unfold. If not set, defaults to 1.\n\t\t\t\t\t\t* 'direction': If 'up', unfold given number of levels up otherwise unfolds down.\n\t\t\t\t\t\t* 'selectionLines': The start lines (0-based) of the editor selections to apply the unfold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t",constraint:$,schema:{type:"object",properties:{levels:{type:"number",default:1},direction:{type:"string",enum:["up","down"],default:"down"},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){let o=n&&n.levels||1,r=this.getLineNumbers(n,i);n&&"up"===n.direction?m(t,!1,o,r):p(t,!1,o,r)}}),Object(c.j)(class extends q{constructor(){super({id:"editor.unfoldRecursively",label:n.a("unFoldRecursivelyAction.label","Unfold Recursively"),alias:"Unfold Recursively",precondition:U,kbOpts:{kbExpr:x.a.editorTextFocus,primary:Object(a.a)(2089,2137),weight:100}})}invoke(e,t,i,n){p(t,!1,Number.MAX_VALUE,this.getSelectedLines(i))}}),Object(c.j)(class extends q{constructor(){super({id:"editor.fold",label:n.a("foldAction.label","Fold"),alias:"Fold",precondition:U,kbOpts:{kbExpr:x.a.editorTextFocus,primary:3159,mac:{primary:2647},weight:100},description:{description:"Fold the content in the editor",args:[{name:"Fold editor argument",description:"Property-value pairs that can be passed through this argument:\n\t\t\t\t\t\t\t* 'levels': Number of levels to fold.\n\t\t\t\t\t\t\t* 'direction': If 'up', folds given number of levels up otherwise folds down.\n\t\t\t\t\t\t\t* 'selectionLines': The start lines (0-based) of the editor selections to apply the fold action to. If not set, the active selection(s) will be used.\n\t\t\t\t\t\t\tIf no levels or direction is set, folds the region at the locations or if already collapsed, the first uncollapsed parent instead.\n\t\t\t\t\t\t",constraint:$,schema:{type:"object",properties:{levels:{type:"number"},direction:{type:"string",enum:["up","down"]},selectionLines:{type:"array",items:{type:"number"}}}}}]}})}invoke(e,t,i,n){let o=this.getLineNumbers(n,i);const r=n&&n.levels,s=n&&n.direction;"number"!=typeof r&&"string"!=typeof s?function(e,t,i){let n=[];for(let o of i){let i=e.getAllRegionsAtLine(o,e=>e.isCollapsed!==t);i.length>0&&n.push(i[0])}e.toggleCollapseState(n)}(t,!0,o):"up"===s?m(t,!0,r||1,o):p(t,!0,r||1,o)}}),Object(c.j)(class extends q{constructor(){super({id:"editor.foldRecursively",label:n.a("foldRecursivelyAction.label","Fold Recursively"),alias:"Fold Recursively",precondition:U,kbOpts:{kbExpr:x.a.editorTextFocus,primary:Object(a.a)(2089,2135),weight:100}})}invoke(e,t,i){let n=this.getSelectedLines(i);p(t,!0,Number.MAX_VALUE,n)}}),Object(c.j)(class extends q{constructor(){super({id:"editor.foldAll",label:n.a("foldAllAction.label","Fold All"),alias:"Fold All",precondition:U,kbOpts:{kbExpr:x.a.editorTextFocus,primary:Object(a.a)(2089,2069),weight:100}})}invoke(e,t,i){p(t,!0)}}),Object(c.j)(class extends q{constructor(){super({id:"editor.unfoldAll",label:n.a("unfoldAllAction.label","Unfold All"),alias:"Unfold All",precondition:U,kbOpts:{kbExpr:x.a.editorTextFocus,primary:Object(a.a)(2089,2088),weight:100}})}invoke(e,t,i){p(t,!1)}}),Object(c.j)(class extends q{constructor(){super({id:"editor.foldAllBlockComments",label:n.a("foldAllBlockComments.label","Fold All Block Comments"),alias:"Fold All Block Comments",precondition:U,kbOpts:{kbExpr:x.a.editorTextFocus,primary:Object(a.a)(2089,2133),weight:100}})}invoke(e,t,i){if(t.regions.hasTypes())_(t,M.n.Comment.value,!0);else{const e=i.getModel();if(!e)return;let n=O.a.getComments(e.getLanguageIdentifier().id);if(n&&n.blockCommentStartToken){f(t,new RegExp("^\\s*"+Object(r.u)(n.blockCommentStartToken)),!0)}}}}),Object(c.j)(class extends q{constructor(){super({id:"editor.foldAllMarkerRegions",label:n.a("foldAllMarkerRegions.label","Fold All Regions"),alias:"Fold All Regions",precondition:U,kbOpts:{kbExpr:x.a.editorTextFocus,primary:Object(a.a)(2089,2077),weight:100}})}invoke(e,t,i){if(t.regions.hasTypes())_(t,M.n.Region.value,!0);else{const e=i.getModel();if(!e)return;let n=O.a.getFoldingRules(e.getLanguageIdentifier().id);if(n&&n.markers&&n.markers.start){f(t,new RegExp(n.markers.start),!0)}}}}),Object(c.j)(class extends q{constructor(){super({id:"editor.unfoldAllMarkerRegions",label:n.a("unfoldAllMarkerRegions.label","Unfold All Regions"),alias:"Unfold All Regions",precondition:U,kbOpts:{kbExpr:x.a.editorTextFocus,primary:Object(a.a)(2089,2078),weight:100}})}invoke(e,t,i){if(t.regions.hasTypes())_(t,M.n.Region.value,!1);else{const e=i.getModel();if(!e)return;let n=O.a.getFoldingRules(e.getLanguageIdentifier().id);if(n&&n.markers&&n.markers.start){f(t,new RegExp(n.markers.start),!1)}}}}),Object(c.j)(class extends q{constructor(){super({id:"editor.toggleFold",label:n.a("toggleFoldAction.label","Toggle Fold"),alias:"Toggle Fold",precondition:U,kbOpts:{kbExpr:x.a.editorTextFocus,primary:Object(a.a)(2089,2090),weight:100}})}invoke(e,t,i){!function(e,t,i){let n=[];for(let o of i){let i=e.getRegionAtLine(o);if(i){const o=!i.isCollapsed;if(n.push(i),t>1){let r=e.getRegionsInside(i,(e,i)=>e.isCollapsed!==o&&i{const i=e.getColor(Y);i&&t.addRule(`.monaco-editor .folded-background { background-color: ${i}; }`);const n=e.getColor(Z);n&&t.addRule(`\n\t\t.monaco-editor .cldr${w.d.asCSSSelector(y)},\n\t\t.monaco-editor .cldr${w.d.asCSSSelector(S)} {\n\t\t\tcolor: ${n} !important;\n\t\t}\n\t\t`)})},function(e,t,i){"use strict";i.r(t);var n=i(0),o=i(38),r=i(100),s=i(4),a=i(54),l=i(8),c=i(57),h=i(3);class d{constructor(e,t){this._selection=e,this._cursors=t,this._selectionId=null}getEditOperations(e,t){let i=function(e,t){t.sort((e,t)=>e.lineNumber===t.lineNumber?e.column-t.column:e.lineNumber-t.lineNumber);for(let e=t.length-2;e>=0;e--)t[e].lineNumber===t[e+1].lineNumber&&t.splice(e,1);let i=[],n=0,o=0,r=t.length;for(let s=1,a=e.getLineCount();s<=a;s++){let a=e.getLineContent(s),d=a.length+1,u=0;if(oe.getLineTokens(t),getLanguageIdentifier:()=>e.getLanguageIdentifier(),getLanguageIdAtPosition:(t,i)=>e.getLanguageIdAtPosition(t,i),getLineContent:null};if(n.startLineNumber===n.endLineNumber&&1===e.getLineMaxColumn(n.startLineNumber)){let i=n.startLineNumber,o=this._isMovingDown?i+1:i-1;1===e.getLineMaxColumn(o)?t.addEditOperation(new h.a(1,1,1,1),null):(t.addEditOperation(new h.a(i,1,i,1),e.getLineContent(o)),t.addEditOperation(new h.a(o,1,o,e.getLineMaxColumn(o)),null)),n=new p.a(o,1,o,1)}else{let i,r;if(this._isMovingDown){i=n.endLineNumber+1,r=e.getLineContent(i),t.addEditOperation(new h.a(i-1,e.getLineMaxColumn(i-1),i,e.getLineMaxColumn(i)),null);let d=r;if(this.shouldAutoIndent(e,n)){let u=this.matchEnterRule(e,a,o,i,n.startLineNumber-1);if(null!==u){let t=l.y(e.getLineContent(i)),n=u+C.b(t,o),a=C.a(n,o,s);d=a+this.trimLeft(r)}else{c.getLineContent=t=>t===n.startLineNumber?e.getLineContent(i):e.getLineContent(t);let t=v.a.getGoodIndentForLine(this._autoIndent,c,e.getLanguageIdAtPosition(i,1),n.startLineNumber,a);if(null!==t){let n=l.y(e.getLineContent(i)),a=C.b(t,o);if(a!==C.b(n,o)){let e=C.a(a,o,s);d=e+this.trimLeft(r)}}}t.addEditOperation(new h.a(n.startLineNumber,1,n.startLineNumber,1),d+"\n");let g=this.matchEnterRuleMovingDown(e,a,o,n.startLineNumber,i,d);if(null!==g)0!==g&&this.getIndentEditsOfMovingBlock(e,t,n,o,s,g);else{c.getLineContent=t=>t===n.startLineNumber?d:t>=n.startLineNumber+1&&t<=n.endLineNumber+1?e.getLineContent(t-1):e.getLineContent(t);let r=v.a.getGoodIndentForLine(this._autoIndent,c,e.getLanguageIdAtPosition(i,1),n.startLineNumber+1,a);if(null!==r){const i=l.y(e.getLineContent(n.startLineNumber)),a=C.b(r,o),c=C.b(i,o);if(a!==c){const i=a-c;this.getIndentEditsOfMovingBlock(e,t,n,o,s,i)}}}}else t.addEditOperation(new h.a(n.startLineNumber,1,n.startLineNumber,1),d+"\n")}else if(i=n.startLineNumber-1,r=e.getLineContent(i),t.addEditOperation(new h.a(i,1,i+1,1),null),t.addEditOperation(new h.a(n.endLineNumber,e.getLineMaxColumn(n.endLineNumber),n.endLineNumber,e.getLineMaxColumn(n.endLineNumber)),"\n"+r),this.shouldAutoIndent(e,n)){c.getLineContent=t=>t===i?e.getLineContent(n.startLineNumber):e.getLineContent(t);let r=this.matchEnterRule(e,a,o,n.startLineNumber,n.startLineNumber-2);if(null!==r)0!==r&&this.getIndentEditsOfMovingBlock(e,t,n,o,s,r);else{let r=v.a.getGoodIndentForLine(this._autoIndent,c,e.getLanguageIdAtPosition(n.startLineNumber,1),i,a);if(null!==r){let i=l.y(e.getLineContent(n.startLineNumber)),a=C.b(r,o),c=C.b(i,o);if(a!==c){let i=a-c;this.getIndentEditsOfMovingBlock(e,t,n,o,s,i)}}}}}this._selectionId=t.trackSelection(n)}buildIndentConverter(e,t,i){return{shiftIndent:n=>_.a.shiftIndent(n,n.length+1,e,t,i),unshiftIndent:n=>_.a.unshiftIndent(n,n.length+1,e,t,i)}}parseEnterResult(e,t,i,n,o){if(o){let r=o.indentation;o.indentAction===b.b.None||o.indentAction===b.b.Indent?r=o.indentation+o.appendText:o.indentAction===b.b.IndentOutdent?r=o.indentation:o.indentAction===b.b.Outdent&&(r=t.unshiftIndent(o.indentation)+o.appendText);let s=e.getLineContent(n);if(this.trimLeft(s).indexOf(this.trimLeft(r))>=0){let o=l.y(e.getLineContent(n)),s=l.y(r),a=v.a.getIndentMetadata(e,n);return null!==a&&2&a&&(s=t.unshiftIndent(s)),C.b(s,i)-C.b(o,i)}}return null}matchEnterRuleMovingDown(e,t,i,n,o,r){if(l.I(r)>=0){let r=e.getLineMaxColumn(o),s=v.a.getEnterAction(this._autoIndent,e,new h.a(o,r,o,r));return this.parseEnterResult(e,t,i,n,s)}{let o=n-1;for(;o>=1;){let t=e.getLineContent(o);if(l.I(t)>=0)break;o--}if(o<1||n>e.getLineCount())return null;let r=e.getLineMaxColumn(o),s=v.a.getEnterAction(this._autoIndent,e,new h.a(o,r,o,r));return this.parseEnterResult(e,t,i,n,s)}}matchEnterRule(e,t,i,n,o,r){let s=o;for(;s>=1;){let t;if(t=s===o&&void 0!==r?r:e.getLineContent(s),l.I(t)>=0)break;s--}if(s<1||n>e.getLineCount())return null;let a=e.getLineMaxColumn(s),c=v.a.getEnterAction(this._autoIndent,e,new h.a(s,a,s,a));return this.parseEnterResult(e,t,i,n,c)}trimLeft(e){return e.replace(/^\s+/,"")}shouldAutoIndent(e,t){if(this._autoIndent<4)return!1;if(!e.isCheapToTokenize(t.startLineNumber))return!1;let i=e.getLanguageIdAtPosition(t.startLineNumber,1);return i===e.getLanguageIdAtPosition(t.endLineNumber,1)&&null!==v.a.getIndentRulesSupport(i)}getIndentEditsOfMovingBlock(e,t,i,n,o,r){for(let s=i.startLineNumber;s<=i.endLineNumber;s++){let a=e.getLineContent(s),c=l.y(a),d=C.b(c,n)+r,u=C.a(d,n,o);u!==c&&(t.addEditOperation(new h.a(s,1,s,c.length+1),u),s===i.endLineNumber&&i.endColumn<=c.length+1&&""===u&&(this._moveEndLineSelectionShrink=!0))}}computeCursorState(e,t){let i=t.getTrackedSelection(this._selectionId);return this._moveEndPositionDown&&(i=i.setEndPosition(i.endLineNumber+1,1)),this._moveEndLineSelectionShrink&&i.startLineNumber=o)return null;let r=[];for(let t=n;t<=o;t++)r.push(e.getLineContent(t));let s=r.slice(0);return s.sort(y.getCollator().compare),!0===i&&(s=s.reverse()),{startLineNumber:n,endLineNumber:o,before:r,after:s}}y._COLLATOR=null;var k=i(25);i.d(t,"DuplicateSelectionAction",(function(){return D})),i.d(t,"AbstractSortLinesAction",(function(){return E})),i.d(t,"SortLinesAscendingAction",(function(){return N})),i.d(t,"SortLinesDescendingAction",(function(){return O})),i.d(t,"TrimTrailingWhitespaceAction",(function(){return I})),i.d(t,"DeleteLinesAction",(function(){return A})),i.d(t,"IndentLinesAction",(function(){return M})),i.d(t,"InsertLineBeforeAction",(function(){return R})),i.d(t,"InsertLineAfterAction",(function(){return P})),i.d(t,"AbstractDeleteAllToBoundaryAction",(function(){return F})),i.d(t,"DeleteAllLeftAction",(function(){return B})),i.d(t,"DeleteAllRightAction",(function(){return W})),i.d(t,"JoinLinesAction",(function(){return j})),i.d(t,"TransposeAction",(function(){return V})),i.d(t,"AbstractCaseAction",(function(){return z})),i.d(t,"UpperCaseAction",(function(){return H})),i.d(t,"LowerCaseAction",(function(){return U})),i.d(t,"TitleCaseAction",(function(){return K})),i.d(t,"SnakeCaseAction",(function(){return q}));class x extends s.b{constructor(e,t){super(t),this.down=e}run(e,t){if(!t.hasModel())return;const i=t.getSelections().map((e,t)=>({selection:e,index:t,ignore:!1}));i.sort((e,t)=>h.a.compareRangesUsingStarts(e.selection,t.selection));let n=i[0];for(let e=1;enew g.a(e.positionLineNumber,e.positionColumn)));let o=t.getSelection();if(null===o)return;let r=new d(o,n);t.pushUndoStop(),t.executeCommands(this.id,[r]),t.pushUndoStop()}}I.ID="editor.action.trimTrailingWhitespace";class A extends s.b{constructor(){super({id:"editor.action.deleteLines",label:n.a("lines.delete","Delete Line"),alias:"Delete Line",precondition:m.a.writable,kbOpts:{kbExpr:m.a.textInputFocus,primary:3113,weight:100}})}run(e,t){if(!t.hasModel())return;let i=this._getLinesToRemove(t),n=t.getModel();if(1===n.getLineCount()&&1===n.getLineMaxColumn(1))return;let o=0,r=[],s=[];for(let e=0,t=i.length;e1&&(a-=1,h=n.getLineMaxColumn(a)),r.push(c.a.replace(new p.a(a,h,l,d),"")),s.push(new p.a(a-o,t.positionColumn,a-o,t.positionColumn)),o+=t.endLineNumber-t.startLineNumber+1}t.pushUndoStop(),t.executeEdits(this.id,r,s),t.pushUndoStop()}_getLinesToRemove(e){let t=e.getSelections().map(e=>{let t=e.endLineNumber;return e.startLineNumbere.startLineNumber===t.startLineNumber?e.endLineNumber-t.endLineNumber:e.startLineNumber-t.startLineNumber);let i=[],n=t[0];for(let e=1;e=t[e].startLineNumber?n.endLineNumber=t[e].endLineNumber:(i.push(n),n=t[e]);return i.push(n),i}}class M extends s.b{constructor(){super({id:"editor.action.indentLines",label:n.a("lines.indent","Indent Line"),alias:"Indent Line",precondition:m.a.writable,kbOpts:{kbExpr:m.a.editorTextFocus,primary:2137,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,u.a.indent(i.cursorConfig,t.getModel(),t.getSelections())),t.pushUndoStop())}}class T extends s.b{constructor(){super({id:"editor.action.outdentLines",label:n.a("lines.outdent","Outdent Line"),alias:"Outdent Line",precondition:m.a.writable,kbOpts:{kbExpr:m.a.editorTextFocus,primary:2135,weight:100}})}run(e,t){r.CoreEditingCommands.Outdent.runEditorCommand(e,t,null)}}class R extends s.b{constructor(){super({id:"editor.action.insertLineBefore",label:n.a("lines.insertBefore","Insert Line Above"),alias:"Insert Line Above",precondition:m.a.writable,kbOpts:{kbExpr:m.a.editorTextFocus,primary:3075,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,u.a.lineInsertBefore(i.cursorConfig,t.getModel(),t.getSelections())))}}class P extends s.b{constructor(){super({id:"editor.action.insertLineAfter",label:n.a("lines.insertAfter","Insert Line Below"),alias:"Insert Line Below",precondition:m.a.writable,kbOpts:{kbExpr:m.a.editorTextFocus,primary:2051,weight:100}})}run(e,t){const i=t._getViewModel();i&&(t.pushUndoStop(),t.executeCommands(this.id,u.a.lineInsertAfter(i.cursorConfig,t.getModel(),t.getSelections())))}}class F extends s.b{run(e,t){if(!t.hasModel())return;const i=t.getSelection();let n=this._getRangesToDelete(t),o=[];for(let e=0,t=n.length-1;ec.a.replace(e,""));t.pushUndoStop(),t.executeEdits(this.id,s,r),t.pushUndoStop()}}class B extends F{constructor(){super({id:"deleteAllLeft",label:n.a("lines.deleteAllLeft","Delete All Left"),alias:"Delete All Left",precondition:m.a.writable,kbOpts:{kbExpr:m.a.textInputFocus,primary:0,mac:{primary:2049},weight:100}})}_getEndCursorState(e,t){let i=null,n=[],o=0;return t.forEach(t=>{let r;if(1===t.endColumn&&o>0){let e=t.startLineNumber-o;r=new p.a(e,t.startColumn,e,t.startColumn)}else r=new p.a(t.startLineNumber,t.startColumn,t.startLineNumber,t.startColumn);o+=t.endLineNumber-t.startLineNumber,t.intersectRanges(e)?i=r:n.push(r)}),i&&n.unshift(i),n}_getRangesToDelete(e){let t=e.getSelections();if(null===t)return[];let i=t,n=e.getModel();return null===n?[]:(i.sort(h.a.compareRangesUsingStarts),i=i.map(e=>{if(e.isEmpty()){if(1===e.startColumn){let t=Math.max(1,e.startLineNumber-1),i=1===e.startLineNumber?1:n.getLineContent(t).length+1;return new h.a(t,i,e.startLineNumber,1)}return new h.a(e.startLineNumber,1,e.startLineNumber,e.startColumn)}return new h.a(e.startLineNumber,1,e.endLineNumber,e.endColumn)}),i)}}class W extends F{constructor(){super({id:"deleteAllRight",label:n.a("lines.deleteAllRight","Delete All Right"),alias:"Delete All Right",precondition:m.a.writable,kbOpts:{kbExpr:m.a.textInputFocus,primary:0,mac:{primary:297,secondary:[2068]},weight:100}})}_getEndCursorState(e,t){let i=null,n=[];for(let o=0,r=t.length,s=0;o{if(e.isEmpty()){const i=t.getLineMaxColumn(e.startLineNumber);return e.startColumn===i?new h.a(e.startLineNumber,e.startColumn,e.startLineNumber+1,1):new h.a(e.startLineNumber,e.startColumn,e.startLineNumber,i)}return e});return n.sort(h.a.compareRangesUsingStarts),n}}class j extends s.b{constructor(){super({id:"editor.action.joinLines",label:n.a("lines.joinLines","Join Lines"),alias:"Join Lines",precondition:m.a.writable,kbOpts:{kbExpr:m.a.editorTextFocus,primary:0,mac:{primary:296},weight:100}})}run(e,t){let i=t.getSelections();if(null===i)return;let n=t.getSelection();if(null===n)return;i.sort(h.a.compareRangesUsingStarts);let o=[],r=i.reduce((e,t)=>e.isEmpty()?e.endLineNumber===t.startLineNumber?(n.equalsSelection(e)&&(n=t),t):t.startLineNumber>e.endLineNumber+1?(o.push(e),t):new p.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn):t.startLineNumber>e.endLineNumber?(o.push(e),t):new p.a(e.startLineNumber,e.startColumn,t.endLineNumber,t.endColumn));o.push(r);let s=t.getModel();if(null===s)return;let a=[],l=[],d=n,u=0;for(let e=0,t=o.length;e=1){let e=!0;""===b&&(e=!1),!e||" "!==b.charAt(b.length-1)&&"\t"!==b.charAt(b.length-1)||(e=!1,b=b.replace(/[\s\uFEFF\xA0]+$/g," "));let n=t.substr(i-1);b+=(e?" ":"")+n,f=e?n.length+1:n.length}else f=0}let v=new h.a(g,m,t,i);if(!v.isEmpty()){let e;r.isEmpty()?(a.push(c.a.replace(v,b)),e=new p.a(v.startLineNumber-u,b.length-f+1,g-u,b.length-f+1)):r.startLineNumber===r.endLineNumber?(a.push(c.a.replace(v,b)),e=new p.a(r.startLineNumber-u,r.startColumn,r.endLineNumber-u,r.endColumn)):(a.push(c.a.replace(v,b)),e=new p.a(r.startLineNumber-u,r.startColumn,r.startLineNumber-u,b.length-_)),null!==h.a.intersectRanges(v,n)?d=e:l.push(e)}u+=v.endLineNumber-v.startLineNumber}l.unshift(d),t.pushUndoStop(),t.executeEdits(this.id,a,l),t.pushUndoStop()}}class V extends s.b{constructor(){super({id:"editor.action.transpose",label:n.a("editor.transpose","Transpose characters around the cursor"),alias:"Transpose characters around the cursor",precondition:m.a.writable})}run(e,t){let i=t.getSelections();if(null===i)return;let n=t.getModel();if(null===n)return;let o=[];for(let e=0,t=i.length;e=s){if(r.lineNumber===n.getLineCount())continue;let e=new h.a(r.lineNumber,Math.max(1,r.column-1),r.lineNumber+1,1),t=n.getValueInRange(e).split("").reverse().join("");o.push(new a.a(new p.a(r.lineNumber,Math.max(1,r.column-1),r.lineNumber+1,1),t))}else{let e=new h.a(r.lineNumber,Math.max(1,r.column-1),r.lineNumber,r.column+1),t=n.getValueInRange(e).split("").reverse().join("");o.push(new a.b(e,t,new p.a(r.lineNumber,r.column+1,r.lineNumber,r.column+1)))}}t.pushUndoStop(),t.executeCommands(this.id,o),t.pushUndoStop()}}class z extends s.b{run(e,t){const i=t.getSelections();if(null===i)return;const n=t.getModel();if(null===n)return;const o=t.getOption(110),r=[];for(const e of i)if(e.isEmpty()){const i=e.getStartPosition(),s=t.getConfiguredWordAtPosition(i);if(!s)continue;const a=new h.a(i.lineNumber,s.startColumn,i.lineNumber,s.endColumn),l=n.getValueInRange(a);r.push(c.a.replace(a,this._modifyText(l,o)))}else{const t=n.getValueInRange(e);r.push(c.a.replace(e,this._modifyText(t,o)))}t.pushUndoStop(),t.executeEdits(this.id,r),t.pushUndoStop()}}class H extends z{constructor(){super({id:"editor.action.transformToUppercase",label:n.a("editor.transformToUppercase","Transform to Uppercase"),alias:"Transform to Uppercase",precondition:m.a.writable})}_modifyText(e,t){return e.toLocaleUpperCase()}}class U extends z{constructor(){super({id:"editor.action.transformToLowercase",label:n.a("editor.transformToLowercase","Transform to Lowercase"),alias:"Transform to Lowercase",precondition:m.a.writable})}_modifyText(e,t){return e.toLocaleLowerCase()}}class K extends z{constructor(){super({id:"editor.action.transformToTitlecase",label:n.a("editor.transformToTitlecase","Transform to Title Case"),alias:"Transform to Title Case",precondition:m.a.writable})}_modifyText(e,t){const i=("\r\n\t "+t).split("");let n="",o=!0;for(let t=0;t=0?(o=!0,n+=r):o?(o=!1,n+=r.toLocaleUpperCase()):n+=r.toLocaleLowerCase()}return n}}class q extends z{constructor(){super({id:"editor.action.transformToSnakecase",label:n.a("editor.transformToSnakecase","Transform to Snake Case"),alias:"Transform to Snake Case",precondition:m.a.writable})}_modifyText(e,t){return e.replace(/(\p{Ll})(\p{Lu})/gmu,"$1_$2").replace(/([^\b_])(\p{Lu})(\p{Ll})/gmu,"$1_$2$3").toLocaleLowerCase()}}Object(s.j)(class extends x{constructor(){super(!1,{id:"editor.action.copyLinesUpAction",label:n.a("lines.copyUp","Copy Line Up"),alias:"Copy Line Up",precondition:m.a.writable,kbOpts:{kbExpr:m.a.editorTextFocus,primary:1552,linux:{primary:3600},weight:100},menuOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miCopyLinesUp",comment:["&& denotes a mnemonic"]},"&&Copy Line Up"),order:1}})}}),Object(s.j)(class extends x{constructor(){super(!0,{id:"editor.action.copyLinesDownAction",label:n.a("lines.copyDown","Copy Line Down"),alias:"Copy Line Down",precondition:m.a.writable,kbOpts:{kbExpr:m.a.editorTextFocus,primary:1554,linux:{primary:3602},weight:100},menuOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miCopyLinesDown",comment:["&& denotes a mnemonic"]},"Co&&py Line Down"),order:2}})}}),Object(s.j)(D),Object(s.j)(class extends L{constructor(){super(!1,{id:"editor.action.moveLinesUpAction",label:n.a("lines.moveUp","Move Line Up"),alias:"Move Line Up",precondition:m.a.writable,kbOpts:{kbExpr:m.a.editorTextFocus,primary:528,linux:{primary:528},weight:100},menuOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miMoveLinesUp",comment:["&& denotes a mnemonic"]},"Mo&&ve Line Up"),order:3}})}}),Object(s.j)(class extends L{constructor(){super(!0,{id:"editor.action.moveLinesDownAction",label:n.a("lines.moveDown","Move Line Down"),alias:"Move Line Down",precondition:m.a.writable,kbOpts:{kbExpr:m.a.editorTextFocus,primary:530,linux:{primary:530},weight:100},menuOpts:{menuId:k.b.MenubarSelectionMenu,group:"2_line",title:n.a({key:"miMoveLinesDown",comment:["&& denotes a mnemonic"]},"Move &&Line Down"),order:4}})}}),Object(s.j)(N),Object(s.j)(O),Object(s.j)(I),Object(s.j)(A),Object(s.j)(M),Object(s.j)(T),Object(s.j)(R),Object(s.j)(P),Object(s.j)(B),Object(s.j)(W),Object(s.j)(j),Object(s.j)(V),Object(s.j)(H),Object(s.j)(U),Object(s.j)(K),Object(s.j)(q)},function(e,t,i){"use strict";i.r(t);var n,o=i(39),r=i(127),s=i(45),a=i(32),l=i(0),c=i(26),h=i(2),d=i(17),u=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};function g(e){const t=e;return Array.isArray(t.items)}!function(e){e[e.NO_ACTION=0]="NO_ACTION",e[e.CLOSE_PICKER=1]="CLOSE_PICKER",e[e.REFRESH_PICKER=2]="REFRESH_PICKER",e[e.REMOVE_ITEM=3]="REMOVE_ITEM"}(n||(n={}));class p extends h.a{constructor(e,t){super(),this.prefix=e,this.options=t}provide(e,t){var i;const o=new h.b;e.canAcceptInBackground=!!(null===(i=this.options)||void 0===i?void 0:i.canAcceptInBackground),e.matchOnLabel=e.matchOnDescription=e.matchOnDetail=e.sortByLabel=!1;let r=void 0;const s=o.add(new h.d),a=()=>u(this,void 0,void 0,(function*(){const i=s.value=new h.b;null==r||r.dispose(!0),e.busy=!1,r=new c.b(t);const n=r.token,o=e.value.substr(this.prefix.length).trim(),a=this.getPicks(o,i,n),l=(t,i)=>{var n;let r,s=void 0;if(g(t)?(r=t.items,s=t.active):r=t,0===r.length){if(i)return!1;o.length>0&&(null===(n=this.options)||void 0===n?void 0:n.noResultsPick)&&(r=[this.options.noResultsPick])}return e.items=r,s&&(e.activeItems=[s]),!0};if(null===a);else if(function(e){const t=e;return!!t.picks&&t.additionalPicks instanceof Promise}(a)){let t=!1,i=!1;yield Promise.all([(()=>u(this,void 0,void 0,(function*(){yield Object(d.n)(p.FAST_PICKS_RACE_DELAY),n.isCancellationRequested||i||(t=l(a.picks,!0))})))(),(()=>u(this,void 0,void 0,(function*(){e.busy=!0;try{const o=yield a.additionalPicks;if(n.isCancellationRequested)return;let r,s,c=void 0;g(a.picks)?(r=a.picks.items,c=a.picks.active):r=a.picks;let h=void 0;if(g(o)?(s=o.items,h=o.active):s=o,s.length>0||!t){let t=void 0;if(!c&&!h){const i=e.activeItems[0];i&&-1!==r.indexOf(i)&&(t=i)}l({items:[...r,...s],active:c||h||t})}}finally{n.isCancellationRequested||(e.busy=!1),i=!0}})))()])}else if(a instanceof Promise){e.busy=!0;try{const t=yield a;if(n.isCancellationRequested)return;l(t)}finally{n.isCancellationRequested||(e.busy=!1)}}else l(a)}));return o.add(e.onDidChangeValue(()=>a())),a(),o.add(e.onDidAccept(t=>{const[i]=e.selectedItems;"function"==typeof(null==i?void 0:i.accept)&&(t.inBackground||e.hide(),i.accept(e.keyMods,t))})),o.add(e.onDidTriggerItemButton(({button:i,item:o})=>u(this,void 0,void 0,(function*(){var r,s;if("function"==typeof o.trigger){const l=null!==(s=null===(r=o.buttons)||void 0===r?void 0:r.indexOf(i))&&void 0!==s?s:-1;if(l>=0){const i=o.trigger(l,e.keyMods),r="number"==typeof i?i:yield i;if(t.isCancellationRequested)return;switch(r){case n.NO_ACTION:break;case n.CLOSE_PICKER:e.hide();break;case n.REFRESH_PICKER:a();break;case n.REMOVE_ITEM:const t=e.items.indexOf(o);if(-1!==t){const i=e.items.slice();i.splice(t,1),e.items=i}}}}})))),o}}p.FAST_PICKS_RACE_DELAY=200;var m=i(63),f=i(15),_=i(60),b=i(91),v=i(41),C=i(18),w=i(42),y=i(24),S=i(111),k=i(16),x=i(40),D=i(19);function L(e,t){return t&&(e.stack||e.stacktrace)?l.a("stackTrace.format","{0}: {1}",N(e),E(e.stack)||E(e.stacktrace)):N(e)}function E(e){return Array.isArray(e)?e.join("\n"):e}function N(e){return"string"==typeof e.code&&"number"==typeof e.errno&&"string"==typeof e.syscall?l.a("nodeExceptionMessage","A system error occurred ({0})",e.message):e.message||l.a("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}function O(e=null,t=!1){if(!e)return l.a("error.defaultMessage","An unknown error occurred. Please consult the log for more details.");if(Array.isArray(e)){const i=D.d(e),n=O(i[0],t);return i.length>1?l.a("error.moreErrors","{0} ({1} errors in total)",n,i.length):n}if(f.j(e))return e;if(e.detail){const i=e.detail;if(i.error)return L(i.error,t);if(i.exception)return L(i.exception,t)}return e.stack?L(e,t):e.message?e.message:l.a("error.defaultMessage","An unknown error occurred. Please consult the log for more details.")}var I=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},A=function(e,t){return function(i,n){t(i,n,e)}},M=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};let T=class e extends p{constructor(t,i,n,o,r,s){super(e.PREFIX,t),this.options=t,this.instantiationService=i,this.keybindingService=n,this.commandService=o,this.telemetryService=r,this.notificationService=s,this.commandsHistory=this._register(this.instantiationService.createInstance(R))}getPicks(t,i,n){return M(this,void 0,void 0,(function*(){const o=yield this.getCommandPicks(i,n);if(n.isCancellationRequested)return[];const r=[];for(const i of o){const n=Object(f.n)(e.WORD_FILTER(t,i.label)),o=i.commandAlias?Object(f.n)(e.WORD_FILTER(t,i.commandAlias)):void 0;n||o?(i.highlights={label:n,detail:this.options.showAlias?o:void 0},r.push(i)):t===i.commandId&&r.push(i)}const s=new Map;for(const e of r){const t=s.get(e.label);t?(e.description=e.commandId,t.description=t.commandId):s.set(e.label,e)}r.sort((e,t)=>{const i=this.commandsHistory.peek(e.commandId),n=this.commandsHistory.peek(t.commandId);return i&&n?i>n?-1:1:i?-1:n?1:e.label.localeCompare(t.label)});const a=[];let c=!1;for(let e=0;eM(this,void 0,void 0,(function*(){this.commandsHistory.push(t.commandId),this.telemetryService.publicLog2("workbenchActionExecuted",{id:t.commandId,from:"quick open"});try{yield this.commandService.executeCommand(t.commandId)}catch(e){Object(k.d)(e)||this.notificationService.error(Object(l.a)("canNotRun","Command '{0}' resulted in an error ({1})",t.label,O(e)))}}))}))}return a}))}};T.PREFIX=">",T.WORD_FILTER=Object(m.j)(m.h,m.i,m.f),T=I([A(1,C.a),A(2,w.a),A(3,y.b),A(4,S.a),A(5,x.a)],T);let R=class e extends h.a{constructor(e,t){super(),this.storageService=e,this.configurationService=t,this.configuredCommandsHistoryLength=0,this.updateConfiguration(),this.load(),this.registerListeners()}registerListeners(){this._register(this.configurationService.onDidChangeConfiguration(()=>this.updateConfiguration()))}updateConfiguration(){this.configuredCommandsHistoryLength=e.getConfiguredCommandHistoryLength(this.configurationService),e.cache&&e.cache.limit!==this.configuredCommandsHistoryLength&&(e.cache.limit=this.configuredCommandsHistoryLength,e.saveState(this.storageService))}load(){const t=this.storageService.get(e.PREF_KEY_CACHE,0);let i;if(t)try{i=JSON.parse(t)}catch(e){}const n=e.cache=new _.a(this.configuredCommandsHistoryLength,1);if(i){let e;e=i.usesLRU?i.entries:i.entries.sort((e,t)=>e.value-t.value),e.forEach(e=>n.set(e.key,e.value))}e.counter=this.storageService.getNumber(e.PREF_KEY_COUNTER,0,e.counter)}push(t){e.cache&&(e.cache.set(t,e.counter++),e.saveState(this.storageService))}peek(t){var i;return null===(i=e.cache)||void 0===i?void 0:i.peek(t)}static saveState(t){if(!e.cache)return;const i={usesLRU:!0,entries:[]};e.cache.forEach((e,t)=>i.entries.push({key:t,value:e})),t.store(e.PREF_KEY_CACHE,JSON.stringify(i),0,0),t.store(e.PREF_KEY_COUNTER,e.counter,0,0)}static getConfiguredCommandHistoryLength(t){var i,n;const o=null===(n=null===(i=t.getValue().workbench)||void 0===i?void 0:i.commandPalette)||void 0===n?void 0:n.history;return"number"==typeof o?o:e.DEFAULT_COMMANDS_HISTORY_LENGTH}};R.DEFAULT_COMMANDS_HISTORY_LENGTH=50,R.PREF_KEY_CACHE="commandPalette.mru.cache",R.PREF_KEY_COUNTER="commandPalette.mru.counter",R.counter=1,R=I([A(0,b.a),A(1,v.a)],R);var P=i(96);class F extends T{constructor(e,t,i,n,o,r){super(e,t,i,n,o,r)}getCodeEditorCommandPicks(){const e=this.activeTextEditorControl;if(!e)return[];const t=[];for(const i of e.getSupportedActions())t.push({commandId:i.id,commandAlias:i.alias,label:Object(P.e)(i.label)||i.id});return t}}var B=i(4),W=i(7),j=i(101);i.d(t,"StandaloneCommandsQuickAccessProvider",(function(){return U})),i.d(t,"GotoLineAction",(function(){return K}));var V=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},z=function(e,t){return function(i,n){t(i,n,e)}},H=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};let U=class extends F{constructor(e,t,i,n,o,r){super({showAlias:!1},e,i,n,o,r),this.codeEditorService=t}get activeTextEditorControl(){return Object(f.n)(this.codeEditorService.getFocusedCodeEditor())}getCommandPicks(){return H(this,void 0,void 0,(function*(){return this.getCodeEditorCommandPicks()}))}};U=V([z(0,C.a),z(1,a.a),z(2,w.a),z(3,y.b),z(4,S.a),z(5,x.a)],U),o.a.as(r.b.Quickaccess).registerQuickAccessProvider({ctor:U,prefix:U.PREFIX,helpEntries:[{description:s.d.quickCommandHelp,needsEditor:!0}]});class K extends B.b{constructor(){super({id:"editor.action.quickCommand",label:s.d.quickCommandActionLabel,alias:"Command Palette",precondition:void 0,kbOpts:{kbExpr:W.a.focus,primary:59,weight:100},contextMenuOpts:{group:"z_commands",order:1}})}run(e){e.get(j.a).quickAccess.show(U.PREFIX)}}Object(B.j)(K)},function(e,t,i){"use strict";i.r(t);var n=i(17),o=i(16),r=i(2),s=i(77),a=i(4),l=i(10),c=i(19),h=i(26),d=i(23),u=i(43),g=i(24),p=i(15),m=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};class f{constructor(){this.lenses=[],this._disposables=new r.b}dispose(){this._disposables.dispose()}add(e,t){this._disposables.add(e);for(const i of e.lenses)this.lenses.push({symbol:i,provider:t})}}function _(e,t){return m(this,void 0,void 0,(function*(){const i=l.b.ordered(e),n=new Map,r=new f,s=i.map((i,s)=>m(this,void 0,void 0,(function*(){n.set(i,s);try{const n=yield Promise.resolve(i.provideCodeLenses(e,t));n&&r.add(n,i)}catch(e){Object(o.f)(e)}})));return yield Promise.all(s),r.lenses=Object(c.n)(r.lenses,(e,t)=>e.symbol.range.startLineNumbert.symbol.range.startLineNumber?1:n.get(e.provider)n.get(t.provider)?1:e.symbol.range.startColumnt.symbol.range.startColumn?1:0),r}))}g.a.registerCommand("_executeCodeLensProvider",(function(e,...t){let[i,n]=t;Object(p.b)(d.a.isUri(i)),Object(p.b)("number"==typeof n||!n);const s=e.get(u.a).getModel(i);if(!s)throw Object(o.b)();const a=[],l=new r.b;return _(s,h.a.None).then(e=>{l.add(e);let t=[];for(const i of e.lenses)null==n||Boolean(i.symbol.command)?a.push(i.symbol):n-- >0&&i.provider.resolveCodeLens&&t.push(Promise.resolve(i.provider.resolveCodeLens(s,i.symbol,h.a.None)).then(e=>a.push(e||i.symbol)));return Promise.all(t)}).then(()=>a).finally(()=>{setTimeout(()=>l.dispose(),100)})}));i(250);var b=i(1),v=i(3),C=i(29),w=i(46),y=i(5),S=i(14),k=i(132);class x{constructor(e,t,i){this.afterLineNumber=e,this.heightInPx=t,this._onHeight=i,this.suppressMouseDown=!0,this.domNode=document.createElement("div")}onComputedHeight(e){void 0===this._lastHeight?this._lastHeight=e:this._lastHeight!==e&&(this._lastHeight=e,this._onHeight())}}class D{constructor(e,t,i){this.allowEditorOverflow=!1,this.suppressMouseDown=!0,this._commands=new Map,this._isEmpty=!0,this._editor=e,this._id="codelens.widget-"+D._idPool++,this.updatePosition(i),this._domNode=document.createElement("span"),this._domNode.className="codelens-decoration "+t}withCommands(e,t){this._commands.clear();let i=[],n=!1;for(let t=0;t{e.symbol.command&&l.push(e.symbol),n.addDecoration({range:e.symbol.range,options:C.a.EMPTY},e=>this._decorationIds[t]=e),a=a?v.a.plusRange(a,e.symbol.range):v.a.lift(e.symbol.range)}),this._viewZone=new x(a.startLineNumber-1,r,s),this._viewZoneId=o.addZone(this._viewZone),l.length>0&&(this._createContentWidgetIfNecessary(),this._contentWidget.withCommands(l,!1))}_createContentWidgetIfNecessary(){this._contentWidget?this._editor.layoutContentWidget(this._contentWidget):(this._contentWidget=new D(this._editor,this._className,this._viewZone.afterLineNumber+1),this._editor.addContentWidget(this._contentWidget))}dispose(e,t){this._decorationIds.forEach(e.removeDecoration,e),this._decorationIds=[],t&&t.removeZone(this._viewZoneId),this._contentWidget&&(this._editor.removeContentWidget(this._contentWidget),this._contentWidget=void 0),this._isDisposed=!0}isDisposed(){return this._isDisposed}isValid(){return this._decorationIds.some((e,t)=>{const i=this._editor.getModel().getDecorationRange(e),n=this._data[t].symbol;return!(!i||v.a.isEmpty(n.range)!==i.isEmpty())})}updateCodeLensSymbols(e,t){this._decorationIds.forEach(t.removeDecoration,t),this._decorationIds=[],this._data=e,this._data.forEach((e,i)=>{t.addDecoration({range:e.symbol.range,options:C.a.EMPTY},e=>this._decorationIds[i]=e)})}updateHeight(e,t){this._viewZone.heightInPx=e,t.layoutZone(this._viewZoneId),this._contentWidget&&this._editor.layoutContentWidget(this._contentWidget)}computeIfNecessary(e){if(!this._viewZone.domNode.hasAttribute("monaco-visible-view-zone"))return null;for(let t=0;t{const i=e.getColor(w.e);i&&(t.addRule(`.monaco-editor .codelens-decoration { color: ${i}; }`),t.addRule(`.monaco-editor .codelens-decoration .codicon { color: ${i}; }`));const n=e.getColor(y.q);n&&(t.addRule(`.monaco-editor .codelens-decoration > a:hover { color: ${n} !important; }`),t.addRule(`.monaco-editor .codelens-decoration > a:hover .codicon { color: ${n} !important; }`))});var N=i(40),O=i(18),I=i(106),A=i(60),M=i(91),T=i(126),R=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},P=function(e,t){return function(i,n){t(i,n,e)}};const F=Object(O.c)("ICodeLensCache");class B{constructor(e,t){this.lineCount=e,this.data=t}}let W=class{constructor(e){this._fakeProvider=new class{provideCodeLenses(){throw new Error("not supported")}},this._cache=new A.a(20,.75);Object(n.m)(()=>e.remove("codelens/cache",1));const t="codelens/cache2",i=e.get(t,1,"{}");this._deserialize(i),Object(T.a)(e.onWillSaveState)(i=>{i.reason===M.c.SHUTDOWN&&e.store(t,this._serialize(),1,1)})}put(e,t){const i=t.lenses.map(e=>{var t;return{range:e.symbol.range,command:e.symbol.command&&{id:"",title:null===(t=e.symbol.command)||void 0===t?void 0:t.title}}}),n=new f;n.add({lenses:i,dispose:()=>{}},this._fakeProvider);const o=new B(e.getLineCount(),n);this._cache.set(e.uri.toString(),o)}get(e){const t=this._cache.get(e.uri.toString());return t&&t.lineCount===e.getLineCount()?t.data:void 0}delete(e){this._cache.delete(e.uri.toString())}_serialize(){const e=Object.create(null);for(const[t,i]of this._cache){const n=new Set;for(const e of i.data.lenses)n.add(e.symbol.range.startLineNumber);e[t]={lineCount:i.lineCount,lines:[...n.values()]}}return JSON.stringify(e)}_deserialize(e){try{const t=JSON.parse(e);for(const e in t){const i=t[e],n=[];for(const e of i.lines)n.push({range:new v.a(e,1,e,11)});const o=new f;o.add({lenses:n,dispose(){}},this._fakeProvider),this._cache.set(e,new B(i.lineCount,o))}}catch(e){}}};W=R([P(0,M.a)],W),Object(I.b)(F,W);var j=i(131),V=i(101),z=i(0),H=i(7),U=i(65);i.d(t,"CodeLensContribution",(function(){return G}));var K=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},q=function(e,t){return function(i,n){t(i,n,e)}},$=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};let G=class{constructor(e,t,i,o){this._editor=e,this._commandService=t,this._notificationService=i,this._codeLensCache=o,this._disposables=new r.b,this._localToDispose=new r.b,this._lenses=[],this._getCodeLensModelDelays=new U.b(l.b,250,2500),this._oldCodeLensModels=new r.b,this._resolveCodeLensesDelays=new U.b(l.b,250,2500),this._resolveCodeLensesScheduler=new n.e(()=>this._resolveCodeLensesInViewport(),this._resolveCodeLensesDelays.min),this._disposables.add(this._editor.onDidChangeModel(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeModelLanguage(()=>this._onModelChange())),this._disposables.add(this._editor.onDidChangeConfiguration(e=>{(e.hasChanged(38)||e.hasChanged(13)||e.hasChanged(12))&&this._updateLensStyle(),e.hasChanged(11)&&this._onModelChange()})),this._disposables.add(l.b.onDidChange(this._onModelChange,this)),this._onModelChange(),this._styleClassName="_"+Object(j.b)(this._editor.getId()).toString(16),this._styleElement=b.v(b.N(this._editor.getContainerDomNode())?this._editor.getContainerDomNode():void 0),this._updateLensStyle()}dispose(){var e;this._localDispose(),this._disposables.dispose(),this._oldCodeLensModels.dispose(),null===(e=this._currentCodeLensModel)||void 0===e||e.dispose(),this._styleElement.remove()}_getLayoutInfo(){let e,t=this._editor.getOption(13);return!t||t<5?(t=.9*this._editor.getOption(40)|0,e=this._editor.getOption(53)):e=t*Math.max(1.3,this._editor.getOption(53)/this._editor.getOption(40))|0,{codeLensHeight:e,fontSize:t}}_updateLensStyle(){const{codeLensHeight:e,fontSize:t}=this._getLayoutInfo(),i=this._editor.getOption(12),n=this._editor.getOption(38),o="--codelens-font-family"+this._styleClassName;let r=`\n\t\t.monaco-editor .codelens-decoration.${this._styleClassName} { line-height: ${e}px; font-size: ${t}px; padding-right: ${Math.round(.5*t)}px; font-feature-settings: ${n.fontFeatureSettings} }\n\t\t.monaco-editor .codelens-decoration.${this._styleClassName} span.codicon { line-height: ${e}px; font-size: ${t}px; }\n\t\t`;i&&(r+=`.monaco-editor .codelens-decoration.${this._styleClassName} { font-family: var(${o})}`),this._styleElement.textContent=r,this._editor.getContainerDomNode().style.setProperty(o,null!=i?i:"inherit"),this._editor.changeViewZones(t=>{for(let i of this._lenses)i.updateHeight(e,t)})}_localDispose(){var e,t,i;null===(e=this._getCodeLensModelPromise)||void 0===e||e.cancel(),this._getCodeLensModelPromise=void 0,null===(t=this._resolveCodeLensesPromise)||void 0===t||t.cancel(),this._resolveCodeLensesPromise=void 0,this._localToDispose.clear(),this._oldCodeLensModels.clear(),null===(i=this._currentCodeLensModel)||void 0===i||i.dispose()}_onModelChange(){this._localDispose();const e=this._editor.getModel();if(!e)return;if(!this._editor.getOption(11))return;const t=this._codeLensCache.get(e);if(t&&this._renderCodeLensSymbols(t),!l.b.has(e))return void(t&&this._localToDispose.add(Object(n.i)(()=>{const i=this._codeLensCache.get(e);t===i&&(this._codeLensCache.delete(e),this._onModelChange())},3e4)));for(const t of l.b.all(e))if("function"==typeof t.onDidChange){let e=t.onDidChange(()=>i.schedule());this._localToDispose.add(e)}const i=new n.e(()=>{var t;const r=Date.now();null===(t=this._getCodeLensModelPromise)||void 0===t||t.cancel(),this._getCodeLensModelPromise=Object(n.h)(t=>_(e,t)),this._getCodeLensModelPromise.then(t=>{this._currentCodeLensModel&&this._oldCodeLensModels.add(this._currentCodeLensModel),this._currentCodeLensModel=t,this._codeLensCache.put(e,t);const n=this._getCodeLensModelDelays.update(e,Date.now()-r);i.delay=n,this._renderCodeLensSymbols(t),this._resolveCodeLensesInViewport()},o.e)},this._getCodeLensModelDelays.get(e));this._localToDispose.add(i),this._localToDispose.add(Object(r.h)(()=>this._resolveCodeLensesScheduler.cancel())),this._localToDispose.add(this._editor.onDidChangeModelContent(()=>{this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{let i=[],n=-1;this._lenses.forEach(e=>{e.isValid()&&n!==e.getLineNumber()?(e.update(t),n=e.getLineNumber()):i.push(e)});let o=new L;i.forEach(e=>{e.dispose(o,t),this._lenses.splice(this._lenses.indexOf(e),1)}),o.commit(e)})}),i.schedule()})),this._localToDispose.add(this._editor.onDidFocusEditorWidget(()=>{i.schedule()})),this._localToDispose.add(this._editor.onDidScrollChange(e=>{e.scrollTopChanged&&this._lenses.length>0&&this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(this._editor.onDidLayoutChange(()=>{this._resolveCodeLensesInViewportSoon()})),this._localToDispose.add(Object(r.h)(()=>{if(this._editor.getModel()){const e=s.c.capture(this._editor);this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{this._disposeAllLenses(e,t)})}),e.restore(this._editor)}else this._disposeAllLenses(void 0,void 0)})),this._localToDispose.add(this._editor.onMouseDown(e=>{if(9!==e.target.type)return;let t=e.target.element;if("SPAN"===(null==t?void 0:t.tagName)&&(t=t.parentElement),"A"===(null==t?void 0:t.tagName))for(const e of this._lenses){let i=e.getCommand(t);if(i){this._commandService.executeCommand(i.id,...i.arguments||[]).catch(e=>this._notificationService.error(e));break}}})),i.schedule()}_disposeAllLenses(e,t){const i=new L;for(const e of this._lenses)e.dispose(i,t);e&&i.commit(e),this._lenses.length=0}_renderCodeLensSymbols(e){if(!this._editor.hasModel())return;let t,i=this._editor.getModel().getLineCount(),n=[];for(let o of e.lenses){let e=o.symbol.range.startLineNumber;e<1||e>i||(t&&t[t.length-1].symbol.range.startLineNumber===e?t.push(o):(t=[o],n.push(t)))}const o=s.c.capture(this._editor),r=this._getLayoutInfo();this._editor.changeDecorations(e=>{this._editor.changeViewZones(t=>{const i=new L;let o=0,s=0;for(;sthis._resolveCodeLensesInViewportSoon())),o++,s++)}for(;othis._resolveCodeLensesInViewportSoon())),s++;i.commit(e)})}),o.restore(this._editor)}_resolveCodeLensesInViewportSoon(){this._editor.getModel()&&this._resolveCodeLensesScheduler.schedule()}_resolveCodeLensesInViewport(){var e;null===(e=this._resolveCodeLensesPromise)||void 0===e||e.cancel(),this._resolveCodeLensesPromise=void 0;const t=this._editor.getModel();if(!t)return;const i=[],r=[];if(this._lenses.forEach(e=>{const n=e.computeIfNecessary(t);n&&(i.push(n),r.push(e))}),0===i.length)return;const s=Date.now(),a=Object(n.h)(e=>{const n=i.map((i,n)=>{const s=new Array(i.length),a=i.map((i,n)=>i.symbol.command||"function"!=typeof i.provider.resolveCodeLens?(s[n]=i.symbol,Promise.resolve(void 0)):Promise.resolve(i.provider.resolveCodeLens(t,i.symbol,e)).then(e=>{s[n]=e},o.f));return Promise.all(a).then(()=>{e.isCancellationRequested||r[n].isDisposed()||r[n].updateCommands(s)})});return Promise.all(n)});this._resolveCodeLensesPromise=a,this._resolveCodeLensesPromise.then(()=>{const e=this._resolveCodeLensesDelays.update(t,Date.now()-s);this._resolveCodeLensesScheduler.delay=e,this._currentCodeLensModel&&this._codeLensCache.put(t,this._currentCodeLensModel),this._oldCodeLensModels.clear(),a===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)},e=>{Object(o.e)(e),a===this._resolveCodeLensesPromise&&(this._resolveCodeLensesPromise=void 0)})}getLenses(){return this._lenses}};G.ID="css.editor.codeLens",G=K([q(1,g.b),q(2,N.a),q(3,F)],G),Object(a.l)(G.ID,G),Object(a.j)(class extends a.b{constructor(){super({id:"codelens.showLensesInCurrentLine",precondition:H.a.hasCodeLensProvider,label:Object(z.a)("showLensOnLine","Show CodeLens Commands For Current Line"),alias:"Show CodeLens Commands For Current Line"})}run(e,t){return $(this,void 0,void 0,(function*(){if(!t.hasModel())return;const i=e.get(V.a),n=e.get(g.b),o=e.get(N.a),r=t.getSelection().positionLineNumber,s=t.getContribution(G.ID),a=[];for(let e of s.getLenses())if(e.getLineNumber()===r)for(let t of e.getItems()){const{command:e}=t.symbol;e&&a.push({label:e.title,command:e})}if(0===a.length)return;const l=yield i.pick(a,{canPickMany:!1});if(l)try{yield n.executeCommand(l.command.id,...l.command.arguments||[])}catch(e){o.error(e)}}))}})},function(e,t,i){"use strict";i.r(t);var n=i(0),o=i(2),r=i(18),s=i(7),a=i(9),l=i(4),c=i(1),h=i(28),d=i(56),u=i(88),g=i(6),p=(i(303),i(82)),m=i(155),f=i(16),_=i(11),b=i(10),v=i(26),C=i(24),w=i(23),y=i(15),S=i(89),k=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};const x={Visible:new a.c("parameterHintsVisible",!1),MultipleSignatures:new a.c("parameterHintsMultipleSignatures",!1)};function D(e,t,i,n){return k(this,void 0,void 0,(function*(){const o=b.z.ordered(e);for(const r of o)try{const o=yield r.provideSignatureHelp(e,t,n,i);if(o)return o}catch(e){Object(f.f)(e)}}))}C.a.registerCommand("_executeSignatureHelpProvider",(e,...t)=>k(void 0,void 0,void 0,(function*(){const[i,n,o]=t;Object(y.b)(w.a.isUri(i)),Object(y.b)(_.a.isIPosition(n)),Object(y.b)("string"==typeof o||!o);const r=yield e.get(S.a).createModelReference(i);try{const e=yield D(r.object.textEditorModel,_.a.lift(n),{triggerKind:b.A.Invoke,isRetrigger:!1,triggerCharacter:o},v.a.None);if(!e)return;return setTimeout(()=>e.dispose(),0),e.value}finally{r.dispose()}})));var L,E=i(69),N=i(5),O=i(14),I=i(17),A=i(113),M=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};!function(e){e.Default={type:0};e.Pending=class{constructor(e,t){this.request=e,this.previouslyActiveHints=t,this.type=2}};e.Active=class{constructor(e){this.hints=e,this.type=1}}}(L||(L={}));class T extends o.a{constructor(e,t=T.DEFAULT_DELAY){super(),this._onChangedHints=this._register(new g.a),this.onChangedHints=this._onChangedHints.event,this.triggerOnType=!1,this._state=L.Default,this._pendingTriggers=[],this._lastSignatureHelpResult=this._register(new o.d),this.triggerChars=new A.b,this.retriggerChars=new A.b,this.triggerId=0,this.editor=e,this.throttledDelayer=new I.a(t),this._register(this.editor.onDidChangeConfiguration(()=>this.onEditorConfigurationChange())),this._register(this.editor.onDidChangeModel(e=>this.onModelChanged())),this._register(this.editor.onDidChangeModelLanguage(e=>this.onModelChanged())),this._register(this.editor.onDidChangeCursorSelection(e=>this.onCursorChange(e))),this._register(this.editor.onDidChangeModelContent(e=>this.onModelContentChange())),this._register(b.z.onDidChange(this.onModelChanged,this)),this._register(this.editor.onDidType(e=>this.onDidType(e))),this.onEditorConfigurationChange(),this.onModelChanged()}get state(){return this._state}set state(e){2===this._state.type&&this._state.request.cancel(),this._state=e}cancel(e=!1){this.state=L.Default,this.throttledDelayer.cancel(),e||this._onChangedHints.fire(void 0)}trigger(e,t){const i=this.editor.getModel();if(!i||!b.z.has(i))return;const n=++this.triggerId;this._pendingTriggers.push(e),this.throttledDelayer.trigger(()=>this.doTrigger(n),t).catch(f.e)}next(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=t%e==e-1,n=this.editor.getOption(70).cycle;!(e<2||i)||n?this.updateActiveSignature(i&&n?0:t+1):this.cancel()}previous(){if(1!==this.state.type)return;const e=this.state.hints.signatures.length,t=this.state.hints.activeSignature,i=0===t,n=this.editor.getOption(70).cycle;!(e<2||i)||n?this.updateActiveSignature(i&&n?e-1:t-1):this.cancel()}updateActiveSignature(e){1===this.state.type&&(this.state=new L.Active(Object.assign(Object.assign({},this.state.hints),{activeSignature:e})),this._onChangedHints.fire(this.state.hints))}doTrigger(e){return M(this,void 0,void 0,(function*(){const t=1===this.state.type||2===this.state.type,i=this.getLastActiveHints();if(this.cancel(!0),0===this._pendingTriggers.length)return!1;const n=this._pendingTriggers.reduce(R);this._pendingTriggers=[];const o={triggerKind:n.triggerKind,triggerCharacter:n.triggerCharacter,isRetrigger:t,activeSignatureHelp:i};if(!this.editor.hasModel())return!1;const r=this.editor.getModel(),s=this.editor.getPosition();this.state=new L.Pending(Object(I.h)(e=>D(r,s,o,e)),i);try{const t=yield this.state.request;return e!==this.triggerId?(null==t||t.dispose(),!1):t&&t.value.signatures&&0!==t.value.signatures.length?(this.state=new L.Active(t.value),this._lastSignatureHelpResult.value=t,this._onChangedHints.fire(this.state.hints),!0):(null==t||t.dispose(),this._lastSignatureHelpResult.clear(),this.cancel(),!1)}catch(t){return e===this.triggerId&&(this.state=L.Default),Object(f.e)(t),!1}}))}getLastActiveHints(){switch(this.state.type){case 1:return this.state.hints;case 2:return this.state.previouslyActiveHints;default:return}}get isTriggered(){return 1===this.state.type||2===this.state.type||this.throttledDelayer.isTriggered()}onModelChanged(){this.cancel(),this.triggerChars=new A.b,this.retriggerChars=new A.b;const e=this.editor.getModel();if(e)for(const t of b.z.ordered(e)){for(const e of t.signatureHelpTriggerCharacters||[])this.triggerChars.add(e.charCodeAt(0)),this.retriggerChars.add(e.charCodeAt(0));for(const e of t.signatureHelpRetriggerCharacters||[])this.retriggerChars.add(e.charCodeAt(0))}}onDidType(e){if(!this.triggerOnType)return;const t=e.length-1,i=e.charCodeAt(t);(this.triggerChars.has(i)||this.isTriggered&&this.retriggerChars.has(i))&&this.trigger({triggerKind:b.A.TriggerCharacter,triggerCharacter:e.charAt(t)})}onCursorChange(e){"mouse"===e.source?this.cancel():this.isTriggered&&this.trigger({triggerKind:b.A.ContentChange})}onModelContentChange(){this.isTriggered&&this.trigger({triggerKind:b.A.ContentChange})}onEditorConfigurationChange(){this.triggerOnType=this.editor.getOption(70).enabled,this.triggerOnType||this.cancel()}dispose(){this.cancel(!0),super.dispose()}}function R(e,t){switch(t.triggerKind){case b.A.Invoke:return t;case b.A.ContentChange:return e;case b.A.TriggerCharacter:default:return t}}T.DEFAULT_DELAY=120;var P=i(8),F=i(20),B=i(102),W=i(68),j=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},V=function(e,t){return function(i,n){t(i,n,e)}};const z=c.a,H=Object(W.b)("parameter-hints-next",F.b.chevronDown,n.a("parameterHintsNextIcon","Icon for show next parameter hint.")),U=Object(W.b)("parameter-hints-previous",F.b.chevronUp,n.a("parameterHintsPreviousIcon","Icon for show previous parameter hint."));let K=class e extends o.a{constructor(e,t,i,n){super(),this.editor=e,this.renderDisposeables=this._register(new o.b),this.visible=!1,this.announcedLabel=null,this.allowEditorOverflow=!0,this.markdownRenderer=this._register(new m.a({editor:e},n,i)),this.model=this._register(new T(e)),this.keyVisible=x.Visible.bindTo(t),this.keyMultipleSignatures=x.MultipleSignatures.bindTo(t),this._register(this.model.onChangedHints(e=>{e?(this.show(),this.render(e)):this.hide()}))}createParamaterHintDOMNodes(){const e=z(".editor-widget.parameter-hints-widget"),t=c.p(e,z(".phwrapper"));t.tabIndex=-1;const i=c.p(t,z(".controls")),n=c.p(i,z(".button"+O.d.asCSSSelector(U))),o=c.p(i,z(".overloads")),r=c.p(i,z(".button"+O.d.asCSSSelector(H))),s=Object(h.b)(Object(h.a)(n,"click"));this._register(s(this.previous,this));const a=Object(h.b)(Object(h.a)(r,"click"));this._register(a(this.next,this));const l=z(".body"),d=new u.a(l,{});this._register(d),t.appendChild(d.getDomNode());const p=c.p(l,z(".signature")),m=c.p(l,z(".docs"));e.style.userSelect="text",this.domNodes={element:e,signature:p,overloads:o,docs:m,scrollbar:d},this.editor.addContentWidget(this),this.hide(),this._register(this.editor.onDidChangeCursorSelection(e=>{this.visible&&this.editor.layoutContentWidget(this)}));const f=()=>{if(!this.domNodes)return;const e=this.editor.getOption(38);this.domNodes.element.style.fontSize=e.fontSize+"px"};f(),this._register(g.b.chain(this.editor.onDidChangeConfiguration.bind(this.editor)).filter(e=>e.hasChanged(38)).on(f,null)),this._register(this.editor.onDidLayoutChange(e=>this.updateMaxHeight())),this.updateMaxHeight()}show(){this.visible||(this.domNodes||this.createParamaterHintDOMNodes(),this.keyVisible.set(!0),this.visible=!0,setTimeout(()=>{this.domNodes&&this.domNodes.element.classList.add("visible")},100),this.editor.layoutContentWidget(this))}hide(){this.renderDisposeables.clear(),this.visible&&(this.keyVisible.reset(),this.visible=!1,this.announcedLabel=null,this.domNodes&&this.domNodes.element.classList.remove("visible"),this.editor.layoutContentWidget(this))}getPosition(){return this.visible?{position:this.editor.getPosition(),preference:[1,2]}:null}render(e){var t;if(this.renderDisposeables.clear(),!this.domNodes)return;const i=e.signatures.length>1;this.domNodes.element.classList.toggle("multiple",i),this.keyMultipleSignatures.set(i),this.domNodes.signature.innerText="",this.domNodes.docs.innerText="";const o=e.signatures[e.activeSignature];if(!o)return;const r=c.p(this.domNodes.signature,z(".code")),s=this.editor.getOption(38);r.style.fontSize=s.fontSize+"px",r.style.fontFamily=s.fontFamily;const a=o.parameters.length>0,l=null!==(t=o.activeParameter)&&void 0!==t?t:e.activeParameter;if(a)this.renderParameters(r,o,l);else{c.p(r,z("span")).textContent=o.label}const h=o.parameters[l];if(null==h?void 0:h.documentation){const e=z("span.documentation");if("string"==typeof h.documentation)e.textContent=h.documentation;else{const t=this.renderMarkdownDocs(h.documentation);e.appendChild(t.element)}c.p(this.domNodes.docs,z("p",{},e))}if(void 0===o.documentation);else if("string"==typeof o.documentation)c.p(this.domNodes.docs,z("p",{},o.documentation));else{const e=this.renderMarkdownDocs(o.documentation);c.p(this.domNodes.docs,e.element)}const u=this.hasDocs(o,h);if(this.domNodes.signature.classList.toggle("has-docs",u),this.domNodes.docs.classList.toggle("empty",!u),this.domNodes.overloads.textContent=String(e.activeSignature+1).padStart(e.signatures.length.toString().length,"0")+"/"+e.signatures.length,h){const e=this.getParameterLabel(o,l);this.announcedLabel!==e&&(d.a(n.a("hint","{0}, hint",e)),this.announcedLabel=e)}this.editor.layoutContentWidget(this),this.domNodes.scrollbar.scanDomNode()}renderMarkdownDocs(e){const t=this.renderDisposeables.add(this.markdownRenderer.render(e,{asyncRenderCallback:()=>{var e;null===(e=this.domNodes)||void 0===e||e.scrollbar.scanDomNode()}}));return t.element.classList.add("markdown-docs"),t}hasDocs(e,t){return!!(t&&"string"==typeof t.documentation&&Object(y.a)(t.documentation).length>0)||(!!(t&&"object"==typeof t.documentation&&Object(y.a)(t.documentation).value.length>0)||(!!(e.documentation&&"string"==typeof e.documentation&&Object(y.a)(e.documentation).length>0)||!!(e.documentation&&"object"==typeof e.documentation&&Object(y.a)(e.documentation.value).length>0)))}renderParameters(e,t,i){const[n,o]=this.getParameterLabelOffsets(t,i),r=document.createElement("span");r.textContent=t.label.substring(0,n);const s=document.createElement("span");s.textContent=t.label.substring(n,o),s.className="parameter active";const a=document.createElement("span");a.textContent=t.label.substring(o),c.p(e,r,s,a)}getParameterLabel(e,t){const i=e.parameters[t];return Array.isArray(i.label)?e.label.substring(i.label[0],i.label[1]):i.label}getParameterLabelOffsets(e,t){const i=e.parameters[t];if(i){if(Array.isArray(i.label))return i.label;if(i.label.length){const t=new RegExp(`(\\W|^)${Object(P.u)(i.label)}(?=\\W|$)`,"g");t.test(e.label);const n=t.lastIndex-i.label.length;return n>=0?[n,t.lastIndex]:[0,0]}return[0,0]}return[0,0]}next(){this.editor.focus(),this.model.next()}previous(){this.editor.focus(),this.model.previous()}cancel(){this.model.cancel()}getDomNode(){return this.domNodes||this.createParamaterHintDOMNodes(),this.domNodes.element}getId(){return e.ID}trigger(e){this.model.trigger(e,0)}updateMaxHeight(){if(!this.domNodes)return;const e=Math.max(this.editor.getLayoutInfo().height/4,250)+"px";this.domNodes.element.style.maxHeight=e;const t=this.domNodes.element.getElementsByClassName("phwrapper");t.length&&(t[0].style.maxHeight=e)}};K.ID="editor.widget.parameterHintsWidget",K=j([V(1,a.b),V(2,E.a),V(3,p.a)],K),Object(O.f)((e,t)=>{const i=e.getColor(N.F);if(i){const n=e.type===B.a.HIGH_CONTRAST?2:1;t.addRule(`.monaco-editor .parameter-hints-widget { border: ${n}px solid ${i}; }`),t.addRule(`.monaco-editor .parameter-hints-widget.multiple .body { border-left: 1px solid ${i.transparent(.5)}; }`),t.addRule(`.monaco-editor .parameter-hints-widget .signature.has-docs { border-bottom: 1px solid ${i.transparent(.5)}; }`)}const n=e.getColor(N.E);n&&t.addRule(`.monaco-editor .parameter-hints-widget { background-color: ${n}; }`);const o=e.getColor(N.zc);o&&t.addRule(`.monaco-editor .parameter-hints-widget a { color: ${o}; }`);const r=e.getColor(N.G);r&&t.addRule(`.monaco-editor .parameter-hints-widget { color: ${r}; }`);const s=e.getColor(N.yc);s&&t.addRule(`.monaco-editor .parameter-hints-widget code { background-color: ${s}; }`)}),i.d(t,"TriggerParameterHintsAction",(function(){return Y}));var q=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},$=function(e,t){return function(i,n){t(i,n,e)}};let G=class e extends o.a{constructor(e,t){super(),this.editor=e,this.widget=this._register(t.createInstance(K,this.editor))}static get(t){return t.getContribution(e.ID)}cancel(){this.widget.cancel()}previous(){this.widget.previous()}next(){this.widget.next()}trigger(e){this.widget.trigger(e)}};G.ID="editor.controller.parameterHints",G=q([$(1,r.a)],G);class Y extends l.b{constructor(){super({id:"editor.action.triggerParameterHints",label:n.a("parameterHints.trigger.label","Trigger Parameter Hints"),alias:"Trigger Parameter Hints",precondition:s.a.hasSignatureHelpProvider,kbOpts:{kbExpr:s.a.editorTextFocus,primary:3082,weight:100}})}run(e,t){const i=G.get(t);i&&i.trigger({triggerKind:b.A.Invoke})}}Object(l.l)(G.ID,G),Object(l.j)(Y);const Z=l.c.bindToContribution(G.get);Object(l.k)(new Z({id:"closeParameterHints",precondition:x.Visible,handler:e=>e.cancel(),kbOpts:{weight:175,kbExpr:s.a.focus,primary:9,secondary:[1033]}})),Object(l.k)(new Z({id:"showPrevParameterHint",precondition:a.a.and(x.Visible,x.MultipleSignatures),handler:e=>e.previous(),kbOpts:{weight:175,kbExpr:s.a.focus,primary:16,secondary:[528],mac:{primary:16,secondary:[528,302]}}})),Object(l.k)(new Z({id:"showNextParameterHint",precondition:a.a.and(x.Visible,x.MultipleSignatures),handler:e=>e.next(),kbOpts:{weight:175,kbExpr:s.a.focus,primary:18,secondary:[530],mac:{primary:18,secondary:[530,300]}}}))},function(e,t,i){"use strict";i.r(t);var n=i(0),o=i(38),r=i(4),s=i(3),a=i(7),l=i(57),c=i(11),h=i(22),d=i(31);class u{constructor(e,t){this._selection=e,this._insertSpace=t,this._usedEndToken=null}static _haystackHasNeedleAtOffset(e,t,i){if(i<0)return!1;const n=t.length;if(i+n>e.length)return!1;for(let o=0;o=65&&n<=90&&n+32===r||r>=65&&r<=90&&r+32===n))return!1}return!0}_createOperationsForBlockComment(e,t,i,n,o,r){const a=e.startLineNumber,l=e.startColumn,c=e.endLineNumber,h=e.endColumn,d=o.getLineContent(a),g=o.getLineContent(c);let p,m=d.lastIndexOf(t,l-1+t.length),f=g.indexOf(i,h-1-i.length);if(-1!==m&&-1!==f)if(a===c){d.substring(m+t.length,f).indexOf(i)>=0&&(m=-1,f=-1)}else{const e=d.substring(m+t.length),n=g.substring(0,f);(e.indexOf(i)>=0||n.indexOf(i)>=0)&&(m=-1,f=-1)}-1!==m&&-1!==f?(n&&m+t.length0&&32===g.charCodeAt(f-1)&&(i=" "+i,f-=1),p=u._createRemoveBlockCommentOperations(new s.a(a,m+t.length+1,c,f+1),t,i)):(p=u._createAddBlockCommentOperations(e,t,i,this._insertSpace),this._usedEndToken=1===p.length?i:null);for(const e of p)r.addTrackedEditOperation(e.range,e.text)}static _createRemoveBlockCommentOperations(e,t,i){let n=[];return s.a.isEmpty(e)?n.push(l.a.delete(new s.a(e.startLineNumber,e.startColumn-t.length,e.endLineNumber,e.endColumn+i.length))):(n.push(l.a.delete(new s.a(e.startLineNumber,e.startColumn-t.length,e.startLineNumber,e.startColumn))),n.push(l.a.delete(new s.a(e.endLineNumber,e.endColumn,e.endLineNumber,e.endColumn+i.length)))),n}static _createAddBlockCommentOperations(e,t,i,n){let o=[];return s.a.isEmpty(e)?o.push(l.a.replace(new s.a(e.startLineNumber,e.startColumn,e.endLineNumber,e.endColumn),t+" "+i)):(o.push(l.a.insert(new c.a(e.startLineNumber,e.startColumn),t+(n?" ":""))),o.push(l.a.insert(new c.a(e.endLineNumber,e.endColumn),(n?" ":"")+i))),o}getEditOperations(e,t){const i=this._selection.startLineNumber,n=this._selection.startColumn;e.tokenizeIfCheap(i);const o=e.getLanguageIdAtPosition(i,n),r=d.a.getComments(o);r&&r.blockCommentStartToken&&r.blockCommentEndToken&&this._createOperationsForBlockComment(this._selection,r.blockCommentStartToken,r.blockCommentEndToken,this._insertSpace,e,t)}computeCursorState(e,t){const i=t.getInverseEditOperations();if(2===i.length){const e=i[0],t=i[1];return new h.a(e.range.endLineNumber,e.range.endColumn,t.range.startLineNumber,t.range.startColumn)}{const e=i[0].range,t=this._usedEndToken?-this._usedEndToken.length-1:0;return new h.a(e.endLineNumber,e.endColumn+t,e.endLineNumber,e.endColumn+t)}}}var g=i(8);class p{constructor(e,t,i,n,o,r){this._selection=e,this._tabSize=t,this._type=i,this._insertSpace=n,this._selectionId=null,this._deltaColumn=0,this._moveEndPositionDown=!1,this._ignoreEmptyLines=o,this._ignoreFirstLine=r||!1}static _gatherPreflightCommentStrings(e,t,i){e.tokenizeIfCheap(t);const n=e.getLanguageIdAtPosition(t,1),o=d.a.getComments(n),r=o?o.lineCommentToken:null;if(!r)return null;let s=[];for(let e=0,n=i-t+1;es?o-1:o}}}var m=i(25);class f extends r.b{constructor(e,t){super(t),this._type=e}run(e,t){if(!t.hasModel())return;const i=[],n=t.getModel().getOptions(),o=t.getOption(16),r=t.getSelections().map((e,t)=>({selection:e,index:t,ignoreFirstLine:!1}));r.sort((e,t)=>s.a.compareRangesUsingStarts(e.selection,t.selection));let a=r[0];for(let e=1;e1?function(e,t,i,n){let o=0;const r=[];for(const s of t){const[t,a]=f(e,s,i,n);if("number"!=typeof t)return p;o+=t,r.push(...a)}return[o,_(r)]}(e,o.values,i,n):f(e,t,i,n)}function f(e,t,i,n){const o=Object(d.d)(t.original,t.originalLowercase,i,e,e.toLowerCase(),n,!0);return o?[o[0],Object(d.c)(o)]:p}function _(e){const t=e.sort((e,t)=>e.start-t.start),i=[];let n=void 0;for(const e of t)n&&b(n,e)?(n.start=Math.min(n.start,e.start),n.end=Math.max(n.end,e.end)):(n=e,i.push(e));return i}function b(e,t){return!(e.end=0;let s=void 0;const a=e.split(" ");if(a.length>1)for(const e of a){const{pathNormalized:t,normalized:i,normalizedLowercase:n}=C(e);i&&(s||(s=[]),s.push({original:e,originalLowercase:e.toLowerCase(),pathNormalized:t,normalized:i,normalizedLowercase:n}))}return{original:e,originalLowercase:t,pathNormalized:i,normalized:n,normalizedLowercase:o,values:s,containsPathSeparator:r}}function C(e){let t;t=g.j?e.replace(/\//g,u.h):e.replace(/\\/g,u.h);const i=Object(h.T)(t).replace(/\s/g,"");return{pathNormalized:t,normalized:i,normalizedLowercase:i.toLowerCase()}}function w(e){return Array.isArray(e)?v(e.map(e=>e.original).join(" ")):v(e.original)}var y=i(20),S=function(e,t,i,n){return new(i||(i=Promise))((function(o,r){function s(e){try{l(n.next(e))}catch(e){r(e)}}function a(e){try{l(n.throw(e))}catch(e){r(e)}}function l(e){var t;e.done?o(e.value):(t=e.value,t instanceof i?t:new i((function(e){e(t)}))).then(s,a)}l((n=n.apply(e,t||[])).next())}))};class k extends a.a{constructor(e=Object.create(null)){super(e),this.options=e,e.canAcceptInBackground=!0}provideWithoutTextEditor(e){return this.provideLabelPick(e,Object(n.a)("cannotRunGotoSymbolWithoutEditor","To go to a symbol, first open a text editor with symbol information.")),r.a.None}provideWithTextEditor(e,t,i){const n=e.editor,o=this.getModel(n);return o?l.m.has(o)?this.doProvideWithEditorSymbols(e,o,t,i):this.doProvideWithoutEditorSymbols(e,o,t,i):r.a.None}doProvideWithoutEditorSymbols(e,t,i,o){const s=new r.b;return this.provideLabelPick(i,Object(n.a)("cannotRunGotoSymbolWithoutSymbolProvider","The active text editor does not provide symbol information.")),(()=>{S(this,void 0,void 0,(function*(){(yield this.waitForLanguageSymbolRegistry(t,s))&&!o.isCancellationRequested&&s.add(this.doProvideWithEditorSymbols(e,t,i,o))}))})(),s}provideLabelPick(e,t){e.items=[{label:t,index:0,kind:14}],e.ariaLabel=t}waitForLanguageSymbolRegistry(e,t){return S(this,void 0,void 0,(function*(){if(l.m.has(e))return!0;let i;const n=new Promise(e=>i=e),o=t.add(l.m.onDidChange(()=>{l.m.has(e)&&(o.dispose(),i(!0))}));return t.add(Object(r.h)(()=>i(!1))),n}))}doProvideWithEditorSymbols(e,t,i,s){const a=e.editor,l=new r.b;l.add(i.onDidAccept(t=>{const[n]=i.selectedItems;n&&n.range&&(this.gotoLocation(e,{range:n.range.selection,keyMods:i.keyMods,preserveFocus:t.inBackground}),t.inBackground||i.hide())})),l.add(i.onDidTriggerItemButton(({item:t})=>{t&&t.range&&(this.gotoLocation(e,{range:t.range.selection,keyMods:i.keyMods,forceSideBySide:!0}),i.hide())}));const c=this.getDocumentSymbols(t,s);let h=void 0;const d=()=>S(this,void 0,void 0,(function*(){null==h||h.dispose(!0),i.busy=!1,h=new o.b(s),i.busy=!0;try{const e=v(i.value.substr(k.PREFIX.length).trim()),t=yield this.doGetSymbolPicks(c,e,void 0,h.token);if(s.isCancellationRequested)return;t.length>0?i.items=t:e.original.length>0?this.provideLabelPick(i,Object(n.a)("noMatchingSymbolResults","No matching editor symbols")):this.provideLabelPick(i,Object(n.a)("noSymbolResults","No editor symbols"))}finally{s.isCancellationRequested||(i.busy=!1)}}));l.add(i.onDidChangeValue(()=>d())),d();let u=!0;return l.add(i.onDidChangeActive(()=>{const[e]=i.activeItems;if(e&&e.range){if(u)return void(u=!1);a.revealRangeInCenter(e.range.selection,0),this.addDecorations(a,e.range.decoration)}})),l}doGetSymbolPicks(e,t,i,o){return S(this,void 0,void 0,(function*(){const r=yield e;if(o.isCancellationRequested)return[];const a=0===t.original.indexOf(k.SCOPE_PREFIX),c=a?1:0;let d,u;t.values&&t.values.length>1?(d=w(t.values[0]),u=w(t.values.slice(1))):d=t;const g=[];for(let e=0;ec){let e=!1;if(d!==t&&([b,v]=m(p,Object.assign(Object.assign({},t),{values:void 0}),c,f),"number"==typeof b&&(e=!0)),"number"!=typeof b&&([b,v]=m(p,d,c,f),"number"!=typeof b))continue;if(!e&&u){if(_&&u.original.length>0&&([C,w]=m(_,u)),"number"!=typeof C)continue;"number"==typeof b&&(b+=C)}}const S=o.tags&&o.tags.indexOf(1)>=0;g.push({index:e,kind:o.kind,score:b,label:p,ariaLabel:a,description:_,highlights:S?void 0:{label:v,description:w},range:{selection:s.a.collapseToStart(o.selectionRange),decoration:o.range},strikethrough:S,buttons:(()=>{var e,t;const i=(null===(e=this.options)||void 0===e?void 0:e.openSideBySideDirection)?null===(t=this.options)||void 0===t?void 0:t.openSideBySideDirection():void 0;if(i)return[{iconClass:"right"===i?y.b.splitHorizontal.classNames:y.b.splitVertical.classNames,tooltip:"right"===i?Object(n.a)("openToSide","Open to the Side"):Object(n.a)("openToBottom","Open to the Bottom")}]})()})}const p=g.sort((e,t)=>a?this.compareByKindAndScore(e,t):this.compareByScore(e,t));let f=[];if(a){let e=void 0,t=void 0,i=0;function _(){t&&"number"==typeof e&&i>0&&(t.label=Object(h.w)(D[e]||x,i))}for(const n of p)e!==n.kind?(_(),e=n.kind,i=1,t={type:"separator"},f.push(t)):i++,f.push(n);_()}else p.length>0&&(f=[{label:Object(n.a)("symbols","symbols ({0})",g.length),type:"separator"},...p]);return f}))}compareByScore(e,t){if("number"!=typeof e.score&&"number"==typeof t.score)return 1;if("number"==typeof e.score&&"number"!=typeof t.score)return-1;if("number"==typeof e.score&&"number"==typeof t.score){if(e.score>t.score)return-1;if(e.scoret.index?1:0}compareByKindAndScore(e,t){const i=D[e.kind]||x,n=D[t.kind]||x,o=i.localeCompare(n);return 0===o?this.compareByScore(e,t):o}getDocumentSymbols(e,t){return S(this,void 0,void 0,(function*(){const i=yield c.a.create(e,t);return t.isCancellationRequested?[]:i.asListOfDocumentSymbols()}))}}k.PREFIX="@",k.SCOPE_PREFIX=":",k.PREFIX_BY_CATEGORY=`${k.PREFIX}${k.SCOPE_PREFIX}`;const x=Object(n.a)("property","properties ({0})"),D={5:Object(n.a)("method","methods ({0})"),11:Object(n.a)("function","functions ({0})"),8:Object(n.a)("_constructor","constructors ({0})"),12:Object(n.a)("variable","variables ({0})"),4:Object(n.a)("class","classes ({0})"),22:Object(n.a)("struct","structs ({0})"),23:Object(n.a)("event","events ({0})"),24:Object(n.a)("operator","operators ({0})"),10:Object(n.a)("interface","interfaces ({0})"),2:Object(n.a)("namespace","namespaces ({0})"),3:Object(n.a)("package","packages ({0})"),25:Object(n.a)("typeParameter","type parameters ({0})"),1:Object(n.a)("modules","modules ({0})"),6:Object(n.a)("property","properties ({0})"),9:Object(n.a)("enum","enumerations ({0})"),21:Object(n.a)("enumMember","enumeration members ({0})"),14:Object(n.a)("string","strings ({0})"),0:Object(n.a)("file","files ({0})"),17:Object(n.a)("array","arrays ({0})"),15:Object(n.a)("number","numbers ({0})"),16:Object(n.a)("boolean","booleans ({0})"),18:Object(n.a)("object","objects ({0})"),19:Object(n.a)("key","keys ({0})"),7:Object(n.a)("field","fields ({0})"),13:Object(n.a)("constant","constants ({0})")};var L=i(39),E=i(127),N=i(32),O=i(15),I=i(45),A=i(6),M=i(4),T=i(7),R=i(101);i.d(t,"StandaloneGotoSymbolQuickAccessProvider",(function(){return B})),i.d(t,"GotoLineAction",(function(){return W}));var P=function(e,t,i,n){var o,r=arguments.length,s=r<3?t:null===n?n=Object.getOwnPropertyDescriptor(t,i):n;if("object"==typeof Reflect&&"function"==typeof Reflect.decorate)s=Reflect.decorate(e,t,i,n);else for(var a=e.length-1;a>=0;a--)(o=e[a])&&(s=(r<3?o(s):r>3?o(t,i,s):o(t,i))||s);return r>3&&s&&Object.defineProperty(t,i,s),s},F=function(e,t){return function(i,n){t(i,n,e)}};let B=class extends k{constructor(e){super(),this.editorService=e,this.onDidActiveTextEditorControlChange=A.b.None}get activeTextEditorControl(){return Object(O.n)(this.editorService.getFocusedCodeEditor())}};B=P([F(0,N.a)],B),L.a.as(E.b.Quickaccess).registerQuickAccessProvider({ctor:B,prefix:k.PREFIX,helpEntries:[{description:I.f.quickOutlineActionLabel,prefix:k.PREFIX,needsEditor:!0},{description:I.f.quickOutlineByCategoryActionLabel,prefix:k.PREFIX_BY_CATEGORY,needsEditor:!0}]});class W extends M.b{constructor(){super({id:"editor.action.quickOutline",label:I.f.quickOutlineActionLabel,alias:"Go to Symbol...",precondition:T.a.hasDocumentSymbolProvider,kbOpts:{kbExpr:T.a.focus,primary:3117,weight:100},contextMenuOpts:{group:"navigation",order:3}})}run(e){e.get(R.a).quickAccess.show(k.PREFIX)}}Object(M.j)(W)},function(e,t,i){"use strict";i.r(t);var n=i(0),o=i(4),r=i(7),s=i(3),a=i(22);class l{constructor(e,t){this._selection=e,this._isMovingLeft=t}getEditOperations(e,t){if(this._selection.startLineNumber!==this._selection.endLineNumber||this._selection.isEmpty())return;const i=this._selection.startLineNumber,n=this._selection.startColumn,o=this._selection.endColumn;if((!this._isMovingLeft||1!==n)&&(this._isMovingLeft||o!==e.getLineMaxColumn(i)))if(this._isMovingLeft){const r=new s.a(i,n-1,i,n),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new s.a(i,o,i,o),a)}else{const r=new s.a(i,o,i,o+1),a=e.getValueInRange(r);t.addEditOperation(r,null),t.addEditOperation(new s.a(i,n,i,n),a)}}computeCursorState(e,t){return this._isMovingLeft?new a.a(this._selection.startLineNumber,this._selection.startColumn-1,this._selection.endLineNumber,this._selection.endColumn-1):new a.a(this._selection.startLineNumber,this._selection.startColumn+1,this._selection.endLineNumber,this._selection.endColumn+1)}}class c extends o.b{constructor(e,t){super(t),this.left=e}run(e,t){if(!t.hasModel())return;let i=[],n=t.getSelections();for(const e of n)i.push(new l(e,this.left));t.pushUndoStop(),t.executeCommands(this.id,i),t.pushUndoStop()}}Object(o.j)(class extends c{constructor(){super(!0,{id:"editor.action.moveCarretLeftAction",label:n.a("caret.moveLeft","Move Selected Text Left"),alias:"Move Selected Text Left",precondition:r.a.writable})}}),Object(o.j)(class extends c{constructor(){super(!1,{id:"editor.action.moveCarretRightAction",label:n.a("caret.moveRight","Move Selected Text Right"),alias:"Move Selected Text Right",precondition:r.a.writable})}})},function(e,t,i){"use strict";i.r(t);i(286);var n=i(2),o=i(12),r=i(4),s=i(11),a=i(3),l=i(22);class c{constructor(e,t,i){this.selection=e,this.targetPosition=t,this.copy=i,this.targetSelection=null}getEditOperations(e,t){let i=e.getValueInRange(this.selection);this.copy||t.addEditOperation(this.selection,null),t.addEditOperation(new a.a(this.targetPosition.lineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.targetPosition.column),i),!this.selection.containsPosition(this.targetPosition)||this.copy&&(this.selection.getEndPosition().equals(this.targetPosition)||this.selection.getStartPosition().equals(this.targetPosition))?this.copy?this.targetSelection=new l.a(this.targetPosition.lineNumber,this.targetPosition.column,this.selection.endLineNumber-this.selection.startLineNumber+this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber>this.selection.endLineNumber?this.targetSelection=new l.a(this.targetPosition.lineNumber-this.selection.endLineNumber+this.selection.startLineNumber,this.targetPosition.column,this.targetPosition.lineNumber,this.selection.startLineNumber===this.selection.endLineNumber?this.targetPosition.column+this.selection.endColumn-this.selection.startColumn:this.selection.endColumn):this.targetPosition.lineNumber