@finos/legend-application-pure-ide-deployment 13.159.0 → 13.160.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -0,0 +1,2 @@
1
+ (()=>{var e,t,n,s,i,o={59135:(e,t,n)=>{var s={"./editorBaseApi":[37970],"./editorBaseApi.js":[37970],"./editorSimpleWorker":[41122],"./editorSimpleWorker.js":[41122],"./editorWorker":[22143],"./editorWorker.js":[22143],"./editorWorkerHost":[70869],"./editorWorkerHost.js":[70869],"./findSectionHeaders":[97716],"./findSectionHeaders.js":[97716],"./getIconClasses":[45555],"./getIconClasses.js":[45555],"./languageFeatureDebounce":[26973],"./languageFeatureDebounce.js":[26973],"./languageFeatures":[33653],"./languageFeatures.js":[33653],"./languageFeaturesService":[78330],"./languageFeaturesService.js":[78330],"./languageService":[22155],"./languageService.js":[22155],"./languagesAssociations":[25709],"./languagesAssociations.js":[25709],"./languagesRegistry":[35074],"./languagesRegistry.js":[35074],"./markerDecorations":[86259],"./markerDecorations.js":[86259],"./markerDecorationsService":[72524],"./markerDecorationsService.js":[72524],"./model":[16911],"./model.js":[16911],"./modelService":[91320],"./modelService.js":[91320],"./resolverService":[55387],"./resolverService.js":[55387],"./semanticTokensDto":[7029,121],"./semanticTokensDto.js":[7029,121],"./semanticTokensProviderStyling":[4399],"./semanticTokensProviderStyling.js":[4399],"./semanticTokensStyling":[74566],"./semanticTokensStyling.js":[74566],"./semanticTokensStylingService":[28843],"./semanticTokensStylingService.js":[28843],"./textModelSync/textModelSync.impl":[43481],"./textModelSync/textModelSync.impl.js":[43481],"./textModelSync/textModelSync.protocol":[37619,121],"./textModelSync/textModelSync.protocol.js":[37619,121],"./textResourceConfiguration":[93533],"./textResourceConfiguration.js":[93533],"./treeSitterParserService":[47105],"./treeSitterParserService.js":[47105],"./treeViewsDnd":[29740,121],"./treeViewsDnd.js":[29740,121],"./treeViewsDndService":[95621,121],"./treeViewsDndService.js":[95621,121],"./unicodeTextModelHighlighter":[14818],"./unicodeTextModelHighlighter.js":[14818]};function i(e){if(!n.o(s,e))return Promise.resolve().then(()=>{var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t});var t=s[e],i=t[0];return Promise.all(t.slice(1).map(n.e)).then(()=>n(i))}i.keys=()=>Object.keys(s),i.id=59135,e.exports=i},84216:(e,t,n)=>{"use strict";const s=JSON.parse('{"rE":"11.0.21","XO":{"Z":"@finos/legend-logger-plugin-web-console"}}');var i,o=n(20938);class r{name;version;signature;uuid}class a{name;version;uuid=(0,o.A)();constructor(e,t){this.name=e,this.version=t}getName(){return this.name}getVersion(){return this.version}getSignature(){return`${this.getName()}@${this.getVersion()}`}getUUID(){return this.uuid}getInfo(){const e=new r;return e.name=this.getName(),e.version=this.getVersion(),e.signature=this.getSignature(),e.uuid=this.getUUID(),e}configure(e){return this}}class c{plugins=[];presets=[];usePlugins(e){return this.plugins=e,this}usePresets(e){return this.presets=e,this}configure(e){Object.keys(e).forEach(t=>{const n=e[t];this.presets.forEach(e=>{e.getName()===t&&e.configure(n)}),this.plugins.forEach(e=>{e.getName()===t&&e.configure(n)})})}install(){this.plugins.forEach(e=>e.install(this)),this.presets.forEach(e=>e.install(this))}getInfo(){return{plugins:this.plugins.filter(e=>!this.getHiddenPluginNames().includes(e.getName())).map(e=>e.getInfo()).sort((e,t)=>e.name.localeCompare(t.name)),presets:this.presets.filter(e=>!this.getHiddenPresetNames().includes(e.getName())).map(e=>e.getInfo()).sort((e,t)=>e.name.localeCompare(t.name))}}getHiddenPluginNames(){return[]}getHiddenPresetNames(){return[]}}!function(e){e[e.DEBUG=1]="DEBUG",e[e.INFO=2]="INFO",e[e.WARN=3]="WARN",e[e.ERROR=4]="ERROR",e[e.SILENT=5]="SILENT"}(i||(i={}));class l{channel;name;timestamp=Date.now();static create(e){const t=new l;return t.name=e,t}}class d extends a{level=i.DEBUG;setLevel(e){this.level=e}install(e){e.registerLoggerPlugin(this)}debug(e,...t){this.level<=i.DEBUG&&this._debug(e,...t)}info(e,...t){this.level<=i.INFO&&this._info(e,...t)}warn(e,...t){this.level<=i.WARN&&this._warn(e,...t)}error(e,...t){this.level<=i.ERROR&&this._error(e,...t)}}class u{loggers=[];registerPlugins(e){this.loggers=e}debug(e,...t){this.loggers.forEach(n=>n.debug(e,...t))}info(e,...t){this.loggers.forEach(n=>n.info(e,...t))}warn(e,...t){this.loggers.forEach(n=>n.warn(e,...t))}error(e,...t){this.loggers.forEach(n=>n.error(e,...t))}}const{debug:p,info:h,warn:g,error:m}=console;class f extends d{constructor(){super(s.XO.Z,s.rE)}_debug(e,...t){p(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}_info(e,...t){h(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}_warn(e,...t){g(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}_error(e,...t){m(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}}var _=n(31085),E=n(25873),b=n(94417),T=n(84365);const C=e=>e.constructor,v=()=>()=>{},y=(e,t,n)=>D(e.at(t),n),S=e=>new Promise((t,n)=>setTimeout(()=>{try{t(e())}catch(e){n(e)}},0)),N=(e,t,n=(e,t)=>e===t)=>!e.find(e=>n(e,t))&&(e.push(t),!0),A=(e,t,n,s=(e,t)=>e===t)=>{const i=e.findIndex(e=>s(e,t)),o=e.findIndex(e=>s(e,n));return-1!==i&&-1!==o&&(e[i]=n,e[o]=t,!0)},I=(e,t,n=(e,t)=>e===t)=>{const s=e.findIndex(e=>n(e,t));return-1!==s&&(e.splice(s,1),!0)};class x extends Error{uuid=(0,o.A)();constructor(e){super(),this.message=void 0===e||""===e?"(no error message)":e}get detail(){return this.message}}class w extends Error{constructor(e,t,n){if(super(n||(t instanceof Error?t.message:t)),this.name=e,t instanceof Error){const e=(this.message.match(/\n/g)??[]).length+1;this.stack=`${(this.stack??"").split("\n").slice(0,e+1).join("\n")}\nCaused by: ${t.stack}`}else"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=new Error(t).stack}}class O extends w{constructor(e){super("Illegal State Error [PLEASE NOTIFY DEVELOPER]",e)}}class k extends w{constructor(e,t){super("Unsupported Operation Error",e||t?`${e}${t?`\n${((e,t)=>{const n=(s={printFunctionName:!1,maxDepth:t?.deep?void 0:1},(0,b.A)(s,e=>void 0!==e));var s;return(0,T.GP)(e,n).replace(/.*\s\{/g,"{").replace(/\[.*\]/g,e=>["[Array]","[Function]"].includes(e)?e:"[Object]")})(t)}`:""}`:void 0)}}function R(e){if(!(e instanceof Error))throw new O("Expected error to be thrown")}const P=e=>{try{return e()}catch{return}};class L extends w{constructor(e,t){super("Assertion Error",e,t)}}const M=e=>null!=e;function F(e,t=""){if(null==e)throw new L(t||"Value is nullable")}const D=(e,t="")=>(F(e,t),e),B=(e,t)=>e instanceof t,j=e=>t=>B(t,e);function H(e,t,n=""){if(!(e instanceof t))throw new L(n||`Value is expected to be of type '${t.name}'`)}const U=(e,t,n="")=>(H(e,t,n),e);function G(e,t=""){if(""===D(e,t))throw new L(t||"Expected string value to be non-empty")}function V(e,t=""){return G(e,t),e}function $(e,t=""){if(!e)throw new L(t||"Expected predicate to be truthy")}const W=e=>"string"==typeof e,Y=e=>"number"==typeof e&&!isNaN(e),z=e=>"boolean"==typeof e,K=e=>"object"==typeof e&&null!==e;var X=n(66651),J=n(56046),q=n(6451),Z=n(8041);const Q=X.v,ee="charset=utf-8";var te,ne,se;!function(e){e.CONTENT_TYPE="Content-Type",e.ACCEPT="Accept"}(te||(te={})),function(e){e.APPLICATION_JSON="application/json",e.APPLICATION_XML="application/xml",e.APPLICATION_ZLIB="application/zlib",e.APPLICATION_XLSX="application/vnd.openxmlformats-officedocument.spreadsheetml.sheet",e.TEXT_PLAIN="text/plain",e.TEXT_HTML="text/html",e.TEXT_CSV="text/csv",e.ALL="*/*",e.MESSAGE_RFC822="message/rfc822"}(ne||(ne={})),function(e){e.GET="GET",e.PUT="PUT",e.POST="POST",e.DELETE="DELETE"}(se||(se={}));const ie={mode:"cors",credentials:"include",redirect:"follow"},oe=(e,t)=>{const n={};return e&&Object.entries(e).forEach(([e,t])=>{n[e]=t}),t&&Object.entries(t).forEach(([e,t])=>{n[e]=t}),n};class re extends Error{response;payload;constructor(e,t){super(),"function"==typeof Error.captureStackTrace?Error.captureStackTrace(this,this.constructor):this.stack=(new Error).stack,this.name="Network Client Error",this.response=e;const{status:n,statusText:s,url:i}=e,o=`Received response with status ${n} (${s}) for ${i}`;this.message=(t?(e=>{if(K(e))return W(e.message)?e.message:JSON.stringify(e);let t;try{t=JSON.parse(e)}catch{}return t&&W(t.message)?t.message:e})(t).substring(0,5e3):"")||o,this.payload=t}}const ae=async(e,t,n)=>{if(n?.preprocess?.(e),!e.ok){let t;try{t=await e.text(),t=JSON.parse(t)}catch{}return Promise.reject(new re(e,t))}if(n?.skipProcessing)return Promise.resolve(e);if(e.status===Q.NO_CONTENT)return Promise.resolve(void 0);const s=t.headers.Accept;switch(s){case ne.APPLICATION_JSON:return e.json();case ne.TEXT_PLAIN:return e.text();default:return Promise.reject(new re(e,`Can't process response for request with Content-Type '${s}'`))}},ce=(e,t)=>{const n={};return n.Accept=ne.APPLICATION_JSON,e!==se.GET&&(n[te.CONTENT_TYPE]=`${ne.APPLICATION_JSON};${ee}`),oe(n,t)};class le{options={};baseUrl;constructor(e){this.baseUrl=e?.baseUrl,this.options={...ie,...e?.options??{}}}async get(e,t={},n,s,i,o){return this.request(se.GET,e,void 0,t,n,s,i,o)}async put(e,t={},n={},s,i,o,r){return this.request(se.PUT,e,t,n,s,i,o,r)}async post(e,t={},n={},s,i,o,r){return this.request(se.POST,e,t,n,s,i,o,r)}async delete(e,t={},n={},s,i,o,r){return this.request(se.DELETE,e,t,n,s,i,o,r)}async request(e,t,n,s,i,o,r,a){const c=((e,t,n)=>{if(!e&&!P(()=>new URL(t)))throw new Error(`Can't build URL string: base URL is not specified and the provided URL '${t}' is not absolute`);const s=new URL(t,e);return n instanceof Object&&Object.entries(n).forEach(([e,t])=>{void 0!==t&&(Array.isArray(t)?t.filter(M).forEach(t=>s.searchParams.append(e,t.toString())):s.searchParams.append(e,t.toString()))}),s.toString()})(this.baseUrl,t,o??{});let l;if((W(n)||K(n))&&r?.enableCompression&&($(e!==se.GET," GET request should not have any request payload"),n=(e=>new Blob([(0,J.Kc)(K(e)?JSON.stringify(e):e)]))(n),i=oe(i,{[te.CONTENT_TYPE]:`${ne.APPLICATION_ZLIB};${ee}`})),void 0!==n)if(W(n)||n instanceof Blob)l=n;else{if(!K(n))throw new L("Request body can only be either a 'string' or an 'object'");l=JSON.stringify(n)}const d={...this.options,...s,method:e,body:l,headers:ce(e,i)};return fetch(c,d).then(e=>0===e.status||e.status===Q.UNAUTHORIZED?a?.autoReAuthenticateUrl?(e=>new Promise(t=>{const n="AUTO_AUTHENTICATION_IFRAME",s=document.getElementById(n);s?.remove();const i=document.createElement("iframe");i.id=n,i.src=e,i.style.display="none",i.addEventListener("load",()=>{i.remove(),t()}),document.body.appendChild(i)}))(a.autoReAuthenticateUrl).then(()=>fetch(c,d)).then(e=>ae(e,d,a)):fetch(c,d).then(e=>ae(e,d,a)):ae(e,d,a)).catch(e=>(e=>e instanceof TypeError&&"Failed to fetch"===e.message)(e)?fetch(c,d).then(e=>ae(e,d,a)):Promise.reject(e))}}const de=(e,t,n)=>{const s=new Blob([t],{type:n}),i=URL.createObjectURL(s),o=document.createElement("a");"string"==typeof o.download?(document.body.appendChild(o),o.download=e,o.href=i,o.click(),document.body.removeChild(o)):location.replace(i)};var ue;!function(e){e.GENERIC_FAILURE="application.failure.generic",e.APPLICATION_SETUP__FAILURE="application.setup.failure",e.APPLICATION_LOAD__SUCCESS="application.load.success",e.APPLICATION_LOAD__FAILURE="application.load.failure",e.ILLEGAL_APPLICATION_STATE_OCCURRED="application.error.illegal-state",e.APPLICATION_CONFIGURATION__FAILURE="application.configuration.failure",e.IDENTITY_AUTO_FETCH__FAILURE="application.identity.auto-fetch.failure",e.DOCUMENTATION_FETCH__FAILURE="application.documentation.fetch.failure",e.DOCUMENTATION_LOAD__SKIP="application.documentation.load.skip",e.DOCUMENTATION_REQUIREMENT_CHECK__FAILURE="application.documentation.requirement-check.failure",e.CONTEXTUAL_DOCUMENTATION_LOAD__SKIP="application.virtual-assistant.contextual-documentation-load.skip",e.VIRTUAL_ASSISTANT_DOCUMENTATION_ENTRY__ACCESS="application.virtual-assistant.documentation-entry.access",e.TERMINAL_COMMAND_CONFIGURATION_CHECK__FAILURE="application.load.terminal-command.configuration-check.failure",e.COLOR_THEME_CONFIGURATION_CHECK__FAILURE="application.layout.color-theme.configuration-check.failure",e.SETTING_CONFIGURATION_CHECK__FAILURE="application.setting.configuration-check.failure",e.SETTING_RETRIVE_FAILURE="application.setting.retrieve.failure",e.USER_DATA_RETRIEVE_FAILURE="application.user-data.retrieve.failure",e.COMMAND_CENTER_REGISTRATION__FAILURE="application.command.registration.failure",e.APPLICATION_CONTEXT__ACCESS="application.context.access",e.APPLICATION_USAGE__INTERRUPT="application.usage.interrupt",e.NAVIGATION_BLOCKED="application.usage.navigation-blocked",e.APPLICATION_TELEMETRY_EVENT__FAILURE="application.telemetry-event.failure",e.DEBUG="development.debug"}(ue||(ue={}));var pe=n(97542);class he{schema;deserializeNullAsUndefined;constructor(e,t){this.schema=e,this.deserializeNullAsUndefined=Boolean(t?.deserializeNullAsUndefined)}toJson(e){return(0,pe.lK)(this.schema,e)}fromJson(e){return(0,pe.iu)(this.schema,this.deserializeNullAsUndefined?(t=e,(0,b.A)(t,e=>null!==e)):e);var t}}class ge{key;markdownText;title;text;url;related;static serialization=new he((0,pe.PL)(ge,{markdownText:(0,pe.Ie)(e=>e,e=>e.value?e:void 0),related:(0,pe.lq)((0,pe.p_)((0,pe.MY)())),title:(0,pe.lq)((0,pe.MY)()),text:(0,pe.lq)((0,pe.MY)()),url:(0,pe.lq)((0,pe.MY)())}));static create(e,t){const n=ge.serialization.fromJson(e);return n.key=t,n}}var me=n(66696);const fe=e=>Object.entries(e).map(e=>({key:e[0],content:ge.create(e[1],e[0])}));class _e{url;links;docRegistry=new Map;contextualDocIndex=new Map;constructor(e){this.url=e.config.documentationUrl,this.links=e.config.documentationLinkEntries,e.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraKeyedDocumentationEntries?.()??[]).forEach(t=>{this.hasDocEntry(t.key)?e.logService.warn(l.create(ue.DOCUMENTATION_LOAD__SKIP),t.key):this.docRegistry.set(t.key,t.content)}),e.config.keyedDocumentationEntries.forEach(e=>this.docRegistry.set(e.key,e.content));const t=e.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraContextualDocumentationEntries?.()??[]),n=[];(0,me.A)(e.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraRequiredDocumentationKeys?.()??[]).concat(t.map(e=>e.documentationKey))).forEach(e=>{this.docRegistry.has(e)||n.push(e)}),n.length&&e.logService.warn(l.create(ue.DOCUMENTATION_REQUIREMENT_CHECK__FAILURE),`Can't find corresponding documentation entry for keys:\n${n.map(e=>`- ${e}`).join("\n")}`),t.forEach(t=>{if(this.hasContextualDocEntry(t.context))e.logService.warn(l.create(ue.CONTEXTUAL_DOCUMENTATION_LOAD__SKIP),t.context);else{const e=this.getDocEntry(t.documentationKey);e&&this.contextualDocIndex.set(t.context,e)}}),e.config.contextualDocEntries.forEach(e=>{const t=this.getDocEntry(e.documentationKey);t&&this.contextualDocIndex.set(e.context,t)})}getDocEntry(e){return this.docRegistry.get(e)}hasDocEntry(e){return this.docRegistry.has(e)}getContextualDocEntry(e){return this.contextualDocIndex.get(e)}hasContextualDocEntry(e){return this.contextualDocIndex.has(e)}getAllDocEntries(){return Array.from(this.docRegistry.values())}publishDocRegistry(){const e={};return this.docRegistry.forEach((t,n)=>{e[n]=ge.serialization.toJson(t)}),e}publishContextualDocIndex(){const e={};return this.contextualDocIndex.forEach((t,n)=>{e[n]=t.key}),e}}var Ee,be,Te=n(83794);!function(e){e.INITIAL="INITIAL",e.IN_PROGRESS="IN_PROGRESS",e.SUCCEEDED="SUCEEDED",e.FAILED="FAILED"}(Ee||(Ee={}));class Ce{state;_message;_messageFormatter;constructor(){this.state=Ee.INITIAL}setMessage(e){this._message=e}setMessageFormatter(e){this._messageFormatter=e}reset(){return this.state=Ee.INITIAL,this}inProgress(){return this.state=Ee.IN_PROGRESS,this}fail(){return this.state=Ee.FAILED,this}pass(){return this.state=Ee.SUCCEEDED,this}complete(e=!0){return e?this.pass():this.fail(),this}sync(e){const t=e.exportData();this.state=t.state,this._message=t.message}exportData(){return{state:this.state,message:this._message}}get isInInitialState(){return this.state===Ee.INITIAL}get isInProgress(){return this.state===Ee.IN_PROGRESS}get hasFailed(){return this.state===Ee.FAILED}get hasSucceeded(){return this.state===Ee.SUCCEEDED}get message(){return this._message?this._messageFormatter?this._messageFormatter(this._message):this._message:void 0}get hasCompleted(){return this.hasFailed||this.hasSucceeded}static create(){return(0,Te.Gn)(new Ce,{state:Te.sH,_message:Te.sH,reset:Te.XI,inProgress:Te.XI,pass:Te.XI,fail:Te.XI,complete:Te.XI,setMessage:Te.XI,sync:Te.XI,isInInitialState:Te.EW,isInProgress:Te.EW,hasFailed:Te.EW,hasSucceeded:Te.EW,hasCompleted:Te.EW,message:Te.EW})}}!function(e){e.USER="user",e.ENV="env",e.RESULT="result",e.ERROR="error",e.HTTP_STATUS="status",e.HTTP_REQUEST_METHOD="method",e.HTTP_REQUEST_URL="url"}(be||(be={}));class ve{traceEntries=[];setup(e){this.traceEntries=e}bootstrap(e){this.traceEntries.forEach(t=>{t.plugin.bootstrap(t.clientSpan,e)})}reportSuccess(){this.traceEntries.forEach(e=>{e.plugin.concludeClientSpan(e.clientSpan,void 0)})}reportError(e){this.traceEntries.forEach(t=>{t.plugin.concludeClientSpan(t.clientSpan,e)})}}class ye{plugins=[];registerPlugins(e){this.plugins=e}createTrace(e,t,n,s){const i=new ve;return e&&i.setup(this.plugins.map(i=>({clientSpan:i.createClientSpan(e,t,n,s),plugin:i}))),i}}const Se=n(37102).A;var Ne,Ae;!function(e){e.STANDARD="standard",e.INCLUDE="include match",e.EXACT="exact match",e.INVERSE="excludes exact match"}(Ne||(Ne={}));class Ie{currentMode=Ne.STANDARD;onSearchModeChange;constructor(e){(0,Te.Gn)(this,{currentMode:Te.sH,isAdvancedSearchActive:Te.EW,setCurrentMode:Te.XI}),this.onSearchModeChange=e}get isAdvancedSearchActive(){return this.currentMode!==Ne.STANDARD}generateSearchText(e){switch(this.currentMode){case Ne.INCLUDE:return`'"${e}"`;case Ne.EXACT:return`="${e}"`;case Ne.INVERSE:return`!"${e}"`;default:return e}}setCurrentMode(e){this.currentMode=e,this.onSearchModeChange()}}!function(e){e.SEARCH="SEARCH",e.CONTEXTUAL_SUPPORT="CONTEXTUAL_SUPPORT"}(Ae||(Ae={}));class xe{uuid=(0,o.A)();documentationKey;title;content;url;isOpen=!1;constructor(e){(0,Te.Gn)(this,{isOpen:Te.sH,setIsOpen:Te.XI}),this.documentationKey=e.key,this.title=V(e.title),this.content=e.markdownText??e.text,this.url=e.url}setIsOpen(e){this.isOpen=e}}class we{uuid=(0,o.A)();context;title;content;url;related;constructor(e,t,n){this.context=e,this.title=t.title,this.content=t.markdownText??t.text,this.url=t.url,this.related=n}}const Oe=e=>Boolean(e.title&&(e.url??e.text??e.markdownText));class ke{applicationStore;panelRenderingKey=(0,o.A)();isDisabled=!1;isHidden=!0;isOpen=!1;isPanelMaximized=!1;selectedTab=Ae.SEARCH;currentDocumentationEntry;searchEngine;searchConfigurationState;searchState=Ce.create();searchText="";searchResults=[];showSearchConfigurationMenu=!1;isOverSearchLimit=!1;constructor(e){(0,Te.Gn)(this,{isDisabled:Te.sH,isHidden:Te.sH,isOpen:Te.sH,isPanelMaximized:Te.sH,panelRenderingKey:Te.sH,isOverSearchLimit:Te.sH,selectedTab:Te.sH,searchText:Te.sH,searchResults:Te.sH,currentDocumentationEntry:Te.sH,showSearchConfigurationMenu:Te.sH,currentContextualDocumentationEntry:Te.EW,setIsDisabled:Te.XI,setIsHidden:Te.XI,setIsOpen:Te.XI,setIsPanelMaximized:Te.XI,setSelectedTab:Te.XI,setSearchText:Te.XI,resetSearch:Te.XI,search:Te.XI,openDocumentationEntry:Te.XI,refreshPanelRendering:Te.XI,setShowSearchConfigurationMenu:Te.XI}),this.applicationStore=e,this.searchEngine=new Se(this.applicationStore.documentationService.getAllDocEntries().filter(Oe),{includeScore:!0,shouldSort:!0,ignoreLocation:!0,threshold:.2,keys:[{name:"title",weight:4},{name:"text",weight:1},{name:"markdownText.value",weight:1}],useExtendedSearch:!0}),this.searchConfigurationState=new Ie(()=>{this.search()})}get currentContextualDocumentationEntry(){if(!this.applicationStore.navigationContextService.currentContext)return;const e=this.applicationStore.navigationContextService.currentContext.key,t=this.applicationStore.documentationService.getContextualDocEntry(e);return t?new we(e,t,(t.related??[]).map(e=>this.applicationStore.documentationService.getDocEntry(e)).filter(M).filter(Oe).map(e=>new xe(e))):void 0}openDocumentationEntry(e){const t=this.applicationStore.documentationService.getDocEntry(e);t&&(this.setIsOpen(!0),this.setIsHidden(!1),this.currentDocumentationEntry=new xe(t),this.currentDocumentationEntry.setIsOpen(!0),this.resetSearch())}openDocumentationEntryLink(e){const t=this.applicationStore.documentationService.getDocEntry(e);t&&((e=>Oe(e)&&Boolean(e.text??e.markdownText))(t)?this.openDocumentationEntry(t.key):t.url&&this.applicationStore.navigationService.navigator.visitAddress(t.url))}setIsDisabled(e){this.isDisabled=e}setIsHidden(e){this.isHidden=e}setIsPanelMaximized(e){this.isPanelMaximized=e}hideAssistant(){this.setIsHidden(!0),this.setIsOpen(!1)}toggleAssistant(){this.isHidden?this.setIsHidden(!1):this.hideAssistant()}setIsOpen(e){this.isOpen=e}setSelectedTab(e){this.selectedTab=e}refreshPanelRendering(){this.panelRenderingKey=(0,o.A)()}setSearchText(e){this.searchText=e}resetSearch(){this.searchText="",this.searchResults=[],this.searchState.complete()}search(){this.searchText?(this.currentDocumentationEntry=void 0,this.searchState.inProgress(),this.searchResults=Array.from(this.searchEngine.search(this.searchConfigurationState.generateSearchText(this.searchText),{limit:101}).values()).map(e=>new xe(e.item)),this.searchResults.length>100?(this.isOverSearchLimit=!0,this.searchResults=this.searchResults.slice(0,100)):this.isOverSearchLimit=!1,this.searchState.complete()):this.searchResults=[]}setShowSearchConfigurationMenu(e){this.showSearchConfigurationMenu=e}}class Re{notifierPlugins=[];registerEventNotifierPlugins(e){this.notifierPlugins=e}notify(e,t){this.notifierPlugins.forEach(n=>n.notify(e,t))}}class Pe{static logEvent_ApplicationInitializationSucceeded(e,t){e.logEvent(ue.APPLICATION_LOAD__SUCCESS,{application:{name:t.config.appName,version:t.config.appVersion,env:t.config.env},browser:{userAgent:navigator.userAgent},screen:{height:window.screen.height,width:window.screen.width}})}static logEvent_ApplicationContextAccessed(e,t){e.logEvent(ue.APPLICATION_CONTEXT__ACCESS,t)}static logEvent_VirtualAssistantDocumentationEntryAccessed(e,t){e.logEvent(ue.VIRTUAL_ASSISTANT_DOCUMENTATION_ENTRY__ACCESS,t)}static logEvent_ApplicationUsageInterrupted(e){e.logEvent(ue.APPLICATION_USAGE__INTERRUPT,{})}}class Le{applicationStore;contextStack=[];constructor(e){(0,Te.Gn)(this,{contextStack:Te.sH,currentContext:Te.EW,push:Te.XI,pop:Te.XI}),this.applicationStore=e}get currentContext(){return this.contextStack.length?this.contextStack[this.contextStack.length-1]:void 0}push(e){const t=this.contextStack.filter(e=>!e.isTransient);if(t.find(t=>t.key===e.key))throw new O(`Found multiple context '${e.key}' in application navigation context stack`);t.push(e),this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraAccessEventLoggingApplicationContextKeys?.()??[]).includes(e.key)&&Pe.logEvent_ApplicationContextAccessed(this.applicationStore.telemetryService,{key:e.key}),this.contextStack=t}pop(e){const t=this.contextStack.find(t=>t.key===e.key);if(!t)return;const n=this.contextStack.indexOf(t);-1!==n&&(this.contextStack=this.contextStack.slice(0,n).filter(e=>!e.isTransient))}}class Me{applicationStore;commandRegistry=new Map;constructor(e){(0,Te.Gn)(this,{commandRegistry:Te.sH,registerCommand:Te.XI,deregisterCommand:Te.XI}),this.applicationStore=e}registerCommand(e){const t=e.key;this.commandRegistry.has(t)?this.applicationStore.logService.warn(l.create(ue.COMMAND_CENTER_REGISTRATION__FAILURE),`Can't register command: command '${t}' is already registered`):this.commandRegistry.set(t,e)}deregisterCommand(e){this.commandRegistry.delete(e)}runCommand(e,t){const n=this.commandRegistry.get(e);return!(!n||n.trigger&&!n.trigger()||(n.action?.(t),0))}}class Fe{applicationStore;keyMap=new Map;commandKeyMap=new Map;isHotkeysBlocked=!1;constructor(e){(0,Te.Gn)(this,{keyMap:Te.sH,commandKeyMap:Te.sH,isHotkeysBlocked:Te.sH,addHotkey:Te.XI,blockGlobalHotkeys:Te.XI,unblockGlobalHotkeys:Te.XI}),this.applicationStore=e,this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraKeyedCommandConfigEntries?.()??[]).forEach(e=>{const t=[e.content.defaultKeyboardShortcut,...e.content.additionalKeyboardShortcuts??[]].filter(M);t.length?t.forEach(t=>this.addHotkey(e.key,t)):this.commandKeyMap.has(e.key)||this.commandKeyMap.set(e.key,[])})}blockGlobalHotkeys(){this.isHotkeysBlocked=!0}unblockGlobalHotkeys(){this.isHotkeysBlocked=!1}addHotkey(e,t){this.commandKeyMap.set(e,[...this.commandKeyMap.get(e)??[],t]),this.keyMap.set(t,[...(this.keyMap.get(t)??[]).filter(t=>t!==e),e])}dispatch(e){if(this.isHotkeysBlocked)return;const t=this.keyMap.get(e)??[];for(const e of t)if(this.applicationStore.commandService.runCommand(e))return}}var De=n(84594),Be=n(34462),je=n(720),He=n(75974),Ue=n(90382);const Ge="Roboto Mono",Ve="yyyy-MM-dd'T'HH:mm:ss";var $e;!function(e){e.RESET="",e.BOLD="",e.DIM="",e.ITALIC="",e.UNDERLINE="",e.BLINKING="",e.STRIKETHROUGH="",e.BLACK="",e.RED="",e.GREEN="",e.YELLOW="",e.BLUE="",e.MAGENTA="",e.CYAN="",e.WHITE="",e.BRIGHT_BLACK="",e.BRIGHT_RED="",e.BRIGHT_GREEN="",e.BRIGHT_YELLOW="",e.BRIGHT_BLUE="",e.BRIGHT_MAGENTA="",e.BRIGHT_CYAN="",e.BRIGHT_WHITE="",e.DIMMED_BLACK="",e.DIMMED_RED="",e.DIMMED_GREEN="",e.DIMMED_YELLOW="",e.DIMMED_BLUE="",e.DIMMED_MAGENTA="",e.DIMMED_CYAN="",e.DIMMED_WHITE="",e.BLACK_BG="",e.RED_BG="",e.GREEN_BG="",e.YELLOW_BG="",e.BLUE_BG="",e.MAGENTA_BG="",e.CYAN_BG="",e.WHITE_BG="",e.BRIGHT_BLACK_BG="",e.BRIGHT_RED_BG="",e.BRIGHT_GREEN_BG="",e.BRIGHT_YELLOW_BG="",e.BRIGHT_BLUE_BG="",e.BRIGHT_MAGENTA_BG="",e.BRIGHT_CYAN_BG="",e.BRIGHT_WHITE_BG="",e.DIMMED_BLACK_BG="",e.DIMMED_RED_BG="",e.DIMMED_GREEN_BG="",e.DIMMED_YELLOW_BG="",e.DIMMED_BLUE_BG="",e.DIMMED_MAGENTA_BG="",e.DIMMED_CYAN_BG="",e.DIMMED_WHITE_BG=""}($e||($e={}));const We=(e,t)=>`[${e};${t}H`;class Ye{searchInput;searchText="";useRegex=!1;matchWholeWord=!1;matchCaseSensitive=!1;resultCount;currentResultIndex;constructor(){(0,Te.Gn)(this,{searchText:Te.sH,useRegex:Te.sH,matchWholeWord:Te.sH,matchCaseSensitive:Te.sH,resultCount:Te.sH,currentResultIndex:Te.sH})}setSearchInput(e){this.searchInput=e}focus(){this.searchInput?.focus()}}class ze{applicationStore;searchConfig=new Ye;constructor(e){(0,Te.Gn)(this,{setSearchText:Te.XI,setSearchRegex:Te.XI,setSearchWholeWord:Te.XI,setSearchCaseSensitive:Te.XI,setSearchResultCount:Te.XI,setSearchCurrentResultIndex:Te.XI}),this.applicationStore=e}setSearchText(e){this.searchConfig.searchText=e}setSearchRegex(e){this.searchConfig.useRegex=e}setSearchWholeWord(e){this.searchConfig.matchWholeWord=e}setSearchCaseSensitive(e){this.searchConfig.matchCaseSensitive=e}setSearchResultCount(e){this.searchConfig.resultCount=e}setSearchCurrentResultIndex(e){this.searchConfig.currentResultIndex=e}}class Ke extends ze{preserveLog=!1;commandRegistry=new Map;constructor(e){super(e),(0,Te.Gn)(this,{preserveLog:Te.sH,setPreserveLog:Te.XI})}setPreserveLog(e){this.preserveLog=e}showHelp(){}showCommonANSIEscapeSequences(){}}var Xe=n(29481),Je=n(24404);n(41880);const qe=e=>e.length>=1?`${e[0].toUpperCase()}${e.substring(1,e.length)}`:e,Ze=["a","an","the","but","by","nor","and","or","so","as","yet","for","in","nor","of","on","at","out","to","up"],Qe=e=>(e??"").trim().replace(/\b(?:\w+)\b/gu,e=>Ze.includes(e.toLowerCase())?e.toLowerCase():qe(e)).replace(/^(?:\w+)\b/u,e=>qe(e)).replace(/\b(?:\w+)$/u,e=>qe(e)),et=e=>{try{return((e,t=2)=>{try{return((e,t,n)=>{const s=(0,Je.As)(e,void 0,n);return F(s,"Can't stringify lossless JSON value"),s})((0,Je.qg)(e),0,t)}catch{return e}})(e,0)}catch{return e.replace(/\n\s*/g,"")}};var tt;function nt(e){return e.trim().split(" ").map(e=>{const t=e.split(/\b\+/),n=D(t.pop(),"Can't parse key binding: last part must be a non-modifier key");return{modifiers:t,key:n}})}!function(e){e.TAB="Tab",e.CAPSLOCK="CapsLock",e.SHIFT="Shift",e.META="Meta",e.ALT="Alt",e.CONTROL="Control",e.SPACE="Space",e.ESC="Escape",e.LEFT="ArrowLeft",e.RIGHT="ArrowRight",e.UP="ArrowUp",e.DOWN="ArrowDown",e.ENTER="Enter",e.DELETE="Delete",e.BACKSPACE="Backspace",e.BACKQUOTE="Backquote"}(tt||(tt={}));const st=(e,t)=>t.key===e.code&&t.modifiers.every(t=>e.getModifierState(t))&&![tt.SHIFT,tt.META,tt.ALT,tt.CONTROL].find(n=>t.key!==n&&e.getModifierState(n)&&!t.modifiers.includes(n)),it=(e,t)=>st(e,D(nt(t)[0]));function ot(e){const t=new Map;let n=null;return s=>{s instanceof KeyboardEvent&&((0,Xe.A)(Object.values(e).flatMap(e=>e.combinations.map(t=>({combination:t,handler:e.handler}))).filter(e=>e.combination.length),e=>e.combination).forEach(e=>{const n=e.combination,i=nt(e.combination);if(!i.length)return;const o=t.get(n)??i,r=D(o[0]);st(s,r)?o.length>1?t.set(n,o.slice(1)):(t.delete(n),e.handler(n,s)):s.getModifierState(s.key)||t.delete(n)}),n&&clearTimeout(n),n=setTimeout(t.clear.bind(t),1e3))}}var rt=n(8709),at=n(57182),ct=n(24924),lt=n(11467),dt=n(22351);const ut=(e,t)=>(0,rt.A)({...e?{}:{transitions:{create:()=>"none"}},...void 0===t?{}:{typography:{fontFamily:t}},components:{MuiButtonBase:{defaultProps:{disableRipple:!0}}},breakpoints:{values:{xs:0,sm:600,md:900,lg:1200,xl:1536,xxl:1800,xxxl:2300,xxxxl:2800}}}),pt=e=>{const{children:t,enableTransitions:n,customFonts:s}=e;return(0,_.jsx)(ct.A,{injectFirst:!0,children:(0,_.jsx)(at.A,{theme:ut(n,s),children:(0,_.jsx)(lt.$,{dateAdapter:dt.h,children:t})})})};var ht=n(56265),gt=n(3947),mt=n(25150),ft=n(63737),_t=n(50692),Et=n(90490),bt=n(54357);const Tt=(e,t)=>{const n=e=>{const{children:n,className:s}=e;return(0,_.jsx)("div",{className:(0,bt.$)(t,s),"data-testid":e["data-testid"],children:n})};return n.displayName=e,n},Ct=e=>{const{children:t,darkMode:n,className:s}=e;return(0,_.jsx)("div",{className:(0,bt.$)("modal",{"modal--dark":n},s),children:t})},vt=e=>{const{title:t,icon:n,className:s}=e;return(0,_.jsxs)("div",{className:(0,bt.$)("modal__title",s),children:[n&&(0,_.jsx)("div",{className:"modal__title__icon",children:n}),(0,_.jsx)("div",{className:"modal__title__label",children:Qe(t)})]})},yt=e=>{const{title:t,children:n,className:s}=e;return!n&&t?(0,_.jsx)("div",{className:(0,bt.$)("modal__header",s),children:(0,_.jsx)(vt,{title:t})}):(0,_.jsx)("div",{className:(0,bt.$)("modal__header",s),children:n})},St=(Tt("ModalHeaderActions","modal__header__actions"),Tt("ModalBody","modal__body")),Nt=Tt("ModalFooter","modal__footer");var At,It;Tt("ModalFooterStatus","modal__footer__status"),function(e){e.STANDARD="STANDARD",e.CAUTION="CAUTION",e.ERROR="ERROR"}(At||(At={})),function(e){e.STANDARD="STANDARD",e.PROCEED_WITH_CAUTION="PROCEED_WITH_CAUTION",e.PROCEED="PROCEED"}(It||(It={}));class xt{applicationStore;blockingAlertInfo;actionAlertInfo;constructor(e){(0,Te.Gn)(this,{blockingAlertInfo:Te.sH,actionAlertInfo:Te.sH,setBlockingAlert:Te.XI,setActionAlertInfo:Te.XI}),this.applicationStore=e}setBlockingAlert(e){e?this.applicationStore.keyboardShortcutsService.blockGlobalHotkeys():this.applicationStore.keyboardShortcutsService.unblockGlobalHotkeys(),this.blockingAlertInfo=e}setActionAlertInfo(e){this.actionAlertInfo&&e&&this.applicationStore.notificationService.notifyIllegalState("Action alert is stacked: new alert is invoked while another one is being displayed"),e?this.applicationStore.keyboardShortcutsService.blockGlobalHotkeys():this.applicationStore.keyboardShortcutsService.unblockGlobalHotkeys(),this.actionAlertInfo=e}}var wt=n(14041);const Ot=(0,wt.createContext)(void 0),kt=()=>D((0,wt.useContext)(Ot),"Can't find application store in context"),Rt=e=>{const{children:t,store:n}=e,s=(0,mt.iz)(()=>n);return(0,_.jsx)(Ot.Provider,{value:s,children:t})},Pt=e=>{switch(e){case It.PROCEED_WITH_CAUTION:return"btn--caution";case It.PROCEED:case It.STANDARD:default:return"btn--dark"}},Lt=(0,mt.PA)(e=>{const{info:t}=e,n=kt(),{title:s,message:i,prompt:o,type:r,onClose:a,onEnter:c,actions:l}=t,d=()=>{a?.(),n.alertService.setActionAlertInfo(void 0)};return(0,_.jsx)(Et.A,{open:Boolean(n.alertService.actionAlertInfo),onClose:v,slotProps:{transition:{onEnter:()=>c?.()}},children:(0,_.jsxs)("form",{onSubmit:e=>{e.preventDefault(),l.find(e=>e.default)?.handler?.(),d()},className:`modal search-modal modal--dark blocking-alert blocking-alert--${(r??At.STANDARD).toLowerCase()}`,children:[s&&(0,_.jsx)(yt,{title:s}),(0,_.jsxs)(St,{children:[(0,_.jsx)("div",{className:"blocking-alert__summary-text",children:i}),(0,_.jsx)("div",{className:"blocking-alert__prompt-text",children:o})]}),(0,_.jsxs)(Nt,{children:[l.map((e,t)=>(0,_.jsx)("button",{type:e.default?"submit":"button",className:`btn btn--dark ${Pt(e.type??It.STANDARD)}`,onClick:t=>{t.preventDefault(),e.handler?.(),d()},autoFocus:Boolean(e.default),children:e.label},t)),!l.length&&(0,_.jsx)("button",{type:"button",className:"btn btn--dark blocking-alert__action--standard",onClick:d,children:"Cancel"})]})]})})}),Mt=(0,mt.PA)(()=>{const e=kt().alertService.actionAlertInfo;return e?(0,_.jsx)(Lt,{info:e}):null}),Ft=e=>{const{isLoading:t,className:n}=e,s=(0,wt.useRef)(null);return(0,wt.useEffect)(()=>{s.current&&(t?s.current.parentElement?.classList.add("panel-loading-indicator__container"):s.current.parentElement?.classList.remove("panel-loading-indicator__container"))},[t]),(0,_.jsx)("div",{ref:s,className:(0,bt.$)(n,"panel-loading-indicator"+(t?"":"--disabled"))})},Dt=(0,mt.PA)(()=>{const e=kt(),t=e.alertService.blockingAlertInfo;return t?(0,_.jsx)(Et.A,{open:Boolean(t),onClose:v,classes:{root:"blocking-alert__root-container",container:"blocking-alert__container"},children:(0,_.jsxs)(Ct,{darkMode:!e.layoutService.TEMPORARY__isLightColorThemeEnabled,className:"blocking-alert",children:[(0,_.jsx)(Ft,{isLoading:Boolean(t.showLoading)}),(0,_.jsxs)(St,{children:[(0,_.jsx)("div",{className:"blocking-alert__message",children:t.message}),t.prompt&&(0,_.jsx)("div",{className:"blocking-alert__message__prompt",children:t.prompt})]})]})}):null});var Bt=n(49787),jt=n(25314),Ht=n(94269),Ut=n(59896),Gt=n(12812),Vt=n(86750),$t=n(87997),Wt=n(56819),Yt=n(55250),zt=n(63318);const Kt=Bt.nvT,Xt=jt.joZ,Jt=jt.OAW,qt=jt.RCA,Zt=jt.nDj,Qt=Ht.LkA,en=Ht.EiC,tn=Ht.RQJ,nn=Ht.MYw,sn=Ht.ZCl,on=Ht.suX,rn=Ht.Xv9,an=Ht.xoW,cn=Ht.z6b,ln=Ht.kkD,dn=Ut.UHp,un=Ut.qt6,pn=Ut.UJh,hn=Ut.q$s,gn=Ut.$15,mn=Ut.WnZ,fn=Ut.HLi,_n=Ut.JpF,En=Ut.r$n,bn=Ut.QRP,Tn=Gt.GaR,Cn=Vt.QyA,vn=Vt.$TP,yn=Vt.uCC,Sn=Vt.Rqy,Nn=Vt.KRc,An=Vt.z44,In=Vt.A7C,xn=Vt.Hcz,wn=Vt.q7G,On=Vt.Pcn,kn=Vt.Wsx,Rn=Vt.zU_,Pn=Vt.hO$,Ln=Vt.nBS,Mn=Vt.Su4,Fn=Vt.TNq,Dn=Vt.BS8,Bn=Vt._AH,jn=Vt.SoL,Hn=Vt.Wx3,Un=Vt.t69,Gn=Vt.M1W,Vn=Vt.g1V,$n=Vt.Kni,Wn=Vt.OKX,Yn=Vt.__w,zn=Vt.svy,Kn=Vt.JhU,Xn=Vt.A4L,Jn=Vt.vq8,qn=Vt.UnJ,Zn=Vt.gSK,Qn=Vt.OiG,es=Vt.gZZ,ts=Vt.KSO,ns=Vt.E4Q,ss=Vt.$qz,is=Vt.iuJ,os=Vt._Hm,rs=Vt.QCr,as=Vt.qbC,cs=Vt.kxO,ls=Vt.GfC,ds=Vt.Ph,us=$t.f7n,ps=$t.Lun,hs=Wt.oss,gs=Wt.Br,ms=Wt.YZI,fs=Wt.D9N,_s=Yt.BMQ,Es=zt.est,bs=zt._cq,Ts=zt.PfQ,Cs=zt._wx,vs=zt.lIm;Bt.R7W,Bt.o5q,Bt.x6P,Bt.d6K,Bt.cLr,Bt.FZE,Bt.iml,Bt.wRw,Bt.IDg,Bt.aWg,Bt.UIj,Bt.voD,Bt.y4Q,Bt.ibs,Bt.NA3,Bt.Lf9,Bt.KnM,Bt.rQ_,Bt.I5J,Bt.TJb,Bt.haC,Bt.IYE,Bt.CdI,Bt.Ij8,Bt.Owf,Bt.aGB,Bt.QbR,Bt.Cvb,Bt.fzd;var ys=n(80810),Ss=n(63889);const Ns=6e3;var As;!function(e){e.ILEGAL_STATE="ILEGAL_STATE",e.ERROR="ERROR",e.WARNING="WARNING",e.SUCCESS="SUCCESS",e.INFO="INFO"}(As||(As={}));class Is{severity;message;details;autoHideDuration;constructor(e,t,n,s){this.severity=e,this.message=t,this.details=n,this.autoHideDuration=s}}class xs{notification;constructor(){(0,Te.Gn)(this,{notification:Te.sH,setNotification:Te.XI,notify:Te.XI,notifySuccess:Te.XI,notifyWarning:Te.XI,notifyIllegalState:Te.XI,notifyError:Te.XI})}setNotification(e){this.notification=e}notify(e,t,n){this.setNotification(new Is(As.INFO,e,t,null===n?void 0:n??Ns))}notifySuccess(e,t,n){this.setNotification(new Is(As.SUCCESS,e,t,null===n?void 0:n??Ns))}notifyWarning(e,t,n){this.setNotification(new Is(As.WARNING,e instanceof Error?e.message:e,t,null===n?void 0:n??Ns))}notifyError(e,t){const n=this.getErrorMessage(e);n&&this.setNotification(new Is(As.ERROR,n,t,void 0))}getErrorMessage(e){let t;return e instanceof x?t=e.detail:e instanceof Error?t=e.message:($(W(e),"Can't display error"),t=e),t}notifyIllegalState(e,t,n){this.setNotification(new Is(As.ILEGAL_STATE,W(e)?`[PLEASE NOTIFY DEVELOPER] ${e}`:e,t,null===n?void 0:n??Ns))}notifyUnsupportedFeature(e){this.notifyWarning(`Unsupported feature: ${e}`)}notifyAndReturnAlternativeOnError=(e,t)=>{try{return e()}catch(e){return R(e),this.notifyIllegalState(e.message),t}}}const ws=(0,mt.PA)(()=>{const e=kt(),t=e.notificationService.notification,n=Boolean(t),s=t?.message??"",i=t?.details,o=t?.severity??As.INFO,[r,a]=(0,wt.useState)(!1);let c=(0,_.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--info",children:(0,_.jsx)(Yn,{})});switch(o){case As.ILEGAL_STATE:c=(0,_.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--error",children:(0,_.jsx)(Nn,{})});break;case As.ERROR:c=(0,_.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--error",children:(0,_.jsx)(os,{})});break;case As.WARNING:c=(0,_.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--warning",children:(0,_.jsx)(Dn,{})});break;case As.SUCCESS:c=(0,_.jsx)("div",{className:"notification__message__content__icon notification__message__content__icon--success",children:(0,_.jsx)(In,{})})}const l=()=>{e.notificationService.setNotification(void 0),a(!1)},d=e.guardUnhandledError(()=>{let t=s;return r&&i&&(t=`${t}\n${i}`),e.clipboardService.copyTextToClipboard(t)});return(0,_.jsx)(ys.A,{classes:{root:"notification",anchorOriginBottomRight:"notification__position"},anchorOrigin:{vertical:"bottom",horizontal:"right"},open:n,autoHideDuration:t?t.autoHideDuration??null:Ns,onClose:(e,t)=>{"timeout"===t&&l()},children:(0,_.jsx)(Ss.A,{classes:{root:"notification__content",message:"notification__message",action:"notification__actions"},message:(0,_.jsxs)("div",{className:"notification__message__content",children:[c,(0,_.jsxs)("div",{className:(0,bt.$)("notification__message__content__text",{"notification__message__content__text--expanded":r}),onClick:d,title:"Click to Copy",children:[s,r&&t?.details?t.details:""]}),Boolean(t?.details)&&(0,_.jsx)("button",{className:"notification__copy__icon",onClick:d,title:"Copy message and trace","aria-label":"Copy message and trace",children:(0,_.jsx)(Rn,{})})]}),action:[(0,_.jsx)("button",{className:"notification__action",onClick:()=>a(!r),tabIndex:-1,title:r?"Collapse":"Expand",children:r?(0,_.jsx)(hs,{}):(0,_.jsx)(gs,{})},"expand"),(0,_.jsx)("button",{className:"notification__action",onClick:l,tabIndex:-1,title:"Dismiss",children:(0,_.jsx)(rs,{})},"close")]})},"string"==typeof s||"number"==typeof s?s:"")});var Os=n(46100);const ks=e=>{const{children:t,classes:n,...s}=e;return(0,_.jsx)(Os.A,{classes:{...n??{},paper:"mui-menu__paper",list:"mui-menu__list"},transitionDuration:0,...s,children:e.children})},Rs=e=>{const{className:t,children:n,menuProps:s,content:i,disabled:o,onClose:r,onOpen:a}=e,c=(0,wt.useRef)(null),[l,d]=(0,wt.useState)(!1),[u,p]=(0,wt.useState)(),[h,g]=(0,wt.useState)(0),[m,f]=(0,wt.useState)(0),E=()=>{p(void 0),d(!1),f(0),g(0)},b=e=>{e.stopPropagation(),e.preventDefault(),E(),r?.()},T=e=>{if(e.stopPropagation(),e.preventDefault(),!o&&(a?.(),c.current)){const t=c.current.getBoundingClientRect(),n=t.left+(window.scrollX||document.documentElement.scrollLeft),s=t.top+(window.scrollY||document.documentElement.scrollTop),{clientX:i,clientY:o,target:a}=e,l=a;if(u!==l&&!(document.elementsFromPoint(i,o).some(e=>e===l)&&n<=i&&i<=n+t.width&&s<=o&&o<=s+t.height))return E(),void r?.();p(l),d(!0),f(o),g(i)}};return(0,_.jsxs)("div",{ref:c,className:t,onContextMenu:T,children:[n,(0,_.jsx)(ks,{open:l,anchorPosition:{left:h,top:m},onClose:b,anchorReference:"anchorPosition",BackdropProps:{invisible:!0,onContextMenu:T},disableRestoreFocus:!0,transitionDuration:0,onClick:b,...s,children:l&&i},`${h}, ${m}`)]})},Ps=(0,wt.forwardRef)(function(e,t){const{className:n,children:s,...i}=e;return(0,_.jsx)("div",{ref:t,className:(0,bt.$)("menu",n),...i,children:s})}),Ls=e=>{const{className:t,onClick:n,title:s,disabled:i,children:o,...r}=e;return(0,_.jsx)("button",{className:(0,bt.$)("menu__item",t),disabled:Boolean(i),title:s,onClick:n,...r,children:o})},Ms=Tt("MenuContentDivider","menu__divider");Tt("MenuContentItemIcon","menu__item__icon"),Tt("MenuContentItemLabel","menu__item__label");var Fs=n(5142),Ds=n(29163),Bs=n(30559);const js=e=>((0,wt.useEffect)(()=>{Bs.A.initialize({startOnLoad:!0,theme:"dark"}),Bs.A.contentLoaded()},[e.value]),(0,_.jsx)("div",{className:(0,bt.$)("markdown-content",e.className),children:(0,_.jsx)(Fs.oz,{remarkPlugins:[Ds.A],components:e.components??{code:e=>{const{children:t,className:n,node:s,...i}=e,o=/language-(?<language>\w+)/.exec(n??"");return o?.groups?.language?(0,_.jsx)("code",{...i,className:(0,bt.$)(o.groups.language),children:t}):(0,_.jsx)("code",{...i,className:n,children:t})}},children:e.value.value})}));var Hs=n(89463),Us=(n(11097),n(53213),n(65318)),Gs=n(12777);function Vs(e){const t=(0,wt.useRef)(e?.skipOnMount),n=e?.refreshMode,s=e?.refreshRate??1e3,i=(0,wt.useMemo)(()=>({leading:e?.refreshOptions?.leading,trailing:e?.refreshOptions?.trailing}),[e?.refreshOptions?.leading,e?.refreshOptions?.trailing]),[o,r]=(0,wt.useState)({width:void 0,height:void 0}),a=(0,wt.useRef)(null),c=(0,wt.useMemo)(()=>e?.targetRef??a,[e?.targetRef]),l=e?.onResize,d=(0,wt.useCallback)(e=>{t.current?t.current=!1:e.forEach(e=>{const t={width:e.contentRect.width,height:e.contentRect.height};r(n=>n.width===t.width&&n.height===t.height?n:(l?.({width:t.width,height:t.height,entry:e}),t))})},[t,l]),u=(0,wt.useMemo)(()=>{switch(n){case"debounce":return(0,Us.A)(d,s,i);case"throttle":return(0,Gs.A)(d,s,i);default:return d}},[d,n,s,i]);return(0,wt.useEffect)(()=>{let e;return c.current?(e=new window.ResizeObserver(u),e.observe(c.current)):(l?.({width:void 0,height:void 0,entry:void 0}),r({width:void 0,height:void 0})),()=>{e?.disconnect(),"cancel"in u&&u.cancel()}},[u,l,c]),{ref:c,...o}}const $s=e=>{const{children:t}=e,{ref:n,width:s,height:i}=Vs({refreshMode:"throttle",refreshRate:50,refreshOptions:{trailing:!0}}),[o,r]=(0,wt.useState)(!1),{ref:a,width:c,height:l}=Vs({refreshMode:"throttle",refreshRate:50,refreshOptions:{trailing:!0}});return(0,wt.useEffect)(()=>{r((c??0)>(s??0)+40&&(l??0)>(i??0)+40)},[c,l,s,i]),(0,_.jsx)("div",{ref:a,className:"panel__content__blank",children:(0,_.jsx)("div",{ref:n,className:(0,bt.$)("panel__content__blank__content",{"panel__content__blank__content--hide":!o}),children:t})})};var Ws=n(28766),Ys=n(10339),zs=n(91327);const Ks=e=>{const{children:t,options:n,size:s,className:i,...o}=e,r=((e,t)=>{const n=[];for(let s=0;s<e.length;s+=t)n.push(e.slice(s,s+t));return n})(n,s);return(0,_.jsxs)("div",{className:(0,bt.$)("mui-radio-group",i),children:[r.map((e,t)=>(0,_.jsx)("div",{children:(0,_.jsx)(Ws.A,{className:"mui-radio-group__group",...o,children:e.map(e=>(0,_.jsx)(Ys.A,{className:"mui-radio-group__group__column",style:{width:100/s+"%"},value:e,control:(0,_.jsx)(zs.A,{className:"mui-radio-group__group__item__radio-btn",classes:{checked:"mui-radio-group__group__item__radio-btn--checked"}}),label:(0,_.jsx)("div",{className:"mui-radio-group__group__item__label",children:e})},e))})},t)),t]})};var Xs=n(62437);const Js=e=>{const{children:t,...n}=e;return(0,_.jsx)(Xs.Ay,{classes:{paper:"mui-popover__paper"},transitionDuration:0,...n,children:e.children})};var qs,Zs=n(64);!function(e){e.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX="question.how-to-use-advanced-search-syntax"}(qs||(qs={}));const Qs=(0,mt.PA)(e=>{const{entry:t}=e,n=kt(),s=()=>{t.isOpen||Pe.logEvent_VirtualAssistantDocumentationEntryAccessed(n.telemetryService,{key:t.documentationKey}),t.setIsOpen(!t.isOpen)},i=n.guardUnhandledError(()=>n.clipboardService.copyTextToClipboard(t.documentationKey));return(0,_.jsx)(Rs,{className:"virtual-assistant__doc-entry",menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,_.jsx)(Ps,{children:(0,_.jsx)(Ls,{onClick:i,children:"Copy Documentation Key"})}),children:(0,_.jsxs)("div",{className:"virtual-assistant__doc-entry",children:[(0,_.jsxs)("div",{className:"virtual-assistant__doc-entry__header",children:[(0,_.jsx)("button",{className:(0,bt.$)("virtual-assistant__doc-entry__expand-icon",{"virtual-assistant__doc-entry__expand-icon--disabled":!t.content}),disabled:!t.content,tabIndex:-1,onClick:s,children:t.isOpen?(0,_.jsx)(hs,{}):(0,_.jsx)(ms,{})}),t.url?(0,_.jsx)("a",{className:"virtual-assistant__doc-entry__title virtual-assistant__doc-entry__title--link",rel:"noopener noreferrer",target:"_blank",href:t.url,onClick:()=>{Pe.logEvent_VirtualAssistantDocumentationEntryAccessed(n.telemetryService,{key:t.documentationKey})},title:"Click to see external documentation",children:t.title}):(0,_.jsx)("div",{className:"virtual-assistant__doc-entry__title",onClick:s,children:t.title})]}),t.isOpen&&t.content&&(0,_.jsx)("div",{className:"virtual-assistant__doc-entry__content",children:W(t.content)?(0,_.jsx)("div",{className:"virtual-assistant__doc-entry__content__text",children:t.content}):(0,_.jsx)(js,{className:"virtual-assistant__doc-entry__content__markdown-text",value:t.content})})]})})}),ei=(0,mt.PA)(()=>{const e=kt(),t=e.assistantService.currentContextualDocumentationEntry,n=e.guardUnhandledError(()=>e.clipboardService.copyTextToClipboard(t?.context??"")),s=e.guardUnhandledError(()=>e.clipboardService.copyTextToClipboard(e.navigationContextService.currentContext?.key??"")),i=e.guardUnhandledError(()=>e.clipboardService.copyTextToClipboard(e.navigationContextService.contextStack.map(e=>e.key).join(" > ")));return(0,_.jsxs)(Rs,{className:"virtual-assistant__contextual-support",disabled:!t,menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,_.jsxs)(Ps,{children:[(0,_.jsx)(Ls,{onClick:n,children:"Copy Context ID"}),(0,_.jsx)(Ls,{onClick:s,children:"Copy Current Context ID"}),(0,_.jsx)(Ls,{onClick:i,children:"Copy Context Stack"})]}),children:[t&&(0,_.jsxs)("div",{className:"virtual-assistant__contextual-support__content",children:[t.title&&(0,_.jsx)("div",{className:"virtual-assistant__contextual-support__title",children:t.title}),t.content&&(0,_.jsx)(_.Fragment,{children:W(t.content)?(0,_.jsx)("div",{className:"virtual-assistant__contextual-support__text",children:t.content}):(0,_.jsx)(js,{className:"virtual-assistant__contextual-support__markdown-text",value:t.content})}),t.related.length&&(0,_.jsxs)("div",{className:"virtual-assistant__contextual-support__relevant-entries",children:[(0,_.jsxs)("div",{className:"virtual-assistant__contextual-support__relevant-entries__title",children:["Related entries (",t.related.length,")"]}),t.related.map(e=>(0,_.jsx)(Qs,{entry:e},e.uuid))]})]}),!t&&(0,_.jsx)($s,{children:(0,_.jsxs)("div",{className:"virtual-assistant__panel__placeholder",children:[(0,_.jsx)(jn,{className:"virtual-assistant__panel__placeholder__icon"}),(0,_.jsx)("div",{className:"virtual-assistant__panel__placeholder__message",children:"No contextual documentation found!"}),(0,_.jsx)("div",{className:"virtual-assistant__panel__placeholder__instruction",children:"Keep using the app. When contextual help is available, we will let you know!"})]})})]})}),ti=(0,mt.PA)(()=>{const e=kt(),t=(0,wt.useRef)(null),n=e.assistantService,s=n.searchText,i=(0,wt.useMemo)(()=>(0,Us.A)(()=>n.search(),100),[n]);return(0,wt.useEffect)(()=>{t.current?.focus()},[]),(0,_.jsxs)("div",{className:"virtual-assistant__search",children:[(0,_.jsxs)("div",{className:"virtual-assistant__search__header",children:[(0,_.jsx)("input",{ref:t,onClick:()=>{document.querySelectorAll('[role="dialog"]').length&&t.current!==document.activeElement&&n.refreshPanelRendering()},className:(0,bt.$)("virtual-assistant__search__input input--dark",{"virtual-assistant__search__input--searching":s}),spellCheck:!1,onChange:e=>{n.setSearchText(e.target.value),i()},value:s,placeholder:"Ask me a question"}),s&&(0,_.jsx)("div",{className:"virtual-assistant__search__input__search__count",children:n.searchResults.length+(n.isOverSearchLimit?"+":"")}),(0,_.jsx)("button",{className:(0,bt.$)("virtual-assistant__search__input__config__trigger",{"virtual-assistant__search__input__config__trigger--toggled":n.showSearchConfigurationMenu,"virtual-assistant__search__input__config__trigger--active":n.searchConfigurationState.isAdvancedSearchActive}),tabIndex:-1,onClick:()=>n.setShowSearchConfigurationMenu(!n.showSearchConfigurationMenu),title:(n.searchConfigurationState.isAdvancedSearchActive?"Advanced search is currently active\n":"")+"Click to toggle search config menu",children:(0,_.jsx)(On,{})}),s?(0,_.jsx)("button",{className:"virtual-assistant__search__input__clear-btn",tabIndex:-1,onClick:()=>{n.resetSearch(),n.currentDocumentationEntry=void 0,t.current?.focus()},title:"Clear",children:(0,_.jsx)(rs,{})}):(0,_.jsx)("div",{className:"virtual-assistant__search__input__search__icon",children:(0,_.jsx)(ts,{})})]}),(0,_.jsxs)("div",{className:"virtual-assistant__search__content",children:[(0,_.jsx)(Ft,{isLoading:n.searchState.isInProgress}),(0,_.jsx)("div",{className:(0,bt.$)("virtual-assistant__search__input__config__panel",{"virtual-assistant__search__input__config__panel--toggled":n.showSearchConfigurationMenu}),children:(0,_.jsxs)("div",{className:"virtual-assistant__search__input__advanced-config__panel",children:[(0,_.jsxs)("div",{className:"virtual-assistant__search__input__advanced-config__panel__header__label",children:["search config",e.documentationService.hasDocEntry(qs.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX)&&(0,_.jsx)("div",{onClick:()=>n.openDocumentationEntryLink(qs.QUESTION_HOW_TO_USE_ADVANCED_SEARCH_SYNTAX),title:"Click to see documentation",className:"virtual-assistant__search__input__advanced-config__panel__header__label__hint",children:(0,_.jsx)(es,{})})]}),(0,_.jsx)("div",{children:(0,_.jsx)(Ks,{value:n.searchConfigurationState.currentMode,onChange:e=>{const t=e.target.value;n.searchConfigurationState.setCurrentMode(t)},row:!1,options:[Ne.STANDARD,Ne.INCLUDE,Ne.EXACT,Ne.INVERSE],size:1})})]})}),n.currentDocumentationEntry&&(0,_.jsx)("div",{className:"virtual-assistant__search__results",children:(0,_.jsx)(Qs,{entry:n.currentDocumentationEntry},n.currentDocumentationEntry.uuid)}),!n.currentDocumentationEntry&&(0,_.jsxs)(_.Fragment,{children:[Boolean(n.searchResults.length)&&(0,_.jsx)("div",{className:"virtual-assistant__search__results",children:n.searchResults.map(e=>(0,_.jsx)(Qs,{entry:e},e.uuid))}),s&&!n.searchResults.length&&(0,_.jsx)($s,{children:(0,_.jsxs)("div",{className:"virtual-assistant__panel__placeholder",children:[(0,_.jsx)(Hn,{className:"virtual-assistant__panel__placeholder__icon"}),(0,_.jsx)("div",{className:"virtual-assistant__panel__placeholder__message",children:"No result..."})]})}),!s&&!n.searchResults.length&&(0,_.jsx)(Rs,{className:"virtual-assistant__character__container",menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,_.jsxs)(Ps,{children:[(0,_.jsx)(Ls,{onClick:()=>{de(`documentation-registry_${(0,Zs.GP)(new Date(Date.now()),Ve)}.json`,JSON.stringify(e.documentationService.publishDocRegistry(),void 0,2),ne.APPLICATION_JSON)},children:"Download documentation registry"}),(0,_.jsx)(Ls,{onClick:()=>{de(`documentation-registry_${(0,Zs.GP)(new Date(Date.now()),Ve)}.json`,JSON.stringify(e.documentationService.publishContextualDocIndex(),void 0,2),ne.APPLICATION_JSON)},children:"Download contextual documentation mapping"})]}),children:(0,_.jsxs)("div",{className:"virtual-assistant__character",children:[(0,_.jsxs)("div",{className:"virtual-assistant__character__figure",children:[(0,_.jsx)(ls,{className:"virtual-assistant__character__hat"}),(0,_.jsx)(ps,{className:"virtual-assistant__character__glasses"}),(0,_.jsx)(us,{className:"virtual-assistant__character__beard"})]}),(0,_.jsx)("div",{className:"virtual-assistant__character__greeting",children:"Bonjour, It's Pierre!"}),(0,_.jsx)("div",{className:"virtual-assistant__character__question",children:"How can I help today?"})]})})]})]})]})}),ni=(0,mt.PA)(e=>{const{triggerElement:t}=e,n=kt(),s=n.assistantService,i=s.currentContextualDocumentationEntry,o=s.selectedTab,r=n.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraVirtualAssistantViewConfigurations?.()??[]),a=r.find(e=>e.key===o);return(0,_.jsx)(Js,{open:s.isOpen,className:"virtual-assistant__panel__container",anchorEl:t,hideBackdrop:!0,slotProps:{paper:{classes:{root:"virtual-assistant__panel__container__root"}}},disableEnforceFocus:!0,anchorOrigin:{vertical:"bottom",horizontal:"left"},transformOrigin:{vertical:"bottom",horizontal:"right"},children:(0,_.jsxs)("div",{className:(0,bt.$)("virtual-assistant__panel",{"virtual-assistant__panel--maximized":s.isPanelMaximized}),tabIndex:0,onKeyDown:e=>{"Tab"===e.key&&(e.preventDefault(),e.stopPropagation())},children:[(0,_.jsxs)("div",{className:"virtual-assistant__panel__header",children:[(0,_.jsxs)("div",{className:"virtual-assistant__panel__header__tabs",children:[(0,_.jsx)("div",{className:(0,bt.$)("virtual-assistant__panel__header__tab",{"virtual-assistant__panel__header__tab--active":o===Ae.SEARCH}),onClick:()=>s.setSelectedTab(Ae.SEARCH),title:"Search",children:(0,_.jsx)("div",{className:"virtual-assistant__panel__header__tab__content",children:(0,_.jsx)(ts,{})})}),(0,_.jsx)("div",{className:(0,bt.$)("virtual-assistant__panel__header__tab",{"virtual-assistant__panel__header__tab--active":o===Ae.CONTEXTUAL_SUPPORT}),onClick:()=>s.setSelectedTab(Ae.CONTEXTUAL_SUPPORT),title:"Contextual Support",children:(0,_.jsxs)("div",{className:"virtual-assistant__panel__header__tab__content",children:[(0,_.jsx)(Jn,{}),i&&(0,_.jsx)("div",{className:"virtual-assistant__panel__header__tab__indicator",title:"Contextual support available"})]})}),r.map(e=>(0,_.jsx)("div",{className:(0,bt.$)("virtual-assistant__panel__header__tab",{"virtual-assistant__panel__header__tab--active":o===e.key}),onClick:()=>{s.setSelectedTab(e.key),e.autoExpandOnOpen&&s.setIsPanelMaximized(!0)},title:e.title,children:(0,_.jsx)("div",{className:"virtual-assistant__panel__header__tab__content",children:e.icon??(0,_.jsx)(es,{})})},e.key))]}),(0,_.jsxs)("div",{className:"virtual-assistant__panel__header__actions",children:[(0,_.jsx)("button",{className:"virtual-assistant__panel__header__action",tabIndex:-1,onClick:()=>s.setIsPanelMaximized(!s.isPanelMaximized),title:s.isPanelMaximized?"Minimize":"Maximize",children:s.isPanelMaximized?(0,_.jsx)(Mn,{}):(0,_.jsx)(cs,{})}),(0,_.jsx)("button",{className:"virtual-assistant__panel__header__action",tabIndex:-1,onClick:()=>s.setIsOpen(!1),title:"Close",children:(0,_.jsx)(tn,{className:"virtual-assistant__panel__icon__close"})})]})]}),(0,_.jsxs)("div",{className:"virtual-assistant__panel__content",children:[o===Ae.SEARCH&&(0,_.jsx)(ti,{}),o===Ae.CONTEXTUAL_SUPPORT&&(0,_.jsx)(ei,{}),a?.renderer()]})]})},s.panelRenderingKey)}),si=(0,mt.PA)(()=>{const[e,t]=(0,wt.useState)(!1),[n,s]=(0,wt.useState)((0,o.A)()),i=kt(),r=(0,wt.useRef)(null),a=i.assistantService,c=a.currentContextualDocumentationEntry,l=()=>{!a.isOpen&&c&&a.setSelectedTab(Ae.CONTEXTUAL_SUPPORT),a.setIsOpen(!a.isOpen)};return(0,wt.useEffect)(()=>{a.isHidden&&s((0,o.A)())},[a.isHidden]),(0,_.jsx)(Hs,{bounds:"parent",onStart:()=>t(!0),onStop:()=>t(!1),nodeRef:r,handle:".virtual-assistant__station__drag-handle",children:(0,_.jsxs)("div",{className:"virtual-assistant",ref:r,children:[(0,_.jsxs)("div",{className:(0,bt.$)("virtual-assistant__station",{"virtual-assistant__station--hidden":a.isHidden,"virtual-assistant__station--active":Boolean(c)}),children:[(0,_.jsx)("button",{className:"virtual-assistant__station__hide-button",title:"Hide assistant",onClick:()=>{i.assistantService.toggleAssistant()},children:(0,_.jsx)(qn,{})}),(0,_.jsx)("button",{className:"virtual-assistant__station__trigger",tabIndex:-1,onClick:l,title:a.isOpen?"Click to close assistant panel":(c?"Contextual support available.\n":"")+"Click to open Assistant...",children:(0,_.jsxs)("div",{className:"virtual-assistant__station__character",children:[(0,_.jsx)(ls,{className:"virtual-assistant__station__character__hat"}),(0,_.jsx)(ps,{className:"virtual-assistant__station__character__glasses"}),(0,_.jsx)(us,{className:"virtual-assistant__station__character__beard"})]})}),(0,_.jsx)("div",{className:"virtual-assistant__station__label",onClick:l,children:"Assistant"}),(0,_.jsx)(Rs,{className:(0,bt.$)("virtual-assistant__station__drag-handle",{"virtual-assistant__station__drag-handle--dragging":e}),menuProps:{elevation:7,classes:{root:"virtual-assistant__context-menu"}},content:(0,_.jsxs)(Ps,{children:[(0,_.jsx)(Ls,{onClick:()=>{a.setIsOpen(!1),s((0,o.A)())},children:"Reset Position"}),(0,_.jsx)(Ls,{onClick:()=>i.assistantService.hideAssistant(),children:"Hide Assistant"})]}),children:(0,_.jsx)("div",{className:"virtual-assistant__station__drag-handle__content",title:e?void 0:"Grab to drag assistant",children:(0,_.jsx)(bn,{})})})]},c?.uuid??""),!e&&a.isOpen&&!a.isHidden&&r.current&&(0,_.jsx)(ni,{triggerElement:r.current})]})},n)});var ii;!function(e){e.TOP_LEVEL_CONTAINER="application.top-level-container",e.BACKDROP_CONTAINER="application.backdrop-container"}(ii||(ii={}));const oi=["Meta+KeyP","Control+KeyP","Meta+KeyS","Control+KeyS","F8","F10","F11","Meta+Shift+KeyP","Control+Backquote","Control+Shift+KeyN","Control+Shift+KeyP","Meta+KeyB","Control+KeyB","F7","Alt+F7","Control+Shift+KeyB","Alt+KeyZ"],ri=(e,t)=>{const n={};return e.forEach((e,s)=>{e.length&&(n[s]={combinations:e,handler:t})}),n.INTERNAL__PLATFORM_NATIVE_KEYBOARD_COMMAND={combinations:oi,handler:(e,t)=>{t.preventDefault()}},n},ai=e=>(0,_.jsx)("div",{className:"backdrop__container","data-elementid":e.elementId}),ci=(0,mt.PA)(e=>{const{children:t,enableTransitions:n,customFonts:s}=e,i=kt(),o=ri(i.keyboardShortcutsService.commandKeyMap,(e,t)=>{oi.includes(e)&&t.preventDefault(),i.keyboardShortcutsService.dispatch(e)});return(0,wt.useEffect)(()=>{const e=ot(o);return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[o]),(0,wt.useEffect)(()=>{const e=()=>{document.hidden&&(Pe.logEvent_ApplicationUsageInterrupted(i.telemetryService),i.timeService.recordUsageInterruption())};return document.addEventListener("visibilitychange",e),()=>{document.removeEventListener("visibilitychange",e)}},[i]),(0,_.jsxs)(pt,{enableTransitions:n,customFonts:s,children:[(0,_.jsx)(Dt,{}),(0,_.jsx)(Mt,{}),(0,_.jsx)(ws,{}),(0,_.jsx)(si,{}),i.layoutService.showBackdrop&&(0,_.jsx)(ht.A,{container:i.layoutService.getElementByID(i.layoutService.backdropContainerElementID??ii.BACKDROP_CONTAINER)??null,children:(0,_.jsx)(gt.A,{className:"backdrop",open:i.layoutService.showBackdrop})}),(0,_.jsx)(ft.Q,{backend:_t.t2,children:(0,_.jsxs)("div",{style:{height:"100%",width:"100%"},"data-elementid":ii.TOP_LEVEL_CONTAINER,onContextMenu:e=>{e.stopPropagation(),e.preventDefault()},children:[(0,_.jsx)(ai,{elementId:ii.BACKDROP_CONTAINER}),t]})})]})}),li=(0,mt.PA)(e=>{const{children:t,enableTransitions:n,customFonts:s}=e,i=kt(),o=ri(i.keyboardShortcutsService.commandKeyMap,(e,t)=>{oi.includes(e)&&t.preventDefault(),i.keyboardShortcutsService.dispatch(e)});return(0,wt.useEffect)(()=>{const e=ot(o);return document.addEventListener("keydown",e),()=>{document.removeEventListener("keydown",e)}},[o]),(0,_.jsx)(pt,{enableTransitions:n,customFonts:s,children:(0,_.jsx)(ft.Q,{backend:_t.t2,children:(0,_.jsxs)("div",{style:{height:"100%",width:"100%"},"data-elementid":ii.TOP_LEVEL_CONTAINER,onContextMenu:e=>{e.stopPropagation(),e.preventDefault()},children:[(0,_.jsx)(ai,{elementId:ii.BACKDROP_CONTAINER}),t]})})})}),di={foreground:"#cccccc",background:"#1e1e1e",cursor:"#cccccc",selectionBackground:"#264f78",black:"#000000",red:"#cd3131",green:"#0dbc79",yellow:"#e5e510",blue:"#2472c8",magenta:"#bc3fbc",cyan:"#11a8cd",white:"#e5e5e5",brightBlack:"#666666",brightRed:"#f14c4c",brightGreen:"#23d18b",brightYellow:"#f5f543",brightBlue:"#3b8eea",brightMagenta:"#d670d6",brightCyan:"#29b8db",brightWhite:"#e5e5e5"},ui={matchOverviewRuler:"#d186167e",activeMatchColorOverviewRuler:"#A0A0A0CC",matchBackground:"#62331c",activeMatchBackground:"#515C6A"},pi=`\n${$e.BOLD}${$e.BRIGHT_BLUE}$purist${$e.RESET}\n${$e.BOLD}${$e.MAGENTA}❯${$e.RESET} `,hi="❯ ";class gi{terminal;regex;handler;constructor(e,t,n){this.terminal=e,this.regex=t,this.handler=n}provideLinks(e,t){t(this.computeLink(e).map(e=>({range:e.range,text:e.text,activate:this.handler})))}computeLink(e){const[t,n]=this.translateBufferLineToStringWithWrap(e-1),s=new RegExp(this.regex.source,`${this.regex.flags||""}g`);let i,o=-1;const r=[];for(;null!==(i=s.exec(t));){const e=i[0];if(!e)break;if(o=t.indexOf(e,o+1),s.lastIndex=o+e.length,o<0)break;r.push({text:e,range:{start:this.stringIndexToBufferPosition(o,n,!1),end:this.stringIndexToBufferPosition(o+e.length-1,n,!0)}})}return r}translateBufferLineToStringWithWrap(e){let t,n,s="";do{const t=this.terminal.buffer.active.getLine(e);if(!t)break;t.isWrapped&&e--,n=t.isWrapped}while(n);const i=e;do{const n=this.terminal.buffer.active.getLine(e+1);t=!!n&&n.isWrapped;const i=this.terminal.buffer.active.getLine(e);if(!i)break;s+=i.translateToString(!0).substring(0,this.terminal.cols),e++}while(t);return[s,i]}stringIndexToBufferPosition(e,t,n){const s=this.terminal.buffer.active.getNullCell();for(;e;){const i=this.terminal.buffer.active.getLine(t);if(!i)return{x:0,y:0};const o=i.length;let r=0;for(;r<o;){if(i.getCell(r,s),(e-=s.getChars().length)<0)return{x:r+(n?s.getWidth():1),y:t+1};r+=s.getWidth()}t++}return{x:1,y:t+1}}}class mi extends Ke{instance;resizer;renderer;searcher;linkProvider;_TEMPORARY__onKeyListener;_TEMPORARY__onDataListener;command="";commandHistory=[];currentCommandSearchString="";commandHistoryNavigationIdx=void 0;isRunningCommand=!1;setupState=Ce.create();constructor(e){super(e),this.instance=new De.Terminal({allowProposedApi:!0,fontSize:12,letterSpacing:2,fontWeight:400,fontWeightBold:700,fontFamily:`"${Ge}", Menlo, Consolas, monospace`,tabStopWidth:2,theme:di,overviewRulerWidth:14,scrollback:1e5,convertEol:!0,scrollOnUserInput:!1}),this.resizer=new Be.FitAddon,this.searcher=new je.SearchAddon,this.renderer=new Ue.WebglAddon}setup(e){if(this.setupState.hasCompleted)throw new O("Terminal is already set up");this.setupState.complete(),this.renderer.onContextLoss(()=>{this.renderer.dispose()}),this.instance.loadAddon(this.resizer),this.instance.loadAddon(this.searcher),this.instance.loadAddon(this.renderer),this.instance.loadAddon(new He.Unicode11Addon),this.instance.unicode.activeVersion="11",this.instance.attachCustomKeyEventHandler(e=>it(e,"Control+KeyF")||it(e,"Meta+KeyF")?(e.preventDefault(),e.stopPropagation(),this.searchConfig.focus(),!1):!(it(e,"Control+KeyC")&&this.instance.hasSelection()||it(e,"Control+KeyV"))),e?.webLinkProvider&&(this.linkProvider=this.instance.registerLinkProvider(new gi(this.instance,e.webLinkProvider.regex,e.webLinkProvider.handler))),(e?.commands??[]).forEach(e=>{[e.command,...e.aliases??[]].forEach(t=>{this.commandRegistry.has(t)?this.applicationStore.logService.warn(l.create(ue.TERMINAL_COMMAND_CONFIGURATION_CHECK__FAILURE),`Found multiple duplicated terminal commands '${t}'`):this.commandRegistry.set(t,e)})}),this.searcher.onDidChangeResults(e=>{this.setSearchResultCount(e.resultCount),this.setSearchCurrentResultIndex(e.resultIndex)}),this._TEMPORARY__onKeyListener=this.instance.onKey(({key:e,domEvent:t})=>{var n,s;if("ArrowUp"!==t.code)if("ArrowDown"!==t.code)if(this.commandHistoryNavigationIdx=void 0,"Enter"===t.code){if(this.command.trim()){const e=this.command,[t,...n]=e.replaceAll(/\s+/g," ").split(" ");if(this.addCommandToHistory(this.command),!t)return;const s=this.commandRegistry.get(t);if(!s)return void this.fail(`command not found: ${t}`);if(this.isRunningCommand)return;this.isRunningCommand=!0,s.handler(n.map(e=>e.trim()),t,e).catch(()=>{}).finally(()=>{this.isRunningCommand=!1,this.isFlushed||this.abort()})}}else if(it(t,"Control+KeyD")||it(t,"Control+KeyC")&&!this.instance.hasSelection())this.abort();else if("Backspace"===t.code)this.deleteFromCommand(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!0):-1);else if("Delete"===t.code)this.deleteFromCommand(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!1):1);else if("ArrowLeft"===t.code){const e=this.computeCursorMovement(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!0):-1);this.instance.scrollLines(e.scroll),this.instance.write(e.seq)}else if("ArrowRight"===t.code){const e=this.computeCursorMovement(t.altKey||t.ctrlKey?this.computeCursorJumpMovement(!1):1);this.instance.scrollLines(e.scroll),this.instance.write(e.seq)}else e.match(/^[A-Za-z0-9!@#$%^&*()\-_=+"':;,.<>/?[\]{}|\\~` ]$/)?this.writeToCommand(e):(n=t,s=this.applicationStore,s.layoutService.getElementByID(ii.TOP_LEVEL_CONTAINER)?.dispatchEvent(new KeyboardEvent(n.type,n)));else void 0!==this.commandHistoryNavigationIdx&&this.setCommandFromHistory(0===this.commandHistoryNavigationIdx?void 0:this.commandHistoryNavigationIdx-1);else this.setCommandFromHistory(void 0!==this.commandHistoryNavigationIdx?this.commandHistoryNavigationIdx+1:0)}),this._TEMPORARY__onDataListener=this.instance.onData(e=>{e.length>1&&!e.startsWith("")&&this.writeToCommand(e.replaceAll(/[^A-Za-z0-9!@#$%^&*()\-_=+"':;,.<>/?[\]{}|\\~` ]/g,"").trimEnd())})}getCommandRange(){const e=this.instance.buffer.active,t=this.instance.cols,n=`${hi}${this.command}`,s=`${hi}${this.command.substring(0,t-2)}${this.command.length<t-2?" ".repeat(t-this.command.length-2):""}`;let i=0,o=0;for(let n=e.baseY+e.cursorY;n>-1;--n){if(D(e.getLine(n)).translateToString()===s){i=n,o+=(n===e.baseY+e.cursorY?e.cursorX:t)-2;break}o+=n===e.baseY+e.cursorY?e.cursorX:t}return{startY:i,startX:2,endY:i+(n.length-n.length%t)/t,endX:n.length%t,cursorIdx:o}}computeCursorJumpMovement(e){const t=this.getCommandRange();let n,s=!1;if(e){for(let e=t.cursorIdx-1;e>-1;--e)if(this.command.charAt(e).match(/\w/))s||(s=!0);else if(s){n=t.cursorIdx-e-1;break}}else for(let e=t.cursorIdx+1;e<this.command.length;++e)if(this.command.charAt(e).match(/\w/))s||(s=!0);else if(s){n=e-t.cursorIdx-1;break}return void 0===n&&(n=e?t.cursorIdx:this.command.length-t.cursorIdx),e?-n:n}computeCursorMovement(e,t=!0){const n=this.instance.buffer.active,s=this.instance.cols,i=this.instance.rows,o=this.getCommandRange(),r=t?e<0?o.cursorIdx:this.command.length-o.cursorIdx:e,a=Math.min(Math.abs(e),r);let c=n.cursorX,l=n.cursorY,d=n.baseY+n.cursorY;e<0?(c=(s+(n.cursorX-a)%s)%s,l=n.cursorY-(a>n.cursorX?Math.ceil(a/s):0),d=l+n.baseY,l=Math.max(l,-1)):e>0&&(c=(n.cursorX+a)%s,l=n.cursorY+(n.cursorX+a>=s?Math.floor((n.cursorX+a)/s):0),d=l+n.baseY,l=Math.min(l,i-1));const u=d>n.viewportY+i?d-(n.viewportY+i):d<n.viewportY?d-n.viewportY:0;return{seq:We(l+1,c+1),scroll:u}}writeToCommand(e){const t=this.getCommandRange(),n=this.command.slice(0,t.cursorIdx),s=this.command.slice(t.cursorIdx),i=this.computeCursorMovement(e.length,!1);this.instance.scrollLines(i.scroll),this.instance.write(e+s+i.seq),this.setCommand(n+e+s)}deleteFromCommand(e){const t=this.getCommandRange(),n=e<0?t.cursorIdx:this.command.length-t.cursorIdx,s=Math.min(Math.abs(e),n);let i,o,r;if(0===e)return;e<0?(i=this.command.slice(0,t.cursorIdx-s),o=this.command.slice(t.cursorIdx,this.command.length),r=-s):(i=this.command.slice(0,t.cursorIdx),o=this.command.slice(t.cursorIdx+s,this.command.length),r=0);const a=this.computeCursorMovement(r);this.instance.scrollLines(a.scroll),this.instance.write(We(t.startY+1,t.startX+1)+i+o+" ".repeat(s)+a.seq),this.setCommand(i+o)}get isSetup(){return this.setupState.hasCompleted}isFocused(){return document.activeElement===this.instance.textarea}mount(e){if(!this.setupState.hasCompleted)throw new O("XTerm terminal has not been set up yet");this.instance.open(e)}dispose(){this.searcher.dispose(),this.resizer.dispose(),this.renderer.dispose(),this.linkProvider?.dispose(),this._TEMPORARY__onKeyListener?.dispose(),this._TEMPORARY__onDataListener?.dispose(),this.instance.dispose()}autoResize(){this.resizer.fit()}focus(){this.instance.focus()}addCommandToHistory(e){e!==this.commandHistory.at(0)&&this.commandHistory.unshift(e)}setCommandFromHistory(e){const t=void 0===e?this.currentCommandSearchString:this.commandHistory.filter(e=>e.startsWith(this.currentCommandSearchString)).at(e);if(void 0!==t){let n=this.getCommandRange();this.instance.write(We(n.startY+1,n.startX+1)+t.padEnd(this.command.length)),this.command=t,n=this.getCommandRange(),this.instance.write(We(n.endY+1,n.endX+1)),this.commandHistoryNavigationIdx=e}}setCommand(e){this.command=e,this.currentCommandSearchString=e,this.commandHistoryNavigationIdx=void 0}newCommand(){this.instance.write(pi),this.setCommand("")}newSystemCommand(e){this.isRunningCommand||(this.command&&(this.abort(),this.newCommand()),this.instance.write(`${$e.DIM}(system: ${e})\n${$e.RESET}`))}flushScreen(){this.instance.write("c"),this.instance.reset()}get isFlushed(){const e=this.instance.buffer.active;let t=!0;for(let n=e.baseY+e.cursorY;n>-1;--n){const s=D(e.getLine(n)).translateToString();if(s.trim()){t=s!==hi;break}}return""===this.command&&t}clear(){this.flushScreen(),this.instance.scrollToTop(),this.newCommand()}resetANSIStyling(){this.instance.write($e.RESET)}showHelp(){var e;this.resetANSIStyling(),this.instance.scrollToBottom(),this.isFlushed||this.isRunningCommand||this.abort(),this.instance.write((e=this.commandRegistry,`\n${$e.BRIGHT_BLACK}+-------------------------------------------------------+${$e.RESET}\n${$e.BRIGHT_BLACK}|${$e.RESET} ${$e.BRIGHT_GREEN}[@@]${$e.RESET} "Hi! Welcome to the HELP menu of Pure IDE" ${$e.BRIGHT_BLACK}|${$e.RESET}\n${$e.BRIGHT_BLACK}|${$e.RESET} ${$e.BRIGHT_GREEN}/|__|\\${$e.RESET} ${$e.BRIGHT_BLACK}|${$e.RESET}\n${$e.BRIGHT_BLACK}+--${$e.RESET} ${$e.BRIGHT_GREEN}d b${$e.RESET} ${$e.BRIGHT_BLACK}-----------------------------------------------+${$e.RESET}\n\nFollowing is the list of supported commands:\n\n${(0,Xe.A)(Array.from(e.values()),e=>e.command).map(e=>`${$e.BRIGHT_GREEN}${e.command.padEnd(30)}${$e.RESET}${e.description}${e.aliases?.length?`\n${"".padEnd(30)}Aliases: ${e.aliases.join(", ")}`:""}\n${"".padEnd(30)}Usage: ${$e.DIM}${e.usage}${$e.RESET}`).join("\n")}`)),this.abort()}showCommonANSIEscapeSequences(){this.resetANSIStyling(),this.instance.scrollToBottom(),this.isFlushed||this.isRunningCommand||this.abort(),this.instance.write(`\nCommon ANSI Escape Sequences for Styling:\n\n${Object.entries($e).map(([e,t])=>`${t}${(e=>e?e.trim().match(/^[A-Z_]+$/)?Qe(e.trim().replace(/_+/gu," ").toLowerCase()):qe(e.trim()).split(/(?<chunk>[A-Z][a-z]+|[0-9]+)/).map(e=>e.toUpperCase()===e?e:e.charAt(0).toUpperCase()+e.slice(1).toLowerCase()).filter(Boolean).join(" ").replace(/_+/gu," ").replace(/\s+/gu," "):"")(e).padEnd(20)}${$e.RESET} ${t.replace("","\\u001b")}`).join("\n")}`),this.abort()}abort(){this.resetANSIStyling(),this.instance.write("\n"),this.newCommand(),this.instance.scrollToBottom(),this.isRunningCommand=!1}fail(e,t){t?.systemCommand&&this.newSystemCommand(t.systemCommand),this.instance.write(`\n${e}`),this.abort()}output(e,t){this.resetANSIStyling(),t?.clear&&!this.preserveLog||!t?.systemCommand||this.newSystemCommand(t.systemCommand),!this.preserveLog&&t?.clear?this.flushScreen():(this.preserveLog||this.isRunningCommand)&&this.instance.write("\n"),this.instance.write(e),this.resetANSIStyling(),this.instance.write("\n"),this.instance.scrollToBottom(),this.newCommand()}search(e){this.searcher.findNext(e,{decorations:ui,regex:this.searchConfig.useRegex,wholeWord:this.searchConfig.matchWholeWord,caseSensitive:this.searchConfig.matchCaseSensitive,incremental:!0})}clearSearch(){this.searcher.clearDecorations(),this.instance.clearSelection(),this.setSearchText(""),this.setSearchResultCount(void 0),this.setSearchCurrentResultIndex(void 0)}findPrevious(){this.searcher.findPrevious(this.searchConfig.searchText,{decorations:ui,regex:this.searchConfig.useRegex,wholeWord:this.searchConfig.matchWholeWord,caseSensitive:this.searchConfig.matchCaseSensitive})}findNext(){this.searcher.findNext(this.searchConfig.searchText,{decorations:ui,regex:this.searchConfig.useRegex,wholeWord:this.searchConfig.matchWholeWord,caseSensitive:this.searchConfig.matchCaseSensitive})}getContent(){const e=this.instance.buffer.active,t=[];for(let n=0;n<e.length;++n){const s=D(e.getLine(n));t.push(s.translateToString())}return t.join("\n").trimEnd()}copy(){this.instance.hasSelection()?this.applicationStore.clipboardService.copyTextToClipboard(this.instance.getSelection()).catch(this.applicationStore.alertUnhandledError):this.applicationStore.notificationService.notifyWarning("Ther terminal has no selection to copy")}copyAll(){this.applicationStore.clipboardService.copyTextToClipboard(this.getContent()).catch(this.applicationStore.alertUnhandledError)}}class fi{applicationStore;terminal;constructor(e){this.applicationStore=e,this.terminal=new mi(e)}}const _i="(unknown)";class Ei{applicationStore;currentUser=_i;constructor(e){(0,Te.Gn)(this,{currentUser:Te.sH,setCurrentUser:Te.XI}),this.applicationStore=e}get isAnonymous(){return this.currentUser===_i}setCurrentUser(e){this.currentUser=e}}var bi,Ti=n(75992);class Ci{get localStorage(){return D(window.localStorage,"'window.localStorage' object is not available in non-web environment")}setItem(e,t){this.localStorage.setItem(e,t)}getItem(e){return this.localStorage.getItem(e)}removeItem(e){this.localStorage.removeItem(e)}clear(){this.localStorage.clear()}hasItem(e){return this.localStorage.hasItem(e)}}class vi{storeIndex;storageService;data;constructor(e,t){this.storageService=e,this.storeIndex=t,this.data=this.storageService.getIndex(this.storeIndex)??{}}getValue(e){return this.data[e]}getNumericValue(e){const t=this.getValue(e);return void 0!==t?((e,t="")=>(function(e,t=""){if(!Y(e))throw new L(t||"Value is expected to be a number")}(e,t),e))(t):void 0}getStringValue(e){const t=this.getValue(e);return void 0!==t?((e,t="")=>(function(e,t=""){if(!W(e))throw new L(t||"Value is expected to be a string")}(e,t),e))(t):void 0}getBooleanValue(e){const t=this.getValue(e);return void 0!==t?((e,t="")=>(function(e,t=""){if(!z(e))throw new L(t||"Value is expected to be a boolean")}(e,t),e))(t):void 0}getObjectValue(e){const t=this.getValue(e);return void 0!==t?((e,t="")=>(function(e,t=""){if(!K(e))throw new L(t||"Value is expected to be a object")}(e,t),e))(t):void 0}hasValue(e){return M(this.data[e])}persistValue(e,t){void 0!==t?this.data[e]=t:delete this.data[e],this.storageService.updateIndex(this.storeIndex,this.data)}}class yi{applicationStore;storage;data;constructor(e){this.applicationStore=e,this.storage=new Ci;const t=this.storage.getItem(e.config.applicationStorageKey);this.data=t?P(()=>JSON.parse(t))??{}:{}}getIndex(e){return this.data[e]}updateIndex(e,t){(0,Ti.A)(t)?delete this.data[e]:this.data[e]=t,this.storage.setItem(this.applicationStore.config.applicationStorageKey,JSON.stringify(this.data))}}class Si{applicationStore;plugins=[];constructor(e){this.applicationStore=e}registerPlugins(e){this.plugins=e}setup(){const e={userId:this.applicationStore.identityService.currentUser,appName:this.applicationStore.config.appName,appEnv:this.applicationStore.config.env,appVersion:this.applicationStore.config.appVersion,appSessionId:this.applicationStore.uuid,appStartTime:this.applicationStore.timeService.timestamp};this.plugins.forEach(t=>t.setup(e))}logEvent(e,t){this.plugins.forEach(n=>n.logEvent(e,t))}}class Ni{timestamp=Date.now();interruptions=[];recordUsageInterruption(){this.interruptions.push(Date.now())}finalizeTimingsRecord(e,t){const n=e.elapsed,s=e.startTime,i=s+n,o={...t??{},...Object.fromEntries(e.records),total:n};let r=0;for(const e of this.interruptions)if(e>=s&&e<=i)r++;else if(e>i)break;return r>0?{...o,__numberOfInteruptions:r}:o}}!function(e){e.DEFAULT_DARK="default-dark",e.LEGACY_LIGHT="legacy-light",e.HIGH_CONTRAST_LIGHT="hc-light"}(bi||(bi={}));const Ai={name:"Default Dark (default)",key:bi.DEFAULT_DARK,TEMPORARY__globalCSSClassName:"theme__default-dark",colors:{"data-access-overview.chart.access-granted":"#6a9955","data-access-overview.chart.access-approved":"#007acc","data-access-overview.chart.access-requested":"#fbbc05","data-access-overview.chart.access-not-granted":"#ea4646","data-access-overview.chart.unsupported-access":"#2d2d2d"}},Ii={name:"Legacy Light",key:bi.LEGACY_LIGHT,TEMPORARY__globalCSSClassName:"theme__legacy-light"},xi={name:"High-Contrast Light",key:bi.HIGH_CONTRAST_LIGHT,TEMPORARY__globalCSSClassName:"theme__hc-light",colors:{"data-access-overview.chart.access-granted":"#52a31d","data-access-overview.chart.access-approved":"#3d8df5","data-access-overview.chart.access-requested":"#f5c518","data-access-overview.chart.access-not-granted":"#fa5343","data-access-overview.chart.unsupported-access":"#e1e7ea"}};var wi;!function(e){e.COLOR_THEME="application.layout.colorTheme"}(wi||(wi={}));const Oi={[wi.COLOR_THEME]:{defaultValue:bi.DEFAULT_DARK}};class ki{applicationStore;backdropContainerElementID;showBackdrop=!1;colorThemeRegistry=new Map;currentColorTheme;constructor(e){(0,Te.Gn)(this,{currentColorTheme:Te.sH.ref,TEMPORARY__isLightColorThemeEnabled:Te.EW,backdropContainerElementID:Te.sH,showBackdrop:Te.sH,setBackdropContainerElementID:Te.XI,setShowBackdrop:Te.XI,setColorTheme:Te.XI}),this.applicationStore=e,this.colorThemeRegistry.set(bi.DEFAULT_DARK,Ai),this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraColorThemes?.()??[]).forEach(e=>{this.colorThemeRegistry.has(e.key)?this.applicationStore.logService.warn(l.create(ue.COLOR_THEME_CONFIGURATION_CHECK__FAILURE),`Found duplicated color themes with key '${e.key}'`):this.colorThemeRegistry.set(e.key,e)});const t=this.applicationStore.settingService.getStringValue(wi.COLOR_THEME)??bi.DEFAULT_DARK;this.currentColorTheme=D(this.colorThemeRegistry.get(t)),this.TEMPORARY__syncGlobalCSSClassName(this.currentColorTheme,void 0)}getElementByID(e){return document.querySelector(`[data-elementid='${e}']`)??void 0}setWindowTitle(e){document.title=e}setBackdropContainerElementID(e){this.backdropContainerElementID=e}setShowBackdrop(e){this.showBackdrop=e}get TEMPORARY__isLightColorThemeEnabled(){return this.currentColorTheme.key!==bi.DEFAULT_DARK}TEMPORARY__syncGlobalCSSClassName(e,t){t&&document.body.classList.remove(t.TEMPORARY__globalCSSClassName),document.body.classList.add(e.TEMPORARY__globalCSSClassName)}setColorTheme(e,t){const n=this.colorThemeRegistry.get(e);if(e===this.currentColorTheme.key||!n)return;const s=this.currentColorTheme;this.currentColorTheme=n,this.TEMPORARY__syncGlobalCSSClassName(n,s),t?.persist&&this.applicationStore.settingService.persistValue(wi.COLOR_THEME,e)}getColor(e){return this.currentColorTheme.colors?.[e]??D(this.colorThemeRegistry.get(bi.DEFAULT_DARK)).colors?.[e]??"transparent"}}class Ri{applicationStore;constructor(e){this.applicationStore=e}async copyTextToClipboard(e,t){await navigator.clipboard.writeText(e).catch(e=>{this.applicationStore.notificationService.notifyError(e)}).finally(()=>{t?.notifySuccessMessage&&this.applicationStore.notificationService.notifySuccess(t.notifySuccessMessage)})}}class Pi{navigator;constructor(e){this.navigator=e}}var Li=n(42853);class Mi{applicationStore;storage;registry=new Map;constructor(e){this.applicationStore=e,this.storage=new vi(this.applicationStore.storageService,"application-settings-storage"),this.applicationStore.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraSettingConfigurationEntries?.()??[]).forEach(e=>{this.registry.has(e.key)?this.applicationStore.logService.warn(l.create(ue.SETTING_CONFIGURATION_CHECK__FAILURE),`Found duplicated setting with key '${e.key}'`):this.registry.set(e.key,e)})}getNumericValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(void 0===t||Y(t))return t;this.applicationStore.logService.warn(l.create(ue.SETTING_RETRIVE_FAILURE),`Can't retrieve numeric value for setting '${e}'`)}getStringValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(void 0===t||W(t))return t;this.applicationStore.logService.warn(l.create(ue.SETTING_RETRIVE_FAILURE),`Can't retrieve string value for setting '${e}'`)}getBooleanValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(void 0===t||z(t))return t;this.applicationStore.logService.warn(l.create(ue.SETTING_RETRIVE_FAILURE),`Can't retrieve boolean value for setting '${e}'`)}getObjectValue(e){const t=this.storage.getValue(e)??this.registry.get(e)?.defaultValue;if(void 0===t||K(t))return t;this.applicationStore.logService.warn(l.create(ue.SETTING_RETRIVE_FAILURE),`Can't retrieve object value for setting '${e}'`)}persistValue(e,t){const n=this.registry.get(e)?.defaultValue;this.storage.persistValue(e,void 0!==n&&(0,Li.A)(n,t)?void 0:t)}}class Fi{goToLocation(e,t){throw new k("Navigator does not support this operation")}reload(e){throw new k("Navigator does not support this operation")}goToAddress(e,t){throw new k("Navigator does not support this operation")}visitAddress(e){throw new k("Navigator does not support this operation")}generateAddress(e){throw new k("Navigator does not support this operation")}updateCurrentLocation(e){throw new k("Navigator does not support this operation")}updateCurrentZone(e){throw new k("Navigator does not support this operation")}resetZone(){throw new k("Navigator does not support this operation")}getCurrentBaseAddress(e){throw new k("Navigator does not support this operation")}getCurrentAddress(){throw new k("Navigator does not support this operation")}getCurrentLocation(){throw new k("Navigator does not support this operation")}getCurrentLocationParameters(){throw new k("Navigator does not support this operation")}getCurrentLocationParameterValue(e){throw new k("Navigator does not support this operation")}getCurrentZone(){throw new k("Navigator does not support this operation")}blockNavigation(e,t,n){throw new k("Navigator does not support this operation")}unblockNavigation(){throw new k("Navigator does not support this operation")}get isNavigationBlocked(){throw new k("Navigator does not support this operation")}INTERNAL__internalizeTransientParameter(e){throw new k("Navigator does not support this operation")}}class Di{applicationStore;storage;constructor(e){this.applicationStore=e,this.storage=new vi(this.applicationStore.storageService,"application-user-data-storage")}getNumericValue(e){const t=this.storage.getValue(e);if(void 0===t||Y(t))return t;this.applicationStore.logService.warn(l.create(ue.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve numeric value for user data '${e}'`)}getStringValue(e){const t=this.storage.getValue(e);if(void 0===t||W(t))return t;this.applicationStore.logService.warn(l.create(ue.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve string value for user data '${e}'`)}getBooleanValue(e){const t=this.storage.getValue(e);if(void 0===t||z(t))return t;this.applicationStore.logService.warn(l.create(ue.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve boolean value for user data '${e}'`)}getObjectValue(e){const t=this.storage.getValue(e);if(void 0===t||K(t))return t;this.applicationStore.logService.warn(l.create(ue.USER_DATA_RETRIEVE_FAILURE),`Can't retrieve object value for user data '${e}'`)}persistValue(e,t){this.storage.persistValue(e,t)}}const Bi=e=>/^(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)\.(?:0|[1-9]\d*)(?:-(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*)(?:\.(?:0|[1-9]\d*|\d*[a-zA-Z-][0-9a-zA-Z-]*))*)?(?:\+[0-9a-zA-Z-]+(?:\.[0-9a-zA-Z-]+)*)?$/.test(e);var ji;!function(e){e.BUG_FIX="BUG_FIX",e.ENHANCEMENT="ENHANCEMENT"}(ji||(ji={}));const Hi="application.lastOpenedVersion";class Ui{applicationStore;releaseNotes;showCurrentReleaseModal=!0;showReleaseLog=!1;isConfigured=!1;constructor(e){(0,Te.Gn)(this,{showCurrentReleaseModal:Te.sH,showReleaseLog:Te.sH,isConfigured:Te.sH,setShowCurrentRelease:Te.XI,configure:Te.XI,setReleaseLog:Te.XI}),this.applicationStore=e}configure(e){this.isConfigured=!0,this.releaseNotes=(e=>e.map(e=>(V(e.version,"Release notes 'version' is missing"),e.notes?.map(e=>(V(e.type,"Release note 'type' is missing"),V(e.description,"Release note 'description' is missing"),e)),e)))(e)}setShowCurrentRelease(e){this.showCurrentReleaseModal=e}setReleaseLog(e){this.showReleaseLog=e}getViewedVersion(){return this.applicationStore.userDataService.getStringValue(Hi)}updateViewedVersion(){this.applicationStore.userDataService.persistValue(Hi,this.applicationStore.config.appVersion)}showVersion(e,t){const n=e.version;return!(!Bi(n)||!Bi(t)||1!==(s=t,n.localeCompare(s,void 0,{numeric:!0})));var s}showableVersions(){const e=this.getViewedVersion();if(e)return this.releaseNotes?.filter(t=>this.showVersion(t,e))}}class Gi{uuid=(0,o.A)();extensionStates=[];config;pluginManager;initState=Ce.create();platform;timeService;logService;storageService;userDataService;settingService;alertService;notificationService;identityService;commandService;keyboardShortcutsService;layoutService;clipboardService;terminalService;navigationService;navigationContextService;documentationService;assistantService;releaseNotesService;eventService;telemetryService;tracerService;constructor(e,t){this.config=e,this.pluginManager=t,this.timeService=new Ni,this.logService=new u,this.logService.registerPlugins(t.getLoggerPlugins()),this.storageService=new yi(this),this.settingService=new Mi(this),this.userDataService=new Di(this),this.alertService=new xt(this),this.notificationService=new xs,this.identityService=new Ei(this),this.layoutService=new ki(this),this.clipboardService=new Ri(this),this.terminalService=new fi(this),this.commandService=new Me(this),this.keyboardShortcutsService=new Fe(this),this.navigationService=new Pi(new Fi),this.navigationContextService=new Le(this),this.documentationService=new _e(this),this.assistantService=new ke(this),this.releaseNotesService=new Ui(this),this.eventService=new Re,this.eventService.registerEventNotifierPlugins(t.getEventNotifierPlugins()),this.telemetryService=new Si(this),this.telemetryService.registerPlugins(t.getTelemetryServicePlugins()),this.telemetryService.setup(),this.tracerService=new ye,this.tracerService.registerPlugins(t.getTracerServicePlugins()),this.extensionStates=this.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraApplicationExtensionStateBuilders?.()??[]).map(e=>e(this)).filter(M)}async initialize(e){if(this.initState.isInInitialState){this.initState.inProgress();try{if(this.platform)throw new O("Platform is already configured");this.platform=e,this.navigationService=new Pi(e.getNavigator()),await e.initialize(),this.initState.pass()}catch(e){R(e),this.notificationService.notifyError(e),this.logService.error(l.create(ue.APPLICATION_LOAD__FAILURE),"Failed to load Legend application"),this.initState.fail()}}else this.notificationService.notifyIllegalState("Application store is re-initialized")}alertUnhandledError=e=>{this.logUnhandledError(e),this.notificationService.notifyIllegalState(e.message)};logUnhandledError=e=>{this.logService.error(l.create(ue.ILLEGAL_APPLICATION_STATE_OCCURRED),"Encountered unhandled error in component tree",e)};guardUnhandledError=e=>()=>{e().catch(this.alertUnhandledError)}}var Vi;!function(e){e.TAG_REQUEST="download-request",e.TAG_RESPONSE="download-response",e.STREAM_CLOSED="#stream-closed",e.STREAM_ABORTED="#stream-aborted"}(Vi||(Vi={}));class $i{}class Wi extends $i{debug(e,...t){console.debug(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}info(e,...t){console.info(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}warn(e,...t){console.warn(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}error(e,...t){console.error(`[${e.timestamp}] ${e.name} ${t.length?":":""}`,...t)}}class Yi{config;logger;pluginManager;basePresets=[];basePlugins=[];baseAddress;pluginRegister;_isConfigured=!1;downloadHelperServiceWorkerPath;downloadHelper=!1;releaseNotes;constructor(e){this.pluginManager=e,this.logger=new Wi}setup(e){return this.baseAddress=V(e.baseAddress,"Can't setup application: 'baseAddress' is missing or empty"),this.pluginRegister=e.pluginRegister,this._isConfigured=!0,this}withBasePresets(e){return this.basePresets=e,this.withPresets([])}withBasePlugins(e){return this.basePlugins=e,this.withPlugins([])}withPresets(e){return this.pluginManager.usePresets([...this.basePresets,...e]),this}withPlugins(e){return this.pluginManager.usePlugins([...this.basePlugins,...e]),this}withDownloadHelper(e){return this.downloadHelper=!0,this.downloadHelperServiceWorkerPath=e,this}withReleaseNotes(e){return this.releaseNotes=e,this}setupApplicationStore(e){this.releaseNotes&&e.releaseNotesService.configure(this.releaseNotes)}async fetchApplicationConfiguration(){const e=new le;let t,n;try{t=await e.get(`${window.location.origin}${this.baseAddress}config.json`)}catch(e){R(e),this.logger.error(l.create(ue.APPLICATION_CONFIGURATION__FAILURE),e)}F(t,"Can't fetch Legend application configuration");try{n=await e.get(`${window.location.origin}${this.baseAddress}version.json`)}catch(e){R(e),this.logger.error(l.create(ue.APPLICATION_CONFIGURATION__FAILURE),e)}return F(n,"Can't fetch Legend application version"),[await this.configureApplication({configData:t,versionData:n,baseAddress:this.baseAddress}),t.extensions??{}]}async loadDocumentationRegistryData(e){const t={};await Promise.all([...e.documentationRegistryEntries,...this.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraDocumentationRegistryEntries?.()??[])].map(async e=>{try{const n=new le(e.simple?{options:{credentials:"omit"}}:{}),s=await n.get(V(e.url,"Can't load documentation registry: 'url' field is missing or empty"));F(s.entries,"Can't load documentation registry data: 'entries' field is missing");const i=e.includes?.map(e=>new RegExp(`^${e.trim().replace(/[\^$\\.+?()[\]{}|]/g,"\\$&").replace(/\*/g,".*")}$`));Object.entries(s.entries).forEach(([e,n])=>{i&&!i.some(t=>t.test(e))||t[e]||(t[e]=n)})}catch(e){R(e),this.logger.warn(l.create(ue.DOCUMENTATION_FETCH__FAILURE),e)}})),e.keyedDocumentationEntries=[...fe(t),...e.keyedDocumentationEntries]}async start(){F(this._isConfigured,"Legend application has not been configured properly. Make sure to run setup() before start()");try{const[e,t]=await this.fetchApplicationConfiguration();this.config=e,this.pluginRegister?.(this.pluginManager,this.config),this.pluginManager.configure(t),this.pluginManager.install(),await Promise.all([this.loadDocumentationRegistryData(e)]);const n=new Gi(this.config,this.pluginManager);await Promise.all(this.pluginManager.getApplicationPlugins().flatMap(e=>e.getExtraApplicationSetups?.()??[]).map(e=>e(n))),this.setupApplicationStore(n),await this.loadApplication(n),this.logger.info(l.create(ue.APPLICATION_LOAD__SUCCESS),"Legend application loaded"),this.downloadHelper&&function(e){if("serviceWorker"in navigator){const t=e??"/ServiceWorker.js";navigator.serviceWorker.register(t).then(e=>{console.debug(`register service worker success with path: ${t}`,e)}).catch(e=>{console.debug(`register service worker error with path: ${t}`,e)})}}(this.downloadHelperServiceWorkerPath)}catch(e){throw R(e),this.logger.error(l.create(ue.APPLICATION_LOAD__FAILURE),"Failed to load Legend application"),e}}}const zi="legend-application-root",Ki=JSON.parse('{"rE":"16.0.81","XO":{"c":"@finos/legend-application-plugin-core"}}');class Xi extends a{}var Ji=n(57092);const qi=Ji.u$,Zi="resizable-panel--collapsed",Qi=(e,t)=>({collapsiblePanel:{className:(0,bt.$)(...t?.classes??[],{[Zi]:e}),onStartResize:e=>{e.domElement.classList.remove(Zi),t?.onStartResize?.(e)},onStopResize:e=>{const n=Number(e.domElement.style.flexGrow);n<=.01?e.domElement.style.flexGrow="0":n>=.99&&(e.domElement.style.flexGrow="1"),t?.onStopResize?.(e)},size:!e&&t?.size?t.size:0,flex:e?0:void 0},remainingPanel:{flex:e?1:void 0}}),eo=Ji.LT,to=Ji.kT,no=e=>(0,_.jsx)("div",{className:"resizable-panel__splitter-line",style:{background:e.color}});class so extends Xi{static NAME=Ki.XO.c;constructor(){super(so.NAME,Ki.rE)}install(e){e.registerApplicationPlugin(this)}getExtraApplicationSetups(){return[async e=>{}]}getExtraColorThemes(){return[Ii,xi]}getExtraSettingConfigurationEntries(){return e=Oi,Object.entries(e).map(e=>({key:e[0],...e[1]}));var e}}class io{profile;stereotype;static serialization=new he((0,pe.PL)(io,{profile:(0,pe.MY)(),stereotype:(0,pe.MY)()}))}class oo{profile;value;static serialization=new he((0,pe.PL)(oo,{profile:(0,pe.MY)(),value:(0,pe.p_)((0,pe.MY)())}))}class ro{appName;baseAddress;env;applicationStorageKey;documentationUrl;documentationLinkEntries=[];documentationRegistryEntries=[];keyedDocumentationEntries=[];contextualDocEntries=[];appVersion;appVersionBuildTime;appVersionCommitId;constructor(e){var t,n;this.baseAddress=e.baseAddress,this.appName=V(e.configData.appName,"Can't configure application: 'appName' field is missing or empty"),this.env=V(e.configData.env,"Can't configure application: 'env' field is missing or empty"),this.applicationStorageKey=e.configData.application?.storageKey??this.getDefaultApplicationStorageKey(),this.documentationUrl=e.configData.documentation?.url,this.documentationLinkEntries=(t=e.configData.documentation?.links??{},Object.entries(t).map(e=>({key:V(e[0],"Documentation link 'key' is missing"),label:V(e[1].label,"Documentation link 'label' is missing"),url:V(e[1].url,"Documentation link 'url' is missing")}))),this.documentationRegistryEntries=e.configData.documentation?.registry??[],this.keyedDocumentationEntries=fe(e.configData.documentation?.entries??{}),this.contextualDocEntries=(n=e.configData.documentation?.contextualEntries??{},Object.entries(n).map(e=>({context:e[0],documentationKey:e[1]}))),this.appVersion=D(e.versionData.version,"Can't collect application version: 'version' field is missing"),this.appVersionBuildTime=e.versionData.buildTime,this.appVersionCommitId=e.versionData.commitSHA}static resolveAbsoluteUrl(e){return e.trim().startsWith("/")?window.location.origin+e:e}}class ao extends ro{pureUrl;useDynamicPureServer=!1;constructor(e){super(e),F(e.configData.pure,"Can't configure application: 'pure' field is missing"),this.pureUrl=ro.resolveAbsoluteUrl(V(e.configData.pure.url,"Can't configure application: 'pure.url' field is missing or empty")),void 0!==e.configData.pure.dynamic&&(this.useDynamicPureServer=Boolean(e.configData.pure.dynamic))}getDefaultApplicationStorageKey(){return"legend-pure-ide"}}class co extends c{loggerPlugins=[];telemetryServicePlugins=[];tracerServicePlugins=[];eventNotifierPlugins=[];applicationPlugins=[];registerLoggerPlugin(e){this.loggerPlugins.push(e)}registerTelemetryServicePlugin(e){this.telemetryServicePlugins.push(e)}registerTracerServicePlugin(e){this.tracerServicePlugins.push(e)}registerEventNotifierPlugin(e){this.eventNotifierPlugins.push(e)}registerApplicationPlugin(e){this.applicationPlugins.push(e)}getLoggerPlugins(){return[...this.loggerPlugins]}getTelemetryServicePlugins(){return[...this.telemetryServicePlugins]}getTracerServicePlugins(){return[...this.tracerServicePlugins]}getEventNotifierPlugins(){return[...this.eventNotifierPlugins]}getApplicationPlugins(){return[...this.applicationPlugins]}}class lo extends co{pureProtocolProcessorPlugins=[];pureGraphManagerPlugins=[];pureGraphPlugins=[];constructor(){super()}static create(){return new lo}registerPureProtocolProcessorPlugin(e){this.pureProtocolProcessorPlugins.push(e)}registerPureGraphManagerPlugin(e){this.pureGraphManagerPlugins.push(e)}registerPureGraphPlugin(e){this.pureGraphPlugins.push(e)}getPureGraphManagerPlugins(){return[...this.pureGraphManagerPlugins]}getPureProtocolProcessorPlugins(){return[...this.pureProtocolProcessorPlugins]}getPureGraphPlugins(){return[...this.pureGraphPlugins]}}var uo,po=n(45205);function ho(e){let t=e;for(;t.endsWith("/");)t=t.slice(0,-1);return t}class go{navigate;baseUrl;_isNavigationBlocked=!1;_forceBypassNavigationBlocking=!1;_blockCheckers=[];_beforeUnloadListener=e=>{this._forceBypassNavigationBlocking||this._blockCheckers.some(e=>e())&&(e.returnValue="",e.preventDefault())};onBlock;onNativePlatformNavigationBlock;constructor(e,t){(0,Te.Gn)(this,{_isNavigationBlocked:Te.sH,isNavigationBlocked:Te.EW,blockNavigation:Te.XI,unblockNavigation:Te.XI}),this.navigate=e,this.baseUrl=t}get window(){return D(window,"Window object is not available in non-web environment")}goToLocation(e,t){t?.ignoreBlocking&&(this._forceBypassNavigationBlocking=!0);const n=()=>{this._forceBypassNavigationBlocking=!0,this.window.location.href=this.generateAddress(e)};!this._forceBypassNavigationBlocking&&this._blockCheckers.some(e=>e())?this.onBlock?.(n):n()}reload(e){e?.ignoreBlocking&&(this._forceBypassNavigationBlocking=!0);const t=()=>{this._forceBypassNavigationBlocking=!0,this.window.location.reload()};!this._forceBypassNavigationBlocking&&this._blockCheckers.some(e=>e())?this.onBlock?.(t):t()}goToAddress(e,t){t?.ignoreBlocking&&(this._forceBypassNavigationBlocking=!0);const n=()=>{this._forceBypassNavigationBlocking=!0,this.window.location.href=e};!this._forceBypassNavigationBlocking&&this._blockCheckers.some(e=>e())?this.onBlock?.(n):n()}visitAddress(e){this.window.open(e,"_blank")}generateAddress(e){return this.window.location.origin+this.baseUrl+e}updateCurrentLocation(e){Promise.resolve(this.navigate(e)).catch(()=>{})}updateCurrentZone(e){this.window.location.hash="#"+e}resetZone(){this.updateCurrentLocation(this.getCurrentLocation())}getCurrentBaseAddress(e){return e?.withAppRoot?this.generateAddress(""):this.window.location.origin}getCurrentAddress(){return this.window.location.href}getCurrentLocation(){return this.window.location.pathname.substring(this.baseUrl.length)}getCurrentLocationParameters(e){const t={};var n;const s=((e,t=!1)=>t?q.A.parseUrl(e).query:q.A.parse(e))(e?.sanitizeParametersInsteadOfUrl?this.getCurrentAddress():(n=this.getCurrentAddress(),(0,Z.J)(n)),!0);return Object.keys(s).forEach(n=>{t[n]=((e,t,n)=>{const s=n?.sanitizeParametersInsteadOfUrl?(0,Z.J)(t[e]):t[e];return n?.replaceUrlSafeBase64Characters?s?decodeURIComponent(s).replace(/-/g,"+").replace(/_/g,"/"):void 0:s?decodeURIComponent(s):void 0})(n,s,e)}),t}getCurrentLocationParameterValue(e,t){return this.getCurrentLocationParameters(t)[e]}getCurrentZone(){return this.window.location.hash.substring(1)}blockNavigation(e,t,n){this._isNavigationBlocked=!0,this.onBlock=t,this.onNativePlatformNavigationBlock=n,this.onNativePlatformNavigationBlock&&(this.window.history.pushState(null,"",this.getCurrentAddress()),this.window.onpopstate=()=>{this.window.history.forward(),this.onNativePlatformNavigationBlock?.()}),this._blockCheckers=e,this.window.removeEventListener("beforeunload",this._beforeUnloadListener),this.window.addEventListener("beforeunload",this._beforeUnloadListener)}unblockNavigation(){this._isNavigationBlocked=!1,this.onBlock=void 0,this.window.onpopstate=null,this._blockCheckers=[],this.window.removeEventListener("beforeunload",this._beforeUnloadListener)}get isNavigationBlocked(){return this._isNavigationBlocked}INTERNAL__internalizeTransientParameter(e){const t=this.getCurrentZone(),n=this.getCurrentLocationParameters();var s,i;delete n[e],this.updateCurrentLocation((s=this.getCurrentLocation(),i=(e=>{const t={};return Object.entries(e).forEach(([e,n])=>{n&&(t[e]=n.toString())}),q.A.stringify(t)})(n),i?`${s}?${i}`:s)),this.updateCurrentZone(t)}}class mo{applicationStore;constructor(e){this.applicationStore=e}async initialize(){}}!function(e){e.INITIAL_COLOR_THEME="initialColorTheme"}(uo||(uo={}));class fo extends mo{navigator;constructor(e,t){super(e),this.navigator=new go(t.navigate,t.baseUrl)}getNavigator(){return this.navigator}async initialize(){const e=this.applicationStore.navigationService.navigator.getCurrentLocationParameterValue(uo.INITIAL_COLOR_THEME);e&&(this.applicationStore.layoutService.setColorTheme(e),this.applicationStore.navigationService.navigator.INTERNAL__internalizeTransientParameter(uo.INITIAL_COLOR_THEME))}}const _o=(0,wt.createContext)(void 0),Eo=({children:e,baseUrl:t})=>{const n=kt(),s=(0,po.Zp)(),i=(0,mt.iz)(()=>new fo(n,{navigate:s,baseUrl:ho(t)}));return(0,_.jsx)(_o.Provider,{value:i,children:e})},bo=({children:e,baseUrl:t})=>(0,_.jsx)(po.Kd,{basename:ho(t),children:(0,_.jsx)(Eo,{baseUrl:t,children:e})}),To="/welcome.pure",Co="/",vo="::";var yo,So;!function(e){e.CONCEPT_EXPLORER="CONCEPT_EXPLORER",e.FILE_EXPLORER="FILE_EXPLORER"}(yo||(yo={})),function(e){e.TERMINAL="TERMINAL",e.SEARCH="SEARCH",e.REFERENCES="REFERNECES",e.TEST_RUNNER="TEST_RUNNER",e.CODE_FIX_SUGGESTION="CODE_FIX_SUGGESTION"}(So||(So={}));var No,Ao=n(29179);!function(e){e.WHITESPACE="",e.KEYWORD="keyword",e.IDENTIFIER="identifier",e.OPERATOR="operator",e.DELIMITER="delimiter",e.PARSER="parser",e.NUMBER="number",e.DATE="date",e.COLOR="color",e.PACKAGE="package",e.STRING="string",e.COMMENT="comment",e.LANGUAGE_STRUCT="language-struct",e.MULTIPLICITY="multiplicity",e.GENERICS="generics",e.PROPERTY="property",e.PARAMETER="parameter",e.VARIABLE="variable",e.TYPE="type",e.INVALID="invalid"}(No||(No={}));const Io=(e,t,n,s)=>{const i=(e=>{const t=[];e.tokenColors.forEach(e=>{if(!e.settings)return;let n=[];n=W(e.scope)?e.scope.replace(/^[,]+/,"").replace(/[,]+$/,"").split(",").map(e=>e.trim()):Array.isArray(e.scope)?e.scope:[""];const s={};e.settings.foreground&&W(e.settings.foreground)&&(s.foreground=e.settings.foreground),e.settings.background&&W(e.settings.background)&&(s.background=e.settings.background),e.settings.fontStyle&&W(e.settings.fontStyle)&&(s.fontStyle=e.settings.fontStyle),n.forEach(e=>{if(M(e)||!Object.keys(s).length)return;const n={...s,token:e};t.push(n)})});const n={};return Object.entries(e.colors).forEach(([e,t])=>{Array.isArray(t)?t.length&&(n[e]=y(t,0)):n[e]=t}),{base:"vs-dark",inherit:!0,rules:t,colors:n}})(e);return{...i,base:t,colors:{...i.colors,...n},rules:[...i.rules,...s]}},xo=JSON.parse('{"name":"Solarized (dark)","tokenColors":[{"settings":{"foreground":"#839496"}},{"scope":["meta.embedded","source.groovy.embedded","string meta.image.inline.markdown"],"settings":{"foreground":"#839496"}},{"name":"Comment","scope":"comment","settings":{"fontStyle":"italic","foreground":"#586E75"}},{"name":"String","scope":"string","settings":{"foreground":"#2AA198"}},{"name":"Regexp","scope":"string.regexp","settings":{"foreground":"#DC322F"}},{"name":"Number","scope":"constant.numeric","settings":{"foreground":"#D33682"}},{"name":"Variable","scope":["variable.language","variable.other"],"settings":{"foreground":"#268BD2"}},{"name":"Keyword","scope":"keyword","settings":{"foreground":"#859900"}},{"name":"Storage","scope":"storage","settings":{"fontStyle":"bold","foreground":"#93A1A1"}},{"name":"Class name","scope":["entity.name.class","entity.name.type","entity.name.namespace","entity.name.scope-resolution"],"settings":{"fontStyle":"","foreground":"#CB4B16"}},{"name":"Function name","scope":"entity.name.function","settings":{"foreground":"#268BD2"}},{"name":"Variable start","scope":"punctuation.definition.variable","settings":{"foreground":"#859900"}},{"name":"Embedded code markers","scope":["punctuation.section.embedded.begin","punctuation.section.embedded.end"],"settings":{"foreground":"#DC322F"}},{"name":"Built-in constant","scope":["constant.language","meta.preprocessor"],"settings":{"foreground":"#B58900"}},{"name":"Support.construct","scope":["support.function.construct","keyword.other.new"],"settings":{"foreground":"#CB4B16"}},{"name":"User-defined constant","scope":["constant.character","constant.other"],"settings":{"foreground":"#CB4B16"}},{"name":"Inherited class","scope":"entity.other.inherited-class","settings":{"foreground":"#6C71C4"}},{"name":"Function argument","scope":"variable.parameter","settings":{}},{"name":"Tag name","scope":"entity.name.tag","settings":{"foreground":"#268BD2"}},{"name":"Tag start/end","scope":"punctuation.definition.tag","settings":{"foreground":"#586E75"}},{"name":"Tag attribute","scope":"entity.other.attribute-name","settings":{"foreground":"#93A1A1"}},{"name":"Library function","scope":"support.function","settings":{"foreground":"#268BD2"}},{"name":"Continuation","scope":"punctuation.separator.continuation","settings":{"foreground":"#DC322F"}},{"name":"Library constant","scope":["support.constant","support.variable"],"settings":{}},{"name":"Library class/type","scope":["support.type","support.class"],"settings":{"foreground":"#859900"}},{"name":"Library Exception","scope":"support.type.exception","settings":{"foreground":"#CB4B16"}},{"name":"Library variable","scope":"support.other.variable","settings":{}},{"name":"Invalid","scope":"invalid","settings":{"foreground":"#DC322F"}},{"name":"diff: header","scope":["meta.diff","meta.diff.header"],"settings":{"fontStyle":"italic","foreground":"#268BD2"}},{"name":"diff: deleted","scope":"markup.deleted","settings":{"fontStyle":"","foreground":"#DC322F"}},{"name":"diff: changed","scope":"markup.changed","settings":{"fontStyle":"","foreground":"#CB4B16"}},{"name":"diff: inserted","scope":"markup.inserted","settings":{"foreground":"#859900"}},{"name":"Markup Quote","scope":"markup.quote","settings":{"foreground":"#859900"}},{"name":"Markup Lists","scope":"markup.list","settings":{"foreground":"#B58900"}},{"name":"Markup Styling","scope":["markup.bold","markup.italic"],"settings":{"foreground":"#D33682"}},{"name":"Markup: Strong","scope":"markup.bold","settings":{"fontStyle":"bold"}},{"name":"Markup: Emphasis","scope":"markup.italic","settings":{"fontStyle":"italic"}},{"scope":"markup.strikethrough","settings":{"fontStyle":"strikethrough"}},{"name":"Markup Inline","scope":"markup.inline.raw","settings":{"fontStyle":"","foreground":"#2AA198"}},{"name":"Markup Headings","scope":"markup.heading","settings":{"fontStyle":"bold","foreground":"#268BD2"}},{"name":"Markup Setext Header","scope":"markup.heading.setext","settings":{"fontStyle":"","foreground":"#268BD2"}}],"colors":{"focusBorder":"#2AA19899","selection.background":"#2AA19899","input.background":"#003847","input.foreground":"#93A1A1","input.placeholderForeground":"#93A1A1AA","inputOption.activeBorder":"#2AA19899","inputValidation.infoBorder":"#363b5f","inputValidation.infoBackground":"#052730","inputValidation.warningBackground":"#5d5938","inputValidation.warningBorder":"#9d8a5e","inputValidation.errorBackground":"#571b26","inputValidation.errorBorder":"#a92049","errorForeground":"#ffeaea","badge.background":"#047aa6","progressBar.background":"#047aa6","dropdown.background":"#00212B","dropdown.border":"#2AA19899","button.background":"#2AA19899","list.activeSelectionBackground":"#005A6F","quickInputList.focusBackground":"#005A6F","list.hoverBackground":"#004454AA","list.inactiveSelectionBackground":"#00445488","list.dropBackground":"#00445488","list.highlightForeground":"#1ebcc5","editor.background":"#002B36","editor.foreground":"#839496","editorWidget.background":"#00212B","editorCursor.foreground":"#D30102","editorWhitespace.foreground":"#93A1A180","editor.lineHighlightBackground":"#073642","editorLineNumber.activeForeground":"#949494","editor.selectionBackground":"#274642","minimap.selectionHighlight":"#274642","editorIndentGuide.background":"#93A1A180","editorIndentGuide.activeBackground":"#C3E1E180","editorHoverWidget.background":"#004052","editorMarkerNavigationError.background":"#AB395B","editorMarkerNavigationWarning.background":"#5B7E7A","editor.selectionHighlightBackground":"#005A6FAA","editor.wordHighlightBackground":"#004454AA","editor.wordHighlightStrongBackground":"#005A6FAA","editorBracketHighlight.foreground1":"#cdcdcdff","editorBracketHighlight.foreground2":"#b58900ff","editorBracketHighlight.foreground3":"#d33682ff","peekViewResult.background":"#00212B","peekViewEditor.background":"#10192c","peekViewTitle.background":"#00212B","peekView.border":"#2b2b4a","peekViewEditor.matchHighlightBackground":"#7744AA40","titleBar.activeBackground":"#002C39","editorGroup.border":"#00212B","editorGroup.dropBackground":"#2AA19844","editorGroupHeader.tabsBackground":"#004052","tab.activeForeground":"#d6dbdb","tab.activeBackground":"#002B37","tab.inactiveForeground":"#93A1A1","tab.inactiveBackground":"#004052","tab.border":"#003847","tab.lastPinnedBorder":"#2AA19844","activityBar.background":"#003847","panel.border":"#2b2b4a","sideBar.background":"#00212B","sideBarTitle.foreground":"#93A1A1","statusBar.foreground":"#93A1A1","statusBar.background":"#00212B","statusBar.debuggingBackground":"#00212B","statusBar.noFolderBackground":"#00212B","statusBarItem.remoteBackground":"#2AA19899","ports.iconRunningProcessForeground":"#369432","statusBarItem.prominentBackground":"#003847","statusBarItem.prominentHoverBackground":"#003847","debugToolBar.background":"#00212B","debugExceptionWidget.background":"#00212B","debugExceptionWidget.border":"#AB395B","pickerGroup.foreground":"#2AA19899","pickerGroup.border":"#2AA19899","terminal.ansiBlack":"#073642","terminal.ansiRed":"#dc322f","terminal.ansiGreen":"#859900","terminal.ansiYellow":"#b58900","terminal.ansiBlue":"#268bd2","terminal.ansiMagenta":"#d33682","terminal.ansiCyan":"#2aa198","terminal.ansiWhite":"#eee8d5","terminal.ansiBrightBlack":"#002b36","terminal.ansiBrightRed":"#cb4b16","terminal.ansiBrightGreen":"#586e75","terminal.ansiBrightYellow":"#657b83","terminal.ansiBrightBlue":"#839496","terminal.ansiBrightMagenta":"#6c71c4","terminal.ansiBrightCyan":"#93a1a1","terminal.ansiBrightWhite":"#fdf6e3"},"semanticHighlighting":true}'),wo=JSON.parse('{"name":"GitHub Dark","colors":{"focusBorder":"#005cc5","foreground":"#d1d5da","descriptionForeground":"#959da5","errorForeground":"#f97583","textLink.foreground":"#79b8ff","textLink.activeForeground":"#c8e1ff","textBlockQuote.background":"#24292e","textBlockQuote.border":"#444d56","textCodeBlock.background":"#2f363d","textPreformat.foreground":"#d1d5da","textSeparator.foreground":"#586069","button.background":"#176f2c","button.foreground":"#dcffe4","button.hoverBackground":"#22863a","button.secondaryBackground":"#444d56","button.secondaryForeground":"#fff","button.secondaryHoverBackground":"#586069","checkbox.background":"#444d56","checkbox.border":"#1b1f23","dropdown.background":"#2f363d","dropdown.border":"#1b1f23","dropdown.foreground":"#e1e4e8","dropdown.listBackground":"#24292e","input.background":"#2f363d","input.border":"#1b1f23","input.foreground":"#e1e4e8","input.placeholderForeground":"#959da5","badge.foreground":"#c8e1ff","badge.background":"#044289","progressBar.background":"#0366d6","titleBar.activeForeground":"#e1e4e8","titleBar.activeBackground":"#24292e","titleBar.inactiveForeground":"#959da5","titleBar.inactiveBackground":"#1f2428","titleBar.border":"#1b1f23","activityBar.foreground":"#e1e4e8","activityBar.inactiveForeground":"#6a737d","activityBar.background":"#24292e","activityBarBadge.foreground":"#fff","activityBarBadge.background":"#0366d6","activityBar.activeBorder":"#f9826c","activityBar.border":"#1b1f23","sideBar.foreground":"#d1d5da","sideBar.background":"#1f2428","sideBar.border":"#1b1f23","sideBarTitle.foreground":"#e1e4e8","sideBarSectionHeader.foreground":"#e1e4e8","sideBarSectionHeader.background":"#1f2428","sideBarSectionHeader.border":"#1b1f23","list.hoverForeground":"#e1e4e8","list.inactiveSelectionForeground":"#e1e4e8","list.activeSelectionForeground":"#e1e4e8","list.hoverBackground":"#282e34","list.inactiveSelectionBackground":"#282e34","list.activeSelectionBackground":"#39414a","list.inactiveFocusBackground":"#1d2d3e","list.focusBackground":"#044289","tree.indentGuidesStroke":"#2f363d","notificationCenterHeader.foreground":"#959da5","notificationCenterHeader.background":"#24292e","notifications.foreground":"#e1e4e8","notifications.background":"#2f363d","notifications.border":"#1b1f23","notificationsErrorIcon.foreground":"#ea4a5a","notificationsWarningIcon.foreground":"#ffab70","notificationsInfoIcon.foreground":"#79b8ff","pickerGroup.border":"#444d56","pickerGroup.foreground":"#e1e4e8","quickInput.background":"#24292e","quickInput.foreground":"#e1e4e8","statusBar.foreground":"#d1d5da","statusBar.background":"#24292e","statusBar.border":"#1b1f23","statusBar.noFolderBackground":"#24292e","statusBar.debuggingBackground":"#931c06","statusBar.debuggingForeground":"#fff","statusBarItem.prominentBackground":"#282e34","statusBarItem.remoteForeground":"#d1d5da","statusBarItem.remoteBackground":"#24292e","editorGroupHeader.tabsBackground":"#1f2428","editorGroupHeader.tabsBorder":"#1b1f23","editorGroup.border":"#1b1f23","tab.activeForeground":"#e1e4e8","tab.inactiveForeground":"#959da5","tab.inactiveBackground":"#1f2428","tab.activeBackground":"#24292e","tab.hoverBackground":"#24292e","tab.unfocusedHoverBackground":"#24292e","tab.border":"#1b1f23","tab.unfocusedActiveBorderTop":"#1b1f23","tab.activeBorder":"#24292e","tab.unfocusedActiveBorder":"#24292e","tab.activeBorderTop":"#f9826c","breadcrumb.foreground":"#959da5","breadcrumb.focusForeground":"#e1e4e8","breadcrumb.activeSelectionForeground":"#d1d5da","breadcrumbPicker.background":"#2b3036","editor.foreground":"#e1e4e8","editor.background":"#24292e","editorWidget.background":"#1f2428","editor.foldBackground":"#58606915","editor.lineHighlightBackground":"#2b3036","editorLineNumber.foreground":"#444d56","editorLineNumber.activeForeground":"#e1e4e8","editorIndentGuide.background":"#2f363d","editorIndentGuide.activeBackground":"#444d56","editorWhitespace.foreground":"#444d56","editorCursor.foreground":"#c8e1ff","editorError.foreground":"#f97583","editorWarning.foreground":"#ffea7f","editor.findMatchBackground":"#ffd33d44","editor.findMatchHighlightBackground":"#ffd33d22","editor.linkedEditingBackground":"#3392FF22","editor.inactiveSelectionBackground":"#3392FF22","editor.selectionBackground":"#3392FF44","editor.selectionHighlightBackground":"#17E5E633","editor.selectionHighlightBorder":"#17E5E600","editor.wordHighlightBackground":"#17E5E600","editor.wordHighlightStrongBackground":"#17E5E600","editor.wordHighlightBorder":"#17E5E699","editor.wordHighlightStrongBorder":"#17E5E666","editorBracketMatch.background":"#17E5E650","editorBracketMatch.border":"#17E5E600","editorGutter.modifiedBackground":"#2188ff","editorGutter.addedBackground":"#28a745","editorGutter.deletedBackground":"#ea4a5a","diffEditor.insertedTextBackground":"#28a74530","diffEditor.removedTextBackground":"#d73a4930","scrollbar.shadow":"#0008","scrollbarSlider.background":"#6a737d33","scrollbarSlider.hoverBackground":"#6a737d44","scrollbarSlider.activeBackground":"#6a737d88","editorOverviewRuler.border":"#1b1f23","panel.background":"#1f2428","panel.border":"#1b1f23","panelTitle.activeBorder":"#f9826c","panelTitle.activeForeground":"#e1e4e8","panelTitle.inactiveForeground":"#959da5","panelInput.border":"#2f363d","terminal.foreground":"#d1d5da","terminal.tab.activeBorder":"#f9826c","terminalCursor.background":"#586069","terminalCursor.foreground":"#79b8ff","terminal.ansiBrightWhite":"#fafbfc","terminal.ansiWhite":"#d1d5da","terminal.ansiBrightBlack":"#959da5","terminal.ansiBlack":"#586069","terminal.ansiBlue":"#2188ff","terminal.ansiBrightBlue":"#79b8ff","terminal.ansiGreen":"#34d058","terminal.ansiBrightGreen":"#85e89d","terminal.ansiCyan":"#39c5cf","terminal.ansiBrightCyan":"#56d4dd","terminal.ansiRed":"#ea4a5a","terminal.ansiBrightRed":"#f97583","terminal.ansiMagenta":"#b392f0","terminal.ansiBrightMagenta":"#b392f0","terminal.ansiYellow":"#ffea7f","terminal.ansiBrightYellow":"#ffea7f","editorBracketHighlight.foreground1":"#79b8ff","editorBracketHighlight.foreground2":"#ffab70","editorBracketHighlight.foreground3":"#b392f0","editorBracketHighlight.foreground4":"#79b8ff","editorBracketHighlight.foreground5":"#ffab70","editorBracketHighlight.foreground6":"#b392f0","gitDecoration.addedResourceForeground":"#34d058","gitDecoration.modifiedResourceForeground":"#79b8ff","gitDecoration.deletedResourceForeground":"#ea4a5a","gitDecoration.untrackedResourceForeground":"#34d058","gitDecoration.ignoredResourceForeground":"#6a737d","gitDecoration.conflictingResourceForeground":"#ffab70","gitDecoration.submoduleResourceForeground":"#6a737d","debugToolBar.background":"#2b3036","editor.stackFrameHighlightBackground":"#C6902625","editor.focusedStackFrameHighlightBackground":"#2b6a3033","peekViewEditor.matchHighlightBackground":"#ffd33d33","peekViewResult.matchHighlightBackground":"#ffd33d33","peekViewEditor.background":"#1f242888","peekViewResult.background":"#1f2428","settings.headerForeground":"#e1e4e8","settings.modifiedItemIndicator":"#0366d6","welcomePage.buttonBackground":"#2f363d","welcomePage.buttonHoverBackground":"#444d56"},"semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#6a737d"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language"],"settings":{"foreground":"#79b8ff"}},{"scope":["entity","entity.name"],"settings":{"foreground":"#b392f0"}},{"scope":"variable.parameter.function","settings":{"foreground":"#e1e4e8"}},{"scope":"entity.name.tag","settings":{"foreground":"#85e89d"}},{"scope":"keyword","settings":{"foreground":"#f97583"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#f97583"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#e1e4e8"}},{"scope":["string","punctuation.definition.string","string punctuation.section.embedded source"],"settings":{"foreground":"#9ecbff"}},{"scope":"support","settings":{"foreground":"#79b8ff"}},{"scope":"meta.property-name","settings":{"foreground":"#79b8ff"}},{"scope":"variable","settings":{"foreground":"#ffab70"}},{"scope":"variable.other","settings":{"foreground":"#e1e4e8"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#fdaeb7"}},{"scope":"carriage-return","settings":{"fontStyle":"italic underline","background":"#f97583","foreground":"#24292e","content":"^M"}},{"scope":"message.error","settings":{"foreground":"#fdaeb7"}},{"scope":"string variable","settings":{"foreground":"#79b8ff"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#dbedff"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#dbedff"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#85e89d"}},{"scope":"support.constant","settings":{"foreground":"#79b8ff"}},{"scope":"support.variable","settings":{"foreground":"#79b8ff"}},{"scope":"meta.module-reference","settings":{"foreground":"#79b8ff"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#ffab70"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"markup.quote","settings":{"foreground":"#85e89d"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#e1e4e8"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#e1e4e8"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#79b8ff"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#86181d","foreground":"#fdaeb7"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#144620","foreground":"#85e89d"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#c24e00","foreground":"#ffab70"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"foreground":"#2f363d","background":"#79b8ff"}},{"scope":"meta.diff.range","settings":{"foreground":"#b392f0","fontStyle":"bold"}},{"scope":"meta.diff.header","settings":{"foreground":"#79b8ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#79b8ff"}},{"scope":"meta.output","settings":{"foreground":"#79b8ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#d1d5da"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#fdaeb7"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"foreground":"#dbedff","fontStyle":"underline"}}]}'),Oo=JSON.parse('{"name":"GitHub Dark Dimmed","colors":{"focusBorder":"#316dca","foreground":"#adbac7","descriptionForeground":"#768390","errorForeground":"#e5534b","textLink.foreground":"#539bf5","textLink.activeForeground":"#539bf5","textBlockQuote.background":"#1c2128","textBlockQuote.border":"#444c56","textCodeBlock.background":"#636e7b66","textPreformat.foreground":"#768390","textSeparator.foreground":"#373e47","icon.foreground":"#768390","keybindingLabel.foreground":"#adbac7","button.background":"#347d39","button.foreground":"#ffffff","button.hoverBackground":"#46954a","button.secondaryBackground":"#3d444d","button.secondaryForeground":"#adbac7","button.secondaryHoverBackground":"#444c56","checkbox.background":"#2d333b","checkbox.border":"#444c56","dropdown.background":"#2d333b","dropdown.border":"#444c56","dropdown.foreground":"#adbac7","dropdown.listBackground":"#2d333b","input.background":"#22272e","input.border":"#444c56","input.foreground":"#adbac7","input.placeholderForeground":"#636e7b","badge.foreground":"#cdd9e5","badge.background":"#316dca","progressBar.background":"#316dca","titleBar.activeForeground":"#768390","titleBar.activeBackground":"#22272e","titleBar.inactiveForeground":"#768390","titleBar.inactiveBackground":"#1c2128","titleBar.border":"#444c56","activityBar.foreground":"#adbac7","activityBar.inactiveForeground":"#768390","activityBar.background":"#22272e","activityBarBadge.foreground":"#cdd9e5","activityBarBadge.background":"#316dca","activityBar.activeBorder":"#ec775c","activityBar.border":"#444c56","sideBar.foreground":"#adbac7","sideBar.background":"#1c2128","sideBar.border":"#444c56","sideBarTitle.foreground":"#adbac7","sideBarSectionHeader.foreground":"#adbac7","sideBarSectionHeader.background":"#1c2128","sideBarSectionHeader.border":"#444c56","list.hoverForeground":"#adbac7","list.inactiveSelectionForeground":"#adbac7","list.activeSelectionForeground":"#adbac7","list.hoverBackground":"#636e7b1a","list.inactiveSelectionBackground":"#636e7b66","list.activeSelectionBackground":"#636e7b66","list.focusForeground":"#adbac7","list.focusBackground":"#4184e426","list.inactiveFocusBackground":"#4184e426","list.highlightForeground":"#539bf5","tree.indentGuidesStroke":"#373e47","notificationCenterHeader.foreground":"#768390","notificationCenterHeader.background":"#2d333b","notifications.foreground":"#adbac7","notifications.background":"#2d333b","notifications.border":"#444c56","notificationsErrorIcon.foreground":"#e5534b","notificationsWarningIcon.foreground":"#c69026","notificationsInfoIcon.foreground":"#539bf5","pickerGroup.border":"#444c56","pickerGroup.foreground":"#768390","quickInput.background":"#2d333b","quickInput.foreground":"#adbac7","statusBar.foreground":"#768390","statusBar.background":"#22272e","statusBar.border":"#444c56","statusBar.focusBorder":"#316dca80","statusBar.noFolderBackground":"#22272e","statusBar.debuggingForeground":"#cdd9e5","statusBar.debuggingBackground":"#c93c37","statusBarItem.prominentBackground":"#636e7b66","statusBarItem.remoteForeground":"#adbac7","statusBarItem.remoteBackground":"#444c56","statusBarItem.hoverBackground":"#adbac714","statusBarItem.activeBackground":"#adbac71f","statusBarItem.focusBorder":"#316dca","editorGroupHeader.tabsBackground":"#1c2128","editorGroupHeader.tabsBorder":"#444c56","editorGroup.border":"#444c56","tab.activeForeground":"#adbac7","tab.inactiveForeground":"#768390","tab.inactiveBackground":"#1c2128","tab.activeBackground":"#22272e","tab.hoverBackground":"#22272e","tab.unfocusedHoverBackground":"#636e7b1a","tab.border":"#444c56","tab.unfocusedActiveBorderTop":"#444c56","tab.activeBorder":"#22272e","tab.unfocusedActiveBorder":"#22272e","tab.activeBorderTop":"#ec775c","breadcrumb.foreground":"#768390","breadcrumb.focusForeground":"#adbac7","breadcrumb.activeSelectionForeground":"#768390","breadcrumbPicker.background":"#2d333b","editor.foreground":"#adbac7","editor.background":"#22272e","editorWidget.background":"#2d333b","editor.foldBackground":"#636e7b1a","editor.lineHighlightBackground":"#636e7b1a","editorLineNumber.foreground":"#636e7b","editorLineNumber.activeForeground":"#adbac7","editorIndentGuide.background":"#adbac71f","editorIndentGuide.activeBackground":"#adbac73d","editorWhitespace.foreground":"#545d68","editorCursor.foreground":"#539bf5","editor.findMatchBackground":"#966600","editor.findMatchHighlightBackground":"#eac55f80","editor.linkedEditingBackground":"#539bf512","editor.selectionHighlightBackground":"#57ab5a40","editor.wordHighlightBackground":"#636e7b80","editor.wordHighlightBorder":"#636e7b99","editor.wordHighlightStrongBackground":"#636e7b4d","editor.wordHighlightStrongBorder":"#636e7b99","editorBracketMatch.background":"#57ab5a40","editorBracketMatch.border":"#57ab5a99","editorInlayHint.background":"#76839033","editorInlayHint.foreground":"#768390","editorInlayHint.typeBackground":"#76839033","editorInlayHint.typeForeground":"#768390","editorInlayHint.paramBackground":"#76839033","editorInlayHint.paramForeground":"#768390","editorGutter.modifiedBackground":"#ae7c1466","editorGutter.addedBackground":"#46954a66","editorGutter.deletedBackground":"#e5534b66","diffEditor.insertedLineBackground":"#347d3926","diffEditor.insertedTextBackground":"#57ab5a4d","diffEditor.removedLineBackground":"#c93c3726","diffEditor.removedTextBackground":"#f470674d","scrollbar.shadow":"#545d6833","scrollbarSlider.background":"#76839033","scrollbarSlider.hoverBackground":"#7683903d","scrollbarSlider.activeBackground":"#76839047","editorOverviewRuler.border":"#1c2128","minimapSlider.background":"#76839033","minimapSlider.hoverBackground":"#7683903d","minimapSlider.activeBackground":"#76839047","panel.background":"#1c2128","panel.border":"#444c56","panelTitle.activeBorder":"#ec775c","panelTitle.activeForeground":"#adbac7","panelTitle.inactiveForeground":"#768390","panelInput.border":"#444c56","debugIcon.breakpointForeground":"#e5534b","debugConsole.infoForeground":"#768390","debugConsole.warningForeground":"#c69026","debugConsole.errorForeground":"#ff938a","debugConsole.sourceForeground":"#daaa3f","debugConsoleInputIcon.foreground":"#b083f0","debugTokenExpression.name":"#6cb6ff","debugTokenExpression.value":"#96d0ff","debugTokenExpression.string":"#96d0ff","debugTokenExpression.boolean":"#6bc46d","debugTokenExpression.number":"#6bc46d","debugTokenExpression.error":"#ff938a","symbolIcon.arrayForeground":"#e0823d","symbolIcon.booleanForeground":"#539bf5","symbolIcon.classForeground":"#e0823d","symbolIcon.colorForeground":"#6cb6ff","symbolIcon.constructorForeground":"#dcbdfb","symbolIcon.enumeratorForeground":"#e0823d","symbolIcon.enumeratorMemberForeground":"#539bf5","symbolIcon.eventForeground":"#636e7b","symbolIcon.fieldForeground":"#e0823d","symbolIcon.fileForeground":"#c69026","symbolIcon.folderForeground":"#c69026","symbolIcon.functionForeground":"#b083f0","symbolIcon.interfaceForeground":"#e0823d","symbolIcon.keyForeground":"#539bf5","symbolIcon.keywordForeground":"#f47067","symbolIcon.methodForeground":"#b083f0","symbolIcon.moduleForeground":"#f47067","symbolIcon.namespaceForeground":"#f47067","symbolIcon.nullForeground":"#539bf5","symbolIcon.numberForeground":"#57ab5a","symbolIcon.objectForeground":"#e0823d","symbolIcon.operatorForeground":"#6cb6ff","symbolIcon.packageForeground":"#e0823d","symbolIcon.propertyForeground":"#e0823d","symbolIcon.referenceForeground":"#539bf5","symbolIcon.snippetForeground":"#539bf5","symbolIcon.stringForeground":"#6cb6ff","symbolIcon.structForeground":"#e0823d","symbolIcon.textForeground":"#6cb6ff","symbolIcon.typeParameterForeground":"#6cb6ff","symbolIcon.unitForeground":"#539bf5","symbolIcon.variableForeground":"#e0823d","symbolIcon.constantForeground":["#b4f1b4","#8ddb8c","#6bc46d","#57ab5a","#46954a","#347d39","#2b6a30","#245829","#1b4721","#113417"],"terminal.foreground":"#adbac7","terminal.ansiBlack":"#545d68","terminal.ansiRed":"#f47067","terminal.ansiGreen":"#57ab5a","terminal.ansiYellow":"#c69026","terminal.ansiBlue":"#539bf5","terminal.ansiMagenta":"#b083f0","terminal.ansiCyan":"#39c5cf","terminal.ansiWhite":"#909dab","terminal.ansiBrightBlack":"#636e7b","terminal.ansiBrightRed":"#ff938a","terminal.ansiBrightGreen":"#6bc46d","terminal.ansiBrightYellow":"#daaa3f","terminal.ansiBrightBlue":"#6cb6ff","terminal.ansiBrightMagenta":"#dcbdfb","terminal.ansiBrightCyan":"#56d4dd","terminal.ansiBrightWhite":"#cdd9e5","editorBracketHighlight.foreground1":"#6cb6ff","editorBracketHighlight.foreground2":"#6bc46d","editorBracketHighlight.foreground3":"#daaa3f","editorBracketHighlight.foreground4":"#ff938a","editorBracketHighlight.foreground5":"#fc8dc7","editorBracketHighlight.foreground6":"#dcbdfb","editorBracketHighlight.unexpectedBracket.foreground":"#768390","gitDecoration.addedResourceForeground":"#57ab5a","gitDecoration.modifiedResourceForeground":"#c69026","gitDecoration.deletedResourceForeground":"#e5534b","gitDecoration.untrackedResourceForeground":"#57ab5a","gitDecoration.ignoredResourceForeground":"#636e7b","gitDecoration.conflictingResourceForeground":"#cc6b2c","gitDecoration.submoduleResourceForeground":"#768390","debugToolBar.background":"#2d333b","editor.stackFrameHighlightBackground":"#ae7c1466","editor.focusedStackFrameHighlightBackground":"#46954a66","peekViewEditor.matchHighlightBackground":"#ae7c1466","peekViewResult.matchHighlightBackground":"#ae7c1466","peekViewEditor.background":"#636e7b1a","peekViewResult.background":"#22272e","settings.headerForeground":"#adbac7","settings.modifiedItemIndicator":"#ae7c1466","welcomePage.buttonBackground":"#373e47","welcomePage.buttonHoverBackground":"#444c56"},"semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#768390"}},{"scope":["constant.other.placeholder","constant.character"],"settings":{"foreground":"#f47067"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language","entity"],"settings":{"foreground":"#6cb6ff"}},{"scope":["entity.name","meta.export.default","meta.definition.variable"],"settings":{"foreground":"#f69d50"}},{"scope":["variable.parameter.function","meta.jsx.children","meta.block","meta.tag.attributes","entity.name.constant","meta.object.member","meta.embedded.expression"],"settings":{"foreground":"#adbac7"}},{"scope":"entity.name.function","settings":{"foreground":"#dcbdfb"}},{"scope":["entity.name.tag","support.class.component"],"settings":{"foreground":"#8ddb8c"}},{"scope":"keyword","settings":{"foreground":"#f47067"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#f47067"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#adbac7"}},{"scope":["string","string punctuation.section.embedded source"],"settings":{"foreground":"#96d0ff"}},{"scope":"support","settings":{"foreground":"#6cb6ff"}},{"scope":"meta.property-name","settings":{"foreground":"#6cb6ff"}},{"scope":"variable","settings":{"foreground":"#f69d50"}},{"scope":"variable.other","settings":{"foreground":"#adbac7"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#ff938a"}},{"scope":"carriage-return","settings":{"fontStyle":"italic underline","background":"#f47067","foreground":"#cdd9e5","content":"^M"}},{"scope":"message.error","settings":{"foreground":"#ff938a"}},{"scope":"string variable","settings":{"foreground":"#6cb6ff"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#96d0ff"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#96d0ff"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#8ddb8c"}},{"scope":"support.constant","settings":{"foreground":"#6cb6ff"}},{"scope":"support.variable","settings":{"foreground":"#6cb6ff"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#8ddb8c"}},{"scope":"meta.module-reference","settings":{"foreground":"#6cb6ff"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#f69d50"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#6cb6ff"}},{"scope":"markup.quote","settings":{"foreground":"#8ddb8c"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#adbac7"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#adbac7"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#6cb6ff"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#5d0f12","foreground":"#ff938a"}},{"scope":["punctuation.section.embedded"],"settings":{"foreground":"#f47067"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#113417","foreground":"#8ddb8c"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#682d0f","foreground":"#f69d50"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"foreground":"#2d333b","background":"#6cb6ff"}},{"scope":"meta.diff.range","settings":{"foreground":"#dcbdfb","fontStyle":"bold"}},{"scope":"meta.diff.header","settings":{"foreground":"#6cb6ff"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#6cb6ff"}},{"scope":"meta.output","settings":{"foreground":"#6cb6ff"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#768390"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#ff938a"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"foreground":"#96d0ff"}}]}'),ko=JSON.parse('{"name":"GitHub Light Default","colors":{"focusBorder":"#0969da","foreground":"#1f2328","descriptionForeground":"#656d76","errorForeground":"#cf222e","textLink.foreground":"#0969da","textLink.activeForeground":"#0969da","textBlockQuote.background":"#f6f8fa","textBlockQuote.border":"#d0d7de","textCodeBlock.background":"#afb8c133","textPreformat.foreground":"#656d76","textSeparator.foreground":"#d8dee4","icon.foreground":"#656d76","keybindingLabel.foreground":"#1f2328","button.background":"#1f883d","button.foreground":"#ffffff","button.hoverBackground":"#1a7f37","button.secondaryBackground":"#ebecf0","button.secondaryForeground":"#24292f","button.secondaryHoverBackground":"#f3f4f6","checkbox.background":"#f6f8fa","checkbox.border":"#d0d7de","dropdown.background":"#ffffff","dropdown.border":"#d0d7de","dropdown.foreground":"#1f2328","dropdown.listBackground":"#ffffff","input.background":"#ffffff","input.border":"#d0d7de","input.foreground":"#1f2328","input.placeholderForeground":"#6e7781","badge.foreground":"#ffffff","badge.background":"#0969da","progressBar.background":"#0969da","titleBar.activeForeground":"#656d76","titleBar.activeBackground":"#ffffff","titleBar.inactiveForeground":"#656d76","titleBar.inactiveBackground":"#f6f8fa","titleBar.border":"#d0d7de","activityBar.foreground":"#1f2328","activityBar.inactiveForeground":"#656d76","activityBar.background":"#ffffff","activityBarBadge.foreground":"#ffffff","activityBarBadge.background":"#0969da","activityBar.activeBorder":"#fd8c73","activityBar.border":"#d0d7de","sideBar.foreground":"#1f2328","sideBar.background":"#f6f8fa","sideBar.border":"#d0d7de","sideBarTitle.foreground":"#1f2328","sideBarSectionHeader.foreground":"#1f2328","sideBarSectionHeader.background":"#f6f8fa","sideBarSectionHeader.border":"#d0d7de","list.hoverForeground":"#1f2328","list.inactiveSelectionForeground":"#1f2328","list.activeSelectionForeground":"#1f2328","list.hoverBackground":"#eaeef280","list.inactiveSelectionBackground":"#afb8c133","list.activeSelectionBackground":"#afb8c133","list.focusForeground":"#1f2328","list.focusBackground":"#ddf4ff","list.inactiveFocusBackground":"#ddf4ff","list.highlightForeground":"#0969da","tree.indentGuidesStroke":"#d8dee4","notificationCenterHeader.foreground":"#656d76","notificationCenterHeader.background":"#f6f8fa","notifications.foreground":"#1f2328","notifications.background":"#ffffff","notifications.border":"#d0d7de","notificationsErrorIcon.foreground":"#cf222e","notificationsWarningIcon.foreground":"#9a6700","notificationsInfoIcon.foreground":"#0969da","pickerGroup.border":"#d0d7de","pickerGroup.foreground":"#656d76","quickInput.background":"#ffffff","quickInput.foreground":"#1f2328","statusBar.foreground":"#656d76","statusBar.background":"#ffffff","statusBar.border":"#d0d7de","statusBar.focusBorder":"#0969da80","statusBar.noFolderBackground":"#ffffff","statusBar.debuggingForeground":"#ffffff","statusBar.debuggingBackground":"#cf222e","statusBarItem.prominentBackground":"#afb8c133","statusBarItem.remoteForeground":"#1f2328","statusBarItem.remoteBackground":"#eaeef2","statusBarItem.hoverBackground":"#1f232814","statusBarItem.activeBackground":"#1f23281f","statusBarItem.focusBorder":"#0969da","editorGroupHeader.tabsBackground":"#f6f8fa","editorGroupHeader.tabsBorder":"#d0d7de","editorGroup.border":"#d0d7de","tab.activeForeground":"#1f2328","tab.inactiveForeground":"#656d76","tab.inactiveBackground":"#f6f8fa","tab.activeBackground":"#ffffff","tab.hoverBackground":"#ffffff","tab.unfocusedHoverBackground":"#eaeef280","tab.border":"#d0d7de","tab.unfocusedActiveBorderTop":"#d0d7de","tab.activeBorder":"#ffffff","tab.unfocusedActiveBorder":"#ffffff","tab.activeBorderTop":"#fd8c73","breadcrumb.foreground":"#656d76","breadcrumb.focusForeground":"#1f2328","breadcrumb.activeSelectionForeground":"#656d76","breadcrumbPicker.background":"#ffffff","editor.foreground":"#1f2328","editor.background":"#ffffff","editorWidget.background":"#ffffff","editor.foldBackground":"#6e77811a","editor.lineHighlightBackground":"#eaeef280","editorLineNumber.foreground":"#8c959f","editorLineNumber.activeForeground":"#1f2328","editorIndentGuide.background":"#1f23281f","editorIndentGuide.activeBackground":"#1f23283d","editorWhitespace.foreground":"#afb8c1","editorCursor.foreground":"#0969da","editor.findMatchBackground":"#bf8700","editor.findMatchHighlightBackground":"#fae17d80","editor.linkedEditingBackground":"#0969da12","editor.selectionHighlightBackground":"#4ac26b40","editor.wordHighlightBackground":"#eaeef280","editor.wordHighlightBorder":"#afb8c199","editor.wordHighlightStrongBackground":"#afb8c14d","editor.wordHighlightStrongBorder":"#afb8c199","editorBracketMatch.background":"#4ac26b40","editorBracketMatch.border":"#4ac26b99","editorInlayHint.background":"#afb8c133","editorInlayHint.foreground":"#656d76","editorInlayHint.typeBackground":"#afb8c133","editorInlayHint.typeForeground":"#656d76","editorInlayHint.paramBackground":"#afb8c133","editorInlayHint.paramForeground":"#656d76","editorGutter.modifiedBackground":"#d4a72c66","editorGutter.addedBackground":"#4ac26b66","editorGutter.deletedBackground":"#ff818266","diffEditor.insertedLineBackground":"#aceebb4d","diffEditor.insertedTextBackground":"#6fdd8b80","diffEditor.removedLineBackground":"#ffcecb4d","diffEditor.removedTextBackground":"#ff818266","scrollbar.shadow":"#6e778133","scrollbarSlider.background":"#8c959f33","scrollbarSlider.hoverBackground":"#8c959f3d","scrollbarSlider.activeBackground":"#8c959f47","editorOverviewRuler.border":"#ffffff","minimapSlider.background":"#8c959f33","minimapSlider.hoverBackground":"#8c959f3d","minimapSlider.activeBackground":"#8c959f47","panel.background":"#f6f8fa","panel.border":"#d0d7de","panelTitle.activeBorder":"#fd8c73","panelTitle.activeForeground":"#1f2328","panelTitle.inactiveForeground":"#656d76","panelInput.border":"#d0d7de","debugIcon.breakpointForeground":"#cf222e","debugConsole.infoForeground":"#57606a","debugConsole.warningForeground":"#7d4e00","debugConsole.errorForeground":"#cf222e","debugConsole.sourceForeground":"#9a6700","debugConsoleInputIcon.foreground":"#6639ba","debugTokenExpression.name":"#0550ae","debugTokenExpression.value":"#0a3069","debugTokenExpression.string":"#0a3069","debugTokenExpression.boolean":"#116329","debugTokenExpression.number":"#116329","debugTokenExpression.error":"#a40e26","symbolIcon.arrayForeground":"#953800","symbolIcon.booleanForeground":"#0550ae","symbolIcon.classForeground":"#953800","symbolIcon.colorForeground":"#0a3069","symbolIcon.constructorForeground":"#3e1f79","symbolIcon.enumeratorForeground":"#953800","symbolIcon.enumeratorMemberForeground":"#0550ae","symbolIcon.eventForeground":"#57606a","symbolIcon.fieldForeground":"#953800","symbolIcon.fileForeground":"#7d4e00","symbolIcon.folderForeground":"#7d4e00","symbolIcon.functionForeground":"#6639ba","symbolIcon.interfaceForeground":"#953800","symbolIcon.keyForeground":"#0550ae","symbolIcon.keywordForeground":"#a40e26","symbolIcon.methodForeground":"#6639ba","symbolIcon.moduleForeground":"#a40e26","symbolIcon.namespaceForeground":"#a40e26","symbolIcon.nullForeground":"#0550ae","symbolIcon.numberForeground":"#116329","symbolIcon.objectForeground":"#953800","symbolIcon.operatorForeground":"#0a3069","symbolIcon.packageForeground":"#953800","symbolIcon.propertyForeground":"#953800","symbolIcon.referenceForeground":"#0550ae","symbolIcon.snippetForeground":"#0550ae","symbolIcon.stringForeground":"#0a3069","symbolIcon.structForeground":"#953800","symbolIcon.textForeground":"#0a3069","symbolIcon.typeParameterForeground":"#0a3069","symbolIcon.unitForeground":"#0550ae","symbolIcon.variableForeground":"#953800","symbolIcon.constantForeground":"#116329","terminal.foreground":"#1f2328","terminal.ansiBlack":"#24292f","terminal.ansiRed":"#cf222e","terminal.ansiGreen":"#116329","terminal.ansiYellow":"#4d2d00","terminal.ansiBlue":"#0969da","terminal.ansiMagenta":"#8250df","terminal.ansiCyan":"#1b7c83","terminal.ansiWhite":"#6e7781","terminal.ansiBrightBlack":"#57606a","terminal.ansiBrightRed":"#a40e26","terminal.ansiBrightGreen":"#1a7f37","terminal.ansiBrightYellow":"#633c01","terminal.ansiBrightBlue":"#218bff","terminal.ansiBrightMagenta":"#a475f9","terminal.ansiBrightCyan":"#3192aa","terminal.ansiBrightWhite":"#8c959f","editorBracketHighlight.foreground1":"#0969da","editorBracketHighlight.foreground2":"#1a7f37","editorBracketHighlight.foreground3":"#9a6700","editorBracketHighlight.foreground4":"#cf222e","editorBracketHighlight.foreground5":"#bf3989","editorBracketHighlight.foreground6":"#8250df","editorBracketHighlight.unexpectedBracket.foreground":"#656d76","gitDecoration.addedResourceForeground":"#1a7f37","gitDecoration.modifiedResourceForeground":"#9a6700","gitDecoration.deletedResourceForeground":"#cf222e","gitDecoration.untrackedResourceForeground":"#1a7f37","gitDecoration.ignoredResourceForeground":"#6e7781","gitDecoration.conflictingResourceForeground":"#bc4c00","gitDecoration.submoduleResourceForeground":"#656d76","debugToolBar.background":"#ffffff","editor.stackFrameHighlightBackground":"#d4a72c66","editor.focusedStackFrameHighlightBackground":"#4ac26b66","settings.headerForeground":"#1f2328","settings.modifiedItemIndicator":"#d4a72c66","welcomePage.buttonBackground":"#f6f8fa","welcomePage.buttonHoverBackground":"#f3f4f6"},"semanticHighlighting":true,"tokenColors":[{"scope":["comment","punctuation.definition.comment","string.comment"],"settings":{"foreground":"#6e7781"}},{"scope":["constant.other.placeholder","constant.character"],"settings":{"foreground":"#cf222e"}},{"scope":["constant","entity.name.constant","variable.other.constant","variable.other.enummember","variable.language","entity"],"settings":{"foreground":"#0550ae"}},{"scope":["entity.name","meta.export.default","meta.definition.variable"],"settings":{"foreground":"#953800"}},{"scope":["variable.parameter.function","meta.jsx.children","meta.block","meta.tag.attributes","entity.name.constant","meta.object.member","meta.embedded.expression"],"settings":{"foreground":"#1f2328"}},{"scope":"entity.name.function","settings":{"foreground":"#8250df"}},{"scope":["entity.name.tag","support.class.component"],"settings":{"foreground":"#116329"}},{"scope":"keyword","settings":{"foreground":"#cf222e"}},{"scope":["storage","storage.type"],"settings":{"foreground":"#cf222e"}},{"scope":["storage.modifier.package","storage.modifier.import","storage.type.java"],"settings":{"foreground":"#1f2328"}},{"scope":["string","string punctuation.section.embedded source"],"settings":{"foreground":"#0a3069"}},{"scope":"support","settings":{"foreground":"#0550ae"}},{"scope":"meta.property-name","settings":{"foreground":"#0550ae"}},{"scope":"variable","settings":{"foreground":"#953800"}},{"scope":"variable.other","settings":{"foreground":"#1f2328"}},{"scope":"invalid.broken","settings":{"fontStyle":"italic","foreground":"#82071e"}},{"scope":"invalid.deprecated","settings":{"fontStyle":"italic","foreground":"#82071e"}},{"scope":"invalid.illegal","settings":{"fontStyle":"italic","foreground":"#82071e"}},{"scope":"invalid.unimplemented","settings":{"fontStyle":"italic","foreground":"#82071e"}},{"scope":"carriage-return","settings":{"fontStyle":"italic underline","background":"#cf222e","foreground":"#f6f8fa","content":"^M"}},{"scope":"message.error","settings":{"foreground":"#82071e"}},{"scope":"string variable","settings":{"foreground":"#0550ae"}},{"scope":["source.regexp","string.regexp"],"settings":{"foreground":"#0a3069"}},{"scope":["string.regexp.character-class","string.regexp constant.character.escape","string.regexp source.ruby.embedded","string.regexp string.regexp.arbitrary-repitition"],"settings":{"foreground":"#0a3069"}},{"scope":"string.regexp constant.character.escape","settings":{"fontStyle":"bold","foreground":"#116329"}},{"scope":"support.constant","settings":{"foreground":"#0550ae"}},{"scope":"support.variable","settings":{"foreground":"#0550ae"}},{"scope":"support.type.property-name.json","settings":{"foreground":"#116329"}},{"scope":"meta.module-reference","settings":{"foreground":"#0550ae"}},{"scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#953800"}},{"scope":["markup.heading","markup.heading entity.name"],"settings":{"fontStyle":"bold","foreground":"#0550ae"}},{"scope":"markup.quote","settings":{"foreground":"#116329"}},{"scope":"markup.italic","settings":{"fontStyle":"italic","foreground":"#1f2328"}},{"scope":"markup.bold","settings":{"fontStyle":"bold","foreground":"#1f2328"}},{"scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"scope":["markup.strikethrough"],"settings":{"fontStyle":"strikethrough"}},{"scope":"markup.inline.raw","settings":{"foreground":"#0550ae"}},{"scope":["markup.deleted","meta.diff.header.from-file","punctuation.definition.deleted"],"settings":{"background":"#ffebe9","foreground":"#82071e"}},{"scope":["punctuation.section.embedded"],"settings":{"foreground":"#cf222e"}},{"scope":["markup.inserted","meta.diff.header.to-file","punctuation.definition.inserted"],"settings":{"background":"#dafbe1","foreground":"#116329"}},{"scope":["markup.changed","punctuation.definition.changed"],"settings":{"background":"#ffd8b5","foreground":"#953800"}},{"scope":["markup.ignored","markup.untracked"],"settings":{"foreground":"#eaeef2","background":"#0550ae"}},{"scope":"meta.diff.range","settings":{"foreground":"#8250df","fontStyle":"bold"}},{"scope":"meta.diff.header","settings":{"foreground":"#0550ae"}},{"scope":"meta.separator","settings":{"fontStyle":"bold","foreground":"#0550ae"}},{"scope":"meta.output","settings":{"foreground":"#0550ae"}},{"scope":["brackethighlighter.tag","brackethighlighter.curly","brackethighlighter.round","brackethighlighter.square","brackethighlighter.angle","brackethighlighter.quote"],"settings":{"foreground":"#57606a"}},{"scope":"brackethighlighter.unmatched","settings":{"foreground":"#82071e"}},{"scope":["constant.other.reference.link","string.other.link"],"settings":{"foreground":"#0a3069"}}]}'),Ro=JSON.parse('{"name":"Material-Theme-Default","semanticHighlighting":true,"tokenColors":[{"name":"Global settings","settings":{"background":"#263238","foreground":"#EEFFFF"}},{"name":"String","scope":"string","settings":{"foreground":"#C3E88D"}},{"name":"Punctuation","scope":"punctuation, constant.other.symbol","settings":{"foreground":"#89DDFF"}},{"name":"String Escape","scope":"constant.character.escape, text.html constant.character.entity.named","settings":{"foreground":"#EEFFFF"}},{"name":"Boolean","scope":"constant.language.boolean","settings":{"foreground":"#ff9cac"}},{"name":"Number","scope":"constant.numeric","settings":{"foreground":"#F78C6C"}},{"name":"Variable","scope":"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments","settings":{"foreground":"#EEFFFF"}},{"name":"Other Keyword","scope":"keyword.other","settings":{"foreground":"#F78C6C"}},{"name":"Keyword","scope":"keyword, modifier, variable.language.this, support.type.object, constant.language","settings":{"foreground":"#89DDFF"}},{"name":"Function call","scope":"entity.name.function, support.function","settings":{"foreground":"#82AAFF"}},{"name":"Storage","scope":"storage.type, storage.modifier, storage.control","settings":{"foreground":"#C792EA"}},{"name":"Modules","scope":"support.module, support.node","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Type","scope":"support.type, constant.other.key","settings":{"foreground":"#FFCB6B"}},{"name":"Type","scope":"entity.name.type, entity.other.inherited-class, entity.other","settings":{"foreground":"#FFCB6B"}},{"name":"Comment","scope":"comment","settings":{"foreground":"#546E7A","fontStyle":"italic"}},{"name":"Comment","scope":"comment punctuation.definition.comment, string.quoted.docstring","settings":{"foreground":"#546E7A","fontStyle":"italic"}},{"name":"Punctuation","scope":"punctuation","settings":{"foreground":"#89DDFF"}},{"name":"Class","scope":"entity.name, entity.name.type.class, support.type, support.class, meta.use","settings":{"foreground":"#FFCB6B"}},{"name":"Class variable","scope":"variable.object.property, meta.field.declaration entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Class method","scope":"meta.definition.method entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Function definition","scope":"meta.function entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Template expression","scope":"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end","settings":{"foreground":"#89DDFF"}},{"name":"Reset embedded/template expression colors","scope":"meta.embedded, source.groovy.embedded, meta.template.expression","settings":{"foreground":"#EEFFFF"}},{"name":"YAML key","scope":"entity.name.tag.yaml","settings":{"foreground":"#f07178"}},{"name":"JSON key","scope":"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json","settings":{"foreground":"#f07178"}},{"name":"JSON constant","scope":"constant.language.json","settings":{"foreground":"#89DDFF"}},{"name":"CSS class","scope":"entity.other.attribute-name.class","settings":{"foreground":"#FFCB6B"}},{"name":"CSS ID","scope":"entity.other.attribute-name.id","settings":{"foreground":"#F78C6C"}},{"name":"CSS tag","scope":"source.css entity.name.tag","settings":{"foreground":"#FFCB6B"}},{"name":"CSS properties","scope":"support.type.property-name.css","settings":{"foreground":"#B2CCD6"}},{"name":"HTML tag outer","scope":"meta.tag, punctuation.definition.tag","settings":{"foreground":"#89DDFF"}},{"name":"HTML tag inner","scope":"entity.name.tag","settings":{"foreground":"#f07178"}},{"name":"HTML tag attribute","scope":"entity.other.attribute-name","settings":{"foreground":"#C792EA"}},{"name":"HTML entities","scope":"punctuation.definition.entity.html","settings":{"foreground":"#EEFFFF"}},{"name":"Markdown heading","scope":"markup.heading","settings":{"foreground":"#89DDFF"}},{"name":"Markdown link text","scope":"text.html.markdown meta.link.inline, meta.link.reference","settings":{"foreground":"#f07178"}},{"name":"Markdown list item","scope":"text.html.markdown beginning.punctuation.definition.list","settings":{"foreground":"#89DDFF"}},{"name":"Markdown italic","scope":"markup.italic","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Markdown bold","scope":"markup.bold","settings":{"foreground":"#f07178","fontStyle":"bold"}},{"name":"Markdown bold italic","scope":"markup.bold markup.italic, markup.italic markup.bold","settings":{"foreground":"#f07178","fontStyle":"italic bold"}},{"name":"Markdown code block","scope":"markup.fenced_code.block.markdown punctuation.definition.markdown","settings":{"foreground":"#C3E88D"}},{"name":"Markdown inline code","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#C3E88D"}},{"name":"INI property name","scope":"keyword.other.definition.ini","settings":{"foreground":"#f07178"}},{"name":"INI section title","scope":"entity.name.section.group-title.ini","settings":{"foreground":"#89DDFF"}},{"name":"C# class","scope":"source.cs meta.class.identifier storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# class method","scope":"source.cs meta.method.identifier entity.name.function","settings":{"foreground":"#f07178"}},{"name":"C# function call","scope":"source.cs meta.method-call meta.method, source.cs entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"C# type","scope":"source.cs storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# return type","scope":"source.cs meta.method.return-type","settings":{"foreground":"#FFCB6B"}},{"name":"C# preprocessor","scope":"source.cs meta.preprocessor","settings":{"foreground":"#546E7A"}},{"name":"C# namespace","scope":"source.cs entity.name.type.namespace","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Text","scope":"meta.jsx.children, SXNested","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Components name","scope":"support.class.component","settings":{"foreground":"#FFCB6B"}},{"name":"C-related Block Level Variables","scope":"source.cpp meta.block variable.other","settings":{"foreground":"#EEFFFF"}},{"name":"Member Access Meta","scope":"source.python meta.member.access.python","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"source.python meta.function-call.python, meta.function-call.arguments","settings":{"foreground":"#82AAFF"}},{"name":"Blocks","scope":"meta.block","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"entity.name.function.call","settings":{"foreground":"#82AAFF"}},{"name":"Namespaces","scope":"source.php support.other.namespace, source.php meta.use support.class","settings":{"foreground":"#EEFFFF"}},{"name":"Constant keywords","scope":"constant.keyword","settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Entity name","scope":"entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Global settings","settings":{"background":"#263238","foreground":"#EEFFFF"}},{"name":"Markup Deleted","scope":["markup.deleted"],"settings":{"foreground":"#f07178"}},{"name":"Markup Inserted","scope":["markup.inserted"],"settings":{"foreground":"#C3E88D"}},{"name":"Markup Underline","scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"name":"Keyword Control","scope":["keyword.control"],"settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Parameter","scope":["variable.parameter"],"settings":{"fontStyle":"italic"}},{"name":"Python - Self Parameter","scope":["variable.parameter.function.language.special.self.python"],"settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Python - Format Placeholder","scope":["constant.character.format.placeholder.other.python"],"settings":{"foreground":"#F78C6C"}},{"name":"Markdown - Blockquote","scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"name":"Markdown - Fenced Language","scope":["markup.fenced_code.block"],"settings":{"foreground":"#EEFFFF90"}},{"name":"Markdown - Blockquote Punctuation","scope":["punctuation.definition.quote"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 0","scope":["meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 1","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFCB6B"}},{"name":"JSON Key - Level 2","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#F78C6C"}},{"name":"JSON Key - Level 3","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#f07178"}},{"name":"JSON Key - Level 4","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#916b53"}},{"name":"JSON Key - Level 5","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#82AAFF"}},{"name":"JSON Key - Level 6","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 7","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 8","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C3E88D"}}],"colors":{"focusBorder":"#FFFFFF00","foreground":"#EEFFFF","button.background":"#80CBC420","button.foreground":"#ffffff","dropdown.background":"#263238","input.background":"#303C41","inputOption.activeBorder":"#EEFFFF30","list.activeSelectionBackground":"#263238","list.activeSelectionForeground":"#80CBC4","list.dropBackground":"#f0717880","list.focusBackground":"#EEFFFF20","list.focusForeground":"#EEFFFF","list.highlightForeground":"#80CBC4","list.hoverBackground":"#263238","list.inactiveSelectionBackground":"#00000030","activityBar.background":"#263238","activityBar.dropBackground":"#f0717880","activityBarBadge.background":"#80CBC4","activityBarBadge.foreground":"#000000","badge.background":"#00000030","badge.foreground":"#546E7A","sideBar.background":"#263238","sideBarSectionHeader.background":"#263238","editorGroup.dropBackground":"#f0717880","editorGroup.focusedEmptyBorder":"#f07178","editorGroupHeader.tabsBackground":"#263238","tab.border":"#263238","tab.activeBorder":"#80CBC4","tab.inactiveBackground":"#263238","tab.activeModifiedBorder":"#607a86","tab.inactiveModifiedBorder":"#904348","tab.unfocusedActiveModifiedBorder":"#c05a60","tab.unfocusedInactiveModifiedBorder":"#904348","editor.background":"#263238","editor.foreground":"#EEFFFF","editorLineNumber.foreground":"#37474F","editorLineNumber.activeForeground":"#607a86","editorCursor.foreground":"#FFCC00","editor.selectionBackground":"#80CBC420","editor.selectionHighlightBackground":"#FFCC0020","editor.wordHighlightBackground":"#ff9cac30","editor.wordHighlightStrongBackground":"#C3E88D30","editor.findMatchHighlight":"#EEFFFF","editor.findRangeHighlightBackground":"#FFCB6B30","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#FFFFFF0d","editorWhitespace.foreground":"#EEFFFF40","editorWidget.background":"#263238","editorHoverWidget.background":"#263238","editorMarkerNavigation.background":"#EEFFFF05","peekView.border":"#00000030","peekViewEditor.background":"#EEFFFF05","peekViewResult.background":"#EEFFFF05","peekViewTitle.background":"#EEFFFF05","panel.background":"#263238","panel.border":"#26323860","panelTitle.activeBorder":"#80CBC4","panelTitle.inactiveForeground":"#EEFFFF","notebook.focusedCellBorder":"#80CBC4","notebook.inactiveFocusedCellBorder":"#80CBC450","statusBar.background":"#263238","statusBar.debuggingBackground":"#C792EA","statusBar.debuggingForeground":"#ffffff","statusBar.noFolderBackground":"#263238","statusBarItem.activeBackground":"#f0717880","statusBarItem.hoverBackground":"#546E7A20","statusBarItem.remoteBackground":"#80CBC4","statusBarItem.remoteForeground":"#000000","titleBar.activeBackground":"#263238","pickerGroup.border":"#FFFFFF1a","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#82AAFF","terminal.ansiBrightBlack":"#546E7A","terminal.ansiBrightBlue":"#82AAFF","terminal.ansiBrightCyan":"#89DDFF","terminal.ansiBrightGreen":"#C3E88D","terminal.ansiBrightMagenta":"#C792EA","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#FFCB6B","terminal.ansiCyan":"#89DDFF","terminal.ansiGreen":"#C3E88D","terminal.ansiMagenta":"#C792EA","terminal.ansiRed":"#f07178","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#FFCB6B","debugToolBar.background":"#263238","debugConsole.errorForeground":"#f07178","debugConsole.infoForeground":"#89DDFF","debugConsole.warningForeground":"#FFCB6B","selection.background":"#00000080","editorRuler.foreground":"#37474F","widget.shadow":"#00000030","scrollbar.shadow":"#00000030","editorLink.activeForeground":"#EEFFFF","progressBar.background":"#80CBC4","pickerGroup.foreground":"#80CBC4","tree.indentGuidesStroke":"#37474F","terminalCursor.foreground":"#FFCB6B","terminalCursor.background":"#000000","inputOption.activeBackground":"#EEFFFF30","textLink.foreground":"#80CBC4","textLink.activeForeground":"#EEFFFF","sideBar.foreground":"#607a86","sideBar.border":"#26323860","sideBarTitle.foreground":"#EEFFFF","sideBarSectionHeader.border":"#26323860","panel.dropBackground":"#EEFFFF","panelTitle.activeForeground":"#FFFFFF","editor.lineHighlightBackground":"#00000050","editor.findMatchBackground":"#000000","editor.findMatchHighlightBackground":"#00000050","editor.findMatchBorder":"#80CBC4","editor.findMatchHighlightBorder":"#ffffff30","editorIndentGuide.background":"#37474F70","editorIndentGuide.activeBackground":"#37474F","editorGroup.border":"#00000030","editorGutter.modifiedBackground":"#82AAFF60","editorGutter.addedBackground":"#C3E88D60","editorGutter.deletedBackground":"#f0717860","activityBar.border":"#26323860","activityBar.foreground":"#EEFFFF","activityBar.activeBorder":"#80CBC4","extensionBadge.remoteForeground":"#EEFFFF","scrollbarSlider.background":"#EEFFFF20","scrollbarSlider.hoverBackground":"#EEFFFF10","scrollbarSlider.activeBackground":"#80CBC4","tab.unfocusedActiveBorder":"#546E7A","tab.activeForeground":"#FFFFFF","tab.inactiveForeground":"#607a86","tab.activeBackground":"#263238","tab.unfocusedActiveForeground":"#EEFFFF","editorWidget.resizeBorder":"#80CBC4","editorWidget.border":"#80CBC4","statusBar.border":"#26323860","statusBar.foreground":"#546E7A","editorBracketMatch.border":"#FFCC0050","editorBracketMatch.background":"#263238","editorOverviewRuler.findMatchForeground":"#80CBC4","editorOverviewRuler.border":"#263238","editorOverviewRuler.errorForeground":"#f0717840","editorOverviewRuler.infoForeground":"#82AAFF40","editorOverviewRuler.warningForeground":"#FFCB6B40","editorInfo.foreground":"#82AAFF70","editorWarning.foreground":"#FFCB6B70","editorError.foreground":"#f0717870","editorHoverWidget.border":"#FFFFFF10","titleBar.activeForeground":"#EEFFFF","titleBar.inactiveBackground":"#263238","titleBar.inactiveForeground":"#607a86","titleBar.border":"#26323860","input.foreground":"#EEFFFF","input.placeholderForeground":"#EEFFFF60","input.border":"#FFFFFF10","inputValidation.errorBorder":"#f07178","inputValidation.infoBorder":"#82AAFF","inputValidation.warningBorder":"#FFCB6B","dropdown.border":"#FFFFFF10","quickInput.background":"#263238","quickInput.foreground":"#607a86","list.hoverForeground":"#FFFFFF","list.inactiveSelectionForeground":"#80CBC4","quickInput.list.focusBackground":"#EEFFFF20","editorSuggestWidget.background":"#263238","editorSuggestWidget.foreground":"#EEFFFF","editorSuggestWidget.highlightForeground":"#80CBC4","editorSuggestWidget.selectedBackground":"#00000050","editorSuggestWidget.border":"#FFFFFF10","diffEditor.insertedTextBackground":"#89DDFF20","diffEditor.removedTextBackground":"#ff9cac20","notifications.background":"#263238","notifications.foreground":"#EEFFFF","notificationLink.foreground":"#80CBC4","extensionButton.prominentBackground":"#C3E88D90","extensionButton.prominentHoverBackground":"#C3E88D","extensionButton.prominentForeground":"#000000","peekViewEditorGutter.background":"#EEFFFF05","peekViewTitleDescription.foreground":"#EEFFFF60","peekViewResult.matchHighlightBackground":"#80CBC420","peekViewEditor.matchHighlightBackground":"#80CBC420","peekViewResult.selectionBackground":"#607a8670","gitDecoration.deletedResourceForeground":"#f0717890","gitDecoration.conflictingResourceForeground":"#FFCB6B90","gitDecoration.modifiedResourceForeground":"#82AAFF90","gitDecoration.untrackedResourceForeground":"#C3E88D90","gitDecoration.ignoredResourceForeground":"#607a8690","breadcrumb.background":"#263238","breadcrumb.foreground":"#607a86","breadcrumb.focusForeground":"#EEFFFF","breadcrumb.activeSelectionForeground":"#80CBC4","breadcrumbPicker.background":"#263238","menu.background":"#263238","menu.foreground":"#EEFFFF","menu.selectionBackground":"#00000050","menu.selectionForeground":"#80CBC4","menu.selectionBorder":"#00000030","menu.separatorBackground":"#EEFFFF","menubar.selectionBackground":"#00000030","menubar.selectionForeground":"#80CBC4","menubar.selectionBorder":"#00000030","settings.dropdownForeground":"#EEFFFF","settings.dropdownBackground":"#263238","settings.numberInputForeground":"#EEFFFF","settings.numberInputBackground":"#263238","settings.textInputForeground":"#EEFFFF","settings.textInputBackground":"#263238","settings.headerForeground":"#80CBC4","settings.modifiedItemIndicator":"#80CBC4","settings.checkboxBackground":"#263238","settings.checkboxForeground":"#EEFFFF","listFilterWidget.background":"#00000030","listFilterWidget.outline":"#00000030","listFilterWidget.noMatchesOutline":"#00000030"}}'),Po=JSON.parse('{"name":"Material-Theme-Darker","semanticHighlighting":true,"tokenColors":[{"name":"Global settings","settings":{"background":"#212121","foreground":"#EEFFFF"}},{"name":"String","scope":"string","settings":{"foreground":"#C3E88D"}},{"name":"Punctuation","scope":"punctuation, constant.other.symbol","settings":{"foreground":"#89DDFF"}},{"name":"String Escape","scope":"constant.character.escape, text.html constant.character.entity.named","settings":{"foreground":"#EEFFFF"}},{"name":"Boolean","scope":"constant.language.boolean","settings":{"foreground":"#ff9cac"}},{"name":"Number","scope":"constant.numeric","settings":{"foreground":"#F78C6C"}},{"name":"Variable","scope":"variable, variable.parameter, support.variable, variable.language, support.constant, meta.definition.variable entity.name.function, meta.function-call.arguments","settings":{"foreground":"#EEFFFF"}},{"name":"Other Keyword","scope":"keyword.other","settings":{"foreground":"#F78C6C"}},{"name":"Keyword","scope":"keyword, modifier, variable.language.this, support.type.object, constant.language","settings":{"foreground":"#89DDFF"}},{"name":"Function call","scope":"entity.name.function, support.function","settings":{"foreground":"#82AAFF"}},{"name":"Storage","scope":"storage.type, storage.modifier, storage.control","settings":{"foreground":"#C792EA"}},{"name":"Modules","scope":"support.module, support.node","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Type","scope":"support.type, constant.other.key","settings":{"foreground":"#FFCB6B"}},{"name":"Type","scope":"entity.name.type, entity.other.inherited-class, entity.other","settings":{"foreground":"#FFCB6B"}},{"name":"Comment","scope":"comment","settings":{"foreground":"#545454","fontStyle":"italic"}},{"name":"Comment","scope":"comment punctuation.definition.comment, string.quoted.docstring","settings":{"foreground":"#545454","fontStyle":"italic"}},{"name":"Punctuation","scope":"punctuation","settings":{"foreground":"#89DDFF"}},{"name":"Class","scope":"entity.name, entity.name.type.class, support.type, support.class, meta.use","settings":{"foreground":"#FFCB6B"}},{"name":"Class variable","scope":"variable.object.property, meta.field.declaration entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Class method","scope":"meta.definition.method entity.name.function","settings":{"foreground":"#f07178"}},{"name":"Function definition","scope":"meta.function entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Template expression","scope":"template.expression.begin, template.expression.end, punctuation.definition.template-expression.begin, punctuation.definition.template-expression.end","settings":{"foreground":"#89DDFF"}},{"name":"Reset embedded/template expression colors","scope":"meta.embedded, source.groovy.embedded, meta.template.expression","settings":{"foreground":"#EEFFFF"}},{"name":"YAML key","scope":"entity.name.tag.yaml","settings":{"foreground":"#f07178"}},{"name":"JSON key","scope":"meta.object-literal.key, meta.object-literal.key string, support.type.property-name.json","settings":{"foreground":"#f07178"}},{"name":"JSON constant","scope":"constant.language.json","settings":{"foreground":"#89DDFF"}},{"name":"CSS class","scope":"entity.other.attribute-name.class","settings":{"foreground":"#FFCB6B"}},{"name":"CSS ID","scope":"entity.other.attribute-name.id","settings":{"foreground":"#F78C6C"}},{"name":"CSS tag","scope":"source.css entity.name.tag","settings":{"foreground":"#FFCB6B"}},{"name":"CSS properties","scope":"support.type.property-name.css","settings":{"foreground":"#B2CCD6"}},{"name":"HTML tag outer","scope":"meta.tag, punctuation.definition.tag","settings":{"foreground":"#89DDFF"}},{"name":"HTML tag inner","scope":"entity.name.tag","settings":{"foreground":"#f07178"}},{"name":"HTML tag attribute","scope":"entity.other.attribute-name","settings":{"foreground":"#C792EA"}},{"name":"HTML entities","scope":"punctuation.definition.entity.html","settings":{"foreground":"#EEFFFF"}},{"name":"Markdown heading","scope":"markup.heading","settings":{"foreground":"#89DDFF"}},{"name":"Markdown link text","scope":"text.html.markdown meta.link.inline, meta.link.reference","settings":{"foreground":"#f07178"}},{"name":"Markdown list item","scope":"text.html.markdown beginning.punctuation.definition.list","settings":{"foreground":"#89DDFF"}},{"name":"Markdown italic","scope":"markup.italic","settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Markdown bold","scope":"markup.bold","settings":{"foreground":"#f07178","fontStyle":"bold"}},{"name":"Markdown bold italic","scope":"markup.bold markup.italic, markup.italic markup.bold","settings":{"foreground":"#f07178","fontStyle":"italic bold"}},{"name":"Markdown code block","scope":"markup.fenced_code.block.markdown punctuation.definition.markdown","settings":{"foreground":"#C3E88D"}},{"name":"Markdown inline code","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#C3E88D"}},{"name":"INI property name","scope":"keyword.other.definition.ini","settings":{"foreground":"#f07178"}},{"name":"INI section title","scope":"entity.name.section.group-title.ini","settings":{"foreground":"#89DDFF"}},{"name":"C# class","scope":"source.cs meta.class.identifier storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# class method","scope":"source.cs meta.method.identifier entity.name.function","settings":{"foreground":"#f07178"}},{"name":"C# function call","scope":"source.cs meta.method-call meta.method, source.cs entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"C# type","scope":"source.cs storage.type","settings":{"foreground":"#FFCB6B"}},{"name":"C# return type","scope":"source.cs meta.method.return-type","settings":{"foreground":"#FFCB6B"}},{"name":"C# preprocessor","scope":"source.cs meta.preprocessor","settings":{"foreground":"#545454"}},{"name":"C# namespace","scope":"source.cs entity.name.type.namespace","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Text","scope":"meta.jsx.children, SXNested","settings":{"foreground":"#EEFFFF"}},{"name":"JSX Components name","scope":"support.class.component","settings":{"foreground":"#FFCB6B"}},{"name":"C-related Block Level Variables","scope":"source.cpp meta.block variable.other","settings":{"foreground":"#EEFFFF"}},{"name":"Member Access Meta","scope":"source.python meta.member.access.python","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"source.python meta.function-call.python, meta.function-call.arguments","settings":{"foreground":"#82AAFF"}},{"name":"Blocks","scope":"meta.block","settings":{"foreground":"#f07178"}},{"name":"Function Call","scope":"entity.name.function.call","settings":{"foreground":"#82AAFF"}},{"name":"Namespaces","scope":"source.php support.other.namespace, source.php meta.use support.class","settings":{"foreground":"#EEFFFF"}},{"name":"Constant keywords","scope":"constant.keyword","settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Entity name","scope":"entity.name.function","settings":{"foreground":"#82AAFF"}},{"name":"Global settings","settings":{"background":"#212121","foreground":"#EEFFFF"}},{"name":"Markup Deleted","scope":["markup.deleted"],"settings":{"foreground":"#f07178"}},{"name":"Markup Inserted","scope":["markup.inserted"],"settings":{"foreground":"#C3E88D"}},{"name":"Markup Underline","scope":["markup.underline"],"settings":{"fontStyle":"underline"}},{"name":"Keyword Control","scope":["keyword.control"],"settings":{"foreground":"#89DDFF","fontStyle":"italic"}},{"name":"Parameter","scope":["variable.parameter"],"settings":{"fontStyle":"italic"}},{"name":"Python - Self Parameter","scope":["variable.parameter.function.language.special.self.python"],"settings":{"foreground":"#f07178","fontStyle":"italic"}},{"name":"Python - Format Placeholder","scope":["constant.character.format.placeholder.other.python"],"settings":{"foreground":"#F78C6C"}},{"name":"Markdown - Blockquote","scope":["markup.quote"],"settings":{"fontStyle":"italic","foreground":"#89DDFF"}},{"name":"Markdown - Fenced Language","scope":["markup.fenced_code.block"],"settings":{"foreground":"#EEFFFF90"}},{"name":"Markdown - Blockquote Punctuation","scope":["punctuation.definition.quote"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 0","scope":["meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 1","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#FFCB6B"}},{"name":"JSON Key - Level 2","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#F78C6C"}},{"name":"JSON Key - Level 3","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#f07178"}},{"name":"JSON Key - Level 4","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#916b53"}},{"name":"JSON Key - Level 5","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#82AAFF"}},{"name":"JSON Key - Level 6","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#ff9cac"}},{"name":"JSON Key - Level 7","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C792EA"}},{"name":"JSON Key - Level 8","scope":["meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json meta.structure.dictionary.value.json meta.structure.dictionary.json support.type.property-name.json"],"settings":{"foreground":"#C3E88D"}}],"colors":{"focusBorder":"#FFFFFF00","foreground":"#EEFFFF","button.background":"#61616150","button.foreground":"#ffffff","dropdown.background":"#212121","input.background":"#2B2B2B","inputOption.activeBorder":"#EEFFFF30","list.activeSelectionBackground":"#212121","list.activeSelectionForeground":"#80CBC4","list.dropBackground":"#f0717880","list.focusBackground":"#EEFFFF20","list.focusForeground":"#EEFFFF","list.highlightForeground":"#80CBC4","list.hoverBackground":"#212121","list.inactiveSelectionBackground":"#00000030","activityBar.background":"#212121","activityBar.dropBackground":"#f0717880","activityBarBadge.background":"#80CBC4","activityBarBadge.foreground":"#000000","badge.background":"#00000030","badge.foreground":"#545454","sideBar.background":"#212121","sideBarSectionHeader.background":"#212121","editorGroup.dropBackground":"#f0717880","editorGroup.focusedEmptyBorder":"#f07178","editorGroupHeader.tabsBackground":"#212121","tab.border":"#212121","tab.activeBorder":"#80CBC4","tab.inactiveBackground":"#212121","tab.activeModifiedBorder":"#616161","tab.inactiveModifiedBorder":"#904348","tab.unfocusedActiveModifiedBorder":"#c05a60","tab.unfocusedInactiveModifiedBorder":"#904348","editor.background":"#212121","editor.foreground":"#EEFFFF","editorLineNumber.foreground":"#424242","editorLineNumber.activeForeground":"#616161","editorCursor.foreground":"#FFCC00","editor.selectionBackground":"#61616150","editor.selectionHighlightBackground":"#FFCC0020","editor.wordHighlightBackground":"#ff9cac30","editor.wordHighlightStrongBackground":"#C3E88D30","editor.findMatchHighlight":"#EEFFFF","editor.findRangeHighlightBackground":"#FFCB6B30","editor.lineHighlightBorder":"#00000000","editor.rangeHighlightBackground":"#FFFFFF0d","editorWhitespace.foreground":"#EEFFFF40","editorWidget.background":"#212121","editorHoverWidget.background":"#212121","editorMarkerNavigation.background":"#EEFFFF05","peekView.border":"#00000030","peekViewEditor.background":"#EEFFFF05","peekViewResult.background":"#EEFFFF05","peekViewTitle.background":"#EEFFFF05","panel.background":"#212121","panel.border":"#21212160","panelTitle.activeBorder":"#80CBC4","panelTitle.inactiveForeground":"#EEFFFF","notebook.focusedCellBorder":"#80CBC4","notebook.inactiveFocusedCellBorder":"#80CBC450","statusBar.background":"#212121","statusBar.debuggingBackground":"#C792EA","statusBar.debuggingForeground":"#ffffff","statusBar.noFolderBackground":"#212121","statusBarItem.activeBackground":"#f0717880","statusBarItem.hoverBackground":"#54545420","statusBarItem.remoteBackground":"#80CBC4","statusBarItem.remoteForeground":"#000000","titleBar.activeBackground":"#212121","pickerGroup.border":"#FFFFFF1a","terminal.ansiBlack":"#000000","terminal.ansiBlue":"#82AAFF","terminal.ansiBrightBlack":"#545454","terminal.ansiBrightBlue":"#82AAFF","terminal.ansiBrightCyan":"#89DDFF","terminal.ansiBrightGreen":"#C3E88D","terminal.ansiBrightMagenta":"#C792EA","terminal.ansiBrightRed":"#f07178","terminal.ansiBrightWhite":"#ffffff","terminal.ansiBrightYellow":"#FFCB6B","terminal.ansiCyan":"#89DDFF","terminal.ansiGreen":"#C3E88D","terminal.ansiMagenta":"#C792EA","terminal.ansiRed":"#f07178","terminal.ansiWhite":"#ffffff","terminal.ansiYellow":"#FFCB6B","debugToolBar.background":"#212121","debugConsole.errorForeground":"#f07178","debugConsole.infoForeground":"#89DDFF","debugConsole.warningForeground":"#FFCB6B","selection.background":"#00000080","editorRuler.foreground":"#424242","widget.shadow":"#00000030","scrollbar.shadow":"#00000030","editorLink.activeForeground":"#EEFFFF","progressBar.background":"#80CBC4","pickerGroup.foreground":"#80CBC4","tree.indentGuidesStroke":"#424242","terminalCursor.foreground":"#FFCB6B","terminalCursor.background":"#000000","inputOption.activeBackground":"#EEFFFF30","textLink.foreground":"#80CBC4","textLink.activeForeground":"#EEFFFF","sideBar.foreground":"#616161","sideBar.border":"#21212160","sideBarTitle.foreground":"#EEFFFF","sideBarSectionHeader.border":"#21212160","panel.dropBackground":"#EEFFFF","panelTitle.activeForeground":"#FFFFFF","editor.lineHighlightBackground":"#00000050","editor.findMatchBackground":"#000000","editor.findMatchHighlightBackground":"#00000050","editor.findMatchBorder":"#80CBC4","editor.findMatchHighlightBorder":"#ffffff30","editorIndentGuide.background":"#42424270","editorIndentGuide.activeBackground":"#424242","editorGroup.border":"#00000030","editorGutter.modifiedBackground":"#82AAFF60","editorGutter.addedBackground":"#C3E88D60","editorGutter.deletedBackground":"#f0717860","activityBar.border":"#21212160","activityBar.foreground":"#EEFFFF","activityBar.activeBorder":"#80CBC4","extensionBadge.remoteForeground":"#EEFFFF","scrollbarSlider.background":"#EEFFFF20","scrollbarSlider.hoverBackground":"#EEFFFF10","scrollbarSlider.activeBackground":"#80CBC4","tab.unfocusedActiveBorder":"#545454","tab.activeForeground":"#FFFFFF","tab.inactiveForeground":"#616161","tab.activeBackground":"#212121","tab.unfocusedActiveForeground":"#EEFFFF","editorWidget.resizeBorder":"#80CBC4","editorWidget.border":"#80CBC4","statusBar.border":"#21212160","statusBar.foreground":"#616161","editorBracketMatch.border":"#FFCC0050","editorBracketMatch.background":"#212121","editorOverviewRuler.findMatchForeground":"#80CBC4","editorOverviewRuler.border":"#212121","editorOverviewRuler.errorForeground":"#f0717840","editorOverviewRuler.infoForeground":"#82AAFF40","editorOverviewRuler.warningForeground":"#FFCB6B40","editorInfo.foreground":"#82AAFF70","editorWarning.foreground":"#FFCB6B70","editorError.foreground":"#f0717870","editorHoverWidget.border":"#FFFFFF10","titleBar.activeForeground":"#EEFFFF","titleBar.inactiveBackground":"#212121","titleBar.inactiveForeground":"#616161","titleBar.border":"#21212160","input.foreground":"#EEFFFF","input.placeholderForeground":"#EEFFFF60","input.border":"#FFFFFF10","inputValidation.errorBorder":"#f07178","inputValidation.infoBorder":"#82AAFF","inputValidation.warningBorder":"#FFCB6B","dropdown.border":"#FFFFFF10","quickInput.background":"#212121","quickInput.foreground":"#616161","list.hoverForeground":"#FFFFFF","list.inactiveSelectionForeground":"#80CBC4","quickInput.list.focusBackground":"#EEFFFF20","editorSuggestWidget.background":"#212121","editorSuggestWidget.foreground":"#EEFFFF","editorSuggestWidget.highlightForeground":"#80CBC4","editorSuggestWidget.selectedBackground":"#00000050","editorSuggestWidget.border":"#FFFFFF10","diffEditor.insertedTextBackground":"#89DDFF20","diffEditor.removedTextBackground":"#ff9cac20","notifications.background":"#212121","notifications.foreground":"#EEFFFF","notificationLink.foreground":"#80CBC4","extensionButton.prominentBackground":"#C3E88D90","extensionButton.prominentHoverBackground":"#C3E88D","extensionButton.prominentForeground":"#000000","peekViewEditorGutter.background":"#EEFFFF05","peekViewTitleDescription.foreground":"#EEFFFF60","peekViewResult.matchHighlightBackground":"#61616150","peekViewEditor.matchHighlightBackground":"#61616150","peekViewResult.selectionBackground":"#61616170","gitDecoration.deletedResourceForeground":"#f0717890","gitDecoration.conflictingResourceForeground":"#FFCB6B90","gitDecoration.modifiedResourceForeground":"#82AAFF90","gitDecoration.untrackedResourceForeground":"#C3E88D90","gitDecoration.ignoredResourceForeground":"#61616190","breadcrumb.background":"#212121","breadcrumb.foreground":"#616161","breadcrumb.focusForeground":"#EEFFFF","breadcrumb.activeSelectionForeground":"#80CBC4","breadcrumbPicker.background":"#212121","menu.background":"#212121","menu.foreground":"#EEFFFF","menu.selectionBackground":"#00000050","menu.selectionForeground":"#80CBC4","menu.selectionBorder":"#00000030","menu.separatorBackground":"#EEFFFF","menubar.selectionBackground":"#00000030","menubar.selectionForeground":"#80CBC4","menubar.selectionBorder":"#00000030","settings.dropdownForeground":"#EEFFFF","settings.dropdownBackground":"#212121","settings.numberInputForeground":"#EEFFFF","settings.numberInputBackground":"#212121","settings.textInputForeground":"#EEFFFF","settings.textInputBackground":"#212121","settings.headerForeground":"#80CBC4","settings.modifiedItemIndicator":"#80CBC4","settings.checkboxBackground":"#212121","settings.checkboxForeground":"#EEFFFF","listFilterWidget.background":"#00000030","listFilterWidget.outline":"#00000030","listFilterWidget.noMatchesOutline":"#00000030"}}'),Lo=JSON.parse('{"name":"One Dark Pro","type":"dark","semanticHighlighting":true,"semanticTokenColors":{"enumMember":{"foreground":"#56b6c2"},"variable.constant":{"foreground":"#d19a66"},"variable.defaultLibrary":{"foreground":"#e5c07b"},"variable:dart":{"foreground":"#d19a66"},"property:dart":{"foreground":"#d19a66"},"annotation:dart":{"foreground":"#d19a66"},"parameter.label:dart":{"foreground":"#abb2bf"},"macro":{"foreground":"#d19a66"},"tomlArrayKey":{"foreground":"#e5c07b"}},"tokenColors":[{"scope":"meta.embedded","settings":{"foreground":"#abb2bf"}},{"name":"unison punctuation","scope":"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison","settings":{"foreground":"#e06c75"}},{"name":"haskell variable generic-type","scope":"variable.other.generic-type.haskell","settings":{"foreground":"#c678dd"}},{"name":"haskell storage type","scope":"storage.type.haskell","settings":{"foreground":"#d19a66"}},{"name":"support.variable.magic.python","scope":"support.variable.magic.python","settings":{"foreground":"#e06c75"}},{"name":"punctuation.separator.parameters.python","scope":"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python","settings":{"foreground":"#abb2bf"}},{"name":"variable.parameter.function.language.special.self.python","scope":"variable.parameter.function.language.special.self.python","settings":{"foreground":"#e5c07b"}},{"name":"variable.parameter.function.language.special.cls.python","scope":"variable.parameter.function.language.special.cls.python","settings":{"foreground":"#e5c07b"}},{"name":"storage.modifier.lifetime.rust","scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#abb2bf"}},{"name":"support.function.std.rust","scope":"support.function.std.rust","settings":{"foreground":"#61afef"}},{"name":"entity.name.lifetime.rust","scope":"entity.name.lifetime.rust","settings":{"foreground":"#e5c07b"}},{"name":"variable.language.rust","scope":"variable.language.rust","settings":{"foreground":"#e06c75"}},{"name":"support.constant.edge","scope":"support.constant.edge","settings":{"foreground":"#c678dd"}},{"name":"regexp constant character-class","scope":"constant.other.character-class.regexp","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":["keyword.operator.word"],"settings":{"foreground":"#c678dd"}},{"name":"regexp operator.quantifier","scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#d19a66"}},{"name":"Text","scope":"variable.parameter.function","settings":{"foreground":"#abb2bf"}},{"name":"Comment Markup Link","scope":"comment markup.link","settings":{"foreground":"#5c6370"}},{"name":"markup diff","scope":"markup.changed.diff","settings":{"foreground":"#e5c07b"}},{"name":"diff","scope":"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff","settings":{"foreground":"#61afef"}},{"name":"inserted.diff","scope":"markup.inserted.diff","settings":{"foreground":"#98c379"}},{"name":"deleted.diff","scope":"markup.deleted.diff","settings":{"foreground":"#e06c75"}},{"name":"c++ function","scope":"meta.function.c,meta.function.cpp","settings":{"foreground":"#e06c75"}},{"name":"c++ block","scope":"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c","settings":{"foreground":"#abb2bf"}},{"name":"js/ts punctuation separator key-value","scope":"punctuation.separator.key-value","settings":{"foreground":"#abb2bf"}},{"name":"js/ts import keyword","scope":"keyword.operator.expression.import","settings":{"foreground":"#61afef"}},{"name":"math js/ts","scope":"support.constant.math","settings":{"foreground":"#e5c07b"}},{"name":"math property js/ts","scope":"support.constant.property.math","settings":{"foreground":"#d19a66"}},{"name":"js/ts variable.other.constant","scope":"variable.other.constant","settings":{"foreground":"#e5c07b"}},{"name":"java type","scope":["storage.type.annotation.java","storage.type.object.array.java"],"settings":{"foreground":"#e5c07b"}},{"name":"java source","scope":"source.java","settings":{"foreground":"#e06c75"}},{"name":"java modifier.import","scope":"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java","settings":{"foreground":"#abb2bf"}},{"name":"java modifier.import","scope":"meta.method.java","settings":{"foreground":"#61afef"}},{"name":"java modifier.import","scope":"storage.modifier.import.java,storage.type.java,storage.type.generic.java","settings":{"foreground":"#e5c07b"}},{"name":"java instanceof","scope":"keyword.operator.instanceof.java","settings":{"foreground":"#c678dd"}},{"name":"java variable.name","scope":"meta.definition.variable.name.java","settings":{"foreground":"#e06c75"}},{"name":"operator logical","scope":"keyword.operator.logical","settings":{"foreground":"#56b6c2"}},{"name":"operator bitwise","scope":"keyword.operator.bitwise","settings":{"foreground":"#56b6c2"}},{"name":"operator channel","scope":"keyword.operator.channel","settings":{"foreground":"#56b6c2"}},{"name":"support.constant.property-value.scss","scope":"support.constant.property-value.scss,support.constant.property-value.css","settings":{"foreground":"#d19a66"}},{"name":"CSS/SCSS/LESS Operators","scope":"keyword.operator.css,keyword.operator.scss,keyword.operator.less","settings":{"foreground":"#56b6c2"}},{"name":"css color standard name","scope":"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss","settings":{"foreground":"#d19a66"}},{"name":"css comma","scope":"punctuation.separator.list.comma.css","settings":{"foreground":"#abb2bf"}},{"name":"css attribute-name.id","scope":"support.constant.color.w3c-standard-color-name.css","settings":{"foreground":"#d19a66"}},{"name":"css property-name","scope":"support.type.vendored.property-name.css","settings":{"foreground":"#56b6c2"}},{"name":"js/ts module","scope":"support.module.node,support.type.object.module,support.module.node","settings":{"foreground":"#e5c07b"}},{"name":"entity.name.type.module","scope":"entity.name.type.module","settings":{"foreground":"#e5c07b"}},{"name":"js variable readwrite","scope":"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node","settings":{"foreground":"#e06c75"}},{"name":"js/ts json","scope":"support.constant.json","settings":{"foreground":"#d19a66"}},{"name":"js/ts Keyword","scope":["keyword.operator.expression.instanceof","keyword.operator.new","keyword.operator.ternary","keyword.operator.optional","keyword.operator.expression.keyof"],"settings":{"foreground":"#c678dd"}},{"name":"js/ts console","scope":"support.type.object.console","settings":{"foreground":"#e06c75"}},{"name":"js/ts support.variable.property.process","scope":"support.variable.property.process","settings":{"foreground":"#d19a66"}},{"name":"js console function","scope":"entity.name.function,support.function.console","settings":{"foreground":"#61afef"}},{"name":"keyword.operator.misc.rust","scope":"keyword.operator.misc.rust","settings":{"foreground":"#abb2bf"}},{"name":"keyword.operator.sigil.rust","scope":"keyword.operator.sigil.rust","settings":{"foreground":"#c678dd"}},{"name":"operator","scope":"keyword.operator.delete","settings":{"foreground":"#c678dd"}},{"name":"js dom","scope":"support.type.object.dom","settings":{"foreground":"#56b6c2"}},{"name":"js dom variable","scope":"support.variable.dom,support.variable.property.dom","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational","settings":{"foreground":"#56b6c2"}},{"name":"C operator assignment","scope":"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp","settings":{"foreground":"#c678dd"}},{"name":"Punctuation","scope":"punctuation.separator.delimiter","settings":{"foreground":"#abb2bf"}},{"name":"Other punctuation .c","scope":"punctuation.separator.c,punctuation.separator.cpp","settings":{"foreground":"#c678dd"}},{"name":"C type posix-reserved","scope":"support.type.posix-reserved.c,support.type.posix-reserved.cpp","settings":{"foreground":"#56b6c2"}},{"name":"keyword.operator.sizeof.c","scope":"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp","settings":{"foreground":"#c678dd"}},{"name":"python parameter","scope":"variable.parameter.function.language.python","settings":{"foreground":"#d19a66"}},{"name":"python type","scope":"support.type.python","settings":{"foreground":"#56b6c2"}},{"name":"python logical","scope":"keyword.operator.logical.python","settings":{"foreground":"#c678dd"}},{"name":"pyCs","scope":"variable.parameter.function.python","settings":{"foreground":"#d19a66"}},{"name":"python block","scope":"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python","settings":{"foreground":"#abb2bf"}},{"name":"python function-call.generic","scope":"meta.function-call.generic.python","settings":{"foreground":"#61afef"}},{"name":"python placeholder reset to normal string","scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#d19a66"}},{"name":"Operators","scope":"keyword.operator","settings":{"foreground":"#abb2bf"}},{"name":"Compound Assignment Operators","scope":"keyword.operator.assignment.compound","settings":{"foreground":"#c678dd"}},{"name":"Compound Assignment Operators js/ts","scope":"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts","settings":{"foreground":"#56b6c2"}},{"name":"Keywords","scope":"keyword","settings":{"foreground":"#c678dd"}},{"name":"Namespaces","scope":"entity.name.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Variables","scope":"variable","settings":{"foreground":"#e06c75"}},{"name":"Variables","scope":"variable.c","settings":{"foreground":"#abb2bf"}},{"name":"Language variables","scope":"variable.language","settings":{"foreground":"#e5c07b"}},{"name":"Java Variables","scope":"token.variable.parameter.java","settings":{"foreground":"#abb2bf"}},{"name":"Java Imports","scope":"import.storage.java","settings":{"foreground":"#e5c07b"}},{"name":"Packages","scope":"token.package.keyword","settings":{"foreground":"#c678dd"}},{"name":"Packages","scope":"token.package","settings":{"foreground":"#abb2bf"}},{"name":"Functions","scope":["entity.name.function","meta.require","support.function.any-method","variable.function"],"settings":{"foreground":"#61afef"}},{"name":"Classes","scope":"entity.name.type.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Classes","scope":"support.class, entity.name.type.class","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":"entity.name.class.identifier.namespace.type","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":["entity.name.class","variable.other.class.js","variable.other.class.ts"],"settings":{"foreground":"#e5c07b"}},{"name":"Class name php","scope":"variable.other.class.php","settings":{"foreground":"#e06c75"}},{"name":"Type Name","scope":"entity.name.type","settings":{"foreground":"#e5c07b"}},{"name":"Keyword Control","scope":"keyword.control","settings":{"foreground":"#c678dd"}},{"name":"Control Elements","scope":"control.elements, keyword.operator.less","settings":{"foreground":"#d19a66"}},{"name":"Methods","scope":"keyword.other.special-method","settings":{"foreground":"#61afef"}},{"name":"Storage","scope":"storage","settings":{"foreground":"#c678dd"}},{"name":"Storage JS TS","scope":"token.storage","settings":{"foreground":"#c678dd"}},{"name":"Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void","scope":"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void","settings":{"foreground":"#c678dd"}},{"name":"Java Storage","scope":"token.storage.type.java","settings":{"foreground":"#e5c07b"}},{"name":"Support","scope":"support.function","settings":{"foreground":"#56b6c2"}},{"name":"Support type","scope":"support.type.property-name","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] toml support","scope":"support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml","settings":{"foreground":"#e06c75"}},{"name":"Support type","scope":"support.constant.property-value","settings":{"foreground":"#abb2bf"}},{"name":"Support type","scope":"support.constant.font-name","settings":{"foreground":"#d19a66"}},{"name":"Meta tag","scope":"meta.tag","settings":{"foreground":"#abb2bf"}},{"name":"Strings","scope":"string","settings":{"foreground":"#98c379"}},{"name":"Constant other symbol","scope":"constant.other.symbol","settings":{"foreground":"#56b6c2"}},{"name":"Integers","scope":"constant.numeric","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"constant","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"punctuation.definition.constant","settings":{"foreground":"#d19a66"}},{"name":"Tags","scope":"entity.name.tag","settings":{"foreground":"#e06c75"}},{"name":"Attributes","scope":"entity.other.attribute-name","settings":{"foreground":"#d19a66"}},{"name":"Attribute IDs","scope":"entity.other.attribute-name.id","settings":{"foreground":"#61afef"}},{"name":"Attribute class","scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#d19a66"}},{"name":"Selector","scope":"meta.selector","settings":{"foreground":"#c678dd"}},{"name":"Headings","scope":"markup.heading","settings":{"foreground":"#e06c75"}},{"name":"Headings","scope":"markup.heading punctuation.definition.heading, entity.name.section","settings":{"foreground":"#61afef"}},{"name":"Units","scope":"keyword.other.unit","settings":{"foreground":"#e06c75"}},{"name":"Bold","scope":"markup.bold,todo.bold","settings":{"foreground":"#d19a66"}},{"name":"Bold","scope":"punctuation.definition.bold","settings":{"foreground":"#e5c07b"}},{"name":"markup Italic","scope":"markup.italic, punctuation.definition.italic,todo.emphasis","settings":{"foreground":"#c678dd"}},{"name":"emphasis md","scope":"emphasis md","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown headings","scope":"entity.name.section.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown heading Punctuation Definition","scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#e06c75"}},{"name":"punctuation.definition.list.begin.markdown","scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown heading setext","scope":"markup.heading.setext","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Bold","scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#d19a66"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw punctuation","scope":"punctuation.definition.raw.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown List Punctuation Definition","scope":"punctuation.definition.list.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition String","scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","punctuation.definition.metadata.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"beginning.punctuation.definition.list.markdown","scope":["beginning.punctuation.definition.list.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Link","scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Underline Link/Image","scope":"markup.underline.link.markdown,markup.underline.link.image.markdown","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown Link Title/Description","scope":"string.other.link.title.markdown,string.other.link.description.markdown","settings":{"foreground":"#61afef"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw","scope":"markup.raw.monospace.asciidoc","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition","scope":"punctuation.definition.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc List Punctuation Definition","scope":"markup.list.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc underline link","scope":"markup.link.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Asciidoc link name","scope":"string.unquoted.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#61afef"}},{"name":"Regular Expressions","scope":"string.regexp","settings":{"foreground":"#56b6c2"}},{"name":"Embedded","scope":"punctuation.section.embedded, variable.interpolation","settings":{"foreground":"#e06c75"}},{"name":"Embedded","scope":"punctuation.section.embedded.begin,punctuation.section.embedded.end","settings":{"foreground":"#c678dd"}},{"name":"illegal","scope":"invalid.illegal","settings":{"foreground":"#ffffff"}},{"name":"illegal","scope":"invalid.illegal.bad-ampersand.html","settings":{"foreground":"#abb2bf"}},{"scope":"invalid.illegal.unrecognized-tag.html","settings":{"foreground":"#e06c75"}},{"name":"Broken","scope":"invalid.broken","settings":{"foreground":"#ffffff"}},{"name":"Deprecated","scope":"invalid.deprecated","settings":{"foreground":"#ffffff"}},{"name":"html Deprecated","scope":"invalid.deprecated.entity.other.attribute-name.html","settings":{"foreground":"#d19a66"}},{"name":"Unimplemented","scope":"invalid.unimplemented","settings":{"foreground":"#ffffff"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json","scope":"source.json meta.structure.dictionary.json > string.quoted.json","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String","scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation","scope":"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation","settings":{"foreground":"#98c379"}},{"name":"Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json","scope":"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json","settings":{"foreground":"#56b6c2"}},{"name":"[VSCODE-CUSTOM] JSON Property Name","scope":"support.type.property-name.json","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] JSON Punctuation for Property Name","scope":"support.type.property-name.json punctuation","settings":{"foreground":"#e06c75"}},{"name":"laravel blade tag","scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"laravel blade @","scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"use statement for other classes","scope":"support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php","settings":{"foreground":"#e5c07b"}},{"name":"error suppression","scope":"keyword.operator.error-control.php","settings":{"foreground":"#c678dd"}},{"name":"php instanceof","scope":"keyword.operator.type.php","settings":{"foreground":"#c678dd"}},{"name":"style double quoted array index normal begin","scope":"punctuation.section.array.begin.php","settings":{"foreground":"#abb2bf"}},{"name":"style double quoted array index normal end","scope":"punctuation.section.array.end.php","settings":{"foreground":"#abb2bf"}},{"name":"php illegal.non-null-typehinted","scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"name":"php types","scope":"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php","settings":{"foreground":"#e5c07b"}},{"name":"php call-function","scope":"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php","settings":{"foreground":"#61afef"}},{"name":"php function-resets","scope":"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php","settings":{"foreground":"#abb2bf"}},{"name":"support php constants","scope":"support.constant.core.rust","settings":{"foreground":"#d19a66"}},{"name":"support php constants","scope":"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php","settings":{"foreground":"#d19a66"}},{"name":"php goto","scope":"entity.name.goto-label.php,support.other.php","settings":{"foreground":"#61afef"}},{"name":"php logical/bitwise operator","scope":"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php","settings":{"foreground":"#56b6c2"}},{"name":"php regexp operator","scope":"keyword.operator.regexp.php","settings":{"foreground":"#c678dd"}},{"name":"php comparison","scope":"keyword.operator.comparison.php","settings":{"foreground":"#56b6c2"}},{"name":"php heredoc/nowdoc","scope":"keyword.operator.heredoc.php,keyword.operator.nowdoc.php","settings":{"foreground":"#c678dd"}},{"name":"python function decorator @","scope":"meta.function.decorator.python","settings":{"foreground":"#61afef"}},{"name":"python function support","scope":"support.token.decorator.python,meta.function.decorator.identifier.python","settings":{"foreground":"#56b6c2"}},{"name":"parameter function js/ts","scope":"function.parameter","settings":{"foreground":"#abb2bf"}},{"name":"brace function","scope":"function.brace","settings":{"foreground":"#abb2bf"}},{"name":"parameter function ruby cs","scope":"function.parameter.ruby, function.parameter.cs","settings":{"foreground":"#abb2bf"}},{"name":"constant.language.symbol.ruby","scope":"constant.language.symbol.ruby","settings":{"foreground":"#56b6c2"}},{"name":"constant.language.symbol.hashkey.ruby","scope":"constant.language.symbol.hashkey.ruby","settings":{"foreground":"#56b6c2"}},{"name":"rgb-value","scope":"rgb-value","settings":{"foreground":"#56b6c2"}},{"name":"rgb value","scope":"inline-color-decoration rgb-value","settings":{"foreground":"#d19a66"}},{"name":"rgb value less","scope":"less rgb-value","settings":{"foreground":"#d19a66"}},{"name":"sass selector","scope":"selector.sass","settings":{"foreground":"#e06c75"}},{"name":"ts primitive/builtin types","scope":"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx","settings":{"foreground":"#e5c07b"}},{"name":"block scope","scope":"block.scope.end,block.scope.begin","settings":{"foreground":"#abb2bf"}},{"name":"cs storage type","scope":"storage.type.cs","settings":{"foreground":"#e5c07b"}},{"name":"cs local variable","scope":"entity.name.variable.local.cs","settings":{"foreground":"#e06c75"}},{"scope":"token.info-token","settings":{"foreground":"#61afef"}},{"scope":"token.warn-token","settings":{"foreground":"#d19a66"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#c678dd"}},{"name":"String interpolation","scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],"settings":{"foreground":"#c678dd"}},{"name":"Reset JavaScript string interpolation expression","scope":["meta.template.expression"],"settings":{"foreground":"#abb2bf"}},{"name":"Import module JS","scope":["keyword.operator.module"],"settings":{"foreground":"#c678dd"}},{"name":"js Flowtype","scope":["support.type.type.flowtype"],"settings":{"foreground":"#61afef"}},{"name":"js Flow","scope":["support.type.primitive"],"settings":{"foreground":"#e5c07b"}},{"name":"js class prop","scope":["meta.property.object"],"settings":{"foreground":"#e06c75"}},{"name":"js func parameter","scope":["variable.parameter.function.js"],"settings":{"foreground":"#e06c75"}},{"name":"js template literals begin","scope":["keyword.other.template.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals end","scope":["keyword.other.template.end"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces begin","scope":["keyword.other.substitution.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces end","scope":["keyword.other.substitution.end"],"settings":{"foreground":"#98c379"}},{"name":"js operator.assignment","scope":["keyword.operator.assignment"],"settings":{"foreground":"#56b6c2"}},{"name":"go operator","scope":["keyword.operator.assignment.go"],"settings":{"foreground":"#e5c07b"}},{"name":"go operator","scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#c678dd"}},{"name":"Go package name","scope":["entity.name.package.go"],"settings":{"foreground":"#e5c07b"}},{"name":"elm prelude","scope":["support.type.prelude.elm"],"settings":{"foreground":"#56b6c2"}},{"name":"elm constant","scope":["support.constant.elm"],"settings":{"foreground":"#d19a66"}},{"name":"template literal","scope":["punctuation.quasi.element"],"settings":{"foreground":"#c678dd"}},{"name":"html/pug (jade) escaped characters and entities","scope":["constant.character.entity"],"settings":{"foreground":"#e06c75"}},{"name":"styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour","scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#56b6c2"}},{"name":"Clojure globals","scope":["entity.global.clojure"],"settings":{"foreground":"#e5c07b"}},{"name":"Clojure symbols","scope":["meta.symbol.clojure"],"settings":{"foreground":"#e06c75"}},{"name":"Clojure constants","scope":["constant.keyword.clojure"],"settings":{"foreground":"#56b6c2"}},{"name":"CoffeeScript Function Argument","scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#e06c75"}},{"name":"Ini Default Text","scope":["source.ini"],"settings":{"foreground":"#98c379"}},{"name":"Makefile prerequisities","scope":["meta.scope.prerequisites.makefile"],"settings":{"foreground":"#e06c75"}},{"name":"Makefile text colour","scope":["source.makefile"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy import names","scope":["storage.modifier.import.groovy"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy Methods","scope":["meta.method.groovy"],"settings":{"foreground":"#61afef"}},{"name":"Groovy Variables","scope":["meta.definition.variable.name.groovy"],"settings":{"foreground":"#e06c75"}},{"name":"Groovy Inheritance","scope":["meta.definition.class.inherited.classes.groovy"],"settings":{"foreground":"#98c379"}},{"name":"HLSL Semantic","scope":["support.variable.semantic.hlsl"],"settings":{"foreground":"#e5c07b"}},{"name":"HLSL Types","scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#c678dd"}},{"name":"SQL Variables","scope":["text.variable","text.bracketed"],"settings":{"foreground":"#e06c75"}},{"name":"types","scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 1, keyword","scope":["entity.name.function.xi"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 2, callable","scope":["entity.name.class.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 3, property","scope":["constant.character.character-class.regexp.xi"],"settings":{"foreground":"#e06c75"}},{"name":"heading 4, type, class, interface","scope":["constant.regexp.xi"],"settings":{"foreground":"#c678dd"}},{"name":"heading 5, enums, preprocessor, constant, decorator","scope":["keyword.control.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 6, number","scope":["invalid.xi"],"settings":{"foreground":"#abb2bf"}},{"name":"string","scope":["beginning.punctuation.definition.quote.markdown.xi"],"settings":{"foreground":"#98c379"}},{"name":"comments","scope":["beginning.punctuation.definition.list.markdown.xi"],"settings":{"foreground":"#7f848e"}},{"name":"link","scope":["constant.character.xi"],"settings":{"foreground":"#61afef"}},{"name":"accent","scope":["accent.xi"],"settings":{"foreground":"#61afef"}},{"name":"wikiword","scope":["wikiword.xi"],"settings":{"foreground":"#d19a66"}},{"name":"language operators like \'+\', \'-\' etc","scope":["constant.other.color.rgb-value.xi"],"settings":{"foreground":"#ffffff"}},{"name":"elements to dim","scope":["punctuation.definition.tag.xi"],"settings":{"foreground":"#5c6370"}},{"name":"C++/C#","scope":["entity.name.label.cs","entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#e5c07b"}},{"name":"Markdown underscore-style headers","scope":["entity.name.label.cs","markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"meta.brace.square","scope":[" meta.brace.square"],"settings":{"foreground":"#abb2bf"}},{"name":"Comments","scope":"comment, punctuation.definition.comment","settings":{"foreground":"#7f848e","fontStyle":"italic"}},{"name":"[VSCODE-CUSTOM] Markdown Quote","scope":"markup.quote.markdown","settings":{"foreground":"#5c6370"}},{"name":"punctuation.definition.block.sequence.item.yaml","scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#abb2bf"}},{"scope":["constant.language.symbol.elixir","constant.language.symbol.double-quoted.elixir"],"settings":{"foreground":"#56b6c2"}},{"scope":["entity.name.variable.parameter.cs"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.variable.field.cs"],"settings":{"foreground":"#e06c75"}},{"name":"Deleted","scope":"markup.deleted","settings":{"foreground":"#e06c75"}},{"name":"Inserted","scope":"markup.inserted","settings":{"foreground":"#98c379"}},{"name":"Underline","scope":"markup.underline","settings":{"fontStyle":"underline"}},{"name":"punctuation.section.embedded.begin.php","scope":["punctuation.section.embedded.begin.php","punctuation.section.embedded.end.php"],"settings":{"foreground":"#BE5046"}},{"name":"support.other.namespace.php","scope":["support.other.namespace.php"],"settings":{"foreground":"#abb2bf"}},{"name":"variable.other.object","scope":["variable.other.object"],"settings":{"foreground":"#e5c07b"}},{"name":"variable.other.constant.property","scope":["variable.other.constant.property"],"settings":{"foreground":"#e06c75"}},{"name":"entity.other.inherited-class","scope":["entity.other.inherited-class"],"settings":{"foreground":"#e5c07b"}},{"name":"c variable readwrite","scope":"variable.other.readwrite.c","settings":{"foreground":"#e06c75"}},{"name":"php scope","scope":"entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php","settings":{"foreground":"#abb2bf"}},{"name":"Assembly","scope":["constant.numeric.decimal.asm.x86_64"],"settings":{"foreground":"#c678dd"}},{"scope":["support.other.parenthesis.regexp"],"settings":{"foreground":"#d19a66"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#56b6c2"}},{"scope":["string.regexp"],"settings":{"foreground":"#e06c75"}},{"name":"js/ts italic","scope":"entity.other.attribute-name.js,entity.other.attribute-name.ts,entity.other.attribute-name.jsx,entity.other.attribute-name.tsx,variable.parameter,variable.language.super","settings":{"fontStyle":"italic"}},{"name":"comment","scope":"comment.line.double-slash,comment.block.documentation","settings":{"fontStyle":"italic"}},{"name":"Python Keyword Control","scope":"keyword.control.import.python,keyword.control.flow.python,keyword.operator.logical.python","settings":{"fontStyle":"italic"}},{"name":"markup.italic.markdown","scope":"markup.italic.markdown","settings":{"fontStyle":"italic"}}],"colors":{"activityBar.background":"#282c34","activityBar.foreground":"#d7dae0","activityBarBadge.background":"#4d78cc","activityBarBadge.foreground":"#f8fafd","badge.background":"#282c34","button.background":"#404754","button.secondaryBackground":"#30333d","button.secondaryForeground":"#c0bdbd","checkbox.border":"#404754","debugToolBar.background":"#21252b","descriptionForeground":"#abb2bf","diffEditor.insertedTextBackground":"#00809b33","dropdown.background":"#21252b","dropdown.border":"#21252b","editor.background":"#282c34","editor.findMatchBackground":"#42557b","editor.findMatchBorder":"#457dff","editor.findMatchHighlightBackground":"#6199ff2f","editor.foreground":"#abb2bf","editorBracketHighlight.foreground1":"#d19a66","editorBracketHighlight.foreground2":"#c678dd","editorBracketHighlight.foreground3":"#56b6c2","editorHoverWidget.highlightForeground":"#61afef","editorInlayHint.foreground":"#abb2bf","editorInlayHint.background":"#2c313c","editor.lineHighlightBackground":"#2c313c","editorLineNumber.activeForeground":"#abb2bf","editorGutter.addedBackground":"#109868","editorGutter.deletedBackground":"#9A353D","editorGutter.modifiedBackground":"#948B60","editorOverviewRuler.addedBackground":"#109868","editorOverviewRuler.deletedBackground":"#9A353D","editorOverviewRuler.modifiedBackground":"#948B60","editor.selectionBackground":"#67769660","editor.selectionHighlightBackground":"#ffffff10","editor.selectionHighlightBorder":"#dddddd","editor.wordHighlightBackground":"#d2e0ff2f","editor.wordHighlightBorder":"#7f848e","editor.wordHighlightStrongBackground":"#abb2bf26","editor.wordHighlightStrongBorder":"#7f848e","editorBracketMatch.background":"#515a6b","editorBracketMatch.border":"#515a6b","editorCursor.background":"#ffffffc9","editorCursor.foreground":"#528bff","editorError.foreground":"#c24038","editorGroup.background":"#181a1f","editorGroup.border":"#181a1f","editorGroupHeader.tabsBackground":"#21252b","editorHoverWidget.background":"#21252b","editorHoverWidget.border":"#181a1f","editorIndentGuide.activeBackground":"#c8c8c859","editorIndentGuide.background":"#3b4048","editorLineNumber.foreground":"#495162","editorMarkerNavigation.background":"#21252b","editorRuler.foreground":"#abb2bf26","editorSuggestWidget.background":"#21252b","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","editorWarning.foreground":"#d19a66","editorWhitespace.foreground":"#ffffff1d","editorWidget.background":"#21252b","focusBorder":"#3e4452","gitDecoration.ignoredResourceForeground":"#636b78","input.background":"#1d1f23","input.foreground":"#abb2bf","list.activeSelectionBackground":"#2c313a","list.activeSelectionForeground":"#d7dae0","list.focusBackground":"#323842","list.focusForeground":"#f0f0f0","list.highlightForeground":"#ecebeb","list.hoverBackground":"#2c313a","list.hoverForeground":"#abb2bf","list.inactiveSelectionBackground":"#323842","list.inactiveSelectionForeground":"#d7dae0","list.warningForeground":"#d19a66","menu.foreground":"#abb2bf","menu.separatorBackground":"#343a45","minimapGutter.addedBackground":"#109868","minimapGutter.deletedBackground":"#9A353D","minimapGutter.modifiedBackground":"#948B60","panel.border":"#3e4452","panelSectionHeader.background":"#21252b","peekViewEditor.background":"#1b1d23","peekViewEditor.matchHighlightBackground":"#29244b","peekViewResult.background":"#22262b","scrollbar.shadow":"#23252c","scrollbarSlider.activeBackground":"#747d9180","scrollbarSlider.background":"#4e566660","scrollbarSlider.hoverBackground":"#5a637580","settings.focusedRowBackground":"#282c34","settings.headerForeground":"#fff","sideBar.background":"#21252b","sideBar.foreground":"#abb2bf","sideBarSectionHeader.background":"#282c34","sideBarSectionHeader.foreground":"#abb2bf","statusBar.background":"#21252b","statusBar.debuggingBackground":"#cc6633","statusBar.debuggingBorder":"#ff000000","statusBar.debuggingForeground":"#ffffff","statusBar.foreground":"#9da5b4","statusBar.noFolderBackground":"#21252b","statusBarItem.remoteBackground":"#4d78cc","statusBarItem.remoteForeground":"#f8fafd","tab.activeBackground":"#282c34","tab.activeBorder":"#b4b4b4","tab.activeForeground":"#dcdcdc","tab.border":"#181a1f","tab.hoverBackground":"#323842","tab.inactiveBackground":"#21252b","tab.unfocusedHoverBackground":"#323842","terminal.ansiBlack":"#3f4451","terminal.ansiBlue":"#4aa5f0","terminal.ansiBrightBlack":"#4f5666","terminal.ansiBrightBlue":"#4dc4ff","terminal.ansiBrightCyan":"#4cd1e0","terminal.ansiBrightGreen":"#a5e075","terminal.ansiBrightMagenta":"#de73ff","terminal.ansiBrightRed":"#ff616e","terminal.ansiBrightWhite":"#e6e6e6","terminal.ansiBrightYellow":"#f0a45d","terminal.ansiCyan":"#42b3c2","terminal.ansiGreen":"#8cc265","terminal.ansiMagenta":"#c162de","terminal.ansiRed":"#e05561","terminal.ansiWhite":"#d7dae0","terminal.ansiYellow":"#d18f52","terminal.background":"#282c34","terminal.border":"#3e4452","terminal.foreground":"#abb2bf","terminal.selectionBackground":"#abb2bf30","textBlockQuote.background":"#2e3440","textBlockQuote.border":"#4b5362","textLink.foreground":"#61afef","textPreformat.foreground":"#d19a66","titleBar.activeBackground":"#282c34","titleBar.activeForeground":"#9da5b4","titleBar.inactiveBackground":"#21252b","titleBar.inactiveForeground":"#6b717d","tree.indentGuidesStroke":"#ffffff1d","walkThrough.embeddedEditorBackground":"#2e3440","welcomePage.buttonHoverBackground":"#404754"}}'),Mo=JSON.parse('{"name":"One Dark Pro","type":"dark","semanticHighlighting":true,"semanticTokenColors":{"enumMember":{"foreground":"#56b6c2"},"variable.constant":{"foreground":"#d19a66"},"variable.defaultLibrary":{"foreground":"#e5c07b"},"variable:dart":{"foreground":"#d19a66"},"property:dart":{"foreground":"#d19a66"},"annotation:dart":{"foreground":"#d19a66"},"parameter.label:dart":{"foreground":"#abb2bf"},"macro":{"foreground":"#d19a66"},"tomlArrayKey":{"foreground":"#e5c07b"}},"tokenColors":[{"scope":"meta.embedded","settings":{"foreground":"#abb2bf"}},{"name":"unison punctuation","scope":"punctuation.definition.delayed.unison,punctuation.definition.list.begin.unison,punctuation.definition.list.end.unison,punctuation.definition.ability.begin.unison,punctuation.definition.ability.end.unison,punctuation.operator.assignment.as.unison,punctuation.separator.pipe.unison,punctuation.separator.delimiter.unison,punctuation.definition.hash.unison","settings":{"foreground":"#e06c75"}},{"name":"haskell variable generic-type","scope":"variable.other.generic-type.haskell","settings":{"foreground":"#c678dd"}},{"name":"haskell storage type","scope":"storage.type.haskell","settings":{"foreground":"#d19a66"}},{"name":"support.variable.magic.python","scope":"support.variable.magic.python","settings":{"foreground":"#e06c75"}},{"name":"punctuation.separator.parameters.python","scope":"punctuation.separator.period.python,punctuation.separator.element.python,punctuation.parenthesis.begin.python,punctuation.parenthesis.end.python","settings":{"foreground":"#abb2bf"}},{"name":"variable.parameter.function.language.special.self.python","scope":"variable.parameter.function.language.special.self.python","settings":{"foreground":"#e5c07b"}},{"name":"variable.parameter.function.language.special.cls.python","scope":"variable.parameter.function.language.special.cls.python","settings":{"foreground":"#e5c07b"}},{"name":"storage.modifier.lifetime.rust","scope":"storage.modifier.lifetime.rust","settings":{"foreground":"#abb2bf"}},{"name":"support.function.std.rust","scope":"support.function.std.rust","settings":{"foreground":"#61afef"}},{"name":"entity.name.lifetime.rust","scope":"entity.name.lifetime.rust","settings":{"foreground":"#e5c07b"}},{"name":"variable.language.rust","scope":"variable.language.rust","settings":{"foreground":"#e06c75"}},{"name":"support.constant.edge","scope":"support.constant.edge","settings":{"foreground":"#c678dd"}},{"name":"regexp constant character-class","scope":"constant.other.character-class.regexp","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":["keyword.operator.word"],"settings":{"foreground":"#c678dd"}},{"name":"regexp operator.quantifier","scope":"keyword.operator.quantifier.regexp","settings":{"foreground":"#d19a66"}},{"name":"Text","scope":"variable.parameter.function","settings":{"foreground":"#abb2bf"}},{"name":"Comment Markup Link","scope":"comment markup.link","settings":{"foreground":"#5c6370"}},{"name":"markup diff","scope":"markup.changed.diff","settings":{"foreground":"#e5c07b"}},{"name":"diff","scope":"meta.diff.header.from-file,meta.diff.header.to-file,punctuation.definition.from-file.diff,punctuation.definition.to-file.diff","settings":{"foreground":"#61afef"}},{"name":"inserted.diff","scope":"markup.inserted.diff","settings":{"foreground":"#98c379"}},{"name":"deleted.diff","scope":"markup.deleted.diff","settings":{"foreground":"#e06c75"}},{"name":"c++ function","scope":"meta.function.c,meta.function.cpp","settings":{"foreground":"#e06c75"}},{"name":"c++ block","scope":"punctuation.section.block.begin.bracket.curly.cpp,punctuation.section.block.end.bracket.curly.cpp,punctuation.terminator.statement.c,punctuation.section.block.begin.bracket.curly.c,punctuation.section.block.end.bracket.curly.c,punctuation.section.parens.begin.bracket.round.c,punctuation.section.parens.end.bracket.round.c,punctuation.section.parameters.begin.bracket.round.c,punctuation.section.parameters.end.bracket.round.c","settings":{"foreground":"#abb2bf"}},{"name":"js/ts punctuation separator key-value","scope":"punctuation.separator.key-value","settings":{"foreground":"#abb2bf"}},{"name":"js/ts import keyword","scope":"keyword.operator.expression.import","settings":{"foreground":"#61afef"}},{"name":"math js/ts","scope":"support.constant.math","settings":{"foreground":"#e5c07b"}},{"name":"math property js/ts","scope":"support.constant.property.math","settings":{"foreground":"#d19a66"}},{"name":"js/ts variable.other.constant","scope":"variable.other.constant","settings":{"foreground":"#e5c07b"}},{"name":"java type","scope":["storage.type.annotation.java","storage.type.object.array.java"],"settings":{"foreground":"#e5c07b"}},{"name":"java source","scope":"source.java","settings":{"foreground":"#e06c75"}},{"name":"java modifier.import","scope":"punctuation.section.block.begin.java,punctuation.section.block.end.java,punctuation.definition.method-parameters.begin.java,punctuation.definition.method-parameters.end.java,meta.method.identifier.java,punctuation.section.method.begin.java,punctuation.section.method.end.java,punctuation.terminator.java,punctuation.section.class.begin.java,punctuation.section.class.end.java,punctuation.section.inner-class.begin.java,punctuation.section.inner-class.end.java,meta.method-call.java,punctuation.section.class.begin.bracket.curly.java,punctuation.section.class.end.bracket.curly.java,punctuation.section.method.begin.bracket.curly.java,punctuation.section.method.end.bracket.curly.java,punctuation.separator.period.java,punctuation.bracket.angle.java,punctuation.definition.annotation.java,meta.method.body.java","settings":{"foreground":"#abb2bf"}},{"name":"java modifier.import","scope":"meta.method.java","settings":{"foreground":"#61afef"}},{"name":"java modifier.import","scope":"storage.modifier.import.java,storage.type.java,storage.type.generic.java","settings":{"foreground":"#e5c07b"}},{"name":"java instanceof","scope":"keyword.operator.instanceof.java","settings":{"foreground":"#c678dd"}},{"name":"java variable.name","scope":"meta.definition.variable.name.java","settings":{"foreground":"#e06c75"}},{"name":"operator logical","scope":"keyword.operator.logical","settings":{"foreground":"#56b6c2"}},{"name":"operator bitwise","scope":"keyword.operator.bitwise","settings":{"foreground":"#56b6c2"}},{"name":"operator channel","scope":"keyword.operator.channel","settings":{"foreground":"#56b6c2"}},{"name":"support.constant.property-value.scss","scope":"support.constant.property-value.scss,support.constant.property-value.css","settings":{"foreground":"#d19a66"}},{"name":"CSS/SCSS/LESS Operators","scope":"keyword.operator.css,keyword.operator.scss,keyword.operator.less","settings":{"foreground":"#56b6c2"}},{"name":"css color standard name","scope":"support.constant.color.w3c-standard-color-name.css,support.constant.color.w3c-standard-color-name.scss","settings":{"foreground":"#d19a66"}},{"name":"css comma","scope":"punctuation.separator.list.comma.css","settings":{"foreground":"#abb2bf"}},{"name":"css attribute-name.id","scope":"support.constant.color.w3c-standard-color-name.css","settings":{"foreground":"#d19a66"}},{"name":"css property-name","scope":"support.type.vendored.property-name.css","settings":{"foreground":"#56b6c2"}},{"name":"js/ts module","scope":"support.module.node,support.type.object.module,support.module.node","settings":{"foreground":"#e5c07b"}},{"name":"entity.name.type.module","scope":"entity.name.type.module","settings":{"foreground":"#e5c07b"}},{"name":"js variable readwrite","scope":"variable.other.readwrite,meta.object-literal.key,support.variable.property,support.variable.object.process,support.variable.object.node","settings":{"foreground":"#e06c75"}},{"name":"js/ts json","scope":"support.constant.json","settings":{"foreground":"#d19a66"}},{"name":"js/ts Keyword","scope":["keyword.operator.expression.instanceof","keyword.operator.new","keyword.operator.ternary","keyword.operator.optional","keyword.operator.expression.keyof"],"settings":{"foreground":"#c678dd"}},{"name":"js/ts console","scope":"support.type.object.console","settings":{"foreground":"#e06c75"}},{"name":"js/ts support.variable.property.process","scope":"support.variable.property.process","settings":{"foreground":"#d19a66"}},{"name":"js console function","scope":"entity.name.function,support.function.console","settings":{"foreground":"#61afef"}},{"name":"keyword.operator.misc.rust","scope":"keyword.operator.misc.rust","settings":{"foreground":"#abb2bf"}},{"name":"keyword.operator.sigil.rust","scope":"keyword.operator.sigil.rust","settings":{"foreground":"#c678dd"}},{"name":"operator","scope":"keyword.operator.delete","settings":{"foreground":"#c678dd"}},{"name":"js dom","scope":"support.type.object.dom","settings":{"foreground":"#56b6c2"}},{"name":"js dom variable","scope":"support.variable.dom,support.variable.property.dom","settings":{"foreground":"#e06c75"}},{"name":"keyword.operator","scope":"keyword.operator.arithmetic,keyword.operator.comparison,keyword.operator.decrement,keyword.operator.increment,keyword.operator.relational","settings":{"foreground":"#56b6c2"}},{"name":"C operator assignment","scope":"keyword.operator.assignment.c,keyword.operator.comparison.c,keyword.operator.c,keyword.operator.increment.c,keyword.operator.decrement.c,keyword.operator.bitwise.shift.c,keyword.operator.assignment.cpp,keyword.operator.comparison.cpp,keyword.operator.cpp,keyword.operator.increment.cpp,keyword.operator.decrement.cpp,keyword.operator.bitwise.shift.cpp","settings":{"foreground":"#c678dd"}},{"name":"Punctuation","scope":"punctuation.separator.delimiter","settings":{"foreground":"#abb2bf"}},{"name":"Other punctuation .c","scope":"punctuation.separator.c,punctuation.separator.cpp","settings":{"foreground":"#c678dd"}},{"name":"C type posix-reserved","scope":"support.type.posix-reserved.c,support.type.posix-reserved.cpp","settings":{"foreground":"#56b6c2"}},{"name":"keyword.operator.sizeof.c","scope":"keyword.operator.sizeof.c,keyword.operator.sizeof.cpp","settings":{"foreground":"#c678dd"}},{"name":"python parameter","scope":"variable.parameter.function.language.python","settings":{"foreground":"#d19a66"}},{"name":"python type","scope":"support.type.python","settings":{"foreground":"#56b6c2"}},{"name":"python logical","scope":"keyword.operator.logical.python","settings":{"foreground":"#c678dd"}},{"name":"pyCs","scope":"variable.parameter.function.python","settings":{"foreground":"#d19a66"}},{"name":"python block","scope":"punctuation.definition.arguments.begin.python,punctuation.definition.arguments.end.python,punctuation.separator.arguments.python,punctuation.definition.list.begin.python,punctuation.definition.list.end.python","settings":{"foreground":"#abb2bf"}},{"name":"python function-call.generic","scope":"meta.function-call.generic.python","settings":{"foreground":"#61afef"}},{"name":"python placeholder reset to normal string","scope":"constant.character.format.placeholder.other.python","settings":{"foreground":"#d19a66"}},{"name":"Operators","scope":"keyword.operator","settings":{"foreground":"#abb2bf"}},{"name":"Compound Assignment Operators","scope":"keyword.operator.assignment.compound","settings":{"foreground":"#c678dd"}},{"name":"Compound Assignment Operators js/ts","scope":"keyword.operator.assignment.compound.js,keyword.operator.assignment.compound.ts","settings":{"foreground":"#56b6c2"}},{"name":"Keywords","scope":"keyword","settings":{"foreground":"#c678dd"}},{"name":"Namespaces","scope":"entity.name.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Variables","scope":"variable","settings":{"foreground":"#e06c75"}},{"name":"Variables","scope":"variable.c","settings":{"foreground":"#abb2bf"}},{"name":"Language variables","scope":"variable.language","settings":{"foreground":"#e5c07b"}},{"name":"Java Variables","scope":"token.variable.parameter.java","settings":{"foreground":"#abb2bf"}},{"name":"Java Imports","scope":"import.storage.java","settings":{"foreground":"#e5c07b"}},{"name":"Packages","scope":"token.package.keyword","settings":{"foreground":"#c678dd"}},{"name":"Packages","scope":"token.package","settings":{"foreground":"#abb2bf"}},{"name":"Functions","scope":["entity.name.function","meta.require","support.function.any-method","variable.function"],"settings":{"foreground":"#61afef"}},{"name":"Classes","scope":"entity.name.type.namespace","settings":{"foreground":"#e5c07b"}},{"name":"Classes","scope":"support.class, entity.name.type.class","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":"entity.name.class.identifier.namespace.type","settings":{"foreground":"#e5c07b"}},{"name":"Class name","scope":["entity.name.class","variable.other.class.js","variable.other.class.ts"],"settings":{"foreground":"#e5c07b"}},{"name":"Class name php","scope":"variable.other.class.php","settings":{"foreground":"#e06c75"}},{"name":"Type Name","scope":"entity.name.type","settings":{"foreground":"#e5c07b"}},{"name":"Keyword Control","scope":"keyword.control","settings":{"foreground":"#c678dd"}},{"name":"Control Elements","scope":"control.elements, keyword.operator.less","settings":{"foreground":"#d19a66"}},{"name":"Methods","scope":"keyword.other.special-method","settings":{"foreground":"#61afef"}},{"name":"Storage","scope":"storage","settings":{"foreground":"#c678dd"}},{"name":"Storage JS TS","scope":"token.storage","settings":{"foreground":"#c678dd"}},{"name":"Source Js Keyword Operator Delete,source Js Keyword Operator In,source Js Keyword Operator Of,source Js Keyword Operator Instanceof,source Js Keyword Operator New,source Js Keyword Operator Typeof,source Js Keyword Operator Void","scope":"keyword.operator.expression.delete,keyword.operator.expression.in,keyword.operator.expression.of,keyword.operator.expression.instanceof,keyword.operator.new,keyword.operator.expression.typeof,keyword.operator.expression.void","settings":{"foreground":"#c678dd"}},{"name":"Java Storage","scope":"token.storage.type.java","settings":{"foreground":"#e5c07b"}},{"name":"Support","scope":"support.function","settings":{"foreground":"#56b6c2"}},{"name":"Support type","scope":"support.type.property-name","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] toml support","scope":"support.type.property-name.toml, support.type.property-name.table.toml, support.type.property-name.array.toml","settings":{"foreground":"#e06c75"}},{"name":"Support type","scope":"support.constant.property-value","settings":{"foreground":"#abb2bf"}},{"name":"Support type","scope":"support.constant.font-name","settings":{"foreground":"#d19a66"}},{"name":"Meta tag","scope":"meta.tag","settings":{"foreground":"#abb2bf"}},{"name":"Strings","scope":"string","settings":{"foreground":"#98c379"}},{"name":"Constant other symbol","scope":"constant.other.symbol","settings":{"foreground":"#56b6c2"}},{"name":"Integers","scope":"constant.numeric","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"constant","settings":{"foreground":"#d19a66"}},{"name":"Constants","scope":"punctuation.definition.constant","settings":{"foreground":"#d19a66"}},{"name":"Tags","scope":"entity.name.tag","settings":{"foreground":"#e06c75"}},{"name":"Attributes","scope":"entity.other.attribute-name","settings":{"foreground":"#d19a66"}},{"name":"Attribute IDs","scope":"entity.other.attribute-name.id","settings":{"foreground":"#61afef"}},{"name":"Attribute class","scope":"entity.other.attribute-name.class.css","settings":{"foreground":"#d19a66"}},{"name":"Selector","scope":"meta.selector","settings":{"foreground":"#c678dd"}},{"name":"Headings","scope":"markup.heading","settings":{"foreground":"#e06c75"}},{"name":"Headings","scope":"markup.heading punctuation.definition.heading, entity.name.section","settings":{"foreground":"#61afef"}},{"name":"Units","scope":"keyword.other.unit","settings":{"foreground":"#e06c75"}},{"name":"Bold","scope":"markup.bold,todo.bold","settings":{"foreground":"#d19a66"}},{"name":"Bold","scope":"punctuation.definition.bold","settings":{"foreground":"#e5c07b"}},{"name":"markup Italic","scope":"markup.italic, punctuation.definition.italic,todo.emphasis","settings":{"foreground":"#c678dd"}},{"name":"emphasis md","scope":"emphasis md","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown headings","scope":"entity.name.section.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown heading Punctuation Definition","scope":"punctuation.definition.heading.markdown","settings":{"foreground":"#e06c75"}},{"name":"punctuation.definition.list.begin.markdown","scope":"punctuation.definition.list.begin.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown heading setext","scope":"markup.heading.setext","settings":{"foreground":"#abb2bf"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Bold","scope":"punctuation.definition.bold.markdown","settings":{"foreground":"#d19a66"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw","scope":"markup.inline.raw.string.markdown","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Markdown Inline Raw punctuation","scope":"punctuation.definition.raw.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown List Punctuation Definition","scope":"punctuation.definition.list.markdown","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition String","scope":["punctuation.definition.string.begin.markdown","punctuation.definition.string.end.markdown","punctuation.definition.metadata.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"beginning.punctuation.definition.list.markdown","scope":["beginning.punctuation.definition.list.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Punctuation Definition Link","scope":"punctuation.definition.metadata.markdown","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] Markdown Underline Link/Image","scope":"markup.underline.link.markdown,markup.underline.link.image.markdown","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Markdown Link Title/Description","scope":"string.other.link.title.markdown,string.other.link.description.markdown","settings":{"foreground":"#61afef"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw","scope":"markup.raw.monospace.asciidoc","settings":{"foreground":"#98c379"}},{"name":"[VSCODE-CUSTOM] Asciidoc Inline Raw Punctuation Definition","scope":"punctuation.definition.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc List Punctuation Definition","scope":"markup.list.asciidoc","settings":{"foreground":"#e5c07b"}},{"name":"[VSCODE-CUSTOM] Asciidoc underline link","scope":"markup.link.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#c678dd"}},{"name":"[VSCODE-CUSTOM] Asciidoc link name","scope":"string.unquoted.asciidoc,markup.other.url.asciidoc","settings":{"foreground":"#61afef"}},{"name":"Regular Expressions","scope":"string.regexp","settings":{"foreground":"#56b6c2"}},{"name":"Embedded","scope":"punctuation.section.embedded, variable.interpolation","settings":{"foreground":"#e06c75"}},{"name":"Embedded","scope":"punctuation.section.embedded.begin,punctuation.section.embedded.end","settings":{"foreground":"#c678dd"}},{"name":"illegal","scope":"invalid.illegal","settings":{"foreground":"#ffffff"}},{"name":"illegal","scope":"invalid.illegal.bad-ampersand.html","settings":{"foreground":"#abb2bf"}},{"scope":"invalid.illegal.unrecognized-tag.html","settings":{"foreground":"#e06c75"}},{"name":"Broken","scope":"invalid.broken","settings":{"foreground":"#ffffff"}},{"name":"Deprecated","scope":"invalid.deprecated","settings":{"foreground":"#ffffff"}},{"name":"html Deprecated","scope":"invalid.deprecated.entity.other.attribute-name.html","settings":{"foreground":"#d19a66"}},{"name":"Unimplemented","scope":"invalid.unimplemented","settings":{"foreground":"#ffffff"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json","scope":"source.json meta.structure.dictionary.json > string.quoted.json","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > String Quoted Json > Punctuation String","scope":"source.json meta.structure.dictionary.json > string.quoted.json > punctuation.string","settings":{"foreground":"#e06c75"}},{"name":"Source Json Meta Structure Dictionary Json > Value Json > String Quoted Json,source Json Meta Structure Array Json > Value Json > String Quoted Json,source Json Meta Structure Dictionary Json > Value Json > String Quoted Json > Punctuation,source Json Meta Structure Array Json > Value Json > String Quoted Json > Punctuation","scope":"source.json meta.structure.dictionary.json > value.json > string.quoted.json,source.json meta.structure.array.json > value.json > string.quoted.json,source.json meta.structure.dictionary.json > value.json > string.quoted.json > punctuation,source.json meta.structure.array.json > value.json > string.quoted.json > punctuation","settings":{"foreground":"#98c379"}},{"name":"Source Json Meta Structure Dictionary Json > Constant Language Json,source Json Meta Structure Array Json > Constant Language Json","scope":"source.json meta.structure.dictionary.json > constant.language.json,source.json meta.structure.array.json > constant.language.json","settings":{"foreground":"#56b6c2"}},{"name":"[VSCODE-CUSTOM] JSON Property Name","scope":"support.type.property-name.json","settings":{"foreground":"#e06c75"}},{"name":"[VSCODE-CUSTOM] JSON Punctuation for Property Name","scope":"support.type.property-name.json punctuation","settings":{"foreground":"#e06c75"}},{"name":"laravel blade tag","scope":"text.html.laravel-blade source.php.embedded.line.html entity.name.tag.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"laravel blade @","scope":"text.html.laravel-blade source.php.embedded.line.html support.constant.laravel-blade","settings":{"foreground":"#c678dd"}},{"name":"use statement for other classes","scope":"support.other.namespace.use.php,support.other.namespace.use-as.php,entity.other.alias.php,meta.interface.php","settings":{"foreground":"#e5c07b"}},{"name":"error suppression","scope":"keyword.operator.error-control.php","settings":{"foreground":"#c678dd"}},{"name":"php instanceof","scope":"keyword.operator.type.php","settings":{"foreground":"#c678dd"}},{"name":"style double quoted array index normal begin","scope":"punctuation.section.array.begin.php","settings":{"foreground":"#abb2bf"}},{"name":"style double quoted array index normal end","scope":"punctuation.section.array.end.php","settings":{"foreground":"#abb2bf"}},{"name":"php illegal.non-null-typehinted","scope":"invalid.illegal.non-null-typehinted.php","settings":{"foreground":"#f44747"}},{"name":"php types","scope":"storage.type.php,meta.other.type.phpdoc.php,keyword.other.type.php,keyword.other.array.phpdoc.php","settings":{"foreground":"#e5c07b"}},{"name":"php call-function","scope":"meta.function-call.php,meta.function-call.object.php,meta.function-call.static.php","settings":{"foreground":"#61afef"}},{"name":"php function-resets","scope":"punctuation.definition.parameters.begin.bracket.round.php,punctuation.definition.parameters.end.bracket.round.php,punctuation.separator.delimiter.php,punctuation.section.scope.begin.php,punctuation.section.scope.end.php,punctuation.terminator.expression.php,punctuation.definition.arguments.begin.bracket.round.php,punctuation.definition.arguments.end.bracket.round.php,punctuation.definition.storage-type.begin.bracket.round.php,punctuation.definition.storage-type.end.bracket.round.php,punctuation.definition.array.begin.bracket.round.php,punctuation.definition.array.end.bracket.round.php,punctuation.definition.begin.bracket.round.php,punctuation.definition.end.bracket.round.php,punctuation.definition.begin.bracket.curly.php,punctuation.definition.end.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php,punctuation.definition.section.switch-block.start.bracket.curly.php,punctuation.definition.section.switch-block.begin.bracket.curly.php,punctuation.definition.section.switch-block.end.bracket.curly.php","settings":{"foreground":"#abb2bf"}},{"name":"support php constants","scope":"support.constant.core.rust","settings":{"foreground":"#d19a66"}},{"name":"support php constants","scope":"support.constant.ext.php,support.constant.std.php,support.constant.core.php,support.constant.parser-token.php","settings":{"foreground":"#d19a66"}},{"name":"php goto","scope":"entity.name.goto-label.php,support.other.php","settings":{"foreground":"#61afef"}},{"name":"php logical/bitwise operator","scope":"keyword.operator.logical.php,keyword.operator.bitwise.php,keyword.operator.arithmetic.php","settings":{"foreground":"#56b6c2"}},{"name":"php regexp operator","scope":"keyword.operator.regexp.php","settings":{"foreground":"#c678dd"}},{"name":"php comparison","scope":"keyword.operator.comparison.php","settings":{"foreground":"#56b6c2"}},{"name":"php heredoc/nowdoc","scope":"keyword.operator.heredoc.php,keyword.operator.nowdoc.php","settings":{"foreground":"#c678dd"}},{"name":"python function decorator @","scope":"meta.function.decorator.python","settings":{"foreground":"#61afef"}},{"name":"python function support","scope":"support.token.decorator.python,meta.function.decorator.identifier.python","settings":{"foreground":"#56b6c2"}},{"name":"parameter function js/ts","scope":"function.parameter","settings":{"foreground":"#abb2bf"}},{"name":"brace function","scope":"function.brace","settings":{"foreground":"#abb2bf"}},{"name":"parameter function ruby cs","scope":"function.parameter.ruby, function.parameter.cs","settings":{"foreground":"#abb2bf"}},{"name":"constant.language.symbol.ruby","scope":"constant.language.symbol.ruby","settings":{"foreground":"#56b6c2"}},{"name":"constant.language.symbol.hashkey.ruby","scope":"constant.language.symbol.hashkey.ruby","settings":{"foreground":"#56b6c2"}},{"name":"rgb-value","scope":"rgb-value","settings":{"foreground":"#56b6c2"}},{"name":"rgb value","scope":"inline-color-decoration rgb-value","settings":{"foreground":"#d19a66"}},{"name":"rgb value less","scope":"less rgb-value","settings":{"foreground":"#d19a66"}},{"name":"sass selector","scope":"selector.sass","settings":{"foreground":"#e06c75"}},{"name":"ts primitive/builtin types","scope":"support.type.primitive.ts,support.type.builtin.ts,support.type.primitive.tsx,support.type.builtin.tsx","settings":{"foreground":"#e5c07b"}},{"name":"block scope","scope":"block.scope.end,block.scope.begin","settings":{"foreground":"#abb2bf"}},{"name":"cs storage type","scope":"storage.type.cs","settings":{"foreground":"#e5c07b"}},{"name":"cs local variable","scope":"entity.name.variable.local.cs","settings":{"foreground":"#e06c75"}},{"scope":"token.info-token","settings":{"foreground":"#61afef"}},{"scope":"token.warn-token","settings":{"foreground":"#d19a66"}},{"scope":"token.error-token","settings":{"foreground":"#f44747"}},{"scope":"token.debug-token","settings":{"foreground":"#c678dd"}},{"name":"String interpolation","scope":["punctuation.definition.template-expression.begin","punctuation.definition.template-expression.end","punctuation.section.embedded"],"settings":{"foreground":"#c678dd"}},{"name":"Reset JavaScript string interpolation expression","scope":["meta.template.expression"],"settings":{"foreground":"#abb2bf"}},{"name":"Import module JS","scope":["keyword.operator.module"],"settings":{"foreground":"#c678dd"}},{"name":"js Flowtype","scope":["support.type.type.flowtype"],"settings":{"foreground":"#61afef"}},{"name":"js Flow","scope":["support.type.primitive"],"settings":{"foreground":"#e5c07b"}},{"name":"js class prop","scope":["meta.property.object"],"settings":{"foreground":"#e06c75"}},{"name":"js func parameter","scope":["variable.parameter.function.js"],"settings":{"foreground":"#e06c75"}},{"name":"js template literals begin","scope":["keyword.other.template.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals end","scope":["keyword.other.template.end"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces begin","scope":["keyword.other.substitution.begin"],"settings":{"foreground":"#98c379"}},{"name":"js template literals variable braces end","scope":["keyword.other.substitution.end"],"settings":{"foreground":"#98c379"}},{"name":"js operator.assignment","scope":["keyword.operator.assignment"],"settings":{"foreground":"#56b6c2"}},{"name":"go operator","scope":["keyword.operator.assignment.go"],"settings":{"foreground":"#e5c07b"}},{"name":"go operator","scope":["keyword.operator.arithmetic.go","keyword.operator.address.go"],"settings":{"foreground":"#c678dd"}},{"name":"Go package name","scope":["entity.name.package.go"],"settings":{"foreground":"#e5c07b"}},{"name":"elm prelude","scope":["support.type.prelude.elm"],"settings":{"foreground":"#56b6c2"}},{"name":"elm constant","scope":["support.constant.elm"],"settings":{"foreground":"#d19a66"}},{"name":"template literal","scope":["punctuation.quasi.element"],"settings":{"foreground":"#c678dd"}},{"name":"html/pug (jade) escaped characters and entities","scope":["constant.character.entity"],"settings":{"foreground":"#e06c75"}},{"name":"styling css pseudo-elements/classes to be able to differentiate from classes which are the same colour","scope":["entity.other.attribute-name.pseudo-element","entity.other.attribute-name.pseudo-class"],"settings":{"foreground":"#56b6c2"}},{"name":"Clojure globals","scope":["entity.global.clojure"],"settings":{"foreground":"#e5c07b"}},{"name":"Clojure symbols","scope":["meta.symbol.clojure"],"settings":{"foreground":"#e06c75"}},{"name":"Clojure constants","scope":["constant.keyword.clojure"],"settings":{"foreground":"#56b6c2"}},{"name":"CoffeeScript Function Argument","scope":["meta.arguments.coffee","variable.parameter.function.coffee"],"settings":{"foreground":"#e06c75"}},{"name":"Ini Default Text","scope":["source.ini"],"settings":{"foreground":"#98c379"}},{"name":"Makefile prerequisities","scope":["meta.scope.prerequisites.makefile"],"settings":{"foreground":"#e06c75"}},{"name":"Makefile text colour","scope":["source.makefile"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy import names","scope":["storage.modifier.import.groovy"],"settings":{"foreground":"#e5c07b"}},{"name":"Groovy Methods","scope":["meta.method.groovy"],"settings":{"foreground":"#61afef"}},{"name":"Groovy Variables","scope":["meta.definition.variable.name.groovy"],"settings":{"foreground":"#e06c75"}},{"name":"Groovy Inheritance","scope":["meta.definition.class.inherited.classes.groovy"],"settings":{"foreground":"#98c379"}},{"name":"HLSL Semantic","scope":["support.variable.semantic.hlsl"],"settings":{"foreground":"#e5c07b"}},{"name":"HLSL Types","scope":["support.type.texture.hlsl","support.type.sampler.hlsl","support.type.object.hlsl","support.type.object.rw.hlsl","support.type.fx.hlsl","support.type.object.hlsl"],"settings":{"foreground":"#c678dd"}},{"name":"SQL Variables","scope":["text.variable","text.bracketed"],"settings":{"foreground":"#e06c75"}},{"name":"types","scope":["support.type.swift","support.type.vb.asp"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 1, keyword","scope":["entity.name.function.xi"],"settings":{"foreground":"#e5c07b"}},{"name":"heading 2, callable","scope":["entity.name.class.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 3, property","scope":["constant.character.character-class.regexp.xi"],"settings":{"foreground":"#e06c75"}},{"name":"heading 4, type, class, interface","scope":["constant.regexp.xi"],"settings":{"foreground":"#c678dd"}},{"name":"heading 5, enums, preprocessor, constant, decorator","scope":["keyword.control.xi"],"settings":{"foreground":"#56b6c2"}},{"name":"heading 6, number","scope":["invalid.xi"],"settings":{"foreground":"#abb2bf"}},{"name":"string","scope":["beginning.punctuation.definition.quote.markdown.xi"],"settings":{"foreground":"#98c379"}},{"name":"comments","scope":["beginning.punctuation.definition.list.markdown.xi"],"settings":{"foreground":"#7f848e"}},{"name":"link","scope":["constant.character.xi"],"settings":{"foreground":"#61afef"}},{"name":"accent","scope":["accent.xi"],"settings":{"foreground":"#61afef"}},{"name":"wikiword","scope":["wikiword.xi"],"settings":{"foreground":"#d19a66"}},{"name":"language operators like \'+\', \'-\' etc","scope":["constant.other.color.rgb-value.xi"],"settings":{"foreground":"#ffffff"}},{"name":"elements to dim","scope":["punctuation.definition.tag.xi"],"settings":{"foreground":"#5c6370"}},{"name":"C++/C#","scope":["entity.name.label.cs","entity.name.scope-resolution.function.call","entity.name.scope-resolution.function.definition"],"settings":{"foreground":"#e5c07b"}},{"name":"Markdown underscore-style headers","scope":["entity.name.label.cs","markup.heading.setext.1.markdown","markup.heading.setext.2.markdown"],"settings":{"foreground":"#e06c75"}},{"name":"meta.brace.square","scope":[" meta.brace.square"],"settings":{"foreground":"#abb2bf"}},{"name":"Comments","scope":"comment, punctuation.definition.comment","settings":{"foreground":"#7f848e"}},{"name":"[VSCODE-CUSTOM] Markdown Quote","scope":"markup.quote.markdown","settings":{"foreground":"#5c6370"}},{"name":"punctuation.definition.block.sequence.item.yaml","scope":"punctuation.definition.block.sequence.item.yaml","settings":{"foreground":"#abb2bf"}},{"scope":["constant.language.symbol.elixir","constant.language.symbol.double-quoted.elixir"],"settings":{"foreground":"#56b6c2"}},{"scope":["entity.name.variable.parameter.cs"],"settings":{"foreground":"#e5c07b"}},{"scope":["entity.name.variable.field.cs"],"settings":{"foreground":"#e06c75"}},{"name":"Deleted","scope":"markup.deleted","settings":{"foreground":"#e06c75"}},{"name":"Inserted","scope":"markup.inserted","settings":{"foreground":"#98c379"}},{"name":"Underline","scope":"markup.underline","settings":{"fontStyle":"underline"}},{"name":"punctuation.section.embedded.begin.php","scope":["punctuation.section.embedded.begin.php","punctuation.section.embedded.end.php"],"settings":{"foreground":"#BE5046"}},{"name":"support.other.namespace.php","scope":["support.other.namespace.php"],"settings":{"foreground":"#abb2bf"}},{"name":"variable.other.object","scope":["variable.other.object"],"settings":{"foreground":"#e5c07b"}},{"name":"variable.other.constant.property","scope":["variable.other.constant.property"],"settings":{"foreground":"#e06c75"}},{"name":"entity.other.inherited-class","scope":["entity.other.inherited-class"],"settings":{"foreground":"#e5c07b"}},{"name":"c variable readwrite","scope":"variable.other.readwrite.c","settings":{"foreground":"#e06c75"}},{"name":"php scope","scope":"entity.name.variable.parameter.php,punctuation.separator.colon.php,constant.other.php","settings":{"foreground":"#abb2bf"}},{"name":"Assembly","scope":["constant.numeric.decimal.asm.x86_64"],"settings":{"foreground":"#c678dd"}},{"scope":["support.other.parenthesis.regexp"],"settings":{"foreground":"#d19a66"}},{"scope":["constant.character.escape"],"settings":{"foreground":"#56b6c2"}},{"scope":["string.regexp"],"settings":{"foreground":"#e06c75"}}],"colors":{"activityBar.background":"#23272e","activityBar.foreground":"#d7dae0","activityBarBadge.background":"#4d78cc","activityBarBadge.foreground":"#f8fafd","badge.background":"#23272e","button.background":"#404754","button.secondaryBackground":"#30333d","button.secondaryForeground":"#c0bdbd","checkbox.border":"#404754","debugToolBar.background":"#1e2227","descriptionForeground":"#abb2bf","diffEditor.insertedTextBackground":"#00809b33","dropdown.background":"#1e2227","dropdown.border":"#1e2227","editor.background":"#23272e","editor.findMatchBackground":"#42557b","editor.findMatchBorder":"#457dff","editor.findMatchHighlightBackground":"#6199ff2f","editor.foreground":"#abb2bf","editorBracketHighlight.foreground1":"#d19a66","editorBracketHighlight.foreground2":"#c678dd","editorBracketHighlight.foreground3":"#56b6c2","editorHoverWidget.highlightForeground":"#61afef","editorInlayHint.foreground":"#abb2bf","editorInlayHint.background":"#2c313c","editor.lineHighlightBackground":"#2c313c","editorLineNumber.activeForeground":"#abb2bf","editorGutter.addedBackground":"#109868","editorGutter.deletedBackground":"#9A353D","editorGutter.modifiedBackground":"#948B60","editorOverviewRuler.addedBackground":"#109868","editorOverviewRuler.deletedBackground":"#9A353D","editorOverviewRuler.modifiedBackground":"#948B60","editor.selectionBackground":"#67769660","editor.selectionHighlightBackground":"#ffffff10","editor.selectionHighlightBorder":"#dddddd","editor.wordHighlightBackground":"#d2e0ff2f","editor.wordHighlightBorder":"#7f848e","editor.wordHighlightStrongBackground":"#abb2bf26","editor.wordHighlightStrongBorder":"#7f848e","editorBracketMatch.background":"#515a6b","editorBracketMatch.border":"#515a6b","editorCursor.background":"#ffffffc9","editorCursor.foreground":"#528bff","editorError.foreground":"#c24038","editorGroup.background":"#181a1f","editorGroup.border":"#181a1f","editorGroupHeader.tabsBackground":"#1e2227","editorHoverWidget.background":"#1e2227","editorHoverWidget.border":"#181a1f","editorIndentGuide.activeBackground":"#c8c8c859","editorIndentGuide.background":"#3b4048","editorLineNumber.foreground":"#495162","editorMarkerNavigation.background":"#1e2227","editorRuler.foreground":"#abb2bf26","editorSuggestWidget.background":"#1e2227","editorSuggestWidget.border":"#181a1f","editorSuggestWidget.selectedBackground":"#2c313a","editorWarning.foreground":"#d19a66","editorWhitespace.foreground":"#ffffff1d","editorWidget.background":"#1e2227","focusBorder":"#3e4452","gitDecoration.ignoredResourceForeground":"#636b78","input.background":"#1d1f23","input.foreground":"#abb2bf","list.activeSelectionBackground":"#2c313a","list.activeSelectionForeground":"#d7dae0","list.focusBackground":"#323842","list.focusForeground":"#f0f0f0","list.highlightForeground":"#ecebeb","list.hoverBackground":"#2c313a","list.hoverForeground":"#abb2bf","list.inactiveSelectionBackground":"#323842","list.inactiveSelectionForeground":"#d7dae0","list.warningForeground":"#d19a66","menu.foreground":"#abb2bf","menu.separatorBackground":"#343a45","minimapGutter.addedBackground":"#109868","minimapGutter.deletedBackground":"#9A353D","minimapGutter.modifiedBackground":"#948B60","panel.border":"#3e4452","panelSectionHeader.background":"#1e2227","peekViewEditor.background":"#1b1d23","peekViewEditor.matchHighlightBackground":"#29244b","peekViewResult.background":"#22262b","scrollbar.shadow":"#23252c","scrollbarSlider.activeBackground":"#747d9180","scrollbarSlider.background":"#4e566660","scrollbarSlider.hoverBackground":"#5a637580","settings.focusedRowBackground":"#23272e","settings.headerForeground":"#fff","sideBar.background":"#1e2227","sideBar.foreground":"#abb2bf","sideBarSectionHeader.background":"#23272e","sideBarSectionHeader.foreground":"#abb2bf","statusBar.background":"#1e2227","statusBar.debuggingBackground":"#cc6633","statusBar.debuggingBorder":"#ff000000","statusBar.debuggingForeground":"#ffffff","statusBar.foreground":"#9da5b4","statusBar.noFolderBackground":"#1e2227","statusBarItem.remoteBackground":"#4d78cc","statusBarItem.remoteForeground":"#f8fafd","tab.activeBackground":"#23272e","tab.activeBorder":"#b4b4b4","tab.activeForeground":"#dcdcdc","tab.border":"#181a1f","tab.hoverBackground":"#323842","tab.inactiveBackground":"#1e2227","tab.unfocusedHoverBackground":"#323842","terminal.ansiBlack":"#3f4451","terminal.ansiBlue":"#4aa5f0","terminal.ansiBrightBlack":"#4f5666","terminal.ansiBrightBlue":"#4dc4ff","terminal.ansiBrightCyan":"#4cd1e0","terminal.ansiBrightGreen":"#a5e075","terminal.ansiBrightMagenta":"#de73ff","terminal.ansiBrightRed":"#ff616e","terminal.ansiBrightWhite":"#e6e6e6","terminal.ansiBrightYellow":"#f0a45d","terminal.ansiCyan":"#42b3c2","terminal.ansiGreen":"#8cc265","terminal.ansiMagenta":"#c162de","terminal.ansiRed":"#e05561","terminal.ansiWhite":"#d7dae0","terminal.ansiYellow":"#d18f52","terminal.background":"#23272e","terminal.border":"#3e4452","terminal.foreground":"#abb2bf","terminal.selectionBackground":"#abb2bf30","textBlockQuote.background":"#2e3440","textBlockQuote.border":"#4b5362","textLink.foreground":"#61afef","textPreformat.foreground":"#d19a66","titleBar.activeBackground":"#23272e","titleBar.activeForeground":"#9da5b4","titleBar.inactiveBackground":"#1e2227","titleBar.inactiveForeground":"#6b717d","tree.indentGuidesStroke":"#ffffff1d","walkThrough.embeddedEditorBackground":"#2e3440","welcomePage.buttonHoverBackground":"#404754"}}'),Fo=[{token:No.IDENTIFIER,foreground:"dcdcaa"},{token:No.NUMBER,foreground:"b5cea8"},{token:No.DATE,foreground:"b5cea8"},{token:No.COLOR,foreground:"b5cea8"},{token:No.PACKAGE,foreground:"808080"},{token:No.PARSER,foreground:"c586c0"},{token:No.LANGUAGE_STRUCT,foreground:"c586c0"},{token:No.MULTIPLICITY,foreground:"2d796b"},{token:No.GENERICS,foreground:"2d796b"},{token:No.PROPERTY,foreground:"9cdcfe"},{token:No.PARAMETER,foreground:"9cdcfe"},{token:No.VARIABLE,foreground:"4fc1ff"},{token:No.TYPE,foreground:"3dc9b0"},{token:`${No.STRING}.escape`,foreground:"d7ba7d"}];var Do,Bo;(Bo=Do||(Do={})).DEFAULT_DARK="default-dark",Bo.GITHUB_LIGHT="github-light",Bo.GITHUB_DARK="github-dark",Bo.GITHUB_DARK_DIMMED="github-dark-dimmed",Bo.SOLARIZED_DARK="solarized-dark",Bo.ONE_DARK_PRO="one-dark-pro",Bo.ONE_DARK_PRO_DARKER="one-dark-pro-darker",Bo.MATERIAL_DEFAULT="material-default",Bo.MATERIAL_DARKER="material-darker",Bo.BUILT_IN__VSCODE_LIGHT="vs",Bo.BUILT_IN__VSCODE_DARK="vs-dark",Bo.BUILT_IN__VSCODE_HC_BLACK="hc-black",Bo.BUILT_IN__VSCODE_HC_LIGHT="hc-light";const jo={base:"vs-dark",inherit:!0,colors:{},rules:[...Fo,{token:"string.sql",foreground:"ce9178"},{token:"white.sql",foreground:"d4d4d4"},{token:"identifier.sql",foreground:"d4d4d4"},{token:"operator.sql",foreground:"d4d4d4"}]},Ho=Io(xo,Do.BUILT_IN__VSCODE_DARK,{},[]),Uo=Io(wo,Do.BUILT_IN__VSCODE_DARK,{},[]),Go=Io(ko,Do.BUILT_IN__VSCODE_LIGHT,{},[]),Vo=Io(Oo,Do.BUILT_IN__VSCODE_DARK,{},[]),$o=Io(Ro,Do.BUILT_IN__VSCODE_DARK,{},[]),Wo=Io(Po,Do.BUILT_IN__VSCODE_DARK,{},[]),Yo=Io(Lo,Do.BUILT_IN__VSCODE_DARK,{},[]),zo=Io(Mo,Do.BUILT_IN__VSCODE_DARK,{},[]),Ko=(e,t)=>{e.hasTextFocus()||e.focus(),e.revealPositionInCenter(t,0),e.setPosition(t)},Xo="dummy_problem_marker_owner";var Jo;!function(e){e.TEXT="plaintext",e.PURE="pure",e.JSON="json",e.JAVA="java",e.MARKDOWN="markdown",e.SQL="sql",e.XML="xml",e.YAML="yaml",e.GRAPHQL="graphql"}(Jo||(Jo={}));const qo="::",Zo="###",Qo=["$implicit"];var er,tr,nr,sr,ir,or;(or=er||(er={})).CORE="CORE",or.MAIN="ROOT",or.MODEL_GENERATION="MODEL_GENERATION_ROOT",or.SYSTEM="SYSTEM_ROOT",or.PROJECT_DEPENDENCY_ROOT="PROJECT_DEPENDENCY_ROOT",(ir=tr||(tr={})).STRING="String",ir.BOOLEAN="Boolean",ir.BINARY="Binary",ir.NUMBER="Number",ir.INTEGER="Integer",ir.FLOAT="Float",ir.DECIMAL="Decimal",ir.DATE="Date",ir.STRICTDATE="StrictDate",ir.DATETIME="DateTime",ir.STRICTTIME="StrictTime",ir.LATESTDATE="LatestDate",ir.BYTE="Byte",function(e){e.VARCHAR="meta::pure::precisePrimitives::Varchar",e.INT="meta::pure::precisePrimitives::Int",e.TINY_INT="meta::pure::precisePrimitives::TinyInt",e.U_TINY_INT="meta::pure::precisePrimitives::UTinyInt",e.SMALL_INT="meta::pure::precisePrimitives::SmallInt",e.U_SMALL_INT="meta::pure::precisePrimitives::USmallInt",e.U_INT="meta::pure::precisePrimitives::UInt",e.BIG_INT="meta::pure::precisePrimitives::BigInt",e.U_BIG_INT="meta::pure::precisePrimitives::UBigInt",e.FLOAT="meta::pure::precisePrimitives::Float4",e.DOUBLE="meta::pure::precisePrimitives::Double",e.DECIMAL="meta::pure::precisePrimitives::Decimal",e.STRICTDATE="meta::pure::precisePrimitives::Date",e.DATETIME="meta::pure::precisePrimitives::Timestamp",e.STRICTTIME="meta::pure::precisePrimitives::Time",e.NUMERIC="meta::pure::precisePrimitives::Numeric",e.TIMESTAMP="meta::relational::metamodel::datatype::Timestamp"}(nr||(nr={})),function(e){e.Service_Test="serviceTest",e.Mapping_Test="mappingTest",e.Function_Test="functionTest"}(sr||(sr={}));const rr=["meta::pure::metamodel::type","meta::pure::functions::date","meta::pure::profiles","meta::pure::metamodel::relation","meta::pure::metamodel::variant"];var ar,cr,lr,dr,ur,pr,hr,gr,mr,fr,_r;(cr=ar||(ar={})).ANY="meta::pure::metamodel::type::Any",cr.NIL="meta::pure::metamodel::type::Nil",cr.RELATION="meta::pure::metamodel::relation::Relation",cr.TABULAR_DATASET="meta::pure::tds::TabularDataSet",cr.VARIANT="meta::pure::metamodel::variant::Variant",cr.PROFILE_DOC="meta::pure::profiles::doc",cr.PROFILE_TEMPORAL="meta::pure::profiles::temporal",cr.PROFILE="meta::pure::metamodel::extension::Profile",cr.ENUMERATION="meta::pure::metamodel::type::Enumeration",cr.MEASURE="meta::pure::metamodel::type::Measure",cr.CLASS="meta::pure::metamodel::type::Class",cr.ASSOCIATION="meta::pure::metamodel::relationship::Association",cr.FUNCTION="meta::pure::metamodel::function::ConcreteFunctionDefinition",cr.FLAT_DATA="meta::flatData::metamodel::FlatData",cr.DATABASE="meta::relational::metamodel::Database",cr.MAPPING="meta::pure::mapping::Mapping",cr.SERVICE="meta::legend::service::metamodel::Service",cr.CONNECTION="meta::pure::runtime::PackageableConnection",cr.RUNTIME="meta::pure::runtime::PackageableRuntime",cr.EXECUTION_ENVIRONMENT="meta::legend::service::metamodel::ExecutionEnvironmentInstance",cr.FILE_GENERATION="meta::pure::generation::metamodel::GenerationConfiguration",cr.GENERATION_SPECIFICATION="meta::pure::generation::metamodel::GenerationSpecification",cr.SECTION_INDEX="meta::pure::metamodel::section::SectionIndex",cr.DATA_ELEMENT="meta::pure::data::DataElement",cr.SNOWFLAKE_APP="meta::external::function::activator::snowflakeApp::SnowflakeApp",cr.SNOWFLAKE_M2M_UDF="meta::external::function::activator::snowflakeM2MUdf::SnowflakeM2MUdf",cr.HOSTED_SERVICE="meta::external::function::activator::hostedService::HostedService",cr.MEM_SQL_FUNCTION="meta::external::function::activator::memSqlFunction::MemSqlFunction",cr.TABULAR_RESULT="meta::pure::mapping::Result",cr.DATA_PRODUCT="meta::external::catalog::dataProduct::specification::metamodel::DataProduct",cr.INGEST_DEFINITION="meta::external::ingest::specification::metamodel::IngestDefinition",(pr=lr||(lr={})).BUSINESS_TEMPORAL="businesstemporal",pr.PROCESSING_TEMPORAL="processingtemporal",pr.BITEMPORAL="bitemporal",(ur=dr||(dr={})).ALL_VERSIONS="AllVersions",ur.ALL_VERSIONS_IN_RANGE="AllVersionsInRange",(mr=hr||(hr={})).CLASS="CLASS",mr.STORE="STORE",mr.MAPPING="MAPPING",mr.RUNTIME="RUNTIME",mr.FUNCTION="FUNCTION",mr.FILE_GENERATION="FILE_GENERATION",mr.SERVICE="SERVICE",mr.DATA="DATA",mr.ENUMERATION="ENUMERATION",mr.ASSOCIATION="ASSOCIATION",mr.BINDING="BINDING",function(e){e.LET="meta::pure::functions::lang::letFunction",e.NEW="meta::pure::functions::meta::new",e.FROM="meta::pure::mapping::from"}(gr||(gr={})),(_r=fr||(fr={})).PACKAGE="Package",_r.PROFILE="Profile",_r.TAG="Tag",_r.STEREOTYPE="Stereotype",_r.CLASS="Class",_r.ASSOCIATION="Association",_r.PROPERTY="Property",_r.QUALIFIED_PROPERTY="QualifiedProperty",_r.ENUMERATION="Enumeration",_r.ENUM_VALUE="Enum",_r.MEASURE="Measure",_r.UNIT="Unit",_r.FUNCTION="ConcreteFunctionDefinition",_r.NATIVE_FUNCTION="NativeFunction",_r.DIAGRAM="Diagram",_r.DATABASE="Database",_r.MAPPING="Mapping";class Er{pureId;pureType;pureName;get id(){return this.pureId}}class br extends Er{deprecated}(0,pe.PL)(br,{pureId:(0,pe.MY)(),pureType:(0,pe.MY)(),deprecated:(0,pe.MY)()});class Tr extends Er{RO;classPath;file;line;column;get id(){return`${this.classPath}.${this.pureId}`}}(0,pe.PL)(Tr,{pureId:(0,pe.MY)(),pureName:(0,pe.MY)(),pureType:(0,pe.MY)(),RO:(0,pe.MY)(),classPath:(0,pe.MY)(),file:(0,pe.MY)(),line:(0,pe.MY)(),column:(0,pe.MY)()});class Cr extends Er{RO;notpublic;user;file;line;column}(0,pe.PL)(Cr,{pureId:(0,pe.MY)(),pureName:(0,pe.lq)((0,pe.MY)()),pureType:(0,pe.MY)(),RO:(0,pe.MY)(),notpublic:(0,pe.MY)(),user:(0,pe.MY)(),file:(0,pe.MY)(),line:(0,pe.MY)(),column:(0,pe.MY)()});class vr{li_attr;id;text;test;pct;icon;children;state;getNodeAttribute(e){return U(this.li_attr,e,`Expected concept node attribute to be of type '${e.name}'`)}}(0,pe.PL)(vr,{li_attr:(0,pe.Ie)(()=>pe._Z,e=>e.classPath?(0,pe.iu)(Tr,e):e.file?(0,pe.iu)(Cr,e):(0,pe.iu)(br,e)),id:(0,pe.MY)(),text:(0,pe.MY)(),test:(0,pe.lq)((0,pe.MY)()),pct:(0,pe.lq)((0,pe.MY)()),icon:(0,pe.MY)(),children:(0,pe.MY)(),state:(0,pe.MY)()});var yr=n(99499),Sr=n(91937);const Nr=e=>yr.sha1().update(e).digest("hex"),Ar=e=>Nr(e.filter(M).map(e=>"string"==typeof e||"boolean"==typeof e||"number"==typeof e?Nr(e):e.hashCode).join(",")),Ir=e=>e.startsWith("/")?e.substring(1,e.length):e;class xr{content;RO;constructor(){(0,Te.Gn)(this,{content:Te.sH,hashCode:Te.EW,setContent:Te.XI})}setContent(e){this.content=e}get hashCode(){return Nr(this.content)}}(0,pe.PL)(xr,{content:(0,pe.MY)(),RO:(0,pe.MY)()});class wr{file;line;column;constructor(e,t,n){this.file=e,this.line=t,this.column=n}}class Or extends wr{error;constructor(e,t,n,s){super(e,t??1,n??1),this.error=s}}var kr;!function(e){e.ENUM="meta::pure::ide::findusages::findUsagesForEnum_String_1__String_1__SourceInformation_MANY_",e.PROPERTY="meta::pure::ide::findusages::findUsagesForProperty_String_1__String_1__SourceInformation_MANY_",e.ELEMENT="meta::pure::ide::findusages::findUsagesForPath_String_1__SourceInformation_MANY_",e.MULTIPLE_PATHS="meta::pure::ide::findusages::findUsagesForMultiplePaths_String_1__Pair_MANY_"}(kr||(kr={}));const Rr=e=>`'${e.path}'${e.owner?` of '${e.owner}'`:""}`;class Pr{source;line;column;startLine;startColumn;endLine;endColumn}(0,pe.PL)(Pr,{source:(0,pe.MY)(),line:(0,pe.MY)(),column:(0,pe.MY)(),startLine:(0,pe.MY)(),startColumn:(0,pe.MY)(),endLine:(0,pe.MY)(),endColumn:(0,pe.MY)()});class Lr{first;second}(0,pe.PL)(Lr,{first:(0,pe.MY)(),second:(0,pe.p_)((0,pe.Ik)(Pr))});class Mr{uuid=(0,o.A)();isPinned=!1;constructor(){(0,Te.Gn)(this,{isPinned:Te.sH,setPinned:Te.XI})}get description(){}setPinned(e){this.isPinned=e}match(e){return this===e}onOpen(){}onClose(){}}class Fr{currentTab;tabs=[];constructor(){(0,Te.Gn)(this,{currentTab:Te.sH,setCurrentTab:Te.XI,tabs:Te.sH,closeTab:Te.XI,closeAllTabs:Te.XI,closeAllOtherTabs:Te.XI,openTab:Te.XI,swapTabs:Te.XI,pinTab:Te.XI,unpinTab:Te.XI})}setCurrentTab(e){this.currentTab=e}closeAllOtherTabs(e){F(this.tabs.find(t=>t===e),"Specified tab should be currently opened"),this.setCurrentTab(e),this.tabs=this.tabs.filter(t=>t.isPinned||t===e)}closeAllTabs(){this.tabs=this.tabs.filter(e=>e.isPinned),this.currentTab&&this.tabs.includes(this.currentTab)||this.setCurrentTab(this.tabs.length?this.tabs[0]:void 0)}swapTabs(e,t){e.isPinned===t.isPinned&&A(this.tabs,e,t)}openTab(e){if(!this.tabs.find(t=>t.match(e)))if(this.currentTab){const t=this.tabs.findIndex(e=>e===this.currentTab);this.tabs.splice(Math.max(t+1,this.tabs.filter(e=>e.isPinned).length),0,e)}else this.tabs.push(e);this.setCurrentTab(e),e.onOpen()}closeTab(e){if(e.isPinned)return;const t=this.tabs.findIndex(t=>t.match(e));if($(-1!==t,"Can't close a tab which is not opened"),this.tabs.splice(t,1),this.currentTab===e)if(this.tabs.length){const e=t-1;this.setCurrentTab(e>=0?this.tabs[e]:this.tabs[0])}else this.setCurrentTab(void 0);e.onClose()}pinTab(e){if(e.isPinned)return;const t=this.tabs.findIndex(t=>t.match(e));this.tabs.splice(t,1),this.tabs.splice(this.tabs.filter(e=>e.isPinned).length,0,e),e.setPinned(!0)}unpinTab(e){if(!e.isPinned)return;const t=this.tabs.findIndex(t=>t.match(e));this.tabs.splice(t,1),this.tabs.splice(this.tabs.filter(e=>e.isPinned).length,0,e),e.setPinned(!1)}}class Dr extends Mr{ideStore;constructor(e){super(),this.ideStore=e}}class Br extends Fr{ideStore;constructor(e){super(),this.ideStore=e}get dndType(){return"editor.tab-manager.tab"}closeTab(e){e instanceof Kr&&e.hasChanged?this.ideStore.applicationStore.alertService.setActionAlertInfo({message:"Unsaved changes will be lost if you continue. Do you still want to proceed?",prompt:"To save changes, abort and compile",type:At.CAUTION,actions:[{label:"Proceed",type:It.PROCEED_WITH_CAUTION,handler:()=>super.closeTab(e)},{label:"Save changes",type:It.PROCEED_WITH_CAUTION,handler:()=>{(0,Te.gP)(this.ideStore.executeGo()).then(()=>{super.closeTab(e)}).catch(this.ideStore.applicationStore.alertUnhandledError)}},{label:"Abort",type:It.PROCEED,default:!0}]}):super.closeTab(e)}}var jr;!function(e){e.SEARCH_FILE="editor.search.file",e.SEARCH_TEXT="editor.search.text",e.GO_TO_FILE="editor.go-to-file",e.TOGGLE_TERMINAL_PANEL="editor.toggle-terminal-panel",e.EXECUTE="editor.execute",e.FULL_RECOMPILE="editor.full-compile",e.FULL_RECOMPILE_WITH_FULL_INIT="editor.full-compile.with-init",e.RUN_ALL_TESTS="editor.run-all-tests",e.RUN_RELAVANT_TESTS="editor.run-relavant-tests"}(jr||(jr={}));const Hr={[jr.SEARCH_FILE]:{title:"Search for file",defaultKeyboardShortcut:"Control+Shift+KeyN",additionalKeyboardShortcuts:["Control+KeyP","Meta+KeyP"]},[jr.SEARCH_TEXT]:{title:"Search text",defaultKeyboardShortcut:"Control+Shift+KeyF",additionalKeyboardShortcuts:["Meta+Shift+KeyF"]},[jr.GO_TO_FILE]:{title:"Go to file",defaultKeyboardShortcut:"Control+F1"},[jr.TOGGLE_TERMINAL_PANEL]:{title:"Toggle terminal",defaultKeyboardShortcut:"Control+Backquote"},[jr.EXECUTE]:{title:"Execute",defaultKeyboardShortcut:"F9"},[jr.FULL_RECOMPILE]:{title:"Run full re-compilation",defaultKeyboardShortcut:"F11"},[jr.FULL_RECOMPILE_WITH_FULL_INIT]:{title:"Run full re-compilation",defaultKeyboardShortcut:"Shift+F11"},[jr.RUN_ALL_TESTS]:{title:"Run all tests",defaultKeyboardShortcut:"F10"},[jr.RUN_RELAVANT_TESTS]:{title:"Run relavant tests",defaultKeyboardShortcut:"Shift+F10"}};var Ur;!function(e){e.RECENTER="editor.diagram-editor.recenter",e.USE_ZOOM_TOOL="editor.diagram-editor.use-zoom-tool",e.USE_VIEW_TOOL="editor.diagram-editor.use-view-tool",e.USE_PAN_TOOL="editor.diagram-editor.use-pan-tool"}(Ur||(Ur={}));const Gr={[Ur.RECENTER]:{title:"Diagram Editor: Recenter",defaultKeyboardShortcut:"KeyR"},[Ur.USE_ZOOM_TOOL]:{title:"Diagram Editor: Use zoom tool",defaultKeyboardShortcut:"KeyZ"},[Ur.USE_VIEW_TOOL]:{title:"Diagram Editor: Use view tool",defaultKeyboardShortcut:"KeyV"},[Ur.USE_PAN_TOOL]:{title:"Diagram Editor: Use pan tool",defaultKeyboardShortcut:"KeyM"}};var Vr;!function(e){e.TOGGLE_TEXT_WRAP="editor.file-editor.toggle-text-wrap",e.REVEAL_CONCEPT_IN_TREE="editor.file-editor.reveal-concept-in-tree",e.GO_TO_DEFINITION="editor.file-editor.go-to-definition",e.GO_BACK="editor.file-editor.go-back",e.FIND_USAGES="editor.file-editor.find-usage",e.RENAME_CONCEPT="editor.file-editor.rename-concept",e.GO_TO_LINE="editor.file-editor.go-to-line",e.DELETE_LINE="editor.file-editor.delete-line"}(Vr||(Vr={}));const $r={[Vr.TOGGLE_TEXT_WRAP]:{title:"Toggle Text-wrap (File)",defaultKeyboardShortcut:"Alt+KeyZ"},[Vr.REVEAL_CONCEPT_IN_TREE]:{title:"Reveal Concept in Tree (File)",defaultKeyboardShortcut:"Control+Shift+KeyB"},[Vr.GO_TO_DEFINITION]:{title:"Go to Definition (File)",defaultKeyboardShortcut:"Control+KeyB"},[Vr.GO_BACK]:{title:"Go Back (File)",defaultKeyboardShortcut:"Control+Alt+KeyB"},[Vr.FIND_USAGES]:{title:"Find Usages (File)",defaultKeyboardShortcut:"Alt+F7"},[Vr.RENAME_CONCEPT]:{title:"Rename Concept (File)",defaultKeyboardShortcut:"F2"},[Vr.GO_TO_LINE]:{title:"Go to Line (File)",defaultKeyboardShortcut:"Control+KeyG"},[Vr.DELETE_LINE]:{title:"Delete Line (File)",defaultKeyboardShortcut:"Control+KeyD"}};var Wr;!function(e){e.GO="go",e.TEST="test",e.REMOVE="rm",e.MOVE="mv",e.NEW_DIRECTORY="mkdir",e.NEW_FILE="touch",e.OPEN_FILE="open",e.OPEN_DIRECTORY="cd",e.LIST_DIRECTORY="ls",e.WELCOME="welcome",e.ECHO="echo",e.CLEAR="clear",e.ANSI="ansi",e.HELP="help",e.DEBUG="debug"}(Wr||(Wr={}));class Yr{model;editor;_dummyCursorObservable={};language;viewState;forcedCursorPosition;wrapText=!1;constructor(e){(0,Te.Gn)(this,{viewState:Te.sH.ref,editor:Te.sH.ref,_dummyCursorObservable:Te.sH.ref,forcedCursorPosition:Te.sH.ref,wrapText:Te.sH,cursorObserver:Te.EW,notifyCursorObserver:Te.XI,setViewState:Te.XI,setEditor:Te.XI,setForcedCursorPosition:Te.XI,setWrapText:Te.XI}),this.language=(e=>{switch(e.split(".").at(-1)){case"pure":return Jo.PURE;case"java":return Jo.JAVA;case"md":return Jo.MARKDOWN;case"sql":return Jo.SQL;case"json":return Jo.JSON;case"xml":return Jo.XML;case"yml":case"yaml":return Jo.YAML;case"graphql":return Jo.GRAPHQL;default:return Jo.TEXT}})(e.filePath),this.model=Ao.editor.createModel("",this.language,Ao.Uri.file(`/${e.uuid}.pure`)),this.model.setValue(e.file.content)}notifyCursorObserver(){this._dummyCursorObservable={}}get cursorObserver(){return this._dummyCursorObservable,this.editor?{position:this.editor.getPosition()??void 0,selection:this.editor.getSelection()??void 0}:void 0}setViewState(e){this.viewState=e}setEditor(e){this.editor=e}setForcedCursorPosition(e){this.forcedCursorPosition=e}setWrapText(e){const t=this.wrapText;this.wrapText=e,t!==e&&this.editor&&(this.editor.updateOptions({wordWrap:e?"on":"off"}),this.editor.focus())}}class zr{fileEditorState;concept;coordinate;constructor(e,t,n){this.fileEditorState=e,this.concept=t,this.coordinate=n}}class Kr extends Dr{filePath;textEditorState;_currentHashCode;file;renameConceptState;showGoToLinePrompt=!1;constructor(e,t,n){super(e),(0,Te.Gn)(this,{_currentHashCode:Te.sH,file:Te.sH,renameConceptState:Te.sH,showGoToLinePrompt:Te.sH,hasChanged:Te.EW,resetChangeDetection:Te.XI,setFile:Te.XI,setShowGoToLinePrompt:Te.XI,setConceptToRenameState:Te.L3,runTest:Te.L3}),this.file=t,this._currentHashCode=t.hashCode,this.filePath=n,this.textEditorState=new Yr(this)}get label(){return Ir(this.filePath)}get description(){return`File: ${Ir(this.filePath)}${this.file.RO?" (readonly)":""}`}get fileName(){return y(this.filePath.split("/"),-1)}match(e){return e instanceof Kr&&this.filePath===e.filePath}onClose(){this.textEditorState.model.dispose()}get hasChanged(){return this._currentHashCode!==this.file.hashCode}resetChangeDetection(){this._currentHashCode=this.file.hashCode}setFile(e){this.file=e,this.textEditorState.model.setValue(e.content),this.resetChangeDetection()}setShowGoToLinePrompt(e){this.showGoToLinePrompt=e}*setConceptToRenameState(e){if(!e)return void(this.renameConceptState=void 0);if(this.hasChanged)return void this.ideStore.applicationStore.notificationService.notifyWarning("Can't rename concept: source is not compiled");const t=yield this.ideStore.getConceptInfo(e);this.renameConceptState=t?new zr(this,t,e):void 0}*runTest(e){if(!e)return;if(this.hasChanged)return void this.ideStore.applicationStore.notificationService.notifyWarning("Can't run test: source is not compiled");const t=yield this.ideStore.getConceptInfo(e);t?.pureType===fr.FUNCTION?t.pct?this.ideStore.setPCTRunPath(t.path):t.test?(0,Te.gP)(this.ideStore.executeTests(t.path,!1)).catch(this.ideStore.applicationStore.alertUnhandledError):this.ideStore.applicationStore.notificationService.notifyWarning("Can't run test: function not marked as test"):this.ideStore.applicationStore.notificationService.notifyWarning("Can't run test: not a function")}showError(e){var t,n,s;t=this.textEditorState.model,n=[{message:e.error.message,startLineNumber:e.line,startColumn:e.column,endLineNumber:e.line,endColumn:e.column}],s=this.uuid,Ao.editor.setModelMarkers(t,s??Xo,n.map(e=>({startLineNumber:e.startLineNumber,startColumn:e.startColumn,endLineNumber:e.endLineNumber,endColumn:e.endColumn+1,message:""===e.message?"(no error message)":e.message,severity:Ao.MarkerSeverity.Error})))}clearError(){var e;e=this.uuid,Ao.editor.removeAllMarkers(e??Xo)}registerCommands(){this.textEditorState.language===Jo.PURE&&(this.ideStore.applicationStore.commandService.registerCommand({key:Vr.GO_TO_DEFINITION,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();e&&(0,Te.gP)(this.ideStore.executeNavigation(new wr(this.filePath,e.lineNumber,e.column))).catch(this.ideStore.applicationStore.alertUnhandledError)}}),this.ideStore.applicationStore.commandService.registerCommand({key:Vr.GO_BACK,action:()=>{(0,Te.gP)(this.ideStore.navigateBack()).catch(this.ideStore.applicationStore.alertUnhandledError)}}),this.ideStore.applicationStore.commandService.registerCommand({key:Vr.REVEAL_CONCEPT_IN_TREE,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();e&&this.ideStore.revealConceptInTree(new wr(this.filePath,e.lineNumber,e.column)).catch(this.ideStore.applicationStore.alertUnhandledError)}}),this.ideStore.applicationStore.commandService.registerCommand({key:Vr.FIND_USAGES,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();if(e){const t=new wr(this.filePath,e.lineNumber,e.column);this.findConceptUsages(t)}}}),this.ideStore.applicationStore.commandService.registerCommand({key:Vr.RENAME_CONCEPT,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();if(e){if(!this.textEditorState.model.getWordAtPosition(e))return;const t=new wr(this.filePath,e.lineNumber,e.column);(0,Te.gP)(this.setConceptToRenameState(t)).catch(this.ideStore.applicationStore.alertUnhandledError)}}})),this.ideStore.applicationStore.commandService.registerCommand({key:Vr.DELETE_LINE,trigger:()=>this.ideStore.tabManagerState.currentTab===this&&Boolean(this.textEditorState.editor?.hasTextFocus()),action:()=>{const e=this.textEditorState.editor?.getPosition();e&&this.textEditorState.model.pushEditOperations([],[{range:{startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber+1,endColumn:1},text:"",forceMoveMarkers:!0}],()=>null)}}),this.ideStore.applicationStore.commandService.registerCommand({key:Vr.GO_TO_LINE,trigger:()=>this.ideStore.tabManagerState.currentTab===this,action:()=>{this.setShowGoToLinePrompt(!0)}}),this.ideStore.applicationStore.commandService.registerCommand({key:Vr.TOGGLE_TEXT_WRAP,trigger:()=>this.ideStore.tabManagerState.currentTab===this,action:()=>{this.textEditorState.setWrapText(!this.textEditorState.wrapText)}})}findConceptUsages(e){const t=()=>{(0,Te.gP)(this.ideStore.findUsagesFromCoordinate(e)).catch(this.ideStore.applicationStore.alertUnhandledError)};this.hasChanged?this.ideStore.applicationStore.alertService.setActionAlertInfo({message:"Source is not compiled, finding concept usages might be inaccurate. Do you want compile to proceed?",type:At.CAUTION,actions:[{label:"Compile and Proceed",type:It.PROCEED_WITH_CAUTION,handler:()=>{(0,Te.gP)(this.ideStore.executeGo()).then(t).catch(this.ideStore.applicationStore.alertUnhandledError)}},{label:"Abort",type:It.PROCEED,default:!0}]}):t()}async renameConcept(e){if(!this.renameConceptState)return;const t=this.renameConceptState.concept;try{this.ideStore.applicationStore.alertService.setBlockingAlert({message:"Finding concept usages...",showLoading:!0});const n=await this.ideStore.findConceptUsages(t.pureType===fr.ENUM_VALUE?kr.ENUM:t.pureType===fr.PROPERTY||t.pureType===fr.QUALIFIED_PROPERTY?kr.PROPERTY:kr.ELEMENT,(t.owner?[`'${t.owner}'`]:[]).concat(`'${t.path}'`));await(0,Te.gP)(this.ideStore.renameConcept(t.pureName,e,t.pureType,n)),this.textEditorState.setForcedCursorPosition({lineNumber:this.renameConceptState.coordinate.line,column:this.renameConceptState.coordinate.column})}catch(e){R(e),this.ideStore.applicationStore.notificationService.notifyError(e)}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}}deregisterCommands(){this.textEditorState.language===Jo.PURE&&[Vr.GO_TO_DEFINITION,Vr.GO_BACK,Vr.REVEAL_CONCEPT_IN_TREE,Vr.FIND_USAGES,Vr.RENAME_CONCEPT].forEach(e=>this.ideStore.applicationStore.commandService.deregisterCommand(e)),[Vr.GO_TO_LINE,Vr.DELETE_LINE,Vr.TOGGLE_TEXT_WRAP].forEach(e=>this.ideStore.applicationStore.commandService.deregisterCommand(e))}}class Xr{ideStore;treeData;selectedNode;loadInitialDataState=Ce.create();refreshDataState=Ce.create();constructor(e){(0,Te.Gn)(this,{treeData:Te.sH.ref,loadInitialDataState:Te.sH,refreshDataState:Te.sH,initialize:Te.L3,expandNode:Te.L3,openNode:Te.L3,refreshTreeData:Te.L3,setTreeData:Te.XI,setSelectedNode:Te.XI}),this.ideStore=e}getTreeData(){return D(this.treeData,"Tree data has not been initialized")}*initialize(){if(this.loadInitialDataState.isInProgress)this.ideStore.applicationStore.notificationService.notifyWarning("Tree state initialization is in progress");else{this.loadInitialDataState.inProgress();try{this.treeData=this.buildTreeData(yield this.getRootNodes()),this.loadInitialDataState.pass()}catch(e){R(e),this.ideStore.applicationStore.notificationService.notifyError(e),this.loadInitialDataState.fail()}}}setSelectedNode(e){e!==this.selectedNode&&(this.selectedNode&&(this.selectedNode.isSelected=!1),e&&(e.isSelected=!0),this.selectedNode=e,this.refreshTree())}setTreeData(e){this.treeData=e}refreshTree(){this.setTreeData({...D(this.treeData)})}*expandNode(e){if(!e.isLoading)if(this.getTreeData().nodes.has(e.id)&&e.childrenIds)e.isLoading=!1,e.isOpen=!0,this.refreshTree();else{e.isLoading=!0;try{const t=yield this.getChildNodes(e);this.processChildNodes(e,t),e.isOpen=!0,this.refreshTree()}catch(e){R(e),this.ideStore.applicationStore.notificationService.notifyError(e)}finally{e.isLoading=!1}}}*refreshTreeData(){if(!this.treeData)return;const e=new Set(Array.from(this.getTreeData().nodes.values()).filter(e=>e.isOpen).map(e=>e.id)),t=this.selectedNode?.id;this.refreshDataState.inProgress();try{this.treeData=this.buildTreeData(yield this.getRootNodes())}catch(e){return R(e),this.ideStore.applicationStore.notificationService.notifyError(e),void this.refreshDataState.fail()}const n=this.getTreeData().rootIds.map(e=>D(this.getTreeData().nodes.get(e))).filter(t=>e.has(t.id));yield this.refreshOpenNodes(n,e),t&&this.getTreeData().nodes.has(t)&&this.setSelectedNode(D(this.getTreeData().nodes.get(t)))}async refreshOpenNodes(e,t){return await Promise.all(e.map(e=>(t.delete(e.id),(0,Te.gP)(this.expandNode(e)).catch(()=>{})))),(e=e.flatMap(e=>e.childrenIds??[]).map(e=>D(this.getTreeData().nodes.get(e))).filter(e=>t.has(e.id))).length?this.refreshOpenNodes(e,t):Promise.resolve()}}class Jr{id;path;RO}class qr extends Jr{file;statusType}(0,pe.PL)(qr,{id:(0,pe.MY)(),path:(0,pe.MY)(),file:(0,pe.MY)(),statusType:(0,pe.MY)(),RO:(0,pe.MY)()});class Zr extends Jr{repo}(0,pe.PL)(Zr,{id:(0,pe.MY)(),path:(0,pe.MY)(),repo:(0,pe.MY)(),RO:(0,pe.MY)()});class Qr{li_attr;text;icon;children;state;get isFolderNode(){return this.li_attr instanceof Zr}get isFileNode(){return this.li_attr instanceof qr}get isRepoNode(){return this.li_attr instanceof Zr&&Boolean(this.li_attr.repo)}getNodeAttribute(e){return U(this.li_attr,e,`Expected directory node attribute to be of type '${e.name}'`)}}(0,pe.PL)(Qr,{li_attr:(0,pe.Ie)(()=>pe._Z,e=>e.file?(0,pe.iu)(qr,e):(0,pe.iu)(Zr,e)),text:(0,pe.MY)(),icon:(0,pe.MY)(),children:(0,pe.MY)(),state:(0,pe.MY)()});const ea=e=>{const t=e.trim(),n=t.lastIndexOf("/");if(!(n<=0))return t.substring(0,n)},ta=e=>`file_${e}`;class na extends Xr{nodeForCreateNewFile;nodeForCreateNewDirectory;nodeForRenameFile;constructor(e){super(e),(0,Te.Gn)(this,{nodeForCreateNewFile:Te.sH,nodeForCreateNewDirectory:Te.sH,nodeForRenameFile:Te.sH,setNodeForCreateNewFile:Te.XI,setNodeForCreateNewDirectory:Te.XI,setNodeForRenameFile:Te.XI,revealPath:Te.L3})}setNodeForCreateNewFile=e=>{$(!e||e.data.isFolderNode,"Node selected for creating a new file from must be a directory"),this.nodeForCreateNewFile=e};setNodeForCreateNewDirectory=e=>{$(!e||e.data.isFolderNode,"Node selected for creating a new directory from must be a directory"),this.nodeForCreateNewDirectory=e};setNodeForRenameFile=e=>{$(!e||e.data.isFileNode,"Node selected for renaming must be a file"),this.nodeForRenameFile=e};async getRootNodes(){return(await this.ideStore.client.getDirectoryChildren()).map(e=>(0,pe.iu)(Qr,e))}buildTreeData(e){const t=[],n=new Map;return e.forEach(e=>{const s=e.li_attr.id;t.push(s),n.set(s,{data:e,id:s,label:e.text,isLoading:!1})}),{rootIds:t,nodes:n}}async getChildNodes(e){return(await this.ideStore.client.getDirectoryChildren(e.data.li_attr.path)).map(e=>(0,pe.iu)(Qr,e))}processChildNodes(e,t){const n=this.getTreeData(),s=[];t.forEach(e=>{const t=e.li_attr.id;s.push(t),n.nodes.set(t,{data:e,id:t,label:e.text,isLoading:!1})}),e.childrenIds=s}*openNode(e){e.data.isFileNode&&(yield(0,Te.gP)(this.ideStore.loadFile(e.data.li_attr.path)))}*revealPath(e,t){t?.forceOpenExplorerPanel&&this.ideStore.setActiveActivity(yo.FILE_EXPLORER,{keepShowingIfMatchedCurrent:!0});const n=[];let s=e;for(;s;)n.unshift(s),s=ea(s);for(const e of n){const n=D(this.getTreeData().nodes.get(ta(e)),`Can't find node with path '${e}'`);if(n.data.isFolderNode)yield(0,Te.gP)(this.expandNode(n));else{if(t?.directoryOnly)throw new Error("Can't reveal non-directory path");yield(0,Te.gP)(this.ideStore.loadFile(e,t?.coordinate))}}const i=D(this.getTreeData().nodes.get(ta(e)),`Can't find node with path '${e}'`);this.setSelectedNode(i),document.getElementById(i.id)?.scrollIntoView({behavior:"instant",block:"center"})}}var sa=n(18492);const ia=e=>D((0,sa.A)(e.split(qo))),oa=e=>{const t=e.lastIndexOf(qo);return-1===t?void 0:e.substring(0,t)},ra=(e,t)=>{const n=e.lastIndexOf(qo);return-1===n?[t??"",e]:[e.substring(0,n),e.substring(n+2,e.length)]},aa=(e,t)=>`${e?`${e}${qo}`:""}${t}`,ca=(ar.RELATION,e=>{const t=e.trim(),n=t.lastIndexOf(qo);if(!(n<=0))return t.substring(0,n)});class la extends Xr{loadConceptActivity=Ce.create();statusText;nodeForRenameConcept;nodeForMoveElement;constructor(e){super(e),(0,Te.Gn)(this,{statusText:Te.sH,nodeForRenameConcept:Te.sH,nodeForMoveElement:Te.sH,setStatusText:Te.XI,setNodeForRenameConcept:Te.XI,setNodeForMoveElement:Te.XI,pullConceptsActivity:Te.XI,pollConceptsActivity:Te.L3,revealConcept:Te.L3})}setStatusText(e){this.statusText=e}setNodeForRenameConcept(e){this.nodeForRenameConcept=e}setNodeForMoveElement(e){this.nodeForMoveElement=e}async getRootNodes(){return await(0,Te.gP)(this.pollConceptsActivity()),(await this.ideStore.client.getConceptChildren()).map(e=>(0,pe.iu)(vr,e))}buildTreeData(e){const t=[],n=new Map;return e.forEach(e=>{const s=e.li_attr.id;t.push(s),n.set(s,{data:e,id:s,label:e.text,isLoading:!1})}),{rootIds:t,nodes:n}}async getChildNodes(e){return(await this.ideStore.client.getConceptChildren(e.data.li_attr.pureId)).map(e=>(0,pe.iu)(vr,e))}processChildNodes(e,t){const n=this.getTreeData(),s=[];t.forEach(t=>{const i=t.li_attr.id;s.push(i),n.nodes.set(i,{data:t,id:i,label:t.text,isLoading:!1,parent:e})}),e.childrenIds=s}*openNode(e){(e.data.li_attr instanceof Tr||e.data.li_attr instanceof Cr)&&("Diagram"===e.data.li_attr.pureType?yield(0,Te.gP)(this.ideStore.loadDiagram(e.data.li_attr.file,e.data.li_attr.pureId,Number.parseInt(e.data.li_attr.line,10),Number.parseInt(e.data.li_attr.column,10))):yield(0,Te.gP)(this.ideStore.loadFile(e.data.li_attr.file,new wr(e.data.li_attr.file,Number.parseInt(e.data.li_attr.line,10),Number.parseInt(e.data.li_attr.column,10)))))}*pollConceptsActivity(){if(this.loadConceptActivity.isInInitialState){this.loadConceptActivity.inProgress(),this.setStatusText("Loading concepts activity...");try{yield this.pullConceptsActivity()}finally{this.setStatusText(void 0),this.loadConceptActivity.reset()}}}async pullConceptsActivity(){const e=await this.ideStore.client.getConceptActivity();return e.text&&this.setStatusText(`Preparing - ${e.text}`),e.initializing?new Promise((e,t)=>setTimeout(()=>{try{e(this.pullConceptsActivity())}catch(e){t(e)}},1e3)):Promise.resolve()}*revealConcept(e,t){t?.forceOpenExplorerPanel&&this.ideStore.setActiveActivity(yo.CONCEPT_EXPLORER,{keepShowingIfMatchedCurrent:!0});const n=[];let s=e;for(;s;)n.unshift(s),s=ca(s);for(const e of n){const n=D(this.getTreeData().nodes.get(e),`Can't find node with path '${e}'`);if(n.data.li_attr instanceof br)yield(0,Te.gP)(this.expandNode(n));else if(t?.packageOnly)throw new Error("Can't reveal non-package path")}this.setSelectedNode(D(this.getTreeData().nodes.get(e),`Can't find node with path '${e}'`))}async movePackageableElements(e,t){let n=[];try{n=(await this.ideStore.client.getPackageableElementsUsage(e.map(e=>e.pureId))).map(e=>(0,pe.iu)(Lr,e))}catch{return void this.ideStore.applicationStore.notificationService.notifyError("Can't find usage for child packageable elements")}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}const s=[];$(n.length===e.length,"Can't find matching usages for packageable elements");for(let i=0;i<n.length;++i){const o=D(e[i]);s.push({pureName:o.pureName,pureType:o.pureType,sourcePackage:D(oa(o.pureId)),destinationPackage:t,usages:D(n[i]).second})}await(0,Te.gP)(this.ideStore.movePackageableElements(s))}async renameConcept(e,t){const n=e.data.li_attr,s=n.pureName??n.pureId;let i=[];try{switch(this.ideStore.applicationStore.alertService.setBlockingAlert({message:"Finding concept usages...",showLoading:!0}),n.pureType){case fr.PROPERTY:case fr.QUALIFIED_PROPERTY:H(n,Tr),i=await this.ideStore.findConceptUsages(kr.PROPERTY,[`'${n.classPath}'`,`'${n.pureId}'`]);break;case fr.PACKAGE:{let e=[],n=[];try{n=await this.ideStore.client.getChildPackageableElements(s),e=(await this.ideStore.client.getPackageableElementsUsage(n.map(e=>e.pureId))).map(e=>(0,pe.iu)(Lr,e))}catch{return void this.ideStore.applicationStore.notificationService.notifyError("Can't find usage for child packageable elements")}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}const i=[];$(e.length===n.length,"Can't find matching usages for child packageable elements");const o=oa(s)?.concat(qo).concat(t)??t;for(let t=0;t<e.length;++t){const r=D(n[t]),a=D(oa(r.pureId)),c=o.concat(a.substring(a.indexOf(s)+s.length));i.push({pureName:r.pureName,pureType:r.pureType,sourcePackage:a,destinationPackage:c,usages:D(e[t]).second})}return void await(0,Te.gP)(this.ideStore.movePackageableElements(i))}default:i=await this.ideStore.findConceptUsages(kr.ELEMENT,[`'${n.pureId}'`])}}catch(e){return R(e),void this.ideStore.applicationStore.notificationService.notifyError(e)}finally{this.ideStore.applicationStore.alertService.setBlockingAlert(void 0)}await(0,Te.gP)(this.ideStore.renameConcept(s,t,n.pureType,i))}}class da{cached;datamarts;text}(0,pe.PL)(da,{cached:(0,pe.MY)(),datamarts:(0,pe.p_)((0,pe.MY)()),text:(0,pe.MY)()});class ua extends da{error;sessionError}(0,pe.PL)(ua,{cached:(0,pe.MY)(),datamarts:(0,pe.p_)((0,pe.MY)()),text:(0,pe.MY)(),error:(0,pe.MY)(),sessionError:(0,pe.MY)()});class pa extends ua{RO;line;column;source}(0,pe.PL)(pa,{cached:(0,pe.MY)(),datamarts:(0,pe.p_)((0,pe.MY)()),text:(0,pe.MY)(),RO:(0,pe.MY)(),line:(0,pe.MY)(),column:(0,pe.MY)(),source:(0,pe.MY)(),error:(0,pe.MY)(),sessionError:(0,pe.MY)()});class ha{text;reinit}class ga extends ha{cache;modifiedFiles=[]}(0,pe.PL)(ga,{text:(0,pe.MY)(),cache:(0,pe.MY)(),modifiedFiles:(0,pe.p_)((0,pe.MY)()),reinit:(0,pe.MY)()});class ma extends ha{RO;line;column;source;error;sessionError}(0,pe.PL)(ma,{text:(0,pe.MY)(),RO:(0,pe.MY)(),line:(0,pe.lq)((0,pe.MY)()),column:(0,pe.lq)((0,pe.MY)()),source:(0,pe.lq)((0,pe.MY)()),error:(0,pe.MY)(),sessionError:(0,pe.MY)()});class fa{RO;line;column;source}(0,pe.PL)(fa,{RO:(0,pe.MY)(),line:(0,pe.MY)(),column:(0,pe.MY)(),source:(0,pe.MY)()});class _a extends ha{jumpTo}(0,pe.PL)(_a,{text:(0,pe.MY)(),jumpTo:(0,pe.Ik)(fa)});class Ea{uuid=(0,o.A)();sourceID;line;column;foundName}(0,pe.PL)(Ea,{sourceID:(0,pe.MY)(),line:(0,pe.MY)(),column:(0,pe.MY)(),foundName:(0,pe.MY)()});class ba{uuid=(0,o.A)();sourceID;line;column;foundName;add;messageToBeModified;fileToBeModified;lineToBeModified;columnToBeModified}(0,pe.PL)(ba,{sourceID:(0,pe.MY)(),line:(0,pe.MY)(),column:(0,pe.MY)(),foundName:(0,pe.MY)(),add:(0,pe.MY)(),messageToBeModified:(0,pe.MY)(),fileToBeModified:(0,pe.MY)(),lineToBeModified:(0,pe.MY)(),columnToBeModified:(0,pe.MY)()});class Ta extends ma{candidateName;candidatesWithPackageImported=[];candidatesWithPackageNotImported=[]}(0,pe.PL)(Ta,{candidateName:(0,pe.MY)(),candidatesWithPackageImported:(0,pe.p_)((0,pe.Ik)(Ea)),candidatesWithPackageNotImported:(0,pe.p_)((0,pe.Ik)(ba))});class Ca extends ma{candidateName;candidates=[]}(0,pe.PL)(Ca,{candidateName:(0,pe.MY)(),candidates:(0,pe.p_)((0,pe.Ik)(ba))});class va{id;parentId;file;line;column}(0,pe.PL)(va,{id:(0,pe.MY)(),parentId:(0,pe.MY)(),file:(0,pe.MY)(),line:(0,pe.MY)(),column:(0,pe.MY)()});class ya{children=[];li_attr;text;type}(0,pe.PL)(ya,{children:(0,pe.p_)((0,pe.Ik)(ya)),li_attr:(0,pe.Ik)(va),text:(0,pe.MY)(),type:(0,pe.MY)()});class Sa extends ha{count;filterPaths=[];path;pctAdapter;relevantTestsOnly;runnerId;tests=[]}(0,pe.PL)(Sa,{count:(0,pe.MY)(),filterPaths:(0,pe.p_)((0,pe.MY)()),path:(0,pe.MY)(),pctAdapter:(0,pe.lq)((0,pe.MY)()),relevantTestsOnly:(0,pe.MY)(),runnerId:(0,pe.MY)(),tests:(0,pe.p_)((0,pe.Ik)(ya))});const Na=e=>e.error?e.candidateName&&e.PureUnmatchedFunctionException?(0,pe.iu)(Ta,e):e.candidateName&&e.candidates?(0,pe.iu)(Ca,e):(0,pe.iu)(ma,e):e.jumpTo?(0,pe.iu)(_a,e):e.tests?(0,pe.iu)(Sa,e):(0,pe.iu)(ga,e);class Aa{uuid=(0,o.A)()}class Ia{before;found;after}(0,pe.PL)(Ia,{after:(0,pe.MY)(),before:(0,pe.MY)(),found:(0,pe.MY)()});class xa{uuid=(0,o.A)();sourceId;startLine;startColumn;endLine;endColumn;preview;constructor(e,t,n,s,i){this.sourceId=e,this.startLine=t,this.startColumn=n,this.endLine=s,this.endColumn=i}}(0,pe.PL)(xa,{sourceId:(0,pe.MY)(),startLine:(0,pe.MY)(),startColumn:(0,pe.MY)(),endLine:(0,pe.MY)(),endColumn:(0,pe.MY)(),preview:(0,pe.lq)((0,pe.Ik)(Ia))});class wa extends Aa{sourceId;coordinates=[];isExpanded=!0;constructor(){super(),(0,Te.Gn)(this,{coordinates:Te.sH,isExpanded:Te.sH,setIsExpanded:Te.XI,dismissCoordinate:Te.XI})}setCoordinates(e){this.coordinates=e}setIsExpanded(e){this.isExpanded=e}dismissCoordinate(e){I(this.coordinates,e)}}(0,pe.PL)(wa,{sourceId:(0,pe.MY)(),coordinates:(0,pe.p_)((0,pe.Ik)(xa))});class Oa{name;func;constructor(e,t){this.name=e,this.func=t}}var ka,Ra,Pa;!function(e){e.PASSED="Success",e.FAILED="AssertFail",e.ERROR="Error",e.NOT_RUN="notRan"}(ka||(ka={}));class La{status;test}class Ma extends La{test=[]}(0,pe.PL)(Ma,{status:(0,pe.MY)(),test:(0,pe.p_)((0,pe.MY)())});class Fa{text;RO;line;column;source;error}(0,pe.PL)(Fa,{text:(0,pe.MY)(),RO:(0,pe.MY)(),line:(0,pe.MY)(),column:(0,pe.MY)(),source:(0,pe.MY)(),error:(0,pe.MY)()});class Da extends La{test=[];error}(0,pe.PL)(Da,{status:(0,pe.MY)(),test:(0,pe.p_)((0,pe.MY)()),error:(0,pe.Ik)(Fa)});class Ba{}class ja extends Ba{finished;tests=[]}(0,pe.PL)(ja,{finished:(0,pe.MY)(),tests:(0,pe.p_)((0,pe.Ie)(()=>pe._Z,e=>e.error?(0,pe.iu)(Da,e):(0,pe.iu)(Ma,e)))});class Ha extends Ba{error;text}(0,pe.PL)(Ha,{error:(0,pe.MY)(),text:(0,pe.MY)()}),function(e){e.PASSED="PASSED",e.FAILED="FAILED",e.NONE="NONE"}(Ra||(Ra={})),function(e){e.PASSED="PASSED",e.FAILED="FAILED",e.ERROR="ERROR",e.RUNNING="RUNNING"}(Pa||(Pa={}));class Ua{_START_TIME;total;time=0;passedTests=new Set;failedTests=new Map;testsWithError=new Map;notRunTests;results=new Map;constructor(e){(0,Te.Gn)(this,{total:Te.sH,time:Te.sH,passedTests:Te.sH,failedTests:Te.sH,testsWithError:Te.sH,notRunTests:Te.sH,results:Te.sH,passed:Te.EW,error:Te.EW,failed:Te.EW,passedTestIds:Te.EW,failedTestIds:Te.EW,testWithErrorIds:Te.EW,notRunTestIds:Te.EW,numberOfTestsRun:Te.EW,runPercentage:Te.EW,suiteStatus:Te.EW,setTime:Te.XI,addResult:Te.XI}),this._START_TIME=Date.now(),this.total=e.size,this.notRunTests=new Set(e)}get passed(){return this.passedTests.size}get error(){return this.testsWithError.size}get failed(){return this.failedTests.size}get passedTestIds(){return Array.from(this.passedTests.values())}get failedTestIds(){return Array.from(this.failedTests.keys())}get testWithErrorIds(){return Array.from(this.testsWithError.keys())}get notRunTestIds(){return Array.from(this.notRunTests.values())}get numberOfTestsRun(){return this.passed+this.error+this.failed}get runPercentage(){return Math.floor(100*this.numberOfTestsRun/this.total)}get suiteStatus(){return this.failed+this.error?Ra.FAILED:this.passed?Ra.PASSED:Ra.NONE}setTime(e){this.time=e}addResult(e,t){switch(this.results.set(t,e),this.notRunTests.delete(t),e.status){case ka.PASSED:this.passedTests.add(t);break;case ka.FAILED:this.failedTests.set(t,U(e,Da));break;case ka.ERROR:this.testsWithError.set(t,U(e,Da));break;default:throw new k(`Unsupported test result status '${e.status}'`)}this.time=Date.now()-this._START_TIME}}class Ga{ideStore;testExecutionResult;checkTestRunnerState=Ce.create();testResultInfo;allTests=new Map;selectedTestId;treeBuildingState=Ce.create();treeData;viewAsList=!1;initState=Ce.create();adapters=[];constructor(e,t){(0,Te.Gn)(this,{testResultInfo:Te.sH.ref,allTests:Te.sH,selectedTestId:Te.sH,treeData:Te.sH.ref,viewAsList:Te.sH,setViewAsList:Te.XI,setSelectedTestId:Te.XI,setTestResultInfo:Te.XI,setTreeData:Te.XI,refreshTree:Te.XI,collapseTree:Te.XI,expandTree:Te.XI,buildTreeDataByLayer:Te.XI,pullTestRunnerResult:Te.XI,initialize:Te.L3,buildTestTreeData:Te.L3,pollTestRunnerResult:Te.L3,rerunTestSuite:Te.L3,cancelTestRun:Te.L3}),this.ideStore=e,this.testExecutionResult=t}getTreeData(){return D(this.treeData,"Test tree data has not been initialized")}setViewAsList(e){this.viewAsList=e}setSelectedTestId(e){this.selectedTestId=e}setTestResultInfo(e){this.testResultInfo=e}setTreeData(e){this.treeData=e}refreshTree(){this.setTreeData({...D(this.treeData)})}*initialize(){if(this.initState.isInProgress)this.ideStore.applicationStore.notificationService.notifyWarning("Test runner initialization is in progress");else{this.initState.inProgress();try{this.adapters=(yield this.ideStore.client.getPCTAdapters()).map(e=>new Oa(e.first,e.second)),this.initState.pass()}catch(e){R(e),this.ideStore.applicationStore.notificationService.notifyError(e),this.initState.fail()}}}*buildTestTreeData(){if(this.treeBuildingState.isInProgress)return;this.treeBuildingState.inProgress();const e=this.testExecutionResult.tests.map(e=>{const t=e.li_attr.id;return e.type&&this.allTests.set(t,e),t}),t=new Map;this.treeData={rootIds:e,nodes:t},yield this.buildTreeDataByLayer(this.testExecutionResult.tests),this.treeBuildingState.reset()}collapseTree(){this.getTreeData().nodes.forEach(e=>{e.isOpen=!1}),this.refreshTree()}expandTree(){this.getTreeData().nodes.forEach(e=>{e.isOpen=!0}),this.refreshTree()}async buildTreeDataByLayer(e){const t=this.getTreeData(),n=[];return await Promise.all(e.map(e=>new Promise((s,i)=>setTimeout(()=>{const o=e.li_attr.id,r={id:o,label:e.text,data:e,childrenIds:e.type?void 0:[],isLoading:!1};if(e.type&&this.allTests.set(o,e),t.nodes.set(o,r),"Root"!==e.li_attr.parentId)try{const n=D(t.nodes.get((a=e,`test${this.testExecutionResult.runnerId}_${a.li_attr.parentId}`)),`Can't find parent test node with ID '${e.li_attr.parentId}'`);n.childrenIds?N(n.childrenIds,o):n.childrenIds=[o]}catch(e){return void i(e)}var a;n.push(...e.children),s()},0)))),n.length?this.buildTreeDataByLayer(n):Promise.resolve()}*pollTestRunnerResult(){if(this.checkTestRunnerState.isInInitialState){this.checkTestRunnerState.inProgress();try{$(this.allTests.size===this.testExecutionResult.count,`Number of tests scanned in tree (${this.allTests.size}) does not match the number of total reported tests (${this.testExecutionResult.count})`);const e=new Ua(new Set(this.allTests.keys()));this.testResultInfo=e,yield this.pullTestRunnerResult(e)}finally{this.checkTestRunnerState.reset()}}}async pullTestRunnerResult(e){const t=(n=await this.ideStore.client.checkTestRunner(this.testExecutionResult.runnerId)).error?(0,pe.iu)(Ha,n):(0,pe.iu)(ja,n);var n;return t instanceof ja?(await Promise.all(t.tests.map(t=>S(()=>{return e.addResult(t,(n=t,`test${this.testExecutionResult.runnerId}_${n.test.join("_")}`));var n}))),t.finished?Promise.resolve():new Promise((t,n)=>setTimeout(()=>{try{t(this.pullTestRunnerResult(e))}catch(e){R(e),this.ideStore.applicationStore.notificationService.notifyWarning("Failed to run test"+(e.message?`: ${e.message}`:"")),n(e)}},1e3))):(this.setTestResultInfo(void 0),Promise.resolve())}*rerunTestSuite(){this.ideStore.testRunState.isInProgress||(yield(0,Te.gP)(this.ideStore.executeTests(this.testExecutionResult.path,this.testExecutionResult.relevantTestsOnly,this.testExecutionResult.pctAdapter)))}*cancelTestRun(){this.ideStore.testRunState.isInProgress&&(yield this.ideStore.client.cancelTestRunner(this.testExecutionResult.runnerId),this.ideStore.applicationStore.notificationService.notifyWarning(`Stopped running test (id: ${this.testExecutionResult.runnerId}) successfully!`))}}class Va{}class $a extends Va{error;errorDialog;text}(0,pe.PL)($a,{error:(0,pe.MY)(),errorDialog:(0,pe.MY)(),text:(0,pe.MY)()});class Wa{networkClient;userId="localuser";sessionId=`${this.userId}@${Date.now()}@abcd`;compilerMode;mode;constructor(e){this.networkClient=e}get baseUrl(){return D(this.networkClient.baseUrl,"Pure server client has not been configured properly")}initialize=e=>this.networkClient.get(`${this.baseUrl}/initialize`,void 0,void 0,{requestCache:e,sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});getInitializationActivity=()=>this.networkClient.get(`${this.baseUrl}/initializationActivity`,void 0,void 0,{sessionId:this.sessionId});getConceptActivity=()=>this.networkClient.get(`${this.baseUrl}/conceptsActivity`,void 0,void 0,{sessionId:this.sessionId});execute=(e,t,n)=>this.networkClient.post(`${this.baseUrl}/${t}`,{extraParams:n,openFiles:e},void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});getExecutionActivity=()=>this.networkClient.get(`${this.baseUrl}/executionActivity`,void 0,void 0,{sessionId:this.sessionId});findFiles=(e,t)=>this.networkClient.get(`${this.baseUrl}/findPureFiles`,void 0,void 0,{file:e,regex:t});searchText=(e,t,n,s=100)=>this.networkClient.get(`${this.baseUrl}/findInSources`,void 0,void 0,{string:e,caseSensitive:t,regex:n,limit:s});getTextSearchPreview=e=>this.networkClient.post(`${this.baseUrl}/getTextSearchPreview`,e);checkTestRunner=e=>this.networkClient.get(`${this.baseUrl}/testRunnerCheck`,void 0,void 0,{sessionId:this.sessionId,testRunnerId:e});cancelTestRunner=e=>this.networkClient.get(`${this.baseUrl}/testRunnerCancel`,void 0,void 0,{sessionId:this.sessionId,testRunnerId:e});getPCTAdapters=async()=>{const e=await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::testing::getPCTAdapters__Pair_MANY_"});return Array.isArray(e)?e:[e]};getConceptChildren=e=>this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::display_ide(String[1]):String[1]",param:e?`'${e}'`:`'${vo}'`,format:"raw",mode:this.mode,sessionId:this.sessionId});getConceptInfo=async(e,t,n)=>{const s=await this.networkClient.get(`${this.baseUrl}/getConceptInfo`,void 0,void 0,{file:e,line:t,column:n});if(s.error)throw new Error(s.text);return s};getUsages=async(e,t)=>{const n=await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:e,param:t});return Array.isArray(n)?n:[n]};renameConcept=e=>this.networkClient.put(`${this.baseUrl}/renameConcept`,e);movePackageableElements=e=>this.networkClient.put(`${this.baseUrl}/movePackageableElements`,e);getPackageableElementsUsage=async e=>{const t=await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:kr.MULTIPLE_PATHS,param:[`'${e.join(",")}'`]});return Array.isArray(t)?t:[t]};getChildPackageableElements=async e=>{const t=await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::getChildPackageableElements_String_1__String_MANY_",param:[`'${e}'`]});return(Array.isArray(t)?t:[t]).map(e=>JSON.parse(e))};getFile=e=>this.networkClient.get(`${this.baseUrl}/fileAsJson/${e}`,void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});getDirectoryChildren=e=>this.networkClient.get(`${this.baseUrl}/dir`,void 0,void 0,{parameters:e??"/",mode:this.mode,sessionId:this.sessionId});updateSource=e=>this.networkClient.put(`${this.baseUrl}/updateSource`,e);createFile=e=>this.networkClient.post(`${this.baseUrl}/newFile/${e}`,void 0,void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});createFolder=e=>this.networkClient.post(`${this.baseUrl}/newFolder/${e}`,void 0,void 0,void 0,{sessionId:this.sessionId,mode:this.mode,fastCompile:this.compilerMode});renameFile=(e,t)=>this.networkClient.put(`${this.baseUrl}/renameFile`,{oldPath:e,newPath:t},void 0);deleteDirectoryOrFile=e=>this.networkClient.delete(`${this.baseUrl}/deleteFile/${e}`,void 0,void 0,void 0,{sessionId:this.sessionId});getDiagramInfo=async e=>JSON.parse(await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::diagram::getDiagramInfo_String_1__String_1_",param:[`'${e}'`]}));getDiagramClassInfo=async e=>JSON.parse(await this.networkClient.get(`${this.baseUrl}/execute`,void 0,void 0,{func:"meta::pure::ide::diagram::getDiagramClassInfo_String_1__String_1_",param:[`'${e}'`]}));getSuggestionsForIncompletePath=(e,t)=>this.networkClient.post(`${this.baseUrl}/suggestion/incompletePath`,{path:e,types:t});getSuggestionsForIdentifier=(e,t)=>this.networkClient.post(`${this.baseUrl}/suggestion/identifier`,{importPaths:e,types:t});getSuggestionsForAttribute=(e,t)=>this.networkClient.post(`${this.baseUrl}/suggestion/attribute`,{importPaths:e,path:t});getSuggestionsForClass=e=>this.networkClient.post(`${this.baseUrl}/suggestion/class`,{importPaths:e});getSuggestionsForVariable=(e,t,n)=>this.networkClient.post(`${this.baseUrl}/suggestion/variable`,{sourceId:e,line:t,column:n})}class Ya{_initialDefaultSize;_tempSize;size;defaultSize;snapSize;maxSize;constructor(e){this.size=e.initial,this._tempSize=e.default,this.defaultSize=e.default,this._initialDefaultSize=e.default,this.snapSize=e.snap,(0,Te.Gn)(this,{_tempSize:Te.sH,size:Te.sH,defaultSize:Te.sH,snapSize:Te.sH,maxSize:Te.sH,isOpen:Te.EW,isMaximizable:Te.EW,isMaximized:Te.EW,setSize:Te.XI,open:Te.XI,close:Te.XI,toggle:Te.XI,setMaxSize:Te.XI,maximize:Te.XI,minimize:Te.XI,toggleMaximize:Te.XI})}get isOpen(){return 0!==this.size}get isMaximizable(){return void 0!==this.maxSize}get isMaximized(){return void 0!==this.maxSize&&this.size===this.maxSize}setSize(e){e=Math.max(e,0),this.maxSize&&(e=Math.min(e,this.maxSize)),this.size!==e&&(void 0!==this.snapSize?e>this.size?this.maxSize&&e>this.maxSize-this.snapSize?this.size=this.maxSize:this.size=e<this.snapSize?this.defaultSize:e:this.size=e<this.snapSize?0:e:this.size=e)}open(){0===this.size&&(this.size=this._tempSize)}close(){0!==this.size&&(this._tempSize=this.size||this.defaultSize,this.size=0)}toggle(){0===this.size?this.open():this.close()}setMaxSize(e){this._tempSize=Math.min(this._tempSize,e),this.size=Math.min(this.size,e),this.defaultSize=Math.min(this._initialDefaultSize,e),this.maxSize=e}maximize(){void 0!==this.maxSize&&this.size!==this.maxSize&&(this._tempSize=this.size,this.size=this.maxSize)}minimize(){void 0!==this.maxSize&&this.size===this.maxSize&&(this.size=this._tempSize===this.maxSize?this.defaultSize:this._tempSize)}toggleMaximize(){void 0!==this.maxSize&&(this.size===this.maxSize?this.minimize():this.maximize())}}var za,Ka;(Ka=za||(za={})).INTERNAL__UNKNOWN_ELEMENT="INTERNAL__UNKNOWN_ELEMENT",Ka.INTERNAL__UNKNOWN_PACKAGEABLE_ELEMENT="INTERNAL__UNKNOWN_PACKAGEABLE_ELEMENT",Ka.INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR="INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR",Ka.PACKAGE="PACKAGE",Ka.PACKAGEABLE_ELEMENT="PACKAGEABLE_ELEMENT",Ka.PACKAGEABLE_ELEMENT_POINTER="PACKAGEABLE_ELEMENT_POINTER",Ka.PROFILE="PROFILE",Ka.TAG_POINTER="TAG_POINTER",Ka.STEREOTYPE_POINTER="STEREOTYPE_POINTER",Ka.TAGGED_VALUE="TAGGED_VALUE",Ka.ENUMERATION="ENUMERATION",Ka.ENUM_VALUE="ENUM_VALUE",Ka.CLASS="CLASS",Ka.PROPERTY="PROPERTY",Ka.PROPERTY_DEFAULT_VALUE="PROPERTY_DEFAULT_VALUE",Ka.PROPERTY_POINTER="PROPERTY_POINTER",Ka.MULTIPLICITY="MULTIPLICITY",Ka.CONSTRAINT="CONSTRAINT",Ka.DERIVED_PROPERTY="DERIVED_PROPERTY",Ka.ASSOCIATION="ASSOCIATION",Ka.FUNCTION="FUNCTION",Ka.MEASURE="MEASURE",Ka.UNIT="UNIT",Ka.FUNCTION_TEST_SUITE="FUNCTION_TEST_SUITE",Ka.FUNCTION_TEST="FUNCTION_TEST",Ka.FUNCTION_STORE_TEST_DATA="FUNCTION_STORE_TEST_DATA",Ka.FUNCTION_PARAMETER_VALUE="FUNCTION_PARAMETER_VALUE",Ka.FUNCTION_ACTIVATOR_POST_DEPLOYMENT_PROPERTIES="FUNCTION_ACTIVATOR_POST_DEPLOYMENT_PROPERTIES",Ka.ASSERT_FAIL="ASSERT_FAIL",Ka.ASSERT_PASS="ASSERT_PASS",Ka.EQUAL_TO_JSON_ASSERT_FAIL="EQUAL_TO_JSON_ASSERT_FAIL",Ka.EQUAL_TO="EQUAL_TO",Ka.EQUAL_TO_JSON="EQUAL_TO_JSON",Ka.EQUAL_TO_TDS="EQUAL_TO_TDS",Ka.SECTION_INDEX="SECTION_INDEX",Ka.SECTION="SECTION",Ka.IMPORT_AWARE_CODE_SECTION="IMPORT_AWARE_CODE_SECTION",Ka.DEFAULT_CODE_SECTION="DEFAULT_CODE_SECTION",Ka.RAW_LAMBDA="RAW_LAMBDA",Ka.RAW_VARIABLE="RAW_VARIABLE",Ka.RAW_INSTANCE_VALUE="RAW_INSTANCE_VALUE",Ka.BINDING_TRANSFORMER="BINDING_TRANSFORMER",Ka.INTERNAL__UNKNOWN_VALUE_SPECIFICATION="INTERNAL__UNKNOWN_VALUE_SPECIFICATION",Ka.INTERNAL__PROPAGATED_VALUE="INTERNAL__PROPAGATED_VALUE",Ka.VARIABLE_EXPRESSION="VARIABLE_EXPRESSION",Ka.EXPRESSION="EXPRESSION",Ka.FUNCTION_EXPRESSION="FUNCTION_EXPRESSION",Ka.SIMPLE_FUNCTION_EXPRESSION="SIMPLE_FUNCTION_EXPRESSION",Ka.ABSTRACT_PROPERTY_EXPRESSION="ABSTRACT_PROPERTY_EXPRESSION",Ka.INSTANCE_VALUE="INSTANCE_VALUE",Ka.PRIMITIVE_INSTANCE_VALUE="PRIMITIVE_INSTANCE_VALUE",Ka.ENUM_INSTANCE_VALUE="ENUM_INSTANCE_VALUE",Ka.KEY_EXPRESSION_INSTANCE_VALUE="KEY_EXPRESSION_INSTANCE_VALUE",Ka.KEY_EXPRESSION_VALUE="KEY_EXPRESSION_VALUE",Ka.RUNTIME_INSTANCE_VALUE="RUNTIME_INSTANCE_VALUE",Ka.PAIR_INSTANCE_VALUE="PAIR_INSTANCE_VALUE",Ka.MAPPING_INSTANCE_VALUE="MAPPING_INSTANCE_VALUE",Ka.PURE_LIST_INSTANCE_VALUE="PURE_LIST_INSTANCE_VALUE",Ka.COLLECTION_INSTANCE_VALUE="COLLECTION_INSTANCE_VALUE",Ka.LAMBDA_FUNCTION_INSTANCE_VALUE="LAMBDA_FUNCTION_INSTANCE_VALUE",Ka.FUNCTION_TYPE="FUNCTION_TYPE",Ka.LAMBDA_FUNCTION="LAMBDA_FUNCTION",Ka.ALLOY_SERIALIZATION_CONFIG_INSTANCE_VALUE="ALLOY_SERIALIZATION_CONFIG_INSTANCE_VALUE",Ka.ALLOY_SERIALIZATION_CONFIG="ALLOY_SERIALIZATION_CONFIG",Ka.ROOT_GRAPH_FETCH_TREE="ROOT_GRAPH_FETCH_TREE",Ka.PROPERTY_GRAPH_FETCH_TREE="PROPERTY_GRAPH_FETCH_TREE",Ka.SUBTYPE_GRAPH_FETCH_TREE="SUBTYPE_GRAPH_FETCH_TREE",Ka.SUBTYPE_GRAPH_FETCH_TREE_INSTANCE_VALUE="SUBTYPE_GRAPH_FETCH_TREE_INSTANCE_VALUE",Ka.PROPERTY_GRAPH_FETCH_TREE_INSTANCE_VALUE="PROEPRTY_GRAPH_FETCH_TREE_INSTANCE_VALUE",Ka.ROOT_GRAPH_FETCH_TREE_INSTANCE_VALUE="ROOT_GRAPH_FETCH_TREE_INSTANCE_VALUE",Ka.RELATION_COL_SPEC_ARRAY="RELATION_COL_SPEC_ARRAY",Ka.RELATION_COL_SPEC="RELATION_COL_SPEC",Ka.INTERNAL__UNKNOWN_STORE="INTERNAL__UNKNOWN_STORE",Ka.INTERNAL__UNKNOWN_CONNECTION="INTERNAL__UNKNOWN_CONNECTION",Ka.INTERNAL__UNKNOWN_PROPERTY_MAPPING="INTERNAL__UNKNOWN_PROPERTY_MAPPING",Ka.INTERNAL__UNKNOWN_CLASS_MAPPING="INTERNAL__UNKNOWN_CLASS_MAPPING",Ka.INTERNAL__UNKNOWN_MAPPING_INCLUDE="INTERNAL__UNKNOWN_MAPPING_INCLUDE",Ka.MAPPING="MAPPING",Ka.MAPPING_INCLUDE_MAPPING="MAPPING_INCLUDE_MAPPING",Ka.ASSOCIATION_IMPLEMENTATION="ASSOCIATION_IMPLEMENTATION",Ka.RELATIONAL_ASSOCIATION_IMPLEMENTATION="RELATIONAL_ASSOCIATION_IMPLEMENTATION",Ka.XSTORE_ASSOCIATION_IMPLEMENTATION="XSTORE_ASSOCIATION_IMPLEMENTATION",Ka.ENUMERATION_MAPPING="ENUMERATION_MAPPING",Ka.ENUM_VALUE_MAPPING="ENUM_VALUE_MAPPING",Ka.SET_IMPLEMENTATION="SET_IMPLEMENTATION",Ka.OPERATION_SET_IMPLEMENTATION="OPERATION_SET_IMPLEMENTATION",Ka.PURE_INSTANCE_SET_IMPLEMENTATION="PURE_INSTANCE_SET_IMPLEMENTATION",Ka.PROPERTY_MAPPING="PROPERTY_MAPPING",Ka.LOCAL_MAPPING_PROPERTY="LOCAL_MAPPING_PROPERTY",Ka.PURE_PROPERTY_MAPPING="PURE_PROPERTY_MAPPING",Ka.XSTORE_PROPERTY_MAPPING="XSTORE_PROPERTY_MAPPING",Ka.MAPPING_TEST_LEGACY="MAPPING_TEST_LEGACY",Ka.MAPPING_TEST_SUITE="MAPPING_TEST_SUITE",Ka.MAPPING_TEST="MAPPING_TEST",Ka.STORE_TEST_DATA="STORE_TEST_DATA",Ka.INPUT_DATA="INPUT_DATA",Ka.FLAT_DATA_INPUT_DATA="FLAT_DATA_INPUT_DATA",Ka.RELATIONAL_INPUT_DATA="RELATIONAL_INPUT_DATA",Ka.OBJECT_INPUT_DATA="OBJECT_INPUT_DATA",Ka.MAPPING_TEST_ASSERT="MAPPING_TEST_ASSERT",Ka.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT="EXPECTED_OUTPUT_MAPPING_TEST_ASSERT",Ka.FILTER_MAPPING="FILTER_MAPPING",Ka.COLUMN_MAPPING="COLUMN_MAPPING",Ka.GROUP_BY_MAPPING="GROUP_BY_MAPPING",Ka.RUNTIME="RUNTIME",Ka.PACKAGEABLE_RUNTIME="PACKAGEABLE_RUNTIME",Ka.ENGINE_RUNTIME="ENGINE_RUNTIME",Ka.SINGLE_ENGINE_RUNTIME="SINGLE_ENGINE_RUNTIME",Ka.LEGACY_RUNTIME="LEGACY_RUNTIME",Ka.LAKEHOUSE_RUNTIME="LAKEHOUSE_RUNTIME",Ka.RUNTIME_POINTER="RUNTIME_POINTER",Ka.STORE_CONNECTIONS="STORE_CONNECTIONS",Ka.IDENTIFIED_CONNECTION="IDENTIFIED_CONNECTION",Ka.PACKAGEABLE_CONNECTION="PACKAGEABLE_CONNECTION",Ka.CONNECTION_POINTER="CONNECTION_POINTER",Ka.XML_MODEL_CONNECTION="XML_MODEL_CONNECTION",Ka.JSON_MODEL_CONNECTION="JSON_MODEL_CONNECTION",Ka.MODEL_CHAIN_CONNECTION="MODEL_CHAIN_CONNECTION",Ka.FLAT_DATA_CONNECTION="FLAT_DATA_CONNECTION",Ka.AGGREGATION_AWARE_MAPPING="AGGREGATION_AWARE_MAPPING",Ka.AGGREGATION_AWARE_SPECIFICATION="AGGREGATION_AWARE_SPECIFICATION",Ka.AGGREGATION_AWARE_SET_IMPLEMENTATION_CONTAINER="AGGREGATION_AWARE_SET_IMPLEMENTATION_CONTAINER",Ka.AGGREGATE_FUNCTION="AGGREGATE_FUNCTION",Ka.GROUP_BY_FUNCTION="GROUP_BY_FUNCTION",Ka.GENERATION_TREE="GENERATION_TREE",Ka.GENERATION_TREE_NODE="GENERATION_TREE_NODE",Ka.FILE_GENERATION="FILE_GENERATION",Ka.CONFIGURATION_PROPERTY="CONFIGURATION_PROPERTY",Ka.INTERNAL__UNKNOWN_EMBEDDED_DATA="INTERNAL__UNKNOWN_EMBEDDED_DATA",Ka.EXTERNAL_FORMAT_DATA="EXTERNAL_FORMAT_DATA",Ka.MODEL_STORE_DATA="MODEL_STORE_DATA",Ka.MODEL_DATA="MODEL_DATA",Ka.MODEL_EMBEDDED_DATA="MODEL_EMBEDDED_DATA",Ka.MODEL_INSTANCE_DATA="MODEL_INSTANCE_DATA",Ka.RELATION_ELEMENTS_DATA="RELATION_ELEMENTS_DATA",Ka.RELATION_ELEMENT="RELATION_ELEMENT",Ka.RELATION_ROW_TEST_DATA="RELATION_ROW_TEST_DATA",Ka.DATA_ELEMENT_REFERENCE="DATA_ELEMENT_REFERENCE",Ka.DATA_ELEMENT="DATA_ELEMENT",Ka.RELATIONAL_CSV_DATA="RELATIONAL_CSV_DATA",Ka.RELATIONAL_TDS="RELATIONAL_TDS",Ka.RELATIONAL_CSV_DATA_TABLE="RELATIONAL_CSV_DATA_TABLE",Ka.BINDING="BINDING",Ka.SCHEMA_SET="SCHEMA_SET",Ka.SCHEMA="SCHEMA",Ka.MODEL_UNIT="MODEL_UNIT",Ka.URL_STREAM="URL_STREAM",Ka.EXTERNAL_FORMAT_CONNECTION="EXTERNAL_FORMAT_CONNECTION",Ka.SERVICE="SERVICE",Ka.SERVICE_OWNER="SERVICE_OWNER",Ka.SERVICE_PURE_EXECUTION="SERVICE_PURE_EXECUTION",Ka.SERVICE_PURE_SINGLE_EXECUTION="SERVICE_PURE_SINGLE_EXECUTION",Ka.SERVICE_KEYED_EXECUTION_PARAMETER="SERVICE_KEYED_EXECUTION_PARAMETER",Ka.SERVICE_PURE_MULTI_EXECUTION="SERVICE_PURE_MULTI_EXECUTION",Ka.SERVICE_TEST_CONTAINER="SERVICE_TEST_CONTAINER",Ka.SERVICE_LEGACY_SINGLE_EXECUTION_TEST="SERVICE_LEGACY_SINGLE_EXECUTION_TEST",Ka.SERVICE_LEGACY_KEYED_SINGLE_EXECUTION_TEST="SERVICE_LEGACY_KEYED_SINGLE_EXECUTION_TEST",Ka.SERVICE_LEGACY_MULTI_EXECUTION_TEST="SERVICE_LEGACY_MULTI_EXECUTION_TEST",Ka.SERVICE_CONNECTION_TEST_DATA="SERVICE_CONNECTION_TEST_DATA",Ka.SERVICE_TEST_DATA="SERVICE_TEST_DATA",Ka.SERVICE_TEST_SUITE="SERVICE_TEST_SUITE",Ka.SERVICE_TEST="SERVICE_TEST",Ka.SERVICE_PARAMETER_VALUE="SERVICE_PARAMETER_VALUE",Ka.SERVICE_POST_VALIDATION="SERVICE_POST_VALIDATION",Ka.SERVICE_POST_VALIDATION_ASSERTION="SERVICE_POST_VALIDATION_ASSERTION",Ka.EXECUTION_ENVIRONMENT_INSTANCE="EXECUTION_ENVIRONMENT_INSTANCE",Ka.SINGLE_EXECUTION_PARAMETER="SINGLE_EXECUTION_PARAMETER",Ka.MULTI_EXECUTION_PARAMETER="MULTI_EXECUTION_PARAMETER",Ka.RUNTIME_COMPONENTS="RUNTIME_COMPONENTS",Ka.INTERNAL__UNKNOWN_DATASOURCE_SPECIFICATION="INTERNAL__UNKNOWN_DATASOURCE_SPECIFICATION",Ka.INTERNAL__UNKNOWN_AUTHENTICATION_STRATEGY="INTERNAL__UNKNOWN_AUTHENTICATION_STRATEGY",Ka.INTERNAL__UNKNOWN_POST_PROCESSOR="INTERNAL__UNKNOWN_POST_PROCESSOR",Ka.DATABASE="DATABASE",Ka.DATABASE_SCHEMA="DATABASE_SCHEMA",Ka.DATABASE_JOIN="DATABASE_JOIN",Ka.DATABASE_FILTER="DATABASE_FILTER",Ka.DATBASE_VIEW="DATBASE_VIEW",Ka.DATABASE_SCHEMA_TABLE="DATABASE_SCHEMA_TABLE",Ka.DATABASE_SCHEMA_TABULARFUNCTION="DATABASE_SCHEMA_TABULARFUNCTION",Ka.DATABASE_TABLE_COLUMN="DATABASE_TABLE_COLUMN",Ka.DATABASE_INCLUDE_STORE="DATABASE_INCLUDE_STORE",Ka.RELATIONAL="RELATIONAL",Ka.RELATIONAL_OPERATION_DYNA_FUNC="RELATIONAL_OPERATION_DYNA_FUNC",Ka.RELATIONAL_OPERATION_ELEMENTS_WITH_JOINS="RELATIONAL_OPERATION_ELEMENTS_WITH_JOINS",Ka.RELATIONAL_OPERATION_LITERAL="RELATIONAL_OPERATION_LITERAL",Ka.RELATIONAL_OPERATION_LITERAL_LIST="RELATIONAL_OPERATION_LITERAL_LIST",Ka.RELATIONAL_OPERATION_TABLE_ALIAS_COLUMN="RELATIONAL_OPERATION_TABLE_ALIAS_COLUMN",Ka.RELATIONAL_OPERATION_TABLE_POINTER="RELATIONAL_OPERATION_TABLE_POINTER",Ka.RELATIONAL_OPERATION_JOIN_POINTER="RELATIONAL_OPERATION_JOIN_POINTER",Ka.RELATIONAL_DATATYPE_VARCHAR="RELATIONAL_DATATYPE_VARCHAR",Ka.RELATIONAL_DATATYPE_CHAR="RELATIONAL_DATATYPE_CHAR",Ka.RELATIONAL_DATATYPE_VARBINARY="RELATIONAL_DATATYPE_VARBINARY",Ka.RELATIONAL_DATATYPE_BINARY="RELATIONAL_DATATYPE_BINARY",Ka.RELATIONAL_DATATYPE_BIT="RELATIONAL_DATATYPE_BIT",Ka.RELATIONAL_DATATYPE_INTEGER="RELATIONAL_DATATYPE_INTEGER",Ka.RELATIONAL_DATATYPE_BIGINT="RELATIONAL_DATATYPE_BIGINT",Ka.RELATIONAL_DATATYPE_SMALLINT="RELATIONAL_DATATYPE_SMALLINT",Ka.RELATIONAL_DATATYPE_TINYINT="RELATIONAL_DATATYPE_TINYINT",Ka.RELATIONAL_DATATYPE_NUMERIC="RELATIONAL_DATATYPE_NUMERIC",Ka.RELATIONAL_DATATYPE_DECIMAL="RELATIONAL_DATATYPE_DECIMAL",Ka.RELATIONAL_DATATYPE_DOUBLE="RELATIONAL_DATATYPE_DOUBLE",Ka.RELATIONAL_DATATYPE_FLOAT="RELATIONAL_DATATYPE_FLOAT",Ka.RELATIONAL_DATATYPE_REAL="RELATIONAL_DATATYPE_REAL",Ka.RELATIONAL_DATATYPE_DATE="RELATIONAL_DATATYPE_DATE",Ka.RELATIONAL_DATATYPE_TIMESTAMP="RELATIONAL_DATATYPE_TIMESTAMP",Ka.RELATIONAL_DATATYPE_OTHER="RELATIONAL_DATATYPE_OTHER",Ka.RELATIONAL_DATATYPE_SEMISTRUCTURED="RELATIONAL_DATATYPE_SEMISTRUCTURED",Ka.RELATIONAL_DATATYPE_JSON="RELATIONAL_DATATYPE_JSON",Ka.ROOT_RELATIONAL_INSTANCE_SET_IMPLEMENTATION="ROOT_RELATIONAL_INSTANCE_SET_IMPLEMENTATION",Ka.RELATIONAL_INSTANCE_SET_IMPLEMENTATION="RELATIONAL_INSTANCE_SET_IMPLEMENTATION",Ka.REALTIONAL_PROPERTY_MAPPING="REALTIONAL_PROPERTY_MAPPING",Ka.EMBEDDED_REALTIONAL_PROPERTY_MAPPING="EMBEDDED_REALTIONAL_PROPERTY_MAPPING",Ka.INLINE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING="INLINE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING",Ka.OTHERWISE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING="OTHERWISE_EMBEDDED_REALTIONAL_PROPERTY_MAPPING",Ka.RELATION_FUNCTION_INSTANCE_SET_IMPLEMENTATION="RELATION_FUNCTION_INSTANCE_SET_IMPLEMENTATION",Ka.RELATION_FUNCTION_PROPERTY_MAPPING="RELATION_FUNCTION_PROPERTY_MAPPING",Ka.BUSINESS_MILESTONING="BUSINESS_MILESTONING",Ka.BUSINESS_SNAPSHOT_MILESTONING="BUSINESS_SNAPSHOT_MILESTONING",Ka.PROCESSING_MILESTONING="PROCESSING_MILESTONING",Ka.PROCESSING_SNAPSHOT_MILESTONING="PROCESSING_SNAPSHOT_MILESTONING",Ka.RELATIONAL_DATABASE_CONNECTION="RELATIONAL_DATABASE_CONNECTION",Ka.STATIC_DATASOURCE_SPECIFICATION="STATIC_DATASOURCE_SPECIFICATION",Ka.LOCAL_H2_DATASOURCE_SPECIFICATION="LOCAL_H2_DATASOURCE_SPECIFICATION",Ka.EMBEDDED_H2_DATASOURCE_SPECIFICATION="EMBEDDED_H2_DATASOURCE_SPECIFICATION",Ka.SNOWFLAKE_DATASOURCE_SPECIFICATION="SNOWFLAKE_DATASOURCE_SPECIFICATION",Ka.REDSHIFT_DATASOURCE_SPECIFICATION="REDSHIFT_DATASOURCE_SPECIFICATION",Ka.BIGQUERY_DATASOURCE_SPECIFICATION="BIGQUERY_DATASOURCE_SPECIFICATION",Ka.DATABRICKS_DATASOURCE_SPECIFICATION="DATABRICKS_DATASOURCE_SPECIFICATION",Ka.SPANNER_DATASOURCE_SPECIFICATION="SPANNER_DATASOURCE_SPECIFICATION",Ka.TRINO_DATASOURCE_SPECIFICATION="TRINO_DATASOURCE_SPECIFICATION",Ka.DUCKDB_DATASOURCE_SPECIFICATION="DUCKDB_DATASOURCE_SPECIFICATION",Ka.TRINO_SSL_SPECIFICATION="TRINO_SSL_SPECIFICATION",Ka.DELEGRATED_KEREBEROS_AUTHENTICATION_STRATEGY="DELEGRATED_KEREBEROS_AUTHENTICATION_STRATEGY",Ka.DEFAULT_H2_AUTHENTICATION_STRATEGY="DEFAULT_H2_AUTHENTICATION_STRATEGY",Ka.TEST_AUTHENTICATION_STRATEGY="TEST_AUTHENTICATION_STRATEGY",Ka.SNOWFLAKE_PUBLIC_AUTHENTICATION_STRATEGY="SNOWFLAKE_PUBLIC_AUTHENTICATION_STRATEGY",Ka.API_TOKEN_AUTHENTICATION_STRATEGY="API_TOKEN_AUTHENTICATION_STRATEGY",Ka.GCP_APPLICATION_DEFAULT_CREDENTIALS_AUTHENTICATION_STRATEGY="GCP_APPLICATION_DEFAULT_CREDENTIALS_AUTHENTICATION_STRATEGY",Ka.USERNAME_PASSWORD_AUTHENTICATION_STRATEGY="USERNAME_PASSWORD_AUTHENTICATION_STRATEGY",Ka.OAUTH_AUTHENTICATION_STRATEGY="OAUTH_AUTHENTICATION_STRATEGY",Ka.GCP_WORKLOAD_IDENTITY_FEDERATION_AUTHENTICATION_STRATEGY="GCP_WORKLOAD_IDENTITY_FEDERATION_AUTHENTICATION_STRATEGY",Ka.MIDDLE_TIER_USERNAME_PASSWORD_AUTHENTICATION_STRATEGY="MIDDLE_TIER_USERNAME_PASSWORD_AUTHENTICATION_STRATEGY",Ka.TRINO_DELEGATED_KERBEROS_AUTHENTICATION_STRATEGY="TRINO_KEREBEROS_AUTHENTICATION_STRATEGY",Ka.MAPPER_POST_PROCESSOR="MAPPER_POST_PROCESSOR",Ka.SCHEMA_MAPPER="SCHEMA_MAPPER",Ka.TABLE_MAPPER="TABLE_MAPPER",Ka.GENERATION_FEATURES_CONFIG="GENERATION_FEATURES_CONFIG",Ka.FLAT_DATA="FLAT_DATA",Ka.FLAT_DATA_SECTION="FLAT_DATA_SECTION",Ka.FLAT_DATA_PROPERTY="FLAT_DATA_PROPERTY",Ka.FLAT_DATA_ROOT_RECORD_TYPE="FLAT_DATA_ROOT_RECORD_TYPE",Ka.FLAT_DATA_RECORD_TYPE="FLAT_DATA_RECORD_TYPE",Ka.FLAT_DATA_RECORD_FIELD="FLAT_DATA_RECORD_FIELD",Ka.FLAT_DATA_STRING="FLAT_DATA_STRING",Ka.FLAT_DATA_BOOLEAN="FLAT_DATA_BOOLEAN",Ka.FLAT_DATA_NUMBER="FLAT_DATA_NUMBER",Ka.FLAT_DATA_INTEGER="FLAT_DATA_INTEGER",Ka.FLAT_DATA_FLOAT="FLAT_DATA_FLOAT",Ka.FLAT_DATA_DECIMAL="FLAT_DATA_DECIMAL",Ka.FLAT_DATA_DATE="FLAT_DATA_DATE",Ka.FLAT_DATA_DATE_TIME="FLAT_DATA_DATE_TIME",Ka.FLAT_DATA_STRICT_DATE="FLAT_DATA_STRICT_DATE",Ka.FLAT_DATA_INSTANCE_SET_IMPLEMENTATION="FLAT_DATA_INSTANCE_SET_IMPLEMENTATION",Ka.FLAT_DATA_PROPERTY_MAPPING="FLAT_DATA_PROPERTY_MAPPING",Ka.FLAT_DATA_ASSOCIATION_IMPLEMENTATION="FLAT_DATA_ASSOCIATION_IMPLEMENTATION",Ka.FLAT_DATA_ASSOCIATION_PROPERTY_MAPPING="FLAT_DATA_ASSOCIATION_PROPERTY_MAPPING",Ka.EMBEDDED_FLAT_DATA_PROPERTY_MAPPING="EMBEDDED_FLAT_DATA_PROPERTY_MAPPING",Ka.FLAT_DATA_SECTION_POINTER="FLAT_DATA_SECTION_POINTER",Ka.SNOWFLAKE_APP="SNOWFLAKE_APP",Ka.SNOWFLAKE_M2M_UDF="SNOWFLAKE_M2M_UDF",Ka.HOSTED_SERVICE="HOSTED_SERVICE",Ka.HOSTED_SERVICE_OWNER="HOSTED_SERVICE_OWNER",Ka.MEM_SQL_FUNCTION="MEM_SQL_FUNCTION",Ka.RELATION_TYPE="RELATION_TYPE",Ka.RELATION_COLUMN="RELATION_COLUMN",Ka.DATA_PRODUCT="DATA_PRODUCT",Ka.DATA_PRODUCT_ACCESS_POINT_GROUP="DATA_PRODUCT_ACCESS_POINT_GROUP",Ka.DATA_PRODUCT_DEFAULT_ACCESS_POINT_GROUP="DATA_PRODUCT_DEFAULT_ACCESS_POINT_GROUP",Ka.DATA_PRODUCT_MODEL_ACCESS_POINT_GROUP="DATA_PRODUCT_MODEL_ACCESS_POINT_GROUP",Ka.DATA_PRODUCT_ACCESS_POINT="DATA_PRODUCT_ACCESS_POINT",Ka.SUPPORT_INFO="SUPPORT_INFO",Ka.DATA_PRODUCT_RUNTIME_INFO="DATA_PRODUCT_RUNTIME_INFO",Ka.DATA_PRODUCT_ELEMENT_SCOPE="DATA_PRODUCT_ELEMENT_SCOPE",Ka.DATA_PRODUCT_DIAGRAM="DATA_PRODUCT_DIAGRAM",Ka.DATA_PRODUCT_LINK="DATA_PRODUCT_LINK",Ka.DATA_PRODUCT_ICON_EMBEDDED_IMAGE="DATA_PRODUCT_ICON_EMBEDDED_IMAGE",Ka.DATA_PRODUCT_ICON_LIBRARY="DATA_PRODUCT_ICON_LIBRARY",Ka.INTERNAL__UNKNOWN_DATA_PRODUCT_ICON="INTERNAL__UNKNOWN_DATA_PRODUCT_ICON",Ka.EMAIL="EMAIL",Ka.LAKEHOUSE_ACCESS_POINT="LAKEHOUSE_ACCESS_POINT",Ka.UNKNOWN_ACCESS_POINT="UNKNOWN_ACCESS_POINT",Ka.FUNCTION_ACCESS_POINT="FUNCTION_ACCESS_POINT",Ka.DATA_PRODUCT_TYPE="DATA_PRODUCT_TYPE",Ka.MAPPING_INCLUDE_DATAPRODUCT="MAPPING_INCLUDE_DATAPRODUCT",Ka.DATA_PRODUCT_EXPERTISE="DATA_PRODUCT_EXPERTISE",Ka.DATA_PRODUCT_OPERATIONAL_METADATA="DATA_PRODUCT_OPERATIONAL_METADATA";const Xa=e=>{return n={excludeKeys:e=>e.toLowerCase().endsWith("sourceInformation".toLowerCase())},$(K(t=e),"Can't hash non-object value"),Sr(t,n);var t,n},Ja=(e,t)=>Ar([e?Xa(e):"",t?Xa(t):""]),qa=(e,t)=>[za.PACKAGEABLE_ELEMENT_POINTER,e??"",t].map(Nr).join(",");class Za{stereotypes=[];taggedValues=[]}class Qa extends Za{name}class ec extends Qa{_UUID=(0,o.A)();_isDeleted=!1;_isDisposed=!1;package;constructor(e){super(),this.name=e}get isDeleted(){return this._isDeleted}setIsDeleted(e){this._isDeleted=e}get path(){if(!this.package)return this.name;const e=this.package.path;return e?`${e}${qo}${this.name}`:this.name}dispose(){this._isDisposed=!0;try{this.hashCode}catch{}}get _elementHashCode(){return Ar([za.PACKAGEABLE_ELEMENT,this.path])}get hashCode(){if(this._isDisposed)throw new O(`Element '${this.path}' is already disposed`);return this._elementHashCode}}var tc;!function(e){e.DIAGRAM="DIAGRAM",e.CLASS_VIEW="CLASS_VIEW",e.PROPERTY_VIEW="PROPERTY_VIEW",e.ASSOCIATION_VIEW="ASSOCIATION_VIEW",e.PROPERTY_HOLDER_VIEW="PROPERTY_HOLDER_VIEW",e.GENERALIZATION_VIEW="GENERALIZATION_VIEW",e.RELATIONSHIP_VIEW="RELATIONSHIP_VIEW",e.POINT="POINT",e.RECTANGLE="RECTANGLE",e.POSITIONED_RECTANGLE="POSITIONED_RECTANGLE"}(tc||(tc={}));class nc extends ec{classViews=[];associationViews=[];generalizationViews=[];propertyViews=[];get _elementHashCode(){return Ar([tc.DIAGRAM,this.path,Ar(this.classViews),Ar(this.generalizationViews),Ar(this.propertyViews)])}accept_PackageableElementVisitor(e){return e.visit_PackageableElement(this)}}class sc{x;y;constructor(e,t){this.x=e,this.y=t}get hashCode(){return Ar([tc.POINT,this.x.toString(),this.y.toString()])}}class ic{width;height;constructor(e,t){this.width=e,this.height=t}get hashCode(){return Ar([tc.RECTANGLE,this.width.toString(),this.height.toString()])}}class oc{_dummyObservable={};position;rectangle;constructor(e,t){this.position=e,this.rectangle=t}center=()=>new sc(this.position.x+this.rectangle.width/2,this.position.y+this.rectangle.height/2);contains(e,t){const n=this.normalizeBox(this);return e>n.position.x&&e<n.position.x+n.rectangle.width&&t>n.position.y&&t<n.position.y+n.rectangle.height}normalizeBox(e){let t=e;return e.rectangle.width<0&&(t=new oc(new sc(e.position.x+e.rectangle.width,e.position.y),new ic(-e.rectangle.width,e.rectangle.height))),e.rectangle.height<0&&(t=new oc(new sc(e.position.x,e.position.y+e.rectangle.height),new ic(e.rectangle.width,-e.rectangle.height))),t}get hashCode(){return this._dummyObservable,Ar([tc.POSITIONED_RECTANGLE,this.position,this.rectangle])}}class rc extends oc{_OWNER;class;id;hideProperties;hideTaggedValues;hideStereotypes;constructor(e,t,n){super(new sc(0,0),new ic(0,0)),this._OWNER=e,this.id=t,this.class=n}get hashCode(){return Ar([tc.CLASS_VIEW,super.hashCode,this.id,this.class.valueForSerialization??"",this.hideProperties?.toString()??"",this.hideTaggedValues?.toString()??"",this.hideStereotypes?.toString()??""])}}class ac{_offsetX;_offsetY;classView;constructor(e){this.classView=e}}class cc{_UUID=(0,o.A)()}class lc extends cc{ownerReference;constructor(e){super(),this.ownerReference=e}}class dc extends cc{value;constructor(e){super(),this.value=e}}class uc extends dc{constructor(e){super(e)}static create(e){return new uc(e)}get valueForSerialization(){return this.value.path}}class pc extends lc{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}}class hc extends pc{ownerReference;constructor(e){const t=uc.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new hc(e)}}class gc{_OWNER;from;to;path=[];constructor(e,t,n){this._OWNER=e,this.from=new ac(hc.create(t)),this.to=new ac(hc.create(n))}computeEdgeEndpoint(e,t=!0){const n=e.classView.value,s=e.classView.value.center(),i=s.x+(e._offsetX??0),o=s.y+(e._offsetY??0);return n.contains(i,o)?new sc(i,o):(t&&(e._offsetX=0,e._offsetY=0),new sc(s.x,s.y))}buildFullPath(e=!0){return[this.computeEdgeEndpoint(this.from,e),...this.path,this.computeEdgeEndpoint(this.to,e)]}static pruneUnnecessaryInsidePoints=(e,t,n)=>{$(Boolean(e.length),"Path requires at least 1 point");let s=0,i=e[s];for(;s<e.length-1&&t.contains(i.x,i.y);)s++,i=e[s];let o=e.length-1,r=e[o];for(;o>0&&n.contains(r.x,r.y);)o--,r=e[o];const a=e.slice(s-1,o+2);return a.length<2?[i,r]:a};get pathForSerialization(){return gc.pruneUnnecessaryInsidePoints(this.buildFullPath(),this.from.classView.value,this.to.classView.value)}get hashCode(){return Ar([tc.RELATIONSHIP_VIEW,this.from.classView.value.id,this.to.classView.value.id,Ar(this.pathForSerialization)])}}class mc extends gc{property;constructor(e,t,n,s){super(e,n,s),this.property=t}get hashCode(){return Ar([tc.PROPERTY_HOLDER_VIEW,super.hashCode,this.property.pointerHashCode])}}class fc extends mc{get hashCode(){return Ar([tc.PROPERTY_VIEW,super.hashCode])}}class _c{x;y;constructor(e,t){this.x=e,this.y=t}static fromPoints(e,t){return new _c(t.x-e.x,t.y-e.y)}unit(){const e=Math.sqrt(this.x*this.x+this.y*this.y);return new _c(this.x/e,this.y/e)}normal(e){return new _c(e.y-this.y,-(e.x-this.x))}dotProduct(e){return this.x*e.x+this.y*e.y}}const Ec=e=>{let t=0,n=0;for(;e.offsetParent;)t+=e.offsetLeft-e.scrollLeft+e.clientLeft,n+=e.offsetTop-e.scrollTop+e.clientTop,e=e.offsetParent;return new sc(t,n)},bc=(e,t)=>{e.path=t},Tc=e=>{const t=e.buildFullPath(),n=gc.pruneUnnecessaryInsidePoints(t,e.from.classView.value,e.to.classView.value);if(n[0]!==t[0]){const t=e.from.classView.value.center();e.from._offsetX=D(n[0],"Diagram path expected to have at least 2 points").x-t.x,e.from._offsetY=D(n[0],"Diagram path expected to have at least 2 points").y-t.y}if(n[n.length-1]!==t[t.length-1]){const t=e.to.classView.value.center();e.to._offsetX=n[n.length-1].x-t.x,e.to._offsetY=n[n.length-1].y-t.y}const s=[];for(let e=0;e<n.length-2;e++){const t=_c.fromPoints(n[e+1],n[e]).unit(),i=_c.fromPoints(n[e+1],n[e+2]).unit(),o=t.dotProduct(i),r=180*Math.acos(o)/Math.PI;Math.abs(r-180)>5&&s.push(n[e+1])}bc(e,s)},Cc=(e,t)=>e.x*Math.cos(t)-e.y*Math.sin(t),vc=(e,t)=>e.x*Math.sin(t)+e.y*Math.cos(t),yc=e=>new sc(e.position.x+e.rectangle.width,e.position.y+e.rectangle.height),Sc=e=>{const t=yc(e);return new oc(new sc(t.x-5,t.y-5),new ic(10,10))},Nc=(e,t)=>(t=e.normalizeBox(t),e.contains(t.position.x,t.position.y)||e.contains(t.position.x+t.rectangle.width,t.position.y)||e.contains(t.position.x,t.position.y+t.rectangle.height)||e.contains(t.position.x+t.rectangle.width,t.position.y+t.rectangle.height));class Ac extends gc{get hashCode(){return Ar([tc.GENERALIZATION_VIEW,super.hashCode])}}class Ic extends ec{}class xc extends Ic{_subclasses=[];_generatedMilestonedProperties=[];properties=[];propertiesFromAssociations=[];derivedProperties=[];generalizations=[];constraints=[];dispose(){super.dispose(),this._subclasses=[],this.generalizations.forEach(e=>{const t=e.value.rawType;t._isDisposed||(t._subclasses=t._subclasses.filter(e=>!e._isDisposed))})}get _elementHashCode(){return Ar([za.CLASS,this.path,Ar(this.properties),Ar(this.derivedProperties),Ar(this.generalizations.map(e=>e.ownerReference.valueForSerialization??"")),Ar(this.constraints),Ar(this.stereotypes.map(e=>e.pointerHashCode)),Ar(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Class(this)}}class wc extends ec{children=[];get path(){return this.package?super.path:""}get hashCode(){return""}accept_PackageableElementVisitor(e){return e.visit_Package(this)}}const Oc=(e,t)=>{e.children.push(t),t.package=e},kc=(e,t)=>{e.children=e.children.filter(e=>e!==t)},Rc=(e,t,n,s)=>{const i=t.indexOf(qo),o=-1===i?t:t.substring(0,i);let r;if(r=e.children.find(e=>e instanceof wc&&e.name===o),!r){if(!n)throw new L(`Can't find child package '${o}' in package '${e.path}'`);$(!Qo.includes(o),`Can't create package with reserved name '${o}'`),r=new wc(o),r.package=e,e.children.push(r)}return s&&s.set(aa(e.path,o),r),-1!==i?Rc(r,t.substring(i+2),n,s):r},Pc=(e,t,n,s)=>{if(s){const i=s.get(aa(e.path,t));if(i)return i;let o=t;for(;""!==o;){const i=aa(e.path,o),r=s.get(i);if(r)return Rc(r,t.substring(o.length+2,t.length),n,s);const a=o.lastIndexOf(qo);o=-1!==a?o.substring(0,a):""}}return Rc(e,t,n,s)},Lc=(e,t,n)=>(G(t,"Package path is required"),Pc(e.root,t,!0,n)),Mc=(e,t)=>U(e.rawType,t),Fc=e=>{const t=new Set;t.add(e);const n=e=>{e.generalizations.forEach(e=>{const s=Mc(e.value,xc);t.has(s)||(t.add(s),n(s))})};return n(e),t.delete(e),Array.from(t)},Dc=e=>e.properties.concat(e.propertiesFromAssociations).concat(e.derivedProperties),Bc=(e,t)=>e===t?e.toString():0===e&&void 0===t?"MANY":`$${e}_${t??"MANY"}$`;class jc{lowerBound;upperBound;constructor(e,t){this.lowerBound=e,this.upperBound=t}get hashCode(){return Ar([za.MULTIPLICITY,this.lowerBound.toString(),this.upperBound?.toString()??""])}static ZERO=new jc(0,0);static ZERO_ONE=new jc(0,1);static ZERO_MANY=new jc(0,void 0);static ONE=new jc(1,1);static ONE_MANY=new jc(1,void 0)}class Hc{_UUID=(0,o.A)();tag;value;constructor(e,t){this.tag=e,this.value=t}get hashCode(){return Ar([za.TAGGED_VALUE,this.tag.pointerHashCode,this.value])}}class Uc extends lc{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}get pointerHashCode(){return[za.TAG_POINTER,this.value.value,this.ownerReference.valueForSerialization??""].map(Nr).join(",")}}class Gc extends Uc{ownerReference;constructor(e){const t=uc.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new Gc(e)}}class Vc extends lc{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}get pointerHashCode(){return[za.STEREOTYPE_POINTER,this.value.value,this.ownerReference.valueForSerialization??""].map(Nr).join(",")}}class $c extends Vc{ownerReference;constructor(e){const t=uc.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new $c(e)}}class Wc extends lc{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}}class Yc extends Wc{ownerReference;constructor(e){const t=uc.create(e.rawType);super(t,e),this.ownerReference=t}static create(e){return new Yc(e)}}class zc extends ec{functionName;constructor(e){super(e),this.functionName=e}}class Kc extends zc{}class Xc extends Ic{static ID="RelationType";columns=[];accept_PackageableElementVisitor(e){throw new Error("Method not implemented.")}get hashCode(){return Ar([za.RELATION_TYPE,Ar(this.columns)])}}class Jc{_UUID=(0,o.A)();rawType;typeArguments;typeVariableValues;constructor(e){this.rawType=e}get hashCode(){return Ar([this.rawType instanceof Xc?this.rawType.hashCode:this.rawType.path,Ar(this.typeArguments?.map(e=>e.value)??[]),Ar(this.typeVariableValues??[])])}}class qc{_UUID=(0,o.A)();_OWNER;name;multiplicity;genericType;aggregation;defaultValue;stereotypes=[];taggedValues=[];constructor(e,t,n,s){this.name=e,this.multiplicity=t,this.genericType=n,this._OWNER=s}get hashCode(){return Ar([za.PROPERTY,this.name,this.multiplicity,this.genericType.ownerReference.valueForSerialization??"",this.aggregation??"",this.defaultValue??"",Ar(this.stereotypes.map(e=>e.pointerHashCode)),Ar(this.taggedValues)])}}var Zc,Qc,el,tl;!function(e){e.NONE="NONE",e.SHARED="SHARED",e.COMPOSITE="COMPOSITE"}(Zc||(Zc={}));class nl{_UUID=(0,o.A)();_OWNER;name;genericType;multiplicity;stereotypes=[];taggedValues=[];body;parameters;defaultValue=void 0;constructor(e,t,n,s){this.name=e,this.multiplicity=t,this.genericType=n,this._OWNER=s}get hashCode(){return Ar([za.DERIVED_PROPERTY,this.name,this.multiplicity,this.genericType.ownerReference.valueForSerialization??"",Ar(this.stereotypes.map(e=>e.pointerHashCode)),Ar(this.taggedValues),Ja(this.parameters,this.body)])}}class sl extends Ic{}class il extends sl{accept_PackageableElementVisitor(e){return e.visit_PrimitiveType(this)}static STRING=new il(tr.STRING);static BOOLEAN=new il(tr.BOOLEAN);static BINARY=new il(tr.BINARY);static NUMBER=new il(tr.NUMBER);static INTEGER=new il(tr.INTEGER);static FLOAT=new il(tr.FLOAT);static DECIMAL=new il(tr.DECIMAL);static DATE=new il(tr.DATE);static STRICTDATE=new il(tr.STRICTDATE);static DATETIME=new il(tr.DATETIME);static STRICTTIME=new il(tr.STRICTTIME);static LATESTDATE=new il(tr.LATESTDATE);static BYTE=new il(tr.BYTE)}class ol extends sl{static VARCHAR=new ol(ia(nr.VARCHAR));static INT=new ol(ia(nr.INT));static TINY_INT=new ol(ia(nr.TINY_INT));static U_TINY_INT=new ol(ia(nr.U_TINY_INT));static SMALL_INT=new ol(ia(nr.SMALL_INT));static U_SMALL_INT=new ol(ia(nr.U_SMALL_INT));static U_INT=new ol(ia(nr.U_INT));static BIG_INT=new ol(ia(nr.BIG_INT));static U_BIG_INT=new ol(ia(nr.U_BIG_INT));static FLOAT=new ol(ia(nr.FLOAT));static DOUBLE=new ol(ia(nr.DOUBLE));static NUMERIC=new ol(ia(nr.NUMERIC));static TIMESTAMP=new ol(ia(nr.TIMESTAMP));accept_PackageableElementVisitor(e){throw new Error("Method not implemented.")}}class rl extends sl{values=[];get _elementHashCode(){return Ar([za.ENUMERATION,this.path,Ar(this.values),Ar(this.stereotypes.map(e=>e.pointerHashCode)),Ar(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Enumeration(this)}}class al extends ec{_generatedMilestonedProperties=[];properties;derivedProperties=[];constructor(e){super(e);const t=[new qc("",jc.ONE,Yc.create(new Jc(new xc(""))),new xc("")),new qc("",jc.ONE,Yc.create(new Jc(new xc(""))),new xc(""))];t[0]._OWNER=this,t[1]._OWNER=this,this.properties=t}dispose(){super.dispose();const[e,t]=this.properties;if(e.genericType.value.rawType instanceof xc&&t.genericType.value.rawType instanceof xc){const n=U(e.genericType.value.rawType,xc),s=U(t.genericType.value.rawType,xc);n.propertiesFromAssociations=n.propertiesFromAssociations.filter(e=>e!==t),s.propertiesFromAssociations=s.propertiesFromAssociations.filter(t=>t!==e)}}get _elementHashCode(){return Ar([za.ASSOCIATION,this.path,Ar(this.properties),Ar(this.derivedProperties),Ar(this.stereotypes.map(e=>e.pointerHashCode)),Ar(this.taggedValues)])}accept_PackageableElementVisitor(e){return e.visit_Association(this)}}class cl extends ec{includes=[];classMappings=[];enumerationMappings=[];associationMappings=[];test=[];tests=[];get _elementHashCode(){return Ar([za.MAPPING,this.path,Ar(this.classMappings),Ar(this.enumerationMappings),Ar(this.associationMappings),Ar(this.test),Ar(this.includes),Ar(this.tests)])}accept_PackageableElementVisitor(e){return e.visit_Mapping(this)}}class ll extends ec{p_stereotypes=[];p_tags=[];get _elementHashCode(){return Ar([za.PROFILE,this.path,Ar(this.p_stereotypes.map(e=>e.value)),Ar(this.p_tags.map(e=>e.value))])}accept_PackageableElementVisitor(e){return e.visit_Profile(this)}}class dl extends ec{pattern="/";owners=[];ownership;documentation="";autoActivateUpdates=!0;execution;test;tests=[];postValidations=[];get patternParameters(){return(0,me.A)((this.pattern.match(/\{\w+\}/gu)??[]).map(e=>e.substring(1,e.length-1)))}get _elementHashCode(){return Ar([za.SERVICE,Ar(this.stereotypes.map(e=>e.pointerHashCode)),Ar(this.taggedValues),this.path,this.pattern,Ar(this.owners),this.ownership,this.documentation,this.autoActivateUpdates.toString(),this.execution,this.test??"",Ar(this.tests),Ar(this.postValidations),Ar(this.taggedValues),Ar(this.stereotypes.map(e=>e.pointerHashCode))])}accept_PackageableElementVisitor(e){return e.visit_Service(this)}}class ul extends Kc{returnType;returnMultiplicity;parameters=[];expressionSequence=[];tests=[];constructor(e,t,n){super(e),this.returnType=t,this.returnMultiplicity=n}get _elementHashCode(){return Ar([za.FUNCTION,this.path,Ar(this.parameters),this.returnType.ownerReference.valueForSerialization??"",this.returnType.value.typeArguments?.length&&this.returnType.value.typeVariableValues?.length?this.returnType.value:"",Ar(this.taggedValues),Ar(this.stereotypes.map(e=>e.pointerHashCode)),Ja(void 0,this.expressionSequence),this.tests.length?Ar(this.tests):""])}accept_PackageableElementVisitor(e){return e.visit_ConcreteFunctionDefinition(this)}}class pl extends ec{includes=[]}class hl extends pl{sections=[];get _elementHashCode(){return Ar([za.FLAT_DATA,this.path,Ar(this.includes.map(e=>e.valueForSerialization??"")),Ar(this.sections)])}accept_PackageableElementVisitor(e){return e.visit_FlatData(this)}}class gl extends ec{runtimeValue;get _elementHashCode(){return Ar([za.PACKAGEABLE_RUNTIME,this.path,this.runtimeValue])}accept_PackageableElementVisitor(e){return e.visit_PackageableRuntime(this)}}class ml extends ec{connectionValue;get _elementHashCode(){return Ar([za.PACKAGEABLE_CONNECTION,this.path,this.connectionValue])}accept_PackageableElementVisitor(e){return e.visit_PackageableConnection(this)}}class fl extends ec{}class _l extends fl{type;generationOutputPath;scopeElements=[];configurationProperties=[];get _elementHashCode(){return Ar([za.FILE_GENERATION,this.path,this.type,this.generationOutputPath??"",Ar(this.scopeElements.map(e=>e instanceof dc?e.valueForSerialization??"":e)),Ar(this.configurationProperties)])}accept_PackageableElementVisitor(e){return e.visit_FileGenerationSpecification(this)}}class El extends ec{generationNodes=[];fileGenerations=[];findGenerationElementById(e){return this.generationNodes.find(t=>t.id===e)?.generationElement.value}get _elementHashCode(){return Ar([za.GENERATION_TREE,this.path,Ar(this.generationNodes),Ar(this.fileGenerations.map(e=>qa(hr.FILE_GENERATION,e.valueForSerialization??"")))])}accept_PackageableElementVisitor(e){return e.visit_GenerationSpecification(this)}}class bl extends sl{measure;conversionFunction;constructor(e,t,n){super(e),this.measure=t,this.conversionFunction=n}get hashCode(){return Ar([za.UNIT,this.measure.path,this.conversionFunction??""])}accept_PackageableElementVisitor(e){throw new k}}class Tl extends Ic{canonicalUnit;nonCanonicalUnits=[];get _elementHashCode(){return Ar([za.MEASURE,this.path,this.canonicalUnit??"",Ar(this.nonCanonicalUnits)])}accept_PackageableElementVisitor(e){return e.visit_Measure(this)}}class Cl extends pl{schemas=[];joins=[];filters=[];includedStoreSpecifications=[];get _elementHashCode(){return Ar([za.DATABASE,this.path,Ar(this.includes.map(e=>e.valueForSerialization??"")),Ar(this.schemas),Ar(this.joins),Ar(this.filters),Ar(this.stereotypes.map(e=>e.pointerHashCode)),Ar(this.taggedValues),Ar(this.includedStoreSpecifications)])}accept_PackageableElementVisitor(e){return e.visit_Database(this)}}class vl{_class;index=new Map;constructor(e){this._class=e}getElementClass(){return this._class}get elements(){return Array.from(this.index.values())}getElement(e){return this.index.get(e)}setElement(e,t){this.index.set(e,t)}deleteElement(e){this.index.delete(e)}renameElement(e,t){const n=this.getElement(e);n&&(this.deleteElement(e),this.setElement(t,n))}}class yl extends ec{data;get hashCode(){return Ar([za.DATA_ELEMENT,this.path,Ar(this.stereotypes.map(e=>e.pointerHashCode)),Ar(this.taggedValues),this.data])}accept_PackageableElementVisitor(e){return e.visit_DataElement(this)}}class Sl extends ec{executionParameters=[];get _elementHashCode(){return Ar([za.EXECUTION_ENVIRONMENT_INSTANCE,this.path,Ar(this.executionParameters)])}accept_PackageableElementVisitor(e){return e.visit_ExecutionEnvironmentInstance(this)}}class Nl extends ec{content;get _elementHashCode(){return Ar([za.INTERNAL__UNKNOWN_PACKAGEABLE_ELEMENT,this.path,Xa(this.content)])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownPackageableElement(this)}}class Al extends ec{function;activationConfiguration;ownership;actions=[]}class Il extends Al{content;get _elementHashCode(){return Ar([za.INTERNAL__UNKNOWN_FUNCTION_ACTIVATOR,this.path,Xa(this.content)])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownFunctionActivator(this)}}class xl extends pl{content;get _elementHashCode(){return Ar([za.INTERNAL__UNKNOWN_STORE,this.path,Xa(this.content)])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownStore(this)}}class wl extends ec{content;classifierPath;get _elementHashCode(){return Ar([za.INTERNAL__UNKNOWN_ELEMENT,this.path,Xa(this.content),this.classifierPath])}accept_PackageableElementVisitor(e){return e.visit_INTERNAL__UnknownElement(this)}}class Ol{id;title;description;constructor(e){this.id=e}get hashCode(){return Ar([za.DATA_PRODUCT_ACCESS_POINT,this.id,this.title??"",this.description??""])}}!function(e){e.Snowflake="Snowflake",e.Databricks="Databricks",e.BigQuery="BigQuery",e.DuckDb="DuckDb"}(Qc||(Qc={}));class kl extends Ol{targetEnvironment;classification;func;reproducible;constructor(e,t,n){super(e),this.targetEnvironment=t,this.func=n}get hashCode(){return Ar([super.hashCode,za.LAKEHOUSE_ACCESS_POINT,this.targetEnvironment,this.classification??"",this.func,this.reproducible??""])}}class Rl extends Za{id;title;description;accessPoints=[];get hashCode(){return Ar([za.DATA_PRODUCT_ACCESS_POINT_GROUP,this.id,this.title??"",this.description??"",Ar(this.accessPoints),Ar(this.stereotypes.map(e=>e.pointerHashCode))])}}class Pl extends Rl{mapping;defaultRuntime;featuredElements=[];compatibleRuntimes=[];diagrams=[];get hashCode(){return Ar([super.hashCode,za.DATA_PRODUCT_MODEL_ACCESS_POINT_GROUP,this.mapping.valueForSerialization??"",this.defaultRuntime.id,Ar(this.featuredElements),Ar(this.compatibleRuntimes),Ar(this.diagrams)])}}!function(e){e.DAILY="DAILY",e.WEEKLY="WEEKLY",e.MONTHLY="MONTHLY",e.QUARTERLY="QUARTERLY",e.ANNUALLY="ANNUALLY",e.ON_DEMAND="ON_DEMAND",e.INTRA_DAY="INTRA_DAY",e.OTHER="OTHER"}(el||(el={})),function(e){e.APAC="APAC",e.EMEA="EMEA",e.LATAM="LATAM",e.NAMR="NAMR"}(tl||(tl={}));class Ll{}class Ml extends Ll{libraryId;iconId;constructor(e,t){super(),this.libraryId=e,this.iconId=t}get hashCode(){return Ar([za.DATA_PRODUCT_ICON_LIBRARY,this.libraryId,this.iconId])}}class Fl extends Ll{imageUrl;constructor(e){super(),this.imageUrl=e}get hashCode(){return Ar([za.DATA_PRODUCT_ICON_EMBEDDED_IMAGE,this.imageUrl])}}class Dl extends Ll{content;constructor(e){super(),this.content=e}get hashCode(){return Ar([za.INTERNAL__UNKNOWN_DATA_PRODUCT_ICON,Xa(this.content)])}}class Bl extends ec{title;description;icon;accessPointGroups=[];supportInfo;type;sampleValues;operational;accept_PackageableElementVisitor(e){return e.visit_DataProduct(this)}get _elementHashCode(){return Ar([za.DATA_PRODUCT,this.title??"",this.description??"",this.icon??"",Ar(this.accessPointGroups),this.supportInfo??"",this.type??"",Ar(this.stereotypes.map(e=>e.pointerHashCode)),Ar(this.taggedValues),Ar(this.sampleValues??[]),this.operational??""])}}class jl extends Nl{appDirDeployment;TEMPORARY_MATVIEW_FUNCTION_DATA_SETS;accept_PackageableElementVisitor(e){return e.visit_IngestDefinition(this)}}const Hl=new Set([ec,Ic,sl,il,xc,al,rl,ul,ll,Tl,bl,yl,pl,cl,ml,gl,El,_l,dl,Sl,class extends ec{sections=[];get _elementHashCode(){return Ar([za.SECTION_INDEX,this.path,Ar(this.sections)])}accept_PackageableElementVisitor(e){return e.visit_SectionIndex(this)}},Nl,xl]);class Ul{root;_origin;extensions=[];graphPlugins=[];elementSectionIndex=new Map;sectionIndicesIndex=new Map;profilesIndex=new Map;typesIndex=new Map;associationsIndex=new Map;functionsIndex=new Map;functionActivatorsIndex=new Map;storesIndex=new Map;mappingsIndex=new Map;connectionsIndex=new Map;runtimesIndex=new Map;servicesIndex=new Map;generationSpecificationsIndex=new Map;fileGenerationsIndex=new Map;productsIndex=new Map;dataElementsIndex=new Map;executionEnvironmentsIndex=new Map;INTERNAL__unknownElementsIndex=new Map;INTERNAL__unknownIndex=new Map;constructor(e,t,n){this.root=new wc(e);const s=t.flatMap(e=>e.getExtraPureGraphExtensionClasses?.()??[]);this.extensions=this.createGraphExtensions(s),this._origin=n}createGraphExtensions(e){return e.map(e=>{if(Hl.has(e))throw new O("Pure graph extension not allowed for the specified class. Consider removing this extension from plugins.");return new vl(e)})}get ownSectionIndices(){return Array.from(this.sectionIndicesIndex.values())}get ownProfiles(){return Array.from(this.profilesIndex.values())}get ownEnumerations(){return Array.from(this.typesIndex.values()).filter(j(rl))}get ownMeasures(){return Array.from(this.typesIndex.values()).filter(j(Tl))}get ownClasses(){return Array.from(this.typesIndex.values()).filter(j(xc))}get ownTypes(){return Array.from(this.typesIndex.values())}get ownAssociations(){return Array.from(this.associationsIndex.values())}get ownFunctions(){return Array.from(this.functionsIndex.values())}get ownFunctionActivators(){return Array.from(this.functionActivatorsIndex.values())}get ownStores(){return Array.from(this.storesIndex.values())}get ownFlatDatas(){return Array.from(this.storesIndex.values()).filter(j(hl))}get ownDatabases(){return Array.from(this.storesIndex.values()).filter(j(Cl))}get ownMappings(){return Array.from(this.mappingsIndex.values())}get ownServices(){return Array.from(this.servicesIndex.values())}get ownRuntimes(){return Array.from(this.runtimesIndex.values())}get ownConnections(){return Array.from(this.connectionsIndex.values())}get ownFileGenerations(){return Array.from(this.fileGenerationsIndex.values())}get ownProducts(){return Array.from(this.productsIndex.values())}get ownDataElements(){return Array.from(this.dataElementsIndex.values())}get ownExecutionEnvironments(){return Array.from(this.executionEnvironmentsIndex.values())}get ownIngests(){return Array.from(this.INTERNAL__unknownElementsIndex.values()).filter(j(jl))}get ownGenerationSpecifications(){return Array.from(this.generationSpecificationsIndex.values())}get ownTestables(){const e=[...this.ownServices,...this.ownMappings],t=this.graphPlugins.flatMap(e=>e.getExtraTestablesCollectors?.()??[]);return[...e,...this.allOwnElements.map(e=>t.find(t=>Boolean(t(e)))?.(e)).filter(M)]}get origin(){return this._origin}setOrigin(e){if(this._origin)throw new O("Graph origin has already been set");this._origin=e}getExtensionElements(e){return this.getExtensionForElementClass(e).elements}getExtensionForElementClass(e){const t=this.extensions.filter(t=>t.getElementClass()===e);if(0===t.length)throw new k("Can't find graph extension for the specified element class: no compatible graph extensions available from plugins");if(t.length>1)throw new O("Found multiple extensions for the specified element class");return t[0]}getOwnNullableSection=e=>this.elementSectionIndex.get(e);getOwnNullableSectionIndex=e=>this.sectionIndicesIndex.get(e);getOwnNullableProfile=e=>this.profilesIndex.get(e);getOwnNullableType(e){return this.typesIndex.get(e)}getOwnNullableClass=e=>{const t=this.getOwnNullableType(e);return t instanceof xc?t:void 0};getOwnNullableEnumeration=e=>{const t=this.getOwnNullableType(e);return t instanceof rl?t:void 0};getOwnNullableMeasure=e=>{const t=this.getOwnNullableType(e);return t instanceof Tl?t:void 0};getOwnNullableAssociation=e=>this.associationsIndex.get(e);getOwnNullableFunction=e=>this.functionsIndex.get(e);getOwnNullableFunctionActivator=e=>this.functionActivatorsIndex.get(e);getOwnNullableStore=e=>this.storesIndex.get(e);getOwnNullableMapping=e=>this.mappingsIndex.get(e);getOwnNullableConnection=e=>this.connectionsIndex.get(e);getOwnNullableRuntime=e=>this.runtimesIndex.get(e);getOwnNullableService=e=>this.servicesIndex.get(e);getOwnNullableGenerationSpecification=e=>this.generationSpecificationsIndex.get(e);getOwnNullableFileGeneration=e=>this.fileGenerationsIndex.get(e);getOwnNullableDataElement=e=>this.dataElementsIndex.get(e);getOwnNullableExecutionEnviornment=e=>this.executionEnvironmentsIndex.get(e);getOwnNullableDataProduct=e=>this.productsIndex.get(e);getOwnNullableIngestDefinition=e=>this.ownIngests.find(t=>t.path===e);getOwnSectionIndex=e=>D(this.getOwnNullableSectionIndex(e),`Can't find section index '${e}'`);getOwnProfile=e=>D(this.getOwnNullableProfile(e),`Can't find profile '${e}'`);getOwnType=e=>D(this.getOwnNullableType(e),`Can't find type '${e}'`);getOwnClass=e=>D(this.getOwnNullableClass(e),`Can't find class '${e}'`);getOwnEnumeration=e=>D(this.getOwnNullableEnumeration(e),`Can't find enumeration '${e}'`);getOwnMeasure=e=>D(this.getOwnNullableMeasure(e),`Can't find measure '${e}'`);getOwnAssociation=e=>D(this.getOwnNullableAssociation(e),`Can't find association '${e}'`);getOwnFunction=e=>D(this.getOwnNullableFunction(e),`Can't find function '${e}'`);getOwnFunctionActivator=e=>D(this.getOwnNullableFunctionActivator(e),`Can't find function activator '${e}'`);getOwnStore=e=>D(this.getOwnNullableStore(e),`Can't find store '${e}'`);getOwnDatabase=e=>U(this.getOwnNullableStore(e),Cl,`Can't find database '${e}'`);getOwnFlatDataStore=e=>U(this.getOwnNullableStore(e),hl,`Can't find flat-data store '${e}'`);getOwnMapping=e=>D(this.getOwnNullableMapping(e),`Can't find mapping '${e}'`);getOwnConnection=e=>D(this.getOwnNullableConnection(e),`Can't find connection '${e}'`);getOwnRuntime=e=>D(this.getOwnNullableRuntime(e),`Can't find runtime '${e}'`);getOwnService=e=>D(this.getOwnNullableService(e),`Can't find service '${e}'`);getOwnGenerationSpecification=e=>D(this.getOwnNullableGenerationSpecification(e),`Can't find generation specification '${e}'`);getOwnFileGeneration=e=>D(this.getOwnNullableFileGeneration(e),`Can't find file generation '${e}'`);getOwnDataElement=e=>D(this.getOwnNullableDataElement(e),`Can't find data element '${e}'`);getOwnExecutionEnvironment=e=>D(this.getOwnNullableExecutionEnviornment(e),`Can't find execution environment element '${e}'`);getOwnDataProduct=e=>D(this.getOwnNullableDataProduct(e),`Can't find data product element '${e}'`);getOwnNullableExtensionElement(e,t){return this.getExtensionForElementClass(t).getElement(e)}setOwnSection(e,t){this.elementSectionIndex.set(e,t)}setOwnSectionIndex(e,t){this.sectionIndicesIndex.set(e,t)}setOwnProfile(e,t){this.profilesIndex.set(e,t)}setOwnType(e,t){this.typesIndex.set(e,t)}setOwnAssociation(e,t){this.associationsIndex.set(e,t)}setOwnFunction(e,t){this.functionsIndex.set(e,t)}setOwnFunctionActivator(e,t){this.functionActivatorsIndex.set(e,t)}setOwnStore(e,t){this.storesIndex.set(e,t)}setOwnMapping(e,t){this.mappingsIndex.set(e,t)}setOwnConnection(e,t){this.connectionsIndex.set(e,t)}setOwnRuntime(e,t){this.runtimesIndex.set(e,t)}setOwnService(e,t){this.servicesIndex.set(e,t)}setOwnGenerationSpecification(e,t){this.generationSpecificationsIndex.set(e,t)}setOwnFileGeneration(e,t){this.fileGenerationsIndex.set(e,t)}setOwnDataElement(e,t){this.dataElementsIndex.set(e,t)}setOwnExecutionEnvironment(e,t){this.executionEnvironmentsIndex.set(e,t)}setOwnDataProduct(e,t){this.productsIndex.set(e,t)}INTERNAL__setOwnUnknown(e,t){this.INTERNAL__unknownIndex.set(e,t)}INTERNAL__setOwnUnknownElement(e,t){this.INTERNAL__unknownElementsIndex.set(e,t)}setOwnElementInExtension(e,t,n){this.getExtensionForElementClass(n).setElement(e,t)}get allOwnElements(){return[...this.ownProfiles,...this.ownEnumerations,...this.ownMeasures,...this.ownClasses,...this.ownAssociations,...this.ownFunctions,...this.ownFunctionActivators,...this.ownStores,...this.ownMappings,...this.ownServices,...this.ownRuntimes,...this.ownConnections,...this.ownGenerationSpecifications,...this.ownFileGenerations,...this.ownProducts,...this.ownDataElements,...this.ownExecutionEnvironments,...Array.from(this.INTERNAL__unknownElementsIndex.values()),...Array.from(this.INTERNAL__unknownIndex.values()),...this.extensions.flatMap(e=>e.elements)]}get knownAllOwnElements(){return this.allOwnElements.filter(e=>!B(e,wl))}async dispose(){this.allOwnElements.length&&await Promise.all(this.allOwnElements.map(e=>S(()=>{e.dispose()})))}getNullablePackage=e=>e?P(()=>Pc(this.root,e,!1,void 0)):this.root;getOwnNullableElement(e,t){let n=this.sectionIndicesIndex.get(e)??this.INTERNAL__unknownIndex.get(e)??this.INTERNAL__unknownElementsIndex.get(e)??this.typesIndex.get(e)??this.profilesIndex.get(e)??this.associationsIndex.get(e)??this.functionsIndex.get(e)??this.functionActivatorsIndex.get(e)??this.storesIndex.get(e)??this.mappingsIndex.get(e)??this.servicesIndex.get(e)??this.runtimesIndex.get(e)??this.connectionsIndex.get(e)??this.fileGenerationsIndex.get(e)??this.productsIndex.get(e)??this.dataElementsIndex.get(e)??this.executionEnvironmentsIndex.get(e)??this.generationSpecificationsIndex.get(e);if(!n)for(const t of this.extensions){const s=t.getElement(e);if(s){n=s;break}}return t&&!n?this.getNullablePackage(e):n}addOwnElement(e,t){Oc(t?Lc(this,t,void 0):this.root,e),e instanceof cl?this.setOwnMapping(e.path,e):e instanceof pl?this.setOwnStore(e.path,e):e instanceof Ic?this.setOwnType(e.path,e):e instanceof al?this.setOwnAssociation(e.path,e):e instanceof ll?this.setOwnProfile(e.path,e):e instanceof ul?this.setOwnFunction(e.path,e):e instanceof Al?this.setOwnFunctionActivator(e.path,e):e instanceof dl?this.setOwnService(e.path,e):e instanceof ml?this.setOwnConnection(e.path,e):e instanceof gl?this.setOwnRuntime(e.path,e):e instanceof _l?this.setOwnFileGeneration(e.path,e):e instanceof El?this.setOwnGenerationSpecification(e.path,e):e instanceof yl?this.setOwnDataElement(e.path,e):e instanceof Sl?this.setOwnExecutionEnvironment(e.path,e):e instanceof Bl?this.setOwnDataProduct(e.path,e):e instanceof wc||this.getExtensionForElementClass(C(e)).setElement(e.path,e)}deleteOwnElement(e){e.package&&kc(e.package,e),e instanceof wl?this.INTERNAL__unknownIndex.delete(e.path):e instanceof Nl?this.INTERNAL__unknownElementsIndex.delete(e.path):e instanceof cl?this.mappingsIndex.delete(e.path):e instanceof pl?this.storesIndex.delete(e.path):e instanceof Ic?(this.typesIndex.delete(e.path),e instanceof Tl&&(e.canonicalUnit&&this.typesIndex.delete(e.canonicalUnit.path),e.nonCanonicalUnits.forEach(e=>this.typesIndex.delete(e.path)))):e instanceof al?this.associationsIndex.delete(e.path):e instanceof ll?this.profilesIndex.delete(e.path):e instanceof ul?this.functionsIndex.delete(e.path):e instanceof Al?this.functionActivatorsIndex.delete(e.path):e instanceof dl?this.servicesIndex.delete(e.path):e instanceof gl?this.runtimesIndex.delete(e.path):e instanceof ml?this.connectionsIndex.delete(e.path):e instanceof _l?this.fileGenerationsIndex.delete(e.path):e instanceof El?this.generationSpecificationsIndex.delete(e.path):e instanceof yl?this.dataElementsIndex.delete(e.path):e instanceof Sl?this.executionEnvironmentsIndex.delete(e.path):e instanceof Bl?this.productsIndex.delete(e.path):e instanceof wc?e.children.forEach(e=>this.deleteOwnElement(e)):this.getExtensionForElementClass(C(e)).deleteElement(e.path)}renameOwnElement(e,t,n){if(t===n)return;if(!n)throw new k(`Can't rename element '${t} to '${n}': path is empty'`);if(e instanceof wc&&!Boolean(n.match(/^(?:\w[\w$_-]*)(?:::\w[\w$_-]*)*$/))||!(e instanceof wc)&&!Boolean(n.match(/^(?:\w[\w$_-]*)(?:::\w[\w$_-]*)+$/)))throw new k(`Can't rename element '${t} to '${n}': invalid path'`);if(this.getOwnNullableElement(n,!0))throw new k(`Can't rename element '${t} to '${n}': another element with the same path already existed'`);const[s,i]=ra(n);if(!(e instanceof wc)){const t=this.getNullablePackage(s)??(""!==s?Lc(this,s,void 0):this.root);e.name=i,e instanceof ul&&(e.functionName=(o=e,(r=e.name).substring(0,r.indexOf((e=>`_${e.parameters.map(e=>`${e.type.value.name}_${Bc(e.multiplicity.lowerBound,e.multiplicity.upperBound)}_`).join("_")}_${e.returnType.value.rawType.name}_${Bc(e.returnMultiplicity.lowerBound,e.returnMultiplicity.upperBound)}_`)(o))))),e.package!==t&&(e.package&&kc(e.package,e),Oc(t,e))}var o,r;if(e instanceof wl)this.INTERNAL__unknownIndex.delete(t),this.INTERNAL__unknownIndex.set(n,e),e.content={...e.content,name:e.name,package:e.package?.path};else if(e instanceof Nl)this.INTERNAL__unknownElementsIndex.delete(t),this.INTERNAL__unknownElementsIndex.set(n,e),e.content={...e.content,name:e.name,package:e.package?.path};else if(e instanceof Il)this.functionActivatorsIndex.delete(t),this.functionActivatorsIndex.set(n,e),e.content={...e.content,name:e.name,package:e.package?.path};else if(e instanceof xl)this.storesIndex.delete(t),this.storesIndex.set(n,e),e.content={...e.content,name:e.name,package:e.package?.path};else if(e instanceof cl)this.mappingsIndex.delete(t),this.mappingsIndex.set(n,e);else if(e instanceof pl)this.storesIndex.delete(t),this.storesIndex.set(n,e);else if(e instanceof Ic)this.typesIndex.delete(t),this.typesIndex.set(n,e),e instanceof Tl&&(e.canonicalUnit&&(this.typesIndex.delete(e.canonicalUnit.path),this.typesIndex.set(e.canonicalUnit.path.replace(t,n),e.canonicalUnit)),e.nonCanonicalUnits.forEach(e=>{this.typesIndex.delete(e.path),this.typesIndex.set(e.path.replace(t,n),e)}));else if(e instanceof al)this.associationsIndex.delete(t),this.associationsIndex.set(n,e);else if(e instanceof ll)this.profilesIndex.delete(t),this.profilesIndex.set(n,e);else if(e instanceof ul)this.functionsIndex.delete(t),this.functionsIndex.set(n,e);else if(e instanceof Al)this.functionActivatorsIndex.delete(t),this.functionActivatorsIndex.set(n,e);else if(e instanceof dl)this.servicesIndex.delete(t),this.servicesIndex.set(n,e);else if(e instanceof gl)this.runtimesIndex.delete(t),this.runtimesIndex.set(n,e);else if(e instanceof ml)this.connectionsIndex.delete(t),this.connectionsIndex.set(n,e);else if(e instanceof _l)this.fileGenerationsIndex.delete(t),this.fileGenerationsIndex.set(n,e);else if(e instanceof yl)this.dataElementsIndex.delete(t),this.dataElementsIndex.set(n,e);else if(e instanceof Sl)this.executionEnvironmentsIndex.delete(t),this.executionEnvironmentsIndex.set(n,e);else if(e instanceof El)this.generationSpecificationsIndex.delete(t),this.generationSpecificationsIndex.set(n,e);else if(e instanceof wc){const o=new Map;if(e.children.forEach(e=>{o.set(e.path,e)}),e.name=i,!e.package)throw new O("Can't rename root package");const r=e.package;if(r!==this.getNullablePackage(s)){kc(r,e);const t=""!==s?Lc(this,s,void 0):this.root;Oc(t,e)}o.forEach((e,s)=>{this.renameOwnElement(e,s,s.replace(t,n))})}else this.getExtensionForElementClass(C(e)).renameElement(t,n)}TEMPORARY__deleteOwnSectionIndex(){this.sectionIndicesIndex.forEach(e=>{e.setIsDeleted(!0),this.sectionIndicesIndex.delete(e.path)}),this.sectionIndicesIndex=new Map,this.elementSectionIndex=new Map}}class Gl{}class Vl extends Gl{groupId;artifactId;versionId;constructor(e,t,n){super(),this.groupId=e,this.artifactId=t,this.versionId=n}}class $l extends Ul{constructor(e,t,n){super(t.name,e,n),this.root=t}}const Wl=(e,t)=>n=>{for(const s of e.dependencyGraphs){const e=t(s,n);if(e)return e}};class Yl{graphPlugins;_origin;roots=[];projectDependencyModelsIndex=new Map;constructor(e){this.graphPlugins=e}initialize(e){Array.from(e.entries()).forEach(([e,t])=>{const n=new wc((e=>`@dependency__${e}`)(e));this.roots.push(n),this.projectDependencyModelsIndex.set(e,new $l(this.graphPlugins,n,new Vl(t.groupId,t.artifactId,t.versionId)))})}get numberOfDependencies(){return this.projectDependencyModelsIndex.size}get hasDependencies(){return Boolean(this.projectDependencyModelsIndex.size)}get dependencyGraphs(){return Array.from(this.projectDependencyModelsIndex.values())}get allOwnElements(){return this.dependencyGraphs.flatMap(e=>e.allOwnElements)}get origin(){return this._origin}setOrigin(e){if(this._origin)throw new O("Graph origin has already been set");this._origin=e}getOwnNullableSectionIndex=Wl(this,(e,t)=>e.getOwnNullableSectionIndex(t));getOwnNullableProfile=Wl(this,(e,t)=>e.getOwnNullableProfile(t));getOwnNullableType=Wl(this,(e,t)=>e.getOwnNullableType(t));getOwnNullableClass=Wl(this,(e,t)=>e.getOwnNullableClass(t));getOwnNullableEnumeration=Wl(this,(e,t)=>e.getOwnNullableEnumeration(t));getOwnNullableMeasure=Wl(this,(e,t)=>e.getOwnNullableMeasure(t));getOwnNullableAssociation=Wl(this,(e,t)=>e.getOwnNullableAssociation(t));getOwnNullableFunction=Wl(this,(e,t)=>e.getOwnNullableFunction(t));getOwnNullableFunctionActivator=Wl(this,(e,t)=>e.getOwnNullableFunctionActivator(t));getOwnNullableStore=Wl(this,(e,t)=>e.getOwnNullableStore(t));getOwnNullableDataProduct=Wl(this,(e,t)=>e.getOwnNullableDataProduct(t));getOwnNullableIngestDefinition=Wl(this,(e,t)=>e.getOwnNullableIngestDefinition(t));getOwnNullableMapping=Wl(this,(e,t)=>e.getOwnNullableMapping(t));getOwnNullableConnection=Wl(this,(e,t)=>e.getOwnNullableConnection(t));getOwnNullableRuntime=Wl(this,(e,t)=>e.getOwnNullableRuntime(t));getOwnNullableService=Wl(this,(e,t)=>e.getOwnNullableService(t));getOwnNullableGenerationSpecification=Wl(this,(e,t)=>e.getOwnNullableGenerationSpecification(t));getOwnNullableFileGeneration=Wl(this,(e,t)=>e.getOwnNullableFileGeneration(t));getOwnNullableDataElement=Wl(this,(e,t)=>e.getOwnNullableDataElement(t));getOwnExecutionEnvironment=Wl(this,(e,t)=>e.getOwnNullableExecutionEnviornment(t));getOwnNullableExtensionElement(e,t){for(const n of this.dependencyGraphs){const s=n.getExtensionForElementClass(t).getElement(e);if(s)return s}}get sectionIndices(){return this.dependencyGraphs.flatMap(e=>e.ownSectionIndices)}get profiles(){return this.dependencyGraphs.flatMap(e=>e.ownProfiles)}get enumerations(){return this.dependencyGraphs.flatMap(e=>e.ownEnumerations)}get measures(){return this.dependencyGraphs.flatMap(e=>e.ownMeasures)}get classes(){return this.dependencyGraphs.flatMap(e=>e.ownClasses)}get types(){return this.dependencyGraphs.flatMap(e=>e.ownTypes)}get associations(){return this.dependencyGraphs.flatMap(e=>e.ownAssociations)}get functions(){return this.dependencyGraphs.flatMap(e=>e.ownFunctions)}get functionActivators(){return this.dependencyGraphs.flatMap(e=>e.ownFunctionActivators)}get stores(){return this.dependencyGraphs.flatMap(e=>e.ownStores)}get databases(){return this.dependencyGraphs.flatMap(e=>e.ownDatabases)}get mappings(){return this.dependencyGraphs.flatMap(e=>e.ownMappings)}get services(){return this.dependencyGraphs.flatMap(e=>e.ownServices)}get runtimes(){return this.dependencyGraphs.flatMap(e=>e.ownRuntimes)}get connections(){return this.dependencyGraphs.flatMap(e=>e.ownConnections)}get dataElements(){return this.dependencyGraphs.flatMap(e=>e.ownDataElements)}get generationSpecifications(){return this.dependencyGraphs.flatMap(e=>e.ownGenerationSpecifications)}get fileGenerations(){return this.dependencyGraphs.flatMap(e=>e.ownFileGenerations)}get testables(){return this.dependencyGraphs.flatMap(e=>e.ownTestables)}get executionEnvironments(){return this.dependencyGraphs.flatMap(e=>e.ownExecutionEnvironments)}get ingests(){return this.dependencyGraphs.flatMap(e=>e.ownIngests)}getExtensionElements(e){return this.dependencyGraphs.flatMap(t=>t.getExtensionElements(e))}getModel(e){return D(this.projectDependencyModelsIndex.get(e),`Can't find dependency model with project ID '${e}'`)}getNullableElement(e,t){const n=this.dependencyGraphs.find(n=>Boolean(n.getOwnNullableElement(e,t)));return n?.getOwnNullableElement(e,t)}getPackages(e){return this.dependencyGraphs.map(t=>t.getNullablePackage(e)).filter(M)}getElementOrigin(e){const t=this.dependencyGraphs.find(t=>Boolean(t.getOwnNullableElement(e.path)));return t?.origin instanceof Vl?`${t.origin.groupId}:${t.origin.artifactId}`:void 0}}class zl extends pl{static NAME="ModelStore";static INSTANCE=new zl;constructor(){super(zl.NAME)}accept_PackageableElementVisitor(e){throw new k}}class Kl extends Ul{primitiveTypesIndex=new Map;precisePrimitiveTypesIndex=new Map;get primitiveTypes(){return Array.from(this.primitiveTypesIndex.values())}get precisePrimitiveTypes(){return Array.from(this.precisePrimitiveTypesIndex.values())}constructor(e){super(er.CORE,e),this.initializePrimitiveTypes(),this.initializePrecisePrimitiveTypes(),this.setOwnStore(zl.NAME,zl.INSTANCE)}get allOwnElements(){return[...super.allOwnElements,...this.primitiveTypes]}getOwnNullableType(e){let t=e;return Object.values(nr).includes(e)&&(t=ia(e)),super.getOwnNullableType(t)}initializePrimitiveTypes(){[il.STRING,il.BOOLEAN,il.BINARY,il.NUMBER,il.INTEGER,il.FLOAT,il.DECIMAL,il.DATE,il.STRICTDATE,il.DATETIME,il.STRICTTIME,il.LATESTDATE,il.BYTE].forEach(e=>{this.primitiveTypesIndex.set(e.path,e),this.setOwnType(e.path,e)})}initializePrecisePrimitiveTypes(){[ol.VARCHAR,ol.INT,ol.TINY_INT,ol.U_TINY_INT,ol.SMALL_INT,ol.U_SMALL_INT,ol.U_INT,ol.BIG_INT,ol.U_BIG_INT,ol.FLOAT,ol.DOUBLE,ol.NUMERIC,ol.TIMESTAMP].forEach(e=>{this.precisePrimitiveTypesIndex.set(e.path,e),this.setOwnType(e.path,e)})}}class Xl extends Ul{autoImports=[];constructor(e){super(er.SYSTEM,e)}initializeAutoImports(){this.autoImports=rr.map(e=>U(this.getOwnNullableElement(e,!0),wc,`Can't find auto-import package '${e}'`))}}class Jl extends Ul{constructor(e){super(er.MODEL_GENERATION,e)}}class ql extends Ul{coreModel;systemModel;generationModel;dependencyManager;constructor(e,t,n){super(er.MAIN,n),this.coreModel=e,this.systemModel=t,this.generationModel=new Jl(n),this.dependencyManager=new Yl(n)}get autoImports(){return this.systemModel.autoImports}get primitiveTypes(){return this.coreModel.primitiveTypes}get sectionIndices(){return[...this.coreModel.ownSectionIndices,...this.systemModel.ownSectionIndices,...this.dependencyManager.sectionIndices,...this.ownSectionIndices,...this.generationModel.ownSectionIndices]}get profiles(){return[...this.coreModel.ownProfiles,...this.systemModel.ownProfiles,...this.dependencyManager.profiles,...this.ownProfiles,...this.generationModel.ownProfiles]}get enumerations(){return[...this.coreModel.ownEnumerations,...this.systemModel.ownEnumerations,...this.dependencyManager.enumerations,...this.ownEnumerations,...this.generationModel.ownEnumerations]}get measures(){return[...this.coreModel.ownMeasures,...this.systemModel.ownMeasures,...this.dependencyManager.measures,...this.ownMeasures,...this.generationModel.ownMeasures]}get classes(){return[...this.coreModel.ownClasses,...this.systemModel.ownClasses,...this.dependencyManager.classes,...this.ownClasses,...this.generationModel.ownClasses]}get types(){return[...this.coreModel.ownTypes,...this.systemModel.ownTypes,...this.dependencyManager.types,...this.ownTypes,...this.generationModel.ownTypes]}get associations(){return[...this.coreModel.ownAssociations,...this.systemModel.ownAssociations,...this.dependencyManager.associations,...this.ownAssociations,...this.generationModel.ownAssociations]}get functions(){return[...this.coreModel.ownFunctions,...this.systemModel.ownFunctions,...this.dependencyManager.functions,...this.ownFunctions,...this.generationModel.ownFunctions]}get functionActivators(){return[...this.coreModel.ownFunctionActivators,...this.systemModel.ownFunctionActivators,...this.dependencyManager.functionActivators,...this.ownFunctionActivators,...this.generationModel.ownFunctionActivators]}get stores(){return[...this.coreModel.ownStores,...this.systemModel.ownStores,...this.dependencyManager.stores,...this.ownStores,...this.generationModel.ownStores]}get databases(){return[...this.coreModel.ownDatabases,...this.systemModel.ownDatabases,...this.dependencyManager.databases,...this.ownDatabases,...this.generationModel.ownDatabases]}get mappings(){return[...this.coreModel.ownMappings,...this.systemModel.ownMappings,...this.dependencyManager.mappings,...this.ownMappings,...this.generationModel.ownMappings]}get services(){return[...this.coreModel.ownServices,...this.systemModel.ownServices,...this.dependencyManager.services,...this.ownServices,...this.generationModel.ownServices]}get runtimes(){return[...this.coreModel.ownRuntimes,...this.systemModel.ownRuntimes,...this.dependencyManager.runtimes,...this.ownRuntimes,...this.generationModel.ownRuntimes]}get connections(){return[...this.coreModel.ownConnections,...this.systemModel.ownConnections,...this.dependencyManager.connections,...this.ownConnections,...this.generationModel.ownConnections]}get dataElements(){return[...this.coreModel.ownDataElements,...this.systemModel.ownDataElements,...this.dependencyManager.dataElements,...this.ownDataElements,...this.generationModel.ownDataElements]}get executionEnvironments(){return[...this.coreModel.ownExecutionEnvironments,...this.systemModel.ownExecutionEnvironments,...this.dependencyManager.executionEnvironments,...this.ownExecutionEnvironments,...this.generationModel.ownExecutionEnvironments]}get generationSpecifications(){return[...this.coreModel.ownGenerationSpecifications,...this.systemModel.ownGenerationSpecifications,...this.dependencyManager.generationSpecifications,...this.ownGenerationSpecifications,...this.generationModel.ownGenerationSpecifications]}get fileGenerations(){return[...this.coreModel.ownFileGenerations,...this.systemModel.ownFileGenerations,...this.dependencyManager.fileGenerations,...this.ownFileGenerations,...this.generationModel.ownFileGenerations]}get ingests(){return[...this.coreModel.ownIngests,...this.systemModel.ownIngests,...this.dependencyManager.ingests,...this.ownIngests,...this.generationModel.ownIngests]}get allElements(){return[...this.coreModel.allOwnElements,...this.systemModel.allOwnElements,...this.dependencyManager.allOwnElements,...this.allOwnElements,...this.generationModel.allOwnElements]}get testables(){return[...this.coreModel.ownTestables,...this.systemModel.ownTestables,...this.dependencyManager.testables,...this.ownTestables,...this.generationModel.ownTestables]}getPrimitiveType=e=>D(this.coreModel.primitiveTypesIndex.get(e),`Can't find primitive type '${e}'`);getType=e=>D(this.getOwnNullableType(e)??this.generationModel.getOwnNullableType(e)??this.dependencyManager.getOwnNullableType(e)??this.systemModel.getOwnNullableType(e)??this.coreModel.getOwnNullableType(e),`Can't find type '${e}'`);getProfile=e=>D(this.getOwnNullableProfile(e)??this.generationModel.getOwnNullableProfile(e)??this.dependencyManager.getOwnNullableProfile(e)??this.systemModel.getOwnNullableProfile(e),`Can't find profile '${e}'`);getEnumeration=e=>U(this.getType(e),rl,`Can't find enumeration '${e}'`);getMeasure=e=>U(this.getType(e),Tl,`Can't find measure '${e}'`);getUnit=e=>U(this.getType(e),bl,`Can't find unit '${e}'`);getClass=e=>U(this.getType(e),xc,`Can't find class '${e}'`);getAssociation=e=>D(this.getOwnNullableAssociation(e)??this.generationModel.getOwnNullableAssociation(e)??this.dependencyManager.getOwnNullableAssociation(e)??this.systemModel.getOwnNullableAssociation(e),`Can't find association '${e}'`);getPropertyOwner=e=>D(this.getOwnNullableAssociation(e)??this.generationModel.getOwnNullableAssociation(e)??this.dependencyManager.getOwnNullableAssociation(e)??this.systemModel.getOwnNullableAssociation(e)??U(this.getType(e),xc),`Can't find property owner '${e}'`);getFunction=e=>U(this.getOwnNullableFunction(e)??this.generationModel.getOwnNullableFunction(e)??this.dependencyManager.getOwnNullableFunction(e)??this.systemModel.getOwnNullableFunction(e),ul,`Can't find function '${e}'`);getFunctionActivator=e=>U(this.getOwnNullableFunctionActivator(e)??this.generationModel.getOwnNullableFunctionActivator(e)??this.dependencyManager.getOwnNullableFunctionActivator(e)??this.systemModel.getOwnNullableFunctionActivator(e),Al,`Can't find function activator '${e}'`);getStore=e=>D(this.getOwnNullableStore(e)??this.generationModel.getOwnNullableStore(e)??this.dependencyManager.getOwnNullableStore(e)??this.systemModel.getOwnNullableStore(e)??this.coreModel.getOwnNullableStore(e),`Can't find store '${e}'`);getDataProduct=e=>D(this.getOwnNullableDataProduct(e)??this.generationModel.getOwnNullableDataProduct(e)??this.dependencyManager.getOwnNullableDataProduct(e)??this.systemModel.getOwnNullableDataProduct(e)??this.coreModel.getOwnNullableDataProduct(e),`Can't find data product '${e}'`);getIngestDefinition=e=>D(this.getOwnNullableIngestDefinition(e)??this.generationModel.getOwnNullableIngestDefinition(e)??this.dependencyManager.getOwnNullableIngestDefinition(e)??this.systemModel.getOwnNullableIngestDefinition(e)??this.coreModel.getOwnNullableIngestDefinition(e),`Can't find ingest definition '${e}'`);getFlatDataStore=e=>U(this.getStore(e),hl,`Can't find flat-data store '${e}'`);getDatabase=e=>U(this.getStore(e),Cl,`Can't find database store '${e}'`);getMapping=e=>D(this.getOwnNullableMapping(e)??this.generationModel.getOwnNullableMapping(e)??this.dependencyManager.getOwnNullableMapping(e)??this.systemModel.getOwnNullableMapping(e),`Can't find mapping '${e}'`);getService=e=>D(this.getOwnNullableService(e)??this.generationModel.getOwnNullableService(e)??this.dependencyManager.getOwnNullableService(e)??this.systemModel.getOwnNullableService(e),`Can't find service '${e}'`);getConnection=e=>D(this.getOwnNullableConnection(e)??this.generationModel.getOwnNullableConnection(e)??this.dependencyManager.getOwnNullableConnection(e)??this.systemModel.getOwnNullableConnection(e),`Can't find connection '${e}'`);getRuntime=e=>D(this.getOwnNullableRuntime(e)??this.generationModel.getOwnNullableRuntime(e)??this.dependencyManager.getOwnNullableRuntime(e)??this.systemModel.getOwnNullableRuntime(e),`Can't find runtime '${e}'`);getGenerationSpecification=e=>D(this.getOwnNullableGenerationSpecification(e)??this.generationModel.getOwnNullableGenerationSpecification(e)??this.dependencyManager.getOwnNullableGenerationSpecification(e)??this.systemModel.getOwnNullableGenerationSpecification(e),`Can't find generation specification '${e}'`);getFileGeneration=e=>D(this.getOwnNullableFileGeneration(e)??this.generationModel.getOwnNullableFileGeneration(e)??this.dependencyManager.getOwnNullableFileGeneration(e)??this.systemModel.getOwnNullableFileGeneration(e),`Can't find file generation '${e}'`);getDataElement=e=>D(this.getOwnNullableDataElement(e)??this.generationModel.getOwnNullableDataElement(e)??this.dependencyManager.getOwnNullableDataElement(e)??this.systemModel.getOwnNullableDataElement(e),`Can't find data element '${e}'`);getExtensionElement(e,t,n){return D(this.getOwnNullableExtensionElement(e,t)??this.generationModel.getOwnNullableExtensionElement(e,t)??this.dependencyManager.getOwnNullableExtensionElement(e,t)??this.systemModel.getOwnNullableExtensionElement(e,t),n??`Can't find element '${e}'`)}getElement=(e,t)=>D(this.getNullableElement(e,t),`Can't find element '${e}'`);getNullableClass=e=>P(()=>this.getClass(e));getNullableMapping=e=>P(()=>this.getMapping(e));getNullableService=e=>P(()=>this.getService(e));getNullableRuntime=e=>P(()=>this.getRuntime(e));getNullableFileGeneration=e=>P(()=>this.getFileGeneration(e));getNullableElement(e,t){const n=super.getOwnNullableElement(e)??this.dependencyManager.getNullableElement(e)??this.generationModel.getOwnNullableElement(e)??this.systemModel.getOwnNullableElement(e)??this.coreModel.getOwnNullableElement(e);return t&&!n?this.getNullablePackage(e)??this.dependencyManager.getNullableElement(e,!0)??this.generationModel.getNullablePackage(e)??this.systemModel.getNullablePackage(e):n}getPackages(e){return[this.getNullablePackage(e),...this.dependencyManager.getPackages(e),this.generationModel.getNullablePackage(e),this.systemModel.getNullablePackage(e)].filter(M)}getMultiplicity(e,t){let n;return 1===e&&1===t?n=jc.ONE:0===e&&1===t?n=jc.ZERO_ONE:0===e&&void 0===t?n=jc.ZERO_MANY:1===e&&void 0===t?n=jc.ONE_MANY:0===e&&0===t&&(n=jc.ZERO),n??new jc(e,t)}addElement(e,t){const n=aa(t??"",e.name);if(this.getNullableElement(n,!1))throw new O(`Can't create element '${n}': another element with the same path already existed`);super.addOwnElement(e,t)}deleteElement(e){super.deleteOwnElement(e);const t=this.graphPlugins.flatMap(e=>e.getExtraDeadReferencesCleaners?.()??[]);for(const e of t)e(this)}renameElement(e,t){if(this.getNullableElement(t,!1))throw new O(`Can't rename element '${e.path}' to '${t}': another element with the same path already existed`);super.renameOwnElement(e,e.path,t)}}class Zl{_UUID=(0,o.A)();_OWNER;value;constructor(e,t){this._OWNER=e,this.value=t}}class Ql{_UUID=(0,o.A)();_OWNER;value;constructor(e,t){this._OWNER=e,this.value=t}}class ed extends lc{ownerReference;value;constructor(e,t){super(e),this.ownerReference=e,this.value=t}get pointerHashCode(){return[za.PROPERTY_POINTER,this.value.name,this.ownerReference.valueForSerialization??""].map(Nr).join(",")}}class td extends ed{ownerReference;constructor(e){const t=uc.create(e._OWNER);super(t,e),this.ownerReference=t}static create(e){return new td(e)}}class nd{sourceId;line;column;startLine;startColumn;endLine;endColumn}(0,pe.PL)(nd,{column:(0,pe.MY)(),endLine:(0,pe.MY)(),endColumn:(0,pe.MY)(),line:(0,pe.MY)(),sourceId:(0,pe.MY)(),startLine:(0,pe.MY)(),startColumn:(0,pe.MY)()});const sd=(0,pe.Ie)(()=>pe._Z,e=>(e.sourceId=e.source,(0,pe.iu)(nd,e)));class id{package;name;tags=[];stereotypes=[]}(0,pe.PL)(id,{name:(0,pe.MY)(),package:(0,pe.MY)(),stereotypes:(0,pe.p_)((0,pe.MY)()),tags:(0,pe.p_)((0,pe.MY)())});class od{profile;value}(0,pe.PL)(od,{profile:(0,pe.MY)(),value:(0,pe.MY)()});class rd{profile;value}(0,pe.PL)(rd,{profile:(0,pe.MY)(),value:(0,pe.MY)()});class ad{tag;value}(0,pe.PL)(ad,{tag:(0,pe.Ik)(rd),value:(0,pe.MY)()});class cd{rawType;typeParameter}(0,pe.PL)(cd,{rawType:(0,pe.lq)((0,pe.MY)()),typeParameter:(0,pe.lq)((0,pe.MY)())});class ld{name;stereotypes=[];taggedValues=[];aggregation;multiplicity;genericType}(0,pe.PL)(ld,{aggregation:(0,pe.MY)(),genericType:(0,pe.Ik)(cd),multiplicity:(0,pe.MY)(),name:(0,pe.MY)(),stereotypes:(0,pe.p_)((0,pe.Ik)(od)),taggedValues:(0,pe.p_)((0,pe.Ik)(ad))});class dd{package;name;sourceInformation}(0,pe.PL)(dd,{name:(0,pe.MY)(),package:(0,pe.MY)(),sourceInformation:sd});class ud{package;name;sourceInformation;stereotypes=[];taggedValues=[];generalizations=[];properties=[];qualifiedProperties=[]}(0,pe.PL)(ud,{generalizations:(0,pe.p_)((0,pe.Ik)(cd)),name:(0,pe.MY)(),package:(0,pe.MY)(),properties:(0,pe.p_)((0,pe.Ik)(ld)),qualifiedProperties:(0,pe.p_)((0,pe.Ik)(ld)),sourceInformation:sd,stereotypes:(0,pe.p_)((0,pe.Ik)(od)),taggedValues:(0,pe.p_)((0,pe.Ik)(ad))});class pd{package;name;enumValues=[]}(0,pe.PL)(pd,{name:(0,pe.MY)(),package:(0,pe.MY)(),enumValues:(0,pe.p_)((0,pe.MY)())});class hd{x;y}(0,pe.PL)(hd,{x:(0,pe.MY)(),y:(0,pe.MY)()});class gd{height;width}(0,pe.PL)(gd,{height:(0,pe.MY)(),width:(0,pe.MY)()});class md{points=[]}(0,pe.PL)(md,{points:(0,pe.p_)((0,pe.Ik)(hd))});class fd{id;source;target;geometry}(0,pe.PL)(fd,{geometry:(0,pe.Ik)(md),id:(0,pe.MY)(),source:(0,pe.MY)(),target:(0,pe.MY)()});class _d{name;owningType}(0,pe.PL)(_d,{name:(0,pe.MY)(),owningType:(0,pe.MY)()});class Ed{id;source;target;property;geometry}(0,pe.PL)(Ed,{geometry:(0,pe.Ik)(md),id:(0,pe.MY)(),property:(0,pe.Ik)(_d),source:(0,pe.MY)(),target:(0,pe.MY)()});class bd{id;type;position;rectangleGeometry}(0,pe.PL)(bd,{id:(0,pe.MY)(),position:(0,pe.Ik)(hd),rectangleGeometry:(0,pe.Ik)(gd),type:(0,pe.MY)()});class Td{package;name;stereotypes=[];taggedValues=[];generalizationViews=[];propertyViews=[];typeViews=[];sourceInformation}(0,pe.PL)(Td,{name:(0,pe.MY)(),generalizationViews:(0,pe.p_)((0,pe.Ik)(fd)),package:(0,pe.MY)(),propertyViews:(0,pe.p_)((0,pe.Ik)(Ed)),sourceInformation:sd,stereotypes:(0,pe.p_)((0,pe.Ik)(od)),taggedValues:(0,pe.p_)((0,pe.Ik)(ad)),typeViews:(0,pe.p_)((0,pe.Ik)(bd))});class Cd{classes=[];enumerations=[];profiles=[]}(0,pe.PL)(Cd,{classes:(0,pe.p_)((0,pe.Ik)(ud)),enumerations:(0,pe.p_)((0,pe.Ik)(pd)),profiles:(0,pe.p_)((0,pe.Ik)(id))});class vd{name;diagram;domainInfo}(0,pe.PL)(vd,{diagram:(0,pe.Ik)(Td),name:(0,pe.MY)(),domainInfo:(0,pe.lq)((0,pe.Ik)(Cd))});class yd{class;enumerations=[];profiles=[];specializations=[]}(0,pe.PL)(yd,{class:(0,pe.Ik)(ud),enumerations:(0,pe.p_)((0,pe.Ik)(pd)),profiles:(0,pe.p_)((0,pe.Ik)(id)),specializations:(0,pe.p_)((0,pe.Ik)(dd))});const Sd=e=>{const t=e.classViews.map(e=>` TypeView ${e.id}(\n type=${e.class.value.path},\n position=(${e.position.x.toFixed(5)}, ${e.position.y.toFixed(5)}),\n width=${e.rectangle.width.toFixed(5)},\n height=${e.rectangle.height.toFixed(5)},\n stereotypesVisible=true,\n attributesVisible=true,\n attributeStereotypesVisible=true,\n attributeTypesVisible=true,\n color=#FFFFCC,\n lineWidth=1.0)`),n=e.generalizationViews.map((e,t)=>` GeneralizationView gview_${t}(\n source=${e.from.classView.value.id},\n target=${e.to.classView.value.id},\n points=[${e.buildFullPath().map(e=>`(${e.x.toFixed(5)},${e.y.toFixed(5)})`).join(",")}],\n label='',\n color=#000000,\n lineWidth=-1.0,\n lineStyle=SIMPLE)`),s=e.propertyViews.map((e,t)=>` PropertyView pview_${t}(\n property=${e.property.value._OWNER.path}.${e.property.value.name},\n source=${e.from.classView.value.id},\n target=${e.to.classView.value.id},\n points=[${e.buildFullPath().map(e=>`(${e.x.toFixed(5)},${e.y.toFixed(5)})`).join(",")}],\n label='',\n propertyPosition=(0.0,0.0),\n multiplicityPosition=(0.0,0.0),\n color=#000000,\n lineWidth=-1.0,\n stereotypesVisible=true,\n nameVisible=true,\n lineStyle=SIMPLE)`);return`Diagram ${e.path}(width=0.0, height=0.0)\n{\n${[...t,...n,...s].join("\n\n")}\n}`},Nd=(e,t,n,s)=>{const i=t.getOwnNullableClass(e);if(!i){const[i,o]=ra(e),r=new xc(o);return Oc(Pc(t.root,i,!0,new Map),r),t.setOwnType(e,r),n.set(e,{isStubbed:!0,sourceInformation:s}),r}return i},Ad=e=>{if("*"===e)return new jc(0,void 0);{const t=e.split("..");if(1===t.length)return new jc(parseInt(D(t[0]),10),parseInt(D(t[0]),10));if(2===t.length)return new jc(parseInt(D(t[0]),10),"*"===t[1]?void 0:parseInt(D(t[1]),10));throw new Error(`Can't parse multiplicity value '${e}'`)}},Id=(e,t,n,s)=>{t.taggedValues.forEach(t=>{var s,i;N(e.taggedValues,new Hc(Gc.create((s=n.getProfile(t.tag.profile),i=t.tag.value,D(s.p_tags.find(e=>e.value===i),`Can't find tag '${i}' in profile '${s.path}'`))),t.value))}),t.stereotypes.forEach(t=>{var s,i;N(e.stereotypes,$c.create((s=n.getProfile(t.profile),i=t.value,D(s.p_stereotypes.find(e=>e.value===i),`Can't find stereotype '${i}' in profile '${s.path}'`))))}),t.generalizations.filter(e=>Boolean(e.rawType)).forEach(t=>{const i=Nd(D(t.rawType),n,s,void 0);N(e.generalizations,Yc.create(new Jc(i))),N(i._subclasses,e)}),t.properties.filter(e=>Boolean(e.genericType.rawType)).forEach(t=>{const i=new qc(t.name,Ad(t.multiplicity),Yc.create(new Jc(n.getOwnNullableEnumeration(D(t.genericType.rawType))??Nd(D(t.genericType.rawType),n,s,void 0))),e);i.aggregation="Composite"===t.aggregation?Zc.COMPOSITE:"Shared"===t.aggregation?Zc.SHARED:void 0,N(e.properties,i)}),t.qualifiedProperties.filter(e=>e.genericType.rawType).forEach(t=>{N(e.derivedProperties,new nl(t.name,Ad(t.multiplicity),Yc.create(new Jc(n.getOwnNullableEnumeration(D(t.genericType.rawType))??Nd(D(t.genericType.rawType),n,s,void 0))),e))})},xd=e=>{const t=new ql(new Kl([]),new Xl([]),[]),n=new Map;if(e.domainInfo){const s=e.domainInfo;s.classes.forEach(e=>{const s=new xc(e.name);Oc(Pc(t.root,e.package,!0,new Map),s),t.setOwnType(s.path,s),n.set(s.path,{sourceInformation:e.sourceInformation,isStubbed:!1})}),s.profiles.forEach(e=>{const n=new ll(e.name);Oc(Pc(t.root,e.package,!0,new Map),n),t.setOwnProfile(n.path,n),e.tags.forEach(e=>N(n.p_tags,new Zl(n,e))),e.stereotypes.forEach(e=>N(n.p_stereotypes,new Ql(n,e)))}),s.enumerations.forEach(e=>{const n=new rl(e.name);Oc(Pc(t.root,e.package,!0,new Map),n),t.setOwnType(n.path,n)}),s.classes.forEach(e=>{const s=`${e.package}${""===e.package?"":qo}${e.name}`,i=t.getClass(s);Id(i,e,t,n)})}const s=e.diagram,i=new nc(s.name);return Oc(Pc(t.root,s.package,!0,new Map),i),s.typeViews.forEach(e=>{const n=new rc(i,e.id,uc.create(t.getClass(e.type)));n.position=new sc(e.position.x,e.position.y),n.rectangle=new ic(e.rectangleGeometry.width,e.rectangleGeometry.height),N(i.classViews,n)}),s.propertyViews.forEach(e=>{const n=new fc(i,td.create((s=t.getClass(e.property.owningType),o=e.property.name,D(s instanceof xc?Dc(s).find(e=>e.name===o):s.properties.find(e=>e.name===o),`Can't find property '${o}' of '${s.path}'`))),D(i.classViews.find(t=>t.id===e.source)),D(i.classViews.find(t=>t.id===e.target)));var s,o;n.path=e.geometry.points.map(e=>new sc(e.x,e.y)),Tc(n),N(i.propertyViews,n)}),s.generalizationViews.forEach(e=>{const t=new Ac(i,D(i.classViews.find(t=>t.id===e.source)),D(i.classViews.find(t=>t.id===e.target)));t.path=e.geometry.points.map(e=>new sc(e.x,e.y)),Tc(t),N(i.generalizationViews,t)}),[i,t,n]};var wd,Od,kd;!function(e){e.PROFILE="Profile",e.CLASS="Class",e.ENUMERATION="Enum",e.MEASURE="Measure",e.ASSOCIATION="Association",e.FUNCTION="function",e.MAPPING="Mapping",e.FLAT_DATA="FlatData",e.DATABASE="Database",e.SERVICE="Service",e.RUNTIME="Runtime",e.CONNECTION="Connection",e.FILE_GENERATION="FileGeneration",e.GENERATION_SPECIFICATION="GenerationSpecification",e.DATA_ELEMENT="Data",e.EXECUTION_ENVIRONMENT="ExecutionEnvironment"}(wd||(wd={})),function(e){e.JSON_MODEL_CONNECTION="JsonModelConnection",e.XML_MODEL_CONNECTION="XmlModelConnection",e.MODEL_CHAIN_CONNECTION="ModelChainConnection",e.RELATIONAL_DATABASE_CONNECTION="RelationalDatabaseConnection",e.FLAT_DATA_CONNECTION="FlatDataConnection"}(Od||(Od={})),function(e){e.PURE="Pure",e.CONNECTION="Connection",e.RUNTIME="Runtime",e.MAPPING="Mapping",e.SERVICE="Service",e.FLATDATA="FlatData",e.RELATIONAL="Relational",e.GENERATION_SPECIFICATION="GenerationSpecification",e.FILE_GENERATION_SPECIFICATION="FileGeneration",e.DATA="Data"}(kd||(kd={}));const Rd=(e,t)=>e===t?e.toString():0===e&&void 0===t?"*":`${e}..${t??"*"}`;class Pd extends mc{association;constructor(e,t,n,s,i){super(e,n,s,i),this.association=t}get hashCode(){return Ar([tc.ASSOCIATION_VIEW,super.hashCode,this.association.valueForSerialization??""])}}class Ld{_OWNER;parserName;elements=[];constructor(e,t){this.parserName=e,this._OWNER=t}get hashCode(){return Ar([za.SECTION,this.parserName,Ar(this.elements.map(e=>e.valueForSerialization??""))])}}class Md extends Ld{imports=[];get hashCode(){return Ar([za.IMPORT_AWARE_CODE_SECTION,super.hashCode,Ar(this.imports.map(e=>e.valueForSerialization??""))])}}class Fd extends Ld{get hashCode(){return Ar([za.DEFAULT_CODE_SECTION,super.hashCode])}}const Dd=e=>t=>(0,Te.AT)(t)?t:e(t),Bd=e=>(t,n)=>(0,Te.AT)(t)?t:e(t,n),jd=e=>{(0,Te.Gn)(e,{_isDeleted:Te.sH,_isDisposed:Te.sH,name:Te.sH,package:Te.sH,isDeleted:Te.EW,path:Te.EW,_elementHashCode:Te.EW,hashCode:Te.EW,setIsDeleted:Te.XI,dispose:Te.XI})},Hd=Dd(e=>(jd(e),(0,Te.Gn)(e,{content:Te.sH.ref}),e)),Ud=Dd(e=>(jd(e),(0,Te.Gn)(e,{content:Te.sH.ref}),e)),Gd=Dd(e=>(0,Te.Gn)(e,{value:Te.sH,valueForSerialization:Te.EW})),Vd=Dd(e=>(0,Te.Gn)(e,{name:Te.sH,value:Te.sH.ref,hashCode:Te.EW})),$d=Dd(e=>(jd(e),(0,Te.Gn)(e,{type:Te.sH,generationOutputPath:Te.sH,scopeElements:Te.sH,configurationProperties:Te.sH,_elementHashCode:Te.$Z}),e.scopeElements.forEach(e=>{e instanceof dc&&Gd(e)}),e.configurationProperties.forEach(Vd),e)),Wd=Dd(e=>((0,Te.Gn)(e,{id:Te.sH,hashCode:Te.EW}),Gd(e.generationElement),e)),Yd=Dd(e=>(jd(e),(0,Te.Gn)(e,{generationNodes:Te.sH,fileGenerations:Te.sH,_elementHashCode:Te.$Z}),e.generationNodes.forEach(Wd),e.fileGenerations.forEach(Gd),e));class zd{_OWNER;included;constructor(e,t){this._OWNER=e,this.included=t}}class Kd extends zd{storeSubstitutions=[];get hashCode(){return Ar([za.MAPPING_INCLUDE_MAPPING,this.included.valueForSerialization??"",this.storeSubstitutions[0]?.original.valueForSerialization??"",this.storeSubstitutions[0]?.substitute.valueForSerialization??""])}}class Xd{}class Jd extends Xd{expectedOutput;constructor(e){super(),this.expectedOutput=et(e)}get hashCode(){return Ar([za.EXPECTED_OUTPUT_MAPPING_TEST_ASSERT,this.expectedOutput])}}class qd{}var Zd,Qd;!function(e){e.JSON="JSON",e.XML="XML"}(Zd||(Zd={}));class eu extends qd{sourceClass;inputType;data;constructor(e,t,n){super(),this.sourceClass=e,this.inputType=t,this.data=t===Zd.JSON?et(n):n}get hashCode(){return Ar([za.OBJECT_INPUT_DATA,this.sourceClass.valueForSerialization??"",this.inputType,this.data])}}class tu extends qd{sourceFlatData;data;constructor(e,t){super(),this.sourceFlatData=e,this.data=t}get hashCode(){return Ar([za.FLAT_DATA_INPUT_DATA,qa(hr.STORE,this.sourceFlatData.valueForSerialization??""),this.data])}}!function(e){e.SQL="SQL",e.CSV="CSV"}(Qd||(Qd={}));class nu extends qd{database;data;inputType;constructor(e,t,n){super(),this.database=e,this.data=t,this.inputType=n}get hashCode(){return Ar([za.RELATIONAL_INPUT_DATA,this.database.valueForSerialization??"",this.data,this.inputType])}}class su{}class iu extends su{mappings=[];connectionStores=[];connections=[];get hashCode(){return Ar([za.ENGINE_RUNTIME,Ar(this.mappings.map(e=>qa(hr.MAPPING,e.valueForSerialization??""))),Ar(this.connectionStores),Ar(this.connections.filter(e=>e.storeConnections.length))])}}class ou extends iu{environment;warehouse;connectionPointer;constructor(e,t,n){super(),this.environment=e,this.warehouse=t,this.connectionPointer=n}get hashCode(){return Ar([za.LAKEHOUSE_RUNTIME,this.environment??"",this.warehouse??"",this.connectionPointer??""])}}class ru extends su{packageableRuntime;constructor(e){super(),this.packageableRuntime=e}get hashCode(){return Ar([za.RUNTIME_POINTER,this.packageableRuntime.valueForSerialization??""])}}const au=Dd(e=>((0,Te.Gn)(e,{value:Te.sH,hashCode:Te.EW}),Gd(e.type),e)),cu=Dd(e=>(0,Te.Gn)(e,{body:Te.sH.ref,parameters:Te.sH.ref,hashCode:Te.EW})),lu=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,multiplicity:Te.sH,hashCode:Te.EW}),Gd(e.type),e));class du{observerContext;constructor(e){this.observerContext=e}visit_RawLambda(e){cu(e)}visit_RawVariableExpression(e){lu(e)}visit_RawPrimitiveInstanceValue(e){au(e)}}Bd((e,t)=>(e.accept_RawValueSpecificationVisitor(new du(t)),e));class uu{_correspondingPrimitiveType;constructor(e){this._correspondingPrimitiveType=e}}class pu extends uu{trueString;falseString;get hashCode(){return Ar([za.FLAT_DATA_BOOLEAN,this.trueString??"",this.falseString??""])}}class hu extends uu{get hashCode(){return Ar([za.FLAT_DATA_STRING])}}class gu extends uu{get hashCode(){return Ar([za.FLAT_DATA_NUMBER])}}class mu extends uu{dateFormat;timeZone;get hashCode(){return Ar([za.FLAT_DATA_DATE,this.dateFormat?Ar(this.dateFormat):"",this.timeZone??""])}}class fu extends uu{fields=[];get hashCode(){return Ar([za.FLAT_DATA_RECORD_TYPE,Ar(this.fields)])}}const _u=Bd((e,t)=>(Om(e,t),(0,Te.Gn)(e,{flatData:Te.sH,sectionName:Te.sH,hashCode:Te.EW}),e)),Eu=Dd(e=>((0,Te.Gn)(e,{label:Te.sH,flatDataDataType:Te.sH,optional:Te.sH,address:Te.sH,hashCode:Te.EW}),(e=>{e instanceof pu?(0,Te.Gn)(e,{trueString:Te.sH,falseString:Te.sH,hashCode:Te.EW}):e instanceof hu||e instanceof gu?(0,Te.Gn)(e,{hashCode:Te.EW}):e instanceof mu?(0,Te.Gn)(e,{dateFormat:Te.sH,timeZone:Te.sH,hashCode:Te.EW}):e instanceof fu&&Dd(bu)(e)})(e.flatDataDataType),e));function bu(e){return(0,Te.Gn)(e,{fields:Te.sH,hashCode:Te.EW}),e.fields.forEach(Eu),e}Dd(bu);const Tu=Dd(bu),Cu=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,value:Te.sH,hashCode:Te.EW}),e)),vu=Dd(e=>((0,Te.Gn)(e,{driverId:Te.sH,name:Te.sH,sectionProperties:Te.sH,recordType:Te.sH,hashCode:Te.EW}),e.sectionProperties.forEach(Cu),e.recordType&&Tu(e.recordType),e)),yu=(Dd(e=>((0,Te.Gn)(e,{value:Te.sH,pointerHashCode:Te.EW}),Gd(e.ownerReference),e)),Dd(e=>(jd(e),(0,Te.Gn)(e,{sections:Te.sH,_elementHashCode:Te.$Z}),e.sections.forEach(vu),e))),Su=Dd(e=>((0,Te.Gn)(e,{value:Te.sH}),Gd(e.ownerReference),e)),Nu=Bd((e,t)=>(Hm(e,t),(0,Te.Gn)(e,{filter:Te.sH,hashCode:Te.EW}),Su(e.sourceRootRecordType),e.filter&&cu(e.filter),e)),Au=Bd((e,t)=>(Om(e,t),Hm(e,t),(0,Te.Gn)(e,{rootInstanceSetImplementation:Te.sH,hashCode:Te.EW}),e)),Iu=Bd((e,t)=>(Om(e,t),(0,Te.Gn)(e,{transformer:Te.sH,transform:Te.sH,hashCode:Te.EW}),cu(e.transform),e)),xu=Dd(e=>((0,Te.Gn)(e,{data:Te.sH,hashCode:Te.EW}),Gd(e.sourceFlatData),e)),wu=Dd(e=>((0,Te.Gn)(e,{url:Te.sH,hashCode:Te.EW}),e));class Ou{}class ku extends Ou{serverPrincipal;get hashCode(){return Ar([za.DELEGRATED_KEREBEROS_AUTHENTICATION_STRATEGY,this.serverPrincipal?.toString()??""])}}class Ru extends Ou{get hashCode(){return Ar([za.DEFAULT_H2_AUTHENTICATION_STRATEGY])}}class Pu extends Ou{apiToken;constructor(e){super(),this.apiToken=e}get hashCode(){return Ar([za.API_TOKEN_AUTHENTICATION_STRATEGY,this.apiToken])}}class Lu extends Ou{oauthKey;scopeName;constructor(e,t){super(),this.oauthKey=e,this.scopeName=t}get hashCode(){return Ar([za.OAUTH_AUTHENTICATION_STRATEGY,this.oauthKey,this.scopeName])}}class Mu extends Ou{privateKeyVaultReference;passPhraseVaultReference;publicUserName;constructor(e,t,n){super(),this.privateKeyVaultReference=e,this.passPhraseVaultReference=t,this.publicUserName=n}get hashCode(){return Ar([za.SNOWFLAKE_PUBLIC_AUTHENTICATION_STRATEGY,this.privateKeyVaultReference,this.passPhraseVaultReference,this.publicUserName])}}class Fu extends Ou{get hashCode(){return Ar([za.GCP_APPLICATION_DEFAULT_CREDENTIALS_AUTHENTICATION_STRATEGY])}}class Du extends Ou{serviceAccountEmail;additionalGcpScopes=[];constructor(e,t=[]){super(),this.serviceAccountEmail=e,this.additionalGcpScopes=t}get hashCode(){return Ar([za.GCP_WORKLOAD_IDENTITY_FEDERATION_AUTHENTICATION_STRATEGY,this.serviceAccountEmail,Ar(this.additionalGcpScopes)])}}class Bu extends Ou{baseVaultReference;userNameVaultReference;passwordVaultReference;constructor(e,t){super(),this.userNameVaultReference=e,this.passwordVaultReference=t}get hashCode(){return Ar([za.USERNAME_PASSWORD_AUTHENTICATION_STRATEGY,this.baseVaultReference?.toString()??"",this.userNameVaultReference,this.passwordVaultReference])}}class ju extends Ou{vaultReference;constructor(e){super(),this.vaultReference=e}get hashCode(){return Ar([za.MIDDLE_TIER_USERNAME_PASSWORD_AUTHENTICATION_STRATEGY,this.vaultReference])}}class Hu extends Ou{kerberosRemoteServiceName;kerberosUseCanonicalHostname;constructor(e,t){super(),this.kerberosRemoteServiceName=e,this.kerberosUseCanonicalHostname=t}get hashCode(){return Ar([za.TRINO_DELEGATED_KERBEROS_AUTHENTICATION_STRATEGY,this.kerberosRemoteServiceName,this.kerberosUseCanonicalHostname.toString()])}}class Uu{}class Gu extends Uu{host;port;databaseName;constructor(e,t,n){super(),this.host=e,this.port=t,this.databaseName=n}get hashCode(){return Ar([za.STATIC_DATASOURCE_SPECIFICATION,this.host,this.port.toString(),this.databaseName])}}class Vu extends Uu{hostname;port;protocol;httpPath;constructor(e,t,n,s){super(),this.hostname=e,this.port=t,this.protocol=n,this.httpPath=s}get hashCode(){return Ar([za.DATABRICKS_DATASOURCE_SPECIFICATION,this.hostname,this.port,this.protocol,this.httpPath])}}class $u extends Uu{databaseName;directory;autoServerMode;constructor(e,t,n){super(),this.databaseName=e,this.directory=t,this.autoServerMode=n}get hashCode(){return Ar([za.EMBEDDED_H2_DATASOURCE_SPECIFICATION,this.databaseName,this.directory,this.autoServerMode.toString()])}}class Wu extends Uu{testDataSetupCsv;testDataSetupSqls=[];get hashCode(){return Ar([za.LOCAL_H2_DATASOURCE_SPECIFICATION,this.testDataSetupCsv??"",Ar(this.testDataSetupSqls)])}}class Yu extends Uu{accountName;region;warehouseName;databaseName;cloudType;quotedIdentifiersIgnoreCase;proxyHost;proxyPort;nonProxyHosts;organization;accountType;role;enableQueryTags;tempTableDb;tempTableSchema;constructor(e,t,n,s){super(),this.region=t,this.warehouseName=n,this.databaseName=s,this.accountName=e}get hashCode(){return Ar([za.SNOWFLAKE_DATASOURCE_SPECIFICATION,this.accountName,this.region,this.warehouseName,this.databaseName,this.cloudType??"",this.proxyHost??"",this.proxyPort??"",this.nonProxyHosts??"",this.organization??"",this.accountType??"",this.role??"",this.quotedIdentifiersIgnoreCase?.toString()??"",this.enableQueryTags?.toString()??"",this.tempTableDb??"",this.tempTableSchema??""])}}class zu extends Uu{clusterID;databaseName;host;port;region;endpointURL;constructor(e,t,n,s,i,o){super(),this.clusterID=i,this.region=o,this.host=s,this.databaseName=e,this.endpointURL=t,this.port=n}get hashCode(){return Ar([za.REDSHIFT_DATASOURCE_SPECIFICATION,this.databaseName,this.endpointURL,this.port.toString(),this.clusterID,this.host,this.region])}}class Ku extends Uu{projectId;defaultDataset;proxyHost;proxyPort;constructor(e,t){super(),this.projectId=e,this.defaultDataset=t}get hashCode(){return Ar([za.BIGQUERY_DATASOURCE_SPECIFICATION,this.projectId,this.defaultDataset,this.proxyHost??"",this.proxyPort??""])}}class Xu extends Uu{projectId;instanceId;databaseId;proxyHost;proxyPort;constructor(e,t,n,s,i){super(),this.projectId=e,this.instanceId=t,this.databaseId=n,this.proxyHost=s,this.proxyPort=i}get hashCode(){return Ar([za.SPANNER_DATASOURCE_SPECIFICATION,this.projectId,this.instanceId,this.databaseId,this.proxyHost??"",this.proxyPort??""])}}class Ju extends Uu{host;port;sslSpecification;catalog;schema;clientTags;constructor(e,t,n){super(),this.host=e,this.port=t,this.sslSpecification=n}get hashCode(){return Ar([za.TRINO_DATASOURCE_SPECIFICATION,this.host,this.port.toString(),this.sslSpecification,this.catalog??"",this.schema??"",this.clientTags??""])}}class qu{}class Zu extends qu{_UUID=(0,o.A)();from;to;constructor(e,t){super(),this.from=e,this.to=t}get hashCode(){return Ar([this.from,this.to])}}class Qu extends Zu{get hashCode(){return Ar([super.hashCode,za.SCHEMA_MAPPER])}}class ep extends Zu{schema;constructor(e,t,n){super(e,t),this.schema=n}get hashCode(){return Ar([super.hashCode,za.TABLE_MAPPER,this.schema])}}class tp{_UUID=(0,o.A)()}class np extends tp{mappers=[];get hashCode(){return Ar([za.MAPPER_POST_PROCESSOR,Ar(this.mappers)])}}const sp="{target}",ip="default";class op{stereotypes=[];taggedValues=[]}class rp extends op{}class ap extends rp{}class cp extends ap{name;parameters=[];constructor(e){super(),this.name=e}get hashCode(){return Ar([za.RELATIONAL_OPERATION_DYNA_FUNC,this.name,Ar(this.parameters)])}}var lp;!function(e){e.INNER="INNER",e.LEFT_OUTER="LEFT_OUTER",e.RIGHT_OUTER="RIGHT_OUTER",e.OUTER="OUTER"}(lp||(lp={}));const dp=e=>[e].concat(e.children.length?dp(e.children[0]):[]);class up extends op{relationalOperationElement;joinTreeNode;get hashCode(){return Ar([za.RELATIONAL_OPERATION_ELEMENTS_WITH_JOINS,Ar(this.joinTreeNode?dp(this.joinTreeNode):[]),this.relationalOperationElement??""])}}class pp extends op{relation;name;database;isSelfJoinTarget=!1;get hashCode(){throw new k}}class hp extends op{alias;column;columnName;get hashCode(){return Ar([za.RELATIONAL_OPERATION_TABLE_ALIAS_COLUMN,this.alias.isSelfJoinTarget?this.alias.relation.selfJoinPointerHashCode:this.alias.relation.pointerHashCode,this.alias.isSelfJoinTarget?sp:this.alias.name,this.column.value.name])}}class gp extends op{value;constructor(e){super(),this.value=e}get hashCode(){return Ar([za.RELATIONAL_OPERATION_LITERAL,"number"==typeof this.value?this.value.toString():this.value])}}class mp extends op{values=[];get hashCode(){return Ar([za.RELATIONAL_OPERATION_LITERAL_LIST,Ar(this.values)])}}class fp extends op{owner;name;type;nullable;get hashCode(){return Ar([za.DATABASE_TABLE_COLUMN,this.name,this.nullable?.toString()??"",this.type,Ar(this.stereotypes.map(e=>e.pointerHashCode)),Ar(this.taggedValues)])}}class _p{}class Ep extends _p{infinityDate}class bp{}class Tp extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_BIGINT])}}class Cp extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_SMALLINT])}}class vp extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_TINYINT])}}class yp extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_INTEGER])}}class Sp extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_FLOAT])}}class Np extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_DOUBLE])}}class Ap extends bp{size;constructor(e){super(),this.size=e}get hashCode(){return Ar([za.RELATIONAL_DATATYPE_VARCHAR,this.size.toString()])}}class Ip extends bp{size;constructor(e){super(),this.size=e}get hashCode(){return Ar([za.RELATIONAL_DATATYPE_CHAR,this.size.toString()])}}class xp extends bp{size;constructor(e){super(),this.size=e}get hashCode(){return Ar([za.RELATIONAL_DATATYPE_VARBINARY,this.size.toString()])}}class wp extends bp{precision;scale;constructor(e,t){super(),this.precision=e,this.scale=t}get hashCode(){return Ar([za.RELATIONAL_DATATYPE_DECIMAL,this.precision.toString(),this.scale.toString()])}}class Op extends bp{precision;scale;constructor(e,t){super(),this.precision=e,this.scale=t}get hashCode(){return Ar([za.RELATIONAL_DATATYPE_NUMERIC,this.precision.toString(),this.scale.toString()])}}class kp extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_TIMESTAMP])}}class Rp extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_VARCHAR])}}class Pp extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_BIT])}}class Lp extends bp{size;constructor(e){super(),this.size=e}get hashCode(){return Ar([za.RELATIONAL_DATATYPE_BINARY,this.size.toString()])}}class Mp extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_REAL])}}class Fp extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_SEMISTRUCTURED])}}class Dp extends bp{get hashCode(){return Ar([za.RELATIONAL_DATATYPE_JSON])}}class Bp extends lc{ownerReference;constructor(e){super(e),this.ownerReference=e}}class jp extends Bp{value;constructor(e,t){super(e),this.value=t}get pointerHashCode(){return[za.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",this.value.schema.name,this.value.name].map(Nr).join(",")}get selfJoinPointerHashCode(){return[za.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",ip,sp].map(Nr).join(",")}}class Hp extends Bp{value;constructor(e,t){super(e),this.value=t}get pointerHashCode(){return[za.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",this.value.schema.name,this.value.name].map(Nr).join(",")}get selfJoinPointerHashCode(){return[za.RELATIONAL_OPERATION_TABLE_POINTER,this.ownerReference.valueForSerialization??"",ip,sp].map(Nr).join(",")}}const Up=Dd(e=>((0,Te.Gn)(e,{packageableElementIncludes:Te.sH,packageableElementExcludes:Te.sH,hashCode:Te.EW}),e.packageableElementIncludes.forEach(Gd),e.packageableElementExcludes.forEach(Gd),e)),Gp=(Dd(e=>(Cm(e),(0,Te.Gn)(e,{schemaSet:Te.sH,schemaId:Te.sH,contentType:Te.sH,modelUnit:Te.sH,_elementHashCode:Te.$Z}),e.schemaSet&&Gd(e.schemaSet),Up(e.modelUnit),e)),Dd(e=>((0,Te.Gn)(e,{binding:Te.sH,hashCode:Te.EW}),Gd(e.binding),e))),Vp=Dd(e=>((0,Te.Gn)(e,{url:Te.sH,hashCode:Te.EW}),e)),$p=(Dd(e=>(af(e),(0,Te.Gn)(e,{externalSource:Te.sH,hashCode:Te.EW}),Vp(e.externalSource),e)),Dd(e=>(0,Te.Gn)(e,{id:Te.sH,location:Te.sH,content:Te.sH,hashCode:Te.EW})));Dd(e=>(jd(e),(0,Te.Gn)(e,{format:Te.sH,schemas:Te.sH,_elementHashCode:Te.$Z}),e.schemas.forEach($p),e));class Wp extends tp{content;get hashCode(){return Ar([za.INTERNAL__UNKNOWN_POST_PROCESSOR,Xa(this.content)])}}class Yp extends Uu{content;get hashCode(){return Ar([za.INTERNAL__UNKNOWN_DATASOURCE_SPECIFICATION,Xa(this.content)])}}class zp extends Ou{content;get hashCode(){return Ar([za.INTERNAL__UNKNOWN_AUTHENTICATION_STRATEGY,Xa(this.content)])}}class Kp{_UUID=(0,o.A)()}class Xp extends Kp{enabled=[];disabled=[];get hashCode(){return Ar([za.GENERATION_FEATURES_CONFIG,Ar(this.enabled),Ar(this.disabled)])}}const Jp=Dd(e=>e instanceof Tp||e instanceof Cp||e instanceof vp||e instanceof yp||e instanceof Sp||e instanceof Np||e instanceof kp||e instanceof Date||e instanceof Rp||e instanceof Pp||e instanceof Mp||e instanceof Fp||e instanceof Dp?(0,Te.Gn)(e,{hashCode:Te.EW}):e instanceof Ap||e instanceof Ip||e instanceof xp||e instanceof Lp?(0,Te.Gn)(e,{size:Te.sH,hashCode:Te.EW}):e instanceof wp||e instanceof Op?(0,Te.Gn)(e,{precision:Te.sH,scale:Te.sH,hashCode:Te.EW}):e),qp=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,type:Te.sH,nullable:Te.sH,hashCode:Te.EW}),Jp(e.type),e)),Zp=Dd(e=>((0,Te.Gn)(e,{value:Te.sH,pointerHashCode:Te.EW,selfJoinPointerHashCode:Te.EW}),Gd(e.ownerReference),e)),Qp=Dd(e=>((0,Te.Gn)(e,{value:Te.sH,pointerHashCode:Te.EW,selfJoinPointerHashCode:Te.EW}),Gd(e.ownerReference),e)),eh=Dd(e=>((0,Te.Gn)(e,{relation:Te.sH,name:Te.sH,database:Te.sH,isSelfJoinTarget:Te.sH}),(e=>{e instanceof Hp?Qp(e):e instanceof jp&&Zp(e)})(e.relation),e)),th=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,parameters:Te.sH,hashCode:Te.EW}),e.parameters.forEach(lh),e)),nh=Dd(e=>((0,Te.Gn)(e,{value:Te.sH}),Gd(e.ownerReference),e)),sh=Dd(e=>((0,Te.Gn)(e,{alias:Te.sH,column:Te.sH,columnName:Te.sH,hashCode:Te.EW}),eh(e.alias),nh(e.column),e)),ih=Dd(e=>((0,Te.Gn)(e,{value:Te.sH}),Gd(e.ownerReference),e)),oh=Dd(e=>((0,Te.Gn)(e,{alias:Te.sH,children:Te.sH,joinType:Te.sH,hashCode:Te.EW}),e.alias&&eh(e.alias),e.children.forEach(oh),ih(e.join),e)),rh=Dd(e=>((0,Te.Gn)(e,{relationalOperationElement:Te.sH,joinTreeNode:Te.sH,hashCode:Te.EW}),e.relationalOperationElement&&lh(e.relationalOperationElement),e.joinTreeNode&&oh(e.joinTreeNode),e)),ah=Dd(e=>((0,Te.Gn)(e,{value:Te.sH,hashCode:Te.EW}),e.value instanceof op&&lh(e.value),e)),ch=Dd(e=>((0,Te.Gn)(e,{values:Te.sH,hashCode:Te.EW}),e.values.forEach(ah),e));function lh(e){return e instanceof cp?th(e):e instanceof pp?eh(e):e instanceof hp?sh(e):e instanceof fp?qp(e):e instanceof gp?ah(e):e instanceof mp?ch(e):e instanceof up?rh(e):e}const dh=Dd(e=>e),uh=Bd((e,t)=>{if(e instanceof Ep)return dh(e);const n=t.plugins.flatMap(e=>e.getExtraMilestoningObservers?.()??[]);for(const s of n){const n=s(e,t);if(n)return n}return e}),ph=Dd(e=>((0,Te.Gn)(e,{columnName:Te.sH,relationalOperationElement:Te.sH,hashCode:Te.EW}),lh(e.relationalOperationElement),e)),hh=Dd(e=>((0,Te.Gn)(e,{value:Te.sH}),Gd(e.ownerReference),e)),gh=Dd(e=>((0,Te.Gn)(e,{joinTreeNode:Te.sH,database:Te.sH,filterName:Te.sH,hashCode:Te.EW}),e.joinTreeNode&&oh(e.joinTreeNode),hh(e.filter),e)),mh=Dd(e=>((0,Te.Gn)(e,{columns:Te.sH}),e.columns.forEach(lh),e)),fh=e=>{(0,Te.Gn)(e,{columns:Te.sH,name:Te.sH})},_h=Bd((e,t)=>(fh(e),(0,Te.Gn)(e,{primaryKey:Te.sH,hashCode:Te.EW}),e.primaryKey.forEach(qp),e.milestoning.forEach(e=>uh(e,t)),e)),Eh=Bd((e,t)=>(fh(e),(0,Te.Gn)(e,{primaryKey:Te.sH,columnMappings:Te.sH,filter:Te.sH,distinct:Te.sH,groupBy:Te.sH,hashCode:Te.EW}),e.primaryKey.forEach(qp),e.columnMappings.forEach(ph),e.filter&&gh(e.filter),e.groupBy&&mh(e.groupBy),e)),bh=Bd((e,t)=>((0,Te.Gn)(e,{name:Te.sH,tables:Te.sH,views:Te.sH,hashCode:Te.EW}),e.tables.forEach(e=>_h(e,t)),e.views.forEach(e=>Eh(e,t)),e)),Th=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,operation:Te.sH,hashCode:Te.EW}),lh(e.operation),e)),Ch=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,target:Te.sH,aliases:Te.sH,operation:Te.sH,hashCode:Te.EW}),e.target&&eh(e.target),lh(e.operation),e)),vh=Bd((e,t)=>(jd(e),(0,Te.Gn)(e,{schemas:Te.sH,joins:Te.sH,filters:Te.sH,_elementHashCode:Te.$Z}),e.schemas.forEach(e=>bh(e,t)),e.joins.forEach(Ch),e.filters.forEach(Th),e)),yh=Bd((e,t)=>(Om(e,t),(0,Te.Gn)(e,{transformer:Te.sH,relationalOperation:Te.sH.ref,bindingTransformer:Te.sH,hashCode:Te.EW}),e.bindingTransformer&&Gp(e.bindingTransformer),e)),Sh=(e,t)=>(Hm(e,t),Om(e,t),(0,Te.Gn)(e,{id:Te.sH,rootInstanceSetImplementation:Te.sH,primaryKey:Te.sH}),e.primaryKey.forEach(lh),e),Nh=Bd(Sh),Ah=Bd((e,t)=>(Sh(e,t),(0,Te.Gn)(e,{inlineSetImplementation:Te.sH}),Xm(e.inlineSetImplementation,t),e)),Ih=Bd((e,t)=>(Sh(e,t),(0,Te.Gn)(e,{otherwisePropertyMapping:Te.sH,hashCode:Te.EW}),Mm(e.otherwisePropertyMapping,t),e)),xh=Bd((e,t)=>(Hm(e,t),(0,Te.Gn)(e,{primaryKey:Te.sH}),e.primaryKey.forEach(lh),e)),wh=Bd((e,t)=>(Hm(e,t),(0,Te.Gn)(e,{columnMappings:Te.sH,filter:Te.sH,distinct:Te.sH,groupBy:Te.sH,mainTableAlias:Te.sH,superSetImplementationId:Te.sH,hashCode:Te.EW}),e.columnMappings.forEach(ph),e.filter&&gh(e.filter),e.groupBy&&mh(e.groupBy),e.mainTableAlias&&eh(e.mainTableAlias),e)),Oh=Dd(e=>((0,Te.Gn)(e,{data:Te.sH,inputType:Te.sH,hashCode:Te.EW}),Gd(e.database),e)),kh=Dd(e=>(0,Te.Gn)(e,{host:Te.sH,port:Te.sH,databaseName:Te.sH,hashCode:Te.EW})),Rh=Dd(e=>(0,Te.Gn)(e,{hostname:Te.sH,port:Te.sH,protocol:Te.sH,httpPath:Te.sH,hashCode:Te.EW})),Ph=Dd(e=>(0,Te.Gn)(e,{databaseName:Te.sH,directory:Te.sH,autoServerMode:Te.sH,hashCode:Te.EW})),Lh=Dd(e=>(0,Te.Gn)(e,{testDataSetupCsv:Te.sH,testDataSetupSqls:Te.sH,hashCode:Te.EW})),Mh=Dd(e=>(0,Te.Gn)(e,{accountName:Te.sH,region:Te.sH,warehouseName:Te.sH,databaseName:Te.sH,cloudType:Te.sH,quotedIdentifiersIgnoreCase:Te.sH,enableQueryTags:Te.sH,proxyHost:Te.sH,proxyPort:Te.sH,nonProxyHosts:Te.sH,organization:Te.sH,accountType:Te.sH,tempTableDb:Te.sH,tempTableSchema:Te.sH,role:Te.sH,hashCode:Te.EW})),Fh=Dd(e=>(0,Te.Gn)(e,{databaseName:Te.sH,endpointURL:Te.sH,port:Te.sH,region:Te.sH,clusterID:Te.sH,host:Te.sH,hashCode:Te.EW})),Dh=Dd(e=>(0,Te.Gn)(e,{projectId:Te.sH,defaultDataset:Te.sH,proxyHost:Te.sH,proxyPort:Te.sH,hashCode:Te.EW})),Bh=Dd(e=>(0,Te.Gn)(e,{projectId:Te.sH,instanceId:Te.sH,databaseId:Te.sH,proxyHost:Te.sH,proxyPort:Te.sH,hashCode:Te.EW})),jh=Dd(e=>(0,Te.Gn)(e,{ssl:Te.sH,trustStorePathVaultReference:Te.sH,trustStorePasswordVaultReference:Te.sH,hashCode:Te.EW})),Hh=Dd(e=>((0,Te.Gn)(e,{host:Te.sH,port:Te.sH,catalog:Te.sH,schema:Te.sH,clientTags:Te.sH,hashCode:Te.EW}),jh(e.sslSpecification),e)),Uh=Dd(e=>(0,Te.Gn)(e,{content:Te.sH.ref,hashCode:Te.EW})),Gh=Dd(e=>(0,Te.Gn)(e,{serverPrincipal:Te.sH,hashCode:Te.EW})),Vh=Dd(e=>(0,Te.Gn)(e,{hashCode:Te.EW})),$h=Dd(e=>(0,Te.Gn)(e,{apiToken:Te.sH,hashCode:Te.EW})),Wh=Dd(e=>(0,Te.Gn)(e,{oauthKey:Te.sH,scopeName:Te.sH,hashCode:Te.EW})),Yh=Dd(e=>(0,Te.Gn)(e,{privateKeyVaultReference:Te.sH,passPhraseVaultReference:Te.sH,publicUserName:Te.sH,hashCode:Te.EW})),zh=Dd(e=>(0,Te.Gn)(e,{hashCode:Te.EW})),Kh=Dd(e=>(0,Te.Gn)(e,{hashCode:Te.EW,userNameVaultReference:Te.sH,passwordVaultReference:Te.sH,baseVaultReference:Te.sH})),Xh=Dd(e=>(0,Te.Gn)(e,{hashCode:Te.EW,serviceAccountEmail:Te.sH,additionalGcpScopes:Te.sH})),Jh=Dd(e=>(0,Te.Gn)(e,{hashCode:Te.EW,vaultReference:Te.sH})),qh=Dd(e=>(0,Te.Gn)(e,{hashCode:Te.EW,kerberosRemoteServiceName:Te.sH,kerberosUseCanonicalHostname:Te.sH})),Zh=Dd(e=>(0,Te.Gn)(e,{content:Te.sH.ref,hashCode:Te.EW})),Qh=e=>{(0,Te.Gn)(e,{from:Te.sH,to:Te.sH,hashCode:Te.EW})},eg=Dd(e=>(Qh(e),e)),tg=Dd(e=>(Qh(e),(0,Te.Gn)(e,{schema:Te.sH}),eg(e.schema),e)),ng=e=>{(0,Te.Gn)(e,{hashCode:Te.EW})},sg=(e,t)=>{if(e instanceof Wp)return(e=>(ng(e),(0,Te.Gn)(e,{content:Te.sH.ref}),e))(e);if(e instanceof np)return(e=>(ng(e),(0,Te.Gn)(e,{mappers:Te.sH}),e.mappers.forEach(e=>{(e=>{e instanceof Qu?eg(e):e instanceof ep&&tg(e)})(e)}),e))(e);const n=t.plugins.flatMap(e=>e.getExtraPostProcessorObservers?.()??[]);for(const s of n){const n=s(e,t);if(n)return n}return e},ig=e=>{af(e),(0,Te.Gn)(e,{type:Te.sH,timeZone:Te.sH,quoteIdentifiers:Te.sH,queryTimeOutInSeconds:Te.sH,queryGenerationConfigs:Te.sH}),e.queryGenerationConfigs.forEach(e=>{(e=>{e instanceof Xp&&(e=>{(e=>{(0,Te.Gn)(e,{hashCode:Te.EW})})(e),(0,Te.Gn)(e,{enabled:Te.sH,disabled:Te.sH})})(e)})(e)})},og=Bd((e,t)=>(ig(e),(0,Te.Gn)(e,{datasourceSpecification:Te.sH,authenticationStrategy:Te.sH,localMode:Te.sH,postProcessors:Te.sH,hashCode:Te.EW}),((e,t)=>{if(e instanceof Yp)return Uh(e);if(e instanceof Gu)return kh(e);if(e instanceof Vu)return Rh(e);if(e instanceof $u)return Ph(e);if(e instanceof Wu)return Lh(e);if(e instanceof Yu)return Mh(e);if(e instanceof zu)return Fh(e);if(e instanceof Ku)return Dh(e);if(e instanceof Xu)return Bh(e);if(e instanceof Ju)return Hh(e);const n=t.plugins.flatMap(e=>e.getExtraDatasourceSpecificationObservers?.()??[]);for(const s of n){const n=s(e,t);if(n)return n}})(e.datasourceSpecification,t),((e,t)=>{if(e instanceof zp)return Zh(e);if(e instanceof ku)return Gh(e);if(e instanceof Ru)return Vh(e);if(e instanceof Pu)return $h(e);if(e instanceof Lu)return Wh(e);if(e instanceof Mu)return Yh(e);if(e instanceof Fu)return zh(e);if(e instanceof Bu)return Kh(e);if(e instanceof Du)return Xh(e);if(e instanceof ju)return Jh(e);if(e instanceof Hu)return qh(e);const n=t.plugins.flatMap(e=>e.getExtraAuthenticationStrategyObservers?.()??[]);for(const s of n){const n=s(e,t);if(n)return n}})(e.authenticationStrategy,t),e.postProcessors.forEach(e=>{sg(e,t)}),e));class rg{id}class ag extends rg{__parent;doc;assertions=[]}class cg extends rg{__parent;doc;tests=[];skip}class lg extends ag{storeTestData=[];get hashCode(){return Ar([za.MAPPING_TEST,this.id,this.doc??"",Ar(this.storeTestData),Ar(this.assertions)])}}class dg extends cg{func;get hashCode(){return Ar([za.MAPPING_TEST_SUITE,this.id,this.doc??"",this.func,Ar(this.tests)])}}class ug extends ag{serializationFormat;parameters=[];keys=[];get hashCode(){return Ar([za.SERVICE_TEST,this.id,Ar(this.assertions),Ar(this.parameters),Ar(this.keys),this.serializationFormat??""])}}class pg extends cg{testData;get hashCode(){return Ar([za.SERVICE_TEST_SUITE,this.id,Ar(this.tests),this.testData??""])}}class hg{id;parentTest}class gg extends hg{expected;get hashCode(){return Ar([za.EQUAL_TO,this.id,Xa(this.expected)])}accept_TestAssertionVisitor(e){return e.visit_EqualTo(this)}}class mg extends hg{expected;get hashCode(){return Ar([za.EQUAL_TO_JSON,this.id,this.expected])}accept_TestAssertionVisitor(e){return e.visit_EqualToJSON(this)}}class fg extends hg{expected;get hashCode(){return Ar([za.EQUAL_TO_TDS,this.id,this.expected])}accept_TestAssertionVisitor(e){return e.visit_EqualToTDS(this)}}class _g{}class Eg extends _g{dataElement;get hashCode(){return Ar([za.DATA_ELEMENT_REFERENCE,this.dataElement.valueForSerialization??""])}accept_EmbeddedDataVisitor(e){return e.visit_DataElementReference(this)}}class bg extends _g{contentType;data;get hashCode(){return Ar([za.EXTERNAL_FORMAT_DATA,this.contentType,this.data])}accept_EmbeddedDataVisitor(e){return e.visit_ExternalFormatData(this)}}class Tg{model}class Cg extends Tg{data;get hashCode(){return Ar([za.MODEL_EMBEDDED_DATA,this.model.valueForSerialization??"",this.data])}}class vg extends Tg{instances;get hashCode(){return Ar([za.MODEL_INSTANCE_DATA,this.model.valueForSerialization??"",Xa(this.instances)])}}class yg extends _g{modelData;get hashCode(){return Ar([za.MODEL_STORE_DATA,this.modelData?Ar(this.modelData):""])}accept_EmbeddedDataVisitor(e){return e.visit_ModelStoreData(this)}}class Sg extends _g{relationElements=[];get hashCode(){return Ar([za.RELATION_ELEMENTS_DATA,Ar(this.relationElements)])}accept_EmbeddedDataVisitor(e){return e.visit_RelationElementsData(this)}}class Ng extends _g{tables=[];accept_EmbeddedDataVisitor(e){return e.visit_RelationalCSVData(this)}get hashCode(){return Ar([za.RELATIONAL_CSV_DATA_TABLE,Ar(this.tables)])}}class Ag extends _g{content;get hashCode(){return Ar([za.INTERNAL__UNKNOWN_EMBEDDED_DATA,Xa(this.content)])}accept_EmbeddedDataVisitor(e){return e.visit_INTERNAL__UnknownEmbeddedData(this)}}const Ig=Dd(e=>((0,Te.Gn)(e,{contentType:Te.sH,data:Te.sH,hashCode:Te.EW}),e)),xg=Dd(e=>((0,Te.Gn)(e,{dataElement:Te.sH,hashCode:Te.EW}),e)),wg=Bd((e,t)=>((0,Te.Gn)(e,{model:Te.sH,data:Te.sH,hashCode:Te.EW}),jg(e.data,t),e)),Og=Bd((e,t)=>((0,Te.Gn)(e,{model:Te.sH,instances:Te.sH,hashCode:Te.EW}),e)),kg=Bd((e,t)=>(e instanceof Cg?wg(e,t):e instanceof vg&&Og(e,t),e)),Rg=Bd((e,t)=>((0,Te.Gn)(e,{modelData:Te.sH,hashCode:Te.EW}),e.modelData?.forEach(e=>{kg(e,t)}),e)),Pg=Dd(e=>((0,Te.Gn)(e,{values:Te.sH,table:Te.sH,schema:Te.sH,hashCode:Te.EW}),e)),Lg=Dd(e=>((0,Te.Gn)(e,{tables:Te.sH,hashCode:Te.EW}),e.tables.forEach(Pg),e)),Mg=Dd(e=>((0,Te.Gn)(e,{values:Te.sH}),e)),Fg=Dd(e=>((0,Te.Gn)(e,{paths:Te.sH,columns:Te.sH,rows:Te.sH,hashCode:Te.EW}),e.rows.forEach(Mg),e)),Dg=Dd(e=>((0,Te.Gn)(e,{hashCode:Te.EW}),e.relationElements.forEach(Fg),e)),Bg=Dd(e=>((0,Te.Gn)(e,{content:Te.sH.ref}),e));function jg(e,t){if(e instanceof Ag)return Bg(e);if(e instanceof Eg)return xg(e);if(e instanceof bg)return Ig(e);if(e instanceof yg)return Rg(e,t);if(e instanceof Ng)return Lg(e);if(e instanceof Sg)return Dg(e);const n=t.plugins.flatMap(e=>e.getExtraEmbeddedDataObservers?.()??[]);for(const s of n){const n=s(e,t);if(n)return n}return e}const Hg=Bd((e,t)=>(jd(e),(0,Te.Gn)(e,{stereotypes:Te.sH,taggedValues:Te.sH,data:Te.sH,_elementHashCode:Te.$Z}),e.stereotypes.forEach(Kf),e.taggedValues.forEach(Jf),jg(e.data,t),e));class Ug{}class Gg extends Ug{_OWNER;func;constructor(e,t){super(),this.func=e,this._OWNER=t}get hashCode(){return Ar([za.SERVICE_PURE_EXECUTION,this.func])}}class Vg extends Gg{mapping;runtime;constructor(e,t,n,s){super(e,t),this.mapping=n,this.runtime=s}get hashCode(){return Ar([za.SERVICE_PURE_SINGLE_EXECUTION,super.hashCode,this.mapping?.valueForSerialization??"",this.runtime??""])}}class $g extends Gg{executionKey;executionParameters;constructor(e,t,n){super(t,n),this.executionKey=e}get hashCode(){return Ar([za.SERVICE_PURE_MULTI_EXECUTION,super.hashCode,this.executionKey,Ar(this.executionParameters??[])])}}class Wg{_OWNER;constructor(e){this._OWNER=e}}class Yg extends Wg{data;asserts=[];constructor(e,t){super(e),this.data=t}get hashCode(){return Ar([za.SERVICE_LEGACY_SINGLE_EXECUTION_TEST,this.data,Ar(this.asserts)])}}class zg extends Wg{tests=[];get hashCode(){return Ar([za.SERVICE_LEGACY_MULTI_EXECUTION_TEST,Ar(this.tests)])}}class Kg{}class Xg extends Kg{_OWNER;identifier;constructor(e,t){super(),this.identifier=e,this._OWNER=t}get hashCode(){return Ar([za.SERVICE_OWNER,this.identifier])}}class Jg extends Kg{_OWNER;users=[];constructor(e,t){super(),this.users=e,this._OWNER=t}get hashCode(){return Ar([za.SERVICE_OWNER,Ar(this.users)])}}const qg=Bd((e,t)=>((0,Te.Gn)(e,{connectionId:Te.sH,testData:Te.sH,hashCode:Te.EW}),jg(e.testData,t),e)),Zg=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,value:Te.sH.ref,hashCode:Te.EW}),e)),Qg=Dd(e=>((0,Te.Gn)(e,{assertion:Te.sH,hashCode:Te.EW,id:Te.sH}),cu(e.assertion),e)),em=Dd(e=>((0,Te.Gn)(e,{assertions:Te.sH,description:Te.sH,parameters:Te.sH,hashCode:Te.EW}),e.assertions.forEach(Qg),e.parameters.forEach(cu),e)),tm=Bd((e,t)=>((0,Te.Gn)(e,{connectionsTestData:Te.sH,hashCode:Te.EW}),e.connectionsTestData.forEach(e=>qg(e,t)),e)),nm=Dd(e=>((0,Te.Gn)(e,{id:Te.sH,serializationFormat:Te.sH,assertions:Te.sH,parameters:Te.sH,keys:Te.sH,hashCode:Te.EW}),e.parameters.forEach(Zg),e.assertions.forEach(Tm),e)),sm=Bd((e,t)=>((0,Te.Gn)(e,{id:Te.sH,tests:Te.sH,testData:Te.sH,hashCode:Te.EW}),e.tests.forEach(e=>bm(e,t)),e.testData&&tm(e.testData,t),e)),im=Dd(e=>((0,Te.Gn)(e,{parametersValues:Te.sH,assert:Te.sH,singleExecutionTestParent:Te.sH,hashCode:Te.EW}),cu(e.assert),e)),om=Dd(e=>((0,Te.Gn)(e,{data:Te.sH,asserts:Te.sH,hashCode:Te.EW}),e.asserts.forEach(im),e)),rm=Dd(e=>(om(e),(0,Te.Gn)(e,{key:Te.sH}),e)),am=Dd(e=>((0,Te.Gn)(e,{tests:Te.sH,hashCode:Te.EW}),e.tests.forEach(rm),e)),cm=Dd(e=>((0,Te.Gn)(e,{identifier:Te.sH,hashCode:Te.EW}),e)),lm=Dd(e=>((0,Te.Gn)(e,{users:Te.sH,hashCode:Te.EW}),e)),dm=e=>{(0,Te.Gn)(e,{func:Te.sH}),cu(e.func)},um=Bd((e,t)=>(dm(e),(0,Te.Gn)(e,{runtime:Te.sH,hashCode:Te.EW}),e.mapping&&Gd(e.mapping),e.runtime&&Tf(e.runtime,t),e)),pm=Bd((e,t)=>((0,Te.Gn)(e,{key:Te.sH,runtime:Te.sH,hashCode:Te.EW}),Gd(e.mapping),Tf(e.runtime,t),e)),hm=Bd((e,t)=>(dm(e),(0,Te.Gn)(e,{executionKey:Te.sH,executionParameters:Te.sH,hashCode:Te.EW}),e.executionParameters?.forEach(e=>pm(e,t)),e)),gm=Bd((e,t)=>(jd(e),(0,Te.Gn)(e,{pattern:Te.sH,owners:Te.sH,ownership:Te.sH,documentation:Te.sH,autoActivateUpdates:Te.sH,execution:Te.sH,test:Te.sH,tests:Te.sH,postValidations:Te.sH,patternParameters:Te.EW,_elementHashCode:Te.$Z}),e.stereotypes.forEach(Kf),e.taggedValues.forEach(Jf),((e,t)=>{e instanceof Vg?um(e,t):e instanceof $g&&hm(e,t)})(e.execution,t),e.test&&(e=>{e instanceof Yg?om(e):e instanceof zg&&am(e)})(e.test),e.ownership&&(e=>{e instanceof Xg?cm(e):e instanceof Jg&&lm(e)})(e.ownership),e.tests.forEach(e=>sm(e,t)),e.postValidations.forEach(e=>em(e)),e));class mm extends ag{parameters;get hashCode(){return Ar([za.FUNCTION_TEST,this.id,this.doc??"",this.parameters?Ar(this.parameters):""])}}const fm=Dd(e=>((0,Te.Gn)(e,{id:Te.sH,expected:Te.sH,hashCode:Te.EW}),e)),_m=Dd(e=>((0,Te.Gn)(e,{id:Te.sH,expected:Te.sH,hashCode:Te.EW}),Ig(e.expected),e)),Em=Dd(e=>((0,Te.Gn)(e,{id:Te.sH,expected:Te.sH,hashCode:Te.EW}),Ig(e.expected),e));function bm(e,t){if(e instanceof ug)return nm(e);if(e instanceof lg)return Sm(e,t);if(e instanceof mm)return f_(e);const n=t.plugins.flatMap(e=>e.getExtraAtomicTestObservers?.()??[]);for(const s of n){const n=s(e,t);if(n)return n}return e}function Tm(e){return e instanceof gg?fm(e):e instanceof mg?Em(e):e instanceof fg?_m(e):e}const Cm=e=>{jd(e),(0,Te.Gn)(e,{includes:Te.sH}),e.includes.forEach(Gd)},vm=Dd(e=>(jd(e),(0,Te.Gn)(e,{content:Te.sH.ref}),e)),ym=Bd((e,t)=>((0,Te.Gn)(e,{store:Te.sH,data:Te.sH,hashCode:Te.EW}),jg(e.data,t),e)),Sm=Bd((e,t)=>((0,Te.Gn)(e,{id:Te.sH,assertions:Te.sH,doc:Te.sH,storeTestData:Te.sH,hashCode:Te.EW}),e.assertions.forEach(Tm),e.storeTestData.forEach(e=>ym(e,t)),e)),Nm=Bd((e,t)=>((0,Te.Gn)(e,{id:Te.sH,tests:Te.sH,func:Te.sH,hashCode:Te.EW}),e.tests.forEach(e=>bm(e,t)),cu(e.func),e)),Am=Dd(e=>((0,Te.Gn)(e,{value:Te.sH,valueForSerialization:Te.EW}),Gd(e.ownerReference),e)),Im=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,genericType:Te.sH,hashCode:Te.EW}),Zf(e.genericType),e)),xm=Dd(e=>((0,Te.Gn)(e,{value:Te.sH}),Gd(e.ownerReference),e)),wm=Dd(e=>((0,Te.Gn)(e,{localMappingProperty:Te.sH,localMappingPropertyType:Te.sH,localMappingPropertyMultiplicity:Te.sH,hashCode:Te.EW}),Gd(e.localMappingPropertyType),e)),Om=(e,t)=>{(0,Te.Gn)(e,{sourceSetImplementation:Te.sH,targetSetImplementation:Te.sH}),u_(e.property),xm(e.sourceSetImplementation),e.targetSetImplementation&&xm(e.targetSetImplementation),e.localMappingProperty&&wm(e.localMappingProperty)},km=Bd((e,t)=>(Om(e,t),(0,Te.Gn)(e,{transformer:Te.sH,transform:Te.sH,explodeProperty:Te.sH,hashCode:Te.EW}),e.transformer&&Am(e.transformer),cu(e.transform),e)),Rm=Bd((e,t)=>(Om(e,t),(0,Te.Gn)(e,{column:Te.sH,bindingTransformer:Te.sH,hashCode:Te.EW}),Im(e.column),e.bindingTransformer&&Gp(e.bindingTransformer),e)),Pm=Dd(e=>(0,Te.Gn)(e,{content:Te.sH.ref}));class Lm{observerContext;constructor(e){this.observerContext=e}visit_PropertyMapping(e){const t=this.observerContext.plugins.flatMap(e=>e.getExtraPropertyMappingObservers?.()??[]);for(const n of t)if(n(e,this.observerContext))return}visit_INTERNAL__UnknownPropertyMapping(e){Pm(e)}visit_PurePropertyMapping(e){km(e,this.observerContext)}visit_FlatDataPropertyMapping(e){Iu(e,this.observerContext)}visit_EmbeddedFlatDataPropertyMapping(e){Au(e,this.observerContext)}visit_RelationalPropertyMapping(e){yh(e,this.observerContext)}visit_FlatDataAssociationPropertyMapping(e){_u(e,this.observerContext)}visit_EmbeddedRelationalPropertyMapping(e){Nh(e,this.observerContext)}visit_InlineEmbeddedRelationalPropertyMapping(e){Ah(e,this.observerContext)}visit_OtherwiseEmbeddedRelationalPropertyMapping(e){Ih(e,this.observerContext)}visit_AggregationAwarePropertyMapping(e){}visit_XStorePropertyMapping(e){}visit_RelationFunctionPropertyMapping(e){Rm(e,this.observerContext)}}const Mm=(e,t)=>(e.accept_PropertyMappingVisitor(new Lm(t)),e),Fm=Dd(e=>(0,Te.Gn)(e,{isDefault:Te.EW,valueForSerialization:Te.EW})),Dm=Dd(e=>(0,Te.Gn)(e,{valueForSerialization:Te.EW})),Bm=e=>{(0,Te.Gn)(e,{root:Te.sH}),Gd(e.class),Fm(e.id),Dm(e.root)},jm=Dd(e=>((0,Te.Gn)(e,{setImplementation:Te.sH,class:Te.sH,properties:Te.sH}),e)),Hm=(e,t)=>{Bm(e),(0,Te.Gn)(e,{mappingClass:Te.sH,propertyMappings:Te.sH}),e.mappingClass&&jm(e.mappingClass),e.propertyMappings.forEach(e=>Mm(e,t))},Um=Dd(e=>((0,Te.Gn)(e,{}),xm(e.setImplementation),e)),Gm=e=>{Bm(e),(0,Te.Gn)(e,{parameters:Te.sH,operation:Te.sH,hashCode:Te.EW}),e.parameters.forEach(Um)},Vm=Dd(e=>(Gm(e),e)),$m=Dd(e=>(Gm(e),(0,Te.Gn)(e,{validationFunction:Te.sH}),cu(e.validationFunction),e)),Wm=Bd((e,t)=>(Hm(e,t),(0,Te.Gn)(e,{filter:Te.sH,hashCode:Te.EW}),e.srcClass&&Gd(e.srcClass),e.filter&&cu(e.filter),e)),Ym=Bd((e,t)=>(Hm(e,t),(0,Te.Gn)(e,{relationFunction:Te.sH,hashCode:Te.EW}),e.relationFunction&&b_(e.relationFunction,t),e)),zm=Dd(e=>(Bm(e),(0,Te.Gn)(e,{content:Te.sH.ref}),e));class Km{observerContext;constructor(e){this.observerContext=e}visit_SetImplementation(e){const t=this.observerContext.plugins.flatMap(e=>e.getExtraSetImplementationObservers?.()??[]);for(const n of t)if(n(e,this.observerContext))return}visit_INTERNAL__UnknownSetImplementation(e){zm(e)}visit_MergeOperationSetImplementation(e){$m(e)}visit_OperationSetImplementation(e){Vm(e)}visit_PureInstanceSetImplementation(e){Wm(e,this.observerContext)}visit_FlatDataInstanceSetImplementation(e){Nu(e,this.observerContext)}visit_EmbeddedFlatDataSetImplementation(e){}visit_RelationalInstanceSetImplementation(e){xh(e,this.observerContext)}visit_RootRelationalInstanceSetImplementation(e){wh(e,this.observerContext)}visit_RelationFunctionInstanceSetImplementation(e){Ym(e,this.observerContext)}visit_AggregationAwareSetImplementation(e){}visit_INTERNAL__UnresolvedSetImplementation(e){}}const Xm=(e,t)=>(e.accept_SetImplementationVisitor(new Km(t)),e),Jm=Dd(e=>((0,Te.Gn)(e,{original:Te.sH,substitute:Te.sH}),Gd(e.original),Gd(e.substitute),e)),qm=Dd(e=>e instanceof Kd?((0,Te.Gn)(e,{included:Te.sH,storeSubstitutions:Te.sH}),Gd(e.included),e.storeSubstitutions.forEach(Jm),e):e),Zm=Dd(e=>(0,Te.Gn)(e,{value:Te.sH})),Qm=Dd(e=>((0,Te.Gn)(e,{sourceValues:Te.sH,hashCode:Te.EW}),o_(e.enum),e.sourceValues.forEach(Zm),e)),ef=Dd(e=>((0,Te.Gn)(e,{sourceType:Te.sH,enumValueMappings:Te.sH,hashCode:Te.EW}),Gd(e.enumeration),Fm(e.id),e.sourceType&&Gd(e.sourceType),e.enumValueMappings.forEach(Qm),e)),tf=Bd((e,t)=>((0,Te.Gn)(e,{id:Te.sH,stores:Te.sH,propertyMappings:Te.sH,hashCode:Te.EW}),Gd(e.association),Fm(e.id),e.stores.forEach(Gd),e.propertyMappings.forEach(e=>Mm(e,t)),e)),nf=Dd(e=>((0,Te.Gn)(e,{inputType:Te.sH,data:Te.sH,hashCode:Te.EW}),Gd(e.sourceClass),e)),sf=Dd(e=>(0,Te.Gn)(e,{expectedOutput:Te.sH,hashCode:Te.EW})),of=Bd((e,t)=>((0,Te.Gn)(e,{name:Te.sH,query:Te.sH,inputData:Te.sH,assert:Te.sH,hashCode:Te.EW}),cu(e.query),e.inputData.forEach(e=>((e,t)=>{if(e instanceof eu)return nf(e);if(e instanceof tu)return xu(e);if(e instanceof nu)return Oh(e);const n=t.plugins.flatMap(e=>e.getExtraMappingTestInputDataObservers?.()??[]);for(const s of n){const n=s(e,t);if(n)return n}return e})(e,t)),(e=>{e instanceof Jd&&sf(e)})(e.assert),e)),rf=Bd((e,t)=>(jd(e),(0,Te.Gn)(e,{includes:Te.sH,classMappings:Te.sH,enumerationMappings:Te.sH,associationMappings:Te.sH,test:Te.sH,tests:Te.sH,_elementHashCode:Te.$Z}),e.includes.forEach(qm),e.classMappings.forEach(e=>Xm(e,t)),e.enumerationMappings.forEach(ef),e.associationMappings.forEach(e=>tf(e,t)),e.test.forEach(e=>of(e,t)),e.tests.forEach(e=>function(e,t){return e instanceof pg?sm(e,t):e instanceof dg?Nm(e,t):e}(e,t)),e)),af=e=>{(0,Te.Gn)(e,{store:Te.sH}),e.store&&Gd(e.store)},cf=Dd(e=>(af(e),(0,Te.Gn)(e,{hashCode:Te.EW}),e)),lf=Dd(e=>(af(e),(0,Te.Gn)(e,{url:Te.sH,hashCode:Te.EW}),Gd(e.class),e)),df=Dd(e=>(af(e),(0,Te.Gn)(e,{url:Te.sH,hashCode:Te.EW}),Gd(e.class),e)),uf=Dd(e=>(af(e),(0,Te.Gn)(e,{mappings:Te.sH,hashCode:Te.EW}),e.mappings.forEach(Gd),e)),pf=Dd(e=>(af(e),(0,Te.Gn)(e,{content:Te.sH.ref,hashCode:Te.EW}),e));class hf{observerContext;constructor(e){this.observerContext=e}visit_Connection(e){const t=this.observerContext.plugins.flatMap(e=>e.getExtraConnectionObservers?.()??[]);for(const n of t)if(n(e,this.observerContext))return}visit_INTERNAL__UnknownConnection(e){pf(e)}visit_ConnectionPointer(e){cf(e)}visit_ModelChainConnection(e){uf(e)}visit_JsonModelConnection(e){lf(e)}visit_XmlModelConnection(e){df(e)}visit_FlatDataConnection(e){wu(e)}visit_RelationalDatabaseConnection(e){og(e,this.observerContext)}}const gf=(e,t)=>(e.accept_ConnectionVisitor(new hf(t)),e),mf=Bd((e,t)=>(jd(e),(0,Te.Gn)(e,{connectionValue:Te.sH,_elementHashCode:Te.$Z}),gf(e.connectionValue,t),e)),ff=Bd((e,t)=>((0,Te.Gn)(e,{id:Te.sH,connection:Te.sH,hashCode:Te.EW}),gf(e.connection,t),e)),_f=Bd((e,t)=>((0,Te.Gn)(e,{storeConnections:Te.sH,hashCode:Te.EW}),Gd(e.store),e.storeConnections.forEach(e=>ff(e,t)),e)),Ef=Bd((e,t)=>((0,Te.Gn)(e,{mappings:Te.sH,connections:Te.sH,hashCode:Te.EW}),e.mappings.forEach(Gd),e.connections.forEach(e=>_f(e,t)),e instanceof ou&&((0,Te.Gn)(e,{environment:Te.sH,warehouse:Te.sH,connectionPointer:Te.sH}),e.connectionPointer&&cf(e.connectionPointer)),e)),bf=Dd(e=>((0,Te.Gn)(e,{hashCode:Te.EW}),Gd(e.packageableRuntime),e)),Tf=(e,t)=>e instanceof ru?bf(e):e instanceof iu?Ef(e,t):e,Cf=Bd((e,t)=>(jd(e),(0,Te.Gn)(e,{runtimeValue:Te.sH,_elementHashCode:Te.$Z}),Ef(e.runtimeValue,t),e)),vf=Bd((e,t)=>(jd(e),(0,Te.Gn)(e,{_elementHashCode:Te.$Z}),e)),yf=Dd(e=>(e instanceof kl&&(0,Te.Gn)(e,{id:Te.sH,title:Te.sH,targetEnvironment:Te.sH,classification:Te.sH,func:Te.sH.ref,description:Te.sH,reproducible:Te.sH}),e)),Sf=Dd(e=>((0,Te.Gn)(e,{title:Te.sH,address:Te.sH}),e)),Nf=Dd(e=>((0,Te.Gn)(e,{label:Te.sH,url:Te.sH}),e)),Af=Dd(e=>((0,Te.Gn)(e,{description:Te.sH,expertIds:Te.sH}),e)),If=Dd(e=>((0,Te.Gn)(e,{documentation:Te.sH,website:Te.sH,faqUrl:Te.sH,supportUrl:Te.sH,emails:Te.sH,expertise:Te.sH}),e.emails.forEach(Sf),e.expertise?.forEach(Af),e.documentation&&Nf(e.documentation),e.website&&Nf(e.website),e.faqUrl&&Nf(e.faqUrl),e.supportUrl&&Nf(e.supportUrl),e)),xf=Dd(e=>((0,Te.Gn)(e,{id:Te.sH,description:Te.sH,runtime:Te.sH}),e)),wf=Dd(e=>((0,Te.Gn)(e,{exclude:Te.sH,element:Te.sH}),e)),Of=Dd(e=>((0,Te.Gn)(e,{title:Te.sH,description:Te.sH,diagram:Te.sH}),e)),kf=Dd(e=>((0,Te.Gn)(e,{id:Te.sH,description:Te.sH,title:Te.sH,accessPoints:Te.sH,stereotypes:Te.sH,taggedValues:Te.sH}),e.stereotypes.forEach(Kf),e.taggedValues.forEach(Jf),e.accessPoints.forEach(yf),e)),Rf=Dd(e=>(kf(e),(0,Te.Gn)(e,{mapping:Te.sH,defaultRuntime:Te.sH,compatibleRuntimes:Te.sH,featuredElements:Te.sH,diagrams:Te.sH}),Gd(e.mapping),xf(e.defaultRuntime),e.compatibleRuntimes.forEach(xf),e.featuredElements.forEach(wf),e.diagrams.forEach(Of),e)),Pf=e=>e instanceof Pl?Rf(e):kf(e),Lf=Dd(e=>(e instanceof Ml?(0,Te.Gn)(e,{libraryId:Te.sH,iconId:Te.sH}):e instanceof Fl?(0,Te.Gn)(e,{imageUrl:Te.sH}):e instanceof Dl&&(0,Te.Gn)(e,{content:Te.sH}),e)),Mf=Dd(e=>(jd(e),(0,Te.Gn)(e,{accessPointGroups:Te.sH,_elementHashCode:Te.$Z,title:Te.sH,description:Te.sH,supportInfo:Te.sH,icon:Te.sH,type:Te.sH}),e.supportInfo&&If(e.supportInfo),e.icon&&Lf(e.icon),e.accessPointGroups.forEach(Pf),e));class Ff{observerContext;constructor(e){this.observerContext=e}visit_PackageableElement(e){const t=this.observerContext.plugins.flatMap(e=>e.getExtraElementObservers?.()??[]);for(const n of t)if(n(e,this.observerContext))return}visit_INTERNAL__UnknownElement(e){Hd(e)}visit_INTERNAL__UnknownPackageableElement(e){Ud(e)}visit_INTERNAL__UnknownFunctionActivator(e){T_(e)}visit_SnowflakeApp(e){C_(e)}visit_SnowflakeM2MUdf(e){v_(e)}visit_HostedService(e){S_(e,this.observerContext)}visit_MemSQLFunction(e){y_(e)}visit_INTERNAL__UnknownStore(e){vm(e)}visit_Package(e){zf(e,this.observerContext)}visit_SectionIndex(e){e_(e)}visit_PrimitiveType(e){}visit_Profile(e){s_(e)}visit_Enumeration(e){r_(e)}visit_Measure(e){c_(e)}visit_Class(e){h_(e)}visit_Association(e){g_(e)}visit_ConcreteFunctionDefinition(e){b_(e,this.observerContext)}visit_FlatData(e){yu(e)}visit_Database(e){vh(e,this.observerContext)}visit_DataProduct(e){Mf(e)}visit_Mapping(e){rf(e,this.observerContext)}visit_Service(e){gm(e,this.observerContext)}visit_ExecutionEnvironmentInstance(e){vf(e,this.observerContext)}visit_PackageableRuntime(e){Cf(e,this.observerContext)}visit_PackageableConnection(e){mf(e,this.observerContext)}visit_FileGenerationSpecification(e){$d(e)}visit_GenerationSpecification(e){Yd(e)}visit_DataElement(e){Hg(e,this.observerContext)}visit_IngestDefinition(e){return this.visit_INTERNAL__UnknownPackageableElement(e)}}const Df=Bd((e,t)=>(e.accept_PackageableElementVisitor(new Ff(t)),e));class Bf{}class jf extends Bf{_OWNER;id;constructor(e,t){super(),this.id=e,this._OWNER=t}get hashCode(){return Ar([za.SERVICE_OWNER,this.id])}}class Hf extends Bf{_OWNER;users=[];constructor(e,t){super(),this.users=e,this._OWNER=t}get hashCode(){return Ar([za.SERVICE_OWNER,Ar(this.users)])}}const Uf=Dd(e=>((0,Te.Gn)(e,{activationConnection:Te.sH}),e.activationConnection&&cf(e.activationConnection),e)),Gf=Dd(e=>((0,Te.Gn)(e,{activationConnection:Te.sH}),e.activationConnection&&cf(e.activationConnection),e)),Vf=Dd(e=>((0,Te.Gn)(e,{id:Te.sH,hashCode:Te.EW}),e)),$f=Dd(e=>((0,Te.Gn)(e,{users:Te.sH,hashCode:Te.EW}),e)),Wf=Dd(e=>(e.host&&e.port&&e.path&&(0,Te.Gn)(e,{host:Te.sH,port:Te.sH,path:Te.sH}),e)),Yf=Dd(e=>((0,Te.Gn)(e,{activationConnection:Te.sH}),e.activationConnection&&cf(e.activationConnection),e)),zf=Bd((e,t)=>((e=>{jd(e),(0,Te.Gn)(e,{children:Te.sH,hashCode:Te.$Z})})(e),e.children.forEach(e=>{e instanceof wc?zf(e,t):Df(e,t)}),e)),Kf=Dd(e=>((0,Te.Gn)(e,{value:Te.sH,pointerHashCode:Te.EW}),Gd(e.ownerReference),e)),Xf=Dd(e=>((0,Te.Gn)(e,{value:Te.sH,pointerHashCode:Te.EW}),e)),Jf=Dd(e=>((0,Te.Gn)(e,{value:Te.sH,hashCode:Te.EW}),Xf(e.tag),e)),qf=Dd(e=>(0,Te.Gn)(e,{rawType:Te.sH})),Zf=Dd(e=>((0,Te.Gn)(e,{value:Te.sH}),qf(e.value),Gd(e.ownerReference),e)),Qf=Dd(e=>((0,Te.Gn)(e,{parserName:Te.sH,elements:Te.sH}),e instanceof Md?(0,Te.Gn)(e,{imports:Te.sH,hashCode:Te.EW}):e instanceof Fd&&(0,Te.Gn)(e,{hashCode:Te.EW}),e)),e_=Dd(e=>(jd(e),(0,Te.Gn)(e,{sections:Te.sH,_elementHashCode:Te.$Z}),e.sections.forEach(Qf),e)),t_=Dd(e=>(0,Te.Gn)(e,{value:Te.sH})),n_=Dd(e=>(0,Te.Gn)(e,{value:Te.sH})),s_=Dd(e=>(jd(e),(0,Te.Gn)(e,{p_stereotypes:Te.sH,p_tags:Te.sH,_elementHashCode:Te.$Z}),e.p_stereotypes.forEach(t_),e.p_tags.forEach(n_),e)),i_=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,stereotypes:Te.sH,taggedValues:Te.sH,hashCode:Te.EW}),e.stereotypes.forEach(Kf),e.taggedValues.forEach(Jf),e)),o_=Dd(e=>((0,Te.Gn)(e,{value:Te.sH}),Gd(e.ownerReference),e)),r_=Dd(e=>(jd(e),(0,Te.Gn)(e,{values:Te.sH,stereotypes:Te.sH,taggedValues:Te.sH,_elementHashCode:Te.$Z}),e.values.forEach(i_),e.stereotypes.forEach(Kf),e.taggedValues.forEach(Jf),e)),a_=Dd(e=>((0,Te.Gn)(e,{measure:Te.sH,conversionFunction:Te.sH,hashCode:Te.EW}),e.conversionFunction&&cu(e.conversionFunction),e)),c_=Dd(e=>(jd(e),(0,Te.Gn)(e,{canonicalUnit:Te.sH,nonCanonicalUnits:Te.sH,_elementHashCode:Te.$Z}),e.canonicalUnit&&a_(e.canonicalUnit),e.nonCanonicalUnits.forEach(a_),e)),l_=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,multiplicity:Te.sH,aggregation:Te.sH,stereotypes:Te.sH,taggedValues:Te.sH,hashCode:Te.EW}),Zf(e.genericType),e.stereotypes.forEach(Kf),e.taggedValues.forEach(Jf),e)),d_=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,multiplicity:Te.sH,stereotypes:Te.sH,taggedValues:Te.sH,body:Te.sH.ref,parameters:Te.sH.ref,hashCode:Te.EW}),Zf(e.genericType),e.stereotypes.forEach(Kf),e.taggedValues.forEach(Jf),e)),u_=Dd(e=>((0,Te.Gn)(e,{value:Te.sH,pointerHashCode:Te.EW}),Gd(e.ownerReference),e)),p_=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,functionDefinition:Te.sH,externalId:Te.sH,enforcementLevel:Te.sH,messageFunction:Te.sH,hashCode:Te.EW}),cu(e.functionDefinition),e.messageFunction&&cu(e.messageFunction),e)),h_=Dd(e=>(jd(e),(0,Te.Gn)(e,{_subclasses:Te.sH,properties:Te.sH,propertiesFromAssociations:Te.sH,derivedProperties:Te.sH,generalizations:Te.sH,constraints:Te.sH,stereotypes:Te.sH,taggedValues:Te.sH,dispose:Te.$Z,_elementHashCode:Te.$Z}),e.properties.forEach(l_),e.propertiesFromAssociations.forEach(l_),e.derivedProperties.forEach(d_),e.generalizations.forEach(Zf),e.constraints.forEach(p_),e.stereotypes.forEach(Kf),e.taggedValues.forEach(Jf),e)),g_=Dd(e=>(jd(e),(0,Te.Gn)(e,{properties:Te.sH,stereotypes:Te.sH,taggedValues:Te.sH,derivedProperties:Te.sH,dispose:Te.$Z,_elementHashCode:Te.$Z}),e.properties.forEach(l_),e.derivedProperties.forEach(d_),e.stereotypes.forEach(Kf),e.taggedValues.forEach(Jf),e)),m_=Dd(e=>((0,Te.Gn)(e,{name:Te.sH,value:Te.sH.ref,hashCode:Te.EW}),e)),f_=Dd(e=>((0,Te.Gn)(e,{id:Te.sH,doc:Te.sH,assertions:Te.sH,hashCode:Te.EW}),e.parameters?.forEach(m_),e.assertions.forEach(Tm),e)),__=Bd((e,t)=>((0,Te.Gn)(e,{element:Te.sH,data:Te.sH,hashCode:Te.EW}),jg(e.data,t),e)),E_=Bd((e,t)=>((0,Te.Gn)(e,{id:Te.sH,tests:Te.sH,testData:Te.sH,hashCode:Te.EW}),e.tests.forEach(e=>bm(e,t)),e.testData?.forEach(e=>__(e,t)),e)),b_=Bd((e,t)=>(jd(e),(0,Te.Gn)(e,{functionName:Te.sH,returnMultiplicity:Te.sH,parameters:Te.sH.shallow,expressionSequence:Te.sH.ref,stereotypes:Te.sH,taggedValues:Te.sH,tests:Te.sH,_elementHashCode:Te.$Z}),e.parameters.forEach(lu),Zf(e.returnType),e.stereotypes.forEach(Kf),e.taggedValues.forEach(Jf),e.tests.forEach(e=>E_(e,t)),e)),T_=Dd(e=>(jd(e),(0,Te.Gn)(e,{content:Te.sH.ref}),e)),C_=Dd(e=>(jd(e),(0,Te.Gn)(e,{applicationName:Te.sH,description:Te.sH,ownership:Te.sH,permissionScheme:Te.sH,usageRole:Te.sH,deploymentSchema:Te.sH,activationConfiguration:Te.sH,_elementHashCode:Te.$Z}),Uf(e.activationConfiguration),e)),v_=Dd(e=>(jd(e),(0,Te.Gn)(e,{udfName:Te.sH,description:Te.sH,ownership:Te.sH,deploymentSchema:Te.sH,deploymentStage:Te.sH,activationConfiguration:Te.sH,_elementHashCode:Te.$Z}),Gf(e.activationConfiguration),e)),y_=Dd(e=>(jd(e),(0,Te.Gn)(e,{functionName:Te.sH,description:Te.sH,ownership:Te.sH,activationConfiguration:Te.sH,_elementHashCode:Te.$Z}),Yf(e.activationConfiguration),e)),S_=Bd((e,t)=>(jd(e),(0,Te.Gn)(e,{documentation:Te.sH,pattern:Te.sH,autoActivateUpdates:Te.sH,storeModel:Te.sH,generateLineage:Te.sH,ownership:Te.sH,activationConfiguration:Te.sH,_elementHashCode:Te.$Z,stereotypes:Te.sH,taggedValues:Te.sH,actions:Te.sH}),e.stereotypes.forEach(Kf),e.taggedValues.forEach(Jf),(e=>{e instanceof jf?Vf(e):e instanceof Hf&&$f(e)})(e.ownership),e.activationConfiguration&&Wf(e.activationConfiguration),e.actions.forEach(e=>((e,t)=>{(0,Te.Gn)(e,{properties:Te.sH,automated:Te.sH});const n=t.plugins.flatMap(e=>e.getExtraFunctionActivatorPostDeploymentPropertiesObservers?.()??[]);for(const t of n)e.properties&&t(e.properties);return e})(e,t)),e)),N_=(Dd(e=>e instanceof rl?r_(e):e instanceof bl?a_(e):e instanceof xc?h_(e):e instanceof Tl?c_(e):e),Dd(e=>e instanceof rl?r_(e):e instanceof bl?a_(e):e),(0,Te.XI)((e,t)=>{e.value=t})),A_=((0,Te.XI)((e,t)=>{I(e.properties,t)}),(0,Te.XI)((e,t)=>{N(e.properties,l_(t))})),I_=((0,Te.XI)((e,t,n)=>{A(e.properties,t,n)}),(0,Te.XI)((e,t)=>{I(e.derivedProperties,t)}),(0,Te.XI)((e,t)=>{N(e.derivedProperties,d_(t))}),(0,Te.XI)((e,t,n)=>{A(e.derivedProperties,t,n)}),(0,Te.XI)((e,t)=>{N(e.constraints,p_(t))}),(0,Te.XI)((e,t)=>{I(e.constraints,t)}),(0,Te.XI)((e,t,n)=>{A(e.constraints,t,n)}),(0,Te.XI)((e,t)=>{N(e.generalizations,Zf(t))})),x_=((0,Te.XI)((e,t)=>{I(e.generalizations,t)}),(0,Te.XI)((e,t,n)=>{A(e.generalizations,t,n)}),(0,Te.XI)((e,t)=>{N(e._subclasses,t)}),(0,Te.XI)((e,t)=>{I(e._subclasses,t)}),(0,Te.XI)((e,t)=>{Zf(e),qf(t),e.value=t,e.ownerReference.value=t.rawType})),w_=((0,Te.XI)((e,t)=>{e.name=t}),(0,Te.XI)((e,t)=>{x_(e.genericType,qf(t))}),(0,Te.XI)((e,t)=>{e.multiplicity=t}),(0,Te.XI)((e,t)=>{e.aggregation=t}),(0,Te.XI)((e,t)=>{e.value=t_(t),N_(e.ownerReference,t._OWNER)}),(0,Te.XI)((e,t)=>{N(e.taggedValues,Jf(t))}),(0,Te.XI)((e,t)=>{I(e.taggedValues,t)}),(0,Te.XI)((e,t)=>{N(e.stereotypes,Kf(t))}),(0,Te.XI)((e,t)=>{I(e.stereotypes,t)}),(0,Te.XI)((e,t)=>{e.tag.value=n_(t),e.tag.ownerReference.value=t._OWNER}),(0,Te.XI)((e,t)=>{e.value=t}),(0,Te.XI)((e,t)=>{e.value=t}),(0,Te.XI)((e,t,n)=>{A(e.taggedValues,t,n)}),(0,Te.XI)((e,t,n)=>{A(e.stereotypes,t,n)}),(0,Te.XI)((e,t)=>{e.name=t}),(0,Te.XI)((e,t)=>{e.functionDefinition=cu(t)}),(0,Te.XI)((e,t)=>{N(e.p_tags,n_(t))}),(0,Te.XI)((e,t)=>{I(e.p_tags,t)}),(0,Te.XI)((e,t)=>{N(e.p_stereotypes,t_(t))}),(0,Te.XI)((e,t)=>{I(e.p_stereotypes,t)}),(0,Te.XI)((e,t,n)=>{A(e.p_tags,t,n)}),(0,Te.XI)((e,t,n)=>{A(e.p_stereotypes,t,n)}),(0,Te.XI)((e,t)=>{I(e.parameters,t)}),(0,Te.XI)((e,t)=>{N(e.parameters,lu(t))}),(0,Te.XI)((e,t)=>{x_(e.returnType,qf(t))}),(0,Te.XI)((e,t)=>{e.returnMultiplicity=t}),(0,Te.XI)((e,t,n)=>{A(e.parameters,t,n)}),(0,Te.XI)((e,t)=>{e.content=t}),(0,Te.XI)((e,t,n)=>{e.data=jg(t,n)}),(0,Te.XI)((e,t)=>{I(e.testData??[],t)}),(0,Te.XI)((e,t,n)=>{N(e.tests,E_(t,n))}),(0,Te.XI)((e,t)=>{e.value=t}),(0,Te.XI)((e,t)=>{e.parameters=t.map(m_)}),(0,Te.XI)((e,t)=>{I(e.parameters??[],t)}),(0,Te.XI)((e,t)=>{e.parameters?e.parameters.push(m_(t)):e.parameters=[m_(t)]}),(0,Te.XI)((e,t)=>{e.name=t}),(0,Te.XI)((e,t)=>{e.name=t}),(0,Te.XI)((e,t)=>{N(e.values,i_(t))}),(0,Te.XI)((e,t)=>{I(e.values,t)}),(0,Te.XI)((e,t,n)=>{A(e.values,t,n)}),(0,Te.XI)((e,t)=>{e.value=i_(t),N_(e.ownerReference,t._OWNER)}),(0,Te.XI)((e,t,n)=>{const s=((e,t)=>{const n=e.properties.findIndex(e=>e===t);return $(-1!==n,`Can't find property '${t.name}' in association '${e.path}'`),D(e.properties[(n+1)%2])})(e,t),i=U(t.genericType.ownerReference.value,xc,`Association property '${t.name}' must be of type 'class'`);var o;((o=i).package||o.name)&&$(I(i.propertiesFromAssociations,s),`Can't find property '${s.name}' from association '${e.path}' in associated class '${i.path}'`),N(n.propertiesFromAssociations,s);const r=new Jc(n);t.genericType.value=r,t.genericType.ownerReference.value=r.rawType}),(0,Te.XI)((e,t)=>{e.canonicalUnit=a_(t)}),(0,Te.XI)((e,t)=>{e.conversionFunction=cu(t)}),Dd(e=>(0,Te.Gn)(e,{_dummyObservable:Te.sH}))),O_=Dd(e=>((0,Te.Gn)(e,{value:Te.sH}),Gd(e.ownerReference),e)),k_=Dd(e=>(w_(e),(0,Te.Gn)(e,{id:Te.sH,hideProperties:Te.sH,hideTaggedValues:Te.sH,hideStereotypes:Te.sH,hashCode:Te.EW}),Gd(e.class),e)),R_=Dd(e=>(O_(e.classView),e)),P_=Dd(e=>((0,Te.Gn)(e,{path:Te.sH,pathForSerialization:Te.EW}),R_(e.from),R_(e.to),e)),L_=Dd(e=>(P_(e),(0,Te.Gn)(e,{hashCode:Te.EW}),e)),M_=Dd(e=>(P_(e),(0,Te.Gn)(e,{hashCode:Te.EW}),u_(e.property),Gd(e.association),e)),F_=Dd(e=>(P_(e),(0,Te.Gn)(e,{hashCode:Te.EW}),u_(e.property),e)),D_=(Dd(e=>(jd(e),(0,Te.Gn)(e,{classViews:Te.sH,associationViews:Te.sH,generalizationViews:Te.sH,propertyViews:Te.sH,_elementHashCode:Te.$Z}),e.classViews.forEach(k_),e.associationViews.forEach(M_),e.generalizationViews.forEach(L_),e.propertyViews.forEach(F_),e)),(0,Te.XI)((e,t)=>{e.classViews=t.map(k_)})),B_=(0,Te.XI)((e,t)=>{N(e.classViews,k_(t))}),j_=(0,Te.XI)((e,t)=>{I(e.classViews,t)}),H_=(0,Te.XI)((e,t)=>{e.associationViews=t.map(M_)}),U_=(0,Te.XI)((e,t)=>{I(e.associationViews,t)}),G_=(0,Te.XI)((e,t)=>{e.generalizationViews=t.map(L_)}),V_=(0,Te.XI)((e,t)=>{N(e.generalizationViews,L_(t))}),$_=(0,Te.XI)((e,t)=>{I(e.generalizationViews,t)}),W_=(0,Te.XI)((e,t)=>{e.propertyViews=t.map(F_)}),Y_=(0,Te.XI)((e,t)=>{N(e.propertyViews,F_(t))}),z_=(0,Te.XI)((e,t)=>{I(e.propertyViews,t)}),K_=(0,Te.XI)((e,t)=>{e.hideProperties=t}),X_=(0,Te.XI)((e,t)=>{e.hideStereotypes=t}),J_=(0,Te.XI)((e,t)=>{e.hideTaggedValues=t}),q_=(0,Te.XI)((e,t)=>{e._offsetX=t}),Z_=(0,Te.XI)((e,t)=>{e._offsetY=t}),Q_=(0,Te.XI)((e,t,n)=>{((e,t,n,s=(e,t)=>e===t)=>{const i=e.findIndex(e=>s(e,t));-1!==i&&(e[i]=n)})(e.path,t,n)}),eE=(0,Te.XI)(Tc),tE=(0,Te.XI)((e,t,n,s,i)=>{for(const i of e.path)if(Math.sqrt((t-i.x)*(t-i.x)+(n-i.y)*(n-i.y))<10/s)return i;const o=e.buildFullPath(i),r=[];let a;for(let e=0;e<o.length-1;e++){const i=o[e],c=o[e+1],l=new _c(i.x,i.y).normal(new _c(c.x,c.y)).unit(),d=_c.fromPoints(i,new sc(t,n));if(Math.abs(l.dotProduct(d))<5/s){const e=(i.x<c.x?i.x:c.x)-5/s,o=(i.x<c.x?c.x:i.x)+5/s,l=(i.y<c.y?i.y:c.y)-5/s,d=(i.y<c.y?c.y:i.y)+5/s;e<=t&&t<=o&&l<=n&&n<=d&&(a=new sc(t,n),r.push(a))}e<o.length-2&&r.push(o[e+1])}return a&&i&&bc(e,r),a}),nE=(0,Te.XI)(bc),sE=(0,Te.XI)((e,t)=>{e.rectangle=t}),iE=(0,Te.XI)((e,t)=>{e.position=t}),oE=(0,Te.XI)(e=>{e._dummyObservable={}});var rE,aE,cE;!function(e){e[e.LAYOUT=0]="LAYOUT",e[e.PAN=1]="PAN",e[e.ZOOM_IN=2]="ZOOM_IN",e[e.ZOOM_OUT=3]="ZOOM_OUT",e[e.ADD_RELATIONSHIP=4]="ADD_RELATIONSHIP",e[e.ADD_CLASS=5]="ADD_CLASS"}(rE||(rE={})),function(e){e[e.PROPERTY=0]="PROPERTY",e[e.INHERITANCE=1]="INHERITANCE",e[e.NONE=2]="NONE"}(aE||(aE={})),function(e){e[e.ALIGN_LEFT=0]="ALIGN_LEFT",e[e.ALIGN_CENTER=1]="ALIGN_CENTER",e[e.ALIGN_RIGHT=2]="ALIGN_RIGHT",e[e.ALIGN_TOP=3]="ALIGN_TOP",e[e.ALIGN_MIDDLE=4]="ALIGN_MIDDLE",e[e.ALIGN_BOTTOM=5]="ALIGN_BOTTOM",e[e.SPACE_HORIZONTALLY=6]="SPACE_HORIZONTALLY",e[e.SPACE_VERTICALLY=7]="SPACE_VERTICALLY"}(cE||(cE={}));const lE=.05,dE=[50,75,90,100,110,125,150,200,250,300,400],uE=e=>(e instanceof nl?"/ ":"")+e.name;class pE{diagram;isReadOnly;enableLayoutAutoAdjustment;div;canvas;ctx;canvasDimension;canvasCenter;virtualScreen;screenOffset;zoom;interactionMode;relationshipMode;triangle;diamond;fontFamily;fontSize;lineHeight;truncateText;maxLineLength;screenPadding;classViewSpaceX;classViewSpaceY;propertySpacing;showScreenGrid;showScreenBoxGuide;screenGridAxisTickLength;screenGridSpacingX;screenGridSpacingY;screenGridLineWidth;screenGridLineColor;screenGridLabelTextColor;screenGuideLineColor;screenGuideLabelTextColor;showCanvasGrid;showCanvasBoxGuide;showScreenOffsetGuide;canvasGridAxisTickLength;canvasGridSpacingX;canvasGridSpacingY;canvasGridLineWidth;canvasGridLineColor;canvasGridLabelTextColor;canvasGuideLineColor;canvasGuideLabelTextColor;screenOffsetGuideLineColor;screenOffsetGuideLabelTextColor;defaultLineWidth;defaultLineColor;canvasColor;backgroundColor;classViewFillColor;classViewHeaderTextColor;classViewPropertyTextColor;classViewPrimitivePropertyTextColor;classViewDerivedPropertyTextColor;relationshipViewTextColor;propertyViewOwnedDiamondColor;propertyViewSharedDiamondColor;generalizationViewInheritanceTriangeFillColor;selectionBoxBorderColor;selection;selectionStart;selectedClassCorner;selectedClassProperty;selectedClasses;selectedPropertyOrAssociation;selectedInheritance;selectedPoint;_selectedClassesInitialPositions;startClassView;handleAddRelationship;mouseOverClassCorner;mouseOverClassName;mouseOverClassView;mouseOverClassProperty;mouseOverPropertyHolderViewLabel;cursorPosition;leftClick;middleClick;rightClick;clickX;clickY;positionBeforeLastMove;onAddClassViewClick=()=>{};onClassViewRightClick=()=>{};onBackgroundDoubleClick;onClassViewDoubleClick;onClassNameDoubleClick;onClassPropertyDoubleClick;handleEditClassView=()=>{};handleEditProperty=()=>{};handleAddSimpleProperty=()=>{};constructor(e,t){(0,Te.Gn)(this,{isReadOnly:Te.sH,enableLayoutAutoAdjustment:Te.sH,interactionMode:Te.sH,relationshipMode:Te.sH,zoom:Te.sH,mouseOverClassView:Te.sH,mouseOverClassName:Te.sH,mouseOverClassCorner:Te.sH,mouseOverClassProperty:Te.sH,mouseOverPropertyHolderViewLabel:Te.sH,selectionStart:Te.sH,selectedClassCorner:Te.sH,selectedClasses:Te.sH,selectedPropertyOrAssociation:Te.sH,selectedInheritance:Te.sH,leftClick:Te.sH,middleClick:Te.sH,rightClick:Te.sH,changeMode:Te.XI,setIsReadOnly:Te.XI,setEnableLayoutAutoAdjustment:Te.XI,setMouseOverClassView:Te.XI,setMouseOverClassName:Te.XI,setMouseOverClassCorner:Te.XI,setMouseOverClassProperty:Te.XI,setMouseOverPropertyHolderViewLabel:Te.XI,setSelectionStart:Te.XI,setSelectedClassCorner:Te.XI,setSelectedClasses:Te.XI,setSelectedPropertyOrAssociation:Te.XI,setSelectedInheritance:Te.XI,setLeftClick:Te.XI,setMiddleClick:Te.XI,setRightClick:Te.XI,setZoomLevel:Te.XI,align:Te.XI}),this.diagram=t,this.div=e,this.div.childNodes.forEach(e=>this.div.removeChild(e)),this.canvas=document.createElement("canvas"),this.canvasDimension=new ic(this.div.offsetWidth,this.div.offsetHeight),this.canvasCenter=new sc(this.canvasDimension.width/2,this.canvasDimension.height/2),this.canvas.width=this.canvasDimension.width,this.canvas.height=this.canvasDimension.height,this.canvas.style.position="absolute",this.canvas.style.left="0",this.canvas.style.top="0",this.div.appendChild(this.canvas),this.ctx=this.canvas.getContext("2d"),this.screenOffset=new sc(0,0),this.virtualScreen=new oc(new sc(0,0),new ic(0,0)),this.zoom=1,this.triangle=[new sc(0,0),new sc(-15,-10),new sc(-15,10)],this.diamond=[new sc(0,0),new sc(-10,-5),new sc(-20,0),new sc(-10,5)],this.fontFamily="Arial",this.fontSize=12,this.lineHeight=14,this.truncateText=!0,this.maxLineLength=40,this.showScreenGrid=!1,this.showScreenBoxGuide=!0,this.screenGridAxisTickLength=50,this.screenGridSpacingX=100,this.screenGridSpacingY=100,this.screenGridLineWidth=.5,this.showCanvasGrid=!1,this.showCanvasBoxGuide=!0,this.showScreenOffsetGuide=!0,this.canvasGridAxisTickLength=50,this.canvasGridSpacingX=100,this.canvasGridSpacingY=100,this.canvasGridLineWidth=.5,this.defaultLineWidth=1,this.screenGridLineColor="rgba(61,126,154,0.56)",this.screenGridLabelTextColor="rgba(61,126,154,0.56)",this.screenGuideLineColor="red",this.screenGuideLabelTextColor="red",this.canvasGridLineColor="green",this.canvasGridLabelTextColor="green",this.canvasGuideLineColor="orange",this.canvasGuideLabelTextColor="orange",this.screenOffsetGuideLineColor="purple",this.screenOffsetGuideLabelTextColor="purple",this.defaultLineColor="rgb(0,0,0)",this.canvasColor="rgb(220,220,220)",this.backgroundColor="rgb(255,255,255)",this.classViewFillColor="rgb(185,185,185)",this.classViewHeaderTextColor="rgb(0,0,0)",this.classViewPropertyTextColor="rgb(0,0,0)",this.classViewPrimitivePropertyTextColor="rgb(255,255,255)",this.classViewDerivedPropertyTextColor="rgb(100,100,100)",this.relationshipViewTextColor="rgb(0,0,0)",this.propertyViewSharedDiamondColor="rgb(255,255,255)",this.propertyViewOwnedDiamondColor="rgb(0,0,0)",this.generalizationViewInheritanceTriangeFillColor="rgb(255,255,255)",this.selectionBoxBorderColor="rgba(0,0,0, 0.02)",this.interactionMode=rE.LAYOUT,this.relationshipMode=aE.NONE,this.isReadOnly=!1,this.enableLayoutAutoAdjustment=!1,this.screenPadding=20,this.classViewSpaceX=10,this.classViewSpaceY=4,this.propertySpacing=10,this.selectionStart=void 0,this.selection=void 0,this.selectedClasses=[],this._selectedClassesInitialPositions=[],this.cursorPosition=new sc(0,0),this.leftClick=!1,this.middleClick=!1,this.rightClick=!1,this.clickX=0,this.clickY=0,this.positionBeforeLastMove=new sc(0,0),this.div.onwheel=this.mousewheel.bind(this),this.div.onmousedown=this.mousedown.bind(this),this.div.onkeydown=this.keydown.bind(this),this.div.ondblclick=this.mousedblclick.bind(this),this.div.onmouseup=this.mouseup.bind(this),this.div.onmousemove=this.mousemove.bind(this)}setIsReadOnly(e){this.isReadOnly=e}setEnableLayoutAutoAdjustment(e){this.enableLayoutAutoAdjustment=e}setMouseOverClassView(e){this.mouseOverClassView=e}setMouseOverClassName(e){this.mouseOverClassName=e}setMouseOverClassCorner(e){this.mouseOverClassCorner=e}setMouseOverClassProperty(e){this.mouseOverClassProperty=e}setMouseOverPropertyHolderViewLabel(e){this.mouseOverPropertyHolderViewLabel=e}setSelectionStart(e){this.selectionStart=e}setSelectedClassCorner(e){this.selectedClassCorner=e}setSelectedClasses(e){this.selectedClasses=e}setSelectedPropertyOrAssociation(e){this.selectedPropertyOrAssociation=e}setSelectedInheritance(e){this.selectedInheritance=e}setLeftClick(e){this.leftClick=e}setMiddleClick(e){this.middleClick=e}setRightClick(e){this.rightClick=e}setZoomLevel(e){this.zoom=e}render(e){this.diagram.classViews.forEach(e=>this.ensureClassViewMeetMinDimensions(e)),this.refresh(),e?.initial&&(this.autoRecenter(),(this.canvas.width<this.virtualScreen.rectangle.width+2*this.screenPadding+20||this.canvas.height<this.virtualScreen.rectangle.height+2*this.screenPadding+20)&&this.zoomToFit())}refresh(){this.refreshCanvas(),this.drawScreen()}refreshCanvas(){this.canvasDimension=new ic(this.div.offsetWidth,this.div.offsetHeight),this.canvasCenter=new sc(this.canvasDimension.width/2,this.canvasDimension.height/2),this.canvas.width=this.canvasDimension.width,this.canvas.height=this.canvasDimension.height}clearScreen(){this.ctx.fillStyle=this.canvasColor,this.ctx.fillRect(0,0,this.canvasDimension.width,this.canvasDimension.height)}drawScreen(){this.manageVirtualScreen(),this.clearScreen(),this.drawAll()}autoRecenter(){this.center(this.virtualScreen.position.x+this.virtualScreen.rectangle.width/2,this.virtualScreen.position.y+this.virtualScreen.rectangle.height/2)}center(e,t){this.screenOffset=new sc(-e+this.canvasCenter.x,-t+this.canvasCenter.y),this.refresh()}changeMode(e,t){switch(e){case rE.LAYOUT:case rE.PAN:case rE.ZOOM_IN:case rE.ZOOM_OUT:case rE.ADD_CLASS:if(t!==aE.NONE)throw new O(`Can't change to '${e}' mode: relationship mode should not be specified in layout mode`);break;case rE.ADD_RELATIONSHIP:if(t===aE.NONE)throw new O("Can't switch to relationship mode: relationship mode is not specified");break;default:throw new k(`Can't switch to mode '${e}': unsupported mode`)}if(this.interactionMode=e,this.relationshipMode=t,e===rE.ADD_RELATIONSHIP)switch(t){case aE.INHERITANCE:this.handleAddRelationship=(e,t)=>{if(e.class.value===t.class.value||Fc(e.class.value).includes(t.class.value)||Fc(t.class.value).includes(e.class.value)||I_(e.class.value,Yc.create(new Jc(t.class.value))),e.class.value.generalizations.find(e=>e.value.rawType===t.class.value)){const n=new Ac(this.diagram,e,t);return V_(this.diagram,n),n}};break;case aE.PROPERTY:this.handleAddRelationship=(e,t)=>{const n=new qc(`property_${e.class.value.properties.length+1}`,jc.ONE,Yc.create(new Jc(t.class.value)),e.class.value);if(A_(e.class.value,n),e!==t){const s=new fc(this.diagram,td.create(n),e,t);return Y_(this.diagram,s),s}};break;default:throw new k(`Can't switch to relationship mode '${t}': unsupported mode`)}}align(e){if(!(this.selectedClasses.length<2)){switch(e){case cE.ALIGN_LEFT:{const e=this.selectedClasses.reduce((e,t)=>Math.min(e,t.position.x),Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach(t=>iE(t,new sc(e,t.position.y)));break}case cE.ALIGN_CENTER:{const e=this.selectedClasses.reduce((e,t)=>e+t.position.x+t.rectangle.width/2,0)/this.selectedClasses.length;this.selectedClasses.forEach(t=>iE(t,new sc(e-t.rectangle.width/2,t.position.y)));break}case cE.ALIGN_RIGHT:{const e=this.selectedClasses.reduce((e,t)=>Math.max(e,t.position.x+t.rectangle.width),-Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach(t=>iE(t,new sc(e-t.rectangle.width,t.position.y)));break}case cE.ALIGN_TOP:{const e=this.selectedClasses.reduce((e,t)=>Math.min(e,t.position.y),Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach(t=>iE(t,new sc(t.position.x,e)));break}case cE.ALIGN_MIDDLE:{const e=this.selectedClasses.reduce((e,t)=>e+t.position.y+t.rectangle.height/2,0)/this.selectedClasses.length;this.selectedClasses.forEach(t=>iE(t,new sc(t.position.x,e-t.rectangle.height/2)));break}case cE.ALIGN_BOTTOM:{const e=this.selectedClasses.reduce((e,t)=>Math.max(e,t.position.y+t.rectangle.height),-Number.MAX_SAFE_INTEGER);this.selectedClasses.forEach(t=>iE(t,new sc(t.position.x,e-t.rectangle.height)));break}case cE.SPACE_HORIZONTALLY:{const e=this.selectedClasses.toSorted((e,t)=>e.position.x-t.position.x);if(2===e.length){const t=e[0],n=e[1];iE(n,new sc(t.position.x+t.rectangle.width,n.position.y))}else{const t=[];for(let n=1;n<e.length;n++){const s=e[n-1],i=e[n];t.push(i.position.x-(s.position.x+s.rectangle.width))}const n=t.reduce((e,t)=>e+t,0)/t.length;for(let t=1;t<e.length;t++){const s=e[t-1],i=e[t];iE(i,new sc(s.position.x+s.rectangle.width+n,i.position.y))}}break}case cE.SPACE_VERTICALLY:{const e=this.selectedClasses.toSorted((e,t)=>e.position.y-t.position.y);if(2===e.length){const t=e[0],n=e[1];iE(n,new sc(n.position.x,t.position.y+t.rectangle.height))}else{const t=[];for(let n=1;n<e.length;n++){const s=e[n-1],i=e[n];t.push(i.position.y-(s.position.y+s.rectangle.height))}const n=t.reduce((e,t)=>e+t,0)/t.length;for(let t=1;t<e.length;t++){const s=e[t-1],i=e[t];iE(i,new sc(i.position.x,s.position.y+s.rectangle.height+n))}}break}}this.drawScreen()}}truncateTextWithEllipsis(e,t=this.maxLineLength){return e.length>t?`${e.substring(0,t+1-3)}...`:e}canvasCoordinateToModelCoordinate(e){return new sc((e.x-this.canvasCenter.x)/this.zoom-this.screenOffset.x+this.canvasCenter.x,(e.y-this.canvasCenter.y)/this.zoom-this.screenOffset.y+this.canvasCenter.y)}modelCoordinateToCanvasCoordinate(e){return new sc((e.x-this.canvasCenter.x+this.screenOffset.x)*this.zoom+this.canvasCenter.x,(e.y-this.canvasCenter.y+this.screenOffset.y)*this.zoom+this.canvasCenter.y)}resolveMouseEventCoordinate(e){if(e.target instanceof HTMLElement){const t=Ec(e.target);return new sc(t.x+e.offsetX,t.y+e.offsetY)}return new sc(e.x,e.y)}eventCoordinateToCanvasCoordinate(e){return new sc(e.x-this.divPosition.x+this.div.scrollLeft,e.y-this.divPosition.y+this.div.scrollTop)}canvasCoordinateToEventCoordinate(e){return new sc(e.x-this.div.scrollLeft+this.divPosition.x,e.y-this.div.scrollTop+this.divPosition.y)}hasPropertyView(e,t){return this.diagram.propertyViews.filter(n=>n.property.value===t&&n.from.classView.value===e).length>0}get divPosition(){return Ec(this.div)}manageVirtualScreen(){if(this.diagram.classViews.length){const e=D(this.diagram.classViews[0]);let t=e.position.x,n=e.position.y,s=e.position.x+e.rectangle.width,i=e.position.y+e.rectangle.height;for(const e of this.diagram.classViews)t=Math.min(t,e.position.x),n=Math.min(n,e.position.y),s=Math.max(s,e.position.x+e.rectangle.width),i=Math.max(i,e.position.y+e.rectangle.height);const o=this.diagram.associationViews.concat(this.diagram.generalizationViews).concat(this.diagram.propertyViews);for(const e of o){const o=gc.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value);if(e instanceof fc){const r=this.drawLinePropertyText(D(o[o.length-2],"Diagram path expected to have at least 2 points"),D(o[o.length-1],"Diagram path expected to have at least 2 points"),e.to.classView.value,e.property.value,!1);t=Math.min(t,r.position.x),n=Math.min(n,r.position.y),s=Math.max(s,yc(r).x),i=Math.max(i,yc(r).y)}for(const o of e.path)t=Math.min(t,o.x),n=Math.min(n,o.y),s=Math.max(s,o.x),i=Math.max(i,o.y)}this.virtualScreen=new oc(new sc(t,n),new ic(s-t,i-n))}else this.setZoomLevel(1),this.screenOffset=new sc(0,0),this.virtualScreen=new oc(new sc(this.canvasDimension.width/2,this.canvasDimension.height/2),new ic(0,0))}executeZoom(e,t){e=Math.max(e,lE);const n=this.zoom;this.setZoomLevel(e),this.screenOffset=new sc(((t.x-this.canvasCenter.x)*(n-e)+this.screenOffset.x*n)/e,((t.y-this.canvasCenter.y)*(n-e)+this.screenOffset.y*n)/e),this.clearScreen(),this.drawAll()}zoomPoint(e,t){this.executeZoom(e,t)}zoomCenter(e){this.setZoomLevel(Math.max(e,lE)),this.clearScreen(),this.drawAll()}zoomToFit(){this.autoRecenter(),this.zoomCenter(Math.max(Math.min(this.canvas.width/(this.virtualScreen.rectangle.width+2*this.screenPadding+20),this.canvas.height/(this.virtualScreen.rectangle.height+2*this.screenPadding+20)),lE))}addClassView(e,t){if(!this.isReadOnly){const n=this.diagram.classViews.map(e=>e.id);let s=(0,o.A)();for(;n.includes(s);)s=(0,o.A)();const i=new rc(this.diagram,s,uc.create(e));return iE(i,t??this.canvasCoordinateToModelCoordinate(new sc(this.virtualScreen.position.x+this.virtualScreen.rectangle.width/2,this.virtualScreen.position.y+this.virtualScreen.rectangle.height/2))),B_(this.diagram,i),oE(i),this.diagram.classViews.filter(t=>t.class.value!==e).forEach(t=>{const n=t.class.value;e.generalizations.map(e=>e.value.rawType).includes(n)&&V_(this.diagram,new Ac(this.diagram,i,t)),n.generalizations.map(e=>e.value.rawType).includes(e)&&V_(this.diagram,new Ac(this.diagram,t,i)),Dc(e).forEach(e=>{e.genericType.value.rawType===n&&Y_(this.diagram,new fc(this.diagram,td.create(e),i,t))}),Dc(n).forEach(n=>{n.genericType.value.rawType===e&&Y_(this.diagram,new fc(this.diagram,td.create(n),t,i))})}),this.drawClassView(i),this.drawScreen(),i}}drawBoundingBox(){this.ctx.fillStyle=this.backgroundColor,this.ctx.lineWidth=1,this.ctx.fillRect((this.virtualScreen.position.x+this.screenOffset.x-this.canvasCenter.x-this.screenPadding)*this.zoom+this.canvasCenter.x,(this.virtualScreen.position.y+this.screenOffset.y-this.canvasCenter.y-this.screenPadding)*this.zoom+this.canvasCenter.y,(this.virtualScreen.rectangle.width+2*this.screenPadding)*this.zoom,(this.virtualScreen.rectangle.height+2*this.screenPadding)*this.zoom),this.ctx.strokeRect((this.virtualScreen.position.x+this.screenOffset.x-this.canvasCenter.x-this.screenPadding)*this.zoom+this.canvasCenter.x,(this.virtualScreen.position.y+this.screenOffset.y-this.canvasCenter.y-this.screenPadding)*this.zoom+this.canvasCenter.y,(this.virtualScreen.rectangle.width+2*this.screenPadding)*this.zoom,(this.virtualScreen.rectangle.height+2*this.screenPadding)*this.zoom)}drawDiagram(){this.diagram.associationViews.forEach(e=>this.drawPropertyOrAssociation(e)),this.diagram.generalizationViews.forEach(e=>this.drawInheritance(e)),this.diagram.propertyViews.forEach(e=>this.drawPropertyOrAssociation(e)),this.diagram.classViews.forEach(e=>this.drawClassView(e)),this.showCanvasGrid&&this.drawCanvasGrid(),this.showScreenGrid&&this.drawScreenGrid()}drawAll(){this.drawBoundingBox(),this.drawDiagram()}drawScreenGrid(){const e=(this.virtualScreen.position.x+this.screenOffset.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,t=(this.virtualScreen.position.y+this.screenOffset.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y,n=(this.virtualScreen.rectangle.width+2*this.screenPadding)*this.zoom,s=(this.virtualScreen.rectangle.height+2*this.screenPadding)*this.zoom;this.ctx.beginPath(),this.ctx.fillStyle=this.screenGridLabelTextColor,this.ctx.strokeStyle=this.screenGridLineColor,this.ctx.lineWidth=this.screenGridLineWidth,this.ctx.font=`${(this.fontSize-1)*this.zoom}px ${this.fontFamily}`;let i=0;for(let o=e;o<e+n-2*this.screenPadding;o+=this.screenGridSpacingX*this.zoom)this.ctx.fillText(`${i}`,o+5*this.zoom,t-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.x+i)}]`,o+5*this.zoom,t-(this.screenGridAxisTickLength+this.screenPadding-this.lineHeight)*this.zoom),this.ctx.moveTo(o,t-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom),this.ctx.lineTo(o,t+s-this.screenPadding*this.zoom),this.ctx.stroke(),i+=this.screenGridSpacingX;let o=0;for(let i=t;i<t+s-2*this.screenPadding;i+=this.screenGridSpacingY*this.zoom)this.ctx.fillText(`${o}`,e-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom,i+5*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.y+o)}]`,e-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom,i+(5+this.lineHeight)*this.zoom),this.ctx.moveTo(e-(this.screenGridAxisTickLength+this.screenPadding)*this.zoom,i),this.ctx.lineTo(e+n-this.screenPadding*this.zoom,i),this.ctx.stroke(),o+=this.screenGridSpacingY;this.showScreenBoxGuide&&(this.ctx.beginPath(),this.ctx.fillStyle=this.screenGuideLabelTextColor,this.ctx.strokeStyle=this.screenGuideLineColor,this.ctx.moveTo(e,t),this.ctx.lineTo(e,t+s-2*this.screenPadding*this.zoom),this.ctx.stroke(),this.ctx.lineTo(e,t+s-2*this.screenPadding*this.zoom),this.ctx.lineTo(e+n-2*this.screenPadding*this.zoom,t+s-2*this.screenPadding*this.zoom),this.ctx.stroke(),this.ctx.lineTo(e+n-2*this.screenPadding*this.zoom,t+s-2*this.screenPadding*this.zoom),this.ctx.lineTo(e+n-2*this.screenPadding*this.zoom,t),this.ctx.stroke(),this.ctx.lineTo(e+n-2*this.screenPadding*this.zoom,t),this.ctx.lineTo(e,t),this.ctx.stroke(),this.ctx.fillText(`${Math.round(this.virtualScreen.rectangle.width/2)}`,e+n/2-(this.screenPadding-5)*this.zoom,t+5*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.x+this.virtualScreen.rectangle.width/2)}]`,e+n/2-(this.screenPadding-5)*this.zoom,t+(5+this.lineHeight)*this.zoom),this.ctx.lineTo(e+n/2-this.screenPadding*this.zoom,t),this.ctx.lineTo(e+n/2-this.screenPadding*this.zoom,t+s-2*this.screenPadding*this.zoom),this.ctx.stroke(),this.ctx.fillText(`${Math.round(this.virtualScreen.rectangle.height/2)}`,e+5*this.zoom,t+s/2-(this.screenPadding-5)*this.zoom),this.ctx.fillText(`[${Math.round(this.virtualScreen.position.y+this.virtualScreen.rectangle.height/2)}]`,e+5*this.zoom,t+s/2-(this.screenPadding-5-this.lineHeight)*this.zoom),this.ctx.lineTo(e,t+s/2-this.screenPadding*this.zoom),this.ctx.lineTo(e+n-2*this.screenPadding*this.zoom,t+s/2-this.screenPadding*this.zoom),this.ctx.stroke()),this.ctx.strokeStyle=this.defaultLineColor,this.ctx.lineWidth=this.defaultLineWidth}drawCanvasGrid(){const e=-this.canvasCenter.x*this.zoom+this.canvasCenter.x,t=-this.canvasCenter.y*this.zoom+this.canvasCenter.y,n=this.canvasDimension.width,s=this.canvasDimension.height;this.ctx.setLineDash([5,5]),this.ctx.fillStyle=this.canvasGridLabelTextColor,this.ctx.strokeStyle=this.canvasGridLineColor,this.ctx.lineWidth=this.canvasGridLineWidth,this.ctx.font=`${(this.fontSize-1)*this.zoom}px ${this.fontFamily}`,this.ctx.beginPath();let i=0;for(let t=e;t<n;t+=this.canvasGridSpacingX*this.zoom)0!==t&&this.ctx.fillText(`[${Math.round(i)}]`,t+5*this.zoom,5*this.zoom),this.ctx.moveTo(t,0),this.ctx.lineTo(t,s),this.ctx.stroke(),i+=this.canvasGridSpacingX;let o=0;for(let e=t;e<s;e+=this.canvasGridSpacingY*this.zoom)0!==e&&this.ctx.fillText(`[${Math.round(o)}]`,5*this.zoom,e+5*this.zoom),this.ctx.moveTo(0,e),this.ctx.lineTo(n,e),this.ctx.stroke(),o+=this.canvasGridSpacingY;if(this.showCanvasBoxGuide&&(this.ctx.beginPath(),this.ctx.fillStyle=this.canvasGuideLabelTextColor,this.ctx.strokeStyle=this.canvasGuideLineColor,this.ctx.fillText(`[${Math.round(n/2)}]`,n/2+5*this.zoom,5*this.zoom),this.ctx.moveTo(n/2,0),this.ctx.lineTo(n/2,s),this.ctx.stroke(),this.ctx.fillText(`[${Math.round(s/2)}]`,5*this.zoom,s/2+5*this.zoom),this.ctx.moveTo(0,s/2),this.ctx.lineTo(n,s/2),this.ctx.stroke()),this.showScreenOffsetGuide){const n=5,s=35;this.ctx.beginPath(),this.ctx.setLineDash([]),this.ctx.fillStyle=this.screenOffsetGuideLabelTextColor,this.ctx.strokeStyle=this.screenOffsetGuideLineColor,this.ctx.arc(e+this.screenOffset.x*this.zoom,t+this.screenOffset.y*this.zoom,n*this.zoom,0,2*Math.PI),this.ctx.moveTo(e+(this.screenOffset.x-n)*this.zoom,t+this.screenOffset.y*this.zoom),this.ctx.lineTo(e+(this.screenOffset.x+2*n)*this.zoom,t+this.screenOffset.y*this.zoom),this.ctx.moveTo(e+this.screenOffset.x*this.zoom,t+(this.screenOffset.y-n)*this.zoom),this.ctx.lineTo(e+this.screenOffset.x*this.zoom,t+(this.screenOffset.y+2*n)*this.zoom),this.ctx.stroke(),this.ctx.setLineDash([5,5]),this.ctx.moveTo(e,t+this.screenOffset.y*this.zoom),this.ctx.lineTo(e+(this.screenOffset.x-n)*this.zoom,t+this.screenOffset.y*this.zoom),this.ctx.moveTo(e+this.screenOffset.x*this.zoom,t+0),this.ctx.lineTo(e+this.screenOffset.x*this.zoom,t+(this.screenOffset.y-n)*this.zoom),this.ctx.stroke(),this.ctx.beginPath(),this.screenOffset.x>=s&&this.screenOffset.y>=s?(this.ctx.fillText(`[${Math.round(this.screenOffset.x)}]`,e+(this.screenOffset.x+5)*this.zoom,t+5*this.zoom),this.ctx.fillText(`[${Math.round(this.screenOffset.y)}]`,e+5*this.zoom,t+(this.screenOffset.y+5)*this.zoom)):this.screenOffset.x>=0&&this.screenOffset.y>=0?this.ctx.fillText(`Δ [${Math.round(this.screenOffset.x)},${Math.round(this.screenOffset.y)}]`,e+(this.screenOffset.x+n+5)*this.zoom,t+(this.screenOffset.y+n+5)*this.zoom):this.ctx.fillText(`Δ [${Math.round(this.screenOffset.x)},${Math.round(this.screenOffset.y)}]`,e+(n+5)*this.zoom,t+(n+5)*this.zoom)}this.ctx.setLineDash([]),this.ctx.strokeStyle=this.defaultLineColor,this.ctx.lineWidth=this.defaultLineWidth}drawClassViewProperty(e,t,n,s,i){this.ctx.font=this.mouseOverClassView===e&&this.mouseOverClassProperty===t?`bold ${(this.fontSize-1)*(i?1:this.zoom)}px ${this.fontFamily}`:`${i?"bold":""} ${(this.fontSize-1)*(i?1:this.zoom)}px ${this.fontFamily}`;const o=uE(t);let r=this.ctx.measureText(`${o} : `).width;i||(this.ctx.fillText(`${o} : `,n,s),this.ctx.fillText(t.genericType.value.rawType.name,n+r,s),t.genericType.value.rawType instanceof rl&&(this.ctx.beginPath(),this.ctx.moveTo(n+r,s+(this.fontSize-1)*this.zoom),this.ctx.lineTo(n+r+this.ctx.measureText(t.genericType.value.rawType.name).width,s+(this.fontSize-1)*this.zoom),this.ctx.stroke())),r+=this.ctx.measureText(t.genericType.value.rawType.name).width,this.ctx.font=`${(this.fontSize-1)*(i?1:this.zoom)}px ${this.fontFamily}`;const a=Rd(t.multiplicity.lowerBound,t.multiplicity.upperBound);return i||this.ctx.fillText(`[${a}]`,n+r,s),r+=this.ctx.measureText(`[${a}]`).width,r}computeClassNameWidth(e){return this.ctx.font=`bold ${this.fontSize}px ${this.fontFamily}`,this.ctx.textBaseline="top",this.ctx.measureText(this.truncateTextWithEllipsis(e.class.value.name)).width}ensureClassViewMeetMinDimensions(e){let t=this.computeClassNameWidth(e),n=this.lineHeight+2*this.classViewSpaceY;if(!e.hideStereotypes){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;for(const s of e.class.value.stereotypes){const e=`<< ${this.truncateTextWithEllipsis(s.value.value,this.maxLineLength-6)} >>`,i=this.ctx.measureText(e).width;t=Math.max(t,i),n+=this.lineHeight}}if(!e.hideTaggedValues){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`,this.ctx.textBaseline="top";for(const s of e.class.value.taggedValues){const e=`{ ${this.truncateTextWithEllipsis(`${s.tag.value.value} = ${s.value}`,this.maxLineLength-4)} }`,i=this.ctx.measureText(e).width;t=Math.max(t,i),n+=this.lineHeight}}if(e.hideProperties||(Dc(e.class.value).forEach(s=>{if(!this.hasPropertyView(e,s)){const i=this.drawClassViewProperty(e,s,0,0,!0);t=Math.max(t,i),n+=this.lineHeight}}),n+=2*this.classViewSpaceY),t+=2*this.classViewSpaceX,!this.isReadOnly||this.enableLayoutAutoAdjustment){const s=e.rectangle.width&&e.rectangle.width>t?e.rectangle.width:t,i=e.rectangle.height&&e.rectangle.height>n?e.rectangle.height:n;sE(e,new ic(s,i))}}drawClassView(e){const t=this.computeClassNameWidth(e);this.ensureClassViewMeetMinDimensions(e),this.ctx.fillStyle=this.classViewFillColor;const n=this.modelCoordinateToCanvasCoordinate(e.position);this.ctx.fillRect(n.x,n.y,e.rectangle.width*this.zoom,e.rectangle.height*this.zoom),this.ctx.lineWidth=0!==this.selectedClasses.length&&-1!==this.selectedClasses.indexOf(e)?2:1,this.ctx.strokeRect(n.x,n.y,e.rectangle.width*this.zoom,e.rectangle.height*this.zoom);const s=e.position.x,i=e.position.y;this.ctx.lineWidth=1,this.ctx.fillStyle=this.classViewHeaderTextColor;let o=i;if(this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`,!e.hideStereotypes)for(const t of e.class.value.stereotypes){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;const n=`<< ${this.truncateTextWithEllipsis(t.value.value,this.maxLineLength-6)} >>`,i=this.ctx.measureText(n).width;this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`,this.ctx.fillText(n,(s+this.screenOffset.x+(e.rectangle.width-i)/2-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,(o+this.screenOffset.y+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y),o+=this.lineHeight}this.ctx.font=`bold ${this.fontSize*this.zoom}px ${this.fontFamily}`;const r=this.truncateTextWithEllipsis(e.class.value.name);if(this.ctx.fillText(r,(s+this.screenOffset.x+(e.rectangle.width-t)/2-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,(o+this.screenOffset.y+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y),o+=this.lineHeight,!e.hideTaggedValues)for(const t of e.class.value.taggedValues){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;const n=`{ ${this.truncateTextWithEllipsis(`${t.tag.value.value} = ${t.value}`,this.maxLineLength-4)} }`,i=this.ctx.measureText(n).width;this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`,this.ctx.fillText(n,(s+this.screenOffset.x+(e.rectangle.width-i)/2-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,(o+this.screenOffset.y+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y),o+=this.lineHeight}if(o+=3*this.classViewSpaceY,!e.hideProperties){this.ctx.beginPath();const t=(i+this.screenOffset.y+this.lineHeight+(e.hideStereotypes?0:e.class.value.stereotypes.length*this.lineHeight)+(e.hideTaggedValues?0:e.class.value.taggedValues.length*this.lineHeight)+this.classViewSpaceY-this.canvasCenter.y)*this.zoom+this.canvasCenter.y;this.ctx.moveTo((s+this.screenOffset.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,t),this.ctx.lineTo((s+this.screenOffset.x+e.rectangle.width-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,t),this.ctx.stroke();for(const t of Dc(e.class.value))if(!this.hasPropertyView(e,t)){this.ctx.fillStyle=t instanceof nl?this.classViewDerivedPropertyTextColor:t.genericType.value.rawType instanceof il?this.classViewPrimitivePropertyTextColor:this.classViewPropertyTextColor;const n=(s+this.screenOffset.x+this.classViewSpaceX-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,i=(o+this.screenOffset.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y;this.drawClassViewProperty(e,t,n,i,!1),o+=this.lineHeight}}oE(e)}drawLinePropertyNameAndMultiplicity(e,t,n,s,i,o){this.ctx.font=`${this.fontSize}px ${this.fontFamily}`;const r=uE(e),a=Rd(e.multiplicity.lowerBound,e.multiplicity.upperBound),c=this.ctx.measureText(r).width,l=this.ctx.measureText(a).width;this.ctx.font=`${this.fontSize*this.zoom}px ${this.fontFamily}`;const d=t(c),u=n(c),p=this.modelCoordinateToCanvasCoordinate(new sc(t(c),n(c)));o||this.ctx.fillText(r,p.x,p.y);const h=s(l),g=i(l),m=this.modelCoordinateToCanvasCoordinate(new sc(s(l),i(l)));o||this.ctx.fillText(a,m.x,m.y);const f=new sc(Math.min(d,h),Math.min(u,g));return new oc(f,new ic(Math.max(d,h)+Math.max(c,l)-f.x,Math.max(u,g)+this.lineHeight-f.y))}drawLinePropertyText(e,t,n,s,i){this.ctx.textBaseline="top",this.ctx.fillStyle=this.relationshipViewTextColor;const o=e.x,r=e.y,a=t.x,c=t.y,l=n.rectangle;if(r<c){const e=o+(a-o)/(c-r)*(n.position.y-r);if(e>n.position.x&&e<n.position.x+l.width)return this.drawLinePropertyNameAndMultiplicity(s,t=>e<n.position.x+l.width/2?e+this.propertySpacing:e-t-this.propertySpacing,e=>n.position.y-this.lineHeight-this.propertySpacing,t=>e<n.position.x+l.width/2?e-t-this.propertySpacing:e+this.propertySpacing,e=>n.position.y-this.lineHeight-this.propertySpacing,i)}else{const e=o+(a-o)/(c-r)*(n.position.y+l.height-r);if(e>n.position.x&&e<n.position.x+l.width)return this.drawLinePropertyNameAndMultiplicity(s,t=>e<n.position.x+l.width/2?e+this.propertySpacing:e-t-this.propertySpacing,e=>n.position.y+l.height+this.propertySpacing,t=>e<n.position.x+l.width/2?e-t-this.propertySpacing:e+this.propertySpacing,e=>n.position.y+l.height+this.propertySpacing,i)}if(o<a){const e=r+(c-r)/(a-o)*(n.position.x-o);if(e>n.position.y&&e<n.position.y+l.height)return this.drawLinePropertyNameAndMultiplicity(s,e=>n.position.x-e-this.propertySpacing,t=>e<n.position.y+n.rectangle.height/2?e+this.propertySpacing:e-this.lineHeight-this.propertySpacing,e=>n.position.x-e-this.propertySpacing,t=>e<n.position.y+n.rectangle.height/2?e-this.lineHeight-this.propertySpacing:e+this.propertySpacing,i)}else{const e=r+(c-r)/(a-o)*(n.position.x+n.rectangle.width-o);if(e>n.position.y&&e<n.position.y+n.rectangle.height)return this.drawLinePropertyNameAndMultiplicity(s,e=>n.position.x+n.rectangle.width+this.propertySpacing,t=>e<n.position.y+n.rectangle.height/2?e+this.propertySpacing:e-this.lineHeight-this.propertySpacing,e=>n.position.x+n.rectangle.width+this.propertySpacing,t=>e<n.position.y+n.rectangle.height/2?e-this.lineHeight-this.propertySpacing:e+this.propertySpacing,i)}return new oc(new sc(0,0),new ic(0,0))}drawPropertyOrAssociation(e){const t=gc.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value),n=e.property.value;if(this.drawLinePropertyText(D(t[t.length-2],"Diagram path expected to have at least 2 points"),D(t[t.length-1],"Diagram path expected to have at least 2 points"),e.to.classView.value,n,!1),this.ctx.beginPath(),this.ctx.lineWidth=e===this.selectedPropertyOrAssociation?2:1,t.forEach((e,t)=>{const n=this.modelCoordinateToCanvasCoordinate(e);0===t?this.ctx.moveTo(n.x,n.y):this.ctx.lineTo(n.x,n.y)}),this.ctx.stroke(),this.ctx.lineWidth=1,n instanceof qc){const s=t[1],i=t[0],o=s.x,r=s.y,a=i.x,c=i.y,l=e.from;let d=0,u=0;if(c>r){const e=o+(a-o)/(c-r)*(l.classView.value.position.y-r);e>l.classView.value.position.x&&e<l.classView.value.position.x+l.classView.value.rectangle.width&&(d=(e-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(l.classView.value.position.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const e=o+(a-o)/(c-r)*(l.classView.value.position.y+l.classView.value.rectangle.height-r);e>l.classView.value.position.x&&e<l.classView.value.position.x+l.classView.value.rectangle.width&&(d=(e-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(l.classView.value.position.y+l.classView.value.rectangle.height-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}if(a>o){const e=r+(c-r)/(a-o)*(l.classView.value.position.x-o);e>l.classView.value.position.y&&e<l.classView.value.position.y+l.classView.value.rectangle.height&&(d=(l.classView.value.position.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(e-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const e=r+(c-r)/(a-o)*(l.classView.value.position.x+l.classView.value.rectangle.width-o);e>l.classView.value.position.y&&e<l.classView.value.position.y+l.classView.value.rectangle.height&&(d=(l.classView.value.position.x+l.classView.value.rectangle.width-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,u=(e-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}if(n.aggregation===Zc.COMPOSITE||n.aggregation===Zc.SHARED){let e=Math.atan((c-r)/(a-o));e=a>=o?e:e+Math.PI,this.ctx.beginPath(),this.ctx.moveTo(d+(this.screenOffset.x+Cc(this.diamond[0],e))*this.zoom,u+(this.screenOffset.y+vc(this.diamond[0],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Cc(this.diamond[1],e))*this.zoom,u+(this.screenOffset.y+vc(this.diamond[1],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Cc(this.diamond[2],e))*this.zoom,u+(this.screenOffset.y+vc(this.diamond[2],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Cc(this.diamond[3],e))*this.zoom,u+(this.screenOffset.y+vc(this.diamond[3],e))*this.zoom),this.ctx.lineTo(d+(this.screenOffset.x+Cc(this.diamond[0],e))*this.zoom,u+(this.screenOffset.y+vc(this.diamond[0],e))*this.zoom),n.aggregation===Zc.SHARED&&(this.ctx.fillStyle=this.propertyViewSharedDiamondColor),n.aggregation===Zc.COMPOSITE&&(this.ctx.fillStyle=this.propertyViewOwnedDiamondColor),this.ctx.fill(),this.ctx.stroke(),this.ctx.lineWidth=1}}}drawInheritance(e){const t=e.to.classView.value.rectangle,n=gc.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value),s=D(n[n.length-2],"Diagram path expected to have at least 2 points").x,i=D(n[n.length-2],"Diagram path expected to have at least 2 points").y,o=D(n[n.length-1],"Diagram path expected to have at least 2 points").x,r=D(n[n.length-1],"Diagram path expected to have at least 2 points").y;let a=0,c=0;if(r>i){const n=s+(o-s)/(r-i)*(e.to.classView.value.position.y-i);n>e.to.classView.value.position.x&&n<e.to.classView.value.position.x+t.width&&(a=(n-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(e.to.classView.value.position.y-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const n=s+(o-s)/(r-i)*(e.to.classView.value.position.y+t.height-i);n>e.to.classView.value.position.x&&n<e.to.classView.value.position.x+t.width&&(a=(n-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(e.to.classView.value.position.y+t.height-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}if(o>s){const n=i+(r-i)/(o-s)*(e.to.classView.value.position.x-s);n>e.to.classView.value.position.y&&n<e.to.classView.value.position.y+t.height&&(a=(e.to.classView.value.position.x-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(n-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}else{const n=i+(r-i)/(o-s)*(e.to.classView.value.position.x+t.width-s);n>e.to.classView.value.position.y&&n<e.to.classView.value.position.y+t.height&&(a=(e.to.classView.value.position.x+t.width-this.canvasCenter.x)*this.zoom+this.canvasCenter.x,c=(n-this.canvasCenter.y)*this.zoom+this.canvasCenter.y)}this.ctx.beginPath(),this.ctx.lineWidth=e===this.selectedInheritance?2:1,n.forEach((e,t)=>{const n=this.modelCoordinateToCanvasCoordinate(e);0===t?this.ctx.moveTo(n.x,n.y):this.ctx.lineTo(n.x,n.y)}),this.ctx.stroke();let l=Math.atan((r-i)/(o-s));l=o>=s?l:l+Math.PI,this.ctx.beginPath(),this.ctx.moveTo(a+(this.screenOffset.x+Cc(this.triangle[0],l))*this.zoom,c+(this.screenOffset.y+vc(this.triangle[0],l))*this.zoom),this.ctx.lineTo(a+(this.screenOffset.x+Cc(this.triangle[1],l))*this.zoom,c+(this.screenOffset.y+vc(this.triangle[1],l))*this.zoom),this.ctx.lineTo(a+(this.screenOffset.x+Cc(this.triangle[2],l))*this.zoom,c+(this.screenOffset.y+vc(this.triangle[2],l))*this.zoom),this.ctx.lineTo(a+(this.screenOffset.x+Cc(this.triangle[0],l))*this.zoom,c+(this.screenOffset.y+vc(this.triangle[0],l))*this.zoom),this.ctx.fillStyle=this.generalizationViewInheritanceTriangeFillColor,this.ctx.fill(),this.ctx.stroke(),this.ctx.lineWidth=1}reorderDiagramDomain(e,t){const n=t.classViews.filter(t=>t!==e);return n.push(e),n}potentiallyShiftRelationships(e,t,n,s){e.forEach(e=>{-1!==t.indexOf(e.from.classView.value)&&-1!==t.indexOf(e.to.classView.value)&&nE(e,e.path.map(e=>new sc(e.x-n,e.y-s)))})}recenter(){if(0!==this.selectedClasses.length){const e=this.selectedClasses[0];e&&this.center(e.position.x+e.rectangle.width/2,e.position.y+e.rectangle.height/2)}else this.autoRecenter()}switchToZoomMode(){this.changeMode(this.interactionMode!==rE.ZOOM_IN?rE.ZOOM_IN:rE.ZOOM_OUT,aE.NONE)}switchToViewMode(){this.changeMode(rE.LAYOUT,aE.NONE)}switchToPanMode(){this.changeMode(rE.PAN,aE.NONE)}switchToAddPropertyMode(){this.isReadOnly||this.changeMode(rE.ADD_RELATIONSHIP,aE.PROPERTY)}switchToAddInheritanceMode(){this.isReadOnly||this.changeMode(rE.ADD_RELATIONSHIP,aE.INHERITANCE)}switchToAddClassMode(){this.isReadOnly||this.changeMode(rE.ADD_CLASS,aE.NONE)}ejectProperty(){this.isReadOnly||(this.mouseOverClassProperty?this.mouseOverClassProperty.genericType.value.rawType instanceof xc&&this.addClassView(this.mouseOverClassProperty.genericType.value.rawType,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(new sc(this.cursorPosition.x,this.cursorPosition.y)))):this.selectedClassProperty&&(this.selectedClassProperty.property.genericType.value.rawType instanceof xc&&this.addClassView(this.selectedClassProperty.property.genericType.value.rawType,this.selectedClassProperty.selectionPoint),this.selectedClassProperty=void 0))}getSuperTypeLevels(e,t,n,s){if(e.length){const i=(0,Xe.A)(e.flatMap(e=>e.class.value.generalizations.map(e=>new rc(t,(0,o.A)(),uc.create(Mc(e.value,xc))))),e=>e.class.value);if(i.forEach(e=>this.ensureClassViewMeetMinDimensions(e)),-1===s||n<s){const o=this.getSuperTypeLevels(i,t,n+1,s);return o.push(e),o}return[e]}return[]}layoutTaxonomy(e,t,n,s){return e.reverse(),[e.flatMap((t,i)=>{let o=0,r=0,a=0,c=0;if(i>0){const t=e[i-1];if(t.length){const e=[...t].sort((e,t)=>e.position.x-t.position.x);a=e[0].position.x,o=e[e.length-1].position.x+e[e.length-1].rectangle.width-e[0].position.x;const n=[...t].sort((e,t)=>e.position.y-t.position.y);c=n[0].position.y,r=n[n.length-1].position.y+n[n.length-1].rectangle.height-n[0].position.y}}const l=Math.max(...t.map(e=>e.rectangle.height)),d=a+o/2-t.map(e=>e.rectangle.width).reduce((e,t)=>e+t+10)/2,u=s?c-l-30:c+r+30;return(n||i>0)&&(iE(t[0],new sc(d,u)),t.forEach((e,n)=>{if(n>0){const s=t[n-1];iE(e,new sc(s.position.x+s.rectangle.width+10,u))}})),t}),(s?e:e.slice().reverse()).slice(0,e.length-1).flatMap((n,s)=>n.flatMap(n=>e[s+1].flatMap(e=>n.class.value.generalizations.map(e=>e.value.rawType).includes(e.class.value)?new Ac(t,n,e):[])))]}keydown(e){if("Delete"===e.code)this.isReadOnly||(this.selectedClasses.forEach(e=>{j_(this.diagram,e),H_(this.diagram,this.diagram.associationViews.filter(t=>!(t.from.classView.value===e||t.to.classView.value===e))),G_(this.diagram,this.diagram.generalizationViews.filter(t=>!(t.from.classView.value===e||t.to.classView.value===e))),W_(this.diagram,this.diagram.propertyViews.filter(t=>!(t.from.classView.value===e||t.to.classView.value===e)))}),this.selectedPropertyOrAssociation instanceof Pd?U_(this.diagram,this.selectedPropertyOrAssociation):this.selectedPropertyOrAssociation instanceof fc&&z_(this.diagram,this.selectedPropertyOrAssociation),this.selectedInheritance&&this.diagram.generalizationViews.find(e=>e===this.selectedInheritance)&&$_(this.diagram,this.selectedInheritance),this.setSelectedClasses([]),this.drawScreen());else if("KeyE"===e.code)this.selectedClassProperty?(this.handleEditProperty(this.selectedClassProperty.property,this.selectedClassProperty.selectionPoint,void 0),e.preventDefault()):this.selectedPropertyOrAssociation?(this.handleEditProperty(this.selectedPropertyOrAssociation.property.value,this.selectedPoint??(this.selectedPropertyOrAssociation.path.length?this.selectedPropertyOrAssociation.path[0]:this.selectedPropertyOrAssociation.from.classView.value.center()),this.selectedPropertyOrAssociation),e.preventDefault()):1===this.selectedClasses.length&&this.handleEditClassView(this.selectedClasses[0]);else if(e.altKey&&"KeyP"===e.code)this.isReadOnly||0!==this.selectedClasses.length&&(this.selectedClasses.forEach(e=>{K_(e,!e.hideProperties)}),this.drawScreen());else if(e.altKey&&"KeyS"===e.code)this.isReadOnly||0!==this.selectedClasses.length&&(this.selectedClasses.forEach(e=>{X_(e,!e.hideStereotypes)}),this.drawScreen());else if(e.altKey&&"KeyT"===e.code)this.isReadOnly||0!==this.selectedClasses.length&&(this.selectedClasses.forEach(e=>{J_(e,!e.hideTaggedValues)}),this.drawScreen());else if(e.altKey&&"ArrowDown"===e.code)this.isReadOnly||1!==this.selectedClasses.length||this.handleAddSimpleProperty(this.selectedClasses[0]);else if("ArrowUp"===e.code){const e=this.getSuperTypeLevels(this.selectedClasses,this.diagram,0,1),t=this.layoutTaxonomy(e,this.diagram,!1,!0);t[0].forEach(e=>B_(this.diagram,e)),t[1].forEach(e=>V_(this.diagram,e)),this.drawScreen()}else if("ArrowDown"===e.code){const e=(0,Xe.A)(this.selectedClasses.flatMap(e=>e.class.value._subclasses.flatMap(e=>new rc(this.diagram,(0,o.A)(),uc.create(e)))),e=>e.class.value);if(e.length>0){e.forEach(e=>this.ensureClassViewMeetMinDimensions(e));const t=this.layoutTaxonomy([e,this.selectedClasses],this.diagram,!1,!1);t[0].forEach(e=>B_(this.diagram,e)),t[1].forEach(e=>V_(this.diagram,e))}this.drawScreen()}}mouseup(e){const t=this.resolveMouseEventCoordinate(e);switch(this.interactionMode){case rE.ZOOM_IN:{const e=Math.round(100*this.zoom);let n;n=e<=dE[0]-10?10*Math.floor(e/10)+10:e>=dE[dE.length-1]?100*Math.floor(e/100)+100:D(dE.find(t=>t>e)),this.zoomPoint(n/100,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t)));break}case rE.ZOOM_OUT:{const e=Math.round(100*this.zoom);let n;n=e<=dE[0]?10*Math.ceil(e/10)-10:e>=dE[dE.length-1]+100?100*Math.ceil(e/100)-100:D((0,sa.A)(dE,t=>t<e)),this.zoomPoint(n/100,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t)));break}}if(!this.isReadOnly)switch(this.interactionMode){case rE.LAYOUT:this.diagram.generalizationViews.forEach(e=>eE(e)),this.diagram.associationViews.forEach(e=>eE(e)),this.diagram.propertyViews.forEach(e=>eE(e));break;case rE.ADD_CLASS:{const e=this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t));this.onAddClassViewClick(e),this.changeMode(rE.LAYOUT,aE.NONE);break}case rE.ADD_RELATIONSHIP:if(this.startClassView&&this.selectionStart&&this.handleAddRelationship){const e=this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t));for(let t=this.diagram.classViews.length-1;t>=0;t--){const n=this.diagram.classViews[t];if(n.contains(e.x,e.y)){const t=this.handleAddRelationship(this.startClassView,n);t&&(q_(t.from,-(this.startClassView.position.x+this.startClassView.rectangle.width/2-this.selectionStart.x)),Z_(t.from,-(this.startClassView.position.y+this.startClassView.rectangle.height/2-this.selectionStart.y)),q_(t.to,-(n.position.x+n.rectangle.width/2-e.x)),Z_(t.to,-(n.position.y+n.rectangle.height/2-e.y)))}}this.changeMode(rE.LAYOUT,aE.NONE)}}this.setLeftClick(!1),this.setMiddleClick(!1),this.setRightClick(!1),this.setSelectedClassCorner(void 0),this.setSelectionStart(void 0),this.drawScreen()}mousedblclick(e){const t=this.resolveMouseEventCoordinate(e);if([rE.ADD_RELATIONSHIP,rE.ADD_CLASS,rE.ZOOM_IN,rE.ZOOM_OUT].includes(this.interactionMode))return;const n=this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t));if(this.mouseOverClassProperty&&this.onClassPropertyDoubleClick)return void this.onClassPropertyDoubleClick(this.mouseOverClassProperty,n,void 0);if(this.mouseOverClassName&&this.onClassNameDoubleClick)return void this.onClassNameDoubleClick(this.mouseOverClassName,n);const s=this.diagram.classViews.find(e=>e.contains(n.x,n.y));s&&this.onClassViewDoubleClick?this.onClassViewDoubleClick(s,n):this.mouseOverPropertyHolderViewLabel&&this.onClassPropertyDoubleClick?this.onClassPropertyDoubleClick(this.mouseOverPropertyHolderViewLabel.property.value,n,this.mouseOverPropertyHolderViewLabel):this.onBackgroundDoubleClick&&this.onBackgroundDoubleClick(n)}mousedown(e){const t=this.resolveMouseEventCoordinate(e);this.setSelectionStart(void 0),this.setSelectedClassCorner(void 0),this.setSelectedPropertyOrAssociation(void 0),this.setSelectedInheritance(void 0),this.selection=void 0,this.selectedClassProperty=void 0,this.selectedPoint=void 0,this.startClassView=void 0;const n=this.eventCoordinateToCanvasCoordinate(t),s=this.canvasCoordinateToModelCoordinate(n);if(0===e.button)switch(this.setLeftClick(!0),this.interactionMode){case rE.PAN:return void(this.positionBeforeLastMove=t);case rE.LAYOUT:for(let e=this.diagram.classViews.length-1;e>=0;e--){const t=this.diagram.classViews[e];if(Sc(t).contains(s.x,s.y)){this.setSelectedClasses([]),this.setSelectedClassCorner(this.diagram.classViews[e]),this.isReadOnly||D_(this.diagram,this.reorderDiagramDomain(D(this.selectedClassCorner),this.diagram));break}}if(!this.selectedClassCorner)if(this.mouseOverClassProperty)this.selectedClassProperty={property:this.mouseOverClassProperty,selectionPoint:s},this.setSelectedClasses([]);else{let e=!1;for(let t=this.diagram.classViews.length-1;t>=0;t--){const i=this.diagram.classViews[t];if(i.contains(s.x,s.y)){0!==this.selectedClasses.length&&-1!==this.selectedClasses.indexOf(i)||this.setSelectedClasses([i]),this.isReadOnly||D_(this.diagram,this.reorderDiagramDomain(this.selectedClasses[0],this.diagram)),this.clickX=n.x/this.zoom-this.screenOffset.x,this.clickY=n.y/this.zoom-this.screenOffset.y,this._selectedClassesInitialPositions=this.selectedClasses.map(e=>({classView:e,oldPos:new sc(e.position.x,e.position.y)})),e=!0;break}}if(e||this.setSelectedClasses([]),!this.selectedClasses.length){for(const e of this.diagram.generalizationViews){const t=tE(e,s.x,s.y,this.zoom,!this.isReadOnly);if(t){this.selectedPoint=t,this.setSelectedInheritance(e);break}}if(!this.selectedPoint)for(const e of this.diagram.associationViews){const t=tE(e,s.x,s.y,this.zoom,!this.isReadOnly);if(t){this.selectedPoint=t,this.setSelectedPropertyOrAssociation(e);break}}if(!this.selectedPoint)for(const e of this.diagram.propertyViews){const t=tE(e,s.x,s.y,this.zoom,!this.isReadOnly);if(t){this.selectedPoint=t,this.setSelectedPropertyOrAssociation(e);break}}this.selectedPoint||this.setSelectionStart(s)}}break;case rE.ADD_RELATIONSHIP:this.setSelectionStart(s),this.startClassView=void 0;for(let e=this.diagram.classViews.length-1;e>=0;e--){const t=this.diagram.classViews[e];t.contains(s.x,s.y)&&(this.startClassView=t)}this.startClassView||this.changeMode(rE.LAYOUT,aE.NONE)}else{if(1===e.button)return this.setMiddleClick(!0),void(this.positionBeforeLastMove=t);if(2===e.button)return this.setRightClick(!0),this.positionBeforeLastMove=t,void(this.mouseOverClassView&&(this.onClassViewRightClick(this.mouseOverClassView,s),this.setRightClick(!1)))}this.clearScreen(),this.drawAll()}mousewheel(e){const t=this.resolveMouseEventCoordinate(e);if(e.preventDefault(),e.stopImmediatePropagation(),Math.abs(e.deltaY)<=Math.abs(e.deltaX))return;const n=this.zoom-e.deltaY/120*.05;this.executeZoom(n,this.canvasCoordinateToModelCoordinate(this.eventCoordinateToCanvasCoordinate(t)))}mousemove(e){const t=this.resolveMouseEventCoordinate(e);if(this.cursorPosition=t,this.rightClick||this.middleClick||this.leftClick&&this.interactionMode===rE.PAN)this.screenOffset=new sc(this.screenOffset.x+(t.x-this.positionBeforeLastMove.x)/this.zoom,this.screenOffset.y+(t.y-this.positionBeforeLastMove.y)/this.zoom),this.positionBeforeLastMove=t,this.clearScreen(),this.drawAll();else if(this.leftClick){const e=this.eventCoordinateToCanvasCoordinate(t),n=this.canvasCoordinateToModelCoordinate(e);switch(this.interactionMode){case rE.LAYOUT:if(this.selectedClassCorner&&(sE(this.selectedClassCorner,new ic(n.x-this.selectedClassCorner.position.x,n.y-this.selectedClassCorner.position.y)),oE(this.selectedClassCorner),this.drawClassView(this.selectedClassCorner),this.drawScreen()),!this.selectionStart&&this.selectedClasses.length&&!this.isReadOnly){let t=0,n=0;this.selectedClasses.forEach((s,i)=>{const o=this._selectedClassesInitialPositions.length>i?this._selectedClassesInitialPositions[i]:void 0;if(o){const i=e.x/this.zoom-this.screenOffset.x-(this.clickX-o.oldPos.x),r=e.y/this.zoom-this.screenOffset.y-(this.clickY-o.oldPos.y);t=s.position.x-i,n=s.position.y-r,iE(s,new sc(i,r)),oE(s)}}),this.potentiallyShiftRelationships(this.diagram.associationViews,this.selectedClasses,t,n),this.potentiallyShiftRelationships(this.diagram.propertyViews,this.selectedClasses,t,n),this.potentiallyShiftRelationships(this.diagram.generalizationViews,this.selectedClasses,t,n),this.drawScreen()}if(this.selectedPoint&&(this.selectedPropertyOrAssociation?Q_(this.selectedPropertyOrAssociation,this.selectedPoint,n):this.selectedInheritance&&Q_(this.selectedInheritance,this.selectedPoint,n),this.selectedPoint=n,this.drawScreen()),this.selectionStart){this.clearScreen(),this.drawAll();const t=this.modelCoordinateToCanvasCoordinate(this.selectionStart);this.ctx.fillStyle=this.selectionBoxBorderColor,this.ctx.fillRect(t.x,t.y,e.x-t.x,e.y-t.y),this.ctx.strokeRect(t.x,t.y,e.x-t.x,e.y-t.y);const n=(e.x-t.x)/this.zoom,s=(e.y-t.y)/this.zoom;this.selection=new oc(new sc(n>0?this.selectionStart.x:this.selectionStart.x+n,s>0?this.selectionStart.y:this.selectionStart.y+s),new ic(Math.abs(n),Math.abs(s))),this.setSelectedClasses([]);for(const e of this.diagram.classViews)(Nc(this.selection,e)||Nc(e,this.selection))&&this.setSelectedClasses([...this.selectedClasses,e])}break;case rE.ADD_RELATIONSHIP:if(this.selectionStart&&this.startClassView){this.clearScreen(),this.drawBoundingBox();const t=this.modelCoordinateToCanvasCoordinate(this.selectionStart);this.ctx.moveTo(t.x,t.y),this.ctx.lineTo(e.x,e.y),this.ctx.stroke(),this.drawDiagram()}}}else{this.drawScreen();const e=this.eventCoordinateToCanvasCoordinate(t),n=this.canvasCoordinateToModelCoordinate(e);this.setMouseOverClassView(void 0),this.setMouseOverClassName(void 0),this.setMouseOverClassCorner(void 0),this.setMouseOverClassProperty(void 0),this.setMouseOverPropertyHolderViewLabel(void 0);for(const t of this.diagram.classViews.slice().reverse())if(t.contains(n.x,n.y)){this.setMouseOverClassView(t),Sc(t).contains(n.x,n.y)&&this.setMouseOverClassCorner(t);const s=t.class.value;let i=t.position.y+this.classViewSpaceY;i+=t.hideStereotypes?0:s.stereotypes.length*this.lineHeight;const o=this.computeClassNameWidth(t);new oc(this.modelCoordinateToCanvasCoordinate(new sc(t.position.x+(t.rectangle.width-o)/2,i)),new ic(o,this.lineHeight)).contains(e.x,e.y)&&this.setMouseOverClassName(t),i+=this.lineHeight,i+=t.hideTaggedValues?0:s.taggedValues.length*this.lineHeight,i+=2*this.classViewSpaceY;for(const n of Dc(s))this.hasPropertyView(t,n)||(this.ctx.font=`${(this.fontSize-1)*this.zoom}px ${this.fontFamily}`,new oc(this.modelCoordinateToCanvasCoordinate(new sc(t.position.x+this.classViewSpaceX,i)),new ic(this.drawClassViewProperty(t,n,0,0,!0)*this.zoom,this.lineHeight*this.zoom)).contains(e.x,e.y)&&this.setMouseOverClassProperty(n),i+=this.lineHeight);break}const s=[...this.diagram.propertyViews,...this.diagram.associationViews];for(const e of s){const t=gc.pruneUnnecessaryInsidePoints(e.buildFullPath(),e.from.classView.value,e.to.classView.value);if(this.drawLinePropertyText(D(t[t.length-2],"Diagram path expected to have at least 2 points"),D(t[t.length-1],"Diagram path expected to have at least 2 points"),e.to.classView.value,e.property.value,!1).contains(n.x,n.y)){this.setMouseOverPropertyHolderViewLabel(e);break}}}}}class hE extends Dr{diagramInfo;_renderer;diagram;diagramClasses;graph;diagramPath;filePath;fileLine;fileColumn;constructor(e,t,n,s,i,o){super(e),(0,Te.Gn)(this,{_renderer:Te.sH,diagram:Te.sH,diagramInfo:Te.sH,diagramName:Te.EW,diagramCursorClass:Te.EW,addClassView:Te.L3,rebuild:Te.XI,setRenderer:Te.XI}),this.diagramPath=n,this.filePath=s,this.fileLine=i,this.fileColumn=o,this.diagramInfo=t;const[r,a,c]=xd(t);this.diagram=r,this.graph=a,this.diagramClasses=c}get label(){return Ir(this.diagramPath)}get description(){return`Diagram: ${Ir(this.diagramPath)}`}get diagramName(){return ia(this.diagramPath)}match(e){return e instanceof hE&&this.diagramPath===e.diagramPath}get renderer(){return D(this._renderer,"Diagram renderer must be initialized (this is likely caused by calling this method at the wrong place)")}get isDiagramRendererInitialized(){return Boolean(this._renderer)}get diagramCursorClass(){if(!this.isDiagramRendererInitialized)return"";if(this.renderer.middleClick||this.renderer.rightClick)return"diagram-editor__cursor--grabbing";switch(this.renderer.interactionMode){case rE.PAN:return this.renderer.leftClick?"diagram-editor__cursor--grabbing":"diagram-editor__cursor--grab";case rE.ZOOM_IN:return"diagram-editor__cursor--zoom-in";case rE.ZOOM_OUT:return"diagram-editor__cursor--zoom-out";case rE.LAYOUT:return this.renderer.selectionStart?"diagram-editor__cursor--crosshair":this.renderer.mouseOverClassCorner||this.renderer.selectedClassCorner?"diagram-editor__cursor--resize":this.renderer.mouseOverClassView?"diagram-editor__cursor--pointer":"";default:return""}}rebuild(e){this.diagramInfo=e;const[t,n,s]=xd(e);this.diagram=t,this.graph=n,this.diagramClasses=s,this.fileLine=e.diagram.sourceInformation.line,this.fileColumn=e.diagram.sourceInformation.column}setupRenderer(){this.renderer.onClassViewDoubleClick=e=>{const t=this.diagramClasses.get(e.class.value.path)?.sourceInformation;if(t){const e=new wr(t.sourceId,t.startLine,t.startColumn);(0,Te.gP)(this.ideStore.executeNavigation(e)).catch(this.ideStore.applicationStore.alertUnhandledError)}}}setRenderer(e){this._renderer=e}*addClassView(e,t){const n=((e,t,n)=>{e.profiles.forEach(e=>{const n=`${e.package}${""===e.package?"":qo}${e.name}`;if(!t.getOwnNullableProfile(n)){const n=new ll(e.name);Oc(Pc(t.root,e.package,!0,new Map),n),t.setOwnProfile(n.path,n),e.tags.forEach(e=>N(n.p_tags,new Zl(n,e))),e.stereotypes.forEach(e=>N(n.p_stereotypes,new Ql(n,e)))}}),e.enumerations.forEach(e=>{const n=`${e.package}${""===e.package?"":qo}${e.name}`;if(!t.getOwnNullableEnumeration(n)){const n=new rl(e.name);Oc(Pc(t.root,e.package,!0,new Map),n),t.setOwnType(n.path,n)}});const s=e.class,i=`${s.package}${""===s.package?"":qo}${s.name}`;let o=t.getOwnNullableClass(i);o||(o=new xc(s.name),Oc(Pc(t.root,s.package,!0,new Map),o),t.setOwnType(o.path,o));const r=n.get(o.path)?.isStubbed??!0;return n.set(o.path,{sourceInformation:s.sourceInformation,isStubbed:!1}),e.specializations.forEach(e=>{const s=D(o),i=Nd(D(`${e.package}${""===e.package?"":qo}${e.name}`),t,n,e.sourceInformation);N(s._subclasses,i),i.generalizations.map(e=>e.value.rawType).includes(s)||N(i.generalizations,Yc.create(new Jc(s)))}),r&&Id(o,s,t,n),o})((0,pe.iu)(yd,yield this.ideStore.client.getDiagramClassInfo(e)),this.graph,this.diagramClasses),s=this.renderer.addClassView(n,t);s&&(s.id=((e,t,n="underscore")=>{if(!t.match(/^[\w_-]+$/))throw new Error("Token must only contain digits, letters, or special characters _ and -");const s="whitespace"===n?" ":"_",i=e.map(e=>{const n=e.match(new RegExp(`^${t}${s}(?<count>\\d+)$`));return n?.groups?.count?parseInt(n.groups.count,10):0}).reduce((e,t)=>Math.max(e,t),0);return`${t}${s}${i+1}`})(this.diagram.classViews.map(e=>e.id),"cview"))}registerCommands(){const e=()=>this.ideStore.tabManagerState.currentTab===this&&this.isDiagramRendererInitialized;this.ideStore.applicationStore.commandService.registerCommand({key:Ur.RECENTER,trigger:e,action:()=>this.renderer.recenter()}),this.ideStore.applicationStore.commandService.registerCommand({key:Ur.USE_ZOOM_TOOL,trigger:e,action:()=>this.renderer.switchToZoomMode()}),this.ideStore.applicationStore.commandService.registerCommand({key:Ur.USE_VIEW_TOOL,trigger:e,action:()=>this.renderer.switchToViewMode()}),this.ideStore.applicationStore.commandService.registerCommand({key:Ur.USE_PAN_TOOL,trigger:e,action:()=>this.renderer.switchToPanMode()})}deregisterCommands(){[Ur.RECENTER,Ur.USE_ZOOM_TOOL,Ur.USE_VIEW_TOOL,Ur.USE_PAN_TOOL].forEach(e=>this.ideStore.applicationStore.commandService.deregisterCommand(e))}}class gE{text="";isCaseSensitive=!1;isRegExp=!1;constructor(){(0,Te.Gn)(this,{text:Te.sH,isCaseSensitive:Te.sH,isRegExp:Te.sH,reset:Te.XI,setText:Te.XI,setCaseSensitive:Te.XI,setRegExp:Te.XI})}reset(){this.setText(""),this.setCaseSensitive(!1),this.setRegExp(!1)}setText(e){this.text=e}setCaseSensitive(e){this.isCaseSensitive=e}setRegExp(e){this.isRegExp=e}}class mE extends x{}const fE=/^(?:(?:\w[\w$]*)::)*\w[\w$]*$/,_E=/^\/?(?:\w+\/)*\w+(?:\.\w+)*$/,EE=/(?:(?<url>https?:[/]{2}[^\s"'!*(){}|\\^<>`]*[^\s"':,.!?{}|\\^~[\]`()<>])|(?<path>resource:(?<path_sourceId>\/?(?:\w+\/)*\w+(?:\.\w+)*) (?:line:(?<path_line>\d+)) (?:column:(?<path_column>\d+))))/;class bE{ideStore;constructor(e){this.ideStore=e}}class TE extends bE{result;constructor(e,t){super(e),this.result=t}}class CE extends bE{result;constructor(e,t){super(e),this.result=t}}class vE{ideStore;usageConcept;searchEntries=[];constructor(e,t,n,s){(0,Te.Gn)(this,{searchEntries:Te.sH,numberOfFiles:Te.EW,numberOfResults:Te.EW}),this.ideStore=e,this.usageConcept=t;const i=new Map;n.forEach((e,t)=>{let n;i.has(e.source)?n=D(i.get(e.source)):(n=new wa,n.sourceId=e.source,i.set(e.source,n));const o=new xa(e.source,e.startLine,e.startColumn,e.endLine,e.endColumn);o.preview=s.find(t=>t.sourceId===e.source&&t.startLine===e.startLine&&t.startColumn===e.startColumn&&t.endLine===e.endLine&&t.endColumn===e.endColumn)?.preview,n.coordinates.push(o)}),this.searchEntries=Array.from(i.keys()).sort((e,t)=>e.localeCompare(t)).map(e=>{const t=D(i.get(e));return t.setCoordinates(t.coordinates.sort((e,t)=>e.startColumn-t.startColumn).sort((e,t)=>e.startLine-t.startLine)),t})}dismissSearchEntry(e){I(this.searchEntries,e),this.searchEntries.length||this.ideStore.setReferenceUsageResult(void 0)}get numberOfFiles(){return this.searchEntries.length}get numberOfResults(){return this.searchEntries.flatMap(e=>e.coordinates).length}}class yE{searchState;searchEntries=[];constructor(e,t){(0,Te.Gn)(this,{searchEntries:Te.sH,numberOfFiles:Te.EW,numberOfResults:Te.EW}),this.searchState=e,this.searchEntries=t}dismissSearchEntry(e){I(this.searchEntries,e),this.searchEntries.length||this.searchState.setResult(void 0)}get numberOfFiles(){return this.searchEntries.length}get numberOfResults(){return this.searchEntries.flatMap(e=>e.coordinates).length}}class SE{ideStore;loadState=Ce.create();searchInput;text="";isCaseSensitive=!1;isRegExp=!1;result;constructor(e){(0,Te.Gn)(this,{text:Te.sH,isCaseSensitive:Te.sH,isRegExp:Te.sH,result:Te.sH,setText:Te.XI,setCaseSensitive:Te.XI,setRegExp:Te.XI,setResult:Te.XI,search:Te.L3}),this.ideStore=e}setSearchInput(e){this.searchInput=e}focus(){this.searchInput?.focus()}select(){this.searchInput?.select()}*search(){if(!(this.loadState.isInProgress||this.text.length<=3)){this.loadState.inProgress();try{const e=(yield this.ideStore.client.searchText(this.text,this.isCaseSensitive,this.isRegExp)).map(e=>(e=>(0,pe.iu)(wa,e))(e));this.setResult(new yE(this,e)),this.loadState.pass()}catch(e){R(e),this.ideStore.applicationStore.notificationService.notifyError(e),this.loadState.fail()}}}setText(e){this.text=e}setCaseSensitive(e){this.isCaseSensitive=e}setRegExp(e){this.isRegExp=e}setResult(e){this.result=e}}class NE{applicationStore;initState=Ce.create();directoryTreeState;conceptTreeState;client;activePanelMode=So.TERMINAL;panelGroupDisplayState=new Ya({initial:0,default:300,snap:100});activeActivity=yo.CONCEPT_EXPLORER;sideBarDisplayState=new Ya({initial:300,default:300,snap:150});tabManagerState=new Br(this);executionState=Ce.create();navigationStack=[];fileSearchCommandLoadState=Ce.create();fileSearchCommandState=new gE;openFileSearchCommand=!1;fileSearchCommandResults=[];codeFixSuggestion;referenceUsageLoadState=Ce.create();referenceUsageResult;textSearchState;testRunState=Ce.create();testRunnerState;PCTAdapters=[];selectedPCTAdapter;PCTRunPath;constructor(e){var t;(0,Te.Gn)(this,{activePanelMode:Te.sH,activeActivity:Te.sH,navigationStack:Te.sH,openFileSearchCommand:Te.sH,fileSearchCommandResults:Te.sH,fileSearchCommandState:Te.sH,codeFixSuggestion:Te.sH,referenceUsageResult:Te.sH,testRunnerState:Te.sH,PCTAdapters:Te.sH.struct,selectedPCTAdapter:Te.sH,setSelectedPCTAdapter:Te.XI,PCTRunPath:Te.sH,setPCTRunPath:Te.XI,setCodeFixSuggestion:Te.XI,setReferenceUsageResult:Te.XI,setOpenFileSearchCommand:Te.XI,setActivePanelMode:Te.XI,setActiveActivity:Te.XI,setTestRunnerState:Te.XI,pullInitializationActivity:Te.XI,pullExecutionStatus:Te.XI,initialize:Te.L3,checkIfSessionWakingUp:Te.L3,loadDiagram:Te.L3,loadFile:Te.L3,execute:Te.L3,executeGo:Te.L3,runDebugger:Te.L3,manageExecuteGoResult:Te.L3,executeTests:Te.L3,executeFullTestSuite:Te.L3,executeNavigation:Te.L3,navigateBack:Te.L3,fullReCompile:Te.L3,command:Te.L3,findUsagesFromCoordinate:Te.L3,findUsages:Te.L3,renameConcept:Te.L3,movePackageableElements:Te.L3,updateFileUsingSuggestionCandidate:Te.L3,updateFile:Te.L3,searchFile:Te.L3,createNewDirectory:Te.L3,createNewFile:Te.L3,renameFile:Te.L3,deleteDirectoryOrFile:Te.L3}),this.applicationStore=e,this.textSearchState=new SE(this),this.directoryTreeState=new na(this),this.conceptTreeState=new la(this),this.client=new Wa(new le({baseUrl:this.applicationStore.config.useDynamicPureServer?window.location.origin:this.applicationStore.config.pureUrl})),(t=this).applicationStore.terminalService.terminal.setup({webLinkProvider:{handler:(e,n)=>{const s=n.match(EE);s?.groups?.url?t.applicationStore.navigationService.navigator.visitAddress(s.groups.url):s?.groups?.path&&s.groups.path_sourceId&&s.groups.path_column&&s.groups.path_line&&(0,Te.gP)(t.loadFile(s.groups.path_sourceId,new wr(s.groups.path_sourceId,Number.parseInt(s.groups.path_line,10),Number.parseInt(s.groups.path_column,10)))).catch(t.applicationStore.alertUnhandledError)},regex:EE},commands:[{command:Wr.GO,description:"Run the go() function in welcome file",usage:"go",aliases:["compile","executeGo"],handler:async e=>(0,Te.gP)(t.executeGo()).catch(t.applicationStore.alertUnhandledError)},{command:Wr.TEST,description:"Run the test suite (by path if specified)",usage:"test [/some/path]",handler:async e=>{const n=e[0];!n||n.match(fE)?await(0,Te.gP)(t.executeTests(n??vo)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid package/concept path")}},{command:Wr.REMOVE,description:"Remove a file or directory",usage:"rm /some/path",handler:async e=>{const n=e[0];n?.match(_E)?await(0,Te.gP)(t.deleteDirectoryOrFile(n,void 0,void 0)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("rm command requires a valid file/directory path")}},{command:Wr.MOVE,description:"Move a file",usage:"mv /old/path /new/path",handler:async e=>{const n=e[0];if(!n?.match(_E))return void t.applicationStore.terminalService.terminal.fail("command requires a valid old file path");const s=e[1];s?.match(_E)?await(0,Te.gP)(t.renameFile(n,s)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid new file path")}},{command:Wr.NEW_DIRECTORY,description:"Create a new directory",usage:"mkdir /some/path",handler:async e=>{const n=e[0];n?.match(_E)?await(0,Te.gP)(t.createNewDirectory(n)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid directory path")}},{command:Wr.NEW_FILE,description:"Create a new file",usage:"touch /some/path",handler:async e=>{const n=e[0];n?.match(_E)?await(0,Te.gP)(t.createNewDirectory(n)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid path")}},{command:Wr.WELCOME,description:"Open the welcome file",usage:"welcome",aliases:["start"],handler:async()=>{await(0,Te.gP)(t.loadFile(To)).catch(t.applicationStore.alertUnhandledError)}},{command:Wr.OPEN_FILE,description:"Open a file",usage:"open /some/file/path",aliases:["edit","code","vi"],handler:async e=>{const n=e[0];n?.match(fE)?await(0,Te.gP)(t.loadFile(n)).catch(t.applicationStore.alertUnhandledError):t.applicationStore.terminalService.terminal.fail("command requires a valid file path")}},{command:Wr.OPEN_DIRECTORY,description:"Open a directory or a package",usage:"cd /some/directory/path | cd some::package::path",handler:async e=>{const n=e[0];if(n&&(n.match(_E)??n.match(fE)))try{n.match(fE)?await(0,Te.gP)(t.conceptTreeState.revealConcept(n,{forceOpenExplorerPanel:!0,packageOnly:!0})):await(0,Te.gP)(t.directoryTreeState.revealPath(n,{forceOpenExplorerPanel:!0,directoryOnly:!0}))}catch(e){R(e),t.applicationStore.terminalService.terminal.fail(e.message)}else t.applicationStore.terminalService.terminal.fail("command requires a valid directory or concept path")}},{command:Wr.LIST_DIRECTORY,description:"List children of a directory or package",usage:"cd /some/directory/path | cd some::package::path | cd ::",handler:async e=>{const n=e[0];if(n&&(n.match(_E)??n.match(fE)??[Co,vo].includes(n)))try{n.match(fE)||n===vo?t.applicationStore.terminalService.terminal.output((await t.client.getConceptChildren(n)).map(e=>(0,pe.iu)(vr,e)).map(e=>e.li_attr instanceof br?`${$e.BRIGHT_CYAN}${e.text}${$e.RESET}`:e.text).join("\n")):t.applicationStore.terminalService.terminal.output((await t.client.getDirectoryChildren(n)).map(e=>(0,pe.iu)(Qr,e)).map(e=>e.isFolderNode?`${$e.BRIGHT_CYAN}${e.text}${$e.RESET}`:e.text).join("\n"))}catch(e){R(e),t.applicationStore.terminalService.terminal.fail(e.message)}else t.applicationStore.terminalService.terminal.fail("command requires a valid directory or package path")}},{command:Wr.CLEAR,description:"Clear the terminal",usage:"clear",handler:async e=>{t.applicationStore.terminalService.terminal.clear()}},{command:Wr.ECHO,description:"Print text",usage:"echo 'some string'",handler:async(e,n,s)=>{const i=s.substring(s.indexOf(n)+n.length).trim();t.applicationStore.terminalService.terminal.output(i.replaceAll(/\\u001b/g,""))}},{command:Wr.ANSI,description:"Show common ANSI escape sequences used for styling",usage:"ansi",handler:async e=>(t.applicationStore.terminalService.terminal.showCommonANSIEscapeSequences(),Promise.resolve())},{command:Wr.DEBUG,description:"Introspect debug state. When passing no parameters, will display summary of available variables",usage:"debug [summary | abort | <expression to evaluate> ]",aliases:[],handler:async e=>{(0,Te.gP)(t.runDebugger({args:e})).catch(t.applicationStore.alertUnhandledError)}},{command:Wr.HELP,description:"Show help",usage:"help",handler:async e=>(t.applicationStore.terminalService.terminal.showHelp(),Promise.resolve())}]})}setOpenFileSearchCommand(e){this.openFileSearchCommand=e}setSelectedPCTAdapter(e){this.selectedPCTAdapter=e}setPCTRunPath(e){this.PCTRunPath=e}setActivePanelMode(e){this.activePanelMode=e}setCodeFixSuggestion(e){this.codeFixSuggestion=e}setReferenceUsageResult(e){this.referenceUsageResult=e}setTestRunnerState(e){this.testRunnerState=e}cleanUp(){this.applicationStore.alertService.setBlockingAlert(void 0),this.applicationStore.alertService.setActionAlertInfo(void 0),this.applicationStore.terminalService.terminal.dispose()}*initialize(e,t,n,s){if(this.initState.isInInitialState){this.client.mode=n,this.client.compilerMode=s,this.initState.inProgress();try{this.applicationStore.alertService.setBlockingAlert({message:"Loading Pure IDE...",prompt:"Please be patient as we are building the initial application state",showLoading:!0});const n=this.client.initialize(!e).catch(e=>{R(e),this.applicationStore.notificationService.notifyError(e),this.initState.fail(),this.applicationStore.alertService.setBlockingAlert({message:"Failed to initialize IDE",prompt:"Before debugging, make sure the server is running then restart the application"})});yield this.pullInitializationActivity(),this.applicationStore.alertService.setBlockingAlert(void 0);const s=(0,Te.gP)(this.loadFile(To)).then(()=>{const e=this.tabManagerState.tabs.find(e=>e instanceof Kr&&e.filePath===To);e&&this.tabManagerState.pinTab(e)}),o=this.directoryTreeState.initialize(),r=this.conceptTreeState.initialize(),a=this.client.getPCTAdapters().then(e=>{(0,Te.h5)(()=>{this.PCTAdapters=e.map(e=>new Oa(e.first,e.second)),this.selectedPCTAdapter=this.PCTAdapters.find(e=>"In-Memory"===e.name)??(this.PCTAdapters.length?this.PCTAdapters[0]:void 0)})}),c=(i=yield n).error?i.source?(0,pe.iu)(pa,i):(0,pe.iu)(ua,i):(0,pe.iu)(da,i);c.text&&this.applicationStore.terminalService.terminal.output(c.text,{systemCommand:"initialize application"}),this.setActivePanelMode(So.TERMINAL),this.panelGroupDisplayState.open(),c instanceof ua?c.sessionError?this.applicationStore.alertService.setBlockingAlert({message:"Session corrupted",prompt:c.sessionError}):c instanceof pa&&(yield(0,Te.gP)(this.loadFile(c.source,new Or(c.source,c.line,c.column,new mE((c.text??"").split("\n").filter(Boolean)[0]))))):(t&&(yield t()),yield Promise.all([s,o,r,a])),this.initState.pass()}catch(e){R(e),this.applicationStore.notificationService.notifyError(e),this.initState.fail(),this.applicationStore.alertService.setActionAlertInfo({message:"Failed to initialize IDE",prompt:"This can either due to an internal server error, which you would need to manually resolve; or a compilation, which you can proceed to debug",type:At.CAUTION,actions:[{label:"Compile to debug",type:It.PROCEED_WITH_CAUTION,default:!0,handler:()=>{(0,Te.gP)(this.executeGo()).catch(this.applicationStore.alertUnhandledError)}}]})}finally{this.applicationStore.terminalService.terminal.clear()}var i}else this.applicationStore.notificationService.notifyIllegalState("Editor store is re-initialized")}*checkIfSessionWakingUp(e){this.applicationStore.alertService.setBlockingAlert({message:e??"Checking IDE session...",showLoading:!0}),yield this.pullInitializationActivity(t=>{t.text&&this.applicationStore.alertService.setBlockingAlert({message:e??"Checking IDE session...",prompt:t.text,showLoading:!0})}),this.applicationStore.alertService.setBlockingAlert(void 0)}async pullInitializationActivity(e){return(await this.client.getInitializationActivity()).initializing?new Promise((e,t)=>setTimeout(()=>{try{e(this.pullInitializationActivity())}catch(e){t(e)}},1e3)):Promise.resolve()}registerCommands(){this.applicationStore.commandService.registerCommand({key:jr.SEARCH_FILE,action:()=>this.setOpenFileSearchCommand(!0)}),this.applicationStore.commandService.registerCommand({key:jr.SEARCH_TEXT,action:()=>{this.setActivePanelMode(So.SEARCH),this.panelGroupDisplayState.open(),this.textSearchState.focus(),this.textSearchState.select()}}),this.applicationStore.commandService.registerCommand({key:jr.GO_TO_FILE,action:()=>{this.tabManagerState.currentTab instanceof Kr&&this.directoryTreeState.revealPath(this.tabManagerState.currentTab.filePath,{forceOpenExplorerPanel:!0})}}),this.applicationStore.commandService.registerCommand({key:jr.TOGGLE_TERMINAL_PANEL,action:()=>{this.panelGroupDisplayState.isOpen?this.activePanelMode!==So.TERMINAL?(this.setActivePanelMode(So.TERMINAL),this.applicationStore.terminalService.terminal.focus()):this.applicationStore.terminalService.terminal.isFocused()?this.panelGroupDisplayState.close():this.applicationStore.terminalService.terminal.focus():(this.setActivePanelMode(So.TERMINAL),this.panelGroupDisplayState.open())}}),this.applicationStore.commandService.registerCommand({key:jr.EXECUTE,action:()=>{(0,Te.gP)(this.executeGo()).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:jr.FULL_RECOMPILE,action:()=>{(0,Te.gP)(this.fullReCompile(!1)).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:jr.FULL_RECOMPILE_WITH_FULL_INIT,action:()=>{(0,Te.gP)(this.fullReCompile(!0)).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:jr.RUN_ALL_TESTS,action:()=>{(0,Te.gP)(this.executeFullTestSuite(!1)).catch(this.applicationStore.alertUnhandledError)}}),this.applicationStore.commandService.registerCommand({key:jr.RUN_RELAVANT_TESTS,action:()=>{(0,Te.gP)(this.executeFullTestSuite(!0)).catch(this.applicationStore.alertUnhandledError)}})}deregisterCommands(){[jr.SEARCH_FILE,jr.SEARCH_TEXT,jr.GO_TO_FILE,jr.TOGGLE_TERMINAL_PANEL,jr.EXECUTE,jr.FULL_RECOMPILE,jr.FULL_RECOMPILE_WITH_FULL_INIT,jr.RUN_ALL_TESTS,jr.RUN_RELAVANT_TESTS].forEach(e=>this.applicationStore.commandService.deregisterCommand(e))}setActiveActivity(e,t){this.sideBarDisplayState.isOpen?e!==this.activeActivity||t?.keepShowingIfMatchedCurrent||this.sideBarDisplayState.close():this.sideBarDisplayState.open(),this.activeActivity=e}*loadDiagram(e,t,n,s){let i=this.tabManagerState.tabs.find(e=>e instanceof hE&&e.diagramPath===t);i||(yield(0,Te.gP)(this.checkIfSessionWakingUp()),i=new hE(this,(0,pe.iu)(vd,yield this.client.getDiagramInfo(t)),t,e,n,s)),this.tabManagerState.openTab(i)}*loadFile(e,t){try{let n=this.tabManagerState.tabs.find(t=>t instanceof Kr&&t.filePath===e);n||(yield(0,Te.gP)(this.checkIfSessionWakingUp()),n=new Kr(this,(0,pe.iu)(xr,yield this.client.getFile(e)),e)),this.tabManagerState.openTab(n),t&&(n.textEditorState.setForcedCursorPosition({lineNumber:t.line,column:t.column}),t instanceof Or&&n.showError(t))}catch(t){R(t),this.applicationStore.terminalService.terminal.fail(t.message,{systemCommand:`load file ${e}`})}}async reloadFile(e){const t=[];await Promise.all(this.tabManagerState.tabs.map(async n=>{if(n instanceof Kr&&n.filePath===e)n.setFile((0,pe.iu)(xr,await this.client.getFile(e)));else if(n instanceof hE&&n.filePath===e)try{n.rebuild((0,pe.iu)(vd,await this.client.getDiagramInfo(n.diagramPath)))}catch{t.push(n)}})),t.forEach(e=>this.tabManagerState.closeTab(e))}*execute(e,t,n,s,i,o){if(!this.initState.hasCompleted)return void this.applicationStore.notificationService.notifyWarning("Can't execute while initializing application");if(this.executionState.isInProgress)return void this.applicationStore.notificationService.notifyWarning("Another execution is already in progress!");this.setCodeFixSuggestion(void 0),this.executionState.inProgress();const r=this.tabManagerState.tabs.filter(j(Kr)).map(e=>e.filePath);try{const a=this.tabManagerState.tabs.map(e=>e instanceof Kr?{path:e.filePath,code:e.file.content}:e instanceof hE?{diagram:e.diagramPath,code:Sd(e.diagram)}:void 0).filter(M),c=this.client.execute(a,e,t),l=1e3;let d,u=!1;yield Promise.all([c.then(e=>{u=!0,d=e}),new Promise((e,t)=>setTimeout(()=>{!u&&n&&(this.applicationStore.alertService.setBlockingAlert({message:"Executing...",prompt:"Please do not refresh the application",showLoading:!0}),e(this.pullExecutionStatus().finally(()=>{this.applicationStore.alertService.setBlockingAlert(void 0)}))),e()},l,!0))]);const p=Na(D(d));this.applicationStore.alertService.setBlockingAlert(void 0),p instanceof ma?(this.applicationStore.notificationService.notifyError("Execution failed"+(p.text?`: ${p.text}`:"")),this.applicationStore.terminalService.terminal.fail(p.text,{systemCommand:i??"execute"}),p.sessionError?this.applicationStore.alertService.setBlockingAlert({message:"Session corrupted",prompt:p.sessionError}):yield(0,Te.gP)(s(p,r))):(o?.silentTerminalOnSuccess||this.applicationStore.terminalService.terminal.output(p.text??"",{clear:o?.clearTerminal,systemCommand:i??"execute"}),p instanceof ga?(this.applicationStore.notificationService.notifySuccess("Execution succeeded!"),p.reinit?(this.applicationStore.alertService.setBlockingAlert({message:"Reinitializing...",prompt:"Please do not refresh the application",showLoading:!0}),this.initState.reset(),yield(0,Te.gP)(this.initialize(!1,()=>(0,Te.gP)(this.execute(e,t,n,s,i)),this.client.mode,this.client.compilerMode))):yield(0,Te.gP)(s(p,r))):yield(0,Te.gP)(s(p,r)))}catch(e){R(e),this.applicationStore.notificationService.notifyError(e),this.applicationStore.terminalService.terminal.fail(e.message,{systemCommand:i??"execute"})}finally{this.applicationStore.alertService.setBlockingAlert(void 0),this.executionState.reset()}}async pullExecutionStatus(){const e=await this.client.getExecutionActivity();return this.applicationStore.alertService.setBlockingAlert({message:"Executing...",prompt:e.text?e.text:"Please do not refresh the application",showLoading:!0}),e.executing?new Promise((e,t)=>setTimeout(()=>{try{e(this.pullExecutionStatus())}catch(e){t(e)}},500)):(this.applicationStore.alertService.setBlockingAlert({message:"Executing...",prompt:"Please do not refresh the application",showLoading:!0}),Promise.resolve())}*executeGo(){yield(0,Te.gP)(this.execute("executeGo",{},!0,(e,t)=>(0,Te.gP)(this.manageExecuteGoResult(e,t)),Wr.GO,{clearTerminal:!0}))}*runDebugger(e){yield(0,Te.gP)(this.client.execute([],"debugging",e).then(e=>{const t=Na(D(e));t.text&&this.applicationStore.terminalService.terminal.output(t.text)}).catch(e=>{this.applicationStore.terminalService.terminal.fail(e.message)}))}*manageExecuteGoResult(e,t){const n=this.refreshTrees();if(this.tabManagerState.tabs.filter(j(Kr)).filter(e=>t.includes(e.filePath)).forEach(e=>e.clearError()),e instanceof ma)e.source&&(yield(0,Te.gP)(this.loadFile(e.source,new Or(e.source,e.line,e.column,new mE(e.text.split("\n").filter(Boolean)[0]))))),e instanceof Ta?(this.setCodeFixSuggestion(new TE(this,e)),this.setActivePanelMode(So.CODE_FIX_SUGGESTION),this.panelGroupDisplayState.open()):e instanceof Ca&&(this.setCodeFixSuggestion(new CE(this,e)),this.setActivePanelMode(So.CODE_FIX_SUGGESTION),this.panelGroupDisplayState.open()),this.resetChangeDetection(t);else if(e instanceof ga){if(e.modifiedFiles.length)for(const t of e.modifiedFiles)yield this.reloadFile(t);this.resetChangeDetection(t.concat(e.modifiedFiles)),!this.initState.hasFailed&&this.conceptTreeState.treeData||(yield(0,Te.gP)(this.conceptTreeState.initialize()),this.initState.pass())}yield n}*executeTests(e,t,n){t?this.applicationStore.notificationService.notifyUnsupportedFeature("Run relevant tests! (reason: VCS required)"):this.testRunState.isInProgress?this.applicationStore.notificationService.notifyWarning("Test runner is working. Please try again later"):(this.testRunState.inProgress(),yield(0,Te.gP)(this.execute("executeTests",{path:e,pctAdapter:n,relevantTestsOnly:t},!1,async(e,t)=>{const n=this.refreshTrees();if(e instanceof ma)e.source&&await(0,Te.gP)(this.loadFile(e.source,new Or(e.source,e.line,e.column,new mE(e.text.split("\n").filter(Boolean)[0])))),this.setActivePanelMode(So.TERMINAL),this.panelGroupDisplayState.open(),this.testRunState.fail();else if(e instanceof Sa){this.setActivePanelMode(So.TEST_RUNNER),this.panelGroupDisplayState.open();const t=new Ga(this,e);this.setTestRunnerState(t),await(0,Te.gP)(t.buildTestTreeData()),t.testExecutionResult.count<=100&&t.expandTree(),t.refreshTree(),await(0,Te.gP)(t.pollTestRunnerResult()),this.testRunState.pass()}this.resetChangeDetection(t),await n},`${Wr.TEST} ${e}`)))}*executeFullTestSuite(e){yield(0,Te.gP)(this.executeTests(vo,e))}*executeNavigation(e){this.navigationStack.push(e),yield(0,Te.gP)(this.execute("getConcept",{file:e.file,line:e.line,column:e.column},!1,async(e,t)=>{e instanceof _a&&await(0,Te.gP)(this.loadFile(e.jumpTo.source,new wr(e.jumpTo.source,e.jumpTo.line,e.jumpTo.column))),this.resetChangeDetection(t)},"navigate",{silentTerminalOnSuccess:!0}))}*navigateBack(){if(0!==this.navigationStack.length){if(this.navigationStack.length>0){const e=this.navigationStack.pop();e&&(yield(0,Te.gP)(this.loadFile(e.file,e)))}}else this.applicationStore.notificationService.notifyWarning("Can't navigate back any further - navigation stack is empty")}*fullReCompile(e){this.applicationStore.alertService.setActionAlertInfo({message:"Are you sure you want to perform a full re-compile?",prompt:"This may take a long time to complete",type:At.CAUTION,actions:[{label:"Perform full re-compile",type:It.PROCEED_WITH_CAUTION,handler:()=>{(0,Te.gP)(this.execute("executeSaveAndReset",{},!0,async(t,n)=>{this.initState.reset(),await(0,Te.gP)(this.initialize(e,void 0,this.client.mode,this.client.compilerMode)),this.resetChangeDetection(n),this.setActiveActivity(yo.CONCEPT_EXPLORER,{keepShowingIfMatchedCurrent:!0})},"recompile")).catch(this.applicationStore.alertUnhandledError)}},{label:"Abort",type:It.PROCEED,default:!0}]})}resetChangeDetection(e){this.tabManagerState.tabs.filter(j(Kr)).filter(t=>e.includes(t.filePath)).forEach(e=>e.resetChangeDetection())}async refreshTrees(){await Promise.all([this.directoryTreeState.refreshTreeData(),this.conceptTreeState.refreshTreeData()]),this.directoryTreeState.selectedNode&&document.getElementById(this.directoryTreeState.selectedNode.id)?.scrollIntoView({behavior:"instant",block:"center"}),this.conceptTreeState.selectedNode&&document.getElementById(this.conceptTreeState.selectedNode.id)?.scrollIntoView({behavior:"instant",block:"center"})}async revealConceptInTree(e){let t;try{t=await this.client.getConceptInfo(e.file,e.line,e.column)}catch{return void this.applicationStore.notificationService.notifyWarning("Can't find concept info. Please make sure that the code compiles and that you are looking for references of non primitive types!")}if(t.path){this.applicationStore.alertService.setBlockingAlert({message:"Revealing concept in tree...",showLoading:!0});try{this.activeActivity!==yo.CONCEPT_EXPLORER&&this.setActiveActivity(yo.CONCEPT_EXPLORER);const e=t.path.split(qo);let n=D(e[0]),s=D(this.conceptTreeState.getTreeData().nodes.get(n));for(let t=1;t<e.length;++t)n=`${n}${qo}${e[t]}`,this.conceptTreeState.getTreeData().nodes.get(n)||await(0,Te.gP)(this.conceptTreeState.expandNode(s)),s=D(this.conceptTreeState.getTreeData().nodes.get(n));this.conceptTreeState.setSelectedNode(s),document.getElementById(s.id)?.scrollIntoView({behavior:"instant",block:"center"})}catch{this.applicationStore.notificationService.notifyWarning("Error revealing concept. Please make sure that the code compiles and that you are looking for a valid concept")}finally{this.applicationStore.alertService.setBlockingAlert(void 0)}}}*command(e,t){try{const s=(n=yield e()).error?(0,pe.iu)($a,n):new Va;return!(s instanceof $a&&(s.errorDialog?this.applicationStore.notificationService.notifyWarning(`Can't run command '${t}': ${s.text}`):this.applicationStore.terminalService.terminal.output(s.text,{systemCommand:t}),1))}catch(e){return R(e),this.applicationStore.notificationService.notifyError(e),this.applicationStore.terminalService.terminal.fail(e.message,{systemCommand:t}),!1}var n}async getConceptInfo(e,t){try{return await this.client.getConceptInfo(e.file,e.line,e.column)}catch{return void(t?.silent||this.applicationStore.notificationService.notifyWarning("Can't find concept info. Please make sure that the code compiles and that you are looking for references of non primitive types!"))}}async findConceptUsages(e,t){return(await this.client.getUsages(e,t)).map(e=>(0,pe.iu)(Pr,e))}*findUsagesFromCoordinate(e){const t=yield this.getConceptInfo(e);t&&(yield(0,Te.gP)(this.findUsages(t)))}*findUsages(e){try{this.referenceUsageLoadState.inProgress(),this.applicationStore.alertService.setBlockingAlert({message:"Finding concept usages...",prompt:`Finding references of ${Rr(e)}`,showLoading:!0});const t=yield this.findConceptUsages(e.pureType===fr.ENUM_VALUE?kr.ENUM:e.pureType===fr.PROPERTY||e.pureType===fr.QUALIFIED_PROPERTY?kr.PROPERTY:kr.ELEMENT,(e.owner?[`'${e.owner}'`]:[]).concat(`'${e.path}'`)),n=(yield this.client.getTextSearchPreview(t.map(e=>(0,pe.lK)(xa,new xa(e.source,e.startLine,e.startColumn,e.endLine,e.endColumn))))).map(e=>(0,pe.iu)(xa,e));this.setReferenceUsageResult(new vE(this,e,t,n)),this.setActivePanelMode(So.REFERENCES),this.panelGroupDisplayState.open()}catch(e){R(e),this.applicationStore.notificationService.notifyError(e)}finally{this.applicationStore.alertService.setBlockingAlert(void 0),this.referenceUsageLoadState.complete()}}*renameConcept(e,t,n,s){try{yield this.client.renameConcept({oldName:e,newName:t,pureType:n,sourceInformations:s.map(e=>({sourceId:e.source,line:e.line,column:e.column}))});const i=s.map(e=>e.source);for(const e of i)yield this.reloadFile(e);yield this.refreshTrees(),this.applicationStore.notificationService.notifyWarning("Please re-compile the code after refacting")}catch(t){R(t),this.applicationStore.notificationService.notifyError(`Can't rename concept '${e}'`)}}*movePackageableElements(e){try{yield this.client.movePackageableElements(e.map(e=>({pureName:e.pureName,pureType:e.pureType,sourcePackage:e.sourcePackage,destinationPackage:e.destinationPackage,sourceInformations:e.usages.map(e=>({sourceId:e.source,line:e.line,column:e.column}))})));const t=(0,me.A)(e.flatMap(e=>e.usages.map(e=>e.source)));for(const e of t)yield this.reloadFile(e);yield this.refreshTrees(),this.applicationStore.notificationService.notifyWarning("Please re-compile the code after refacting")}catch(e){R(e),this.applicationStore.notificationService.notifyError(`Can't move packageable elements:\n${e.message}`)}}*updateFileUsingSuggestionCandidate(e){this.setCodeFixSuggestion(void 0),yield(0,Te.gP)(this.updateFile(e.fileToBeModified,e.lineToBeModified,e.columnToBeModified,e.add,e.messageToBeModified)),this.setActivePanelMode(So.TERMINAL),this.panelGroupDisplayState.open()}*updateFile(e,t,n,s,i){try{const o=yield this.client.updateSource([{path:e,line:t,column:n,message:i,add:s}]);if(o.modifiedFiles.length)for(const e of o.modifiedFiles)yield this.reloadFile(e);this.applicationStore.notificationService.notifyWarning("Please re-compile the code after refacting")}catch(t){R(t),this.applicationStore.notificationService.notifyError(`Can't update file '${e}'`)}}*searchFile(){this.fileSearchCommandLoadState.isInProgress||this.fileSearchCommandState.text.length<=3||(this.fileSearchCommandLoadState.inProgress(),this.fileSearchCommandResults=yield this.client.findFiles(this.fileSearchCommandState.text,this.fileSearchCommandState.isRegExp),this.fileSearchCommandLoadState.pass())}*createNewDirectory(e){try{yield(0,Te.gP)(this.command(()=>this.client.createFolder(Ir(e)),Wr.NEW_DIRECTORY)),yield(0,Te.gP)(this.directoryTreeState.refreshTreeData())}catch(e){R(e),this.applicationStore.notificationService.notifyError(e)}}*createNewFile(e){try{const t=yield(0,Te.gP)(this.command(()=>this.client.createFile(Ir(e)),Wr.NEW_FILE));yield(0,Te.gP)(this.directoryTreeState.refreshTreeData()),t&&(yield(0,Te.gP)(this.loadFile(e)))}catch(e){R(e),this.applicationStore.notificationService.notifyError(e)}}*renameFile(e,t){try{yield(0,Te.gP)(this.command(()=>this.client.renameFile(e,t),Wr.MOVE)),yield(0,Te.gP)(this.directoryTreeState.refreshTreeData());const n=this.tabManagerState.tabs.find(t=>t instanceof Kr&&t.filePath===e);n&&this.tabManagerState.closeTab(n)}catch(e){R(e),this.applicationStore.notificationService.notifyError(e)}}*deleteDirectoryOrFile(e,t,n){const s=async()=>{await(0,Te.gP)(this.command(()=>this.client.deleteDirectoryOrFile(Ir(e)),Wr.REMOVE)),this.tabManagerState.tabs.filter(n=>n instanceof Kr&&(void 0===t||t?n.filePath.startsWith(`${e}/`):n.filePath===e)).forEach(e=>this.tabManagerState.closeTab(e)),await(0,Te.gP)(this.directoryTreeState.refreshTreeData())};void 0===t||void 0===n?s().catch(this.applicationStore.alertUnhandledError):this.applicationStore.alertService.setActionAlertInfo({message:`Are you sure you would like to delete this ${t?"directory":"file"}?`,prompt:n?"Beware! This directory is not empty, this action is not undo-able, you have to manually revert using VCS":"Beware! This action is not undo-able, you have to manually revert using VCS",type:At.CAUTION,actions:[{label:"Delete anyway",type:It.PROCEED_WITH_CAUTION,handler:()=>{s().catch(this.applicationStore.alertUnhandledError)}},{label:"Abort",type:It.PROCEED,default:!0}]})}}const AE=(0,wt.createContext)(void 0),IE=e=>{const{children:t}=e,n=kt(),s=(0,mt.iz)(()=>new NE(n));return(0,_.jsx)(AE.Provider,{value:s,children:t})},xE=()=>D((0,wt.useContext)(AE),"Can't find editor store in context"),wE=(0,mt.PA)(()=>{const e=xE(),t=kt().terminalService.terminal,n=(0,wt.useRef)(null),{ref:s,width:i,height:o}=Vs();(0,wt.useEffect)(()=>(n.current&&t.searchConfig.setSearchInput(n.current),()=>t.searchConfig.setSearchInput(void 0)),[t]),(0,wt.useEffect)(()=>{s.current&&t.mount(s.current)},[t,s]),(0,wt.useEffect)(()=>{e.panelGroupDisplayState.isOpen&&e.activePanelMode===So.TERMINAL&&t.focus()},[t,e.panelGroupDisplayState.isOpen,e.activePanelMode]),(0,wt.useEffect)(()=>{t.autoResize()},[t,i,o]);const r=()=>{t.clear(),t.focus()},a=()=>t.copyAll();return t.isSetup?(0,_.jsxs)("div",{className:"terminal-panel",children:[(0,_.jsxs)("div",{className:"terminal-panel__header",children:[(0,_.jsxs)("div",{className:"terminal-panel__header__group",children:[(0,_.jsxs)("div",{className:"terminal-panel__header__searcher__input__container",children:[(0,_.jsx)("input",{ref:n,className:"terminal-panel__header__searcher__input input--dark",spellCheck:!1,value:t.searchConfig.searchText,onChange:e=>{const n=e.target.value;t.setSearchText(n),t.search(n)},onKeyDown:e=>{"Enter"===e.code?e.shiftKey?t.findPrevious():t.findNext():"Escape"===e.code&&(t.clearSearch(),t.focus())},placeholder:"Find"}),(0,_.jsxs)("div",{className:"terminal-panel__header__searcher__input__actions",children:[(0,_.jsx)("button",{className:"terminal-panel__header__searcher__input__action",tabIndex:-1,title:"Clear Search",onClick:()=>t.clearSearch(),children:(0,_.jsx)(tn,{})}),(0,_.jsx)("button",{className:(0,bt.$)("terminal-panel__header__searcher__input__action",{"terminal-panel__header__searcher__input__action--active":t.searchConfig.matchCaseSensitive}),tabIndex:-1,title:"Match Case",onClick:()=>t.setSearchCaseSensitive(!t.searchConfig.matchCaseSensitive),children:(0,_.jsx)(sn,{})}),(0,_.jsx)("button",{className:(0,bt.$)("terminal-panel__header__searcher__input__action",{"terminal-panel__header__searcher__input__action--active":t.searchConfig.matchWholeWord}),tabIndex:-1,title:"Match Whole Word",onClick:()=>t.setSearchWholeWord(!t.searchConfig.matchWholeWord),children:(0,_.jsx)(on,{})}),(0,_.jsx)("button",{className:(0,bt.$)("terminal-panel__header__searcher__input__action",{"terminal-panel__header__searcher__input__action--active":t.searchConfig.useRegex}),tabIndex:-1,title:"Use Regular Expression",onClick:()=>t.setSearchRegex(!t.searchConfig.useRegex),children:(0,_.jsx)(nn,{})})]})]}),(0,_.jsx)("div",{className:"terminal-panel__header__searcher__result",children:t.searchConfig.resultCount?`${void 0!==t.searchConfig.currentResultIndex?t.searchConfig.currentResultIndex+1:0} of ${t.searchConfig.resultCount}`:"No results"}),(0,_.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Previous Match (Shift+Enter)",disabled:!t.searchConfig.resultCount,tabIndex:-1,onClick:()=>{t.findPrevious()},children:(0,_.jsx)(yn,{className:"terminal-panel__header__action__icon"})}),(0,_.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Next Match (Enter)",disabled:!t.searchConfig.resultCount,tabIndex:-1,onClick:()=>{t.findNext()},children:(0,_.jsx)(vn,{className:"terminal-panel__header__action__icon"})})]}),(0,_.jsx)("div",{className:"terminal-panel__header__group__separator"}),(0,_.jsxs)("div",{className:"terminal-panel__header__group",children:[(0,_.jsx)("button",{className:(0,bt.$)("terminal-panel__header__action terminal-panel__header__group__action",{"terminal-panel__header__action--active":t.preserveLog}),title:"Toggle Preserve Console",tabIndex:-1,onClick:()=>t.setPreserveLog(!t.preserveLog),children:(0,_.jsx)(Wn,{className:"terminal-panel__header__action__icon"})}),(0,_.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Copy Text Content",tabIndex:-1,onClick:a,children:(0,_.jsx)(Rn,{className:"terminal-panel__header__action__icon"})}),(0,_.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Clear Console",tabIndex:-1,onClick:r,children:(0,_.jsx)(as,{className:"terminal-panel__header__action__icon"})}),(0,_.jsx)("button",{className:"terminal-panel__header__action terminal-panel__header__group__action",title:"Show Help",tabIndex:-1,onClick:()=>{t.showHelp(),t.focus()},children:(0,_.jsx)(es,{className:"terminal-panel__header__action__icon"})})]})]}),(0,_.jsx)(Rs,{className:"terminal-panel__content",content:(0,_.jsxs)(Ps,{children:[(0,_.jsx)(Ls,{onClick:()=>t.copy(),children:"Copy"}),(0,_.jsx)(Ls,{onClick:a,children:"Copy All"}),(0,_.jsx)(Ls,{onClick:r,children:"Clear"})]}),menuProps:{elevation:7},children:(0,_.jsx)("div",{ref:s,className:"terminal-panel__container"})})]}):(0,_.jsx)("div",{className:"terminal-panel",children:(0,_.jsx)($s,{children:"Terminal is not set up yet"})})}),OE=(0,mt.PA)(e=>{const{searchResult:t,result:n}=e,s=xE(),i=kt(),o=e=>()=>(0,Te.gP)(s.loadFile(n.sourceId,new wr(n.sourceId,e.startLine,e.startColumn))).catch(i.alertUnhandledError),r=e=>()=>{n.dismissCoordinate(e),n.coordinates.length||t.dismissSearchEntry(n)};return(0,_.jsxs)("div",{className:"text-search-panel__entry",children:[(0,_.jsxs)("div",{className:"text-search-panel__entry__header",onClick:()=>n.setIsExpanded(!n.isExpanded),children:[(0,_.jsxs)("div",{className:"text-search-panel__entry__header__title",children:[(0,_.jsx)("div",{className:"text-search-panel__entry__header__title__expander",children:n.isExpanded?(0,_.jsx)(hs,{}):(0,_.jsx)(ms,{})}),(0,_.jsx)("div",{className:"text-search-panel__entry__header__title__label",children:(0,_.jsx)(Un,{})}),(0,_.jsx)("div",{className:"text-search-panel__entry__header__title__content",children:Ir(n.sourceId)})]}),(0,_.jsxs)("div",{className:"text-search-panel__entry__header__actions",children:[(0,_.jsx)("div",{className:"text-search-panel__entry__header__action text-search-panel__entry__header__action--with-counter",children:(0,_.jsx)("div",{className:"text-search-panel__entry__header__action__counter",children:n.coordinates.length})}),(0,_.jsx)("button",{className:"text-search-panel__entry__header__action text-search-panel__entry__header__action--hidden",tabIndex:-1,title:"Dismiss",onClick:()=>t.dismissSearchEntry(n),children:(0,_.jsx)(rs,{})})]})]}),n.isExpanded&&(0,_.jsx)("div",{className:"text-search-panel__entry__content",children:n.coordinates.map(e=>(0,_.jsxs)("div",{className:"text-search-panel__entry__content__item",children:[(0,_.jsxs)("div",{className:"text-search-panel__entry__content__item__label text-search-panel__entry__content__item__label--full",title:e.preview?`${e.preview.before}${e.preview.found.replaceAll(/\n/g,"↵")}${e.preview.after}`:"Go To Result",onClick:o(e),children:[e.preview&&(0,_.jsxs)("div",{className:"text-search-panel__entry__content__item__label__content",children:[(0,_.jsx)("div",{className:"text-search-panel__entry__content__item__label__coordinates",children:`[${e.startLine}:${e.startColumn}]`}),(0,_.jsxs)("div",{className:"text-search-panel__entry__content__item__label__preview",children:[(0,_.jsx)("span",{className:"text-search-panel__entry__content__item__label__preview__text",children:e.preview.before}),(0,_.jsx)("span",{className:"text-search-panel__entry__content__item__label__preview__text text-search-panel__entry__content__item__label__preview__text--found",children:e.preview.found.replaceAll(/\n/g,"↵")}),(0,_.jsx)("span",{className:"text-search-panel__entry__content__item__label__preview__text",children:e.preview.after})]})]}),!e.preview&&(0,_.jsx)(_.Fragment,{children:`line: ${e.startLine} - column: ${e.startColumn}`})]}),(0,_.jsx)("div",{className:"text-search-panel__entry__content__item__actions",children:(0,_.jsx)("button",{className:"text-search-panel__entry__content__item__action text-search-panel__entry__content__item__action--hidden",tabIndex:-1,title:"Dismiss",onClick:r(e),children:(0,_.jsx)(rs,{})})})]},e.uuid))})]})}),kE=(0,mt.PA)(e=>{const{searchResult:t}=e,n=xE(),s=kt(),i=t.searchEntries.some(e=>!e.isExpanded);return(0,_.jsxs)("div",{className:"text-search-panel__content",children:[(0,_.jsxs)("div",{className:"text-search-panel__content__header",children:[(0,_.jsx)("div",{className:"text-search-panel__content__header__title",children:t.searchEntries.length?`${t.numberOfResults} result(s) in ${t.numberOfFiles} files`:"No result"}),(0,_.jsxs)("div",{className:"text-search-panel__content__header__actions",children:[(0,_.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Refresh",onClick:()=>{(0,Te.gP)(n.textSearchState.search()).catch(s.alertUnhandledError)},children:(0,_.jsx)(Xt,{})}),(0,_.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Clear",onClick:()=>{n.textSearchState.setText(""),n.textSearchState.setResult(void 0)},children:(0,_.jsx)(tn,{})}),!i&&(0,_.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Collapse All",onClick:()=>{t.searchEntries.forEach(e=>e.setIsExpanded(!1))},children:(0,_.jsx)(cn,{})}),i&&(0,_.jsx)("button",{className:"text-search-panel__content__header__action",tabIndex:-1,title:"Expand All",onClick:()=>{t.searchEntries.forEach(e=>e.setIsExpanded(!0))},children:(0,_.jsx)(ln,{})})]})]}),(0,_.jsx)("div",{className:"text-search-panel__content__results",children:t.searchEntries.map(e=>(0,_.jsx)(OE,{searchResult:t,result:e},e.uuid))})]})}),RE=(0,mt.PA)(()=>{const e=xE(),t=(0,wt.useRef)(null),n=e.textSearchState,s=(0,wt.useMemo)(()=>(0,Us.A)(()=>n.search(),300),[n]);return(0,wt.useEffect)(()=>(t.current&&n.setSearchInput(t.current),()=>n.setSearchInput(void 0)),[n]),(0,wt.useEffect)(()=>{e.panelGroupDisplayState.isOpen&&e.activePanelMode===So.SEARCH&&n.focus()},[n,e.panelGroupDisplayState.isOpen,e.activePanelMode]),(0,_.jsxs)("div",{className:"text-search-panel",children:[(0,_.jsx)(Ft,{isLoading:e.textSearchState.loadState.isInProgress}),(0,_.jsx)("div",{className:"text-search-panel__header",children:(0,_.jsxs)("div",{className:"text-search-panel__searcher__input__container",children:[(0,_.jsx)("input",{ref:t,autoFocus:!0,className:"text-search-panel__searcher__input input--dark",onChange:e=>{const t=e.target.value;n.setText(t),s.cancel(),t?s():n.setResult(void 0)},onKeyDown:e=>{"Enter"===e.code?(s.cancel(),n.text&&s()):"Escape"===e.code&&t.current?.select()},value:n.text,placeholder:"Search"}),(0,_.jsxs)("div",{className:"text-search-panel__searcher__input__actions",children:[(0,_.jsx)("button",{className:(0,bt.$)("text-search-panel__searcher__input__action",{"text-search-panel__searcher__input__action--active":n.isCaseSensitive}),tabIndex:-1,title:"Match Case",onClick:()=>n.setCaseSensitive(!n.isCaseSensitive),children:(0,_.jsx)(sn,{})}),(0,_.jsx)("button",{className:(0,bt.$)("text-search-panel__searcher__input__action",{"text-search-panel__searcher__input__action--active":n.isRegExp}),tabIndex:-1,title:"Use Regular Expression",onClick:()=>n.setRegExp(!n.isRegExp),children:(0,_.jsx)(nn,{})})]})]})}),e.textSearchState.result&&(0,_.jsx)(kE,{searchResult:e.textSearchState.result})]})}),PE=e=>{const{node:t,level:n,stepPaddingInRem:s,classPrefix:i,onNodeSelect:o}=e;return(0,_.jsxs)("div",{className:(0,bt.$)("tree-view__node__container",{[`${i}__tree-view__node__container`]:i}),onClick:()=>o?.(t),style:{paddingLeft:(n-1)*(s??1)+"rem",display:"flex"},children:[(0,_.jsx)("div",{className:(0,bt.$)("tree-view__node__icon",{[`${i}__tree-view__node__icon`]:i}),children:Boolean(t.childrenIds?.length)&&(t.isOpen?(0,_.jsx)(hs,{}):(0,_.jsx)(ms,{}))}),(0,_.jsx)("div",{className:(0,bt.$)("tree-view__node__label",{[`${i}__tree-view__node__label`]:i}),children:t.label})]})},LE=e=>{const{node:t,level:n,onNodeSelect:s,getChildNodes:i,classPrefix:o,components:r,stepPaddingInRem:a,innerProps:c}=e,l={TreeNodeView:LE,TreeNodeContainer:PE},d=r?{...l,...r}:l;return(0,_.jsxs)("div",{className:(0,bt.$)("tree-view__node__block",{[`${o}__tree-view__node__block`]:o}),children:[(0,_.jsx)(d.TreeNodeContainer,{node:t,level:n+1,stepPaddingInRem:a,classPrefix:o,onNodeSelect:s,innerProps:c}),t.isOpen&&i(t).map(e=>(0,_.jsx)(d.TreeNodeView,{node:e,level:n+1,components:r,classPrefix:o,onNodeSelect:s,getChildNodes:i,innerProps:c},e.id))]})},ME=e=>{const{treeData:t,className:n,classPrefix:s,components:i,onNodeSelect:o,getChildNodes:r,getRootNodes:a,innerProps:c}=e,l=a?.(t)??t.rootIds.map(e=>t.nodes.get(e)).filter(M),d={TreeNodeView:LE,TreeNodeContainer:PE},u=i?{...d,...i}:d;return(0,_.jsx)("div",{className:(0,bt.$)("tree-view__node__root",n??"",{[`${s}__tree-view__node__root`]:s}),children:l.map(e=>(0,_.jsx)(u.TreeNodeView,{level:0,node:e,getChildNodes:r,components:u,onNodeSelect:o,classPrefix:s,innerProps:c},e.id))})},FE=Tt("Panel","panel"),DE=(Tt("PanelFullContent","panel__content--full"),e=>{const{title:t,titleContent:n,keepTitleFormat:s,labelClassName:i,contentClassName:o,darkMode:r,className:a,isReadOnly:c,children:l}=e,d=Boolean(r),u=Boolean(s);return(0,_.jsxs)("div",{className:(0,bt.$)("panel__header",{"panel__header--dark":d},a),children:[t&&(0,_.jsxs)("div",{className:"panel__header__title",children:[c&&(0,_.jsx)("div",{className:"uml-element-editor__header__lock",children:(0,_.jsx)(Kn,{})}),(0,_.jsx)("div",{className:(0,bt.$)("panel__header__title__label",{"panel__header__title__label--light":!d},i),children:u?t:t.toLowerCase()}),n&&(0,_.jsx)("div",{className:(0,bt.$)("panel__header__title__content",{"panel__header__title__content--light":!d},o),children:n})]}),l]})}),BE=Tt("PanelHeaderActions","panel__header__actions"),jE=e=>{const{className:t,onClick:n,children:s,disabled:i,title:o}=e;return(0,_.jsx)("button",{className:(0,bt.$)("panel__header__action",t),disabled:Boolean(i),onClick:n,title:o,tabIndex:-1,children:s})},HE=e=>{const{className:t,darkMode:n,children:s}=e;return(0,_.jsx)("div",{className:(0,bt.$)("panel__content",t,{"panel__content--dark":n}),children:s})},UE=(Tt("PanelContentLists","panel__content__lists"),Tt("PanelList","panel__content__form__list"),Tt("PanelListItem","panel__content__form__list__item"),Tt("PanelListItemTitle","panel__content__form__list__item__title"),Tt("PanelListItemLabel","panel__content__form__list__item__label"),Tt("PanelForm","panel__content__form"),Tt("PanelDivider","panel__content__form__divider")),GE=(Tt("PanelFormDescription","panel__content__form__description"),Tt("PanelFormSection","panel__content__form__section"));(0,wt.forwardRef)(function(e,t){const{name:n,value:s,update:i,prompt:o,errorMessageClassName:r,placeholder:a,validate:c,onValidate:l,onBlur:d,isReadOnly:u,className:p,darkMode:h,fullWidth:g,inputType:m}=e,[f,E]=(0,wt.useState)(s??""),b=c?.(f)??void 0;return(0,wt.useEffect)(()=>{b||s===f||i(f),l?.(b)},[s,f,b,l,i]),(0,_.jsxs)(GE,{children:[n&&(0,_.jsx)("div",{className:"panel__content__form__section__header__label",children:qe(n)}),o&&(0,_.jsx)("div",{className:"panel__content__form__section__header__prompt",children:o}),(0,_.jsxs)("div",{className:"input-group",children:[(0,_.jsx)("input",{className:(0,bt.$)("input input-group__input panel__content__form__section__input",p,{"input--dark":h||!0},{"input--small":!g}),ref:t,type:m||"text",spellCheck:!1,disabled:u,placeholder:a,value:f,onChange:e=>{E(e.target.value)},onBlur:d}),b&&(0,_.jsx)("div",{className:(0,bt.$)("panel__content__form__section__input-group__error-message input-group__error-message",{"input--small":!g},r),children:b})]})]})}),(0,wt.forwardRef)(function(e,t){const{name:n,value:s,update:i,prompt:o,placeholder:r,isReadOnly:a,errorMessage:c,className:l,darkMode:d,fullWidth:u,inputType:p,hasError:h,errorClassName:g}=e,m=s??"";return(0,_.jsxs)(GE,{children:[(0,_.jsx)("div",{className:"panel__content__form__section__header__label",children:qe(n)}),(0,_.jsx)("div",{className:(0,bt.$)("panel__content__form__section__header__prompt",h&&g),children:o}),(0,_.jsxs)("div",{className:"input-group",children:[(0,_.jsx)("input",{className:(0,bt.$)("input input-group__input panel__content__form__section__input",l,{"input--dark":d||!0},{"input--small":!u},h&&g),ref:t,type:p||"text",spellCheck:!1,disabled:a,placeholder:r,value:m,onChange:e=>{const t=e.target.value;i(t||void 0)}}),c&&(0,_.jsx)("div",{className:(0,bt.$)("panel__content__form__section__input-group__error-message input-group__error-message",{"input--small":!u}),children:c})]}),c&&(0,_.jsx)(UE,{})]})}),(0,mt.PA)(e=>{const{value:t,name:n,prompt:s,children:i,isReadOnly:o,update:r}=e;return(0,_.jsxs)(GE,{children:[n&&(0,_.jsx)("div",{className:"panel__content__form__section__header__label",children:qe(n)}),(0,_.jsxs)("div",{className:(0,bt.$)("panel__content__form__section__toggler",{"panel__content__form__section__toggler--disabled":o}),onClick:()=>{o||r(!t)},children:[(0,_.jsx)("button",{type:"button",className:(0,bt.$)("panel__content__form__section__toggler__btn",{"panel__content__form__section__toggler__btn--toggled":t}),disabled:o,tabIndex:-1,children:t?(0,_.jsx)(xn,{}):(0,_.jsx)(ss,{})}),(0,_.jsxs)("div",{className:"panel__content__form__section__toggler__prompt",children:[s," ",i]})]})]})}),Tt("PanelFormActions","panel__content__form__actions");var VE=n(80130);const $E=(0,mt.PA)(e=>{const{node:t,level:n,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}=e,{testRunnerState:r,onNodeOpen:a,onNodeExpand:c,onNodeCompress:l,renderNodeLabel:d}=o,u=xE(),p=kt(),h=r.testResultInfo,g=!t.data.type,m=t.id===r.selectedTestId;let f;switch(h?((e,t)=>{const n=e.id;return Boolean(e.data.type)?((e,t)=>t.passedTests.has(e)?Pa.PASSED:t.failedTests.has(e)?Pa.FAILED:t.testsWithError.has(e)?Pa.ERROR:Pa.RUNNING)(n,t):t.failedTestIds.some(e=>e.startsWith(`${n}_`))||t.testWithErrorIds.some(e=>e.startsWith(`${n}_`))?Pa.FAILED:t.notRunTestIds.some(e=>e.startsWith(`${n}_`))?Pa.RUNNING:Pa.PASSED})(t,h):void 0){case Pa.PASSED:f=(0,_.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--passed",children:(0,_.jsx)(In,{})});break;case Pa.FAILED:f=(0,_.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--failed",children:(0,_.jsx)(Fn,{})});break;case Pa.ERROR:f=(0,_.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--error",children:(0,_.jsx)(os,{})});break;case Pa.RUNNING:f=(0,_.jsx)("div",{className:"test-runner-panel__explorer__package-tree__status test-runner-panel__explorer__package-tree__status--running",children:(0,_.jsx)(wn,{})});break;default:f=(0,_.jsx)(es,{})}const E=()=>{t.isOpen?l(t):c(t)};return(0,_.jsxs)("div",{className:(0,bt.$)("tree-view__node__container explorer__package-tree__node__container",{"explorer__package-tree__node__container--selected":m}),onClick:e=>{e.stopPropagation(),e.preventDefault(),i?.(t),g?E():a(t)},onDoubleClick:()=>{g?E():(0,Te.gP)(u.loadFile(t.data.li_attr.file,new wr(t.data.li_attr.file,Number.parseInt(t.data.li_attr.line,10),Number.parseInt(t.data.li_attr.column,10)))).catch(p.alertUnhandledError)},style:{paddingLeft:n*(s??1)+"rem",display:"flex"},children:[(0,_.jsxs)("div",{className:"tree-view__node__icon explorer__package-tree__node__icon",children:[(0,_.jsx)("div",{className:"explorer__package-tree__node__icon__expand",onClick:e=>{e.stopPropagation(),E()},children:g?t.isOpen?(0,_.jsx)(hs,{}):(0,_.jsx)(ms,{}):(0,_.jsx)("div",{})}),(0,_.jsx)("div",{className:"explorer__package-tree__node__icon__type",children:f})]}),(0,_.jsx)("button",{className:"tree-view__node__label explorer__package-tree__node__label",tabIndex:-1,children:d?.(t)??t.label})]})}),WE=(0,mt.PA)(e=>{const{testRunnerState:t}=e,n=t.getTreeData(),s=e=>t.setSelectedTestId(e.id),i=e=>{let t=e.id.split("__")[0];if(!t)return e.label;const n=t.split("_");return t=n.slice(1,n.length).join(qo),(0,_.jsxs)("div",{className:"test-runner-list__item__label",children:[(0,_.jsx)("div",{className:"test-runner-list__item__label__name",children:e.label}),(0,_.jsx)("div",{className:"test-runner-list__item__label__path",children:t})]})};return(0,_.jsx)("div",{className:"explorer__content",children:Array.from(t.allTests.keys()).map(e=>n.nodes.get(e)).filter(M).map(e=>(0,_.jsx)($E,{node:e,level:0,onNodeSelect:()=>{},innerProps:{testRunnerState:t,onNodeOpen:s,renderNodeLabel:i,onNodeExpand:()=>{},onNodeCompress:()=>{}}},e.id))})}),YE=(0,mt.PA)(e=>{const{testRunnerState:t}=e,n=t.getTreeData(),s=0===n.nodes.size;return(0,_.jsxs)("div",{className:"explorer__content",children:[s&&(0,_.jsx)($s,{children:"No tests found"}),!s&&(0,_.jsx)(ME,{components:{TreeNodeContainer:$E},treeData:n,onNodeSelect:()=>{},getChildNodes:e=>e.isLoading||!e.childrenIds?[]:e.childrenIds.map(e=>n.nodes.get(e)).filter(M),innerProps:{testRunnerState:t,onNodeOpen:e=>t.setSelectedTestId(e.id),onNodeExpand:e=>{e.isOpen=!0,t.refreshTree()},onNodeCompress:e=>{e.isOpen=!1,t.refreshTree()}}})]})}),zE=/(?<path>resource:(?<path_sourceId>\/?(?:\w+\/)*\w+(?:\.\w+)*) (?:line:(?<path_line>\d+)) (?:column:(?<path_column>\d+)))/g,KE=e=>{const{wrapText:t,result:n}=e,s=xE(),i=kt(),[o,r]=(0,wt.useState)(),a=(0,wt.useRef)(void 0),c=(0,wt.useRef)(null);return(0,wt.useEffect)(()=>{if(!o&&c.current){const e=c.current,t=Ao.editor.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,fontSize:12,extraEditorClassName:"monaco-editor--small-font",readOnly:!0,glyphMargin:!1,folding:!1,lineNumbers:"off",lineDecorationsWidth:10,lineNumbersMinChars:0,minimap:{enabled:!1},guides:{bracketPairs:!1,bracketPairsHorizontal:!1,highlightActiveBracketPair:!1,indentation:!1,highlightActiveIndentation:!1},renderLineHighlight:"none",theme:Do.DEFAULT_DARK,language:Jo.TEXT});r(t)}},[i,o]),o&&(a.current?.dispose(),a.current=Ao.languages.registerLinkProvider(Jo.TEXT,{provideLinks:e=>{const t=[];for(let n=1;n<=e.getLineCount();++n)Array.from(e.getLineContent(n).matchAll(zE)).forEach(e=>{e.groups?.path&&e.groups.path_sourceId&&e.groups.path_column&&e.groups.path_line&&t.push({range:{startLineNumber:n,startColumn:e.index+1,endLineNumber:n,endColumn:e.index+1+e.groups.path.length},tooltip:"Click to go to location",sourceId:e.groups.path_sourceId,line:e.groups.path_line,column:e.groups.path_column})});return{links:t}},resolveLink:e=>{const t=e;(0,Te.gP)(s.loadFile(t.sourceId,new wr(t.sourceId,Number.parseInt(t.line,10),Number.parseInt(t.column,10)))).catch(s.applicationStore.alertUnhandledError)}})),(0,wt.useEffect)(()=>{if(o){const e=n instanceof Ma?"Test passed!":n instanceof Da?n.error.text:"Running...";o.setValue(e),(n instanceof Ma||n instanceof Da)&&o.createDecorationsCollection([{range:{startLineNumber:1,startColumn:1,endLineNumber:Number.MAX_SAFE_INTEGER,endColumn:Number.MAX_SAFE_INTEGER},options:{inlineClassName:n instanceof Ma?"test-runner-panel__result__content--success":"test-runner-panel__result__content--failure"}}])}},[o,n]),(0,wt.useEffect)(()=>{o&&o.updateOptions({wordWrap:t?"on":"off"})},[o,t]),(0,wt.useEffect)(()=>()=>{o&&((e=>{e.dispose(),e.getModel()?.dispose()})(o),a.current?.dispose())},[o]),(0,_.jsx)("div",{className:"code-editor__container",children:(0,_.jsx)("div",{className:"code-editor__body",ref:c})})},XE=(0,mt.PA)(e=>{const{testRunnerState:t,selectedTestId:n,testResultInfo:s}=e,i=xE(),o=kt(),[r,a]=(0,wt.useState)(!1),c=s.results.get(n),l=D(t.allTests.get(n),`Can't find info for test with ID '${n}'`);return(0,_.jsxs)(FE,{children:[(0,_.jsx)(DE,{title:l.text,children:(0,_.jsxs)(BE,{children:[(0,_.jsx)(jE,{className:(0,bt.$)({"panel__header__action--active":r}),onClick:()=>a(!r),title:"Toggle Text Wrap",children:(0,_.jsx)(Qt,{className:"test-runner-panel__result__header__icon--text-wrap"})}),(0,_.jsx)(jE,{title:"Open File",onClick:()=>{(0,Te.gP)(i.loadFile(l.li_attr.file,new wr(l.li_attr.file,Number.parseInt(l.li_attr.line,10),Number.parseInt(l.li_attr.column,10)))).catch(o.alertUnhandledError)},children:(0,_.jsx)(en,{})})]})}),(0,_.jsx)(HE,{className:"test-runner-panel__result",children:(0,_.jsx)(KE,{result:c,wrapText:r})})]})}),JE=(0,mt.PA)(e=>{const{testRunnerState:t}=e,n=xE(),s=kt(),i=t.testExecutionResult.count,o=n.PCTAdapters.find(e=>e.func===t.testExecutionResult.pctAdapter),r=t.testResultInfo,a=r?.suiteStatus??Ra.NONE,c=r?.runPercentage??0;return(0,_.jsx)("div",{className:"test-runner-panel__content",children:(0,_.jsxs)(qi,{orientation:"vertical",children:[(0,_.jsx)(eo,{minSize:400,children:(0,_.jsxs)("div",{className:"panel test-runner-panel__explorer",children:[(0,_.jsx)(Ft,{isLoading:t.treeBuildingState.isInProgress}),(0,_.jsxs)("div",{className:"panel__header",children:[(0,_.jsx)("div",{className:"panel__header__title",children:(0,_.jsxs)("div",{className:"panel__header__title__content test-runner-panel__explorer__report",children:[(0,_.jsxs)("div",{className:"test-runner-panel__explorer__report__overview",children:[(0,_.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--total",children:[i," total"]}),(0,_.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--passed",children:[r?.passed??0," ",(0,_.jsx)(In,{})]}),(0,_.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--failed",children:[r?.failed??0," ",(0,_.jsx)(Fn,{})]}),(0,_.jsxs)("div",{className:"test-runner-panel__explorer__report__overview__stat test-runner-panel__explorer__report__overview__stat--error",children:[r?.error??0," ",(0,_.jsx)(os,{})]})]}),r&&(0,_.jsxs)("div",{className:"test-runner-panel__explorer__report__time",children:[r.time,"ms"]}),void 0!==o&&(0,_.jsx)("div",{className:"test-runner-panel__explorer__report__pct",children:`PCT: ${o.name}`})]})}),(0,_.jsxs)("div",{className:"panel__header__actions",children:[(0,_.jsx)("button",{className:"panel__header__action",onClick:()=>t.setViewAsList(!t.viewAsList),title:t.viewAsList?"View As Tree":"View As List",children:t.viewAsList?(0,_.jsx)(Jt,{className:"test-runner-panel__icon--tree-view"}):(0,_.jsx)(qt,{className:"test-runner-panel__icon--list-view"})}),(0,_.jsx)("button",{className:"panel__header__action",onClick:()=>t.expandTree(),title:"Expand All",children:(0,_.jsx)(Bn,{})}),(0,_.jsx)("button",{className:"panel__header__action",onClick:()=>t.collapseTree(),title:"Collapse All",children:(0,_.jsx)(kn,{})}),(0,_.jsx)("button",{className:"panel__header__action",tabIndex:-1,disabled:!n.testRunState.isInProgress,onClick:()=>{(0,Te.gP)(t.cancelTestRun()).catch(s.alertUnhandledError)},title:"Stop",children:(0,_.jsx)(Sn,{})}),(0,_.jsx)("button",{className:"panel__header__action",tabIndex:-1,onClick:()=>{(0,Te.gP)(t.rerunTestSuite()).catch(s.alertUnhandledError)},disabled:n.testRunState.isInProgress,title:"Run Suite",children:(0,_.jsx)(Zn,{})}),(0,_.jsx)("button",{className:"panel__header__action",tabIndex:-1,onClick:()=>{(0,Te.gP)(t.cancelTestRun()).catch(s.alertUnhandledError).finally(()=>{n.setTestRunnerState(void 0)})},title:"Reset",children:(0,_.jsx)(rs,{})})]})]}),(0,_.jsx)("div",{className:"test-runner-panel__header__status",children:(0,_.jsx)(VE.A,{className:`test-runner-panel__progress-bar test-runner-panel__progress-bar--${a.toLowerCase()}`,classes:{bar:`test-runner-panel__progress-bar__bar test-runner-panel__progress-bar__bar--${a.toLowerCase()}`},variant:"determinate",value:c})}),(0,_.jsx)("div",{className:"panel__content",children:t.treeData&&(0,_.jsxs)(_.Fragment,{children:[!t.viewAsList&&(0,_.jsx)(YE,{testRunnerState:t}),t.viewAsList&&(0,_.jsx)(WE,{testRunnerState:t})]})})]})}),(0,_.jsx)(to,{children:(0,_.jsx)(no,{color:n.panelGroupDisplayState.isMaximized?"transparent":"var(--color-dark-grey-250)"})}),(0,_.jsxs)(eo,{minSize:400,children:[t.selectedTestId&&!r&&(0,_.jsx)("div",{}),t.selectedTestId&&r&&(0,_.jsx)(XE,{testRunnerState:t,selectedTestId:t.selectedTestId,testResultInfo:r}),!t.selectedTestId&&(0,_.jsxs)("div",{className:"panel",children:[(0,_.jsx)("div",{className:"panel__header"}),(0,_.jsx)("div",{className:"panel__content",children:(0,_.jsx)($s,{children:"No test selected"})})]}),(0,_.jsx)("div",{})]})]})})}),qE=(0,mt.PA)(()=>{const e=xE().testRunnerState;return(0,_.jsxs)("div",{className:"test-runner-panel",children:[!e&&(0,_.jsx)($s,{children:(0,_.jsx)("div",{className:"panel-group__splash-screen",children:(0,_.jsxs)("div",{className:"panel-group__splash-screen__content",children:[(0,_.jsxs)("div",{className:"panel-group__splash-screen__content__item",children:[(0,_.jsx)("div",{className:"panel-group__splash-screen__content__item__label",children:"Run full test suite"}),(0,_.jsx)("div",{className:"panel-group__splash-screen__content__item__hot-keys",children:(0,_.jsx)("div",{className:"hotkey__key",children:"F10"})})]}),(0,_.jsxs)("div",{className:"panel-group__splash-screen__content__item",children:[(0,_.jsx)("div",{className:"panel-group__splash-screen__content__item__label",children:"Run relevant tests only"}),(0,_.jsxs)("div",{className:"panel-group__splash-screen__content__item__hot-keys",children:[(0,_.jsx)("div",{className:"hotkey__key",children:"Shift"}),(0,_.jsx)("div",{className:"hotkey__plus",children:(0,_.jsx)(Qn,{})}),(0,_.jsx)("div",{className:"hotkey__key",children:"F10"})]})]})]})})}),e&&(0,_.jsx)(JE,{testRunnerState:e})]})}),ZE=(0,mt.PA)(e=>{const{candidate:t}=e,n=xE(),s=kt(),i=()=>{(0,Te.gP)(n.loadFile(t.sourceID,new wr(t.sourceID,t.line,t.column))).catch(s.alertUnhandledError)};return(0,_.jsxs)("div",{className:"suggestions-panel__entry__content__item",children:[(0,_.jsxs)("div",{className:"suggestions-panel__entry__content__item__label__candidate",title:"Go to Result",onClick:i,children:[(0,_.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-name",children:t.foundName}),(0,_.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-location",children:`${Ir(t.sourceID)} [${t.line}:${t.column}]`})]}),(0,_.jsx)("div",{className:"suggestions-panel__entry__content__item__actions",children:(0,_.jsx)("button",{className:"suggestions-panel__entry__content__item__action",tabIndex:-1,title:"Go to Result",onClick:i,children:(0,_.jsx)(Cn,{})})})]})}),QE=(0,mt.PA)(e=>{const{candidate:t}=e,n=xE(),s=kt();return(0,_.jsxs)("div",{className:"suggestions-panel__entry__content__item",children:[(0,_.jsxs)("div",{className:"suggestions-panel__entry__content__item__label__candidate",title:"Add Suggested Import",onClick:()=>{(0,Te.gP)(n.updateFileUsingSuggestionCandidate(t)).catch(s.alertUnhandledError)},children:[(0,_.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-name",children:t.foundName}),(0,_.jsx)("div",{className:"suggestions-panel__entry__content__item__label__candidate-location",children:`${Ir(t.sourceID)} [${t.line}:${t.column}]`})]}),(0,_.jsx)("div",{className:"suggestions-panel__entry__content__item__actions",children:(0,_.jsx)("button",{className:"suggestions-panel__entry__content__item__action",tabIndex:-1,title:"Go to Result",onClick:()=>{(0,Te.gP)(n.loadFile(t.sourceID,new wr(t.sourceID,t.line,t.column))).catch(s.alertUnhandledError)},children:(0,_.jsx)(Cn,{})})})]})}),eb=(0,mt.PA)(e=>{const{suggestionState:t}=e,n=t.result;return(0,_.jsxs)("div",{className:"suggestions-panel__content",children:[!n.candidatesWithPackageImported.length&&(0,_.jsx)("div",{className:"suggestions-panel__content__header",children:`No functions, in packages already imported, match the function '${n.candidateName}'`}),Boolean(n.candidatesWithPackageImported.length)&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("div",{className:"suggestions-panel__content__header",children:`These functions, in packages already imported, would match the function '${n.candidateName}' if you changed the parameters`}),(0,_.jsx)("div",{className:"suggestions-panel__entry",children:n.candidatesWithPackageImported.map(e=>(0,_.jsx)(ZE,{candidate:e},e.uuid))})]}),!n.candidatesWithPackageNotImported.length&&(0,_.jsx)("div",{className:"suggestions-panel__content__header",children:`No functions, in packages not imported, match the function '${n.candidateName}'`}),Boolean(n.candidatesWithPackageNotImported.length)&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("div",{className:"suggestions-panel__content__header",children:`These functions, in packages not imported, match the function '${n.candidateName}'. Click on result to import the necessary package`}),(0,_.jsx)("div",{className:"suggestions-panel__entry",children:n.candidatesWithPackageNotImported.map(e=>(0,_.jsx)(QE,{candidate:e},e.uuid))})]})]})}),tb=(0,mt.PA)(e=>{const{suggestionState:t}=e,n=t.result;return(0,_.jsxs)("div",{className:"suggestions-panel__content",children:[!n.candidates.length&&(0,_.jsx)("div",{className:"suggestions-panel__content__header",children:`No possible matches found for '${n.candidateName}'`}),Boolean(n.candidates.length)&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("div",{className:"suggestions-panel__content__header",children:`Found possible matches for '${n.candidateName}'. Click on result to import the necessary package`}),(0,_.jsx)("div",{className:"suggestions-panel__entry",children:n.candidates.map(e=>(0,_.jsx)(QE,{candidate:e},e.uuid))})]})]})}),nb=(0,mt.PA)(()=>{const e=xE();return(0,_.jsxs)("div",{className:"suggestions-panel",children:[e.codeFixSuggestion instanceof TE&&(0,_.jsx)(eb,{suggestionState:e.codeFixSuggestion}),e.codeFixSuggestion instanceof CE&&(0,_.jsx)(tb,{suggestionState:e.codeFixSuggestion})]})}),sb=(0,mt.PA)(e=>{const{referenceUsageResult:t,result:n}=e,s=xE(),i=kt(),o=e=>()=>(0,Te.gP)(s.loadFile(n.sourceId,new wr(n.sourceId,e.startLine,e.startColumn))).catch(i.alertUnhandledError),r=e=>()=>{n.dismissCoordinate(e),n.coordinates.length||t.dismissSearchEntry(n)};return(0,_.jsxs)("div",{className:"references-panel__entry",children:[(0,_.jsxs)("div",{className:"references-panel__entry__header",onClick:()=>n.setIsExpanded(!n.isExpanded),children:[(0,_.jsxs)("div",{className:"references-panel__entry__header__title",children:[(0,_.jsx)("div",{className:"references-panel__entry__header__title__expander",children:n.isExpanded?(0,_.jsx)(hs,{}):(0,_.jsx)(ms,{})}),(0,_.jsx)("div",{className:"references-panel__entry__header__title__label",children:(0,_.jsx)(Un,{})}),(0,_.jsx)("div",{className:"references-panel__entry__header__title__content",children:Ir(n.sourceId)})]}),(0,_.jsxs)("div",{className:"references-panel__entry__header__actions",children:[(0,_.jsx)("div",{className:"references-panel__entry__header__action references-panel__entry__header__action--with-counter",children:(0,_.jsx)("div",{className:"references-panel__entry__header__action__counter",children:n.coordinates.length})}),(0,_.jsx)("button",{className:"references-panel__entry__header__action references-panel__entry__header__action--hidden",tabIndex:-1,title:"Dismiss",onClick:()=>t.dismissSearchEntry(n),children:(0,_.jsx)(rs,{})})]})]}),n.isExpanded&&(0,_.jsx)("div",{className:"references-panel__entry__content",children:n.coordinates.map(e=>(0,_.jsxs)("div",{className:"references-panel__entry__content__item",children:[(0,_.jsxs)("div",{className:"references-panel__entry__content__item__label references-panel__entry__content__item__label--full",title:e.preview?`${e.preview.before}${e.preview.found.replaceAll(/\n/g,"↵")}${e.preview.after}`:"Go To Result",onClick:o(e),children:[e.preview&&(0,_.jsxs)("div",{className:"references-panel__entry__content__item__label__content",children:[(0,_.jsx)("div",{className:"references-panel__entry__content__item__label__coordinates",children:`[${e.startLine}:${e.startColumn}]`}),(0,_.jsxs)("div",{className:"references-panel__entry__content__item__label__preview",children:[(0,_.jsx)("span",{className:"references-panel__entry__content__item__label__preview__text",children:e.preview.before}),(0,_.jsx)("span",{className:"references-panel__entry__content__item__label__preview__text references-panel__entry__content__item__label__preview__text--found",children:e.preview.found.replaceAll(/\n/g,"↵")}),(0,_.jsx)("span",{className:"references-panel__entry__content__item__label__preview__text",children:e.preview.after})]})]}),!e.preview&&(0,_.jsx)(_.Fragment,{children:`line: ${e.startLine} - column: ${e.startColumn}`})]}),(0,_.jsx)("div",{className:"references-panel__entry__content__item__actions",children:(0,_.jsx)("button",{className:"references-panel__entry__content__item__action references-panel__entry__content__item__action--hidden",tabIndex:-1,title:"Dismiss",onClick:r(e),children:(0,_.jsx)(rs,{})})})]},e.uuid))})]})}),ib=(0,mt.PA)(e=>{const{referenceUsageState:t}=e,n=xE(),s=kt(),i=t.searchEntries.some(e=>!e.isExpanded);return(0,_.jsxs)("div",{className:"references-panel__content",children:[(0,_.jsxs)("div",{className:"references-panel__content__header",children:[(0,_.jsx)("div",{className:"references-panel__content__header__title",children:t.searchEntries.length?`${t.numberOfResults} usages(s) in ${t.numberOfFiles} files for ${Rr(t.usageConcept)}`:`No usages found for ${Rr(t.usageConcept)}`}),(0,_.jsxs)("div",{className:"references-panel__content__header__actions",children:[(0,_.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Refresh",onClick:()=>{(0,Te.gP)(n.findUsages(t.usageConcept)).catch(s.alertUnhandledError)},children:(0,_.jsx)(Xt,{})}),(0,_.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Clear",onClick:()=>n.setReferenceUsageResult(void 0),children:(0,_.jsx)(tn,{})}),!i&&(0,_.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Collapse All",onClick:()=>{t.searchEntries.forEach(e=>e.setIsExpanded(!1))},children:(0,_.jsx)(cn,{})}),i&&(0,_.jsx)("button",{className:"references-panel__content__header__action",tabIndex:-1,title:"Expand All",onClick:()=>{t.searchEntries.forEach(e=>e.setIsExpanded(!0))},children:(0,_.jsx)(ln,{})})]})]}),(0,_.jsx)("div",{className:"references-panel__content__results",children:t.searchEntries.map(e=>(0,_.jsx)(sb,{referenceUsageResult:t,result:e},e.uuid))})]})}),ob=(0,mt.PA)(()=>{const e=xE();return(0,_.jsxs)("div",{className:"references-panel",children:[(0,_.jsx)(Ft,{isLoading:e.referenceUsageLoadState.isInProgress}),!e.referenceUsageResult&&(0,_.jsx)($s,{children:(0,_.jsx)("div",{className:"panel-group__splash-screen",children:(0,_.jsx)("div",{className:"panel-group__splash-screen__content",children:(0,_.jsxs)("div",{className:"panel-group__splash-screen__content__item",children:[(0,_.jsx)("div",{className:"panel-group__splash-screen__content__item__label",children:"Find Concept References"}),(0,_.jsxs)("div",{className:"panel-group__splash-screen__content__item__hot-keys",children:[(0,_.jsx)("div",{className:"hotkey__key",children:"Alt"}),(0,_.jsx)("div",{className:"hotkey__plus",children:(0,_.jsx)(Qn,{})}),(0,_.jsx)("div",{className:"hotkey__key",children:"F7"})]})]})})})}),e.referenceUsageResult&&(0,_.jsx)(ib,{referenceUsageState:e.referenceUsageResult})]})}),rb=(0,mt.PA)(()=>{const e=xE(),t={[So.TERMINAL]:{mode:So.TERMINAL,name:"TERMINAL",icon:(0,_.jsx)(is,{className:"panel-group__header__tab__icon--terminal"}),isVisible:!0},[So.SEARCH]:{mode:So.SEARCH,name:"SEARCH",icon:(0,_.jsx)(ts,{className:"panel-group__header__tab__icon--search"}),isVisible:!0},[So.TEST_RUNNER]:{mode:So.TEST_RUNNER,name:"TEST",icon:(0,_.jsx)(Tn,{className:"panel-group__header__tab__icon--test"}),isVisible:!0},[So.REFERENCES]:{mode:So.REFERENCES,name:"REFERENCES",icon:(0,_.jsx)(rn,{className:"panel-group__header__tab__icon--references"}),isVisible:!0},[So.CODE_FIX_SUGGESTION]:{mode:So.CODE_FIX_SUGGESTION,name:"SUGGESTIONS",icon:(0,_.jsx)(an,{className:"panel-group__header__tab__icon--suggestion"}),isVisible:Boolean(e.codeFixSuggestion)}},n=Object.values(So).filter(e=>M(t[e])&&t[e].isVisible),s=t=>e.activePanelMode===t&&n.includes(t);return(0,wt.useEffect)(()=>{n.includes(e.activePanelMode)||e.setActivePanelMode(So.TERMINAL)},[e,n,e.activePanelMode]),(0,_.jsxs)(FE,{className:"panel-group",children:[(0,_.jsxs)(DE,{children:[(0,_.jsx)("div",{className:"panel-group__header__tabs",children:n.map(e=>t[e]).filter(M).map(t=>{return(0,_.jsxs)("button",{tabIndex:-1,className:(0,bt.$)("panel-group__header__tab",{"panel-group__header__tab--active":e.activePanelMode===t.mode}),onClick:(n=t.mode,()=>e.setActivePanelMode(n)),children:[(0,_.jsx)("div",{className:"panel-group__header__tab__icon",children:t.icon}),(0,_.jsx)("div",{className:"panel-group__header__tab__title",children:t.name})]},t.mode);var n})}),(0,_.jsxs)("div",{className:"panel-group__header__actions",children:[(0,_.jsx)("button",{className:"panel-group__header__action",onClick:()=>e.panelGroupDisplayState.toggleMaximize(),tabIndex:-1,title:"Toggle Expand/Collapse",children:e.panelGroupDisplayState.isMaximized?(0,_.jsx)(hs,{}):(0,_.jsx)(gs,{})}),(0,_.jsx)("button",{className:"panel-group__header__action",onClick:()=>e.panelGroupDisplayState.toggle(),tabIndex:-1,title:"Close",children:(0,_.jsx)(fs,{})})]})]}),(0,_.jsxs)(HE,{children:[s(So.TERMINAL)&&(0,_.jsx)("div",{className:"panel-group__content__tab",children:(0,_.jsx)(wE,{})}),s(So.SEARCH)&&(0,_.jsx)("div",{className:"panel-group__content__tab",children:(0,_.jsx)(RE,{})}),s(So.TEST_RUNNER)&&(0,_.jsx)("div",{className:"panel-group__content__tab",children:(0,_.jsx)(qE,{})}),s(So.CODE_FIX_SUGGESTION)&&(0,_.jsx)("div",{className:"panel-group__content__tab",children:(0,_.jsx)(nb,{})}),s(So.REFERENCES)&&(0,_.jsx)("div",{className:"panel-group__content__tab",children:(0,_.jsx)(ob,{})})]})]})});var ab=n(80255);const cb=()=>(0,_.jsx)("div",{className:"icon color--package",children:(0,_.jsx)(Es,{})}),lb=()=>(0,_.jsx)("div",{className:"icon color--class",children:"C"}),db=()=>(0,_.jsx)("div",{className:"icon color--enumeration",children:"E"}),ub=()=>(0,_.jsx)("div",{className:"icon color--measure",children:"M"}),pb=()=>(0,_.jsx)("div",{className:"icon color--unit",children:"u"}),hb=()=>(0,_.jsx)("div",{className:"icon color--profile",children:"P"}),gb=()=>(0,_.jsx)("div",{className:"icon icon--function color--function",children:(0,_.jsx)(Kt,{})}),mb=()=>(0,_.jsx)("div",{className:"icon color--mapping",children:(0,_.jsx)(Xn,{})}),fb=()=>(0,_.jsx)("div",{className:"icon icon--unknown",children:(0,_.jsx)(En,{})}),_b=()=>(0,_.jsx)("div",{className:"icon icon--function color--native-function",children:(0,_.jsx)(Kt,{})}),Eb=()=>(0,_.jsx)("div",{className:"icon icon--property color--property",children:(0,_.jsx)(_s,{})}),bb=()=>(0,_.jsx)("div",{className:"icon color--diagram",children:(0,_.jsx)(ns,{})}),Tb=()=>(0,_.jsx)("div",{className:"icon icon--database",children:(0,_.jsx)(Ln,{})}),Cb=()=>(0,_.jsx)("div",{className:"icon color--association color--pure-association",children:"A"}),vb=e=>{switch(e){case fr.PACKAGE:return(0,_.jsx)(cb,{});case fr.PROFILE:return(0,_.jsx)(hb,{});case fr.CLASS:return(0,_.jsx)(lb,{});case fr.ASSOCIATION:return(0,_.jsx)(Cb,{});case fr.PROPERTY:case fr.QUALIFIED_PROPERTY:return(0,_.jsx)(Eb,{});case fr.ENUMERATION:return(0,_.jsx)(db,{});case fr.MEASURE:return(0,_.jsx)(ub,{});case fr.UNIT:return(0,_.jsx)(pb,{});case fr.FUNCTION:return(0,_.jsx)(gb,{});case fr.NATIVE_FUNCTION:return(0,_.jsx)(_b,{});case fr.DIAGRAM:return(0,_.jsx)(bb,{});case fr.DATABASE:return(0,_.jsx)(Tb,{});case fr.MAPPING:return(0,_.jsx)(mb,{});default:return(0,_.jsx)(fb,{})}},yb=/^\w[\w$]*$/,Sb=/^(?:(?:\w[\w$]*)::)*\w[\w$]*$/,Nb=(0,mt.PA)(e=>{const{node:t}=e,n=xE(),s=kt(),i=t.data.li_attr.pureName??t.data.li_attr.pureId,o=t.data.li_attr.pureType===fr.PACKAGE,[r,a]=(0,wt.useState)(o?ia(i):i),c=(0,wt.useRef)(null),l=Boolean(r.match(o?Sb:yb)),d=(o?ia(i):i)===r,u=l?void 0:"Invalid path",p=()=>n.conceptTreeState.setNodeForRenameConcept(void 0),h=e=>{e.preventDefault(),d||n.conceptTreeState.renameConcept(t,r).catch(s.alertUnhandledError).finally(()=>p())};return(0,_.jsx)(Et.A,{open:!0,onClose:p,classes:{container:"command-modal__container"},slotProps:{transition:{onEnter:()=>c.current?.focus()},paper:{classes:{root:"command-modal__inner-container"}}},children:(0,_.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,_.jsx)("div",{className:"modal__title",children:"Rename concept"}),(0,_.jsxs)("div",{className:"command-modal__content",children:[(0,_.jsx)("form",{className:"command-modal__content__form",onSubmit:h,children:(0,_.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,_.jsx)("input",{ref:c,className:"input input--dark",onChange:e=>a(e.target.value),value:r,spellCheck:!1}),u&&(0,_.jsx)("div",{className:"input-group__error-message",children:u})]})}),(0,_.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(u),onClick:h,children:"Rename"})]})]})})}),Ab=/^(?:(?:\w[\w$]*)::)*\w[\w$]*$/,Ib=(0,mt.PA)(e=>{const{node:t}=e,n=xE(),s=kt(),i=oa(t.data.li_attr.pureId)??"",[o,r]=(0,wt.useState)(i),a=(0,wt.useRef)(null),c=Boolean(o.match(Ab)),l=i===o,d=c?void 0:"Invalid path",u=()=>n.conceptTreeState.setNodeForMoveElement(void 0),p=e=>{e.preventDefault(),l||n.conceptTreeState.movePackageableElements([U(t.data.li_attr,Cr)],o).catch(s.alertUnhandledError).finally(()=>u())};return(0,_.jsx)(Et.A,{open:!0,onClose:u,classes:{container:"command-modal__container"},slotProps:{transition:{onEnter:()=>a.current?.focus()},paper:{classes:{root:"command-modal__inner-container"}}},children:(0,_.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,_.jsx)("div",{className:"modal__title",children:"Move element"}),(0,_.jsxs)("div",{className:"command-modal__content",children:[(0,_.jsx)("form",{className:"command-modal__content__form",onSubmit:p,children:(0,_.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,_.jsx)("input",{ref:a,className:"input input--dark",onChange:e=>r(e.target.value),value:o,spellCheck:!1}),d&&(0,_.jsx)("div",{className:"input-group__error-message",children:d})]})}),(0,_.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(d),onClick:p,children:"Move"})]})]})})}),xb=(0,mt.PA)((0,wt.forwardRef)(function(e,t){const{node:n,viewConceptSource:s}=e,i=n.data.li_attr,o=i.pureType,r=xE(),a=kt(),c=()=>{(0,Te.gP)(r.executeTests(n.data.li_attr.pureId)).catch(a.alertUnhandledError)};return(0,_.jsxs)(Ps,{ref:t,children:[i.pureType!==fr.PROPERTY&&i.pureType!==fr.QUALIFIED_PROPERTY&&(0,_.jsx)(Ls,{onClick:()=>{a.clipboardService.copyTextToClipboard(i.pureId).catch(a.alertUnhandledError)},children:"Copy Path"}),o===fr.PACKAGE&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(Ls,{onClick:c,children:"Run Tests"}),(0,_.jsx)(Ls,{onClick:()=>r.setPCTRunPath(n.data.li_attr.pureId),children:"Run PCTs"})]}),o===fr.FUNCTION&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(Ls,{onClick:()=>{a.navigationService.navigator.visitAddress(`${r.client.baseUrl}/execute?func=${i.pureId}&mode=${r.client.mode}`)},children:"Service (JSON)"}),(0,_.jsx)(Ls,{onClick:()=>{n.data.pct?r.setPCTRunPath(n.data.li_attr.pureId):c()},disabled:!n.data.test,children:"Run Test"})]}),(i instanceof Tr||i instanceof Cr)&&(0,_.jsx)(Ls,{onClick:()=>{(i instanceof Cr||i instanceof Tr)&&r.findUsagesFromCoordinate(new wr(i.file,Number.parseInt(i.line,10),Number.parseInt(i.column,10)))},children:"Find Usages"}),o!==fr.PACKAGE&&(0,_.jsx)(Ls,{onClick:()=>s(n),children:"View Source"}),(0,_.jsx)(Ms,{}),(0,_.jsx)(Ls,{onClick:()=>r.conceptTreeState.setNodeForRenameConcept(n),children:"Rename"}),i instanceof Cr&&(0,_.jsx)(Ls,{onClick:()=>r.conceptTreeState.setNodeForMoveElement(n),children:"Move"})]})}));var wb;!function(e){e.UNSUPPORTED="UNSUPPORTED",e.CLASS="CLASS"}(wb||(wb={}));const Ob=e=>{const{node:t,level:n,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}=e,[r,a]=(0,wt.useState)(!1),{onNodeOpen:c,onNodeExpand:l,onNodeCompress:d,viewConceptSource:u}=o,p=t.parent&&t.data.li_attr instanceof Tr&&t.data.li_attr.classPath!==t.parent.id,h=[fr.PACKAGE,fr.CLASS].includes(t.data.li_attr.pureType),g=t.data.li_attr.pureType===fr.QUALIFIED_PROPERTY?(0,_.jsxs)(_.Fragment,{children:[t.label,(0,_.jsx)("span",{className:"explorer__package-tree__node__label__tag",children:"(...)"})]}):p?(0,_.jsxs)(_.Fragment,{children:[t.label,(0,_.jsx)("span",{className:"explorer__package-tree__node__label__tag",children:ia(U(t.data.li_attr,Tr).classPath)})]}):t.label.includes("(")?(0,_.jsxs)(_.Fragment,{children:[t.label.substring(0,t.label.indexOf("(")),(0,_.jsx)("span",{className:"explorer__package-tree__node__label__tag",children:t.label.substring(t.label.indexOf("("))})]}):t.label,m=()=>{t.isLoading||(t.isOpen?d(t):l(t))},[,f]=(0,ab.i)(()=>({type:"Class"===t.data.li_attr.pureType?wb.CLASS:wb.UNSUPPORTED,item:t.data}),[t]),E=(0,wt.useRef)(null);return f(E),(0,_.jsx)(Rs,{content:(0,_.jsx)(xb,{node:t,viewConceptSource:u}),menuProps:{elevation:7},onOpen:()=>a(!0),onClose:()=>a(!1),children:(0,_.jsxs)("div",{id:t.id,className:(0,bt.$)("tree-view__node__container explorer__package-tree__node__container",{"explorer__package-tree__node__container--selected-from-context-menu":!t.isSelected&&r},{"explorer__package-tree__node__container--selected":t.isSelected}),onClick:e=>{e.stopPropagation(),e.preventDefault(),i?.(t)},ref:E,onDoubleClick:()=>{t.isLoading||(h&&m(),i?.(t),c(t))},style:{paddingLeft:n*(s??1)+"rem",display:"flex"},children:[(0,_.jsxs)("div",{className:"tree-view__node__icon explorer__package-tree__node__icon",children:[t.isLoading&&(0,_.jsx)("div",{className:"explorer__package-tree__node__icon__expand explorer__package-tree__node__icon__expand--is-loading",children:(0,_.jsx)(wn,{})}),!t.isLoading&&(0,_.jsx)("div",{className:"explorer__package-tree__node__icon__expand",onClick:m,children:h?t.isOpen?(0,_.jsx)(hs,{}):(0,_.jsx)(ms,{}):(0,_.jsx)("div",{})}),(0,_.jsx)("div",{className:(0,bt.$)("explorer__package-tree__node__icon__type",{"explorer__package-tree__node__icon__type--property-from-association":p}),children:vb(t.data.li_attr.pureType)})]}),(0,_.jsx)("button",{className:"tree-view__node__label explorer__package-tree__node__label",tabIndex:-1,children:g})]})})},kb=(0,mt.PA)(()=>{const e=xE(),t=kt(),n=e.conceptTreeState,s=e.conceptTreeState.getTreeData();return(0,_.jsxs)("div",{className:"explorer__content",onClick:()=>n.setSelectedNode(void 0),children:[(0,_.jsx)(ME,{components:{TreeNodeContainer:Ob},treeData:s,onNodeSelect:e=>n.setSelectedNode(e),getChildNodes:e=>e.isLoading||!e.childrenIds?[]:e.childrenIds.map(e=>s.nodes.get(e)).filter(M),innerProps:{onNodeOpen:e=>{(0,Te.gP)(n.openNode(e)).catch(t.alertUnhandledError)},onNodeExpand:e=>{(0,Te.gP)(n.expandNode(e)).catch(t.alertUnhandledError)},onNodeCompress:e=>{e.isOpen=!1,n.refreshTree()},viewConceptSource:n=>{const s=n.data.li_attr;(s instanceof Cr||s instanceof Tr)&&(0,Te.gP)(e.directoryTreeState.revealPath(s.file,{forceOpenExplorerPanel:!0,coordinate:new wr(s.file,Number.parseInt(s.line,10),Number.parseInt(s.column,10))})).catch(t.alertUnhandledError)}}}),n.nodeForRenameConcept&&(0,_.jsx)(Nb,{node:n.nodeForRenameConcept}),n.nodeForMoveElement&&(0,_.jsx)(Ib,{node:n.nodeForMoveElement})]})}),Rb=(0,mt.PA)(()=>{const e=xE(),t=kt(),n=e.conceptTreeState;return(0,_.jsxs)("div",{className:"panel explorer",children:[(0,_.jsx)("div",{className:"panel__header side-bar__header",children:(0,_.jsx)("div",{className:"panel__header__title",children:(0,_.jsx)("div",{className:"panel__header__title__content side-bar__header__title__content",children:"CONCEPTS"})})}),(0,_.jsx)("div",{className:"panel__content side-bar__content",children:(0,_.jsxs)("div",{className:"panel explorer",children:[(0,_.jsxs)("div",{className:"panel__header explorer__header",children:[(0,_.jsx)("div",{className:"panel__header__title"}),(0,_.jsxs)("div",{className:"panel__header__actions",children:[(0,_.jsx)("button",{className:"panel__header__action explorer__btn__refresh",onClick:()=>{(0,Te.gP)(n.refreshTreeData()).catch(t.alertUnhandledError)},title:"Refresh Tree",children:(0,_.jsx)(Xt,{})}),(0,_.jsx)("button",{className:"panel__header__action",onClick:()=>{n.getTreeData().nodes.forEach(e=>{e.isOpen=!1}),n.setSelectedNode(void 0),n.refreshTree()},title:"Collapse All",children:(0,_.jsx)(kn,{})})]})]}),(0,_.jsxs)("div",{className:"panel__content explorer__content__container",children:[(0,_.jsx)(Ft,{isLoading:n.loadInitialDataState.isInProgress}),n.loadInitialDataState.hasSucceeded&&(0,_.jsx)(kb,{}),!n.loadInitialDataState.hasSucceeded&&n.statusText&&(0,_.jsx)("div",{className:"explorer__content__container__message",children:n.statusText}),n.loadInitialDataState.hasFailed&&(0,_.jsx)($s,{children:"Failed to build concept tree. Make sure graph compiles"})]})]})})]})}),Pb=/^\w+(?:\.\w+)*$/,Lb=(0,mt.PA)(e=>{const{node:t}=e,n=xE(),s=kt(),[i,o]=(0,wt.useState)("untitled.pure"),r=(0,wt.useRef)(null),a=Boolean(i.match(Pb)),c=!t.childrenIds?.map(e=>n.directoryTreeState.getTreeData().nodes.get(e)).filter(e=>e?.data.text===i).length,l=a?c?void 0:"Already existed":"Invalid file name",d=()=>n.directoryTreeState.setNodeForCreateNewFile(void 0),u=e=>{e.preventDefault(),d(),(0,Te.gP)(n.createNewFile(`${t.data.li_attr.path}/${i}`)).catch(s.alertUnhandledError)};return(0,_.jsx)(Et.A,{open:!0,onClose:d,classes:{container:"command-modal__container"},slotProps:{transition:{onEnter:()=>r.current?.focus()},paper:{classes:{root:"command-modal__inner-container"}}},children:(0,_.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,_.jsx)("div",{className:"modal__title",children:"Create a new file"}),(0,_.jsxs)("div",{className:"command-modal__content",children:[(0,_.jsx)("form",{className:"command-modal__content__form",onSubmit:u,children:(0,_.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,_.jsx)("input",{ref:r,className:"input input--dark",onChange:e=>o(e.target.value),value:i,spellCheck:!1}),l&&(0,_.jsx)("div",{className:"input-group__error-message",children:l})]})}),(0,_.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(l),onClick:u,children:"Create"})]})]})})}),Mb=/^\w+$/,Fb=(0,mt.PA)(e=>{const{node:t}=e,n=xE(),s=kt(),[i,o]=(0,wt.useState)("untitled"),r=(0,wt.useRef)(null),a=Boolean(i.match(Mb)),c=!t.childrenIds?.map(e=>n.directoryTreeState.getTreeData().nodes.get(e)).filter(e=>e?.data.text===i).length,l=a?c?void 0:"Already existed":"Invalid directory name",d=()=>n.directoryTreeState.setNodeForCreateNewDirectory(void 0),u=e=>{e.preventDefault(),d(),(0,Te.gP)(n.createNewDirectory(`${t.data.li_attr.path}/${i}`)).catch(s.alertUnhandledError)};return(0,_.jsx)(Et.A,{open:!0,onClose:d,classes:{container:"command-modal__container"},slotProps:{transition:{onEnter:()=>r.current?.focus()},paper:{classes:{root:"command-modal__inner-container"}}},children:(0,_.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,_.jsx)("div",{className:"modal__title",children:"Create a new directory"}),(0,_.jsxs)("div",{className:"command-modal__content",children:[(0,_.jsx)("form",{className:"command-modal__content__form",onSubmit:u,children:(0,_.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,_.jsx)("input",{ref:r,className:"input input--dark",onChange:e=>o(e.target.value),value:i,spellCheck:!1}),l&&(0,_.jsx)("div",{className:"input-group__error-message",children:l})]})}),(0,_.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(l),onClick:u,children:"Create"})]})]})})}),Db=/^\/?(?:\w+\/)*\w+(?:\.\w+)*$/,Bb=(0,mt.PA)(e=>{const{node:t}=e,n=xE(),s=kt(),[i,o]=(0,wt.useState)(t.data.li_attr.path),r=(0,wt.useRef)(null),a=Boolean(i.match(Db)),c=t.data.li_attr.path===i,l=a?void 0:"Invalid path",d=()=>n.directoryTreeState.setNodeForRenameFile(void 0),u=e=>{e.preventDefault(),c||(d(),(0,Te.gP)(n.renameFile(t.data.li_attr.path,i)).catch(s.alertUnhandledError))};return(0,_.jsx)(Et.A,{open:!0,onClose:d,classes:{container:"command-modal__container"},slotProps:{transition:{onEnter:()=>r.current?.focus()},paper:{classes:{root:"command-modal__inner-container"}}},children:(0,_.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,_.jsx)("div",{className:"modal__title",children:"Rename file"}),(0,_.jsxs)("div",{className:"command-modal__content",children:[(0,_.jsx)("form",{className:"command-modal__content__form",onSubmit:u,children:(0,_.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,_.jsx)("input",{ref:r,className:"input input--dark",onChange:e=>o(e.target.value),value:i,spellCheck:!1}),l&&(0,_.jsx)("div",{className:"input-group__error-message",children:l})]})}),(0,_.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(l),onClick:u,children:"Rename"})]})]})})}),jb=(0,mt.PA)((0,wt.forwardRef)(function(e,t){const{node:n}=e,s=kt(),i=xE(),o=n.data.isFolderNode,r=Boolean(n.data.children);return(0,_.jsxs)(Ps,{ref:t,children:[(0,_.jsx)(Ls,{onClick:()=>{s.clipboardService.copyTextToClipboard(n.data.li_attr.path).catch(s.alertUnhandledError)},children:"Copy Path"}),!n.data.li_attr.RO&&(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)(Ms,{}),o&&(0,_.jsx)(Ls,{onClick:()=>i.directoryTreeState.setNodeForCreateNewFile(n),children:"New File"}),o&&(0,_.jsx)(Ls,{onClick:()=>i.directoryTreeState.setNodeForCreateNewDirectory(n),children:"New Directory"}),!o&&(0,_.jsx)(Ls,{onClick:()=>i.directoryTreeState.setNodeForRenameFile(n),children:"Rename"}),(0,_.jsx)(Ls,{disabled:Boolean(n.data instanceof Qr&&n.data.children),onClick:()=>{(0,Te.gP)(i.deleteDirectoryOrFile(n.data.li_attr.path,o,r)).catch(s.alertUnhandledError)},children:"Delete"})]})]})})),Hb=e=>{const{node:t,level:n,stepPaddingInRem:s,onNodeSelect:i,innerProps:o}=e,[r,a]=(0,wt.useState)(!1),{onNodeOpen:c,onNodeExpand:l,onNodeCompress:d}=o,u=t.data instanceof Qr&&t.data.isRepoNode&&"/platform"===t.data.li_attr.path,p=t.data.li_attr.RO,h=t.data.isFolderNode,g=t.data instanceof Qr&&!t.data.children,m=u||t.data.isRepoNode&&t.data.li_attr.path.startsWith("/platform_")?(0,_.jsx)(ds,{className:"explorer__icon--readonly"}):h?g?(0,_.jsx)(Gn,{className:(0,bt.$)("explorer__icon--folder",{"explorer__icon--readonly":p})}):t.isOpen?(0,_.jsx)(Vn,{className:(0,bt.$)("explorer__icon--folder",{"explorer__icon--readonly":p})}):(0,_.jsx)(Gn,{className:(0,bt.$)("explorer__icon--folder",{"explorer__icon--readonly":p})}):(0,_.jsx)(Un,{className:(0,bt.$)("explorer__icon--file",{"explorer__icon--readonly":p})}),f=()=>{g||t.isLoading||(t.isOpen?d(t):l(t))};return(0,_.jsx)(Rs,{content:(0,_.jsx)(jb,{node:t}),menuProps:{elevation:7},onOpen:()=>a(!0),onClose:()=>a(!1),children:(0,_.jsxs)("div",{id:t.id,className:(0,bt.$)("tree-view__node__container explorer__package-tree__node__container",{"explorer__package-tree__node__container--selected-from-context-menu":!t.isSelected&&r},{"explorer__package-tree__node__container--selected":t.isSelected}),onClick:e=>{e.stopPropagation(),e.preventDefault(),i?.(t)},onDoubleClick:()=>{t.isLoading||(h?f():c(t))},style:{paddingLeft:n*(s??1)+"rem",display:"flex"},children:[(0,_.jsxs)("div",{className:"tree-view__node__icon explorer__package-tree__node__icon",children:[t.isLoading&&(0,_.jsx)("div",{className:"explorer__package-tree__node__icon__expand explorer__package-tree__node__icon__expand--is-loading",children:(0,_.jsx)(wn,{})}),!t.isLoading&&(0,_.jsx)("div",{className:"explorer__package-tree__node__icon__expand",onClick:f,children:!h||g?(0,_.jsx)("div",{}):t.isOpen?(0,_.jsx)(hs,{}):(0,_.jsx)(ms,{})}),(0,_.jsx)("div",{className:"explorer__package-tree__node__icon__type",children:m})]}),(0,_.jsx)("button",{className:"tree-view__node__label explorer__package-tree__node__label",tabIndex:-1,children:u?"platform":t.label})]})})},Ub=(0,mt.PA)(()=>{const e=xE(),t=kt(),n=e.directoryTreeState,s=e.directoryTreeState.getTreeData();return(0,_.jsxs)("div",{className:"explorer__content",onClick:()=>n.setSelectedNode(void 0),children:[(0,_.jsx)(ME,{components:{TreeNodeContainer:Hb},treeData:s,onNodeSelect:e=>n.setSelectedNode(e),getChildNodes:e=>e.isLoading||!e.childrenIds?[]:e.childrenIds.map(e=>s.nodes.get(e)).filter(M),innerProps:{onNodeOpen:e=>{(0,Te.gP)(n.openNode(e)).catch(t.alertUnhandledError)},onNodeExpand:e=>{(0,Te.gP)(n.expandNode(e)).catch(t.alertUnhandledError)},onNodeCompress:e=>{e.isOpen=!1,n.refreshTree()}}}),n.nodeForCreateNewFile&&(0,_.jsx)(Lb,{node:n.nodeForCreateNewFile}),n.nodeForCreateNewDirectory&&(0,_.jsx)(Fb,{node:n.nodeForCreateNewDirectory}),n.nodeForRenameFile&&(0,_.jsx)(Bb,{node:n.nodeForRenameFile})]})}),Gb=(0,mt.PA)(()=>{const e=xE(),t=kt(),n=e.directoryTreeState;return(0,_.jsxs)("div",{className:"panel explorer",children:[(0,_.jsx)("div",{className:"panel__header side-bar__header",children:(0,_.jsx)("div",{className:"panel__header__title",children:(0,_.jsx)("div",{className:"panel__header__title__content side-bar__header__title__content",children:"FILES"})})}),(0,_.jsx)("div",{className:"panel__content side-bar__content",children:(0,_.jsxs)("div",{className:"panel explorer",children:[(0,_.jsxs)("div",{className:"panel__header explorer__header",children:[(0,_.jsx)("div",{className:"panel__header__title"}),(0,_.jsxs)("div",{className:"panel__header__actions",children:[(0,_.jsx)("button",{className:"panel__header__action explorer__btn__refresh",onClick:()=>{(0,Te.gP)(n.refreshTreeData()).catch(t.alertUnhandledError)},title:"Refresh Tree",children:(0,_.jsx)(Xt,{})}),(0,_.jsx)("button",{className:"panel__header__action",onClick:()=>{const s=e.tabManagerState.currentTab;s instanceof Kr&&(0,Te.gP)(n.revealPath(s.filePath)).catch(t.alertUnhandledError)},title:"Focus",children:(0,_.jsx)(Pn,{})}),(0,_.jsx)("button",{className:"panel__header__action",onClick:()=>{n.getTreeData().nodes.forEach(e=>{e.isOpen=!1}),n.setSelectedNode(void 0),n.refreshTree()},title:"Collapse All",children:(0,_.jsx)(kn,{})})]})]}),(0,_.jsxs)("div",{className:"panel__content explorer__content__container",children:[(0,_.jsx)(Ft,{isLoading:n.loadInitialDataState.isInProgress}),n.loadInitialDataState.hasSucceeded&&(0,_.jsx)(Ub,{}),n.loadInitialDataState.hasFailed&&(0,_.jsx)($s,{children:"Failed to build directory tree"})]})]})})]})}),Vb=(0,mt.PA)(()=>{const e=xE();return(0,_.jsx)("div",{className:"side-bar",children:(0,_.jsx)("div",{className:(0,bt.$)("side-bar__view","side-bar__view--active"),children:(()=>{switch(e.activeActivity){case yo.CONCEPT_EXPLORER:return(0,_.jsx)(Rb,{});case yo.FILE_EXPLORER:return(0,_.jsx)(Gb,{});default:return null}})()},e.activeActivity)})}),$b=e=>{const{className:t}=e;return(0,_.jsx)("div",{className:(0,bt.$)("logo",t),children:(0,_.jsxs)("svg",{stroke:"currentColor",fill:"currentColor",strokeWidth:"0",width:"1em",height:"1em",viewBox:"0 0 215 215",xmlns:"https://www.w3.org/2000/svg",children:[(0,_.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,_.jsx)("path",{d:"M141.9,86.5L141.9,68.1C141.9,66.5 140.7,65.2 139.1,65.2L66.5,65.2C64.9,65.2 63.7,66.5 63.7,68.1L63.7,86.5C63.7,88.1 64.9,89.4 66.5,89.4L139.1,89.4C140.7,89.4 141.9,88.1 141.9,86.5Z"})}),(0,_.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,_.jsx)("path",{d:"M118.4,116.9L118.4,98.5C118.4,96.9 117.5,95.6 116.4,95.6L65.7,95.6C64.6,95.6 63.7,96.9 63.7,98.5L63.7,116.9C63.7,118.5 64.6,119.8 65.7,119.8L116.5,119.8C117.6,119.8 118.4,118.6 118.4,116.9Z"})}),(0,_.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,_.jsx)("path",{d:"M141.9,147.3L141.9,129C141.9,127.4 140.7,126.1 139.1,126.1L66.5,126.1C64.9,126.1 63.7,127.4 63.7,129L63.7,147.4C63.7,149 64.9,150.3 66.5,150.3L139.1,150.3C140.7,150.3 141.9,149 141.9,147.3Z"})}),(0,_.jsx)("g",{transform:"matrix(1.0246,0,0,0.999998,1.03751,2.43115)",children:(0,_.jsx)("path",{d:"M205,170.7L152.7,139.1C150,137.4 147.7,138.7 147.7,141.9L147.7,157.9L55.8,157.9L55.8,59.4L67.2,59.4C70.4,59.4 71.7,57.2 70,54.4L38.4,2.1C36.7,-0.6 34.1,-0.6 32.4,2.1L0.7,54.4C-1,57.1 0.3,59.4 3.5,59.4L15.6,59.4L15.6,185.5C15.6,188.5 18,190.9 21,190.9L147.7,190.9L147.7,205.7C147.7,208.9 149.9,210.1 152.7,208.5L205,176.9C207.7,175.1 207.7,172.4 205,170.7Z"})})]})})},Wb=(0,mt.PA)(()=>{const e=xE(),t=t=>()=>e.setActiveActivity(t),n=[{mode:yo.CONCEPT_EXPLORER,title:"Concept Explorer",icon:(0,_.jsx)(zn,{})},{mode:yo.FILE_EXPLORER,title:"File Explorer",icon:(0,_.jsx)(Un,{})}].filter(e=>Boolean(e));return(0,_.jsxs)("div",{className:"activity-bar",children:[(0,_.jsx)("div",{className:"activity-bar__logo",children:(0,_.jsx)($b,{})}),(0,_.jsx)("div",{className:"activity-bar__items",children:n.map(n=>(0,_.jsx)("button",{className:(0,bt.$)("activity-bar__item",{"activity-bar__item--active":e.sideBarDisplayState.isOpen&&e.activeActivity===n.mode}),onClick:t(n.mode),tabIndex:-1,title:n.title,children:n.icon},n.mode))})]})}),Yb=(0,mt.PA)(e=>{const{fileEditorState:t}=e,n=t.textEditorState.cursorObserver,s=n?.selection?t.textEditorState.model.getValueInRange(n.selection).length:0;return(0,_.jsx)("div",{className:"file-editor__status-bar",children:n?.position&&(0,_.jsx)("button",{className:"editor__status-bar__action file-editor__status-bar__cursor-info",onClick:()=>t.setShowGoToLinePrompt(!0),tabIndex:-1,title:"Go to Line/Column",children:`Ln ${n.position.lineNumber}, Col ${n.position.column} ${s?` (${s} selected)`:""}`})})}),zb=(0,mt.PA)(()=>{const e=xE(),t=kt();return(0,_.jsxs)("div",{className:"editor__status-bar",children:[(0,_.jsx)("div",{className:"editor__status-bar__left",children:(0,_.jsx)("div",{className:"editor__status-bar__workspace"})}),(0,_.jsxs)("div",{className:"editor__status-bar__right",children:[e.tabManagerState.currentTab instanceof Kr&&(0,_.jsx)(Yb,{fileEditorState:e.tabManagerState.currentTab}),(0,_.jsx)("button",{className:(0,bt.$)("editor__status-bar__action editor__status-bar__compile-btn",{"editor__status-bar__compile-btn--wiggling":e.executionState.isInProgress}),disabled:e.initState.isInInitialState||e.executionState.isInProgress,onClick:()=>{(0,Te.gP)(e.executeGo()).catch(t.alertUnhandledError)},tabIndex:-1,title:"Execute (F9)",children:(0,_.jsx)($n,{})}),(0,_.jsx)("button",{className:(0,bt.$)("editor__status-bar__action editor__status-bar__action__toggler",{"editor__status-bar__action__toggler--active":Boolean(e.panelGroupDisplayState.isOpen)}),onClick:()=>e.panelGroupDisplayState.toggle(),tabIndex:-1,title:"Toggle panel",children:(0,_.jsx)(is,{})})]})]})}),Kb=e=>{(0,wt.useEffect)(()=>(e.registerCommands(),()=>e.deregisterCommands()),[e])},Xb=/[0-9]+(?::[0-9]+)?/,Jb=(0,mt.PA)(e=>{const{fileEditorState:t}=e,[n,s]=(0,wt.useState)(""),i=(0,wt.useRef)(null),o=Boolean(n.match(Xb)),r=t.textEditorState.editor?.getPosition(),[a,c]=(e=>{const t=e.split(":");return t.length<1||t.length>2?[1,void 0]:[P(()=>parseInt(y(t,0)))??1,P(()=>parseInt(y(t,-1)))]})(n),l=1<=a&&a<=t.textEditorState.model.getLineCount(),d=o?l?void 0:"Invalid line number":"Invalid value (format [line:column] - e.g. 123:45)",u=()=>t.setShowGoToLinePrompt(!1),p=e=>{e.preventDefault(),u(),t.textEditorState.setForcedCursorPosition({lineNumber:a,column:c??1})};return(0,_.jsx)(Et.A,{open:!0,onClose:u,classes:{container:"command-modal__container"},slotProps:{transition:{onEnter:()=>i.current?.focus()},paper:{classes:{root:"command-modal__inner-container"}}},children:(0,_.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,_.jsx)("div",{className:"modal__title",children:"Go to..."}),(0,_.jsxs)("div",{className:"command-modal__content",children:[(0,_.jsx)("form",{className:"command-modal__content__form",onSubmit:p,children:(0,_.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,_.jsx)("input",{ref:i,className:"input input--dark",onChange:e=>s(e.target.value),placeholder:r?`Current Line: ${r.lineNumber}, Col: ${r.column}. Type a line between 1 and ${t.textEditorState.model.getLineCount()} to navigate to`:void 0,value:n,spellCheck:!1}),""!==n&&d&&(0,_.jsx)("div",{className:"input-group__error-message",children:d})]})}),(0,_.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:""===n||Boolean(d),onClick:p,children:"Go"})]})]})})}),qb=(0,mt.PA)(e=>{const{editorState:t}=e,n=xE(),s=kt(),i=(0,wt.useRef)(null),[o,r]=(0,wt.useState)();return(0,wt.useEffect)(()=>{if(!o&&i.current){const e=i.current,n=Ao.editor.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,theme:Do.DEFAULT_DARK,wordWrap:t.textEditorState.wrapText?"on":"off",readOnly:t.file.RO});n.onDidChangeModelContent(()=>{const e=n.getValue();e!==t.file.content&&t.clearError(),t.file.setContent(e)}),n.onDidChangeCursorPosition(()=>{t.textEditorState.notifyCursorObserver()}),n.onDidChangeCursorSelection(()=>{t.textEditorState.notifyCursorObserver()}),n.setModel(t.textEditorState.model),t.textEditorState.viewState&&n.restoreViewState(t.textEditorState.viewState),n.focus(),t.textEditorState.setEditor(n),r(n)}},[n,s,t,o]),Kb(t),(0,wt.useEffect)(()=>{o&&t.textEditorState.forcedCursorPosition&&(Ko(o,t.textEditorState.forcedCursorPosition),t.textEditorState.setForcedCursorPosition(void 0))},[o,t,t.textEditorState.forcedCursorPosition]),(0,wt.useEffect)(()=>()=>{o&&(t.textEditorState.setViewState(o.saveViewState()??void 0),o.dispose())},[t,o]),(0,_.jsxs)("div",{className:"panel editor-group file-editor",children:[(0,_.jsx)("div",{className:"panel__header file-editor__header",children:(0,_.jsxs)("div",{className:"file-editor__header__actions",children:[(0,_.jsx)("button",{className:(0,bt.$)("file-editor__header__action",{"file-editor__header__action--active":t.textEditorState.wrapText}),tabIndex:-1,onClick:()=>t.textEditorState.setWrapText(!t.textEditorState.wrapText),title:"Toggle Text Wrap",children:(0,_.jsx)(Qt,{className:"file-editor__icon--text-wrap"})}),t.showGoToLinePrompt&&(0,_.jsx)(Jb,{fileEditorState:t})]})}),(0,_.jsx)("div",{className:"panel__content file-editor__content",children:(0,_.jsx)("div",{className:"code-editor__container",children:(0,_.jsx)("div",{className:"code-editor__body",ref:i})})})]})}),Zb=(e,t,n=!1)=>{if(n)return t.map(e=>`${e}.pure`).includes(e);const s=y(e.split("."),0);return t.includes(s)};class Qb{pureType;pureId;pureName;text;requiredClassProperties=[]}(0,pe.PL)(Qb,{pureType:(0,pe.MY)(),pureId:(0,pe.MY)(),pureName:(0,pe.MY)(),text:(0,pe.MY)(),requiredClassProperties:(0,pe.lq)((0,pe.p_)((0,pe.MY)()))});class eT{pureType;pureName;owner;ownerPureType}(0,pe.PL)(eT,{pureType:(0,pe.MY)(),pureName:(0,pe.MY)(),owner:(0,pe.MY)(),ownerPureType:(0,pe.MY)()});class tT{pureId;pureName;requiredClassProperties=[]}(0,pe.PL)(tT,{pureId:(0,pe.MY)(),pureName:(0,pe.MY)(),requiredClassProperties:(0,pe.lq)((0,pe.p_)((0,pe.MY)()))});class nT{name}(0,pe.PL)(nT,{name:(0,pe.MY)()});const sT="Diagram",iT="Diagram",oT=(e,t)=>{const n=[],s=t.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}).trimStart();return["","/"].includes(s)&&n.push({label:{label:"/copyright",description:"(copyright header)"},kind:Ao.languages.CompletionItemKind.Snippet,insertTextRules:Ao.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:`// Copyright \${1:${(new Date).getFullYear()}} Goldman Sachs\n//\n// Licensed under the Apache License, Version 2.0 (the "License");\n// you may not use this file except in compliance with the License.\n// You may obtain a copy of the License at\n//\n// http://www.apache.org/licenses/LICENSE-2.0\n//\n// Unless required by applicable law or agreed to in writing, software\n// distributed under the License is distributed on an "AS IS" BASIS,\n// WITHOUT WARRANTIES OR CONDITIONS OF ANY KIND, either express or implied.\n// See the License for the specific language governing permissions and\n// limitations under the License.\n`,range:{startLineNumber:1,startColumn:1,endLineNumber:1,endColumn:1e3}}),n},rT=e=>({label:{label:e.pureName,description:e.pureId},kind:Ao.languages.CompletionItemKind.Class,filterText:e.pureName,insertTextRules:Ao.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:`${e.pureName}(${e.requiredClassProperties.map((e,t)=>`${e}=\${${t+1}:}`).join(",")})`}),aT=(e,t)=>{const n=e.pureType,s=n===fr.FUNCTION||n===fr.NATIVE_FUNCTION?((e,t,n)=>{const s=ia(t),i=P(()=>s.substring(s.indexOf("_"),s.length-1)),o=i?.split("__")??[];return o.pop(),n&&o.shift(),`${e}(${o.map((e,t)=>`\${${t+1}:}`).join(",")})`})(e.pureName,e.pureId,Boolean(t?.preferArrowFunctionForm)):e.pureName,i=n===fr.PACKAGE?Ao.languages.CompletionItemKind.Folder:n===fr.CLASS?Ao.languages.CompletionItemKind.Class:n===fr.FUNCTION?Ao.languages.CompletionItemKind.Function:n===fr.ENUMERATION?Ao.languages.CompletionItemKind.Enum:n===fr.PROFILE?Ao.languages.CompletionItemKind.Module:n===fr.ASSOCIATION?Ao.languages.CompletionItemKind.Interface:Ao.languages.CompletionItemKind.Value;return{label:{label:e.pureName,description:e.text},kind:i,filterText:e.pureName,insertTextRules:Ao.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:s,sortText:n===fr.PACKAGE?`zzzz_${e.text}`:e.text}},cT=/(?<incompletePath>(?:\w[\w$]*::)+$)/,lT=/->\s*(?:\w[\w$]*::)+$/,dT=/\^\s*(?:\w[\w$]*::)+$/,uT=/^\s*import\s+(?:(?<importPath>(?:(?:\w[\w$]*)::)*\w[\w$]*)::*)/,pT=(e,t)=>{const n=t.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),s=`${Zo}${kd.PURE}\n${n}`.split("\n");return s.slice(s.map(e=>e.startsWith(Zo)).lastIndexOf(!0)).map(e=>e.match(uT)?.groups?.importPath).filter(M)},hT=/^(?<owner>(?:(?:\w[\w$]*)::)*\w[\w$]*)\s*.$/,gT=(e,t)=>({label:e.name,kind:Ao.languages.CompletionItemKind.Variable,insertTextRules:Ao.languages.CompletionItemInsertTextRule.InsertAsSnippet,sortText:t?e.name:`zzzz_${e.name}`,insertText:e.name}),mT=/^\w[\w$]*$/,fT=(0,mt.PA)(e=>{const{renameConceptState:t}=e,n=kt(),s=t.fileEditorState,i=t.concept.pureName,[o,r]=(0,wt.useState)(i),a=(0,wt.useRef)(null),c=Boolean(o.match(mT)),l=i===o,d=c?void 0:"Invalid concept name",u=()=>{(0,Te.gP)(s.setConceptToRenameState(void 0)).catch(n.alertUnhandledError)},p=e=>{e.preventDefault(),l||s.renameConcept(o).catch(n.alertUnhandledError).finally(()=>u())};return(0,_.jsx)(Et.A,{open:!0,onClose:u,classes:{container:"command-modal__container"},slotProps:{transition:{onEnter:()=>a.current?.focus()},paper:{classes:{root:"command-modal__inner-container"}}},children:(0,_.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,_.jsx)("div",{className:"modal__title",children:"Rename concept"}),(0,_.jsxs)("div",{className:"command-modal__content",children:[(0,_.jsx)("form",{className:"command-modal__content__form",onSubmit:p,children:(0,_.jsxs)("div",{className:"input-group command-modal__content__input",children:[(0,_.jsx)("input",{ref:a,className:"input input--dark",onChange:e=>r(e.target.value),value:o,spellCheck:!1}),d&&(0,_.jsx)("div",{className:"input-group__error-message",children:d})]})}),(0,_.jsx)("button",{className:"command-modal__content__submit-btn btn--dark",disabled:Boolean(d),onClick:p,children:"Rename"})]})]})})}),_T=(0,mt.PA)(e=>{const{editorState:t}=e,n=(0,wt.useRef)(void 0),s=(0,wt.useRef)(void 0),i=(0,wt.useRef)(void 0),o=(0,wt.useRef)(void 0),r=(0,wt.useRef)(null),[a,c]=(0,wt.useState)(),[l,d]=(0,wt.useState)(!1),u=xE(),p=kt();return(0,wt.useEffect)(()=>{if(!a&&r.current){const e=r.current,n=Ao.editor.create(e,{contextmenu:!1,copyWithSyntaxHighlighting:!1,fontSize:14,fontFamily:"Roboto Mono",fontLigatures:!0,fixedOverflowWidgets:!0,detectIndentation:!1,tabSize:2,"bracketPairColorization.enabled":!1,automaticLayout:!0,language:Jo.PURE,theme:Do.DEFAULT_DARK,wordSeparators:"`~!@#%^&*()-=+[{]}\\|;:'\",.<>/?",wordWrap:t.textEditorState.wrapText?"on":"off",readOnly:t.file.RO,contextmenu:!0});n._codeEditorService.openCodeEditor=async()=>{const e=n.getPosition();e&&(0,Te.gP)(u.executeNavigation(new wr(t.filePath,e.lineNumber,e.column))).catch(p.alertUnhandledError)},n.updateOptions({gotoLocation:{multiple:"goto",multipleDefinitions:"goto",alternativeDefinitionCommand:"DUMMY"}}),n.onContextMenu(()=>d(!0)),n.addAction({id:Vr.FIND_USAGES,label:"Find Usages",contextMenuGroupId:"navigation",contextMenuOrder:1e3,run:function(e){const n=e.getPosition();if(n){const e=new wr(t.filePath,n.lineNumber,n.column);t.findConceptUsages(e)}}}),n.addAction({id:Vr.REVEAL_CONCEPT_IN_TREE,label:"Reveal Concept",contextMenuGroupId:"navigation",contextMenuOrder:1e3,run:function(e){const n=e.getPosition();n&&u.revealConceptInTree(new wr(t.filePath,n.lineNumber,n.column)).catch(p.alertUnhandledError)}}),n.addAction({id:Vr.RENAME_CONCEPT,label:"Rename",contextMenuGroupId:"1_modification",contextMenuOrder:1e3,run:function(e){const n=e.getPosition();if(n){if(!t.textEditorState.model.getWordAtPosition(n))return;const e=new wr(t.filePath,n.lineNumber,n.column);(0,Te.gP)(t.setConceptToRenameState(e)).catch(u.applicationStore.alertUnhandledError)}}}),n.addAction({id:Vr.RENAME_CONCEPT,label:"Run Test",contextMenuGroupId:"navigation",contextMenuOrder:1e3,run:function(e){const n=e.getPosition();if(n){const e=new wr(t.filePath,n.lineNumber,n.column);(0,Te.gP)(t.runTest(e)).catch(u.applicationStore.alertUnhandledError)}}}),n.onDidChangeModelContent(()=>{const e=n.getValue();e!==t.file.content&&t.clearError(),t.file.setContent(e)}),n.onDidChangeCursorPosition(()=>{t.textEditorState.notifyCursorObserver()}),n.onDidChangeCursorSelection(()=>{t.textEditorState.notifyCursorObserver()}),n.setModel(t.textEditorState.model),t.textEditorState.viewState&&n.restoreViewState(t.textEditorState.viewState),n.focus(),t.textEditorState.setEditor(n),c(n)}},[u,p,t,a]),a&&(n.current?.dispose(),n.current=Ao.languages.registerDefinitionProvider(Jo.PURE,{provideDefinition:(e,n)=>{const s=e.getLineContent(n.lineNumber),i=Ao.editor.tokenize(s,Jo.PURE)[0];if(!i)return[];let o,r;for(let e=1;e<=i.length;++e){const t=e===i.length?s.length:D(i[e]).offset;if(t+1>n.column){o=D(i[e-1]),r={startLineNumber:n.lineNumber,startColumn:o.offset+1,endLineNumber:n.lineNumber,endColumn:t+1};break}}return o&&r&&Zb(o.type,[No.TYPE,No.VARIABLE,No.PROPERTY,No.PARAMETER,No.IDENTIFIER])?[{uri:t.textEditorState.model.uri,range:r}]:[]}}),s.current?.dispose(),s.current=Ao.languages.registerHoverProvider(Jo.PURE,{provideHover:async(e,n)=>{const s=e.getLineContent(n.lineNumber),i=Ao.editor.tokenize(s,Jo.PURE)[0];if(!i)return{contents:[]};let o,r;for(let e=1;e<=i.length;++e){const t=e===i.length?s.length:D(i[e]).offset;if(t+1>n.column){o=D(i[e-1]),r={startLineNumber:n.lineNumber,startColumn:o.offset+1,endLineNumber:n.lineNumber,endColumn:t+1};break}}if(o&&r&&Zb(o.type,[No.TYPE,No.PROPERTY,No.PARAMETER,No.IDENTIFIER])){const e=await u.getConceptInfo(new wr(t.filePath,n.lineNumber,n.column),{silent:!0});if(e)return{contents:[e.doc?{value:e.doc}:void 0,e.grammarChars?{value:`**Syntax:** \`${e.grammarChars}\``}:void 0,e.grammarDoc?{value:`**Usage:** ${e.grammarDoc}`}:void 0,e.signature?{value:`**Signature:** \`\`\`${e.signature}\`\`\``}:void 0].filter(M),range:r}}return{contents:[]}}}),i.current?.dispose(),i.current=Ao.languages.registerCompletionItemProvider(Jo.PURE,{triggerCharacters:["/","#",":",">",".","@","^","$"],provideCompletionItems:async(e,n,s)=>{let i=[];if(s.triggerKind===Ao.languages.CompletionTriggerKind.TriggerCharacter)switch(s.triggerCharacter){case"/":i=i.concat(oT(n,e));break;case"#":i=i.concat(((e,t,n)=>{const s=[],i=t.getWordUntilPosition(e),o={startLineNumber:e.lineNumber,startColumn:1,endLineNumber:e.lineNumber,endColumn:i.endColumn};var r;return r=t.getValueInRange(o).trim(),Boolean(r.match(/\s/))||n.forEach(e=>{s.push({label:{label:`${Zo}${e.text}`,description:e.description},kind:Ao.languages.CompletionItemKind.Keyword,insertText:`${Zo}${e.insertText}\n`,range:o,documentation:e.documentation?e.documentation.markdownText?{value:e.documentation.markdownText.value}:e.documentation.text:void 0})}),s})(n,e,[{text:kd.PURE,description:"(core Pure)",insertText:kd.PURE},{text:kd.MAPPING,description:"(dsl)",insertText:kd.MAPPING},{text:kd.CONNECTION,description:"(dsl)",insertText:kd.CONNECTION},{text:kd.RUNTIME,description:"(dsl)",insertText:kd.RUNTIME},{text:kd.RELATIONAL,description:"(external store)",insertText:kd.RELATIONAL},{text:sT,description:"(dsl)",insertText:iT}]));break;case":":i=i.concat(await(async(e,t,n)=>{const s=t.getLineContent(e.lineNumber).substring(0,e.column-1).match(cT);if(s?.groups?.incompletePath){const i=Boolean(t.getLineContent(e.lineNumber).substring(0,e.column-1).match(lT)),o=Boolean(t.getLineContent(e.lineNumber).substring(0,e.column-1).match(dT));let r=[];try{r=(await n.client.getSuggestionsForIncompletePath(s.groups.incompletePath.substring(0,s.groups.incompletePath.length-2),o?[fr.CLASS]:i?[fr.FUNCTION,fr.NATIVE_FUNCTION]:[])).map(e=>(0,pe.iu)(Qb,e))}catch{}return r.map(e=>o?rT(e):aT(e,{preferArrowFunctionForm:i}))}return[]})(n,e,u));break;case">":i=i.concat(await(async(e,t,n)=>{const s=pT(e,t);let i=[];try{i=(await n.client.getSuggestionsForIdentifier(s,[fr.FUNCTION,fr.NATIVE_FUNCTION])).map(e=>(0,pe.iu)(Qb,e))}catch{}return i.map(e=>aT(e,{preferArrowFunctionForm:!0}))})(n,e,u));break;case".":i=i.concat(await(async(e,t,n)=>{const s=t.getLineContent(e.lineNumber).substring(0,e.column-1).match(hT),i=pT(e,t);if(s?.groups?.owner){let e=[];try{e=(await n.client.getSuggestionsForAttribute(i,s.groups.owner)).map(e=>(0,pe.iu)(eT,e))}catch{}return e.map(e=>(e=>{const t=e.pureType,n=t===fr.PROPERTY||t===fr.QUALIFIED_PROPERTY?`${e.pureName}(\${1:})`:e.pureName,s=t===fr.PROPERTY?Ao.languages.CompletionItemKind.Property:t===fr.QUALIFIED_PROPERTY?Ao.languages.CompletionItemKind.Method:t===fr.TAG?Ao.languages.CompletionItemKind.Constant:t===fr.STEREOTYPE?Ao.languages.CompletionItemKind.Value:t===fr.ENUM_VALUE?Ao.languages.CompletionItemKind.Enum:Ao.languages.CompletionItemKind.Value;return{label:{label:e.pureName,description:`${e.owner}.${e.pureName}`},kind:s,filterText:e.pureName,insertTextRules:Ao.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:n}})(e))}return[]})(n,e,u));break;case"^":i=i.concat(await(async(e,t,n)=>{const s=pT(e,t);let i=[];try{i=(await n.client.getSuggestionsForClass(s)).map(e=>(0,pe.iu)(tT,e))}catch{}return i.map(e=>rT(e))})(n,e,u));break;case"@":i=i.concat(await(async(e,t,n)=>{const s=pT(e,t);let i=[];try{i=(await n.client.getSuggestionsForClass(s)).map(e=>(0,pe.iu)(tT,e))}catch{}return i.map(e=>(e=>({label:{label:e.pureName,description:e.pureId},kind:Ao.languages.CompletionItemKind.Class,filterText:e.pureName,insertTextRules:Ao.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:e.pureName}))(e))})(n,e,u));break;case"$":i=i.concat(await(async(e,t,n,s)=>{let i=[];try{i=(await s.client.getSuggestionsForVariable(n,e.lineNumber,e.column)).map(e=>(0,pe.iu)(nT,e))}catch{}const o=new Set;let r=!1;for(let n=e.lineNumber-1;n>Math.max(0,e.lineNumber-1-10)&&!r;--n){const s=t.getLineContent(n+1);(s.match(/^\s*function\s+/)||s.match(/^\s*###\w+/))&&(r=!0);const i=D(Ao.editor.tokenize(t.getLineContent(n+1),Jo.PURE)[0]);i.forEach((s,r)=>{(n!==e.lineNumber-1||s.offset<e.column)&&Zb(s.type,[No.VARIABLE,No.PARAMETER],!0)&&o.add(t.getValueInRange({startLineNumber:n+1,startColumn:s.offset+1,endLineNumber:n+1,endColumn:r===i.length-1?Number.MAX_SAFE_INTEGER:D(i[r+1]).offset+1}))})}const a=i.map(e=>e.name);return i.map(e=>gT(e,!0)).concat(Array.from(o).filter(e=>!a.includes(e)).map(e=>{const t=new nT;return t.name=e,t}).map(e=>gT(e,!1)))})(n,e,t.filePath,u))}return{suggestions:i}}}),o.current?.dispose(),o.current=Ao.languages.registerCompletionItemProvider(Jo.PURE,{triggerCharacters:[],provideCompletionItems:async(e,t,n)=>{let s=[];return n.triggerKind===Ao.languages.CompletionTriggerKind.Invoke&&(s=s.concat(oT(t,e)),s=s.concat(((e,t,n)=>{const s=[],i=t.getWordUntilPosition(e),o=t.getValueInRange({startLineNumber:1,startColumn:1,endLineNumber:e.lineNumber,endColumn:e.column}),r=`${Zo}${kd.PURE}\n${o}`.split("\n").filter(e=>e.startsWith(Zo)),a=(e=>{if(e.startsWith(Zo))return e.substring(3).split(" ")[0]})(r[r.length-1]??"");return a&&n(a).forEach(t=>{s.push({label:{label:t.text,description:t.description},kind:Ao.languages.CompletionItemKind.Snippet,insertTextRules:Ao.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:`${t.insertText}\n`,range:{startLineNumber:e.lineNumber,startColumn:i.startColumn,endLineNumber:e.lineNumber,endColumn:i.endColumn},documentation:t.documentation?t.documentation.markdownText?{value:t.documentation.markdownText.value}:t.documentation.text:void 0})}),s})(t,e,e=>(e=>{switch(e){case kd.PURE:return[{text:wd.CLASS,description:"(blank)",insertText:"Class ${1:model::NewClass}\n// example of a constraint\n// [\n// SomeConstraint: true\n// ]\n{\n ${2:// example of a standard property\n // prop1: String[1];\n\n // example of a derived property\n // derivation1() {''\\}: String[1];}\n}"},{text:wd.CLASS,description:"with property",insertText:"Class ${1:model::NewClass}\n{\n ${2:prop1}: ${3:String[1]};\n}"},{text:wd.CLASS,description:"with inheritance",insertText:"Class ${1:model::NewClass} extends ${2:model::ParentClass}\n{\n ${3:// class content}\n}"},{text:wd.CLASS,description:"with constraint",insertText:"Class ${1:model::NewClass}\n[\n ${3:SomeConstraint: true}\n]\n{\n ${2:// class content}\n}"},{text:wd.PROFILE,insertText:"Profile ${1:model::NewProfile}\n{\n stereotypes: [${2:}];\n tags: [${3:}];\n}"},{text:wd.ENUMERATION,insertText:"Enum ${1:model::NewEnumeration}\n{\n ${2:VALUE_1,\n VALUE_2}\n}"},{text:wd.ASSOCIATION,insertText:"Association ${1:model::NewAssociation}\n{\n ${2:prop1}: ${3:model::Type1[1]};\n ${4:prop2}: ${5:model::Type2[1]};\n}"},{text:wd.FUNCTION,description:"(blank)",insertText:"function ${1:model::NewEnumeration}(${2:param1: String[1]}): ${3:String[1]}\n{\n ${4:''; // function content}\n}"},{text:wd.FUNCTION,insertText:"function ${1:model::NewEnumeration}(): String[1]\n{\n ''\n}"}];case kd.MAPPING:return[{text:wd.MAPPING,description:"(blank)",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:// mapping content}\n)"},{text:wd.MAPPING,description:"with model-to-model mapping",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:model::TargetClass}: Pure\n {\n ~src ${3:model::SourceClass}\n // example of property mappings\n // prop1: $src.prop1\n }\n)"},{text:wd.MAPPING,description:"with relational mapping",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:model::TargetClass}: Relational {\n ~mainTable ${3:[model::SomeDatabase]SomeTable}\n // example of property mappings\n // prop1: [model::SomeDatabase]SomeTable.col1,\n }\n)"},{text:wd.MAPPING,description:"with enumeration mapping",insertText:"Mapping ${1:model::NewMapping}\n(\n ${2:model::TargetEnumeration}: EnumerationMapping ${3:EnumerationMappingID}\n {\n // example of enum-value mapping\n // VAL_1: ['val1'],\n // VAL_2: ['val2', 'val_2']\n }\n)"}];case kd.RELATIONAL:return[{text:wd.DATABASE,description:"(blank)",insertText:"Database ${1:model::NewDatabase}\n(\n // example database schema\n // Schema SOME_SCHEMA\n // (\n // Table TABLE_1\n // (\n // COL_1 VARCHAR(200)\n // )\n // Table TABLE_2\n // (\n // COL_2 VARCHAR(200) PRIMARY_KEY\n // )\n // )\n\n // example database join\n // Join SomeJoin(SOME_SCHEMA.TABLE_1.COL_1 = SCHEMA1.TABLE_2.COL_2)\n\n ${2:// database content}\n)"}];case sT:return[{text:iT,description:"(blank)",insertText:"Diagram ${1:model::NewDiagram}(width=0.0, height=0.0)\n{\n // NOTE: it is recommended to use diagram visual editor\n // to edit diagram: double-click on the diagram in\n // the concept explorer tree to open the editor\n}"}];default:return[]}})(e))),s=s.concat(((e,t,n=[])=>{const s=t.getWordUntilPosition(e);return[{text:"let",description:"new variable",insertText:"let ${1:} = ${2:};"},{text:"let",description:"new collection",insertText:"let ${1:} = [${2:}];"},{text:"cast",description:"type casting",insertText:"cast(@${1:model::SomeClass})"},{text:"if",description:"(conditional)",insertText:"if(${1:'true'}, | ${2:/* if true do this */}, | ${3:/* if false do this */})"},{text:"case",description:"(conditional)",insertText:"case(${1:}, ${2:'true'}, ${3:'false'})"},{text:"match",description:"(conditional)",insertText:"match([x:${1:String[1]}, ${2:''}])"},{text:"map",description:"(collection)",insertText:"map(x|${1:})"},{text:"filter",description:"(collection)",insertText:"filter(x|${1:})"},{text:"fold",description:"(collection)",insertText:"fold({a, b| ${1:$a + $b}}, ${2:0})"},{text:"filter",description:"(collection)",insertText:"filter(x|${1:})"},{text:"sort",description:"(collection)",insertText:"sort()"},{text:"in",description:"(collection)",insertText:"in()"},{text:"slice",description:"(collection)",insertText:"slice(${1:1},${2:2})"},{text:"removeDuplicates",description:"(collection)",insertText:"removeDuplicates()"},{text:"toOne",description:"(collection)",insertText:"toOne(${1:})"},{text:"toOneMany",description:"(collection)",insertText:"toOneMany(${1:})"},{text:"isEmpty",description:"(collection)",insertText:"isEmpty()"},{text:"endsWith",description:"(string)",insertText:"endsWith()"},{text:"startsWith",description:"(string)",insertText:"startsWith()"},...n].map(t=>({label:{label:t.text,description:t.description},kind:Ao.languages.CompletionItemKind.Snippet,insertTextRules:Ao.languages.CompletionItemInsertTextRule.InsertAsSnippet,insertText:t.insertText,range:{startLineNumber:e.lineNumber,startColumn:s.startColumn,endLineNumber:e.lineNumber,endColumn:s.endColumn},documentation:t.documentation?t.documentation.markdownText?{value:t.documentation.markdownText.value}:t.documentation.text:void 0}))})(t,e,[{text:"print",description:"(io)",insertText:"print(${1:})"},{text:"println",description:"(io)",insertText:"println(${1:})"},{text:"NULL",description:"(nullish value)",insertText:"[]"}]))),{suggestions:s}}})),Kb(t),(0,wt.useEffect)(()=>{if(l){const e=a?.getDomNode()?.querySelector(".shadow-root-host")?.shadowRoot;if(e){const t=document.createElement("style");t.innerHTML="\n .monaco-scrollable-element {\n background: var(--color-dark-grey-100) !important;\n color: var(--color-light-grey-400);\n border-radius: 0.2rem !important;\n }\n\n .monaco-action-bar.vertical {\n padding: 0.5rem 0;\n }\n\n .action-label.separator {\n border-bottom: 1px solid var(--color-dark-grey-300) !important;\n border-bottom-color: var(--color-dark-grey-300) !important;\n }\n\n .action-item.focused:hover > a,\n .action-item.focused > a {\n background: var(--color-light-blue-450) !important;\n }\n ",e.appendChild(t);const n=["Peek"];Array.from(e.querySelectorAll(".action-label")).filter(e=>n.includes(e.innerHTML)).forEach(e=>{const t=e.parentElement?.parentElement;t&&(t.classList.add("disabled"),t.style.opacity="0.3",t.style.pointerEvents="none")}),d(!1)}}},[a,l]),(0,wt.useEffect)(()=>{a&&t.textEditorState.forcedCursorPosition&&(Ko(a,t.textEditorState.forcedCursorPosition),t.textEditorState.setForcedCursorPosition(void 0))},[a,t,t.textEditorState.forcedCursorPosition]),(0,wt.useEffect)(()=>()=>{a&&(t.textEditorState.setViewState(a.saveViewState()??void 0),a.dispose(),n.current?.dispose(),s.current?.dispose(),i.current?.dispose(),o.current?.dispose())},[t,a]),(0,_.jsxs)("div",{className:"panel editor-group file-editor",children:[(0,_.jsx)("div",{className:"panel__header file-editor__header",children:(0,_.jsxs)("div",{className:"file-editor__header__actions",children:[(0,_.jsx)("button",{className:(0,bt.$)("file-editor__header__action",{"file-editor__header__action--active":t.textEditorState.wrapText}),tabIndex:-1,onClick:()=>t.textEditorState.setWrapText(!t.textEditorState.wrapText),title:"Toggle Text Wrap",children:(0,_.jsx)(Qt,{className:"file-editor__icon--text-wrap"})}),t.renameConceptState&&(0,_.jsx)(fT,{renameConceptState:t.renameConceptState}),t.showGoToLinePrompt&&(0,_.jsx)(Jb,{fileEditorState:t})]})}),(0,_.jsx)("div",{className:"panel__content file-editor__content",children:(0,_.jsx)("div",{className:"code-editor__container",children:(0,_.jsx)("div",{className:"code-editor__body",ref:r})})})]})});var ET=n(47522);const bT=e=>{const{open:t,className:n,children:s,menuProps:i,content:o,title:r,disabled:a,onClose:c,onOpen:l,useCapture:d}=e,u=(0,wt.useRef)(null),[p,h]=(0,wt.useState)(null),g=e=>{e.stopPropagation(),e.preventDefault(),a||u.current&&(l?.(),h(u.current))};return(0,wt.useEffect)(()=>{void 0!==t&&(t&&!p&&u.current?h(u.current):!t&&p&&h(null))},[p,t]),(0,_.jsxs)(_.Fragment,{children:[(0,_.jsx)("button",{ref:u,className:n,disabled:a,...d?{onClickCapture:g,onClick:e=>{e.stopPropagation()}}:{onClick:g},title:r,children:s}),(0,_.jsx)(ks,{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},anchorEl:p,open:(void 0===t||Boolean(t))&&Boolean(p),slotProps:{root:{slotProps:{backdrop:{invisible:!0}}}},elevation:0,marginThreshold:0,disableRestoreFocus:!0,hideBackdrop:!0,transitionDuration:0,onClick:()=>{c?.(),h(null)},...i,children:o})]})},TT=(0,mt.PA)((0,wt.forwardRef)(function(e,t){const{diagramEditorState:n}=e,s=kt(),i=n.diagram,o=t,{width:r,height:a}=Vs({refreshMode:"debounce",refreshRate:50,targetRef:o});(0,wt.useEffect)(()=>{const e=new pE(o.current,i);n.setRenderer(e),n.setupRenderer(),e.render({initial:!0})},[o,n,i]),(0,wt.useEffect)(()=>{n.isDiagramRendererInitialized&&n.renderer.render({initial:!0})},[n,n.isDiagramRendererInitialized]),(0,wt.useEffect)(()=>{n.isDiagramRendererInitialized&&n.renderer.refresh()},[n,r,a]);const c=(0,wt.useCallback)((e,t)=>{if(e instanceof vr){const i=t.getClientOffset(),o=i?n.renderer.canvasCoordinateToModelCoordinate(n.renderer.eventCoordinateToCanvasCoordinate(new sc(i.x,i.y))):void 0;(0,Te.gP)(n.addClassView(e.li_attr.pureId,o)).catch(s.alertUnhandledError)}},[s,n]),[,l]=(0,ET.H)(()=>({accept:wb.CLASS,drop:(e,t)=>c(e,t)}),[c]);return l(o),(0,_.jsx)("div",{ref:o,className:(0,bt.$)("diagram-canvas diagram-editor__canvas",n.diagramCursorClass),tabIndex:0})})),CT=(0,mt.PA)(e=>{const{diagramEditorState:t}=e,n=xE(),s=kt(),i=e=>()=>{t.renderer.zoomCenter(e/100)},o=t.renderer.selectedClasses.length<2;return(0,_.jsxs)(_.Fragment,{children:[(0,_.jsxs)("div",{className:"diagram-editor__header__group",children:[(0,_.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align left",disabled:o,tabIndex:-1,onClick:()=>t.renderer.align(cE.ALIGN_LEFT),children:(0,_.jsx)(gn,{className:"diagram-editor__icon--aligner"})}),(0,_.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align center",disabled:o,tabIndex:-1,onClick:()=>t.renderer.align(cE.ALIGN_CENTER),children:(0,_.jsx)(un,{className:"diagram-editor__icon--aligner"})}),(0,_.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align right",disabled:o,tabIndex:-1,onClick:()=>t.renderer.align(cE.ALIGN_RIGHT),children:(0,_.jsx)(pn,{className:"diagram-editor__icon--aligner"})})]}),(0,_.jsx)("div",{className:"diagram-editor__header__group__separator"}),(0,_.jsxs)("div",{className:"diagram-editor__header__group",children:[(0,_.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align top",disabled:o,tabIndex:-1,onClick:()=>t.renderer.align(cE.ALIGN_TOP),children:(0,_.jsx)(mn,{className:"diagram-editor__icon--aligner"})}),(0,_.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align middle",disabled:o,tabIndex:-1,onClick:()=>t.renderer.align(cE.ALIGN_MIDDLE),children:(0,_.jsx)(hn,{className:"diagram-editor__icon--aligner"})}),(0,_.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Align bottom",disabled:o,tabIndex:-1,onClick:()=>t.renderer.align(cE.ALIGN_BOTTOM),children:(0,_.jsx)(dn,{className:"diagram-editor__icon--aligner"})})]}),(0,_.jsx)("div",{className:"diagram-editor__header__group__separator"}),(0,_.jsxs)("div",{className:"diagram-editor__header__group",children:[(0,_.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Space horizontally",disabled:o,tabIndex:-1,onClick:()=>t.renderer.align(cE.SPACE_HORIZONTALLY),children:(0,_.jsx)(fn,{className:"diagram-editor__icon--aligner"})}),(0,_.jsx)("button",{className:"diagram-editor__header__action diagram-editor__header__group__action",title:"Space vertically",disabled:o,tabIndex:-1,onClick:()=>t.renderer.align(cE.SPACE_VERTICALLY),children:(0,_.jsx)(_n,{className:"diagram-editor__icon--aligner"})})]}),(0,_.jsxs)(bT,{className:"diagram-editor__header__dropdown",title:"Zoom...",content:(0,_.jsxs)(Ps,{children:[(0,_.jsx)(Ls,{className:"diagram-editor__header__zoomer__dropdown__menu__item",onClick:()=>t.renderer.zoomToFit(),children:"Fit"}),(0,_.jsx)(Ms,{}),dE.map(e=>(0,_.jsxs)(Ls,{className:"diagram-editor__header__zoomer__dropdown__menu__item",onClick:i(e),children:[e,"%"]},e))]}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"},elevation:7},children:[(0,_.jsxs)("div",{className:"diagram-editor__header__dropdown__label diagram-editor__header__zoomer__dropdown__label",children:[Math.round(100*t.renderer.zoom),"%"]}),(0,_.jsx)("div",{className:"diagram-editor__header__dropdown__trigger diagram-editor__header__zoomer__dropdown__trigger",children:(0,_.jsx)(An,{})})]}),(0,_.jsx)("div",{className:"diagram-editor__header__actions",children:(0,_.jsx)("button",{className:"diagram-editor__header__action",tabIndex:-1,onClick:()=>{(0,Te.gP)(n.loadFile(t.filePath,new wr(t.filePath,t.fileLine,t.fileColumn))).catch(s.alertUnhandledError)},children:(0,_.jsx)(en,{className:"diagram-editor__icon--go-to-file"})})})]})}),vT=(0,mt.PA)(e=>{const{diagramEditorState:t}=e,n=t.renderer,s=(e,t)=>()=>n.changeMode(e,t);return(0,_.jsxs)("div",{className:"diagram-editor__tools",children:[(0,_.jsx)("button",{className:(0,bt.$)("diagram-editor__tool",{"diagram-editor__tool--active":n.interactionMode===rE.LAYOUT}),tabIndex:-1,onClick:s(rE.LAYOUT,aE.NONE),title:"View Tool (V)",children:(0,_.jsx)(bs,{className:"diagram-editor__icon--layout"})}),(0,_.jsx)("button",{className:(0,bt.$)("diagram-editor__tool",{"diagram-editor__tool--active":n.interactionMode===rE.PAN}),tabIndex:-1,onClick:s(rE.PAN,aE.NONE),title:"Pan Tool (M)",children:(0,_.jsx)(Ts,{className:"diagram-editor__icon--pan"})}),(0,_.jsx)("button",{className:(0,bt.$)("diagram-editor__tool",{"diagram-editor__tool--active":n.interactionMode===rE.ZOOM_IN}),tabIndex:-1,title:"Zoom In (Z)",onClick:s(rE.ZOOM_IN,aE.NONE),children:(0,_.jsx)(Cs,{className:"diagram-editor__icon--zoom-in"})}),(0,_.jsx)("button",{className:(0,bt.$)("diagram-editor__tool",{"diagram-editor__tool--active":n.interactionMode===rE.ZOOM_OUT}),tabIndex:-1,title:"Zoom Out (Z)",onClick:s(rE.ZOOM_OUT,aE.NONE),children:(0,_.jsx)(vs,{className:"diagram-editor__icon--zoom-out"})})]})}),yT=(0,mt.PA)(e=>{const{diagramEditorState:t}=e,n=(0,wt.useRef)(null);return Kb(t),(0,_.jsxs)("div",{className:"diagram-editor",children:[(0,_.jsx)("div",{className:"diagram-editor__header",children:t.isDiagramRendererInitialized&&(0,_.jsx)(CT,{diagramEditorState:t})}),(0,_.jsx)("div",{className:"diagram-editor__content",children:(0,_.jsxs)("div",{className:"diagram-editor__stage",children:[t.isDiagramRendererInitialized&&(0,_.jsx)(vT,{diagramEditorState:t}),(0,_.jsx)(TT,{diagramEditorState:t,ref:n})]})})]})});var ST=n(92095),NT=n(24480);(0,mt.PA)((0,wt.forwardRef)(function(e,t){const{children:n,placeholder:s,showPlaceholder:i,className:o,placeholderContainerClassName:r}=e;return(0,_.jsxs)("div",{ref:t,className:(0,bt.$)("dnd__entry__container",o),children:[i&&(0,_.jsx)("div",{className:(0,bt.$)("dnd__entry__placeholder",r),children:s?(0,_.jsx)(_.Fragment,{children:s}):(0,_.jsx)("div",{className:"dnd__entry__placeholder__content"})}),(0,_.jsx)(_.Fragment,{children:n})]})}));const AT=e=>{const{children:t,label:n,isDragOver:s,isDroppable:i,className:o,alwaysShowChildren:r}=e;return s||i?(0,_.jsx)("div",{className:(0,bt.$)(["dnd__entry-dropzone__placeholder",o,{"dnd__entry-dropzone__placeholder--active":s,"dnd__entry-dropzone__placeholder--droppable":i}]),children:(0,_.jsx)("div",{className:(0,bt.$)("dnd__entry-dropzone__placeholder__content",{"dnd__entry-dropzone__placeholder__content--children":r}),children:r?(0,_.jsx)(_.Fragment,{children:t}):(0,_.jsx)("div",{className:"dnd__entry-dropzone__placeholder__label",children:n??""})})}):(0,_.jsx)(_.Fragment,{children:t})};function IT(e){const{labelGetter:t,types:n}=e,{itemType:s,item:i,isDragging:o,currentPosition:r}=(0,ST.V)(e=>({itemType:e.getItemType(),item:e.getItem(),isDragging:e.isDragging(),currentPosition:e.getClientOffset()}));return o&&i&&s&&n.includes(s.toString())?(0,_.jsx)("div",{className:"dnd__drag-preview-layer",children:(0,_.jsx)("div",{className:"dnd__drag-preview-layer__content",style:r?{transform:`translate(${r.x/10+2}rem, ${r.y/10+1}rem)`}:{display:"none"},children:t(i)})}):null}const xT=e=>{if(Math.abs(e.deltaY)<=Math.abs(e.deltaX))return;let t;e.stopPropagation(),t=0===e.deltaY?e.deltaY:e.deltaY<0?-Math.abs(e.deltaY):Math.abs(e.deltaY),e.currentTarget.scrollBy(t,0)},wT=(0,mt.PA)(e=>{const{tabState:t,managerTabState:n}=e;return(0,_.jsxs)(Ps,{children:[(0,_.jsx)(Ls,{onClick:()=>n.closeTab(t),children:"Close"}),(0,_.jsx)(Ls,{disabled:n.tabs.length<2,onClick:()=>n.closeAllOtherTabs(t),children:"Close Others"}),(0,_.jsx)(Ls,{onClick:()=>n.closeAllTabs(),children:"Close All"}),(0,_.jsx)(Ms,{}),(0,_.jsx)(Ls,{onClick:()=>{t.isPinned?n.unpinTab(t):n.pinTab(t)},children:t.isPinned?"Unpin":"Pin"})]})}),OT=(0,mt.PA)(e=>{const t=(0,wt.useRef)(null),{tabManagerState:n,tabState:s,tabRenderer:i}=e,o=(0,wt.useCallback)((e,i)=>{const o=e.tab,r=s,a=n.tabs.findIndex(e=>e===o),c=n.tabs.findIndex(e=>e===r),l=t.current?.getBoundingClientRect(),d=((l?.left??0)-(l?.right??0))/2,u=(i.getClientOffset()?.x??0)-(l?.right??0);a<c&&u<d||a>c&&u>d||n.swapTabs(o,r)},[n,s]),[{isBeingDraggedEditorPanel:r},a]=(0,ET.H)(()=>({accept:[n.dndType],hover:(e,t)=>o(e,t),collect:e=>({isBeingDraggedEditorPanel:e.getItem()?.tab})}),[o]),c=s===r,[,l,d]=(0,ab.i)(()=>({type:n.dndType,item:()=>({tab:s})}),[s,n]);return l(a(t)),(e=>{(0,wt.useEffect)(()=>{e((0,NT.n)())},[e])})(d),(0,_.jsx)("div",{ref:t,"data-testid":"tab-manager__tab",className:(0,bt.$)("tab-manager__tab",{"tab-manager__tab--active":s===n.currentTab,"tab-manager__tab--dragged":c}),onMouseUp:(u=s,e=>{1===e.nativeEvent.button&&n.closeTab(u)}),children:(0,_.jsx)(AT,{isDragOver:!1,className:"tab-manager__tab__dnd__placeholder",children:(0,_.jsxs)(Rs,{content:(0,_.jsx)(wT,{tabState:s,managerTabState:n}),className:"tab-manager__tab__content",children:[(0,_.jsx)("button",{className:"tab-manager__tab__label",tabIndex:-1,onClick:()=>n.openTab(s),title:s.description,children:i?.(s)??s.label}),s.isPinned&&(0,_.jsx)("button",{className:"tab-manager__tab__pin-btn",onClick:()=>n.unpinTab(s),tabIndex:-1,title:"Unpin",children:(0,_.jsx)(Zt,{})}),!s.isPinned&&(0,_.jsx)("button",{className:"tab-manager__tab__close-btn",onClick:()=>n.closeTab(s),tabIndex:-1,title:"Close",children:(0,_.jsx)(rs,{})})]})})});var u}),kT=(0,mt.PA)(e=>{const{managerTabState:t}=e;return(0,_.jsx)(bT,{className:"tab-manager__menu__toggler",title:"Show All Tabs",content:(0,_.jsx)(Ps,{className:"tab-manager__menu",children:t.tabs.map(e=>(0,_.jsxs)(Ls,{className:(0,bt.$)("tab-manager__menu__item",{"tab-manager__menu__item--active":e===t.currentTab}),onClick:()=>t.openTab(e),children:[(0,_.jsx)("div",{className:"tab-manager__menu__item__label",children:e.label}),(0,_.jsx)("div",{className:"tab-manager__menu__item__close-btn",onClick:n=>{n.stopPropagation(),t.closeTab(e)},tabIndex:-1,title:"Close",children:(0,_.jsx)(rs,{})})]},e.uuid))}),menuProps:{anchorOrigin:{vertical:"bottom",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"right"}},children:(0,_.jsx)(hs,{})})}),RT=(0,mt.PA)(e=>{const{tabManagerState:t,tabRenderer:n}=e;return(0,_.jsxs)("div",{className:"tab-manager",children:[(0,_.jsxs)("div",{className:"tab-manager__content",onWheel:xT,children:[t.tabs.map(e=>(0,_.jsx)(OT,{tabState:e,tabManagerState:t,tabRenderer:n},e.uuid)),(0,_.jsx)(IT,{labelGetter:e=>e.tab.label,types:[t.dndType]})]}),(0,_.jsx)(kT,{managerTabState:t})]})}),PT=()=>{const[e,t]=(0,wt.useState)(!1),{ref:n,width:s,height:i}=Vs();return(0,wt.useEffect)(()=>{t((s??0)>300&&(i??0)>150)},[s,i]),(0,_.jsx)("div",{ref:n,className:"editor-group__splash-screen",children:(0,_.jsxs)("div",{className:(0,bt.$)("editor-group__splash-screen__content",{"editor-group__splash-screen__content--hidden":!e}),children:[(0,_.jsxs)("div",{className:"editor-group__splash-screen__content__item",children:[(0,_.jsx)("div",{className:"editor-group__splash-screen__content__item__label",children:"Run the go() function"}),(0,_.jsx)("div",{className:"editor-group__splash-screen__content__item__hot-keys",children:(0,_.jsx)("div",{className:"hotkey__key",children:"F9"})})]}),(0,_.jsxs)("div",{className:"editor-group__splash-screen__content__item",children:[(0,_.jsx)("div",{className:"editor-group__splash-screen__content__item__label",children:"Run the full test suite"}),(0,_.jsx)("div",{className:"editor-group__splash-screen__content__item__hot-keys",children:(0,_.jsx)("div",{className:"hotkey__key",children:"F10"})})]}),(0,_.jsxs)("div",{className:"editor-group__splash-screen__content__item",children:[(0,_.jsx)("div",{className:"editor-group__splash-screen__content__item__label",children:"Search for a file"}),(0,_.jsxs)("div",{className:"editor-group__splash-screen__content__item__hot-keys",children:[(0,_.jsx)("div",{className:"hotkey__key",children:"Ctrl"}),(0,_.jsx)("div",{className:"hotkey__plus",children:(0,_.jsx)(Qn,{})}),(0,_.jsx)("div",{className:"hotkey__key",children:"P"})]})]})]})})},LT=(0,mt.PA)(()=>{const e=xE(),t=e.tabManagerState.currentTab;return t?(0,_.jsxs)("div",{className:"panel editor-group",children:[(0,_.jsxs)("div",{className:"panel__header editor-group__header",children:[(0,_.jsx)("div",{className:"editor-group__header__tabs",children:(0,_.jsx)(RT,{tabManagerState:e.tabManagerState,tabRenderer:t=>{if(t instanceof Kr){const n=e.tabManagerState.tabs.filter(e=>e instanceof Kr&&e.fileName===t.fileName).length>1;return(0,_.jsxs)("div",{className:"editor-group__header__tab",children:[(0,_.jsx)("div",{className:"editor-group__header__tab__icon",children:(0,_.jsx)(Un,{className:"editor-group__header__tab__icon--file"})}),(0,_.jsx)("div",{className:"editor-group__header__tab__label",children:t.fileName}),n&&(0,_.jsx)("div",{className:"editor-group__header__tab__path",children:t.filePath}),t.file.RO&&(0,_.jsx)("div",{className:"editor-group__header__tab__icon",children:(0,_.jsx)(Kn,{className:"editor-group__header__tab__icon--readonly"})})]})}if(t instanceof hE){const n=e.tabManagerState.tabs.filter(e=>e instanceof hE&&e.diagramName===t.diagramName).length>1;return(0,_.jsxs)("div",{className:"editor-group__header__tab",children:[(0,_.jsx)("div",{className:"editor-group__header__tab__icon",children:(0,_.jsx)(bb,{})}),(0,_.jsx)("div",{className:"editor-group__header__tab__label",children:t.diagramName}),n&&(0,_.jsx)("div",{className:"editor-group__header__tab__path",children:t.diagramPath})]})}return t.label}})}),(0,_.jsx)("div",{className:"panel__header__actions"})]}),(0,_.jsx)("div",{className:"panel__content editor-group__content",children:t instanceof Kr?t.textEditorState.language===Jo.PURE?(0,_.jsx)(_T,{editorState:t}):(0,_.jsx)(qb,{editorState:t}):t instanceof hE?(0,_.jsx)(yT,{diagramEditorState:t}):null},t.uuid)]}):(0,_.jsx)(PT,{})});var MT=n(7195),FT=n(38604),DT=n(77002),BT=n(87464);const jT=e=>{const{options:t,children:n,getValue:s,selectProps:i}=e;let o=i.optionCustomization?.rowHeight??3.5*parseInt(getComputedStyle(document.documentElement).fontSize,10);o=isNaN(o)?35:o;const[r]=s(),a=r?t.indexOf(r)*o:0,c=Array.isArray(n)&&n.length?n.findIndex(e=>e.props.isFocused):0,l=(0,wt.useRef)(null);return(0,wt.useEffect)(()=>{l.current?.scrollToItem(c)},[c]),Array.isArray(n)&&n.length?(0,_.jsx)(MT.Y1,{className:i.darkMode?"scrollbar--light selector-menu--dark":"",ref:l,width:"100%",height:Math.min(n.length,6)*o,itemCount:n.length,itemSize:o,initialScrollOffset:a,children:({index:e,style:t})=>(0,_.jsx)("div",{style:t,className:"selector-input__option-wrapper",children:n[e]})}):(0,_.jsx)("div",{className:"selector-menu--no-match "+(i.darkMode?"selector-menu--dark":""),children:i.noMatchMessage??"No match found"})},HT=e=>{const{children:t,selectProps:n}=e;return(0,_.jsx)(FT.c.Option,{...e,className:(0,bt.$)(n.darkMode?{"selector-input--dark__option":!0,"selector-input--dark__option--is-focused":e.isFocused,"selector-input--dark__option--is-selected":e.isSelected}:{"selector-input__option":!0,"selector-input__option--is-focused":e.isFocused,"selector-input__option--is-selected":e.isSelected},{"selector-input__option--custom":Boolean(n.optionCustomization)}),children:t})},UT="selector-input",GT="selector-input--dark",VT=()=>(0,_.jsx)("div",{className:`${UT}__indicator ${UT}__loading-indicator ${GT}__loading-indicator`,children:(0,_.jsx)(wn,{})}),$T=()=>(0,_.jsx)("div",{className:`${UT}__indicator ${UT}__dropdown-indicator`,children:(0,_.jsx)(An,{})}),WT=e=>{const{innerProps:{ref:t,...n}}=e;return(0,_.jsx)("div",{...n,ref:t,children:(0,_.jsx)("div",{className:`${UT}__indicator ${UT}__clear-indicator`,children:(0,_.jsx)(rs,{})})})},YT=e=>(0,_.jsx)(FT.c.Input,{...e,onPaste:e.selectProps.onPaste,name:e.selectProps.inputName,isHidden:!1}),zT=e=>{const{allowCreating:t,noMatchMessage:n,disabled:s,components:i,className:o,darkMode:r,hasError:a,value:c,onChange:l,inputRef:d,placeholder:u,...p}=e,h=t?BT.A:DT.Ay,g=r?GT:UT;return(0,_.jsx)(h,{styles:{menuPortal:e=>({...e,zIndex:9999})},menuPortalTarget:document.body,ref:d,value:void 0===c?null:c,onChange:l,isDisabled:Boolean(s),className:(0,bt.$)(g,o,{"selector-input--has-error":a,"selector-input--custom":Boolean(e.optionCustomization)}),classNamePrefix:g,components:{Option:HT,ClearIndicator:WT,DropdownIndicator:$T,LoadingIndicator:VT,MenuList:jT,Input:YT,...i},placeholder:u??"",...p,darkMode:r,noMatchMessage:n})},KT=(e,t)=>e.label.localeCompare(t.label),XT=(0,mt.PA)(()=>{const e=xE(),t=kt(),n=e.fileSearchCommandLoadState,s=e.fileSearchCommandState,i=(0,wt.useRef)(null),o=(0,wt.useMemo)(()=>(0,Us.A)(()=>{(0,Te.gP)(e.searchFile()).catch(t.alertUnhandledError)},500),[t,e]),r=()=>e.setOpenFileSearchCommand(!1);return(0,_.jsx)(Et.A,{open:e.openFileSearchCommand,onClose:r,classes:{container:"command-modal__container"},slotProps:{transition:{onEnter:()=>{i.current?.focus()}},paper:{classes:{root:"command-modal__inner-container"}}},children:(0,_.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,_.jsx)("div",{className:"modal__title",children:"Open file"}),(0,_.jsxs)("div",{className:"command-modal__content",children:[(0,_.jsx)(zT,{inputRef:i,className:"command-modal__content__input",options:e.fileSearchCommandResults.map(e=>({label:e,value:e})).sort(KT),onChange:n=>{n?.value&&(r(),s.reset(),(0,Te.gP)(e.loadFile(n.value)).catch(t.alertUnhandledError))},onInputChange:e=>{s.setText(e),o.cancel(),o()},placeholder:"Enter file name or path",escapeClearsValue:!0,darkMode:!t.layoutService.TEMPORARY__isLightColorThemeEnabled,isLoading:n.isInProgress}),(0,_.jsx)("button",{className:(0,bt.$)("command-modal__content__config-btn btn--sm",{"command-modal__content__config-btn--toggled":s.isRegExp}),title:`Use Regular Expression (${s.isRegExp?"on":"off"})`,onClick:()=>s.setRegExp(!s.isRegExp),children:(0,_.jsx)(nn,{})})]})]})})});var JT;function qT(e){return{label:""===e.name?e.func:e.name,value:e}}!function(e){e.MODE="mode",e.FAST_COMPILE="fastCompile"}(JT||(JT={}));const ZT=(0,mt.PA)(()=>{const e=xE(),t=kt(),n=(0,wt.useRef)(null),[s,i]=(0,wt.useState)(!1),o=()=>e.setPCTRunPath(void 0),r=n=>{n&&(e.setSelectedPCTAdapter(n.value),e.PCTRunPath&&(0,Te.gP)(e.executeTests(e.PCTRunPath,!1,e.selectedPCTAdapter?.func)).catch(t.alertUnhandledError),o())};return(0,_.jsx)(Et.A,{open:Boolean(e.PCTRunPath),onClose:o,classes:{container:"command-modal__container"},slotProps:{transition:{onEnter:()=>{n.current?.focus()}},paper:{classes:{root:"command-modal__inner-container"}}},children:(0,_.jsxs)("div",{className:"modal modal--dark command-modal",children:[(0,_.jsx)("div",{className:"modal__title",children:"Select PCT Adapter"}),(0,_.jsx)("div",{className:"command-modal__content",children:(0,_.jsx)(zT,{inputRef:n,className:"command-modal__content__input",options:e.PCTAdapters.map(qT).sort(KT),onMenuOpen:()=>i(!0),onMenuClose:()=>i(!1),onKeyDown:t=>{"Enter"===t.key&&e.selectedPCTAdapter&&!s&&(t.stopPropagation(),t.preventDefault(),r(qT(e.selectedPCTAdapter)))},value:e.selectedPCTAdapter?qT(e.selectedPCTAdapter):null,onChange:r,placeholder:"Select a PCT adapter",escapeClearsValue:!0,darkMode:!t.layoutService.TEMPORARY__isLightColorThemeEnabled})})]})})}),QT=(eC=(0,mt.PA)(()=>{const e=xE(),t=kt(),{ref:n,width:s,height:i}=Vs(),o=Qi(0===e.sideBarDisplayState.size,{onStopResize:t=>e.sideBarDisplayState.setSize(t.domElement.getBoundingClientRect().width),size:e.sideBarDisplayState.size}),r=Qi(0===e.panelGroupDisplayState.size,{onStopResize:t=>e.panelGroupDisplayState.setSize(t.domElement.getBoundingClientRect().height),size:e.panelGroupDisplayState.size}),a=Qi(e.panelGroupDisplayState.isMaximized);return(0,wt.useEffect)(()=>{n.current&&e.panelGroupDisplayState.setMaxSize(n.current.offsetHeight)},[e,n,i,s]),(0,wt.useEffect)(()=>()=>{e.cleanUp()},[e]),(0,wt.useEffect)(()=>{(0,Te.gP)(e.initialize(!1,void 0,t.navigationService.navigator.getCurrentLocationParameterValue(JT.MODE),t.navigationService.navigator.getCurrentLocationParameterValue(JT.FAST_COMPILE))).catch(t.alertUnhandledError)},[e,t]),(0,wt.useEffect)(()=>(t.navigationService.navigator.blockNavigation([()=>!0],void 0,()=>t.notificationService.notifyWarning("Navigation from the editor is blocked")),()=>{t.navigationService.navigator.unblockNavigation()}),[e,t]),Kb(e),(0,_.jsxs)("div",{className:"ide",children:[(0,_.jsxs)("div",{className:"ide__body",children:[(0,_.jsx)(Wb,{}),(0,_.jsx)("div",{className:"ide__content-container",ref:n,children:(0,_.jsx)("div",{className:"ide__content",children:(0,_.jsxs)(qi,{orientation:"vertical",children:[(0,_.jsx)(eo,{...o.collapsiblePanel,direction:1,children:(0,_.jsx)(Vb,{})}),(0,_.jsx)(to,{}),(0,_.jsx)(eo,{...o.remainingPanel,minSize:300,children:(0,_.jsxs)(qi,{orientation:"horizontal",children:[(0,_.jsx)(eo,{...a.collapsiblePanel,...0===e.panelGroupDisplayState.size?r.remainingPanel:{},children:(0,_.jsx)(LT,{})}),(0,_.jsx)(to,{children:(0,_.jsx)(no,{color:e.panelGroupDisplayState.isMaximized?"transparent":"var(--color-dark-grey-250)"})}),(0,_.jsx)(eo,{...r.collapsiblePanel,...e.panelGroupDisplayState.isMaximized?a.remainingPanel:{},direction:-1,children:(0,_.jsx)(rb,{})})]})})]})})})]}),(0,_.jsx)(zb,{}),(0,_.jsx)(XT,{}),(0,_.jsx)(ZT,{})]})}),function(){return(0,_.jsx)(IE,{children:(0,_.jsx)(eC,{})})});var eC;const tC=(0,mt.PA)(e=>{const{children:t,simple:n,enableTransitions:s,customFonts:i}=e,o=D((0,wt.useContext)(_o),"Can't find application platform in context"),r=kt();return(0,wt.useEffect)(()=>{r.initialize(o).catch(r.alertUnhandledError)},[r,o]),r.initState.hasSucceeded?n?(0,_.jsx)(li,{enableTransitions:s,customFonts:i,children:t}):(0,_.jsx)(ci,{enableTransitions:s,customFonts:i,children:t}):(0,_.jsx)(_.Fragment,{})});class nC{applicationStore;pluginManager;constructor(e){this.applicationStore=e,this.pluginManager=e.pluginManager}}const sC=(0,wt.createContext)(void 0),iC=({children:e})=>{const t=kt(),n=(0,mt.iz)(()=>new nC(t));return(0,_.jsx)(sC.Provider,{value:n,children:e})},oC=({children:e})=>(0,_.jsx)(tC,{children:(0,_.jsx)(iC,{children:e})}),rC=e=>{const{baseUrl:t}=e;return(0,_.jsx)(bo,{baseUrl:t,children:(0,_.jsx)(oC,{children:(0,_.jsx)(QT,{})})})},aC=JSON.parse('{"rE":"8.0.409","XO":{"m":"@finos/legend-application-pure-ide-plugin-core"}}');class cC extends Xi{_$nominalTypeBrand;install(e){e.registerApplicationPlugin(this)}}const lC={wordPattern:/(-?\d*\.\d\w*)|([^`~!@#%^$&*()\-=+[{\]}\\|;:'",.<>/?\s][^`~!@#%^&*()\-=+[{\]}\\|;:'",.<>/?\s]*)/,comments:{lineComment:"//",blockComment:["/*","*/"]},brackets:[["{","}"],["[","]"],["(",")"]],autoClosingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"}],surroundingPairs:[{open:"{",close:"}"},{open:"[",close:"]"},{open:"(",close:")"},{open:'"',close:'"'},{open:"'",close:"'"},{open:"<",close:">"},{open:"<<",close:">>"}],folding:{markers:{start:new RegExp("^\\s*//\\s*(?:(?:#?region\\b)|(?:<editor-fold\\b))"),end:new RegExp("^\\s*//\\s*(?:(?:#?endregion\\b)|(?:</editor-fold>))")}}};class dC extends cC{static NAME=aC.XO.m;constructor(){super(dC.NAME,aC.rE)}getExtraApplicationSetups(){return[async e=>{var t,n;await(async e=>{await(async(e,t)=>{Ao.editor.defineTheme(Do.DEFAULT_DARK,jo),Ao.editor.defineTheme(Do.SOLARIZED_DARK,Ho),Ao.editor.defineTheme(Do.GITHUB_DARK,Uo),Ao.editor.defineTheme(Do.GITHUB_DARK_DIMMED,Vo),Ao.editor.defineTheme(Do.GITHUB_LIGHT,Go),Ao.editor.defineTheme(Do.MATERIAL_DEFAULT,$o),Ao.editor.defineTheme(Do.MATERIAL_DARKER,Wo),Ao.editor.defineTheme(Do.ONE_DARK_PRO,Yo),Ao.editor.defineTheme(Do.ONE_DARK_PRO_DARKER,zo);const n=`Monospaced font '${e}' has not been loaded properly, code editor might not display properly`;await Promise.all([400,700].map(t=>document.fonts.load(`${t} 1em ${e}`))).then(()=>{document.fonts.check(`1em ${e}`)?Ao.editor.remeasureFonts():t(new Error(n))}).catch(()=>t(new Error(n)))})(Ge,t=>e.logService.error(l.create(ue.APPLICATION_SETUP__FAILURE),t.message));const t="legend.code-editor.override-default-keybinding";Ao.editor.registerCommand(t,(t,...n)=>{e.keyboardShortcutsService.dispatch(n[0])});const n=[[Ao.KeyCode.F1,"F1"],[Ao.KeyCode.F8,"F8"],[Ao.KeyCode.F9,"F9"],[Ao.KeyMod.WinCtrl|Ao.KeyCode.KeyG,"Control+KeyG"],[Ao.KeyMod.WinCtrl|Ao.KeyCode.KeyB,"Control+KeyB"],[Ao.KeyMod.WinCtrl|Ao.KeyCode.KeyO,"Control+KeyO"],[Ao.KeyMod.WinCtrl|Ao.KeyCode.KeyD,"Control+KeyD"],[Ao.KeyMod.WinCtrl|Ao.KeyCode.KeyP,"Control+KeyP"],[Ao.KeyMod.Shift|Ao.KeyCode.F10,"Shift+F10"],[Ao.KeyMod.WinCtrl|Ao.KeyCode.F2,"Control+F2"],[Ao.KeyMod.WinCtrl|Ao.KeyCode.F12,"Control+F12"]];Ao.editor.addKeybindingRules(n.map(([e,n])=>({keybinding:e,command:t,commandArgs:n})))})(e),t={extraKeywords:[iT]},Ao.languages.register({id:Jo.PURE}),Ao.languages.setLanguageConfiguration(Jo.PURE,lC),Ao.languages.setMonarchTokensProvider(Jo.PURE,(n=t?.extraKeywords??[],{defaultToken:"invalid",tokenPostfix:".pure",keywords:[...n,"Schema","Table","Join","View","primaryKey","groupBy","mainTable","let","extends","true","false","projects",wd.CLASS,wd.ASSOCIATION,wd.ENUMERATION,wd.MEASURE,wd.PROFILE,wd.FUNCTION,wd.MAPPING,wd.RUNTIME,wd.CONNECTION,wd.FILE_GENERATION,wd.GENERATION_SPECIFICATION,wd.DATA_ELEMENT,Od.JSON_MODEL_CONNECTION,Od.MODEL_CHAIN_CONNECTION,Od.XML_MODEL_CONNECTION,"include","EnumerationMapping","Pure","AssociationMapping","XStore","AggregationAware",wd.SERVICE,wd.FLAT_DATA,wd.DATABASE,Od.FLAT_DATA_CONNECTION,Od.RELATIONAL_DATABASE_CONNECTION,"Relational"],operators:["=",">","<","!","~","?",":","==","<=",">=","&&","||","++","--","+","-","*","/","&","|","^","%","->","#{","}#","@","<<",">>"],languageStructs:["import","native"],identifier:/[a-zA-Z_$][\w$]*/,symbols:/[=><!~?:&|+\-*/^%#@]+/,escapes:/\\(?:[abfnrtv\\"']|x[0-9A-Fa-f]{1,4}|u[0-9A-Fa-f]{4}|U[0-9A-Fa-f]{8})/,digits:/\d+(_+\d+)*/,octaldigits:/[0-7]+(_+[0-7]+)*/,binarydigits:/[0-1]+(_+[0-1]+)*/,hexdigits:/[[0-9a-fA-F]+(_+[0-9a-fA-F]+)*/,multiplicity:/\[(?:[a-zA-Z0-9]+(?:\.\.(?:[a-zA-Z0-9]+|\*|))?|\*)\]/,package:/(?:[\w_]+::)+/,generics:/(?:(?:<\w+>)|(?:<[^:.@^()]+[^-]>))/,date:/%-?\d+(?:-\d+(?:-\d+(?:T(?:\d+(?::\d+(?::\d+(?:.\d+)?)?)?)(?:[+-][0-9]{4})?)))/,time:/%\d+(?::\d+(?::\d+(?:.\d+)?)?)?/,tokenizer:{root:[{include:"@pure"},{include:"@date"},{include:"@color"},[/^\s*###[\w]+/,No.PARSER],[/(@identifier)/,{cases:{"@languageStructs":No.LANGUAGE_STRUCT,"@keywords":`${No.KEYWORD}.$0`,"([a-zA-Z_$][\\w$]*)_((\\w+_(([a-zA-Z0-9]+)|(\\$[a-zA-Z0-9]+_[a-zA-Z0-9]+\\$)))__)*(\\w+_(([a-zA-Z0-9]+)|(\\$[a-zA-Z0-9]+_[a-zA-Z0-9]+\\$)))_":No.TYPE,"@default":No.IDENTIFIER}}],{include:"@whitespace"},[/[{}()[\]]/,"@brackets"],[/[<>](?!@symbols)/,"@brackets"],[/@symbols/,{cases:{"@operators":No.OPERATOR,"@default":No.IDENTIFIER}}],{include:"@number"},[/[;,.]/,No.DELIMITER],[/'([^'\\]|\\.)*$/,`${No.STRING}.invalid`],[/'/,No.STRING,"@string"],{include:"@characters"}],pure:[[/(@package\*)/,[No.PACKAGE]],[/(@package?)(@identifier)(@generics?)(\s*)(@multiplicity)/,[No.PACKAGE,No.TYPE,No.GENERICS,No.WHITESPACE,No.MULTIPLICITY]],[/(@package)(@identifier)(@generics?)/,[No.PACKAGE,No.TYPE,No.GENERICS]],[/([@^])(\s*)(@package?)(@identifier)(@generics?)(@multiplicity?)/,[`${No.TYPE}.operator`,No.WHITESPACE,No.PACKAGE,No.TYPE,No.GENERICS,No.MULTIPLICITY]],[/(\.\s*)(@identifier)/,[No.DELIMITER,No.PROPERTY]],[/(@identifier)(\s*=)/,[No.PROPERTY,No.OPERATOR]],[/(@identifier)(\.)(@identifier)/,[No.TYPE,No.OPERATOR,No.PROPERTY]],[/(@identifier)(\s*:)/,[No.PARAMETER,No.OPERATOR]],[/(let)(\s+)(@identifier)(\s*=)/,[No.KEYWORD,No.WHITESPACE,No.VARIABLE,No.OPERATOR]],[/(\$@identifier)/,[`${No.VARIABLE}.reference`]]],date:[[/(%latest)/,[`${No.DATE}.latest`]],[/(@date)/,[No.DATE]],[/(@time)/,[`${No.DATE}.time`]]],color:[[/(#[0-9a-fA-F]{6})/,[No.COLOR]]],number:[[/(@digits)[eE]([-+]?(@digits))?[fFdD]?/,`${No.NUMBER}.float`],[/(@digits)\.(@digits)([eE][-+]?(@digits))?[fFdD]?/,`${No.NUMBER}.float`],[/0[xX](@hexdigits)[Ll]?/,`${No.NUMBER}.hex`],[/0(@octaldigits)[Ll]?/,`${No.NUMBER}.octal`],[/0[bB](@binarydigits)[Ll]?/,`${No.NUMBER}.binary`],[/(@digits)[fFdD]/,`${No.NUMBER}.float`],[/(@digits)[lL]?/,No.NUMBER]],whitespace:[[/[ \t\r\n]+/,No.WHITESPACE],[/\/\*\*(?!\/)/,`${No.COMMENT}.doc`,"@doc"],[/\/\*/,No.COMMENT,"@comment"],[/\/\/.*$/,No.COMMENT]],comment:[[/[^/*]+/,No.COMMENT],[/\*\//,No.COMMENT,"@pop"],[/[/*]/,No.COMMENT]],doc:[[/[^/*]+/,`${No.COMMENT}.doc`],[/\/\*/,`${No.COMMENT}.doc.invalid`],[/\*\//,`${No.COMMENT}.doc`,"@pop"],[/[/*]/,`${No.COMMENT}.doc`]],string:[[/[^\\']+/,No.STRING],[/@escapes/,`${No.STRING}.escape`],[/\\./,`${No.STRING}.escape.invalid`],[/'/,No.STRING,"@pop"]],characters:[[/'[^\\']'/,No.STRING],[/(')(@escapes)(')/,[No.STRING,`${No.STRING}.escape`,No.STRING]],[/'/,`${No.STRING}.invalid`]]}}))}]}getExtraKeyedCommandConfigEntries(){return[Hr,$r,Gr].flatMap(e=>{return t=e,Object.entries(t).map(e=>({key:e[0],content:e[1]}));var t})}}class uC extends Yi{static create(){const e=new uC(lo.create());return e.withBasePlugins([new so,new dC]),e}async configureApplication(e){return new ao(e)}async loadApplication(e){(0,E.createRoot)((()=>{let e=document.getElementsByTagName(zi).length?document.getElementsByTagName(zi)[0]:void 0;return e||(e=document.createElement(zi),document.body.appendChild(e)),e.setAttribute("style","height: 100%; width: 100%; display: block"),e})()).render((0,_.jsx)(Rt,{store:e,children:(0,_.jsx)(rC,{baseUrl:this.baseAddress})}))}}class pC{static getPresetCollection(){return[]}static getPluginCollection(){return[new f]}static run(e){uC.create().setup({baseAddress:e}).withPresets(pC.getPresetCollection()).withPlugins(pC.getPluginCollection()).start().catch(e=>{throw e})}}pC.run("/ide/")},98933:(e,t,n)=>{var s={"./simpleWorker":99246,"./simpleWorker.js":99246};function i(e){return Promise.resolve().then(()=>{if(!n.o(s,e)){var t=new Error("Cannot find module '"+e+"'");throw t.code="MODULE_NOT_FOUND",t}return n(s[e])})}i.keys=()=>Object.keys(s),i.id=98933,e.exports=i}},r={};function a(e){var t=r[e];if(void 0!==t)return t.exports;var n=r[e]={id:e,loaded:!1,exports:{}};return o[e].call(n.exports,n,n.exports,a),n.loaded=!0,n.exports}a.m=o,a.amdO={},e=[],a.O=(t,n,s,i)=>{if(!n){var o=1/0;for(d=0;d<e.length;d++){for(var[n,s,i]=e[d],r=!0,c=0;c<n.length;c++)(!1&i||o>=i)&&Object.keys(a.O).every(e=>a.O[e](n[c]))?n.splice(c--,1):(r=!1,i<o&&(o=i));if(r){e.splice(d--,1);var l=s();void 0!==l&&(t=l)}}return t}i=i||0;for(var d=e.length;d>0&&e[d-1][2]>i;d--)e[d]=e[d-1];e[d]=[n,s,i]},a.n=e=>{var t=e&&e.__esModule?()=>e.default:()=>e;return a.d(t,{a:t}),t},n=Object.getPrototypeOf?e=>Object.getPrototypeOf(e):e=>e.__proto__,a.t=function(e,s){if(1&s&&(e=this(e)),8&s)return e;if("object"==typeof e&&e){if(4&s&&e.__esModule)return e;if(16&s&&"function"==typeof e.then)return e}var i=Object.create(null);a.r(i);var o={};t=t||[null,n({}),n([]),n(n)];for(var r=2&s&&e;"object"==typeof r&&!~t.indexOf(r);r=n(r))Object.getOwnPropertyNames(r).forEach(t=>o[t]=()=>e[t]);return o.default=()=>e,a.d(i,o),i},a.d=(e,t)=>{for(var n in t)a.o(t,n)&&!a.o(e,n)&&Object.defineProperty(e,n,{enumerable:!0,get:t[n]})},a.f={},a.e=e=>Promise.all(Object.keys(a.f).reduce((t,n)=>(a.f[n](e,t),t),[])),a.u=e=>"static/"+e+".ca9d896b.js",a.miniCssF=e=>{},a.g=function(){if("object"==typeof globalThis)return globalThis;try{return this||new Function("return this")()}catch(e){if("object"==typeof window)return window}}(),a.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t),s={},i="@finos/legend-application-pure-ide-deployment:",a.l=(e,t,n,o)=>{if(s[e])s[e].push(t);else{var r,c;if(void 0!==n)for(var l=document.getElementsByTagName("script"),d=0;d<l.length;d++){var u=l[d];if(u.getAttribute("src")==e||u.getAttribute("data-webpack")==i+n){r=u;break}}r||(c=!0,(r=document.createElement("script")).charset="utf-8",r.timeout=120,a.nc&&r.setAttribute("nonce",a.nc),r.setAttribute("data-webpack",i+n),r.src=e),s[e]=[t];var p=(t,n)=>{r.onerror=r.onload=null,clearTimeout(h);var i=s[e];if(delete s[e],r.parentNode&&r.parentNode.removeChild(r),i&&i.forEach(e=>e(n)),t)return t(n)},h=setTimeout(p.bind(null,void 0,{type:"timeout",target:r}),12e4);r.onerror=p.bind(null,r.onerror),r.onload=p.bind(null,r.onload),c&&document.head.appendChild(r)}},a.r=e=>{"undefined"!=typeof Symbol&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})},a.nmd=e=>(e.paths=[],e.children||(e.children=[]),e),a.p="/ide/",(()=>{var e={57:0};a.f.j=(t,n)=>{var s=a.o(e,t)?e[t]:void 0;if(0!==s)if(s)n.push(s[2]);else{var i=new Promise((n,i)=>s=e[t]=[n,i]);n.push(s[2]=i);var o=a.p+a.u(t),r=new Error;a.l(o,n=>{if(a.o(e,t)&&(0!==(s=e[t])&&(e[t]=void 0),s)){var i=n&&("load"===n.type?"missing":n.type),o=n&&n.target&&n.target.src;r.message="Loading chunk "+t+" failed.\n("+i+": "+o+")",r.name="ChunkLoadError",r.type=i,r.request=o,s[1](r)}},"chunk-"+t,t)}},a.O.j=t=>0===e[t];var t=(t,n)=>{var s,i,[o,r,c]=n,l=0;if(o.some(t=>0!==e[t])){for(s in r)a.o(r,s)&&(a.m[s]=r[s]);if(c)var d=c(a)}for(t&&t(n);l<o.length;l++)i=o[l],a.o(e,i)&&e[i]&&e[i][0](),e[i]=0;return a.O(d)},n=globalThis.webpackChunk_finos_legend_application_pure_ide_deployment=globalThis.webpackChunk_finos_legend_application_pure_ide_deployment||[];n.forEach(t.bind(null,0)),n.push=t.bind(null,n.push.bind(n))})();var c=a.O(void 0,[121],()=>a(84216));c=a.O(c)})();
2
+ //# sourceMappingURL=index.fac19958.js.map