@hpcc-js/phosphor 3.6.4 → 3.7.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.
package/dist/index.js CHANGED
@@ -16,7 +16,7 @@ var i = Object.defineProperty, __name = (e, t) => i(e, "name", {
16
16
  enumerable: !(r = a(t, d)) || r.enumerable
17
17
  });
18
18
  return e;
19
- }, __toCommonJS = (e) => s.call(e, "module.exports") ? e["module.exports"] : __copyProps(i({}, "__esModule", { value: !0 }), e), c = "@hpcc-js/phosphor", l = "3.6.4", u = "3.25.1", d = /* @__PURE__ */ __exportAll({
19
+ }, __toCommonJS = (e) => s.call(e, "module.exports") ? e["module.exports"] : __copyProps(i({}, "__esModule", { value: !0 }), e), c = "@hpcc-js/phosphor", l = "3.7.0", u = "3.26.0", d = /* @__PURE__ */ __exportAll({
20
20
  ArrayExt: () => f,
21
21
  StringExt: () => m,
22
22
  chain: () => chain,
@@ -1,3 +1,3 @@
1
- (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@hpcc-js/common")):typeof define==`function`&&define.amd?define([`exports`,`@hpcc-js/common`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`@hpcc-js/phosphor`]={},e[`@hpcc-js/common`]))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.defineProperty,__name=(e,t)=>n(e,`name`,{value:t,configurable:!0}),r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,__esmMin=(e,t)=>()=>(e&&(t=e(e=0)),t),__commonJSMin=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),__exportAll=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r},__copyProps=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},__toCommonJS=e=>a.call(e,`module.exports`)?e[`module.exports`]:__copyProps(n({},`__esModule`,{value:!0}),e),o=`@hpcc-js/phosphor`,s=`3.6.4`,c=`3.25.1`,l=__exportAll({ArrayExt:()=>u,StringExt:()=>f,chain:()=>chain,each:()=>each,empty:()=>empty,enumerate:()=>enumerate,every:()=>every,filter:()=>filter,find:()=>find,findIndex:()=>findIndex,map:()=>map,max:()=>max,min:()=>min,minmax:()=>minmax,once:()=>once,range:()=>range,reduce:()=>reduce,repeat:()=>repeat,retro:()=>retro,some:()=>some,stride:()=>stride,take:()=>take,toArray:()=>toArray,toObject:()=>toObject,topologicSort:()=>topologicSort,zip:()=>zip});function*chain(...e){for(let t of e)yield*t}function*empty(){}function*enumerate(e,t=0){for(let n of e)yield[t++,n]}function*filter(e,t){let n=0;for(let r of e)t(r,n++)&&(yield r)}function find(e,t){let n=0;for(let r of e)if(t(r,n++))return r}function findIndex(e,t){let n=0;for(let r of e)if(t(r,n++))return n-1;return-1}function min(e,t){let n;for(let r of e){if(n===void 0){n=r;continue}t(r,n)<0&&(n=r)}return n}function max(e,t){let n;for(let r of e){if(n===void 0){n=r;continue}t(r,n)>0&&(n=r)}return n}function minmax(e,t){let n=!0,r,i;for(let a of e)n?(r=a,i=a,n=!1):t(a,r)<0?r=a:t(a,i)>0&&(i=a);return n?void 0:[r,i]}function toArray(e){return Array.from(e)}function toObject(e){let t={};for(let[n,r]of e)t[n]=r;return t}function each(e,t){let n=0;for(let r of e)if(!1===t(r,n++))return}function every(e,t){let n=0;for(let r of e)if(!1===t(r,n++))return!1;return!0}function some(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}function*map(e,t){let n=0;for(let r of e)yield t(r,n++)}function*range(e,t,n){t===void 0?(t=e,e=0,n=1):n===void 0&&(n=1);let r=d.rangeLength(e,t,n);for(let t=0;t<r;t++)yield e+n*t}function reduce(e,t,n){let r=e[Symbol.iterator](),i=0,a=r.next();if(a.done&&n===void 0)throw TypeError(`Reduce of empty iterable with no initial value.`);if(a.done)return n;let o=r.next();if(o.done&&n===void 0)return a.value;if(o.done)return t(n,a.value,i++);let s;s=t(n===void 0?a.value:t(n,a.value,i++),o.value,i++);let c;for(;!(c=r.next()).done;)s=t(s,c.value,i++);return s}function*repeat(e,t){for(;0<t--;)yield e}function*once(e){yield e}function*retro(e){if(typeof e.retro==`function`)yield*e.retro();else for(let t=e.length-1;t>-1;t--)yield e[t]}function topologicSort(e){let t=[],n=new Set,r=new Map;for(let t of e)addEdge(t);for(let[e]of r)visit(e);return t;function addEdge(e){let[t,n]=e,i=r.get(n);i?i.push(t):r.set(n,[t])}function visit(e){if(n.has(e))return;n.add(e);let i=r.get(e);if(i)for(let e of i)visit(e);t.push(e)}}function*stride(e,t){let n=0;for(let r of e)n++%t===0&&(yield r)}function*take(e,t){if(t<1)return;let n=e[Symbol.iterator](),r;for(;0<t--&&!(r=n.next()).done;)yield r.value}function*zip(...e){let t=e.map(e=>e[Symbol.iterator]()),n=t.map(e=>e.next());for(;every(n,e=>!e.done);n=t.map(e=>e.next()))yield n.map(e=>e.value)}var u,d,f,p=__esmMin((()=>{(function(e){function firstIndexOf(e,t,n=0,r=-1){let i=e.length;if(i===0)return-1;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a;a=r<n?r+1+(i-n):r-n+1;for(let r=0;r<a;++r){let a=(n+r)%i;if(e[a]===t)return a}return-1}e.firstIndexOf=firstIndexOf;function lastIndexOf(e,t,n=-1,r=0){let i=e.length;if(i===0)return-1;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a;a=n<r?n+1+(i-r):n-r+1;for(let r=0;r<a;++r){let a=(n-r+i)%i;if(e[a]===t)return a}return-1}e.lastIndexOf=lastIndexOf;function findFirstIndex(e,t,n=0,r=-1){let i=e.length;if(i===0)return-1;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a;a=r<n?r+1+(i-n):r-n+1;for(let r=0;r<a;++r){let a=(n+r)%i;if(t(e[a],a))return a}return-1}e.findFirstIndex=findFirstIndex;function findLastIndex(e,t,n=-1,r=0){let i=e.length;if(i===0)return-1;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a;a=n<r?n+1+(i-r):n-r+1;for(let r=0;r<a;++r){let a=(n-r+i)%i;if(t(e[a],a))return a}return-1}e.findLastIndex=findLastIndex;function findFirstValue(e,t,n=0,r=-1){let i=findFirstIndex(e,t,n,r);return i===-1?void 0:e[i]}e.findFirstValue=findFirstValue;function findLastValue(e,t,n=-1,r=0){let i=findLastIndex(e,t,n,r);return i===-1?void 0:e[i]}e.findLastValue=findLastValue;function lowerBound(e,t,n,r=0,i=-1){let a=e.length;if(a===0)return 0;r=r<0?Math.max(0,r+a):Math.min(r,a-1),i=i<0?Math.max(0,i+a):Math.min(i,a-1);let o=r,s=i-r+1;for(;s>0;){let r=s>>1,i=o+r;n(e[i],t)<0?(o=i+1,s-=r+1):s=r}return o}e.lowerBound=lowerBound;function upperBound(e,t,n,r=0,i=-1){let a=e.length;if(a===0)return 0;r=r<0?Math.max(0,r+a):Math.min(r,a-1),i=i<0?Math.max(0,i+a):Math.min(i,a-1);let o=r,s=i-r+1;for(;s>0;){let r=s>>1,i=o+r;n(e[i],t)>0?s=r:(o=i+1,s-=r+1)}return o}e.upperBound=upperBound;function shallowEqual(e,t,n){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0,i=e.length;r<i;++r)if(n?!n(e[r],t[r]):e[r]!==t[r])return!1;return!0}e.shallowEqual=shallowEqual;function slice(e,t={}){let{start:n,stop:r,step:i}=t;if(i===void 0&&(i=1),i===0)throw Error("Slice `step` cannot be zero.");let a=e.length;n===void 0?n=i<0?a-1:0:n<0?n=Math.max(n+a,i<0?-1:0):n>=a&&(n=i<0?a-1:a),r===void 0?r=i<0?-1:a:r<0?r=Math.max(r+a,i<0?-1:0):r>=a&&(r=i<0?a-1:a);let o;o=i<0&&r>=n||i>0&&n>=r?0:Math.floor(i<0?(r-n+1)/i+1:(r-n-1)/i+1);let s=[];for(let t=0;t<o;++t)s[t]=e[n+t*i];return s}e.slice=slice;function move(e,t,n){let r=e.length;if(r<=1||(t=t<0?Math.max(0,t+r):Math.min(t,r-1),n=n<0?Math.max(0,n+r):Math.min(n,r-1),t===n))return;let i=e[t],a=t<n?1:-1;for(let r=t;r!==n;r+=a)e[r]=e[r+a];e[n]=i}e.move=move;function reverse(e,t=0,n=-1){let r=e.length;if(!(r<=1))for(t=t<0?Math.max(0,t+r):Math.min(t,r-1),n=n<0?Math.max(0,n+r):Math.min(n,r-1);t<n;){let r=e[t],i=e[n];e[t++]=i,e[n--]=r}}e.reverse=reverse;function rotate(e,t,n=0,r=-1){let i=e.length;if(i<=1||(n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1),n>=r))return;let a=r-n+1;if(t>0?t%=a:t<0&&(t=(t%a+a)%a),t===0)return;let o=n+t;reverse(e,n,o-1),reverse(e,o,r),reverse(e,n,r)}e.rotate=rotate;function fill(e,t,n=0,r=-1){let i=e.length;if(i===0)return;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a;a=r<n?r+1+(i-n):r-n+1;for(let r=0;r<a;++r)e[(n+r)%i]=t}e.fill=fill;function insert(e,t,n){let r=e.length;t=t<0?Math.max(0,t+r):Math.min(t,r);for(let n=r;n>t;--n)e[n]=e[n-1];e[t]=n}e.insert=insert;function removeAt(e,t){let n=e.length;if(t<0&&(t+=n),t<0||t>=n)return;let r=e[t];for(let r=t+1;r<n;++r)e[r-1]=e[r];return e.length=n-1,r}e.removeAt=removeAt;function removeFirstOf(e,t,n=0,r=-1){let i=firstIndexOf(e,t,n,r);return i!==-1&&removeAt(e,i),i}e.removeFirstOf=removeFirstOf;function removeLastOf(e,t,n=-1,r=0){let i=lastIndexOf(e,t,n,r);return i!==-1&&removeAt(e,i),i}e.removeLastOf=removeLastOf;function removeAllOf(e,t,n=0,r=-1){let i=e.length;if(i===0)return 0;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a=0;for(let o=0;o<i;++o)n<=r&&o>=n&&o<=r&&e[o]===t||r<n&&(o<=r||o>=n)&&e[o]===t?a++:a>0&&(e[o-a]=e[o]);return a>0&&(e.length=i-a),a}e.removeAllOf=removeAllOf;function removeFirstWhere(e,t,n=0,r=-1){let i,a=findFirstIndex(e,t,n,r);return a!==-1&&(i=removeAt(e,a)),{index:a,value:i}}e.removeFirstWhere=removeFirstWhere;function removeLastWhere(e,t,n=-1,r=0){let i,a=findLastIndex(e,t,n,r);return a!==-1&&(i=removeAt(e,a)),{index:a,value:i}}e.removeLastWhere=removeLastWhere;function removeAllWhere(e,t,n=0,r=-1){let i=e.length;if(i===0)return 0;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a=0;for(let o=0;o<i;++o)n<=r&&o>=n&&o<=r&&t(e[o],o)||r<n&&(o<=r||o>=n)&&t(e[o],o)?a++:a>0&&(e[o-a]=e[o]);return a>0&&(e.length=i-a),a}e.removeAllWhere=removeAllWhere})(u||={}),(function(e){function rangeLength(e,t,n){return n===0?1/0:e>t&&n>0||e<t&&n<0?0:Math.ceil((t-e)/n)}e.rangeLength=rangeLength})(d||={}),(function(e){function findIndices(e,t,n=0){let r=Array(t.length);for(let i=0,a=n,o=t.length;i<o;++i,++a){if(a=e.indexOf(t[i],a),a===-1)return null;r[i]=a}return r}e.findIndices=findIndices;function matchSumOfSquares(e,t,n=0){let r=findIndices(e,t,n);if(!r)return null;let i=0;for(let e=0,t=r.length;e<t;++e){let t=r[e]-n;i+=t*t}return{score:i,indices:r}}e.matchSumOfSquares=matchSumOfSquares;function matchSumOfDeltas(e,t,n=0){let r=findIndices(e,t,n);if(!r)return null;let i=0,a=n-1;for(let e=0,t=r.length;e<t;++e){let t=r[e];i+=t-a-1,a=t}return{score:i,indices:r}}e.matchSumOfDeltas=matchSumOfDeltas;function highlight(e,t,n){let r=[],i=0,a=0,o=t.length;for(;i<o;){let s=t[i],c=t[i];for(;++i<o&&t[i]===c+1;)c++;a<s&&r.push(e.slice(a,s)),s<c+1&&r.push(n(e.slice(s,c+1))),a=c+1}return a<e.length&&r.push(e.slice(a)),r}e.highlight=highlight;function cmp(e,t){return e<t?-1:+(e>t)}e.cmp=cmp})(f||={})})),m=__commonJSMin(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?r(e,(p(),__toCommonJS(l))):typeof define==`function`&&define.amd?define([`exports`,`@lumino/algorithm`],r):(n=typeof globalThis<`u`?globalThis:n||self,r(n.lumino_coreutils={},n.lumino_algorithm))})(e,(function(e,t){"use strict";e.JSONExt=void 0,(function(e){e.emptyObject=Object.freeze({}),e.emptyArray=Object.freeze([]);function isPrimitive(e){return e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`}e.isPrimitive=isPrimitive;function isArray(e){return Array.isArray(e)}e.isArray=isArray;function isObject(e){return!isPrimitive(e)&&!isArray(e)}e.isObject=isObject;function deepEqual(e,t){if(e===t)return!0;if(isPrimitive(e)||isPrimitive(t))return!1;let n=isArray(e),r=isArray(t);return n===r?n&&r?deepArrayEqual(e,t):deepObjectEqual(e,t):!1}e.deepEqual=deepEqual;function deepCopy(e){return isPrimitive(e)?e:isArray(e)?deepArrayCopy(e):deepObjectCopy(e)}e.deepCopy=deepCopy;function deepArrayEqual(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;n<r;++n)if(!deepEqual(e[n],t[n]))return!1;return!0}function deepObjectEqual(e,t){if(e===t)return!0;for(let n in e)if(e[n]!==void 0&&!(n in t))return!1;for(let n in t)if(t[n]!==void 0&&!(n in e))return!1;for(let n in e){let r=e[n],i=t[n];if(!(r===void 0&&i===void 0)&&(r===void 0||i===void 0||!deepEqual(r,i)))return!1}return!0}function deepArrayCopy(e){let t=Array(e.length);for(let n=0,r=e.length;n<r;++n)t[n]=deepCopy(e[n]);return t}function deepObjectCopy(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=deepCopy(r))}return t}})(e.JSONExt||={});class MimeData{constructor(){this._types=[],this._values=[]}types(){return this._types.slice()}hasData(e){return this._types.indexOf(e)!==-1}getData(e){let t=this._types.indexOf(e);return t===-1?void 0:this._values[t]}setData(e,t){this.clearData(e),this._types.push(e),this._values.push(t)}clearData(e){let t=this._types.indexOf(e);t!==-1&&(this._types.splice(t,1),this._values.splice(t,1))}clear(){this._types.length=0,this._values.length=0}}class PluginRegistry{constructor(e={}){this._application=null,this._validatePlugin=()=>!0,this._plugins=new Map,this._services=new Map,e.validatePlugin&&(console.info(`Plugins may be rejected by the custom validation plugin method.`),this._validatePlugin=e.validatePlugin)}get application(){return this._application}set application(e){if(this._application!==null)throw Error(`PluginRegistry.application is already set. It cannot be overridden.`);this._application=e}get deferredPlugins(){return Array.from(this._plugins).filter(([e,t])=>t.autoStart===`defer`).map(([e,t])=>e)}getPluginDescription(e){return this._plugins.get(e)?.description??``}hasPlugin(e){return this._plugins.has(e)}isPluginActivated(e){return this._plugins.get(e)?.activated??!1}listPlugins(){return Array.from(this._plugins.keys())}registerPlugin(e){if(this._plugins.has(e.id))throw TypeError(`Plugin '${e.id}' is already registered.`);if(!this._validatePlugin(e))throw Error(`Plugin '${e.id}' is not valid.`);let t=n.createPluginData(e);n.ensureNoCycle(t,this._plugins,this._services),t.provides&&this._services.set(t.provides,t.id),this._plugins.set(t.id,t)}registerPlugins(e){for(let t of e)this.registerPlugin(t)}deregisterPlugin(e,t){let n=this._plugins.get(e);if(n){if(n.activated&&!t)throw Error(`Plugin '${e}' is still active.`);this._plugins.delete(e)}}async activatePlugin(e){let t=this._plugins.get(e);if(!t)throw ReferenceError(`Plugin '${e}' is not registered.`);if(t.activated)return;if(t.promise)return t.promise;let n=t.requires.map(e=>this.resolveRequiredService(e)),r=t.optional.map(e=>this.resolveOptionalService(e));return t.promise=Promise.all([...n,...r]).then(e=>t.activate.apply(void 0,[this.application,...e])).then(e=>{t.service=e,t.activated=!0,t.promise=null}).catch(e=>{throw t.promise=null,e}),t.promise}async activatePlugins(e,t={}){switch(e){case`defer`:{let e=this.deferredPlugins.filter(e=>this._plugins.get(e).autoStart).map(e=>this.activatePlugin(e));await Promise.all(e);break}case`startUp`:{let e=n.collectStartupPlugins(this._plugins,t).map(async e=>{try{return await this.activatePlugin(e)}catch(t){console.error(`Plugin '${e}' failed to activate.`,t)}});await Promise.all(e);break}}}async deactivatePlugin(e){let t=this._plugins.get(e);if(!t)throw ReferenceError(`Plugin '${e}' is not registered.`);if(!t.activated)return[];if(!t.deactivate)throw TypeError(`Plugin '${e}'#deactivate() method missing`);let r=n.findDependents(e,this._plugins,this._services),i=r.map(e=>this._plugins.get(e));for(let t of i)if(!t.deactivate)throw TypeError(`Plugin ${t.id}#deactivate() method missing (depends on ${e})`);for(let e of i){let t=[...e.requires,...e.optional].map(e=>{let t=this._services.get(e);return t?this._plugins.get(t).service:null});await e.deactivate(this.application,...t),e.service=null,e.activated=!1}return r.pop(),r}async resolveRequiredService(e){let t=this._services.get(e);if(!t)throw TypeError(`No provider for: ${e.name}.`);let n=this._plugins.get(t);return n.activated||await this.activatePlugin(t),n.service}async resolveOptionalService(e){let t=this._services.get(e);if(!t)return null;let n=this._plugins.get(t);if(!n.activated)try{await this.activatePlugin(t)}catch(e){return console.error(e),null}return n.service}}var n;(function(e){class PluginData{constructor(e){this._activated=!1,this._promise=null,this._service=null,this.id=e.id,this.description=e.description??``,this.activate=e.activate,this.deactivate=e.deactivate??null,this.provides=e.provides??null,this.autoStart=e.autoStart??!1,this.requires=e.requires?e.requires.slice():[],this.optional=e.optional?e.optional.slice():[]}get activated(){return this._activated}set activated(e){this._activated=e}get service(){return this._service}set service(e){this._service=e}get promise(){return this._promise}set promise(e){this._promise=e}}function createPluginData(e){return new PluginData(e)}e.createPluginData=createPluginData;function ensureNoCycle(e,t,n){let r=[...e.requires,...e.optional],visit=r=>{if(r===e.provides)return!0;let a=n.get(r);if(!a)return!1;let o=t.get(a),s=[...o.requires,...o.optional];return s.length===0?!1:(i.push(a),s.some(visit)?!0:(i.pop(),!1))};if(!e.provides||r.length===0)return;let i=[e.id];if(r.some(visit))throw ReferenceError(`Cycle detected: ${i.join(` -> `)}.`)}e.ensureNoCycle=ensureNoCycle;function findDependents(e,n,r){let i=[],add=e=>{let t=n.get(e),a=[...t.requires,...t.optional];i.push(...a.reduce((t,n)=>{let i=r.get(n);return i&&t.push([e,i]),t},[]))};for(let e of n.keys())add(e);let a=i.filter(t=>t[1]===e),o=0;for(;a.length>o;){let e=a.length,t=new Set(a.map(e=>e[0]));for(let e of t)i.filter(t=>t[1]===e).forEach(e=>{a.includes(e)||a.push(e)});o=e}let s=t.topologicSort(a),c=s.findIndex(t=>t===e);return c===-1?[e]:s.slice(0,c+1)}e.findDependents=findDependents;function collectStartupPlugins(e,t){let n=new Set;for(let t of e.keys())e.get(t).autoStart===!0&&n.add(t);if(t.startPlugins)for(let e of t.startPlugins)n.add(e);if(t.ignorePlugins)for(let e of t.ignorePlugins)n.delete(e);return Array.from(n)}e.collectStartupPlugins=collectStartupPlugins})(n||={});class PromiseDelegate{constructor(){this.promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}resolve(e){let t=this._resolve;t(e)}reject(e){let t=this._reject;t(e)}}class Token{constructor(e,t){this.name=e,this.description=t??``,this._tokenStructuralPropertyT=null}}function fallbackRandomValues(e){let t=0;for(let n=0,r=e.length;n<r;++n)n%4==0&&(t=Math.random()*4294967295>>>0),e[n]=t&255,t>>>=8}e.Random=void 0,(function(e){e.getRandomValues=(()=>{let e=typeof window<`u`&&(window.crypto||window.msCrypto)||null;return e&&typeof e.getRandomValues==`function`?function getRandomValues(t){return e.getRandomValues(t)}:fallbackRandomValues})()})(e.Random||={});function uuid4Factory(e){let t=new Uint8Array(16),n=Array(256);for(let e=0;e<16;++e)n[e]=`0`+e.toString(16);for(let e=16;e<256;++e)n[e]=e.toString(16);return function uuid4(){return e(t),t[6]=64|t[6]&15,t[8]=128|t[8]&63,n[t[0]]+n[t[1]]+n[t[2]]+n[t[3]]+`-`+n[t[4]]+n[t[5]]+`-`+n[t[6]]+n[t[7]]+`-`+n[t[8]]+n[t[9]]+`-`+n[t[10]]+n[t[11]]+n[t[12]]+n[t[13]]+n[t[14]]+n[t[15]]}}e.UUID=void 0,(function(t){t.uuid4=uuid4Factory(e.Random.getRandomValues)})(e.UUID||={}),e.MimeData=MimeData,e.PluginRegistry=PluginRegistry,e.PromiseDelegate=PromiseDelegate,e.Token=Token}))}));p();var g=m(),Signal=class{constructor(e){this.sender=e}connect(e,t){return _.connect(this,e,t)}disconnect(e,t){return _.disconnect(this,e,t)}emit(e){_.emit(this,e)}};(function(e){function disconnectBetween(e,t){_.disconnectBetween(e,t)}e.disconnectBetween=disconnectBetween;function disconnectSender(e){_.disconnectSender(e)}e.disconnectSender=disconnectSender;function disconnectReceiver(e){_.disconnectReceiver(e)}e.disconnectReceiver=disconnectReceiver;function disconnectAll(e){_.disconnectAll(e)}e.disconnectAll=disconnectAll;function clearData(e){_.disconnectAll(e)}e.clearData=clearData;function getExceptionHandler(){return _.exceptionHandler}e.getExceptionHandler=getExceptionHandler;function setExceptionHandler(e){let t=_.exceptionHandler;return _.exceptionHandler=e,t}e.setExceptionHandler=setExceptionHandler})(Signal||={});var _;(function(e){e.exceptionHandler=e=>{console.error(e)};function connect(e,r,i){i||=void 0;let a=t.get(e.sender);if(a||(a=[],t.set(e.sender,a)),findConnection(a,e,r,i))return!1;let o=i||r,s=n.get(o);s||(s=[],n.set(o,s));let c={signal:e,slot:r,thisArg:i};return a.push(c),s.push(c),!0}e.connect=connect;function disconnect(e,r,i){i||=void 0;let a=t.get(e.sender);if(!a||a.length===0)return!1;let o=findConnection(a,e,r,i);if(!o)return!1;let s=i||r,c=n.get(s);return o.signal=null,scheduleCleanup(a),scheduleCleanup(c),!0}e.disconnect=disconnect;function disconnectBetween(e,r){let i=t.get(e);if(!i||i.length===0)return;let a=n.get(r);if(!(!a||a.length===0)){for(let t of a)t.signal&&t.signal.sender===e&&(t.signal=null);scheduleCleanup(i),scheduleCleanup(a)}}e.disconnectBetween=disconnectBetween;function disconnectSender(e){let r=t.get(e);if(!(!r||r.length===0)){for(let e of r){if(!e.signal)continue;let t=e.thisArg||e.slot;e.signal=null,scheduleCleanup(n.get(t))}scheduleCleanup(r)}}e.disconnectSender=disconnectSender;function disconnectReceiver(e){let r=n.get(e);if(!(!r||r.length===0)){for(let e of r){if(!e.signal)continue;let n=e.signal.sender;e.signal=null,scheduleCleanup(t.get(n))}scheduleCleanup(r)}}e.disconnectReceiver=disconnectReceiver;function disconnectAll(e){disconnectSender(e),disconnectReceiver(e)}e.disconnectAll=disconnectAll;function emit(e,n){let r=t.get(e.sender);if(!(!r||r.length===0))for(let t=0,i=r.length;t<i;++t){let i=r[t];i.signal===e&&invokeSlot(i,n)}}e.emit=emit;let t=new WeakMap,n=new WeakMap,r=new Set,i=typeof requestAnimationFrame==`function`?requestAnimationFrame:setImmediate;function findConnection(e,t,n,r){return find(e,e=>e.signal===t&&e.slot===n&&e.thisArg===r)}function invokeSlot(t,n){let{signal:r,slot:i,thisArg:a}=t;try{i.call(a,r.sender,n)}catch(t){e.exceptionHandler(t)}}function scheduleCleanup(e){r.size===0&&i(cleanupDirtySet),r.add(e)}function cleanupDirtySet(){r.forEach(cleanupConnections),r.clear()}function cleanupConnections(e){u.removeAllWhere(e,isDeadConnection)}function isDeadConnection(e){return e.signal===null}})(_||={});var DisposableDelegate=class{constructor(e){this._fn=e}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let e=this._fn;this._fn=null,e()}},DisposableSet=class{constructor(){this._isDisposed=!1,this._items=new Set}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._items.forEach(e=>{e.dispose()}),this._items.clear())}contains(e){return this._items.has(e)}add(e){this._items.add(e)}remove(e){this._items.delete(e)}clear(){this._items.clear()}};(function(e){function from(t){let n=new e;for(let e of t)n.add(e);return n}e.from=from})(DisposableSet||={});var ObservableDisposableSet=class extends DisposableSet{constructor(){super(...arguments),this._disposed=new Signal(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),Signal.clearData(this))}};(function(e){function from(t){let n=new e;for(let e of t)n.add(e);return n}e.from=from})(ObservableDisposableSet||={});var v;(function(e){function copyText(e){let t=document.body,handler=n=>{n.preventDefault(),n.stopPropagation(),n.clipboardData.setData(`text`,e),t.removeEventListener(`copy`,handler,!0)};t.addEventListener(`copy`,handler,!0),document.execCommand(`copy`)}e.copyText=copyText})(v||={});var y;(function(e){function boxSizing(e){let t=window.getComputedStyle(e),n=parseFloat(t.borderTopWidth)||0,r=parseFloat(t.borderLeftWidth)||0,i=parseFloat(t.borderRightWidth)||0,a=parseFloat(t.borderBottomWidth)||0,o=parseFloat(t.paddingTop)||0,s=parseFloat(t.paddingLeft)||0,c=parseFloat(t.paddingRight)||0,l=parseFloat(t.paddingBottom)||0;return{borderTop:n,borderLeft:r,borderRight:i,borderBottom:a,paddingTop:o,paddingLeft:s,paddingRight:c,paddingBottom:l,horizontalSum:r+s+c+i,verticalSum:n+o+l+a}}e.boxSizing=boxSizing;function sizeLimits(e){let t=window.getComputedStyle(e),n=parseFloat(t.minWidth)||0,r=parseFloat(t.minHeight)||0,i=parseFloat(t.maxWidth)||1/0,a=parseFloat(t.maxHeight)||1/0;return i=Math.max(n,i),a=Math.max(r,a),{minWidth:n,minHeight:r,maxWidth:i,maxHeight:a}}e.sizeLimits=sizeLimits;function hitTest(e,t,n){let r=e.getBoundingClientRect();return t>=r.left&&t<r.right&&n>=r.top&&n<r.bottom}e.hitTest=hitTest;function scrollIntoViewIfNeeded(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();if(!(r.top<=n.top&&r.bottom>=n.bottom)){if(r.top<n.top&&r.height<=n.height){e.scrollTop-=n.top-r.top;return}if(r.bottom>n.bottom&&r.height>=n.height){e.scrollTop-=n.top-r.top;return}if(r.top<n.top&&r.height>n.height){e.scrollTop-=n.bottom-r.bottom;return}if(r.bottom>n.bottom&&r.height<n.height){e.scrollTop-=n.bottom-r.bottom;return}}}e.scrollIntoViewIfNeeded=scrollIntoViewIfNeeded})(y||={});var b;(function(e){e.IS_MAC=!!navigator.platform.match(/Mac/i),e.IS_WIN=!!navigator.platform.match(/Win/i),e.IS_IE=/Trident/.test(navigator.userAgent),e.IS_EDGE=/Edge/.test(navigator.userAgent);function accelKey(t){return e.IS_MAC?t.metaKey:t.ctrlKey}e.accelKey=accelKey})(b||={});var x;(function(e){function calculateSpecificity(e){if(e in S.specificityCache)return S.specificityCache[e];let t=S.calculateSingle(e);return S.specificityCache[e]=t}e.calculateSpecificity=calculateSpecificity;function isValid(e){if(e in S.validityCache)return S.validityCache[e];let t=!0;try{S.testElem.querySelector(e)}catch{t=!1}return S.validityCache[e]=t}e.isValid=isValid;function matches(e,t){return S.protoMatchFunc.call(e,t)}e.matches=matches})(x||={});var S;(function(e){e.specificityCache=Object.create(null),e.validityCache=Object.create(null),e.testElem=document.createElement(`div`),e.protoMatchFunc=(()=>{let e=Element.prototype;return e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector||function(e){let t=this,n=t.ownerDocument?t.ownerDocument.querySelectorAll(e):[];return Array.prototype.indexOf.call(n,t)!==-1}})();function calculateSingle(e){e=e.split(`,`,1)[0];let l=0,u=0,d=0;function match(t){let n=e.match(t);return n===null?!1:(e=e.slice(n[0].length),!0)}for(e=e.replace(c,` $1 `);e.length>0;){if(match(t)){l++;continue}if(match(n)){u++;continue}if(match(r)){u++;continue}if(match(a)){d++;continue}if(match(o)){u++;continue}if(match(i)){d++;continue}if(!match(s))return 0}return l=Math.min(l,255),u=Math.min(u,255),d=Math.min(d,255),l<<16|u<<8|d}e.calculateSingle=calculateSingle;let t=/^#[^\s\+>~#\.\[:]+/,n=/^\.[^\s\+>~#\.\[:]+/,r=/^\[[^\]]+\]/,i=/^[^\s\+>~#\.\[:]+/,a=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,o=/^:[^\s\+>~#\.\[:]+/,s=/^[\s\+>~\*]+/,c=/:not\(([^\)]+)\)/g})(S||={});function getKeyboardLayout(){return ne.keyboardLayout}var ee=class KeycodeLayout{constructor(e,t,n=[]){this.name=e,this._codes=t,this._keys=KeycodeLayout.extractKeys(t),this._modifierKeys=KeycodeLayout.convertToKeySet(n)}keys(){return Object.keys(this._keys)}isValidKey(e){return e in this._keys}isModifierKey(e){return e in this._modifierKeys}keyForKeydownEvent(e){return this._codes[e.keyCode]||``}};(function(e){function extractKeys(e){let t=Object.create(null);for(let n in e)t[e[n]]=!0;return t}e.extractKeys=extractKeys;function convertToKeySet(e){let t=Object(null);for(let n=0,r=e.length;n<r;++n)t[e[n]]=!0;return t}e.convertToKeySet=convertToKeySet})(ee||={});var te=new ee(`en-us`,{8:`Backspace`,9:`Tab`,13:`Enter`,16:`Shift`,17:`Ctrl`,18:`Alt`,19:`Pause`,27:`Escape`,32:`Space`,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,48:`0`,49:`1`,50:`2`,51:`3`,52:`4`,53:`5`,54:`6`,55:`7`,56:`8`,57:`9`,59:`;`,61:`=`,65:`A`,66:`B`,67:`C`,68:`D`,69:`E`,70:`F`,71:`G`,72:`H`,73:`I`,74:`J`,75:`K`,76:`L`,77:`M`,78:`N`,79:`O`,80:`P`,81:`Q`,82:`R`,83:`S`,84:`T`,85:`U`,86:`V`,87:`W`,88:`X`,89:`Y`,90:`Z`,91:`Meta`,93:`ContextMenu`,96:`0`,97:`1`,98:`2`,99:`3`,100:`4`,101:`5`,102:`6`,103:`7`,104:`8`,105:`9`,106:`*`,107:`+`,109:`-`,110:`.`,111:`/`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,173:`-`,186:`;`,187:`=`,188:`,`,189:`-`,190:`.`,191:`/`,192:"`",219:`[`,220:`\\`,221:`]`,222:`'`,224:`Meta`},[`Shift`,`Ctrl`,`Alt`,`Meta`]),ne;(function(e){e.keyboardLayout=te})(ne||={}),p();var C=class CommandRegistry{constructor(){this._timerID=0,this._timerModifierID=0,this._replaying=!1,this._keystrokes=[],this._keydownEvents=[],this._keyBindings=[],this._exactKeyMatch=null,this._commands=new Map,this._commandChanged=new Signal(this),this._commandExecuted=new Signal(this),this._keyBindingChanged=new Signal(this),this._holdKeyBindingPromises=new Map}get commandChanged(){return this._commandChanged}get commandExecuted(){return this._commandExecuted}get keyBindingChanged(){return this._keyBindingChanged}get keyBindings(){return this._keyBindings}listCommands(){return Array.from(this._commands.keys())}hasCommand(e){return this._commands.has(e)}addCommand(e,t){if(this._commands.has(e))throw Error(`Command '${e}' already registered.`);return this._commands.set(e,w.createCommand(t)),this._commandChanged.emit({id:e,type:`added`}),new DisposableDelegate(()=>{this._commands.delete(e),this._commandChanged.emit({id:e,type:`removed`})})}notifyCommandChanged(e){if(e!==void 0&&!this._commands.has(e))throw Error(`Command '${e}' is not registered.`);this._commandChanged.emit({id:e,type:e?`changed`:`many-changed`})}describedBy(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return Promise.resolve(n?.describedBy.call(void 0,t)??{args:null})}label(e,t=g.JSONExt.emptyObject){return this._commands.get(e)?.label.call(void 0,t)??``}mnemonic(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.mnemonic.call(void 0,t):-1}icon(e,t=g.JSONExt.emptyObject){return this._commands.get(e)?.icon.call(void 0,t)}iconClass(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.iconClass.call(void 0,t):``}iconLabel(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.iconLabel.call(void 0,t):``}caption(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.caption.call(void 0,t):``}usage(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.usage.call(void 0,t):``}className(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.className.call(void 0,t):``}dataset(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.dataset.call(void 0,t):{}}isEnabled(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isEnabled.call(void 0,t):!1}isToggled(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isToggled.call(void 0,t):!1}isToggleable(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isToggleable:!1}isVisible(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isVisible.call(void 0,t):!1}execute(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);if(!n)return Promise.reject(Error(`Command '${e}' not registered.`));let r;try{r=n.execute.call(void 0,t)}catch(e){r=Promise.reject(e)}let i=Promise.resolve(r);return this._commandExecuted.emit({id:e,args:t,result:i}),i}addKeyBinding(e){let t=w.createKeyBinding(e);return this._keyBindings.push(t),this._keyBindingChanged.emit({binding:t,type:`added`}),new DisposableDelegate(()=>{u.removeFirstOf(this._keyBindings,t),this._keyBindingChanged.emit({binding:t,type:`removed`})})}processKeydownEvent(e){if(e.defaultPrevented||this._replaying)return;let t=CommandRegistry.keystrokeForKeydownEvent(e);if(!t){this._replayKeydownEvents(),this._clearPendingState();return}if(CommandRegistry.isModifierKeyPressed(e)){let{exact:n}=w.matchKeyBinding(this._keyBindings,[t],e);n?(e.preventDefault(),e.stopPropagation(),this._startModifierTimer(n)):this._clearModifierTimer();return}this._keystrokes.push(t);let{exact:n,partial:r}=w.matchKeyBinding(this._keyBindings,this._keystrokes,e),i=r.length!==0;if(!n&&!i){this._replayKeydownEvents(),this._clearPendingState();return}if((n?.preventDefault||r.some(e=>e.preventDefault))&&(e.preventDefault(),e.stopPropagation()),this._keydownEvents.push(e),n&&!i){this._executeKeyBinding(n),this._clearPendingState();return}n&&(this._exactKeyMatch=n),this._startTimer()}holdKeyBindingExecution(e,t){this._holdKeyBindingPromises.set(e,t)}processKeyupEvent(e){this._clearModifierTimer()}_startModifierTimer(e){this._clearModifierTimer(),this._timerModifierID=window.setTimeout(()=>{this._executeKeyBinding(e)},w.modifierkeyTimeOut)}_clearModifierTimer(){this._timerModifierID!==0&&(clearTimeout(this._timerModifierID),this._timerModifierID=0)}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout(()=>{this._onPendingTimeout()},w.CHORD_TIMEOUT)}_clearTimer(){this._timerID!==0&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){this._keydownEvents.length!==0&&(this._replaying=!0,this._keydownEvents.forEach(w.replayKeyEvent),this._replaying=!1)}async _executeKeyBinding(e){if(this._holdKeyBindingPromises.size!==0){let e=[...this._keydownEvents],t=(await Promise.race([Promise.all(e.map(async e=>this._holdKeyBindingPromises.get(e)??Promise.resolve(!0))),new Promise(e=>{setTimeout(()=>e([!1]),w.KEYBINDING_HOLD_TIMEOUT)})])).every(Boolean);if(this._holdKeyBindingPromises.clear(),!t)return}let{command:t,args:n}=e,r={_luminoEvent:{type:`keybinding`,keys:e.keys},...n};if(!this.hasCommand(t)||!this.isEnabled(t,r)){let n=this.hasCommand(t)?`enabled`:`registered`,r=`Cannot execute key binding '${e.keys.join(`, `)}':`,i=`command '${t}' is not ${n}.`;console.warn(`${r} ${i}`);return}await this.execute(t,r)}_clearPendingState(){this._clearTimer(),this._clearModifierTimer(),this._exactKeyMatch=null,this._keystrokes.length=0,this._keydownEvents.length=0}_onPendingTimeout(){this._timerID=0,this._exactKeyMatch?this._executeKeyBinding(this._exactKeyMatch):this._replayKeydownEvents(),this._clearPendingState()}};(function(e){function parseKeystroke(e){let t=``,n=!1,r=!1,i=!1,a=!1;for(let o of e.split(/\s+/))o===`Accel`?b.IS_MAC?r=!0:i=!0:o===`Alt`?n=!0:o===`Cmd`?r=!0:o===`Ctrl`?i=!0:o===`Shift`?a=!0:o.length>0&&(t=o);return{cmd:r,ctrl:i,alt:n,shift:a,key:t}}e.parseKeystroke=parseKeystroke;function normalizeKeystroke(e){let t=``,n=parseKeystroke(e);return n.ctrl&&(t+=`Ctrl `),n.alt&&(t+=`Alt `),n.shift&&(t+=`Shift `),n.cmd&&b.IS_MAC&&(t+=`Cmd `),n.key?t+n.key:t.trim()}e.normalizeKeystroke=normalizeKeystroke;function normalizeKeys(e){let t;return t=b.IS_WIN?e.winKeys||e.keys:b.IS_MAC?e.macKeys||e.keys:e.linuxKeys||e.keys,t.map(normalizeKeystroke)}e.normalizeKeys=normalizeKeys;function formatKeystroke(e){return typeof e==`string`?formatSingleKey(e):e.map(formatSingleKey).join(`, `);function formatSingleKey(e){let t=[],n=b.IS_MAC?` `:`+`,r=parseKeystroke(e);return r.ctrl&&t.push(`Ctrl`),r.alt&&t.push(`Alt`),r.shift&&t.push(`Shift`),b.IS_MAC&&r.cmd&&t.push(`Cmd`),t.push(r.key),t.map(w.formatKey).join(n)}}e.formatKeystroke=formatKeystroke;function isModifierKeyPressed(e){let t=getKeyboardLayout(),n=t.keyForKeydownEvent(e);return t.isModifierKey(n)}e.isModifierKeyPressed=isModifierKeyPressed;function keystrokeForKeydownEvent(e){let t=getKeyboardLayout(),n=t.keyForKeydownEvent(e),r=[];return e.ctrlKey&&r.push(`Ctrl`),e.altKey&&r.push(`Alt`),e.shiftKey&&r.push(`Shift`),e.metaKey&&b.IS_MAC&&r.push(`Cmd`),t.isModifierKey(n)||r.push(n),r.join(` `)}e.keystrokeForKeydownEvent=keystrokeForKeydownEvent})(C||={});var w;(function(e){e.CHORD_TIMEOUT=1e3,e.KEYBINDING_HOLD_TIMEOUT=1e3,e.modifierkeyTimeOut=500;function createCommand(e){return{execute:e.execute,describedBy:asFunc(typeof e.describedBy==`function`?e.describedBy:{args:null,...e.describedBy},()=>({args:null})),label:asFunc(e.label,emptyStringFunc),mnemonic:asFunc(e.mnemonic,negativeOneFunc),icon:asFunc(e.icon,undefinedFunc),iconClass:asFunc(e.iconClass,emptyStringFunc),iconLabel:asFunc(e.iconLabel,emptyStringFunc),caption:asFunc(e.caption,emptyStringFunc),usage:asFunc(e.usage,emptyStringFunc),className:asFunc(e.className,emptyStringFunc),dataset:asFunc(e.dataset,emptyDatasetFunc),isEnabled:e.isEnabled||trueFunc,isToggled:e.isToggled||falseFunc,isToggleable:e.isToggleable||!!e.isToggled,isVisible:e.isVisible||trueFunc}}e.createCommand=createCommand;function createKeyBinding(e){return{keys:C.normalizeKeys(e),selector:validateSelector(e),command:e.command,args:e.args||g.JSONExt.emptyObject,preventDefault:e.preventDefault??!0}}e.createKeyBinding=createKeyBinding;function matchKeyBinding(e,t,n){let r=null,i=[],a=1/0,o=0;for(let s=0,c=e.length;s<c;++s){let c=e[s],l=matchSequence(c.keys,t);if(l===0)continue;if(l===2){targetDistance(c.selector,n)!==-1&&i.push(c);continue}let u=targetDistance(c.selector,n);if(u===-1||u>a)continue;let d=x.calculateSpecificity(c.selector);(!r||u<a||d>=o)&&(r=c,a=u,o=d)}return{exact:r,partial:i}}e.matchKeyBinding=matchKeyBinding;function replayKeyEvent(e){e.target.dispatchEvent(cloneKeyboardEvent(e))}e.replayKeyEvent=replayKeyEvent;function formatKey(e){return b.IS_MAC?t.hasOwnProperty(e)?t[e]:e:n.hasOwnProperty(e)?n[e]:e}e.formatKey=formatKey;let t={Backspace:`⌫`,Tab:`⇥`,Enter:`⏎`,Shift:`⇧`,Ctrl:`⌃`,Alt:`⌥`,Escape:`⎋`,PageUp:`⇞`,PageDown:`⇟`,End:`↘`,Home:`↖`,ArrowLeft:`←`,ArrowUp:`↑`,ArrowRight:`→`,ArrowDown:`↓`,Delete:`⌦`,Cmd:`⌘`},n={Escape:`Esc`,PageUp:`Page Up`,PageDown:`Page Down`,ArrowLeft:`Left`,ArrowUp:`Up`,ArrowRight:`Right`,ArrowDown:`Down`,Delete:`Del`},emptyStringFunc=()=>``,negativeOneFunc=()=>-1,trueFunc=()=>!0,falseFunc=()=>!1,emptyDatasetFunc=()=>({}),undefinedFunc=()=>void 0;function asFunc(e,t){return e===void 0?t:typeof e==`function`?e:()=>e}function validateSelector(e){if(e.selector.indexOf(`,`)!==-1)throw Error(`Selector cannot contain commas: ${e.selector}`);if(!x.isValid(e.selector))throw Error(`Invalid selector: ${e.selector}`);return e.selector}function matchSequence(e,t){if(e.length<t.length)return 0;for(let n=0,r=t.length;n<r;++n)if(e[n]!==t[n])return 0;return e.length>t.length?2:1}function targetDistance(e,t){let n=t.target,r=t.currentTarget;for(let t=0;n!==null;n=n.parentElement,++t){if(n.hasAttribute(`data-lm-suppress-shortcuts`))return-1;if(x.matches(n,e))return t;if(n===r)return-1}return-1}function cloneKeyboardEvent(e){let t=document.createEvent(`Event`),n=e.bubbles||!0,r=e.cancelable||!0;return t.initEvent(e.type||`keydown`,n,r),t.key=e.key||``,t.keyCode=e.keyCode||0,t.which=e.keyCode||0,t.ctrlKey=e.ctrlKey||!1,t.altKey=e.altKey||!1,t.shiftKey=e.shiftKey||!1,t.metaKey=e.metaKey||!1,t.view=e.view||window,t}})(w||={});var LinkedList=class{constructor(){this._first=null,this._last=null,this._size=0}get isEmpty(){return this._size===0}get size(){return this._size}get length(){return this._size}get first(){return this._first?this._first.value:void 0}get last(){return this._last?this._last.value:void 0}get firstNode(){return this._first}get lastNode(){return this._last}*[Symbol.iterator](){let e=this._first;for(;e;)yield e.value,e=e.next}*retro(){let e=this._last;for(;e;)yield e.value,e=e.prev}*nodes(){let e=this._first;for(;e;)yield e,e=e.next}*retroNodes(){let e=this._last;for(;e;)yield e,e=e.prev}assign(e){this.clear();for(let t of e)this.addLast(t)}push(e){this.addLast(e)}pop(){return this.removeLast()}shift(e){this.addFirst(e)}unshift(){return this.removeFirst()}addFirst(e){let t=new T.LinkedListNode(this,e);return this._first?(t.next=this._first,this._first.prev=t,this._first=t):(this._first=t,this._last=t),this._size++,t}addLast(e){let t=new T.LinkedListNode(this,e);return this._last?(t.prev=this._last,this._last.next=t,this._last=t):(this._first=t,this._last=t),this._size++,t}insertBefore(e,t){if(!t||t===this._first)return this.addFirst(e);if(!(t instanceof T.LinkedListNode)||t.list!==this)throw Error(`Reference node is not owned by the list.`);let n=new T.LinkedListNode(this,e),r=t,i=r.prev;return n.next=r,n.prev=i,r.prev=n,i.next=n,this._size++,n}insertAfter(e,t){if(!t||t===this._last)return this.addLast(e);if(!(t instanceof T.LinkedListNode)||t.list!==this)throw Error(`Reference node is not owned by the list.`);let n=new T.LinkedListNode(this,e),r=t,i=r.next;return n.next=i,n.prev=r,r.next=n,i.prev=n,this._size++,n}removeFirst(){let e=this._first;if(e)return e===this._last?(this._first=null,this._last=null):(this._first=e.next,this._first.prev=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeLast(){let e=this._last;if(e)return e===this._first?(this._first=null,this._last=null):(this._last=e.prev,this._last.next=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeNode(e){if(!(e instanceof T.LinkedListNode)||e.list!==this)throw Error(`Node is not owned by the list.`);let t=e;t===this._first&&t===this._last?(this._first=null,this._last=null):t===this._first?(this._first=t.next,this._first.prev=null):t===this._last?(this._last=t.prev,this._last.next=null):(t.next.prev=t.prev,t.prev.next=t.next),t.list=null,t.next=null,t.prev=null,this._size--}clear(){let e=this._first;for(;e;){let t=e.next;e.list=null,e.prev=null,e.next=null,e=t}this._first=null,this._last=null,this._size=0}};(function(e){function from(t){let n=new e;return n.assign(t),n}e.from=from})(LinkedList||={});var T;(function(e){class LinkedListNode{constructor(e,t){this.list=null,this.next=null,this.prev=null,this.list=e,this.value=t}}e.LinkedListNode=LinkedListNode})(T||={}),p();var Message=class{constructor(e){this.type=e}get isConflatable(){return!1}conflate(e){return!1}},ConflatableMessage=class extends Message{get isConflatable(){return!0}conflate(e){return!0}},E;(function(e){let t=null,n=(e=>t=>{let n=!1;return e.then(()=>!n&&t()),()=>{n=!0}})(Promise.resolve());function sendMessage(e,t){let n=i.get(e);if(!n||n.length===0){invokeHandler(e,t);return}every(retro(n),n=>n?invokeHook(n,e,t):!0)&&invokeHandler(e,t)}e.sendMessage=sendMessage;function postMessage(e,t){if(!t.isConflatable){enqueueMessage(e,t);return}some(r,n=>n.handler!==e||!n.msg||n.msg.type!==t.type||!n.msg.isConflatable?!1:n.msg.conflate(t))||enqueueMessage(e,t)}e.postMessage=postMessage;function installMessageHook(e,t){let n=i.get(e);n&&n.indexOf(t)!==-1||(n?n.push(t):i.set(e,[t]))}e.installMessageHook=installMessageHook;function removeMessageHook(e,t){let n=i.get(e);if(!n)return;let r=n.indexOf(t);r!==-1&&(n[r]=null,scheduleCleanup(n))}e.removeMessageHook=removeMessageHook;function clearData(e){let t=i.get(e);t&&t.length>0&&(u.fill(t,null),scheduleCleanup(t));for(let t of r)t.handler===e&&(t.handler=null,t.msg=null)}e.clearData=clearData;function flush(){o||t===null||(t(),t=null,o=!0,runMessageLoop(),o=!1)}e.flush=flush;function getExceptionHandler(){return exceptionHandler}e.getExceptionHandler=getExceptionHandler;function setExceptionHandler(e){let t=exceptionHandler;return exceptionHandler=e,t}e.setExceptionHandler=setExceptionHandler;let r=new LinkedList,i=new WeakMap,a=new Set,exceptionHandler=e=>{console.error(e)},o=!1;function invokeHook(e,t,n){let r=!0;try{r=typeof e==`function`?e(t,n):e.messageHook(t,n)}catch(e){exceptionHandler(e)}return r}function invokeHandler(e,t){try{e.processMessage(t)}catch(e){exceptionHandler(e)}}function enqueueMessage(e,i){r.addLast({handler:e,msg:i}),t===null&&(t=n(runMessageLoop))}function runMessageLoop(){if(t=null,r.isEmpty)return;let e={handler:null,msg:null};for(r.addLast(e);;){let t=r.removeFirst();if(t===e)return;t.handler&&t.msg&&sendMessage(t.handler,t.msg)}}function scheduleCleanup(e){a.size===0&&n(cleanupDirtySet),a.add(e)}function cleanupDirtySet(){a.forEach(cleanupHooks),a.clear()}function cleanupHooks(e){u.removeAllWhere(e,isNull)}function isNull(e){return e===null}})(E||={});var AttachedProperty=class{constructor(e){this._pid=D.nextPID(),this.name=e.name,this._create=e.create,this._coerce=e.coerce||null,this._compare=e.compare||null,this._changed=e.changed||null}get(e){let t,n=D.ensureMap(e);return t=this._pid in n?n[this._pid]:n[this._pid]=this._createValue(e),t}set(e,t){let n,r=D.ensureMap(e);n=this._pid in r?r[this._pid]:r[this._pid]=this._createValue(e);let i=this._coerceValue(e,t);this._maybeNotify(e,n,r[this._pid]=i)}coerce(e){let t,n=D.ensureMap(e);t=this._pid in n?n[this._pid]:n[this._pid]=this._createValue(e);let r=this._coerceValue(e,t);this._maybeNotify(e,t,n[this._pid]=r)}_createValue(e){let t=this._create;return t(e)}_coerceValue(e,t){let n=this._coerce;return n?n(e,t):t}_compareValue(e,t){let n=this._compare;return n?n(e,t):e===t}_maybeNotify(e,t,n){let r=this._changed;r&&!this._compareValue(t,n)&&r(e,t,n)}};(function(e){function clearData(e){D.ownerData.delete(e)}e.clearData=clearData})(AttachedProperty||={});var D;(function(e){e.ownerData=new WeakMap,e.nextPID=(()=>{let e=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${e++}`})();function ensureMap(t){let n=e.ownerData.get(t);return n||(n=Object.create(null),e.ownerData.set(t,n),n)}e.ensureMap=ensureMap})(D||={});var O=class Drag{constructor(e){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:e,edge:t,distance:n}=this._scrollTarget,r=((k.SCROLL_EDGE_SIZE-n)/k.SCROLL_EDGE_SIZE)**2,i=Math.max(1,Math.round(r*k.SCROLL_EDGE_SIZE));switch(t){case`top`:e.scrollTop-=i;break;case`left`:e.scrollLeft-=i;break;case`right`:e.scrollLeft+=i;break;case`bottom`:e.scrollTop+=i;break}requestAnimationFrame(this._onScrollFrame)},this._disposed=!1,this._dropAction=`none`,this._override=null,this._currentTarget=null,this._currentElement=null,this._promise=null,this._scrollTarget=null,this._resolve=null,this.document=e.document||document,this.mimeData=e.mimeData,this.dragImage=e.dragImage||null,this.proposedAction=e.proposedAction||`copy`,this.supportedActions=e.supportedActions||`all`,this.source=e.source||null}dispose(){if(!this._disposed){if(this._disposed=!0,this._currentTarget){let e=new PointerEvent(`pointerup`,{bubbles:!0,cancelable:!0,clientX:-1,clientY:-1});k.dispatchDragLeave(this,this._currentTarget,null,e)}this._finalize(`none`)}}get isDisposed(){return this._disposed}start(e,t){if(this._disposed)return Promise.resolve(`none`);if(this._promise)return this._promise;this._addListeners(),this._attachDragImage(e,t),this._promise=new Promise(e=>{this._resolve=e});let n=new PointerEvent(`pointermove`,{bubbles:!0,cancelable:!0,clientX:e,clientY:t});return document.dispatchEvent(n),this._promise}handleEvent(e){switch(e.type){case`pointermove`:this._evtPointerMove(e);break;case`pointerup`:this._evtPointerUp(e);break;case`keydown`:this._evtKeyDown(e);break;default:e.preventDefault(),e.stopPropagation();break}}moveDragImage(e,t){if(!this.dragImage)return;let n=this.dragImage.style;n.transform=`translate(${e}px, ${t}px)`}_evtPointerMove(e){e.preventDefault(),e.stopPropagation(),this._updateCurrentTarget(e),this._updateDragScroll(e),this.moveDragImage(e.clientX,e.clientY)}_evtPointerUp(e){if(e.preventDefault(),e.stopPropagation(),e.button!==0)return;if(this._updateCurrentTarget(e),!this._currentTarget){this._finalize(`none`);return}if(this._dropAction===`none`){k.dispatchDragLeave(this,this._currentTarget,null,e),this._finalize(`none`);return}let t=k.dispatchDrop(this,this._currentTarget,e);this._finalize(t)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),e.keyCode===27&&this.dispose()}_addListeners(){document.addEventListener(`pointerdown`,this,!0),document.addEventListener(`pointermove`,this,!0),document.addEventListener(`pointerup`,this,!0),document.addEventListener(`pointerenter`,this,!0),document.addEventListener(`pointerleave`,this,!0),document.addEventListener(`pointerover`,this,!0),document.addEventListener(`pointerout`,this,!0),document.addEventListener(`keydown`,this,!0),document.addEventListener(`keyup`,this,!0),document.addEventListener(`keypress`,this,!0),document.addEventListener(`contextmenu`,this,!0)}_removeListeners(){document.removeEventListener(`pointerdown`,this,!0),document.removeEventListener(`pointermove`,this,!0),document.removeEventListener(`pointerup`,this,!0),document.removeEventListener(`pointerenter`,this,!0),document.removeEventListener(`pointerleave`,this,!0),document.removeEventListener(`pointerover`,this,!0),document.removeEventListener(`pointerout`,this,!0),document.removeEventListener(`keydown`,this,!0),document.removeEventListener(`keyup`,this,!0),document.removeEventListener(`keypress`,this,!0),document.removeEventListener(`contextmenu`,this,!0)}_updateDragScroll(e){let t=k.findScrollTarget(e);!this._scrollTarget&&!t||(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=t)}_updateCurrentTarget(e){let t=this._currentTarget,n=this._currentTarget,r=this._currentElement,i=k.findElementBehindBackdrop(e,this.document);this._currentElement=i,i!==r&&i!==n&&k.dispatchDragExit(this,n,i,e),i!==r&&i!==n&&(n=k.dispatchDragEnter(this,i,n,e)),n!==t&&(this._currentTarget=n,k.dispatchDragLeave(this,t,n,e));let a=k.dispatchDragOver(this,n,e);this._setDropAction(a)}_attachDragImage(e,t){if(!this.dragImage)return;this.dragImage.classList.add(`lm-mod-drag-image`);let n=this.dragImage.style;n.pointerEvents=`none`,n.position=`fixed`,n.transform=`translate(${e}px, ${t}px)`,(this.document instanceof Document?this.document.body:this.document.firstElementChild).appendChild(this.dragImage)}_detachDragImage(){if(!this.dragImage)return;let e=this.dragImage.parentNode;e&&e.removeChild(this.dragImage)}_setDropAction(e){if(e=k.validateAction(e,this.supportedActions),!(this._override&&this._dropAction===e))switch(e){case`none`:this._dropAction=e,this._override=Drag.overrideCursor(`no-drop`,this.document);break;case`copy`:this._dropAction=e,this._override=Drag.overrideCursor(`copy`,this.document);break;case`link`:this._dropAction=e,this._override=Drag.overrideCursor(`alias`,this.document);break;case`move`:this._dropAction=e,this._override=Drag.overrideCursor(`move`,this.document);break}}_finalize(e){let t=this._resolve;this._removeListeners(),this._detachDragImage(),this._override&&=(this._override.dispose(),null),this.mimeData.clear(),this._disposed=!0,this._dropAction=`none`,this._currentTarget=null,this._currentElement=null,this._scrollTarget=null,this._promise=null,this._resolve=null,t&&t(e)}};(function(e){class Event extends DragEvent{constructor(e,t){super(t.type,{bubbles:!0,cancelable:!0,altKey:e.altKey,button:e.button,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,detail:0,metaKey:e.metaKey,relatedTarget:t.related,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey,view:window});let{drag:n}=t;this.dropAction=`none`,this.mimeData=n.mimeData,this.proposedAction=n.proposedAction,this.supportedActions=n.supportedActions,this.source=n.source}}e.Event=Event;function overrideCursor(e,t=document){return k.overrideCursor(e,t)}e.overrideCursor=overrideCursor})(O||={});var k;(function(e){e.SCROLL_EDGE_SIZE=20;function validateAction(e,t){return r[e]&i[t]?e:`none`}e.validateAction=validateAction;function findElementBehindBackdrop(r,i=document){if(r){if(t&&r==t.event)return t.element;e.cursorBackdrop.style.zIndex=`-1000`;let n=i.elementFromPoint(r.clientX,r.clientY);return e.cursorBackdrop.style.zIndex=``,t={event:r,element:n},n}else{let t=e.cursorBackdrop.style.transform;if(n&&t===n.transform)return n.element;let r=e.cursorBackdrop.getBoundingClientRect();e.cursorBackdrop.style.zIndex=`-1000`;let a=i.elementFromPoint(r.left+r.width/2,r.top+r.height/2);return e.cursorBackdrop.style.zIndex=``,n={transform:t,element:a},a}}e.findElementBehindBackdrop=findElementBehindBackdrop;let t=null,n=null;function findScrollTarget(t){let n=t.clientX,r=t.clientY,i=findElementBehindBackdrop(t);for(;i;i=i.parentElement){if(!i.hasAttribute(`data-lm-dragscroll`))continue;let t=0,a=0;i===document.body&&(t=window.pageXOffset,a=window.pageYOffset);let o=i.getBoundingClientRect(),s=o.top+a,c=o.left+t,l=c+o.width,u=s+o.height;if(n<c||n>=l||r<s||r>=u)continue;let d=n-c+1,f=r-s+1,p=l-n,m=u-r,g=Math.min(d,f,p,m);if(g>e.SCROLL_EDGE_SIZE)continue;let _;switch(g){case m:_=`bottom`;break;case f:_=`top`;break;case p:_=`right`;break;case d:_=`left`;break;default:throw`unreachable`}let v=i.scrollWidth-i.clientWidth,y=i.scrollHeight-i.clientHeight,b;switch(_){case`top`:b=y>0&&i.scrollTop>0;break;case`left`:b=v>0&&i.scrollLeft>0;break;case`right`:b=v>0&&i.scrollLeft<v;break;case`bottom`:b=y>0&&i.scrollTop<y;break;default:throw`unreachable`}if(b)return{element:i,edge:_,distance:g}}return null}e.findScrollTarget=findScrollTarget;function dispatchDragEnter(e,t,n,r){if(!t)return null;let i=new O.Event(r,{drag:e,related:n,type:`lm-dragenter`});if(!t.dispatchEvent(i))return t;let a=e.document instanceof Document?e.document.body:e.document.firstElementChild;return t===a?n:(i=new O.Event(r,{drag:e,related:n,type:`lm-dragenter`}),a.dispatchEvent(i),a)}e.dispatchDragEnter=dispatchDragEnter;function dispatchDragExit(e,t,n,r){if(!t)return;let i=new O.Event(r,{drag:e,related:n,type:`lm-dragexit`});t.dispatchEvent(i)}e.dispatchDragExit=dispatchDragExit;function dispatchDragLeave(e,t,n,r){if(!t)return;let i=new O.Event(r,{drag:e,related:n,type:`lm-dragleave`});t.dispatchEvent(i)}e.dispatchDragLeave=dispatchDragLeave;function dispatchDragOver(e,t,n){if(!t)return`none`;let r=new O.Event(n,{drag:e,related:null,type:`lm-dragover`});return t.dispatchEvent(r)?`none`:r.dropAction}e.dispatchDragOver=dispatchDragOver;function dispatchDrop(e,t,n){if(!t)return`none`;let r=new O.Event(n,{drag:e,related:null,type:`lm-drop`});return t.dispatchEvent(r)?`none`:r.dropAction}e.dispatchDrop=dispatchDrop;let r={none:0,copy:1,link:2,move:4},i={none:r.none,copy:r.copy,link:r.link,move:r.move,"copy-link":r.copy|r.link,"copy-move":r.copy|r.move,"link-move":r.link|r.move,all:r.copy|r.link|r.move};function overrideCursor(t,n=document){let r=++o,i=n instanceof Document?n.body:n.firstElementChild;return e.cursorBackdrop.isConnected||(e.cursorBackdrop.style.transform=`scale(0)`,i.appendChild(e.cursorBackdrop),resetBackdropScroll(),document.addEventListener(`pointermove`,alignBackdrop,{capture:!0,passive:!0}),e.cursorBackdrop.addEventListener(`scroll`,propagateBackdropScroll,{capture:!0,passive:!0})),e.cursorBackdrop.style.cursor=t,new DisposableDelegate(()=>{r===o&&e.cursorBackdrop.isConnected&&(document.removeEventListener(`pointermove`,alignBackdrop,!0),e.cursorBackdrop.removeEventListener(`scroll`,propagateBackdropScroll,!0),i.removeChild(e.cursorBackdrop))})}e.overrideCursor=overrideCursor;function alignBackdrop(t){if(e.cursorBackdrop){e.cursorBackdrop.style.transform=`translate(${t.clientX}px, ${t.clientY}px)`;try{e.cursorBackdrop.hasPointerCapture(t.pointerId)||e.cursorBackdrop.setPointerCapture(t.pointerId)}catch{}}}function propagateBackdropScroll(t){if(!e.cursorBackdrop)return;let n=findElementBehindBackdrop();if(!n)return;let r=n.closest(`[data-lm-dragscroll]`);r&&(r.scrollTop+=e.cursorBackdrop.scrollTop-a,r.scrollLeft+=e.cursorBackdrop.scrollLeft-a,resetBackdropScroll())}function resetBackdropScroll(){e.cursorBackdrop.scrollTop=a,e.cursorBackdrop.scrollLeft=a}let a=500;function createCursorBackdrop(){let e=document.createElement(`div`);return e.classList.add(`lm-cursor-backdrop`),e}let o=0;e.cursorBackdrop=createCursorBackdrop()})(k||={}),p();var VirtualText=class{constructor(e){this.type=`text`,this.content=e}},VirtualElement=class{constructor(e,t,n,r){this.type=`element`,this.tag=e,this.attrs=t,this.children=n,this.renderer=r}};function h(e){let t={},n,r=[];for(let e=1,i=arguments.length;e<i;++e){let i=arguments[e];typeof i==`string`?r.push(new VirtualText(i)):i instanceof VirtualText||i instanceof VirtualElement?r.push(i):i instanceof Array?extend(r,i):(e===1||e===2)&&i&&typeof i==`object`&&(`render`in i?n=i:t=i)}return new VirtualElement(e,t,r,n);function extend(e,t){for(let n of t)typeof n==`string`?e.push(new VirtualText(n)):(n instanceof VirtualText||n instanceof VirtualElement)&&e.push(n)}}(function(e){e.a=e.bind(void 0,`a`),e.abbr=e.bind(void 0,`abbr`),e.address=e.bind(void 0,`address`),e.area=e.bind(void 0,`area`),e.article=e.bind(void 0,`article`),e.aside=e.bind(void 0,`aside`),e.audio=e.bind(void 0,`audio`),e.b=e.bind(void 0,`b`),e.bdi=e.bind(void 0,`bdi`),e.bdo=e.bind(void 0,`bdo`),e.blockquote=e.bind(void 0,`blockquote`),e.br=e.bind(void 0,`br`),e.button=e.bind(void 0,`button`),e.canvas=e.bind(void 0,`canvas`),e.caption=e.bind(void 0,`caption`),e.cite=e.bind(void 0,`cite`),e.code=e.bind(void 0,`code`),e.col=e.bind(void 0,`col`),e.colgroup=e.bind(void 0,`colgroup`),e.data=e.bind(void 0,`data`),e.datalist=e.bind(void 0,`datalist`),e.dd=e.bind(void 0,`dd`),e.del=e.bind(void 0,`del`),e.dfn=e.bind(void 0,`dfn`),e.div=e.bind(void 0,`div`),e.dl=e.bind(void 0,`dl`),e.dt=e.bind(void 0,`dt`),e.em=e.bind(void 0,`em`),e.embed=e.bind(void 0,`embed`),e.fieldset=e.bind(void 0,`fieldset`),e.figcaption=e.bind(void 0,`figcaption`),e.figure=e.bind(void 0,`figure`),e.footer=e.bind(void 0,`footer`),e.form=e.bind(void 0,`form`),e.h1=e.bind(void 0,`h1`),e.h2=e.bind(void 0,`h2`),e.h3=e.bind(void 0,`h3`),e.h4=e.bind(void 0,`h4`),e.h5=e.bind(void 0,`h5`),e.h6=e.bind(void 0,`h6`),e.header=e.bind(void 0,`header`),e.hr=e.bind(void 0,`hr`),e.i=e.bind(void 0,`i`),e.iframe=e.bind(void 0,`iframe`),e.img=e.bind(void 0,`img`),e.input=e.bind(void 0,`input`),e.ins=e.bind(void 0,`ins`),e.kbd=e.bind(void 0,`kbd`),e.label=e.bind(void 0,`label`),e.legend=e.bind(void 0,`legend`),e.li=e.bind(void 0,`li`),e.main=e.bind(void 0,`main`),e.map=e.bind(void 0,`map`),e.mark=e.bind(void 0,`mark`),e.meter=e.bind(void 0,`meter`),e.nav=e.bind(void 0,`nav`),e.noscript=e.bind(void 0,`noscript`),e.object=e.bind(void 0,`object`),e.ol=e.bind(void 0,`ol`),e.optgroup=e.bind(void 0,`optgroup`),e.option=e.bind(void 0,`option`),e.output=e.bind(void 0,`output`),e.p=e.bind(void 0,`p`),e.param=e.bind(void 0,`param`),e.pre=e.bind(void 0,`pre`),e.progress=e.bind(void 0,`progress`),e.q=e.bind(void 0,`q`),e.rp=e.bind(void 0,`rp`),e.rt=e.bind(void 0,`rt`),e.ruby=e.bind(void 0,`ruby`),e.s=e.bind(void 0,`s`),e.samp=e.bind(void 0,`samp`),e.section=e.bind(void 0,`section`),e.select=e.bind(void 0,`select`),e.small=e.bind(void 0,`small`),e.source=e.bind(void 0,`source`),e.span=e.bind(void 0,`span`),e.strong=e.bind(void 0,`strong`),e.sub=e.bind(void 0,`sub`),e.summary=e.bind(void 0,`summary`),e.sup=e.bind(void 0,`sup`),e.table=e.bind(void 0,`table`),e.tbody=e.bind(void 0,`tbody`),e.td=e.bind(void 0,`td`),e.textarea=e.bind(void 0,`textarea`),e.tfoot=e.bind(void 0,`tfoot`),e.th=e.bind(void 0,`th`),e.thead=e.bind(void 0,`thead`),e.time=e.bind(void 0,`time`),e.title=e.bind(void 0,`title`),e.tr=e.bind(void 0,`tr`),e.track=e.bind(void 0,`track`),e.u=e.bind(void 0,`u`),e.ul=e.bind(void 0,`ul`),e.var_=e.bind(void 0,`var`),e.video=e.bind(void 0,`video`),e.wbr=e.bind(void 0,`wbr`)})(h||={});var A;(function(e){function realize(e){return j.createDOMNode(e)}e.realize=realize;function render(e,t){let n=j.hostMap.get(t)||[],r=j.asContentArray(e);j.hostMap.set(t,r),j.updateContent(t,n,r)}e.render=render})(A||={});var j;(function(e){e.hostMap=new WeakMap;function asContentArray(e){return e?e instanceof Array?e:[e]:[]}e.asContentArray=asContentArray;function createDOMNode(e){let t=arguments[1]||null,n=arguments[2]||null;if(t)t.insertBefore(createDOMNode(e),n);else{if(e.type===`text`)return document.createTextNode(e.content);if(t=document.createElement(e.tag),addAttrs(t,e.attrs),e.renderer)return e.renderer.render(t,{attrs:e.attrs,children:e.children}),t;for(let n=0,r=e.children.length;n<r;++n)createDOMNode(e.children[n],t)}return t}e.createDOMNode=createDOMNode;function updateContent(e,t,n){if(t===n)return;let r=collectKeys(e,t),i=t.slice(),a=e.firstChild,o=n.length;for(let t=0;t<o;++t){if(t>=i.length){createDOMNode(n[t],e);continue}let o=i[t],s=n[t];if(o===s){a=a.nextSibling;continue}if(o.type===`text`&&s.type===`text`){a.textContent!==s.content&&(a.textContent=s.content),a=a.nextSibling;continue}if(o.type===`text`||s.type===`text`){u.insert(i,t,s),createDOMNode(s,e,a);continue}if(!o.renderer!=!s.renderer){u.insert(i,t,s),createDOMNode(s,e,a);continue}let c=s.attrs.key;if(c&&c in r){let n=r[c];n.vNode!==o&&(u.move(i,i.indexOf(n.vNode,t+1),t),e.insertBefore(n.element,a),o=n.vNode,a=n.element)}if(o===s){a=a.nextSibling;continue}let l=o.attrs.key;if(l&&l!==c){u.insert(i,t,s),createDOMNode(s,e,a);continue}if(o.tag!==s.tag){u.insert(i,t,s),createDOMNode(s,e,a);continue}updateAttrs(a,o.attrs,s.attrs),s.renderer?s.renderer.render(a,{attrs:s.attrs,children:s.children}):updateContent(a,o.children,s.children),a=a.nextSibling}removeContent(e,i,o,!0)}e.updateContent=updateContent;function removeContent(e,t,n,r){for(let i=t.length-1;i>=n;--i){let n=t[i],a=r?e.lastChild:e.childNodes[i];n.type===`text`||(n.renderer&&n.renderer.unrender?n.renderer.unrender(a,{attrs:n.attrs,children:n.children}):removeContent(a,n.children,0,!1)),r&&e.removeChild(a)}}let t={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function addAttrs(e,n){for(let r in n)r in t||(r.substr(0,2)===`on`?e[r]=n[r]:e.setAttribute(r,n[r]));n.className!==void 0&&e.setAttribute(`class`,n.className),n.htmlFor!==void 0&&e.setAttribute(`for`,n.htmlFor),n.dataset&&addDataset(e,n.dataset),n.style&&addStyle(e,n.style)}function updateAttrs(e,n,r){if(n===r)return;let i;for(i in n)i in t||i in r||(i.substr(0,2)===`on`?e[i]=null:e.removeAttribute(i));for(i in r)i in t||n[i]===r[i]||(i.substr(0,2)===`on`?e[i]=r[i]:e.setAttribute(i,r[i]));n.className!==r.className&&(r.className===void 0?e.removeAttribute(`class`):e.setAttribute(`class`,r.className)),n.htmlFor!==r.htmlFor&&(r.htmlFor===void 0?e.removeAttribute(`for`):e.setAttribute(`for`,r.htmlFor)),n.dataset!==r.dataset&&updateDataset(e,n.dataset||{},r.dataset||{}),n.style!==r.style&&updateStyle(e,n.style||{},r.style||{})}function addDataset(e,t){for(let n in t)e.setAttribute(`data-${n}`,t[n])}function updateDataset(e,t,n){for(let r in t)r in n||e.removeAttribute(`data-${r}`);for(let r in n)t[r]!==n[r]&&e.setAttribute(`data-${r}`,n[r])}function addStyle(e,t){let n=e.style,r;for(r in t)n[r]=t[r]}function updateStyle(e,t,n){let r=e.style,i;for(i in t)i in n||(r[i]=``);for(i in n)t[i]!==n[i]&&(r[i]=n[i])}function collectKeys(e,t){let n=e.firstChild,r=Object.create(null);for(let e of t)e.type===`element`&&e.attrs.key&&(r[e.attrs.key]={vNode:e,element:n}),n=n.nextSibling;return r}})(j||={}),p();var BoxSizer=class{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}},M;(function(e){function calc(e,t){let n=e.length;if(n===0)return t;let r=0,i=0,a=0,o=0,s=0;for(let t=0;t<n;++t){let n=e[t],c=n.minSize,l=n.maxSize,u=n.sizeHint;n.done=!1,n.size=Math.max(c,Math.min(u,l)),a+=n.size,r+=c,i+=l,n.stretch>0&&(o+=n.stretch,s++)}if(t===a)return 0;if(t<=r){for(let t=0;t<n;++t){let n=e[t];n.size=n.minSize}return t-r}if(t>=i){for(let t=0;t<n;++t){let n=e[t];n.size=n.maxSize}return t-i}let c=.01,l=n;if(t<a){let r=a-t;for(;s>0&&r>c;){let t=r,i=o;for(let a=0;a<n;++a){let n=e[a];if(n.done||n.stretch===0)continue;let c=n.stretch*t/i;n.size-c<=n.minSize?(r-=n.size-n.minSize,o-=n.stretch,n.size=n.minSize,n.done=!0,l--,s--):(r-=c,n.size-=c)}}for(;l>0&&r>c;){let t=r/l;for(let i=0;i<n;++i){let n=e[i];n.done||(n.size-t<=n.minSize?(r-=n.size-n.minSize,n.size=n.minSize,n.done=!0,l--):(r-=t,n.size-=t))}}}else{let r=t-a;for(;s>0&&r>c;){let t=r,i=o;for(let a=0;a<n;++a){let n=e[a];if(n.done||n.stretch===0)continue;let c=n.stretch*t/i;n.size+c>=n.maxSize?(r-=n.maxSize-n.size,o-=n.stretch,n.size=n.maxSize,n.done=!0,l--,s--):(r-=c,n.size+=c)}}for(;l>0&&r>c;){let t=r/l;for(let i=0;i<n;++i){let n=e[i];n.done||(n.size+t>=n.maxSize?(r-=n.maxSize-n.size,n.size=n.maxSize,n.done=!0,l--):(r-=t,n.size+=t))}}}return 0}e.calc=calc;function adjust(e,t,n){e.length===0||n===0||(n>0?growSizer(e,t,n):shrinkSizer(e,t,-n))}e.adjust=adjust;function growSizer(e,t,n){let r=0;for(let n=0;n<=t;++n){let t=e[n];r+=t.maxSize-t.size}let i=0;for(let n=t+1,r=e.length;n<r;++n){let t=e[n];i+=t.size-t.minSize}n=Math.min(n,r,i);let a=n;for(let n=t;n>=0&&a>0;--n){let t=e[n],r=t.maxSize-t.size;r>=a?(t.sizeHint=t.size+a,a=0):(t.sizeHint=t.size+r,a-=r)}let o=n;for(let n=t+1,r=e.length;n<r&&o>0;++n){let t=e[n],r=t.size-t.minSize;r>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-r,o-=r)}}function shrinkSizer(e,t,n){let r=0;for(let n=t+1,i=e.length;n<i;++n){let t=e[n];r+=t.maxSize-t.size}let i=0;for(let n=0;n<=t;++n){let t=e[n];i+=t.size-t.minSize}n=Math.min(n,r,i);let a=n;for(let n=t+1,r=e.length;n<r&&a>0;++n){let t=e[n],r=t.maxSize-t.size;r>=a?(t.sizeHint=t.size+a,a=0):(t.sizeHint=t.size+r,a-=r)}let o=n;for(let n=t;n>=0&&o>0;--n){let t=e[n],r=t.size-t.minSize;r>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-r,o-=r)}}})(M||={});var Title=class{constructor(e){this._label=``,this._caption=``,this._mnemonic=-1,this._icon=void 0,this._iconClass=``,this._iconLabel=``,this._className=``,this._closable=!1,this._changed=new Signal(this),this._isDisposed=!1,this.owner=e.owner,e.label!==void 0&&(this._label=e.label),e.mnemonic!==void 0&&(this._mnemonic=e.mnemonic),e.icon!==void 0&&(this._icon=e.icon),e.iconClass!==void 0&&(this._iconClass=e.iconClass),e.iconLabel!==void 0&&(this._iconLabel=e.iconLabel),e.caption!==void 0&&(this._caption=e.caption),e.className!==void 0&&(this._className=e.className),e.closable!==void 0&&(this._closable=e.closable),this._dataset=e.dataset||{}}get changed(){return this._changed}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._changed.emit(void 0))}get mnemonic(){return this._mnemonic}set mnemonic(e){this._mnemonic!==e&&(this._mnemonic=e,this._changed.emit(void 0))}get icon(){return this._icon}set icon(e){this._icon!==e&&(this._icon=e,this._changed.emit(void 0))}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass!==e&&(this._iconClass=e,this._changed.emit(void 0))}get iconLabel(){return this._iconLabel}set iconLabel(e){this._iconLabel!==e&&(this._iconLabel=e,this._changed.emit(void 0))}get caption(){return this._caption}set caption(e){this._caption!==e&&(this._caption=e,this._changed.emit(void 0))}get className(){return this._className}set className(e){this._className!==e&&(this._className=e,this._changed.emit(void 0))}get closable(){return this._closable}set closable(e){this._closable!==e&&(this._closable=e,this._changed.emit(void 0))}get dataset(){return this._dataset}set dataset(e){this._dataset!==e&&(this._dataset=e,this._changed.emit(void 0))}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,Signal.clearData(this))}},N=class Widget$1{static{__name(this,`Widget`)}constructor(e={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new Signal(this),this._hiddenMode=Widget$1.HiddenMode.Display,this.node=P.createNode(e),this.addClass(`lm-Widget`)}dispose(){this.isDisposed||(this.setFlag(Widget$1.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&&Widget$1.detach(this),this._layout&&=(this._layout.dispose(),null),this.title.dispose(),Signal.clearData(this),E.clearData(this),AttachedProperty.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(Widget$1.Flag.IsDisposed)}get isAttached(){return this.testFlag(Widget$1.Flag.IsAttached)}get isHidden(){return this.testFlag(Widget$1.Flag.IsHidden)}get isVisible(){let e=this;do{if(e.isHidden||!e.isAttached)return!1;e=e.parent}while(e!=null);return!0}get title(){return P.titleProperty.get(this)}get id(){return this.node.id}set id(e){this.node.id=e}get dataset(){return this.node.dataset}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){this._hiddenMode!==e&&(this.isHidden&&this._toggleHidden(!1),e==Widget$1.HiddenMode.Scale?this.node.style.willChange=`transform`:this.node.style.willChange=`auto`,this._hiddenMode=e,this.isHidden&&this._toggleHidden(!0))}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(e&&this.contains(e))throw Error(`Invalid parent widget.`);if(this._parent&&!this._parent.isDisposed){let e=new Widget$1.ChildMessage(`child-removed`,this);E.sendMessage(this._parent,e)}if(this._parent=e,this._parent&&!this._parent.isDisposed){let e=new Widget$1.ChildMessage(`child-added`,this);E.sendMessage(this._parent,e)}this.isDisposed||E.sendMessage(this,Widget$1.Msg.ParentChanged)}}get layout(){return this._layout}set layout(e){if(this._layout!==e){if(this.testFlag(Widget$1.Flag.DisallowLayout))throw Error(`Cannot set widget layout.`);if(this._layout)throw Error(`Cannot change widget layout.`);if(e.parent)throw Error(`Cannot change layout parent.`);this._layout=e,e.parent=this}}*children(){this._layout&&(yield*this._layout)}contains(e){for(let t=e;t;t=t._parent)if(t===this)return!0;return!1}hasClass(e){return this.node.classList.contains(e)}addClass(e){this.node.classList.add(e)}removeClass(e){this.node.classList.remove(e)}toggleClass(e,t){return t===!0?(this.node.classList.add(e),!0):t===!1?(this.node.classList.remove(e),!1):this.node.classList.toggle(e)}update(){E.postMessage(this,Widget$1.Msg.UpdateRequest)}fit(){E.postMessage(this,Widget$1.Msg.FitRequest)}activate(){E.postMessage(this,Widget$1.Msg.ActivateRequest)}close(){E.sendMessage(this,Widget$1.Msg.CloseRequest)}show(){if(this.testFlag(Widget$1.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&E.sendMessage(this,Widget$1.Msg.BeforeShow),this.clearFlag(Widget$1.Flag.IsHidden),this._toggleHidden(!1),this.isAttached&&(!this.parent||this.parent.isVisible)&&E.sendMessage(this,Widget$1.Msg.AfterShow),this.parent)){let e=new Widget$1.ChildMessage(`child-shown`,this);E.sendMessage(this.parent,e)}}hide(){if(!this.testFlag(Widget$1.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&E.sendMessage(this,Widget$1.Msg.BeforeHide),this.setFlag(Widget$1.Flag.IsHidden),this._toggleHidden(!0),this.isAttached&&(!this.parent||this.parent.isVisible)&&E.sendMessage(this,Widget$1.Msg.AfterHide),this.parent)){let e=new Widget$1.ChildMessage(`child-hidden`,this);E.sendMessage(this.parent,e)}}setHidden(e){e?this.hide():this.show()}testFlag(e){return(this._flags&e)!==0}setFlag(e){this._flags|=e}clearFlag(e){this._flags&=~e}processMessage(e){switch(e.type){case`resize`:this.notifyLayout(e),this.onResize(e);break;case`update-request`:this.notifyLayout(e),this.onUpdateRequest(e);break;case`fit-request`:this.notifyLayout(e),this.onFitRequest(e);break;case`before-show`:this.notifyLayout(e),this.onBeforeShow(e);break;case`after-show`:this.setFlag(Widget$1.Flag.IsVisible),this.notifyLayout(e),this.onAfterShow(e);break;case`before-hide`:this.notifyLayout(e),this.onBeforeHide(e);break;case`after-hide`:this.clearFlag(Widget$1.Flag.IsVisible),this.notifyLayout(e),this.onAfterHide(e);break;case`before-attach`:this.notifyLayout(e),this.onBeforeAttach(e);break;case`after-attach`:!this.isHidden&&(!this.parent||this.parent.isVisible)&&this.setFlag(Widget$1.Flag.IsVisible),this.setFlag(Widget$1.Flag.IsAttached),this.notifyLayout(e),this.onAfterAttach(e);break;case`before-detach`:this.notifyLayout(e),this.onBeforeDetach(e);break;case`after-detach`:this.clearFlag(Widget$1.Flag.IsVisible),this.clearFlag(Widget$1.Flag.IsAttached),this.notifyLayout(e),this.onAfterDetach(e);break;case`activate-request`:this.notifyLayout(e),this.onActivateRequest(e);break;case`close-request`:this.notifyLayout(e),this.onCloseRequest(e);break;case`child-added`:this.notifyLayout(e),this.onChildAdded(e);break;case`child-removed`:this.notifyLayout(e),this.onChildRemoved(e);break;default:this.notifyLayout(e);break}}notifyLayout(e){this._layout&&this._layout.processParentMessage(e)}onCloseRequest(e){this.parent?this.parent=null:this.isAttached&&Widget$1.detach(this)}onResize(e){}onUpdateRequest(e){}onFitRequest(e){}onActivateRequest(e){}onBeforeShow(e){}onAfterShow(e){}onBeforeHide(e){}onAfterHide(e){}onBeforeAttach(e){}onAfterAttach(e){}onBeforeDetach(e){}onAfterDetach(e){}onChildAdded(e){}onChildRemoved(e){}_toggleHidden(e){if(e)switch(this._hiddenMode){case Widget$1.HiddenMode.Display:this.addClass(`lm-mod-hidden`);break;case Widget$1.HiddenMode.Scale:this.node.style.transform=`scale(0)`,this.node.setAttribute(`aria-hidden`,`true`);break;case Widget$1.HiddenMode.ContentVisibility:this.node.style.contentVisibility=`hidden`,this.node.style.zIndex=`-1`;break}else switch(this._hiddenMode){case Widget$1.HiddenMode.Display:this.removeClass(`lm-mod-hidden`);break;case Widget$1.HiddenMode.Scale:this.node.style.transform=``,this.node.removeAttribute(`aria-hidden`);break;case Widget$1.HiddenMode.ContentVisibility:this.node.style.contentVisibility=``,this.node.style.zIndex=``;break}}};(function(e){(function(e){e[e.Display=0]=`Display`,e[e.Scale=1]=`Scale`,e[e.ContentVisibility=2]=`ContentVisibility`})(e.HiddenMode||={}),(function(e){e[e.IsDisposed=1]=`IsDisposed`,e[e.IsAttached=2]=`IsAttached`,e[e.IsHidden=4]=`IsHidden`,e[e.IsVisible=8]=`IsVisible`,e[e.DisallowLayout=16]=`DisallowLayout`})(e.Flag||={}),(function(e){e.BeforeShow=new Message(`before-show`),e.AfterShow=new Message(`after-show`),e.BeforeHide=new Message(`before-hide`),e.AfterHide=new Message(`after-hide`),e.BeforeAttach=new Message(`before-attach`),e.AfterAttach=new Message(`after-attach`),e.BeforeDetach=new Message(`before-detach`),e.AfterDetach=new Message(`after-detach`),e.ParentChanged=new Message(`parent-changed`),e.UpdateRequest=new ConflatableMessage(`update-request`),e.FitRequest=new ConflatableMessage(`fit-request`),e.ActivateRequest=new ConflatableMessage(`activate-request`),e.CloseRequest=new ConflatableMessage(`close-request`)})(e.Msg||={});class ChildMessage extends Message{constructor(e,t){super(e),this.child=t}}e.ChildMessage=ChildMessage;class ResizeMessage extends Message{constructor(e,t){super(`resize`),this.width=e,this.height=t}}e.ResizeMessage=ResizeMessage,(function(e){e.UnknownSize=new e(-1,-1)})(ResizeMessage=e.ResizeMessage||={});function attach(t,n,r=null){if(t.parent)throw Error(`Cannot attach a child widget.`);if(t.isAttached||t.node.isConnected)throw Error(`Widget is already attached.`);if(!n.isConnected)throw Error(`Host is not attached.`);E.sendMessage(t,e.Msg.BeforeAttach),n.insertBefore(t.node,r),E.sendMessage(t,e.Msg.AfterAttach)}e.attach=attach;function detach(t){if(t.parent)throw Error(`Cannot detach a child widget.`);if(!t.isAttached||!t.node.isConnected)throw Error(`Widget is not attached.`);E.sendMessage(t,e.Msg.BeforeDetach),t.node.parentNode.removeChild(t.node),E.sendMessage(t,e.Msg.AfterDetach)}e.detach=detach})(N||={});var P;(function(e){e.titleProperty=new AttachedProperty({name:`title`,create:e=>new Title({owner:e})});function createNode(e){return e.node||document.createElement(e.tag||`div`)}e.createNode=createNode})(P||={});var Layout=class{constructor(e={}){this._disposed=!1,this._parent=null,this._fitPolicy=e.fitPolicy||`set-min-size`}dispose(){this._parent=null,this._disposed=!0,Signal.clearData(this),AttachedProperty.clearData(this)}get isDisposed(){return this._disposed}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(this._parent)throw Error(`Cannot change parent widget.`);if(e.layout!==this)throw Error(`Invalid parent widget.`);this._parent=e,this.init()}}get fitPolicy(){return this._fitPolicy}set fitPolicy(e){if(this._fitPolicy!==e&&(this._fitPolicy=e,this._parent)){let e=this._parent.node.style;e.minWidth=``,e.minHeight=``,e.maxWidth=``,e.maxHeight=``,this._parent.fit()}}processParentMessage(e){switch(e.type){case`resize`:this.onResize(e);break;case`update-request`:this.onUpdateRequest(e);break;case`fit-request`:this.onFitRequest(e);break;case`before-show`:this.onBeforeShow(e);break;case`after-show`:this.onAfterShow(e);break;case`before-hide`:this.onBeforeHide(e);break;case`after-hide`:this.onAfterHide(e);break;case`before-attach`:this.onBeforeAttach(e);break;case`after-attach`:this.onAfterAttach(e);break;case`before-detach`:this.onBeforeDetach(e);break;case`after-detach`:this.onAfterDetach(e);break;case`child-removed`:this.onChildRemoved(e);break;case`child-shown`:this.onChildShown(e);break;case`child-hidden`:this.onChildHidden(e);break}}init(){for(let e of this)e.parent=this.parent}onResize(e){for(let e of this)E.sendMessage(e,N.ResizeMessage.UnknownSize)}onUpdateRequest(e){for(let e of this)E.sendMessage(e,N.ResizeMessage.UnknownSize)}onBeforeAttach(e){for(let t of this)E.sendMessage(t,e)}onAfterAttach(e){for(let t of this)E.sendMessage(t,e)}onBeforeDetach(e){for(let t of this)E.sendMessage(t,e)}onAfterDetach(e){for(let t of this)E.sendMessage(t,e)}onBeforeShow(e){for(let t of this)t.isHidden||E.sendMessage(t,e)}onAfterShow(e){for(let t of this)t.isHidden||E.sendMessage(t,e)}onBeforeHide(e){for(let t of this)t.isHidden||E.sendMessage(t,e)}onAfterHide(e){for(let t of this)t.isHidden||E.sendMessage(t,e)}onChildRemoved(e){this.removeWidget(e.child)}onFitRequest(e){}onChildShown(e){}onChildHidden(e){}};(function(e){function getHorizontalAlignment(e){return F.horizontalAlignmentProperty.get(e)}e.getHorizontalAlignment=getHorizontalAlignment;function setHorizontalAlignment(e,t){F.horizontalAlignmentProperty.set(e,t)}e.setHorizontalAlignment=setHorizontalAlignment;function getVerticalAlignment(e){return F.verticalAlignmentProperty.get(e)}e.getVerticalAlignment=getVerticalAlignment;function setVerticalAlignment(e,t){F.verticalAlignmentProperty.set(e,t)}e.setVerticalAlignment=setVerticalAlignment})(Layout||={});var LayoutItem=class{constructor(e){this._top=NaN,this._left=NaN,this._width=NaN,this._height=NaN,this._minWidth=0,this._minHeight=0,this._maxWidth=1/0,this._maxHeight=1/0,this._disposed=!1,this.widget=e,this.widget.node.style.position=`absolute`,this.widget.node.style.contain=`strict`}dispose(){if(this._disposed)return;this._disposed=!0;let e=this.widget.node.style;e.position=``,e.top=``,e.left=``,e.width=``,e.height=``,e.contain=``}get minWidth(){return this._minWidth}get minHeight(){return this._minHeight}get maxWidth(){return this._maxWidth}get maxHeight(){return this._maxHeight}get isDisposed(){return this._disposed}get isHidden(){return this.widget.isHidden}get isVisible(){return this.widget.isVisible}get isAttached(){return this.widget.isAttached}fit(){let e=y.sizeLimits(this.widget.node);this._minWidth=e.minWidth,this._minHeight=e.minHeight,this._maxWidth=e.maxWidth,this._maxHeight=e.maxHeight}update(e,t,n,r){let i=Math.max(this._minWidth,Math.min(n,this._maxWidth)),a=Math.max(this._minHeight,Math.min(r,this._maxHeight));if(i<n)switch(Layout.getHorizontalAlignment(this.widget)){case`left`:break;case`center`:e+=(n-i)/2;break;case`right`:e+=n-i;break;default:throw`unreachable`}if(a<r)switch(Layout.getVerticalAlignment(this.widget)){case`top`:break;case`center`:t+=(r-a)/2;break;case`bottom`:t+=r-a;break;default:throw`unreachable`}let o=!1,s=this.widget.node.style;if(this._top!==t&&(this._top=t,s.top=`${t}px`),this._left!==e&&(this._left=e,s.left=`${e}px`),this._width!==i&&(o=!0,this._width=i,s.width=`${i}px`),this._height!==a&&(o=!0,this._height=a,s.height=`${a}px`),o){let e=new N.ResizeMessage(i,a);E.sendMessage(this.widget,e)}}},F;(function(e){e.horizontalAlignmentProperty=new AttachedProperty({name:`horizontalAlignment`,create:()=>`center`,changed:onAlignmentChanged}),e.verticalAlignmentProperty=new AttachedProperty({name:`verticalAlignment`,create:()=>`top`,changed:onAlignmentChanged});function onAlignmentChanged(e){e.parent&&e.parent.layout&&e.parent.update()}})(F||={});var PanelLayout=class extends Layout{constructor(){super(...arguments),this._widgets=[]}dispose(){for(;this._widgets.length>0;)this._widgets.pop().dispose();super.dispose()}get widgets(){return this._widgets}*[Symbol.iterator](){yield*this._widgets}addWidget(e){this.insertWidget(this._widgets.length,e)}insertWidget(e,t){t.parent=this.parent;let n=this._widgets.indexOf(t),r=Math.max(0,Math.min(e,this._widgets.length));if(n===-1){u.insert(this._widgets,r,t),this.parent&&this.attachWidget(r,t);return}r===this._widgets.length&&r--,n!==r&&(u.move(this._widgets,n,r),this.parent&&this.moveWidget(n,r,t))}removeWidget(e){this.removeWidgetAt(this._widgets.indexOf(e))}removeWidgetAt(e){let t=u.removeAt(this._widgets,e);t&&this.parent&&this.detachWidget(e,t)}init(){super.init();let e=0;for(let t of this)this.attachWidget(e++,t)}attachWidget(e,t){let n=this.parent.node.children[e];this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeAttach),this.parent.node.insertBefore(t.node,n),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterAttach)}moveWidget(e,t,n){this.parent.isAttached&&E.sendMessage(n,N.Msg.BeforeDetach),this.parent.node.removeChild(n.node),this.parent.isAttached&&E.sendMessage(n,N.Msg.AfterDetach);let r=this.parent.node.children[t];this.parent.isAttached&&E.sendMessage(n,N.Msg.BeforeAttach),this.parent.node.insertBefore(n.node,r),this.parent.isAttached&&E.sendMessage(n,N.Msg.AfterAttach)}detachWidget(e,t){this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterDetach)}},I;(function(e){function clampDimension(e){return Math.max(0,Math.floor(e))}e.clampDimension=clampDimension})(I||={});var L=I,R=class SplitLayout extends PanelLayout{constructor(e){super(),this.widgetOffset=0,this._fixed=0,this._spacing=4,this._dirty=!1,this._hasNormedSizes=!1,this._sizers=[],this._items=[],this._handles=[],this._box=null,this._alignment=`start`,this._orientation=`horizontal`,this.renderer=e.renderer,e.orientation!==void 0&&(this._orientation=e.orientation),e.alignment!==void 0&&(this._alignment=e.alignment),e.spacing!==void 0&&(this._spacing=I.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,this._handles.length=0,super.dispose()}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._orientation=e,this.parent&&(this.parent.dataset.orientation=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=I.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get handles(){return this._handles}absoluteSizes(){return this._sizers.map(e=>e.size)}relativeSizes(){return z.normalize(this._sizers.map(e=>e.size))}setRelativeSizes(e,t=!0){let n=this._sizers.length,r=e.slice(0,n);for(;r.length<n;)r.push(0);let i=z.normalize(r);for(let e=0;e<n;++e){let t=this._sizers[e];t.sizeHint=i[e],t.size=i[e]}this._hasNormedSizes=!0,t&&this.parent&&this.parent.update()}moveHandle(e,t){let n=this._handles[e];if(!n||n.classList.contains(`lm-mod-hidden`))return;let r;if(r=this._orientation===`horizontal`?t-n.offsetLeft:t-n.offsetTop,r!==0){for(let e of this._sizers)e.size>0&&(e.sizeHint=e.size);M.adjust(this._sizers,e,r),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){let n=new LayoutItem(t),r=z.createHandle(this.renderer),i=z.averageSize(this._sizers),a=z.createSizer(i);u.insert(this._items,e,n),u.insert(this._sizers,e,a),u.insert(this._handles,e,r),this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.node.appendChild(r),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,n){u.move(this._items,e,t),u.move(this._sizers,e,t),u.move(this._handles,e,t),this.parent.fit()}detachWidget(e,t){let n=u.removeAt(this._items,e),r=u.removeAt(this._handles,e);u.removeAt(this._sizers,e),this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.node.removeChild(r),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterDetach),n.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}updateItemPosition(e,t,n,r,i,a,o){let s=this._items[e];if(s.isHidden)return;let c=this._handles[e].style;t?(n+=this.widgetOffset,s.update(n,r,o,i),n+=o,c.top=`${r}px`,c.left=`${n}px`,c.width=`${this._spacing}px`,c.height=`${i}px`):(r+=this.widgetOffset,s.update(n,r,a,o),r+=o,c.top=`${r}px`,c.left=`${n}px`,c.width=`${a}px`,c.height=`${this._spacing}px`)}_fit(){let e=0,t=-1;for(let n=0,r=this._items.length;n<r;++n)this._items[n].isHidden?this._handles[n].classList.add(`lm-mod-hidden`):(this._handles[n].classList.remove(`lm-mod-hidden`),t=n,e++);t!==-1&&this._handles[t].classList.add(`lm-mod-hidden`),this._fixed=this._spacing*Math.max(0,e-1)+this.widgetOffset*this._items.length;let n=this._orientation===`horizontal`,r=n?this._fixed:0,i=n?0:this._fixed;for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e],a=this._sizers[e];if(a.size>0&&(a.sizeHint=a.size),t.isHidden){a.minSize=0,a.maxSize=0;continue}t.fit(),a.stretch=SplitLayout.getStretch(t.widget),n?(a.minSize=t.minWidth,a.maxSize=t.maxWidth,r+=t.minWidth,i=Math.max(i,t.minHeight)):(a.minSize=t.minHeight,a.maxSize=t.maxHeight,i+=t.minHeight,r=Math.max(r,t.minWidth))}let a=this._box=y.boxSizing(this.parent.node);r+=a.horizontalSum,i+=a.verticalSum;let o=this.parent.node.style;o.minWidth=`${r}px`,o.minHeight=`${i}px`,this._dirty=!0,this.parent.parent&&E.sendMessage(this.parent.parent,N.Msg.FitRequest),this._dirty&&E.sendMessage(this.parent,N.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let n=0;for(let e=0,t=this._items.length;e<t;++e)n+=+!this._items[e].isHidden;if(n===0&&this.widgetOffset===0)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||=y.boxSizing(this.parent.node);let r=this._box.paddingTop,i=this._box.paddingLeft,a=e-this._box.horizontalSum,o=t-this._box.verticalSum,s=0,c=0,l=this._orientation===`horizontal`;if(n>0){let e;if(e=l?Math.max(0,a-this._fixed):Math.max(0,o-this._fixed),this._hasNormedSizes){for(let t of this._sizers)t.sizeHint*=e;this._hasNormedSizes=!1}let t=M.calc(this._sizers,e);if(t>0)switch(this._alignment){case`start`:break;case`center`:s=0,c=t/2;break;case`end`:s=0,c=t;break;case`justify`:s=t/n,c=0;break;default:throw`unreachable`}}for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e].isHidden?0:this._sizers[e].size+s;this.updateItemPosition(e,l,l?i+c:i,l?r:r+c,o,a,t);let n=this.widgetOffset+(this._handles[e].classList.contains(`lm-mod-hidden`)?0:this._spacing);l?i+=t+n:r+=t+n}}};(function(e){function getStretch(e){return z.stretchProperty.get(e)}e.getStretch=getStretch;function setStretch(e,t){z.stretchProperty.set(e,t)}e.setStretch=setStretch})(R||={});var z;(function(e){e.stretchProperty=new AttachedProperty({name:`stretch`,create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:onChildSizingChanged});function createSizer(e){let t=new BoxSizer;return t.sizeHint=Math.floor(e),t}e.createSizer=createSizer;function createHandle(e){let t=e.createHandle();return t.style.position=`absolute`,t.style.contain=`style`,t}e.createHandle=createHandle;function averageSize(e){return e.reduce((e,t)=>e+t.size,0)/e.length||0}e.averageSize=averageSize;function normalize(e){let t=e.length;if(t===0)return[];let n=e.reduce((e,t)=>e+Math.abs(t),0);return n===0?e.map(e=>1/t):e.map(e=>e/n)}e.normalize=normalize;function onChildSizingChanged(e){e.parent&&e.parent.layout instanceof R&&e.parent.fit()}})(z||={});var AccordionLayout=class extends R{constructor(e){super({...e,orientation:e.orientation||`vertical`}),this._titles=[],this.titleSpace=e.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(e){e=L.clampDimension(e),this.widgetOffset!==e&&(this.widgetOffset=e,this.parent&&this.parent.fit())}get titles(){return this._titles}dispose(){this.isDisposed||(this._titles.length=0,super.dispose())}updateTitle(e,t){let n=this._titles[e],r=n.classList.contains(`lm-mod-expanded`),i=re.createTitle(this.renderer,t.title,r);this._titles[e]=i,this.parent.node.replaceChild(i,n)}insertWidget(e,t){t.id||=`id-${g.UUID.uuid4()}`,super.insertWidget(e,t)}attachWidget(e,t){let n=re.createTitle(this.renderer,t.title,!t.isHidden);u.insert(this._titles,e,n),this.parent.node.appendChild(n),t.node.setAttribute(`role`,`region`),t.node.setAttribute(`aria-labelledby`,n.id),super.attachWidget(e,t)}moveWidget(e,t,n){u.move(this._titles,e,t),super.moveWidget(e,t,n)}detachWidget(e,t){let n=u.removeAt(this._titles,e);this.parent.node.removeChild(n),super.detachWidget(e,t)}updateItemPosition(e,t,n,r,i,a,o){let s=this._titles[e].style;s.top=`${r}px`,s.left=`${n}px`,s.height=`${this.widgetOffset}px`,t?s.width=`${i}px`:s.width=`${a}px`,super.updateItemPosition(e,t,n,r,i,a,o)}},re;(function(e){function createTitle(e,t,n=!0){let r=e.createSectionTitle(t);return r.style.position=`absolute`,r.style.contain=`strict`,r.setAttribute(`aria-label`,`${t.label} Section`),r.setAttribute(`aria-expanded`,n?`true`:`false`),r.setAttribute(`aria-controls`,t.owner.id),n&&r.classList.add(`lm-mod-expanded`),r}e.createTitle=createTitle})(re||={});var Panel=class extends N{constructor(e={}){super(),this.addClass(`lm-Panel`),this.layout=ie.createLayout(e)}get widgets(){return this.layout.widgets}addWidget(e){this.layout.addWidget(e)}insertWidget(e,t){this.layout.insertWidget(e,t)}},ie;(function(e){function createLayout(e){return e.layout||new PanelLayout}e.createLayout=createLayout})(ie||={});var SplitPanel$1=class extends Panel{static{__name(this,`SplitPanel`)}constructor(e={}){super({layout:ae.createLayout(e)}),this._handleMoved=new Signal(this),this._pressData=null,this.addClass(`lm-SplitPanel`)}dispose(){this._releaseMouse(),super.dispose()}get orientation(){return this.layout.orientation}set orientation(e){this.layout.orientation=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get renderer(){return this.layout.renderer}get handleMoved(){return this._handleMoved}get handles(){return this.layout.handles}relativeSizes(){return this.layout.relativeSizes()}setRelativeSizes(e,t=!0){this.layout.setRelativeSizes(e,t)}handleEvent(e){switch(e.type){case`pointerdown`:this._evtPointerDown(e);break;case`pointermove`:this._evtPointerMove(e);break;case`pointerup`:this._evtPointerUp(e);break;case`keydown`:this._evtKeyDown(e);break;case`contextmenu`:e.preventDefault(),e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener(`pointerdown`,this)}onAfterDetach(e){this.node.removeEventListener(`pointerdown`,this),this._releaseMouse()}onChildAdded(e){e.child.addClass(`lm-SplitPanel-child`),this._releaseMouse()}onChildRemoved(e){e.child.removeClass(`lm-SplitPanel-child`),this._releaseMouse()}_evtKeyDown(e){this._pressData&&(e.preventDefault(),e.stopPropagation()),e.keyCode===27&&this._releaseMouse()}_evtPointerDown(e){if(e.button!==0)return;let t=this.layout,n=u.findFirstIndex(t.handles,t=>t.contains(e.target));if(n===-1)return;e.preventDefault(),e.stopPropagation(),document.addEventListener(`pointerup`,this,!0),document.addEventListener(`pointermove`,this,!0),document.addEventListener(`keydown`,this,!0),document.addEventListener(`contextmenu`,this,!0);let r,i=t.handles[n],a=i.getBoundingClientRect();r=t.orientation===`horizontal`?e.clientX-a.left:e.clientY-a.top;let o=window.getComputedStyle(i),s=O.overrideCursor(o.cursor);this._pressData={index:n,delta:r,override:s}}_evtPointerMove(e){e.preventDefault(),e.stopPropagation();let t,n=this.layout,r=this.node.getBoundingClientRect();t=n.orientation===`horizontal`?e.clientX-r.left-this._pressData.delta:e.clientY-r.top-this._pressData.delta,n.moveHandle(this._pressData.index,t)}_evtPointerUp(e){e.button===0&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse())}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._handleMoved.emit(),document.removeEventListener(`keydown`,this,!0),document.removeEventListener(`pointerup`,this,!0),document.removeEventListener(`pointermove`,this,!0),document.removeEventListener(`contextmenu`,this,!0))}};(function(e){class Renderer{createHandle(){let e=document.createElement(`div`);return e.className=`lm-SplitPanel-handle`,e}}e.Renderer=Renderer,e.defaultRenderer=new Renderer;function getStretch(e){return R.getStretch(e)}e.getStretch=getStretch;function setStretch(e,t){R.setStretch(e,t)}e.setStretch=setStretch})(SplitPanel$1||={});var ae;(function(e){function createLayout(e){return e.layout||new R({renderer:e.renderer||SplitPanel$1.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing})}e.createLayout=createLayout})(ae||={});var AccordionPanel=class extends SplitPanel$1{constructor(e={}){super({...e,layout:oe.createLayout(e)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new Signal(this),this.addClass(`lm-AccordionPanel`)}get renderer(){return this.layout.renderer}get titleSpace(){return this.layout.titleSpace}set titleSpace(e){this.layout.titleSpace=e}get titles(){return this.layout.titles}get expansionToggled(){return this._expansionToggled}addWidget(e){super.addWidget(e),e.title.changed.connect(this._onTitleChanged,this)}collapse(e){let t=this.layout.widgets[e];t&&!t.isHidden&&this._toggleExpansion(e)}expand(e){let t=this.layout.widgets[e];t&&t.isHidden&&this._toggleExpansion(e)}insertWidget(e,t){super.insertWidget(e,t),t.title.changed.connect(this._onTitleChanged,this)}handleEvent(e){switch(super.handleEvent(e),e.type){case`click`:this._evtClick(e);break;case`keydown`:this._eventKeyDown(e);break}}onBeforeAttach(e){this.node.addEventListener(`click`,this),this.node.addEventListener(`keydown`,this),super.onBeforeAttach(e)}onAfterDetach(e){super.onAfterDetach(e),this.node.removeEventListener(`click`,this),this.node.removeEventListener(`keydown`,this)}_onTitleChanged(e){let t=u.findFirstIndex(this.widgets,t=>t.contains(e.owner));t>=0&&(this.layout.updateTitle(t,e.owner),this.update())}_computeWidgetSize(e){let t=this.layout,n=t.widgets[e];if(!n)return;let r=n.isHidden,i=t.absoluteSizes(),a=(r?-1:1)*this.spacing,o=i.reduce((e,t)=>e+t),s=[...i];if(r){let t=this._widgetSizesCache.get(n);if(!t)return;s[e]+=t;let r=s.map(e=>e-t>0).lastIndexOf(!0);r===-1?s.forEach((n,r)=>{r!==e&&(s[r]-=i[r]/o*(t-a))}):s[r]-=t-a}else{let t=i[e];this._widgetSizesCache.set(n,t),s[e]=0;let r=s.map(e=>e>0).lastIndexOf(!0);if(r===-1)return;s[r]=i[r]+t+a}return s.map(e=>e/(o+a))}_evtClick(e){let t=e.target;if(t){let n=u.findFirstIndex(this.titles,e=>e.contains(t));n>=0&&(e.preventDefault(),e.stopPropagation(),this._toggleExpansion(n))}}_eventKeyDown(e){if(e.defaultPrevented)return;let t=e.target,n=!1;if(t){let r=u.findFirstIndex(this.titles,e=>e.contains(t));if(r>=0){let i=e.keyCode.toString();if(e.key.match(/Space|Enter/)||i.match(/13|32/))t.click(),n=!0;else if(this.orientation===`horizontal`?e.key.match(/ArrowLeft|ArrowRight/)||i.match(/37|39/):e.key.match(/ArrowUp|ArrowDown/)||i.match(/38|40/)){let t=e.key.match(/ArrowLeft|ArrowUp/)||i.match(/37|38/)?-1:1,a=this.titles.length,o=(r+a+t)%a;this.titles[o].focus(),n=!0}else e.key===`End`||i===`35`?(this.titles[this.titles.length-1].focus(),n=!0):(e.key===`Home`||i===`36`)&&(this.titles[0].focus(),n=!0)}n&&e.preventDefault()}}_toggleExpansion(e){let t=this.titles[e],n=this.layout.widgets[e],r=this._computeWidgetSize(e);r&&this.setRelativeSizes(r,!1),n.isHidden?(t.classList.add(`lm-mod-expanded`),t.setAttribute(`aria-expanded`,`true`),n.show()):(t.classList.remove(`lm-mod-expanded`),t.setAttribute(`aria-expanded`,`false`),n.hide()),this._expansionToggled.emit(e)}};(function(e){class Renderer extends SplitPanel$1.Renderer{constructor(){super(),this.titleClassName=`lm-AccordionPanel-title`,this._titleID=0,this._titleKeys=new WeakMap,this._uuid=++Renderer._nInstance}createCollapseIcon(e){return document.createElement(`span`)}createSectionTitle(e){let t=document.createElement(`h3`);t.setAttribute(`tabindex`,`0`),t.id=this.createTitleKey(e),t.className=this.titleClassName;for(let n in e.dataset)t.dataset[n]=e.dataset[n];let n=t.appendChild(this.createCollapseIcon(e));n.className=`lm-AccordionPanel-titleCollapser`;let r=t.appendChild(document.createElement(`span`));return r.className=`lm-AccordionPanel-titleLabel`,r.textContent=e.label,r.title=e.caption||e.label,t}createTitleKey(e){let t=this._titleKeys.get(e);return t===void 0&&(t=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(e,t)),t}}Renderer._nInstance=0,e.Renderer=Renderer,e.defaultRenderer=new Renderer})(AccordionPanel||={});var oe;(function(e){function createLayout(e){return e.layout||new AccordionLayout({renderer:e.renderer||AccordionPanel.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing,titleSpace:e.titleSpace})}e.createLayout=createLayout})(oe||={});var B=class BoxLayout extends PanelLayout{constructor(e={}){super(),this._fixed=0,this._spacing=4,this._dirty=!1,this._sizers=[],this._items=[],this._box=null,this._alignment=`start`,this._direction=`top-to-bottom`,e.direction!==void 0&&(this._direction=e.direction),e.alignment!==void 0&&(this._alignment=e.alignment),e.spacing!==void 0&&(this._spacing=L.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,super.dispose()}get direction(){return this._direction}set direction(e){this._direction!==e&&(this._direction=e,this.parent&&(this.parent.dataset.direction=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=L.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}init(){this.parent.dataset.direction=this.direction,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){u.insert(this._items,e,new LayoutItem(t)),u.insert(this._sizers,e,new BoxSizer),this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,n){u.move(this._items,e,t),u.move(this._sizers,e,t),this.parent.update()}detachWidget(e,t){let n=u.removeAt(this._items,e);u.removeAt(this._sizers,e),this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterDetach),n.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let e=0;for(let t=0,n=this._items.length;t<n;++t)e+=+!this._items[t].isHidden;this._fixed=this._spacing*Math.max(0,e-1);let t=V.isHorizontal(this._direction),n=t?this._fixed:0,r=t?0:this._fixed;for(let e=0,i=this._items.length;e<i;++e){let i=this._items[e],a=this._sizers[e];if(i.isHidden){a.minSize=0,a.maxSize=0;continue}i.fit(),a.sizeHint=BoxLayout.getSizeBasis(i.widget),a.stretch=BoxLayout.getStretch(i.widget),t?(a.minSize=i.minWidth,a.maxSize=i.maxWidth,n+=i.minWidth,r=Math.max(r,i.minHeight)):(a.minSize=i.minHeight,a.maxSize=i.maxHeight,r+=i.minHeight,n=Math.max(n,i.minWidth))}let i=this._box=y.boxSizing(this.parent.node);n+=i.horizontalSum,r+=i.verticalSum;let a=this.parent.node.style;a.minWidth=`${n}px`,a.minHeight=`${r}px`,this._dirty=!0,this.parent.parent&&E.sendMessage(this.parent.parent,N.Msg.FitRequest),this._dirty&&E.sendMessage(this.parent,N.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let n=0;for(let e=0,t=this._items.length;e<t;++e)n+=+!this._items[e].isHidden;if(n===0)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||=y.boxSizing(this.parent.node);let r=this._box.paddingTop,i=this._box.paddingLeft,a=e-this._box.horizontalSum,o=t-this._box.verticalSum,s;switch(this._direction){case`left-to-right`:s=M.calc(this._sizers,Math.max(0,a-this._fixed));break;case`top-to-bottom`:s=M.calc(this._sizers,Math.max(0,o-this._fixed));break;case`right-to-left`:s=M.calc(this._sizers,Math.max(0,a-this._fixed)),i+=a;break;case`bottom-to-top`:s=M.calc(this._sizers,Math.max(0,o-this._fixed)),r+=o;break;default:throw`unreachable`}let c=0,l=0;if(s>0)switch(this._alignment){case`start`:break;case`center`:c=0,l=s/2;break;case`end`:c=0,l=s;break;case`justify`:c=s/n,l=0;break;default:throw`unreachable`}for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e];if(t.isHidden)continue;let n=this._sizers[e].size;switch(this._direction){case`left-to-right`:t.update(i+l,r,n+c,o),i+=n+c+this._spacing;break;case`top-to-bottom`:t.update(i,r+l,a,n+c),r+=n+c+this._spacing;break;case`right-to-left`:t.update(i-l-n-c,r,n+c,o),i-=n+c+this._spacing;break;case`bottom-to-top`:t.update(i,r-l-n-c,a,n+c),r-=n+c+this._spacing;break;default:throw`unreachable`}}}};(function(e){function getStretch(e){return V.stretchProperty.get(e)}e.getStretch=getStretch;function setStretch(e,t){V.stretchProperty.set(e,t)}e.setStretch=setStretch;function getSizeBasis(e){return V.sizeBasisProperty.get(e)}e.getSizeBasis=getSizeBasis;function setSizeBasis(e,t){V.sizeBasisProperty.set(e,t)}e.setSizeBasis=setSizeBasis})(B||={});var V;(function(e){e.stretchProperty=new AttachedProperty({name:`stretch`,create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:onChildSizingChanged}),e.sizeBasisProperty=new AttachedProperty({name:`sizeBasis`,create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:onChildSizingChanged});function isHorizontal(e){return e===`left-to-right`||e===`right-to-left`}e.isHorizontal=isHorizontal;function clampSpacing(e){return Math.max(0,Math.floor(e))}e.clampSpacing=clampSpacing;function onChildSizingChanged(e){e.parent&&e.parent.layout instanceof B&&e.parent.fit()}})(V||={});var BoxPanel=class extends Panel{constructor(e={}){super({layout:se.createLayout(e)}),this.addClass(`lm-BoxPanel`)}get direction(){return this.layout.direction}set direction(e){this.layout.direction=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}onChildAdded(e){e.child.addClass(`lm-BoxPanel-child`)}onChildRemoved(e){e.child.removeClass(`lm-BoxPanel-child`)}};(function(e){function getStretch(e){return B.getStretch(e)}e.getStretch=getStretch;function setStretch(e,t){B.setStretch(e,t)}e.setStretch=setStretch;function getSizeBasis(e){return B.getSizeBasis(e)}e.getSizeBasis=getSizeBasis;function setSizeBasis(e,t){B.setSizeBasis(e,t)}e.setSizeBasis=setSizeBasis})(BoxPanel||={});var se;(function(e){function createLayout(e){return e.layout||new B(e)}e.createLayout=createLayout})(se||={});var ce=class CommandPalette extends N{constructor(e){super({node:H.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass(`lm-CommandPalette`),this.setFlag(N.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||CommandPalette.defaultRenderer,this.commands.commandChanged.connect(this._onGenericChange,this),this.commands.keyBindingChanged.connect(this._onGenericChange,this)}dispose(){this._items.length=0,this._results=null,super.dispose()}get searchNode(){return this.node.getElementsByClassName(`lm-CommandPalette-search`)[0]}get inputNode(){return this.node.getElementsByClassName(`lm-CommandPalette-input`)[0]}get contentNode(){return this.node.getElementsByClassName(`lm-CommandPalette-content`)[0]}get items(){return this._items}addItem(e){let t=H.createItem(this.commands,e);return this._items.push(t),this.refresh(),t}addItems(e){let t=e.map(e=>H.createItem(this.commands,e));return t.forEach(e=>this._items.push(e)),this.refresh(),t}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){u.removeAt(this._items,e)&&this.refresh()}clearItems(){this._items.length!==0&&(this._items.length=0,this.refresh())}refresh(){if(this._results=null,this.inputNode.value!==``){let e=this.node.getElementsByClassName(`lm-close-icon`)[0];e.style.display=`inherit`}else{let e=this.node.getElementsByClassName(`lm-close-icon`)[0];e.style.display=`none`}this.update()}handleEvent(e){switch(e.type){case`click`:this._evtClick(e);break;case`keydown`:this._evtKeyDown(e);break;case`input`:this.refresh();break;case`focus`:case`blur`:this._toggleFocused();break}}onBeforeAttach(e){this.node.addEventListener(`click`,this),this.node.addEventListener(`keydown`,this),this.node.addEventListener(`input`,this),this.node.addEventListener(`focus`,this,!0),this.node.addEventListener(`blur`,this,!0)}onAfterDetach(e){this.node.removeEventListener(`click`,this),this.node.removeEventListener(`keydown`,this),this.node.removeEventListener(`input`,this),this.node.removeEventListener(`focus`,this,!0),this.node.removeEventListener(`blur`,this,!0)}onAfterShow(e){this.update(),super.onAfterShow(e)}onActivateRequest(e){if(this.isAttached){let e=this.inputNode;e.focus(),e.select()}}onUpdateRequest(e){if(!this.isVisible){A.render(null,this.contentNode);return}let t=this.inputNode.value,n=this.contentNode,r=this._results;if(r||(r=this._results=H.search(this._items,t),this._activeIndex=t?u.findFirstIndex(r,H.canActivate):-1),!t&&r.length===0){A.render(null,n);return}if(t&&r.length===0){let e=this.renderer.renderEmptyMessage({query:t});A.render(e,n);return}let i=this.renderer,a=this._activeIndex,o=Array(r.length);for(let e=0,t=r.length;e<t;++e){let t=r[e];if(t.type===`header`){let n=t.indices,r=t.category;o[e]=i.renderHeader({category:r,indices:n})}else{let n=t.item,r=t.indices,s=e===a;o[e]=i.renderItem({item:n,indices:r,active:s})}}if(A.render(o,n),a<0||a>=r.length)n.scrollTop=0;else{let e=n.children[a];y.scrollIntoViewIfNeeded(n,e)}}_evtClick(e){if(e.button!==0)return;if(e.target.classList.contains(`lm-close-icon`)){this.inputNode.value=``,this.refresh();return}let t=u.findFirstIndex(this.contentNode.children,t=>t.contains(e.target));t!==-1&&(e.preventDefault(),e.stopPropagation(),this._execute(t))}_evtKeyDown(e){if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey))switch(e.keyCode){case 13:e.preventDefault(),e.stopPropagation(),this._execute(this._activeIndex);break;case 38:e.preventDefault(),e.stopPropagation(),this._activatePreviousItem();break;case 40:e.preventDefault(),e.stopPropagation(),this._activateNextItem();break}}_activateNextItem(){if(!this._results||this._results.length===0)return;let e=this._activeIndex,t=this._results.length,n=e<t-1?e+1:0,r=n===0?t-1:n-1;this._activeIndex=u.findFirstIndex(this._results,H.canActivate,n,r),this.update()}_activatePreviousItem(){if(!this._results||this._results.length===0)return;let e=this._activeIndex,t=this._results.length,n=e<=0?t-1:e-1,r=n===t-1?0:n+1;this._activeIndex=u.findLastIndex(this._results,H.canActivate,n,r),this.update()}_execute(e){if(!this._results)return;let t=this._results[e];if(t){if(t.type===`header`){let e=this.inputNode;e.value=`${t.category.toLowerCase()} `,e.focus(),this.refresh();return}t.item.isEnabled&&(this.commands.execute(t.item.command,t.item.args),this.inputNode.value=``,this.refresh())}}_toggleFocused(){let e=document.activeElement===this.inputNode;this.toggleClass(`lm-mod-focused`,e)}_onGenericChange(){this.refresh()}};(function(e){class Renderer{renderHeader(e){let t=this.formatHeader(e);return h.li({className:`lm-CommandPalette-header`},t)}renderItem(e){let t=this.createItemClass(e),n=this.createItemDataset(e);return e.item.isToggleable?h.li({className:t,dataset:n,role:`menuitemcheckbox`,"aria-checked":`${e.item.isToggled}`},this.renderItemIcon(e),this.renderItemContent(e),this.renderItemShortcut(e)):h.li({className:t,dataset:n,role:`menuitem`},this.renderItemIcon(e),this.renderItemContent(e),this.renderItemShortcut(e))}renderEmptyMessage(e){let t=this.formatEmptyMessage(e);return h.li({className:`lm-CommandPalette-emptyMessage`},t)}renderItemIcon(e){let t=this.createIconClass(e);return h.div({className:t},e.item.icon,e.item.iconLabel)}renderItemContent(e){return h.div({className:`lm-CommandPalette-itemContent`},this.renderItemLabel(e),this.renderItemCaption(e))}renderItemLabel(e){let t=this.formatItemLabel(e);return h.div({className:`lm-CommandPalette-itemLabel`},t)}renderItemCaption(e){let t=this.formatItemCaption(e);return h.div({className:`lm-CommandPalette-itemCaption`},t)}renderItemShortcut(e){let t=this.formatItemShortcut(e);return h.div({className:`lm-CommandPalette-itemShortcut`},t)}createItemClass(e){let t=`lm-CommandPalette-item`;e.item.isEnabled||(t+=` lm-mod-disabled`),e.item.isToggled&&(t+=` lm-mod-toggled`),e.active&&(t+=` lm-mod-active`);let n=e.item.className;return n&&(t+=` ${n}`),t}createItemDataset(e){return{...e.item.dataset,command:e.item.command}}createIconClass(e){let t=`lm-CommandPalette-itemIcon`,n=e.item.iconClass;return n?`${t} ${n}`:t}formatHeader(e){return!e.indices||e.indices.length===0?e.category:f.highlight(e.category,e.indices,h.mark)}formatEmptyMessage(e){return`No commands found that match '${e.query}'`}formatItemShortcut(e){let t=e.item.keyBinding;return t?C.formatKeystroke(t.keys):null}formatItemLabel(e){return!e.indices||e.indices.length===0?e.item.label:f.highlight(e.item.label,e.indices,h.mark)}formatItemCaption(e){return e.item.caption}}e.Renderer=Renderer,e.defaultRenderer=new Renderer})(ce||={});var H;(function(e){function createNode(){let e=document.createElement(`div`),t=document.createElement(`div`),n=document.createElement(`div`),r=document.createElement(`input`),i=document.createElement(`ul`),a=document.createElement(`button`);return t.className=`lm-CommandPalette-search`,n.className=`lm-CommandPalette-wrapper`,r.className=`lm-CommandPalette-input`,a.className=`lm-close-icon`,i.className=`lm-CommandPalette-content`,i.setAttribute(`role`,`menu`),r.spellcheck=!1,n.appendChild(r),n.appendChild(a),t.appendChild(n),e.appendChild(t),e.appendChild(i),e}e.createNode=createNode;function createItem(e,t){return new CommandItem(e,t)}e.createItem=createItem;function search(e,t){let n=matchItems(e,t);return n.sort(scoreCmp),createResults(n)}e.search=search;function canActivate(e){return e.type===`item`&&e.item.isEnabled}e.canActivate=canActivate;function normalizeCategory(e){return e.trim().replace(/\s+/g,` `)}function normalizeQuery(e){return e.replace(/\s+/g,``).toLowerCase()}function matchItems(e,t){t=normalizeQuery(t);let n=[];for(let r=0,i=e.length;r<i;++r){let i=e[r];if(!i.isVisible)continue;if(!t){n.push({matchType:3,categoryIndices:null,labelIndices:null,score:0,item:i});continue}let a=fuzzySearch(i,t);a&&(i.isEnabled||(a.score+=1e3),n.push(a))}return n}function fuzzySearch(e,t){let n=e.category.toLowerCase(),r=`${n} ${e.label.toLowerCase()}`,i=1/0,a=null,o=/\b\w/g;for(;;){let e=o.exec(r);if(!e)break;let n=f.matchSumOfDeltas(r,t,e.index);if(!n)break;n.score<=i&&(i=n.score,a=n.indices)}if(!a||i===1/0)return null;let s=n.length+1,c=u.lowerBound(a,s,(e,t)=>e-t),l=a.slice(0,c),d=a.slice(c);for(let e=0,t=d.length;e<t;++e)d[e]-=s;return l.length===0?{matchType:0,categoryIndices:null,labelIndices:d,score:i,item:e}:d.length===0?{matchType:1,categoryIndices:l,labelIndices:null,score:i,item:e}:{matchType:2,categoryIndices:l,labelIndices:d,score:i,item:e}}function scoreCmp(e,t){let n=e.matchType-t.matchType;if(n!==0)return n;let r=e.score-t.score;if(r!==0)return r;let i=0,a=0;switch(e.matchType){case 0:i=e.labelIndices[0],a=t.labelIndices[0];break;case 1:case 2:i=e.categoryIndices[0],a=t.categoryIndices[0];break}if(i!==a)return i-a;let o=e.item.category.localeCompare(t.item.category);if(o!==0)return o;let s=e.item.rank,c=t.item.rank;return s===c?e.item.label.localeCompare(t.item.label):s<c?-1:1}function createResults(e){let t=[];for(let n=0,r=e.length;n<r;++n){let{item:r,categoryIndices:i,labelIndices:a}=e[n],o=r.category;(n===0||o!==e[n-1].item.category)&&t.push({type:`header`,category:o,indices:i}),t.push({type:`item`,item:r,indices:a})}return t}class CommandItem{constructor(e,t){this._commands=e,this.category=normalizeCategory(t.category),this.command=t.command,this.args=t.args||g.JSONExt.emptyObject,this.rank=t.rank===void 0?1/0:t.rank}get label(){return this._commands.label(this.command,this.args)}get icon(){return this._commands.icon(this.command,this.args)}get iconClass(){return this._commands.iconClass(this.command,this.args)}get iconLabel(){return this._commands.iconLabel(this.command,this.args)}get caption(){return this._commands.caption(this.command,this.args)}get className(){return this._commands.className(this.command,this.args)}get dataset(){return this._commands.dataset(this.command,this.args)}get isEnabled(){return this._commands.isEnabled(this.command,this.args)}get isToggled(){return this._commands.isToggled(this.command,this.args)}get isToggleable(){return this._commands.isToggleable(this.command,this.args)}get isVisible(){return this._commands.isVisible(this.command,this.args)}get keyBinding(){let{command:e,args:t}=this;return u.findLastValue(this._commands.keyBindings,n=>n.command===e&&g.JSONExt.deepEqual(n.args,t))||null}}})(H||={});var U=class Menu extends N{constructor(e){super({node:W.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new Signal(this),this._menuRequested=new Signal(this),this.addClass(`lm-Menu`),this.setFlag(N.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||Menu.defaultRenderer}dispose(){this.close(),this._items.length=0,super.dispose()}get aboutToClose(){return this._aboutToClose}get menuRequested(){return this._menuRequested}get parentMenu(){return this._parentMenu}get childMenu(){return this._childMenu}get rootMenu(){let e=this;for(;e._parentMenu;)e=e._parentMenu;return e}get leafMenu(){let e=this;for(;e._childMenu;)e=e._childMenu;return e}get contentNode(){return this.node.getElementsByClassName(`lm-Menu-content`)[0]}get activeItem(){return this._items[this._activeIndex]||null}set activeItem(e){this.activeIndex=e?this._items.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._items.length)&&(e=-1),e!==-1&&!W.canActivate(this._items[e])&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this._activeIndex>=0&&this.contentNode.childNodes[this._activeIndex]&&this.contentNode.childNodes[this._activeIndex].focus(),this.update())}get items(){return this._items}activateNextItem(){let e=this._items.length,t=this._activeIndex,n=t<e-1?t+1:0,r=n===0?e-1:n-1;this.activeIndex=u.findFirstIndex(this._items,W.canActivate,n,r)}activatePreviousItem(){let e=this._items.length,t=this._activeIndex,n=t<=0?e-1:t-1,r=n===e-1?0:n+1;this.activeIndex=u.findLastIndex(this._items,W.canActivate,n,r)}triggerActiveItem(){if(!this.isAttached)return;let e=this.activeItem;if(!e)return;if(this._cancelOpenTimer(),this._cancelCloseTimer(),e.type===`submenu`){this._openChildMenu(!0);return}this.rootMenu.close();let{command:t,args:n}=e;this.commands.isEnabled(t,n)?this.commands.execute(t,n):console.log(`Command '${t}' is disabled.`)}addItem(e){return this.insertItem(this._items.length,e)}insertItem(e,t){this.isAttached&&this.close(),this.activeIndex=-1;let n=Math.max(0,Math.min(e,this._items.length)),r=W.createItem(this,t);return u.insert(this._items,n,r),this.update(),r}removeItem(e){let t=this._items.indexOf(e);t!==-1&&this.removeItemAt(t)}removeItemAt(e){this.isAttached&&this.close(),this.activeIndex=-1,u.removeAt(this._items,e)&&this.update()}clearItems(){this.isAttached&&this.close(),this.activeIndex=-1,this._items.length!==0&&(this._items.length=0,this.update())}open(e,t,n={}){if(this.isAttached)return;let r=n.forceX||!1,i=n.forceY||!1,a=n.host??null,o=n.ref??null,s=n.horizontalAlignment??(document.documentElement.dir===`rtl`?`right`:`left`);W.openRootMenu(this,e,t,r,i,s,a,o),this.activate()}handleEvent(e){switch(e.type){case`keydown`:this._evtKeyDown(e);break;case`pointerup`:this._evtPointerUp(e);break;case`pointermove`:this._evtPointerMove(e);break;case`pointerenter`:this._evtPointerEnter(e);break;case`pointerleave`:this._evtPointerLeave(e);break;case`pointerdown`:this._evtPointerDown(e);break;case`contextmenu`:e.preventDefault(),e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener(`keydown`,this),this.node.addEventListener(`pointerup`,this),this.node.addEventListener(`pointermove`,this),this.node.addEventListener(`pointerenter`,this),this.node.addEventListener(`pointerleave`,this),this.node.addEventListener(`contextmenu`,this),document.addEventListener(`pointerdown`,this,!0)}onAfterDetach(e){this.node.removeEventListener(`keydown`,this),this.node.removeEventListener(`pointerup`,this),this.node.removeEventListener(`pointermove`,this),this.node.removeEventListener(`pointerenter`,this),this.node.removeEventListener(`pointerleave`,this),this.node.removeEventListener(`contextmenu`,this),document.removeEventListener(`pointerdown`,this,!0)}onActivateRequest(e){this.isAttached&&this.node.focus()}onUpdateRequest(e){let t=this._items,n=this.renderer,r=this._activeIndex,i=W.computeCollapsed(t),a=Array(t.length);for(let e=0,o=t.length;e<o;++e){let o=t[e],s=e===r,c=i[e];a[e]=n.renderItem({item:o,active:s,collapsed:c,onfocus:()=>{this.activeIndex=e}})}A.render(a,this.contentNode)}onCloseRequest(e){this._cancelOpenTimer(),this._cancelCloseTimer(),this.activeIndex=-1;let t=this._childMenu;t&&(this._childIndex=-1,this._childMenu=null,t._parentMenu=null,t.close());let n=this._parentMenu;n&&(this._parentMenu=null,n._childIndex=-1,n._childMenu=null,n.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(e)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation();let t=e.keyCode;if(t===13){this.triggerActiveItem();return}if(t===27){this.close();return}if(t===37){this._parentMenu?this.close():this._menuRequested.emit(`previous`);return}if(t===38){this.activatePreviousItem();return}if(t===39){let e=this.activeItem;e&&e.type===`submenu`?this.triggerActiveItem():this.rootMenu._menuRequested.emit(`next`);return}if(t===40){this.activateNextItem();return}let n=getKeyboardLayout().keyForKeydownEvent(e);if(!n)return;let r=this._activeIndex+1,i=W.findMnemonic(this._items,n,r);i.index!==-1&&!i.multiple?(this.activeIndex=i.index,this.triggerActiveItem()):i.index===-1?i.auto!==-1&&(this.activeIndex=i.auto):this.activeIndex=i.index}_evtPointerUp(e){e.button===0&&(e.preventDefault(),e.stopPropagation(),this.triggerActiveItem())}_evtPointerMove(e){let t=u.findFirstIndex(this.contentNode.children,t=>y.hitTest(t,e.clientX,e.clientY));if(t===this._activeIndex)return;if(this.activeIndex=t,t=this.activeIndex,t===this._childIndex){this._cancelOpenTimer(),this._cancelCloseTimer();return}this._childIndex!==-1&&this._startCloseTimer(),this._cancelOpenTimer();let n=this.activeItem;!n||n.type!==`submenu`||!n.submenu||this._startOpenTimer()}_evtPointerEnter(e){for(let e=this._parentMenu;e;e=e._parentMenu)e._cancelOpenTimer(),e._cancelCloseTimer(),e.activeIndex=e._childIndex}_evtPointerLeave(e){if(this._cancelOpenTimer(),!this._childMenu){this.activeIndex=-1;return}let{clientX:t,clientY:n}=e;if(y.hitTest(this._childMenu.node,t,n)){this._cancelCloseTimer();return}this.activeIndex=-1,this._startCloseTimer()}_evtPointerDown(e){this._parentMenu||(W.hitTestMenus(this,e.clientX,e.clientY)?(e.preventDefault(),e.stopPropagation()):this.close())}_openChildMenu(e=!1){let t=this.activeItem;if(!t||t.type!==`submenu`||!t.submenu){this._closeChildMenu();return}let n=t.submenu;if(n===this._childMenu)return;Menu.saveWindowData(),this._closeChildMenu(),this._childMenu=n,this._childIndex=this._activeIndex,n._parentMenu=this,E.sendMessage(this,N.Msg.UpdateRequest);let r=this.contentNode.children[this._activeIndex];W.openSubmenu(n,r),e&&(n.activeIndex=-1,n.activateNextItem()),n.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){this._openTimerID===0&&(this._openTimerID=window.setTimeout(()=>{this._openTimerID=0,this._openChildMenu()},W.TIMER_DELAY))}_startCloseTimer(){this._closeTimerID===0&&(this._closeTimerID=window.setTimeout(()=>{this._closeTimerID=0,this._closeChildMenu()},W.TIMER_DELAY))}_cancelOpenTimer(){this._openTimerID!==0&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){this._closeTimerID!==0&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){W.saveWindowData()}};(function(e){class Renderer{renderItem(e){let t=this.createItemClass(e),n=this.createItemDataset(e),r=this.createItemARIA(e);return h.li({className:t,dataset:n,tabindex:`0`,onfocus:e.onfocus,...r},this.renderIcon(e),this.renderLabel(e),this.renderShortcut(e),this.renderSubmenu(e))}renderIcon(e){let t=this.createIconClass(e);return h.div({className:t},e.item.icon,e.item.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return h.div({className:`lm-Menu-itemLabel`},t)}renderShortcut(e){let t=this.formatShortcut(e);return h.div({className:`lm-Menu-itemShortcut`},t)}renderSubmenu(e){return h.div({className:`lm-Menu-itemSubmenuIcon`})}createItemClass(e){let t=`lm-Menu-item`;e.item.isEnabled||(t+=` lm-mod-disabled`),e.item.isToggled&&(t+=` lm-mod-toggled`),e.item.isVisible||(t+=` lm-mod-hidden`),e.active&&(t+=` lm-mod-active`),e.collapsed&&(t+=` lm-mod-collapsed`);let n=e.item.className;return n&&(t+=` ${n}`),t}createItemDataset(e){let t,{type:n,command:r,dataset:i}=e.item;return t=n===`command`?{...i,type:n,command:r}:{...i,type:n},t}createIconClass(e){let t=`lm-Menu-itemIcon`,n=e.item.iconClass;return n?`${t} ${n}`:t}createItemARIA(e){let t={};switch(e.item.type){case`separator`:t.role=`presentation`;break;case`submenu`:t[`aria-haspopup`]=`true`,e.item.isEnabled||(t[`aria-disabled`]=`true`);break;default:e.item.isEnabled||(t[`aria-disabled`]=`true`),e.item.isToggled?(t.role=`menuitemcheckbox`,t[`aria-checked`]=`true`):t.role=`menuitem`}return t}formatLabel(e){let{label:t,mnemonic:n}=e.item;if(n<0||n>=t.length)return t;let r=t.slice(0,n),i=t.slice(n+1),a=t[n];return[r,h.span({className:`lm-Menu-itemMnemonic`},a),i]}formatShortcut(e){let t=e.item.keyBinding;return t?C.formatKeystroke(t.keys):null}}e.Renderer=Renderer,e.defaultRenderer=new Renderer})(U||={});var W;(function(e){e.TIMER_DELAY=300,e.SUBMENU_OVERLAP=3;let t=null,n=0;function getWindowData(){return n>0?(n--,t):_getWindowData()}function saveWindowData(){t=_getWindowData(),n++}e.saveWindowData=saveWindowData;function createNode(){let e=document.createElement(`div`),t=document.createElement(`ul`);return t.className=`lm-Menu-content`,e.appendChild(t),t.setAttribute(`role`,`menu`),e.tabIndex=0,e}e.createNode=createNode;function canActivate(e){return e.type!==`separator`&&e.isEnabled&&e.isVisible}e.canActivate=canActivate;function createItem(e,t){return new MenuItem(e.commands,t)}e.createItem=createItem;function hitTestMenus(e,t,n){for(let r=e;r;r=r.childMenu)if(y.hitTest(r.node,t,n))return!0;return!1}e.hitTestMenus=hitTestMenus;function computeCollapsed(e){let t=Array(e.length);u.fill(t,!1);let n=0,r=e.length;for(;n<r;++n){let r=e[n];if(r.isVisible){if(r.type!==`separator`)break;t[n]=!0}}let i=r-1;for(;i>=0;--i){let n=e[i];if(n.isVisible){if(n.type!==`separator`)break;t[i]=!0}}let a=!1;for(;++n<i;){let r=e[n];r.isVisible&&(r.type===`separator`?a?t[n]=!0:a=!0:a=!1)}return t}e.computeCollapsed=computeCollapsed;function _getWindowData(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}function openRootMenu(e,t,n,r,i,a,o,s){let c=getWindowData(),l=c.pageXOffset,u=c.pageYOffset,d=c.clientWidth,f=c.clientHeight;E.sendMessage(e,N.Msg.UpdateRequest);let p=f-(i?n:0),m=e.node,g=m.style;g.opacity=`0`,g.maxHeight=`${p}px`,N.attach(e,o||document.body,s);let{width:_,height:v}=m.getBoundingClientRect();a===`right`&&(t-=_),!r&&t+_>l+d&&(t=l+d-_),!i&&n+v>u+f&&(n>u+f?n=u+f-v:n-=v),g.transform=`translate(${Math.max(0,t)}px, ${Math.max(0,n)}px`,g.opacity=`1`}e.openRootMenu=openRootMenu;function openSubmenu(t,n){let r=getWindowData(),i=r.pageXOffset,a=r.pageYOffset,o=r.clientWidth,s=r.clientHeight;E.sendMessage(t,N.Msg.UpdateRequest);let c=s,l=t.node,u=l.style;u.opacity=`0`,u.maxHeight=`${c}px`,N.attach(t,document.body);let{width:d,height:f}=l.getBoundingClientRect(),p=y.boxSizing(t.node),m=n.getBoundingClientRect(),g=m.right-e.SUBMENU_OVERLAP;g+d>i+o&&(g=m.left+e.SUBMENU_OVERLAP-d);let _=m.top-p.borderTop-p.paddingTop;_+f>a+s&&(_=m.bottom+p.borderBottom+p.paddingBottom-f),u.transform=`translate(${Math.max(0,g)}px, ${Math.max(0,_)}px`,u.opacity=`1`}e.openSubmenu=openSubmenu;function findMnemonic(e,t,n){let r=-1,i=-1,a=!1,o=t.toUpperCase();for(let t=0,s=e.length;t<s;++t){let c=(t+n)%s,l=e[c];if(!canActivate(l))continue;let u=l.label;if(u.length===0)continue;let d=l.mnemonic;if(d>=0&&d<u.length){u[d].toUpperCase()===o&&(r===-1?r=c:a=!0);continue}i===-1&&u[0].toUpperCase()===o&&(i=c)}return{index:r,multiple:a,auto:i}}e.findMnemonic=findMnemonic;class MenuItem{constructor(e,t){this._commands=e,this.type=t.type||`command`,this.command=t.command||``,this.args=t.args||g.JSONExt.emptyObject,this.submenu=t.submenu||null}get label(){return this.type===`command`?this._commands.label(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.label:``}get mnemonic(){return this.type===`command`?this._commands.mnemonic(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.mnemonic:-1}get icon(){if(this.type===`command`)return this._commands.icon(this.command,this.args);if(this.type===`submenu`&&this.submenu)return this.submenu.title.icon}get iconClass(){return this.type===`command`?this._commands.iconClass(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.iconClass:``}get iconLabel(){return this.type===`command`?this._commands.iconLabel(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.iconLabel:``}get caption(){return this.type===`command`?this._commands.caption(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.caption:``}get className(){return this.type===`command`?this._commands.className(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.className:``}get dataset(){return this.type===`command`?this._commands.dataset(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.dataset:{}}get isEnabled(){return this.type===`command`?this._commands.isEnabled(this.command,this.args):this.type===`submenu`?this.submenu!==null:!0}get isToggled(){return this.type===`command`?this._commands.isToggled(this.command,this.args):!1}get isVisible(){return this.type===`command`?this._commands.isVisible(this.command,this.args):this.type===`submenu`?this.submenu!==null:!0}get keyBinding(){if(this.type===`command`){let{command:e,args:t}=this;return u.findLastValue(this._commands.keyBindings,n=>n.command===e&&g.JSONExt.deepEqual(n.args,t))||null}return null}}})(W||={});var ContextMenu=class{constructor(e){this._groupByTarget=!0,this._idTick=0,this._items=[],this._sortBySelector=!0;let{groupByTarget:t,sortBySelector:n,...r}=e;this.menu=new U(r),this._groupByTarget=t!==!1,this._sortBySelector=n!==!1}addItem(e){let t=G.createItem(e,this._idTick++);return this._items.push(t),new DisposableDelegate(()=>{u.removeFirstOf(this._items,t)})}open(e){if(U.saveWindowData(),this.menu.clearItems(),this._items.length===0)return!1;let t=G.matchItems(this._items,e,this._groupByTarget,this._sortBySelector);if(!t||t.length===0)return!1;for(let e of t)this.menu.addItem(e);return this.menu.open(e.clientX,e.clientY),!0}},G;(function(e){function createItem(e,t){let n=validateSelector(e.selector),r=e.rank===void 0?1/0:e.rank;return{...e,selector:n,rank:r,id:t}}e.createItem=createItem;function matchItems(e,t,n,r){let i=t.target;if(!i)return null;let a=t.currentTarget;if(!a||!a.contains(i)&&(i=document.elementFromPoint(t.clientX,t.clientY),!i||!a.contains(i)))return null;let o=[],s=e.slice();for(;i!==null;){let e=[];for(let t=0,n=s.length;t<n;++t){let n=s[t];n&&x.matches(i,n.selector)&&(e.push(n),s[t]=null)}if(e.length!==0&&(n&&e.sort(r?itemCmp:itemCmpRank),o.push(...e)),i===a)break;i=i.parentElement}return n||o.sort(r?itemCmp:itemCmpRank),o}e.matchItems=matchItems;function validateSelector(e){if(e.indexOf(`,`)!==-1)throw Error(`Selector cannot contain commas: ${e}`);if(!x.isValid(e))throw Error(`Invalid selector: ${e}`);return e}function itemCmpRank(e,t){let n=e.rank,r=t.rank;return n===r?e.id-t.id:n<r?-1:1}function itemCmp(e,t){let n=x.calculateSpecificity(e.selector),r=x.calculateSpecificity(t.selector);return n===r?itemCmpRank(e,t):r-n}})(G||={});var le=[`ArrowLeft`,`ArrowUp`,`ArrowRight`,`ArrowDown`,`Home`,`End`],K=class TabBar extends N{constructor(e={}){super({node:q.createNode()}),this._currentIndex=-1,this._titles=[],this._titlesEditable=!1,this._previousTitle=null,this._dragData=null,this._tabSizeFrozen=!1,this._frozenTabWidths=null,this._unfreezeRunID=0,this._unfreezeFallbackTimerID=0,this._unfreezeTransitionListener=null,this._addButtonEnabled=!1,this._tabMoved=new Signal(this),this._currentChanged=new Signal(this),this._addRequested=new Signal(this),this._tabCloseRequested=new Signal(this),this._tabDetachRequested=new Signal(this),this._tabActivateRequested=new Signal(this),this.addClass(`lm-TabBar`),this.contentNode.setAttribute(`role`,`tablist`),this.setFlag(N.Flag.DisallowLayout),this._document=e.document||document,this.tabsMovable=e.tabsMovable||!1,this.titlesEditable=e.titlesEditable||!1,this.allowDeselect=e.allowDeselect||!1,this.addButtonEnabled=e.addButtonEnabled||!1,this.insertBehavior=e.insertBehavior||`select-tab-if-needed`,this.name=e.name||``,this.orientation=e.orientation||`horizontal`,this.removeBehavior=e.removeBehavior||`select-tab-after`,this.renderer=e.renderer||TabBar.defaultRenderer}dispose(){this._releaseMouse(),this._titles.length=0,this._previousTitle=null,super.dispose()}get currentChanged(){return this._currentChanged}get tabMoved(){return this._tabMoved}get tabActivateRequested(){return this._tabActivateRequested}get addRequested(){return this._addRequested}get tabCloseRequested(){return this._tabCloseRequested}get tabDetachRequested(){return this._tabDetachRequested}get document(){return this._document}get titlesEditable(){return this._titlesEditable}set titlesEditable(e){this._titlesEditable=e}get currentTitle(){return this._titles[this._currentIndex]||null}set currentTitle(e){this.currentIndex=e?this._titles.indexOf(e):-1}get currentIndex(){return this._currentIndex}set currentIndex(e){if((e<0||e>=this._titles.length)&&(e=-1),this._currentIndex===e)return;let t=this._currentIndex,n=this._titles[t]||null,r=e,i=this._titles[r]||null;this._currentIndex=r,this._previousTitle=n,this.update(),this._currentChanged.emit({previousIndex:t,previousTitle:n,currentIndex:r,currentTitle:i})}get name(){return this._name}set name(e){this._name=e,e?this.contentNode.setAttribute(`aria-label`,e):this.contentNode.removeAttribute(`aria-label`)}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._releaseMouse(),this._orientation=e,this.dataset.orientation=e,this.contentNode.setAttribute(`aria-orientation`,e))}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled!==e&&(this._addButtonEnabled=e,e?this.addButtonNode.classList.remove(`lm-mod-hidden`):this.addButtonNode.classList.add(`lm-mod-hidden`))}get titles(){return this._titles}get contentNode(){return this.node.getElementsByClassName(`lm-TabBar-content`)[0]}get addButtonNode(){return this.node.getElementsByClassName(`lm-TabBar-addButton`)[0]}addTab(e){return this.insertTab(this._titles.length,e)}insertTab(e,t){this._releaseMouse();let n=q.asTitle(t),r=this._titles.indexOf(n),i=Math.max(0,Math.min(e,this._titles.length));return r===-1?(u.insert(this._titles,i,n),n.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(i,n),n):(i===this._titles.length&&i--,r===i?n:(u.move(this._titles,r,i),this.update(),this._adjustCurrentForMove(r,i),n))}removeTab(e){this.removeTabAt(this._titles.indexOf(e))}removeTabAt(e){let t=e>=0&&e<this._titles.length;if(this._tabSizeFrozen)if(t){let t=this.contentNode.children;this._frozenTabWidths=[];for(let n=0,r=t.length;n<r;++n)n!==e&&this._frozenTabWidths.push(t[n].offsetWidth)}else this._frozenTabWidths=null;this._releaseMouse();let n=u.removeAt(this._titles,e);n&&(n.changed.disconnect(this._onTitleChanged,this),n===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(e,n))}clearTabs(){if(this._titles.length===0)return;this._releaseMouse();for(let e of this._titles)e.changed.disconnect(this._onTitleChanged,this);let e=this.currentIndex,t=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),e!==-1&&this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}releaseMouse(){this._releaseMouse()}handleEvent(e){switch(e.type){case`pointerdown`:this._evtPointerDown(e);break;case`pointermove`:this._evtPointerMove(e);break;case`pointerup`:this._evtPointerUp(e);break;case`pointerleave`:this._evtPointerLeave(e);break;case`dblclick`:this._evtDblClick(e);break;case`keydown`:e.eventPhase===Event.CAPTURING_PHASE?this._evtKeyDownCapturing(e):this._evtKeyDown(e);break;case`contextmenu`:e.preventDefault(),e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener(`pointerdown`,this),this.node.addEventListener(`pointerleave`,this),this.node.addEventListener(`dblclick`,this),this.node.addEventListener(`keydown`,this)}onAfterDetach(e){this.node.removeEventListener(`pointerdown`,this),this.node.removeEventListener(`pointerleave`,this),this.node.removeEventListener(`dblclick`,this),this.node.removeEventListener(`keydown`,this),this._clearUnfreezeTransitionState(),this._clearTabSizeFreezeState(),this._releaseMouse()}onUpdateRequest(e){let t=this._titles,n=this.renderer,r=this.currentTitle,i=Array(t.length),a=this._getCurrentTabindex()??(this._currentIndex>-1?this._currentIndex:0);for(let e=0,o=t.length;e<o;++e){let s=t[e],c=s===r,l=c?o:o-e-1,u=a===e?0:-1;i[e]=n.renderTab({title:s,current:c,zIndex:l,tabIndex:u})}if(A.render(i,this.contentNode),this._tabSizeFrozen){let e=this.contentNode.children;if(this._frozenTabWidths&&this._frozenTabWidths.length===e.length){for(let t=0,n=e.length;t<n;++t)this._setFrozenTabSize(e[t],this._frozenTabWidths[t]);this._frozenTabWidths=null}else{this._frozenTabWidths=null;for(let t=0,n=e.length;t<n;++t){let n=e[t];this._setFrozenTabSize(n,n.offsetWidth)}}}}_getCurrentTabindex(){let e=null,t=this.contentNode.querySelector(`li[tabindex="0"]`);return t?e=[...this.contentNode.children].indexOf(t):this._addButtonEnabled&&this.addButtonNode.getAttribute(`tabindex`)===`0`&&(e=-1),e}_evtDblClick(e){if(!this.titlesEditable)return;let t=this.contentNode.children,n=u.findFirstIndex(t,t=>y.hitTest(t,e.clientX,e.clientY));if(n===-1)return;let r=this.titles[n],i=t[n].querySelector(`.lm-TabBar-tabLabel`);if(i&&i.contains(e.target)){let e=r.label||``,t=i.innerHTML;i.innerHTML=``;let n=document.createElement(`input`);n.classList.add(`lm-TabBar-tabInput`),n.value=e,i.appendChild(n);let onblur=()=>{n.removeEventListener(`blur`,onblur),i.innerHTML=t,this.node.addEventListener(`keydown`,this)};n.addEventListener(`dblclick`,e=>e.stopPropagation()),n.addEventListener(`blur`,onblur),n.addEventListener(`keydown`,e=>{e.key===`Enter`?(n.value!==``&&(r.label=r.caption=n.value),onblur()):e.key===`Escape`&&onblur()}),this.node.removeEventListener(`keydown`,this),n.select(),n.focus(),i.children.length>0&&i.children[0].focus()}}_evtKeyDownCapturing(e){e.eventPhase===Event.CAPTURING_PHASE&&(e.preventDefault(),e.stopPropagation(),e.key===`Escape`&&this._releaseMouse())}_evtKeyDown(e){var t;if(!(e.key===`Tab`||e.eventPhase===Event.CAPTURING_PHASE)){if(e.key===`Enter`||e.key===`Spacebar`||e.key===` `){let t=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(t))e.preventDefault(),e.stopPropagation(),this._addRequested.emit();else{let n=u.findFirstIndex(this.contentNode.children,e=>e.contains(t));n>=0&&(e.preventDefault(),e.stopPropagation(),this.currentIndex=n)}}else if(le.includes(e.key)){let n=[...this.contentNode.children];if(this.addButtonEnabled&&n.push(this.addButtonNode),n.length<=1)return;e.preventDefault(),e.stopPropagation();let r=n.indexOf(document.activeElement);r===-1&&(r=this._currentIndex);let i;e.key===`ArrowRight`&&this._orientation===`horizontal`||e.key===`ArrowDown`&&this._orientation===`vertical`?i=n[r+1]??n[0]:e.key===`ArrowLeft`&&this._orientation===`horizontal`||e.key===`ArrowUp`&&this._orientation===`vertical`?i=n[r-1]??n[n.length-1]:e.key===`Home`?i=n[0]:e.key===`End`&&(i=n[n.length-1]),i&&((t=n[r])==null||t.setAttribute(`tabindex`,`-1`),i?.setAttribute(`tabindex`,`0`),i.focus())}}}_evtPointerDown(e){if(e.button!==0&&e.button!==1||this._dragData||e.target.classList.contains(`lm-TabBar-tabInput`))return;let t=this.addButtonEnabled&&this.addButtonNode.contains(e.target),n=this.contentNode.children,r=u.findFirstIndex(n,t=>y.hitTest(t,e.clientX,e.clientY));if(r===-1&&!t||(e.preventDefault(),e.stopPropagation(),this._dragData={tab:n[r],index:r,pressX:e.clientX,pressY:e.clientY,tabPos:-1,tabSize:-1,tabPressPos:-1,targetIndex:-1,tabLayout:null,contentRect:null,override:null,dragActive:!1,dragAborted:!1,detachRequested:!1},this.document.addEventListener(`pointerup`,this,!0),e.button===1||t))return;let i=n[r].querySelector(this.renderer.closeIconSelector);i&&i.contains(e.target)||(this.tabsMovable&&(this.document.addEventListener(`pointermove`,this,!0),this.document.addEventListener(`keydown`,this,!0),this.document.addEventListener(`contextmenu`,this,!0)),this.allowDeselect&&this.currentIndex===r?this.currentIndex=-1:this.currentIndex=r,this.currentIndex!==-1&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(e){let t=this._dragData;if(!t)return;e.preventDefault(),e.stopPropagation();let n=this.contentNode.children;if(!(!t.dragActive&&!q.dragExceeded(t,e))){if(!t.dragActive){let e=t.tab.getBoundingClientRect();this._orientation===`horizontal`?(t.tabPos=t.tab.offsetLeft,t.tabSize=e.width,t.tabPressPos=t.pressX-e.left):(t.tabPos=t.tab.offsetTop,t.tabSize=e.height,t.tabPressPos=t.pressY-e.top),t.tabPressOffset={x:t.pressX-e.left,y:t.pressY-e.top},t.tabLayout=q.snapTabLayout(n,this._orientation),t.contentRect=this.contentNode.getBoundingClientRect(),t.override=O.overrideCursor(`default`),t.tab.classList.add(`lm-mod-dragging`),this.addClass(`lm-mod-dragging`),t.dragActive=!0}if(!t.detachRequested&&q.detachExceeded(t,e)){t.detachRequested=!0;let r=t.index,i=e.clientX,a=e.clientY,o=n[r],s=this._titles[r];if(this._tabDetachRequested.emit({index:r,title:s,tab:o,clientX:i,clientY:a,offset:t.tabPressOffset}),t.dragAborted)return}q.layoutTabs(n,t,e,this._orientation)}}_evtPointerUp(e){if(e.button!==0&&e.button!==1)return;let t=this._dragData;if(!t)return;if(e.preventDefault(),e.stopPropagation(),this.document.removeEventListener(`pointermove`,this,!0),this.document.removeEventListener(`pointerup`,this,!0),this.document.removeEventListener(`keydown`,this,!0),this.document.removeEventListener(`contextmenu`,this,!0),!t.dragActive){if(this._dragData=null,this.addButtonEnabled&&this.addButtonNode.contains(e.target)){this._addRequested.emit(void 0);return}let n=this.contentNode.children,r=u.findFirstIndex(n,t=>y.hitTest(t,e.clientX,e.clientY));if(r!==t.index)return;let i=this._titles[r];if(!i.closable)return;if(e.button===1){this._tabCloseRequested.emit({index:r,title:i});return}let a=n[r].querySelector(this.renderer.closeIconSelector);if(a&&a.contains(e.target)){this._tabSizeFrozen=!0,this._tabCloseRequested.emit({index:r,title:i});return}return}if(e.button!==0)return;q.finalizeTabPosition(t,this._orientation),t.tab.classList.remove(`lm-mod-dragging`);let n=q.parseTransitionDuration(t.tab);setTimeout(()=>{if(t.dragAborted)return;this._dragData=null,q.resetTabPositions(this.contentNode.children,this._orientation),t.override.dispose(),this.removeClass(`lm-mod-dragging`);let e=t.index,n=t.targetIndex;n===-1||e===n||(u.move(this._titles,e,n),this._adjustCurrentForMove(e,n),this._tabMoved.emit({fromIndex:e,toIndex:n,title:this._titles[n]}),E.sendMessage(this,N.Msg.UpdateRequest))},n)}_releaseMouse(){let e=this._dragData;e&&(this._dragData=null,this.document.removeEventListener(`pointermove`,this,!0),this.document.removeEventListener(`pointerup`,this,!0),this.document.removeEventListener(`keydown`,this,!0),this.document.removeEventListener(`contextmenu`,this,!0),e.dragAborted=!0,e.dragActive&&(q.resetTabPositions(this.contentNode.children,this._orientation),e.override.dispose(),e.tab.classList.remove(`lm-mod-dragging`),this.removeClass(`lm-mod-dragging`)))}_adjustCurrentForInsert(e,t){let n=this.currentTitle,r=this._currentIndex,i=this.insertBehavior;if(i===`select-tab`||i===`select-tab-if-needed`&&r===-1){this._currentIndex=e,this._previousTitle=n,this._currentChanged.emit({previousIndex:r,previousTitle:n,currentIndex:e,currentTitle:t});return}r>=e&&this._currentIndex++}_adjustCurrentForMove(e,t){this._currentIndex===e?this._currentIndex=t:this._currentIndex<e&&this._currentIndex>=t?this._currentIndex++:this._currentIndex>e&&this._currentIndex<=t&&this._currentIndex--}_adjustCurrentForRemove(e,t){let n=this._currentIndex,r=this.removeBehavior;if(n!==e){n>e&&this._currentIndex--;return}if(this._titles.length===0){this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null});return}if(r===`select-tab-after`){this._currentIndex=Math.min(e,this._titles.length-1),this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(r===`select-tab-before`){this._currentIndex=Math.max(0,e-1),this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(r===`select-previous-tab`){this._previousTitle?(this._currentIndex=this._titles.indexOf(this._previousTitle),this._previousTitle=null):this._currentIndex=Math.min(e,this._titles.length-1),this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}_onTitleChanged(e){this.update()}_evtPointerLeave(e){if(!this._tabSizeFrozen)return;this._tabSizeFrozen=!1,this._frozenTabWidths=null,this._unfreezeRunID++;let t=this._unfreezeRunID;this._clearUnfreezeTransitionState(),this.addClass(`lm-mod-unfreezing`);let n=this.contentNode.children;for(let e=0,t=n.length;e<t;++e){let t=n[e];t.style.width=``,t.style.flexBasis=``}if(n.length===0)this.removeClass(`lm-mod-unfreezing`);else{let onTransitionDone=e=>{let n=e.propertyName;(n===`width`||n===`flex-basis`)&&this._finalizeUnfreezeRun(t)};this._unfreezeTransitionListener=onTransitionDone,this.node.addEventListener(`transitionend`,onTransitionDone),this.node.addEventListener(`transitioncancel`,onTransitionDone),this._unfreezeFallbackTimerID=window.setTimeout(()=>{this._finalizeUnfreezeRun(t)},2e3)}this.update()}_setFrozenTabSize(e,t){let n=`${t}px`;e.style.width=n,e.style.flexBasis=n}_finalizeUnfreezeRun(e){e===this._unfreezeRunID&&(this._clearUnfreezeTransitionState(),this.removeClass(`lm-mod-unfreezing`))}_clearUnfreezeTransitionState(){this._unfreezeTransitionListener&&=(this.node.removeEventListener(`transitionend`,this._unfreezeTransitionListener),this.node.removeEventListener(`transitioncancel`,this._unfreezeTransitionListener),null),this._unfreezeFallbackTimerID!==0&&(clearTimeout(this._unfreezeFallbackTimerID),this._unfreezeFallbackTimerID=0)}_clearTabSizeFreezeState(){this._tabSizeFrozen=!1,this._frozenTabWidths=null,this.removeClass(`lm-mod-unfreezing`);let e=this.contentNode.children;for(let t=0,n=e.length;t<n;++t){let n=e[t];n.style.width=``,n.style.flexBasis=``}}};(function(e){class Renderer{constructor(){this.closeIconSelector=`.lm-TabBar-tabCloseIcon`,this._tabID=0,this._tabKeys=new WeakMap,this._uuid=++Renderer._nInstance}renderTab(e){let t=e.title.caption,n=this.createTabKey(e),r=n,i=this.createTabStyle(e),a=this.createTabClass(e),o=this.createTabDataset(e),s=this.createTabARIA(e);return e.title.closable?h.li({id:r,key:n,className:a,title:t,style:i,dataset:o,...s},this.renderIcon(e),this.renderLabel(e),this.renderCloseIcon(e)):h.li({id:r,key:n,className:a,title:t,style:i,dataset:o,...s},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let{title:t}=e,n=this.createIconClass(e);return h.div({className:n},t.icon,t.iconLabel)}renderLabel(e){return h.div({className:`lm-TabBar-tabLabel`},e.title.label)}renderCloseIcon(e){return h.div({className:`lm-TabBar-tabCloseIcon`})}createTabKey(e){let t=this._tabKeys.get(e.title);return t===void 0&&(t=`tab-key-${this._uuid}-${this._tabID++}`,this._tabKeys.set(e.title,t)),t}createTabStyle(e){return{zIndex:`${e.zIndex}`}}createTabClass(e){let t=`lm-TabBar-tab`;return e.title.className&&(t+=` ${e.title.className}`),e.title.closable&&(t+=` lm-mod-closable`),e.current&&(t+=` lm-mod-current`),t}createTabDataset(e){return e.title.dataset}createTabARIA(e){return{role:`tab`,"aria-selected":e.current.toString(),tabindex:`${e.tabIndex??`-1`}`}}createIconClass(e){let t=`lm-TabBar-tabIcon`,n=e.title.iconClass;return n?`${t} ${n}`:t}}Renderer._nInstance=0,e.Renderer=Renderer,e.defaultRenderer=new Renderer,e.addButtonSelector=`.lm-TabBar-addButton`})(K||={});var q;(function(e){e.DRAG_THRESHOLD=5,e.DETACH_THRESHOLD=20;function createNode(){let e=document.createElement(`div`),t=document.createElement(`ul`);t.setAttribute(`role`,`tablist`),t.className=`lm-TabBar-content`,e.appendChild(t);let n=document.createElement(`div`);return n.className=`lm-TabBar-addButton lm-mod-hidden`,n.setAttribute(`tabindex`,`-1`),n.setAttribute(`role`,`button`),e.appendChild(n),e}e.createNode=createNode;function asTitle(e){return e instanceof Title?e:new Title(e)}e.asTitle=asTitle;function parseTransitionDuration(e){let t=window.getComputedStyle(e);return 1e3*(parseFloat(t.transitionDuration)||0)}e.parseTransitionDuration=parseTransitionDuration;function snapTabLayout(e,t){let n=Array(e.length);for(let r=0,i=e.length;r<i;++r){let i=e[r],a=window.getComputedStyle(i);t===`horizontal`?n[r]={pos:i.offsetLeft,size:i.offsetWidth,margin:parseFloat(a.marginLeft)||0}:n[r]={pos:i.offsetTop,size:i.offsetHeight,margin:parseFloat(a.marginTop)||0}}return n}e.snapTabLayout=snapTabLayout;function dragExceeded(t,n){let r=Math.abs(n.clientX-t.pressX),i=Math.abs(n.clientY-t.pressY);return r>=e.DRAG_THRESHOLD||i>=e.DRAG_THRESHOLD}e.dragExceeded=dragExceeded;function detachExceeded(t,n){let r=t.contentRect;return n.clientX<r.left-e.DETACH_THRESHOLD||n.clientX>=r.right+e.DETACH_THRESHOLD||n.clientY<r.top-e.DETACH_THRESHOLD||n.clientY>=r.bottom+e.DETACH_THRESHOLD}e.detachExceeded=detachExceeded;function layoutTabs(e,t,n,r){let i,a,o,s;r===`horizontal`?(i=t.pressX,a=n.clientX-t.contentRect.left,o=n.clientX,s=t.contentRect.width):(i=t.pressY,a=n.clientY-t.contentRect.top,o=n.clientY,s=t.contentRect.height);let c=t.index,l=a-t.tabPressPos,u=l+t.tabSize;for(let n=0,a=e.length;n<a;++n){let a,d=t.tabLayout[n],f=d.pos+(d.size>>1);if(n<t.index&&l<f)a=`${t.tabSize+t.tabLayout[n+1].margin}px`,c=Math.min(c,n);else if(n>t.index&&u>f)a=`${-t.tabSize-d.margin}px`,c=Math.max(c,n);else if(n===t.index){let e=o-i,n=s-(t.tabPos+t.tabSize);a=`${Math.max(-t.tabPos,Math.min(e,n))}px`}else a=``;r===`horizontal`?e[n].style.left=a:e[n].style.top=a}t.targetIndex=c}e.layoutTabs=layoutTabs;function finalizeTabPosition(e,t){let n;n=t===`horizontal`?e.contentRect.width:e.contentRect.height;let r;if(e.targetIndex===e.index)r=0;else if(e.targetIndex>e.index){let t=e.tabLayout[e.targetIndex];r=t.pos+t.size-e.tabSize-e.tabPos}else r=e.tabLayout[e.targetIndex].pos-e.tabPos;let i=n-(e.tabPos+e.tabSize),a=Math.max(-e.tabPos,Math.min(r,i));t===`horizontal`?e.tab.style.left=`${a}px`:e.tab.style.top=`${a}px`}e.finalizeTabPosition=finalizeTabPosition;function resetTabPositions(e,t){for(let n of e)t===`horizontal`?n.style.left=``:n.style.top=``}e.resetTabPositions=resetTabPositions})(q||={});var DockLayout=class extends Layout{constructor(e){super(),this._spacing=4,this._dirty=!1,this._root=null,this._box=null,this._items=new Map,this.renderer=e.renderer,e.spacing!==void 0&&(this._spacing=L.clampDimension(e.spacing)),this._document=e.document||document,this._hiddenMode=e.hiddenMode===void 0?N.HiddenMode.Display:e.hiddenMode}dispose(){let e=this[Symbol.iterator]();this._items.forEach(e=>{e.dispose()}),this._box=null,this._root=null,this._items.clear();for(let t of e)t.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode!==e){this._hiddenMode=e;for(let e of this.tabBars())if(e.titles.length>1)for(let t of e.titles)t.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(e){e=L.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get isEmpty(){return this._root===null}[Symbol.iterator](){return this._root?this._root.iterAllWidgets():empty()}widgets(){return this._root?this._root.iterUserWidgets():empty()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():empty()}tabBars(){return this._root?this._root.iterTabBars():empty()}handles(){return this._root?this._root.iterHandles():empty()}moveHandle(e,t,n){let r=e.classList.contains(`lm-mod-hidden`);if(!this._root||r)return;let i=this._root.findSplitNode(e);if(!i)return;let a;a=i.node.orientation===`horizontal`?t-e.offsetLeft:n-e.offsetTop,a!==0&&(i.node.holdSizes(),M.adjust(i.node.sizers,i.index,a),this.parent&&this.parent.update())}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(e){let t=new Set,n;n=e.main?J.normalizeAreaConfig(e.main,t):null;let r=this.widgets(),i=this.tabBars(),a=this.handles();this._root=null;for(let e of r)t.has(e)||(e.parent=null);for(let e of i)e.dispose();for(let e of a)e.parentNode&&e.parentNode.removeChild(e);for(let e of t)e.parent=this.parent;n?this._root=J.realizeAreaConfig(n,{createTabBar:e=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document):this._root=null,this.parent&&(t.forEach(e=>{this.attachWidget(e)}),this.parent.fit())}addWidget(e,t={}){let n=t.ref||null,r=t.mode||`tab-after`,i=null;if(this._root&&n&&(i=this._root.findTabNode(n)),n&&!i)throw Error(`Reference widget is not in the layout.`);switch(e.parent=this.parent,r){case`tab-after`:this._insertTab(e,n,i,!0);break;case`tab-before`:this._insertTab(e,n,i,!1);break;case`split-top`:this._insertSplit(e,n,i,`vertical`,!1);break;case`split-left`:this._insertSplit(e,n,i,`horizontal`,!1);break;case`split-right`:this._insertSplit(e,n,i,`horizontal`,!0);break;case`split-bottom`:this._insertSplit(e,n,i,`vertical`,!0);break;case`merge-top`:this._insertSplit(e,n,i,`vertical`,!1,!0);break;case`merge-left`:this._insertSplit(e,n,i,`horizontal`,!1,!0);break;case`merge-right`:this._insertSplit(e,n,i,`horizontal`,!0,!0);break;case`merge-bottom`:this._insertSplit(e,n,i,`vertical`,!0,!0);break}this.parent&&(this.attachWidget(e),this.parent.fit())}removeWidget(e){this._removeWidget(e),this.parent&&(this.detachWidget(e),this.parent.fit())}hitTestTabAreas(e,t){if(!this._root||!this.parent||!this.parent.isVisible)return null;this._box||=y.boxSizing(this.parent.node);let n=this.parent.node.getBoundingClientRect(),r=e-n.left-this._box.borderLeft,i=t-n.top-this._box.borderTop,a=this._root.hitTestTabNodes(r,i);if(!a)return null;let{tabBar:o,top:s,left:c,width:l,height:u}=a,d=this._box.borderLeft+this._box.borderRight,f=this._box.borderTop+this._box.borderBottom;return{tabBar:o,x:r,y:i,top:s,left:c,right:n.width-d-(c+l),bottom:n.height-f-(s+u),width:l,height:u}}init(){super.init();for(let e of this)this.attachWidget(e);for(let e of this.handles())this.parent.node.appendChild(e);this.parent.fit()}attachWidget(e){this.parent.node!==e.node.parentNode&&(this._items.set(e,new LayoutItem(e)),this.parent.isAttached&&E.sendMessage(e,N.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&E.sendMessage(e,N.Msg.AfterAttach))}detachWidget(e){if(this.parent.node!==e.node.parentNode)return;this.parent.isAttached&&E.sendMessage(e,N.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&E.sendMessage(e,N.Msg.AfterDetach);let t=this._items.get(e);t&&(this._items.delete(e),t.dispose())}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_removeWidget(e){if(!this._root)return;let t=this._root.findTabNode(e);if(!t)return;if(J.removeAria(e),t.tabBar.titles.length>1){if(t.tabBar.removeTab(e.title),this._hiddenMode===N.HiddenMode.Scale&&t.tabBar.titles.length==1){let e=t.tabBar.titles[0].owner;e.hiddenMode=N.HiddenMode.Display}return}if(t.tabBar.dispose(),this._root===t){this._root=null;return}this._root.holdAllSizes();let n=t.parent;t.parent=null;let r=u.removeFirstOf(n.children,t),i=u.removeAt(n.handles,r);if(u.removeAt(n.sizers,r),i.parentNode&&i.parentNode.removeChild(i),n.children.length>1){n.syncHandles();return}let a=n.parent;n.parent=null;let o=n.children[0],s=n.handles[0];if(n.children.length=0,n.handles.length=0,n.sizers.length=0,s.parentNode&&s.parentNode.removeChild(s),this._root===n){o.parent=null,this._root=o;return}let c=a,l=c.children.indexOf(n);if(o instanceof J.TabLayoutNode){o.parent=c,c.children[l]=o;return}let d=u.removeAt(c.handles,l);u.removeAt(c.children,l),u.removeAt(c.sizers,l),d.parentNode&&d.parentNode.removeChild(d);for(let e=0,t=o.children.length;e<t;++e){let t=o.children[e],n=o.handles[e],r=o.sizers[e];u.insert(c.children,l+e,t),u.insert(c.handles,l+e,n),u.insert(c.sizers,l+e,r),t.parent=c}o.children.length=0,o.handles.length=0,o.sizers.length=0,o.parent=null,c.syncHandles()}_createTabNode(e){let t=new J.TabLayoutNode(this._createTabBar());return t.tabBar.addTab(e.title),J.addAria(e,t.tabBar),t}_insertTab(e,t,n,r){if(e===t)return;if(!this._root){let t=new J.TabLayoutNode(this._createTabBar());t.tabBar.addTab(e.title),this._root=t,J.addAria(e,t.tabBar);return}n||=this._root.findFirstTabNode(),n.tabBar.titles.indexOf(e.title)===-1&&(this._removeWidget(e),e.hide());let i;if(i=t?n.tabBar.titles.indexOf(t.title):n.tabBar.currentIndex,this._hiddenMode===N.HiddenMode.Scale)if(n.tabBar.titles.length===0)e.hiddenMode=N.HiddenMode.Display;else if(n.tabBar.titles.length==1){let e=n.tabBar.titles[0].owner;e.hiddenMode=N.HiddenMode.Scale}else e.hiddenMode=N.HiddenMode.Scale;else e.hiddenMode=this._hiddenMode;n.tabBar.insertTab(i+ +!!r,e.title),J.addAria(e,n.tabBar)}_insertSplit(e,t,n,r,i,a=!1){if(e===t&&n&&n.tabBar.titles.length===1)return;if(this._removeWidget(e),!this._root){this._root=this._createTabNode(e);return}if(!n||!n.parent){let t=this._splitRoot(r),a=i?t.children.length:0;t.normalizeSizes();let o=J.createSizer(n?1:J.GOLDEN_RATIO),s=this._createTabNode(e);u.insert(t.children,a,s),u.insert(t.sizers,a,o),u.insert(t.handles,a,this._createHandle()),s.parent=t,t.normalizeSizes(),t.syncHandles();return}let o=n.parent;if(o.orientation===r){let t=o.children.indexOf(n);if(a){let n=t+(i?1:-1),r=o.children[n];if(r instanceof J.TabLayoutNode){this._insertTab(e,null,r,!0),++r.tabBar.currentIndex;return}}o.normalizeSizes();let r=o.sizers[t].sizeHint/=2,s=t+ +!!i,c=this._createTabNode(e);u.insert(o.children,s,c),u.insert(o.sizers,s,J.createSizer(r)),u.insert(o.handles,s,this._createHandle()),c.parent=o,o.syncHandles();return}let s=u.removeFirstOf(o.children,n),c=new J.SplitLayoutNode(r);c.normalized=!0,c.children.push(n),c.sizers.push(J.createSizer(.5)),c.handles.push(this._createHandle()),n.parent=c;let l=+!!i,d=this._createTabNode(e);u.insert(c.children,l,d),u.insert(c.sizers,l,J.createSizer(.5)),u.insert(c.handles,l,this._createHandle()),d.parent=c,c.syncHandles(),u.insert(o.children,s,c),c.parent=o}_splitRoot(e){let t=this._root;if(t instanceof J.SplitLayoutNode&&t.orientation===e)return t;let n=this._root=new J.SplitLayoutNode(e);return t&&(n.children.push(t),n.sizers.push(J.createSizer(0)),n.handles.push(this._createHandle()),t.parent=n),n}_fit(){let e=0,t=0;if(this._root){let n=this._root.fit(this._spacing,this._items);e=n.minWidth,t=n.minHeight}let n=this._box=y.boxSizing(this.parent.node);e+=n.horizontalSum,t+=n.verticalSum;let r=this.parent.node.style;r.minWidth=`${e}px`,r.minHeight=`${t}px`,this._dirty=!0,this.parent.parent&&E.sendMessage(this.parent.parent,N.Msg.FitRequest),this._dirty&&E.sendMessage(this.parent,N.Msg.UpdateRequest)}_update(e,t){if(this._dirty=!1,!this._root)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||=y.boxSizing(this.parent.node);let n=this._box.paddingTop,r=this._box.paddingLeft,i=e-this._box.horizontalSum,a=t-this._box.verticalSum;this._root.update(n,r,i,a,this._spacing,this._items)}_createTabBar(){let e=this.renderer.createTabBar(this._document);return e.orientation=`horizontal`,this.parent&&this.attachWidget(e),e}_createHandle(){let e=this.renderer.createHandle(),t=e.style;return t.position=`absolute`,t.contain=`strict`,t.top=`0`,t.left=`0`,t.width=`0`,t.height=`0`,this.parent&&this.parent.node.appendChild(e),e}},J;(function(e){e.GOLDEN_RATIO=.618;function createSizer(e){let t=new BoxSizer;return t.sizeHint=e,t.size=e,t}e.createSizer=createSizer;function normalizeAreaConfig(e,t){let n;return n=e.type===`tab-area`?normalizeTabAreaConfig(e,t):normalizeSplitAreaConfig(e,t),n}e.normalizeAreaConfig=normalizeAreaConfig;function realizeAreaConfig(e,t,n){let r;return r=e.type===`tab-area`?realizeTabAreaConfig(e,t,n):realizeSplitAreaConfig(e,t,n),r}e.realizeAreaConfig=realizeAreaConfig;class TabLayoutNode{constructor(e){this.parent=null,this._top=0,this._left=0,this._width=0,this._height=0;let t=new BoxSizer,n=new BoxSizer;t.stretch=0,n.stretch=1,this.tabBar=e,this.sizers=[t,n]}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}*iterAllWidgets(){yield this.tabBar,yield*this.iterUserWidgets()}*iterUserWidgets(){for(let e of this.tabBar.titles)yield e.owner}*iterSelectedWidgets(){let e=this.tabBar.currentTitle;e&&(yield e.owner)}*iterTabBars(){yield this.tabBar}*iterHandles(){}findTabNode(e){return this.tabBar.titles.indexOf(e.title)===-1?null:this}findSplitNode(e){return null}findFirstTabNode(){return this}hitTestTabNodes(e,t){return e<this._left||e>=this._left+this._width||t<this._top||t>=this._top+this._height?null:this}createConfig(){return{type:`tab-area`,widgets:this.tabBar.titles.map(e=>e.owner),currentIndex:this.tabBar.currentIndex}}holdAllSizes(){}fit(e,t){let n=0,r=0,i=t.get(this.tabBar),a=this.tabBar.currentTitle,o=a?t.get(a.owner):void 0,[s,c]=this.sizers;return i&&i.fit(),o&&o.fit(),i&&!i.isHidden?(n=Math.max(n,i.minWidth),r+=i.minHeight,s.minSize=i.minHeight,s.maxSize=i.maxHeight):(s.minSize=0,s.maxSize=0),o&&!o.isHidden?(n=Math.max(n,o.minWidth),r+=o.minHeight,c.minSize=o.minHeight,c.maxSize=1/0):(c.minSize=0,c.maxSize=1/0),{minWidth:n,minHeight:r,maxWidth:1/0,maxHeight:1/0}}update(e,t,n,r,i,a){this._top=t,this._left=e,this._width=n,this._height=r;let o=a.get(this.tabBar),s=this.tabBar.currentTitle,c=s?a.get(s.owner):void 0;if(M.calc(this.sizers,r),o&&!o.isHidden){let r=this.sizers[0].size;o.update(e,t,n,r),t+=r}if(c&&!c.isHidden){let r=this.sizers[1].size;c.update(e,t,n,r)}}}e.TabLayoutNode=TabLayoutNode;class SplitLayoutNode{constructor(e){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=e}*iterAllWidgets(){for(let e of this.children)yield*e.iterAllWidgets()}*iterUserWidgets(){for(let e of this.children)yield*e.iterUserWidgets()}*iterSelectedWidgets(){for(let e of this.children)yield*e.iterSelectedWidgets()}*iterTabBars(){for(let e of this.children)yield*e.iterTabBars()}*iterHandles(){yield*this.handles;for(let e of this.children)yield*e.iterHandles()}findTabNode(e){for(let t=0,n=this.children.length;t<n;++t){let n=this.children[t].findTabNode(e);if(n)return n}return null}findSplitNode(e){let t=this.handles.indexOf(e);if(t!==-1)return{index:t,node:this};for(let t=0,n=this.children.length;t<n;++t){let n=this.children[t].findSplitNode(e);if(n)return n}return null}findFirstTabNode(){return this.children.length===0?null:this.children[0].findFirstTabNode()}hitTestTabNodes(e,t){for(let n=0,r=this.children.length;n<r;++n){let r=this.children[n].hitTestTabNodes(e,t);if(r)return r}return null}createConfig(){let e=this.orientation,t=this.createNormalizedSizes();return{type:`split-area`,orientation:e,children:this.children.map(e=>e.createConfig()),sizes:t}}syncHandles(){this.handles.forEach((e,t)=>{e.setAttribute(`data-orientation`,this.orientation),t===this.handles.length-1?e.classList.add(`lm-mod-hidden`):e.classList.remove(`lm-mod-hidden`)})}holdSizes(){for(let e of this.sizers)e.sizeHint=e.size}holdAllSizes(){for(let e of this.children)e.holdAllSizes();this.holdSizes()}normalizeSizes(){let e=this.sizers.length;if(e===0)return;this.holdSizes();let t=this.sizers.reduce((e,t)=>e+t.sizeHint,0);if(t===0)for(let t of this.sizers)t.size=t.sizeHint=1/e;else for(let e of this.sizers)e.size=e.sizeHint/=t;this.normalized=!0}createNormalizedSizes(){let e=this.sizers.length;if(e===0)return[];let t=this.sizers.map(e=>e.size),n=t.reduce((e,t)=>e+t,0);if(n===0)for(let n=t.length-1;n>-1;n--)t[n]=1/e;else for(let e=t.length-1;e>-1;e--)t[e]/=n;return t}fit(e,t){let n=this.orientation===`horizontal`,r=Math.max(0,this.children.length-1)*e,i=n?r:0,a=n?0:r;for(let r=0,o=this.children.length;r<o;++r){let o=this.children[r].fit(e,t);n?(a=Math.max(a,o.minHeight),i+=o.minWidth,this.sizers[r].minSize=o.minWidth):(i=Math.max(i,o.minWidth),a+=o.minHeight,this.sizers[r].minSize=o.minHeight)}return{minWidth:i,minHeight:a,maxWidth:1/0,maxHeight:1/0}}update(e,t,n,r,i,a){let o=this.orientation===`horizontal`,s=Math.max(0,this.children.length-1)*i,c=Math.max(0,(o?n:r)-s);if(this.normalized){for(let e of this.sizers)e.sizeHint*=c;this.normalized=!1}M.calc(this.sizers,c);for(let s=0,c=this.children.length;s<c;++s){let c=this.children[s],l=this.sizers[s].size,u=this.handles[s].style;o?(c.update(e,t,l,r,i,a),e+=l,u.top=`${t}px`,u.left=`${e}px`,u.width=`${i}px`,u.height=`${r}px`,e+=i):(c.update(e,t,n,l,i,a),t+=l,u.top=`${t}px`,u.left=`${e}px`,u.width=`${n}px`,u.height=`${i}px`,t+=i)}}}e.SplitLayoutNode=SplitLayoutNode;function addAria(e,t){e.node.setAttribute(`role`,`tabpanel`);let n=t.renderer;if(n instanceof K.Renderer){let t=n.createTabKey({title:e.title,current:!1,zIndex:0});e.node.setAttribute(`aria-labelledby`,t)}}e.addAria=addAria;function removeAria(e){e.node.removeAttribute(`role`),e.node.removeAttribute(`aria-labelledby`)}e.removeAria=removeAria;function normalizeTabAreaConfig(e,t){if(e.widgets.length===0)return null;let n=[];for(let r of e.widgets)t.has(r)||(t.add(r),n.push(r));if(n.length===0)return null;let r=e.currentIndex;return r!==-1&&(r<0||r>=n.length)&&(r=0),{type:`tab-area`,widgets:n,currentIndex:r}}function normalizeSplitAreaConfig(e,t){let n=e.orientation,r=[],i=[];for(let a=0,o=e.children.length;a<o;++a){let o=normalizeAreaConfig(e.children[a],t);o&&(o.type===`tab-area`||o.orientation!==n?(r.push(o),i.push(Math.abs(e.sizes[a]||0))):(r.push(...o.children),i.push(...o.sizes)))}return r.length===0?null:r.length===1?r[0]:{type:`split-area`,orientation:n,children:r,sizes:i}}function realizeTabAreaConfig(t,n,r){let i=n.createTabBar(r);for(let n of t.widgets)n.hide(),i.addTab(n.title),e.addAria(n,i);return i.currentIndex=t.currentIndex,new TabLayoutNode(i)}function realizeSplitAreaConfig(e,t,n){let r=new SplitLayoutNode(e.orientation);return e.children.forEach((i,a)=>{let o=realizeAreaConfig(i,t,n),s=createSizer(e.sizes[a]),c=t.createHandle();r.children.push(o),r.handles.push(c),r.sizers.push(s),o.parent=r}),r.syncHandles(),r.normalizeSizes(),r}})(J||={});var ue=class DockPanel$1 extends N{static{__name(this,`DockPanel`)}constructor(e={}){super(),this._drag=null,this._tabsMovable=!0,this._tabsConstrained=!1,this._addButtonEnabled=!1,this._pressData=null,this._layoutModified=new Signal(this),this._addRequested=new Signal(this),this.addClass(`lm-DockPanel`),this._document=e.document||document,this._mode=e.mode||`multiple-document`,this._renderer=e.renderer||DockPanel$1.defaultRenderer,this._edges=e.edges||Y.DEFAULT_EDGES,e.tabsMovable!==void 0&&(this._tabsMovable=e.tabsMovable),e.tabsConstrained!==void 0&&(this._tabsConstrained=e.tabsConstrained),e.addButtonEnabled!==void 0&&(this._addButtonEnabled=e.addButtonEnabled),this.dataset.mode=this._mode;let t={createTabBar:()=>this._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new DockLayout({document:this._document,renderer:t,spacing:e.spacing,hiddenMode:e.hiddenMode}),this.overlay=e.overlay||new DockPanel$1.Overlay,this.node.appendChild(this.overlay.node)}dispose(){this._releaseMouse(),this.overlay.hide(0),this._drag&&this._drag.dispose(),super.dispose()}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get layoutModified(){return this._layoutModified}get addRequested(){return this._addRequested}get renderer(){return this.layout.renderer}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get mode(){return this._mode}set mode(e){if(this._mode===e)return;this._mode=e,this.dataset.mode=e;let t=this.layout;switch(e){case`multiple-document`:for(let e of t.tabBars())e.show();break;case`single-document`:t.restoreLayout(Y.createSingleDocumentConfig(this));break;default:throw`unreachable`}E.postMessage(this,Y.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(e){this._tabsMovable=e;for(let t of this.tabBars())t.tabsMovable=e}get tabsConstrained(){return this._tabsConstrained}set tabsConstrained(e){this._tabsConstrained=e}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled=e;for(let t of this.tabBars())t.addButtonEnabled=e}get isEmpty(){return this.layout.isEmpty}*widgets(){yield*this.layout.widgets()}*selectedWidgets(){yield*this.layout.selectedWidgets()}*tabBars(){yield*this.layout.tabBars()}*handles(){yield*this.layout.handles()}selectWidget(e){let t=find(this.tabBars(),t=>t.titles.indexOf(e.title)!==-1);if(!t)throw Error(`Widget is not contained in the dock panel.`);t.currentTitle=e.title}activateWidget(e){this.selectWidget(e),e.activate()}saveLayout(){return this.layout.saveLayout()}restoreLayout(e){this._mode=`multiple-document`,this.layout.restoreLayout(e),(b.IS_EDGE||b.IS_IE)&&E.flush(),E.postMessage(this,Y.LayoutModified)}addWidget(e,t={}){this._mode===`single-document`?this.layout.addWidget(e):this.layout.addWidget(e,t),E.postMessage(this,Y.LayoutModified)}processMessage(e){e.type===`layout-modified`?this._layoutModified.emit(void 0):super.processMessage(e)}handleEvent(e){switch(e.type){case`lm-dragenter`:this._evtDragEnter(e);break;case`lm-dragleave`:this._evtDragLeave(e);break;case`lm-dragover`:this._evtDragOver(e);break;case`lm-drop`:this._evtDrop(e);break;case`pointerdown`:this._evtPointerDown(e);break;case`pointermove`:this._evtPointerMove(e);break;case`pointerup`:this._evtPointerUp(e);break;case`keydown`:this._evtKeyDown(e);break;case`contextmenu`:e.preventDefault(),e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener(`lm-dragenter`,this),this.node.addEventListener(`lm-dragleave`,this),this.node.addEventListener(`lm-dragover`,this),this.node.addEventListener(`lm-drop`,this),this.node.addEventListener(`pointerdown`,this)}onAfterDetach(e){this.node.removeEventListener(`lm-dragenter`,this),this.node.removeEventListener(`lm-dragleave`,this),this.node.removeEventListener(`lm-dragover`,this),this.node.removeEventListener(`lm-drop`,this),this.node.removeEventListener(`pointerdown`,this),this._releaseMouse()}onChildAdded(e){Y.isGeneratedTabBarProperty.get(e.child)||e.child.addClass(`lm-DockPanel-widget`)}onChildRemoved(e){Y.isGeneratedTabBarProperty.get(e.child)||(e.child.removeClass(`lm-DockPanel-widget`),E.postMessage(this,Y.LayoutModified))}_evtDragEnter(e){e.mimeData.hasData(`application/vnd.lumino.widget-factory`)&&(e.preventDefault(),e.stopPropagation())}_evtDragLeave(e){e.preventDefault(),!(this._tabsConstrained&&e.source!==this)&&(e.stopPropagation(),this.overlay.hide(1))}_evtDragOver(e){e.preventDefault(),this._tabsConstrained&&e.source!==this||this._showOverlay(e.clientX,e.clientY)===`invalid`?e.dropAction=`none`:(e.stopPropagation(),e.dropAction=e.proposedAction)}_evtDrop(e){if(e.preventDefault(),this.overlay.hide(0),e.proposedAction===`none`){e.dropAction=`none`;return}let{clientX:t,clientY:n}=e,{zone:r,target:i}=Y.findDropTarget(this,t,n,this._edges);if(this._tabsConstrained&&e.source!==this||r===`invalid`){e.dropAction=`none`;return}let a=e.mimeData.getData(`application/vnd.lumino.widget-factory`);if(typeof a!=`function`){e.dropAction=`none`;return}let o=a();if(!(o instanceof N)){e.dropAction=`none`;return}if(o.contains(this)){e.dropAction=`none`;return}let s=i?Y.getDropRef(i.tabBar):null;switch(r){case`root-all`:this.addWidget(o);break;case`root-top`:this.addWidget(o,{mode:`split-top`});break;case`root-left`:this.addWidget(o,{mode:`split-left`});break;case`root-right`:this.addWidget(o,{mode:`split-right`});break;case`root-bottom`:this.addWidget(o,{mode:`split-bottom`});break;case`widget-all`:this.addWidget(o,{mode:`tab-after`,ref:s});break;case`widget-top`:this.addWidget(o,{mode:`split-top`,ref:s});break;case`widget-left`:this.addWidget(o,{mode:`split-left`,ref:s});break;case`widget-right`:this.addWidget(o,{mode:`split-right`,ref:s});break;case`widget-bottom`:this.addWidget(o,{mode:`split-bottom`,ref:s});break;case`widget-tab`:this.addWidget(o,{mode:`tab-after`,ref:s});break;default:throw`unreachable`}e.dropAction=e.proposedAction,e.stopPropagation(),this.activateWidget(o)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),e.keyCode===27&&(this._releaseMouse(),E.postMessage(this,Y.LayoutModified))}_evtPointerDown(e){if(e.button!==0)return;let t=this.layout,n=e.target,r=find(t.handles(),e=>e.contains(n));if(!r)return;e.preventDefault(),e.stopPropagation(),this._document.addEventListener(`keydown`,this,!0),this._document.addEventListener(`pointerup`,this,!0),this._document.addEventListener(`pointermove`,this,!0),this._document.addEventListener(`contextmenu`,this,!0);let i=r.getBoundingClientRect(),a=e.clientX-i.left,o=e.clientY-i.top,s=window.getComputedStyle(r),c=O.overrideCursor(s.cursor,this._document);this._pressData={handle:r,deltaX:a,deltaY:o,override:c}}_evtPointerMove(e){if(!this._pressData)return;e.preventDefault(),e.stopPropagation();let t=this.node.getBoundingClientRect(),n=e.clientX-t.left-this._pressData.deltaX,r=e.clientY-t.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,n,r)}_evtPointerUp(e){e.button===0&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse(),E.postMessage(this,Y.LayoutModified))}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._document.removeEventListener(`keydown`,this,!0),this._document.removeEventListener(`pointerup`,this,!0),this._document.removeEventListener(`pointermove`,this,!0),this._document.removeEventListener(`contextmenu`,this,!0))}_showOverlay(e,t){let{zone:n,target:r}=Y.findDropTarget(this,e,t,this._edges);if(n===`invalid`)return this.overlay.hide(100),n;let i,a,o,s,c=y.boxSizing(this.node),l=this.node.getBoundingClientRect();switch(n){case`root-all`:i=c.paddingTop,a=c.paddingLeft,o=c.paddingRight,s=c.paddingBottom;break;case`root-top`:i=c.paddingTop,a=c.paddingLeft,o=c.paddingRight,s=l.height*Y.GOLDEN_RATIO;break;case`root-left`:i=c.paddingTop,a=c.paddingLeft,o=l.width*Y.GOLDEN_RATIO,s=c.paddingBottom;break;case`root-right`:i=c.paddingTop,a=l.width*Y.GOLDEN_RATIO,o=c.paddingRight,s=c.paddingBottom;break;case`root-bottom`:i=l.height*Y.GOLDEN_RATIO,a=c.paddingLeft,o=c.paddingRight,s=c.paddingBottom;break;case`widget-all`:i=r.top,a=r.left,o=r.right,s=r.bottom;break;case`widget-top`:i=r.top,a=r.left,o=r.right,s=r.bottom+r.height/2;break;case`widget-left`:i=r.top,a=r.left,o=r.right+r.width/2,s=r.bottom;break;case`widget-right`:i=r.top,a=r.left+r.width/2,o=r.right,s=r.bottom;break;case`widget-bottom`:i=r.top+r.height/2,a=r.left,o=r.right,s=r.bottom;break;case`widget-tab`:{let e=r.tabBar.node.getBoundingClientRect().height;i=r.top,a=r.left,o=r.right,s=r.bottom+r.height-e;break}default:throw`unreachable`}return this.overlay.show({top:i,left:a,right:o,bottom:s}),n}_createTabBar(){let e=this._renderer.createTabBar(this._document);return Y.isGeneratedTabBarProperty.set(e,!0),this._mode===`single-document`&&e.hide(),e.tabsMovable=this._tabsMovable,e.allowDeselect=!1,e.addButtonEnabled=this._addButtonEnabled,e.removeBehavior=`select-previous-tab`,e.insertBehavior=`select-tab-if-needed`,e.tabMoved.connect(this._onTabMoved,this),e.currentChanged.connect(this._onCurrentChanged,this),e.tabCloseRequested.connect(this._onTabCloseRequested,this),e.tabDetachRequested.connect(this._onTabDetachRequested,this),e.tabActivateRequested.connect(this._onTabActivateRequested,this),e.addRequested.connect(this._onTabAddRequested,this),e}_createHandle(){return this._renderer.createHandle()}_onTabMoved(){E.postMessage(this,Y.LayoutModified)}_onCurrentChanged(e,t){let{previousTitle:n,currentTitle:r}=t;n&&n.owner.hide(),r&&r.owner.show(),(b.IS_EDGE||b.IS_IE)&&E.flush(),E.postMessage(this,Y.LayoutModified)}_onTabAddRequested(e){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabDetachRequested(e,t){if(this._drag)return;e.releaseMouse();let{title:n,tab:r,clientX:i,clientY:a,offset:o}=t,s=new g.MimeData,factory=()=>n.owner;s.setData(`application/vnd.lumino.widget-factory`,factory);let c=r.cloneNode(!0);o&&(c.style.top=`-${o.y}px`,c.style.left=`-${o.x}px`),this._drag=new O({document:this._document,mimeData:s,dragImage:c,proposedAction:`move`,supportedActions:`move`,source:this}),r.classList.add(`lm-mod-hidden`);let cleanup=()=>{this._drag=null,r.classList.remove(`lm-mod-hidden`)};this._drag.start(i,a).then(cleanup)}};(function(e){class Overlay{constructor(){this._timer=-1,this._hidden=!0,this.node=document.createElement(`div`),this.node.classList.add(`lm-DockPanel-overlay`),this.node.classList.add(`lm-mod-hidden`),this.node.style.position=`absolute`,this.node.style.contain=`strict`}show(e){let t=this.node.style;t.top=`${e.top}px`,t.left=`${e.left}px`,t.right=`${e.right}px`,t.bottom=`${e.bottom}px`,clearTimeout(this._timer),this._timer=-1,this._hidden&&(this._hidden=!1,this.node.classList.remove(`lm-mod-hidden`))}hide(e){if(!this._hidden){if(e<=0){clearTimeout(this._timer),this._timer=-1,this._hidden=!0,this.node.classList.add(`lm-mod-hidden`);return}this._timer===-1&&(this._timer=window.setTimeout(()=>{this._timer=-1,this._hidden=!0,this.node.classList.add(`lm-mod-hidden`)},e))}}}e.Overlay=Overlay;class Renderer{createTabBar(e){let t=new K({document:e});return t.addClass(`lm-DockPanel-tabBar`),t}createHandle(){let e=document.createElement(`div`);return e.className=`lm-DockPanel-handle`,e}}e.Renderer=Renderer,e.defaultRenderer=new Renderer})(ue||={});var Y;(function(e){e.GOLDEN_RATIO=.618,e.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},e.LayoutModified=new ConflatableMessage(`layout-modified`),e.isGeneratedTabBarProperty=new AttachedProperty({name:`isGeneratedTabBar`,create:()=>!1});function createSingleDocumentConfig(e){if(e.isEmpty)return{main:null};let t=Array.from(e.widgets()),n=e.selectedWidgets().next().value;return{main:{type:`tab-area`,widgets:t,currentIndex:n?t.indexOf(n):-1}}}e.createSingleDocumentConfig=createSingleDocumentConfig;function findDropTarget(e,t,n,r){if(!y.hitTest(e.node,t,n))return{zone:`invalid`,target:null};let i=e.layout;if(i.isEmpty)return{zone:`root-all`,target:null};if(e.mode===`multiple-document`){let i=e.node.getBoundingClientRect(),a=t-i.left+1,o=n-i.top+1,s=i.right-t,c=i.bottom-n;switch(Math.min(o,s,c,a)){case o:if(o<r.top)return{zone:`root-top`,target:null};break;case s:if(s<r.right)return{zone:`root-right`,target:null};break;case c:if(c<r.bottom)return{zone:`root-bottom`,target:null};break;case a:if(a<r.left)return{zone:`root-left`,target:null};break;default:throw`unreachable`}}let a=i.hitTestTabAreas(t,n);if(!a)return{zone:`invalid`,target:null};if(e.mode===`single-document`)return{zone:`widget-all`,target:a};let o=a.x-a.left+1,s=a.y-a.top+1,c=a.left+a.width-a.x,l=a.top+a.height-a.y,u=a.tabBar.node.getBoundingClientRect().height;if(s<u)return{zone:`widget-tab`,target:a};let d=Math.round(a.width/3),f=Math.round(a.height/3);if(o>d&&c>d&&s>f&&l>f)return{zone:`widget-all`,target:a};o/=d,s/=f,c/=d,l/=f;let p=Math.min(o,s,c,l),m;switch(p){case o:m=`widget-left`;break;case s:m=`widget-top`;break;case c:m=`widget-right`;break;case l:m=`widget-bottom`;break;default:throw`unreachable`}return{zone:m,target:a}}e.findDropTarget=findDropTarget;function getDropRef(e){return e.titles.length===0?null:e.currentTitle?e.currentTitle.owner:e.titles[e.titles.length-1].owner}e.getDropRef=getDropRef})(Y||={});var de=class GridLayout extends Layout{constructor(e={}){super(e),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new BoxSizer],this._columnSizers=[new BoxSizer],this._box=null,e.rowCount!==void 0&&X.reallocSizers(this._rowSizers,e.rowCount),e.columnCount!==void 0&&X.reallocSizers(this._columnSizers,e.columnCount),e.rowSpacing!==void 0&&(this._rowSpacing=X.clampValue(e.rowSpacing)),e.columnSpacing!==void 0&&(this._columnSpacing=X.clampValue(e.columnSpacing))}dispose(){for(let e of this._items){let t=e.widget;e.dispose(),t.dispose()}this._box=null,this._items.length=0,this._rowStarts.length=0,this._rowSizers.length=0,this._columnStarts.length=0,this._columnSizers.length=0,super.dispose()}get rowCount(){return this._rowSizers.length}set rowCount(e){e!==this.rowCount&&(X.reallocSizers(this._rowSizers,e),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(e){e!==this.columnCount&&(X.reallocSizers(this._columnSizers,e),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(e){e=X.clampValue(e),this._rowSpacing!==e&&(this._rowSpacing=e,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(e){e=X.clampValue(e),this._columnSpacing!==e&&(this._columnSpacing=e,this.parent&&this.parent.fit())}rowStretch(e){let t=this._rowSizers[e];return t?t.stretch:-1}setRowStretch(e,t){let n=this._rowSizers[e];n&&(t=X.clampValue(t),n.stretch!==t&&(n.stretch=t,this.parent&&this.parent.update()))}columnStretch(e){let t=this._columnSizers[e];return t?t.stretch:-1}setColumnStretch(e,t){let n=this._columnSizers[e];n&&(t=X.clampValue(t),n.stretch!==t&&(n.stretch=t,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(let e of this._items)yield e.widget}addWidget(e){u.findFirstIndex(this._items,t=>t.widget===e)===-1&&(this._items.push(new LayoutItem(e)),this.parent&&this.attachWidget(e))}removeWidget(e){let t=u.findFirstIndex(this._items,t=>t.widget===e);if(t===-1)return;let n=u.removeAt(this._items,t);this.parent&&this.detachWidget(e),n.dispose()}init(){super.init();for(let e of this)this.attachWidget(e)}attachWidget(e){this.parent.isAttached&&E.sendMessage(e,N.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&E.sendMessage(e,N.Msg.AfterAttach),this.parent.fit()}detachWidget(e){this.parent.isAttached&&E.sendMessage(e,N.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&E.sendMessage(e,N.Msg.AfterDetach),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){for(let e=0,t=this.rowCount;e<t;++e)this._rowSizers[e].minSize=0;for(let e=0,t=this.columnCount;e<t;++e)this._columnSizers[e].minSize=0;let e=this._items.filter(e=>!e.isHidden);for(let t=0,n=e.length;t<n;++t)e[t].fit();let t=this.rowCount-1,n=this.columnCount-1;e.sort(X.rowSpanCmp);for(let n=0,r=e.length;n<r;++n){let r=e[n],i=GridLayout.getCellConfig(r.widget),a=Math.min(i.row,t),o=Math.min(i.row+i.rowSpan-1,t);X.distributeMin(this._rowSizers,a,o,r.minHeight)}e.sort(X.columnSpanCmp);for(let t=0,r=e.length;t<r;++t){let r=e[t],i=GridLayout.getCellConfig(r.widget),a=Math.min(i.column,n),o=Math.min(i.column+i.columnSpan-1,n);X.distributeMin(this._columnSizers,a,o,r.minWidth)}if(this.fitPolicy===`set-no-constraint`){E.sendMessage(this.parent,N.Msg.UpdateRequest);return}let r=t*this._rowSpacing,i=n*this._columnSpacing;for(let e=0,t=this.rowCount;e<t;++e)r+=this._rowSizers[e].minSize;for(let e=0,t=this.columnCount;e<t;++e)i+=this._columnSizers[e].minSize;let a=this._box=y.boxSizing(this.parent.node);i+=a.horizontalSum,r+=a.verticalSum;let o=this.parent.node.style;o.minWidth=`${i}px`,o.minHeight=`${r}px`,this._dirty=!0,this.parent.parent&&E.sendMessage(this.parent.parent,N.Msg.FitRequest),this._dirty&&E.sendMessage(this.parent,N.Msg.UpdateRequest)}_update(e,t){this._dirty=!1,e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||=y.boxSizing(this.parent.node);let n=this._box.paddingTop,r=this._box.paddingLeft,i=e-this._box.horizontalSum,a=t-this._box.verticalSum,o=this.rowCount-1,s=this.columnCount-1,c=o*this._rowSpacing,l=s*this._columnSpacing;M.calc(this._rowSizers,Math.max(0,a-c)),M.calc(this._columnSizers,Math.max(0,i-l));for(let e=0,t=n,r=this.rowCount;e<r;++e)this._rowStarts[e]=t,t+=this._rowSizers[e].size+this._rowSpacing;for(let e=0,t=r,n=this.columnCount;e<n;++e)this._columnStarts[e]=t,t+=this._columnSizers[e].size+this._columnSpacing;for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e];if(t.isHidden)continue;let n=GridLayout.getCellConfig(t.widget),r=Math.min(n.row,o),i=Math.min(n.column,s),a=Math.min(n.row+n.rowSpan-1,o),c=Math.min(n.column+n.columnSpan-1,s),l=this._columnStarts[i],u=this._rowStarts[r],d=this._columnStarts[c]+this._columnSizers[c].size-l,f=this._rowStarts[a]+this._rowSizers[a].size-u;t.update(l,u,d,f)}}};(function(e){function getCellConfig(e){return X.cellConfigProperty.get(e)}e.getCellConfig=getCellConfig;function setCellConfig(e,t){X.cellConfigProperty.set(e,X.normalizeConfig(t))}e.setCellConfig=setCellConfig})(de||={});var X;(function(e){e.cellConfigProperty=new AttachedProperty({name:`cellConfig`,create:()=>({row:0,column:0,rowSpan:1,columnSpan:1}),changed:onChildCellConfigChanged});function normalizeConfig(e){return{row:Math.max(0,Math.floor(e.row||0)),column:Math.max(0,Math.floor(e.column||0)),rowSpan:Math.max(1,Math.floor(e.rowSpan||0)),columnSpan:Math.max(1,Math.floor(e.columnSpan||0))}}e.normalizeConfig=normalizeConfig;function clampValue(e){return Math.max(0,Math.floor(e))}e.clampValue=clampValue;function rowSpanCmp(t,n){let r=e.cellConfigProperty.get(t.widget),i=e.cellConfigProperty.get(n.widget);return r.rowSpan-i.rowSpan}e.rowSpanCmp=rowSpanCmp;function columnSpanCmp(t,n){let r=e.cellConfigProperty.get(t.widget),i=e.cellConfigProperty.get(n.widget);return r.columnSpan-i.columnSpan}e.columnSpanCmp=columnSpanCmp;function reallocSizers(e,t){for(t=Math.max(1,Math.floor(t));e.length<t;)e.push(new BoxSizer);e.length>t&&(e.length=t)}e.reallocSizers=reallocSizers;function distributeMin(e,t,n,r){if(n<t)return;if(t===n){let n=e[t];n.minSize=Math.max(n.minSize,r);return}let i=0;for(let r=t;r<=n;++r)i+=e[r].minSize;if(i>=r)return;let a=(r-i)/(n-t+1);for(let r=t;r<=n;++r)e[r].minSize+=a}e.distributeMin=distributeMin;function onChildCellConfigChanged(e){e.parent&&e.parent.layout instanceof de&&e.parent.fit()}})(X||={});var fe=class MenuBar extends N{constructor(e={}){super({node:pe.createNode()}),this._activeIndex=-1,this._tabFocusIndex=0,this._menus=[],this._childMenu=null,this._overflowMenu=null,this._menuItemSizes=[],this._overflowIndex=-1,this.addClass(`lm-MenuBar`),this.setFlag(N.Flag.DisallowLayout),this.renderer=e.renderer||MenuBar.defaultRenderer,this._forceItemsPosition=e.forceItemsPosition||{forceX:!0,forceY:!0},this._overflowMenuOptions=e.overflowMenuOptions||{isVisible:!0}}dispose(){this._closeChildMenu(),this._menus.length=0,super.dispose()}get childMenu(){return this._childMenu}get overflowIndex(){return this._overflowIndex}get overflowMenu(){return this._overflowMenu}get contentNode(){return this.node.getElementsByClassName(`lm-MenuBar-content`)[0]}get activeMenu(){return this._menus[this._activeIndex]||null}set activeMenu(e){this.activeIndex=e?this._menus.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._menus.length)&&(e=-1),e>-1&&this._menus[e].items.length===0&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this.update())}get menus(){return this._menus}openActiveMenu(){this._activeIndex!==-1&&(this._openChildMenu(),this._childMenu&&(this._childMenu.activeIndex=-1,this._childMenu.activateNextItem()))}addMenu(e,t=!0){this.insertMenu(this._menus.length,e,t)}insertMenu(e,t,n=!0){this._closeChildMenu();let r=this._menus.indexOf(t),i=Math.max(0,Math.min(e,this._menus.length));if(r===-1){u.insert(this._menus,i,t),t.addClass(`lm-MenuBar-menu`),t.aboutToClose.connect(this._onMenuAboutToClose,this),t.menuRequested.connect(this._onMenuMenuRequested,this),t.title.changed.connect(this._onTitleChanged,this),n&&this.update();return}i===this._menus.length&&i--,r!==i&&(u.move(this._menus,r,i),n&&this.update())}removeMenu(e,t=!0){this.removeMenuAt(this._menus.indexOf(e),t)}removeMenuAt(e,t=!0){this._closeChildMenu();let n=u.removeAt(this._menus,e);n&&(n.aboutToClose.disconnect(this._onMenuAboutToClose,this),n.menuRequested.disconnect(this._onMenuMenuRequested,this),n.title.changed.disconnect(this._onTitleChanged,this),n.removeClass(`lm-MenuBar-menu`),t&&this.update())}clearMenus(){if(this._menus.length!==0){this._closeChildMenu();for(let e of this._menus)e.aboutToClose.disconnect(this._onMenuAboutToClose,this),e.menuRequested.disconnect(this._onMenuMenuRequested,this),e.title.changed.disconnect(this._onTitleChanged,this),e.removeClass(`lm-MenuBar-menu`);this._menus.length=0,this.update()}}handleEvent(e){switch(e.type){case`keydown`:this._evtKeyDown(e);break;case`pointerdown`:this._evtPointerDown(e);break;case`pointermove`:case`pointerleave`:this._evtPointerMove(e);break;case`focusout`:this._evtFocusOut(e);break;case`contextmenu`:e.preventDefault(),e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener(`keydown`,this),this.node.addEventListener(`pointerdown`,this),this.node.addEventListener(`pointermove`,this),this.node.addEventListener(`pointerleave`,this),this.node.addEventListener(`focusout`,this),this.node.addEventListener(`contextmenu`,this)}onAfterDetach(e){this.node.removeEventListener(`keydown`,this),this.node.removeEventListener(`pointerdown`,this),this.node.removeEventListener(`pointermove`,this),this.node.removeEventListener(`pointerleave`,this),this.node.removeEventListener(`focusout`,this),this.node.removeEventListener(`contextmenu`,this),this._closeChildMenu()}onActivateRequest(e){this.isAttached&&this._focusItemAt(0)}onResize(e){this.update(),super.onResize(e)}onUpdateRequest(e){let t=this._menus,n=this.renderer,r=this._activeIndex,i=this._tabFocusIndex>=0&&this._tabFocusIndex<t.length?this._tabFocusIndex:0,a=this._overflowIndex>-1?this._overflowIndex:t.length,o=0,s=!1;a=this._overflowMenu===null?a:a-1;let c=Array(a);for(let e=0;e<a;++e)c[e]=n.renderItem({title:t[e].title,active:e===r,tabbable:e===i,disabled:t[e].items.length===0,onfocus:()=>{this._tabFocusIndex=e,this.activeIndex=e}}),o+=this._menuItemSizes[e],t[e].title.label===this._overflowMenuOptions.title&&(s=!0,a--);if(this._overflowMenuOptions.isVisible){if(this._overflowIndex>-1&&!s){if(this._overflowMenu===null){let e=this._overflowMenuOptions.title??`...`;this._overflowMenu=new U({commands:new C}),this._overflowMenu.title.label=e,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let e=t.length-2;e>=a;e--){let t=this.menus[e];t.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:`submenu`,submenu:t}),this.removeMenu(t,!1)}c[a]=n.renderItem({title:this._overflowMenu.title,active:a===r&&t[a].items.length!==0,tabbable:a===i,disabled:t[a].items.length===0,onfocus:()=>{this._tabFocusIndex=a,this.activeIndex=a}}),a++}else if(this._overflowMenu!==null){let e=this._overflowMenu.items,r=this.node.offsetWidth,s=this._overflowMenu.items.length;for(let l=0;l<s;++l){let s=t.length-1-l;if(r-o>this._menuItemSizes[s]){let r=e[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(a,r,!1),c[a]=n.renderItem({title:r.title,active:!1,tabbable:a===i,disabled:t[a].items.length===0,onfocus:()=>{this._tabFocusIndex=a,this.activeIndex=a}}),a++}}this._overflowMenu.items.length===0&&(this.removeMenu(this._overflowMenu,!1),c.pop(),this._overflowMenu=null,this._overflowIndex=-1)}}A.render(c,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;let e=this.contentNode.childNodes,t=this.node.offsetWidth,n=0,r=-1,i=e.length;if(this._menuItemSizes.length==0)for(let a=0;a<i;a++){let i=e[a];n+=i.offsetWidth,this._menuItemSizes.push(i.offsetWidth),n>t&&r===-1&&(r=a)}else for(let e=0;e<this._menuItemSizes.length;e++)if(n+=this._menuItemSizes[e],n>t){r=e;break}this._overflowIndex=r}_evtKeyDown(e){let t=e.keyCode;if(t===9){this.activeIndex=-1;return}if(e.preventDefault(),e.stopPropagation(),t===13||t===32||t===38||t===40){if(this.activeIndex=this._tabFocusIndex,this.activeIndex!==this._tabFocusIndex)return;this.openActiveMenu();return}if(t===27){this._closeChildMenu(),this._focusItemAt(this.activeIndex);return}if(t===37||t===39){let e=t===37?-1:1,n=this._tabFocusIndex+e,r=this._menus.length;for(let t=0;t<r;t++){let i=(r+n+e*t)%r;if(this._menus[i].items.length){this._focusItemAt(i);return}}return}let n=getKeyboardLayout().keyForKeydownEvent(e);if(!n)return;let r=this._activeIndex+1,i=pe.findMnemonic(this._menus,n,r);i.index!==-1&&!i.multiple?(this.activeIndex=i.index,this.openActiveMenu()):i.index===-1?i.auto!==-1&&(this.activeIndex=i.auto,this._focusItemAt(this.activeIndex)):(this.activeIndex=i.index,this._focusItemAt(this.activeIndex))}_evtPointerDown(e){if(!y.hitTest(this.node,e.clientX,e.clientY))return;e.stopPropagation(),e.stopImmediatePropagation();let t=u.findFirstIndex(this.contentNode.children,t=>y.hitTest(t,e.clientX,e.clientY));if(t===-1){this._closeChildMenu();return}if(e.button===0)if(this._childMenu)this._closeChildMenu(),this.activeIndex=t;else{e.preventDefault();let n=this._positionForMenu(t);U.saveWindowData(),this.activeIndex=t,this._openChildMenu(n)}}_evtPointerMove(e){let t=u.findFirstIndex(this.contentNode.children,t=>y.hitTest(t,e.clientX,e.clientY));if(t===this._activeIndex||t===-1&&this._childMenu)return;let n=t>=0&&this._childMenu?this._positionForMenu(t):null;U.saveWindowData(),this.activeIndex=t,n&&this._openChildMenu(n)}_positionForMenu(e){let{left:t,bottom:n}=this.contentNode.children[e].getBoundingClientRect();return{top:n,left:t}}_evtFocusOut(e){!this._childMenu&&!this.node.contains(e.relatedTarget)&&(this.activeIndex=-1)}_focusItemAt(e){let t=this.contentNode.childNodes[e];t&&t.focus()}_openChildMenu(e={}){let t=this.activeMenu;if(!t){this._closeChildMenu();return}let n=this._childMenu;if(n===t)return;this._childMenu=t,n?n.close():document.addEventListener(`pointerdown`,this,!0),this._tabFocusIndex=this.activeIndex,E.sendMessage(this,N.Msg.UpdateRequest);let{left:r,top:i}=e;(r===void 0||i===void 0)&&({left:r,top:i}=this._positionForMenu(this._activeIndex)),n||this.addClass(`lm-mod-active`),t.items.length>0&&t.open(r,i,this._forceItemsPosition)}_closeChildMenu(){if(!this._childMenu)return;this.removeClass(`lm-mod-active`),document.removeEventListener(`pointerdown`,this,!0);let e=this._childMenu;this._childMenu=null,e.close(),this.activeIndex=-1}_onMenuAboutToClose(e){e===this._childMenu&&(this.removeClass(`lm-mod-active`),document.removeEventListener(`pointerdown`,this,!0),this._childMenu=null,this.activeIndex=-1)}_onMenuMenuRequested(e,t){if(e!==this._childMenu)return;let n=this._activeIndex,r=this._menus.length;switch(t){case`next`:this.activeIndex=n===r-1?0:n+1;break;case`previous`:this.activeIndex=n===0?r-1:n-1;break}this.openActiveMenu()}_onTitleChanged(){this.update()}};(function(e){class Renderer{renderItem(e){let t=this.createItemClass(e),n=this.createItemDataset(e),r=this.createItemARIA(e);return h.li({className:t,dataset:n,...e.disabled?{}:{tabindex:e.tabbable?`0`:`-1`},onfocus:e.onfocus,...r},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let t=this.createIconClass(e);return h.div({className:t},e.title.icon,e.title.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return h.div({className:`lm-MenuBar-itemLabel`},t)}createItemClass(e){let t=`lm-MenuBar-item`;return e.title.className&&(t+=` ${e.title.className}`),e.active&&!e.disabled&&(t+=` lm-mod-active`),t}createItemDataset(e){return e.title.dataset}createItemARIA(e){return{role:`menuitem`,"aria-haspopup":`true`,"aria-disabled":e.disabled?`true`:`false`}}createIconClass(e){let t=`lm-MenuBar-itemIcon`,n=e.title.iconClass;return n?`${t} ${n}`:t}formatLabel(e){let{label:t,mnemonic:n}=e.title;if(n<0||n>=t.length)return t;let r=t.slice(0,n),i=t.slice(n+1),a=t[n];return[r,h.span({className:`lm-MenuBar-itemMnemonic`},a),i]}}e.Renderer=Renderer,e.defaultRenderer=new Renderer})(fe||={});var pe;(function(e){function createNode(){let e=document.createElement(`div`),t=document.createElement(`ul`);return t.className=`lm-MenuBar-content`,e.appendChild(t),t.setAttribute(`role`,`menubar`),e}e.createNode=createNode;function findMnemonic(e,t,n){let r=-1,i=-1,a=!1,o=t.toUpperCase();for(let t=0,s=e.length;t<s;++t){let c=(t+n)%s,l=e[c].title;if(l.label.length===0)continue;let u=l.mnemonic;if(u>=0&&u<l.label.length){l.label[u].toUpperCase()===o&&(r===-1?r=c:a=!0);continue}i===-1&&l.label[0].toUpperCase()===o&&(i=c)}return{index:r,multiple:a,auto:i}}e.findMnemonic=findMnemonic})(pe||={});var me;(function(e){function createNode(){let e=document.createElement(`div`),t=document.createElement(`div`),n=document.createElement(`div`),r=document.createElement(`div`),i=document.createElement(`div`);return t.className=`lm-ScrollBar-button`,n.className=`lm-ScrollBar-button`,t.dataset.action=`decrement`,n.dataset.action=`increment`,r.className=`lm-ScrollBar-track`,i.className=`lm-ScrollBar-thumb`,r.appendChild(i),e.appendChild(t),e.appendChild(r),e.appendChild(n),e}e.createNode=createNode;function findPart(e,t){return e.thumbNode.contains(t)?`thumb`:e.trackNode.contains(t)?`track`:e.decrementNode.contains(t)?`decrement`:e.incrementNode.contains(t)?`increment`:null}e.findPart=findPart})(me||={});var StackedLayout=class extends PanelLayout{constructor(e={}){super(e),this._dirty=!1,this._items=[],this._box=null,this._hiddenMode=e.hiddenMode===void 0?N.HiddenMode.Display:e.hiddenMode}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){this._hiddenMode!==e&&(this._hiddenMode=e,this.widgets.length>1&&this.widgets.forEach(e=>{e.hiddenMode=this._hiddenMode}))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(e,t){this._hiddenMode===N.HiddenMode.Scale&&this._items.length>0?(this._items.length===1&&(this.widgets[0].hiddenMode=N.HiddenMode.Scale),t.hiddenMode=N.HiddenMode.Scale):t.hiddenMode=N.HiddenMode.Display,u.insert(this._items,e,new LayoutItem(t)),this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,n){u.move(this._items,e,t),this.parent.update()}detachWidget(e,t){let n=u.removeAt(this._items,e);this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterDetach),n.widget.node.style.zIndex=``,this._hiddenMode===N.HiddenMode.Scale&&(t.hiddenMode=N.HiddenMode.Display,this._items.length===1&&(this._items[0].widget.hiddenMode=N.HiddenMode.Display)),n.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let e=0,t=0;for(let n=0,r=this._items.length;n<r;++n){let r=this._items[n];r.isHidden||(r.fit(),e=Math.max(e,r.minWidth),t=Math.max(t,r.minHeight))}let n=this._box=y.boxSizing(this.parent.node);e+=n.horizontalSum,t+=n.verticalSum;let r=this.parent.node.style;r.minWidth=`${e}px`,r.minHeight=`${t}px`,this._dirty=!0,this.parent.parent&&E.sendMessage(this.parent.parent,N.Msg.FitRequest),this._dirty&&E.sendMessage(this.parent,N.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let n=0;for(let e=0,t=this._items.length;e<t;++e)n+=+!this._items[e].isHidden;if(n===0)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||=y.boxSizing(this.parent.node);let r=this._box.paddingTop,i=this._box.paddingLeft,a=e-this._box.horizontalSum,o=t-this._box.verticalSum;for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e];t.isHidden||(t.widget.node.style.zIndex=`${e}`,t.update(i,r,a,o))}}},StackedPanel=class extends Panel{constructor(e={}){super({layout:he.createLayout(e)}),this._widgetRemoved=new Signal(this),this.addClass(`lm-StackedPanel`)}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get widgetRemoved(){return this._widgetRemoved}onChildAdded(e){e.child.addClass(`lm-StackedPanel-child`)}onChildRemoved(e){e.child.removeClass(`lm-StackedPanel-child`),this._widgetRemoved.emit(e.child)}},he;(function(e){function createLayout(e){return e.layout||new StackedLayout}e.createLayout=createLayout})(he||={});var TabPanel$1=class extends N{static{__name(this,`TabPanel`)}constructor(e={}){super(),this._currentChanged=new Signal(this),this._addRequested=new Signal(this),this.addClass(`lm-TabPanel`),this.tabBar=new K(e),this.tabBar.addClass(`lm-TabPanel-tabBar`),this.stackedPanel=new StackedPanel,this.stackedPanel.addClass(`lm-TabPanel-stackedPanel`),this.tabBar.tabMoved.connect(this._onTabMoved,this),this.tabBar.currentChanged.connect(this._onCurrentChanged,this),this.tabBar.tabCloseRequested.connect(this._onTabCloseRequested,this),this.tabBar.tabActivateRequested.connect(this._onTabActivateRequested,this),this.tabBar.addRequested.connect(this._onTabAddRequested,this),this.stackedPanel.widgetRemoved.connect(this._onWidgetRemoved,this),this._tabPlacement=e.tabPlacement||`top`;let t=Z.directionFromPlacement(this._tabPlacement),n=Z.orientationFromPlacement(this._tabPlacement);this.tabBar.orientation=n,this.tabBar.dataset.placement=this._tabPlacement;let r=new B({direction:t,spacing:0});B.setStretch(this.tabBar,0),B.setStretch(this.stackedPanel,1),r.addWidget(this.tabBar),r.addWidget(this.stackedPanel),this.layout=r}get currentChanged(){return this._currentChanged}get currentIndex(){return this.tabBar.currentIndex}set currentIndex(e){this.tabBar.currentIndex=e}get currentWidget(){let e=this.tabBar.currentTitle;return e?e.owner:null}set currentWidget(e){this.tabBar.currentTitle=e?e.title:null}get tabsMovable(){return this.tabBar.tabsMovable}set tabsMovable(e){this.tabBar.tabsMovable=e}get addButtonEnabled(){return this.tabBar.addButtonEnabled}set addButtonEnabled(e){this.tabBar.addButtonEnabled=e}get tabPlacement(){return this._tabPlacement}set tabPlacement(e){if(this._tabPlacement===e)return;this._tabPlacement=e;let t=Z.directionFromPlacement(e),n=Z.orientationFromPlacement(e);this.tabBar.orientation=n,this.tabBar.dataset.placement=e,this.layout.direction=t}get addRequested(){return this._addRequested}get widgets(){return this.stackedPanel.widgets}addWidget(e){this.insertWidget(this.widgets.length,e)}insertWidget(e,t){t!==this.currentWidget&&t.hide(),this.stackedPanel.insertWidget(e,t),this.tabBar.insertTab(e,t.title),t.node.setAttribute(`role`,`tabpanel`);let n=this.tabBar.renderer;if(n instanceof K.Renderer){let e=n.createTabKey({title:t.title,current:!1,zIndex:0});t.node.setAttribute(`aria-labelledby`,e)}}_onCurrentChanged(e,t){let{previousIndex:n,previousTitle:r,currentIndex:i,currentTitle:a}=t,o=r?r.owner:null,s=a?a.owner:null;o&&o.hide(),s&&s.show(),this._currentChanged.emit({previousIndex:n,previousWidget:o,currentIndex:i,currentWidget:s}),(b.IS_EDGE||b.IS_IE)&&E.flush()}_onTabAddRequested(e,t){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabMoved(e,t){this.stackedPanel.insertWidget(t.toIndex,t.title.owner)}_onWidgetRemoved(e,t){t.node.removeAttribute(`role`),t.node.removeAttribute(`aria-labelledby`),this.tabBar.removeTab(t.title)}},Z;(function(e){function orientationFromPlacement(e){return t[e]}e.orientationFromPlacement=orientationFromPlacement;function directionFromPlacement(e){return n[e]}e.directionFromPlacement=directionFromPlacement;let t={top:`horizontal`,left:`vertical`,right:`vertical`,bottom:`horizontal`},n={top:`top-to-bottom`,left:`left-to-right`,right:`right-to-left`,bottom:`bottom-to-top`}})(Z||={}),p();var Q;(function(e){class WAConflatableMessage extends ConflatableMessage{_wa;constructor(e,t){super(t),this._wa=e}get wa(){return this._wa}conflate(e){return this._wa=e.wa,!0}}e.WAConflatableMessage=WAConflatableMessage;class WAActivateRequest extends WAConflatableMessage{static type=`wa-activate-request`;constructor(e){super(e,WAActivateRequest.type)}}e.WAActivateRequest=WAActivateRequest;class WALayoutChanged extends WAConflatableMessage{static type=`wa-layout-changed`;constructor(e){super(e,WALayoutChanged.type)}}e.WALayoutChanged=WALayoutChanged})(Q||={});var WidgetAdapter=class extends N{_owner;_element;_widget;get widget(){return this._widget}_widgetLayout;lparam={};padding=0;_width=0;_height=0;_ext;_closable;constructor(e,n,r={},i=!1,a={}){super(),this._owner=e,this._element=(0,t.select)(this.node),this.addClass(`phosphor_WidgetAdapter`),this.title.label=``,this.title.closable=!!i,this.title.caption=`Long description for: ${name}`,this._ext=a,typeof i==`boolean`?this._closable={canClose(e,t){return i}}:this._closable=i,n instanceof t.Widget?this._widget=n.target(this.node):this._widgetLayout=n,this.lparam=r}get inputNode(){return this.node.getElementsByTagName(`input`)[0]}resizeAndRender(){this._widget&&((0,t.select)(this.node).style(`padding`,this.padding+`px`).style(`width`,this._width+`px`).style(`height`,this._height+`px`).style(`overflow-x`,this._ext.overflowX).style(`overflow-y`,this._ext.overflowY),this._widget.resize({width:this._width-this.padding*2-2,height:this._height-this.padding*2-2}).lazyRender(),this._owner&&E.postMessage(this._owner,new Q.WALayoutChanged(this)))}onActivateRequest(e){super.onActivateRequest(e),this._widget&&this.resizeAndRender(),this._owner&&E.postMessage(this._owner,new Q.WAActivateRequest(this))}onResize(e){super.onResize(e),this.node&&this.node.offsetParent!==null&&e.width>=0&&e.height>=0?(this._width=e.width,this._height=e.height,this.resizeAndRender()):this._widgetLayout}onCloseRequest(e){this._closable.canClose(this._widget,this)&&this.dispose()}},$=class WidgetAdapterArray extends Array{constructor(e){super(...e)}static create(){return Object.create(WidgetAdapterArray.prototype)}watchRendered(e,t){if(!t)return;let n=this.map(e=>({wa:e,w:e.widget,rc:e.widget.renderCount()})),r=setInterval(()=>{complete()&&(clearInterval(r),t(e))},20);function complete(){for(let e of n)if(e.wa.isVisible&&e.rc>=e.w.renderCount())return!1;return!0}}},PRenderer=class extends ue.Renderer{_owner;constructor(){super()}createTabBar(){let e=super.createTabBar();return e.tabsMovable=this._owner.tabsMovable,e}},PDockPanel=class extends ue{_content;_contentMap;constructor(e={}){e.renderer=e.renderer||new PRenderer,super(e),this._renderer instanceof PRenderer&&(this._renderer._owner=this),this._content=$.create(),this._contentMap={}}appendContent(e){this._content.push(e),this._contentMap[e.widget.id()]=e}removeContent(e){let t=this._content.indexOf(e);t>=0&&this._content.splice(t,1),delete this._contentMap[e.widget.id()],e.dispose()}content(){return this._content}serializeWidget(e){if(e instanceof WidgetAdapter)try{return{__id:e.widget.id()}}catch(e){return{exception:{message:e.message??``,stack:e.stack??[]}}}return null}deserializeWidget(e){let t=this._contentMap[e.__id];return t||=new WidgetAdapter(void 0,e),t}serializeITabAreaConfig(e,t){return{...e,widgets:e.widgets.map(e=>t?this.deserializeWidget(e):this.serializeWidget(e))}}serializeISplitAreaConfig(e,t){return{...e,children:e.children.map(e=>this.serializeAreaConfig(e,t))}}serializeAreaConfig(e,t){if(e)switch(e.type){case`tab-area`:return this.serializeITabAreaConfig(e,t);case`split-area`:return this.serializeISplitAreaConfig(e,t)}}saveLayout(){return{main:this.serializeAreaConfig(super.saveLayout().main,!1)}}restoreLayout(e){return super.restoreLayout({main:this.serializeAreaConfig(e.main,!0)})}},DockPanel=class extends t.HTMLWidget{_dock=new PDockPanel({mode:`multiple-document`});constructor(){super(),this._tag=`div`,this._dock.id=`p`+this.id(),E.installMessageHook(this,this)}getWidgetAdapter(e){let t=null;return this._dock.content().some(n=>n.widget===e?(t=n,!0):!1),t}addWidget(e,t,n=`split-right`,r,i,a=8){let o={mode:n,ref:this.getWidgetAdapter(r)},s=new WidgetAdapter(this,e,{},i);return s.title.label=t,s.padding=a,this._dock.addWidget(s,o),this._dock.appendContent(s),this._dock.tabsMovable=!0,this}removeWidget(e){let t=this.getWidgetAdapter(e);return t&&(e.target(null),this._dock.removeContent(t)),this}isVisible(e){return this.getWidgetAdapter(e).isVisible}widgetAdapters(){return this._dock.content()}widgets(){return this._dock.content().map(e=>e.widget)}layout(e){return arguments.length?(this._dock.restoreLayout(e),this):this._dock.saveLayout()}_layoutObj=null;layoutObj(e){return this._layoutObj=e,this}_pPlaceholder;enter(e,t){super.enter(e,t),this._pPlaceholder=t.append(`div`),N.attach(this._dock,this._pPlaceholder.node())}_prevHideSingleTabs;update(e,t){super.update(e,t),this._pPlaceholder.style(`width`,this.width()+`px`).style(`height`,this.height()+`px`).style(`overflow`,`hidden`),t.select(`.lm-Widget`).style(`width`,this._pPlaceholder.node().clientWidth+`px`).style(`height`,this.height()+`px`),this.widgets().forEach(e=>e.render())}exit(e,t){[...this.widgets()].forEach(e=>this.removeWidget(e)),N.detach(this._dock),super.exit(e,t)}render(e){let n=this;return this._layoutObj!==null&&(this.layout(this._layoutObj),this.layoutObj(null)),super.render(r=>{this._dock.content().watchRendered(this,e),this._dock.update(),setTimeout(()=>{let e=this.element().selectAll(`.lm-Widget.lm-TabBar.lm-DockPanel-tabBar`),r=!1;e.each(function(){let e=(0,t.select)(this),i=e.node().childNodes[0].childNodes.length,a=n.hideSingleTabs()&&i===1;a!==e.classed(`hide`)&&(e.classed(`hide`,a),r=!0)}),r&&this._dock.fit()},0)})}refit(){this._dock.fit()}messageHook(e,t){return e===this&&this.processMessage(t),!0}_lazyLayoutChanged=t.Utility.debounce(async()=>{this.layoutChanged()},1e3);_prevActive;processMessage(e){switch(e.type){case Q.WAActivateRequest.type:let t=e.wa,n=t.widget;this._prevActive!==n&&(this._prevActive=n,this.childActivation(n,t));break;case Q.WALayoutChanged.type:this._lazyLayoutChanged();break}}active(){return this._prevActive}childActivation(e,t){}layoutChanged(){}};DockPanel.prototype._class+=` phosphor_DockPanel`,DockPanel.prototype.publish(`hideSingleTabs`,!1,`boolean`);var SplitPanel=class extends t.HTMLWidget{_split;content=$.create();constructor(e=`vertical`){super(),this._split=new SplitPanel$1({orientation:e}),this._tag=`div`,this._split.id=`p`+this.id()}getWidgetAdapter(e){let t=null;return this.content.some(n=>n.widget===e?(t=n,!0):!1),t}addWidget(e){let t=new WidgetAdapter(this,e);return this._split.addWidget(t),this.content.push(t),this}relativeSizes(e){return arguments.length?(this._split.setRelativeSizes(e),this):this._split.relativeSizes()}enter(e,t){super.enter(e,t),N.attach(this._split,e)}update(e,t){super.update(e,t),t.select(`.lm-Widget`).style(`width`,this.width()+`px`).style(`height`,this.height()+`px`)}exit(e,t){N.detach(this._split),super.exit(e,t)}render(e){return super.render(t=>{this.content.watchRendered(this,e),this._split.update()})}_prevActive;processMessage(e){switch(e.type){case`wa-activate-request`:let t=e.wa.widget;this._prevActive!==t&&(this._prevActive=t,this.childActivation(t));break}}childActivation(e){}};SplitPanel.prototype._class+=` phosphor_SplitPanel`;var TabPanel=class extends t.HTMLWidget{_tab=new TabPanel$1({tabPlacement:`top`});content=$.create();constructor(){super(),this._tag=`div`,this._tab.id=`p`+this.id()}getWidget(e){if(e instanceof WidgetAdapter)return e.widget}getWidgetAdapter(e){let t=null;return this.content.some(n=>n.widget===e?(t=n,!0):!1),t}addWidget(e,t,n={}){this._prevActive||=e;let r=new WidgetAdapter(this,e,void 0,void 0,n);return r.title.label=t,r.padding=8,this._tab.addWidget(r),this.content.push(r),this}removeWidget(e){let t=this.getWidgetAdapter(e);if(t){let n=this.content.indexOf(t);n>=0&&this.content.splice(n,1),e.target(null),t.dispose()}return this}enter(e,t){super.enter(e,t),N.attach(this._tab,e)}update(e,t){super.update(e,t),t.select(`.lm-Widget`).style(`width`,this.width()+`px`).style(`height`,this.height()+`px`)}exit(e,t){N.detach(this._tab),super.exit(e,t)}render(e){return super.render(t=>{this.content.watchRendered(this,e),this._tab.update()})}messageHook(e,t){return e===this&&this.processMessage(t),!0}_prevActive;processMessage(e){switch(e.type){case`wa-activate-request`:let t=e.wa.widget;this._prevActive!==t&&(this._prevActive=t,this.childActivation(t));break}}childActivation(e){}active(e){return arguments.length?(this._tab.currentWidget=this.getWidgetAdapter(e),this):this.getWidget(this._tab.currentWidget)}};TabPanel.prototype._class+=` phosphor_TabPanel`,e.BUILD_VERSION=c,Object.defineProperty(e,"CommandPalette",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(e,"CommandRegistry",{enumerable:!0,get:function(){return C}}),e.ContextMenu=ContextMenu,e.DockPanel=DockPanel,Object.defineProperty(e,"Msg",{enumerable:!0,get:function(){return Q}}),e.PKG_NAME=o,e.PKG_VERSION=s,e.SplitPanel=SplitPanel,e.TabPanel=TabPanel,e.WidgetAdapter=WidgetAdapter,e.WidgetAdapterArray=$});
1
+ (function(e,t){typeof exports==`object`&&typeof module<`u`?t(exports,require("@hpcc-js/common")):typeof define==`function`&&define.amd?define([`exports`,`@hpcc-js/common`],t):(e=typeof globalThis<`u`?globalThis:e||self,t(e[`@hpcc-js/phosphor`]={},e[`@hpcc-js/common`]))})(this,function(e,t){Object.defineProperty(e,Symbol.toStringTag,{value:`Module`});var n=Object.defineProperty,__name=(e,t)=>n(e,`name`,{value:t,configurable:!0}),r=Object.getOwnPropertyDescriptor,i=Object.getOwnPropertyNames,a=Object.prototype.hasOwnProperty,__esmMin=(e,t)=>()=>(e&&(t=e(e=0)),t),__commonJSMin=(e,t)=>()=>(t||(e((t={exports:{}}).exports,t),e=null),t.exports),__exportAll=(e,t)=>{let r={};for(var i in e)n(r,i,{get:e[i],enumerable:!0});return t||n(r,Symbol.toStringTag,{value:`Module`}),r},__copyProps=(e,t,o,s)=>{if(t&&typeof t==`object`||typeof t==`function`)for(var c=i(t),l=0,u=c.length,d;l<u;l++)d=c[l],!a.call(e,d)&&d!==o&&n(e,d,{get:(e=>t[e]).bind(null,d),enumerable:!(s=r(t,d))||s.enumerable});return e},__toCommonJS=e=>a.call(e,`module.exports`)?e[`module.exports`]:__copyProps(n({},`__esModule`,{value:!0}),e),o=`@hpcc-js/phosphor`,s=`3.7.0`,c=`3.26.0`,l=__exportAll({ArrayExt:()=>u,StringExt:()=>f,chain:()=>chain,each:()=>each,empty:()=>empty,enumerate:()=>enumerate,every:()=>every,filter:()=>filter,find:()=>find,findIndex:()=>findIndex,map:()=>map,max:()=>max,min:()=>min,minmax:()=>minmax,once:()=>once,range:()=>range,reduce:()=>reduce,repeat:()=>repeat,retro:()=>retro,some:()=>some,stride:()=>stride,take:()=>take,toArray:()=>toArray,toObject:()=>toObject,topologicSort:()=>topologicSort,zip:()=>zip});function*chain(...e){for(let t of e)yield*t}function*empty(){}function*enumerate(e,t=0){for(let n of e)yield[t++,n]}function*filter(e,t){let n=0;for(let r of e)t(r,n++)&&(yield r)}function find(e,t){let n=0;for(let r of e)if(t(r,n++))return r}function findIndex(e,t){let n=0;for(let r of e)if(t(r,n++))return n-1;return-1}function min(e,t){let n;for(let r of e){if(n===void 0){n=r;continue}t(r,n)<0&&(n=r)}return n}function max(e,t){let n;for(let r of e){if(n===void 0){n=r;continue}t(r,n)>0&&(n=r)}return n}function minmax(e,t){let n=!0,r,i;for(let a of e)n?(r=a,i=a,n=!1):t(a,r)<0?r=a:t(a,i)>0&&(i=a);return n?void 0:[r,i]}function toArray(e){return Array.from(e)}function toObject(e){let t={};for(let[n,r]of e)t[n]=r;return t}function each(e,t){let n=0;for(let r of e)if(!1===t(r,n++))return}function every(e,t){let n=0;for(let r of e)if(!1===t(r,n++))return!1;return!0}function some(e,t){let n=0;for(let r of e)if(t(r,n++))return!0;return!1}function*map(e,t){let n=0;for(let r of e)yield t(r,n++)}function*range(e,t,n){t===void 0?(t=e,e=0,n=1):n===void 0&&(n=1);let r=d.rangeLength(e,t,n);for(let t=0;t<r;t++)yield e+n*t}function reduce(e,t,n){let r=e[Symbol.iterator](),i=0,a=r.next();if(a.done&&n===void 0)throw TypeError(`Reduce of empty iterable with no initial value.`);if(a.done)return n;let o=r.next();if(o.done&&n===void 0)return a.value;if(o.done)return t(n,a.value,i++);let s;s=t(n===void 0?a.value:t(n,a.value,i++),o.value,i++);let c;for(;!(c=r.next()).done;)s=t(s,c.value,i++);return s}function*repeat(e,t){for(;0<t--;)yield e}function*once(e){yield e}function*retro(e){if(typeof e.retro==`function`)yield*e.retro();else for(let t=e.length-1;t>-1;t--)yield e[t]}function topologicSort(e){let t=[],n=new Set,r=new Map;for(let t of e)addEdge(t);for(let[e]of r)visit(e);return t;function addEdge(e){let[t,n]=e,i=r.get(n);i?i.push(t):r.set(n,[t])}function visit(e){if(n.has(e))return;n.add(e);let i=r.get(e);if(i)for(let e of i)visit(e);t.push(e)}}function*stride(e,t){let n=0;for(let r of e)n++%t===0&&(yield r)}function*take(e,t){if(t<1)return;let n=e[Symbol.iterator](),r;for(;0<t--&&!(r=n.next()).done;)yield r.value}function*zip(...e){let t=e.map(e=>e[Symbol.iterator]()),n=t.map(e=>e.next());for(;every(n,e=>!e.done);n=t.map(e=>e.next()))yield n.map(e=>e.value)}var u,d,f,p=__esmMin((()=>{(function(e){function firstIndexOf(e,t,n=0,r=-1){let i=e.length;if(i===0)return-1;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a;a=r<n?r+1+(i-n):r-n+1;for(let r=0;r<a;++r){let a=(n+r)%i;if(e[a]===t)return a}return-1}e.firstIndexOf=firstIndexOf;function lastIndexOf(e,t,n=-1,r=0){let i=e.length;if(i===0)return-1;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a;a=n<r?n+1+(i-r):n-r+1;for(let r=0;r<a;++r){let a=(n-r+i)%i;if(e[a]===t)return a}return-1}e.lastIndexOf=lastIndexOf;function findFirstIndex(e,t,n=0,r=-1){let i=e.length;if(i===0)return-1;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a;a=r<n?r+1+(i-n):r-n+1;for(let r=0;r<a;++r){let a=(n+r)%i;if(t(e[a],a))return a}return-1}e.findFirstIndex=findFirstIndex;function findLastIndex(e,t,n=-1,r=0){let i=e.length;if(i===0)return-1;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a;a=n<r?n+1+(i-r):n-r+1;for(let r=0;r<a;++r){let a=(n-r+i)%i;if(t(e[a],a))return a}return-1}e.findLastIndex=findLastIndex;function findFirstValue(e,t,n=0,r=-1){let i=findFirstIndex(e,t,n,r);return i===-1?void 0:e[i]}e.findFirstValue=findFirstValue;function findLastValue(e,t,n=-1,r=0){let i=findLastIndex(e,t,n,r);return i===-1?void 0:e[i]}e.findLastValue=findLastValue;function lowerBound(e,t,n,r=0,i=-1){let a=e.length;if(a===0)return 0;r=r<0?Math.max(0,r+a):Math.min(r,a-1),i=i<0?Math.max(0,i+a):Math.min(i,a-1);let o=r,s=i-r+1;for(;s>0;){let r=s>>1,i=o+r;n(e[i],t)<0?(o=i+1,s-=r+1):s=r}return o}e.lowerBound=lowerBound;function upperBound(e,t,n,r=0,i=-1){let a=e.length;if(a===0)return 0;r=r<0?Math.max(0,r+a):Math.min(r,a-1),i=i<0?Math.max(0,i+a):Math.min(i,a-1);let o=r,s=i-r+1;for(;s>0;){let r=s>>1,i=o+r;n(e[i],t)>0?s=r:(o=i+1,s-=r+1)}return o}e.upperBound=upperBound;function shallowEqual(e,t,n){if(e===t)return!0;if(e.length!==t.length)return!1;for(let r=0,i=e.length;r<i;++r)if(n?!n(e[r],t[r]):e[r]!==t[r])return!1;return!0}e.shallowEqual=shallowEqual;function slice(e,t={}){let{start:n,stop:r,step:i}=t;if(i===void 0&&(i=1),i===0)throw Error("Slice `step` cannot be zero.");let a=e.length;n===void 0?n=i<0?a-1:0:n<0?n=Math.max(n+a,i<0?-1:0):n>=a&&(n=i<0?a-1:a),r===void 0?r=i<0?-1:a:r<0?r=Math.max(r+a,i<0?-1:0):r>=a&&(r=i<0?a-1:a);let o;o=i<0&&r>=n||i>0&&n>=r?0:Math.floor(i<0?(r-n+1)/i+1:(r-n-1)/i+1);let s=[];for(let t=0;t<o;++t)s[t]=e[n+t*i];return s}e.slice=slice;function move(e,t,n){let r=e.length;if(r<=1||(t=t<0?Math.max(0,t+r):Math.min(t,r-1),n=n<0?Math.max(0,n+r):Math.min(n,r-1),t===n))return;let i=e[t],a=t<n?1:-1;for(let r=t;r!==n;r+=a)e[r]=e[r+a];e[n]=i}e.move=move;function reverse(e,t=0,n=-1){let r=e.length;if(!(r<=1))for(t=t<0?Math.max(0,t+r):Math.min(t,r-1),n=n<0?Math.max(0,n+r):Math.min(n,r-1);t<n;){let r=e[t],i=e[n];e[t++]=i,e[n--]=r}}e.reverse=reverse;function rotate(e,t,n=0,r=-1){let i=e.length;if(i<=1||(n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1),n>=r))return;let a=r-n+1;if(t>0?t%=a:t<0&&(t=(t%a+a)%a),t===0)return;let o=n+t;reverse(e,n,o-1),reverse(e,o,r),reverse(e,n,r)}e.rotate=rotate;function fill(e,t,n=0,r=-1){let i=e.length;if(i===0)return;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a;a=r<n?r+1+(i-n):r-n+1;for(let r=0;r<a;++r)e[(n+r)%i]=t}e.fill=fill;function insert(e,t,n){let r=e.length;t=t<0?Math.max(0,t+r):Math.min(t,r);for(let n=r;n>t;--n)e[n]=e[n-1];e[t]=n}e.insert=insert;function removeAt(e,t){let n=e.length;if(t<0&&(t+=n),t<0||t>=n)return;let r=e[t];for(let r=t+1;r<n;++r)e[r-1]=e[r];return e.length=n-1,r}e.removeAt=removeAt;function removeFirstOf(e,t,n=0,r=-1){let i=firstIndexOf(e,t,n,r);return i!==-1&&removeAt(e,i),i}e.removeFirstOf=removeFirstOf;function removeLastOf(e,t,n=-1,r=0){let i=lastIndexOf(e,t,n,r);return i!==-1&&removeAt(e,i),i}e.removeLastOf=removeLastOf;function removeAllOf(e,t,n=0,r=-1){let i=e.length;if(i===0)return 0;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a=0;for(let o=0;o<i;++o)n<=r&&o>=n&&o<=r&&e[o]===t||r<n&&(o<=r||o>=n)&&e[o]===t?a++:a>0&&(e[o-a]=e[o]);return a>0&&(e.length=i-a),a}e.removeAllOf=removeAllOf;function removeFirstWhere(e,t,n=0,r=-1){let i,a=findFirstIndex(e,t,n,r);return a!==-1&&(i=removeAt(e,a)),{index:a,value:i}}e.removeFirstWhere=removeFirstWhere;function removeLastWhere(e,t,n=-1,r=0){let i,a=findLastIndex(e,t,n,r);return a!==-1&&(i=removeAt(e,a)),{index:a,value:i}}e.removeLastWhere=removeLastWhere;function removeAllWhere(e,t,n=0,r=-1){let i=e.length;if(i===0)return 0;n=n<0?Math.max(0,n+i):Math.min(n,i-1),r=r<0?Math.max(0,r+i):Math.min(r,i-1);let a=0;for(let o=0;o<i;++o)n<=r&&o>=n&&o<=r&&t(e[o],o)||r<n&&(o<=r||o>=n)&&t(e[o],o)?a++:a>0&&(e[o-a]=e[o]);return a>0&&(e.length=i-a),a}e.removeAllWhere=removeAllWhere})(u||={}),(function(e){function rangeLength(e,t,n){return n===0?1/0:e>t&&n>0||e<t&&n<0?0:Math.ceil((t-e)/n)}e.rangeLength=rangeLength})(d||={}),(function(e){function findIndices(e,t,n=0){let r=Array(t.length);for(let i=0,a=n,o=t.length;i<o;++i,++a){if(a=e.indexOf(t[i],a),a===-1)return null;r[i]=a}return r}e.findIndices=findIndices;function matchSumOfSquares(e,t,n=0){let r=findIndices(e,t,n);if(!r)return null;let i=0;for(let e=0,t=r.length;e<t;++e){let t=r[e]-n;i+=t*t}return{score:i,indices:r}}e.matchSumOfSquares=matchSumOfSquares;function matchSumOfDeltas(e,t,n=0){let r=findIndices(e,t,n);if(!r)return null;let i=0,a=n-1;for(let e=0,t=r.length;e<t;++e){let t=r[e];i+=t-a-1,a=t}return{score:i,indices:r}}e.matchSumOfDeltas=matchSumOfDeltas;function highlight(e,t,n){let r=[],i=0,a=0,o=t.length;for(;i<o;){let s=t[i],c=t[i];for(;++i<o&&t[i]===c+1;)c++;a<s&&r.push(e.slice(a,s)),s<c+1&&r.push(n(e.slice(s,c+1))),a=c+1}return a<e.length&&r.push(e.slice(a)),r}e.highlight=highlight;function cmp(e,t){return e<t?-1:+(e>t)}e.cmp=cmp})(f||={})})),m=__commonJSMin(((e,t)=>{(function(n,r){typeof e==`object`&&t!==void 0?r(e,(p(),__toCommonJS(l))):typeof define==`function`&&define.amd?define([`exports`,`@lumino/algorithm`],r):(n=typeof globalThis<`u`?globalThis:n||self,r(n.lumino_coreutils={},n.lumino_algorithm))})(e,(function(e,t){"use strict";e.JSONExt=void 0,(function(e){e.emptyObject=Object.freeze({}),e.emptyArray=Object.freeze([]);function isPrimitive(e){return e===null||typeof e==`boolean`||typeof e==`number`||typeof e==`string`}e.isPrimitive=isPrimitive;function isArray(e){return Array.isArray(e)}e.isArray=isArray;function isObject(e){return!isPrimitive(e)&&!isArray(e)}e.isObject=isObject;function deepEqual(e,t){if(e===t)return!0;if(isPrimitive(e)||isPrimitive(t))return!1;let n=isArray(e),r=isArray(t);return n===r?n&&r?deepArrayEqual(e,t):deepObjectEqual(e,t):!1}e.deepEqual=deepEqual;function deepCopy(e){return isPrimitive(e)?e:isArray(e)?deepArrayCopy(e):deepObjectCopy(e)}e.deepCopy=deepCopy;function deepArrayEqual(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,r=e.length;n<r;++n)if(!deepEqual(e[n],t[n]))return!1;return!0}function deepObjectEqual(e,t){if(e===t)return!0;for(let n in e)if(e[n]!==void 0&&!(n in t))return!1;for(let n in t)if(t[n]!==void 0&&!(n in e))return!1;for(let n in e){let r=e[n],i=t[n];if(!(r===void 0&&i===void 0)&&(r===void 0||i===void 0||!deepEqual(r,i)))return!1}return!0}function deepArrayCopy(e){let t=Array(e.length);for(let n=0,r=e.length;n<r;++n)t[n]=deepCopy(e[n]);return t}function deepObjectCopy(e){let t={};for(let n in e){let r=e[n];r!==void 0&&(t[n]=deepCopy(r))}return t}})(e.JSONExt||={});class MimeData{constructor(){this._types=[],this._values=[]}types(){return this._types.slice()}hasData(e){return this._types.indexOf(e)!==-1}getData(e){let t=this._types.indexOf(e);return t===-1?void 0:this._values[t]}setData(e,t){this.clearData(e),this._types.push(e),this._values.push(t)}clearData(e){let t=this._types.indexOf(e);t!==-1&&(this._types.splice(t,1),this._values.splice(t,1))}clear(){this._types.length=0,this._values.length=0}}class PluginRegistry{constructor(e={}){this._application=null,this._validatePlugin=()=>!0,this._plugins=new Map,this._services=new Map,e.validatePlugin&&(console.info(`Plugins may be rejected by the custom validation plugin method.`),this._validatePlugin=e.validatePlugin)}get application(){return this._application}set application(e){if(this._application!==null)throw Error(`PluginRegistry.application is already set. It cannot be overridden.`);this._application=e}get deferredPlugins(){return Array.from(this._plugins).filter(([e,t])=>t.autoStart===`defer`).map(([e,t])=>e)}getPluginDescription(e){return this._plugins.get(e)?.description??``}hasPlugin(e){return this._plugins.has(e)}isPluginActivated(e){return this._plugins.get(e)?.activated??!1}listPlugins(){return Array.from(this._plugins.keys())}registerPlugin(e){if(this._plugins.has(e.id))throw TypeError(`Plugin '${e.id}' is already registered.`);if(!this._validatePlugin(e))throw Error(`Plugin '${e.id}' is not valid.`);let t=n.createPluginData(e);n.ensureNoCycle(t,this._plugins,this._services),t.provides&&this._services.set(t.provides,t.id),this._plugins.set(t.id,t)}registerPlugins(e){for(let t of e)this.registerPlugin(t)}deregisterPlugin(e,t){let n=this._plugins.get(e);if(n){if(n.activated&&!t)throw Error(`Plugin '${e}' is still active.`);this._plugins.delete(e)}}async activatePlugin(e){let t=this._plugins.get(e);if(!t)throw ReferenceError(`Plugin '${e}' is not registered.`);if(t.activated)return;if(t.promise)return t.promise;let n=t.requires.map(e=>this.resolveRequiredService(e)),r=t.optional.map(e=>this.resolveOptionalService(e));return t.promise=Promise.all([...n,...r]).then(e=>t.activate.apply(void 0,[this.application,...e])).then(e=>{t.service=e,t.activated=!0,t.promise=null}).catch(e=>{throw t.promise=null,e}),t.promise}async activatePlugins(e,t={}){switch(e){case`defer`:{let e=this.deferredPlugins.filter(e=>this._plugins.get(e).autoStart).map(e=>this.activatePlugin(e));await Promise.all(e);break}case`startUp`:{let e=n.collectStartupPlugins(this._plugins,t).map(async e=>{try{return await this.activatePlugin(e)}catch(t){console.error(`Plugin '${e}' failed to activate.`,t)}});await Promise.all(e);break}}}async deactivatePlugin(e){let t=this._plugins.get(e);if(!t)throw ReferenceError(`Plugin '${e}' is not registered.`);if(!t.activated)return[];if(!t.deactivate)throw TypeError(`Plugin '${e}'#deactivate() method missing`);let r=n.findDependents(e,this._plugins,this._services),i=r.map(e=>this._plugins.get(e));for(let t of i)if(!t.deactivate)throw TypeError(`Plugin ${t.id}#deactivate() method missing (depends on ${e})`);for(let e of i){let t=[...e.requires,...e.optional].map(e=>{let t=this._services.get(e);return t?this._plugins.get(t).service:null});await e.deactivate(this.application,...t),e.service=null,e.activated=!1}return r.pop(),r}async resolveRequiredService(e){let t=this._services.get(e);if(!t)throw TypeError(`No provider for: ${e.name}.`);let n=this._plugins.get(t);return n.activated||await this.activatePlugin(t),n.service}async resolveOptionalService(e){let t=this._services.get(e);if(!t)return null;let n=this._plugins.get(t);if(!n.activated)try{await this.activatePlugin(t)}catch(e){return console.error(e),null}return n.service}}var n;(function(e){class PluginData{constructor(e){this._activated=!1,this._promise=null,this._service=null,this.id=e.id,this.description=e.description??``,this.activate=e.activate,this.deactivate=e.deactivate??null,this.provides=e.provides??null,this.autoStart=e.autoStart??!1,this.requires=e.requires?e.requires.slice():[],this.optional=e.optional?e.optional.slice():[]}get activated(){return this._activated}set activated(e){this._activated=e}get service(){return this._service}set service(e){this._service=e}get promise(){return this._promise}set promise(e){this._promise=e}}function createPluginData(e){return new PluginData(e)}e.createPluginData=createPluginData;function ensureNoCycle(e,t,n){let r=[...e.requires,...e.optional],visit=r=>{if(r===e.provides)return!0;let a=n.get(r);if(!a)return!1;let o=t.get(a),s=[...o.requires,...o.optional];return s.length===0?!1:(i.push(a),s.some(visit)?!0:(i.pop(),!1))};if(!e.provides||r.length===0)return;let i=[e.id];if(r.some(visit))throw ReferenceError(`Cycle detected: ${i.join(` -> `)}.`)}e.ensureNoCycle=ensureNoCycle;function findDependents(e,n,r){let i=[],add=e=>{let t=n.get(e),a=[...t.requires,...t.optional];i.push(...a.reduce((t,n)=>{let i=r.get(n);return i&&t.push([e,i]),t},[]))};for(let e of n.keys())add(e);let a=i.filter(t=>t[1]===e),o=0;for(;a.length>o;){let e=a.length,t=new Set(a.map(e=>e[0]));for(let e of t)i.filter(t=>t[1]===e).forEach(e=>{a.includes(e)||a.push(e)});o=e}let s=t.topologicSort(a),c=s.findIndex(t=>t===e);return c===-1?[e]:s.slice(0,c+1)}e.findDependents=findDependents;function collectStartupPlugins(e,t){let n=new Set;for(let t of e.keys())e.get(t).autoStart===!0&&n.add(t);if(t.startPlugins)for(let e of t.startPlugins)n.add(e);if(t.ignorePlugins)for(let e of t.ignorePlugins)n.delete(e);return Array.from(n)}e.collectStartupPlugins=collectStartupPlugins})(n||={});class PromiseDelegate{constructor(){this.promise=new Promise((e,t)=>{this._resolve=e,this._reject=t})}resolve(e){let t=this._resolve;t(e)}reject(e){let t=this._reject;t(e)}}class Token{constructor(e,t){this.name=e,this.description=t??``,this._tokenStructuralPropertyT=null}}function fallbackRandomValues(e){let t=0;for(let n=0,r=e.length;n<r;++n)n%4==0&&(t=Math.random()*4294967295>>>0),e[n]=t&255,t>>>=8}e.Random=void 0,(function(e){e.getRandomValues=(()=>{let e=typeof window<`u`&&(window.crypto||window.msCrypto)||null;return e&&typeof e.getRandomValues==`function`?function getRandomValues(t){return e.getRandomValues(t)}:fallbackRandomValues})()})(e.Random||={});function uuid4Factory(e){let t=new Uint8Array(16),n=Array(256);for(let e=0;e<16;++e)n[e]=`0`+e.toString(16);for(let e=16;e<256;++e)n[e]=e.toString(16);return function uuid4(){return e(t),t[6]=64|t[6]&15,t[8]=128|t[8]&63,n[t[0]]+n[t[1]]+n[t[2]]+n[t[3]]+`-`+n[t[4]]+n[t[5]]+`-`+n[t[6]]+n[t[7]]+`-`+n[t[8]]+n[t[9]]+`-`+n[t[10]]+n[t[11]]+n[t[12]]+n[t[13]]+n[t[14]]+n[t[15]]}}e.UUID=void 0,(function(t){t.uuid4=uuid4Factory(e.Random.getRandomValues)})(e.UUID||={}),e.MimeData=MimeData,e.PluginRegistry=PluginRegistry,e.PromiseDelegate=PromiseDelegate,e.Token=Token}))}));p();var g=m(),Signal=class{constructor(e){this.sender=e}connect(e,t){return _.connect(this,e,t)}disconnect(e,t){return _.disconnect(this,e,t)}emit(e){_.emit(this,e)}};(function(e){function disconnectBetween(e,t){_.disconnectBetween(e,t)}e.disconnectBetween=disconnectBetween;function disconnectSender(e){_.disconnectSender(e)}e.disconnectSender=disconnectSender;function disconnectReceiver(e){_.disconnectReceiver(e)}e.disconnectReceiver=disconnectReceiver;function disconnectAll(e){_.disconnectAll(e)}e.disconnectAll=disconnectAll;function clearData(e){_.disconnectAll(e)}e.clearData=clearData;function getExceptionHandler(){return _.exceptionHandler}e.getExceptionHandler=getExceptionHandler;function setExceptionHandler(e){let t=_.exceptionHandler;return _.exceptionHandler=e,t}e.setExceptionHandler=setExceptionHandler})(Signal||={});var _;(function(e){e.exceptionHandler=e=>{console.error(e)};function connect(e,r,i){i||=void 0;let a=t.get(e.sender);if(a||(a=[],t.set(e.sender,a)),findConnection(a,e,r,i))return!1;let o=i||r,s=n.get(o);s||(s=[],n.set(o,s));let c={signal:e,slot:r,thisArg:i};return a.push(c),s.push(c),!0}e.connect=connect;function disconnect(e,r,i){i||=void 0;let a=t.get(e.sender);if(!a||a.length===0)return!1;let o=findConnection(a,e,r,i);if(!o)return!1;let s=i||r,c=n.get(s);return o.signal=null,scheduleCleanup(a),scheduleCleanup(c),!0}e.disconnect=disconnect;function disconnectBetween(e,r){let i=t.get(e);if(!i||i.length===0)return;let a=n.get(r);if(!(!a||a.length===0)){for(let t of a)t.signal&&t.signal.sender===e&&(t.signal=null);scheduleCleanup(i),scheduleCleanup(a)}}e.disconnectBetween=disconnectBetween;function disconnectSender(e){let r=t.get(e);if(!(!r||r.length===0)){for(let e of r){if(!e.signal)continue;let t=e.thisArg||e.slot;e.signal=null,scheduleCleanup(n.get(t))}scheduleCleanup(r)}}e.disconnectSender=disconnectSender;function disconnectReceiver(e){let r=n.get(e);if(!(!r||r.length===0)){for(let e of r){if(!e.signal)continue;let n=e.signal.sender;e.signal=null,scheduleCleanup(t.get(n))}scheduleCleanup(r)}}e.disconnectReceiver=disconnectReceiver;function disconnectAll(e){disconnectSender(e),disconnectReceiver(e)}e.disconnectAll=disconnectAll;function emit(e,n){let r=t.get(e.sender);if(!(!r||r.length===0))for(let t=0,i=r.length;t<i;++t){let i=r[t];i.signal===e&&invokeSlot(i,n)}}e.emit=emit;let t=new WeakMap,n=new WeakMap,r=new Set,i=typeof requestAnimationFrame==`function`?requestAnimationFrame:setImmediate;function findConnection(e,t,n,r){return find(e,e=>e.signal===t&&e.slot===n&&e.thisArg===r)}function invokeSlot(t,n){let{signal:r,slot:i,thisArg:a}=t;try{i.call(a,r.sender,n)}catch(t){e.exceptionHandler(t)}}function scheduleCleanup(e){r.size===0&&i(cleanupDirtySet),r.add(e)}function cleanupDirtySet(){r.forEach(cleanupConnections),r.clear()}function cleanupConnections(e){u.removeAllWhere(e,isDeadConnection)}function isDeadConnection(e){return e.signal===null}})(_||={});var DisposableDelegate=class{constructor(e){this._fn=e}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let e=this._fn;this._fn=null,e()}},DisposableSet=class{constructor(){this._isDisposed=!1,this._items=new Set}get isDisposed(){return this._isDisposed}dispose(){this._isDisposed||(this._isDisposed=!0,this._items.forEach(e=>{e.dispose()}),this._items.clear())}contains(e){return this._items.has(e)}add(e){this._items.add(e)}remove(e){this._items.delete(e)}clear(){this._items.clear()}};(function(e){function from(t){let n=new e;for(let e of t)n.add(e);return n}e.from=from})(DisposableSet||={});var ObservableDisposableSet=class extends DisposableSet{constructor(){super(...arguments),this._disposed=new Signal(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),Signal.clearData(this))}};(function(e){function from(t){let n=new e;for(let e of t)n.add(e);return n}e.from=from})(ObservableDisposableSet||={});var v;(function(e){function copyText(e){let t=document.body,handler=n=>{n.preventDefault(),n.stopPropagation(),n.clipboardData.setData(`text`,e),t.removeEventListener(`copy`,handler,!0)};t.addEventListener(`copy`,handler,!0),document.execCommand(`copy`)}e.copyText=copyText})(v||={});var y;(function(e){function boxSizing(e){let t=window.getComputedStyle(e),n=parseFloat(t.borderTopWidth)||0,r=parseFloat(t.borderLeftWidth)||0,i=parseFloat(t.borderRightWidth)||0,a=parseFloat(t.borderBottomWidth)||0,o=parseFloat(t.paddingTop)||0,s=parseFloat(t.paddingLeft)||0,c=parseFloat(t.paddingRight)||0,l=parseFloat(t.paddingBottom)||0;return{borderTop:n,borderLeft:r,borderRight:i,borderBottom:a,paddingTop:o,paddingLeft:s,paddingRight:c,paddingBottom:l,horizontalSum:r+s+c+i,verticalSum:n+o+l+a}}e.boxSizing=boxSizing;function sizeLimits(e){let t=window.getComputedStyle(e),n=parseFloat(t.minWidth)||0,r=parseFloat(t.minHeight)||0,i=parseFloat(t.maxWidth)||1/0,a=parseFloat(t.maxHeight)||1/0;return i=Math.max(n,i),a=Math.max(r,a),{minWidth:n,minHeight:r,maxWidth:i,maxHeight:a}}e.sizeLimits=sizeLimits;function hitTest(e,t,n){let r=e.getBoundingClientRect();return t>=r.left&&t<r.right&&n>=r.top&&n<r.bottom}e.hitTest=hitTest;function scrollIntoViewIfNeeded(e,t){let n=e.getBoundingClientRect(),r=t.getBoundingClientRect();if(!(r.top<=n.top&&r.bottom>=n.bottom)){if(r.top<n.top&&r.height<=n.height){e.scrollTop-=n.top-r.top;return}if(r.bottom>n.bottom&&r.height>=n.height){e.scrollTop-=n.top-r.top;return}if(r.top<n.top&&r.height>n.height){e.scrollTop-=n.bottom-r.bottom;return}if(r.bottom>n.bottom&&r.height<n.height){e.scrollTop-=n.bottom-r.bottom;return}}}e.scrollIntoViewIfNeeded=scrollIntoViewIfNeeded})(y||={});var b;(function(e){e.IS_MAC=!!navigator.platform.match(/Mac/i),e.IS_WIN=!!navigator.platform.match(/Win/i),e.IS_IE=/Trident/.test(navigator.userAgent),e.IS_EDGE=/Edge/.test(navigator.userAgent);function accelKey(t){return e.IS_MAC?t.metaKey:t.ctrlKey}e.accelKey=accelKey})(b||={});var x;(function(e){function calculateSpecificity(e){if(e in S.specificityCache)return S.specificityCache[e];let t=S.calculateSingle(e);return S.specificityCache[e]=t}e.calculateSpecificity=calculateSpecificity;function isValid(e){if(e in S.validityCache)return S.validityCache[e];let t=!0;try{S.testElem.querySelector(e)}catch{t=!1}return S.validityCache[e]=t}e.isValid=isValid;function matches(e,t){return S.protoMatchFunc.call(e,t)}e.matches=matches})(x||={});var S;(function(e){e.specificityCache=Object.create(null),e.validityCache=Object.create(null),e.testElem=document.createElement(`div`),e.protoMatchFunc=(()=>{let e=Element.prototype;return e.matches||e.matchesSelector||e.mozMatchesSelector||e.msMatchesSelector||e.oMatchesSelector||e.webkitMatchesSelector||function(e){let t=this,n=t.ownerDocument?t.ownerDocument.querySelectorAll(e):[];return Array.prototype.indexOf.call(n,t)!==-1}})();function calculateSingle(e){e=e.split(`,`,1)[0];let l=0,u=0,d=0;function match(t){let n=e.match(t);return n===null?!1:(e=e.slice(n[0].length),!0)}for(e=e.replace(c,` $1 `);e.length>0;){if(match(t)){l++;continue}if(match(n)){u++;continue}if(match(r)){u++;continue}if(match(a)){d++;continue}if(match(o)){u++;continue}if(match(i)){d++;continue}if(!match(s))return 0}return l=Math.min(l,255),u=Math.min(u,255),d=Math.min(d,255),l<<16|u<<8|d}e.calculateSingle=calculateSingle;let t=/^#[^\s\+>~#\.\[:]+/,n=/^\.[^\s\+>~#\.\[:]+/,r=/^\[[^\]]+\]/,i=/^[^\s\+>~#\.\[:]+/,a=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,o=/^:[^\s\+>~#\.\[:]+/,s=/^[\s\+>~\*]+/,c=/:not\(([^\)]+)\)/g})(S||={});function getKeyboardLayout(){return ne.keyboardLayout}var ee=class KeycodeLayout{constructor(e,t,n=[]){this.name=e,this._codes=t,this._keys=KeycodeLayout.extractKeys(t),this._modifierKeys=KeycodeLayout.convertToKeySet(n)}keys(){return Object.keys(this._keys)}isValidKey(e){return e in this._keys}isModifierKey(e){return e in this._modifierKeys}keyForKeydownEvent(e){return this._codes[e.keyCode]||``}};(function(e){function extractKeys(e){let t=Object.create(null);for(let n in e)t[e[n]]=!0;return t}e.extractKeys=extractKeys;function convertToKeySet(e){let t=Object(null);for(let n=0,r=e.length;n<r;++n)t[e[n]]=!0;return t}e.convertToKeySet=convertToKeySet})(ee||={});var te=new ee(`en-us`,{8:`Backspace`,9:`Tab`,13:`Enter`,16:`Shift`,17:`Ctrl`,18:`Alt`,19:`Pause`,27:`Escape`,32:`Space`,33:`PageUp`,34:`PageDown`,35:`End`,36:`Home`,37:`ArrowLeft`,38:`ArrowUp`,39:`ArrowRight`,40:`ArrowDown`,45:`Insert`,46:`Delete`,48:`0`,49:`1`,50:`2`,51:`3`,52:`4`,53:`5`,54:`6`,55:`7`,56:`8`,57:`9`,59:`;`,61:`=`,65:`A`,66:`B`,67:`C`,68:`D`,69:`E`,70:`F`,71:`G`,72:`H`,73:`I`,74:`J`,75:`K`,76:`L`,77:`M`,78:`N`,79:`O`,80:`P`,81:`Q`,82:`R`,83:`S`,84:`T`,85:`U`,86:`V`,87:`W`,88:`X`,89:`Y`,90:`Z`,91:`Meta`,93:`ContextMenu`,96:`0`,97:`1`,98:`2`,99:`3`,100:`4`,101:`5`,102:`6`,103:`7`,104:`8`,105:`9`,106:`*`,107:`+`,109:`-`,110:`.`,111:`/`,112:`F1`,113:`F2`,114:`F3`,115:`F4`,116:`F5`,117:`F6`,118:`F7`,119:`F8`,120:`F9`,121:`F10`,122:`F11`,123:`F12`,173:`-`,186:`;`,187:`=`,188:`,`,189:`-`,190:`.`,191:`/`,192:"`",219:`[`,220:`\\`,221:`]`,222:`'`,224:`Meta`},[`Shift`,`Ctrl`,`Alt`,`Meta`]),ne;(function(e){e.keyboardLayout=te})(ne||={}),p();var C=class CommandRegistry{constructor(){this._timerID=0,this._timerModifierID=0,this._replaying=!1,this._keystrokes=[],this._keydownEvents=[],this._keyBindings=[],this._exactKeyMatch=null,this._commands=new Map,this._commandChanged=new Signal(this),this._commandExecuted=new Signal(this),this._keyBindingChanged=new Signal(this),this._holdKeyBindingPromises=new Map}get commandChanged(){return this._commandChanged}get commandExecuted(){return this._commandExecuted}get keyBindingChanged(){return this._keyBindingChanged}get keyBindings(){return this._keyBindings}listCommands(){return Array.from(this._commands.keys())}hasCommand(e){return this._commands.has(e)}addCommand(e,t){if(this._commands.has(e))throw Error(`Command '${e}' already registered.`);return this._commands.set(e,w.createCommand(t)),this._commandChanged.emit({id:e,type:`added`}),new DisposableDelegate(()=>{this._commands.delete(e),this._commandChanged.emit({id:e,type:`removed`})})}notifyCommandChanged(e){if(e!==void 0&&!this._commands.has(e))throw Error(`Command '${e}' is not registered.`);this._commandChanged.emit({id:e,type:e?`changed`:`many-changed`})}describedBy(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return Promise.resolve(n?.describedBy.call(void 0,t)??{args:null})}label(e,t=g.JSONExt.emptyObject){return this._commands.get(e)?.label.call(void 0,t)??``}mnemonic(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.mnemonic.call(void 0,t):-1}icon(e,t=g.JSONExt.emptyObject){return this._commands.get(e)?.icon.call(void 0,t)}iconClass(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.iconClass.call(void 0,t):``}iconLabel(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.iconLabel.call(void 0,t):``}caption(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.caption.call(void 0,t):``}usage(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.usage.call(void 0,t):``}className(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.className.call(void 0,t):``}dataset(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.dataset.call(void 0,t):{}}isEnabled(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isEnabled.call(void 0,t):!1}isToggled(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isToggled.call(void 0,t):!1}isToggleable(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isToggleable:!1}isVisible(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);return n?n.isVisible.call(void 0,t):!1}execute(e,t=g.JSONExt.emptyObject){let n=this._commands.get(e);if(!n)return Promise.reject(Error(`Command '${e}' not registered.`));let r;try{r=n.execute.call(void 0,t)}catch(e){r=Promise.reject(e)}let i=Promise.resolve(r);return this._commandExecuted.emit({id:e,args:t,result:i}),i}addKeyBinding(e){let t=w.createKeyBinding(e);return this._keyBindings.push(t),this._keyBindingChanged.emit({binding:t,type:`added`}),new DisposableDelegate(()=>{u.removeFirstOf(this._keyBindings,t),this._keyBindingChanged.emit({binding:t,type:`removed`})})}processKeydownEvent(e){if(e.defaultPrevented||this._replaying)return;let t=CommandRegistry.keystrokeForKeydownEvent(e);if(!t){this._replayKeydownEvents(),this._clearPendingState();return}if(CommandRegistry.isModifierKeyPressed(e)){let{exact:n}=w.matchKeyBinding(this._keyBindings,[t],e);n?(e.preventDefault(),e.stopPropagation(),this._startModifierTimer(n)):this._clearModifierTimer();return}this._keystrokes.push(t);let{exact:n,partial:r}=w.matchKeyBinding(this._keyBindings,this._keystrokes,e),i=r.length!==0;if(!n&&!i){this._replayKeydownEvents(),this._clearPendingState();return}if((n?.preventDefault||r.some(e=>e.preventDefault))&&(e.preventDefault(),e.stopPropagation()),this._keydownEvents.push(e),n&&!i){this._executeKeyBinding(n),this._clearPendingState();return}n&&(this._exactKeyMatch=n),this._startTimer()}holdKeyBindingExecution(e,t){this._holdKeyBindingPromises.set(e,t)}processKeyupEvent(e){this._clearModifierTimer()}_startModifierTimer(e){this._clearModifierTimer(),this._timerModifierID=window.setTimeout(()=>{this._executeKeyBinding(e)},w.modifierkeyTimeOut)}_clearModifierTimer(){this._timerModifierID!==0&&(clearTimeout(this._timerModifierID),this._timerModifierID=0)}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout(()=>{this._onPendingTimeout()},w.CHORD_TIMEOUT)}_clearTimer(){this._timerID!==0&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){this._keydownEvents.length!==0&&(this._replaying=!0,this._keydownEvents.forEach(w.replayKeyEvent),this._replaying=!1)}async _executeKeyBinding(e){if(this._holdKeyBindingPromises.size!==0){let e=[...this._keydownEvents],t=(await Promise.race([Promise.all(e.map(async e=>this._holdKeyBindingPromises.get(e)??Promise.resolve(!0))),new Promise(e=>{setTimeout(()=>e([!1]),w.KEYBINDING_HOLD_TIMEOUT)})])).every(Boolean);if(this._holdKeyBindingPromises.clear(),!t)return}let{command:t,args:n}=e,r={_luminoEvent:{type:`keybinding`,keys:e.keys},...n};if(!this.hasCommand(t)||!this.isEnabled(t,r)){let n=this.hasCommand(t)?`enabled`:`registered`,r=`Cannot execute key binding '${e.keys.join(`, `)}':`,i=`command '${t}' is not ${n}.`;console.warn(`${r} ${i}`);return}await this.execute(t,r)}_clearPendingState(){this._clearTimer(),this._clearModifierTimer(),this._exactKeyMatch=null,this._keystrokes.length=0,this._keydownEvents.length=0}_onPendingTimeout(){this._timerID=0,this._exactKeyMatch?this._executeKeyBinding(this._exactKeyMatch):this._replayKeydownEvents(),this._clearPendingState()}};(function(e){function parseKeystroke(e){let t=``,n=!1,r=!1,i=!1,a=!1;for(let o of e.split(/\s+/))o===`Accel`?b.IS_MAC?r=!0:i=!0:o===`Alt`?n=!0:o===`Cmd`?r=!0:o===`Ctrl`?i=!0:o===`Shift`?a=!0:o.length>0&&(t=o);return{cmd:r,ctrl:i,alt:n,shift:a,key:t}}e.parseKeystroke=parseKeystroke;function normalizeKeystroke(e){let t=``,n=parseKeystroke(e);return n.ctrl&&(t+=`Ctrl `),n.alt&&(t+=`Alt `),n.shift&&(t+=`Shift `),n.cmd&&b.IS_MAC&&(t+=`Cmd `),n.key?t+n.key:t.trim()}e.normalizeKeystroke=normalizeKeystroke;function normalizeKeys(e){let t;return t=b.IS_WIN?e.winKeys||e.keys:b.IS_MAC?e.macKeys||e.keys:e.linuxKeys||e.keys,t.map(normalizeKeystroke)}e.normalizeKeys=normalizeKeys;function formatKeystroke(e){return typeof e==`string`?formatSingleKey(e):e.map(formatSingleKey).join(`, `);function formatSingleKey(e){let t=[],n=b.IS_MAC?` `:`+`,r=parseKeystroke(e);return r.ctrl&&t.push(`Ctrl`),r.alt&&t.push(`Alt`),r.shift&&t.push(`Shift`),b.IS_MAC&&r.cmd&&t.push(`Cmd`),t.push(r.key),t.map(w.formatKey).join(n)}}e.formatKeystroke=formatKeystroke;function isModifierKeyPressed(e){let t=getKeyboardLayout(),n=t.keyForKeydownEvent(e);return t.isModifierKey(n)}e.isModifierKeyPressed=isModifierKeyPressed;function keystrokeForKeydownEvent(e){let t=getKeyboardLayout(),n=t.keyForKeydownEvent(e),r=[];return e.ctrlKey&&r.push(`Ctrl`),e.altKey&&r.push(`Alt`),e.shiftKey&&r.push(`Shift`),e.metaKey&&b.IS_MAC&&r.push(`Cmd`),t.isModifierKey(n)||r.push(n),r.join(` `)}e.keystrokeForKeydownEvent=keystrokeForKeydownEvent})(C||={});var w;(function(e){e.CHORD_TIMEOUT=1e3,e.KEYBINDING_HOLD_TIMEOUT=1e3,e.modifierkeyTimeOut=500;function createCommand(e){return{execute:e.execute,describedBy:asFunc(typeof e.describedBy==`function`?e.describedBy:{args:null,...e.describedBy},()=>({args:null})),label:asFunc(e.label,emptyStringFunc),mnemonic:asFunc(e.mnemonic,negativeOneFunc),icon:asFunc(e.icon,undefinedFunc),iconClass:asFunc(e.iconClass,emptyStringFunc),iconLabel:asFunc(e.iconLabel,emptyStringFunc),caption:asFunc(e.caption,emptyStringFunc),usage:asFunc(e.usage,emptyStringFunc),className:asFunc(e.className,emptyStringFunc),dataset:asFunc(e.dataset,emptyDatasetFunc),isEnabled:e.isEnabled||trueFunc,isToggled:e.isToggled||falseFunc,isToggleable:e.isToggleable||!!e.isToggled,isVisible:e.isVisible||trueFunc}}e.createCommand=createCommand;function createKeyBinding(e){return{keys:C.normalizeKeys(e),selector:validateSelector(e),command:e.command,args:e.args||g.JSONExt.emptyObject,preventDefault:e.preventDefault??!0}}e.createKeyBinding=createKeyBinding;function matchKeyBinding(e,t,n){let r=null,i=[],a=1/0,o=0;for(let s=0,c=e.length;s<c;++s){let c=e[s],l=matchSequence(c.keys,t);if(l===0)continue;if(l===2){targetDistance(c.selector,n)!==-1&&i.push(c);continue}let u=targetDistance(c.selector,n);if(u===-1||u>a)continue;let d=x.calculateSpecificity(c.selector);(!r||u<a||d>=o)&&(r=c,a=u,o=d)}return{exact:r,partial:i}}e.matchKeyBinding=matchKeyBinding;function replayKeyEvent(e){e.target.dispatchEvent(cloneKeyboardEvent(e))}e.replayKeyEvent=replayKeyEvent;function formatKey(e){return b.IS_MAC?t.hasOwnProperty(e)?t[e]:e:n.hasOwnProperty(e)?n[e]:e}e.formatKey=formatKey;let t={Backspace:`⌫`,Tab:`⇥`,Enter:`⏎`,Shift:`⇧`,Ctrl:`⌃`,Alt:`⌥`,Escape:`⎋`,PageUp:`⇞`,PageDown:`⇟`,End:`↘`,Home:`↖`,ArrowLeft:`←`,ArrowUp:`↑`,ArrowRight:`→`,ArrowDown:`↓`,Delete:`⌦`,Cmd:`⌘`},n={Escape:`Esc`,PageUp:`Page Up`,PageDown:`Page Down`,ArrowLeft:`Left`,ArrowUp:`Up`,ArrowRight:`Right`,ArrowDown:`Down`,Delete:`Del`},emptyStringFunc=()=>``,negativeOneFunc=()=>-1,trueFunc=()=>!0,falseFunc=()=>!1,emptyDatasetFunc=()=>({}),undefinedFunc=()=>void 0;function asFunc(e,t){return e===void 0?t:typeof e==`function`?e:()=>e}function validateSelector(e){if(e.selector.indexOf(`,`)!==-1)throw Error(`Selector cannot contain commas: ${e.selector}`);if(!x.isValid(e.selector))throw Error(`Invalid selector: ${e.selector}`);return e.selector}function matchSequence(e,t){if(e.length<t.length)return 0;for(let n=0,r=t.length;n<r;++n)if(e[n]!==t[n])return 0;return e.length>t.length?2:1}function targetDistance(e,t){let n=t.target,r=t.currentTarget;for(let t=0;n!==null;n=n.parentElement,++t){if(n.hasAttribute(`data-lm-suppress-shortcuts`))return-1;if(x.matches(n,e))return t;if(n===r)return-1}return-1}function cloneKeyboardEvent(e){let t=document.createEvent(`Event`),n=e.bubbles||!0,r=e.cancelable||!0;return t.initEvent(e.type||`keydown`,n,r),t.key=e.key||``,t.keyCode=e.keyCode||0,t.which=e.keyCode||0,t.ctrlKey=e.ctrlKey||!1,t.altKey=e.altKey||!1,t.shiftKey=e.shiftKey||!1,t.metaKey=e.metaKey||!1,t.view=e.view||window,t}})(w||={});var LinkedList=class{constructor(){this._first=null,this._last=null,this._size=0}get isEmpty(){return this._size===0}get size(){return this._size}get length(){return this._size}get first(){return this._first?this._first.value:void 0}get last(){return this._last?this._last.value:void 0}get firstNode(){return this._first}get lastNode(){return this._last}*[Symbol.iterator](){let e=this._first;for(;e;)yield e.value,e=e.next}*retro(){let e=this._last;for(;e;)yield e.value,e=e.prev}*nodes(){let e=this._first;for(;e;)yield e,e=e.next}*retroNodes(){let e=this._last;for(;e;)yield e,e=e.prev}assign(e){this.clear();for(let t of e)this.addLast(t)}push(e){this.addLast(e)}pop(){return this.removeLast()}shift(e){this.addFirst(e)}unshift(){return this.removeFirst()}addFirst(e){let t=new T.LinkedListNode(this,e);return this._first?(t.next=this._first,this._first.prev=t,this._first=t):(this._first=t,this._last=t),this._size++,t}addLast(e){let t=new T.LinkedListNode(this,e);return this._last?(t.prev=this._last,this._last.next=t,this._last=t):(this._first=t,this._last=t),this._size++,t}insertBefore(e,t){if(!t||t===this._first)return this.addFirst(e);if(!(t instanceof T.LinkedListNode)||t.list!==this)throw Error(`Reference node is not owned by the list.`);let n=new T.LinkedListNode(this,e),r=t,i=r.prev;return n.next=r,n.prev=i,r.prev=n,i.next=n,this._size++,n}insertAfter(e,t){if(!t||t===this._last)return this.addLast(e);if(!(t instanceof T.LinkedListNode)||t.list!==this)throw Error(`Reference node is not owned by the list.`);let n=new T.LinkedListNode(this,e),r=t,i=r.next;return n.next=i,n.prev=r,r.next=n,i.prev=n,this._size++,n}removeFirst(){let e=this._first;if(e)return e===this._last?(this._first=null,this._last=null):(this._first=e.next,this._first.prev=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeLast(){let e=this._last;if(e)return e===this._first?(this._first=null,this._last=null):(this._last=e.prev,this._last.next=null),e.list=null,e.next=null,e.prev=null,this._size--,e.value}removeNode(e){if(!(e instanceof T.LinkedListNode)||e.list!==this)throw Error(`Node is not owned by the list.`);let t=e;t===this._first&&t===this._last?(this._first=null,this._last=null):t===this._first?(this._first=t.next,this._first.prev=null):t===this._last?(this._last=t.prev,this._last.next=null):(t.next.prev=t.prev,t.prev.next=t.next),t.list=null,t.next=null,t.prev=null,this._size--}clear(){let e=this._first;for(;e;){let t=e.next;e.list=null,e.prev=null,e.next=null,e=t}this._first=null,this._last=null,this._size=0}};(function(e){function from(t){let n=new e;return n.assign(t),n}e.from=from})(LinkedList||={});var T;(function(e){class LinkedListNode{constructor(e,t){this.list=null,this.next=null,this.prev=null,this.list=e,this.value=t}}e.LinkedListNode=LinkedListNode})(T||={}),p();var Message=class{constructor(e){this.type=e}get isConflatable(){return!1}conflate(e){return!1}},ConflatableMessage=class extends Message{get isConflatable(){return!0}conflate(e){return!0}},E;(function(e){let t=null,n=(e=>t=>{let n=!1;return e.then(()=>!n&&t()),()=>{n=!0}})(Promise.resolve());function sendMessage(e,t){let n=i.get(e);if(!n||n.length===0){invokeHandler(e,t);return}every(retro(n),n=>n?invokeHook(n,e,t):!0)&&invokeHandler(e,t)}e.sendMessage=sendMessage;function postMessage(e,t){if(!t.isConflatable){enqueueMessage(e,t);return}some(r,n=>n.handler!==e||!n.msg||n.msg.type!==t.type||!n.msg.isConflatable?!1:n.msg.conflate(t))||enqueueMessage(e,t)}e.postMessage=postMessage;function installMessageHook(e,t){let n=i.get(e);n&&n.indexOf(t)!==-1||(n?n.push(t):i.set(e,[t]))}e.installMessageHook=installMessageHook;function removeMessageHook(e,t){let n=i.get(e);if(!n)return;let r=n.indexOf(t);r!==-1&&(n[r]=null,scheduleCleanup(n))}e.removeMessageHook=removeMessageHook;function clearData(e){let t=i.get(e);t&&t.length>0&&(u.fill(t,null),scheduleCleanup(t));for(let t of r)t.handler===e&&(t.handler=null,t.msg=null)}e.clearData=clearData;function flush(){o||t===null||(t(),t=null,o=!0,runMessageLoop(),o=!1)}e.flush=flush;function getExceptionHandler(){return exceptionHandler}e.getExceptionHandler=getExceptionHandler;function setExceptionHandler(e){let t=exceptionHandler;return exceptionHandler=e,t}e.setExceptionHandler=setExceptionHandler;let r=new LinkedList,i=new WeakMap,a=new Set,exceptionHandler=e=>{console.error(e)},o=!1;function invokeHook(e,t,n){let r=!0;try{r=typeof e==`function`?e(t,n):e.messageHook(t,n)}catch(e){exceptionHandler(e)}return r}function invokeHandler(e,t){try{e.processMessage(t)}catch(e){exceptionHandler(e)}}function enqueueMessage(e,i){r.addLast({handler:e,msg:i}),t===null&&(t=n(runMessageLoop))}function runMessageLoop(){if(t=null,r.isEmpty)return;let e={handler:null,msg:null};for(r.addLast(e);;){let t=r.removeFirst();if(t===e)return;t.handler&&t.msg&&sendMessage(t.handler,t.msg)}}function scheduleCleanup(e){a.size===0&&n(cleanupDirtySet),a.add(e)}function cleanupDirtySet(){a.forEach(cleanupHooks),a.clear()}function cleanupHooks(e){u.removeAllWhere(e,isNull)}function isNull(e){return e===null}})(E||={});var AttachedProperty=class{constructor(e){this._pid=D.nextPID(),this.name=e.name,this._create=e.create,this._coerce=e.coerce||null,this._compare=e.compare||null,this._changed=e.changed||null}get(e){let t,n=D.ensureMap(e);return t=this._pid in n?n[this._pid]:n[this._pid]=this._createValue(e),t}set(e,t){let n,r=D.ensureMap(e);n=this._pid in r?r[this._pid]:r[this._pid]=this._createValue(e);let i=this._coerceValue(e,t);this._maybeNotify(e,n,r[this._pid]=i)}coerce(e){let t,n=D.ensureMap(e);t=this._pid in n?n[this._pid]:n[this._pid]=this._createValue(e);let r=this._coerceValue(e,t);this._maybeNotify(e,t,n[this._pid]=r)}_createValue(e){let t=this._create;return t(e)}_coerceValue(e,t){let n=this._coerce;return n?n(e,t):t}_compareValue(e,t){let n=this._compare;return n?n(e,t):e===t}_maybeNotify(e,t,n){let r=this._changed;r&&!this._compareValue(t,n)&&r(e,t,n)}};(function(e){function clearData(e){D.ownerData.delete(e)}e.clearData=clearData})(AttachedProperty||={});var D;(function(e){e.ownerData=new WeakMap,e.nextPID=(()=>{let e=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${e++}`})();function ensureMap(t){let n=e.ownerData.get(t);return n||(n=Object.create(null),e.ownerData.set(t,n),n)}e.ensureMap=ensureMap})(D||={});var O=class Drag{constructor(e){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:e,edge:t,distance:n}=this._scrollTarget,r=((k.SCROLL_EDGE_SIZE-n)/k.SCROLL_EDGE_SIZE)**2,i=Math.max(1,Math.round(r*k.SCROLL_EDGE_SIZE));switch(t){case`top`:e.scrollTop-=i;break;case`left`:e.scrollLeft-=i;break;case`right`:e.scrollLeft+=i;break;case`bottom`:e.scrollTop+=i;break}requestAnimationFrame(this._onScrollFrame)},this._disposed=!1,this._dropAction=`none`,this._override=null,this._currentTarget=null,this._currentElement=null,this._promise=null,this._scrollTarget=null,this._resolve=null,this.document=e.document||document,this.mimeData=e.mimeData,this.dragImage=e.dragImage||null,this.proposedAction=e.proposedAction||`copy`,this.supportedActions=e.supportedActions||`all`,this.source=e.source||null}dispose(){if(!this._disposed){if(this._disposed=!0,this._currentTarget){let e=new PointerEvent(`pointerup`,{bubbles:!0,cancelable:!0,clientX:-1,clientY:-1});k.dispatchDragLeave(this,this._currentTarget,null,e)}this._finalize(`none`)}}get isDisposed(){return this._disposed}start(e,t){if(this._disposed)return Promise.resolve(`none`);if(this._promise)return this._promise;this._addListeners(),this._attachDragImage(e,t),this._promise=new Promise(e=>{this._resolve=e});let n=new PointerEvent(`pointermove`,{bubbles:!0,cancelable:!0,clientX:e,clientY:t});return document.dispatchEvent(n),this._promise}handleEvent(e){switch(e.type){case`pointermove`:this._evtPointerMove(e);break;case`pointerup`:this._evtPointerUp(e);break;case`keydown`:this._evtKeyDown(e);break;default:e.preventDefault(),e.stopPropagation();break}}moveDragImage(e,t){if(!this.dragImage)return;let n=this.dragImage.style;n.transform=`translate(${e}px, ${t}px)`}_evtPointerMove(e){e.preventDefault(),e.stopPropagation(),this._updateCurrentTarget(e),this._updateDragScroll(e),this.moveDragImage(e.clientX,e.clientY)}_evtPointerUp(e){if(e.preventDefault(),e.stopPropagation(),e.button!==0)return;if(this._updateCurrentTarget(e),!this._currentTarget){this._finalize(`none`);return}if(this._dropAction===`none`){k.dispatchDragLeave(this,this._currentTarget,null,e),this._finalize(`none`);return}let t=k.dispatchDrop(this,this._currentTarget,e);this._finalize(t)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),e.keyCode===27&&this.dispose()}_addListeners(){document.addEventListener(`pointerdown`,this,!0),document.addEventListener(`pointermove`,this,!0),document.addEventListener(`pointerup`,this,!0),document.addEventListener(`pointerenter`,this,!0),document.addEventListener(`pointerleave`,this,!0),document.addEventListener(`pointerover`,this,!0),document.addEventListener(`pointerout`,this,!0),document.addEventListener(`keydown`,this,!0),document.addEventListener(`keyup`,this,!0),document.addEventListener(`keypress`,this,!0),document.addEventListener(`contextmenu`,this,!0)}_removeListeners(){document.removeEventListener(`pointerdown`,this,!0),document.removeEventListener(`pointermove`,this,!0),document.removeEventListener(`pointerup`,this,!0),document.removeEventListener(`pointerenter`,this,!0),document.removeEventListener(`pointerleave`,this,!0),document.removeEventListener(`pointerover`,this,!0),document.removeEventListener(`pointerout`,this,!0),document.removeEventListener(`keydown`,this,!0),document.removeEventListener(`keyup`,this,!0),document.removeEventListener(`keypress`,this,!0),document.removeEventListener(`contextmenu`,this,!0)}_updateDragScroll(e){let t=k.findScrollTarget(e);!this._scrollTarget&&!t||(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=t)}_updateCurrentTarget(e){let t=this._currentTarget,n=this._currentTarget,r=this._currentElement,i=k.findElementBehindBackdrop(e,this.document);this._currentElement=i,i!==r&&i!==n&&k.dispatchDragExit(this,n,i,e),i!==r&&i!==n&&(n=k.dispatchDragEnter(this,i,n,e)),n!==t&&(this._currentTarget=n,k.dispatchDragLeave(this,t,n,e));let a=k.dispatchDragOver(this,n,e);this._setDropAction(a)}_attachDragImage(e,t){if(!this.dragImage)return;this.dragImage.classList.add(`lm-mod-drag-image`);let n=this.dragImage.style;n.pointerEvents=`none`,n.position=`fixed`,n.transform=`translate(${e}px, ${t}px)`,(this.document instanceof Document?this.document.body:this.document.firstElementChild).appendChild(this.dragImage)}_detachDragImage(){if(!this.dragImage)return;let e=this.dragImage.parentNode;e&&e.removeChild(this.dragImage)}_setDropAction(e){if(e=k.validateAction(e,this.supportedActions),!(this._override&&this._dropAction===e))switch(e){case`none`:this._dropAction=e,this._override=Drag.overrideCursor(`no-drop`,this.document);break;case`copy`:this._dropAction=e,this._override=Drag.overrideCursor(`copy`,this.document);break;case`link`:this._dropAction=e,this._override=Drag.overrideCursor(`alias`,this.document);break;case`move`:this._dropAction=e,this._override=Drag.overrideCursor(`move`,this.document);break}}_finalize(e){let t=this._resolve;this._removeListeners(),this._detachDragImage(),this._override&&=(this._override.dispose(),null),this.mimeData.clear(),this._disposed=!0,this._dropAction=`none`,this._currentTarget=null,this._currentElement=null,this._scrollTarget=null,this._promise=null,this._resolve=null,t&&t(e)}};(function(e){class Event extends DragEvent{constructor(e,t){super(t.type,{bubbles:!0,cancelable:!0,altKey:e.altKey,button:e.button,clientX:e.clientX,clientY:e.clientY,ctrlKey:e.ctrlKey,detail:0,metaKey:e.metaKey,relatedTarget:t.related,screenX:e.screenX,screenY:e.screenY,shiftKey:e.shiftKey,view:window});let{drag:n}=t;this.dropAction=`none`,this.mimeData=n.mimeData,this.proposedAction=n.proposedAction,this.supportedActions=n.supportedActions,this.source=n.source}}e.Event=Event;function overrideCursor(e,t=document){return k.overrideCursor(e,t)}e.overrideCursor=overrideCursor})(O||={});var k;(function(e){e.SCROLL_EDGE_SIZE=20;function validateAction(e,t){return r[e]&i[t]?e:`none`}e.validateAction=validateAction;function findElementBehindBackdrop(r,i=document){if(r){if(t&&r==t.event)return t.element;e.cursorBackdrop.style.zIndex=`-1000`;let n=i.elementFromPoint(r.clientX,r.clientY);return e.cursorBackdrop.style.zIndex=``,t={event:r,element:n},n}else{let t=e.cursorBackdrop.style.transform;if(n&&t===n.transform)return n.element;let r=e.cursorBackdrop.getBoundingClientRect();e.cursorBackdrop.style.zIndex=`-1000`;let a=i.elementFromPoint(r.left+r.width/2,r.top+r.height/2);return e.cursorBackdrop.style.zIndex=``,n={transform:t,element:a},a}}e.findElementBehindBackdrop=findElementBehindBackdrop;let t=null,n=null;function findScrollTarget(t){let n=t.clientX,r=t.clientY,i=findElementBehindBackdrop(t);for(;i;i=i.parentElement){if(!i.hasAttribute(`data-lm-dragscroll`))continue;let t=0,a=0;i===document.body&&(t=window.pageXOffset,a=window.pageYOffset);let o=i.getBoundingClientRect(),s=o.top+a,c=o.left+t,l=c+o.width,u=s+o.height;if(n<c||n>=l||r<s||r>=u)continue;let d=n-c+1,f=r-s+1,p=l-n,m=u-r,g=Math.min(d,f,p,m);if(g>e.SCROLL_EDGE_SIZE)continue;let _;switch(g){case m:_=`bottom`;break;case f:_=`top`;break;case p:_=`right`;break;case d:_=`left`;break;default:throw`unreachable`}let v=i.scrollWidth-i.clientWidth,y=i.scrollHeight-i.clientHeight,b;switch(_){case`top`:b=y>0&&i.scrollTop>0;break;case`left`:b=v>0&&i.scrollLeft>0;break;case`right`:b=v>0&&i.scrollLeft<v;break;case`bottom`:b=y>0&&i.scrollTop<y;break;default:throw`unreachable`}if(b)return{element:i,edge:_,distance:g}}return null}e.findScrollTarget=findScrollTarget;function dispatchDragEnter(e,t,n,r){if(!t)return null;let i=new O.Event(r,{drag:e,related:n,type:`lm-dragenter`});if(!t.dispatchEvent(i))return t;let a=e.document instanceof Document?e.document.body:e.document.firstElementChild;return t===a?n:(i=new O.Event(r,{drag:e,related:n,type:`lm-dragenter`}),a.dispatchEvent(i),a)}e.dispatchDragEnter=dispatchDragEnter;function dispatchDragExit(e,t,n,r){if(!t)return;let i=new O.Event(r,{drag:e,related:n,type:`lm-dragexit`});t.dispatchEvent(i)}e.dispatchDragExit=dispatchDragExit;function dispatchDragLeave(e,t,n,r){if(!t)return;let i=new O.Event(r,{drag:e,related:n,type:`lm-dragleave`});t.dispatchEvent(i)}e.dispatchDragLeave=dispatchDragLeave;function dispatchDragOver(e,t,n){if(!t)return`none`;let r=new O.Event(n,{drag:e,related:null,type:`lm-dragover`});return t.dispatchEvent(r)?`none`:r.dropAction}e.dispatchDragOver=dispatchDragOver;function dispatchDrop(e,t,n){if(!t)return`none`;let r=new O.Event(n,{drag:e,related:null,type:`lm-drop`});return t.dispatchEvent(r)?`none`:r.dropAction}e.dispatchDrop=dispatchDrop;let r={none:0,copy:1,link:2,move:4},i={none:r.none,copy:r.copy,link:r.link,move:r.move,"copy-link":r.copy|r.link,"copy-move":r.copy|r.move,"link-move":r.link|r.move,all:r.copy|r.link|r.move};function overrideCursor(t,n=document){let r=++o,i=n instanceof Document?n.body:n.firstElementChild;return e.cursorBackdrop.isConnected||(e.cursorBackdrop.style.transform=`scale(0)`,i.appendChild(e.cursorBackdrop),resetBackdropScroll(),document.addEventListener(`pointermove`,alignBackdrop,{capture:!0,passive:!0}),e.cursorBackdrop.addEventListener(`scroll`,propagateBackdropScroll,{capture:!0,passive:!0})),e.cursorBackdrop.style.cursor=t,new DisposableDelegate(()=>{r===o&&e.cursorBackdrop.isConnected&&(document.removeEventListener(`pointermove`,alignBackdrop,!0),e.cursorBackdrop.removeEventListener(`scroll`,propagateBackdropScroll,!0),i.removeChild(e.cursorBackdrop))})}e.overrideCursor=overrideCursor;function alignBackdrop(t){if(e.cursorBackdrop){e.cursorBackdrop.style.transform=`translate(${t.clientX}px, ${t.clientY}px)`;try{e.cursorBackdrop.hasPointerCapture(t.pointerId)||e.cursorBackdrop.setPointerCapture(t.pointerId)}catch{}}}function propagateBackdropScroll(t){if(!e.cursorBackdrop)return;let n=findElementBehindBackdrop();if(!n)return;let r=n.closest(`[data-lm-dragscroll]`);r&&(r.scrollTop+=e.cursorBackdrop.scrollTop-a,r.scrollLeft+=e.cursorBackdrop.scrollLeft-a,resetBackdropScroll())}function resetBackdropScroll(){e.cursorBackdrop.scrollTop=a,e.cursorBackdrop.scrollLeft=a}let a=500;function createCursorBackdrop(){let e=document.createElement(`div`);return e.classList.add(`lm-cursor-backdrop`),e}let o=0;e.cursorBackdrop=createCursorBackdrop()})(k||={}),p();var VirtualText=class{constructor(e){this.type=`text`,this.content=e}},VirtualElement=class{constructor(e,t,n,r){this.type=`element`,this.tag=e,this.attrs=t,this.children=n,this.renderer=r}};function h(e){let t={},n,r=[];for(let e=1,i=arguments.length;e<i;++e){let i=arguments[e];typeof i==`string`?r.push(new VirtualText(i)):i instanceof VirtualText||i instanceof VirtualElement?r.push(i):i instanceof Array?extend(r,i):(e===1||e===2)&&i&&typeof i==`object`&&(`render`in i?n=i:t=i)}return new VirtualElement(e,t,r,n);function extend(e,t){for(let n of t)typeof n==`string`?e.push(new VirtualText(n)):(n instanceof VirtualText||n instanceof VirtualElement)&&e.push(n)}}(function(e){e.a=e.bind(void 0,`a`),e.abbr=e.bind(void 0,`abbr`),e.address=e.bind(void 0,`address`),e.area=e.bind(void 0,`area`),e.article=e.bind(void 0,`article`),e.aside=e.bind(void 0,`aside`),e.audio=e.bind(void 0,`audio`),e.b=e.bind(void 0,`b`),e.bdi=e.bind(void 0,`bdi`),e.bdo=e.bind(void 0,`bdo`),e.blockquote=e.bind(void 0,`blockquote`),e.br=e.bind(void 0,`br`),e.button=e.bind(void 0,`button`),e.canvas=e.bind(void 0,`canvas`),e.caption=e.bind(void 0,`caption`),e.cite=e.bind(void 0,`cite`),e.code=e.bind(void 0,`code`),e.col=e.bind(void 0,`col`),e.colgroup=e.bind(void 0,`colgroup`),e.data=e.bind(void 0,`data`),e.datalist=e.bind(void 0,`datalist`),e.dd=e.bind(void 0,`dd`),e.del=e.bind(void 0,`del`),e.dfn=e.bind(void 0,`dfn`),e.div=e.bind(void 0,`div`),e.dl=e.bind(void 0,`dl`),e.dt=e.bind(void 0,`dt`),e.em=e.bind(void 0,`em`),e.embed=e.bind(void 0,`embed`),e.fieldset=e.bind(void 0,`fieldset`),e.figcaption=e.bind(void 0,`figcaption`),e.figure=e.bind(void 0,`figure`),e.footer=e.bind(void 0,`footer`),e.form=e.bind(void 0,`form`),e.h1=e.bind(void 0,`h1`),e.h2=e.bind(void 0,`h2`),e.h3=e.bind(void 0,`h3`),e.h4=e.bind(void 0,`h4`),e.h5=e.bind(void 0,`h5`),e.h6=e.bind(void 0,`h6`),e.header=e.bind(void 0,`header`),e.hr=e.bind(void 0,`hr`),e.i=e.bind(void 0,`i`),e.iframe=e.bind(void 0,`iframe`),e.img=e.bind(void 0,`img`),e.input=e.bind(void 0,`input`),e.ins=e.bind(void 0,`ins`),e.kbd=e.bind(void 0,`kbd`),e.label=e.bind(void 0,`label`),e.legend=e.bind(void 0,`legend`),e.li=e.bind(void 0,`li`),e.main=e.bind(void 0,`main`),e.map=e.bind(void 0,`map`),e.mark=e.bind(void 0,`mark`),e.meter=e.bind(void 0,`meter`),e.nav=e.bind(void 0,`nav`),e.noscript=e.bind(void 0,`noscript`),e.object=e.bind(void 0,`object`),e.ol=e.bind(void 0,`ol`),e.optgroup=e.bind(void 0,`optgroup`),e.option=e.bind(void 0,`option`),e.output=e.bind(void 0,`output`),e.p=e.bind(void 0,`p`),e.param=e.bind(void 0,`param`),e.pre=e.bind(void 0,`pre`),e.progress=e.bind(void 0,`progress`),e.q=e.bind(void 0,`q`),e.rp=e.bind(void 0,`rp`),e.rt=e.bind(void 0,`rt`),e.ruby=e.bind(void 0,`ruby`),e.s=e.bind(void 0,`s`),e.samp=e.bind(void 0,`samp`),e.section=e.bind(void 0,`section`),e.select=e.bind(void 0,`select`),e.small=e.bind(void 0,`small`),e.source=e.bind(void 0,`source`),e.span=e.bind(void 0,`span`),e.strong=e.bind(void 0,`strong`),e.sub=e.bind(void 0,`sub`),e.summary=e.bind(void 0,`summary`),e.sup=e.bind(void 0,`sup`),e.table=e.bind(void 0,`table`),e.tbody=e.bind(void 0,`tbody`),e.td=e.bind(void 0,`td`),e.textarea=e.bind(void 0,`textarea`),e.tfoot=e.bind(void 0,`tfoot`),e.th=e.bind(void 0,`th`),e.thead=e.bind(void 0,`thead`),e.time=e.bind(void 0,`time`),e.title=e.bind(void 0,`title`),e.tr=e.bind(void 0,`tr`),e.track=e.bind(void 0,`track`),e.u=e.bind(void 0,`u`),e.ul=e.bind(void 0,`ul`),e.var_=e.bind(void 0,`var`),e.video=e.bind(void 0,`video`),e.wbr=e.bind(void 0,`wbr`)})(h||={});var A;(function(e){function realize(e){return j.createDOMNode(e)}e.realize=realize;function render(e,t){let n=j.hostMap.get(t)||[],r=j.asContentArray(e);j.hostMap.set(t,r),j.updateContent(t,n,r)}e.render=render})(A||={});var j;(function(e){e.hostMap=new WeakMap;function asContentArray(e){return e?e instanceof Array?e:[e]:[]}e.asContentArray=asContentArray;function createDOMNode(e){let t=arguments[1]||null,n=arguments[2]||null;if(t)t.insertBefore(createDOMNode(e),n);else{if(e.type===`text`)return document.createTextNode(e.content);if(t=document.createElement(e.tag),addAttrs(t,e.attrs),e.renderer)return e.renderer.render(t,{attrs:e.attrs,children:e.children}),t;for(let n=0,r=e.children.length;n<r;++n)createDOMNode(e.children[n],t)}return t}e.createDOMNode=createDOMNode;function updateContent(e,t,n){if(t===n)return;let r=collectKeys(e,t),i=t.slice(),a=e.firstChild,o=n.length;for(let t=0;t<o;++t){if(t>=i.length){createDOMNode(n[t],e);continue}let o=i[t],s=n[t];if(o===s){a=a.nextSibling;continue}if(o.type===`text`&&s.type===`text`){a.textContent!==s.content&&(a.textContent=s.content),a=a.nextSibling;continue}if(o.type===`text`||s.type===`text`){u.insert(i,t,s),createDOMNode(s,e,a);continue}if(!o.renderer!=!s.renderer){u.insert(i,t,s),createDOMNode(s,e,a);continue}let c=s.attrs.key;if(c&&c in r){let n=r[c];n.vNode!==o&&(u.move(i,i.indexOf(n.vNode,t+1),t),e.insertBefore(n.element,a),o=n.vNode,a=n.element)}if(o===s){a=a.nextSibling;continue}let l=o.attrs.key;if(l&&l!==c){u.insert(i,t,s),createDOMNode(s,e,a);continue}if(o.tag!==s.tag){u.insert(i,t,s),createDOMNode(s,e,a);continue}updateAttrs(a,o.attrs,s.attrs),s.renderer?s.renderer.render(a,{attrs:s.attrs,children:s.children}):updateContent(a,o.children,s.children),a=a.nextSibling}removeContent(e,i,o,!0)}e.updateContent=updateContent;function removeContent(e,t,n,r){for(let i=t.length-1;i>=n;--i){let n=t[i],a=r?e.lastChild:e.childNodes[i];n.type===`text`||(n.renderer&&n.renderer.unrender?n.renderer.unrender(a,{attrs:n.attrs,children:n.children}):removeContent(a,n.children,0,!1)),r&&e.removeChild(a)}}let t={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function addAttrs(e,n){for(let r in n)r in t||(r.substr(0,2)===`on`?e[r]=n[r]:e.setAttribute(r,n[r]));n.className!==void 0&&e.setAttribute(`class`,n.className),n.htmlFor!==void 0&&e.setAttribute(`for`,n.htmlFor),n.dataset&&addDataset(e,n.dataset),n.style&&addStyle(e,n.style)}function updateAttrs(e,n,r){if(n===r)return;let i;for(i in n)i in t||i in r||(i.substr(0,2)===`on`?e[i]=null:e.removeAttribute(i));for(i in r)i in t||n[i]===r[i]||(i.substr(0,2)===`on`?e[i]=r[i]:e.setAttribute(i,r[i]));n.className!==r.className&&(r.className===void 0?e.removeAttribute(`class`):e.setAttribute(`class`,r.className)),n.htmlFor!==r.htmlFor&&(r.htmlFor===void 0?e.removeAttribute(`for`):e.setAttribute(`for`,r.htmlFor)),n.dataset!==r.dataset&&updateDataset(e,n.dataset||{},r.dataset||{}),n.style!==r.style&&updateStyle(e,n.style||{},r.style||{})}function addDataset(e,t){for(let n in t)e.setAttribute(`data-${n}`,t[n])}function updateDataset(e,t,n){for(let r in t)r in n||e.removeAttribute(`data-${r}`);for(let r in n)t[r]!==n[r]&&e.setAttribute(`data-${r}`,n[r])}function addStyle(e,t){let n=e.style,r;for(r in t)n[r]=t[r]}function updateStyle(e,t,n){let r=e.style,i;for(i in t)i in n||(r[i]=``);for(i in n)t[i]!==n[i]&&(r[i]=n[i])}function collectKeys(e,t){let n=e.firstChild,r=Object.create(null);for(let e of t)e.type===`element`&&e.attrs.key&&(r[e.attrs.key]={vNode:e,element:n}),n=n.nextSibling;return r}})(j||={}),p();var BoxSizer=class{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}},M;(function(e){function calc(e,t){let n=e.length;if(n===0)return t;let r=0,i=0,a=0,o=0,s=0;for(let t=0;t<n;++t){let n=e[t],c=n.minSize,l=n.maxSize,u=n.sizeHint;n.done=!1,n.size=Math.max(c,Math.min(u,l)),a+=n.size,r+=c,i+=l,n.stretch>0&&(o+=n.stretch,s++)}if(t===a)return 0;if(t<=r){for(let t=0;t<n;++t){let n=e[t];n.size=n.minSize}return t-r}if(t>=i){for(let t=0;t<n;++t){let n=e[t];n.size=n.maxSize}return t-i}let c=.01,l=n;if(t<a){let r=a-t;for(;s>0&&r>c;){let t=r,i=o;for(let a=0;a<n;++a){let n=e[a];if(n.done||n.stretch===0)continue;let c=n.stretch*t/i;n.size-c<=n.minSize?(r-=n.size-n.minSize,o-=n.stretch,n.size=n.minSize,n.done=!0,l--,s--):(r-=c,n.size-=c)}}for(;l>0&&r>c;){let t=r/l;for(let i=0;i<n;++i){let n=e[i];n.done||(n.size-t<=n.minSize?(r-=n.size-n.minSize,n.size=n.minSize,n.done=!0,l--):(r-=t,n.size-=t))}}}else{let r=t-a;for(;s>0&&r>c;){let t=r,i=o;for(let a=0;a<n;++a){let n=e[a];if(n.done||n.stretch===0)continue;let c=n.stretch*t/i;n.size+c>=n.maxSize?(r-=n.maxSize-n.size,o-=n.stretch,n.size=n.maxSize,n.done=!0,l--,s--):(r-=c,n.size+=c)}}for(;l>0&&r>c;){let t=r/l;for(let i=0;i<n;++i){let n=e[i];n.done||(n.size+t>=n.maxSize?(r-=n.maxSize-n.size,n.size=n.maxSize,n.done=!0,l--):(r-=t,n.size+=t))}}}return 0}e.calc=calc;function adjust(e,t,n){e.length===0||n===0||(n>0?growSizer(e,t,n):shrinkSizer(e,t,-n))}e.adjust=adjust;function growSizer(e,t,n){let r=0;for(let n=0;n<=t;++n){let t=e[n];r+=t.maxSize-t.size}let i=0;for(let n=t+1,r=e.length;n<r;++n){let t=e[n];i+=t.size-t.minSize}n=Math.min(n,r,i);let a=n;for(let n=t;n>=0&&a>0;--n){let t=e[n],r=t.maxSize-t.size;r>=a?(t.sizeHint=t.size+a,a=0):(t.sizeHint=t.size+r,a-=r)}let o=n;for(let n=t+1,r=e.length;n<r&&o>0;++n){let t=e[n],r=t.size-t.minSize;r>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-r,o-=r)}}function shrinkSizer(e,t,n){let r=0;for(let n=t+1,i=e.length;n<i;++n){let t=e[n];r+=t.maxSize-t.size}let i=0;for(let n=0;n<=t;++n){let t=e[n];i+=t.size-t.minSize}n=Math.min(n,r,i);let a=n;for(let n=t+1,r=e.length;n<r&&a>0;++n){let t=e[n],r=t.maxSize-t.size;r>=a?(t.sizeHint=t.size+a,a=0):(t.sizeHint=t.size+r,a-=r)}let o=n;for(let n=t;n>=0&&o>0;--n){let t=e[n],r=t.size-t.minSize;r>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-r,o-=r)}}})(M||={});var Title=class{constructor(e){this._label=``,this._caption=``,this._mnemonic=-1,this._icon=void 0,this._iconClass=``,this._iconLabel=``,this._className=``,this._closable=!1,this._changed=new Signal(this),this._isDisposed=!1,this.owner=e.owner,e.label!==void 0&&(this._label=e.label),e.mnemonic!==void 0&&(this._mnemonic=e.mnemonic),e.icon!==void 0&&(this._icon=e.icon),e.iconClass!==void 0&&(this._iconClass=e.iconClass),e.iconLabel!==void 0&&(this._iconLabel=e.iconLabel),e.caption!==void 0&&(this._caption=e.caption),e.className!==void 0&&(this._className=e.className),e.closable!==void 0&&(this._closable=e.closable),this._dataset=e.dataset||{}}get changed(){return this._changed}get label(){return this._label}set label(e){this._label!==e&&(this._label=e,this._changed.emit(void 0))}get mnemonic(){return this._mnemonic}set mnemonic(e){this._mnemonic!==e&&(this._mnemonic=e,this._changed.emit(void 0))}get icon(){return this._icon}set icon(e){this._icon!==e&&(this._icon=e,this._changed.emit(void 0))}get iconClass(){return this._iconClass}set iconClass(e){this._iconClass!==e&&(this._iconClass=e,this._changed.emit(void 0))}get iconLabel(){return this._iconLabel}set iconLabel(e){this._iconLabel!==e&&(this._iconLabel=e,this._changed.emit(void 0))}get caption(){return this._caption}set caption(e){this._caption!==e&&(this._caption=e,this._changed.emit(void 0))}get className(){return this._className}set className(e){this._className!==e&&(this._className=e,this._changed.emit(void 0))}get closable(){return this._closable}set closable(e){this._closable!==e&&(this._closable=e,this._changed.emit(void 0))}get dataset(){return this._dataset}set dataset(e){this._dataset!==e&&(this._dataset=e,this._changed.emit(void 0))}get isDisposed(){return this._isDisposed}dispose(){this.isDisposed||(this._isDisposed=!0,Signal.clearData(this))}},N=class Widget$1{static{__name(this,`Widget`)}constructor(e={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new Signal(this),this._hiddenMode=Widget$1.HiddenMode.Display,this.node=P.createNode(e),this.addClass(`lm-Widget`)}dispose(){this.isDisposed||(this.setFlag(Widget$1.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&&Widget$1.detach(this),this._layout&&=(this._layout.dispose(),null),this.title.dispose(),Signal.clearData(this),E.clearData(this),AttachedProperty.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(Widget$1.Flag.IsDisposed)}get isAttached(){return this.testFlag(Widget$1.Flag.IsAttached)}get isHidden(){return this.testFlag(Widget$1.Flag.IsHidden)}get isVisible(){let e=this;do{if(e.isHidden||!e.isAttached)return!1;e=e.parent}while(e!=null);return!0}get title(){return P.titleProperty.get(this)}get id(){return this.node.id}set id(e){this.node.id=e}get dataset(){return this.node.dataset}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){this._hiddenMode!==e&&(this.isHidden&&this._toggleHidden(!1),e==Widget$1.HiddenMode.Scale?this.node.style.willChange=`transform`:this.node.style.willChange=`auto`,this._hiddenMode=e,this.isHidden&&this._toggleHidden(!0))}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(e&&this.contains(e))throw Error(`Invalid parent widget.`);if(this._parent&&!this._parent.isDisposed){let e=new Widget$1.ChildMessage(`child-removed`,this);E.sendMessage(this._parent,e)}if(this._parent=e,this._parent&&!this._parent.isDisposed){let e=new Widget$1.ChildMessage(`child-added`,this);E.sendMessage(this._parent,e)}this.isDisposed||E.sendMessage(this,Widget$1.Msg.ParentChanged)}}get layout(){return this._layout}set layout(e){if(this._layout!==e){if(this.testFlag(Widget$1.Flag.DisallowLayout))throw Error(`Cannot set widget layout.`);if(this._layout)throw Error(`Cannot change widget layout.`);if(e.parent)throw Error(`Cannot change layout parent.`);this._layout=e,e.parent=this}}*children(){this._layout&&(yield*this._layout)}contains(e){for(let t=e;t;t=t._parent)if(t===this)return!0;return!1}hasClass(e){return this.node.classList.contains(e)}addClass(e){this.node.classList.add(e)}removeClass(e){this.node.classList.remove(e)}toggleClass(e,t){return t===!0?(this.node.classList.add(e),!0):t===!1?(this.node.classList.remove(e),!1):this.node.classList.toggle(e)}update(){E.postMessage(this,Widget$1.Msg.UpdateRequest)}fit(){E.postMessage(this,Widget$1.Msg.FitRequest)}activate(){E.postMessage(this,Widget$1.Msg.ActivateRequest)}close(){E.sendMessage(this,Widget$1.Msg.CloseRequest)}show(){if(this.testFlag(Widget$1.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&E.sendMessage(this,Widget$1.Msg.BeforeShow),this.clearFlag(Widget$1.Flag.IsHidden),this._toggleHidden(!1),this.isAttached&&(!this.parent||this.parent.isVisible)&&E.sendMessage(this,Widget$1.Msg.AfterShow),this.parent)){let e=new Widget$1.ChildMessage(`child-shown`,this);E.sendMessage(this.parent,e)}}hide(){if(!this.testFlag(Widget$1.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&E.sendMessage(this,Widget$1.Msg.BeforeHide),this.setFlag(Widget$1.Flag.IsHidden),this._toggleHidden(!0),this.isAttached&&(!this.parent||this.parent.isVisible)&&E.sendMessage(this,Widget$1.Msg.AfterHide),this.parent)){let e=new Widget$1.ChildMessage(`child-hidden`,this);E.sendMessage(this.parent,e)}}setHidden(e){e?this.hide():this.show()}testFlag(e){return(this._flags&e)!==0}setFlag(e){this._flags|=e}clearFlag(e){this._flags&=~e}processMessage(e){switch(e.type){case`resize`:this.notifyLayout(e),this.onResize(e);break;case`update-request`:this.notifyLayout(e),this.onUpdateRequest(e);break;case`fit-request`:this.notifyLayout(e),this.onFitRequest(e);break;case`before-show`:this.notifyLayout(e),this.onBeforeShow(e);break;case`after-show`:this.setFlag(Widget$1.Flag.IsVisible),this.notifyLayout(e),this.onAfterShow(e);break;case`before-hide`:this.notifyLayout(e),this.onBeforeHide(e);break;case`after-hide`:this.clearFlag(Widget$1.Flag.IsVisible),this.notifyLayout(e),this.onAfterHide(e);break;case`before-attach`:this.notifyLayout(e),this.onBeforeAttach(e);break;case`after-attach`:!this.isHidden&&(!this.parent||this.parent.isVisible)&&this.setFlag(Widget$1.Flag.IsVisible),this.setFlag(Widget$1.Flag.IsAttached),this.notifyLayout(e),this.onAfterAttach(e);break;case`before-detach`:this.notifyLayout(e),this.onBeforeDetach(e);break;case`after-detach`:this.clearFlag(Widget$1.Flag.IsVisible),this.clearFlag(Widget$1.Flag.IsAttached),this.notifyLayout(e),this.onAfterDetach(e);break;case`activate-request`:this.notifyLayout(e),this.onActivateRequest(e);break;case`close-request`:this.notifyLayout(e),this.onCloseRequest(e);break;case`child-added`:this.notifyLayout(e),this.onChildAdded(e);break;case`child-removed`:this.notifyLayout(e),this.onChildRemoved(e);break;default:this.notifyLayout(e);break}}notifyLayout(e){this._layout&&this._layout.processParentMessage(e)}onCloseRequest(e){this.parent?this.parent=null:this.isAttached&&Widget$1.detach(this)}onResize(e){}onUpdateRequest(e){}onFitRequest(e){}onActivateRequest(e){}onBeforeShow(e){}onAfterShow(e){}onBeforeHide(e){}onAfterHide(e){}onBeforeAttach(e){}onAfterAttach(e){}onBeforeDetach(e){}onAfterDetach(e){}onChildAdded(e){}onChildRemoved(e){}_toggleHidden(e){if(e)switch(this._hiddenMode){case Widget$1.HiddenMode.Display:this.addClass(`lm-mod-hidden`);break;case Widget$1.HiddenMode.Scale:this.node.style.transform=`scale(0)`,this.node.setAttribute(`aria-hidden`,`true`);break;case Widget$1.HiddenMode.ContentVisibility:this.node.style.contentVisibility=`hidden`,this.node.style.zIndex=`-1`;break}else switch(this._hiddenMode){case Widget$1.HiddenMode.Display:this.removeClass(`lm-mod-hidden`);break;case Widget$1.HiddenMode.Scale:this.node.style.transform=``,this.node.removeAttribute(`aria-hidden`);break;case Widget$1.HiddenMode.ContentVisibility:this.node.style.contentVisibility=``,this.node.style.zIndex=``;break}}};(function(e){(function(e){e[e.Display=0]=`Display`,e[e.Scale=1]=`Scale`,e[e.ContentVisibility=2]=`ContentVisibility`})(e.HiddenMode||={}),(function(e){e[e.IsDisposed=1]=`IsDisposed`,e[e.IsAttached=2]=`IsAttached`,e[e.IsHidden=4]=`IsHidden`,e[e.IsVisible=8]=`IsVisible`,e[e.DisallowLayout=16]=`DisallowLayout`})(e.Flag||={}),(function(e){e.BeforeShow=new Message(`before-show`),e.AfterShow=new Message(`after-show`),e.BeforeHide=new Message(`before-hide`),e.AfterHide=new Message(`after-hide`),e.BeforeAttach=new Message(`before-attach`),e.AfterAttach=new Message(`after-attach`),e.BeforeDetach=new Message(`before-detach`),e.AfterDetach=new Message(`after-detach`),e.ParentChanged=new Message(`parent-changed`),e.UpdateRequest=new ConflatableMessage(`update-request`),e.FitRequest=new ConflatableMessage(`fit-request`),e.ActivateRequest=new ConflatableMessage(`activate-request`),e.CloseRequest=new ConflatableMessage(`close-request`)})(e.Msg||={});class ChildMessage extends Message{constructor(e,t){super(e),this.child=t}}e.ChildMessage=ChildMessage;class ResizeMessage extends Message{constructor(e,t){super(`resize`),this.width=e,this.height=t}}e.ResizeMessage=ResizeMessage,(function(e){e.UnknownSize=new e(-1,-1)})(ResizeMessage=e.ResizeMessage||={});function attach(t,n,r=null){if(t.parent)throw Error(`Cannot attach a child widget.`);if(t.isAttached||t.node.isConnected)throw Error(`Widget is already attached.`);if(!n.isConnected)throw Error(`Host is not attached.`);E.sendMessage(t,e.Msg.BeforeAttach),n.insertBefore(t.node,r),E.sendMessage(t,e.Msg.AfterAttach)}e.attach=attach;function detach(t){if(t.parent)throw Error(`Cannot detach a child widget.`);if(!t.isAttached||!t.node.isConnected)throw Error(`Widget is not attached.`);E.sendMessage(t,e.Msg.BeforeDetach),t.node.parentNode.removeChild(t.node),E.sendMessage(t,e.Msg.AfterDetach)}e.detach=detach})(N||={});var P;(function(e){e.titleProperty=new AttachedProperty({name:`title`,create:e=>new Title({owner:e})});function createNode(e){return e.node||document.createElement(e.tag||`div`)}e.createNode=createNode})(P||={});var Layout=class{constructor(e={}){this._disposed=!1,this._parent=null,this._fitPolicy=e.fitPolicy||`set-min-size`}dispose(){this._parent=null,this._disposed=!0,Signal.clearData(this),AttachedProperty.clearData(this)}get isDisposed(){return this._disposed}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(this._parent)throw Error(`Cannot change parent widget.`);if(e.layout!==this)throw Error(`Invalid parent widget.`);this._parent=e,this.init()}}get fitPolicy(){return this._fitPolicy}set fitPolicy(e){if(this._fitPolicy!==e&&(this._fitPolicy=e,this._parent)){let e=this._parent.node.style;e.minWidth=``,e.minHeight=``,e.maxWidth=``,e.maxHeight=``,this._parent.fit()}}processParentMessage(e){switch(e.type){case`resize`:this.onResize(e);break;case`update-request`:this.onUpdateRequest(e);break;case`fit-request`:this.onFitRequest(e);break;case`before-show`:this.onBeforeShow(e);break;case`after-show`:this.onAfterShow(e);break;case`before-hide`:this.onBeforeHide(e);break;case`after-hide`:this.onAfterHide(e);break;case`before-attach`:this.onBeforeAttach(e);break;case`after-attach`:this.onAfterAttach(e);break;case`before-detach`:this.onBeforeDetach(e);break;case`after-detach`:this.onAfterDetach(e);break;case`child-removed`:this.onChildRemoved(e);break;case`child-shown`:this.onChildShown(e);break;case`child-hidden`:this.onChildHidden(e);break}}init(){for(let e of this)e.parent=this.parent}onResize(e){for(let e of this)E.sendMessage(e,N.ResizeMessage.UnknownSize)}onUpdateRequest(e){for(let e of this)E.sendMessage(e,N.ResizeMessage.UnknownSize)}onBeforeAttach(e){for(let t of this)E.sendMessage(t,e)}onAfterAttach(e){for(let t of this)E.sendMessage(t,e)}onBeforeDetach(e){for(let t of this)E.sendMessage(t,e)}onAfterDetach(e){for(let t of this)E.sendMessage(t,e)}onBeforeShow(e){for(let t of this)t.isHidden||E.sendMessage(t,e)}onAfterShow(e){for(let t of this)t.isHidden||E.sendMessage(t,e)}onBeforeHide(e){for(let t of this)t.isHidden||E.sendMessage(t,e)}onAfterHide(e){for(let t of this)t.isHidden||E.sendMessage(t,e)}onChildRemoved(e){this.removeWidget(e.child)}onFitRequest(e){}onChildShown(e){}onChildHidden(e){}};(function(e){function getHorizontalAlignment(e){return F.horizontalAlignmentProperty.get(e)}e.getHorizontalAlignment=getHorizontalAlignment;function setHorizontalAlignment(e,t){F.horizontalAlignmentProperty.set(e,t)}e.setHorizontalAlignment=setHorizontalAlignment;function getVerticalAlignment(e){return F.verticalAlignmentProperty.get(e)}e.getVerticalAlignment=getVerticalAlignment;function setVerticalAlignment(e,t){F.verticalAlignmentProperty.set(e,t)}e.setVerticalAlignment=setVerticalAlignment})(Layout||={});var LayoutItem=class{constructor(e){this._top=NaN,this._left=NaN,this._width=NaN,this._height=NaN,this._minWidth=0,this._minHeight=0,this._maxWidth=1/0,this._maxHeight=1/0,this._disposed=!1,this.widget=e,this.widget.node.style.position=`absolute`,this.widget.node.style.contain=`strict`}dispose(){if(this._disposed)return;this._disposed=!0;let e=this.widget.node.style;e.position=``,e.top=``,e.left=``,e.width=``,e.height=``,e.contain=``}get minWidth(){return this._minWidth}get minHeight(){return this._minHeight}get maxWidth(){return this._maxWidth}get maxHeight(){return this._maxHeight}get isDisposed(){return this._disposed}get isHidden(){return this.widget.isHidden}get isVisible(){return this.widget.isVisible}get isAttached(){return this.widget.isAttached}fit(){let e=y.sizeLimits(this.widget.node);this._minWidth=e.minWidth,this._minHeight=e.minHeight,this._maxWidth=e.maxWidth,this._maxHeight=e.maxHeight}update(e,t,n,r){let i=Math.max(this._minWidth,Math.min(n,this._maxWidth)),a=Math.max(this._minHeight,Math.min(r,this._maxHeight));if(i<n)switch(Layout.getHorizontalAlignment(this.widget)){case`left`:break;case`center`:e+=(n-i)/2;break;case`right`:e+=n-i;break;default:throw`unreachable`}if(a<r)switch(Layout.getVerticalAlignment(this.widget)){case`top`:break;case`center`:t+=(r-a)/2;break;case`bottom`:t+=r-a;break;default:throw`unreachable`}let o=!1,s=this.widget.node.style;if(this._top!==t&&(this._top=t,s.top=`${t}px`),this._left!==e&&(this._left=e,s.left=`${e}px`),this._width!==i&&(o=!0,this._width=i,s.width=`${i}px`),this._height!==a&&(o=!0,this._height=a,s.height=`${a}px`),o){let e=new N.ResizeMessage(i,a);E.sendMessage(this.widget,e)}}},F;(function(e){e.horizontalAlignmentProperty=new AttachedProperty({name:`horizontalAlignment`,create:()=>`center`,changed:onAlignmentChanged}),e.verticalAlignmentProperty=new AttachedProperty({name:`verticalAlignment`,create:()=>`top`,changed:onAlignmentChanged});function onAlignmentChanged(e){e.parent&&e.parent.layout&&e.parent.update()}})(F||={});var PanelLayout=class extends Layout{constructor(){super(...arguments),this._widgets=[]}dispose(){for(;this._widgets.length>0;)this._widgets.pop().dispose();super.dispose()}get widgets(){return this._widgets}*[Symbol.iterator](){yield*this._widgets}addWidget(e){this.insertWidget(this._widgets.length,e)}insertWidget(e,t){t.parent=this.parent;let n=this._widgets.indexOf(t),r=Math.max(0,Math.min(e,this._widgets.length));if(n===-1){u.insert(this._widgets,r,t),this.parent&&this.attachWidget(r,t);return}r===this._widgets.length&&r--,n!==r&&(u.move(this._widgets,n,r),this.parent&&this.moveWidget(n,r,t))}removeWidget(e){this.removeWidgetAt(this._widgets.indexOf(e))}removeWidgetAt(e){let t=u.removeAt(this._widgets,e);t&&this.parent&&this.detachWidget(e,t)}init(){super.init();let e=0;for(let t of this)this.attachWidget(e++,t)}attachWidget(e,t){let n=this.parent.node.children[e];this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeAttach),this.parent.node.insertBefore(t.node,n),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterAttach)}moveWidget(e,t,n){this.parent.isAttached&&E.sendMessage(n,N.Msg.BeforeDetach),this.parent.node.removeChild(n.node),this.parent.isAttached&&E.sendMessage(n,N.Msg.AfterDetach);let r=this.parent.node.children[t];this.parent.isAttached&&E.sendMessage(n,N.Msg.BeforeAttach),this.parent.node.insertBefore(n.node,r),this.parent.isAttached&&E.sendMessage(n,N.Msg.AfterAttach)}detachWidget(e,t){this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterDetach)}},I;(function(e){function clampDimension(e){return Math.max(0,Math.floor(e))}e.clampDimension=clampDimension})(I||={});var L=I,R=class SplitLayout extends PanelLayout{constructor(e){super(),this.widgetOffset=0,this._fixed=0,this._spacing=4,this._dirty=!1,this._hasNormedSizes=!1,this._sizers=[],this._items=[],this._handles=[],this._box=null,this._alignment=`start`,this._orientation=`horizontal`,this.renderer=e.renderer,e.orientation!==void 0&&(this._orientation=e.orientation),e.alignment!==void 0&&(this._alignment=e.alignment),e.spacing!==void 0&&(this._spacing=I.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,this._handles.length=0,super.dispose()}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._orientation=e,this.parent&&(this.parent.dataset.orientation=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=I.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get handles(){return this._handles}absoluteSizes(){return this._sizers.map(e=>e.size)}relativeSizes(){return z.normalize(this._sizers.map(e=>e.size))}setRelativeSizes(e,t=!0){let n=this._sizers.length,r=e.slice(0,n);for(;r.length<n;)r.push(0);let i=z.normalize(r);for(let e=0;e<n;++e){let t=this._sizers[e];t.sizeHint=i[e],t.size=i[e]}this._hasNormedSizes=!0,t&&this.parent&&this.parent.update()}moveHandle(e,t){let n=this._handles[e];if(!n||n.classList.contains(`lm-mod-hidden`))return;let r;if(r=this._orientation===`horizontal`?t-n.offsetLeft:t-n.offsetTop,r!==0){for(let e of this._sizers)e.size>0&&(e.sizeHint=e.size);M.adjust(this._sizers,e,r),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){let n=new LayoutItem(t),r=z.createHandle(this.renderer),i=z.averageSize(this._sizers),a=z.createSizer(i);u.insert(this._items,e,n),u.insert(this._sizers,e,a),u.insert(this._handles,e,r),this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.node.appendChild(r),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,n){u.move(this._items,e,t),u.move(this._sizers,e,t),u.move(this._handles,e,t),this.parent.fit()}detachWidget(e,t){let n=u.removeAt(this._items,e),r=u.removeAt(this._handles,e);u.removeAt(this._sizers,e),this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.node.removeChild(r),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterDetach),n.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}updateItemPosition(e,t,n,r,i,a,o){let s=this._items[e];if(s.isHidden)return;let c=this._handles[e].style;t?(n+=this.widgetOffset,s.update(n,r,o,i),n+=o,c.top=`${r}px`,c.left=`${n}px`,c.width=`${this._spacing}px`,c.height=`${i}px`):(r+=this.widgetOffset,s.update(n,r,a,o),r+=o,c.top=`${r}px`,c.left=`${n}px`,c.width=`${a}px`,c.height=`${this._spacing}px`)}_fit(){let e=0,t=-1;for(let n=0,r=this._items.length;n<r;++n)this._items[n].isHidden?this._handles[n].classList.add(`lm-mod-hidden`):(this._handles[n].classList.remove(`lm-mod-hidden`),t=n,e++);t!==-1&&this._handles[t].classList.add(`lm-mod-hidden`),this._fixed=this._spacing*Math.max(0,e-1)+this.widgetOffset*this._items.length;let n=this._orientation===`horizontal`,r=n?this._fixed:0,i=n?0:this._fixed;for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e],a=this._sizers[e];if(a.size>0&&(a.sizeHint=a.size),t.isHidden){a.minSize=0,a.maxSize=0;continue}t.fit(),a.stretch=SplitLayout.getStretch(t.widget),n?(a.minSize=t.minWidth,a.maxSize=t.maxWidth,r+=t.minWidth,i=Math.max(i,t.minHeight)):(a.minSize=t.minHeight,a.maxSize=t.maxHeight,i+=t.minHeight,r=Math.max(r,t.minWidth))}let a=this._box=y.boxSizing(this.parent.node);r+=a.horizontalSum,i+=a.verticalSum;let o=this.parent.node.style;o.minWidth=`${r}px`,o.minHeight=`${i}px`,this._dirty=!0,this.parent.parent&&E.sendMessage(this.parent.parent,N.Msg.FitRequest),this._dirty&&E.sendMessage(this.parent,N.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let n=0;for(let e=0,t=this._items.length;e<t;++e)n+=+!this._items[e].isHidden;if(n===0&&this.widgetOffset===0)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||=y.boxSizing(this.parent.node);let r=this._box.paddingTop,i=this._box.paddingLeft,a=e-this._box.horizontalSum,o=t-this._box.verticalSum,s=0,c=0,l=this._orientation===`horizontal`;if(n>0){let e;if(e=l?Math.max(0,a-this._fixed):Math.max(0,o-this._fixed),this._hasNormedSizes){for(let t of this._sizers)t.sizeHint*=e;this._hasNormedSizes=!1}let t=M.calc(this._sizers,e);if(t>0)switch(this._alignment){case`start`:break;case`center`:s=0,c=t/2;break;case`end`:s=0,c=t;break;case`justify`:s=t/n,c=0;break;default:throw`unreachable`}}for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e].isHidden?0:this._sizers[e].size+s;this.updateItemPosition(e,l,l?i+c:i,l?r:r+c,o,a,t);let n=this.widgetOffset+(this._handles[e].classList.contains(`lm-mod-hidden`)?0:this._spacing);l?i+=t+n:r+=t+n}}};(function(e){function getStretch(e){return z.stretchProperty.get(e)}e.getStretch=getStretch;function setStretch(e,t){z.stretchProperty.set(e,t)}e.setStretch=setStretch})(R||={});var z;(function(e){e.stretchProperty=new AttachedProperty({name:`stretch`,create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:onChildSizingChanged});function createSizer(e){let t=new BoxSizer;return t.sizeHint=Math.floor(e),t}e.createSizer=createSizer;function createHandle(e){let t=e.createHandle();return t.style.position=`absolute`,t.style.contain=`style`,t}e.createHandle=createHandle;function averageSize(e){return e.reduce((e,t)=>e+t.size,0)/e.length||0}e.averageSize=averageSize;function normalize(e){let t=e.length;if(t===0)return[];let n=e.reduce((e,t)=>e+Math.abs(t),0);return n===0?e.map(e=>1/t):e.map(e=>e/n)}e.normalize=normalize;function onChildSizingChanged(e){e.parent&&e.parent.layout instanceof R&&e.parent.fit()}})(z||={});var AccordionLayout=class extends R{constructor(e){super({...e,orientation:e.orientation||`vertical`}),this._titles=[],this.titleSpace=e.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(e){e=L.clampDimension(e),this.widgetOffset!==e&&(this.widgetOffset=e,this.parent&&this.parent.fit())}get titles(){return this._titles}dispose(){this.isDisposed||(this._titles.length=0,super.dispose())}updateTitle(e,t){let n=this._titles[e],r=n.classList.contains(`lm-mod-expanded`),i=re.createTitle(this.renderer,t.title,r);this._titles[e]=i,this.parent.node.replaceChild(i,n)}insertWidget(e,t){t.id||=`id-${g.UUID.uuid4()}`,super.insertWidget(e,t)}attachWidget(e,t){let n=re.createTitle(this.renderer,t.title,!t.isHidden);u.insert(this._titles,e,n),this.parent.node.appendChild(n),t.node.setAttribute(`role`,`region`),t.node.setAttribute(`aria-labelledby`,n.id),super.attachWidget(e,t)}moveWidget(e,t,n){u.move(this._titles,e,t),super.moveWidget(e,t,n)}detachWidget(e,t){let n=u.removeAt(this._titles,e);this.parent.node.removeChild(n),super.detachWidget(e,t)}updateItemPosition(e,t,n,r,i,a,o){let s=this._titles[e].style;s.top=`${r}px`,s.left=`${n}px`,s.height=`${this.widgetOffset}px`,t?s.width=`${i}px`:s.width=`${a}px`,super.updateItemPosition(e,t,n,r,i,a,o)}},re;(function(e){function createTitle(e,t,n=!0){let r=e.createSectionTitle(t);return r.style.position=`absolute`,r.style.contain=`strict`,r.setAttribute(`aria-label`,`${t.label} Section`),r.setAttribute(`aria-expanded`,n?`true`:`false`),r.setAttribute(`aria-controls`,t.owner.id),n&&r.classList.add(`lm-mod-expanded`),r}e.createTitle=createTitle})(re||={});var Panel=class extends N{constructor(e={}){super(),this.addClass(`lm-Panel`),this.layout=ie.createLayout(e)}get widgets(){return this.layout.widgets}addWidget(e){this.layout.addWidget(e)}insertWidget(e,t){this.layout.insertWidget(e,t)}},ie;(function(e){function createLayout(e){return e.layout||new PanelLayout}e.createLayout=createLayout})(ie||={});var SplitPanel$1=class extends Panel{static{__name(this,`SplitPanel`)}constructor(e={}){super({layout:ae.createLayout(e)}),this._handleMoved=new Signal(this),this._pressData=null,this.addClass(`lm-SplitPanel`)}dispose(){this._releaseMouse(),super.dispose()}get orientation(){return this.layout.orientation}set orientation(e){this.layout.orientation=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get renderer(){return this.layout.renderer}get handleMoved(){return this._handleMoved}get handles(){return this.layout.handles}relativeSizes(){return this.layout.relativeSizes()}setRelativeSizes(e,t=!0){this.layout.setRelativeSizes(e,t)}handleEvent(e){switch(e.type){case`pointerdown`:this._evtPointerDown(e);break;case`pointermove`:this._evtPointerMove(e);break;case`pointerup`:this._evtPointerUp(e);break;case`keydown`:this._evtKeyDown(e);break;case`contextmenu`:e.preventDefault(),e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener(`pointerdown`,this)}onAfterDetach(e){this.node.removeEventListener(`pointerdown`,this),this._releaseMouse()}onChildAdded(e){e.child.addClass(`lm-SplitPanel-child`),this._releaseMouse()}onChildRemoved(e){e.child.removeClass(`lm-SplitPanel-child`),this._releaseMouse()}_evtKeyDown(e){this._pressData&&(e.preventDefault(),e.stopPropagation()),e.keyCode===27&&this._releaseMouse()}_evtPointerDown(e){if(e.button!==0)return;let t=this.layout,n=u.findFirstIndex(t.handles,t=>t.contains(e.target));if(n===-1)return;e.preventDefault(),e.stopPropagation(),document.addEventListener(`pointerup`,this,!0),document.addEventListener(`pointermove`,this,!0),document.addEventListener(`keydown`,this,!0),document.addEventListener(`contextmenu`,this,!0);let r,i=t.handles[n],a=i.getBoundingClientRect();r=t.orientation===`horizontal`?e.clientX-a.left:e.clientY-a.top;let o=window.getComputedStyle(i),s=O.overrideCursor(o.cursor);this._pressData={index:n,delta:r,override:s}}_evtPointerMove(e){e.preventDefault(),e.stopPropagation();let t,n=this.layout,r=this.node.getBoundingClientRect();t=n.orientation===`horizontal`?e.clientX-r.left-this._pressData.delta:e.clientY-r.top-this._pressData.delta,n.moveHandle(this._pressData.index,t)}_evtPointerUp(e){e.button===0&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse())}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._handleMoved.emit(),document.removeEventListener(`keydown`,this,!0),document.removeEventListener(`pointerup`,this,!0),document.removeEventListener(`pointermove`,this,!0),document.removeEventListener(`contextmenu`,this,!0))}};(function(e){class Renderer{createHandle(){let e=document.createElement(`div`);return e.className=`lm-SplitPanel-handle`,e}}e.Renderer=Renderer,e.defaultRenderer=new Renderer;function getStretch(e){return R.getStretch(e)}e.getStretch=getStretch;function setStretch(e,t){R.setStretch(e,t)}e.setStretch=setStretch})(SplitPanel$1||={});var ae;(function(e){function createLayout(e){return e.layout||new R({renderer:e.renderer||SplitPanel$1.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing})}e.createLayout=createLayout})(ae||={});var AccordionPanel=class extends SplitPanel$1{constructor(e={}){super({...e,layout:oe.createLayout(e)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new Signal(this),this.addClass(`lm-AccordionPanel`)}get renderer(){return this.layout.renderer}get titleSpace(){return this.layout.titleSpace}set titleSpace(e){this.layout.titleSpace=e}get titles(){return this.layout.titles}get expansionToggled(){return this._expansionToggled}addWidget(e){super.addWidget(e),e.title.changed.connect(this._onTitleChanged,this)}collapse(e){let t=this.layout.widgets[e];t&&!t.isHidden&&this._toggleExpansion(e)}expand(e){let t=this.layout.widgets[e];t&&t.isHidden&&this._toggleExpansion(e)}insertWidget(e,t){super.insertWidget(e,t),t.title.changed.connect(this._onTitleChanged,this)}handleEvent(e){switch(super.handleEvent(e),e.type){case`click`:this._evtClick(e);break;case`keydown`:this._eventKeyDown(e);break}}onBeforeAttach(e){this.node.addEventListener(`click`,this),this.node.addEventListener(`keydown`,this),super.onBeforeAttach(e)}onAfterDetach(e){super.onAfterDetach(e),this.node.removeEventListener(`click`,this),this.node.removeEventListener(`keydown`,this)}_onTitleChanged(e){let t=u.findFirstIndex(this.widgets,t=>t.contains(e.owner));t>=0&&(this.layout.updateTitle(t,e.owner),this.update())}_computeWidgetSize(e){let t=this.layout,n=t.widgets[e];if(!n)return;let r=n.isHidden,i=t.absoluteSizes(),a=(r?-1:1)*this.spacing,o=i.reduce((e,t)=>e+t),s=[...i];if(r){let t=this._widgetSizesCache.get(n);if(!t)return;s[e]+=t;let r=s.map(e=>e-t>0).lastIndexOf(!0);r===-1?s.forEach((n,r)=>{r!==e&&(s[r]-=i[r]/o*(t-a))}):s[r]-=t-a}else{let t=i[e];this._widgetSizesCache.set(n,t),s[e]=0;let r=s.map(e=>e>0).lastIndexOf(!0);if(r===-1)return;s[r]=i[r]+t+a}return s.map(e=>e/(o+a))}_evtClick(e){let t=e.target;if(t){let n=u.findFirstIndex(this.titles,e=>e.contains(t));n>=0&&(e.preventDefault(),e.stopPropagation(),this._toggleExpansion(n))}}_eventKeyDown(e){if(e.defaultPrevented)return;let t=e.target,n=!1;if(t){let r=u.findFirstIndex(this.titles,e=>e.contains(t));if(r>=0){let i=e.keyCode.toString();if(e.key.match(/Space|Enter/)||i.match(/13|32/))t.click(),n=!0;else if(this.orientation===`horizontal`?e.key.match(/ArrowLeft|ArrowRight/)||i.match(/37|39/):e.key.match(/ArrowUp|ArrowDown/)||i.match(/38|40/)){let t=e.key.match(/ArrowLeft|ArrowUp/)||i.match(/37|38/)?-1:1,a=this.titles.length,o=(r+a+t)%a;this.titles[o].focus(),n=!0}else e.key===`End`||i===`35`?(this.titles[this.titles.length-1].focus(),n=!0):(e.key===`Home`||i===`36`)&&(this.titles[0].focus(),n=!0)}n&&e.preventDefault()}}_toggleExpansion(e){let t=this.titles[e],n=this.layout.widgets[e],r=this._computeWidgetSize(e);r&&this.setRelativeSizes(r,!1),n.isHidden?(t.classList.add(`lm-mod-expanded`),t.setAttribute(`aria-expanded`,`true`),n.show()):(t.classList.remove(`lm-mod-expanded`),t.setAttribute(`aria-expanded`,`false`),n.hide()),this._expansionToggled.emit(e)}};(function(e){class Renderer extends SplitPanel$1.Renderer{constructor(){super(),this.titleClassName=`lm-AccordionPanel-title`,this._titleID=0,this._titleKeys=new WeakMap,this._uuid=++Renderer._nInstance}createCollapseIcon(e){return document.createElement(`span`)}createSectionTitle(e){let t=document.createElement(`h3`);t.setAttribute(`tabindex`,`0`),t.id=this.createTitleKey(e),t.className=this.titleClassName;for(let n in e.dataset)t.dataset[n]=e.dataset[n];let n=t.appendChild(this.createCollapseIcon(e));n.className=`lm-AccordionPanel-titleCollapser`;let r=t.appendChild(document.createElement(`span`));return r.className=`lm-AccordionPanel-titleLabel`,r.textContent=e.label,r.title=e.caption||e.label,t}createTitleKey(e){let t=this._titleKeys.get(e);return t===void 0&&(t=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(e,t)),t}}Renderer._nInstance=0,e.Renderer=Renderer,e.defaultRenderer=new Renderer})(AccordionPanel||={});var oe;(function(e){function createLayout(e){return e.layout||new AccordionLayout({renderer:e.renderer||AccordionPanel.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing,titleSpace:e.titleSpace})}e.createLayout=createLayout})(oe||={});var B=class BoxLayout extends PanelLayout{constructor(e={}){super(),this._fixed=0,this._spacing=4,this._dirty=!1,this._sizers=[],this._items=[],this._box=null,this._alignment=`start`,this._direction=`top-to-bottom`,e.direction!==void 0&&(this._direction=e.direction),e.alignment!==void 0&&(this._alignment=e.alignment),e.spacing!==void 0&&(this._spacing=L.clampDimension(e.spacing))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,this._sizers.length=0,super.dispose()}get direction(){return this._direction}set direction(e){this._direction!==e&&(this._direction=e,this.parent&&(this.parent.dataset.direction=e,this.parent.fit()))}get alignment(){return this._alignment}set alignment(e){this._alignment!==e&&(this._alignment=e,this.parent&&(this.parent.dataset.alignment=e,this.parent.update()))}get spacing(){return this._spacing}set spacing(e){e=L.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}init(){this.parent.dataset.direction=this.direction,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){u.insert(this._items,e,new LayoutItem(t)),u.insert(this._sizers,e,new BoxSizer),this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,n){u.move(this._items,e,t),u.move(this._sizers,e,t),this.parent.update()}detachWidget(e,t){let n=u.removeAt(this._items,e);u.removeAt(this._sizers,e),this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterDetach),n.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let e=0;for(let t=0,n=this._items.length;t<n;++t)e+=+!this._items[t].isHidden;this._fixed=this._spacing*Math.max(0,e-1);let t=V.isHorizontal(this._direction),n=t?this._fixed:0,r=t?0:this._fixed;for(let e=0,i=this._items.length;e<i;++e){let i=this._items[e],a=this._sizers[e];if(i.isHidden){a.minSize=0,a.maxSize=0;continue}i.fit(),a.sizeHint=BoxLayout.getSizeBasis(i.widget),a.stretch=BoxLayout.getStretch(i.widget),t?(a.minSize=i.minWidth,a.maxSize=i.maxWidth,n+=i.minWidth,r=Math.max(r,i.minHeight)):(a.minSize=i.minHeight,a.maxSize=i.maxHeight,r+=i.minHeight,n=Math.max(n,i.minWidth))}let i=this._box=y.boxSizing(this.parent.node);n+=i.horizontalSum,r+=i.verticalSum;let a=this.parent.node.style;a.minWidth=`${n}px`,a.minHeight=`${r}px`,this._dirty=!0,this.parent.parent&&E.sendMessage(this.parent.parent,N.Msg.FitRequest),this._dirty&&E.sendMessage(this.parent,N.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let n=0;for(let e=0,t=this._items.length;e<t;++e)n+=+!this._items[e].isHidden;if(n===0)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||=y.boxSizing(this.parent.node);let r=this._box.paddingTop,i=this._box.paddingLeft,a=e-this._box.horizontalSum,o=t-this._box.verticalSum,s;switch(this._direction){case`left-to-right`:s=M.calc(this._sizers,Math.max(0,a-this._fixed));break;case`top-to-bottom`:s=M.calc(this._sizers,Math.max(0,o-this._fixed));break;case`right-to-left`:s=M.calc(this._sizers,Math.max(0,a-this._fixed)),i+=a;break;case`bottom-to-top`:s=M.calc(this._sizers,Math.max(0,o-this._fixed)),r+=o;break;default:throw`unreachable`}let c=0,l=0;if(s>0)switch(this._alignment){case`start`:break;case`center`:c=0,l=s/2;break;case`end`:c=0,l=s;break;case`justify`:c=s/n,l=0;break;default:throw`unreachable`}for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e];if(t.isHidden)continue;let n=this._sizers[e].size;switch(this._direction){case`left-to-right`:t.update(i+l,r,n+c,o),i+=n+c+this._spacing;break;case`top-to-bottom`:t.update(i,r+l,a,n+c),r+=n+c+this._spacing;break;case`right-to-left`:t.update(i-l-n-c,r,n+c,o),i-=n+c+this._spacing;break;case`bottom-to-top`:t.update(i,r-l-n-c,a,n+c),r-=n+c+this._spacing;break;default:throw`unreachable`}}}};(function(e){function getStretch(e){return V.stretchProperty.get(e)}e.getStretch=getStretch;function setStretch(e,t){V.stretchProperty.set(e,t)}e.setStretch=setStretch;function getSizeBasis(e){return V.sizeBasisProperty.get(e)}e.getSizeBasis=getSizeBasis;function setSizeBasis(e,t){V.sizeBasisProperty.set(e,t)}e.setSizeBasis=setSizeBasis})(B||={});var V;(function(e){e.stretchProperty=new AttachedProperty({name:`stretch`,create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:onChildSizingChanged}),e.sizeBasisProperty=new AttachedProperty({name:`sizeBasis`,create:()=>0,coerce:(e,t)=>Math.max(0,Math.floor(t)),changed:onChildSizingChanged});function isHorizontal(e){return e===`left-to-right`||e===`right-to-left`}e.isHorizontal=isHorizontal;function clampSpacing(e){return Math.max(0,Math.floor(e))}e.clampSpacing=clampSpacing;function onChildSizingChanged(e){e.parent&&e.parent.layout instanceof B&&e.parent.fit()}})(V||={});var BoxPanel=class extends Panel{constructor(e={}){super({layout:se.createLayout(e)}),this.addClass(`lm-BoxPanel`)}get direction(){return this.layout.direction}set direction(e){this.layout.direction=e}get alignment(){return this.layout.alignment}set alignment(e){this.layout.alignment=e}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}onChildAdded(e){e.child.addClass(`lm-BoxPanel-child`)}onChildRemoved(e){e.child.removeClass(`lm-BoxPanel-child`)}};(function(e){function getStretch(e){return B.getStretch(e)}e.getStretch=getStretch;function setStretch(e,t){B.setStretch(e,t)}e.setStretch=setStretch;function getSizeBasis(e){return B.getSizeBasis(e)}e.getSizeBasis=getSizeBasis;function setSizeBasis(e,t){B.setSizeBasis(e,t)}e.setSizeBasis=setSizeBasis})(BoxPanel||={});var se;(function(e){function createLayout(e){return e.layout||new B(e)}e.createLayout=createLayout})(se||={});var ce=class CommandPalette extends N{constructor(e){super({node:H.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass(`lm-CommandPalette`),this.setFlag(N.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||CommandPalette.defaultRenderer,this.commands.commandChanged.connect(this._onGenericChange,this),this.commands.keyBindingChanged.connect(this._onGenericChange,this)}dispose(){this._items.length=0,this._results=null,super.dispose()}get searchNode(){return this.node.getElementsByClassName(`lm-CommandPalette-search`)[0]}get inputNode(){return this.node.getElementsByClassName(`lm-CommandPalette-input`)[0]}get contentNode(){return this.node.getElementsByClassName(`lm-CommandPalette-content`)[0]}get items(){return this._items}addItem(e){let t=H.createItem(this.commands,e);return this._items.push(t),this.refresh(),t}addItems(e){let t=e.map(e=>H.createItem(this.commands,e));return t.forEach(e=>this._items.push(e)),this.refresh(),t}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){u.removeAt(this._items,e)&&this.refresh()}clearItems(){this._items.length!==0&&(this._items.length=0,this.refresh())}refresh(){if(this._results=null,this.inputNode.value!==``){let e=this.node.getElementsByClassName(`lm-close-icon`)[0];e.style.display=`inherit`}else{let e=this.node.getElementsByClassName(`lm-close-icon`)[0];e.style.display=`none`}this.update()}handleEvent(e){switch(e.type){case`click`:this._evtClick(e);break;case`keydown`:this._evtKeyDown(e);break;case`input`:this.refresh();break;case`focus`:case`blur`:this._toggleFocused();break}}onBeforeAttach(e){this.node.addEventListener(`click`,this),this.node.addEventListener(`keydown`,this),this.node.addEventListener(`input`,this),this.node.addEventListener(`focus`,this,!0),this.node.addEventListener(`blur`,this,!0)}onAfterDetach(e){this.node.removeEventListener(`click`,this),this.node.removeEventListener(`keydown`,this),this.node.removeEventListener(`input`,this),this.node.removeEventListener(`focus`,this,!0),this.node.removeEventListener(`blur`,this,!0)}onAfterShow(e){this.update(),super.onAfterShow(e)}onActivateRequest(e){if(this.isAttached){let e=this.inputNode;e.focus(),e.select()}}onUpdateRequest(e){if(!this.isVisible){A.render(null,this.contentNode);return}let t=this.inputNode.value,n=this.contentNode,r=this._results;if(r||(r=this._results=H.search(this._items,t),this._activeIndex=t?u.findFirstIndex(r,H.canActivate):-1),!t&&r.length===0){A.render(null,n);return}if(t&&r.length===0){let e=this.renderer.renderEmptyMessage({query:t});A.render(e,n);return}let i=this.renderer,a=this._activeIndex,o=Array(r.length);for(let e=0,t=r.length;e<t;++e){let t=r[e];if(t.type===`header`){let n=t.indices,r=t.category;o[e]=i.renderHeader({category:r,indices:n})}else{let n=t.item,r=t.indices,s=e===a;o[e]=i.renderItem({item:n,indices:r,active:s})}}if(A.render(o,n),a<0||a>=r.length)n.scrollTop=0;else{let e=n.children[a];y.scrollIntoViewIfNeeded(n,e)}}_evtClick(e){if(e.button!==0)return;if(e.target.classList.contains(`lm-close-icon`)){this.inputNode.value=``,this.refresh();return}let t=u.findFirstIndex(this.contentNode.children,t=>t.contains(e.target));t!==-1&&(e.preventDefault(),e.stopPropagation(),this._execute(t))}_evtKeyDown(e){if(!(e.altKey||e.ctrlKey||e.metaKey||e.shiftKey))switch(e.keyCode){case 13:e.preventDefault(),e.stopPropagation(),this._execute(this._activeIndex);break;case 38:e.preventDefault(),e.stopPropagation(),this._activatePreviousItem();break;case 40:e.preventDefault(),e.stopPropagation(),this._activateNextItem();break}}_activateNextItem(){if(!this._results||this._results.length===0)return;let e=this._activeIndex,t=this._results.length,n=e<t-1?e+1:0,r=n===0?t-1:n-1;this._activeIndex=u.findFirstIndex(this._results,H.canActivate,n,r),this.update()}_activatePreviousItem(){if(!this._results||this._results.length===0)return;let e=this._activeIndex,t=this._results.length,n=e<=0?t-1:e-1,r=n===t-1?0:n+1;this._activeIndex=u.findLastIndex(this._results,H.canActivate,n,r),this.update()}_execute(e){if(!this._results)return;let t=this._results[e];if(t){if(t.type===`header`){let e=this.inputNode;e.value=`${t.category.toLowerCase()} `,e.focus(),this.refresh();return}t.item.isEnabled&&(this.commands.execute(t.item.command,t.item.args),this.inputNode.value=``,this.refresh())}}_toggleFocused(){let e=document.activeElement===this.inputNode;this.toggleClass(`lm-mod-focused`,e)}_onGenericChange(){this.refresh()}};(function(e){class Renderer{renderHeader(e){let t=this.formatHeader(e);return h.li({className:`lm-CommandPalette-header`},t)}renderItem(e){let t=this.createItemClass(e),n=this.createItemDataset(e);return e.item.isToggleable?h.li({className:t,dataset:n,role:`menuitemcheckbox`,"aria-checked":`${e.item.isToggled}`},this.renderItemIcon(e),this.renderItemContent(e),this.renderItemShortcut(e)):h.li({className:t,dataset:n,role:`menuitem`},this.renderItemIcon(e),this.renderItemContent(e),this.renderItemShortcut(e))}renderEmptyMessage(e){let t=this.formatEmptyMessage(e);return h.li({className:`lm-CommandPalette-emptyMessage`},t)}renderItemIcon(e){let t=this.createIconClass(e);return h.div({className:t},e.item.icon,e.item.iconLabel)}renderItemContent(e){return h.div({className:`lm-CommandPalette-itemContent`},this.renderItemLabel(e),this.renderItemCaption(e))}renderItemLabel(e){let t=this.formatItemLabel(e);return h.div({className:`lm-CommandPalette-itemLabel`},t)}renderItemCaption(e){let t=this.formatItemCaption(e);return h.div({className:`lm-CommandPalette-itemCaption`},t)}renderItemShortcut(e){let t=this.formatItemShortcut(e);return h.div({className:`lm-CommandPalette-itemShortcut`},t)}createItemClass(e){let t=`lm-CommandPalette-item`;e.item.isEnabled||(t+=` lm-mod-disabled`),e.item.isToggled&&(t+=` lm-mod-toggled`),e.active&&(t+=` lm-mod-active`);let n=e.item.className;return n&&(t+=` ${n}`),t}createItemDataset(e){return{...e.item.dataset,command:e.item.command}}createIconClass(e){let t=`lm-CommandPalette-itemIcon`,n=e.item.iconClass;return n?`${t} ${n}`:t}formatHeader(e){return!e.indices||e.indices.length===0?e.category:f.highlight(e.category,e.indices,h.mark)}formatEmptyMessage(e){return`No commands found that match '${e.query}'`}formatItemShortcut(e){let t=e.item.keyBinding;return t?C.formatKeystroke(t.keys):null}formatItemLabel(e){return!e.indices||e.indices.length===0?e.item.label:f.highlight(e.item.label,e.indices,h.mark)}formatItemCaption(e){return e.item.caption}}e.Renderer=Renderer,e.defaultRenderer=new Renderer})(ce||={});var H;(function(e){function createNode(){let e=document.createElement(`div`),t=document.createElement(`div`),n=document.createElement(`div`),r=document.createElement(`input`),i=document.createElement(`ul`),a=document.createElement(`button`);return t.className=`lm-CommandPalette-search`,n.className=`lm-CommandPalette-wrapper`,r.className=`lm-CommandPalette-input`,a.className=`lm-close-icon`,i.className=`lm-CommandPalette-content`,i.setAttribute(`role`,`menu`),r.spellcheck=!1,n.appendChild(r),n.appendChild(a),t.appendChild(n),e.appendChild(t),e.appendChild(i),e}e.createNode=createNode;function createItem(e,t){return new CommandItem(e,t)}e.createItem=createItem;function search(e,t){let n=matchItems(e,t);return n.sort(scoreCmp),createResults(n)}e.search=search;function canActivate(e){return e.type===`item`&&e.item.isEnabled}e.canActivate=canActivate;function normalizeCategory(e){return e.trim().replace(/\s+/g,` `)}function normalizeQuery(e){return e.replace(/\s+/g,``).toLowerCase()}function matchItems(e,t){t=normalizeQuery(t);let n=[];for(let r=0,i=e.length;r<i;++r){let i=e[r];if(!i.isVisible)continue;if(!t){n.push({matchType:3,categoryIndices:null,labelIndices:null,score:0,item:i});continue}let a=fuzzySearch(i,t);a&&(i.isEnabled||(a.score+=1e3),n.push(a))}return n}function fuzzySearch(e,t){let n=e.category.toLowerCase(),r=`${n} ${e.label.toLowerCase()}`,i=1/0,a=null,o=/\b\w/g;for(;;){let e=o.exec(r);if(!e)break;let n=f.matchSumOfDeltas(r,t,e.index);if(!n)break;n.score<=i&&(i=n.score,a=n.indices)}if(!a||i===1/0)return null;let s=n.length+1,c=u.lowerBound(a,s,(e,t)=>e-t),l=a.slice(0,c),d=a.slice(c);for(let e=0,t=d.length;e<t;++e)d[e]-=s;return l.length===0?{matchType:0,categoryIndices:null,labelIndices:d,score:i,item:e}:d.length===0?{matchType:1,categoryIndices:l,labelIndices:null,score:i,item:e}:{matchType:2,categoryIndices:l,labelIndices:d,score:i,item:e}}function scoreCmp(e,t){let n=e.matchType-t.matchType;if(n!==0)return n;let r=e.score-t.score;if(r!==0)return r;let i=0,a=0;switch(e.matchType){case 0:i=e.labelIndices[0],a=t.labelIndices[0];break;case 1:case 2:i=e.categoryIndices[0],a=t.categoryIndices[0];break}if(i!==a)return i-a;let o=e.item.category.localeCompare(t.item.category);if(o!==0)return o;let s=e.item.rank,c=t.item.rank;return s===c?e.item.label.localeCompare(t.item.label):s<c?-1:1}function createResults(e){let t=[];for(let n=0,r=e.length;n<r;++n){let{item:r,categoryIndices:i,labelIndices:a}=e[n],o=r.category;(n===0||o!==e[n-1].item.category)&&t.push({type:`header`,category:o,indices:i}),t.push({type:`item`,item:r,indices:a})}return t}class CommandItem{constructor(e,t){this._commands=e,this.category=normalizeCategory(t.category),this.command=t.command,this.args=t.args||g.JSONExt.emptyObject,this.rank=t.rank===void 0?1/0:t.rank}get label(){return this._commands.label(this.command,this.args)}get icon(){return this._commands.icon(this.command,this.args)}get iconClass(){return this._commands.iconClass(this.command,this.args)}get iconLabel(){return this._commands.iconLabel(this.command,this.args)}get caption(){return this._commands.caption(this.command,this.args)}get className(){return this._commands.className(this.command,this.args)}get dataset(){return this._commands.dataset(this.command,this.args)}get isEnabled(){return this._commands.isEnabled(this.command,this.args)}get isToggled(){return this._commands.isToggled(this.command,this.args)}get isToggleable(){return this._commands.isToggleable(this.command,this.args)}get isVisible(){return this._commands.isVisible(this.command,this.args)}get keyBinding(){let{command:e,args:t}=this;return u.findLastValue(this._commands.keyBindings,n=>n.command===e&&g.JSONExt.deepEqual(n.args,t))||null}}})(H||={});var U=class Menu extends N{constructor(e){super({node:W.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new Signal(this),this._menuRequested=new Signal(this),this.addClass(`lm-Menu`),this.setFlag(N.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||Menu.defaultRenderer}dispose(){this.close(),this._items.length=0,super.dispose()}get aboutToClose(){return this._aboutToClose}get menuRequested(){return this._menuRequested}get parentMenu(){return this._parentMenu}get childMenu(){return this._childMenu}get rootMenu(){let e=this;for(;e._parentMenu;)e=e._parentMenu;return e}get leafMenu(){let e=this;for(;e._childMenu;)e=e._childMenu;return e}get contentNode(){return this.node.getElementsByClassName(`lm-Menu-content`)[0]}get activeItem(){return this._items[this._activeIndex]||null}set activeItem(e){this.activeIndex=e?this._items.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._items.length)&&(e=-1),e!==-1&&!W.canActivate(this._items[e])&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this._activeIndex>=0&&this.contentNode.childNodes[this._activeIndex]&&this.contentNode.childNodes[this._activeIndex].focus(),this.update())}get items(){return this._items}activateNextItem(){let e=this._items.length,t=this._activeIndex,n=t<e-1?t+1:0,r=n===0?e-1:n-1;this.activeIndex=u.findFirstIndex(this._items,W.canActivate,n,r)}activatePreviousItem(){let e=this._items.length,t=this._activeIndex,n=t<=0?e-1:t-1,r=n===e-1?0:n+1;this.activeIndex=u.findLastIndex(this._items,W.canActivate,n,r)}triggerActiveItem(){if(!this.isAttached)return;let e=this.activeItem;if(!e)return;if(this._cancelOpenTimer(),this._cancelCloseTimer(),e.type===`submenu`){this._openChildMenu(!0);return}this.rootMenu.close();let{command:t,args:n}=e;this.commands.isEnabled(t,n)?this.commands.execute(t,n):console.log(`Command '${t}' is disabled.`)}addItem(e){return this.insertItem(this._items.length,e)}insertItem(e,t){this.isAttached&&this.close(),this.activeIndex=-1;let n=Math.max(0,Math.min(e,this._items.length)),r=W.createItem(this,t);return u.insert(this._items,n,r),this.update(),r}removeItem(e){let t=this._items.indexOf(e);t!==-1&&this.removeItemAt(t)}removeItemAt(e){this.isAttached&&this.close(),this.activeIndex=-1,u.removeAt(this._items,e)&&this.update()}clearItems(){this.isAttached&&this.close(),this.activeIndex=-1,this._items.length!==0&&(this._items.length=0,this.update())}open(e,t,n={}){if(this.isAttached)return;let r=n.forceX||!1,i=n.forceY||!1,a=n.host??null,o=n.ref??null,s=n.horizontalAlignment??(document.documentElement.dir===`rtl`?`right`:`left`);W.openRootMenu(this,e,t,r,i,s,a,o),this.activate()}handleEvent(e){switch(e.type){case`keydown`:this._evtKeyDown(e);break;case`pointerup`:this._evtPointerUp(e);break;case`pointermove`:this._evtPointerMove(e);break;case`pointerenter`:this._evtPointerEnter(e);break;case`pointerleave`:this._evtPointerLeave(e);break;case`pointerdown`:this._evtPointerDown(e);break;case`contextmenu`:e.preventDefault(),e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener(`keydown`,this),this.node.addEventListener(`pointerup`,this),this.node.addEventListener(`pointermove`,this),this.node.addEventListener(`pointerenter`,this),this.node.addEventListener(`pointerleave`,this),this.node.addEventListener(`contextmenu`,this),document.addEventListener(`pointerdown`,this,!0)}onAfterDetach(e){this.node.removeEventListener(`keydown`,this),this.node.removeEventListener(`pointerup`,this),this.node.removeEventListener(`pointermove`,this),this.node.removeEventListener(`pointerenter`,this),this.node.removeEventListener(`pointerleave`,this),this.node.removeEventListener(`contextmenu`,this),document.removeEventListener(`pointerdown`,this,!0)}onActivateRequest(e){this.isAttached&&this.node.focus()}onUpdateRequest(e){let t=this._items,n=this.renderer,r=this._activeIndex,i=W.computeCollapsed(t),a=Array(t.length);for(let e=0,o=t.length;e<o;++e){let o=t[e],s=e===r,c=i[e];a[e]=n.renderItem({item:o,active:s,collapsed:c,onfocus:()=>{this.activeIndex=e}})}A.render(a,this.contentNode)}onCloseRequest(e){this._cancelOpenTimer(),this._cancelCloseTimer(),this.activeIndex=-1;let t=this._childMenu;t&&(this._childIndex=-1,this._childMenu=null,t._parentMenu=null,t.close());let n=this._parentMenu;n&&(this._parentMenu=null,n._childIndex=-1,n._childMenu=null,n.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(e)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation();let t=e.keyCode;if(t===13){this.triggerActiveItem();return}if(t===27){this.close();return}if(t===37){this._parentMenu?this.close():this._menuRequested.emit(`previous`);return}if(t===38){this.activatePreviousItem();return}if(t===39){let e=this.activeItem;e&&e.type===`submenu`?this.triggerActiveItem():this.rootMenu._menuRequested.emit(`next`);return}if(t===40){this.activateNextItem();return}let n=getKeyboardLayout().keyForKeydownEvent(e);if(!n)return;let r=this._activeIndex+1,i=W.findMnemonic(this._items,n,r);i.index!==-1&&!i.multiple?(this.activeIndex=i.index,this.triggerActiveItem()):i.index===-1?i.auto!==-1&&(this.activeIndex=i.auto):this.activeIndex=i.index}_evtPointerUp(e){e.button===0&&(e.preventDefault(),e.stopPropagation(),this.triggerActiveItem())}_evtPointerMove(e){let t=u.findFirstIndex(this.contentNode.children,t=>y.hitTest(t,e.clientX,e.clientY));if(t===this._activeIndex)return;if(this.activeIndex=t,t=this.activeIndex,t===this._childIndex){this._cancelOpenTimer(),this._cancelCloseTimer();return}this._childIndex!==-1&&this._startCloseTimer(),this._cancelOpenTimer();let n=this.activeItem;!n||n.type!==`submenu`||!n.submenu||this._startOpenTimer()}_evtPointerEnter(e){for(let e=this._parentMenu;e;e=e._parentMenu)e._cancelOpenTimer(),e._cancelCloseTimer(),e.activeIndex=e._childIndex}_evtPointerLeave(e){if(this._cancelOpenTimer(),!this._childMenu){this.activeIndex=-1;return}let{clientX:t,clientY:n}=e;if(y.hitTest(this._childMenu.node,t,n)){this._cancelCloseTimer();return}this.activeIndex=-1,this._startCloseTimer()}_evtPointerDown(e){this._parentMenu||(W.hitTestMenus(this,e.clientX,e.clientY)?(e.preventDefault(),e.stopPropagation()):this.close())}_openChildMenu(e=!1){let t=this.activeItem;if(!t||t.type!==`submenu`||!t.submenu){this._closeChildMenu();return}let n=t.submenu;if(n===this._childMenu)return;Menu.saveWindowData(),this._closeChildMenu(),this._childMenu=n,this._childIndex=this._activeIndex,n._parentMenu=this,E.sendMessage(this,N.Msg.UpdateRequest);let r=this.contentNode.children[this._activeIndex];W.openSubmenu(n,r),e&&(n.activeIndex=-1,n.activateNextItem()),n.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){this._openTimerID===0&&(this._openTimerID=window.setTimeout(()=>{this._openTimerID=0,this._openChildMenu()},W.TIMER_DELAY))}_startCloseTimer(){this._closeTimerID===0&&(this._closeTimerID=window.setTimeout(()=>{this._closeTimerID=0,this._closeChildMenu()},W.TIMER_DELAY))}_cancelOpenTimer(){this._openTimerID!==0&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){this._closeTimerID!==0&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){W.saveWindowData()}};(function(e){class Renderer{renderItem(e){let t=this.createItemClass(e),n=this.createItemDataset(e),r=this.createItemARIA(e);return h.li({className:t,dataset:n,tabindex:`0`,onfocus:e.onfocus,...r},this.renderIcon(e),this.renderLabel(e),this.renderShortcut(e),this.renderSubmenu(e))}renderIcon(e){let t=this.createIconClass(e);return h.div({className:t},e.item.icon,e.item.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return h.div({className:`lm-Menu-itemLabel`},t)}renderShortcut(e){let t=this.formatShortcut(e);return h.div({className:`lm-Menu-itemShortcut`},t)}renderSubmenu(e){return h.div({className:`lm-Menu-itemSubmenuIcon`})}createItemClass(e){let t=`lm-Menu-item`;e.item.isEnabled||(t+=` lm-mod-disabled`),e.item.isToggled&&(t+=` lm-mod-toggled`),e.item.isVisible||(t+=` lm-mod-hidden`),e.active&&(t+=` lm-mod-active`),e.collapsed&&(t+=` lm-mod-collapsed`);let n=e.item.className;return n&&(t+=` ${n}`),t}createItemDataset(e){let t,{type:n,command:r,dataset:i}=e.item;return t=n===`command`?{...i,type:n,command:r}:{...i,type:n},t}createIconClass(e){let t=`lm-Menu-itemIcon`,n=e.item.iconClass;return n?`${t} ${n}`:t}createItemARIA(e){let t={};switch(e.item.type){case`separator`:t.role=`presentation`;break;case`submenu`:t[`aria-haspopup`]=`true`,e.item.isEnabled||(t[`aria-disabled`]=`true`);break;default:e.item.isEnabled||(t[`aria-disabled`]=`true`),e.item.isToggled?(t.role=`menuitemcheckbox`,t[`aria-checked`]=`true`):t.role=`menuitem`}return t}formatLabel(e){let{label:t,mnemonic:n}=e.item;if(n<0||n>=t.length)return t;let r=t.slice(0,n),i=t.slice(n+1),a=t[n];return[r,h.span({className:`lm-Menu-itemMnemonic`},a),i]}formatShortcut(e){let t=e.item.keyBinding;return t?C.formatKeystroke(t.keys):null}}e.Renderer=Renderer,e.defaultRenderer=new Renderer})(U||={});var W;(function(e){e.TIMER_DELAY=300,e.SUBMENU_OVERLAP=3;let t=null,n=0;function getWindowData(){return n>0?(n--,t):_getWindowData()}function saveWindowData(){t=_getWindowData(),n++}e.saveWindowData=saveWindowData;function createNode(){let e=document.createElement(`div`),t=document.createElement(`ul`);return t.className=`lm-Menu-content`,e.appendChild(t),t.setAttribute(`role`,`menu`),e.tabIndex=0,e}e.createNode=createNode;function canActivate(e){return e.type!==`separator`&&e.isEnabled&&e.isVisible}e.canActivate=canActivate;function createItem(e,t){return new MenuItem(e.commands,t)}e.createItem=createItem;function hitTestMenus(e,t,n){for(let r=e;r;r=r.childMenu)if(y.hitTest(r.node,t,n))return!0;return!1}e.hitTestMenus=hitTestMenus;function computeCollapsed(e){let t=Array(e.length);u.fill(t,!1);let n=0,r=e.length;for(;n<r;++n){let r=e[n];if(r.isVisible){if(r.type!==`separator`)break;t[n]=!0}}let i=r-1;for(;i>=0;--i){let n=e[i];if(n.isVisible){if(n.type!==`separator`)break;t[i]=!0}}let a=!1;for(;++n<i;){let r=e[n];r.isVisible&&(r.type===`separator`?a?t[n]=!0:a=!0:a=!1)}return t}e.computeCollapsed=computeCollapsed;function _getWindowData(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}function openRootMenu(e,t,n,r,i,a,o,s){let c=getWindowData(),l=c.pageXOffset,u=c.pageYOffset,d=c.clientWidth,f=c.clientHeight;E.sendMessage(e,N.Msg.UpdateRequest);let p=f-(i?n:0),m=e.node,g=m.style;g.opacity=`0`,g.maxHeight=`${p}px`,N.attach(e,o||document.body,s);let{width:_,height:v}=m.getBoundingClientRect();a===`right`&&(t-=_),!r&&t+_>l+d&&(t=l+d-_),!i&&n+v>u+f&&(n>u+f?n=u+f-v:n-=v),g.transform=`translate(${Math.max(0,t)}px, ${Math.max(0,n)}px`,g.opacity=`1`}e.openRootMenu=openRootMenu;function openSubmenu(t,n){let r=getWindowData(),i=r.pageXOffset,a=r.pageYOffset,o=r.clientWidth,s=r.clientHeight;E.sendMessage(t,N.Msg.UpdateRequest);let c=s,l=t.node,u=l.style;u.opacity=`0`,u.maxHeight=`${c}px`,N.attach(t,document.body);let{width:d,height:f}=l.getBoundingClientRect(),p=y.boxSizing(t.node),m=n.getBoundingClientRect(),g=m.right-e.SUBMENU_OVERLAP;g+d>i+o&&(g=m.left+e.SUBMENU_OVERLAP-d);let _=m.top-p.borderTop-p.paddingTop;_+f>a+s&&(_=m.bottom+p.borderBottom+p.paddingBottom-f),u.transform=`translate(${Math.max(0,g)}px, ${Math.max(0,_)}px`,u.opacity=`1`}e.openSubmenu=openSubmenu;function findMnemonic(e,t,n){let r=-1,i=-1,a=!1,o=t.toUpperCase();for(let t=0,s=e.length;t<s;++t){let c=(t+n)%s,l=e[c];if(!canActivate(l))continue;let u=l.label;if(u.length===0)continue;let d=l.mnemonic;if(d>=0&&d<u.length){u[d].toUpperCase()===o&&(r===-1?r=c:a=!0);continue}i===-1&&u[0].toUpperCase()===o&&(i=c)}return{index:r,multiple:a,auto:i}}e.findMnemonic=findMnemonic;class MenuItem{constructor(e,t){this._commands=e,this.type=t.type||`command`,this.command=t.command||``,this.args=t.args||g.JSONExt.emptyObject,this.submenu=t.submenu||null}get label(){return this.type===`command`?this._commands.label(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.label:``}get mnemonic(){return this.type===`command`?this._commands.mnemonic(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.mnemonic:-1}get icon(){if(this.type===`command`)return this._commands.icon(this.command,this.args);if(this.type===`submenu`&&this.submenu)return this.submenu.title.icon}get iconClass(){return this.type===`command`?this._commands.iconClass(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.iconClass:``}get iconLabel(){return this.type===`command`?this._commands.iconLabel(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.iconLabel:``}get caption(){return this.type===`command`?this._commands.caption(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.caption:``}get className(){return this.type===`command`?this._commands.className(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.className:``}get dataset(){return this.type===`command`?this._commands.dataset(this.command,this.args):this.type===`submenu`&&this.submenu?this.submenu.title.dataset:{}}get isEnabled(){return this.type===`command`?this._commands.isEnabled(this.command,this.args):this.type===`submenu`?this.submenu!==null:!0}get isToggled(){return this.type===`command`?this._commands.isToggled(this.command,this.args):!1}get isVisible(){return this.type===`command`?this._commands.isVisible(this.command,this.args):this.type===`submenu`?this.submenu!==null:!0}get keyBinding(){if(this.type===`command`){let{command:e,args:t}=this;return u.findLastValue(this._commands.keyBindings,n=>n.command===e&&g.JSONExt.deepEqual(n.args,t))||null}return null}}})(W||={});var ContextMenu=class{constructor(e){this._groupByTarget=!0,this._idTick=0,this._items=[],this._sortBySelector=!0;let{groupByTarget:t,sortBySelector:n,...r}=e;this.menu=new U(r),this._groupByTarget=t!==!1,this._sortBySelector=n!==!1}addItem(e){let t=G.createItem(e,this._idTick++);return this._items.push(t),new DisposableDelegate(()=>{u.removeFirstOf(this._items,t)})}open(e){if(U.saveWindowData(),this.menu.clearItems(),this._items.length===0)return!1;let t=G.matchItems(this._items,e,this._groupByTarget,this._sortBySelector);if(!t||t.length===0)return!1;for(let e of t)this.menu.addItem(e);return this.menu.open(e.clientX,e.clientY),!0}},G;(function(e){function createItem(e,t){let n=validateSelector(e.selector),r=e.rank===void 0?1/0:e.rank;return{...e,selector:n,rank:r,id:t}}e.createItem=createItem;function matchItems(e,t,n,r){let i=t.target;if(!i)return null;let a=t.currentTarget;if(!a||!a.contains(i)&&(i=document.elementFromPoint(t.clientX,t.clientY),!i||!a.contains(i)))return null;let o=[],s=e.slice();for(;i!==null;){let e=[];for(let t=0,n=s.length;t<n;++t){let n=s[t];n&&x.matches(i,n.selector)&&(e.push(n),s[t]=null)}if(e.length!==0&&(n&&e.sort(r?itemCmp:itemCmpRank),o.push(...e)),i===a)break;i=i.parentElement}return n||o.sort(r?itemCmp:itemCmpRank),o}e.matchItems=matchItems;function validateSelector(e){if(e.indexOf(`,`)!==-1)throw Error(`Selector cannot contain commas: ${e}`);if(!x.isValid(e))throw Error(`Invalid selector: ${e}`);return e}function itemCmpRank(e,t){let n=e.rank,r=t.rank;return n===r?e.id-t.id:n<r?-1:1}function itemCmp(e,t){let n=x.calculateSpecificity(e.selector),r=x.calculateSpecificity(t.selector);return n===r?itemCmpRank(e,t):r-n}})(G||={});var le=[`ArrowLeft`,`ArrowUp`,`ArrowRight`,`ArrowDown`,`Home`,`End`],K=class TabBar extends N{constructor(e={}){super({node:q.createNode()}),this._currentIndex=-1,this._titles=[],this._titlesEditable=!1,this._previousTitle=null,this._dragData=null,this._tabSizeFrozen=!1,this._frozenTabWidths=null,this._unfreezeRunID=0,this._unfreezeFallbackTimerID=0,this._unfreezeTransitionListener=null,this._addButtonEnabled=!1,this._tabMoved=new Signal(this),this._currentChanged=new Signal(this),this._addRequested=new Signal(this),this._tabCloseRequested=new Signal(this),this._tabDetachRequested=new Signal(this),this._tabActivateRequested=new Signal(this),this.addClass(`lm-TabBar`),this.contentNode.setAttribute(`role`,`tablist`),this.setFlag(N.Flag.DisallowLayout),this._document=e.document||document,this.tabsMovable=e.tabsMovable||!1,this.titlesEditable=e.titlesEditable||!1,this.allowDeselect=e.allowDeselect||!1,this.addButtonEnabled=e.addButtonEnabled||!1,this.insertBehavior=e.insertBehavior||`select-tab-if-needed`,this.name=e.name||``,this.orientation=e.orientation||`horizontal`,this.removeBehavior=e.removeBehavior||`select-tab-after`,this.renderer=e.renderer||TabBar.defaultRenderer}dispose(){this._releaseMouse(),this._titles.length=0,this._previousTitle=null,super.dispose()}get currentChanged(){return this._currentChanged}get tabMoved(){return this._tabMoved}get tabActivateRequested(){return this._tabActivateRequested}get addRequested(){return this._addRequested}get tabCloseRequested(){return this._tabCloseRequested}get tabDetachRequested(){return this._tabDetachRequested}get document(){return this._document}get titlesEditable(){return this._titlesEditable}set titlesEditable(e){this._titlesEditable=e}get currentTitle(){return this._titles[this._currentIndex]||null}set currentTitle(e){this.currentIndex=e?this._titles.indexOf(e):-1}get currentIndex(){return this._currentIndex}set currentIndex(e){if((e<0||e>=this._titles.length)&&(e=-1),this._currentIndex===e)return;let t=this._currentIndex,n=this._titles[t]||null,r=e,i=this._titles[r]||null;this._currentIndex=r,this._previousTitle=n,this.update(),this._currentChanged.emit({previousIndex:t,previousTitle:n,currentIndex:r,currentTitle:i})}get name(){return this._name}set name(e){this._name=e,e?this.contentNode.setAttribute(`aria-label`,e):this.contentNode.removeAttribute(`aria-label`)}get orientation(){return this._orientation}set orientation(e){this._orientation!==e&&(this._releaseMouse(),this._orientation=e,this.dataset.orientation=e,this.contentNode.setAttribute(`aria-orientation`,e))}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled!==e&&(this._addButtonEnabled=e,e?this.addButtonNode.classList.remove(`lm-mod-hidden`):this.addButtonNode.classList.add(`lm-mod-hidden`))}get titles(){return this._titles}get contentNode(){return this.node.getElementsByClassName(`lm-TabBar-content`)[0]}get addButtonNode(){return this.node.getElementsByClassName(`lm-TabBar-addButton`)[0]}addTab(e){return this.insertTab(this._titles.length,e)}insertTab(e,t){this._releaseMouse();let n=q.asTitle(t),r=this._titles.indexOf(n),i=Math.max(0,Math.min(e,this._titles.length));return r===-1?(u.insert(this._titles,i,n),n.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(i,n),n):(i===this._titles.length&&i--,r===i?n:(u.move(this._titles,r,i),this.update(),this._adjustCurrentForMove(r,i),n))}removeTab(e){this.removeTabAt(this._titles.indexOf(e))}removeTabAt(e){let t=e>=0&&e<this._titles.length;if(this._tabSizeFrozen)if(t){let t=this.contentNode.children;this._frozenTabWidths=[];for(let n=0,r=t.length;n<r;++n)n!==e&&this._frozenTabWidths.push(t[n].offsetWidth)}else this._frozenTabWidths=null;this._releaseMouse();let n=u.removeAt(this._titles,e);n&&(n.changed.disconnect(this._onTitleChanged,this),n===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(e,n))}clearTabs(){if(this._titles.length===0)return;this._releaseMouse();for(let e of this._titles)e.changed.disconnect(this._onTitleChanged,this);let e=this.currentIndex,t=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),e!==-1&&this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}releaseMouse(){this._releaseMouse()}handleEvent(e){switch(e.type){case`pointerdown`:this._evtPointerDown(e);break;case`pointermove`:this._evtPointerMove(e);break;case`pointerup`:this._evtPointerUp(e);break;case`pointerleave`:this._evtPointerLeave(e);break;case`dblclick`:this._evtDblClick(e);break;case`keydown`:e.eventPhase===Event.CAPTURING_PHASE?this._evtKeyDownCapturing(e):this._evtKeyDown(e);break;case`contextmenu`:e.preventDefault(),e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener(`pointerdown`,this),this.node.addEventListener(`pointerleave`,this),this.node.addEventListener(`dblclick`,this),this.node.addEventListener(`keydown`,this)}onAfterDetach(e){this.node.removeEventListener(`pointerdown`,this),this.node.removeEventListener(`pointerleave`,this),this.node.removeEventListener(`dblclick`,this),this.node.removeEventListener(`keydown`,this),this._clearUnfreezeTransitionState(),this._clearTabSizeFreezeState(),this._releaseMouse()}onUpdateRequest(e){let t=this._titles,n=this.renderer,r=this.currentTitle,i=Array(t.length),a=this._getCurrentTabindex()??(this._currentIndex>-1?this._currentIndex:0);for(let e=0,o=t.length;e<o;++e){let s=t[e],c=s===r,l=c?o:o-e-1,u=a===e?0:-1;i[e]=n.renderTab({title:s,current:c,zIndex:l,tabIndex:u})}if(A.render(i,this.contentNode),this._tabSizeFrozen){let e=this.contentNode.children;if(this._frozenTabWidths&&this._frozenTabWidths.length===e.length){for(let t=0,n=e.length;t<n;++t)this._setFrozenTabSize(e[t],this._frozenTabWidths[t]);this._frozenTabWidths=null}else{this._frozenTabWidths=null;for(let t=0,n=e.length;t<n;++t){let n=e[t];this._setFrozenTabSize(n,n.offsetWidth)}}}}_getCurrentTabindex(){let e=null,t=this.contentNode.querySelector(`li[tabindex="0"]`);return t?e=[...this.contentNode.children].indexOf(t):this._addButtonEnabled&&this.addButtonNode.getAttribute(`tabindex`)===`0`&&(e=-1),e}_evtDblClick(e){if(!this.titlesEditable)return;let t=this.contentNode.children,n=u.findFirstIndex(t,t=>y.hitTest(t,e.clientX,e.clientY));if(n===-1)return;let r=this.titles[n],i=t[n].querySelector(`.lm-TabBar-tabLabel`);if(i&&i.contains(e.target)){let e=r.label||``,t=i.innerHTML;i.innerHTML=``;let n=document.createElement(`input`);n.classList.add(`lm-TabBar-tabInput`),n.value=e,i.appendChild(n);let onblur=()=>{n.removeEventListener(`blur`,onblur),i.innerHTML=t,this.node.addEventListener(`keydown`,this)};n.addEventListener(`dblclick`,e=>e.stopPropagation()),n.addEventListener(`blur`,onblur),n.addEventListener(`keydown`,e=>{e.key===`Enter`?(n.value!==``&&(r.label=r.caption=n.value),onblur()):e.key===`Escape`&&onblur()}),this.node.removeEventListener(`keydown`,this),n.select(),n.focus(),i.children.length>0&&i.children[0].focus()}}_evtKeyDownCapturing(e){e.eventPhase===Event.CAPTURING_PHASE&&(e.preventDefault(),e.stopPropagation(),e.key===`Escape`&&this._releaseMouse())}_evtKeyDown(e){var t;if(!(e.key===`Tab`||e.eventPhase===Event.CAPTURING_PHASE)){if(e.key===`Enter`||e.key===`Spacebar`||e.key===` `){let t=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(t))e.preventDefault(),e.stopPropagation(),this._addRequested.emit();else{let n=u.findFirstIndex(this.contentNode.children,e=>e.contains(t));n>=0&&(e.preventDefault(),e.stopPropagation(),this.currentIndex=n)}}else if(le.includes(e.key)){let n=[...this.contentNode.children];if(this.addButtonEnabled&&n.push(this.addButtonNode),n.length<=1)return;e.preventDefault(),e.stopPropagation();let r=n.indexOf(document.activeElement);r===-1&&(r=this._currentIndex);let i;e.key===`ArrowRight`&&this._orientation===`horizontal`||e.key===`ArrowDown`&&this._orientation===`vertical`?i=n[r+1]??n[0]:e.key===`ArrowLeft`&&this._orientation===`horizontal`||e.key===`ArrowUp`&&this._orientation===`vertical`?i=n[r-1]??n[n.length-1]:e.key===`Home`?i=n[0]:e.key===`End`&&(i=n[n.length-1]),i&&((t=n[r])==null||t.setAttribute(`tabindex`,`-1`),i?.setAttribute(`tabindex`,`0`),i.focus())}}}_evtPointerDown(e){if(e.button!==0&&e.button!==1||this._dragData||e.target.classList.contains(`lm-TabBar-tabInput`))return;let t=this.addButtonEnabled&&this.addButtonNode.contains(e.target),n=this.contentNode.children,r=u.findFirstIndex(n,t=>y.hitTest(t,e.clientX,e.clientY));if(r===-1&&!t||(e.preventDefault(),e.stopPropagation(),this._dragData={tab:n[r],index:r,pressX:e.clientX,pressY:e.clientY,tabPos:-1,tabSize:-1,tabPressPos:-1,targetIndex:-1,tabLayout:null,contentRect:null,override:null,dragActive:!1,dragAborted:!1,detachRequested:!1},this.document.addEventListener(`pointerup`,this,!0),e.button===1||t))return;let i=n[r].querySelector(this.renderer.closeIconSelector);i&&i.contains(e.target)||(this.tabsMovable&&(this.document.addEventListener(`pointermove`,this,!0),this.document.addEventListener(`keydown`,this,!0),this.document.addEventListener(`contextmenu`,this,!0)),this.allowDeselect&&this.currentIndex===r?this.currentIndex=-1:this.currentIndex=r,this.currentIndex!==-1&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(e){let t=this._dragData;if(!t)return;e.preventDefault(),e.stopPropagation();let n=this.contentNode.children;if(!(!t.dragActive&&!q.dragExceeded(t,e))){if(!t.dragActive){let e=t.tab.getBoundingClientRect();this._orientation===`horizontal`?(t.tabPos=t.tab.offsetLeft,t.tabSize=e.width,t.tabPressPos=t.pressX-e.left):(t.tabPos=t.tab.offsetTop,t.tabSize=e.height,t.tabPressPos=t.pressY-e.top),t.tabPressOffset={x:t.pressX-e.left,y:t.pressY-e.top},t.tabLayout=q.snapTabLayout(n,this._orientation),t.contentRect=this.contentNode.getBoundingClientRect(),t.override=O.overrideCursor(`default`),t.tab.classList.add(`lm-mod-dragging`),this.addClass(`lm-mod-dragging`),t.dragActive=!0}if(!t.detachRequested&&q.detachExceeded(t,e)){t.detachRequested=!0;let r=t.index,i=e.clientX,a=e.clientY,o=n[r],s=this._titles[r];if(this._tabDetachRequested.emit({index:r,title:s,tab:o,clientX:i,clientY:a,offset:t.tabPressOffset}),t.dragAborted)return}q.layoutTabs(n,t,e,this._orientation)}}_evtPointerUp(e){if(e.button!==0&&e.button!==1)return;let t=this._dragData;if(!t)return;if(e.preventDefault(),e.stopPropagation(),this.document.removeEventListener(`pointermove`,this,!0),this.document.removeEventListener(`pointerup`,this,!0),this.document.removeEventListener(`keydown`,this,!0),this.document.removeEventListener(`contextmenu`,this,!0),!t.dragActive){if(this._dragData=null,this.addButtonEnabled&&this.addButtonNode.contains(e.target)){this._addRequested.emit(void 0);return}let n=this.contentNode.children,r=u.findFirstIndex(n,t=>y.hitTest(t,e.clientX,e.clientY));if(r!==t.index)return;let i=this._titles[r];if(!i.closable)return;if(e.button===1){this._tabCloseRequested.emit({index:r,title:i});return}let a=n[r].querySelector(this.renderer.closeIconSelector);if(a&&a.contains(e.target)){this._tabSizeFrozen=!0,this._tabCloseRequested.emit({index:r,title:i});return}return}if(e.button!==0)return;q.finalizeTabPosition(t,this._orientation),t.tab.classList.remove(`lm-mod-dragging`);let n=q.parseTransitionDuration(t.tab);setTimeout(()=>{if(t.dragAborted)return;this._dragData=null,q.resetTabPositions(this.contentNode.children,this._orientation),t.override.dispose(),this.removeClass(`lm-mod-dragging`);let e=t.index,n=t.targetIndex;n===-1||e===n||(u.move(this._titles,e,n),this._adjustCurrentForMove(e,n),this._tabMoved.emit({fromIndex:e,toIndex:n,title:this._titles[n]}),E.sendMessage(this,N.Msg.UpdateRequest))},n)}_releaseMouse(){let e=this._dragData;e&&(this._dragData=null,this.document.removeEventListener(`pointermove`,this,!0),this.document.removeEventListener(`pointerup`,this,!0),this.document.removeEventListener(`keydown`,this,!0),this.document.removeEventListener(`contextmenu`,this,!0),e.dragAborted=!0,e.dragActive&&(q.resetTabPositions(this.contentNode.children,this._orientation),e.override.dispose(),e.tab.classList.remove(`lm-mod-dragging`),this.removeClass(`lm-mod-dragging`)))}_adjustCurrentForInsert(e,t){let n=this.currentTitle,r=this._currentIndex,i=this.insertBehavior;if(i===`select-tab`||i===`select-tab-if-needed`&&r===-1){this._currentIndex=e,this._previousTitle=n,this._currentChanged.emit({previousIndex:r,previousTitle:n,currentIndex:e,currentTitle:t});return}r>=e&&this._currentIndex++}_adjustCurrentForMove(e,t){this._currentIndex===e?this._currentIndex=t:this._currentIndex<e&&this._currentIndex>=t?this._currentIndex++:this._currentIndex>e&&this._currentIndex<=t&&this._currentIndex--}_adjustCurrentForRemove(e,t){let n=this._currentIndex,r=this.removeBehavior;if(n!==e){n>e&&this._currentIndex--;return}if(this._titles.length===0){this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null});return}if(r===`select-tab-after`){this._currentIndex=Math.min(e,this._titles.length-1),this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(r===`select-tab-before`){this._currentIndex=Math.max(0,e-1),this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(r===`select-previous-tab`){this._previousTitle?(this._currentIndex=this._titles.indexOf(this._previousTitle),this._previousTitle=null):this._currentIndex=Math.min(e,this._titles.length-1),this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}_onTitleChanged(e){this.update()}_evtPointerLeave(e){if(!this._tabSizeFrozen)return;this._tabSizeFrozen=!1,this._frozenTabWidths=null,this._unfreezeRunID++;let t=this._unfreezeRunID;this._clearUnfreezeTransitionState(),this.addClass(`lm-mod-unfreezing`);let n=this.contentNode.children;for(let e=0,t=n.length;e<t;++e){let t=n[e];t.style.width=``,t.style.flexBasis=``}if(n.length===0)this.removeClass(`lm-mod-unfreezing`);else{let onTransitionDone=e=>{let n=e.propertyName;(n===`width`||n===`flex-basis`)&&this._finalizeUnfreezeRun(t)};this._unfreezeTransitionListener=onTransitionDone,this.node.addEventListener(`transitionend`,onTransitionDone),this.node.addEventListener(`transitioncancel`,onTransitionDone),this._unfreezeFallbackTimerID=window.setTimeout(()=>{this._finalizeUnfreezeRun(t)},2e3)}this.update()}_setFrozenTabSize(e,t){let n=`${t}px`;e.style.width=n,e.style.flexBasis=n}_finalizeUnfreezeRun(e){e===this._unfreezeRunID&&(this._clearUnfreezeTransitionState(),this.removeClass(`lm-mod-unfreezing`))}_clearUnfreezeTransitionState(){this._unfreezeTransitionListener&&=(this.node.removeEventListener(`transitionend`,this._unfreezeTransitionListener),this.node.removeEventListener(`transitioncancel`,this._unfreezeTransitionListener),null),this._unfreezeFallbackTimerID!==0&&(clearTimeout(this._unfreezeFallbackTimerID),this._unfreezeFallbackTimerID=0)}_clearTabSizeFreezeState(){this._tabSizeFrozen=!1,this._frozenTabWidths=null,this.removeClass(`lm-mod-unfreezing`);let e=this.contentNode.children;for(let t=0,n=e.length;t<n;++t){let n=e[t];n.style.width=``,n.style.flexBasis=``}}};(function(e){class Renderer{constructor(){this.closeIconSelector=`.lm-TabBar-tabCloseIcon`,this._tabID=0,this._tabKeys=new WeakMap,this._uuid=++Renderer._nInstance}renderTab(e){let t=e.title.caption,n=this.createTabKey(e),r=n,i=this.createTabStyle(e),a=this.createTabClass(e),o=this.createTabDataset(e),s=this.createTabARIA(e);return e.title.closable?h.li({id:r,key:n,className:a,title:t,style:i,dataset:o,...s},this.renderIcon(e),this.renderLabel(e),this.renderCloseIcon(e)):h.li({id:r,key:n,className:a,title:t,style:i,dataset:o,...s},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let{title:t}=e,n=this.createIconClass(e);return h.div({className:n},t.icon,t.iconLabel)}renderLabel(e){return h.div({className:`lm-TabBar-tabLabel`},e.title.label)}renderCloseIcon(e){return h.div({className:`lm-TabBar-tabCloseIcon`})}createTabKey(e){let t=this._tabKeys.get(e.title);return t===void 0&&(t=`tab-key-${this._uuid}-${this._tabID++}`,this._tabKeys.set(e.title,t)),t}createTabStyle(e){return{zIndex:`${e.zIndex}`}}createTabClass(e){let t=`lm-TabBar-tab`;return e.title.className&&(t+=` ${e.title.className}`),e.title.closable&&(t+=` lm-mod-closable`),e.current&&(t+=` lm-mod-current`),t}createTabDataset(e){return e.title.dataset}createTabARIA(e){return{role:`tab`,"aria-selected":e.current.toString(),tabindex:`${e.tabIndex??`-1`}`}}createIconClass(e){let t=`lm-TabBar-tabIcon`,n=e.title.iconClass;return n?`${t} ${n}`:t}}Renderer._nInstance=0,e.Renderer=Renderer,e.defaultRenderer=new Renderer,e.addButtonSelector=`.lm-TabBar-addButton`})(K||={});var q;(function(e){e.DRAG_THRESHOLD=5,e.DETACH_THRESHOLD=20;function createNode(){let e=document.createElement(`div`),t=document.createElement(`ul`);t.setAttribute(`role`,`tablist`),t.className=`lm-TabBar-content`,e.appendChild(t);let n=document.createElement(`div`);return n.className=`lm-TabBar-addButton lm-mod-hidden`,n.setAttribute(`tabindex`,`-1`),n.setAttribute(`role`,`button`),e.appendChild(n),e}e.createNode=createNode;function asTitle(e){return e instanceof Title?e:new Title(e)}e.asTitle=asTitle;function parseTransitionDuration(e){let t=window.getComputedStyle(e);return 1e3*(parseFloat(t.transitionDuration)||0)}e.parseTransitionDuration=parseTransitionDuration;function snapTabLayout(e,t){let n=Array(e.length);for(let r=0,i=e.length;r<i;++r){let i=e[r],a=window.getComputedStyle(i);t===`horizontal`?n[r]={pos:i.offsetLeft,size:i.offsetWidth,margin:parseFloat(a.marginLeft)||0}:n[r]={pos:i.offsetTop,size:i.offsetHeight,margin:parseFloat(a.marginTop)||0}}return n}e.snapTabLayout=snapTabLayout;function dragExceeded(t,n){let r=Math.abs(n.clientX-t.pressX),i=Math.abs(n.clientY-t.pressY);return r>=e.DRAG_THRESHOLD||i>=e.DRAG_THRESHOLD}e.dragExceeded=dragExceeded;function detachExceeded(t,n){let r=t.contentRect;return n.clientX<r.left-e.DETACH_THRESHOLD||n.clientX>=r.right+e.DETACH_THRESHOLD||n.clientY<r.top-e.DETACH_THRESHOLD||n.clientY>=r.bottom+e.DETACH_THRESHOLD}e.detachExceeded=detachExceeded;function layoutTabs(e,t,n,r){let i,a,o,s;r===`horizontal`?(i=t.pressX,a=n.clientX-t.contentRect.left,o=n.clientX,s=t.contentRect.width):(i=t.pressY,a=n.clientY-t.contentRect.top,o=n.clientY,s=t.contentRect.height);let c=t.index,l=a-t.tabPressPos,u=l+t.tabSize;for(let n=0,a=e.length;n<a;++n){let a,d=t.tabLayout[n],f=d.pos+(d.size>>1);if(n<t.index&&l<f)a=`${t.tabSize+t.tabLayout[n+1].margin}px`,c=Math.min(c,n);else if(n>t.index&&u>f)a=`${-t.tabSize-d.margin}px`,c=Math.max(c,n);else if(n===t.index){let e=o-i,n=s-(t.tabPos+t.tabSize);a=`${Math.max(-t.tabPos,Math.min(e,n))}px`}else a=``;r===`horizontal`?e[n].style.left=a:e[n].style.top=a}t.targetIndex=c}e.layoutTabs=layoutTabs;function finalizeTabPosition(e,t){let n;n=t===`horizontal`?e.contentRect.width:e.contentRect.height;let r;if(e.targetIndex===e.index)r=0;else if(e.targetIndex>e.index){let t=e.tabLayout[e.targetIndex];r=t.pos+t.size-e.tabSize-e.tabPos}else r=e.tabLayout[e.targetIndex].pos-e.tabPos;let i=n-(e.tabPos+e.tabSize),a=Math.max(-e.tabPos,Math.min(r,i));t===`horizontal`?e.tab.style.left=`${a}px`:e.tab.style.top=`${a}px`}e.finalizeTabPosition=finalizeTabPosition;function resetTabPositions(e,t){for(let n of e)t===`horizontal`?n.style.left=``:n.style.top=``}e.resetTabPositions=resetTabPositions})(q||={});var DockLayout=class extends Layout{constructor(e){super(),this._spacing=4,this._dirty=!1,this._root=null,this._box=null,this._items=new Map,this.renderer=e.renderer,e.spacing!==void 0&&(this._spacing=L.clampDimension(e.spacing)),this._document=e.document||document,this._hiddenMode=e.hiddenMode===void 0?N.HiddenMode.Display:e.hiddenMode}dispose(){let e=this[Symbol.iterator]();this._items.forEach(e=>{e.dispose()}),this._box=null,this._root=null,this._items.clear();for(let t of e)t.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode!==e){this._hiddenMode=e;for(let e of this.tabBars())if(e.titles.length>1)for(let t of e.titles)t.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(e){e=L.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get isEmpty(){return this._root===null}[Symbol.iterator](){return this._root?this._root.iterAllWidgets():empty()}widgets(){return this._root?this._root.iterUserWidgets():empty()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():empty()}tabBars(){return this._root?this._root.iterTabBars():empty()}handles(){return this._root?this._root.iterHandles():empty()}moveHandle(e,t,n){let r=e.classList.contains(`lm-mod-hidden`);if(!this._root||r)return;let i=this._root.findSplitNode(e);if(!i)return;let a;a=i.node.orientation===`horizontal`?t-e.offsetLeft:n-e.offsetTop,a!==0&&(i.node.holdSizes(),M.adjust(i.node.sizers,i.index,a),this.parent&&this.parent.update())}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(e){let t=new Set,n;n=e.main?J.normalizeAreaConfig(e.main,t):null;let r=this.widgets(),i=this.tabBars(),a=this.handles();this._root=null;for(let e of r)t.has(e)||(e.parent=null);for(let e of i)e.dispose();for(let e of a)e.parentNode&&e.parentNode.removeChild(e);for(let e of t)e.parent=this.parent;n?this._root=J.realizeAreaConfig(n,{createTabBar:e=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document):this._root=null,this.parent&&(t.forEach(e=>{this.attachWidget(e)}),this.parent.fit())}addWidget(e,t={}){let n=t.ref||null,r=t.mode||`tab-after`,i=null;if(this._root&&n&&(i=this._root.findTabNode(n)),n&&!i)throw Error(`Reference widget is not in the layout.`);switch(e.parent=this.parent,r){case`tab-after`:this._insertTab(e,n,i,!0);break;case`tab-before`:this._insertTab(e,n,i,!1);break;case`split-top`:this._insertSplit(e,n,i,`vertical`,!1);break;case`split-left`:this._insertSplit(e,n,i,`horizontal`,!1);break;case`split-right`:this._insertSplit(e,n,i,`horizontal`,!0);break;case`split-bottom`:this._insertSplit(e,n,i,`vertical`,!0);break;case`merge-top`:this._insertSplit(e,n,i,`vertical`,!1,!0);break;case`merge-left`:this._insertSplit(e,n,i,`horizontal`,!1,!0);break;case`merge-right`:this._insertSplit(e,n,i,`horizontal`,!0,!0);break;case`merge-bottom`:this._insertSplit(e,n,i,`vertical`,!0,!0);break}this.parent&&(this.attachWidget(e),this.parent.fit())}removeWidget(e){this._removeWidget(e),this.parent&&(this.detachWidget(e),this.parent.fit())}hitTestTabAreas(e,t){if(!this._root||!this.parent||!this.parent.isVisible)return null;this._box||=y.boxSizing(this.parent.node);let n=this.parent.node.getBoundingClientRect(),r=e-n.left-this._box.borderLeft,i=t-n.top-this._box.borderTop,a=this._root.hitTestTabNodes(r,i);if(!a)return null;let{tabBar:o,top:s,left:c,width:l,height:u}=a,d=this._box.borderLeft+this._box.borderRight,f=this._box.borderTop+this._box.borderBottom;return{tabBar:o,x:r,y:i,top:s,left:c,right:n.width-d-(c+l),bottom:n.height-f-(s+u),width:l,height:u}}init(){super.init();for(let e of this)this.attachWidget(e);for(let e of this.handles())this.parent.node.appendChild(e);this.parent.fit()}attachWidget(e){this.parent.node!==e.node.parentNode&&(this._items.set(e,new LayoutItem(e)),this.parent.isAttached&&E.sendMessage(e,N.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&E.sendMessage(e,N.Msg.AfterAttach))}detachWidget(e){if(this.parent.node!==e.node.parentNode)return;this.parent.isAttached&&E.sendMessage(e,N.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&E.sendMessage(e,N.Msg.AfterDetach);let t=this._items.get(e);t&&(this._items.delete(e),t.dispose())}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_removeWidget(e){if(!this._root)return;let t=this._root.findTabNode(e);if(!t)return;if(J.removeAria(e),t.tabBar.titles.length>1){if(t.tabBar.removeTab(e.title),this._hiddenMode===N.HiddenMode.Scale&&t.tabBar.titles.length==1){let e=t.tabBar.titles[0].owner;e.hiddenMode=N.HiddenMode.Display}return}if(t.tabBar.dispose(),this._root===t){this._root=null;return}this._root.holdAllSizes();let n=t.parent;t.parent=null;let r=u.removeFirstOf(n.children,t),i=u.removeAt(n.handles,r);if(u.removeAt(n.sizers,r),i.parentNode&&i.parentNode.removeChild(i),n.children.length>1){n.syncHandles();return}let a=n.parent;n.parent=null;let o=n.children[0],s=n.handles[0];if(n.children.length=0,n.handles.length=0,n.sizers.length=0,s.parentNode&&s.parentNode.removeChild(s),this._root===n){o.parent=null,this._root=o;return}let c=a,l=c.children.indexOf(n);if(o instanceof J.TabLayoutNode){o.parent=c,c.children[l]=o;return}let d=u.removeAt(c.handles,l);u.removeAt(c.children,l),u.removeAt(c.sizers,l),d.parentNode&&d.parentNode.removeChild(d);for(let e=0,t=o.children.length;e<t;++e){let t=o.children[e],n=o.handles[e],r=o.sizers[e];u.insert(c.children,l+e,t),u.insert(c.handles,l+e,n),u.insert(c.sizers,l+e,r),t.parent=c}o.children.length=0,o.handles.length=0,o.sizers.length=0,o.parent=null,c.syncHandles()}_createTabNode(e){let t=new J.TabLayoutNode(this._createTabBar());return t.tabBar.addTab(e.title),J.addAria(e,t.tabBar),t}_insertTab(e,t,n,r){if(e===t)return;if(!this._root){let t=new J.TabLayoutNode(this._createTabBar());t.tabBar.addTab(e.title),this._root=t,J.addAria(e,t.tabBar);return}n||=this._root.findFirstTabNode(),n.tabBar.titles.indexOf(e.title)===-1&&(this._removeWidget(e),e.hide());let i;if(i=t?n.tabBar.titles.indexOf(t.title):n.tabBar.currentIndex,this._hiddenMode===N.HiddenMode.Scale)if(n.tabBar.titles.length===0)e.hiddenMode=N.HiddenMode.Display;else if(n.tabBar.titles.length==1){let e=n.tabBar.titles[0].owner;e.hiddenMode=N.HiddenMode.Scale}else e.hiddenMode=N.HiddenMode.Scale;else e.hiddenMode=this._hiddenMode;n.tabBar.insertTab(i+ +!!r,e.title),J.addAria(e,n.tabBar)}_insertSplit(e,t,n,r,i,a=!1){if(e===t&&n&&n.tabBar.titles.length===1)return;if(this._removeWidget(e),!this._root){this._root=this._createTabNode(e);return}if(!n||!n.parent){let t=this._splitRoot(r),a=i?t.children.length:0;t.normalizeSizes();let o=J.createSizer(n?1:J.GOLDEN_RATIO),s=this._createTabNode(e);u.insert(t.children,a,s),u.insert(t.sizers,a,o),u.insert(t.handles,a,this._createHandle()),s.parent=t,t.normalizeSizes(),t.syncHandles();return}let o=n.parent;if(o.orientation===r){let t=o.children.indexOf(n);if(a){let n=t+(i?1:-1),r=o.children[n];if(r instanceof J.TabLayoutNode){this._insertTab(e,null,r,!0),++r.tabBar.currentIndex;return}}o.normalizeSizes();let r=o.sizers[t].sizeHint/=2,s=t+ +!!i,c=this._createTabNode(e);u.insert(o.children,s,c),u.insert(o.sizers,s,J.createSizer(r)),u.insert(o.handles,s,this._createHandle()),c.parent=o,o.syncHandles();return}let s=u.removeFirstOf(o.children,n),c=new J.SplitLayoutNode(r);c.normalized=!0,c.children.push(n),c.sizers.push(J.createSizer(.5)),c.handles.push(this._createHandle()),n.parent=c;let l=+!!i,d=this._createTabNode(e);u.insert(c.children,l,d),u.insert(c.sizers,l,J.createSizer(.5)),u.insert(c.handles,l,this._createHandle()),d.parent=c,c.syncHandles(),u.insert(o.children,s,c),c.parent=o}_splitRoot(e){let t=this._root;if(t instanceof J.SplitLayoutNode&&t.orientation===e)return t;let n=this._root=new J.SplitLayoutNode(e);return t&&(n.children.push(t),n.sizers.push(J.createSizer(0)),n.handles.push(this._createHandle()),t.parent=n),n}_fit(){let e=0,t=0;if(this._root){let n=this._root.fit(this._spacing,this._items);e=n.minWidth,t=n.minHeight}let n=this._box=y.boxSizing(this.parent.node);e+=n.horizontalSum,t+=n.verticalSum;let r=this.parent.node.style;r.minWidth=`${e}px`,r.minHeight=`${t}px`,this._dirty=!0,this.parent.parent&&E.sendMessage(this.parent.parent,N.Msg.FitRequest),this._dirty&&E.sendMessage(this.parent,N.Msg.UpdateRequest)}_update(e,t){if(this._dirty=!1,!this._root)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||=y.boxSizing(this.parent.node);let n=this._box.paddingTop,r=this._box.paddingLeft,i=e-this._box.horizontalSum,a=t-this._box.verticalSum;this._root.update(n,r,i,a,this._spacing,this._items)}_createTabBar(){let e=this.renderer.createTabBar(this._document);return e.orientation=`horizontal`,this.parent&&this.attachWidget(e),e}_createHandle(){let e=this.renderer.createHandle(),t=e.style;return t.position=`absolute`,t.contain=`strict`,t.top=`0`,t.left=`0`,t.width=`0`,t.height=`0`,this.parent&&this.parent.node.appendChild(e),e}},J;(function(e){e.GOLDEN_RATIO=.618;function createSizer(e){let t=new BoxSizer;return t.sizeHint=e,t.size=e,t}e.createSizer=createSizer;function normalizeAreaConfig(e,t){let n;return n=e.type===`tab-area`?normalizeTabAreaConfig(e,t):normalizeSplitAreaConfig(e,t),n}e.normalizeAreaConfig=normalizeAreaConfig;function realizeAreaConfig(e,t,n){let r;return r=e.type===`tab-area`?realizeTabAreaConfig(e,t,n):realizeSplitAreaConfig(e,t,n),r}e.realizeAreaConfig=realizeAreaConfig;class TabLayoutNode{constructor(e){this.parent=null,this._top=0,this._left=0,this._width=0,this._height=0;let t=new BoxSizer,n=new BoxSizer;t.stretch=0,n.stretch=1,this.tabBar=e,this.sizers=[t,n]}get top(){return this._top}get left(){return this._left}get width(){return this._width}get height(){return this._height}*iterAllWidgets(){yield this.tabBar,yield*this.iterUserWidgets()}*iterUserWidgets(){for(let e of this.tabBar.titles)yield e.owner}*iterSelectedWidgets(){let e=this.tabBar.currentTitle;e&&(yield e.owner)}*iterTabBars(){yield this.tabBar}*iterHandles(){}findTabNode(e){return this.tabBar.titles.indexOf(e.title)===-1?null:this}findSplitNode(e){return null}findFirstTabNode(){return this}hitTestTabNodes(e,t){return e<this._left||e>=this._left+this._width||t<this._top||t>=this._top+this._height?null:this}createConfig(){return{type:`tab-area`,widgets:this.tabBar.titles.map(e=>e.owner),currentIndex:this.tabBar.currentIndex}}holdAllSizes(){}fit(e,t){let n=0,r=0,i=t.get(this.tabBar),a=this.tabBar.currentTitle,o=a?t.get(a.owner):void 0,[s,c]=this.sizers;return i&&i.fit(),o&&o.fit(),i&&!i.isHidden?(n=Math.max(n,i.minWidth),r+=i.minHeight,s.minSize=i.minHeight,s.maxSize=i.maxHeight):(s.minSize=0,s.maxSize=0),o&&!o.isHidden?(n=Math.max(n,o.minWidth),r+=o.minHeight,c.minSize=o.minHeight,c.maxSize=1/0):(c.minSize=0,c.maxSize=1/0),{minWidth:n,minHeight:r,maxWidth:1/0,maxHeight:1/0}}update(e,t,n,r,i,a){this._top=t,this._left=e,this._width=n,this._height=r;let o=a.get(this.tabBar),s=this.tabBar.currentTitle,c=s?a.get(s.owner):void 0;if(M.calc(this.sizers,r),o&&!o.isHidden){let r=this.sizers[0].size;o.update(e,t,n,r),t+=r}if(c&&!c.isHidden){let r=this.sizers[1].size;c.update(e,t,n,r)}}}e.TabLayoutNode=TabLayoutNode;class SplitLayoutNode{constructor(e){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=e}*iterAllWidgets(){for(let e of this.children)yield*e.iterAllWidgets()}*iterUserWidgets(){for(let e of this.children)yield*e.iterUserWidgets()}*iterSelectedWidgets(){for(let e of this.children)yield*e.iterSelectedWidgets()}*iterTabBars(){for(let e of this.children)yield*e.iterTabBars()}*iterHandles(){yield*this.handles;for(let e of this.children)yield*e.iterHandles()}findTabNode(e){for(let t=0,n=this.children.length;t<n;++t){let n=this.children[t].findTabNode(e);if(n)return n}return null}findSplitNode(e){let t=this.handles.indexOf(e);if(t!==-1)return{index:t,node:this};for(let t=0,n=this.children.length;t<n;++t){let n=this.children[t].findSplitNode(e);if(n)return n}return null}findFirstTabNode(){return this.children.length===0?null:this.children[0].findFirstTabNode()}hitTestTabNodes(e,t){for(let n=0,r=this.children.length;n<r;++n){let r=this.children[n].hitTestTabNodes(e,t);if(r)return r}return null}createConfig(){let e=this.orientation,t=this.createNormalizedSizes();return{type:`split-area`,orientation:e,children:this.children.map(e=>e.createConfig()),sizes:t}}syncHandles(){this.handles.forEach((e,t)=>{e.setAttribute(`data-orientation`,this.orientation),t===this.handles.length-1?e.classList.add(`lm-mod-hidden`):e.classList.remove(`lm-mod-hidden`)})}holdSizes(){for(let e of this.sizers)e.sizeHint=e.size}holdAllSizes(){for(let e of this.children)e.holdAllSizes();this.holdSizes()}normalizeSizes(){let e=this.sizers.length;if(e===0)return;this.holdSizes();let t=this.sizers.reduce((e,t)=>e+t.sizeHint,0);if(t===0)for(let t of this.sizers)t.size=t.sizeHint=1/e;else for(let e of this.sizers)e.size=e.sizeHint/=t;this.normalized=!0}createNormalizedSizes(){let e=this.sizers.length;if(e===0)return[];let t=this.sizers.map(e=>e.size),n=t.reduce((e,t)=>e+t,0);if(n===0)for(let n=t.length-1;n>-1;n--)t[n]=1/e;else for(let e=t.length-1;e>-1;e--)t[e]/=n;return t}fit(e,t){let n=this.orientation===`horizontal`,r=Math.max(0,this.children.length-1)*e,i=n?r:0,a=n?0:r;for(let r=0,o=this.children.length;r<o;++r){let o=this.children[r].fit(e,t);n?(a=Math.max(a,o.minHeight),i+=o.minWidth,this.sizers[r].minSize=o.minWidth):(i=Math.max(i,o.minWidth),a+=o.minHeight,this.sizers[r].minSize=o.minHeight)}return{minWidth:i,minHeight:a,maxWidth:1/0,maxHeight:1/0}}update(e,t,n,r,i,a){let o=this.orientation===`horizontal`,s=Math.max(0,this.children.length-1)*i,c=Math.max(0,(o?n:r)-s);if(this.normalized){for(let e of this.sizers)e.sizeHint*=c;this.normalized=!1}M.calc(this.sizers,c);for(let s=0,c=this.children.length;s<c;++s){let c=this.children[s],l=this.sizers[s].size,u=this.handles[s].style;o?(c.update(e,t,l,r,i,a),e+=l,u.top=`${t}px`,u.left=`${e}px`,u.width=`${i}px`,u.height=`${r}px`,e+=i):(c.update(e,t,n,l,i,a),t+=l,u.top=`${t}px`,u.left=`${e}px`,u.width=`${n}px`,u.height=`${i}px`,t+=i)}}}e.SplitLayoutNode=SplitLayoutNode;function addAria(e,t){e.node.setAttribute(`role`,`tabpanel`);let n=t.renderer;if(n instanceof K.Renderer){let t=n.createTabKey({title:e.title,current:!1,zIndex:0});e.node.setAttribute(`aria-labelledby`,t)}}e.addAria=addAria;function removeAria(e){e.node.removeAttribute(`role`),e.node.removeAttribute(`aria-labelledby`)}e.removeAria=removeAria;function normalizeTabAreaConfig(e,t){if(e.widgets.length===0)return null;let n=[];for(let r of e.widgets)t.has(r)||(t.add(r),n.push(r));if(n.length===0)return null;let r=e.currentIndex;return r!==-1&&(r<0||r>=n.length)&&(r=0),{type:`tab-area`,widgets:n,currentIndex:r}}function normalizeSplitAreaConfig(e,t){let n=e.orientation,r=[],i=[];for(let a=0,o=e.children.length;a<o;++a){let o=normalizeAreaConfig(e.children[a],t);o&&(o.type===`tab-area`||o.orientation!==n?(r.push(o),i.push(Math.abs(e.sizes[a]||0))):(r.push(...o.children),i.push(...o.sizes)))}return r.length===0?null:r.length===1?r[0]:{type:`split-area`,orientation:n,children:r,sizes:i}}function realizeTabAreaConfig(t,n,r){let i=n.createTabBar(r);for(let n of t.widgets)n.hide(),i.addTab(n.title),e.addAria(n,i);return i.currentIndex=t.currentIndex,new TabLayoutNode(i)}function realizeSplitAreaConfig(e,t,n){let r=new SplitLayoutNode(e.orientation);return e.children.forEach((i,a)=>{let o=realizeAreaConfig(i,t,n),s=createSizer(e.sizes[a]),c=t.createHandle();r.children.push(o),r.handles.push(c),r.sizers.push(s),o.parent=r}),r.syncHandles(),r.normalizeSizes(),r}})(J||={});var ue=class DockPanel$1 extends N{static{__name(this,`DockPanel`)}constructor(e={}){super(),this._drag=null,this._tabsMovable=!0,this._tabsConstrained=!1,this._addButtonEnabled=!1,this._pressData=null,this._layoutModified=new Signal(this),this._addRequested=new Signal(this),this.addClass(`lm-DockPanel`),this._document=e.document||document,this._mode=e.mode||`multiple-document`,this._renderer=e.renderer||DockPanel$1.defaultRenderer,this._edges=e.edges||Y.DEFAULT_EDGES,e.tabsMovable!==void 0&&(this._tabsMovable=e.tabsMovable),e.tabsConstrained!==void 0&&(this._tabsConstrained=e.tabsConstrained),e.addButtonEnabled!==void 0&&(this._addButtonEnabled=e.addButtonEnabled),this.dataset.mode=this._mode;let t={createTabBar:()=>this._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new DockLayout({document:this._document,renderer:t,spacing:e.spacing,hiddenMode:e.hiddenMode}),this.overlay=e.overlay||new DockPanel$1.Overlay,this.node.appendChild(this.overlay.node)}dispose(){this._releaseMouse(),this.overlay.hide(0),this._drag&&this._drag.dispose(),super.dispose()}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get layoutModified(){return this._layoutModified}get addRequested(){return this._addRequested}get renderer(){return this.layout.renderer}get spacing(){return this.layout.spacing}set spacing(e){this.layout.spacing=e}get mode(){return this._mode}set mode(e){if(this._mode===e)return;this._mode=e,this.dataset.mode=e;let t=this.layout;switch(e){case`multiple-document`:for(let e of t.tabBars())e.show();break;case`single-document`:t.restoreLayout(Y.createSingleDocumentConfig(this));break;default:throw`unreachable`}E.postMessage(this,Y.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(e){this._tabsMovable=e;for(let t of this.tabBars())t.tabsMovable=e}get tabsConstrained(){return this._tabsConstrained}set tabsConstrained(e){this._tabsConstrained=e}get addButtonEnabled(){return this._addButtonEnabled}set addButtonEnabled(e){this._addButtonEnabled=e;for(let t of this.tabBars())t.addButtonEnabled=e}get isEmpty(){return this.layout.isEmpty}*widgets(){yield*this.layout.widgets()}*selectedWidgets(){yield*this.layout.selectedWidgets()}*tabBars(){yield*this.layout.tabBars()}*handles(){yield*this.layout.handles()}selectWidget(e){let t=find(this.tabBars(),t=>t.titles.indexOf(e.title)!==-1);if(!t)throw Error(`Widget is not contained in the dock panel.`);t.currentTitle=e.title}activateWidget(e){this.selectWidget(e),e.activate()}saveLayout(){return this.layout.saveLayout()}restoreLayout(e){this._mode=`multiple-document`,this.layout.restoreLayout(e),(b.IS_EDGE||b.IS_IE)&&E.flush(),E.postMessage(this,Y.LayoutModified)}addWidget(e,t={}){this._mode===`single-document`?this.layout.addWidget(e):this.layout.addWidget(e,t),E.postMessage(this,Y.LayoutModified)}processMessage(e){e.type===`layout-modified`?this._layoutModified.emit(void 0):super.processMessage(e)}handleEvent(e){switch(e.type){case`lm-dragenter`:this._evtDragEnter(e);break;case`lm-dragleave`:this._evtDragLeave(e);break;case`lm-dragover`:this._evtDragOver(e);break;case`lm-drop`:this._evtDrop(e);break;case`pointerdown`:this._evtPointerDown(e);break;case`pointermove`:this._evtPointerMove(e);break;case`pointerup`:this._evtPointerUp(e);break;case`keydown`:this._evtKeyDown(e);break;case`contextmenu`:e.preventDefault(),e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener(`lm-dragenter`,this),this.node.addEventListener(`lm-dragleave`,this),this.node.addEventListener(`lm-dragover`,this),this.node.addEventListener(`lm-drop`,this),this.node.addEventListener(`pointerdown`,this)}onAfterDetach(e){this.node.removeEventListener(`lm-dragenter`,this),this.node.removeEventListener(`lm-dragleave`,this),this.node.removeEventListener(`lm-dragover`,this),this.node.removeEventListener(`lm-drop`,this),this.node.removeEventListener(`pointerdown`,this),this._releaseMouse()}onChildAdded(e){Y.isGeneratedTabBarProperty.get(e.child)||e.child.addClass(`lm-DockPanel-widget`)}onChildRemoved(e){Y.isGeneratedTabBarProperty.get(e.child)||(e.child.removeClass(`lm-DockPanel-widget`),E.postMessage(this,Y.LayoutModified))}_evtDragEnter(e){e.mimeData.hasData(`application/vnd.lumino.widget-factory`)&&(e.preventDefault(),e.stopPropagation())}_evtDragLeave(e){e.preventDefault(),!(this._tabsConstrained&&e.source!==this)&&(e.stopPropagation(),this.overlay.hide(1))}_evtDragOver(e){e.preventDefault(),this._tabsConstrained&&e.source!==this||this._showOverlay(e.clientX,e.clientY)===`invalid`?e.dropAction=`none`:(e.stopPropagation(),e.dropAction=e.proposedAction)}_evtDrop(e){if(e.preventDefault(),this.overlay.hide(0),e.proposedAction===`none`){e.dropAction=`none`;return}let{clientX:t,clientY:n}=e,{zone:r,target:i}=Y.findDropTarget(this,t,n,this._edges);if(this._tabsConstrained&&e.source!==this||r===`invalid`){e.dropAction=`none`;return}let a=e.mimeData.getData(`application/vnd.lumino.widget-factory`);if(typeof a!=`function`){e.dropAction=`none`;return}let o=a();if(!(o instanceof N)){e.dropAction=`none`;return}if(o.contains(this)){e.dropAction=`none`;return}let s=i?Y.getDropRef(i.tabBar):null;switch(r){case`root-all`:this.addWidget(o);break;case`root-top`:this.addWidget(o,{mode:`split-top`});break;case`root-left`:this.addWidget(o,{mode:`split-left`});break;case`root-right`:this.addWidget(o,{mode:`split-right`});break;case`root-bottom`:this.addWidget(o,{mode:`split-bottom`});break;case`widget-all`:this.addWidget(o,{mode:`tab-after`,ref:s});break;case`widget-top`:this.addWidget(o,{mode:`split-top`,ref:s});break;case`widget-left`:this.addWidget(o,{mode:`split-left`,ref:s});break;case`widget-right`:this.addWidget(o,{mode:`split-right`,ref:s});break;case`widget-bottom`:this.addWidget(o,{mode:`split-bottom`,ref:s});break;case`widget-tab`:this.addWidget(o,{mode:`tab-after`,ref:s});break;default:throw`unreachable`}e.dropAction=e.proposedAction,e.stopPropagation(),this.activateWidget(o)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),e.keyCode===27&&(this._releaseMouse(),E.postMessage(this,Y.LayoutModified))}_evtPointerDown(e){if(e.button!==0)return;let t=this.layout,n=e.target,r=find(t.handles(),e=>e.contains(n));if(!r)return;e.preventDefault(),e.stopPropagation(),this._document.addEventListener(`keydown`,this,!0),this._document.addEventListener(`pointerup`,this,!0),this._document.addEventListener(`pointermove`,this,!0),this._document.addEventListener(`contextmenu`,this,!0);let i=r.getBoundingClientRect(),a=e.clientX-i.left,o=e.clientY-i.top,s=window.getComputedStyle(r),c=O.overrideCursor(s.cursor,this._document);this._pressData={handle:r,deltaX:a,deltaY:o,override:c}}_evtPointerMove(e){if(!this._pressData)return;e.preventDefault(),e.stopPropagation();let t=this.node.getBoundingClientRect(),n=e.clientX-t.left-this._pressData.deltaX,r=e.clientY-t.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,n,r)}_evtPointerUp(e){e.button===0&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse(),E.postMessage(this,Y.LayoutModified))}_releaseMouse(){this._pressData&&(this._pressData.override.dispose(),this._pressData=null,this._document.removeEventListener(`keydown`,this,!0),this._document.removeEventListener(`pointerup`,this,!0),this._document.removeEventListener(`pointermove`,this,!0),this._document.removeEventListener(`contextmenu`,this,!0))}_showOverlay(e,t){let{zone:n,target:r}=Y.findDropTarget(this,e,t,this._edges);if(n===`invalid`)return this.overlay.hide(100),n;let i,a,o,s,c=y.boxSizing(this.node),l=this.node.getBoundingClientRect();switch(n){case`root-all`:i=c.paddingTop,a=c.paddingLeft,o=c.paddingRight,s=c.paddingBottom;break;case`root-top`:i=c.paddingTop,a=c.paddingLeft,o=c.paddingRight,s=l.height*Y.GOLDEN_RATIO;break;case`root-left`:i=c.paddingTop,a=c.paddingLeft,o=l.width*Y.GOLDEN_RATIO,s=c.paddingBottom;break;case`root-right`:i=c.paddingTop,a=l.width*Y.GOLDEN_RATIO,o=c.paddingRight,s=c.paddingBottom;break;case`root-bottom`:i=l.height*Y.GOLDEN_RATIO,a=c.paddingLeft,o=c.paddingRight,s=c.paddingBottom;break;case`widget-all`:i=r.top,a=r.left,o=r.right,s=r.bottom;break;case`widget-top`:i=r.top,a=r.left,o=r.right,s=r.bottom+r.height/2;break;case`widget-left`:i=r.top,a=r.left,o=r.right+r.width/2,s=r.bottom;break;case`widget-right`:i=r.top,a=r.left+r.width/2,o=r.right,s=r.bottom;break;case`widget-bottom`:i=r.top+r.height/2,a=r.left,o=r.right,s=r.bottom;break;case`widget-tab`:{let e=r.tabBar.node.getBoundingClientRect().height;i=r.top,a=r.left,o=r.right,s=r.bottom+r.height-e;break}default:throw`unreachable`}return this.overlay.show({top:i,left:a,right:o,bottom:s}),n}_createTabBar(){let e=this._renderer.createTabBar(this._document);return Y.isGeneratedTabBarProperty.set(e,!0),this._mode===`single-document`&&e.hide(),e.tabsMovable=this._tabsMovable,e.allowDeselect=!1,e.addButtonEnabled=this._addButtonEnabled,e.removeBehavior=`select-previous-tab`,e.insertBehavior=`select-tab-if-needed`,e.tabMoved.connect(this._onTabMoved,this),e.currentChanged.connect(this._onCurrentChanged,this),e.tabCloseRequested.connect(this._onTabCloseRequested,this),e.tabDetachRequested.connect(this._onTabDetachRequested,this),e.tabActivateRequested.connect(this._onTabActivateRequested,this),e.addRequested.connect(this._onTabAddRequested,this),e}_createHandle(){return this._renderer.createHandle()}_onTabMoved(){E.postMessage(this,Y.LayoutModified)}_onCurrentChanged(e,t){let{previousTitle:n,currentTitle:r}=t;n&&n.owner.hide(),r&&r.owner.show(),(b.IS_EDGE||b.IS_IE)&&E.flush(),E.postMessage(this,Y.LayoutModified)}_onTabAddRequested(e){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabDetachRequested(e,t){if(this._drag)return;e.releaseMouse();let{title:n,tab:r,clientX:i,clientY:a,offset:o}=t,s=new g.MimeData,factory=()=>n.owner;s.setData(`application/vnd.lumino.widget-factory`,factory);let c=r.cloneNode(!0);o&&(c.style.top=`-${o.y}px`,c.style.left=`-${o.x}px`),this._drag=new O({document:this._document,mimeData:s,dragImage:c,proposedAction:`move`,supportedActions:`move`,source:this}),r.classList.add(`lm-mod-hidden`);let cleanup=()=>{this._drag=null,r.classList.remove(`lm-mod-hidden`)};this._drag.start(i,a).then(cleanup)}};(function(e){class Overlay{constructor(){this._timer=-1,this._hidden=!0,this.node=document.createElement(`div`),this.node.classList.add(`lm-DockPanel-overlay`),this.node.classList.add(`lm-mod-hidden`),this.node.style.position=`absolute`,this.node.style.contain=`strict`}show(e){let t=this.node.style;t.top=`${e.top}px`,t.left=`${e.left}px`,t.right=`${e.right}px`,t.bottom=`${e.bottom}px`,clearTimeout(this._timer),this._timer=-1,this._hidden&&(this._hidden=!1,this.node.classList.remove(`lm-mod-hidden`))}hide(e){if(!this._hidden){if(e<=0){clearTimeout(this._timer),this._timer=-1,this._hidden=!0,this.node.classList.add(`lm-mod-hidden`);return}this._timer===-1&&(this._timer=window.setTimeout(()=>{this._timer=-1,this._hidden=!0,this.node.classList.add(`lm-mod-hidden`)},e))}}}e.Overlay=Overlay;class Renderer{createTabBar(e){let t=new K({document:e});return t.addClass(`lm-DockPanel-tabBar`),t}createHandle(){let e=document.createElement(`div`);return e.className=`lm-DockPanel-handle`,e}}e.Renderer=Renderer,e.defaultRenderer=new Renderer})(ue||={});var Y;(function(e){e.GOLDEN_RATIO=.618,e.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},e.LayoutModified=new ConflatableMessage(`layout-modified`),e.isGeneratedTabBarProperty=new AttachedProperty({name:`isGeneratedTabBar`,create:()=>!1});function createSingleDocumentConfig(e){if(e.isEmpty)return{main:null};let t=Array.from(e.widgets()),n=e.selectedWidgets().next().value;return{main:{type:`tab-area`,widgets:t,currentIndex:n?t.indexOf(n):-1}}}e.createSingleDocumentConfig=createSingleDocumentConfig;function findDropTarget(e,t,n,r){if(!y.hitTest(e.node,t,n))return{zone:`invalid`,target:null};let i=e.layout;if(i.isEmpty)return{zone:`root-all`,target:null};if(e.mode===`multiple-document`){let i=e.node.getBoundingClientRect(),a=t-i.left+1,o=n-i.top+1,s=i.right-t,c=i.bottom-n;switch(Math.min(o,s,c,a)){case o:if(o<r.top)return{zone:`root-top`,target:null};break;case s:if(s<r.right)return{zone:`root-right`,target:null};break;case c:if(c<r.bottom)return{zone:`root-bottom`,target:null};break;case a:if(a<r.left)return{zone:`root-left`,target:null};break;default:throw`unreachable`}}let a=i.hitTestTabAreas(t,n);if(!a)return{zone:`invalid`,target:null};if(e.mode===`single-document`)return{zone:`widget-all`,target:a};let o=a.x-a.left+1,s=a.y-a.top+1,c=a.left+a.width-a.x,l=a.top+a.height-a.y,u=a.tabBar.node.getBoundingClientRect().height;if(s<u)return{zone:`widget-tab`,target:a};let d=Math.round(a.width/3),f=Math.round(a.height/3);if(o>d&&c>d&&s>f&&l>f)return{zone:`widget-all`,target:a};o/=d,s/=f,c/=d,l/=f;let p=Math.min(o,s,c,l),m;switch(p){case o:m=`widget-left`;break;case s:m=`widget-top`;break;case c:m=`widget-right`;break;case l:m=`widget-bottom`;break;default:throw`unreachable`}return{zone:m,target:a}}e.findDropTarget=findDropTarget;function getDropRef(e){return e.titles.length===0?null:e.currentTitle?e.currentTitle.owner:e.titles[e.titles.length-1].owner}e.getDropRef=getDropRef})(Y||={});var de=class GridLayout extends Layout{constructor(e={}){super(e),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new BoxSizer],this._columnSizers=[new BoxSizer],this._box=null,e.rowCount!==void 0&&X.reallocSizers(this._rowSizers,e.rowCount),e.columnCount!==void 0&&X.reallocSizers(this._columnSizers,e.columnCount),e.rowSpacing!==void 0&&(this._rowSpacing=X.clampValue(e.rowSpacing)),e.columnSpacing!==void 0&&(this._columnSpacing=X.clampValue(e.columnSpacing))}dispose(){for(let e of this._items){let t=e.widget;e.dispose(),t.dispose()}this._box=null,this._items.length=0,this._rowStarts.length=0,this._rowSizers.length=0,this._columnStarts.length=0,this._columnSizers.length=0,super.dispose()}get rowCount(){return this._rowSizers.length}set rowCount(e){e!==this.rowCount&&(X.reallocSizers(this._rowSizers,e),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(e){e!==this.columnCount&&(X.reallocSizers(this._columnSizers,e),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(e){e=X.clampValue(e),this._rowSpacing!==e&&(this._rowSpacing=e,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(e){e=X.clampValue(e),this._columnSpacing!==e&&(this._columnSpacing=e,this.parent&&this.parent.fit())}rowStretch(e){let t=this._rowSizers[e];return t?t.stretch:-1}setRowStretch(e,t){let n=this._rowSizers[e];n&&(t=X.clampValue(t),n.stretch!==t&&(n.stretch=t,this.parent&&this.parent.update()))}columnStretch(e){let t=this._columnSizers[e];return t?t.stretch:-1}setColumnStretch(e,t){let n=this._columnSizers[e];n&&(t=X.clampValue(t),n.stretch!==t&&(n.stretch=t,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(let e of this._items)yield e.widget}addWidget(e){u.findFirstIndex(this._items,t=>t.widget===e)===-1&&(this._items.push(new LayoutItem(e)),this.parent&&this.attachWidget(e))}removeWidget(e){let t=u.findFirstIndex(this._items,t=>t.widget===e);if(t===-1)return;let n=u.removeAt(this._items,t);this.parent&&this.detachWidget(e),n.dispose()}init(){super.init();for(let e of this)this.attachWidget(e)}attachWidget(e){this.parent.isAttached&&E.sendMessage(e,N.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&E.sendMessage(e,N.Msg.AfterAttach),this.parent.fit()}detachWidget(e){this.parent.isAttached&&E.sendMessage(e,N.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&E.sendMessage(e,N.Msg.AfterDetach),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){for(let e=0,t=this.rowCount;e<t;++e)this._rowSizers[e].minSize=0;for(let e=0,t=this.columnCount;e<t;++e)this._columnSizers[e].minSize=0;let e=this._items.filter(e=>!e.isHidden);for(let t=0,n=e.length;t<n;++t)e[t].fit();let t=this.rowCount-1,n=this.columnCount-1;e.sort(X.rowSpanCmp);for(let n=0,r=e.length;n<r;++n){let r=e[n],i=GridLayout.getCellConfig(r.widget),a=Math.min(i.row,t),o=Math.min(i.row+i.rowSpan-1,t);X.distributeMin(this._rowSizers,a,o,r.minHeight)}e.sort(X.columnSpanCmp);for(let t=0,r=e.length;t<r;++t){let r=e[t],i=GridLayout.getCellConfig(r.widget),a=Math.min(i.column,n),o=Math.min(i.column+i.columnSpan-1,n);X.distributeMin(this._columnSizers,a,o,r.minWidth)}if(this.fitPolicy===`set-no-constraint`){E.sendMessage(this.parent,N.Msg.UpdateRequest);return}let r=t*this._rowSpacing,i=n*this._columnSpacing;for(let e=0,t=this.rowCount;e<t;++e)r+=this._rowSizers[e].minSize;for(let e=0,t=this.columnCount;e<t;++e)i+=this._columnSizers[e].minSize;let a=this._box=y.boxSizing(this.parent.node);i+=a.horizontalSum,r+=a.verticalSum;let o=this.parent.node.style;o.minWidth=`${i}px`,o.minHeight=`${r}px`,this._dirty=!0,this.parent.parent&&E.sendMessage(this.parent.parent,N.Msg.FitRequest),this._dirty&&E.sendMessage(this.parent,N.Msg.UpdateRequest)}_update(e,t){this._dirty=!1,e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||=y.boxSizing(this.parent.node);let n=this._box.paddingTop,r=this._box.paddingLeft,i=e-this._box.horizontalSum,a=t-this._box.verticalSum,o=this.rowCount-1,s=this.columnCount-1,c=o*this._rowSpacing,l=s*this._columnSpacing;M.calc(this._rowSizers,Math.max(0,a-c)),M.calc(this._columnSizers,Math.max(0,i-l));for(let e=0,t=n,r=this.rowCount;e<r;++e)this._rowStarts[e]=t,t+=this._rowSizers[e].size+this._rowSpacing;for(let e=0,t=r,n=this.columnCount;e<n;++e)this._columnStarts[e]=t,t+=this._columnSizers[e].size+this._columnSpacing;for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e];if(t.isHidden)continue;let n=GridLayout.getCellConfig(t.widget),r=Math.min(n.row,o),i=Math.min(n.column,s),a=Math.min(n.row+n.rowSpan-1,o),c=Math.min(n.column+n.columnSpan-1,s),l=this._columnStarts[i],u=this._rowStarts[r],d=this._columnStarts[c]+this._columnSizers[c].size-l,f=this._rowStarts[a]+this._rowSizers[a].size-u;t.update(l,u,d,f)}}};(function(e){function getCellConfig(e){return X.cellConfigProperty.get(e)}e.getCellConfig=getCellConfig;function setCellConfig(e,t){X.cellConfigProperty.set(e,X.normalizeConfig(t))}e.setCellConfig=setCellConfig})(de||={});var X;(function(e){e.cellConfigProperty=new AttachedProperty({name:`cellConfig`,create:()=>({row:0,column:0,rowSpan:1,columnSpan:1}),changed:onChildCellConfigChanged});function normalizeConfig(e){return{row:Math.max(0,Math.floor(e.row||0)),column:Math.max(0,Math.floor(e.column||0)),rowSpan:Math.max(1,Math.floor(e.rowSpan||0)),columnSpan:Math.max(1,Math.floor(e.columnSpan||0))}}e.normalizeConfig=normalizeConfig;function clampValue(e){return Math.max(0,Math.floor(e))}e.clampValue=clampValue;function rowSpanCmp(t,n){let r=e.cellConfigProperty.get(t.widget),i=e.cellConfigProperty.get(n.widget);return r.rowSpan-i.rowSpan}e.rowSpanCmp=rowSpanCmp;function columnSpanCmp(t,n){let r=e.cellConfigProperty.get(t.widget),i=e.cellConfigProperty.get(n.widget);return r.columnSpan-i.columnSpan}e.columnSpanCmp=columnSpanCmp;function reallocSizers(e,t){for(t=Math.max(1,Math.floor(t));e.length<t;)e.push(new BoxSizer);e.length>t&&(e.length=t)}e.reallocSizers=reallocSizers;function distributeMin(e,t,n,r){if(n<t)return;if(t===n){let n=e[t];n.minSize=Math.max(n.minSize,r);return}let i=0;for(let r=t;r<=n;++r)i+=e[r].minSize;if(i>=r)return;let a=(r-i)/(n-t+1);for(let r=t;r<=n;++r)e[r].minSize+=a}e.distributeMin=distributeMin;function onChildCellConfigChanged(e){e.parent&&e.parent.layout instanceof de&&e.parent.fit()}})(X||={});var fe=class MenuBar extends N{constructor(e={}){super({node:pe.createNode()}),this._activeIndex=-1,this._tabFocusIndex=0,this._menus=[],this._childMenu=null,this._overflowMenu=null,this._menuItemSizes=[],this._overflowIndex=-1,this.addClass(`lm-MenuBar`),this.setFlag(N.Flag.DisallowLayout),this.renderer=e.renderer||MenuBar.defaultRenderer,this._forceItemsPosition=e.forceItemsPosition||{forceX:!0,forceY:!0},this._overflowMenuOptions=e.overflowMenuOptions||{isVisible:!0}}dispose(){this._closeChildMenu(),this._menus.length=0,super.dispose()}get childMenu(){return this._childMenu}get overflowIndex(){return this._overflowIndex}get overflowMenu(){return this._overflowMenu}get contentNode(){return this.node.getElementsByClassName(`lm-MenuBar-content`)[0]}get activeMenu(){return this._menus[this._activeIndex]||null}set activeMenu(e){this.activeIndex=e?this._menus.indexOf(e):-1}get activeIndex(){return this._activeIndex}set activeIndex(e){(e<0||e>=this._menus.length)&&(e=-1),e>-1&&this._menus[e].items.length===0&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this.update())}get menus(){return this._menus}openActiveMenu(){this._activeIndex!==-1&&(this._openChildMenu(),this._childMenu&&(this._childMenu.activeIndex=-1,this._childMenu.activateNextItem()))}addMenu(e,t=!0){this.insertMenu(this._menus.length,e,t)}insertMenu(e,t,n=!0){this._closeChildMenu();let r=this._menus.indexOf(t),i=Math.max(0,Math.min(e,this._menus.length));if(r===-1){u.insert(this._menus,i,t),t.addClass(`lm-MenuBar-menu`),t.aboutToClose.connect(this._onMenuAboutToClose,this),t.menuRequested.connect(this._onMenuMenuRequested,this),t.title.changed.connect(this._onTitleChanged,this),n&&this.update();return}i===this._menus.length&&i--,r!==i&&(u.move(this._menus,r,i),n&&this.update())}removeMenu(e,t=!0){this.removeMenuAt(this._menus.indexOf(e),t)}removeMenuAt(e,t=!0){this._closeChildMenu();let n=u.removeAt(this._menus,e);n&&(n.aboutToClose.disconnect(this._onMenuAboutToClose,this),n.menuRequested.disconnect(this._onMenuMenuRequested,this),n.title.changed.disconnect(this._onTitleChanged,this),n.removeClass(`lm-MenuBar-menu`),t&&this.update())}clearMenus(){if(this._menus.length!==0){this._closeChildMenu();for(let e of this._menus)e.aboutToClose.disconnect(this._onMenuAboutToClose,this),e.menuRequested.disconnect(this._onMenuMenuRequested,this),e.title.changed.disconnect(this._onTitleChanged,this),e.removeClass(`lm-MenuBar-menu`);this._menus.length=0,this.update()}}handleEvent(e){switch(e.type){case`keydown`:this._evtKeyDown(e);break;case`pointerdown`:this._evtPointerDown(e);break;case`pointermove`:case`pointerleave`:this._evtPointerMove(e);break;case`focusout`:this._evtFocusOut(e);break;case`contextmenu`:e.preventDefault(),e.stopPropagation();break}}onBeforeAttach(e){this.node.addEventListener(`keydown`,this),this.node.addEventListener(`pointerdown`,this),this.node.addEventListener(`pointermove`,this),this.node.addEventListener(`pointerleave`,this),this.node.addEventListener(`focusout`,this),this.node.addEventListener(`contextmenu`,this)}onAfterDetach(e){this.node.removeEventListener(`keydown`,this),this.node.removeEventListener(`pointerdown`,this),this.node.removeEventListener(`pointermove`,this),this.node.removeEventListener(`pointerleave`,this),this.node.removeEventListener(`focusout`,this),this.node.removeEventListener(`contextmenu`,this),this._closeChildMenu()}onActivateRequest(e){this.isAttached&&this._focusItemAt(0)}onResize(e){this.update(),super.onResize(e)}onUpdateRequest(e){let t=this._menus,n=this.renderer,r=this._activeIndex,i=this._tabFocusIndex>=0&&this._tabFocusIndex<t.length?this._tabFocusIndex:0,a=this._overflowIndex>-1?this._overflowIndex:t.length,o=0,s=!1;a=this._overflowMenu===null?a:a-1;let c=Array(a);for(let e=0;e<a;++e)c[e]=n.renderItem({title:t[e].title,active:e===r,tabbable:e===i,disabled:t[e].items.length===0,onfocus:()=>{this._tabFocusIndex=e,this.activeIndex=e}}),o+=this._menuItemSizes[e],t[e].title.label===this._overflowMenuOptions.title&&(s=!0,a--);if(this._overflowMenuOptions.isVisible){if(this._overflowIndex>-1&&!s){if(this._overflowMenu===null){let e=this._overflowMenuOptions.title??`...`;this._overflowMenu=new U({commands:new C}),this._overflowMenu.title.label=e,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let e=t.length-2;e>=a;e--){let t=this.menus[e];t.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:`submenu`,submenu:t}),this.removeMenu(t,!1)}c[a]=n.renderItem({title:this._overflowMenu.title,active:a===r&&t[a].items.length!==0,tabbable:a===i,disabled:t[a].items.length===0,onfocus:()=>{this._tabFocusIndex=a,this.activeIndex=a}}),a++}else if(this._overflowMenu!==null){let e=this._overflowMenu.items,r=this.node.offsetWidth,s=this._overflowMenu.items.length;for(let l=0;l<s;++l){let s=t.length-1-l;if(r-o>this._menuItemSizes[s]){let r=e[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(a,r,!1),c[a]=n.renderItem({title:r.title,active:!1,tabbable:a===i,disabled:t[a].items.length===0,onfocus:()=>{this._tabFocusIndex=a,this.activeIndex=a}}),a++}}this._overflowMenu.items.length===0&&(this.removeMenu(this._overflowMenu,!1),c.pop(),this._overflowMenu=null,this._overflowIndex=-1)}}A.render(c,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;let e=this.contentNode.childNodes,t=this.node.offsetWidth,n=0,r=-1,i=e.length;if(this._menuItemSizes.length==0)for(let a=0;a<i;a++){let i=e[a];n+=i.offsetWidth,this._menuItemSizes.push(i.offsetWidth),n>t&&r===-1&&(r=a)}else for(let e=0;e<this._menuItemSizes.length;e++)if(n+=this._menuItemSizes[e],n>t){r=e;break}this._overflowIndex=r}_evtKeyDown(e){let t=e.keyCode;if(t===9){this.activeIndex=-1;return}if(e.preventDefault(),e.stopPropagation(),t===13||t===32||t===38||t===40){if(this.activeIndex=this._tabFocusIndex,this.activeIndex!==this._tabFocusIndex)return;this.openActiveMenu();return}if(t===27){this._closeChildMenu(),this._focusItemAt(this.activeIndex);return}if(t===37||t===39){let e=t===37?-1:1,n=this._tabFocusIndex+e,r=this._menus.length;for(let t=0;t<r;t++){let i=(r+n+e*t)%r;if(this._menus[i].items.length){this._focusItemAt(i);return}}return}let n=getKeyboardLayout().keyForKeydownEvent(e);if(!n)return;let r=this._activeIndex+1,i=pe.findMnemonic(this._menus,n,r);i.index!==-1&&!i.multiple?(this.activeIndex=i.index,this.openActiveMenu()):i.index===-1?i.auto!==-1&&(this.activeIndex=i.auto,this._focusItemAt(this.activeIndex)):(this.activeIndex=i.index,this._focusItemAt(this.activeIndex))}_evtPointerDown(e){if(!y.hitTest(this.node,e.clientX,e.clientY))return;e.stopPropagation(),e.stopImmediatePropagation();let t=u.findFirstIndex(this.contentNode.children,t=>y.hitTest(t,e.clientX,e.clientY));if(t===-1){this._closeChildMenu();return}if(e.button===0)if(this._childMenu)this._closeChildMenu(),this.activeIndex=t;else{e.preventDefault();let n=this._positionForMenu(t);U.saveWindowData(),this.activeIndex=t,this._openChildMenu(n)}}_evtPointerMove(e){let t=u.findFirstIndex(this.contentNode.children,t=>y.hitTest(t,e.clientX,e.clientY));if(t===this._activeIndex||t===-1&&this._childMenu)return;let n=t>=0&&this._childMenu?this._positionForMenu(t):null;U.saveWindowData(),this.activeIndex=t,n&&this._openChildMenu(n)}_positionForMenu(e){let{left:t,bottom:n}=this.contentNode.children[e].getBoundingClientRect();return{top:n,left:t}}_evtFocusOut(e){!this._childMenu&&!this.node.contains(e.relatedTarget)&&(this.activeIndex=-1)}_focusItemAt(e){let t=this.contentNode.childNodes[e];t&&t.focus()}_openChildMenu(e={}){let t=this.activeMenu;if(!t){this._closeChildMenu();return}let n=this._childMenu;if(n===t)return;this._childMenu=t,n?n.close():document.addEventListener(`pointerdown`,this,!0),this._tabFocusIndex=this.activeIndex,E.sendMessage(this,N.Msg.UpdateRequest);let{left:r,top:i}=e;(r===void 0||i===void 0)&&({left:r,top:i}=this._positionForMenu(this._activeIndex)),n||this.addClass(`lm-mod-active`),t.items.length>0&&t.open(r,i,this._forceItemsPosition)}_closeChildMenu(){if(!this._childMenu)return;this.removeClass(`lm-mod-active`),document.removeEventListener(`pointerdown`,this,!0);let e=this._childMenu;this._childMenu=null,e.close(),this.activeIndex=-1}_onMenuAboutToClose(e){e===this._childMenu&&(this.removeClass(`lm-mod-active`),document.removeEventListener(`pointerdown`,this,!0),this._childMenu=null,this.activeIndex=-1)}_onMenuMenuRequested(e,t){if(e!==this._childMenu)return;let n=this._activeIndex,r=this._menus.length;switch(t){case`next`:this.activeIndex=n===r-1?0:n+1;break;case`previous`:this.activeIndex=n===0?r-1:n-1;break}this.openActiveMenu()}_onTitleChanged(){this.update()}};(function(e){class Renderer{renderItem(e){let t=this.createItemClass(e),n=this.createItemDataset(e),r=this.createItemARIA(e);return h.li({className:t,dataset:n,...e.disabled?{}:{tabindex:e.tabbable?`0`:`-1`},onfocus:e.onfocus,...r},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let t=this.createIconClass(e);return h.div({className:t},e.title.icon,e.title.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return h.div({className:`lm-MenuBar-itemLabel`},t)}createItemClass(e){let t=`lm-MenuBar-item`;return e.title.className&&(t+=` ${e.title.className}`),e.active&&!e.disabled&&(t+=` lm-mod-active`),t}createItemDataset(e){return e.title.dataset}createItemARIA(e){return{role:`menuitem`,"aria-haspopup":`true`,"aria-disabled":e.disabled?`true`:`false`}}createIconClass(e){let t=`lm-MenuBar-itemIcon`,n=e.title.iconClass;return n?`${t} ${n}`:t}formatLabel(e){let{label:t,mnemonic:n}=e.title;if(n<0||n>=t.length)return t;let r=t.slice(0,n),i=t.slice(n+1),a=t[n];return[r,h.span({className:`lm-MenuBar-itemMnemonic`},a),i]}}e.Renderer=Renderer,e.defaultRenderer=new Renderer})(fe||={});var pe;(function(e){function createNode(){let e=document.createElement(`div`),t=document.createElement(`ul`);return t.className=`lm-MenuBar-content`,e.appendChild(t),t.setAttribute(`role`,`menubar`),e}e.createNode=createNode;function findMnemonic(e,t,n){let r=-1,i=-1,a=!1,o=t.toUpperCase();for(let t=0,s=e.length;t<s;++t){let c=(t+n)%s,l=e[c].title;if(l.label.length===0)continue;let u=l.mnemonic;if(u>=0&&u<l.label.length){l.label[u].toUpperCase()===o&&(r===-1?r=c:a=!0);continue}i===-1&&l.label[0].toUpperCase()===o&&(i=c)}return{index:r,multiple:a,auto:i}}e.findMnemonic=findMnemonic})(pe||={});var me;(function(e){function createNode(){let e=document.createElement(`div`),t=document.createElement(`div`),n=document.createElement(`div`),r=document.createElement(`div`),i=document.createElement(`div`);return t.className=`lm-ScrollBar-button`,n.className=`lm-ScrollBar-button`,t.dataset.action=`decrement`,n.dataset.action=`increment`,r.className=`lm-ScrollBar-track`,i.className=`lm-ScrollBar-thumb`,r.appendChild(i),e.appendChild(t),e.appendChild(r),e.appendChild(n),e}e.createNode=createNode;function findPart(e,t){return e.thumbNode.contains(t)?`thumb`:e.trackNode.contains(t)?`track`:e.decrementNode.contains(t)?`decrement`:e.incrementNode.contains(t)?`increment`:null}e.findPart=findPart})(me||={});var StackedLayout=class extends PanelLayout{constructor(e={}){super(e),this._dirty=!1,this._items=[],this._box=null,this._hiddenMode=e.hiddenMode===void 0?N.HiddenMode.Display:e.hiddenMode}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){this._hiddenMode!==e&&(this._hiddenMode=e,this.widgets.length>1&&this.widgets.forEach(e=>{e.hiddenMode=this._hiddenMode}))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(e,t){this._hiddenMode===N.HiddenMode.Scale&&this._items.length>0?(this._items.length===1&&(this.widgets[0].hiddenMode=N.HiddenMode.Scale),t.hiddenMode=N.HiddenMode.Scale):t.hiddenMode=N.HiddenMode.Display,u.insert(this._items,e,new LayoutItem(t)),this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,n){u.move(this._items,e,t),this.parent.update()}detachWidget(e,t){let n=u.removeAt(this._items,e);this.parent.isAttached&&E.sendMessage(t,N.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&E.sendMessage(t,N.Msg.AfterDetach),n.widget.node.style.zIndex=``,this._hiddenMode===N.HiddenMode.Scale&&(t.hiddenMode=N.HiddenMode.Display,this._items.length===1&&(this._items[0].widget.hiddenMode=N.HiddenMode.Display)),n.dispose(),this.parent.fit()}onBeforeShow(e){super.onBeforeShow(e),this.parent.update()}onBeforeAttach(e){super.onBeforeAttach(e),this.parent.fit()}onChildShown(e){this.parent.fit()}onChildHidden(e){this.parent.fit()}onResize(e){this.parent.isVisible&&this._update(e.width,e.height)}onUpdateRequest(e){this.parent.isVisible&&this._update(-1,-1)}onFitRequest(e){this.parent.isAttached&&this._fit()}_fit(){let e=0,t=0;for(let n=0,r=this._items.length;n<r;++n){let r=this._items[n];r.isHidden||(r.fit(),e=Math.max(e,r.minWidth),t=Math.max(t,r.minHeight))}let n=this._box=y.boxSizing(this.parent.node);e+=n.horizontalSum,t+=n.verticalSum;let r=this.parent.node.style;r.minWidth=`${e}px`,r.minHeight=`${t}px`,this._dirty=!0,this.parent.parent&&E.sendMessage(this.parent.parent,N.Msg.FitRequest),this._dirty&&E.sendMessage(this.parent,N.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let n=0;for(let e=0,t=this._items.length;e<t;++e)n+=+!this._items[e].isHidden;if(n===0)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||=y.boxSizing(this.parent.node);let r=this._box.paddingTop,i=this._box.paddingLeft,a=e-this._box.horizontalSum,o=t-this._box.verticalSum;for(let e=0,t=this._items.length;e<t;++e){let t=this._items[e];t.isHidden||(t.widget.node.style.zIndex=`${e}`,t.update(i,r,a,o))}}},StackedPanel=class extends Panel{constructor(e={}){super({layout:he.createLayout(e)}),this._widgetRemoved=new Signal(this),this.addClass(`lm-StackedPanel`)}get hiddenMode(){return this.layout.hiddenMode}set hiddenMode(e){this.layout.hiddenMode=e}get widgetRemoved(){return this._widgetRemoved}onChildAdded(e){e.child.addClass(`lm-StackedPanel-child`)}onChildRemoved(e){e.child.removeClass(`lm-StackedPanel-child`),this._widgetRemoved.emit(e.child)}},he;(function(e){function createLayout(e){return e.layout||new StackedLayout}e.createLayout=createLayout})(he||={});var TabPanel$1=class extends N{static{__name(this,`TabPanel`)}constructor(e={}){super(),this._currentChanged=new Signal(this),this._addRequested=new Signal(this),this.addClass(`lm-TabPanel`),this.tabBar=new K(e),this.tabBar.addClass(`lm-TabPanel-tabBar`),this.stackedPanel=new StackedPanel,this.stackedPanel.addClass(`lm-TabPanel-stackedPanel`),this.tabBar.tabMoved.connect(this._onTabMoved,this),this.tabBar.currentChanged.connect(this._onCurrentChanged,this),this.tabBar.tabCloseRequested.connect(this._onTabCloseRequested,this),this.tabBar.tabActivateRequested.connect(this._onTabActivateRequested,this),this.tabBar.addRequested.connect(this._onTabAddRequested,this),this.stackedPanel.widgetRemoved.connect(this._onWidgetRemoved,this),this._tabPlacement=e.tabPlacement||`top`;let t=Z.directionFromPlacement(this._tabPlacement),n=Z.orientationFromPlacement(this._tabPlacement);this.tabBar.orientation=n,this.tabBar.dataset.placement=this._tabPlacement;let r=new B({direction:t,spacing:0});B.setStretch(this.tabBar,0),B.setStretch(this.stackedPanel,1),r.addWidget(this.tabBar),r.addWidget(this.stackedPanel),this.layout=r}get currentChanged(){return this._currentChanged}get currentIndex(){return this.tabBar.currentIndex}set currentIndex(e){this.tabBar.currentIndex=e}get currentWidget(){let e=this.tabBar.currentTitle;return e?e.owner:null}set currentWidget(e){this.tabBar.currentTitle=e?e.title:null}get tabsMovable(){return this.tabBar.tabsMovable}set tabsMovable(e){this.tabBar.tabsMovable=e}get addButtonEnabled(){return this.tabBar.addButtonEnabled}set addButtonEnabled(e){this.tabBar.addButtonEnabled=e}get tabPlacement(){return this._tabPlacement}set tabPlacement(e){if(this._tabPlacement===e)return;this._tabPlacement=e;let t=Z.directionFromPlacement(e),n=Z.orientationFromPlacement(e);this.tabBar.orientation=n,this.tabBar.dataset.placement=e,this.layout.direction=t}get addRequested(){return this._addRequested}get widgets(){return this.stackedPanel.widgets}addWidget(e){this.insertWidget(this.widgets.length,e)}insertWidget(e,t){t!==this.currentWidget&&t.hide(),this.stackedPanel.insertWidget(e,t),this.tabBar.insertTab(e,t.title),t.node.setAttribute(`role`,`tabpanel`);let n=this.tabBar.renderer;if(n instanceof K.Renderer){let e=n.createTabKey({title:t.title,current:!1,zIndex:0});t.node.setAttribute(`aria-labelledby`,e)}}_onCurrentChanged(e,t){let{previousIndex:n,previousTitle:r,currentIndex:i,currentTitle:a}=t,o=r?r.owner:null,s=a?a.owner:null;o&&o.hide(),s&&s.show(),this._currentChanged.emit({previousIndex:n,previousWidget:o,currentIndex:i,currentWidget:s}),(b.IS_EDGE||b.IS_IE)&&E.flush()}_onTabAddRequested(e,t){this._addRequested.emit(e)}_onTabActivateRequested(e,t){t.title.owner.activate()}_onTabCloseRequested(e,t){t.title.owner.close()}_onTabMoved(e,t){this.stackedPanel.insertWidget(t.toIndex,t.title.owner)}_onWidgetRemoved(e,t){t.node.removeAttribute(`role`),t.node.removeAttribute(`aria-labelledby`),this.tabBar.removeTab(t.title)}},Z;(function(e){function orientationFromPlacement(e){return t[e]}e.orientationFromPlacement=orientationFromPlacement;function directionFromPlacement(e){return n[e]}e.directionFromPlacement=directionFromPlacement;let t={top:`horizontal`,left:`vertical`,right:`vertical`,bottom:`horizontal`},n={top:`top-to-bottom`,left:`left-to-right`,right:`right-to-left`,bottom:`bottom-to-top`}})(Z||={}),p();var Q;(function(e){class WAConflatableMessage extends ConflatableMessage{_wa;constructor(e,t){super(t),this._wa=e}get wa(){return this._wa}conflate(e){return this._wa=e.wa,!0}}e.WAConflatableMessage=WAConflatableMessage;class WAActivateRequest extends WAConflatableMessage{static type=`wa-activate-request`;constructor(e){super(e,WAActivateRequest.type)}}e.WAActivateRequest=WAActivateRequest;class WALayoutChanged extends WAConflatableMessage{static type=`wa-layout-changed`;constructor(e){super(e,WALayoutChanged.type)}}e.WALayoutChanged=WALayoutChanged})(Q||={});var WidgetAdapter=class extends N{_owner;_element;_widget;get widget(){return this._widget}_widgetLayout;lparam={};padding=0;_width=0;_height=0;_ext;_closable;constructor(e,n,r={},i=!1,a={}){super(),this._owner=e,this._element=(0,t.select)(this.node),this.addClass(`phosphor_WidgetAdapter`),this.title.label=``,this.title.closable=!!i,this.title.caption=`Long description for: ${name}`,this._ext=a,typeof i==`boolean`?this._closable={canClose(e,t){return i}}:this._closable=i,n instanceof t.Widget?this._widget=n.target(this.node):this._widgetLayout=n,this.lparam=r}get inputNode(){return this.node.getElementsByTagName(`input`)[0]}resizeAndRender(){this._widget&&((0,t.select)(this.node).style(`padding`,this.padding+`px`).style(`width`,this._width+`px`).style(`height`,this._height+`px`).style(`overflow-x`,this._ext.overflowX).style(`overflow-y`,this._ext.overflowY),this._widget.resize({width:this._width-this.padding*2-2,height:this._height-this.padding*2-2}).lazyRender(),this._owner&&E.postMessage(this._owner,new Q.WALayoutChanged(this)))}onActivateRequest(e){super.onActivateRequest(e),this._widget&&this.resizeAndRender(),this._owner&&E.postMessage(this._owner,new Q.WAActivateRequest(this))}onResize(e){super.onResize(e),this.node&&this.node.offsetParent!==null&&e.width>=0&&e.height>=0?(this._width=e.width,this._height=e.height,this.resizeAndRender()):this._widgetLayout}onCloseRequest(e){this._closable.canClose(this._widget,this)&&this.dispose()}},$=class WidgetAdapterArray extends Array{constructor(e){super(...e)}static create(){return Object.create(WidgetAdapterArray.prototype)}watchRendered(e,t){if(!t)return;let n=this.map(e=>({wa:e,w:e.widget,rc:e.widget.renderCount()})),r=setInterval(()=>{complete()&&(clearInterval(r),t(e))},20);function complete(){for(let e of n)if(e.wa.isVisible&&e.rc>=e.w.renderCount())return!1;return!0}}},PRenderer=class extends ue.Renderer{_owner;constructor(){super()}createTabBar(){let e=super.createTabBar();return e.tabsMovable=this._owner.tabsMovable,e}},PDockPanel=class extends ue{_content;_contentMap;constructor(e={}){e.renderer=e.renderer||new PRenderer,super(e),this._renderer instanceof PRenderer&&(this._renderer._owner=this),this._content=$.create(),this._contentMap={}}appendContent(e){this._content.push(e),this._contentMap[e.widget.id()]=e}removeContent(e){let t=this._content.indexOf(e);t>=0&&this._content.splice(t,1),delete this._contentMap[e.widget.id()],e.dispose()}content(){return this._content}serializeWidget(e){if(e instanceof WidgetAdapter)try{return{__id:e.widget.id()}}catch(e){return{exception:{message:e.message??``,stack:e.stack??[]}}}return null}deserializeWidget(e){let t=this._contentMap[e.__id];return t||=new WidgetAdapter(void 0,e),t}serializeITabAreaConfig(e,t){return{...e,widgets:e.widgets.map(e=>t?this.deserializeWidget(e):this.serializeWidget(e))}}serializeISplitAreaConfig(e,t){return{...e,children:e.children.map(e=>this.serializeAreaConfig(e,t))}}serializeAreaConfig(e,t){if(e)switch(e.type){case`tab-area`:return this.serializeITabAreaConfig(e,t);case`split-area`:return this.serializeISplitAreaConfig(e,t)}}saveLayout(){return{main:this.serializeAreaConfig(super.saveLayout().main,!1)}}restoreLayout(e){return super.restoreLayout({main:this.serializeAreaConfig(e.main,!0)})}},DockPanel=class extends t.HTMLWidget{_dock=new PDockPanel({mode:`multiple-document`});constructor(){super(),this._tag=`div`,this._dock.id=`p`+this.id(),E.installMessageHook(this,this)}getWidgetAdapter(e){let t=null;return this._dock.content().some(n=>n.widget===e?(t=n,!0):!1),t}addWidget(e,t,n=`split-right`,r,i,a=8){let o={mode:n,ref:this.getWidgetAdapter(r)},s=new WidgetAdapter(this,e,{},i);return s.title.label=t,s.padding=a,this._dock.addWidget(s,o),this._dock.appendContent(s),this._dock.tabsMovable=!0,this}removeWidget(e){let t=this.getWidgetAdapter(e);return t&&(e.target(null),this._dock.removeContent(t)),this}isVisible(e){return this.getWidgetAdapter(e).isVisible}widgetAdapters(){return this._dock.content()}widgets(){return this._dock.content().map(e=>e.widget)}layout(e){return arguments.length?(this._dock.restoreLayout(e),this):this._dock.saveLayout()}_layoutObj=null;layoutObj(e){return this._layoutObj=e,this}_pPlaceholder;enter(e,t){super.enter(e,t),this._pPlaceholder=t.append(`div`),N.attach(this._dock,this._pPlaceholder.node())}_prevHideSingleTabs;update(e,t){super.update(e,t),this._pPlaceholder.style(`width`,this.width()+`px`).style(`height`,this.height()+`px`).style(`overflow`,`hidden`),t.select(`.lm-Widget`).style(`width`,this._pPlaceholder.node().clientWidth+`px`).style(`height`,this.height()+`px`),this.widgets().forEach(e=>e.render())}exit(e,t){[...this.widgets()].forEach(e=>this.removeWidget(e)),N.detach(this._dock),super.exit(e,t)}render(e){let n=this;return this._layoutObj!==null&&(this.layout(this._layoutObj),this.layoutObj(null)),super.render(r=>{this._dock.content().watchRendered(this,e),this._dock.update(),setTimeout(()=>{let e=this.element().selectAll(`.lm-Widget.lm-TabBar.lm-DockPanel-tabBar`),r=!1;e.each(function(){let e=(0,t.select)(this),i=e.node().childNodes[0].childNodes.length,a=n.hideSingleTabs()&&i===1;a!==e.classed(`hide`)&&(e.classed(`hide`,a),r=!0)}),r&&this._dock.fit()},0)})}refit(){this._dock.fit()}messageHook(e,t){return e===this&&this.processMessage(t),!0}_lazyLayoutChanged=t.Utility.debounce(async()=>{this.layoutChanged()},1e3);_prevActive;processMessage(e){switch(e.type){case Q.WAActivateRequest.type:let t=e.wa,n=t.widget;this._prevActive!==n&&(this._prevActive=n,this.childActivation(n,t));break;case Q.WALayoutChanged.type:this._lazyLayoutChanged();break}}active(){return this._prevActive}childActivation(e,t){}layoutChanged(){}};DockPanel.prototype._class+=` phosphor_DockPanel`,DockPanel.prototype.publish(`hideSingleTabs`,!1,`boolean`);var SplitPanel=class extends t.HTMLWidget{_split;content=$.create();constructor(e=`vertical`){super(),this._split=new SplitPanel$1({orientation:e}),this._tag=`div`,this._split.id=`p`+this.id()}getWidgetAdapter(e){let t=null;return this.content.some(n=>n.widget===e?(t=n,!0):!1),t}addWidget(e){let t=new WidgetAdapter(this,e);return this._split.addWidget(t),this.content.push(t),this}relativeSizes(e){return arguments.length?(this._split.setRelativeSizes(e),this):this._split.relativeSizes()}enter(e,t){super.enter(e,t),N.attach(this._split,e)}update(e,t){super.update(e,t),t.select(`.lm-Widget`).style(`width`,this.width()+`px`).style(`height`,this.height()+`px`)}exit(e,t){N.detach(this._split),super.exit(e,t)}render(e){return super.render(t=>{this.content.watchRendered(this,e),this._split.update()})}_prevActive;processMessage(e){switch(e.type){case`wa-activate-request`:let t=e.wa.widget;this._prevActive!==t&&(this._prevActive=t,this.childActivation(t));break}}childActivation(e){}};SplitPanel.prototype._class+=` phosphor_SplitPanel`;var TabPanel=class extends t.HTMLWidget{_tab=new TabPanel$1({tabPlacement:`top`});content=$.create();constructor(){super(),this._tag=`div`,this._tab.id=`p`+this.id()}getWidget(e){if(e instanceof WidgetAdapter)return e.widget}getWidgetAdapter(e){let t=null;return this.content.some(n=>n.widget===e?(t=n,!0):!1),t}addWidget(e,t,n={}){this._prevActive||=e;let r=new WidgetAdapter(this,e,void 0,void 0,n);return r.title.label=t,r.padding=8,this._tab.addWidget(r),this.content.push(r),this}removeWidget(e){let t=this.getWidgetAdapter(e);if(t){let n=this.content.indexOf(t);n>=0&&this.content.splice(n,1),e.target(null),t.dispose()}return this}enter(e,t){super.enter(e,t),N.attach(this._tab,e)}update(e,t){super.update(e,t),t.select(`.lm-Widget`).style(`width`,this.width()+`px`).style(`height`,this.height()+`px`)}exit(e,t){N.detach(this._tab),super.exit(e,t)}render(e){return super.render(t=>{this.content.watchRendered(this,e),this._tab.update()})}messageHook(e,t){return e===this&&this.processMessage(t),!0}_prevActive;processMessage(e){switch(e.type){case`wa-activate-request`:let t=e.wa.widget;this._prevActive!==t&&(this._prevActive=t,this.childActivation(t));break}}childActivation(e){}active(e){return arguments.length?(this._tab.currentWidget=this.getWidgetAdapter(e),this):this.getWidget(this._tab.currentWidget)}};TabPanel.prototype._class+=` phosphor_TabPanel`,e.BUILD_VERSION=c,Object.defineProperty(e,"CommandPalette",{enumerable:!0,get:function(){return ce}}),Object.defineProperty(e,"CommandRegistry",{enumerable:!0,get:function(){return C}}),e.ContextMenu=ContextMenu,e.DockPanel=DockPanel,Object.defineProperty(e,"Msg",{enumerable:!0,get:function(){return Q}}),e.PKG_NAME=o,e.PKG_VERSION=s,e.SplitPanel=SplitPanel,e.TabPanel=TabPanel,e.WidgetAdapter=WidgetAdapter,e.WidgetAdapterArray=$});
2
2
  //# sourceMappingURL=index.umd.cjs.map
3
3
  (function(){try{if(typeof document<`u`){var e=document.createElement(`style`);e.appendChild(document.createTextNode(`.lm-Widget{box-sizing:border-box;position:relative}.lm-Widget.lm-mod-hidden{display:none!important}.lm-CommandPalette{-webkit-user-select:none;user-select:none;flex-direction:column;display:flex}.lm-CommandPalette-search{flex:none}.lm-CommandPalette-content{flex:auto;min-height:0;margin:0;padding:0;list-style-type:none;overflow:auto}.lm-CommandPalette-header{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lm-CommandPalette-item{flex-direction:row;display:flex}.lm-CommandPalette-itemIcon{flex:none}.lm-CommandPalette-itemContent{flex:auto;overflow:hidden}.lm-CommandPalette-itemShortcut{flex:none}.lm-CommandPalette-itemLabel{white-space:nowrap;text-overflow:ellipsis;overflow:hidden}.lm-close-icon{z-index:1;vertical-align:middle;cursor:pointer;background-color:#0000;border:1px solid #0000;outline:0;margin:auto;padding:7px 0;display:none;position:absolute;top:0;bottom:0;right:3%}.lm-close-icon:after{content:"X";text-align:center;color:#000;cursor:pointer;width:15px;height:15px;font-size:12px;font-weight:400;display:block}.lm-DockPanel,.lm-DockPanel-widget{z-index:0}.lm-DockPanel-tabBar{z-index:1}.lm-DockPanel-handle{z-index:2}.lm-DockPanel-handle.lm-mod-hidden{display:none!important}.lm-DockPanel-handle:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0}.lm-DockPanel-handle[data-orientation=horizontal]{cursor:ew-resize}.lm-DockPanel-handle[data-orientation=vertical]{cursor:ns-resize}.lm-DockPanel-handle[data-orientation=horizontal]:after{min-width:8px;left:50%;transform:translate(-50%)}.lm-DockPanel-handle[data-orientation=vertical]:after{min-height:8px;top:50%;transform:translateY(-50%)}.lm-DockPanel-overlay{z-index:3;box-sizing:border-box;pointer-events:none}.lm-DockPanel-overlay.lm-mod-hidden{display:none!important}.lm-Menu{z-index:10000;white-space:nowrap;-webkit-user-select:none;user-select:none;outline:none;position:absolute;top:0;left:0;overflow:hidden auto}.lm-Menu-content{margin:0;padding:0;list-style-type:none;display:table}.lm-Menu-item{display:table-row}.lm-Menu-item.lm-mod-hidden,.lm-Menu-item.lm-mod-collapsed{display:none!important}.lm-Menu-itemIcon,.lm-Menu-itemSubmenuIcon{text-align:center;display:table-cell}.lm-Menu-itemLabel{text-align:left;display:table-cell}.lm-Menu-itemShortcut{text-align:right;display:table-cell}.lm-MenuBar{-webkit-user-select:none;user-select:none;outline:none}.lm-MenuBar-content{flex-direction:row;margin:0;padding:0;list-style-type:none;display:flex}.lm-MenuBar-item{box-sizing:border-box}.lm-MenuBar-itemIcon,.lm-MenuBar-itemLabel{display:inline-block}.lm-ScrollBar{-webkit-user-select:none;user-select:none;display:flex}.lm-ScrollBar[data-orientation=horizontal]{flex-direction:row}.lm-ScrollBar[data-orientation=vertical]{flex-direction:column}.lm-ScrollBar-button{box-sizing:border-box;flex:none}.lm-ScrollBar-track{box-sizing:border-box;flex:auto;position:relative;overflow:hidden}.lm-ScrollBar-thumb{box-sizing:border-box;position:absolute}.lm-SplitPanel-child{z-index:0}.lm-SplitPanel-handle{z-index:1}.lm-SplitPanel-handle.lm-mod-hidden{display:none!important}.lm-SplitPanel-handle:after{content:"";width:100%;height:100%;position:absolute;top:0;left:0}.lm-SplitPanel[data-orientation=horizontal]>.lm-SplitPanel-handle{cursor:ew-resize}.lm-SplitPanel[data-orientation=vertical]>.lm-SplitPanel-handle{cursor:ns-resize}.lm-SplitPanel[data-orientation=horizontal]>.lm-SplitPanel-handle:after{min-width:8px;left:50%;transform:translate(-50%)}.lm-SplitPanel[data-orientation=vertical]>.lm-SplitPanel-handle:after{min-height:8px;top:50%;transform:translateY(-50%)}.lm-TabBar{-webkit-user-select:none;user-select:none;display:flex}.lm-TabBar[data-orientation=horizontal]{flex-direction:row;align-items:flex-end}.lm-TabBar[data-orientation=vertical]{flex-direction:column;align-items:flex-end}.lm-TabBar-content{flex:auto;margin:0;padding:0;list-style-type:none;display:flex}.lm-TabBar[data-orientation=horizontal]>.lm-TabBar-content{flex-direction:row}.lm-TabBar[data-orientation=vertical]>.lm-TabBar-content{flex-direction:column}.lm-TabBar-tab{box-sizing:border-box;touch-action:none;flex-direction:row;display:flex;overflow:hidden}.lm-TabBar-tabIcon,.lm-TabBar-tabCloseIcon{flex:none}.lm-TabBar-tabLabel{white-space:nowrap;flex:auto;overflow:hidden}.lm-TabBar-tabInput{-webkit-user-select:all;user-select:all;box-sizing:border-box;width:100%}.lm-TabBar-tab.lm-mod-hidden,.lm-TabBar-addButton.lm-mod-hidden{display:none!important}.lm-TabBar.lm-mod-dragging .lm-TabBar-tab{position:relative}.lm-TabBar.lm-mod-dragging[data-orientation=horizontal] .lm-TabBar-tab{transition:left .15s;left:0}.lm-TabBar.lm-mod-dragging[data-orientation=vertical] .lm-TabBar-tab{transition:top .15s;top:0}.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging{transition:none}.lm-TabBar.lm-mod-unfreezing .lm-TabBar-tab{transition:width .15s,flex-basis .15s}.lm-TabBar-tabLabel .lm-TabBar-tabInput{-webkit-user-select:all;user-select:all;box-sizing:border-box;background:inherit;width:100%}.lm-TabPanel-tabBar{z-index:1}.lm-TabPanel-stackedPanel{z-index:0}.phosphor_WidgetAdapter{background:#fff;border-bottom:1px solid silver;border-left:1px solid silver;border-right:1px solid silver;min-width:64px;min-height:64px}.phosphor_WidgetAdapter.lm-DockPanel-widget{border-top:none;box-shadow:0 -1px #0003,1px 1px 2px #0003}.phosphor_WidgetAdapter.lm-SplitPanel-child{border:none}.lm-DockPanel-overlay{background:#fff9;border:1px dashed #000;transition-property:top,left,right,bottom;transition-duration:.15s;transition-timing-function:ease}.lm-TabBar{min-height:24px;max-height:24px}.lm-TabBar-content{align-items:flex-end;min-width:0;min-height:0}.lm-TabPanel-tabBar .lm-TabBar-content{border-bottom:1px solid silver}.lm-TabBar-tab{background:#e5e5e5;border:1px solid silver;border-bottom:none;flex:0 125px;min-width:35px;min-height:20px;max-height:20px;margin-left:-1px;padding:0 10px;font:12px/20px Helvetica,Arial,sans-serif}.lm-TabBar-tab.lm-mod-current{background:#fff}.lm-TabBar-tab:hover:not(.lm-mod-current){background:#f0f0f0}.lm-TabBar-tab:first-child{margin-left:0}.lm-TabBar-tab.lm-mod-current{min-height:23px;max-height:23px;transform:translateY(1px)}.lm-TabBar-tabIcon,.lm-TabBar-tabLabel,.lm-TabBar-tabCloseIcon{display:inline-block}.lm-TabBar-tab.lm-mod-closable>.lm-TabBar-tabCloseIcon{margin-left:4px}.lm-TabBar-tab.lm-mod-closable>.lm-TabBar-tabCloseIcon:before{content:"";font-family:FontAwesome}.lm-TabBar-tab.lm-mod-drag-image{border:none;min-width:125px;min-height:23px;max-height:23px;transform:translate(-40%)translateY(-58%);box-shadow:1px 1px 2px #0000004d}.lm-Widget.lm-TabBar.lm-DockPanel-tabBar.hide{min-height:1px!important;max-height:1px!important}.lm-Widget.lm-TabBar.lm-DockPanel-tabBar.hide .lm-TabBar-tab.lm-mod-current{display:none}/*$vite$:1*/`)),document.head.appendChild(e)}}catch(e){console.error(`vite-plugin-css-injected-by-js`,e)}})();
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "@hpcc-js/phosphor",
3
- "version": "3.6.4",
3
+ "version": "3.7.0",
4
4
  "description": "hpcc-js - Viz Phosphor",
5
5
  "type": "module",
6
6
  "main": "./dist/index.umd.cjs",
@@ -25,7 +25,7 @@
25
25
  "bundle": "vite build",
26
26
  "bundle-watch": "vite build --watch",
27
27
  "bundle-serve": "vite --port 5516",
28
- "gen-types": "tsc --project tsconfig.json",
28
+ "gen-types": "tsgo --project tsconfig.json",
29
29
  "gen-types-watch": "npm run gen-types -- --watch",
30
30
  "build": "run-p gen-types bundle",
31
31
  "watch": "run-p gen-types-watch bundle-watch",
@@ -39,10 +39,10 @@
39
39
  "update-major": "npx --yes npm-check-updates -u"
40
40
  },
41
41
  "dependencies": {
42
- "@hpcc-js/common": "^3.7.10"
42
+ "@hpcc-js/common": "^3.8.0"
43
43
  },
44
44
  "devDependencies": {
45
- "@hpcc-js/esbuild-plugins": "^1.8.11",
45
+ "@hpcc-js/esbuild-plugins": "^1.9.0",
46
46
  "@lumino/algorithm": "2.0.4",
47
47
  "@lumino/commands": "2.3.3",
48
48
  "@lumino/messaging": "2.0.4",
@@ -59,5 +59,5 @@
59
59
  "url": "https://github.com/hpcc-systems/Visualization/issues"
60
60
  },
61
61
  "homepage": "https://github.com/hpcc-systems/Visualization",
62
- "gitHead": "1c0e8862859769465f70f384183f1399191d76e6"
62
+ "gitHead": "b762adfab7d03d06ea8cfab59059456100ea757c"
63
63
  }