@hpcc-js/phosphor 3.6.3 → 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.
@@ -1,3 +1,3 @@
1
- !function(e,t){"object"==typeof exports&&"undefined"!=typeof module?t(exports,require("@hpcc-js/common")):"function"==typeof define&&define.amd?define(["exports","@hpcc-js/common"],t):t((e="undefined"!=typeof globalThis?globalThis:e||self)["@hpcc-js/phosphor"]={},e["@hpcc-js/common"])}(this,function(e,t){"use strict";var i,n,s,r=Object.defineProperty,o=(e,t)=>r(e,"name",{value:t,configurable:!0}),a=(e,t,i)=>((e,t,i)=>t in e?r(e,t,{enumerable:!0,configurable:!0,writable:!0,value:i}):e[t]=i)(e,"symbol"!=typeof t?t+"":t,i);var d,l,h,c;function*u(){}function m(e,t){let i=0;for(const n of e)if(t(n,i++))return n}function p(e,t){let i=0;for(const n of e)if(!1===t(n,i++))return!1;return!0}function g(e,t){let i=0;for(const n of e)if(t(n,i++))return!0;return!1}function*f(e){if("function"==typeof e.retro)yield*e.retro();else for(let t=e.length-1;t>-1;t--)yield e[t]}function _(e){let t=[],i=new Set,n=new Map;for(const o of e)s(o);for(const[o]of n)r(o);return t;function s(e){let[t,i]=e,s=n.get(i);s?s.push(t):n.set(i,[t])}function r(e){if(i.has(e))return;i.add(e);let s=n.get(e);if(s)for(const t of s)r(t);t.push(e)}}!function(e){function t(e,t,i=0,n=-1){let s,r=e.length;if(0===r)return-1;i=i<0?Math.max(0,i+r):Math.min(i,r-1),s=(n=n<0?Math.max(0,n+r):Math.min(n,r-1))<i?n+1+(r-i):n-i+1;for(let o=0;o<s;++o){let n=(i+o)%r;if(e[n]===t)return n}return-1}function i(e,t,i=-1,n=0){let s,r=e.length;if(0===r)return-1;s=(i=i<0?Math.max(0,i+r):Math.min(i,r-1))<(n=n<0?Math.max(0,n+r):Math.min(n,r-1))?i+1+(r-n):i-n+1;for(let o=0;o<s;++o){let n=(i-o+r)%r;if(e[n]===t)return n}return-1}function n(e,t,i=0,n=-1){let s,r=e.length;if(0===r)return-1;i=i<0?Math.max(0,i+r):Math.min(i,r-1),s=(n=n<0?Math.max(0,n+r):Math.min(n,r-1))<i?n+1+(r-i):n-i+1;for(let o=0;o<s;++o){let n=(i+o)%r;if(t(e[n],n))return n}return-1}function s(e,t,i=-1,n=0){let s,r=e.length;if(0===r)return-1;s=(i=i<0?Math.max(0,i+r):Math.min(i,r-1))<(n=n<0?Math.max(0,n+r):Math.min(n,r-1))?i+1+(r-n):i-n+1;for(let o=0;o<s;++o){let n=(i-o+r)%r;if(t(e[n],n))return n}return-1}function r(e,t,i=0,s=-1){let r=n(e,t,i,s);return-1!==r?e[r]:void 0}function a(e,t,i=-1,n=0){let r=s(e,t,i,n);return-1!==r?e[r]:void 0}function d(e,t,i,n=0,s=-1){let r=e.length;if(0===r)return 0;let o=n=n<0?Math.max(0,n+r):Math.min(n,r-1),a=(s=s<0?Math.max(0,s+r):Math.min(s,r-1))-n+1;for(;a>0;){let n=a>>1,s=o+n;i(e[s],t)<0?(o=s+1,a-=n+1):a=n}return o}function l(e,t,i,n=0,s=-1){let r=e.length;if(0===r)return 0;let o=n=n<0?Math.max(0,n+r):Math.min(n,r-1),a=(s=s<0?Math.max(0,s+r):Math.min(s,r-1))-n+1;for(;a>0;){let n=a>>1,s=o+n;i(e[s],t)>0?a=n:(o=s+1,a-=n+1)}return o}function h(e,t,i){if(e===t)return!0;if(e.length!==t.length)return!1;for(let n=0,s=e.length;n<s;++n)if(i?!i(e[n],t[n]):e[n]!==t[n])return!1;return!0}function c(e,t={}){let{start:i,stop:n,step:s}=t;if(void 0===s&&(s=1),0===s)throw new Error("Slice `step` cannot be zero.");let r,o=e.length;void 0===i?i=s<0?o-1:0:i<0?i=Math.max(i+o,s<0?-1:0):i>=o&&(i=s<0?o-1:o),void 0===n?n=s<0?-1:o:n<0?n=Math.max(n+o,s<0?-1:0):n>=o&&(n=s<0?o-1:o),r=s<0&&n>=i||s>0&&i>=n?0:s<0?Math.floor((n-i+1)/s+1):Math.floor((n-i-1)/s+1);let a=[];for(let d=0;d<r;++d)a[d]=e[i+d*s];return a}function u(e,t,i){let n=e.length;if(n<=1)return;if((t=t<0?Math.max(0,t+n):Math.min(t,n-1))===(i=i<0?Math.max(0,i+n):Math.min(i,n-1)))return;let s=e[t],r=t<i?1:-1;for(let o=t;o!==i;o+=r)e[o]=e[o+r];e[i]=s}function m(e,t=0,i=-1){let n=e.length;if(!(n<=1))for(t=t<0?Math.max(0,t+n):Math.min(t,n-1),i=i<0?Math.max(0,i+n):Math.min(i,n-1);t<i;){let n=e[t],s=e[i];e[t++]=s,e[i--]=n}}function p(e,t,i=0,n=-1){let s=e.length;if(s<=1)return;if((i=i<0?Math.max(0,i+s):Math.min(i,s-1))>=(n=n<0?Math.max(0,n+s):Math.min(n,s-1)))return;let r=n-i+1;if(t>0?t%=r:t<0&&(t=(t%r+r)%r),0===t)return;let o=i+t;m(e,i,o-1),m(e,o,n),m(e,i,n)}function g(e,t,i=0,n=-1){let s,r=e.length;if(0!==r){i=i<0?Math.max(0,i+r):Math.min(i,r-1),s=(n=n<0?Math.max(0,n+r):Math.min(n,r-1))<i?n+1+(r-i):n-i+1;for(let n=0;n<s;++n)e[(i+n)%r]=t}}function f(e,t,i){let n=e.length;t=t<0?Math.max(0,t+n):Math.min(t,n);for(let s=n;s>t;--s)e[s]=e[s-1];e[t]=i}function _(e,t){let i=e.length;if(t<0&&(t+=i),t<0||t>=i)return;let n=e[t];for(let s=t+1;s<i;++s)e[s-1]=e[s];return e.length=i-1,n}function v(e,i,n=0,s=-1){let r=t(e,i,n,s);return-1!==r&&_(e,r),r}function b(e,t,n=-1,s=0){let r=i(e,t,n,s);return-1!==r&&_(e,r),r}function y(e,t,i=0,n=-1){let s=e.length;if(0===s)return 0;i=i<0?Math.max(0,i+s):Math.min(i,s-1),n=n<0?Math.max(0,n+s):Math.min(n,s-1);let r=0;for(let o=0;o<s;++o)i<=n&&o>=i&&o<=n&&e[o]===t||n<i&&(o<=n||o>=i)&&e[o]===t?r++:r>0&&(e[o-r]=e[o]);return r>0&&(e.length=s-r),r}function w(e,t,i=0,s=-1){let r,o=n(e,t,i,s);return-1!==o&&(r=_(e,o)),{index:o,value:r}}function x(e,t,i=-1,n=0){let r,o=s(e,t,i,n);return-1!==o&&(r=_(e,o)),{index:o,value:r}}function M(e,t,i=0,n=-1){let s=e.length;if(0===s)return 0;i=i<0?Math.max(0,i+s):Math.min(i,s-1),n=n<0?Math.max(0,n+s):Math.min(n,s-1);let r=0;for(let o=0;o<s;++o)i<=n&&o>=i&&o<=n&&t(e[o],o)||n<i&&(o<=n||o>=i)&&t(e[o],o)?r++:r>0&&(e[o-r]=e[o]);return r>0&&(e.length=s-r),r}o(t,"firstIndexOf"),e.firstIndexOf=t,o(i,"lastIndexOf"),e.lastIndexOf=i,o(n,"findFirstIndex"),e.findFirstIndex=n,o(s,"findLastIndex"),e.findLastIndex=s,o(r,"findFirstValue"),e.findFirstValue=r,o(a,"findLastValue"),e.findLastValue=a,o(d,"lowerBound"),e.lowerBound=d,o(l,"upperBound"),e.upperBound=l,o(h,"shallowEqual"),e.shallowEqual=h,o(c,"slice"),e.slice=c,o(u,"move"),e.move=u,o(m,"reverse"),e.reverse=m,o(p,"rotate"),e.rotate=p,o(g,"fill"),e.fill=g,o(f,"insert"),e.insert=f,o(_,"removeAt"),e.removeAt=_,o(v,"removeFirstOf"),e.removeFirstOf=v,o(b,"removeLastOf"),e.removeLastOf=b,o(y,"removeAllOf"),e.removeAllOf=y,o(w,"removeFirstWhere"),e.removeFirstWhere=w,o(x,"removeLastWhere"),e.removeLastWhere=x,o(M,"removeAllWhere"),e.removeAllWhere=M}(d||(d={})),o(u,"empty"),o(m,"find"),o(p,"every"),o(g,"some"),function(e){function t(e,t,i){return 0===i?1/0:e>t&&i>0||e<t&&i<0?0:Math.ceil((t-e)/i)}o(t,"rangeLength"),e.rangeLength=t}(l||(l={})),o(f,"retro"),o(_,"topologicSort"),function(e){function t(e,t,i=0){let n=new Array(t.length);for(let s=0,r=i,o=t.length;s<o;++s,++r){if(r=e.indexOf(t[s],r),-1===r)return null;n[s]=r}return n}function i(e,i,n=0){let s=t(e,i,n);if(!s)return null;let r=0;for(let t=0,o=s.length;t<o;++t){let e=s[t]-n;r+=e*e}return{score:r,indices:s}}function n(e,i,n=0){let s=t(e,i,n);if(!s)return null;let r=0,o=n-1;for(let t=0,a=s.length;t<a;++t){let e=s[t];r+=e-o-1,o=e}return{score:r,indices:s}}function s(e,t,i){let n=[],s=0,r=0,o=t.length;for(;s<o;){let a=t[s],d=t[s];for(;++s<o&&t[s]===d+1;)d++;r<a&&n.push(e.slice(r,a)),a<d+1&&n.push(i(e.slice(a,d+1))),r=d+1}return r<e.length&&n.push(e.slice(r)),n}function r(e,t){return e<t?-1:e>t?1:0}o(t,"findIndices"),e.findIndices=t,o(i,"matchSumOfSquares"),e.matchSumOfSquares=i,o(n,"matchSumOfDeltas"),e.matchSumOfDeltas=n,o(s,"highlight"),e.highlight=s,o(r,"cmp"),e.cmp=r}(h||(h={})),function(e){function t(e){return null===e||"boolean"==typeof e||"number"==typeof e||"string"==typeof e}function i(e){return Array.isArray(e)}function n(e){return!t(e)&&!i(e)}function s(e,n){if(e===n)return!0;if(t(e)||t(n))return!1;let s=i(e),r=i(n);return s===r&&(s&&r?a(e,n):d(e,n))}function r(e){return t(e)?e:i(e)?l(e):h(e)}function a(e,t){if(e===t)return!0;if(e.length!==t.length)return!1;for(let i=0,n=e.length;i<n;++i)if(!s(e[i],t[i]))return!1;return!0}function d(e,t){if(e===t)return!0;for(let i in e)if(void 0!==e[i]&&!(i in t))return!1;for(let i in t)if(void 0!==t[i]&&!(i in e))return!1;for(let i in e){let n=e[i],r=t[i];if(void 0!==n||void 0!==r){if(void 0===n||void 0===r)return!1;if(!s(n,r))return!1}}return!0}function l(e){let t=new Array(e.length);for(let i=0,n=e.length;i<n;++i)t[i]=r(e[i]);return t}function h(e){let t={};for(let i in e){let n=e[i];void 0!==n&&(t[i]=r(n))}return t}e.emptyObject=Object.freeze({}),e.emptyArray=Object.freeze([]),o(t,"isPrimitive"),e.isPrimitive=t,o(i,"isArray"),e.isArray=i,o(n,"isObject"),e.isObject=n,o(s,"deepEqual"),e.deepEqual=s,o(r,"deepCopy"),e.deepCopy=r,o(a,"deepArrayEqual"),o(d,"deepObjectEqual"),o(l,"deepArrayCopy"),o(h,"deepObjectCopy")}(c||(c={}));const v=class _MimeData{constructor(){this._types=[],this._values=[]}types(){return this._types.slice()}hasData(e){return-1!==this._types.indexOf(e)}getData(e){let t=this._types.indexOf(e);return-1!==t?this._values[t]:void 0}setData(e,t){this.clearData(e),this._types.push(e),this._values.push(t)}clearData(e){let t=this._types.indexOf(e);-1!==t&&(this._types.splice(t,1),this._values.splice(t,1))}clear(){this._types.length=0,this._values.length=0}};o(v,"MimeData");let b=v;var y,w,x;function M(e){let t=0;for(let i=0,n=e.length;i<n;++i)i%4==0&&(t=4294967295*Math.random()>>>0),e[i]=255&t,t>>>=8}function C(e){const t=new Uint8Array(16),i=new Array(256);for(let n=0;n<16;++n)i[n]="0"+n.toString(16);for(let n=16;n<256;++n)i[n]=n.toString(16);return o(function(){return e(t),t[6]=64|15&t[6],t[8]=128|63&t[8],i[t[0]]+i[t[1]]+i[t[2]]+i[t[3]]+"-"+i[t[4]]+i[t[5]]+"-"+i[t[6]]+i[t[7]]+"-"+i[t[8]]+i[t[9]]+"-"+i[t[10]]+i[t[11]]+i[t[12]]+i[t[13]]+i[t[14]]+i[t[15]]},"uuid4")}!function(e){const t=class _PluginData{constructor(e){var t,i,n,s;this._activated=!1,this._promise=null,this._service=null,this.id=e.id,this.description=null!==(t=e.description)&&void 0!==t?t:"",this.activate=e.activate,this.deactivate=null!==(i=e.deactivate)&&void 0!==i?i:null,this.provides=null!==(n=e.provides)&&void 0!==n?n:null,this.autoStart=null!==(s=e.autoStart)&&void 0!==s&&s,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}};o(t,"PluginData");let i=t;function n(e){return new i(e)}function s(e,t,i){const n=[...e.requires,...e.optional],s=o(n=>{if(n===e.provides)return!0;const o=i.get(n);if(!o)return!1;const a=t.get(o),d=[...a.requires,...a.optional];return 0!==d.length&&(r.push(o),!!d.some(s)||(r.pop(),!1))},"visit");if(!e.provides||0===n.length)return;const r=[e.id];if(n.some(s))throw new ReferenceError(`Cycle detected: ${r.join(" -> ")}.`)}function r(e,t,i){const n=new Array,s=o(e=>{const s=t.get(e),r=[...s.requires,...s.optional];n.push(...r.reduce((t,n)=>{const s=i.get(n);return s&&t.push([e,s]),t},[]))},"add");for(const o of t.keys())s(o);const r=n.filter(t=>t[1]===e);let a=0;for(;r.length>a;){const e=r.length,t=new Set(r.map(e=>e[0]));for(const i of t)n.filter(e=>e[1]===i).forEach(e=>{r.includes(e)||r.push(e)});a=e}const d=_(r),l=d.findIndex(t=>t===e);return-1===l?[e]:d.slice(0,l+1)}function a(e,t){const i=new Set;for(const n of e.keys())!0===e.get(n).autoStart&&i.add(n);if(t.startPlugins)for(const n of t.startPlugins)i.add(n);if(t.ignorePlugins)for(const n of t.ignorePlugins)i.delete(n);return Array.from(i)}o(n,"createPluginData"),e.createPluginData=n,o(s,"ensureNoCycle"),e.ensureNoCycle=s,o(r,"findDependents"),e.findDependents=r,o(a,"collectStartupPlugins"),e.collectStartupPlugins=a}(y||(y={})),o(M,"fallbackRandomValues"),(w||(w={})).getRandomValues=(()=>{const e="undefined"!=typeof window&&(window.crypto||window.msCrypto)||null;return e&&"function"==typeof e.getRandomValues?o(function(t){return e.getRandomValues(t)},"getRandomValues"):M})(),o(C,"uuid4Factory"),(x||(x={})).uuid4=C(w.getRandomValues);const A=class _Signal{constructor(e){this.sender=e}connect(e,t){return I.connect(this,e,t)}disconnect(e,t){return I.disconnect(this,e,t)}emit(e){I.emit(this,e)}};o(A,"Signal");let S=A;var I;!function(e){function t(e,t){I.disconnectBetween(e,t)}function i(e){I.disconnectSender(e)}function n(e){I.disconnectReceiver(e)}function s(e){I.disconnectAll(e)}function r(e){I.disconnectAll(e)}function a(){return I.exceptionHandler}function d(e){let t=I.exceptionHandler;return I.exceptionHandler=e,t}o(t,"disconnectBetween"),e.disconnectBetween=t,o(i,"disconnectSender"),e.disconnectSender=i,o(n,"disconnectReceiver"),e.disconnectReceiver=n,o(s,"disconnectAll"),e.disconnectAll=s,o(r,"clearData"),e.clearData=r,o(a,"getExceptionHandler"),e.getExceptionHandler=a,o(d,"setExceptionHandler"),e.setExceptionHandler=d}(S||(S={})),function(e){function t(e,t,i){i=i||void 0;let n=h.get(e.sender);if(n||(n=[],h.set(e.sender,n)),g(n,e,t,i))return!1;let s=i||t,r=c.get(s);r||(r=[],c.set(s,r));let o={signal:e,slot:t,thisArg:i};return n.push(o),r.push(o),!0}function i(e,t,i){i=i||void 0;let n=h.get(e.sender);if(!n||0===n.length)return!1;let s=g(n,e,t,i);if(!s)return!1;let r=i||t,o=c.get(r);return s.signal=null,_(n),_(o),!0}function n(e,t){let i=h.get(e);if(!i||0===i.length)return;let n=c.get(t);if(n&&0!==n.length){for(const t of n)t.signal&&t.signal.sender===e&&(t.signal=null);_(i),_(n)}}function s(e){let t=h.get(e);if(t&&0!==t.length){for(const e of t){if(!e.signal)continue;let t=e.thisArg||e.slot;e.signal=null,_(c.get(t))}_(t)}}function r(e){let t=c.get(e);if(t&&0!==t.length){for(const e of t){if(!e.signal)continue;let t=e.signal.sender;e.signal=null,_(h.get(t))}_(t)}}function a(e){s(e),r(e)}function l(e,t){let i=h.get(e.sender);if(i&&0!==i.length)for(let n=0,s=i.length;n<s;++n){let s=i[n];s.signal===e&&f(s,t)}}e.exceptionHandler=e=>{console.error(e)},o(t,"connect"),e.connect=t,o(i,"disconnect"),e.disconnect=i,o(n,"disconnectBetween"),e.disconnectBetween=n,o(s,"disconnectSender"),e.disconnectSender=s,o(r,"disconnectReceiver"),e.disconnectReceiver=r,o(a,"disconnectAll"),e.disconnectAll=a,o(l,"emit"),e.emit=l;const h=new WeakMap,c=new WeakMap,u=new Set,p="function"==typeof requestAnimationFrame?requestAnimationFrame:setImmediate;function g(e,t,i,n){return m(e,e=>e.signal===t&&e.slot===i&&e.thisArg===n)}function f(t,i){let{signal:n,slot:s,thisArg:r}=t;try{s.call(r,n.sender,i)}catch(o){e.exceptionHandler(o)}}function _(e){0===u.size&&p(v),u.add(e)}function v(){u.forEach(b),u.clear()}function b(e){d.removeAllWhere(e,y)}function y(e){return null===e.signal}o(g,"findConnection"),o(f,"invokeSlot"),o(_,"scheduleCleanup"),o(v,"cleanupDirtySet"),o(b,"cleanupConnections"),o(y,"isDeadConnection")}(I||(I={}));const z=class _DisposableDelegate{constructor(e){this._fn=e}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let e=this._fn;this._fn=null,e()}};o(z,"DisposableDelegate");let k=z;const E=class _DisposableSet{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()}};o(E,"DisposableSet");let T=E;!function(e){function t(t){let i=new e;for(const e of t)i.add(e);return i}o(t,"from"),e.from=t}(T||(T={}));const L=class _ObservableDisposableSet extends T{constructor(){super(...arguments),this._disposed=new S(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),S.clearData(this))}};o(L,"ObservableDisposableSet");let D=L;var B,R,P,W,H;function N(){return K.keyboardLayout}!function(e){function t(t){let i=new e;for(const e of t)i.add(e);return i}o(t,"from"),e.from=t}(L||(D={})),function(e){function t(e){const t=document.body,i=o(n=>{n.preventDefault(),n.stopPropagation(),n.clipboardData.setData("text",e),t.removeEventListener("copy",i,!0)},"handler");t.addEventListener("copy",i,!0),document.execCommand("copy")}o(t,"copyText"),e.copyText=t}(B||(B={})),function(e){function t(e){let t=window.getComputedStyle(e),i=parseFloat(t.borderTopWidth)||0,n=parseFloat(t.borderLeftWidth)||0,s=parseFloat(t.borderRightWidth)||0,r=parseFloat(t.borderBottomWidth)||0,o=parseFloat(t.paddingTop)||0,a=parseFloat(t.paddingLeft)||0,d=parseFloat(t.paddingRight)||0,l=parseFloat(t.paddingBottom)||0;return{borderTop:i,borderLeft:n,borderRight:s,borderBottom:r,paddingTop:o,paddingLeft:a,paddingRight:d,paddingBottom:l,horizontalSum:n+a+d+s,verticalSum:i+o+l+r}}function i(e){let t=window.getComputedStyle(e),i=parseFloat(t.minWidth)||0,n=parseFloat(t.minHeight)||0,s=parseFloat(t.maxWidth)||1/0,r=parseFloat(t.maxHeight)||1/0;return s=Math.max(i,s),r=Math.max(n,r),{minWidth:i,minHeight:n,maxWidth:s,maxHeight:r}}function n(e,t,i){let n=e.getBoundingClientRect();return t>=n.left&&t<n.right&&i>=n.top&&i<n.bottom}function s(e,t){let i=e.getBoundingClientRect(),n=t.getBoundingClientRect();n.top<=i.top&&n.bottom>=i.bottom||(n.top<i.top&&n.height<=i.height||n.bottom>i.bottom&&n.height>=i.height?e.scrollTop-=i.top-n.top:(n.top<i.top&&n.height>i.height||n.bottom>i.bottom&&n.height<i.height)&&(e.scrollTop-=i.bottom-n.bottom))}o(t,"boxSizing"),e.boxSizing=t,o(i,"sizeLimits"),e.sizeLimits=i,o(n,"hitTest"),e.hitTest=n,o(s,"scrollIntoViewIfNeeded"),e.scrollIntoViewIfNeeded=s}(R||(R={})),function(e){function t(t){return e.IS_MAC?t.metaKey:t.ctrlKey}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),o(t,"accelKey"),e.accelKey=t}(P||(P={})),function(e){function t(e){if(e in H.specificityCache)return H.specificityCache[e];let t=H.calculateSingle(e);return H.specificityCache[e]=t}function i(e){if(e in H.validityCache)return H.validityCache[e];let t=!0;try{H.testElem.querySelector(e)}catch(i){t=!1}return H.validityCache[e]=t}function n(e,t){return H.protoMatchFunc.call(e,t)}o(t,"calculateSpecificity"),e.calculateSpecificity=t,o(i,"isValid"),e.isValid=i,o(n,"matches"),e.matches=n}(W||(W={})),function(e){function t(e){e=e.split(",",1)[0];let t=0,c=0,u=0;function m(t){let i=e.match(t);return null!==i&&(e=e.slice(i[0].length),!0)}for(o(m,"match"),e=e.replace(h," $1 ");e.length>0;)if(m(i))t++;else if(m(n))c++;else if(m(s))c++;else if(m(a))u++;else if(m(d))c++;else if(m(r))u++;else if(!m(l))return 0;return t=Math.min(t,255),c=Math.min(c,255),u=Math.min(u,255),t<<16|c<<8|u}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,i=t.ownerDocument?t.ownerDocument.querySelectorAll(e):[];return-1!==Array.prototype.indexOf.call(i,t)}})(),o(t,"calculateSingle"),e.calculateSingle=t;const i=/^#[^\s\+>~#\.\[:]+/,n=/^\.[^\s\+>~#\.\[:]+/,s=/^\[[^\]]+\]/,r=/^[^\s\+>~#\.\[:]+/,a=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,d=/^:[^\s\+>~#\.\[:]+/,l=/^[\s\+>~\*]+/,h=/:not\(([^\)]+)\)/g}(H||(H={})),o(N,"getKeyboardLayout");const O=class _KeycodeLayout{constructor(e,t,i=[]){this.name=e,this._codes=t,this._keys=_KeycodeLayout.extractKeys(t),this._modifierKeys=_KeycodeLayout.convertToKeySet(i)}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]||""}};o(O,"KeycodeLayout");let F=O;!function(e){function t(e){let t=Object.create(null);for(let i in e)t[e[i]]=!0;return t}function i(e){let t=Object(null);for(let i=0,n=e.length;i<n;++i)t[e[i]]=!0;return t}o(t,"extractKeys"),e.extractKeys=t,o(i,"convertToKeySet"),e.convertToKeySet=i}(F||(F={}));const q=new F("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"]);var K;(K||(K={})).keyboardLayout=q;const $=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 S(this),this._commandExecuted=new S(this),this._keyBindingChanged=new S(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 new Error(`Command '${e}' already registered.`);return this._commands.set(e,U.createCommand(t)),this._commandChanged.emit({id:e,type:"added"}),new k(()=>{this._commands.delete(e),this._commandChanged.emit({id:e,type:"removed"})})}notifyCommandChanged(e){if(void 0!==e&&!this._commands.has(e))throw new Error(`Command '${e}' is not registered.`);this._commandChanged.emit({id:e,type:e?"changed":"many-changed"})}describedBy(e,t=c.emptyObject){var i;let n=this._commands.get(e);return Promise.resolve(null!==(i=null==n?void 0:n.describedBy.call(void 0,t))&&void 0!==i?i:{args:null})}label(e,t=c.emptyObject){var i;let n=this._commands.get(e);return null!==(i=null==n?void 0:n.label.call(void 0,t))&&void 0!==i?i:""}mnemonic(e,t=c.emptyObject){let i=this._commands.get(e);return i?i.mnemonic.call(void 0,t):-1}icon(e,t=c.emptyObject){var i;return null===(i=this._commands.get(e))||void 0===i?void 0:i.icon.call(void 0,t)}iconClass(e,t=c.emptyObject){let i=this._commands.get(e);return i?i.iconClass.call(void 0,t):""}iconLabel(e,t=c.emptyObject){let i=this._commands.get(e);return i?i.iconLabel.call(void 0,t):""}caption(e,t=c.emptyObject){let i=this._commands.get(e);return i?i.caption.call(void 0,t):""}usage(e,t=c.emptyObject){let i=this._commands.get(e);return i?i.usage.call(void 0,t):""}className(e,t=c.emptyObject){let i=this._commands.get(e);return i?i.className.call(void 0,t):""}dataset(e,t=c.emptyObject){let i=this._commands.get(e);return i?i.dataset.call(void 0,t):{}}isEnabled(e,t=c.emptyObject){let i=this._commands.get(e);return!!i&&i.isEnabled.call(void 0,t)}isToggled(e,t=c.emptyObject){let i=this._commands.get(e);return!!i&&i.isToggled.call(void 0,t)}isToggleable(e,t=c.emptyObject){let i=this._commands.get(e);return!!i&&i.isToggleable}isVisible(e,t=c.emptyObject){let i=this._commands.get(e);return!!i&&i.isVisible.call(void 0,t)}execute(e,t=c.emptyObject){let i,n=this._commands.get(e);if(!n)return Promise.reject(new Error(`Command '${e}' not registered.`));try{i=n.execute.call(void 0,t)}catch(r){i=Promise.reject(r)}let s=Promise.resolve(i);return this._commandExecuted.emit({id:e,args:t,result:s}),s}addKeyBinding(e){let t=U.createKeyBinding(e);return this._keyBindings.push(t),this._keyBindingChanged.emit({binding:t,type:"added"}),new k(()=>{d.removeFirstOf(this._keyBindings,t),this._keyBindingChanged.emit({binding:t,type:"removed"})})}processKeydownEvent(e){if(e.defaultPrevented||this._replaying)return;const t=_CommandRegistry.keystrokeForKeydownEvent(e);if(!t)return this._replayKeydownEvents(),void this._clearPendingState();if(_CommandRegistry.isModifierKeyPressed(e)){let{exact:i}=U.matchKeyBinding(this._keyBindings,[t],e);return void(i?(e.preventDefault(),e.stopPropagation(),this._startModifierTimer(i)):this._clearModifierTimer())}this._keystrokes.push(t);const{exact:i,partial:n}=U.matchKeyBinding(this._keyBindings,this._keystrokes,e),s=0!==n.length;return i||s?(((null==i?void 0:i.preventDefault)||n.some(e=>e.preventDefault))&&(e.preventDefault(),e.stopPropagation()),this._keydownEvents.push(e),i&&!s?(this._executeKeyBinding(i),void this._clearPendingState()):(i&&(this._exactKeyMatch=i),void this._startTimer())):(this._replayKeydownEvents(),void this._clearPendingState())}holdKeyBindingExecution(e,t){this._holdKeyBindingPromises.set(e,t)}processKeyupEvent(e){this._clearModifierTimer()}_startModifierTimer(e){this._clearModifierTimer(),this._timerModifierID=window.setTimeout(()=>{this._executeKeyBinding(e)},U.modifierkeyTimeOut)}_clearModifierTimer(){0!==this._timerModifierID&&(clearTimeout(this._timerModifierID),this._timerModifierID=0)}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout(()=>{this._onPendingTimeout()},U.CHORD_TIMEOUT)}_clearTimer(){0!==this._timerID&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){0!==this._keydownEvents.length&&(this._replaying=!0,this._keydownEvents.forEach(U.replayKeyEvent),this._replaying=!1)}async _executeKeyBinding(e){if(0!==this._holdKeyBindingPromises.size){const e=[...this._keydownEvents],t=(await Promise.race([Promise.all(e.map(async e=>{var t;return null!==(t=this._holdKeyBindingPromises.get(e))&&void 0!==t?t:Promise.resolve(!0)})),new Promise(e=>{setTimeout(()=>e([!1]),U.KEYBINDING_HOLD_TIMEOUT)})])).every(Boolean);if(this._holdKeyBindingPromises.clear(),!t)return}let{command:t,args:i}=e,n={_luminoEvent:{type:"keybinding",keys:e.keys},...i};if(!this.hasCommand(t)||!this.isEnabled(t,n)){let i=this.hasCommand(t)?"enabled":"registered",n=`Cannot execute key binding '${e.keys.join(", ")}':`,s=`command '${t}' is not ${i}.`;return void console.warn(`${n} ${s}`)}await this.execute(t,n)}_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()}};o($,"CommandRegistry");let V=$;var U;!function(e){function t(e){let t="",i=!1,n=!1,s=!1,r=!1;for(let o of e.split(/\s+/))"Accel"===o?P.IS_MAC?n=!0:s=!0:"Alt"===o?i=!0:"Cmd"===o?n=!0:"Ctrl"===o?s=!0:"Shift"===o?r=!0:o.length>0&&(t=o);return{cmd:n,ctrl:s,alt:i,shift:r,key:t}}function i(e){let i="",n=t(e);return n.ctrl&&(i+="Ctrl "),n.alt&&(i+="Alt "),n.shift&&(i+="Shift "),n.cmd&&P.IS_MAC&&(i+="Cmd "),n.key?i+n.key:i.trim()}function n(e){let t;return t=P.IS_WIN?e.winKeys||e.keys:P.IS_MAC?e.macKeys||e.keys:e.linuxKeys||e.keys,t.map(i)}function s(e){return"string"==typeof e?i(e):e.map(i).join(", ");function i(e){let i=[],n=P.IS_MAC?" ":"+",s=t(e);return s.ctrl&&i.push("Ctrl"),s.alt&&i.push("Alt"),s.shift&&i.push("Shift"),P.IS_MAC&&s.cmd&&i.push("Cmd"),i.push(s.key),i.map(U.formatKey).join(n)}}function r(e){let t=N(),i=t.keyForKeydownEvent(e);return t.isModifierKey(i)}function a(e){let t=N(),i=t.keyForKeydownEvent(e),n=[];return e.ctrlKey&&n.push("Ctrl"),e.altKey&&n.push("Alt"),e.shiftKey&&n.push("Shift"),e.metaKey&&P.IS_MAC&&n.push("Cmd"),t.isModifierKey(i)||n.push(i),n.join(" ")}o(t,"parseKeystroke"),e.parseKeystroke=t,o(i,"normalizeKeystroke"),e.normalizeKeystroke=i,o(n,"normalizeKeys"),e.normalizeKeys=n,o(s,"formatKeystroke"),e.formatKeystroke=s,o(r,"isModifierKeyPressed"),e.isModifierKeyPressed=r,o(a,"keystrokeForKeydownEvent"),e.keystrokeForKeydownEvent=a}(V||(V={})),function(e){function t(e){return{execute:e.execute,describedBy:f("function"==typeof e.describedBy?e.describedBy:{args:null,...e.describedBy},()=>({args:null})),label:f(e.label,l),mnemonic:f(e.mnemonic,h),icon:f(e.icon,g),iconClass:f(e.iconClass,l),iconLabel:f(e.iconLabel,l),caption:f(e.caption,l),usage:f(e.usage,l),className:f(e.className,l),dataset:f(e.dataset,p),isEnabled:e.isEnabled||u,isToggled:e.isToggled||m,isToggleable:e.isToggleable||!!e.isToggled,isVisible:e.isVisible||u}}function i(e){var t;return{keys:V.normalizeKeys(e),selector:_(e),command:e.command,args:e.args||c.emptyObject,preventDefault:null===(t=e.preventDefault)||void 0===t||t}}function n(e,t,i){let n=null,s=[],r=1/0,o=0;for(let a=0,d=e.length;a<d;++a){let d=e[a],l=v(d.keys,t);if(0===l)continue;if(2===l){-1!==b(d.selector,i)&&s.push(d);continue}let h=b(d.selector,i);if(-1===h||h>r)continue;let c=W.calculateSpecificity(d.selector);(!n||h<r||c>=o)&&(n=d,r=h,o=c)}return{exact:n,partial:s}}function s(e){e.target.dispatchEvent(y(e))}function r(e){return P.IS_MAC?a.hasOwnProperty(e)?a[e]:e:d.hasOwnProperty(e)?d[e]:e}e.CHORD_TIMEOUT=1e3,e.KEYBINDING_HOLD_TIMEOUT=1e3,e.modifierkeyTimeOut=500,o(t,"createCommand"),e.createCommand=t,o(i,"createKeyBinding"),e.createKeyBinding=i,o(n,"matchKeyBinding"),e.matchKeyBinding=n,o(s,"replayKeyEvent"),e.replayKeyEvent=s,o(r,"formatKey"),e.formatKey=r;const a={Backspace:"⌫",Tab:"⇥",Enter:"⏎",Shift:"⇧",Ctrl:"⌃",Alt:"⌥",Escape:"⎋",PageUp:"⇞",PageDown:"⇟",End:"↘",Home:"↖",ArrowLeft:"←",ArrowUp:"↑",ArrowRight:"→",ArrowDown:"↓",Delete:"⌦",Cmd:"⌘"},d={Escape:"Esc",PageUp:"Page Up",PageDown:"Page Down",ArrowLeft:"Left",ArrowUp:"Up",ArrowRight:"Right",ArrowDown:"Down",Delete:"Del"},l=o(()=>"","emptyStringFunc"),h=o(()=>-1,"negativeOneFunc"),u=o(()=>!0,"trueFunc"),m=o(()=>!1,"falseFunc"),p=o(()=>({}),"emptyDatasetFunc"),g=o(()=>{},"undefinedFunc");function f(e,t){return void 0===e?t:"function"==typeof e?e:()=>e}function _(e){if(-1!==e.selector.indexOf(","))throw new Error(`Selector cannot contain commas: ${e.selector}`);if(!W.isValid(e.selector))throw new Error(`Invalid selector: ${e.selector}`);return e.selector}function v(e,t){if(e.length<t.length)return 0;for(let i=0,n=t.length;i<n;++i)if(e[i]!==t[i])return 0;return e.length>t.length?2:1}function b(e,t){let i=t.target,n=t.currentTarget;for(let s=0;null!==i;i=i.parentElement,++s){if(i.hasAttribute("data-lm-suppress-shortcuts"))return-1;if(W.matches(i,e))return s;if(i===n)return-1}return-1}function y(e){let t=document.createEvent("Event"),i=e.bubbles||!0,n=e.cancelable||!0;return t.initEvent(e.type||"keydown",i,n),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}o(f,"asFunc"),o(_,"validateSelector"),o(v,"matchSequence"),o(b,"targetDistance"),o(y,"cloneKeyboardEvent")}(U||(U={}));const j=class _LinkedList{constructor(){this._first=null,this._last=null,this._size=0}get isEmpty(){return 0===this._size}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(const 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 X.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 X.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 X.LinkedListNode)||t.list!==this)throw new Error("Reference node is not owned by the list.");let i=new X.LinkedListNode(this,e),n=t,s=n.prev;return i.next=n,i.prev=s,n.prev=i,s.next=i,this._size++,i}insertAfter(e,t){if(!t||t===this._last)return this.addLast(e);if(!(t instanceof X.LinkedListNode)||t.list!==this)throw new Error("Reference node is not owned by the list.");let i=new X.LinkedListNode(this,e),n=t,s=n.next;return i.next=s,i.prev=n,n.next=i,s.prev=i,this._size++,i}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 X.LinkedListNode)||e.list!==this)throw new 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}};o(j,"LinkedList");let Y=j;var X;!function(e){function t(t){let i=new e;return i.assign(t),i}o(t,"from"),e.from=t}(Y||(Y={})),function(e){const t=class _LinkedListNode{constructor(e,t){this.list=null,this.next=null,this.prev=null,this.list=e,this.value=t}};o(t,"LinkedListNode");let i=t;e.LinkedListNode=i}(X||(X={}));const G=class _Message{constructor(e){this.type=e}get isConflatable(){return!1}conflate(e){return!1}};o(G,"Message");let Z=G;const Q=class _ConflatableMessage extends Z{get isConflatable(){return!0}conflate(e){return!0}};o(Q,"ConflatableMessage");let J=Q;var ee;!function(e){let t=null;const i=(e=>t=>{let i=!1;return e.then(()=>!i&&t()),()=>{i=!0}})(Promise.resolve());function n(e,t){let i=_.get(e);i&&0!==i.length?p(f(i),i=>!i||w(i,e,t))&&x(e,t):x(e,t)}function s(e,t){if(!t.isConflatable)return void M(e,t);g(m,i=>i.handler===e&&(!!i.msg&&(i.msg.type===t.type&&(!!i.msg.isConflatable&&i.msg.conflate(t)))))||M(e,t)}function r(e,t){let i=_.get(e);i&&-1!==i.indexOf(t)||(i?i.push(t):_.set(e,[t]))}function a(e,t){let i=_.get(e);if(!i)return;let n=i.indexOf(t);-1!==n&&(i[n]=null,A(i))}function l(e){let t=_.get(e);t&&t.length>0&&(d.fill(t,null),A(t));for(const i of m)i.handler===e&&(i.handler=null,i.msg=null)}function h(){y||null===t||(t(),t=null,y=!0,C(),y=!1)}function c(){return b}function u(e){let t=b;return b=e,t}o(n,"sendMessage"),e.sendMessage=n,o(s,"postMessage"),e.postMessage=s,o(r,"installMessageHook"),e.installMessageHook=r,o(a,"removeMessageHook"),e.removeMessageHook=a,o(l,"clearData"),e.clearData=l,o(h,"flush"),e.flush=h,o(c,"getExceptionHandler"),e.getExceptionHandler=c,o(u,"setExceptionHandler"),e.setExceptionHandler=u;const m=new Y,_=new WeakMap,v=new Set;let b=o(e=>{console.error(e)},"exceptionHandler"),y=!1;function w(e,t,i){let n=!0;try{n="function"==typeof e?e(t,i):e.messageHook(t,i)}catch(s){b(s)}return n}function x(e,t){try{e.processMessage(t)}catch(i){b(i)}}function M(e,n){m.addLast({handler:e,msg:n}),null===t&&(t=i(C))}function C(){if(t=null,m.isEmpty)return;let e={handler:null,msg:null};for(m.addLast(e);;){let t=m.removeFirst();if(t===e)return;t.handler&&t.msg&&n(t.handler,t.msg)}}function A(e){0===v.size&&i(S),v.add(e)}function S(){v.forEach(I),v.clear()}function I(e){d.removeAllWhere(e,z)}function z(e){return null===e}o(w,"invokeHook"),o(x,"invokeHandler"),o(M,"enqueueMessage"),o(C,"runMessageLoop"),o(A,"scheduleCleanup"),o(S,"cleanupDirtySet"),o(I,"cleanupHooks"),o(z,"isNull")}(ee||(ee={}));const te=class _AttachedProperty{constructor(e){this._pid=ne.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,i=ne.ensureMap(e);return t=this._pid in i?i[this._pid]:i[this._pid]=this._createValue(e),t}set(e,t){let i,n=ne.ensureMap(e);i=this._pid in n?n[this._pid]:n[this._pid]=this._createValue(e);let s=this._coerceValue(e,t);this._maybeNotify(e,i,n[this._pid]=s)}coerce(e){let t,i=ne.ensureMap(e);t=this._pid in i?i[this._pid]:i[this._pid]=this._createValue(e);let n=this._coerceValue(e,t);this._maybeNotify(e,t,i[this._pid]=n)}_createValue(e){return(0,this._create)(e)}_coerceValue(e,t){let i=this._coerce;return i?i(e,t):t}_compareValue(e,t){let i=this._compare;return i?i(e,t):e===t}_maybeNotify(e,t,i){let n=this._changed;n&&!this._compareValue(t,i)&&n(e,t,i)}};o(te,"AttachedProperty");let ie=te;var ne;!function(e){function t(e){ne.ownerData.delete(e)}o(t,"clearData"),e.clearData=t}(ie||(ie={})),function(e){function t(t){let i=e.ownerData.get(t);return i||(i=Object.create(null),e.ownerData.set(t,i),i)}e.ownerData=new WeakMap,e.nextPID=(()=>{let e=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${e++}`})(),o(t,"ensureMap"),e.ensureMap=t}(ne||(ne={}));const se=class _Drag{constructor(e){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:e,edge:t,distance:i}=this._scrollTarget,n=oe.SCROLL_EDGE_SIZE-i,s=Math.pow(n/oe.SCROLL_EDGE_SIZE,2),r=Math.max(1,Math.round(s*oe.SCROLL_EDGE_SIZE));switch(t){case"top":e.scrollTop-=r;break;case"left":e.scrollLeft-=r;break;case"right":e.scrollLeft+=r;break;case"bottom":e.scrollTop+=r}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});oe.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 i=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:e,clientY:t});return document.dispatchEvent(i),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()}}moveDragImage(e,t){if(!this.dragImage)return;this.dragImage.style.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(),0!==e.button)return;if(this._updateCurrentTarget(e),!this._currentTarget)return void this._finalize("none");if("none"===this._dropAction)return oe.dispatchDragLeave(this,this._currentTarget,null,e),void this._finalize("none");let t=oe.dispatchDrop(this,this._currentTarget,e);this._finalize(t)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&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=oe.findScrollTarget(e);(this._scrollTarget||t)&&(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=t)}_updateCurrentTarget(e){let t=this._currentTarget,i=this._currentTarget,n=this._currentElement,s=oe.findElementBehindBackdrop(e,this.document);this._currentElement=s,s!==n&&s!==i&&oe.dispatchDragExit(this,i,s,e),s!==n&&s!==i&&(i=oe.dispatchDragEnter(this,s,i,e)),i!==t&&(this._currentTarget=i,oe.dispatchDragLeave(this,t,i,e));let r=oe.dispatchDragOver(this,i,e);this._setDropAction(r)}_attachDragImage(e,t){if(!this.dragImage)return;this.dragImage.classList.add("lm-mod-drag-image");let i=this.dragImage.style;i.pointerEvents="none",i.position="fixed",i.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=oe.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)}}_finalize(e){let t=this._resolve;this._removeListeners(),this._detachDragImage(),this._override&&(this._override.dispose(),this._override=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)}};o(se,"Drag");let re=se;var oe;!function(e){const t=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});const{drag:i}=t;this.dropAction="none",this.mimeData=i.mimeData,this.proposedAction=i.proposedAction,this.supportedActions=i.supportedActions,this.source=i.source}};o(t,"Event");let i=t;function n(e,t=document){return oe.overrideCursor(e,t)}e.Event=i,o(n,"overrideCursor"),e.overrideCursor=n}(re||(re={})),function(e){function t(e,t){return u[e]&m[t]?e:"none"}function i(t,i=document){if(t){if(n&&t==n.event)return n.element;e.cursorBackdrop.style.zIndex="-1000";const s=i.elementFromPoint(t.clientX,t.clientY);return e.cursorBackdrop.style.zIndex="",n={event:t,element:s},s}{const t=e.cursorBackdrop.style.transform;if(s&&t===s.transform)return s.element;const n=e.cursorBackdrop.getBoundingClientRect();e.cursorBackdrop.style.zIndex="-1000";const r=i.elementFromPoint(n.left+n.width/2,n.top+n.height/2);return e.cursorBackdrop.style.zIndex="",s={transform:t,element:r},r}}e.SCROLL_EDGE_SIZE=20,o(t,"validateAction"),e.validateAction=t,o(i,"findElementBehindBackdrop"),e.findElementBehindBackdrop=i;let n=null,s=null;function r(t){let n=t.clientX,s=t.clientY,r=i(t);for(;r;r=r.parentElement){if(!r.hasAttribute("data-lm-dragscroll"))continue;let t=0,i=0;r===document.body&&(t=window.pageXOffset,i=window.pageYOffset);let o=r.getBoundingClientRect(),a=o.top+i,d=o.left+t,l=d+o.width,h=a+o.height;if(n<d||n>=l||s<a||s>=h)continue;let c,u=n-d+1,m=s-a+1,p=l-n,g=h-s,f=Math.min(u,m,p,g);if(f>e.SCROLL_EDGE_SIZE)continue;switch(f){case g:c="bottom";break;case m:c="top";break;case p:c="right";break;case u:c="left";break;default:throw"unreachable"}let _,v=r.scrollWidth-r.clientWidth,b=r.scrollHeight-r.clientHeight;switch(c){case"top":_=b>0&&r.scrollTop>0;break;case"left":_=v>0&&r.scrollLeft>0;break;case"right":_=v>0&&r.scrollLeft<v;break;case"bottom":_=b>0&&r.scrollTop<b;break;default:throw"unreachable"}if(_)return{element:r,edge:c,distance:f}}return null}function a(e,t,i,n){if(!t)return null;let s=new re.Event(n,{drag:e,related:i,type:"lm-dragenter"});if(!t.dispatchEvent(s))return t;const r=e.document instanceof Document?e.document.body:e.document.firstElementChild;return t===r?i:(s=new re.Event(n,{drag:e,related:i,type:"lm-dragenter"}),r.dispatchEvent(s),r)}function d(e,t,i,n){if(!t)return;let s=new re.Event(n,{drag:e,related:i,type:"lm-dragexit"});t.dispatchEvent(s)}function l(e,t,i,n){if(!t)return;let s=new re.Event(n,{drag:e,related:i,type:"lm-dragleave"});t.dispatchEvent(s)}function h(e,t,i){if(!t)return"none";let n=new re.Event(i,{drag:e,related:null,type:"lm-dragover"});return!t.dispatchEvent(n)?n.dropAction:"none"}function c(e,t,i){if(!t)return"none";let n=new re.Event(i,{drag:e,related:null,type:"lm-drop"});return!t.dispatchEvent(n)?n.dropAction:"none"}o(r,"findScrollTarget"),e.findScrollTarget=r,o(a,"dispatchDragEnter"),e.dispatchDragEnter=a,o(d,"dispatchDragExit"),e.dispatchDragExit=d,o(l,"dispatchDragLeave"),e.dispatchDragLeave=l,o(h,"dispatchDragOver"),e.dispatchDragOver=h,o(c,"dispatchDrop"),e.dispatchDrop=c;const u={none:0,copy:1,link:2,move:4},m={none:u.none,copy:u.copy,link:u.link,move:u.move,"copy-link":u.copy|u.link,"copy-move":u.copy|u.move,"link-move":u.link|u.move,all:u.copy|u.link|u.move};function p(t,i=document){let n=++y;const s=i instanceof Document?i.body:i.firstElementChild;return e.cursorBackdrop.isConnected||(e.cursorBackdrop.style.transform="scale(0)",s.appendChild(e.cursorBackdrop),_(),document.addEventListener("pointermove",g,{capture:!0,passive:!0}),e.cursorBackdrop.addEventListener("scroll",f,{capture:!0,passive:!0})),e.cursorBackdrop.style.cursor=t,new k(()=>{n===y&&e.cursorBackdrop.isConnected&&(document.removeEventListener("pointermove",g,!0),e.cursorBackdrop.removeEventListener("scroll",f,!0),s.removeChild(e.cursorBackdrop))})}function g(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(i){}}}function f(t){if(!e.cursorBackdrop)return;let n=i();if(!n)return;const s=n.closest("[data-lm-dragscroll]");s&&(s.scrollTop+=e.cursorBackdrop.scrollTop-v,s.scrollLeft+=e.cursorBackdrop.scrollLeft-v,_())}function _(){e.cursorBackdrop.scrollTop=v,e.cursorBackdrop.scrollLeft=v}o(p,"overrideCursor"),e.overrideCursor=p,o(g,"alignBackdrop"),o(f,"propagateBackdropScroll"),o(_,"resetBackdropScroll");const v=500;function b(){const e=document.createElement("div");return e.classList.add("lm-cursor-backdrop"),e}o(b,"createCursorBackdrop");let y=0;e.cursorBackdrop=b()}(oe||(oe={}));const ae=class _VirtualText{constructor(e){this.type="text",this.content=e}};o(ae,"VirtualText");let de=ae;const le=class _VirtualElement{constructor(e,t,i,n){this.type="element",this.tag=e,this.attrs=t,this.children=i,this.renderer=n}};o(le,"VirtualElement");let he=le;function ce(e){let t,i={},n=[];for(let r=1,o=arguments.length;r<o;++r){let e=arguments[r];"string"==typeof e?n.push(new de(e)):e instanceof de||e instanceof he?n.push(e):e instanceof Array?s(n,e):1!==r&&2!==r||!e||"object"!=typeof e||("render"in e?t=e:i=e)}return new he(e,i,n,t);function s(e,t){for(let i of t)"string"==typeof i?e.push(new de(i)):(i instanceof de||i instanceof he)&&e.push(i)}}var ue,me,pe;o(ce,"h"),(ue=ce||(ce={})).a=ue.bind(void 0,"a"),ue.abbr=ue.bind(void 0,"abbr"),ue.address=ue.bind(void 0,"address"),ue.area=ue.bind(void 0,"area"),ue.article=ue.bind(void 0,"article"),ue.aside=ue.bind(void 0,"aside"),ue.audio=ue.bind(void 0,"audio"),ue.b=ue.bind(void 0,"b"),ue.bdi=ue.bind(void 0,"bdi"),ue.bdo=ue.bind(void 0,"bdo"),ue.blockquote=ue.bind(void 0,"blockquote"),ue.br=ue.bind(void 0,"br"),ue.button=ue.bind(void 0,"button"),ue.canvas=ue.bind(void 0,"canvas"),ue.caption=ue.bind(void 0,"caption"),ue.cite=ue.bind(void 0,"cite"),ue.code=ue.bind(void 0,"code"),ue.col=ue.bind(void 0,"col"),ue.colgroup=ue.bind(void 0,"colgroup"),ue.data=ue.bind(void 0,"data"),ue.datalist=ue.bind(void 0,"datalist"),ue.dd=ue.bind(void 0,"dd"),ue.del=ue.bind(void 0,"del"),ue.dfn=ue.bind(void 0,"dfn"),ue.div=ue.bind(void 0,"div"),ue.dl=ue.bind(void 0,"dl"),ue.dt=ue.bind(void 0,"dt"),ue.em=ue.bind(void 0,"em"),ue.embed=ue.bind(void 0,"embed"),ue.fieldset=ue.bind(void 0,"fieldset"),ue.figcaption=ue.bind(void 0,"figcaption"),ue.figure=ue.bind(void 0,"figure"),ue.footer=ue.bind(void 0,"footer"),ue.form=ue.bind(void 0,"form"),ue.h1=ue.bind(void 0,"h1"),ue.h2=ue.bind(void 0,"h2"),ue.h3=ue.bind(void 0,"h3"),ue.h4=ue.bind(void 0,"h4"),ue.h5=ue.bind(void 0,"h5"),ue.h6=ue.bind(void 0,"h6"),ue.header=ue.bind(void 0,"header"),ue.hr=ue.bind(void 0,"hr"),ue.i=ue.bind(void 0,"i"),ue.iframe=ue.bind(void 0,"iframe"),ue.img=ue.bind(void 0,"img"),ue.input=ue.bind(void 0,"input"),ue.ins=ue.bind(void 0,"ins"),ue.kbd=ue.bind(void 0,"kbd"),ue.label=ue.bind(void 0,"label"),ue.legend=ue.bind(void 0,"legend"),ue.li=ue.bind(void 0,"li"),ue.main=ue.bind(void 0,"main"),ue.map=ue.bind(void 0,"map"),ue.mark=ue.bind(void 0,"mark"),ue.meter=ue.bind(void 0,"meter"),ue.nav=ue.bind(void 0,"nav"),ue.noscript=ue.bind(void 0,"noscript"),ue.object=ue.bind(void 0,"object"),ue.ol=ue.bind(void 0,"ol"),ue.optgroup=ue.bind(void 0,"optgroup"),ue.option=ue.bind(void 0,"option"),ue.output=ue.bind(void 0,"output"),ue.p=ue.bind(void 0,"p"),ue.param=ue.bind(void 0,"param"),ue.pre=ue.bind(void 0,"pre"),ue.progress=ue.bind(void 0,"progress"),ue.q=ue.bind(void 0,"q"),ue.rp=ue.bind(void 0,"rp"),ue.rt=ue.bind(void 0,"rt"),ue.ruby=ue.bind(void 0,"ruby"),ue.s=ue.bind(void 0,"s"),ue.samp=ue.bind(void 0,"samp"),ue.section=ue.bind(void 0,"section"),ue.select=ue.bind(void 0,"select"),ue.small=ue.bind(void 0,"small"),ue.source=ue.bind(void 0,"source"),ue.span=ue.bind(void 0,"span"),ue.strong=ue.bind(void 0,"strong"),ue.sub=ue.bind(void 0,"sub"),ue.summary=ue.bind(void 0,"summary"),ue.sup=ue.bind(void 0,"sup"),ue.table=ue.bind(void 0,"table"),ue.tbody=ue.bind(void 0,"tbody"),ue.td=ue.bind(void 0,"td"),ue.textarea=ue.bind(void 0,"textarea"),ue.tfoot=ue.bind(void 0,"tfoot"),ue.th=ue.bind(void 0,"th"),ue.thead=ue.bind(void 0,"thead"),ue.time=ue.bind(void 0,"time"),ue.title=ue.bind(void 0,"title"),ue.tr=ue.bind(void 0,"tr"),ue.track=ue.bind(void 0,"track"),ue.u=ue.bind(void 0,"u"),ue.ul=ue.bind(void 0,"ul"),ue.var_=ue.bind(void 0,"var"),ue.video=ue.bind(void 0,"video"),ue.wbr=ue.bind(void 0,"wbr"),function(e){function t(e){return pe.createDOMNode(e)}function i(e,t){let i=pe.hostMap.get(t)||[],n=pe.asContentArray(e);pe.hostMap.set(t,n),pe.updateContent(t,i,n)}o(t,"realize"),e.realize=t,o(i,"render"),e.render=i}(me||(me={})),function(e){function t(e){return e?e instanceof Array?e:[e]:[]}function i(e){let t=arguments[1]||null;const n=arguments[2]||null;if(t)t.insertBefore(i(e),n);else{if("text"===e.type)return document.createTextNode(e.content);if(t=document.createElement(e.tag),a(t,e.attrs),e.renderer)return e.renderer.render(t,{attrs:e.attrs,children:e.children}),t;for(let n=0,s=e.children.length;n<s;++n)i(e.children[n],t)}return t}function n(e,t,r){if(t===r)return;let o=p(e,t),a=t.slice(),h=e.firstChild,c=r.length;for(let s=0;s<c;++s){if(s>=a.length){i(r[s],e);continue}let t=a[s],c=r[s];if(t===c){h=h.nextSibling;continue}if("text"===t.type&&"text"===c.type){h.textContent!==c.content&&(h.textContent=c.content),h=h.nextSibling;continue}if("text"===t.type||"text"===c.type){d.insert(a,s,c),i(c,e,h);continue}if(!t.renderer!=!c.renderer){d.insert(a,s,c),i(c,e,h);continue}let u=c.attrs.key;if(u&&u in o){let i=o[u];i.vNode!==t&&(d.move(a,a.indexOf(i.vNode,s+1),s),e.insertBefore(i.element,h),t=i.vNode,h=i.element)}if(t===c){h=h.nextSibling;continue}let m=t.attrs.key;m&&m!==u?(d.insert(a,s,c),i(c,e,h)):t.tag===c.tag?(l(h,t.attrs,c.attrs),c.renderer?c.renderer.render(h,{attrs:c.attrs,children:c.children}):n(h,t.children,c.children),h=h.nextSibling):(d.insert(a,s,c),i(c,e,h))}s(e,a,c,!0)}function s(e,t,i,n){for(let r=t.length-1;r>=i;--r){const i=t[r],o=n?e.lastChild:e.childNodes[r];"text"===i.type||(i.renderer&&i.renderer.unrender?i.renderer.unrender(o,{attrs:i.attrs,children:i.children}):s(o,i.children,0,!1)),n&&e.removeChild(o)}}e.hostMap=new WeakMap,o(t,"asContentArray"),e.asContentArray=t,o(i,"createDOMNode"),e.createDOMNode=i,o(n,"updateContent"),e.updateContent=n,o(s,"removeContent");const r={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function a(e,t){for(let i in t)i in r||("on"===i.substr(0,2)?e[i]=t[i]:e.setAttribute(i,t[i]));void 0!==t.className&&e.setAttribute("class",t.className),void 0!==t.htmlFor&&e.setAttribute("for",t.htmlFor),t.dataset&&h(e,t.dataset),t.style&&u(e,t.style)}function l(e,t,i){if(t===i)return;let n;for(n in t)n in r||n in i||("on"===n.substr(0,2)?e[n]=null:e.removeAttribute(n));for(n in i)n in r||t[n]===i[n]||("on"===n.substr(0,2)?e[n]=i[n]:e.setAttribute(n,i[n]));t.className!==i.className&&(void 0!==i.className?e.setAttribute("class",i.className):e.removeAttribute("class")),t.htmlFor!==i.htmlFor&&(void 0!==i.htmlFor?e.setAttribute("for",i.htmlFor):e.removeAttribute("for")),t.dataset!==i.dataset&&c(e,t.dataset||{},i.dataset||{}),t.style!==i.style&&m(e,t.style||{},i.style||{})}function h(e,t){for(let i in t)e.setAttribute(`data-${i}`,t[i])}function c(e,t,i){for(let n in t)n in i||e.removeAttribute(`data-${n}`);for(let n in i)t[n]!==i[n]&&e.setAttribute(`data-${n}`,i[n])}function u(e,t){let i,n=e.style;for(i in t)n[i]=t[i]}function m(e,t,i){let n,s=e.style;for(n in t)n in i||(s[n]="");for(n in i)t[n]!==i[n]&&(s[n]=i[n])}function p(e,t){let i=e.firstChild,n=Object.create(null);for(let s of t)"element"===s.type&&s.attrs.key&&(n[s.attrs.key]={vNode:s,element:i}),i=i.nextSibling;return n}o(a,"addAttrs"),o(l,"updateAttrs"),o(h,"addDataset"),o(c,"updateDataset"),o(u,"addStyle"),o(m,"updateStyle"),o(p,"collectKeys")}(pe||(pe={}));const ge=class _BoxSizer{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}};o(ge,"BoxSizer");let fe=ge;var _e;!function(e){function t(e,t){let i=e.length;if(0===i)return t;let n=0,s=0,r=0,o=0,a=0;for(let h=0;h<i;++h){let t=e[h],i=t.minSize,d=t.maxSize,l=t.sizeHint;t.done=!1,t.size=Math.max(i,Math.min(l,d)),r+=t.size,n+=i,s+=d,t.stretch>0&&(o+=t.stretch,a++)}if(t===r)return 0;if(t<=n){for(let t=0;t<i;++t){let i=e[t];i.size=i.minSize}return t-n}if(t>=s){for(let t=0;t<i;++t){let i=e[t];i.size=i.maxSize}return t-s}let d=.01,l=i;if(t<r){let n=r-t;for(;a>0&&n>d;){let t=n,s=o;for(let r=0;r<i;++r){let i=e[r];if(i.done||0===i.stretch)continue;let d=i.stretch*t/s;i.size-d<=i.minSize?(n-=i.size-i.minSize,o-=i.stretch,i.size=i.minSize,i.done=!0,l--,a--):(n-=d,i.size-=d)}}for(;l>0&&n>d;){let t=n/l;for(let s=0;s<i;++s){let i=e[s];i.done||(i.size-t<=i.minSize?(n-=i.size-i.minSize,i.size=i.minSize,i.done=!0,l--):(n-=t,i.size-=t))}}}else{let n=t-r;for(;a>0&&n>d;){let t=n,s=o;for(let r=0;r<i;++r){let i=e[r];if(i.done||0===i.stretch)continue;let d=i.stretch*t/s;i.size+d>=i.maxSize?(n-=i.maxSize-i.size,o-=i.stretch,i.size=i.maxSize,i.done=!0,l--,a--):(n-=d,i.size+=d)}}for(;l>0&&n>d;){let t=n/l;for(let s=0;s<i;++s){let i=e[s];i.done||(i.size+t>=i.maxSize?(n-=i.maxSize-i.size,i.size=i.maxSize,i.done=!0,l--):(n-=t,i.size+=t))}}}return 0}function i(e,t,i){0!==e.length&&0!==i&&(i>0?n(e,t,i):s(e,t,-i))}function n(e,t,i){let n=0;for(let a=0;a<=t;++a){let t=e[a];n+=t.maxSize-t.size}let s=0;for(let a=t+1,d=e.length;a<d;++a){let t=e[a];s+=t.size-t.minSize}let r=i=Math.min(i,n,s);for(let a=t;a>=0&&r>0;--a){let t=e[a],i=t.maxSize-t.size;i>=r?(t.sizeHint=t.size+r,r=0):(t.sizeHint=t.size+i,r-=i)}let o=i;for(let a=t+1,d=e.length;a<d&&o>0;++a){let t=e[a],i=t.size-t.minSize;i>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-i,o-=i)}}function s(e,t,i){let n=0;for(let a=t+1,d=e.length;a<d;++a){let t=e[a];n+=t.maxSize-t.size}let s=0;for(let a=0;a<=t;++a){let t=e[a];s+=t.size-t.minSize}let r=i=Math.min(i,n,s);for(let a=t+1,d=e.length;a<d&&r>0;++a){let t=e[a],i=t.maxSize-t.size;i>=r?(t.sizeHint=t.size+r,r=0):(t.sizeHint=t.size+i,r-=i)}let o=i;for(let a=t;a>=0&&o>0;--a){let t=e[a],i=t.size-t.minSize;i>=o?(t.sizeHint=t.size-o,o=0):(t.sizeHint=t.size-i,o-=i)}}o(t,"calc"),e.calc=t,o(i,"adjust"),e.adjust=i,o(n,"growSizer"),o(s,"shrinkSizer")}(_e||(_e={}));const ve=class _Title{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 S(this),this._isDisposed=!1,this.owner=e.owner,void 0!==e.label&&(this._label=e.label),void 0!==e.mnemonic&&(this._mnemonic=e.mnemonic),void 0!==e.icon&&(this._icon=e.icon),void 0!==e.iconClass&&(this._iconClass=e.iconClass),void 0!==e.iconLabel&&(this._iconLabel=e.iconLabel),void 0!==e.caption&&(this._caption=e.caption),void 0!==e.className&&(this._className=e.className),void 0!==e.closable&&(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,S.clearData(this))}};o(ve,"Title");let be=ve;const ye=class _Widget{constructor(e={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new S(this),this._hiddenMode=_Widget.HiddenMode.Display,this.node=xe.createNode(e),this.addClass("lm-Widget")}dispose(){this.isDisposed||(this.setFlag(_Widget.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&&_Widget.detach(this),this._layout&&(this._layout.dispose(),this._layout=null),this.title.dispose(),S.clearData(this),ee.clearData(this),ie.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(_Widget.Flag.IsDisposed)}get isAttached(){return this.testFlag(_Widget.Flag.IsAttached)}get isHidden(){return this.testFlag(_Widget.Flag.IsHidden)}get isVisible(){let e=this;do{if(e.isHidden||!e.isAttached)return!1;e=e.parent}while(null!=e);return!0}get title(){return xe.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.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 new Error("Invalid parent widget.");if(this._parent&&!this._parent.isDisposed){let e=new _Widget.ChildMessage("child-removed",this);ee.sendMessage(this._parent,e)}if(this._parent=e,this._parent&&!this._parent.isDisposed){let e=new _Widget.ChildMessage("child-added",this);ee.sendMessage(this._parent,e)}this.isDisposed||ee.sendMessage(this,_Widget.Msg.ParentChanged)}}get layout(){return this._layout}set layout(e){if(this._layout!==e){if(this.testFlag(_Widget.Flag.DisallowLayout))throw new Error("Cannot set widget layout.");if(this._layout)throw new Error("Cannot change widget layout.");if(e.parent)throw new 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!0===t?(this.node.classList.add(e),!0):!1===t?(this.node.classList.remove(e),!1):this.node.classList.toggle(e)}update(){ee.postMessage(this,_Widget.Msg.UpdateRequest)}fit(){ee.postMessage(this,_Widget.Msg.FitRequest)}activate(){ee.postMessage(this,_Widget.Msg.ActivateRequest)}close(){ee.sendMessage(this,_Widget.Msg.CloseRequest)}show(){if(this.testFlag(_Widget.Flag.IsHidden)&&(!this.isAttached||this.parent&&!this.parent.isVisible||ee.sendMessage(this,_Widget.Msg.BeforeShow),this.clearFlag(_Widget.Flag.IsHidden),this._toggleHidden(!1),!this.isAttached||this.parent&&!this.parent.isVisible||ee.sendMessage(this,_Widget.Msg.AfterShow),this.parent)){let e=new _Widget.ChildMessage("child-shown",this);ee.sendMessage(this.parent,e)}}hide(){if(!this.testFlag(_Widget.Flag.IsHidden)&&(!this.isAttached||this.parent&&!this.parent.isVisible||ee.sendMessage(this,_Widget.Msg.BeforeHide),this.setFlag(_Widget.Flag.IsHidden),this._toggleHidden(!0),!this.isAttached||this.parent&&!this.parent.isVisible||ee.sendMessage(this,_Widget.Msg.AfterHide),this.parent)){let e=new _Widget.ChildMessage("child-hidden",this);ee.sendMessage(this.parent,e)}}setHidden(e){e?this.hide():this.show()}testFlag(e){return 0!==(this._flags&e)}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.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.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.Flag.IsVisible),this.setFlag(_Widget.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.Flag.IsVisible),this.clearFlag(_Widget.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)}}notifyLayout(e){this._layout&&this._layout.processParentMessage(e)}onCloseRequest(e){this.parent?this.parent=null:this.isAttached&&_Widget.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.HiddenMode.Display:this.addClass("lm-mod-hidden");break;case _Widget.HiddenMode.Scale:this.node.style.transform="scale(0)",this.node.setAttribute("aria-hidden","true");break;case _Widget.HiddenMode.ContentVisibility:this.node.style.contentVisibility="hidden",this.node.style.zIndex="-1"}else switch(this._hiddenMode){case _Widget.HiddenMode.Display:this.removeClass("lm-mod-hidden");break;case _Widget.HiddenMode.Scale:this.node.style.transform="",this.node.removeAttribute("aria-hidden");break;case _Widget.HiddenMode.ContentVisibility:this.node.style.contentVisibility="",this.node.style.zIndex=""}}};o(ye,"Widget");let we=ye;var xe;!function(e){var t,i,n;(t=e.HiddenMode||(e.HiddenMode={}))[t.Display=0]="Display",t[t.Scale=1]="Scale",t[t.ContentVisibility=2]="ContentVisibility",(i=e.Flag||(e.Flag={}))[i.IsDisposed=1]="IsDisposed",i[i.IsAttached=2]="IsAttached",i[i.IsHidden=4]="IsHidden",i[i.IsVisible=8]="IsVisible",i[i.DisallowLayout=16]="DisallowLayout",(n=e.Msg||(e.Msg={})).BeforeShow=new Z("before-show"),n.AfterShow=new Z("after-show"),n.BeforeHide=new Z("before-hide"),n.AfterHide=new Z("after-hide"),n.BeforeAttach=new Z("before-attach"),n.AfterAttach=new Z("after-attach"),n.BeforeDetach=new Z("before-detach"),n.AfterDetach=new Z("after-detach"),n.ParentChanged=new Z("parent-changed"),n.UpdateRequest=new J("update-request"),n.FitRequest=new J("fit-request"),n.ActivateRequest=new J("activate-request"),n.CloseRequest=new J("close-request");const s=class _ChildMessage extends Z{constructor(e,t){super(e),this.child=t}};o(s,"ChildMessage");let r=s;e.ChildMessage=r;const a=class _ResizeMessage extends Z{constructor(e,t){super("resize"),this.width=e,this.height=t}};o(a,"ResizeMessage");let d=a;var l;function h(t,i,n=null){if(t.parent)throw new Error("Cannot attach a child widget.");if(t.isAttached||t.node.isConnected)throw new Error("Widget is already attached.");if(!i.isConnected)throw new Error("Host is not attached.");ee.sendMessage(t,e.Msg.BeforeAttach),i.insertBefore(t.node,n),ee.sendMessage(t,e.Msg.AfterAttach)}function c(t){if(t.parent)throw new Error("Cannot detach a child widget.");if(!t.isAttached||!t.node.isConnected)throw new Error("Widget is not attached.");ee.sendMessage(t,e.Msg.BeforeDetach),t.node.parentNode.removeChild(t.node),ee.sendMessage(t,e.Msg.AfterDetach)}e.ResizeMessage=d,(l=d=e.ResizeMessage||(e.ResizeMessage={})).UnknownSize=new l(-1,-1),o(h,"attach"),e.attach=h,o(c,"detach"),e.detach=c}(we||(we={})),function(e){function t(e){return e.node||document.createElement(e.tag||"div")}e.titleProperty=new ie({name:"title",create:o(e=>new be({owner:e}),"create")}),o(t,"createNode"),e.createNode=t}(xe||(xe={}));const Me=class _Layout{constructor(e={}){this._disposed=!1,this._parent=null,this._fitPolicy=e.fitPolicy||"set-min-size"}dispose(){this._parent=null,this._disposed=!0,S.clearData(this),ie.clearData(this)}get isDisposed(){return this._disposed}get parent(){return this._parent}set parent(e){if(this._parent!==e){if(this._parent)throw new Error("Cannot change parent widget.");if(e.layout!==this)throw new 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)}}init(){for(const e of this)e.parent=this.parent}onResize(e){for(const t of this)ee.sendMessage(t,we.ResizeMessage.UnknownSize)}onUpdateRequest(e){for(const t of this)ee.sendMessage(t,we.ResizeMessage.UnknownSize)}onBeforeAttach(e){for(const t of this)ee.sendMessage(t,e)}onAfterAttach(e){for(const t of this)ee.sendMessage(t,e)}onBeforeDetach(e){for(const t of this)ee.sendMessage(t,e)}onAfterDetach(e){for(const t of this)ee.sendMessage(t,e)}onBeforeShow(e){for(const t of this)t.isHidden||ee.sendMessage(t,e)}onAfterShow(e){for(const t of this)t.isHidden||ee.sendMessage(t,e)}onBeforeHide(e){for(const t of this)t.isHidden||ee.sendMessage(t,e)}onAfterHide(e){for(const t of this)t.isHidden||ee.sendMessage(t,e)}onChildRemoved(e){this.removeWidget(e.child)}onFitRequest(e){}onChildShown(e){}onChildHidden(e){}};o(Me,"Layout");let Ce=Me;!function(e){function t(e){return Ie.horizontalAlignmentProperty.get(e)}function i(e,t){Ie.horizontalAlignmentProperty.set(e,t)}function n(e){return Ie.verticalAlignmentProperty.get(e)}function s(e,t){Ie.verticalAlignmentProperty.set(e,t)}o(t,"getHorizontalAlignment"),e.getHorizontalAlignment=t,o(i,"setHorizontalAlignment"),e.setHorizontalAlignment=i,o(n,"getVerticalAlignment"),e.getVerticalAlignment=n,o(s,"setVerticalAlignment"),e.setVerticalAlignment=s}(Ce||(Ce={}));const Ae=class _LayoutItem{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=R.sizeLimits(this.widget.node);this._minWidth=e.minWidth,this._minHeight=e.minHeight,this._maxWidth=e.maxWidth,this._maxHeight=e.maxHeight}update(e,t,i,n){let s=Math.max(this._minWidth,Math.min(i,this._maxWidth)),r=Math.max(this._minHeight,Math.min(n,this._maxHeight));if(s<i)switch(Ce.getHorizontalAlignment(this.widget)){case"left":break;case"center":e+=(i-s)/2;break;case"right":e+=i-s;break;default:throw"unreachable"}if(r<n)switch(Ce.getVerticalAlignment(this.widget)){case"top":break;case"center":t+=(n-r)/2;break;case"bottom":t+=n-r;break;default:throw"unreachable"}let o=!1,a=this.widget.node.style;if(this._top!==t&&(this._top=t,a.top=`${t}px`),this._left!==e&&(this._left=e,a.left=`${e}px`),this._width!==s&&(o=!0,this._width=s,a.width=`${s}px`),this._height!==r&&(o=!0,this._height=r,a.height=`${r}px`),o){let e=new we.ResizeMessage(s,r);ee.sendMessage(this.widget,e)}}};o(Ae,"LayoutItem");let Se=Ae;var Ie;!function(e){function t(e){e.parent&&e.parent.layout&&e.parent.update()}e.horizontalAlignmentProperty=new ie({name:"horizontalAlignment",create:o(()=>"center","create"),changed:t}),e.verticalAlignmentProperty=new ie({name:"verticalAlignment",create:o(()=>"top","create"),changed:t}),o(t,"onAlignmentChanged")}(Ie||(Ie={}));const ze=class _PanelLayout extends Ce{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 i=this._widgets.indexOf(t),n=Math.max(0,Math.min(e,this._widgets.length));if(-1===i)return d.insert(this._widgets,n,t),void(this.parent&&this.attachWidget(n,t));n===this._widgets.length&&n--,i!==n&&(d.move(this._widgets,i,n),this.parent&&this.moveWidget(i,n,t))}removeWidget(e){this.removeWidgetAt(this._widgets.indexOf(e))}removeWidgetAt(e){let t=d.removeAt(this._widgets,e);t&&this.parent&&this.detachWidget(e,t)}init(){super.init();let e=0;for(const t of this)this.attachWidget(e++,t)}attachWidget(e,t){let i=this.parent.node.children[e];this.parent.isAttached&&ee.sendMessage(t,we.Msg.BeforeAttach),this.parent.node.insertBefore(t.node,i),this.parent.isAttached&&ee.sendMessage(t,we.Msg.AfterAttach)}moveWidget(e,t,i){this.parent.isAttached&&ee.sendMessage(i,we.Msg.BeforeDetach),this.parent.node.removeChild(i.node),this.parent.isAttached&&ee.sendMessage(i,we.Msg.AfterDetach);let n=this.parent.node.children[t];this.parent.isAttached&&ee.sendMessage(i,we.Msg.BeforeAttach),this.parent.node.insertBefore(i.node,n),this.parent.isAttached&&ee.sendMessage(i,we.Msg.AfterAttach)}detachWidget(e,t){this.parent.isAttached&&ee.sendMessage(t,we.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&ee.sendMessage(t,we.Msg.AfterDetach)}};o(ze,"PanelLayout");let ke=ze;var Ee;!function(e){function t(e){return Math.max(0,Math.floor(e))}o(t,"clampDimension"),e.clampDimension=t}(Ee||(Ee={}));var Te=Ee;const Le=class _SplitLayout extends ke{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,void 0!==e.orientation&&(this._orientation=e.orientation),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=Ee.clampDimension(e.spacing))}dispose(){for(const 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=Ee.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 Be.normalize(this._sizers.map(e=>e.size))}setRelativeSizes(e,t=!0){let i=this._sizers.length,n=e.slice(0,i);for(;n.length<i;)n.push(0);let s=Be.normalize(n);for(let r=0;r<i;++r){let e=this._sizers[r];e.sizeHint=s[r],e.size=s[r]}this._hasNormedSizes=!0,t&&this.parent&&this.parent.update()}moveHandle(e,t){let i,n=this._handles[e];if(n&&!n.classList.contains("lm-mod-hidden")&&(i="horizontal"===this._orientation?t-n.offsetLeft:t-n.offsetTop,0!==i)){for(let e of this._sizers)e.size>0&&(e.sizeHint=e.size);_e.adjust(this._sizers,e,i),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,t){let i=new Se(t),n=Be.createHandle(this.renderer),s=Be.averageSize(this._sizers),r=Be.createSizer(s);d.insert(this._items,e,i),d.insert(this._sizers,e,r),d.insert(this._handles,e,n),this.parent.isAttached&&ee.sendMessage(t,we.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.node.appendChild(n),this.parent.isAttached&&ee.sendMessage(t,we.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,i){d.move(this._items,e,t),d.move(this._sizers,e,t),d.move(this._handles,e,t),this.parent.fit()}detachWidget(e,t){let i=d.removeAt(this._items,e),n=d.removeAt(this._handles,e);d.removeAt(this._sizers,e),this.parent.isAttached&&ee.sendMessage(t,we.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.node.removeChild(n),this.parent.isAttached&&ee.sendMessage(t,we.Msg.AfterDetach),i.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,i,n,s,r,o){const a=this._items[e];if(a.isHidden)return;let d=this._handles[e].style;t?(i+=this.widgetOffset,a.update(i,n,o,s),i+=o,d.top=`${n}px`,d.left=`${i}px`,d.width=`${this._spacing}px`,d.height=`${s}px`):(n+=this.widgetOffset,a.update(i,n,r,o),n+=o,d.top=`${n}px`,d.left=`${i}px`,d.width=`${r}px`,d.height=`${this._spacing}px`)}_fit(){let e=0,t=-1;for(let a=0,d=this._items.length;a<d;++a)this._items[a].isHidden?this._handles[a].classList.add("lm-mod-hidden"):(this._handles[a].classList.remove("lm-mod-hidden"),t=a,e++);-1!==t&&this._handles[t].classList.add("lm-mod-hidden"),this._fixed=this._spacing*Math.max(0,e-1)+this.widgetOffset*this._items.length;let i="horizontal"===this._orientation,n=i?this._fixed:0,s=i?0:this._fixed;for(let a=0,d=this._items.length;a<d;++a){let e=this._items[a],t=this._sizers[a];t.size>0&&(t.sizeHint=t.size),e.isHidden?(t.minSize=0,t.maxSize=0):(e.fit(),t.stretch=_SplitLayout.getStretch(e.widget),i?(t.minSize=e.minWidth,t.maxSize=e.maxWidth,n+=e.minWidth,s=Math.max(s,e.minHeight)):(t.minSize=e.minHeight,t.maxSize=e.maxHeight,s+=e.minHeight,n=Math.max(n,e.minWidth)))}let r=this._box=R.boxSizing(this.parent.node);n+=r.horizontalSum,s+=r.verticalSum;let o=this.parent.node.style;o.minWidth=`${n}px`,o.minHeight=`${s}px`,this._dirty=!0,this.parent.parent&&ee.sendMessage(this.parent.parent,we.Msg.FitRequest),this._dirty&&ee.sendMessage(this.parent,we.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let i=0;for(let h=0,c=this._items.length;h<c;++h)i+=+!this._items[h].isHidden;if(0===i&&0===this.widgetOffset)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||(this._box=R.boxSizing(this.parent.node));let n=this._box.paddingTop,s=this._box.paddingLeft,r=e-this._box.horizontalSum,o=t-this._box.verticalSum,a=0,d=0,l="horizontal"===this._orientation;if(i>0){let e;if(e=l?Math.max(0,r-this._fixed):Math.max(0,o-this._fixed),this._hasNormedSizes){for(let t of this._sizers)t.sizeHint*=e;this._hasNormedSizes=!1}let t=_e.calc(this._sizers,e);if(t>0)switch(this._alignment){case"start":break;case"center":a=0,d=t/2;break;case"end":a=0,d=t;break;case"justify":a=t/i,d=0;break;default:throw"unreachable"}}for(let h=0,c=this._items.length;h<c;++h){const e=this._items[h].isHidden?0:this._sizers[h].size+a;this.updateItemPosition(h,l,l?s+d:s,l?n:n+d,o,r,e);const t=this.widgetOffset+(this._handles[h].classList.contains("lm-mod-hidden")?0:this._spacing);l?s+=e+t:n+=e+t}}};o(Le,"SplitLayout");let De=Le;var Be;!function(e){function t(e){return Be.stretchProperty.get(e)}function i(e,t){Be.stretchProperty.set(e,t)}o(t,"getStretch"),e.getStretch=t,o(i,"setStretch"),e.setStretch=i}(De||(De={})),function(e){function t(e){let t=new fe;return t.sizeHint=Math.floor(e),t}function i(e){let t=e.createHandle();return t.style.position="absolute",t.style.contain="style",t}function n(e){return e.reduce((e,t)=>e+t.size,0)/e.length||0}function s(e){let t=e.length;if(0===t)return[];let i=e.reduce((e,t)=>e+Math.abs(t),0);return 0===i?e.map(e=>1/t):e.map(e=>e/i)}function r(e){e.parent&&e.parent.layout instanceof De&&e.parent.fit()}e.stretchProperty=new ie({name:"stretch",create:o(()=>0,"create"),coerce:o((e,t)=>Math.max(0,Math.floor(t)),"coerce"),changed:r}),o(t,"createSizer"),e.createSizer=t,o(i,"createHandle"),e.createHandle=i,o(n,"averageSize"),e.averageSize=n,o(s,"normalize"),e.normalize=s,o(r,"onChildSizingChanged")}(Be||(Be={}));const Re=class _AccordionLayout extends De{constructor(e){super({...e,orientation:e.orientation||"vertical"}),this._titles=[],this.titleSpace=e.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(e){e=Te.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){const i=this._titles[e],n=i.classList.contains("lm-mod-expanded"),s=We.createTitle(this.renderer,t.title,n);this._titles[e]=s,this.parent.node.replaceChild(s,i)}insertWidget(e,t){t.id||(t.id=`id-${x.uuid4()}`),super.insertWidget(e,t)}attachWidget(e,t){const i=We.createTitle(this.renderer,t.title);d.insert(this._titles,e,i),this.parent.node.appendChild(i),t.node.setAttribute("role","region"),t.node.setAttribute("aria-labelledby",i.id),super.attachWidget(e,t)}moveWidget(e,t,i){d.move(this._titles,e,t),super.moveWidget(e,t,i)}detachWidget(e,t){const i=d.removeAt(this._titles,e);this.parent.node.removeChild(i),super.detachWidget(e,t)}updateItemPosition(e,t,i,n,s,r,o){const a=this._titles[e].style;a.top=`${n}px`,a.left=`${i}px`,a.height=`${this.widgetOffset}px`,a.width=t?`${s}px`:`${r}px`,super.updateItemPosition(e,t,i,n,s,r,o)}};o(Re,"AccordionLayout");let Pe=Re;var We;!function(e){function t(e,t,i=!0){const n=e.createSectionTitle(t);return n.style.position="absolute",n.style.contain="strict",n.setAttribute("aria-label",`${t.label} Section`),n.setAttribute("aria-expanded",i?"true":"false"),n.setAttribute("aria-controls",t.owner.id),i&&n.classList.add("lm-mod-expanded"),n}o(t,"createTitle"),e.createTitle=t}(We||(We={}));const He=class _Panel extends we{constructor(e={}){super(),this.addClass("lm-Panel"),this.layout=Oe.createLayout(e)}get widgets(){return this.layout.widgets}addWidget(e){this.layout.addWidget(e)}insertWidget(e,t){this.layout.insertWidget(e,t)}};o(He,"Panel");let Ne=He;var Oe;!function(e){function t(e){return e.layout||new ke}o(t,"createLayout"),e.createLayout=t}(Oe||(Oe={}));let Fe=(o(i=class extends Ne{constructor(e={}){super({layout:qe.createLayout(e)}),this._handleMoved=new S(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()}}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()),27===e.keyCode&&this._releaseMouse()}_evtPointerDown(e){if(0!==e.button)return;let t,i=this.layout,n=d.findFirstIndex(i.handles,t=>t.contains(e.target));if(-1===n)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 s=i.handles[n],r=s.getBoundingClientRect();t="horizontal"===i.orientation?e.clientX-r.left:e.clientY-r.top;let o=window.getComputedStyle(s),a=re.overrideCursor(o.cursor);this._pressData={index:n,delta:t,override:a}}_evtPointerMove(e){let t;e.preventDefault(),e.stopPropagation();let i=this.layout,n=this.node.getBoundingClientRect();t="horizontal"===i.orientation?e.clientX-n.left-this._pressData.delta:e.clientY-n.top-this._pressData.delta,i.moveHandle(this._pressData.index,t)}_evtPointerUp(e){0===e.button&&(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))}},"SplitPanel"),i);var qe;!function(e){const t=class _Renderer{createHandle(){let e=document.createElement("div");return e.className="lm-SplitPanel-handle",e}};o(t,"Renderer");let i=t;function n(e){return De.getStretch(e)}function s(e,t){De.setStretch(e,t)}e.Renderer=i,e.defaultRenderer=new i,o(n,"getStretch"),e.getStretch=n,o(s,"setStretch"),e.setStretch=s}(Fe||(Fe={})),function(e){function t(e){return e.layout||new De({renderer:e.renderer||Fe.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing})}o(t,"createLayout"),e.createLayout=t}(qe||(qe={}));const Ke=class _AccordionPanel extends Fe{constructor(e={}){super({...e,layout:Ve.createLayout(e)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new S(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){const t=this.layout.widgets[e];t&&!t.isHidden&&this._toggleExpansion(e)}expand(e){const 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)}}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){const t=d.findFirstIndex(this.widgets,t=>t.contains(e.owner));t>=0&&(this.layout.updateTitle(t,e.owner),this.update())}_computeWidgetSize(e){const t=this.layout,i=t.widgets[e];if(!i)return;const n=i.isHidden,s=t.absoluteSizes(),r=(n?-1:1)*this.spacing,o=s.reduce((e,t)=>e+t);let a=[...s];if(n){const t=this._widgetSizesCache.get(i);if(!t)return;a[e]+=t;const n=a.map(e=>e-t>0).lastIndexOf(!0);-1===n?a.forEach((i,n)=>{n!==e&&(a[n]-=s[n]/o*(t-r))}):a[n]-=t-r}else{const t=s[e];this._widgetSizesCache.set(i,t),a[e]=0;const n=a.map(e=>e>0).lastIndexOf(!0);if(-1===n)return;a[n]=s[n]+t+r}return a.map(e=>e/(o+r))}_evtClick(e){const t=e.target;if(t){const i=d.findFirstIndex(this.titles,e=>e.contains(t));i>=0&&(e.preventDefault(),e.stopPropagation(),this._toggleExpansion(i))}}_eventKeyDown(e){if(e.defaultPrevented)return;const t=e.target;let i=!1;if(t){const n=d.findFirstIndex(this.titles,e=>e.contains(t));if(n>=0){const s=e.keyCode.toString();if(e.key.match(/Space|Enter/)||s.match(/13|32/))t.click(),i=!0;else if("horizontal"===this.orientation?e.key.match(/ArrowLeft|ArrowRight/)||s.match(/37|39/):e.key.match(/ArrowUp|ArrowDown/)||s.match(/38|40/)){const t=e.key.match(/ArrowLeft|ArrowUp/)||s.match(/37|38/)?-1:1,r=this.titles.length,o=(n+r+t)%r;this.titles[o].focus(),i=!0}else"End"===e.key||"35"===s?(this.titles[this.titles.length-1].focus(),i=!0):"Home"!==e.key&&"36"!==s||(this.titles[0].focus(),i=!0)}i&&e.preventDefault()}}_toggleExpansion(e){const t=this.titles[e],i=this.layout.widgets[e],n=this._computeWidgetSize(e);n&&this.setRelativeSizes(n,!1),i.isHidden?(t.classList.add("lm-mod-expanded"),t.setAttribute("aria-expanded","true"),i.show()):(t.classList.remove("lm-mod-expanded"),t.setAttribute("aria-expanded","false"),i.hide()),this._expansionToggled.emit(e)}};o(Ke,"AccordionPanel");let $e=Ke;var Ve;!function(e){const t=class _Renderer extends Fe.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){const t=document.createElement("h3");t.setAttribute("tabindex","0"),t.id=this.createTitleKey(e),t.className=this.titleClassName;for(const n in e.dataset)t.dataset[n]=e.dataset[n];t.appendChild(this.createCollapseIcon(e)).className="lm-AccordionPanel-titleCollapser";const i=t.appendChild(document.createElement("span"));return i.className="lm-AccordionPanel-titleLabel",i.textContent=e.label,i.title=e.caption||e.label,t}createTitleKey(e){let t=this._titleKeys.get(e);return void 0===t&&(t=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(e,t)),t}};o(t,"Renderer");let i=t;i._nInstance=0,e.Renderer=i,e.defaultRenderer=new i}($e||($e={})),function(e){function t(e){return e.layout||new Pe({renderer:e.renderer||$e.defaultRenderer,orientation:e.orientation,alignment:e.alignment,spacing:e.spacing,titleSpace:e.titleSpace})}o(t,"createLayout"),e.createLayout=t}(Ve||(Ve={}));const Ue=class _BoxLayout extends ke{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",void 0!==e.direction&&(this._direction=e.direction),void 0!==e.alignment&&(this._alignment=e.alignment),void 0!==e.spacing&&(this._spacing=Te.clampDimension(e.spacing))}dispose(){for(const 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=Te.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){d.insert(this._items,e,new Se(t)),d.insert(this._sizers,e,new fe),this.parent.isAttached&&ee.sendMessage(t,we.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&ee.sendMessage(t,we.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,i){d.move(this._items,e,t),d.move(this._sizers,e,t),this.parent.update()}detachWidget(e,t){let i=d.removeAt(this._items,e);d.removeAt(this._sizers,e),this.parent.isAttached&&ee.sendMessage(t,we.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&ee.sendMessage(t,we.Msg.AfterDetach),i.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 o=0,a=this._items.length;o<a;++o)e+=+!this._items[o].isHidden;this._fixed=this._spacing*Math.max(0,e-1);let t=Ye.isHorizontal(this._direction),i=t?this._fixed:0,n=t?0:this._fixed;for(let o=0,a=this._items.length;o<a;++o){let e=this._items[o],s=this._sizers[o];e.isHidden?(s.minSize=0,s.maxSize=0):(e.fit(),s.sizeHint=_BoxLayout.getSizeBasis(e.widget),s.stretch=_BoxLayout.getStretch(e.widget),t?(s.minSize=e.minWidth,s.maxSize=e.maxWidth,i+=e.minWidth,n=Math.max(n,e.minHeight)):(s.minSize=e.minHeight,s.maxSize=e.maxHeight,n+=e.minHeight,i=Math.max(i,e.minWidth)))}let s=this._box=R.boxSizing(this.parent.node);i+=s.horizontalSum,n+=s.verticalSum;let r=this.parent.node.style;r.minWidth=`${i}px`,r.minHeight=`${n}px`,this._dirty=!0,this.parent.parent&&ee.sendMessage(this.parent.parent,we.Msg.FitRequest),this._dirty&&ee.sendMessage(this.parent,we.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let i=0;for(let h=0,c=this._items.length;h<c;++h)i+=+!this._items[h].isHidden;if(0===i)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||(this._box=R.boxSizing(this.parent.node));let n,s=this._box.paddingTop,r=this._box.paddingLeft,o=e-this._box.horizontalSum,a=t-this._box.verticalSum;switch(this._direction){case"left-to-right":n=_e.calc(this._sizers,Math.max(0,o-this._fixed));break;case"top-to-bottom":n=_e.calc(this._sizers,Math.max(0,a-this._fixed));break;case"right-to-left":n=_e.calc(this._sizers,Math.max(0,o-this._fixed)),r+=o;break;case"bottom-to-top":n=_e.calc(this._sizers,Math.max(0,a-this._fixed)),s+=a;break;default:throw"unreachable"}let d=0,l=0;if(n>0)switch(this._alignment){case"start":break;case"center":d=0,l=n/2;break;case"end":d=0,l=n;break;case"justify":d=n/i,l=0;break;default:throw"unreachable"}for(let h=0,c=this._items.length;h<c;++h){let e=this._items[h];if(e.isHidden)continue;let t=this._sizers[h].size;switch(this._direction){case"left-to-right":e.update(r+l,s,t+d,a),r+=t+d+this._spacing;break;case"top-to-bottom":e.update(r,s+l,o,t+d),s+=t+d+this._spacing;break;case"right-to-left":e.update(r-l-t-d,s,t+d,a),r-=t+d+this._spacing;break;case"bottom-to-top":e.update(r,s-l-t-d,o,t+d),s-=t+d+this._spacing;break;default:throw"unreachable"}}}};o(Ue,"BoxLayout");let je=Ue;var Ye;!function(e){function t(e){return Ye.stretchProperty.get(e)}function i(e,t){Ye.stretchProperty.set(e,t)}function n(e){return Ye.sizeBasisProperty.get(e)}function s(e,t){Ye.sizeBasisProperty.set(e,t)}o(t,"getStretch"),e.getStretch=t,o(i,"setStretch"),e.setStretch=i,o(n,"getSizeBasis"),e.getSizeBasis=n,o(s,"setSizeBasis"),e.setSizeBasis=s}(je||(je={})),function(e){function t(e){return"left-to-right"===e||"right-to-left"===e}function i(e){return Math.max(0,Math.floor(e))}function n(e){e.parent&&e.parent.layout instanceof je&&e.parent.fit()}e.stretchProperty=new ie({name:"stretch",create:o(()=>0,"create"),coerce:o((e,t)=>Math.max(0,Math.floor(t)),"coerce"),changed:n}),e.sizeBasisProperty=new ie({name:"sizeBasis",create:o(()=>0,"create"),coerce:o((e,t)=>Math.max(0,Math.floor(t)),"coerce"),changed:n}),o(t,"isHorizontal"),e.isHorizontal=t,o(i,"clampSpacing"),e.clampSpacing=i,o(n,"onChildSizingChanged")}(Ye||(Ye={}));const Xe=class _BoxPanel extends Ne{constructor(e={}){super({layout:Ze.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")}};o(Xe,"BoxPanel");let Ge=Xe;var Ze;!function(e){function t(e){return je.getStretch(e)}function i(e,t){je.setStretch(e,t)}function n(e){return je.getSizeBasis(e)}function s(e,t){je.setSizeBasis(e,t)}o(t,"getStretch"),e.getStretch=t,o(i,"setStretch"),e.setStretch=i,o(n,"getSizeBasis"),e.getSizeBasis=n,o(s,"setSizeBasis"),e.setSizeBasis=s}(Xe||(Ge={})),function(e){function t(e){return e.layout||new je(e)}o(t,"createLayout"),e.createLayout=t}(Ze||(Ze={}));const Qe=class _CommandPalette extends we{constructor(e){super({node:et.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass("lm-CommandPalette"),this.setFlag(we.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=et.createItem(this.commands,e);return this._items.push(t),this.refresh(),t}addItems(e){const t=e.map(e=>et.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){d.removeAt(this._items,e)&&this.refresh()}clearItems(){0!==this._items.length&&(this._items.length=0,this.refresh())}refresh(){if(this._results=null,""!==this.inputNode.value){this.node.getElementsByClassName("lm-close-icon")[0].style.display="inherit"}else{this.node.getElementsByClassName("lm-close-icon")[0].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()}}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)return void me.render(null,this.contentNode);let t=this.inputNode.value,i=this.contentNode,n=this._results;if(n||(n=this._results=et.search(this._items,t),this._activeIndex=t?d.findFirstIndex(n,et.canActivate):-1),!t&&0===n.length)return void me.render(null,i);if(t&&0===n.length){let e=this.renderer.renderEmptyMessage({query:t});return void me.render(e,i)}let s=this.renderer,r=this._activeIndex,o=new Array(n.length);for(let a=0,d=n.length;a<d;++a){let e=n[a];if("header"===e.type){let t=e.indices,i=e.category;o[a]=s.renderHeader({category:i,indices:t})}else{let t=e.item,i=e.indices,n=a===r;o[a]=s.renderItem({item:t,indices:i,active:n})}}if(me.render(o,i),r<0||r>=n.length)i.scrollTop=0;else{let e=i.children[r];R.scrollIntoViewIfNeeded(i,e)}}_evtClick(e){if(0!==e.button)return;if(e.target.classList.contains("lm-close-icon"))return this.inputNode.value="",void this.refresh();let t=d.findFirstIndex(this.contentNode.children,t=>t.contains(e.target));-1!==t&&(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()}}_activateNextItem(){if(!this._results||0===this._results.length)return;let e=this._activeIndex,t=this._results.length,i=e<t-1?e+1:0,n=0===i?t-1:i-1;this._activeIndex=d.findFirstIndex(this._results,et.canActivate,i,n),this.update()}_activatePreviousItem(){if(!this._results||0===this._results.length)return;let e=this._activeIndex,t=this._results.length,i=e<=0?t-1:e-1,n=i===t-1?0:i+1;this._activeIndex=d.findLastIndex(this._results,et.canActivate,i,n),this.update()}_execute(e){if(!this._results)return;let t=this._results[e];if(t){if("header"===t.type){let e=this.inputNode;return e.value=`${t.category.toLowerCase()} `,e.focus(),void this.refresh()}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()}};o(Qe,"CommandPalette");let Je=Qe;var et;!function(e){const t=class _Renderer{renderHeader(e){let t=this.formatHeader(e);return ce.li({className:"lm-CommandPalette-header"},t)}renderItem(e){let t=this.createItemClass(e),i=this.createItemDataset(e);return e.item.isToggleable?ce.li({className:t,dataset:i,role:"menuitemcheckbox","aria-checked":`${e.item.isToggled}`},this.renderItemIcon(e),this.renderItemContent(e),this.renderItemShortcut(e)):ce.li({className:t,dataset:i,role:"menuitem"},this.renderItemIcon(e),this.renderItemContent(e),this.renderItemShortcut(e))}renderEmptyMessage(e){let t=this.formatEmptyMessage(e);return ce.li({className:"lm-CommandPalette-emptyMessage"},t)}renderItemIcon(e){let t=this.createIconClass(e);return ce.div({className:t},e.item.icon,e.item.iconLabel)}renderItemContent(e){return ce.div({className:"lm-CommandPalette-itemContent"},this.renderItemLabel(e),this.renderItemCaption(e))}renderItemLabel(e){let t=this.formatItemLabel(e);return ce.div({className:"lm-CommandPalette-itemLabel"},t)}renderItemCaption(e){let t=this.formatItemCaption(e);return ce.div({className:"lm-CommandPalette-itemCaption"},t)}renderItemShortcut(e){let t=this.formatItemShortcut(e);return ce.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 i=e.item.className;return i&&(t+=` ${i}`),t}createItemDataset(e){return{...e.item.dataset,command:e.item.command}}createIconClass(e){let t="lm-CommandPalette-itemIcon",i=e.item.iconClass;return i?`${t} ${i}`:t}formatHeader(e){return e.indices&&0!==e.indices.length?h.highlight(e.category,e.indices,ce.mark):e.category}formatEmptyMessage(e){return`No commands found that match '${e.query}'`}formatItemShortcut(e){let t=e.item.keyBinding;return t?V.formatKeystroke(t.keys):null}formatItemLabel(e){return e.indices&&0!==e.indices.length?h.highlight(e.item.label,e.indices,ce.mark):e.item.label}formatItemCaption(e){return e.item.caption}};o(t,"Renderer");let i=t;e.Renderer=i,e.defaultRenderer=new i}(Je||(Je={})),function(e){function t(){let e=document.createElement("div"),t=document.createElement("div"),i=document.createElement("div"),n=document.createElement("input"),s=document.createElement("ul"),r=document.createElement("button");return t.className="lm-CommandPalette-search",i.className="lm-CommandPalette-wrapper",n.className="lm-CommandPalette-input",r.className="lm-close-icon",s.className="lm-CommandPalette-content",s.setAttribute("role","menu"),n.spellcheck=!1,i.appendChild(n),i.appendChild(r),t.appendChild(i),e.appendChild(t),e.appendChild(s),e}function i(e,t){return new f(e,t)}function n(e,t){let i=l(e,t);return i.sort(m),p(i)}function s(e){return"item"===e.type&&e.item.isEnabled}function r(e){return e.trim().replace(/\s+/g," ")}function a(e){return e.replace(/\s+/g,"").toLowerCase()}function l(e,t){t=a(t);let i=[];for(let n=0,s=e.length;n<s;++n){let s=e[n];if(!s.isVisible)continue;if(!t){i.push({matchType:3,categoryIndices:null,labelIndices:null,score:0,item:s});continue}let r=u(s,t);r&&(s.isEnabled||(r.score+=1e3),i.push(r))}return i}function u(e,t){let i=e.category.toLowerCase(),n=`${i} ${e.label.toLowerCase()}`,s=1/0,r=null,o=/\b\w/g;for(;;){let e=o.exec(n);if(!e)break;let i=h.matchSumOfDeltas(n,t,e.index);if(!i)break;i.score<=s&&(s=i.score,r=i.indices)}if(!r||s===1/0)return null;let a=i.length+1,l=d.lowerBound(r,a,(e,t)=>e-t),c=r.slice(0,l),u=r.slice(l);for(let d=0,h=u.length;d<h;++d)u[d]-=a;return 0===c.length?{matchType:0,categoryIndices:null,labelIndices:u,score:s,item:e}:0===u.length?{matchType:1,categoryIndices:c,labelIndices:null,score:s,item:e}:{matchType:2,categoryIndices:c,labelIndices:u,score:s,item:e}}function m(e,t){let i=e.matchType-t.matchType;if(0!==i)return i;let n=e.score-t.score;if(0!==n)return n;let s=0,r=0;switch(e.matchType){case 0:s=e.labelIndices[0],r=t.labelIndices[0];break;case 1:case 2:s=e.categoryIndices[0],r=t.categoryIndices[0]}if(s!==r)return s-r;let o=e.item.category.localeCompare(t.item.category);if(0!==o)return o;let a=e.item.rank,d=t.item.rank;return a!==d?a<d?-1:1:e.item.label.localeCompare(t.item.label)}function p(e){let t=[];for(let i=0,n=e.length;i<n;++i){let{item:n,categoryIndices:s,labelIndices:r}=e[i],o=n.category;0!==i&&o===e[i-1].item.category||t.push({type:"header",category:o,indices:s}),t.push({type:"item",item:n,indices:r})}return t}o(t,"createNode"),e.createNode=t,o(i,"createItem"),e.createItem=i,o(n,"search"),e.search=n,o(s,"canActivate"),e.canActivate=s,o(r,"normalizeCategory"),o(a,"normalizeQuery"),o(l,"matchItems"),o(u,"fuzzySearch"),o(m,"scoreCmp"),o(p,"createResults");const g=class _CommandItem{constructor(e,t){this._commands=e,this.category=r(t.category),this.command=t.command,this.args=t.args||c.emptyObject,this.rank=void 0!==t.rank?t.rank:1/0}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 d.findLastValue(this._commands.keyBindings,i=>i.command===e&&c.deepEqual(i.args,t))||null}};o(g,"CommandItem");let f=g}(et||(et={}));const tt=class _Menu extends we{constructor(e){super({node:nt.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new S(this),this._menuRequested=new S(this),this.addClass("lm-Menu"),this.setFlag(we.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),-1===e||nt.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,i=t<e-1?t+1:0,n=0===i?e-1:i-1;this.activeIndex=d.findFirstIndex(this._items,nt.canActivate,i,n)}activatePreviousItem(){let e=this._items.length,t=this._activeIndex,i=t<=0?e-1:t-1,n=i===e-1?0:i+1;this.activeIndex=d.findLastIndex(this._items,nt.canActivate,i,n)}triggerActiveItem(){if(!this.isAttached)return;let e=this.activeItem;if(!e)return;if(this._cancelOpenTimer(),this._cancelCloseTimer(),"submenu"===e.type)return void this._openChildMenu(!0);this.rootMenu.close();let{command:t,args:i}=e;this.commands.isEnabled(t,i)?this.commands.execute(t,i):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 i=Math.max(0,Math.min(e,this._items.length)),n=nt.createItem(this,t);return d.insert(this._items,i,n),this.update(),n}removeItem(e){let t=this._items.indexOf(e);-1!==t&&this.removeItemAt(t)}removeItemAt(e){this.isAttached&&this.close(),this.activeIndex=-1,d.removeAt(this._items,e)&&this.update()}clearItems(){this.isAttached&&this.close(),this.activeIndex=-1,0!==this._items.length&&(this._items.length=0,this.update())}open(e,t,i={}){var n,s,r;if(this.isAttached)return;let o=i.forceX||!1,a=i.forceY||!1;const d=null!==(n=i.host)&&void 0!==n?n:null,l=null!==(s=i.ref)&&void 0!==s?s:null,h=null!==(r=i.horizontalAlignment)&&void 0!==r?r:"rtl"===document.documentElement.dir?"right":"left";nt.openRootMenu(this,e,t,o,a,h,d,l),this.activate()}handleEvent(e){switch(e.type){case"keydown":this._evtKeyDown(e);break;case"mouseup":this._evtMouseUp(e);break;case"mousemove":this._evtMouseMove(e);break;case"mouseenter":this._evtMouseEnter(e);break;case"mouseleave":this._evtMouseLeave(e);break;case"mousedown":this._evtMouseDown(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("keydown",this),this.node.addEventListener("mouseup",this),this.node.addEventListener("mousemove",this),this.node.addEventListener("mouseenter",this),this.node.addEventListener("mouseleave",this),this.node.addEventListener("contextmenu",this),document.addEventListener("mousedown",this,!0)}onAfterDetach(e){this.node.removeEventListener("keydown",this),this.node.removeEventListener("mouseup",this),this.node.removeEventListener("mousemove",this),this.node.removeEventListener("mouseenter",this),this.node.removeEventListener("mouseleave",this),this.node.removeEventListener("contextmenu",this),document.removeEventListener("mousedown",this,!0)}onActivateRequest(e){this.isAttached&&this.node.focus()}onUpdateRequest(e){let t=this._items,i=this.renderer,n=this._activeIndex,s=nt.computeCollapsed(t),r=new Array(t.length);for(let a=0,d=t.length;a<d;++a){let e=t[a],d=a===n,l=s[a];r[a]=i.renderItem({item:e,active:d,collapsed:l,onfocus:o(()=>{this.activeIndex=a},"onfocus")})}me.render(r,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 i=this._parentMenu;i&&(this._parentMenu=null,i._childIndex=-1,i._childMenu=null,i.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(e)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation();let t=e.keyCode;if(13===t)return void this.triggerActiveItem();if(27===t)return void this.close();if(37===t)return void(this._parentMenu?this.close():this._menuRequested.emit("previous"));if(38===t)return void this.activatePreviousItem();if(39===t){let e=this.activeItem;return void(e&&"submenu"===e.type?this.triggerActiveItem():this.rootMenu._menuRequested.emit("next"))}if(40===t)return void this.activateNextItem();let i=N().keyForKeydownEvent(e);if(!i)return;let n=this._activeIndex+1,s=nt.findMnemonic(this._items,i,n);-1===s.index||s.multiple?-1!==s.index?this.activeIndex=s.index:-1!==s.auto&&(this.activeIndex=s.auto):(this.activeIndex=s.index,this.triggerActiveItem())}_evtMouseUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this.triggerActiveItem())}_evtMouseMove(e){let t=d.findFirstIndex(this.contentNode.children,t=>R.hitTest(t,e.clientX,e.clientY));if(t===this._activeIndex)return;if(this.activeIndex=t,t=this.activeIndex,t===this._childIndex)return this._cancelOpenTimer(),void this._cancelCloseTimer();-1!==this._childIndex&&this._startCloseTimer(),this._cancelOpenTimer();let i=this.activeItem;i&&"submenu"===i.type&&i.submenu&&this._startOpenTimer()}_evtMouseEnter(e){for(let t=this._parentMenu;t;t=t._parentMenu)t._cancelOpenTimer(),t._cancelCloseTimer(),t.activeIndex=t._childIndex}_evtMouseLeave(e){if(this._cancelOpenTimer(),!this._childMenu)return void(this.activeIndex=-1);let{clientX:t,clientY:i}=e;R.hitTest(this._childMenu.node,t,i)?this._cancelCloseTimer():(this.activeIndex=-1,this._startCloseTimer())}_evtMouseDown(e){this._parentMenu||(nt.hitTestMenus(this,e.clientX,e.clientY)?(e.preventDefault(),e.stopPropagation()):this.close())}_openChildMenu(e=!1){let t=this.activeItem;if(!t||"submenu"!==t.type||!t.submenu)return void this._closeChildMenu();let i=t.submenu;if(i===this._childMenu)return;_Menu.saveWindowData(),this._closeChildMenu(),this._childMenu=i,this._childIndex=this._activeIndex,i._parentMenu=this,ee.sendMessage(this,we.Msg.UpdateRequest);let n=this.contentNode.children[this._activeIndex];nt.openSubmenu(i,n),e&&(i.activeIndex=-1,i.activateNextItem()),i.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){0===this._openTimerID&&(this._openTimerID=window.setTimeout(()=>{this._openTimerID=0,this._openChildMenu()},nt.TIMER_DELAY))}_startCloseTimer(){0===this._closeTimerID&&(this._closeTimerID=window.setTimeout(()=>{this._closeTimerID=0,this._closeChildMenu()},nt.TIMER_DELAY))}_cancelOpenTimer(){0!==this._openTimerID&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){0!==this._closeTimerID&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){nt.saveWindowData()}};o(tt,"Menu");let it=tt;var nt;!function(e){const t=class _Renderer{renderItem(e){let t=this.createItemClass(e),i=this.createItemDataset(e),n=this.createItemARIA(e);return ce.li({className:t,dataset:i,tabindex:"0",onfocus:e.onfocus,...n},this.renderIcon(e),this.renderLabel(e),this.renderShortcut(e),this.renderSubmenu(e))}renderIcon(e){let t=this.createIconClass(e);return ce.div({className:t},e.item.icon,e.item.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return ce.div({className:"lm-Menu-itemLabel"},t)}renderShortcut(e){let t=this.formatShortcut(e);return ce.div({className:"lm-Menu-itemShortcut"},t)}renderSubmenu(e){return ce.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 i=e.item.className;return i&&(t+=` ${i}`),t}createItemDataset(e){let t,{type:i,command:n,dataset:s}=e.item;return t="command"===i?{...s,type:i,command:n}:{...s,type:i},t}createIconClass(e){let t="lm-Menu-itemIcon",i=e.item.iconClass;return i?`${t} ${i}`: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:i}=e.item;if(i<0||i>=t.length)return t;let n=t.slice(0,i),s=t.slice(i+1),r=t[i];return[n,ce.span({className:"lm-Menu-itemMnemonic"},r),s]}formatShortcut(e){let t=e.item.keyBinding;return t?V.formatKeystroke(t.keys):null}};o(t,"Renderer");let i=t;e.Renderer=i,e.defaultRenderer=new i}(it||(it={})),function(e){e.TIMER_DELAY=300,e.SUBMENU_OVERLAP=3;let t=null,i=0;function n(){return i>0?(i--,t):m()}function s(){t=m(),i++}function r(){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}function a(e){return"separator"!==e.type&&e.isEnabled&&e.isVisible}function l(e,t){return new v(e.commands,t)}function h(e,t,i){for(let n=e;n;n=n.childMenu)if(R.hitTest(n.node,t,i))return!0;return!1}function u(e){let t=new Array(e.length);d.fill(t,!1);let i=0,n=e.length;for(;i<n;++i){let n=e[i];if(n.isVisible){if("separator"!==n.type)break;t[i]=!0}}let s=n-1;for(;s>=0;--s){let i=e[s];if(i.isVisible){if("separator"!==i.type)break;t[s]=!0}}let r=!1;for(;++i<s;){let n=e[i];n.isVisible&&("separator"!==n.type?r=!1:r?t[i]=!0:r=!0)}return t}function m(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}function p(e,t,i,s,r,o,a,d){const l=n();let h=l.pageXOffset,c=l.pageYOffset,u=l.clientWidth,m=l.clientHeight;ee.sendMessage(e,we.Msg.UpdateRequest);let p=m-(r?i:0),g=e.node,f=g.style;f.opacity="0",f.maxHeight=`${p}px`,we.attach(e,a||document.body,d);let{width:_,height:v}=g.getBoundingClientRect();"right"===o&&(t-=_),!s&&t+_>h+u&&(t=h+u-_),!r&&i+v>c+m&&(i>c+m?i=c+m-v:i-=v),f.transform=`translate(${Math.max(0,t)}px, ${Math.max(0,i)}px`,f.opacity="1"}function g(t,i){const s=n();let r=s.pageXOffset,o=s.pageYOffset,a=s.clientWidth,d=s.clientHeight;ee.sendMessage(t,we.Msg.UpdateRequest);let l=d,h=t.node,c=h.style;c.opacity="0",c.maxHeight=`${l}px`,we.attach(t,document.body);let{width:u,height:m}=h.getBoundingClientRect(),p=R.boxSizing(t.node),g=i.getBoundingClientRect(),f=g.right-e.SUBMENU_OVERLAP;f+u>r+a&&(f=g.left+e.SUBMENU_OVERLAP-u);let _=g.top-p.borderTop-p.paddingTop;_+m>o+d&&(_=g.bottom+p.borderBottom+p.paddingBottom-m),c.transform=`translate(${Math.max(0,f)}px, ${Math.max(0,_)}px`,c.opacity="1"}function f(e,t,i){let n=-1,s=-1,r=!1,o=t.toUpperCase();for(let d=0,l=e.length;d<l;++d){let t=(d+i)%l,h=e[t];if(!a(h))continue;let c=h.label;if(0===c.length)continue;let u=h.mnemonic;u>=0&&u<c.length?c[u].toUpperCase()===o&&(-1===n?n=t:r=!0):-1===s&&c[0].toUpperCase()===o&&(s=t)}return{index:n,multiple:r,auto:s}}o(n,"getWindowData"),o(s,"saveWindowData"),e.saveWindowData=s,o(r,"createNode"),e.createNode=r,o(a,"canActivate"),e.canActivate=a,o(l,"createItem"),e.createItem=l,o(h,"hitTestMenus"),e.hitTestMenus=h,o(u,"computeCollapsed"),e.computeCollapsed=u,o(m,"_getWindowData"),o(p,"openRootMenu"),e.openRootMenu=p,o(g,"openSubmenu"),e.openSubmenu=g,o(f,"findMnemonic"),e.findMnemonic=f;const _=class _MenuItem{constructor(e,t){this._commands=e,this.type=t.type||"command",this.command=t.command||"",this.args=t.args||c.emptyObject,this.submenu=t.submenu||null}get label(){return"command"===this.type?this._commands.label(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.label:""}get mnemonic(){return"command"===this.type?this._commands.mnemonic(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.mnemonic:-1}get icon(){return"command"===this.type?this._commands.icon(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.icon:void 0}get iconClass(){return"command"===this.type?this._commands.iconClass(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.iconClass:""}get iconLabel(){return"command"===this.type?this._commands.iconLabel(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.iconLabel:""}get caption(){return"command"===this.type?this._commands.caption(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.caption:""}get className(){return"command"===this.type?this._commands.className(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.className:""}get dataset(){return"command"===this.type?this._commands.dataset(this.command,this.args):"submenu"===this.type&&this.submenu?this.submenu.title.dataset:{}}get isEnabled(){return"command"===this.type?this._commands.isEnabled(this.command,this.args):"submenu"!==this.type||null!==this.submenu}get isToggled(){return"command"===this.type&&this._commands.isToggled(this.command,this.args)}get isVisible(){return"command"===this.type?this._commands.isVisible(this.command,this.args):"submenu"!==this.type||null!==this.submenu}get keyBinding(){if("command"===this.type){let{command:e,args:t}=this;return d.findLastValue(this._commands.keyBindings,i=>i.command===e&&c.deepEqual(i.args,t))||null}return null}};o(_,"MenuItem");let v=_}(nt||(nt={}));const st=class _ContextMenu{constructor(e){this._groupByTarget=!0,this._idTick=0,this._items=[],this._sortBySelector=!0;const{groupByTarget:t,sortBySelector:i,...n}=e;this.menu=new it(n),this._groupByTarget=!1!==t,this._sortBySelector=!1!==i}addItem(e){let t=ot.createItem(e,this._idTick++);return this._items.push(t),new k(()=>{d.removeFirstOf(this._items,t)})}open(e){if(it.saveWindowData(),this.menu.clearItems(),0===this._items.length)return!1;let t=ot.matchItems(this._items,e,this._groupByTarget,this._sortBySelector);if(!t||0===t.length)return!1;for(const i of t)this.menu.addItem(i);return this.menu.open(e.clientX,e.clientY),!0}};o(st,"ContextMenu");let rt=st;var ot;!function(e){function t(e,t){let i=n(e.selector),s=void 0!==e.rank?e.rank:1/0;return{...e,selector:i,rank:s,id:t}}function i(e,t,i,n){let o=t.target;if(!o)return null;let a=t.currentTarget;if(!a)return null;if(!a.contains(o)&&(o=document.elementFromPoint(t.clientX,t.clientY),!o||!a.contains(o)))return null;let d=[],l=e.slice();for(;null!==o;){let e=[];for(let t=0,i=l.length;t<i;++t){let i=l[t];i&&(W.matches(o,i.selector)&&(e.push(i),l[t]=null))}if(0!==e.length&&(i&&e.sort(n?r:s),d.push(...e)),o===a)break;o=o.parentElement}return i||d.sort(n?r:s),d}function n(e){if(-1!==e.indexOf(","))throw new Error(`Selector cannot contain commas: ${e}`);if(!W.isValid(e))throw new Error(`Invalid selector: ${e}`);return e}function s(e,t){let i=e.rank,n=t.rank;return i!==n?i<n?-1:1:e.id-t.id}function r(e,t){let i=W.calculateSpecificity(e.selector),n=W.calculateSpecificity(t.selector);return i!==n?n-i:s(e,t)}o(t,"createItem"),e.createItem=t,o(i,"matchItems"),e.matchItems=i,o(n,"validateSelector"),o(s,"itemCmpRank"),o(r,"itemCmp")}(ot||(ot={}));const at=["ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Home","End"],dt=class _TabBar extends we{constructor(e={}){super({node:ht.createNode()}),this._currentIndex=-1,this._titles=[],this._titlesEditable=!1,this._previousTitle=null,this._dragData=null,this._addButtonEnabled=!1,this._tabMoved=new S(this),this._currentChanged=new S(this),this._addRequested=new S(this),this._tabCloseRequested=new S(this),this._tabDetachRequested=new S(this),this._tabActivateRequested=new S(this),this.addClass("lm-TabBar"),this.contentNode.setAttribute("role","tablist"),this.setFlag(we.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,i=this._titles[t]||null,n=e,s=this._titles[n]||null;this._currentIndex=n,this._previousTitle=i,this.update(),this._currentChanged.emit({previousIndex:t,previousTitle:i,currentIndex:n,currentTitle:s})}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 i=ht.asTitle(t),n=this._titles.indexOf(i),s=Math.max(0,Math.min(e,this._titles.length));return-1===n?(d.insert(this._titles,s,i),i.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(s,i),i):(s===this._titles.length&&s--,n===s||(d.move(this._titles,n,s),this.update(),this._adjustCurrentForMove(n,s)),i)}removeTab(e){this.removeTabAt(this._titles.indexOf(e))}removeTabAt(e){this._releaseMouse();let t=d.removeAt(this._titles,e);t&&(t.changed.disconnect(this._onTitleChanged,this),t===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(e,t))}clearTabs(){if(0===this._titles.length)return;this._releaseMouse();for(let i of this._titles)i.changed.disconnect(this._onTitleChanged,this);let e=this.currentIndex,t=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),-1!==e&&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"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()}}onBeforeAttach(e){this.node.addEventListener("pointerdown",this),this.node.addEventListener("dblclick",this),this.node.addEventListener("keydown",this)}onAfterDetach(e){this.node.removeEventListener("pointerdown",this),this.node.removeEventListener("dblclick",this),this.node.removeEventListener("keydown",this),this._releaseMouse()}onUpdateRequest(e){var t;let i=this._titles,n=this.renderer,s=this.currentTitle,r=new Array(i.length);const o=null!==(t=this._getCurrentTabindex())&&void 0!==t?t:this._currentIndex>-1?this._currentIndex:0;for(let a=0,d=i.length;a<d;++a){let e=i[a],t=e===s,l=t?d:d-a-1,h=o===a?0:-1;r[a]=n.renderTab({title:e,current:t,zIndex:l,tabIndex:h})}me.render(r,this.contentNode)}_getCurrentTabindex(){let e=null;const t=this.contentNode.querySelector('li[tabindex="0"]');return t?e=[...this.contentNode.children].indexOf(t):this._addButtonEnabled&&"0"===this.addButtonNode.getAttribute("tabindex")&&(e=-1),e}_evtDblClick(e){if(!this.titlesEditable)return;let t=this.contentNode.children,i=d.findFirstIndex(t,t=>R.hitTest(t,e.clientX,e.clientY));if(-1===i)return;let n=this.titles[i],s=t[i].querySelector(".lm-TabBar-tabLabel");if(s&&s.contains(e.target)){let e=n.label||"",t=s.innerHTML;s.innerHTML="";let i=document.createElement("input");i.classList.add("lm-TabBar-tabInput"),i.value=e,s.appendChild(i);let r=o(()=>{i.removeEventListener("blur",r),s.innerHTML=t,this.node.addEventListener("keydown",this)},"onblur");i.addEventListener("dblclick",e=>e.stopPropagation()),i.addEventListener("blur",r),i.addEventListener("keydown",e=>{"Enter"===e.key?(""!==i.value&&(n.label=n.caption=i.value),r()):"Escape"===e.key&&r()}),this.node.removeEventListener("keydown",this),i.select(),i.focus(),s.children.length>0&&s.children[0].focus()}}_evtKeyDownCapturing(e){e.eventPhase===Event.CAPTURING_PHASE&&(e.preventDefault(),e.stopPropagation(),"Escape"===e.key&&this._releaseMouse())}_evtKeyDown(e){var t,i,n;if("Tab"!==e.key&&e.eventPhase!==Event.CAPTURING_PHASE)if("Enter"===e.key||"Spacebar"===e.key||" "===e.key){const t=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(t))e.preventDefault(),e.stopPropagation(),this._addRequested.emit();else{const i=d.findFirstIndex(this.contentNode.children,e=>e.contains(t));i>=0&&(e.preventDefault(),e.stopPropagation(),this.currentIndex=i)}}else if(at.includes(e.key)){const s=[...this.contentNode.children];if(this.addButtonEnabled&&s.push(this.addButtonNode),s.length<=1)return;e.preventDefault(),e.stopPropagation();let r,o=s.indexOf(document.activeElement);-1===o&&(o=this._currentIndex),"ArrowRight"===e.key&&"horizontal"===this._orientation||"ArrowDown"===e.key&&"vertical"===this._orientation?r=null!==(t=s[o+1])&&void 0!==t?t:s[0]:"ArrowLeft"===e.key&&"horizontal"===this._orientation||"ArrowUp"===e.key&&"vertical"===this._orientation?r=null!==(i=s[o-1])&&void 0!==i?i:s[s.length-1]:"Home"===e.key?r=s[0]:"End"===e.key&&(r=s[s.length-1]),r&&(null===(n=s[o])||void 0===n||n.setAttribute("tabindex","-1"),null==r||r.setAttribute("tabindex","0"),r.focus())}}_evtPointerDown(e){if(0!==e.button&&1!==e.button)return;if(this._dragData)return;if(e.target.classList.contains("lm-TabBar-tabInput"))return;let t=this.addButtonEnabled&&this.addButtonNode.contains(e.target),i=this.contentNode.children,n=d.findFirstIndex(i,t=>R.hitTest(t,e.clientX,e.clientY));if(-1===n&&!t)return;if(e.preventDefault(),e.stopPropagation(),this._dragData={tab:i[n],index:n,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),1===e.button||t)return;let s=i[n].querySelector(this.renderer.closeIconSelector);s&&s.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===n?this.currentIndex=-1:this.currentIndex=n,-1!==this.currentIndex&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(e){let t=this._dragData;if(!t)return;e.preventDefault(),e.stopPropagation();let i=this.contentNode.children;if(t.dragActive||ht.dragExceeded(t,e)){if(!t.dragActive){let e=t.tab.getBoundingClientRect();"horizontal"===this._orientation?(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=ht.snapTabLayout(i,this._orientation),t.contentRect=this.contentNode.getBoundingClientRect(),t.override=re.overrideCursor("default"),t.tab.classList.add("lm-mod-dragging"),this.addClass("lm-mod-dragging"),t.dragActive=!0}if(!t.detachRequested&&ht.detachExceeded(t,e)){t.detachRequested=!0;let n=t.index,s=e.clientX,r=e.clientY,o=i[n],a=this._titles[n];if(this._tabDetachRequested.emit({index:n,title:a,tab:o,clientX:s,clientY:r,offset:t.tabPressOffset}),t.dragAborted)return}ht.layoutTabs(i,t,e,this._orientation)}}_evtPointerUp(e){if(0!==e.button&&1!==e.button)return;const 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))return void this._addRequested.emit(void 0);let i=this.contentNode.children,n=d.findFirstIndex(i,t=>R.hitTest(t,e.clientX,e.clientY));if(n!==t.index)return;let s=this._titles[n];if(!s.closable)return;if(1===e.button)return void this._tabCloseRequested.emit({index:n,title:s});let r=i[n].querySelector(this.renderer.closeIconSelector);return r&&r.contains(e.target)?void this._tabCloseRequested.emit({index:n,title:s}):void 0}if(0!==e.button)return;ht.finalizeTabPosition(t,this._orientation),t.tab.classList.remove("lm-mod-dragging");let i=ht.parseTransitionDuration(t.tab);setTimeout(()=>{if(t.dragAborted)return;this._dragData=null,ht.resetTabPositions(this.contentNode.children,this._orientation),t.override.dispose(),this.removeClass("lm-mod-dragging");let e=t.index,i=t.targetIndex;-1!==i&&e!==i&&(d.move(this._titles,e,i),this._adjustCurrentForMove(e,i),this._tabMoved.emit({fromIndex:e,toIndex:i,title:this._titles[i]}),ee.sendMessage(this,we.Msg.UpdateRequest))},i)}_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&&(ht.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 i=this.currentTitle,n=this._currentIndex,s=this.insertBehavior;if("select-tab"===s||"select-tab-if-needed"===s&&-1===n)return this._currentIndex=e,this._previousTitle=i,void this._currentChanged.emit({previousIndex:n,previousTitle:i,currentIndex:e,currentTitle:t});n>=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 i=this._currentIndex,n=this.removeBehavior;if(i===e){if(0===this._titles.length)return this._currentIndex=-1,void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null});if("select-tab-after"===n)return this._currentIndex=Math.min(e,this._titles.length-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});if("select-tab-before"===n)return this._currentIndex=Math.max(0,e-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});if("select-previous-tab"===n)return this._previousTitle?(this._currentIndex=this._titles.indexOf(this._previousTitle),this._previousTitle=null):this._currentIndex=Math.min(e,this._titles.length-1),void this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:this._currentIndex,currentTitle:this.currentTitle});this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:t,currentIndex:-1,currentTitle:null})}else i>e&&this._currentIndex--}_onTitleChanged(e){this.update()}};o(dt,"TabBar");let lt=dt;var ht;!function(e){const t=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,i=this.createTabKey(e),n=i,s=this.createTabStyle(e),r=this.createTabClass(e),o=this.createTabDataset(e),a=this.createTabARIA(e);return e.title.closable?ce.li({id:n,key:i,className:r,title:t,style:s,dataset:o,...a},this.renderIcon(e),this.renderLabel(e),this.renderCloseIcon(e)):ce.li({id:n,key:i,className:r,title:t,style:s,dataset:o,...a},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){const{title:t}=e;let i=this.createIconClass(e);return ce.div({className:i},t.icon,t.iconLabel)}renderLabel(e){return ce.div({className:"lm-TabBar-tabLabel"},e.title.label)}renderCloseIcon(e){return ce.div({className:"lm-TabBar-tabCloseIcon"})}createTabKey(e){let t=this._tabKeys.get(e.title);return void 0===t&&(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){var t;return{role:"tab","aria-selected":e.current.toString(),tabindex:`${null!==(t=e.tabIndex)&&void 0!==t?t:"-1"}`}}createIconClass(e){let t="lm-TabBar-tabIcon",i=e.title.iconClass;return i?`${t} ${i}`:t}};o(t,"Renderer");let i=t;i._nInstance=0,e.Renderer=i,e.defaultRenderer=new i,e.addButtonSelector=".lm-TabBar-addButton"}(lt||(lt={})),function(e){function t(){let e=document.createElement("div"),t=document.createElement("ul");t.setAttribute("role","tablist"),t.className="lm-TabBar-content",e.appendChild(t);let i=document.createElement("div");return i.className="lm-TabBar-addButton lm-mod-hidden",i.setAttribute("tabindex","-1"),i.setAttribute("role","button"),e.appendChild(i),e}function i(e){return e instanceof be?e:new be(e)}function n(e){let t=window.getComputedStyle(e);return 1e3*(parseFloat(t.transitionDuration)||0)}function s(e,t){let i=new Array(e.length);for(let n=0,s=e.length;n<s;++n){let s=e[n],r=window.getComputedStyle(s);i[n]="horizontal"===t?{pos:s.offsetLeft,size:s.offsetWidth,margin:parseFloat(r.marginLeft)||0}:{pos:s.offsetTop,size:s.offsetHeight,margin:parseFloat(r.marginTop)||0}}return i}function r(t,i){let n=Math.abs(i.clientX-t.pressX),s=Math.abs(i.clientY-t.pressY);return n>=e.DRAG_THRESHOLD||s>=e.DRAG_THRESHOLD}function a(t,i){let n=t.contentRect;return i.clientX<n.left-e.DETACH_THRESHOLD||i.clientX>=n.right+e.DETACH_THRESHOLD||i.clientY<n.top-e.DETACH_THRESHOLD||i.clientY>=n.bottom+e.DETACH_THRESHOLD}function d(e,t,i,n){let s,r,o,a;"horizontal"===n?(s=t.pressX,r=i.clientX-t.contentRect.left,o=i.clientX,a=t.contentRect.width):(s=t.pressY,r=i.clientY-t.contentRect.top,o=i.clientY,a=t.contentRect.height);let d=t.index,l=r-t.tabPressPos,h=l+t.tabSize;for(let c=0,u=e.length;c<u;++c){let i,r=t.tabLayout[c],u=r.pos+(r.size>>1);if(c<t.index&&l<u)i=`${t.tabSize+t.tabLayout[c+1].margin}px`,d=Math.min(d,c);else if(c>t.index&&h>u)i=-t.tabSize-r.margin+"px",d=Math.max(d,c);else if(c===t.index){let e=o-s,n=a-(t.tabPos+t.tabSize);i=`${Math.max(-t.tabPos,Math.min(e,n))}px`}else i="";"horizontal"===n?e[c].style.left=i:e[c].style.top=i}t.targetIndex=d}function l(e,t){let i,n;if(i="horizontal"===t?e.contentRect.width:e.contentRect.height,e.targetIndex===e.index)n=0;else if(e.targetIndex>e.index){let t=e.tabLayout[e.targetIndex];n=t.pos+t.size-e.tabSize-e.tabPos}else{n=e.tabLayout[e.targetIndex].pos-e.tabPos}let s=i-(e.tabPos+e.tabSize),r=Math.max(-e.tabPos,Math.min(n,s));"horizontal"===t?e.tab.style.left=`${r}px`:e.tab.style.top=`${r}px`}function h(e,t){for(const i of e)"horizontal"===t?i.style.left="":i.style.top=""}e.DRAG_THRESHOLD=5,e.DETACH_THRESHOLD=20,o(t,"createNode"),e.createNode=t,o(i,"asTitle"),e.asTitle=i,o(n,"parseTransitionDuration"),e.parseTransitionDuration=n,o(s,"snapTabLayout"),e.snapTabLayout=s,o(r,"dragExceeded"),e.dragExceeded=r,o(a,"detachExceeded"),e.detachExceeded=a,o(d,"layoutTabs"),e.layoutTabs=d,o(l,"finalizeTabPosition"),e.finalizeTabPosition=l,o(h,"resetTabPositions"),e.resetTabPositions=h}(ht||(ht={}));const ct=class _DockLayout extends Ce{constructor(e){super(),this._spacing=4,this._dirty=!1,this._root=null,this._box=null,this._items=new Map,this.renderer=e.renderer,void 0!==e.spacing&&(this._spacing=Te.clampDimension(e.spacing)),this._document=e.document||document,this._hiddenMode=void 0!==e.hiddenMode?e.hiddenMode:we.HiddenMode.Display}dispose(){let e=this[Symbol.iterator]();this._items.forEach(e=>{e.dispose()}),this._box=null,this._root=null,this._items.clear();for(const t of e)t.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode!==e){this._hiddenMode=e;for(const e of this.tabBars())if(e.titles.length>1)for(const t of e.titles)t.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(e){e=Te.clampDimension(e),this._spacing!==e&&(this._spacing=e,this.parent&&this.parent.fit())}get isEmpty(){return null===this._root}[Symbol.iterator](){return this._root?this._root.iterAllWidgets():u()}widgets(){return this._root?this._root.iterUserWidgets():u()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():u()}tabBars(){return this._root?this._root.iterTabBars():u()}handles(){return this._root?this._root.iterHandles():u()}moveHandle(e,t,i){let n=e.classList.contains("lm-mod-hidden");if(!this._root||n)return;let s,r=this._root.findSplitNode(e);r&&(s="horizontal"===r.node.orientation?t-e.offsetLeft:i-e.offsetTop,0!==s&&(r.node.holdSizes(),_e.adjust(r.node.sizers,r.index,s),this.parent&&this.parent.update()))}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(e){let t,i=new Set;t=e.main?mt.normalizeAreaConfig(e.main,i):null;let n=this.widgets(),s=this.tabBars(),r=this.handles();this._root=null;for(const o of n)i.has(o)||(o.parent=null);for(const o of s)o.dispose();for(const o of r)o.parentNode&&o.parentNode.removeChild(o);for(const o of i)o.parent=this.parent;this._root=t?mt.realizeAreaConfig(t,{createTabBar:o(e=>this._createTabBar(),"createTabBar"),createHandle:o(()=>this._createHandle(),"createHandle")},this._document):null,this.parent&&(i.forEach(e=>{this.attachWidget(e)}),this.parent.fit())}addWidget(e,t={}){let i=t.ref||null,n=t.mode||"tab-after",s=null;if(this._root&&i&&(s=this._root.findTabNode(i)),i&&!s)throw new Error("Reference widget is not in the layout.");switch(e.parent=this.parent,n){case"tab-after":this._insertTab(e,i,s,!0);break;case"tab-before":this._insertTab(e,i,s,!1);break;case"split-top":this._insertSplit(e,i,s,"vertical",!1);break;case"split-left":this._insertSplit(e,i,s,"horizontal",!1);break;case"split-right":this._insertSplit(e,i,s,"horizontal",!0);break;case"split-bottom":this._insertSplit(e,i,s,"vertical",!0);break;case"merge-top":this._insertSplit(e,i,s,"vertical",!1,!0);break;case"merge-left":this._insertSplit(e,i,s,"horizontal",!1,!0);break;case"merge-right":this._insertSplit(e,i,s,"horizontal",!0,!0);break;case"merge-bottom":this._insertSplit(e,i,s,"vertical",!0,!0)}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||(this._box=R.boxSizing(this.parent.node));let i=this.parent.node.getBoundingClientRect(),n=e-i.left-this._box.borderLeft,s=t-i.top-this._box.borderTop,r=this._root.hitTestTabNodes(n,s);if(!r)return null;let{tabBar:o,top:a,left:d,width:l,height:h}=r,c=this._box.borderLeft+this._box.borderRight,u=this._box.borderTop+this._box.borderBottom;return{tabBar:o,x:n,y:s,top:a,left:d,right:i.width-c-(d+l),bottom:i.height-u-(a+h),width:l,height:h}}init(){super.init();for(const e of this)this.attachWidget(e);for(const 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 Se(e)),this.parent.isAttached&&ee.sendMessage(e,we.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&ee.sendMessage(e,we.Msg.AfterAttach))}detachWidget(e){if(this.parent.node!==e.node.parentNode)return;this.parent.isAttached&&ee.sendMessage(e,we.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&ee.sendMessage(e,we.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(mt.removeAria(e),t.tabBar.titles.length>1){if(t.tabBar.removeTab(e.title),this._hiddenMode===we.HiddenMode.Scale&&1==t.tabBar.titles.length){t.tabBar.titles[0].owner.hiddenMode=we.HiddenMode.Display}return}if(t.tabBar.dispose(),this._root===t)return void(this._root=null);this._root.holdAllSizes();let i=t.parent;t.parent=null;let n=d.removeFirstOf(i.children,t),s=d.removeAt(i.handles,n);if(d.removeAt(i.sizers,n),s.parentNode&&s.parentNode.removeChild(s),i.children.length>1)return void i.syncHandles();let r=i.parent;i.parent=null;let o=i.children[0],a=i.handles[0];if(i.children.length=0,i.handles.length=0,i.sizers.length=0,a.parentNode&&a.parentNode.removeChild(a),this._root===i)return o.parent=null,void(this._root=o);let l=r,h=l.children.indexOf(i);if(o instanceof mt.TabLayoutNode)return o.parent=l,void(l.children[h]=o);let c=d.removeAt(l.handles,h);d.removeAt(l.children,h),d.removeAt(l.sizers,h),c.parentNode&&c.parentNode.removeChild(c);for(let u=0,m=o.children.length;u<m;++u){let e=o.children[u],t=o.handles[u],i=o.sizers[u];d.insert(l.children,h+u,e),d.insert(l.handles,h+u,t),d.insert(l.sizers,h+u,i),e.parent=l}o.children.length=0,o.handles.length=0,o.sizers.length=0,o.parent=null,l.syncHandles()}_createTabNode(e){let t=new mt.TabLayoutNode(this._createTabBar());return t.tabBar.addTab(e.title),mt.addAria(e,t.tabBar),t}_insertTab(e,t,i,n){if(e===t)return;if(!this._root){let t=new mt.TabLayoutNode(this._createTabBar());return t.tabBar.addTab(e.title),this._root=t,void mt.addAria(e,t.tabBar)}let s;if(i||(i=this._root.findFirstTabNode()),-1===i.tabBar.titles.indexOf(e.title)&&(this._removeWidget(e),e.hide()),s=t?i.tabBar.titles.indexOf(t.title):i.tabBar.currentIndex,this._hiddenMode===we.HiddenMode.Scale)if(0===i.tabBar.titles.length)e.hiddenMode=we.HiddenMode.Display;else if(1==i.tabBar.titles.length){i.tabBar.titles[0].owner.hiddenMode=we.HiddenMode.Scale}else e.hiddenMode=we.HiddenMode.Scale;else e.hiddenMode=this._hiddenMode;i.tabBar.insertTab(s+(n?1:0),e.title),mt.addAria(e,i.tabBar)}_insertSplit(e,t,i,n,s,r=!1){if(e===t&&i&&1===i.tabBar.titles.length)return;if(this._removeWidget(e),!this._root)return void(this._root=this._createTabNode(e));if(!i||!i.parent){let t=this._splitRoot(n),r=s?t.children.length:0;t.normalizeSizes();let o=mt.createSizer(i?1:mt.GOLDEN_RATIO),a=this._createTabNode(e);return d.insert(t.children,r,a),d.insert(t.sizers,r,o),d.insert(t.handles,r,this._createHandle()),a.parent=t,t.normalizeSizes(),void t.syncHandles()}let o=i.parent;if(o.orientation===n){let t=o.children.indexOf(i);if(r){let i=t+(s?1:-1),n=o.children[i];if(n instanceof mt.TabLayoutNode)return this._insertTab(e,null,n,!0),void++n.tabBar.currentIndex}o.normalizeSizes();let n=o.sizers[t].sizeHint/=2,a=t+(s?1:0),l=this._createTabNode(e);return d.insert(o.children,a,l),d.insert(o.sizers,a,mt.createSizer(n)),d.insert(o.handles,a,this._createHandle()),l.parent=o,void o.syncHandles()}let a=d.removeFirstOf(o.children,i),l=new mt.SplitLayoutNode(n);l.normalized=!0,l.children.push(i),l.sizers.push(mt.createSizer(.5)),l.handles.push(this._createHandle()),i.parent=l;let h=s?1:0,c=this._createTabNode(e);d.insert(l.children,h,c),d.insert(l.sizers,h,mt.createSizer(.5)),d.insert(l.handles,h,this._createHandle()),c.parent=l,l.syncHandles(),d.insert(o.children,a,l),l.parent=o}_splitRoot(e){let t=this._root;if(t instanceof mt.SplitLayoutNode&&t.orientation===e)return t;let i=this._root=new mt.SplitLayoutNode(e);return t&&(i.children.push(t),i.sizers.push(mt.createSizer(0)),i.handles.push(this._createHandle()),t.parent=i),i}_fit(){let e=0,t=0;if(this._root){let i=this._root.fit(this._spacing,this._items);e=i.minWidth,t=i.minHeight}let i=this._box=R.boxSizing(this.parent.node);e+=i.horizontalSum,t+=i.verticalSum;let n=this.parent.node.style;n.minWidth=`${e}px`,n.minHeight=`${t}px`,this._dirty=!0,this.parent.parent&&ee.sendMessage(this.parent.parent,we.Msg.FitRequest),this._dirty&&ee.sendMessage(this.parent,we.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||(this._box=R.boxSizing(this.parent.node));let i=this._box.paddingTop,n=this._box.paddingLeft,s=e-this._box.horizontalSum,r=t-this._box.verticalSum;this._root.update(i,n,s,r,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}};o(ct,"DockLayout");let ut=ct;var mt;!function(e){function t(e){let t=new fe;return t.sizeHint=e,t.size=e,t}function i(e,t){let i;return i="tab-area"===e.type?c(e,t):u(e,t),i}function n(e,t,i){let n;return n="tab-area"===e.type?m(e,t,i):p(e,t,i),n}e.GOLDEN_RATIO=.618,o(t,"createSizer"),e.createSizer=t,o(i,"normalizeAreaConfig"),e.normalizeAreaConfig=i,o(n,"realizeAreaConfig"),e.realizeAreaConfig=n;const s=class _TabLayoutNode{constructor(e){this.parent=null,this._top=0,this._left=0,this._width=0,this._height=0;let t=new fe,i=new fe;t.stretch=0,i.stretch=1,this.tabBar=e,this.sizers=[t,i]}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(const 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-1!==this.tabBar.titles.indexOf(e.title)?this:null}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 i=0,n=0,s=1/0,r=1/0,o=t.get(this.tabBar),a=this.tabBar.currentTitle,d=a?t.get(a.owner):void 0,[l,h]=this.sizers;return o&&o.fit(),d&&d.fit(),o&&!o.isHidden?(i=Math.max(i,o.minWidth),n+=o.minHeight,l.minSize=o.minHeight,l.maxSize=o.maxHeight):(l.minSize=0,l.maxSize=0),d&&!d.isHidden?(i=Math.max(i,d.minWidth),n+=d.minHeight,h.minSize=d.minHeight,h.maxSize=1/0):(h.minSize=0,h.maxSize=1/0),{minWidth:i,minHeight:n,maxWidth:s,maxHeight:r}}update(e,t,i,n,s,r){this._top=t,this._left=e,this._width=i,this._height=n;let o=r.get(this.tabBar),a=this.tabBar.currentTitle,d=a?r.get(a.owner):void 0;if(_e.calc(this.sizers,n),o&&!o.isHidden){let n=this.sizers[0].size;o.update(e,t,i,n),t+=n}if(d&&!d.isHidden){let n=this.sizers[1].size;d.update(e,t,i,n)}}};o(s,"TabLayoutNode");let r=s;e.TabLayoutNode=r;const a=class _SplitLayoutNode{constructor(e){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=e}*iterAllWidgets(){for(const e of this.children)yield*e.iterAllWidgets()}*iterUserWidgets(){for(const e of this.children)yield*e.iterUserWidgets()}*iterSelectedWidgets(){for(const e of this.children)yield*e.iterSelectedWidgets()}*iterTabBars(){for(const e of this.children)yield*e.iterTabBars()}*iterHandles(){yield*this.handles;for(const e of this.children)yield*e.iterHandles()}findTabNode(e){for(let t=0,i=this.children.length;t<i;++t){let i=this.children[t].findTabNode(e);if(i)return i}return null}findSplitNode(e){let t=this.handles.indexOf(e);if(-1!==t)return{index:t,node:this};for(let i=0,n=this.children.length;i<n;++i){let t=this.children[i].findSplitNode(e);if(t)return t}return null}findFirstTabNode(){return 0===this.children.length?null:this.children[0].findFirstTabNode()}hitTestTabNodes(e,t){for(let i=0,n=this.children.length;i<n;++i){let n=this.children[i].hitTestTabNodes(e,t);if(n)return n}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(const e of this.sizers)e.sizeHint=e.size}holdAllSizes(){for(const e of this.children)e.holdAllSizes();this.holdSizes()}normalizeSizes(){let e=this.sizers.length;if(0===e)return;this.holdSizes();let t=this.sizers.reduce((e,t)=>e+t.sizeHint,0);if(0===t)for(const i of this.sizers)i.size=i.sizeHint=1/e;else for(const i of this.sizers)i.size=i.sizeHint/=t;this.normalized=!0}createNormalizedSizes(){let e=this.sizers.length;if(0===e)return[];let t=this.sizers.map(e=>e.size),i=t.reduce((e,t)=>e+t,0);if(0===i)for(let n=t.length-1;n>-1;n--)t[n]=1/e;else for(let n=t.length-1;n>-1;n--)t[n]/=i;return t}fit(e,t){let i="horizontal"===this.orientation,n=Math.max(0,this.children.length-1)*e,s=i?n:0,r=i?0:n,o=1/0,a=1/0;for(let d=0,l=this.children.length;d<l;++d){let n=this.children[d].fit(e,t);i?(r=Math.max(r,n.minHeight),s+=n.minWidth,this.sizers[d].minSize=n.minWidth):(s=Math.max(s,n.minWidth),r+=n.minHeight,this.sizers[d].minSize=n.minHeight)}return{minWidth:s,minHeight:r,maxWidth:o,maxHeight:a}}update(e,t,i,n,s,r){let o="horizontal"===this.orientation,a=Math.max(0,this.children.length-1)*s,d=Math.max(0,(o?i:n)-a);if(this.normalized){for(const e of this.sizers)e.sizeHint*=d;this.normalized=!1}_e.calc(this.sizers,d);for(let l=0,h=this.children.length;l<h;++l){let a=this.children[l],d=this.sizers[l].size,h=this.handles[l].style;o?(a.update(e,t,d,n,s,r),e+=d,h.top=`${t}px`,h.left=`${e}px`,h.width=`${s}px`,h.height=`${n}px`,e+=s):(a.update(e,t,i,d,s,r),t+=d,h.top=`${t}px`,h.left=`${e}px`,h.width=`${i}px`,h.height=`${s}px`,t+=s)}}};o(a,"SplitLayoutNode");let d=a;function l(e,t){e.node.setAttribute("role","tabpanel");let i=t.renderer;if(i instanceof lt.Renderer){let t=i.createTabKey({title:e.title,current:!1,zIndex:0});e.node.setAttribute("aria-labelledby",t)}}function h(e){e.node.removeAttribute("role"),e.node.removeAttribute("aria-labelledby")}function c(e,t){if(0===e.widgets.length)return null;let i=[];for(const s of e.widgets)t.has(s)||(t.add(s),i.push(s));if(0===i.length)return null;let n=e.currentIndex;return-1!==n&&(n<0||n>=i.length)&&(n=0),{type:"tab-area",widgets:i,currentIndex:n}}function u(e,t){let n=e.orientation,s=[],r=[];for(let o=0,a=e.children.length;o<a;++o){let a=i(e.children[o],t);a&&("tab-area"===a.type||a.orientation!==n?(s.push(a),r.push(Math.abs(e.sizes[o]||0))):(s.push(...a.children),r.push(...a.sizes)))}return 0===s.length?null:1===s.length?s[0]:{type:"split-area",orientation:n,children:s,sizes:r}}function m(t,i,n){let s=i.createTabBar(n);for(const r of t.widgets)r.hide(),s.addTab(r.title),e.addAria(r,s);return s.currentIndex=t.currentIndex,new r(s)}function p(e,i,s){let r=new d(e.orientation);return e.children.forEach((o,a)=>{let d=n(o,i,s),l=t(e.sizes[a]),h=i.createHandle();r.children.push(d),r.handles.push(h),r.sizers.push(l),d.parent=r}),r.syncHandles(),r.normalizeSizes(),r}e.SplitLayoutNode=d,o(l,"addAria"),e.addAria=l,o(h,"removeAria"),e.removeAria=h,o(c,"normalizeTabAreaConfig"),o(u,"normalizeSplitAreaConfig"),o(m,"realizeTabAreaConfig"),o(p,"realizeSplitAreaConfig")}(mt||(mt={}));let pt=(o(n=class extends we{constructor(e={}){super(),this._drag=null,this._tabsMovable=!0,this._tabsConstrained=!1,this._addButtonEnabled=!1,this._pressData=null,this._layoutModified=new S(this),this._addRequested=new S(this),this.addClass("lm-DockPanel"),this._document=e.document||document,this._mode=e.mode||"multiple-document",this._renderer=e.renderer||n.defaultRenderer,this._edges=e.edges||gt.DEFAULT_EDGES,void 0!==e.tabsMovable&&(this._tabsMovable=e.tabsMovable),void 0!==e.tabsConstrained&&(this._tabsConstrained=e.tabsConstrained),void 0!==e.addButtonEnabled&&(this._addButtonEnabled=e.addButtonEnabled),this.dataset.mode=this._mode;let t={createTabBar:o(()=>this._createTabBar(),"createTabBar"),createHandle:o(()=>this._createHandle(),"createHandle")};this.layout=new ut({document:this._document,renderer:t,spacing:e.spacing,hiddenMode:e.hiddenMode}),this.overlay=e.overlay||new n.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(const e of t.tabBars())e.show();break;case"single-document":t.restoreLayout(gt.createSingleDocumentConfig(this));break;default:throw"unreachable"}ee.postMessage(this,gt.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(e){this._tabsMovable=e;for(const 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(const 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=m(this.tabBars(),t=>-1!==t.titles.indexOf(e.title));if(!t)throw new 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),(P.IS_EDGE||P.IS_IE)&&ee.flush(),ee.postMessage(this,gt.LayoutModified)}addWidget(e,t={}){"single-document"===this._mode?this.layout.addWidget(e):this.layout.addWidget(e,t),ee.postMessage(this,gt.LayoutModified)}processMessage(e){"layout-modified"===e.type?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()}}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){gt.isGeneratedTabBarProperty.get(e.child)||e.child.addClass("lm-DockPanel-widget")}onChildRemoved(e){gt.isGeneratedTabBarProperty.get(e.child)||(e.child.removeClass("lm-DockPanel-widget"),ee.postMessage(this,gt.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||"invalid"===this._showOverlay(e.clientX,e.clientY)?e.dropAction="none":(e.stopPropagation(),e.dropAction=e.proposedAction)}_evtDrop(e){if(e.preventDefault(),this.overlay.hide(0),"none"===e.proposedAction)return void(e.dropAction="none");let{clientX:t,clientY:i}=e,{zone:n,target:s}=gt.findDropTarget(this,t,i,this._edges);if(this._tabsConstrained&&e.source!==this||"invalid"===n)return void(e.dropAction="none");let r=e.mimeData.getData("application/vnd.lumino.widget-factory");if("function"!=typeof r)return void(e.dropAction="none");let o=r();if(!(o instanceof we))return void(e.dropAction="none");if(o.contains(this))return void(e.dropAction="none");let a=s?gt.getDropRef(s.tabBar):null;switch(n){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":case"widget-tab":this.addWidget(o,{mode:"tab-after",ref:a});break;case"widget-top":this.addWidget(o,{mode:"split-top",ref:a});break;case"widget-left":this.addWidget(o,{mode:"split-left",ref:a});break;case"widget-right":this.addWidget(o,{mode:"split-right",ref:a});break;case"widget-bottom":this.addWidget(o,{mode:"split-bottom",ref:a});break;default:throw"unreachable"}e.dropAction=e.proposedAction,e.stopPropagation(),this.activateWidget(o)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),27===e.keyCode&&(this._releaseMouse(),ee.postMessage(this,gt.LayoutModified))}_evtPointerDown(e){if(0!==e.button)return;let t=this.layout,i=e.target,n=m(t.handles(),e=>e.contains(i));if(!n)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 s=n.getBoundingClientRect(),r=e.clientX-s.left,o=e.clientY-s.top,a=window.getComputedStyle(n),d=re.overrideCursor(a.cursor,this._document);this._pressData={handle:n,deltaX:r,deltaY:o,override:d}}_evtPointerMove(e){if(!this._pressData)return;e.preventDefault(),e.stopPropagation();let t=this.node.getBoundingClientRect(),i=e.clientX-t.left-this._pressData.deltaX,n=e.clientY-t.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,i,n)}_evtPointerUp(e){0===e.button&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse(),ee.postMessage(this,gt.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 i,n,s,r,{zone:o,target:a}=gt.findDropTarget(this,e,t,this._edges);if("invalid"===o)return this.overlay.hide(100),o;let d=R.boxSizing(this.node),l=this.node.getBoundingClientRect();switch(o){case"root-all":i=d.paddingTop,n=d.paddingLeft,s=d.paddingRight,r=d.paddingBottom;break;case"root-top":i=d.paddingTop,n=d.paddingLeft,s=d.paddingRight,r=l.height*gt.GOLDEN_RATIO;break;case"root-left":i=d.paddingTop,n=d.paddingLeft,s=l.width*gt.GOLDEN_RATIO,r=d.paddingBottom;break;case"root-right":i=d.paddingTop,n=l.width*gt.GOLDEN_RATIO,s=d.paddingRight,r=d.paddingBottom;break;case"root-bottom":i=l.height*gt.GOLDEN_RATIO,n=d.paddingLeft,s=d.paddingRight,r=d.paddingBottom;break;case"widget-all":i=a.top,n=a.left,s=a.right,r=a.bottom;break;case"widget-top":i=a.top,n=a.left,s=a.right,r=a.bottom+a.height/2;break;case"widget-left":i=a.top,n=a.left,s=a.right+a.width/2,r=a.bottom;break;case"widget-right":i=a.top,n=a.left+a.width/2,s=a.right,r=a.bottom;break;case"widget-bottom":i=a.top+a.height/2,n=a.left,s=a.right,r=a.bottom;break;case"widget-tab":{const e=a.tabBar.node.getBoundingClientRect().height;i=a.top,n=a.left,s=a.right,r=a.bottom+a.height-e;break}default:throw"unreachable"}return this.overlay.show({top:i,left:n,right:s,bottom:r}),o}_createTabBar(){let e=this._renderer.createTabBar(this._document);return gt.isGeneratedTabBarProperty.set(e,!0),"single-document"===this._mode&&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(){ee.postMessage(this,gt.LayoutModified)}_onCurrentChanged(e,t){let{previousTitle:i,currentTitle:n}=t;i&&i.owner.hide(),n&&n.owner.show(),(P.IS_EDGE||P.IS_IE)&&ee.flush(),ee.postMessage(this,gt.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:i,tab:n,clientX:s,clientY:r,offset:a}=t,d=new b,l=o(()=>i.owner,"factory");d.setData("application/vnd.lumino.widget-factory",l);let h=n.cloneNode(!0);a&&(h.style.top=`-${a.y}px`,h.style.left=`-${a.x}px`),this._drag=new re({document:this._document,mimeData:d,dragImage:h,proposedAction:"move",supportedActions:"move",source:this}),n.classList.add("lm-mod-hidden");let c=o(()=>{this._drag=null,n.classList.remove("lm-mod-hidden")},"cleanup");this._drag.start(s,r).then(c)}},"DockPanel"),n);var gt;!function(e){const t=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)return e<=0?(clearTimeout(this._timer),this._timer=-1,this._hidden=!0,void this.node.classList.add("lm-mod-hidden")):void(-1===this._timer&&(this._timer=window.setTimeout(()=>{this._timer=-1,this._hidden=!0,this.node.classList.add("lm-mod-hidden")},e)))}};o(t,"Overlay");let i=t;e.Overlay=i;const n=class _Renderer{createTabBar(e){let t=new lt({document:e});return t.addClass("lm-DockPanel-tabBar"),t}createHandle(){let e=document.createElement("div");return e.className="lm-DockPanel-handle",e}};o(n,"Renderer");let s=n;e.Renderer=s,e.defaultRenderer=new s}(pt||(pt={})),function(e){function t(e){if(e.isEmpty)return{main:null};let t=Array.from(e.widgets()),i=e.selectedWidgets().next().value,n=i?t.indexOf(i):-1;return{main:{type:"tab-area",widgets:t,currentIndex:n}}}function i(e,t,i,n){if(!R.hitTest(e.node,t,i))return{zone:"invalid",target:null};let s=e.layout;if(s.isEmpty)return{zone:"root-all",target:null};if("multiple-document"===e.mode){let s=e.node.getBoundingClientRect(),r=t-s.left+1,o=i-s.top+1,a=s.right-t,d=s.bottom-i;switch(Math.min(o,a,d,r)){case o:if(o<n.top)return{zone:"root-top",target:null};break;case a:if(a<n.right)return{zone:"root-right",target:null};break;case d:if(d<n.bottom)return{zone:"root-bottom",target:null};break;case r:if(r<n.left)return{zone:"root-left",target:null};break;default:throw"unreachable"}}let r=s.hitTestTabAreas(t,i);if(!r)return{zone:"invalid",target:null};if("single-document"===e.mode)return{zone:"widget-all",target:r};let o=r.x-r.left+1,a=r.y-r.top+1,d=r.left+r.width-r.x,l=r.top+r.height-r.y;if(a<r.tabBar.node.getBoundingClientRect().height)return{zone:"widget-tab",target:r};let h,c=Math.round(r.width/3),u=Math.round(r.height/3);if(o>c&&d>c&&a>u&&l>u)return{zone:"widget-all",target:r};switch(o/=c,a/=u,d/=c,l/=u,Math.min(o,a,d,l)){case o:h="widget-left";break;case a:h="widget-top";break;case d:h="widget-right";break;case l:h="widget-bottom";break;default:throw"unreachable"}return{zone:h,target:r}}function n(e){return 0===e.titles.length?null:e.currentTitle?e.currentTitle.owner:e.titles[e.titles.length-1].owner}e.GOLDEN_RATIO=.618,e.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},e.LayoutModified=new J("layout-modified"),e.isGeneratedTabBarProperty=new ie({name:"isGeneratedTabBar",create:o(()=>!1,"create")}),o(t,"createSingleDocumentConfig"),e.createSingleDocumentConfig=t,o(i,"findDropTarget"),e.findDropTarget=i,o(n,"getDropRef"),e.getDropRef=n}(gt||(gt={}));const ft=class _GridLayout extends Ce{constructor(e={}){super(e),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new fe],this._columnSizers=[new fe],this._box=null,void 0!==e.rowCount&&vt.reallocSizers(this._rowSizers,e.rowCount),void 0!==e.columnCount&&vt.reallocSizers(this._columnSizers,e.columnCount),void 0!==e.rowSpacing&&(this._rowSpacing=vt.clampValue(e.rowSpacing)),void 0!==e.columnSpacing&&(this._columnSpacing=vt.clampValue(e.columnSpacing))}dispose(){for(const 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&&(vt.reallocSizers(this._rowSizers,e),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(e){e!==this.columnCount&&(vt.reallocSizers(this._columnSizers,e),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(e){e=vt.clampValue(e),this._rowSpacing!==e&&(this._rowSpacing=e,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(e){e=vt.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 i=this._rowSizers[e];i&&(t=vt.clampValue(t),i.stretch!==t&&(i.stretch=t,this.parent&&this.parent.update()))}columnStretch(e){let t=this._columnSizers[e];return t?t.stretch:-1}setColumnStretch(e,t){let i=this._columnSizers[e];i&&(t=vt.clampValue(t),i.stretch!==t&&(i.stretch=t,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(const e of this._items)yield e.widget}addWidget(e){-1===d.findFirstIndex(this._items,t=>t.widget===e)&&(this._items.push(new Se(e)),this.parent&&this.attachWidget(e))}removeWidget(e){let t=d.findFirstIndex(this._items,t=>t.widget===e);if(-1===t)return;let i=d.removeAt(this._items,t);this.parent&&this.detachWidget(e),i.dispose()}init(){super.init();for(const e of this)this.attachWidget(e)}attachWidget(e){this.parent.isAttached&&ee.sendMessage(e,we.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&ee.sendMessage(e,we.Msg.AfterAttach),this.parent.fit()}detachWidget(e){this.parent.isAttached&&ee.sendMessage(e,we.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&ee.sendMessage(e,we.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 a=0,d=this.rowCount;a<d;++a)this._rowSizers[a].minSize=0;for(let a=0,d=this.columnCount;a<d;++a)this._columnSizers[a].minSize=0;let e=this._items.filter(e=>!e.isHidden);for(let a=0,d=e.length;a<d;++a)e[a].fit();let t=this.rowCount-1,i=this.columnCount-1;e.sort(vt.rowSpanCmp);for(let a=0,d=e.length;a<d;++a){let i=e[a],n=_GridLayout.getCellConfig(i.widget),s=Math.min(n.row,t),r=Math.min(n.row+n.rowSpan-1,t);vt.distributeMin(this._rowSizers,s,r,i.minHeight)}e.sort(vt.columnSpanCmp);for(let a=0,d=e.length;a<d;++a){let t=e[a],n=_GridLayout.getCellConfig(t.widget),s=Math.min(n.column,i),r=Math.min(n.column+n.columnSpan-1,i);vt.distributeMin(this._columnSizers,s,r,t.minWidth)}if("set-no-constraint"===this.fitPolicy)return void ee.sendMessage(this.parent,we.Msg.UpdateRequest);let n=t*this._rowSpacing,s=i*this._columnSpacing;for(let a=0,d=this.rowCount;a<d;++a)n+=this._rowSizers[a].minSize;for(let a=0,d=this.columnCount;a<d;++a)s+=this._columnSizers[a].minSize;let r=this._box=R.boxSizing(this.parent.node);s+=r.horizontalSum,n+=r.verticalSum;let o=this.parent.node.style;o.minWidth=`${s}px`,o.minHeight=`${n}px`,this._dirty=!0,this.parent.parent&&ee.sendMessage(this.parent.parent,we.Msg.FitRequest),this._dirty&&ee.sendMessage(this.parent,we.Msg.UpdateRequest)}_update(e,t){this._dirty=!1,e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||(this._box=R.boxSizing(this.parent.node));let i=this._box.paddingTop,n=this._box.paddingLeft,s=e-this._box.horizontalSum,r=t-this._box.verticalSum,o=this.rowCount-1,a=this.columnCount-1,d=o*this._rowSpacing,l=a*this._columnSpacing;_e.calc(this._rowSizers,Math.max(0,r-d)),_e.calc(this._columnSizers,Math.max(0,s-l));for(let h=0,c=i,u=this.rowCount;h<u;++h)this._rowStarts[h]=c,c+=this._rowSizers[h].size+this._rowSpacing;for(let h=0,c=n,u=this.columnCount;h<u;++h)this._columnStarts[h]=c,c+=this._columnSizers[h].size+this._columnSpacing;for(let h=0,c=this._items.length;h<c;++h){let e=this._items[h];if(e.isHidden)continue;let t=_GridLayout.getCellConfig(e.widget),i=Math.min(t.row,o),n=Math.min(t.column,a),s=Math.min(t.row+t.rowSpan-1,o),r=Math.min(t.column+t.columnSpan-1,a),d=this._columnStarts[n],l=this._rowStarts[i],c=this._columnStarts[r]+this._columnSizers[r].size-d,u=this._rowStarts[s]+this._rowSizers[s].size-l;e.update(d,l,c,u)}}};o(ft,"GridLayout");let _t=ft;var vt;!function(e){function t(e){return vt.cellConfigProperty.get(e)}function i(e,t){vt.cellConfigProperty.set(e,vt.normalizeConfig(t))}o(t,"getCellConfig"),e.getCellConfig=t,o(i,"setCellConfig"),e.setCellConfig=i}(_t||(_t={})),function(e){function t(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))}}function i(e){return Math.max(0,Math.floor(e))}function n(t,i){let n=e.cellConfigProperty.get(t.widget),s=e.cellConfigProperty.get(i.widget);return n.rowSpan-s.rowSpan}function s(t,i){let n=e.cellConfigProperty.get(t.widget),s=e.cellConfigProperty.get(i.widget);return n.columnSpan-s.columnSpan}function r(e,t){for(t=Math.max(1,Math.floor(t));e.length<t;)e.push(new fe);e.length>t&&(e.length=t)}function a(e,t,i,n){if(i<t)return;if(t===i){let i=e[t];return void(i.minSize=Math.max(i.minSize,n))}let s=0;for(let o=t;o<=i;++o)s+=e[o].minSize;if(s>=n)return;let r=(n-s)/(i-t+1);for(let o=t;o<=i;++o)e[o].minSize+=r}function d(e){e.parent&&e.parent.layout instanceof _t&&e.parent.fit()}e.cellConfigProperty=new ie({name:"cellConfig",create:o(()=>({row:0,column:0,rowSpan:1,columnSpan:1}),"create"),changed:d}),o(t,"normalizeConfig"),e.normalizeConfig=t,o(i,"clampValue"),e.clampValue=i,o(n,"rowSpanCmp"),e.rowSpanCmp=n,o(s,"columnSpanCmp"),e.columnSpanCmp=s,o(r,"reallocSizers"),e.reallocSizers=r,o(a,"distributeMin"),e.distributeMin=a,o(d,"onChildCellConfigChanged")}(vt||(vt={}));const bt=class _MenuBar extends we{constructor(e={}){super({node:wt.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(we.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&&0===this._menus[e].items.length&&(e=-1),this._activeIndex!==e&&(this._activeIndex=e,this.update())}get menus(){return this._menus}openActiveMenu(){-1!==this._activeIndex&&(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,i=!0){this._closeChildMenu();let n=this._menus.indexOf(t),s=Math.max(0,Math.min(e,this._menus.length));if(-1===n)return d.insert(this._menus,s,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),void(i&&this.update());s===this._menus.length&&s--,n!==s&&(d.move(this._menus,n,s),i&&this.update())}removeMenu(e,t=!0){this.removeMenuAt(this._menus.indexOf(e),t)}removeMenuAt(e,t=!0){this._closeChildMenu();let i=d.removeAt(this._menus,e);i&&(i.aboutToClose.disconnect(this._onMenuAboutToClose,this),i.menuRequested.disconnect(this._onMenuMenuRequested,this),i.title.changed.disconnect(this._onTitleChanged,this),i.removeClass("lm-MenuBar-menu"),t&&this.update())}clearMenus(){if(0!==this._menus.length){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"mousedown":this._evtMouseDown(e);break;case"mousemove":case"mouseleave":this._evtMouseMove(e);break;case"focusout":this._evtFocusOut(e);break;case"contextmenu":e.preventDefault(),e.stopPropagation()}}onBeforeAttach(e){this.node.addEventListener("keydown",this),this.node.addEventListener("mousedown",this),this.node.addEventListener("mousemove",this),this.node.addEventListener("mouseleave",this),this.node.addEventListener("focusout",this),this.node.addEventListener("contextmenu",this)}onAfterDetach(e){this.node.removeEventListener("keydown",this),this.node.removeEventListener("mousedown",this),this.node.removeEventListener("mousemove",this),this.node.removeEventListener("mouseleave",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){var t;let i=this._menus,n=this.renderer,s=this._activeIndex,r=this._tabFocusIndex>=0&&this._tabFocusIndex<i.length?this._tabFocusIndex:0,a=this._overflowIndex>-1?this._overflowIndex:i.length,d=0,l=!1;a=null!==this._overflowMenu?a-1:a;let h=new Array(a);for(let c=0;c<a;++c)h[c]=n.renderItem({title:i[c].title,active:c===s,tabbable:c===r,disabled:0===i[c].items.length,onfocus:o(()=>{this._tabFocusIndex=c,this.activeIndex=c},"onfocus")}),d+=this._menuItemSizes[c],i[c].title.label===this._overflowMenuOptions.title&&(l=!0,a--);if(this._overflowMenuOptions.isVisible)if(this._overflowIndex>-1&&!l){if(null===this._overflowMenu){const e=null!==(t=this._overflowMenuOptions.title)&&void 0!==t?t:"...";this._overflowMenu=new it({commands:new V}),this._overflowMenu.title.label=e,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let e=i.length-2;e>=a;e--){const t=this.menus[e];t.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:"submenu",submenu:t}),this.removeMenu(t,!1)}h[a]=n.renderItem({title:this._overflowMenu.title,active:a===s&&0!==i[a].items.length,tabbable:a===r,disabled:0===i[a].items.length,onfocus:o(()=>{this._tabFocusIndex=a,this.activeIndex=a},"onfocus")}),a++}else if(null!==this._overflowMenu){let e=this._overflowMenu.items,t=this.node.offsetWidth,s=this._overflowMenu.items.length;for(let l=0;l<s;++l){let s=i.length-1-l;if(t-d>this._menuItemSizes[s]){let t=e[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(a,t,!1),h[a]=n.renderItem({title:t.title,active:!1,tabbable:a===r,disabled:0===i[a].items.length,onfocus:o(()=>{this._tabFocusIndex=a,this.activeIndex=a},"onfocus")}),a++}}0===this._overflowMenu.items.length&&(this.removeMenu(this._overflowMenu,!1),h.pop(),this._overflowMenu=null,this._overflowIndex=-1)}me.render(h,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;const e=this.contentNode.childNodes;let t=this.node.offsetWidth,i=0,n=-1,s=e.length;if(0==this._menuItemSizes.length)for(let r=0;r<s;r++){let s=e[r];i+=s.offsetWidth,this._menuItemSizes.push(s.offsetWidth),i>t&&-1===n&&(n=r)}else for(let r=0;r<this._menuItemSizes.length;r++)if(i+=this._menuItemSizes[r],i>t){n=r;break}this._overflowIndex=n}_evtKeyDown(e){let t=e.keyCode;if(9===t)return void(this.activeIndex=-1);if(e.preventDefault(),e.stopPropagation(),13===t||32===t||38===t||40===t){if(this.activeIndex=this._tabFocusIndex,this.activeIndex!==this._tabFocusIndex)return;return void this.openActiveMenu()}if(27===t)return this._closeChildMenu(),void this._focusItemAt(this.activeIndex);if(37===t||39===t){let e=37===t?-1:1,i=this._tabFocusIndex+e,n=this._menus.length;for(let t=0;t<n;t++){let s=(n+i+e*t)%n;if(this._menus[s].items.length)return void this._focusItemAt(s)}return}let i=N().keyForKeydownEvent(e);if(!i)return;let n=this._activeIndex+1,s=wt.findMnemonic(this._menus,i,n);-1===s.index||s.multiple?-1!==s.index?(this.activeIndex=s.index,this._focusItemAt(this.activeIndex)):-1!==s.auto&&(this.activeIndex=s.auto,this._focusItemAt(this.activeIndex)):(this.activeIndex=s.index,this.openActiveMenu())}_evtMouseDown(e){if(!R.hitTest(this.node,e.clientX,e.clientY))return;e.stopPropagation(),e.stopImmediatePropagation();let t=d.findFirstIndex(this.contentNode.children,t=>R.hitTest(t,e.clientX,e.clientY));if(-1!==t){if(0===e.button)if(this._childMenu)this._closeChildMenu(),this.activeIndex=t;else{e.preventDefault();const i=this._positionForMenu(t);it.saveWindowData(),this.activeIndex=t,this._openChildMenu(i)}}else this._closeChildMenu()}_evtMouseMove(e){let t=d.findFirstIndex(this.contentNode.children,t=>R.hitTest(t,e.clientX,e.clientY));if(t===this._activeIndex)return;if(-1===t&&this._childMenu)return;const i=t>=0&&this._childMenu?this._positionForMenu(t):null;it.saveWindowData(),this.activeIndex=t,i&&this._openChildMenu(i)}_positionForMenu(e){let t=this.contentNode.children[e],{left:i,bottom:n}=t.getBoundingClientRect();return{top:n,left:i}}_evtFocusOut(e){this._childMenu||this.node.contains(e.relatedTarget)||(this.activeIndex=-1)}_focusItemAt(e){const t=this.contentNode.childNodes[e];t&&t.focus()}_openChildMenu(e={}){let t=this.activeMenu;if(!t)return void this._closeChildMenu();let i=this._childMenu;if(i===t)return;this._childMenu=t,i?i.close():document.addEventListener("mousedown",this,!0),this._tabFocusIndex=this.activeIndex,ee.sendMessage(this,we.Msg.UpdateRequest);let{left:n,top:s}=e;void 0!==n&&void 0!==s||({left:n,top:s}=this._positionForMenu(this._activeIndex)),i||this.addClass("lm-mod-active"),t.items.length>0&&t.open(n,s,this._forceItemsPosition)}_closeChildMenu(){if(!this._childMenu)return;this.removeClass("lm-mod-active"),document.removeEventListener("mousedown",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("mousedown",this,!0),this._childMenu=null,this.activeIndex=-1)}_onMenuMenuRequested(e,t){if(e!==this._childMenu)return;let i=this._activeIndex,n=this._menus.length;switch(t){case"next":this.activeIndex=i===n-1?0:i+1;break;case"previous":this.activeIndex=0===i?n-1:i-1}this.openActiveMenu()}_onTitleChanged(){this.update()}};o(bt,"MenuBar");let yt=bt;var wt,xt;!function(e){const t=class _Renderer{renderItem(e){let t=this.createItemClass(e),i=this.createItemDataset(e),n=this.createItemARIA(e);return ce.li({className:t,dataset:i,...e.disabled?{}:{tabindex:e.tabbable?"0":"-1"},onfocus:e.onfocus,...n},this.renderIcon(e),this.renderLabel(e))}renderIcon(e){let t=this.createIconClass(e);return ce.div({className:t},e.title.icon,e.title.iconLabel)}renderLabel(e){let t=this.formatLabel(e);return ce.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",i=e.title.iconClass;return i?`${t} ${i}`:t}formatLabel(e){let{label:t,mnemonic:i}=e.title;if(i<0||i>=t.length)return t;let n=t.slice(0,i),s=t.slice(i+1),r=t[i];return[n,ce.span({className:"lm-MenuBar-itemMnemonic"},r),s]}};o(t,"Renderer");let i=t;e.Renderer=i,e.defaultRenderer=new i}(bt||(yt={})),function(e){function t(){let e=document.createElement("div"),t=document.createElement("ul");return t.className="lm-MenuBar-content",e.appendChild(t),t.setAttribute("role","menubar"),e}function i(e,t,i){let n=-1,s=-1,r=!1,o=t.toUpperCase();for(let a=0,d=e.length;a<d;++a){let t=(a+i)%d,l=e[t].title;if(0===l.label.length)continue;let h=l.mnemonic;h>=0&&h<l.label.length?l.label[h].toUpperCase()===o&&(-1===n?n=t:r=!0):-1===s&&l.label[0].toUpperCase()===o&&(s=t)}return{index:n,multiple:r,auto:s}}o(t,"createNode"),e.createNode=t,o(i,"findMnemonic"),e.findMnemonic=i}(wt||(wt={})),function(e){function t(){let e=document.createElement("div"),t=document.createElement("div"),i=document.createElement("div"),n=document.createElement("div"),s=document.createElement("div");return t.className="lm-ScrollBar-button",i.className="lm-ScrollBar-button",t.dataset.action="decrement",i.dataset.action="increment",n.className="lm-ScrollBar-track",s.className="lm-ScrollBar-thumb",n.appendChild(s),e.appendChild(t),e.appendChild(n),e.appendChild(i),e}function i(e,t){return e.thumbNode.contains(t)?"thumb":e.trackNode.contains(t)?"track":e.decrementNode.contains(t)?"decrement":e.incrementNode.contains(t)?"increment":null}o(t,"createNode"),e.createNode=t,o(i,"findPart"),e.findPart=i}(xt||(xt={}));const Mt=class _StackedLayout extends ke{constructor(e={}){super(e),this._dirty=!1,this._items=[],this._box=null,this._hiddenMode=void 0!==e.hiddenMode?e.hiddenMode:we.HiddenMode.Display}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(const e of this._items)e.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(e,t){this._hiddenMode===we.HiddenMode.Scale&&this._items.length>0?(1===this._items.length&&(this.widgets[0].hiddenMode=we.HiddenMode.Scale),t.hiddenMode=we.HiddenMode.Scale):t.hiddenMode=we.HiddenMode.Display,d.insert(this._items,e,new Se(t)),this.parent.isAttached&&ee.sendMessage(t,we.Msg.BeforeAttach),this.parent.node.appendChild(t.node),this.parent.isAttached&&ee.sendMessage(t,we.Msg.AfterAttach),this.parent.fit()}moveWidget(e,t,i){d.move(this._items,e,t),this.parent.update()}detachWidget(e,t){let i=d.removeAt(this._items,e);this.parent.isAttached&&ee.sendMessage(t,we.Msg.BeforeDetach),this.parent.node.removeChild(t.node),this.parent.isAttached&&ee.sendMessage(t,we.Msg.AfterDetach),i.widget.node.style.zIndex="",this._hiddenMode===we.HiddenMode.Scale&&(t.hiddenMode=we.HiddenMode.Display,1===this._items.length&&(this._items[0].widget.hiddenMode=we.HiddenMode.Display)),i.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 s=0,r=this._items.length;s<r;++s){let i=this._items[s];i.isHidden||(i.fit(),e=Math.max(e,i.minWidth),t=Math.max(t,i.minHeight))}let i=this._box=R.boxSizing(this.parent.node);e+=i.horizontalSum,t+=i.verticalSum;let n=this.parent.node.style;n.minWidth=`${e}px`,n.minHeight=`${t}px`,this._dirty=!0,this.parent.parent&&ee.sendMessage(this.parent.parent,we.Msg.FitRequest),this._dirty&&ee.sendMessage(this.parent,we.Msg.UpdateRequest)}_update(e,t){this._dirty=!1;let i=0;for(let a=0,d=this._items.length;a<d;++a)i+=+!this._items[a].isHidden;if(0===i)return;e<0&&(e=this.parent.node.offsetWidth),t<0&&(t=this.parent.node.offsetHeight),this._box||(this._box=R.boxSizing(this.parent.node));let n=this._box.paddingTop,s=this._box.paddingLeft,r=e-this._box.horizontalSum,o=t-this._box.verticalSum;for(let a=0,d=this._items.length;a<d;++a){let e=this._items[a];e.isHidden||(e.widget.node.style.zIndex=`${a}`,e.update(s,n,r,o))}}};o(Mt,"StackedLayout");let Ct=Mt;const At=class _StackedPanel extends Ne{constructor(e={}){super({layout:It.createLayout(e)}),this._widgetRemoved=new S(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)}};o(At,"StackedPanel");let St=At;var It;!function(e){function t(e){return e.layout||new Ct}o(t,"createLayout"),e.createLayout=t}(It||(It={}));let zt=(o(s=class extends we{constructor(e={}){super(),this._currentChanged=new S(this),this._addRequested=new S(this),this.addClass("lm-TabPanel"),this.tabBar=new lt(e),this.tabBar.addClass("lm-TabPanel-tabBar"),this.stackedPanel=new St,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=kt.directionFromPlacement(this._tabPlacement),i=kt.orientationFromPlacement(this._tabPlacement);this.tabBar.orientation=i,this.tabBar.dataset.placement=this._tabPlacement;let n=new je({direction:t,spacing:0});je.setStretch(this.tabBar,0),je.setStretch(this.stackedPanel,1),n.addWidget(this.tabBar),n.addWidget(this.stackedPanel),this.layout=n}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=kt.directionFromPlacement(e),i=kt.orientationFromPlacement(e);this.tabBar.orientation=i,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 i=this.tabBar.renderer;if(i instanceof lt.Renderer){let e=i.createTabKey({title:t.title,current:!1,zIndex:0});t.node.setAttribute("aria-labelledby",e)}}_onCurrentChanged(e,t){let{previousIndex:i,previousTitle:n,currentIndex:s,currentTitle:r}=t,o=n?n.owner:null,a=r?r.owner:null;o&&o.hide(),a&&a.show(),this._currentChanged.emit({previousIndex:i,previousWidget:o,currentIndex:s,currentWidget:a}),(P.IS_EDGE||P.IS_IE)&&ee.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)}},"TabPanel"),s);var kt;!function(e){function t(e){return n[e]}function i(e){return s[e]}o(t,"orientationFromPlacement"),e.orientationFromPlacement=t,o(i,"directionFromPlacement"),e.directionFromPlacement=i;const n={top:"horizontal",left:"vertical",right:"vertical",bottom:"horizontal"},s={top:"top-to-bottom",left:"left-to-right",right:"right-to-left",bottom:"bottom-to-top"}}(kt||(kt={})),e.Msg=void 0,(e=>{const t=class _WAConflatableMessage extends J{_wa;constructor(e,t){super(t),this._wa=e}get wa(){return this._wa}conflate(e){return this._wa=e.wa,!0}};o(t,"WAConflatableMessage");let i=t;e.WAConflatableMessage=i;const n=class _WAActivateRequest extends i{constructor(e){super(e,_WAActivateRequest.type)}};o(n,"WAActivateRequest"),a(n,"type","wa-activate-request");let s=n;e.WAActivateRequest=s;const r=class _WALayoutChanged extends i{constructor(e){super(e,_WALayoutChanged.type)}};o(r,"WALayoutChanged"),a(r,"type","wa-layout-changed");let d=r;e.WALayoutChanged=d})(e.Msg||(e.Msg={}));const Et=class _WidgetAdapter extends we{_owner;_element;_widget;get widget(){return this._widget}_widgetLayout;lparam={};padding=0;_width=0;_height=0;_ext;_closable;constructor(e,i,n={},s=!1,r={}){super(),this._owner=e,this._element=t.select(this.node),this.addClass("phosphor_WidgetAdapter"),this.title.label="",this.title.closable=!!s,this.title.caption=`Long description for: ${name}`,this._ext=r,this._closable="boolean"==typeof s?{canClose:(e,t)=>s}:s,i instanceof t.Widget?this._widget=i.target(this.node):this._widgetLayout=i,this.lparam=n}get inputNode(){return this.node.getElementsByTagName("input")[0]}resizeAndRender(){this._widget&&(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-2*this.padding-2,height:this._height-2*this.padding-2}).lazyRender(),this._owner&&ee.postMessage(this._owner,new e.Msg.WALayoutChanged(this)))}onActivateRequest(t){super.onActivateRequest(t),this._widget&&this.resizeAndRender(),this._owner&&ee.postMessage(this._owner,new e.Msg.WAActivateRequest(this))}onResize(e){super.onResize(e),this.node&&null!==this.node.offsetParent&&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()}};o(Et,"WidgetAdapter");let Tt=Et;const Lt=class _WidgetAdapterArray extends Array{constructor(e){super(...e)}static create(){return Object.create(_WidgetAdapterArray.prototype)}watchRendered(e,t){if(!t)return;const i=this.map(e=>({wa:e,w:e.widget,rc:e.widget.renderCount()})),n=setInterval(()=>{s()&&(clearInterval(n),t(e))},20);function s(){for(const e of i)if(e.wa.isVisible&&e.rc>=e.w.renderCount())return!1;return!0}o(s,"complete")}};o(Lt,"WidgetAdapterArray");let Dt=Lt;const Bt=class _PRenderer extends pt.Renderer{_owner;constructor(){super()}createTabBar(){const e=super.createTabBar();return e.tabsMovable=this._owner.tabsMovable,e}};o(Bt,"PRenderer");let Rt=Bt;const Pt=class _PDockPanel extends pt{_content;_contentMap;constructor(e={}){e.renderer=e.renderer||new Rt,super(e),this._renderer instanceof Rt&&(this._renderer._owner=this),this._content=Dt.create(),this._contentMap={}}appendContent(e){this._content.push(e),this._contentMap[e.widget.id()]=e}removeContent(e){const 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 Tt)try{return{__id:e.widget.id()}}catch(t){return{exception:{message:t.message??"",stack:t.stack??[]}}}return null}deserializeWidget(e){let t=this._contentMap[e.__id];return t||(t=new Tt(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)})}};o(Pt,"PDockPanel");let Wt=Pt;const Ht=class _DockPanel extends t.HTMLWidget{_dock=new Wt({mode:"multiple-document"});constructor(){super(),this._tag="div",this._dock.id="p"+this.id(),ee.installMessageHook(this,this)}getWidgetAdapter(e){let t=null;return this._dock.content().some(i=>i.widget===e&&(t=i,!0)),t}addWidget(e,t,i="split-right",n,s,r=8){const o={mode:i,ref:this.getWidgetAdapter(n)},a=new Tt(this,e,{},s);return a.title.label=t,a.padding=r,this._dock.addWidget(a,o),this._dock.appendContent(a),this._dock.tabsMovable=!0,this}removeWidget(e){const 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"),we.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)),we.detach(this._dock),super.exit(e,t)}render(e){const i=this;return null!==this._layoutObj&&(this.layout(this._layoutObj),this.layoutObj(null)),super.render(n=>{this._dock.content().watchRendered(this,e),this._dock.update(),setTimeout(()=>{const e=this.element().selectAll(".lm-Widget.lm-TabBar.lm-DockPanel-tabBar");let n=!1;e.each(function(){const e=t.select(this),s=e.node().childNodes[0].childNodes.length,r=i.hideSingleTabs()&&1===s;r!==e.classed("hide")&&(e.classed("hide",r),n=!0)}),n&&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(t){switch(t.type){case e.Msg.WAActivateRequest.type:const i=t.wa,n=i.widget;this._prevActive!==n&&(this._prevActive=n,this.childActivation(n,i));break;case e.Msg.WALayoutChanged.type:this._lazyLayoutChanged()}}active(){return this._prevActive}childActivation(e,t){}layoutChanged(){}};o(Ht,"DockPanel");let Nt=Ht;Nt.prototype._class+=" phosphor_DockPanel",Nt.prototype.publish("hideSingleTabs",!1,"boolean");const Ot=class _SplitPanel extends t.HTMLWidget{_split;content=Dt.create();constructor(e="vertical"){super(),this._split=new Fe({orientation:e}),this._tag="div",this._split.id="p"+this.id()}getWidgetAdapter(e){let t=null;return this.content.some(i=>i.widget===e&&(t=i,!0)),t}addWidget(e){const t=new Tt(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),we.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){we.detach(this._split),super.exit(e,t)}render(e){return super.render(t=>{this.content.watchRendered(this,e),this._split.update()})}_prevActive;processMessage(e){if("wa-activate-request"===e.type){const t=e.wa.widget;this._prevActive!==t&&(this._prevActive=t,this.childActivation(t))}}childActivation(e){}};o(Ot,"SplitPanel");let Ft=Ot;Ft.prototype._class+=" phosphor_SplitPanel";const qt=class _TabPanel extends t.HTMLWidget{_tab=new zt({tabPlacement:"top"});content=Dt.create();constructor(){super(),this._tag="div",this._tab.id="p"+this.id()}getWidget(e){if(e instanceof Tt)return e.widget}getWidgetAdapter(e){let t=null;return this.content.some(i=>i.widget===e&&(t=i,!0)),t}addWidget(e,t,i={}){this._prevActive||(this._prevActive=e);const n=new Tt(this,e,void 0,void 0,i);return n.title.label=t,n.padding=8,this._tab.addWidget(n),this.content.push(n),this}removeWidget(e){const t=this.getWidgetAdapter(e);if(t){const i=this.content.indexOf(t);i>=0&&this.content.splice(i,1),e.target(null),t.dispose()}return this}enter(e,t){super.enter(e,t),we.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){we.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){if("wa-activate-request"===e.type){const t=e.wa.widget;this._prevActive!==t&&(this._prevActive=t,this.childActivation(t))}}childActivation(e){}active(e){return arguments.length?(this._tab.currentWidget=this.getWidgetAdapter(e),this):this.getWidget(this._tab.currentWidget)}};o(qt,"TabPanel");let Kt=qt;Kt.prototype._class+=" phosphor_TabPanel",e.BUILD_VERSION="3.24.0",e.CommandPalette=Je,e.CommandRegistry=V,e.ContextMenu=rt,e.DockPanel=Nt,e.PKG_NAME="@hpcc-js/phosphor",e.PKG_VERSION="3.6.3",e.SplitPanel=Ft,e.TabPanel=Kt,e.WidgetAdapter=Tt,e.WidgetAdapterArray=Dt,Object.defineProperty(e,Symbol.toStringTag,{value:"Module"})});
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
- !function(){"use strict";try{if("undefined"!=typeof document){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{display:flex;flex-direction:column;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lm-CommandPalette-search{flex:0 0 auto}.lm-CommandPalette-content{flex:1 1 auto;margin:0;padding:0;min-height:0;overflow:auto;list-style-type:none}.lm-CommandPalette-header{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lm-CommandPalette-item{display:flex;flex-direction:row}.lm-CommandPalette-itemIcon{flex:0 0 auto}.lm-CommandPalette-itemContent{flex:1 1 auto;overflow:hidden}.lm-CommandPalette-itemShortcut{flex:0 0 auto}.lm-CommandPalette-itemLabel{overflow:hidden;white-space:nowrap;text-overflow:ellipsis}.lm-close-icon{border:1px solid transparent;background-color:transparent;position:absolute;z-index:1;right:3%;top:0;bottom:0;margin:auto;padding:7px 0;display:none;vertical-align:middle;outline:0;cursor:pointer}.lm-close-icon:after{content:"X";display:block;width:15px;height:15px;text-align:center;color:#000;font-weight:400;font-size:12px;cursor:pointer}.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{position:absolute;top:0;left:0;width:100%;height:100%;content:""}.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{left:50%;min-width:8px;transform:translate(-50%)}.lm-DockPanel-handle[data-orientation=vertical]:after{top:50%;min-height:8px;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;position:absolute;top:0;left:0;white-space:nowrap;overflow-x:hidden;overflow-y:auto;outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lm-Menu-content{margin:0;padding:0;display:table;list-style-type:none}.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{display:table-cell;text-align:center}.lm-Menu-itemLabel{display:table-cell;text-align:left}.lm-Menu-itemShortcut{display:table-cell;text-align:right}.lm-MenuBar{outline:none;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lm-MenuBar-content{margin:0;padding:0;display:flex;flex-direction:row;list-style-type:none}.lm-MenuBar-item{box-sizing:border-box}.lm-MenuBar-itemIcon,.lm-MenuBar-itemLabel{display:inline-block}.lm-ScrollBar{display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.lm-ScrollBar[data-orientation=horizontal]{flex-direction:row}.lm-ScrollBar[data-orientation=vertical]{flex-direction:column}.lm-ScrollBar-button{box-sizing:border-box;flex:0 0 auto}.lm-ScrollBar-track{box-sizing:border-box;position:relative;overflow:hidden;flex:1 1 auto}.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{position:absolute;top:0;left:0;width:100%;height:100%;content:""}.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{left:50%;min-width:8px;transform:translate(-50%)}.lm-SplitPanel[data-orientation=vertical]>.lm-SplitPanel-handle:after{top:50%;min-height:8px;transform:translateY(-50%)}.lm-TabBar{display:flex;-webkit-user-select:none;-moz-user-select:none;-ms-user-select:none;user-select:none}.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{margin:0;padding:0;display:flex;flex:1 1 auto;list-style-type:none}.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{display:flex;flex-direction:row;box-sizing:border-box;overflow:hidden;touch-action:none}.lm-TabBar-tabIcon,.lm-TabBar-tabCloseIcon{flex:0 0 auto}.lm-TabBar-tabLabel{flex:1 1 auto;overflow:hidden;white-space:nowrap}.lm-TabBar-tabInput{-webkit-user-select:all;user-select:all;width:100%;box-sizing:border-box}.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{left:0;transition:left .15s ease}.lm-TabBar.lm-mod-dragging[data-orientation=vertical] .lm-TabBar-tab{top:0;transition:top .15s ease}.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging{transition:none}.lm-TabBar-tabLabel .lm-TabBar-tabInput{-webkit-user-select:all;user-select:all;width:100%;box-sizing:border-box;background:inherit}.lm-TabPanel-tabBar{z-index:1}.lm-TabPanel-stackedPanel{z-index:0}.phosphor_WidgetAdapter{border-left:1px solid #C0C0C0;border-right:1px solid #C0C0C0;border-bottom:1px solid #C0C0C0;background:#fff;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 black;transition-property:top,left,right,bottom;transition-duration:.15s;transition-timing-function:ease}.lm-TabBar{min-height:24px;max-height:24px}.lm-TabBar-content{min-width:0;min-height:0;align-items:flex-end}.lm-TabPanel-tabBar .lm-TabBar-content{border-bottom:1px solid #C0C0C0}.lm-TabBar-tab{padding:0 10px;background:#e5e5e5;border:1px solid #C0C0C0;border-bottom:none;font:12px Helvetica,Arial,sans-serif;flex:0 1 125px;min-height:20px;max-height:20px;min-width:35px;margin-left:-1px;line-height:20px}.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{min-height:23px;max-height:23px;min-width:125px;border:none;box-shadow:1px 1px 2px #0000004d;transform:translate(-40%) translateY(-58%)}.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}')),document.head.appendChild(e)}}catch(t){console.error("vite-plugin-css-injected-by-js",t)}}();
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)}})();