@perspective-dev/workspace 4.1.0 → 4.1.1

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
@@ -17,7 +17,7 @@ __p += '`),ye&&(V+=`' +
17
17
  function print() { __p += __j.call(arguments, '') }
18
18
  `:`;
19
19
  `)+V+`return __p
20
- }`;var me=cd(function(){return Te(x,se+"return "+V).apply(n,T)});if(me.source=V,Oa(me))throw me;return me}function i0(t){return Se(t).toLowerCase()}function n0(t){return Se(t).toUpperCase()}function r0(t,i,a){if(t=Se(t),t&&(a||i===n))return wl(t);if(!t||!(i=bt(i)))return t;var u=Wt(t),f=Wt(i),x=yl(u,f),T=xl(u,f)+1;return Si(u,x,T).join("")}function s0(t,i,a){if(t=Se(t),t&&(a||i===n))return t.slice(0,Cl(t)+1);if(!t||!(i=bt(i)))return t;var u=Wt(t),f=xl(u,Wt(i))+1;return Si(u,0,f).join("")}function a0(t,i,a){if(t=Se(t),t&&(a||i===n))return t.replace(Os,"");if(!t||!(i=bt(i)))return t;var u=Wt(t),f=yl(u,Wt(i));return Si(u,f).join("")}function o0(t,i){var a=U,u=J;if(Oe(i)){var f="separator"in i?i.separator:f;a="length"in i?fe(i.length):a,u="omission"in i?bt(i.omission):u}t=Se(t);var x=t.length;if(tn(t)){var T=Wt(t);x=T.length}if(a>=x)return t;var A=a-nn(u);if(A<1)return u;var z=T?Si(T,0,A).join(""):t.slice(0,A);if(f===n)return z+u;if(T&&(A+=z.length-A),Na(f)){if(t.slice(A).search(f)){var F,$=z;for(f.global||(f=ta(f.source,Se(Fo.exec(f))+"g")),f.lastIndex=0;F=f.exec($);)var V=F.index;z=z.slice(0,V===n?A:V)}}else if(t.indexOf(bt(f),A)!=A){var ne=z.lastIndexOf(f);ne>-1&&(z=z.slice(0,ne))}return z+u}function l0(t){return t=Se(t),t&&vp.test(t)?t.replace(No,Wg):t}var u0=un(function(t,i,a){return t+(a?" ":"")+i.toUpperCase()}),Fa=hu("toUpperCase");function dd(t,i,a){return t=Se(t),i=a?n:i,i===n?zg(t)?qg(t):Mg(t):t.match(i)||[]}var cd=pe(function(t,i){try{return gt(t,n,i)}catch(a){return Oa(a)?a:new ce(a)}}),d0=ri(function(t,i){return St(i,function(a){a=Gt(a),ii(t,a,Ra(t[a],t))}),t});function c0(t){var i=t==null?0:t.length,a=ae();return t=i?We(t,function(u){if(typeof u[1]!="function")throw new At(o);return[a(u[0]),u[1]]}):[],pe(function(u){for(var f=-1;++f<i;){var x=t[f];if(gt(x[0],this,u))return gt(x[1],this,u)}})}function h0(t){return W_(Et(t,g))}function Ua(t){return function(){return t}}function f0(t,i){return t==null||t!==t?i:t}var m0=mu(),p0=mu(!0);function mt(t){return t}function $a(t){return $l(typeof t=="function"?t:Et(t,g))}function g0(t){return Vl(Et(t,g))}function _0(t,i){return Gl(t,Et(i,g))}var b0=pe(function(t,i){return function(a){return qn(a,t,i)}}),v0=pe(function(t,i){return function(a){return qn(t,a,i)}});function Ka(t,i,a){var u=Xe(i),f=Wr(i,u);a==null&&!(Oe(i)&&(f.length||!u.length))&&(a=i,i=t,t=this,f=Wr(i,Xe(i)));var x=!(Oe(a)&&"chain"in a)||!!a.chain,T=ai(t);return St(f,function(A){var z=i[A];t[A]=z,T&&(t.prototype[A]=function(){var F=this.__chain__;if(x||F){var $=t(this.__wrapped__),V=$.__actions__=ct(this.__actions__);return V.push({func:z,args:arguments,thisArg:t}),$.__chain__=F,$}return z.apply(t,vi([this.value()],arguments))})}),t}function w0(){return Ye._===this&&(Ye._=Vg),this}function Va(){}function y0(t){return t=fe(t),pe(function(i){return Yl(i,t)})}var x0=Ma(We),M0=Ma(pl),C0=Ma(Ys);function hd(t){return ka(t)?Xs(Gt(t)):eb(t)}function T0(t){return function(i){return t==null?n:Wi(t,i)}}var S0=gu(),A0=gu(!0);function Ga(){return[]}function Ya(){return!1}function I0(){return{}}function E0(){return""}function k0(){return!0}function L0(t,i){if(t=fe(t),t<1||t>ue)return[];var a=be,u=Qe(t,be);i=ae(i),t-=be;for(var f=Js(u,i);++a<t;)i(a);return f}function z0(t){return he(t)?We(t,Gt):vt(t)?[t]:ct(zu(Se(t)))}function B0(t){var i=++$g;return Se(t)+i}var D0=Ur(function(t,i){return t+i},0),P0=Ca("ceil"),R0=Ur(function(t,i){return t/i},1),W0=Ca("floor");function O0(t){return t&&t.length?Rr(t,mt,ua):n}function N0(t,i){return t&&t.length?Rr(t,ae(i,2),ua):n}function q0(t){return bl(t,mt)}function H0(t,i){return bl(t,ae(i,2))}function F0(t){return t&&t.length?Rr(t,mt,fa):n}function U0(t,i){return t&&t.length?Rr(t,ae(i,2),fa):n}var $0=Ur(function(t,i){return t*i},1),K0=Ca("round"),V0=Ur(function(t,i){return t-i},0);function G0(t){return t&&t.length?js(t,mt):0}function Y0(t,i){return t&&t.length?js(t,ae(i,2)):0}return w.after=gw,w.ary=Uu,w.assign=ny,w.assignIn=nd,w.assignInWith=is,w.assignWith=ry,w.at=sy,w.before=$u,w.bind=Ra,w.bindAll=d0,w.bindKey=Ku,w.castArray=Iw,w.chain=qu,w.chunk=Wb,w.compact=Ob,w.concat=Nb,w.cond=c0,w.conforms=h0,w.constant=Ua,w.countBy=Gv,w.create=ay,w.curry=Vu,w.curryRight=Gu,w.debounce=Yu,w.defaults=oy,w.defaultsDeep=ly,w.defer=_w,w.delay=bw,w.difference=qb,w.differenceBy=Hb,w.differenceWith=Fb,w.drop=Ub,w.dropRight=$b,w.dropRightWhile=Kb,w.dropWhile=Vb,w.fill=Gb,w.filter=Xv,w.flatMap=Jv,w.flatMapDeep=Qv,w.flatMapDepth=ew,w.flatten=Ru,w.flattenDeep=Yb,w.flattenDepth=Xb,w.flip=vw,w.flow=m0,w.flowRight=p0,w.fromPairs=Zb,w.functions=py,w.functionsIn=gy,w.groupBy=tw,w.initial=Jb,w.intersection=Qb,w.intersectionBy=ev,w.intersectionWith=tv,w.invert=by,w.invertBy=vy,w.invokeMap=nw,w.iteratee=$a,w.keyBy=rw,w.keys=Xe,w.keysIn=ft,w.map=Zr,w.mapKeys=yy,w.mapValues=xy,w.matches=g0,w.matchesProperty=_0,w.memoize=Jr,w.merge=My,w.mergeWith=rd,w.method=b0,w.methodOf=v0,w.mixin=Ka,w.negate=Qr,w.nthArg=y0,w.omit=Cy,w.omitBy=Ty,w.once=ww,w.orderBy=sw,w.over=x0,w.overArgs=yw,w.overEvery=M0,w.overSome=C0,w.partial=Wa,w.partialRight=Xu,w.partition=aw,w.pick=Sy,w.pickBy=sd,w.property=hd,w.propertyOf=T0,w.pull=sv,w.pullAll=Ou,w.pullAllBy=av,w.pullAllWith=ov,w.pullAt=lv,w.range=S0,w.rangeRight=A0,w.rearg=xw,w.reject=uw,w.remove=uv,w.rest=Mw,w.reverse=Da,w.sampleSize=cw,w.set=Iy,w.setWith=Ey,w.shuffle=hw,w.slice=dv,w.sortBy=pw,w.sortedUniq=_v,w.sortedUniqBy=bv,w.split=Jy,w.spread=Cw,w.tail=vv,w.take=wv,w.takeRight=yv,w.takeRightWhile=xv,w.takeWhile=Mv,w.tap=Ov,w.throttle=Tw,w.thru=Xr,w.toArray=ed,w.toPairs=ad,w.toPairsIn=od,w.toPath=z0,w.toPlainObject=id,w.transform=ky,w.unary=Sw,w.union=Cv,w.unionBy=Tv,w.unionWith=Sv,w.uniq=Av,w.uniqBy=Iv,w.uniqWith=Ev,w.unset=Ly,w.unzip=Pa,w.unzipWith=Nu,w.update=zy,w.updateWith=By,w.values=hn,w.valuesIn=Dy,w.without=kv,w.words=dd,w.wrap=Aw,w.xor=Lv,w.xorBy=zv,w.xorWith=Bv,w.zip=Dv,w.zipObject=Pv,w.zipObjectDeep=Rv,w.zipWith=Wv,w.entries=ad,w.entriesIn=od,w.extend=nd,w.extendWith=is,Ka(w,w),w.add=D0,w.attempt=cd,w.camelCase=Oy,w.capitalize=ld,w.ceil=P0,w.clamp=Py,w.clone=Ew,w.cloneDeep=Lw,w.cloneDeepWith=zw,w.cloneWith=kw,w.conformsTo=Bw,w.deburr=ud,w.defaultTo=f0,w.divide=R0,w.endsWith=Ny,w.eq=Nt,w.escape=qy,w.escapeRegExp=Hy,w.every=Yv,w.find=Zv,w.findIndex=Du,w.findKey=uy,w.findLast=jv,w.findLastIndex=Pu,w.findLastKey=dy,w.floor=W0,w.forEach=Hu,w.forEachRight=Fu,w.forIn=cy,w.forInRight=hy,w.forOwn=fy,w.forOwnRight=my,w.get=qa,w.gt=Dw,w.gte=Pw,w.has=_y,w.hasIn=Ha,w.head=Wu,w.identity=mt,w.includes=iw,w.indexOf=jb,w.inRange=Ry,w.invoke=wy,w.isArguments=qi,w.isArray=he,w.isArrayBuffer=Rw,w.isArrayLike=ht,w.isArrayLikeObject=Fe,w.isBoolean=Ww,w.isBuffer=Ai,w.isDate=Ow,w.isElement=Nw,w.isEmpty=qw,w.isEqual=Hw,w.isEqualWith=Fw,w.isError=Oa,w.isFinite=Uw,w.isFunction=ai,w.isInteger=Zu,w.isLength=es,w.isMap=ju,w.isMatch=$w,w.isMatchWith=Kw,w.isNaN=Vw,w.isNative=Gw,w.isNil=Xw,w.isNull=Yw,w.isNumber=Ju,w.isObject=Oe,w.isObjectLike=Ne,w.isPlainObject=Vn,w.isRegExp=Na,w.isSafeInteger=Zw,w.isSet=Qu,w.isString=ts,w.isSymbol=vt,w.isTypedArray=cn,w.isUndefined=jw,w.isWeakMap=Jw,w.isWeakSet=Qw,w.join=iv,w.kebabCase=Fy,w.last=Lt,w.lastIndexOf=nv,w.lowerCase=Uy,w.lowerFirst=$y,w.lt=ey,w.lte=ty,w.max=O0,w.maxBy=N0,w.mean=q0,w.meanBy=H0,w.min=F0,w.minBy=U0,w.stubArray=Ga,w.stubFalse=Ya,w.stubObject=I0,w.stubString=E0,w.stubTrue=k0,w.multiply=$0,w.nth=rv,w.noConflict=w0,w.noop=Va,w.now=jr,w.pad=Ky,w.padEnd=Vy,w.padStart=Gy,w.parseInt=Yy,w.random=Wy,w.reduce=ow,w.reduceRight=lw,w.repeat=Xy,w.replace=Zy,w.result=Ay,w.round=K0,w.runInContext=L,w.sample=dw,w.size=fw,w.snakeCase=jy,w.some=mw,w.sortedIndex=cv,w.sortedIndexBy=hv,w.sortedIndexOf=fv,w.sortedLastIndex=mv,w.sortedLastIndexBy=pv,w.sortedLastIndexOf=gv,w.startCase=Qy,w.startsWith=e0,w.subtract=V0,w.sum=G0,w.sumBy=Y0,w.template=t0,w.times=L0,w.toFinite=oi,w.toInteger=fe,w.toLength=td,w.toLower=i0,w.toNumber=zt,w.toSafeInteger=iy,w.toString=Se,w.toUpper=n0,w.trim=r0,w.trimEnd=s0,w.trimStart=a0,w.truncate=o0,w.unescape=l0,w.uniqueId=B0,w.upperCase=u0,w.upperFirst=Fa,w.each=Hu,w.eachRight=Fu,w.first=Wu,Ka(w,(function(){var t={};return Kt(w,function(i,a){Ae.call(w.prototype,a)||(t[a]=i)}),t})(),{chain:!1}),w.VERSION=e,St(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){w[t].placeholder=w}),St(["drop","take"],function(t,i){we.prototype[t]=function(a){a=a===n?1:Ve(fe(a),0);var u=this.__filtered__&&!i?new we(this):this.clone();return u.__filtered__?u.__takeCount__=Qe(a,u.__takeCount__):u.__views__.push({size:Qe(a,be),type:t+(u.__dir__<0?"Right":"")}),u},we.prototype[t+"Right"]=function(a){return this.reverse()[t](a).reverse()}}),St(["filter","map","takeWhile"],function(t,i){var a=i+1,u=a==G||a==de;we.prototype[t]=function(f){var x=this.clone();return x.__iteratees__.push({iteratee:ae(f,3),type:a}),x.__filtered__=x.__filtered__||u,x}}),St(["head","last"],function(t,i){var a="take"+(i?"Right":"");we.prototype[t]=function(){return this[a](1).value()[0]}}),St(["initial","tail"],function(t,i){var a="drop"+(i?"":"Right");we.prototype[t]=function(){return this.__filtered__?new we(this):this[a](1)}}),we.prototype.compact=function(){return this.filter(mt)},we.prototype.find=function(t){return this.filter(t).head()},we.prototype.findLast=function(t){return this.reverse().find(t)},we.prototype.invokeMap=pe(function(t,i){return typeof t=="function"?new we(this):this.map(function(a){return qn(a,t,i)})}),we.prototype.reject=function(t){return this.filter(Qr(ae(t)))},we.prototype.slice=function(t,i){t=fe(t);var a=this;return a.__filtered__&&(t>0||i<0)?new we(a):(t<0?a=a.takeRight(-t):t&&(a=a.drop(t)),i!==n&&(i=fe(i),a=i<0?a.dropRight(-i):a.take(i-t)),a)},we.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},we.prototype.toArray=function(){return this.take(be)},Kt(we.prototype,function(t,i){var a=/^(?:filter|find|map|reject)|While$/.test(i),u=/^(?:head|last)$/.test(i),f=w[u?"take"+(i=="last"?"Right":""):i],x=u||/^find/.test(i);f&&(w.prototype[i]=function(){var T=this.__wrapped__,A=u?[1]:arguments,z=T instanceof we,F=A[0],$=z||he(T),V=function(ve){var ye=f.apply(w,vi([ve],A));return u&&ne?ye[0]:ye};$&&a&&typeof F=="function"&&F.length!=1&&(z=$=!1);var ne=this.__chain__,se=!!this.__actions__.length,oe=x&&!ne,me=z&&!se;if(!x&&$){T=me?T:new we(this);var le=t.apply(T,A);return le.__actions__.push({func:Xr,args:[V],thisArg:n}),new It(le,ne)}return oe&&me?t.apply(this,A):(le=this.thru(V),oe?u?le.value()[0]:le.value():le)})}),St(["pop","push","shift","sort","splice","unshift"],function(t){var i=yr[t],a=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",u=/^(?:pop|shift)$/.test(t);w.prototype[t]=function(){var f=arguments;if(u&&!this.__chain__){var x=this.value();return i.apply(he(x)?x:[],f)}return this[a](function(T){return i.apply(he(T)?T:[],f)})}}),Kt(we.prototype,function(t,i){var a=w[i];if(a){var u=a.name+"";Ae.call(an,u)||(an[u]=[]),an[u].push({name:i,func:a})}}),an[Fr(n,y).name]=[{name:"wrapper",func:n}],we.prototype.clone=l_,we.prototype.reverse=u_,we.prototype.value=d_,w.prototype.at=Nv,w.prototype.chain=qv,w.prototype.commit=Hv,w.prototype.next=Fv,w.prototype.plant=$v,w.prototype.reverse=Kv,w.prototype.toJSON=w.prototype.valueOf=w.prototype.value=Vv,w.prototype.first=w.prototype.head,Bn&&(w.prototype[Bn]=Uv),w}),yi=Hg();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ye._=yi,define(function(){return yi})):zi?((zi.exports=yi)._=yi,$s._=yi):Ye._=yi}).call(En)});var ci=Bt(ui());var fn=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 r of e)this.addLast(r)}push(e){this.addLast(e)}pop(){return this.removeLast()}shift(e){this.addFirst(e)}unshift(){return this.removeFirst()}addFirst(e){let r=new di.LinkedListNode(this,e);return this._first?(r.next=this._first,this._first.prev=r,this._first=r):(this._first=r,this._last=r),this._size++,r}addLast(e){let r=new di.LinkedListNode(this,e);return this._last?(r.prev=this._last,this._last.next=r,this._last=r):(this._first=r,this._last=r),this._size++,r}insertBefore(e,r){if(!r||r===this._first)return this.addFirst(e);if(!(r instanceof di.LinkedListNode)||r.list!==this)throw new Error("Reference node is not owned by the list.");let s=new di.LinkedListNode(this,e),o=r,l=o.prev;return s.next=o,s.prev=l,o.prev=s,l.next=s,this._size++,s}insertAfter(e,r){if(!r||r===this._last)return this.addLast(e);if(!(r instanceof di.LinkedListNode)||r.list!==this)throw new Error("Reference node is not owned by the list.");let s=new di.LinkedListNode(this,e),o=r,l=o.next;return s.next=l,s.prev=o,o.next=s,l.prev=s,this._size++,s}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 di.LinkedListNode)||e.list!==this)throw new Error("Node is not owned by the list.");let r=e;r===this._first&&r===this._last?(this._first=null,this._last=null):r===this._first?(this._first=r.next,this._first.prev=null):r===this._last?(this._last=r.prev,this._last.next=null):(r.next.prev=r.prev,r.prev.next=r.next),r.list=null,r.next=null,r.prev=null,this._size--}clear(){let e=this._first;for(;e;){let r=e.next;e.list=null,e.prev=null,e.next=null,e=r}this._first=null,this._last=null,this._size=0}};(function(n){function e(r){let s=new n;return s.assign(r),s}n.from=e})(fn||(fn={}));var di;(function(n){class e{constructor(s,o){this.list=null,this.next=null,this.prev=null,this.list=s,this.value=o}}n.LinkedListNode=e})(di||(di={}));var ot=class{constructor(e){this.type=e}get isConflatable(){return!1}conflate(e){return!1}},Ii=class extends ot{get isConflatable(){return!0}conflate(e){return!0}},X;(function(n){let e=null,r=(U=>J=>{let B=!1;return U.then(()=>!B&&J()),()=>{B=!0}})(Promise.resolve());function s(U,J){let B=v.get(U);if(!B||B.length===0){E(U,J);return}(0,ci.every)((0,ci.retro)(B),G=>G?C(G,U,J):!0)&&E(U,J)}n.sendMessage=s;function o(U,J){if(!J.isConflatable){I(U,J);return}(0,ci.some)(p,K=>K.handler!==U||!K.msg||K.msg.type!==J.type||!K.msg.isConflatable?!1:K.msg.conflate(J))||I(U,J)}n.postMessage=o;function l(U,J){let B=v.get(U);B&&B.indexOf(J)!==-1||(B?B.push(J):v.set(U,[J]))}n.installMessageHook=l;function c(U,J){let B=v.get(U);if(!B)return;let K=B.indexOf(J);K!==-1&&(B[K]=null,S(B))}n.removeMessageHook=c;function d(U){let J=v.get(U);J&&J.length>0&&(ci.ArrayExt.fill(J,null),S(J));for(let B of p)B.handler===U&&(B.handler=null,B.msg=null)}n.clearData=d;function h(){y||e===null||(e(),e=null,y=!0,M(),y=!1)}n.flush=h;function g(){return _}n.getExceptionHandler=g;function m(U){let J=_;return _=U,J}n.setExceptionHandler=m;let p=new fn,v=new WeakMap,b=new Set,_=U=>{console.error(U)},y=!1;function C(U,J,B){let K=!0;try{typeof U=="function"?K=U(J,B):K=U.messageHook(J,B)}catch(G){_(G)}return K}function E(U,J){try{U.processMessage(J)}catch(B){_(B)}}function I(U,J){p.addLast({handler:U,msg:J}),e===null&&(e=r(M))}function M(){if(e=null,p.isEmpty)return;let U={handler:null,msg:null};for(p.addLast(U);;){let J=p.removeFirst();if(J===U)return;J.handler&&J.msg&&s(J.handler,J.msg)}}function S(U){b.size===0&&r(k),b.add(U)}function k(){b.forEach(D),b.clear()}function D(U){ci.ArrayExt.removeAllWhere(U,H)}function H(U){return U===null}})(X||(X={}));var Z=Bt(ui()),mi=Bt(ss());var _d;(function(n){function e(r){let s=document.body,o=l=>{l.preventDefault(),l.stopPropagation(),l.clipboardData.setData("text",r),s.removeEventListener("copy",o,!0)};s.addEventListener("copy",o,!0),document.execCommand("copy")}n.copyText=e})(_d||(_d={}));var Ce;(function(n){function e(l){let c=window.getComputedStyle(l),d=parseFloat(c.borderTopWidth)||0,h=parseFloat(c.borderLeftWidth)||0,g=parseFloat(c.borderRightWidth)||0,m=parseFloat(c.borderBottomWidth)||0,p=parseFloat(c.paddingTop)||0,v=parseFloat(c.paddingLeft)||0,b=parseFloat(c.paddingRight)||0,_=parseFloat(c.paddingBottom)||0,y=h+v+b+g,C=d+p+_+m;return{borderTop:d,borderLeft:h,borderRight:g,borderBottom:m,paddingTop:p,paddingLeft:v,paddingRight:b,paddingBottom:_,horizontalSum:y,verticalSum:C}}n.boxSizing=e;function r(l){let c=window.getComputedStyle(l),d=parseFloat(c.minWidth)||0,h=parseFloat(c.minHeight)||0,g=parseFloat(c.maxWidth)||1/0,m=parseFloat(c.maxHeight)||1/0;return g=Math.max(d,g),m=Math.max(h,m),{minWidth:d,minHeight:h,maxWidth:g,maxHeight:m}}n.sizeLimits=r;function s(l,c,d){let h=l.getBoundingClientRect();return c>=h.left&&c<h.right&&d>=h.top&&d<h.bottom}n.hitTest=s;function o(l,c){let d=l.getBoundingClientRect(),h=c.getBoundingClientRect();if(!(h.top<=d.top&&h.bottom>=d.bottom)){if(h.top<d.top&&h.height<=d.height){l.scrollTop-=d.top-h.top;return}if(h.bottom>d.bottom&&h.height>=d.height){l.scrollTop-=d.top-h.top;return}if(h.top<d.top&&h.height>d.height){l.scrollTop-=d.bottom-h.bottom;return}if(h.bottom>d.bottom&&h.height<d.height){l.scrollTop-=d.bottom-h.bottom;return}}}n.scrollIntoViewIfNeeded=o})(Ce||(Ce={}));var tt;(function(n){n.IS_MAC=!!navigator.platform.match(/Mac/i),n.IS_WIN=!!navigator.platform.match(/Win/i),n.IS_IE=/Trident/.test(navigator.userAgent),n.IS_EDGE=/Edge/.test(navigator.userAgent);function e(r){return n.IS_MAC?r.metaKey:r.ctrlKey}n.accelKey=e})(tt||(tt={}));var Ft;(function(n){function e(o){if(o in Ht.specificityCache)return Ht.specificityCache[o];let l=Ht.calculateSingle(o);return Ht.specificityCache[o]=l}n.calculateSpecificity=e;function r(o){if(o in Ht.validityCache)return Ht.validityCache[o];let l=!0;try{Ht.testElem.querySelector(o)}catch{l=!1}return Ht.validityCache[o]=l}n.isValid=r;function s(o,l){return Ht.protoMatchFunc.call(o,l)}n.matches=s})(Ft||(Ft={}));var Ht;(function(n){n.specificityCache=Object.create(null),n.validityCache=Object.create(null),n.testElem=document.createElement("div"),n.protoMatchFunc=(()=>{let m=Element.prototype;return m.matches||m.matchesSelector||m.mozMatchesSelector||m.msMatchesSelector||m.oMatchesSelector||m.webkitMatchesSelector||function(p){let v=this,b=v.ownerDocument?v.ownerDocument.querySelectorAll(p):[];return Array.prototype.indexOf.call(b,v)!==-1}})();function e(m){m=m.split(",",1)[0];let p=0,v=0,b=0;function _(y){let C=m.match(y);return C===null?!1:(m=m.slice(C[0].length),!0)}for(m=m.replace(g," $1 ");m.length>0;){if(_(r)){p++;continue}if(_(s)){v++;continue}if(_(o)){v++;continue}if(_(c)){b++;continue}if(_(d)){v++;continue}if(_(l)){b++;continue}if(!_(h))return 0}return p=Math.min(p,255),v=Math.min(v,255),b=Math.min(b,255),p<<16|v<<8|b}n.calculateSingle=e;let r=/^#[^\s\+>~#\.\[:]+/,s=/^\.[^\s\+>~#\.\[:]+/,o=/^\[[^\]]+\]/,l=/^[^\s\+>~#\.\[:]+/,c=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,d=/^:[^\s\+>~#\.\[:]+/,h=/^[\s\+>~\*]+/,g=/:not\(([^\)]+)\)/g})(Ht||(Ht={}));var lt=class{constructor(e){this._pid=Hi.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 r,s=Hi.ensureMap(e);return this._pid in s?r=s[this._pid]:r=s[this._pid]=this._createValue(e),r}set(e,r){let s,o=Hi.ensureMap(e);this._pid in o?s=o[this._pid]:s=o[this._pid]=this._createValue(e);let l=this._coerceValue(e,r);this._maybeNotify(e,s,o[this._pid]=l)}coerce(e){let r,s=Hi.ensureMap(e);this._pid in s?r=s[this._pid]:r=s[this._pid]=this._createValue(e);let o=this._coerceValue(e,r);this._maybeNotify(e,r,s[this._pid]=o)}_createValue(e){let r=this._create;return r(e)}_coerceValue(e,r){let s=this._coerce;return s?s(e,r):r}_compareValue(e,r){let s=this._compare;return s?s(e,r):e===r}_maybeNotify(e,r,s){let o=this._changed;o&&!this._compareValue(r,s)&&o(e,r,s)}};(function(n){function e(r){Hi.ownerData.delete(r)}n.clearData=e})(lt||(lt={}));var Hi;(function(n){n.ownerData=new WeakMap,n.nextPID=(()=>{let r=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${r++}`})();function e(r){let s=n.ownerData.get(r);return s||(s=Object.create(null),n.ownerData.set(r,s),s)}n.ensureMap=e})(Hi||(Hi={}));var as=Bt(ui()),ix=Bt(ss()),Ie=class{constructor(e){this.sender=e}connect(e,r){return xt.connect(this,e,r)}disconnect(e,r){return xt.disconnect(this,e,r)}emit(e){xt.emit(this,e)}};(function(n){function e(h,g){xt.disconnectBetween(h,g)}n.disconnectBetween=e;function r(h){xt.disconnectSender(h)}n.disconnectSender=r;function s(h){xt.disconnectReceiver(h)}n.disconnectReceiver=s;function o(h){xt.disconnectAll(h)}n.disconnectAll=o;function l(h){xt.disconnectAll(h)}n.clearData=l;function c(){return xt.exceptionHandler}n.getExceptionHandler=c;function d(h){let g=xt.exceptionHandler;return xt.exceptionHandler=h,g}n.setExceptionHandler=d})(Ie||(Ie={}));var xt;(function(n){n.exceptionHandler=I=>{console.error(I)};function e(I,M,S){S=S||void 0;let k=h.get(I.sender);if(k||(k=[],h.set(I.sender,k)),v(k,I,M,S))return!1;let D=S||M,H=g.get(D);H||(H=[],g.set(D,H));let U={signal:I,slot:M,thisArg:S};return k.push(U),H.push(U),!0}n.connect=e;function r(I,M,S){S=S||void 0;let k=h.get(I.sender);if(!k||k.length===0)return!1;let D=v(k,I,M,S);if(!D)return!1;let H=S||M,U=g.get(H);return D.signal=null,_(k),_(U),!0}n.disconnect=r;function s(I,M){let S=h.get(I);if(!S||S.length===0)return;let k=g.get(M);if(!(!k||k.length===0)){for(let D of k)D.signal&&D.signal.sender===I&&(D.signal=null);_(S),_(k)}}n.disconnectBetween=s;function o(I){let M=h.get(I);if(!(!M||M.length===0)){for(let S of M){if(!S.signal)continue;let k=S.thisArg||S.slot;S.signal=null,_(g.get(k))}_(M)}}n.disconnectSender=o;function l(I){let M=g.get(I);if(!(!M||M.length===0)){for(let S of M){if(!S.signal)continue;let k=S.signal.sender;S.signal=null,_(h.get(k))}_(M)}}n.disconnectReceiver=l;function c(I){o(I),l(I)}n.disconnectAll=c;function d(I,M){let S=h.get(I.sender);if(!(!S||S.length===0))for(let k=0,D=S.length;k<D;++k){let H=S[k];H.signal===I&&b(H,M)}}n.emit=d;let h=new WeakMap,g=new WeakMap,m=new Set,p=typeof requestAnimationFrame=="function"?requestAnimationFrame:setImmediate;function v(I,M,S,k){return(0,as.find)(I,D=>D.signal===M&&D.slot===S&&D.thisArg===k)}function b(I,M){let{signal:S,slot:k,thisArg:D}=I;try{k.call(D,S.sender,M)}catch(H){n.exceptionHandler(H)}}function _(I){m.size===0&&p(y),m.add(I)}function y(){m.forEach(C),m.clear()}function C(I){as.ArrayExt.removeAllWhere(I,E)}function E(I){return I.signal===null}})(xt||(xt={}));var Ei=class{constructor(e){this._fn=e}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let e=this._fn;this._fn=null,e()}};var Gn=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(n){function e(r){let s=new n;for(let o of r)s.add(o);return s}n.from=e})(Gn||(Gn={}));var os=class extends Gn{constructor(){super(...arguments),this._disposed=new Ie(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),Ie.clearData(this))}};(function(n){function e(r){let s=new n;for(let o of r)s.add(o);return s}n.from=e})(os||(os={}));var ut=class n{constructor(e){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:r,edge:s,distance:o}=this._scrollTarget,l=it.SCROLL_EDGE_SIZE-o,c=Math.pow(l/it.SCROLL_EDGE_SIZE,2),d=Math.max(1,Math.round(c*it.SCROLL_EDGE_SIZE));switch(s){case"top":r.scrollTop-=d;break;case"left":r.scrollLeft-=d;break;case"right":r.scrollLeft+=d;break;case"bottom":r.scrollTop+=d;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});it.dispatchDragLeave(this,this._currentTarget,null,e)}this._finalize("none")}}get isDisposed(){return this._disposed}start(e,r){if(this._disposed)return Promise.resolve("none");if(this._promise)return this._promise;this._addListeners(),this._attachDragImage(e,r),this._promise=new Promise(o=>{this._resolve=o});let s=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:e,clientY:r});return document.dispatchEvent(s),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,r){if(!this.dragImage)return;let s=this.dragImage.style;s.transform=`translate(${e}px, ${r}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"){it.dispatchDragLeave(this,this._currentTarget,null,e),this._finalize("none");return}let r=it.dispatchDrop(this,this._currentTarget,e);this._finalize(r)}_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 r=it.findScrollTarget(e);!this._scrollTarget&&!r||(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=r)}_updateCurrentTarget(e){let r=this._currentTarget,s=this._currentTarget,o=this._currentElement,l=it.findElementBehindBackdrop(e,this.document);this._currentElement=l,l!==o&&l!==s&&it.dispatchDragExit(this,s,l,e),l!==o&&l!==s&&(s=it.dispatchDragEnter(this,l,s,e)),s!==r&&(this._currentTarget=s,it.dispatchDragLeave(this,r,s,e));let c=it.dispatchDragOver(this,s,e);this._setDropAction(c)}_attachDragImage(e,r){if(!this.dragImage)return;this.dragImage.classList.add("lm-mod-drag-image");let s=this.dragImage.style;s.pointerEvents="none",s.position="fixed",s.transform=`translate(${e}px, ${r}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=it.validateAction(e,this.supportedActions),!(this._override&&this._dropAction===e))switch(e){case"none":this._dropAction=e,this._override=n.overrideCursor("no-drop",this.document);break;case"copy":this._dropAction=e,this._override=n.overrideCursor("copy",this.document);break;case"link":this._dropAction=e,this._override=n.overrideCursor("alias",this.document);break;case"move":this._dropAction=e,this._override=n.overrideCursor("move",this.document);break}}_finalize(e){let r=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,r&&r(e)}};(function(n){class e extends DragEvent{constructor(o,l){super(l.type,{bubbles:!0,cancelable:!0,altKey:o.altKey,button:o.button,clientX:o.clientX,clientY:o.clientY,ctrlKey:o.ctrlKey,detail:0,metaKey:o.metaKey,relatedTarget:l.related,screenX:o.screenX,screenY:o.screenY,shiftKey:o.shiftKey,view:window});let{drag:c}=l;this.dropAction="none",this.mimeData=c.mimeData,this.proposedAction=c.proposedAction,this.supportedActions=c.supportedActions,this.source=c.source}}n.Event=e;function r(s,o=document){return it.overrideCursor(s,o)}n.overrideCursor=r})(ut||(ut={}));var it;(function(n){n.SCROLL_EDGE_SIZE=20;function e(S,k){return p[S]&v[k]?S:"none"}n.validateAction=e;function r(S,k=document){if(S){if(s&&S==s.event)return s.element;n.cursorBackdrop.style.zIndex="-1000";let D=k.elementFromPoint(S.clientX,S.clientY);return n.cursorBackdrop.style.zIndex="",s={event:S,element:D},D}else{let D=n.cursorBackdrop.style.transform;if(o&&D===o.transform)return o.element;let H=n.cursorBackdrop.getBoundingClientRect();n.cursorBackdrop.style.zIndex="-1000";let U=k.elementFromPoint(H.left+H.width/2,H.top+H.height/2);return n.cursorBackdrop.style.zIndex="",o={transform:D,element:U},U}}n.findElementBehindBackdrop=r;let s=null,o=null;function l(S){let k=S.clientX,D=S.clientY,H=r(S);for(;H;H=H.parentElement){if(!H.hasAttribute("data-lm-dragscroll"))continue;let U=0,J=0;H===document.body&&(U=window.pageXOffset,J=window.pageYOffset);let B=H.getBoundingClientRect(),K=B.top+J,G=B.left+U,Q=G+B.width,de=K+B.height;if(k<G||k>=Q||D<K||D>=de)continue;let ge=k-G+1,ue=D-K+1,xe=Q-k,Ee=de-D,be=Math.min(ge,ue,xe,Ee);if(be>n.SCROLL_EDGE_SIZE)continue;let ke;switch(be){case Ee:ke="bottom";break;case ue:ke="top";break;case xe:ke="right";break;case ge:ke="left";break;default:throw"unreachable"}let ze=H.scrollWidth-H.clientWidth,He=H.scrollHeight-H.clientHeight,Re;switch(ke){case"top":Re=He>0&&H.scrollTop>0;break;case"left":Re=ze>0&&H.scrollLeft>0;break;case"right":Re=ze>0&&H.scrollLeft<ze;break;case"bottom":Re=He>0&&H.scrollTop<He;break;default:throw"unreachable"}if(Re)return{element:H,edge:ke,distance:be}}return null}n.findScrollTarget=l;function c(S,k,D,H){if(!k)return null;let U=new ut.Event(H,{drag:S,related:D,type:"lm-dragenter"});if(!k.dispatchEvent(U))return k;let B=S.document instanceof Document?S.document.body:S.document.firstElementChild;return k===B?D:(U=new ut.Event(H,{drag:S,related:D,type:"lm-dragenter"}),B.dispatchEvent(U),B)}n.dispatchDragEnter=c;function d(S,k,D,H){if(!k)return;let U=new ut.Event(H,{drag:S,related:D,type:"lm-dragexit"});k.dispatchEvent(U)}n.dispatchDragExit=d;function h(S,k,D,H){if(!k)return;let U=new ut.Event(H,{drag:S,related:D,type:"lm-dragleave"});k.dispatchEvent(U)}n.dispatchDragLeave=h;function g(S,k,D){if(!k)return"none";let H=new ut.Event(D,{drag:S,related:null,type:"lm-dragover"});return k.dispatchEvent(H)?"none":H.dropAction}n.dispatchDragOver=g;function m(S,k,D){if(!k)return"none";let H=new ut.Event(D,{drag:S,related:null,type:"lm-drop"});return k.dispatchEvent(H)?"none":H.dropAction}n.dispatchDrop=m;let p={none:0,copy:1,link:2,move:4},v={none:p.none,copy:p.copy,link:p.link,move:p.move,"copy-link":p.copy|p.link,"copy-move":p.copy|p.move,"link-move":p.link|p.move,all:p.copy|p.link|p.move};function b(S,k=document){let D=++M,H=k instanceof Document?k.body:k.firstElementChild;return n.cursorBackdrop.isConnected||(n.cursorBackdrop.style.transform="scale(0)",H.appendChild(n.cursorBackdrop),C(),document.addEventListener("pointermove",_,{capture:!0,passive:!0}),n.cursorBackdrop.addEventListener("scroll",y,{capture:!0,passive:!0})),n.cursorBackdrop.style.cursor=S,new Ei(()=>{D===M&&n.cursorBackdrop.isConnected&&(document.removeEventListener("pointermove",_,!0),n.cursorBackdrop.removeEventListener("scroll",y,!0),H.removeChild(n.cursorBackdrop))})}n.overrideCursor=b;function _(S){n.cursorBackdrop&&(n.cursorBackdrop.style.transform=`translate(${S.clientX}px, ${S.clientY}px)`)}function y(S){if(!n.cursorBackdrop)return;let k=r();if(!k)return;let D=k.closest("[data-lm-dragscroll]");D&&(D.scrollTop+=n.cursorBackdrop.scrollTop-E,D.scrollLeft+=n.cursorBackdrop.scrollLeft-E,C())}function C(){n.cursorBackdrop.scrollTop=E,n.cursorBackdrop.scrollLeft=E}let E=500;function I(){let S=document.createElement("div");return S.classList.add("lm-cursor-backdrop"),S}let M=0;n.cursorBackdrop=I()})(it||(it={}));var bd=Bt(ui()),Je=Bt(ss());function mn(){return Xa.keyboardLayout}var Yn=class n{constructor(e,r,s=[]){this.name=e,this._codes=r,this._keys=n.extractKeys(r),this._modifierKeys=n.convertToKeySet(s)}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(n){function e(s){let o=Object.create(null);for(let l in s)o[s[l]]=!0;return o}n.extractKeys=e;function r(s){let o=Object(null);for(let l=0,c=s.length;l<c;++l)o[s[l]]=!0;return o}n.convertToKeySet=r})(Yn||(Yn={}));var nx=new Yn("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"]),Xa;(function(n){n.keyboardLayout=nx})(Xa||(Xa={}));var Mt=class n{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 Ie(this),this._commandExecuted=new Ie(this),this._keyBindingChanged=new Ie(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,r){if(this._commands.has(e))throw new Error(`Command '${e}' already registered.`);return this._commands.set(e,Ut.createCommand(r)),this._commandChanged.emit({id:e,type:"added"}),new Ei(()=>{this._commands.delete(e),this._commandChanged.emit({id:e,type:"removed"})})}notifyCommandChanged(e){if(e!==void 0&&!this._commands.has(e))throw new Error(`Command '${e}' is not registered.`);this._commandChanged.emit({id:e,type:e?"changed":"many-changed"})}describedBy(e,r=Je.JSONExt.emptyObject){var s;let o=this._commands.get(e);return Promise.resolve((s=o?.describedBy.call(void 0,r))!==null&&s!==void 0?s:{args:null})}label(e,r=Je.JSONExt.emptyObject){var s;let o=this._commands.get(e);return(s=o?.label.call(void 0,r))!==null&&s!==void 0?s:""}mnemonic(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.mnemonic.call(void 0,r):-1}icon(e,r=Je.JSONExt.emptyObject){var s;return(s=this._commands.get(e))===null||s===void 0?void 0:s.icon.call(void 0,r)}iconClass(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.iconClass.call(void 0,r):""}iconLabel(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.iconLabel.call(void 0,r):""}caption(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.caption.call(void 0,r):""}usage(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.usage.call(void 0,r):""}className(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.className.call(void 0,r):""}dataset(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.dataset.call(void 0,r):{}}isEnabled(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.isEnabled.call(void 0,r):!1}isToggled(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.isToggled.call(void 0,r):!1}isToggleable(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.isToggleable:!1}isVisible(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.isVisible.call(void 0,r):!1}execute(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);if(!s)return Promise.reject(new Error(`Command '${e}' not registered.`));let o;try{o=s.execute.call(void 0,r)}catch(c){o=Promise.reject(c)}let l=Promise.resolve(o);return this._commandExecuted.emit({id:e,args:r,result:l}),l}addKeyBinding(e){let r=Ut.createKeyBinding(e);return this._keyBindings.push(r),this._keyBindingChanged.emit({binding:r,type:"added"}),new Ei(()=>{bd.ArrayExt.removeFirstOf(this._keyBindings,r),this._keyBindingChanged.emit({binding:r,type:"removed"})})}processKeydownEvent(e){if(e.defaultPrevented||this._replaying)return;let r=n.keystrokeForKeydownEvent(e);if(!r){this._replayKeydownEvents(),this._clearPendingState();return}if(n.isModifierKeyPressed(e)){let{exact:c}=Ut.matchKeyBinding(this._keyBindings,[r],e);c?(e.preventDefault(),e.stopPropagation(),this._startModifierTimer(c)):this._clearModifierTimer();return}this._keystrokes.push(r);let{exact:s,partial:o}=Ut.matchKeyBinding(this._keyBindings,this._keystrokes,e),l=o.length!==0;if(!s&&!l){this._replayKeydownEvents(),this._clearPendingState();return}if((s?.preventDefault||o.some(c=>c.preventDefault))&&(e.preventDefault(),e.stopPropagation()),this._keydownEvents.push(e),s&&!l){this._executeKeyBinding(s),this._clearPendingState();return}s&&(this._exactKeyMatch=s),this._startTimer()}holdKeyBindingExecution(e,r){this._holdKeyBindingPromises.set(e,r)}processKeyupEvent(e){this._clearModifierTimer()}_startModifierTimer(e){this._clearModifierTimer(),this._timerModifierID=window.setTimeout(()=>{this._executeKeyBinding(e)},Ut.modifierkeyTimeOut)}_clearModifierTimer(){this._timerModifierID!==0&&(clearTimeout(this._timerModifierID),this._timerModifierID=0)}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout(()=>{this._onPendingTimeout()},Ut.CHORD_TIMEOUT)}_clearTimer(){this._timerID!==0&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){this._keydownEvents.length!==0&&(this._replaying=!0,this._keydownEvents.forEach(Ut.replayKeyEvent),this._replaying=!1)}async _executeKeyBinding(e){if(this._holdKeyBindingPromises.size!==0){let l=[...this._keydownEvents],c=(await Promise.race([Promise.all(l.map(async d=>{var h;return(h=this._holdKeyBindingPromises.get(d))!==null&&h!==void 0?h:Promise.resolve(!0)})),new Promise(d=>{setTimeout(()=>d([!1]),Ut.KEYBINDING_HOLD_TIMEOUT)})])).every(Boolean);if(this._holdKeyBindingPromises.clear(),!c)return}let{command:r,args:s}=e,o={_luminoEvent:{type:"keybinding",keys:e.keys},...s};if(!this.hasCommand(r)||!this.isEnabled(r,o)){let l=this.hasCommand(r)?"enabled":"registered",d=`Cannot execute key binding '${e.keys.join(", ")}':`,h=`command '${r}' is not ${l}.`;console.warn(`${d} ${h}`);return}await this.execute(r,o)}_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(n){function e(d){let h="",g=!1,m=!1,p=!1,v=!1;for(let b of d.split(/\s+/))b==="Accel"?tt.IS_MAC?m=!0:p=!0:b==="Alt"?g=!0:b==="Cmd"?m=!0:b==="Ctrl"?p=!0:b==="Shift"?v=!0:b.length>0&&(h=b);return{cmd:m,ctrl:p,alt:g,shift:v,key:h}}n.parseKeystroke=e;function r(d){let h="",g=e(d);return g.ctrl&&(h+="Ctrl "),g.alt&&(h+="Alt "),g.shift&&(h+="Shift "),g.cmd&&tt.IS_MAC&&(h+="Cmd "),g.key?h+g.key:h.trim()}n.normalizeKeystroke=r;function s(d){let h;return tt.IS_WIN?h=d.winKeys||d.keys:tt.IS_MAC?h=d.macKeys||d.keys:h=d.linuxKeys||d.keys,h.map(r)}n.normalizeKeys=s;function o(d){return typeof d=="string"?h(d):d.map(h).join(", ");function h(g){let m=[],p=tt.IS_MAC?" ":"+",v=e(g);return v.ctrl&&m.push("Ctrl"),v.alt&&m.push("Alt"),v.shift&&m.push("Shift"),tt.IS_MAC&&v.cmd&&m.push("Cmd"),m.push(v.key),m.map(Ut.formatKey).join(p)}}n.formatKeystroke=o;function l(d){let h=mn(),g=h.keyForKeydownEvent(d);return h.isModifierKey(g)}n.isModifierKeyPressed=l;function c(d){let h=mn(),g=h.keyForKeydownEvent(d),m=[];return d.ctrlKey&&m.push("Ctrl"),d.altKey&&m.push("Alt"),d.shiftKey&&m.push("Shift"),d.metaKey&&tt.IS_MAC&&m.push("Cmd"),h.isModifierKey(g)||m.push(g),m.join(" ")}n.keystrokeForKeydownEvent=c})(Mt||(Mt={}));var Ut;(function(n){n.CHORD_TIMEOUT=1e3,n.KEYBINDING_HOLD_TIMEOUT=1e3,n.modifierkeyTimeOut=500;function e(M){return{execute:M.execute,describedBy:_(typeof M.describedBy=="function"?M.describedBy:{args:null,...M.describedBy},()=>({args:null})),label:_(M.label,h),mnemonic:_(M.mnemonic,g),icon:_(M.icon,b),iconClass:_(M.iconClass,h),iconLabel:_(M.iconLabel,h),caption:_(M.caption,h),usage:_(M.usage,h),className:_(M.className,h),dataset:_(M.dataset,v),isEnabled:M.isEnabled||m,isToggled:M.isToggled||p,isToggleable:M.isToggleable||!!M.isToggled,isVisible:M.isVisible||m}}n.createCommand=e;function r(M){var S;return{keys:Mt.normalizeKeys(M),selector:y(M),command:M.command,args:M.args||Je.JSONExt.emptyObject,preventDefault:(S=M.preventDefault)!==null&&S!==void 0?S:!0}}n.createKeyBinding=r;function s(M,S,k){let D=null,H=[],U=1/0,J=0;for(let B=0,K=M.length;B<K;++B){let G=M[B],Q=C(G.keys,S);if(Q===0)continue;if(Q===2){E(G.selector,k)!==-1&&H.push(G);continue}let de=E(G.selector,k);if(de===-1||de>U)continue;let ge=Ft.calculateSpecificity(G.selector);(!D||de<U||ge>=J)&&(D=G,U=de,J=ge)}return{exact:D,partial:H}}n.matchKeyBinding=s;function o(M){M.target.dispatchEvent(I(M))}n.replayKeyEvent=o;function l(M){return tt.IS_MAC?c.hasOwnProperty(M)?c[M]:M:d.hasOwnProperty(M)?d[M]:M}n.formatKey=l;let c={Backspace:"\u232B",Tab:"\u21E5",Enter:"\u23CE",Shift:"\u21E7",Ctrl:"\u2303",Alt:"\u2325",Escape:"\u238B",PageUp:"\u21DE",PageDown:"\u21DF",End:"\u2198",Home:"\u2196",ArrowLeft:"\u2190",ArrowUp:"\u2191",ArrowRight:"\u2192",ArrowDown:"\u2193",Delete:"\u2326",Cmd:"\u2318"},d={Escape:"Esc",PageUp:"Page Up",PageDown:"Page Down",ArrowLeft:"Left",ArrowUp:"Up",ArrowRight:"Right",ArrowDown:"Down",Delete:"Del"},h=()=>"",g=()=>-1,m=()=>!0,p=()=>!1,v=()=>({}),b=()=>{};function _(M,S){return M===void 0?S:typeof M=="function"?M:()=>M}function y(M){if(M.selector.indexOf(",")!==-1)throw new Error(`Selector cannot contain commas: ${M.selector}`);if(!Ft.isValid(M.selector))throw new Error(`Invalid selector: ${M.selector}`);return M.selector}function C(M,S){if(M.length<S.length)return 0;for(let k=0,D=S.length;k<D;++k)if(M[k]!==S[k])return 0;return M.length>S.length?2:1}function E(M,S){let k=S.target,D=S.currentTarget;for(let H=0;k!==null;k=k.parentElement,++H){if(k.hasAttribute("data-lm-suppress-shortcuts"))return-1;if(Ft.matches(k,M))return H;if(k===D)return-1}return-1}function I(M){let S=document.createEvent("Event"),k=M.bubbles||!0,D=M.cancelable||!0;return S.initEvent(M.type||"keydown",k,D),S.key=M.key||"",S.keyCode=M.keyCode||0,S.which=M.keyCode||0,S.ctrlKey=M.ctrlKey||!1,S.altKey=M.altKey||!1,S.shiftKey=M.shiftKey||!1,S.metaKey=M.metaKey||!1,S.view=M.view||window,S}})(Ut||(Ut={}));var pn=Bt(ui()),gn=class{constructor(e){this.type="text",this.content=e}},Xn=class{constructor(e,r,s,o){this.type="element",this.tag=e,this.attrs=r,this.children=s,this.renderer=o}};function _e(n){let e={},r,s=[];for(let l=1,c=arguments.length;l<c;++l){let d=arguments[l];typeof d=="string"?s.push(new gn(d)):d instanceof gn||d instanceof Xn?s.push(d):d instanceof Array?o(s,d):(l===1||l===2)&&d&&typeof d=="object"&&("render"in d?r=d:e=d)}return new Xn(n,e,s,r);function o(l,c){for(let d of c)typeof d=="string"?l.push(new gn(d)):(d instanceof gn||d instanceof Xn)&&l.push(d)}}(function(n){n.a=n.bind(void 0,"a"),n.abbr=n.bind(void 0,"abbr"),n.address=n.bind(void 0,"address"),n.area=n.bind(void 0,"area"),n.article=n.bind(void 0,"article"),n.aside=n.bind(void 0,"aside"),n.audio=n.bind(void 0,"audio"),n.b=n.bind(void 0,"b"),n.bdi=n.bind(void 0,"bdi"),n.bdo=n.bind(void 0,"bdo"),n.blockquote=n.bind(void 0,"blockquote"),n.br=n.bind(void 0,"br"),n.button=n.bind(void 0,"button"),n.canvas=n.bind(void 0,"canvas"),n.caption=n.bind(void 0,"caption"),n.cite=n.bind(void 0,"cite"),n.code=n.bind(void 0,"code"),n.col=n.bind(void 0,"col"),n.colgroup=n.bind(void 0,"colgroup"),n.data=n.bind(void 0,"data"),n.datalist=n.bind(void 0,"datalist"),n.dd=n.bind(void 0,"dd"),n.del=n.bind(void 0,"del"),n.dfn=n.bind(void 0,"dfn"),n.div=n.bind(void 0,"div"),n.dl=n.bind(void 0,"dl"),n.dt=n.bind(void 0,"dt"),n.em=n.bind(void 0,"em"),n.embed=n.bind(void 0,"embed"),n.fieldset=n.bind(void 0,"fieldset"),n.figcaption=n.bind(void 0,"figcaption"),n.figure=n.bind(void 0,"figure"),n.footer=n.bind(void 0,"footer"),n.form=n.bind(void 0,"form"),n.h1=n.bind(void 0,"h1"),n.h2=n.bind(void 0,"h2"),n.h3=n.bind(void 0,"h3"),n.h4=n.bind(void 0,"h4"),n.h5=n.bind(void 0,"h5"),n.h6=n.bind(void 0,"h6"),n.header=n.bind(void 0,"header"),n.hr=n.bind(void 0,"hr"),n.i=n.bind(void 0,"i"),n.iframe=n.bind(void 0,"iframe"),n.img=n.bind(void 0,"img"),n.input=n.bind(void 0,"input"),n.ins=n.bind(void 0,"ins"),n.kbd=n.bind(void 0,"kbd"),n.label=n.bind(void 0,"label"),n.legend=n.bind(void 0,"legend"),n.li=n.bind(void 0,"li"),n.main=n.bind(void 0,"main"),n.map=n.bind(void 0,"map"),n.mark=n.bind(void 0,"mark"),n.meter=n.bind(void 0,"meter"),n.nav=n.bind(void 0,"nav"),n.noscript=n.bind(void 0,"noscript"),n.object=n.bind(void 0,"object"),n.ol=n.bind(void 0,"ol"),n.optgroup=n.bind(void 0,"optgroup"),n.option=n.bind(void 0,"option"),n.output=n.bind(void 0,"output"),n.p=n.bind(void 0,"p"),n.param=n.bind(void 0,"param"),n.pre=n.bind(void 0,"pre"),n.progress=n.bind(void 0,"progress"),n.q=n.bind(void 0,"q"),n.rp=n.bind(void 0,"rp"),n.rt=n.bind(void 0,"rt"),n.ruby=n.bind(void 0,"ruby"),n.s=n.bind(void 0,"s"),n.samp=n.bind(void 0,"samp"),n.section=n.bind(void 0,"section"),n.select=n.bind(void 0,"select"),n.small=n.bind(void 0,"small"),n.source=n.bind(void 0,"source"),n.span=n.bind(void 0,"span"),n.strong=n.bind(void 0,"strong"),n.sub=n.bind(void 0,"sub"),n.summary=n.bind(void 0,"summary"),n.sup=n.bind(void 0,"sup"),n.table=n.bind(void 0,"table"),n.tbody=n.bind(void 0,"tbody"),n.td=n.bind(void 0,"td"),n.textarea=n.bind(void 0,"textarea"),n.tfoot=n.bind(void 0,"tfoot"),n.th=n.bind(void 0,"th"),n.thead=n.bind(void 0,"thead"),n.time=n.bind(void 0,"time"),n.title=n.bind(void 0,"title"),n.tr=n.bind(void 0,"tr"),n.track=n.bind(void 0,"track"),n.u=n.bind(void 0,"u"),n.ul=n.bind(void 0,"ul"),n.var_=n.bind(void 0,"var"),n.video=n.bind(void 0,"video"),n.wbr=n.bind(void 0,"wbr")})(_e||(_e={}));var Dt;(function(n){function e(s){return Fi.createDOMNode(s)}n.realize=e;function r(s,o){let l=Fi.hostMap.get(o)||[],c=Fi.asContentArray(s);Fi.hostMap.set(o,c),Fi.updateContent(o,l,c)}n.render=r})(Dt||(Dt={}));var Fi;(function(n){n.hostMap=new WeakMap;function e(b){return b?b instanceof Array?b:[b]:[]}n.asContentArray=e;function r(b){let _=arguments[1]||null,y=arguments[2]||null;if(_)_.insertBefore(r(b),y);else{if(b.type==="text")return document.createTextNode(b.content);if(_=document.createElement(b.tag),c(_,b.attrs),b.renderer)return b.renderer.render(_,{attrs:b.attrs,children:b.children}),_;for(let C=0,E=b.children.length;C<E;++C)r(b.children[C],_)}return _}n.createDOMNode=r;function s(b,_,y){if(_===y)return;let C=v(b,_),E=_.slice(),I=b.firstChild,M=y.length;for(let S=0;S<M;++S){if(S>=E.length){r(y[S],b);continue}let k=E[S],D=y[S];if(k===D){I=I.nextSibling;continue}if(k.type==="text"&&D.type==="text"){I.textContent!==D.content&&(I.textContent=D.content),I=I.nextSibling;continue}if(k.type==="text"||D.type==="text"){pn.ArrayExt.insert(E,S,D),r(D,b,I);continue}if(!k.renderer!=!D.renderer){pn.ArrayExt.insert(E,S,D),r(D,b,I);continue}let H=D.attrs.key;if(H&&H in C){let J=C[H];J.vNode!==k&&(pn.ArrayExt.move(E,E.indexOf(J.vNode,S+1),S),b.insertBefore(J.element,I),k=J.vNode,I=J.element)}if(k===D){I=I.nextSibling;continue}let U=k.attrs.key;if(U&&U!==H){pn.ArrayExt.insert(E,S,D),r(D,b,I);continue}if(k.tag!==D.tag){pn.ArrayExt.insert(E,S,D),r(D,b,I);continue}d(I,k.attrs,D.attrs),D.renderer?D.renderer.render(I,{attrs:D.attrs,children:D.children}):s(I,k.children,D.children),I=I.nextSibling}o(b,E,M,!0)}n.updateContent=s;function o(b,_,y,C){for(let E=_.length-1;E>=y;--E){let I=_[E],M=C?b.lastChild:b.childNodes[E];I.type==="text"||(I.renderer&&I.renderer.unrender?I.renderer.unrender(M,{attrs:I.attrs,children:I.children}):o(M,I.children,0,!1)),C&&b.removeChild(M)}}let l={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function c(b,_){for(let y in _)y in l||(y.substr(0,2)==="on"?b[y]=_[y]:b.setAttribute(y,_[y]));_.className!==void 0&&b.setAttribute("class",_.className),_.htmlFor!==void 0&&b.setAttribute("for",_.htmlFor),_.dataset&&h(b,_.dataset),_.style&&m(b,_.style)}function d(b,_,y){if(_===y)return;let C;for(C in _)C in l||C in y||(C.substr(0,2)==="on"?b[C]=null:b.removeAttribute(C));for(C in y)C in l||_[C]===y[C]||(C.substr(0,2)==="on"?b[C]=y[C]:b.setAttribute(C,y[C]));_.className!==y.className&&(y.className!==void 0?b.setAttribute("class",y.className):b.removeAttribute("class")),_.htmlFor!==y.htmlFor&&(y.htmlFor!==void 0?b.setAttribute("for",y.htmlFor):b.removeAttribute("for")),_.dataset!==y.dataset&&g(b,_.dataset||{},y.dataset||{}),_.style!==y.style&&p(b,_.style||{},y.style||{})}function h(b,_){for(let y in _)b.setAttribute(`data-${y}`,_[y])}function g(b,_,y){for(let C in _)C in y||b.removeAttribute(`data-${C}`);for(let C in y)_[C]!==y[C]&&b.setAttribute(`data-${C}`,y[C])}function m(b,_){let y=b.style,C;for(C in _)y[C]=_[C]}function p(b,_,y){let C=b.style,E;for(E in _)E in y||(C[E]="");for(E in y)_[E]!==y[E]&&(C[E]=y[E])}function v(b,_){let y=b.firstChild,C=Object.create(null);for(let E of _)E.type==="element"&&E.attrs.key&&(C[E.attrs.key]={vNode:E,element:y}),y=y.nextSibling;return C}})(Fi||(Fi={}));var Xt=class{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}},Ct;(function(n){function e(l,c){let d=l.length;if(d===0)return c;let h=0,g=0,m=0,p=0,v=0;for(let y=0;y<d;++y){let C=l[y],E=C.minSize,I=C.maxSize,M=C.sizeHint;C.done=!1,C.size=Math.max(E,Math.min(M,I)),m+=C.size,h+=E,g+=I,C.stretch>0&&(p+=C.stretch,v++)}if(c===m)return 0;if(c<=h){for(let y=0;y<d;++y){let C=l[y];C.size=C.minSize}return c-h}if(c>=g){for(let y=0;y<d;++y){let C=l[y];C.size=C.maxSize}return c-g}let b=.01,_=d;if(c<m){let y=m-c;for(;v>0&&y>b;){let C=y,E=p;for(let I=0;I<d;++I){let M=l[I];if(M.done||M.stretch===0)continue;let S=M.stretch*C/E;M.size-S<=M.minSize?(y-=M.size-M.minSize,p-=M.stretch,M.size=M.minSize,M.done=!0,_--,v--):(y-=S,M.size-=S)}}for(;_>0&&y>b;){let C=y/_;for(let E=0;E<d;++E){let I=l[E];I.done||(I.size-C<=I.minSize?(y-=I.size-I.minSize,I.size=I.minSize,I.done=!0,_--):(y-=C,I.size-=C))}}}else{let y=c-m;for(;v>0&&y>b;){let C=y,E=p;for(let I=0;I<d;++I){let M=l[I];if(M.done||M.stretch===0)continue;let S=M.stretch*C/E;M.size+S>=M.maxSize?(y-=M.maxSize-M.size,p-=M.stretch,M.size=M.maxSize,M.done=!0,_--,v--):(y-=S,M.size+=S)}}for(;_>0&&y>b;){let C=y/_;for(let E=0;E<d;++E){let I=l[E];I.done||(I.size+C>=I.maxSize?(y-=I.maxSize-I.size,I.size=I.maxSize,I.done=!0,_--):(y-=C,I.size+=C))}}}return 0}n.calc=e;function r(l,c,d){l.length===0||d===0||(d>0?s(l,c,d):o(l,c,-d))}n.adjust=r;function s(l,c,d){let h=0;for(let v=0;v<=c;++v){let b=l[v];h+=b.maxSize-b.size}let g=0;for(let v=c+1,b=l.length;v<b;++v){let _=l[v];g+=_.size-_.minSize}d=Math.min(d,h,g);let m=d;for(let v=c;v>=0&&m>0;--v){let b=l[v],_=b.maxSize-b.size;_>=m?(b.sizeHint=b.size+m,m=0):(b.sizeHint=b.size+_,m-=_)}let p=d;for(let v=c+1,b=l.length;v<b&&p>0;++v){let _=l[v],y=_.size-_.minSize;y>=p?(_.sizeHint=_.size-p,p=0):(_.sizeHint=_.size-y,p-=y)}}function o(l,c,d){let h=0;for(let v=c+1,b=l.length;v<b;++v){let _=l[v];h+=_.maxSize-_.size}let g=0;for(let v=0;v<=c;++v){let b=l[v];g+=b.size-b.minSize}d=Math.min(d,h,g);let m=d;for(let v=c+1,b=l.length;v<b&&m>0;++v){let _=l[v],y=_.maxSize-_.size;y>=m?(_.sizeHint=_.size+m,m=0):(_.sizeHint=_.size+y,m-=y)}let p=d;for(let v=c;v>=0&&p>0;--v){let b=l[v],_=b.size-b.minSize;_>=p?(b.sizeHint=b.size-p,p=0):(b.sizeHint=b.size-_,p-=_)}}})(Ct||(Ct={}));var Zn=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 Ie(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,Ie.clearData(this))}},j=class n{constructor(e={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new Ie(this),this._hiddenMode=n.HiddenMode.Display,this.node=ls.createNode(e),this.addClass("lm-Widget")}dispose(){this.isDisposed||(this.setFlag(n.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&&n.detach(this),this._layout&&(this._layout.dispose(),this._layout=null),this.title.dispose(),Ie.clearData(this),X.clearData(this),lt.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(n.Flag.IsDisposed)}get isAttached(){return this.testFlag(n.Flag.IsAttached)}get isHidden(){return this.testFlag(n.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 ls.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==n.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 r=new n.ChildMessage("child-removed",this);X.sendMessage(this._parent,r)}if(this._parent=e,this._parent&&!this._parent.isDisposed){let r=new n.ChildMessage("child-added",this);X.sendMessage(this._parent,r)}this.isDisposed||X.sendMessage(this,n.Msg.ParentChanged)}}get layout(){return this._layout}set layout(e){if(this._layout!==e){if(this.testFlag(n.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 r=e;r;r=r._parent)if(r===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,r){return r===!0?(this.node.classList.add(e),!0):r===!1?(this.node.classList.remove(e),!1):this.node.classList.toggle(e)}update(){X.postMessage(this,n.Msg.UpdateRequest)}fit(){X.postMessage(this,n.Msg.FitRequest)}activate(){X.postMessage(this,n.Msg.ActivateRequest)}close(){X.sendMessage(this,n.Msg.CloseRequest)}show(){if(this.testFlag(n.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&X.sendMessage(this,n.Msg.BeforeShow),this.clearFlag(n.Flag.IsHidden),this._toggleHidden(!1),this.isAttached&&(!this.parent||this.parent.isVisible)&&X.sendMessage(this,n.Msg.AfterShow),this.parent)){let e=new n.ChildMessage("child-shown",this);X.sendMessage(this.parent,e)}}hide(){if(!this.testFlag(n.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&X.sendMessage(this,n.Msg.BeforeHide),this.setFlag(n.Flag.IsHidden),this._toggleHidden(!0),this.isAttached&&(!this.parent||this.parent.isVisible)&&X.sendMessage(this,n.Msg.AfterHide),this.parent)){let e=new n.ChildMessage("child-hidden",this);X.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(n.Flag.IsVisible),this.notifyLayout(e),this.onAfterShow(e);break;case"before-hide":this.notifyLayout(e),this.onBeforeHide(e);break;case"after-hide":this.clearFlag(n.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(n.Flag.IsVisible),this.setFlag(n.Flag.IsAttached),this.notifyLayout(e),this.onAfterAttach(e);break;case"before-detach":this.notifyLayout(e),this.onBeforeDetach(e);break;case"after-detach":this.clearFlag(n.Flag.IsVisible),this.clearFlag(n.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&&n.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 n.HiddenMode.Display:this.addClass("lm-mod-hidden");break;case n.HiddenMode.Scale:this.node.style.transform="scale(0)",this.node.setAttribute("aria-hidden","true");break;case n.HiddenMode.ContentVisibility:this.node.style.contentVisibility="hidden",this.node.style.zIndex="-1";break}else switch(this._hiddenMode){case n.HiddenMode.Display:this.removeClass("lm-mod-hidden");break;case n.HiddenMode.Scale:this.node.style.transform="",this.node.removeAttribute("aria-hidden");break;case n.HiddenMode.ContentVisibility:this.node.style.contentVisibility="",this.node.style.zIndex="";break}}};(function(n){(function(l){l[l.Display=0]="Display",l[l.Scale=1]="Scale",l[l.ContentVisibility=2]="ContentVisibility"})(n.HiddenMode||(n.HiddenMode={})),(function(l){l[l.IsDisposed=1]="IsDisposed",l[l.IsAttached=2]="IsAttached",l[l.IsHidden=4]="IsHidden",l[l.IsVisible=8]="IsVisible",l[l.DisallowLayout=16]="DisallowLayout"})(n.Flag||(n.Flag={})),(function(l){l.BeforeShow=new ot("before-show"),l.AfterShow=new ot("after-show"),l.BeforeHide=new ot("before-hide"),l.AfterHide=new ot("after-hide"),l.BeforeAttach=new ot("before-attach"),l.AfterAttach=new ot("after-attach"),l.BeforeDetach=new ot("before-detach"),l.AfterDetach=new ot("after-detach"),l.ParentChanged=new ot("parent-changed"),l.UpdateRequest=new Ii("update-request"),l.FitRequest=new Ii("fit-request"),l.ActivateRequest=new Ii("activate-request"),l.CloseRequest=new Ii("close-request")})(n.Msg||(n.Msg={}));class e extends ot{constructor(c,d){super(c),this.child=d}}n.ChildMessage=e;class r extends ot{constructor(c,d){super("resize"),this.width=c,this.height=d}}n.ResizeMessage=r,(function(l){l.UnknownSize=new l(-1,-1)})(r=n.ResizeMessage||(n.ResizeMessage={}));function s(l,c,d=null){if(l.parent)throw new Error("Cannot attach a child widget.");if(l.isAttached||l.node.isConnected)throw new Error("Widget is already attached.");if(!c.isConnected)throw new Error("Host is not attached.");X.sendMessage(l,n.Msg.BeforeAttach),c.insertBefore(l.node,d),X.sendMessage(l,n.Msg.AfterAttach)}n.attach=s;function o(l){if(l.parent)throw new Error("Cannot detach a child widget.");if(!l.isAttached||!l.node.isConnected)throw new Error("Widget is not attached.");X.sendMessage(l,n.Msg.BeforeDetach),l.node.parentNode.removeChild(l.node),X.sendMessage(l,n.Msg.AfterDetach)}n.detach=o})(j||(j={}));var ls;(function(n){n.titleProperty=new lt({name:"title",create:r=>new Zn({owner:r})});function e(r){return r.node||document.createElement(r.tag||"div")}n.createNode=e})(ls||(ls={}));var pi=class{constructor(e={}){this._disposed=!1,this._parent=null,this._fitPolicy=e.fitPolicy||"set-min-size"}dispose(){this._parent=null,this._disposed=!0,Ie.clearData(this),lt.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 r=this._parent.node.style;r.minWidth="",r.minHeight="",r.maxWidth="",r.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 r of this)X.sendMessage(r,j.ResizeMessage.UnknownSize)}onUpdateRequest(e){for(let r of this)X.sendMessage(r,j.ResizeMessage.UnknownSize)}onBeforeAttach(e){for(let r of this)X.sendMessage(r,e)}onAfterAttach(e){for(let r of this)X.sendMessage(r,e)}onBeforeDetach(e){for(let r of this)X.sendMessage(r,e)}onAfterDetach(e){for(let r of this)X.sendMessage(r,e)}onBeforeShow(e){for(let r of this)r.isHidden||X.sendMessage(r,e)}onAfterShow(e){for(let r of this)r.isHidden||X.sendMessage(r,e)}onBeforeHide(e){for(let r of this)r.isHidden||X.sendMessage(r,e)}onAfterHide(e){for(let r of this)r.isHidden||X.sendMessage(r,e)}onChildRemoved(e){this.removeWidget(e.child)}onFitRequest(e){}onChildShown(e){}onChildHidden(e){}};(function(n){function e(l){return _n.horizontalAlignmentProperty.get(l)}n.getHorizontalAlignment=e;function r(l,c){_n.horizontalAlignmentProperty.set(l,c)}n.setHorizontalAlignment=r;function s(l){return _n.verticalAlignmentProperty.get(l)}n.getVerticalAlignment=s;function o(l,c){_n.verticalAlignmentProperty.set(l,c)}n.setVerticalAlignment=o})(pi||(pi={}));var $i=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=Ce.sizeLimits(this.widget.node);this._minWidth=e.minWidth,this._minHeight=e.minHeight,this._maxWidth=e.maxWidth,this._maxHeight=e.maxHeight}update(e,r,s,o){let l=Math.max(this._minWidth,Math.min(s,this._maxWidth)),c=Math.max(this._minHeight,Math.min(o,this._maxHeight));if(l<s)switch(pi.getHorizontalAlignment(this.widget)){case"left":break;case"center":e+=(s-l)/2;break;case"right":e+=s-l;break;default:throw"unreachable"}if(c<o)switch(pi.getVerticalAlignment(this.widget)){case"top":break;case"center":r+=(o-c)/2;break;case"bottom":r+=o-c;break;default:throw"unreachable"}let d=!1,h=this.widget.node.style;if(this._top!==r&&(this._top=r,h.top=`${r}px`),this._left!==e&&(this._left=e,h.left=`${e}px`),this._width!==l&&(d=!0,this._width=l,h.width=`${l}px`),this._height!==c&&(d=!0,this._height=c,h.height=`${c}px`),d){let g=new j.ResizeMessage(l,c);X.sendMessage(this.widget,g)}}},_n;(function(n){n.horizontalAlignmentProperty=new lt({name:"horizontalAlignment",create:()=>"center",changed:e}),n.verticalAlignmentProperty=new lt({name:"verticalAlignment",create:()=>"top",changed:e});function e(r){r.parent&&r.parent.layout&&r.parent.update()}})(_n||(_n={}));var bn=class extends pi{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,r){r.parent=this.parent;let s=this._widgets.indexOf(r),o=Math.max(0,Math.min(e,this._widgets.length));if(s===-1){Z.ArrayExt.insert(this._widgets,o,r),this.parent&&this.attachWidget(o,r);return}o===this._widgets.length&&o--,s!==o&&(Z.ArrayExt.move(this._widgets,s,o),this.parent&&this.moveWidget(s,o,r))}removeWidget(e){this.removeWidgetAt(this._widgets.indexOf(e))}removeWidgetAt(e){let r=Z.ArrayExt.removeAt(this._widgets,e);r&&this.parent&&this.detachWidget(e,r)}init(){super.init();let e=0;for(let r of this)this.attachWidget(e++,r)}attachWidget(e,r){let s=this.parent.node.children[e];this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeAttach),this.parent.node.insertBefore(r.node,s),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterAttach)}moveWidget(e,r,s){this.parent.isAttached&&X.sendMessage(s,j.Msg.BeforeDetach),this.parent.node.removeChild(s.node),this.parent.isAttached&&X.sendMessage(s,j.Msg.AfterDetach);let o=this.parent.node.children[r];this.parent.isAttached&&X.sendMessage(s,j.Msg.BeforeAttach),this.parent.node.insertBefore(s.node,o),this.parent.isAttached&&X.sendMessage(s,j.Msg.AfterAttach)}detachWidget(e,r){this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeDetach),this.parent.node.removeChild(r.node),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterDetach)}},jn;(function(n){function e(r){return Math.max(0,Math.floor(r))}n.clampDimension=e})(jn||(jn={}));var Jn=jn,gi=class n extends bn{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=jn.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=jn.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 fi.normalize(this._sizers.map(e=>e.size))}setRelativeSizes(e,r=!0){let s=this._sizers.length,o=e.slice(0,s);for(;o.length<s;)o.push(0);let l=fi.normalize(o);for(let c=0;c<s;++c){let d=this._sizers[c];d.sizeHint=l[c],d.size=l[c]}this._hasNormedSizes=!0,r&&this.parent&&this.parent.update()}moveHandle(e,r){let s=this._handles[e];if(!s||s.classList.contains("lm-mod-hidden"))return;let o;if(this._orientation==="horizontal"?o=r-s.offsetLeft:o=r-s.offsetTop,o!==0){for(let l of this._sizers)l.size>0&&(l.sizeHint=l.size);Ct.adjust(this._sizers,e,o),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,r){let s=new $i(r),o=fi.createHandle(this.renderer),l=fi.averageSize(this._sizers),c=fi.createSizer(l);Z.ArrayExt.insert(this._items,e,s),Z.ArrayExt.insert(this._sizers,e,c),Z.ArrayExt.insert(this._handles,e,o),this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeAttach),this.parent.node.appendChild(r.node),this.parent.node.appendChild(o),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterAttach),this.parent.fit()}moveWidget(e,r,s){Z.ArrayExt.move(this._items,e,r),Z.ArrayExt.move(this._sizers,e,r),Z.ArrayExt.move(this._handles,e,r),this.parent.fit()}detachWidget(e,r){let s=Z.ArrayExt.removeAt(this._items,e),o=Z.ArrayExt.removeAt(this._handles,e);Z.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeDetach),this.parent.node.removeChild(r.node),this.parent.node.removeChild(o),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterDetach),s.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,r,s,o,l,c,d){let h=this._items[e];if(h.isHidden)return;let g=this._handles[e].style;r?(s+=this.widgetOffset,h.update(s,o,d,l),s+=d,g.top=`${o}px`,g.left=`${s}px`,g.width=`${this._spacing}px`,g.height=`${l}px`):(o+=this.widgetOffset,h.update(s,o,c,d),o+=d,g.top=`${o}px`,g.left=`${s}px`,g.width=`${c}px`,g.height=`${this._spacing}px`)}_fit(){let e=0,r=-1;for(let h=0,g=this._items.length;h<g;++h)this._items[h].isHidden?this._handles[h].classList.add("lm-mod-hidden"):(this._handles[h].classList.remove("lm-mod-hidden"),r=h,e++);r!==-1&&this._handles[r].classList.add("lm-mod-hidden"),this._fixed=this._spacing*Math.max(0,e-1)+this.widgetOffset*this._items.length;let s=this._orientation==="horizontal",o=s?this._fixed:0,l=s?0:this._fixed;for(let h=0,g=this._items.length;h<g;++h){let m=this._items[h],p=this._sizers[h];if(p.size>0&&(p.sizeHint=p.size),m.isHidden){p.minSize=0,p.maxSize=0;continue}m.fit(),p.stretch=n.getStretch(m.widget),s?(p.minSize=m.minWidth,p.maxSize=m.maxWidth,o+=m.minWidth,l=Math.max(l,m.minHeight)):(p.minSize=m.minHeight,p.maxSize=m.maxHeight,l+=m.minHeight,o=Math.max(o,m.minWidth))}let c=this._box=Ce.boxSizing(this.parent.node);o+=c.horizontalSum,l+=c.verticalSum;let d=this.parent.node.style;d.minWidth=`${o}px`,d.minHeight=`${l}px`,this._dirty=!0,this.parent.parent&&X.sendMessage(this.parent.parent,j.Msg.FitRequest),this._dirty&&X.sendMessage(this.parent,j.Msg.UpdateRequest)}_update(e,r){this._dirty=!1;let s=0;for(let p=0,v=this._items.length;p<v;++p)s+=+!this._items[p].isHidden;if(s===0&&this.widgetOffset===0)return;e<0&&(e=this.parent.node.offsetWidth),r<0&&(r=this.parent.node.offsetHeight),this._box||(this._box=Ce.boxSizing(this.parent.node));let o=this._box.paddingTop,l=this._box.paddingLeft,c=e-this._box.horizontalSum,d=r-this._box.verticalSum,h=0,g=0,m=this._orientation==="horizontal";if(s>0){let p;if(m?p=Math.max(0,c-this._fixed):p=Math.max(0,d-this._fixed),this._hasNormedSizes){for(let b of this._sizers)b.sizeHint*=p;this._hasNormedSizes=!1}let v=Ct.calc(this._sizers,p);if(v>0)switch(this._alignment){case"start":break;case"center":h=0,g=v/2;break;case"end":h=0,g=v;break;case"justify":h=v/s,g=0;break;default:throw"unreachable"}}for(let p=0,v=this._items.length;p<v;++p){let _=this._items[p].isHidden?0:this._sizers[p].size+h;this.updateItemPosition(p,m,m?l+g:l,m?o:o+g,d,c,_);let y=this.widgetOffset+(this._handles[p].classList.contains("lm-mod-hidden")?0:this._spacing);m?l+=_+y:o+=_+y}}};(function(n){function e(s){return fi.stretchProperty.get(s)}n.getStretch=e;function r(s,o){fi.stretchProperty.set(s,o)}n.setStretch=r})(gi||(gi={}));var fi;(function(n){n.stretchProperty=new lt({name:"stretch",create:()=>0,coerce:(c,d)=>Math.max(0,Math.floor(d)),changed:l});function e(c){let d=new Xt;return d.sizeHint=Math.floor(c),d}n.createSizer=e;function r(c){let d=c.createHandle();return d.style.position="absolute",d.style.contain="style",d}n.createHandle=r;function s(c){return c.reduce((d,h)=>d+h.size,0)/c.length||0}n.averageSize=s;function o(c){let d=c.length;if(d===0)return[];let h=c.reduce((g,m)=>g+Math.abs(m),0);return h===0?c.map(g=>1/d):c.map(g=>g/h)}n.normalize=o;function l(c){c.parent&&c.parent.layout instanceof gi&&c.parent.fit()}})(fi||(fi={}));var Za=class extends gi{constructor(e){super({...e,orientation:e.orientation||"vertical"}),this._titles=[],this.titleSpace=e.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(e){e=Jn.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,r){let s=this._titles[e],o=s.classList.contains("lm-mod-expanded"),l=us.createTitle(this.renderer,r.title,o);this._titles[e]=l,this.parent.node.replaceChild(l,s)}insertWidget(e,r){r.id||(r.id=`id-${mi.UUID.uuid4()}`),super.insertWidget(e,r)}attachWidget(e,r){let s=us.createTitle(this.renderer,r.title);Z.ArrayExt.insert(this._titles,e,s),this.parent.node.appendChild(s),r.node.setAttribute("role","region"),r.node.setAttribute("aria-labelledby",s.id),super.attachWidget(e,r)}moveWidget(e,r,s){Z.ArrayExt.move(this._titles,e,r),super.moveWidget(e,r,s)}detachWidget(e,r){let s=Z.ArrayExt.removeAt(this._titles,e);this.parent.node.removeChild(s),super.detachWidget(e,r)}updateItemPosition(e,r,s,o,l,c,d){let h=this._titles[e].style;h.top=`${o}px`,h.left=`${s}px`,h.height=`${this.widgetOffset}px`,r?h.width=`${l}px`:h.width=`${c}px`,super.updateItemPosition(e,r,s,o,l,c,d)}},us;(function(n){function e(r,s,o=!0){let l=r.createSectionTitle(s);return l.style.position="absolute",l.style.contain="strict",l.setAttribute("aria-label",`${s.label} Section`),l.setAttribute("aria-expanded",o?"true":"false"),l.setAttribute("aria-controls",s.owner.id),o&&l.classList.add("lm-mod-expanded"),l}n.createTitle=e})(us||(us={}));var vn=class extends j{constructor(e={}){super(),this.addClass("lm-Panel"),this.layout=ja.createLayout(e)}get widgets(){return this.layout.widgets}addWidget(e){this.layout.addWidget(e)}insertWidget(e,r){this.layout.insertWidget(e,r)}},ja;(function(n){function e(r){return r.layout||new bn}n.createLayout=e})(ja||(ja={}));var Zt=class extends vn{constructor(e={}){super({layout:Ja.createLayout(e)}),this._handleMoved=new Ie(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,r=!0){this.layout.setRelativeSizes(e,r)}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 r=this.layout,s=Z.ArrayExt.findFirstIndex(r.handles,g=>g.contains(e.target));if(s===-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 o,l=r.handles[s],c=l.getBoundingClientRect();r.orientation==="horizontal"?o=e.clientX-c.left:o=e.clientY-c.top;let d=window.getComputedStyle(l),h=ut.overrideCursor(d.cursor);this._pressData={index:s,delta:o,override:h}}_evtPointerMove(e){e.preventDefault(),e.stopPropagation();let r,s=this.layout,o=this.node.getBoundingClientRect();s.orientation==="horizontal"?r=e.clientX-o.left-this._pressData.delta:r=e.clientY-o.top-this._pressData.delta,s.moveHandle(this._pressData.index,r)}_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(n){class e{createHandle(){let l=document.createElement("div");return l.className="lm-SplitPanel-handle",l}}n.Renderer=e,n.defaultRenderer=new e;function r(o){return gi.getStretch(o)}n.getStretch=r;function s(o,l){gi.setStretch(o,l)}n.setStretch=s})(Zt||(Zt={}));var Ja;(function(n){function e(r){return r.layout||new gi({renderer:r.renderer||Zt.defaultRenderer,orientation:r.orientation,alignment:r.alignment,spacing:r.spacing})}n.createLayout=e})(Ja||(Ja={}));var Qn=class extends Zt{constructor(e={}){super({...e,layout:Qa.createLayout(e)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new Ie(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 r=this.layout.widgets[e];r&&!r.isHidden&&this._toggleExpansion(e)}expand(e){let r=this.layout.widgets[e];r&&r.isHidden&&this._toggleExpansion(e)}insertWidget(e,r){super.insertWidget(e,r),r.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 r=Z.ArrayExt.findFirstIndex(this.widgets,s=>s.contains(e.owner));r>=0&&(this.layout.updateTitle(r,e.owner),this.update())}_computeWidgetSize(e){let r=this.layout,s=r.widgets[e];if(!s)return;let o=s.isHidden,l=r.absoluteSizes(),c=(o?-1:1)*this.spacing,d=l.reduce((g,m)=>g+m),h=[...l];if(o){let g=this._widgetSizesCache.get(s);if(!g)return;h[e]+=g;let m=h.map(p=>p-g>0).lastIndexOf(!0);m===-1?h.forEach((p,v)=>{v!==e&&(h[v]-=l[v]/d*(g-c))}):h[m]-=g-c}else{let g=l[e];this._widgetSizesCache.set(s,g),h[e]=0;let m=h.map(p=>p>0).lastIndexOf(!0);if(m===-1)return;h[m]=l[m]+g+c}return h.map(g=>g/(d+c))}_evtClick(e){let r=e.target;if(r){let s=Z.ArrayExt.findFirstIndex(this.titles,o=>o.contains(r));s>=0&&(e.preventDefault(),e.stopPropagation(),this._toggleExpansion(s))}}_eventKeyDown(e){if(e.defaultPrevented)return;let r=e.target,s=!1;if(r){let o=Z.ArrayExt.findFirstIndex(this.titles,l=>l.contains(r));if(o>=0){let l=e.keyCode.toString();if(e.key.match(/Space|Enter/)||l.match(/13|32/))r.click(),s=!0;else if(this.orientation==="horizontal"?e.key.match(/ArrowLeft|ArrowRight/)||l.match(/37|39/):e.key.match(/ArrowUp|ArrowDown/)||l.match(/38|40/)){let c=e.key.match(/ArrowLeft|ArrowUp/)||l.match(/37|38/)?-1:1,d=this.titles.length,h=(o+d+c)%d;this.titles[h].focus(),s=!0}else e.key==="End"||l==="35"?(this.titles[this.titles.length-1].focus(),s=!0):(e.key==="Home"||l==="36")&&(this.titles[0].focus(),s=!0)}s&&e.preventDefault()}}_toggleExpansion(e){let r=this.titles[e],s=this.layout.widgets[e],o=this._computeWidgetSize(e);o&&this.setRelativeSizes(o,!1),s.isHidden?(r.classList.add("lm-mod-expanded"),r.setAttribute("aria-expanded","true"),s.show()):(r.classList.remove("lm-mod-expanded"),r.setAttribute("aria-expanded","false"),s.hide()),this._expansionToggled.emit(e)}};(function(n){class e extends Zt.Renderer{constructor(){super(),this.titleClassName="lm-AccordionPanel-title",this._titleID=0,this._titleKeys=new WeakMap,this._uuid=++e._nInstance}createCollapseIcon(s){return document.createElement("span")}createSectionTitle(s){let o=document.createElement("h3");o.setAttribute("tabindex","0"),o.id=this.createTitleKey(s),o.className=this.titleClassName;for(let d in s.dataset)o.dataset[d]=s.dataset[d];let l=o.appendChild(this.createCollapseIcon(s));l.className="lm-AccordionPanel-titleCollapser";let c=o.appendChild(document.createElement("span"));return c.className="lm-AccordionPanel-titleLabel",c.textContent=s.label,c.title=s.caption||s.label,o}createTitleKey(s){let o=this._titleKeys.get(s);return o===void 0&&(o=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(s,o)),o}}e._nInstance=0,n.Renderer=e,n.defaultRenderer=new e})(Qn||(Qn={}));var Qa;(function(n){function e(r){return r.layout||new Za({renderer:r.renderer||Qn.defaultRenderer,orientation:r.orientation,alignment:r.alignment,spacing:r.spacing,titleSpace:r.titleSpace})}n.createLayout=e})(Qa||(Qa={}));var Yt=class n extends bn{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=Jn.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=Jn.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,r){Z.ArrayExt.insert(this._items,e,new $i(r)),Z.ArrayExt.insert(this._sizers,e,new Xt),this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeAttach),this.parent.node.appendChild(r.node),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterAttach),this.parent.fit()}moveWidget(e,r,s){Z.ArrayExt.move(this._items,e,r),Z.ArrayExt.move(this._sizers,e,r),this.parent.update()}detachWidget(e,r){let s=Z.ArrayExt.removeAt(this._items,e);Z.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeDetach),this.parent.node.removeChild(r.node),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterDetach),s.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 d=0,h=this._items.length;d<h;++d)e+=+!this._items[d].isHidden;this._fixed=this._spacing*Math.max(0,e-1);let r=Ui.isHorizontal(this._direction),s=r?this._fixed:0,o=r?0:this._fixed;for(let d=0,h=this._items.length;d<h;++d){let g=this._items[d],m=this._sizers[d];if(g.isHidden){m.minSize=0,m.maxSize=0;continue}g.fit(),m.sizeHint=n.getSizeBasis(g.widget),m.stretch=n.getStretch(g.widget),r?(m.minSize=g.minWidth,m.maxSize=g.maxWidth,s+=g.minWidth,o=Math.max(o,g.minHeight)):(m.minSize=g.minHeight,m.maxSize=g.maxHeight,o+=g.minHeight,s=Math.max(s,g.minWidth))}let l=this._box=Ce.boxSizing(this.parent.node);s+=l.horizontalSum,o+=l.verticalSum;let c=this.parent.node.style;c.minWidth=`${s}px`,c.minHeight=`${o}px`,this._dirty=!0,this.parent.parent&&X.sendMessage(this.parent.parent,j.Msg.FitRequest),this._dirty&&X.sendMessage(this.parent,j.Msg.UpdateRequest)}_update(e,r){this._dirty=!1;let s=0;for(let p=0,v=this._items.length;p<v;++p)s+=+!this._items[p].isHidden;if(s===0)return;e<0&&(e=this.parent.node.offsetWidth),r<0&&(r=this.parent.node.offsetHeight),this._box||(this._box=Ce.boxSizing(this.parent.node));let o=this._box.paddingTop,l=this._box.paddingLeft,c=e-this._box.horizontalSum,d=r-this._box.verticalSum,h;switch(this._direction){case"left-to-right":h=Ct.calc(this._sizers,Math.max(0,c-this._fixed));break;case"top-to-bottom":h=Ct.calc(this._sizers,Math.max(0,d-this._fixed));break;case"right-to-left":h=Ct.calc(this._sizers,Math.max(0,c-this._fixed)),l+=c;break;case"bottom-to-top":h=Ct.calc(this._sizers,Math.max(0,d-this._fixed)),o+=d;break;default:throw"unreachable"}let g=0,m=0;if(h>0)switch(this._alignment){case"start":break;case"center":g=0,m=h/2;break;case"end":g=0,m=h;break;case"justify":g=h/s,m=0;break;default:throw"unreachable"}for(let p=0,v=this._items.length;p<v;++p){let b=this._items[p];if(b.isHidden)continue;let _=this._sizers[p].size;switch(this._direction){case"left-to-right":b.update(l+m,o,_+g,d),l+=_+g+this._spacing;break;case"top-to-bottom":b.update(l,o+m,c,_+g),o+=_+g+this._spacing;break;case"right-to-left":b.update(l-m-_-g,o,_+g,d),l-=_+g+this._spacing;break;case"bottom-to-top":b.update(l,o-m-_-g,c,_+g),o-=_+g+this._spacing;break;default:throw"unreachable"}}}};(function(n){function e(l){return Ui.stretchProperty.get(l)}n.getStretch=e;function r(l,c){Ui.stretchProperty.set(l,c)}n.setStretch=r;function s(l){return Ui.sizeBasisProperty.get(l)}n.getSizeBasis=s;function o(l,c){Ui.sizeBasisProperty.set(l,c)}n.setSizeBasis=o})(Yt||(Yt={}));var Ui;(function(n){n.stretchProperty=new lt({name:"stretch",create:()=>0,coerce:(o,l)=>Math.max(0,Math.floor(l)),changed:s}),n.sizeBasisProperty=new lt({name:"sizeBasis",create:()=>0,coerce:(o,l)=>Math.max(0,Math.floor(l)),changed:s});function e(o){return o==="left-to-right"||o==="right-to-left"}n.isHorizontal=e;function r(o){return Math.max(0,Math.floor(o))}n.clampSpacing=r;function s(o){o.parent&&o.parent.layout instanceof Yt&&o.parent.fit()}})(Ui||(Ui={}));var ds=class extends vn{constructor(e={}){super({layout:eo.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(n){function e(l){return Yt.getStretch(l)}n.getStretch=e;function r(l,c){Yt.setStretch(l,c)}n.setStretch=r;function s(l){return Yt.getSizeBasis(l)}n.getSizeBasis=s;function o(l,c){Yt.setSizeBasis(l,c)}n.setSizeBasis=o})(ds||(ds={}));var eo;(function(n){function e(r){return r.layout||new Yt(r)}n.createLayout=e})(eo||(eo={}));var cs=class n extends j{constructor(e){super({node:hi.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass("lm-CommandPalette"),this.setFlag(j.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||n.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 r=hi.createItem(this.commands,e);return this._items.push(r),this.refresh(),r}addItems(e){let r=e.map(s=>hi.createItem(this.commands,s));return r.forEach(s=>this._items.push(s)),this.refresh(),r}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){Z.ArrayExt.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 r=this.inputNode;r.focus(),r.select()}}onUpdateRequest(e){if(!this.isVisible){Dt.render(null,this.contentNode);return}let r=this.inputNode.value,s=this.contentNode,o=this._results;if(o||(o=this._results=hi.search(this._items,r),this._activeIndex=r?Z.ArrayExt.findFirstIndex(o,hi.canActivate):-1),!r&&o.length===0){Dt.render(null,s);return}if(r&&o.length===0){let h=this.renderer.renderEmptyMessage({query:r});Dt.render(h,s);return}let l=this.renderer,c=this._activeIndex,d=new Array(o.length);for(let h=0,g=o.length;h<g;++h){let m=o[h];if(m.type==="header"){let p=m.indices,v=m.category;d[h]=l.renderHeader({category:v,indices:p})}else{let p=m.item,v=m.indices,b=h===c;d[h]=l.renderItem({item:p,indices:v,active:b})}}if(Dt.render(d,s),c<0||c>=o.length)s.scrollTop=0;else{let h=s.children[c];Ce.scrollIntoViewIfNeeded(s,h)}}_evtClick(e){if(e.button!==0)return;if(e.target.classList.contains("lm-close-icon")){this.inputNode.value="",this.refresh();return}let r=Z.ArrayExt.findFirstIndex(this.contentNode.children,s=>s.contains(e.target));r!==-1&&(e.preventDefault(),e.stopPropagation(),this._execute(r))}_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,r=this._results.length,s=e<r-1?e+1:0,o=s===0?r-1:s-1;this._activeIndex=Z.ArrayExt.findFirstIndex(this._results,hi.canActivate,s,o),this.update()}_activatePreviousItem(){if(!this._results||this._results.length===0)return;let e=this._activeIndex,r=this._results.length,s=e<=0?r-1:e-1,o=s===r-1?0:s+1;this._activeIndex=Z.ArrayExt.findLastIndex(this._results,hi.canActivate,s,o),this.update()}_execute(e){if(!this._results)return;let r=this._results[e];if(r){if(r.type==="header"){let s=this.inputNode;s.value=`${r.category.toLowerCase()} `,s.focus(),this.refresh();return}r.item.isEnabled&&(this.commands.execute(r.item.command,r.item.args),this.inputNode.value="",this.refresh())}}_toggleFocused(){let e=document.activeElement===this.inputNode;this.toggleClass("lm-mod-focused",e)}_onGenericChange(){this.refresh()}};(function(n){class e{renderHeader(s){let o=this.formatHeader(s);return _e.li({className:"lm-CommandPalette-header"},o)}renderItem(s){let o=this.createItemClass(s),l=this.createItemDataset(s);return s.item.isToggleable?_e.li({className:o,dataset:l,role:"menuitemcheckbox","aria-checked":`${s.item.isToggled}`},this.renderItemIcon(s),this.renderItemContent(s),this.renderItemShortcut(s)):_e.li({className:o,dataset:l,role:"menuitem"},this.renderItemIcon(s),this.renderItemContent(s),this.renderItemShortcut(s))}renderEmptyMessage(s){let o=this.formatEmptyMessage(s);return _e.li({className:"lm-CommandPalette-emptyMessage"},o)}renderItemIcon(s){let o=this.createIconClass(s);return _e.div({className:o},s.item.icon,s.item.iconLabel)}renderItemContent(s){return _e.div({className:"lm-CommandPalette-itemContent"},this.renderItemLabel(s),this.renderItemCaption(s))}renderItemLabel(s){let o=this.formatItemLabel(s);return _e.div({className:"lm-CommandPalette-itemLabel"},o)}renderItemCaption(s){let o=this.formatItemCaption(s);return _e.div({className:"lm-CommandPalette-itemCaption"},o)}renderItemShortcut(s){let o=this.formatItemShortcut(s);return _e.div({className:"lm-CommandPalette-itemShortcut"},o)}createItemClass(s){let o="lm-CommandPalette-item";s.item.isEnabled||(o+=" lm-mod-disabled"),s.item.isToggled&&(o+=" lm-mod-toggled"),s.active&&(o+=" lm-mod-active");let l=s.item.className;return l&&(o+=` ${l}`),o}createItemDataset(s){return{...s.item.dataset,command:s.item.command}}createIconClass(s){let o="lm-CommandPalette-itemIcon",l=s.item.iconClass;return l?`${o} ${l}`:o}formatHeader(s){return!s.indices||s.indices.length===0?s.category:Z.StringExt.highlight(s.category,s.indices,_e.mark)}formatEmptyMessage(s){return`No commands found that match '${s.query}'`}formatItemShortcut(s){let o=s.item.keyBinding;return o?Mt.formatKeystroke(o.keys):null}formatItemLabel(s){return!s.indices||s.indices.length===0?s.item.label:Z.StringExt.highlight(s.item.label,s.indices,_e.mark)}formatItemCaption(s){return s.item.caption}}n.Renderer=e,n.defaultRenderer=new e})(cs||(cs={}));var hi;(function(n){function e(){let v=document.createElement("div"),b=document.createElement("div"),_=document.createElement("div"),y=document.createElement("input"),C=document.createElement("ul"),E=document.createElement("button");return b.className="lm-CommandPalette-search",_.className="lm-CommandPalette-wrapper",y.className="lm-CommandPalette-input",E.className="lm-close-icon",C.className="lm-CommandPalette-content",C.setAttribute("role","menu"),y.spellcheck=!1,_.appendChild(y),_.appendChild(E),b.appendChild(_),v.appendChild(b),v.appendChild(C),v}n.createNode=e;function r(v,b){return new p(v,b)}n.createItem=r;function s(v,b){let _=d(v,b);return _.sort(g),m(_)}n.search=s;function o(v){return v.type==="item"&&v.item.isEnabled}n.canActivate=o;function l(v){return v.trim().replace(/\s+/g," ")}function c(v){return v.replace(/\s+/g,"").toLowerCase()}function d(v,b){b=c(b);let _=[];for(let y=0,C=v.length;y<C;++y){let E=v[y];if(!E.isVisible)continue;if(!b){_.push({matchType:3,categoryIndices:null,labelIndices:null,score:0,item:E});continue}let I=h(E,b);I&&(E.isEnabled||(I.score+=1e3),_.push(I))}return _}function h(v,b){let _=v.category.toLowerCase(),y=v.label.toLowerCase(),C=`${_} ${y}`,E=1/0,I=null,M=/\b\w/g;for(;;){let U=M.exec(C);if(!U)break;let J=Z.StringExt.matchSumOfDeltas(C,b,U.index);if(!J)break;J.score<=E&&(E=J.score,I=J.indices)}if(!I||E===1/0)return null;let S=_.length+1,k=Z.ArrayExt.lowerBound(I,S,(U,J)=>U-J),D=I.slice(0,k),H=I.slice(k);for(let U=0,J=H.length;U<J;++U)H[U]-=S;return D.length===0?{matchType:0,categoryIndices:null,labelIndices:H,score:E,item:v}:H.length===0?{matchType:1,categoryIndices:D,labelIndices:null,score:E,item:v}:{matchType:2,categoryIndices:D,labelIndices:H,score:E,item:v}}function g(v,b){let _=v.matchType-b.matchType;if(_!==0)return _;let y=v.score-b.score;if(y!==0)return y;let C=0,E=0;switch(v.matchType){case 0:C=v.labelIndices[0],E=b.labelIndices[0];break;case 1:case 2:C=v.categoryIndices[0],E=b.categoryIndices[0];break}if(C!==E)return C-E;let I=v.item.category.localeCompare(b.item.category);if(I!==0)return I;let M=v.item.rank,S=b.item.rank;return M!==S?M<S?-1:1:v.item.label.localeCompare(b.item.label)}function m(v){let b=[];for(let _=0,y=v.length;_<y;++_){let{item:C,categoryIndices:E,labelIndices:I}=v[_],M=C.category;(_===0||M!==v[_-1].item.category)&&b.push({type:"header",category:M,indices:E}),b.push({type:"item",item:C,indices:I})}return b}class p{constructor(b,_){this._commands=b,this.category=l(_.category),this.command=_.command,this.args=_.args||mi.JSONExt.emptyObject,this.rank=_.rank!==void 0?_.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:b,args:_}=this;return Z.ArrayExt.findLastValue(this._commands.keyBindings,y=>y.command===b&&mi.JSONExt.deepEqual(y.args,_))||null}}})(hi||(hi={}));var $t=class n extends j{constructor(e){super({node:dt.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new Ie(this),this._menuRequested=new Ie(this),this.addClass("lm-Menu"),this.setFlag(j.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||n.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&&!dt.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,r=this._activeIndex,s=r<e-1?r+1:0,o=s===0?e-1:s-1;this.activeIndex=Z.ArrayExt.findFirstIndex(this._items,dt.canActivate,s,o)}activatePreviousItem(){let e=this._items.length,r=this._activeIndex,s=r<=0?e-1:r-1,o=s===e-1?0:s+1;this.activeIndex=Z.ArrayExt.findLastIndex(this._items,dt.canActivate,s,o)}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:r,args:s}=e;this.commands.isEnabled(r,s)?this.commands.execute(r,s):console.log(`Command '${r}' is disabled.`)}addItem(e){return this.insertItem(this._items.length,e)}insertItem(e,r){this.isAttached&&this.close(),this.activeIndex=-1;let s=Math.max(0,Math.min(e,this._items.length)),o=dt.createItem(this,r);return Z.ArrayExt.insert(this._items,s,o),this.update(),o}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){this.isAttached&&this.close(),this.activeIndex=-1,Z.ArrayExt.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,r,s={}){var o,l,c;if(this.isAttached)return;let d=s.forceX||!1,h=s.forceY||!1,g=(o=s.host)!==null&&o!==void 0?o:null,m=(l=s.ref)!==null&&l!==void 0?l:null,p=(c=s.horizontalAlignment)!==null&&c!==void 0?c:document.documentElement.dir==="rtl"?"right":"left";dt.openRootMenu(this,e,r,d,h,p,g,m),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();break}}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 r=this._items,s=this.renderer,o=this._activeIndex,l=dt.computeCollapsed(r),c=new Array(r.length);for(let d=0,h=r.length;d<h;++d){let g=r[d],m=d===o,p=l[d];c[d]=s.renderItem({item:g,active:m,collapsed:p,onfocus:()=>{this.activeIndex=d}})}Dt.render(c,this.contentNode)}onCloseRequest(e){this._cancelOpenTimer(),this._cancelCloseTimer(),this.activeIndex=-1;let r=this._childMenu;r&&(this._childIndex=-1,this._childMenu=null,r._parentMenu=null,r.close());let s=this._parentMenu;s&&(this._parentMenu=null,s._childIndex=-1,s._childMenu=null,s.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(e)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation();let r=e.keyCode;if(r===13){this.triggerActiveItem();return}if(r===27){this.close();return}if(r===37){this._parentMenu?this.close():this._menuRequested.emit("previous");return}if(r===38){this.activatePreviousItem();return}if(r===39){let c=this.activeItem;c&&c.type==="submenu"?this.triggerActiveItem():this.rootMenu._menuRequested.emit("next");return}if(r===40){this.activateNextItem();return}let s=mn().keyForKeydownEvent(e);if(!s)return;let o=this._activeIndex+1,l=dt.findMnemonic(this._items,s,o);l.index!==-1&&!l.multiple?(this.activeIndex=l.index,this.triggerActiveItem()):l.index!==-1?this.activeIndex=l.index:l.auto!==-1&&(this.activeIndex=l.auto)}_evtMouseUp(e){e.button===0&&(e.preventDefault(),e.stopPropagation(),this.triggerActiveItem())}_evtMouseMove(e){let r=Z.ArrayExt.findFirstIndex(this.contentNode.children,o=>Ce.hitTest(o,e.clientX,e.clientY));if(r===this._activeIndex)return;if(this.activeIndex=r,r=this.activeIndex,r===this._childIndex){this._cancelOpenTimer(),this._cancelCloseTimer();return}this._childIndex!==-1&&this._startCloseTimer(),this._cancelOpenTimer();let s=this.activeItem;!s||s.type!=="submenu"||!s.submenu||this._startOpenTimer()}_evtMouseEnter(e){for(let r=this._parentMenu;r;r=r._parentMenu)r._cancelOpenTimer(),r._cancelCloseTimer(),r.activeIndex=r._childIndex}_evtMouseLeave(e){if(this._cancelOpenTimer(),!this._childMenu){this.activeIndex=-1;return}let{clientX:r,clientY:s}=e;if(Ce.hitTest(this._childMenu.node,r,s)){this._cancelCloseTimer();return}this.activeIndex=-1,this._startCloseTimer()}_evtMouseDown(e){this._parentMenu||(dt.hitTestMenus(this,e.clientX,e.clientY)?(e.preventDefault(),e.stopPropagation()):this.close())}_openChildMenu(e=!1){let r=this.activeItem;if(!r||r.type!=="submenu"||!r.submenu){this._closeChildMenu();return}let s=r.submenu;if(s===this._childMenu)return;n.saveWindowData(),this._closeChildMenu(),this._childMenu=s,this._childIndex=this._activeIndex,s._parentMenu=this,X.sendMessage(this,j.Msg.UpdateRequest);let o=this.contentNode.children[this._activeIndex];dt.openSubmenu(s,o),e&&(s.activeIndex=-1,s.activateNextItem()),s.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){this._openTimerID===0&&(this._openTimerID=window.setTimeout(()=>{this._openTimerID=0,this._openChildMenu()},dt.TIMER_DELAY))}_startCloseTimer(){this._closeTimerID===0&&(this._closeTimerID=window.setTimeout(()=>{this._closeTimerID=0,this._closeChildMenu()},dt.TIMER_DELAY))}_cancelOpenTimer(){this._openTimerID!==0&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){this._closeTimerID!==0&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){dt.saveWindowData()}};(function(n){class e{renderItem(s){let o=this.createItemClass(s),l=this.createItemDataset(s),c=this.createItemARIA(s);return _e.li({className:o,dataset:l,tabindex:"0",onfocus:s.onfocus,...c},this.renderIcon(s),this.renderLabel(s),this.renderShortcut(s),this.renderSubmenu(s))}renderIcon(s){let o=this.createIconClass(s);return _e.div({className:o},s.item.icon,s.item.iconLabel)}renderLabel(s){let o=this.formatLabel(s);return _e.div({className:"lm-Menu-itemLabel"},o)}renderShortcut(s){let o=this.formatShortcut(s);return _e.div({className:"lm-Menu-itemShortcut"},o)}renderSubmenu(s){return _e.div({className:"lm-Menu-itemSubmenuIcon"})}createItemClass(s){let o="lm-Menu-item";s.item.isEnabled||(o+=" lm-mod-disabled"),s.item.isToggled&&(o+=" lm-mod-toggled"),s.item.isVisible||(o+=" lm-mod-hidden"),s.active&&(o+=" lm-mod-active"),s.collapsed&&(o+=" lm-mod-collapsed");let l=s.item.className;return l&&(o+=` ${l}`),o}createItemDataset(s){let o,{type:l,command:c,dataset:d}=s.item;return l==="command"?o={...d,type:l,command:c}:o={...d,type:l},o}createIconClass(s){let o="lm-Menu-itemIcon",l=s.item.iconClass;return l?`${o} ${l}`:o}createItemARIA(s){let o={};switch(s.item.type){case"separator":o.role="presentation";break;case"submenu":o["aria-haspopup"]="true",s.item.isEnabled||(o["aria-disabled"]="true");break;default:s.item.isEnabled||(o["aria-disabled"]="true"),s.item.isToggled?(o.role="menuitemcheckbox",o["aria-checked"]="true"):o.role="menuitem"}return o}formatLabel(s){let{label:o,mnemonic:l}=s.item;if(l<0||l>=o.length)return o;let c=o.slice(0,l),d=o.slice(l+1),h=o[l],g=_e.span({className:"lm-Menu-itemMnemonic"},h);return[c,g,d]}formatShortcut(s){let o=s.item.keyBinding;return o?Mt.formatKeystroke(o.keys):null}}n.Renderer=e,n.defaultRenderer=new e})($t||($t={}));var dt;(function(n){n.TIMER_DELAY=300,n.SUBMENU_OVERLAP=3;let e=null,r=0;function s(){return r>0?(r--,e):m()}function o(){e=m(),r++}n.saveWindowData=o;function l(){let y=document.createElement("div"),C=document.createElement("ul");return C.className="lm-Menu-content",y.appendChild(C),C.setAttribute("role","menu"),y.tabIndex=0,y}n.createNode=l;function c(y){return y.type!=="separator"&&y.isEnabled&&y.isVisible}n.canActivate=c;function d(y,C){return new _(y.commands,C)}n.createItem=d;function h(y,C,E){for(let I=y;I;I=I.childMenu)if(Ce.hitTest(I.node,C,E))return!0;return!1}n.hitTestMenus=h;function g(y){let C=new Array(y.length);Z.ArrayExt.fill(C,!1);let E=0,I=y.length;for(;E<I;++E){let k=y[E];if(k.isVisible){if(k.type!=="separator")break;C[E]=!0}}let M=I-1;for(;M>=0;--M){let k=y[M];if(k.isVisible){if(k.type!=="separator")break;C[M]=!0}}let S=!1;for(;++E<M;){let k=y[E];k.isVisible&&(k.type!=="separator"?S=!1:S?C[E]=!0:S=!0)}return C}n.computeCollapsed=g;function m(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}function p(y,C,E,I,M,S,k,D){let H=s(),U=H.pageXOffset,J=H.pageYOffset,B=H.clientWidth,K=H.clientHeight;X.sendMessage(y,j.Msg.UpdateRequest);let G=K-(M?E:0),Q=y.node,de=Q.style;de.opacity="0",de.maxHeight=`${G}px`,j.attach(y,k||document.body,D);let{width:ge,height:ue}=Q.getBoundingClientRect();S==="right"&&(C-=ge),!I&&C+ge>U+B&&(C=U+B-ge),!M&&E+ue>J+K&&(E>J+K?E=J+K-ue:E=E-ue),de.transform=`translate(${Math.max(0,C)}px, ${Math.max(0,E)}px`,de.opacity="1"}n.openRootMenu=p;function v(y,C){let E=s(),I=E.pageXOffset,M=E.pageYOffset,S=E.clientWidth,k=E.clientHeight;X.sendMessage(y,j.Msg.UpdateRequest);let D=k,H=y.node,U=H.style;U.opacity="0",U.maxHeight=`${D}px`,j.attach(y,document.body);let{width:J,height:B}=H.getBoundingClientRect(),K=Ce.boxSizing(y.node),G=C.getBoundingClientRect(),Q=G.right-n.SUBMENU_OVERLAP;Q+J>I+S&&(Q=G.left+n.SUBMENU_OVERLAP-J);let de=G.top-K.borderTop-K.paddingTop;de+B>M+k&&(de=G.bottom+K.borderBottom+K.paddingBottom-B),U.transform=`translate(${Math.max(0,Q)}px, ${Math.max(0,de)}px`,U.opacity="1"}n.openSubmenu=v;function b(y,C,E){let I=-1,M=-1,S=!1,k=C.toUpperCase();for(let D=0,H=y.length;D<H;++D){let U=(D+E)%H,J=y[U];if(!c(J))continue;let B=J.label;if(B.length===0)continue;let K=J.mnemonic;if(K>=0&&K<B.length){B[K].toUpperCase()===k&&(I===-1?I=U:S=!0);continue}M===-1&&B[0].toUpperCase()===k&&(M=U)}return{index:I,multiple:S,auto:M}}n.findMnemonic=b;class _{constructor(C,E){this._commands=C,this.type=E.type||"command",this.command=E.command||"",this.args=E.args||mi.JSONExt.emptyObject,this.submenu=E.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:C,args:E}=this;return Z.ArrayExt.findLastValue(this._commands.keyBindings,I=>I.command===C&&mi.JSONExt.deepEqual(I.args,E))||null}return null}}})(dt||(dt={}));var vd;(function(n){function e(c,d){let h=s(c.selector),g=c.rank!==void 0?c.rank:1/0;return{...c,selector:h,rank:g,id:d}}n.createItem=e;function r(c,d,h,g){let m=d.target;if(!m)return null;let p=d.currentTarget;if(!p||!p.contains(m)&&(m=document.elementFromPoint(d.clientX,d.clientY),!m||!p.contains(m)))return null;let v=[],b=c.slice();for(;m!==null;){let _=[];for(let y=0,C=b.length;y<C;++y){let E=b[y];E&&Ft.matches(m,E.selector)&&(_.push(E),b[y]=null)}if(_.length!==0&&(h&&_.sort(g?l:o),v.push(..._)),m===p)break;m=m.parentElement}return h||v.sort(g?l:o),v}n.matchItems=r;function s(c){if(c.indexOf(",")!==-1)throw new Error(`Selector cannot contain commas: ${c}`);if(!Ft.isValid(c))throw new Error(`Invalid selector: ${c}`);return c}function o(c,d){let h=c.rank,g=d.rank;return h!==g?h<g?-1:1:c.id-d.id}function l(c,d){let h=Ft.calculateSpecificity(c.selector),g=Ft.calculateSpecificity(d.selector);return h!==g?g-h:o(c,d)}})(vd||(vd={}));var rx=["ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Home","End"],jt=class n extends j{constructor(e={}){super({node:Pt.createNode()}),this._currentIndex=-1,this._titles=[],this._titlesEditable=!1,this._previousTitle=null,this._dragData=null,this._addButtonEnabled=!1,this._tabMoved=new Ie(this),this._currentChanged=new Ie(this),this._addRequested=new Ie(this),this._tabCloseRequested=new Ie(this),this._tabDetachRequested=new Ie(this),this._tabActivateRequested=new Ie(this),this.addClass("lm-TabBar"),this.contentNode.setAttribute("role","tablist"),this.setFlag(j.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||n.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 r=this._currentIndex,s=this._titles[r]||null,o=e,l=this._titles[o]||null;this._currentIndex=o,this._previousTitle=s,this.update(),this._currentChanged.emit({previousIndex:r,previousTitle:s,currentIndex:o,currentTitle:l})}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,r){this._releaseMouse();let s=Pt.asTitle(r),o=this._titles.indexOf(s),l=Math.max(0,Math.min(e,this._titles.length));return o===-1?(Z.ArrayExt.insert(this._titles,l,s),s.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(l,s),s):(l===this._titles.length&&l--,o===l||(Z.ArrayExt.move(this._titles,o,l),this.update(),this._adjustCurrentForMove(o,l)),s)}removeTab(e){this.removeTabAt(this._titles.indexOf(e))}removeTabAt(e){this._releaseMouse();let r=Z.ArrayExt.removeAt(this._titles,e);r&&(r.changed.disconnect(this._onTitleChanged,this),r===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(e,r))}clearTabs(){if(this._titles.length===0)return;this._releaseMouse();for(let s of this._titles)s.changed.disconnect(this._onTitleChanged,this);let e=this.currentIndex,r=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),e!==-1&&this._currentChanged.emit({previousIndex:e,previousTitle:r,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();break}}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 r;let s=this._titles,o=this.renderer,l=this.currentTitle,c=new Array(s.length),d=(r=this._getCurrentTabindex())!==null&&r!==void 0?r:this._currentIndex>-1?this._currentIndex:0;for(let h=0,g=s.length;h<g;++h){let m=s[h],p=m===l,v=p?g:g-h-1,b=d===h?0:-1;c[h]=o.renderTab({title:m,current:p,zIndex:v,tabIndex:b})}Dt.render(c,this.contentNode)}_getCurrentTabindex(){let e=null,r=this.contentNode.querySelector('li[tabindex="0"]');return r?e=[...this.contentNode.children].indexOf(r):this._addButtonEnabled&&this.addButtonNode.getAttribute("tabindex")==="0"&&(e=-1),e}_evtDblClick(e){if(!this.titlesEditable)return;let r=this.contentNode.children,s=Z.ArrayExt.findFirstIndex(r,c=>Ce.hitTest(c,e.clientX,e.clientY));if(s===-1)return;let o=this.titles[s],l=r[s].querySelector(".lm-TabBar-tabLabel");if(l&&l.contains(e.target)){let c=o.label||"",d=l.innerHTML;l.innerHTML="";let h=document.createElement("input");h.classList.add("lm-TabBar-tabInput"),h.value=c,l.appendChild(h);let g=()=>{h.removeEventListener("blur",g),l.innerHTML=d,this.node.addEventListener("keydown",this)};h.addEventListener("dblclick",m=>m.stopPropagation()),h.addEventListener("blur",g),h.addEventListener("keydown",m=>{m.key==="Enter"?(h.value!==""&&(o.label=o.caption=h.value),g()):m.key==="Escape"&&g()}),this.node.removeEventListener("keydown",this),h.select(),h.focus(),l.children.length>0&&l.children[0].focus()}}_evtKeyDownCapturing(e){e.eventPhase===Event.CAPTURING_PHASE&&(e.preventDefault(),e.stopPropagation(),e.key==="Escape"&&this._releaseMouse())}_evtKeyDown(e){var r,s,o;if(!(e.key==="Tab"||e.eventPhase===Event.CAPTURING_PHASE)){if(e.key==="Enter"||e.key==="Spacebar"||e.key===" "){let l=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(l))e.preventDefault(),e.stopPropagation(),this._addRequested.emit();else{let c=Z.ArrayExt.findFirstIndex(this.contentNode.children,d=>d.contains(l));c>=0&&(e.preventDefault(),e.stopPropagation(),this.currentIndex=c)}}else if(rx.includes(e.key)){let l=[...this.contentNode.children];if(this.addButtonEnabled&&l.push(this.addButtonNode),l.length<=1)return;e.preventDefault(),e.stopPropagation();let c=l.indexOf(document.activeElement);c===-1&&(c=this._currentIndex);let d;e.key==="ArrowRight"&&this._orientation==="horizontal"||e.key==="ArrowDown"&&this._orientation==="vertical"?d=(r=l[c+1])!==null&&r!==void 0?r:l[0]:e.key==="ArrowLeft"&&this._orientation==="horizontal"||e.key==="ArrowUp"&&this._orientation==="vertical"?d=(s=l[c-1])!==null&&s!==void 0?s:l[l.length-1]:e.key==="Home"?d=l[0]:e.key==="End"&&(d=l[l.length-1]),d&&((o=l[c])===null||o===void 0||o.setAttribute("tabindex","-1"),d?.setAttribute("tabindex","0"),d.focus())}}}_evtPointerDown(e){if(e.button!==0&&e.button!==1||this._dragData||e.target.classList.contains("lm-TabBar-tabInput"))return;let r=this.addButtonEnabled&&this.addButtonNode.contains(e.target),s=this.contentNode.children,o=Z.ArrayExt.findFirstIndex(s,c=>Ce.hitTest(c,e.clientX,e.clientY));if(o===-1&&!r||(e.preventDefault(),e.stopPropagation(),this._dragData={tab:s[o],index:o,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||r))return;let l=s[o].querySelector(this.renderer.closeIconSelector);l&&l.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===o?this.currentIndex=-1:this.currentIndex=o,this.currentIndex!==-1&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(e){let r=this._dragData;if(!r)return;e.preventDefault(),e.stopPropagation();let s=this.contentNode.children;if(!(!r.dragActive&&!Pt.dragExceeded(r,e))){if(!r.dragActive){let o=r.tab.getBoundingClientRect();this._orientation==="horizontal"?(r.tabPos=r.tab.offsetLeft,r.tabSize=o.width,r.tabPressPos=r.pressX-o.left):(r.tabPos=r.tab.offsetTop,r.tabSize=o.height,r.tabPressPos=r.pressY-o.top),r.tabPressOffset={x:r.pressX-o.left,y:r.pressY-o.top},r.tabLayout=Pt.snapTabLayout(s,this._orientation),r.contentRect=this.contentNode.getBoundingClientRect(),r.override=ut.overrideCursor("default"),r.tab.classList.add("lm-mod-dragging"),this.addClass("lm-mod-dragging"),r.dragActive=!0}if(!r.detachRequested&&Pt.detachExceeded(r,e)){r.detachRequested=!0;let o=r.index,l=e.clientX,c=e.clientY,d=s[o],h=this._titles[o];if(this._tabDetachRequested.emit({index:o,title:h,tab:d,clientX:l,clientY:c,offset:r.tabPressOffset}),r.dragAborted)return}Pt.layoutTabs(s,r,e,this._orientation)}}_evtPointerUp(e){if(e.button!==0&&e.button!==1)return;let r=this._dragData;if(!r)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),!r.dragActive){if(this._dragData=null,this.addButtonEnabled&&this.addButtonNode.contains(e.target)){this._addRequested.emit(void 0);return}let l=this.contentNode.children,c=Z.ArrayExt.findFirstIndex(l,g=>Ce.hitTest(g,e.clientX,e.clientY));if(c!==r.index)return;let d=this._titles[c];if(!d.closable)return;if(e.button===1){this._tabCloseRequested.emit({index:c,title:d});return}let h=l[c].querySelector(this.renderer.closeIconSelector);if(h&&h.contains(e.target)){this._tabCloseRequested.emit({index:c,title:d});return}return}if(e.button!==0)return;Pt.finalizeTabPosition(r,this._orientation),r.tab.classList.remove("lm-mod-dragging");let s=Pt.parseTransitionDuration(r.tab);setTimeout(()=>{if(r.dragAborted)return;this._dragData=null,Pt.resetTabPositions(this.contentNode.children,this._orientation),r.override.dispose(),this.removeClass("lm-mod-dragging");let o=r.index,l=r.targetIndex;l===-1||o===l||(Z.ArrayExt.move(this._titles,o,l),this._adjustCurrentForMove(o,l),this._tabMoved.emit({fromIndex:o,toIndex:l,title:this._titles[l]}),X.sendMessage(this,j.Msg.UpdateRequest))},s)}_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&&(Pt.resetTabPositions(this.contentNode.children,this._orientation),e.override.dispose(),e.tab.classList.remove("lm-mod-dragging"),this.removeClass("lm-mod-dragging")))}_adjustCurrentForInsert(e,r){let s=this.currentTitle,o=this._currentIndex,l=this.insertBehavior;if(l==="select-tab"||l==="select-tab-if-needed"&&o===-1){this._currentIndex=e,this._previousTitle=s,this._currentChanged.emit({previousIndex:o,previousTitle:s,currentIndex:e,currentTitle:r});return}o>=e&&this._currentIndex++}_adjustCurrentForMove(e,r){this._currentIndex===e?this._currentIndex=r:this._currentIndex<e&&this._currentIndex>=r?this._currentIndex++:this._currentIndex>e&&this._currentIndex<=r&&this._currentIndex--}_adjustCurrentForRemove(e,r){let s=this._currentIndex,o=this.removeBehavior;if(s!==e){s>e&&this._currentIndex--;return}if(this._titles.length===0){this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:r,currentIndex:-1,currentTitle:null});return}if(o==="select-tab-after"){this._currentIndex=Math.min(e,this._titles.length-1),this._currentChanged.emit({previousIndex:e,previousTitle:r,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(o==="select-tab-before"){this._currentIndex=Math.max(0,e-1),this._currentChanged.emit({previousIndex:e,previousTitle:r,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(o==="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:r,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:r,currentIndex:-1,currentTitle:null})}_onTitleChanged(e){this.update()}};(function(n){class e{constructor(){this.closeIconSelector=".lm-TabBar-tabCloseIcon",this._tabID=0,this._tabKeys=new WeakMap,this._uuid=++e._nInstance}renderTab(s){let o=s.title.caption,l=this.createTabKey(s),c=l,d=this.createTabStyle(s),h=this.createTabClass(s),g=this.createTabDataset(s),m=this.createTabARIA(s);return s.title.closable?_e.li({id:c,key:l,className:h,title:o,style:d,dataset:g,...m},this.renderIcon(s),this.renderLabel(s),this.renderCloseIcon(s)):_e.li({id:c,key:l,className:h,title:o,style:d,dataset:g,...m},this.renderIcon(s),this.renderLabel(s))}renderIcon(s){let{title:o}=s,l=this.createIconClass(s);return _e.div({className:l},o.icon,o.iconLabel)}renderLabel(s){return _e.div({className:"lm-TabBar-tabLabel"},s.title.label)}renderCloseIcon(s){return _e.div({className:"lm-TabBar-tabCloseIcon"})}createTabKey(s){let o=this._tabKeys.get(s.title);return o===void 0&&(o=`tab-key-${this._uuid}-${this._tabID++}`,this._tabKeys.set(s.title,o)),o}createTabStyle(s){return{zIndex:`${s.zIndex}`}}createTabClass(s){let o="lm-TabBar-tab";return s.title.className&&(o+=` ${s.title.className}`),s.title.closable&&(o+=" lm-mod-closable"),s.current&&(o+=" lm-mod-current"),o}createTabDataset(s){return s.title.dataset}createTabARIA(s){var o;return{role:"tab","aria-selected":s.current.toString(),tabindex:`${(o=s.tabIndex)!==null&&o!==void 0?o:"-1"}`}}createIconClass(s){let o="lm-TabBar-tabIcon",l=s.title.iconClass;return l?`${o} ${l}`:o}}e._nInstance=0,n.Renderer=e,n.defaultRenderer=new e,n.addButtonSelector=".lm-TabBar-addButton"})(jt||(jt={}));var Pt;(function(n){n.DRAG_THRESHOLD=5,n.DETACH_THRESHOLD=20;function e(){let m=document.createElement("div"),p=document.createElement("ul");p.setAttribute("role","tablist"),p.className="lm-TabBar-content",m.appendChild(p);let v=document.createElement("div");return v.className="lm-TabBar-addButton lm-mod-hidden",v.setAttribute("tabindex","-1"),v.setAttribute("role","button"),m.appendChild(v),m}n.createNode=e;function r(m){return m instanceof Zn?m:new Zn(m)}n.asTitle=r;function s(m){let p=window.getComputedStyle(m);return 1e3*(parseFloat(p.transitionDuration)||0)}n.parseTransitionDuration=s;function o(m,p){let v=new Array(m.length);for(let b=0,_=m.length;b<_;++b){let y=m[b],C=window.getComputedStyle(y);p==="horizontal"?v[b]={pos:y.offsetLeft,size:y.offsetWidth,margin:parseFloat(C.marginLeft)||0}:v[b]={pos:y.offsetTop,size:y.offsetHeight,margin:parseFloat(C.marginTop)||0}}return v}n.snapTabLayout=o;function l(m,p){let v=Math.abs(p.clientX-m.pressX),b=Math.abs(p.clientY-m.pressY);return v>=n.DRAG_THRESHOLD||b>=n.DRAG_THRESHOLD}n.dragExceeded=l;function c(m,p){let v=m.contentRect;return p.clientX<v.left-n.DETACH_THRESHOLD||p.clientX>=v.right+n.DETACH_THRESHOLD||p.clientY<v.top-n.DETACH_THRESHOLD||p.clientY>=v.bottom+n.DETACH_THRESHOLD}n.detachExceeded=c;function d(m,p,v,b){let _,y,C,E;b==="horizontal"?(_=p.pressX,y=v.clientX-p.contentRect.left,C=v.clientX,E=p.contentRect.width):(_=p.pressY,y=v.clientY-p.contentRect.top,C=v.clientY,E=p.contentRect.height);let I=p.index,M=y-p.tabPressPos,S=M+p.tabSize;for(let k=0,D=m.length;k<D;++k){let H,U=p.tabLayout[k],J=U.pos+(U.size>>1);if(k<p.index&&M<J)H=`${p.tabSize+p.tabLayout[k+1].margin}px`,I=Math.min(I,k);else if(k>p.index&&S>J)H=`${-p.tabSize-U.margin}px`,I=Math.max(I,k);else if(k===p.index){let B=C-_,K=E-(p.tabPos+p.tabSize);H=`${Math.max(-p.tabPos,Math.min(B,K))}px`}else H="";b==="horizontal"?m[k].style.left=H:m[k].style.top=H}p.targetIndex=I}n.layoutTabs=d;function h(m,p){let v;p==="horizontal"?v=m.contentRect.width:v=m.contentRect.height;let b;if(m.targetIndex===m.index)b=0;else if(m.targetIndex>m.index){let C=m.tabLayout[m.targetIndex];b=C.pos+C.size-m.tabSize-m.tabPos}else b=m.tabLayout[m.targetIndex].pos-m.tabPos;let _=v-(m.tabPos+m.tabSize),y=Math.max(-m.tabPos,Math.min(b,_));p==="horizontal"?m.tab.style.left=`${y}px`:m.tab.style.top=`${y}px`}n.finalizeTabPosition=h;function g(m,p){for(let v of m)p==="horizontal"?v.style.left="":v.style.top=""}n.resetTabPositions=g})(Pt||(Pt={}));var to=class extends pi{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=Jn.clampDimension(e.spacing)),this._document=e.document||document,this._hiddenMode=e.hiddenMode!==void 0?e.hiddenMode:j.HiddenMode.Display}dispose(){let e=this[Symbol.iterator]();this._items.forEach(r=>{r.dispose()}),this._box=null,this._root=null,this._items.clear();for(let r of e)r.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode!==e){this._hiddenMode=e;for(let r of this.tabBars())if(r.titles.length>1)for(let s of r.titles)s.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(e){e=Jn.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():(0,Z.empty)()}widgets(){return this._root?this._root.iterUserWidgets():(0,Z.empty)()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():(0,Z.empty)()}tabBars(){return this._root?this._root.iterTabBars():(0,Z.empty)()}handles(){return this._root?this._root.iterHandles():(0,Z.empty)()}moveHandle(e,r,s){let o=e.classList.contains("lm-mod-hidden");if(!this._root||o)return;let l=this._root.findSplitNode(e);if(!l)return;let c;l.node.orientation==="horizontal"?c=r-e.offsetLeft:c=s-e.offsetTop,c!==0&&(l.node.holdSizes(),Ct.adjust(l.node.sizers,l.index,c),this.parent&&this.parent.update())}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(e){let r=new Set,s;e.main?s=$e.normalizeAreaConfig(e.main,r):s=null;let o=this.widgets(),l=this.tabBars(),c=this.handles();this._root=null;for(let d of o)r.has(d)||(d.parent=null);for(let d of l)d.dispose();for(let d of c)d.parentNode&&d.parentNode.removeChild(d);for(let d of r)d.parent=this.parent;s?this._root=$e.realizeAreaConfig(s,{createTabBar:d=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document):this._root=null,this.parent&&(r.forEach(d=>{this.attachWidget(d)}),this.parent.fit())}addWidget(e,r={}){let s=r.ref||null,o=r.mode||"tab-after",l=null;if(this._root&&s&&(l=this._root.findTabNode(s)),s&&!l)throw new Error("Reference widget is not in the layout.");switch(e.parent=this.parent,o){case"tab-after":this._insertTab(e,s,l,!0);break;case"tab-before":this._insertTab(e,s,l,!1);break;case"split-top":this._insertSplit(e,s,l,"vertical",!1);break;case"split-left":this._insertSplit(e,s,l,"horizontal",!1);break;case"split-right":this._insertSplit(e,s,l,"horizontal",!0);break;case"split-bottom":this._insertSplit(e,s,l,"vertical",!0);break;case"merge-top":this._insertSplit(e,s,l,"vertical",!1,!0);break;case"merge-left":this._insertSplit(e,s,l,"horizontal",!1,!0);break;case"merge-right":this._insertSplit(e,s,l,"horizontal",!0,!0);break;case"merge-bottom":this._insertSplit(e,s,l,"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,r){if(!this._root||!this.parent||!this.parent.isVisible)return null;this._box||(this._box=Ce.boxSizing(this.parent.node));let s=this.parent.node.getBoundingClientRect(),o=e-s.left-this._box.borderLeft,l=r-s.top-this._box.borderTop,c=this._root.hitTestTabNodes(o,l);if(!c)return null;let{tabBar:d,top:h,left:g,width:m,height:p}=c,v=this._box.borderLeft+this._box.borderRight,b=this._box.borderTop+this._box.borderBottom,_=s.width-v-(g+m),y=s.height-b-(h+p);return{tabBar:d,x:o,y:l,top:h,left:g,right:_,bottom:y,width:m,height:p}}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 $i(e)),this.parent.isAttached&&X.sendMessage(e,j.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&X.sendMessage(e,j.Msg.AfterAttach))}detachWidget(e){if(this.parent.node!==e.node.parentNode)return;this.parent.isAttached&&X.sendMessage(e,j.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&X.sendMessage(e,j.Msg.AfterDetach);let r=this._items.get(e);r&&(this._items.delete(e),r.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 r=this._root.findTabNode(e);if(!r)return;if($e.removeAria(e),r.tabBar.titles.length>1){if(r.tabBar.removeTab(e.title),this._hiddenMode===j.HiddenMode.Scale&&r.tabBar.titles.length==1){let v=r.tabBar.titles[0].owner;v.hiddenMode=j.HiddenMode.Display}return}if(r.tabBar.dispose(),this._root===r){this._root=null;return}this._root.holdAllSizes();let s=r.parent;r.parent=null;let o=Z.ArrayExt.removeFirstOf(s.children,r),l=Z.ArrayExt.removeAt(s.handles,o);if(Z.ArrayExt.removeAt(s.sizers,o),l.parentNode&&l.parentNode.removeChild(l),s.children.length>1){s.syncHandles();return}let c=s.parent;s.parent=null;let d=s.children[0],h=s.handles[0];if(s.children.length=0,s.handles.length=0,s.sizers.length=0,h.parentNode&&h.parentNode.removeChild(h),this._root===s){d.parent=null,this._root=d;return}let g=c,m=g.children.indexOf(s);if(d instanceof $e.TabLayoutNode){d.parent=g,g.children[m]=d;return}let p=Z.ArrayExt.removeAt(g.handles,m);Z.ArrayExt.removeAt(g.children,m),Z.ArrayExt.removeAt(g.sizers,m),p.parentNode&&p.parentNode.removeChild(p);for(let v=0,b=d.children.length;v<b;++v){let _=d.children[v],y=d.handles[v],C=d.sizers[v];Z.ArrayExt.insert(g.children,m+v,_),Z.ArrayExt.insert(g.handles,m+v,y),Z.ArrayExt.insert(g.sizers,m+v,C),_.parent=g}d.children.length=0,d.handles.length=0,d.sizers.length=0,d.parent=null,g.syncHandles()}_createTabNode(e){let r=new $e.TabLayoutNode(this._createTabBar());return r.tabBar.addTab(e.title),$e.addAria(e,r.tabBar),r}_insertTab(e,r,s,o){if(e===r)return;if(!this._root){let c=new $e.TabLayoutNode(this._createTabBar());c.tabBar.addTab(e.title),this._root=c,$e.addAria(e,c.tabBar);return}s||(s=this._root.findFirstTabNode()),s.tabBar.titles.indexOf(e.title)===-1&&(this._removeWidget(e),e.hide());let l;if(r?l=s.tabBar.titles.indexOf(r.title):l=s.tabBar.currentIndex,this._hiddenMode===j.HiddenMode.Scale)if(s.tabBar.titles.length===0)e.hiddenMode=j.HiddenMode.Display;else if(s.tabBar.titles.length==1){let c=s.tabBar.titles[0].owner;c.hiddenMode=j.HiddenMode.Scale}else e.hiddenMode=j.HiddenMode.Scale;else e.hiddenMode=this._hiddenMode;s.tabBar.insertTab(l+(o?1:0),e.title),$e.addAria(e,s.tabBar)}_insertSplit(e,r,s,o,l,c=!1){if(e===r&&s&&s.tabBar.titles.length===1)return;if(this._removeWidget(e),!this._root){this._root=this._createTabNode(e);return}if(!s||!s.parent){let v=this._splitRoot(o),b=l?v.children.length:0;v.normalizeSizes();let _=$e.createSizer(s?1:$e.GOLDEN_RATIO),y=this._createTabNode(e);Z.ArrayExt.insert(v.children,b,y),Z.ArrayExt.insert(v.sizers,b,_),Z.ArrayExt.insert(v.handles,b,this._createHandle()),y.parent=v,v.normalizeSizes(),v.syncHandles();return}let d=s.parent;if(d.orientation===o){let v=d.children.indexOf(s);if(c){let C=v+(l?1:-1),E=d.children[C];if(E instanceof $e.TabLayoutNode){this._insertTab(e,null,E,!0),++E.tabBar.currentIndex;return}}d.normalizeSizes();let b=d.sizers[v].sizeHint/=2,_=v+(l?1:0),y=this._createTabNode(e);Z.ArrayExt.insert(d.children,_,y),Z.ArrayExt.insert(d.sizers,_,$e.createSizer(b)),Z.ArrayExt.insert(d.handles,_,this._createHandle()),y.parent=d,d.syncHandles();return}let h=Z.ArrayExt.removeFirstOf(d.children,s),g=new $e.SplitLayoutNode(o);g.normalized=!0,g.children.push(s),g.sizers.push($e.createSizer(.5)),g.handles.push(this._createHandle()),s.parent=g;let m=l?1:0,p=this._createTabNode(e);Z.ArrayExt.insert(g.children,m,p),Z.ArrayExt.insert(g.sizers,m,$e.createSizer(.5)),Z.ArrayExt.insert(g.handles,m,this._createHandle()),p.parent=g,g.syncHandles(),Z.ArrayExt.insert(d.children,h,g),g.parent=d}_splitRoot(e){let r=this._root;if(r instanceof $e.SplitLayoutNode&&r.orientation===e)return r;let s=this._root=new $e.SplitLayoutNode(e);return r&&(s.children.push(r),s.sizers.push($e.createSizer(0)),s.handles.push(this._createHandle()),r.parent=s),s}_fit(){let e=0,r=0;if(this._root){let l=this._root.fit(this._spacing,this._items);e=l.minWidth,r=l.minHeight}let s=this._box=Ce.boxSizing(this.parent.node);e+=s.horizontalSum,r+=s.verticalSum;let o=this.parent.node.style;o.minWidth=`${e}px`,o.minHeight=`${r}px`,this._dirty=!0,this.parent.parent&&X.sendMessage(this.parent.parent,j.Msg.FitRequest),this._dirty&&X.sendMessage(this.parent,j.Msg.UpdateRequest)}_update(e,r){if(this._dirty=!1,!this._root)return;e<0&&(e=this.parent.node.offsetWidth),r<0&&(r=this.parent.node.offsetHeight),this._box||(this._box=Ce.boxSizing(this.parent.node));let s=this._box.paddingTop,o=this._box.paddingLeft,l=e-this._box.horizontalSum,c=r-this._box.verticalSum;this._root.update(s,o,l,c,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(),r=e.style;return r.position="absolute",r.contain="strict",r.top="0",r.left="0",r.width="0",r.height="0",this.parent&&this.parent.node.appendChild(e),e}},$e;(function(n){n.GOLDEN_RATIO=.618;function e(v){let b=new Xt;return b.sizeHint=v,b.size=v,b}n.createSizer=e;function r(v,b){let _;return v.type==="tab-area"?_=h(v,b):_=g(v,b),_}n.normalizeAreaConfig=r;function s(v,b,_){let y;return v.type==="tab-area"?y=m(v,b,_):y=p(v,b,_),y}n.realizeAreaConfig=s;class o{constructor(b){this.parent=null,this._top=0,this._left=0,this._width=0,this._height=0;let _=new Xt,y=new Xt;_.stretch=0,y.stretch=1,this.tabBar=b,this.sizers=[_,y]}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 b of this.tabBar.titles)yield b.owner}*iterSelectedWidgets(){let b=this.tabBar.currentTitle;b&&(yield b.owner)}*iterTabBars(){yield this.tabBar}*iterHandles(){}findTabNode(b){return this.tabBar.titles.indexOf(b.title)!==-1?this:null}findSplitNode(b){return null}findFirstTabNode(){return this}hitTestTabNodes(b,_){return b<this._left||b>=this._left+this._width||_<this._top||_>=this._top+this._height?null:this}createConfig(){let b=this.tabBar.titles.map(y=>y.owner),_=this.tabBar.currentIndex;return{type:"tab-area",widgets:b,currentIndex:_}}holdAllSizes(){}fit(b,_){let y=0,C=0,E=1/0,I=1/0,M=_.get(this.tabBar),S=this.tabBar.currentTitle,k=S?_.get(S.owner):void 0,[D,H]=this.sizers;return M&&M.fit(),k&&k.fit(),M&&!M.isHidden?(y=Math.max(y,M.minWidth),C+=M.minHeight,D.minSize=M.minHeight,D.maxSize=M.maxHeight):(D.minSize=0,D.maxSize=0),k&&!k.isHidden?(y=Math.max(y,k.minWidth),C+=k.minHeight,H.minSize=k.minHeight,H.maxSize=1/0):(H.minSize=0,H.maxSize=1/0),{minWidth:y,minHeight:C,maxWidth:E,maxHeight:I}}update(b,_,y,C,E,I){this._top=_,this._left=b,this._width=y,this._height=C;let M=I.get(this.tabBar),S=this.tabBar.currentTitle,k=S?I.get(S.owner):void 0;if(Ct.calc(this.sizers,C),M&&!M.isHidden){let D=this.sizers[0].size;M.update(b,_,y,D),_+=D}if(k&&!k.isHidden){let D=this.sizers[1].size;k.update(b,_,y,D)}}}n.TabLayoutNode=o;class l{constructor(b){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=b}*iterAllWidgets(){for(let b of this.children)yield*b.iterAllWidgets()}*iterUserWidgets(){for(let b of this.children)yield*b.iterUserWidgets()}*iterSelectedWidgets(){for(let b of this.children)yield*b.iterSelectedWidgets()}*iterTabBars(){for(let b of this.children)yield*b.iterTabBars()}*iterHandles(){yield*this.handles;for(let b of this.children)yield*b.iterHandles()}findTabNode(b){for(let _=0,y=this.children.length;_<y;++_){let C=this.children[_].findTabNode(b);if(C)return C}return null}findSplitNode(b){let _=this.handles.indexOf(b);if(_!==-1)return{index:_,node:this};for(let y=0,C=this.children.length;y<C;++y){let E=this.children[y].findSplitNode(b);if(E)return E}return null}findFirstTabNode(){return this.children.length===0?null:this.children[0].findFirstTabNode()}hitTestTabNodes(b,_){for(let y=0,C=this.children.length;y<C;++y){let E=this.children[y].hitTestTabNodes(b,_);if(E)return E}return null}createConfig(){let b=this.orientation,_=this.createNormalizedSizes(),y=this.children.map(C=>C.createConfig());return{type:"split-area",orientation:b,children:y,sizes:_}}syncHandles(){this.handles.forEach((b,_)=>{b.setAttribute("data-orientation",this.orientation),_===this.handles.length-1?b.classList.add("lm-mod-hidden"):b.classList.remove("lm-mod-hidden")})}holdSizes(){for(let b of this.sizers)b.sizeHint=b.size}holdAllSizes(){for(let b of this.children)b.holdAllSizes();this.holdSizes()}normalizeSizes(){let b=this.sizers.length;if(b===0)return;this.holdSizes();let _=this.sizers.reduce((y,C)=>y+C.sizeHint,0);if(_===0)for(let y of this.sizers)y.size=y.sizeHint=1/b;else for(let y of this.sizers)y.size=y.sizeHint/=_;this.normalized=!0}createNormalizedSizes(){let b=this.sizers.length;if(b===0)return[];let _=this.sizers.map(C=>C.size),y=_.reduce((C,E)=>C+E,0);if(y===0)for(let C=_.length-1;C>-1;C--)_[C]=1/b;else for(let C=_.length-1;C>-1;C--)_[C]/=y;return _}fit(b,_){let y=this.orientation==="horizontal",C=Math.max(0,this.children.length-1)*b,E=y?C:0,I=y?0:C,M=1/0,S=1/0;for(let k=0,D=this.children.length;k<D;++k){let H=this.children[k].fit(b,_);y?(I=Math.max(I,H.minHeight),E+=H.minWidth,this.sizers[k].minSize=H.minWidth):(E=Math.max(E,H.minWidth),I+=H.minHeight,this.sizers[k].minSize=H.minHeight)}return{minWidth:E,minHeight:I,maxWidth:M,maxHeight:S}}update(b,_,y,C,E,I){let M=this.orientation==="horizontal",S=Math.max(0,this.children.length-1)*E,k=Math.max(0,(M?y:C)-S);if(this.normalized){for(let D of this.sizers)D.sizeHint*=k;this.normalized=!1}Ct.calc(this.sizers,k);for(let D=0,H=this.children.length;D<H;++D){let U=this.children[D],J=this.sizers[D].size,B=this.handles[D].style;M?(U.update(b,_,J,C,E,I),b+=J,B.top=`${_}px`,B.left=`${b}px`,B.width=`${E}px`,B.height=`${C}px`,b+=E):(U.update(b,_,y,J,E,I),_+=J,B.top=`${_}px`,B.left=`${b}px`,B.width=`${y}px`,B.height=`${E}px`,_+=E)}}}n.SplitLayoutNode=l;function c(v,b){v.node.setAttribute("role","tabpanel");let _=b.renderer;if(_ instanceof jt.Renderer){let y=_.createTabKey({title:v.title,current:!1,zIndex:0});v.node.setAttribute("aria-labelledby",y)}}n.addAria=c;function d(v){v.node.removeAttribute("role"),v.node.removeAttribute("aria-labelledby")}n.removeAria=d;function h(v,b){if(v.widgets.length===0)return null;let _=[];for(let C of v.widgets)b.has(C)||(b.add(C),_.push(C));if(_.length===0)return null;let y=v.currentIndex;return y!==-1&&(y<0||y>=_.length)&&(y=0),{type:"tab-area",widgets:_,currentIndex:y}}function g(v,b){let _=v.orientation,y=[],C=[];for(let E=0,I=v.children.length;E<I;++E){let M=r(v.children[E],b);M&&(M.type==="tab-area"||M.orientation!==_?(y.push(M),C.push(Math.abs(v.sizes[E]||0))):(y.push(...M.children),C.push(...M.sizes)))}return y.length===0?null:y.length===1?y[0]:{type:"split-area",orientation:_,children:y,sizes:C}}function m(v,b,_){let y=b.createTabBar(_);for(let C of v.widgets)C.hide(),y.addTab(C.title),n.addAria(C,y);return y.currentIndex=v.currentIndex,new o(y)}function p(v,b,_){let y=new l(v.orientation);return v.children.forEach((C,E)=>{let I=s(C,b,_),M=e(v.sizes[E]),S=b.createHandle();y.children.push(I),y.handles.push(S),y.sizers.push(M),I.parent=y}),y.syncHandles(),y.normalizeSizes(),y}})($e||($e={}));var Ki=class n extends j{constructor(e={}){super(),this._drag=null,this._tabsMovable=!0,this._tabsConstrained=!1,this._addButtonEnabled=!1,this._pressData=null,this._layoutModified=new Ie(this),this._addRequested=new Ie(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||qe.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 r={createTabBar:()=>this._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new to({document:this._document,renderer:r,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 r=this.layout;switch(e){case"multiple-document":for(let s of r.tabBars())s.show();break;case"single-document":r.restoreLayout(qe.createSingleDocumentConfig(this));break;default:throw"unreachable"}X.postMessage(this,qe.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(e){this._tabsMovable=e;for(let r of this.tabBars())r.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 r of this.tabBars())r.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 r=(0,Z.find)(this.tabBars(),s=>s.titles.indexOf(e.title)!==-1);if(!r)throw new Error("Widget is not contained in the dock panel.");r.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),(tt.IS_EDGE||tt.IS_IE)&&X.flush(),X.postMessage(this,qe.LayoutModified)}addWidget(e,r={}){this._mode==="single-document"?this.layout.addWidget(e):this.layout.addWidget(e,r),X.postMessage(this,qe.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){qe.isGeneratedTabBarProperty.get(e.child)||e.child.addClass("lm-DockPanel-widget")}onChildRemoved(e){qe.isGeneratedTabBarProperty.get(e.child)||(e.child.removeClass("lm-DockPanel-widget"),X.postMessage(this,qe.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:r,clientY:s}=e,{zone:o,target:l}=qe.findDropTarget(this,r,s,this._edges);if(this._tabsConstrained&&e.source!==this||o==="invalid"){e.dropAction="none";return}let d=e.mimeData.getData("application/vnd.lumino.widget-factory");if(typeof d!="function"){e.dropAction="none";return}let h=d();if(!(h instanceof j)){e.dropAction="none";return}if(h.contains(this)){e.dropAction="none";return}let g=l?qe.getDropRef(l.tabBar):null;switch(o){case"root-all":this.addWidget(h);break;case"root-top":this.addWidget(h,{mode:"split-top"});break;case"root-left":this.addWidget(h,{mode:"split-left"});break;case"root-right":this.addWidget(h,{mode:"split-right"});break;case"root-bottom":this.addWidget(h,{mode:"split-bottom"});break;case"widget-all":this.addWidget(h,{mode:"tab-after",ref:g});break;case"widget-top":this.addWidget(h,{mode:"split-top",ref:g});break;case"widget-left":this.addWidget(h,{mode:"split-left",ref:g});break;case"widget-right":this.addWidget(h,{mode:"split-right",ref:g});break;case"widget-bottom":this.addWidget(h,{mode:"split-bottom",ref:g});break;case"widget-tab":this.addWidget(h,{mode:"tab-after",ref:g});break;default:throw"unreachable"}e.dropAction=e.proposedAction,e.stopPropagation(),this.activateWidget(h)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),e.keyCode===27&&(this._releaseMouse(),X.postMessage(this,qe.LayoutModified))}_evtPointerDown(e){if(e.button!==0)return;let r=this.layout,s=e.target,o=(0,Z.find)(r.handles(),m=>m.contains(s));if(!o)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 l=o.getBoundingClientRect(),c=e.clientX-l.left,d=e.clientY-l.top,h=window.getComputedStyle(o),g=ut.overrideCursor(h.cursor,this._document);this._pressData={handle:o,deltaX:c,deltaY:d,override:g}}_evtPointerMove(e){if(!this._pressData)return;e.preventDefault(),e.stopPropagation();let r=this.node.getBoundingClientRect(),s=e.clientX-r.left-this._pressData.deltaX,o=e.clientY-r.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,s,o)}_evtPointerUp(e){e.button===0&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse(),X.postMessage(this,qe.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,r){let{zone:s,target:o}=qe.findDropTarget(this,e,r,this._edges);if(s==="invalid")return this.overlay.hide(100),s;let l,c,d,h,g=Ce.boxSizing(this.node),m=this.node.getBoundingClientRect();switch(s){case"root-all":l=g.paddingTop,c=g.paddingLeft,d=g.paddingRight,h=g.paddingBottom;break;case"root-top":l=g.paddingTop,c=g.paddingLeft,d=g.paddingRight,h=m.height*qe.GOLDEN_RATIO;break;case"root-left":l=g.paddingTop,c=g.paddingLeft,d=m.width*qe.GOLDEN_RATIO,h=g.paddingBottom;break;case"root-right":l=g.paddingTop,c=m.width*qe.GOLDEN_RATIO,d=g.paddingRight,h=g.paddingBottom;break;case"root-bottom":l=m.height*qe.GOLDEN_RATIO,c=g.paddingLeft,d=g.paddingRight,h=g.paddingBottom;break;case"widget-all":l=o.top,c=o.left,d=o.right,h=o.bottom;break;case"widget-top":l=o.top,c=o.left,d=o.right,h=o.bottom+o.height/2;break;case"widget-left":l=o.top,c=o.left,d=o.right+o.width/2,h=o.bottom;break;case"widget-right":l=o.top,c=o.left+o.width/2,d=o.right,h=o.bottom;break;case"widget-bottom":l=o.top+o.height/2,c=o.left,d=o.right,h=o.bottom;break;case"widget-tab":{let p=o.tabBar.node.getBoundingClientRect().height;l=o.top,c=o.left,d=o.right,h=o.bottom+o.height-p;break}default:throw"unreachable"}return this.overlay.show({top:l,left:c,right:d,bottom:h}),s}_createTabBar(){let e=this._renderer.createTabBar(this._document);return qe.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(){X.postMessage(this,qe.LayoutModified)}_onCurrentChanged(e,r){let{previousTitle:s,currentTitle:o}=r;s&&s.owner.hide(),o&&o.owner.show(),(tt.IS_EDGE||tt.IS_IE)&&X.flush(),X.postMessage(this,qe.LayoutModified)}_onTabAddRequested(e){this._addRequested.emit(e)}_onTabActivateRequested(e,r){r.title.owner.activate()}_onTabCloseRequested(e,r){r.title.owner.close()}_onTabDetachRequested(e,r){if(this._drag)return;e.releaseMouse();let{title:s,tab:o,clientX:l,clientY:c,offset:d}=r,h=new mi.MimeData,g=()=>s.owner;h.setData("application/vnd.lumino.widget-factory",g);let m=o.cloneNode(!0);d&&(m.style.top=`-${d.y}px`,m.style.left=`-${d.x}px`),this._drag=new ut({document:this._document,mimeData:h,dragImage:m,proposedAction:"move",supportedActions:"move",source:this}),o.classList.add("lm-mod-hidden");let p=()=>{this._drag=null,o.classList.remove("lm-mod-hidden")};this._drag.start(l,c).then(p)}};(function(n){class e{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(o){let l=this.node.style;l.top=`${o.top}px`,l.left=`${o.left}px`,l.right=`${o.right}px`,l.bottom=`${o.bottom}px`,clearTimeout(this._timer),this._timer=-1,this._hidden&&(this._hidden=!1,this.node.classList.remove("lm-mod-hidden"))}hide(o){if(!this._hidden){if(o<=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")},o))}}}n.Overlay=e;class r{createTabBar(o){let l=new jt({document:o});return l.addClass("lm-DockPanel-tabBar"),l}createHandle(){let o=document.createElement("div");return o.className="lm-DockPanel-handle",o}}n.Renderer=r,n.defaultRenderer=new r})(Ki||(Ki={}));var qe;(function(n){n.GOLDEN_RATIO=.618,n.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},n.LayoutModified=new Ii("layout-modified"),n.isGeneratedTabBarProperty=new lt({name:"isGeneratedTabBar",create:()=>!1});function e(o){if(o.isEmpty)return{main:null};let l=Array.from(o.widgets()),c=o.selectedWidgets().next().value,d=c?l.indexOf(c):-1;return{main:{type:"tab-area",widgets:l,currentIndex:d}}}n.createSingleDocumentConfig=e;function r(o,l,c,d){if(!Ce.hitTest(o.node,l,c))return{zone:"invalid",target:null};let h=o.layout;if(h.isEmpty)return{zone:"root-all",target:null};if(o.mode==="multiple-document"){let M=o.node.getBoundingClientRect(),S=l-M.left+1,k=c-M.top+1,D=M.right-l,H=M.bottom-c;switch(Math.min(k,D,H,S)){case k:if(k<d.top)return{zone:"root-top",target:null};break;case D:if(D<d.right)return{zone:"root-right",target:null};break;case H:if(H<d.bottom)return{zone:"root-bottom",target:null};break;case S:if(S<d.left)return{zone:"root-left",target:null};break;default:throw"unreachable"}}let g=h.hitTestTabAreas(l,c);if(!g)return{zone:"invalid",target:null};if(o.mode==="single-document")return{zone:"widget-all",target:g};let m=g.x-g.left+1,p=g.y-g.top+1,v=g.left+g.width-g.x,b=g.top+g.height-g.y,_=g.tabBar.node.getBoundingClientRect().height;if(p<_)return{zone:"widget-tab",target:g};let y=Math.round(g.width/3),C=Math.round(g.height/3);if(m>y&&v>y&&p>C&&b>C)return{zone:"widget-all",target:g};m/=y,p/=C,v/=y,b/=C;let E=Math.min(m,p,v,b),I;switch(E){case m:I="widget-left";break;case p:I="widget-top";break;case v:I="widget-right";break;case b:I="widget-bottom";break;default:throw"unreachable"}return{zone:I,target:g}}n.findDropTarget=r;function s(o){return o.titles.length===0?null:o.currentTitle?o.currentTitle.owner:o.titles[o.titles.length-1].owner}n.getDropRef=s})(qe||(qe={}));var er=class n extends pi{constructor(e={}){super(e),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new Xt],this._columnSizers=[new Xt],this._box=null,e.rowCount!==void 0&&Ge.reallocSizers(this._rowSizers,e.rowCount),e.columnCount!==void 0&&Ge.reallocSizers(this._columnSizers,e.columnCount),e.rowSpacing!==void 0&&(this._rowSpacing=Ge.clampValue(e.rowSpacing)),e.columnSpacing!==void 0&&(this._columnSpacing=Ge.clampValue(e.columnSpacing))}dispose(){for(let e of this._items){let r=e.widget;e.dispose(),r.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&&(Ge.reallocSizers(this._rowSizers,e),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(e){e!==this.columnCount&&(Ge.reallocSizers(this._columnSizers,e),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(e){e=Ge.clampValue(e),this._rowSpacing!==e&&(this._rowSpacing=e,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(e){e=Ge.clampValue(e),this._columnSpacing!==e&&(this._columnSpacing=e,this.parent&&this.parent.fit())}rowStretch(e){let r=this._rowSizers[e];return r?r.stretch:-1}setRowStretch(e,r){let s=this._rowSizers[e];s&&(r=Ge.clampValue(r),s.stretch!==r&&(s.stretch=r,this.parent&&this.parent.update()))}columnStretch(e){let r=this._columnSizers[e];return r?r.stretch:-1}setColumnStretch(e,r){let s=this._columnSizers[e];s&&(r=Ge.clampValue(r),s.stretch!==r&&(s.stretch=r,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(let e of this._items)yield e.widget}addWidget(e){Z.ArrayExt.findFirstIndex(this._items,s=>s.widget===e)===-1&&(this._items.push(new $i(e)),this.parent&&this.attachWidget(e))}removeWidget(e){let r=Z.ArrayExt.findFirstIndex(this._items,o=>o.widget===e);if(r===-1)return;let s=Z.ArrayExt.removeAt(this._items,r);this.parent&&this.detachWidget(e),s.dispose()}init(){super.init();for(let e of this)this.attachWidget(e)}attachWidget(e){this.parent.isAttached&&X.sendMessage(e,j.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&X.sendMessage(e,j.Msg.AfterAttach),this.parent.fit()}detachWidget(e){this.parent.isAttached&&X.sendMessage(e,j.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&X.sendMessage(e,j.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 h=0,g=this.rowCount;h<g;++h)this._rowSizers[h].minSize=0;for(let h=0,g=this.columnCount;h<g;++h)this._columnSizers[h].minSize=0;let e=this._items.filter(h=>!h.isHidden);for(let h=0,g=e.length;h<g;++h)e[h].fit();let r=this.rowCount-1,s=this.columnCount-1;e.sort(Ge.rowSpanCmp);for(let h=0,g=e.length;h<g;++h){let m=e[h],p=n.getCellConfig(m.widget),v=Math.min(p.row,r),b=Math.min(p.row+p.rowSpan-1,r);Ge.distributeMin(this._rowSizers,v,b,m.minHeight)}e.sort(Ge.columnSpanCmp);for(let h=0,g=e.length;h<g;++h){let m=e[h],p=n.getCellConfig(m.widget),v=Math.min(p.column,s),b=Math.min(p.column+p.columnSpan-1,s);Ge.distributeMin(this._columnSizers,v,b,m.minWidth)}if(this.fitPolicy==="set-no-constraint"){X.sendMessage(this.parent,j.Msg.UpdateRequest);return}let o=r*this._rowSpacing,l=s*this._columnSpacing;for(let h=0,g=this.rowCount;h<g;++h)o+=this._rowSizers[h].minSize;for(let h=0,g=this.columnCount;h<g;++h)l+=this._columnSizers[h].minSize;let c=this._box=Ce.boxSizing(this.parent.node);l+=c.horizontalSum,o+=c.verticalSum;let d=this.parent.node.style;d.minWidth=`${l}px`,d.minHeight=`${o}px`,this._dirty=!0,this.parent.parent&&X.sendMessage(this.parent.parent,j.Msg.FitRequest),this._dirty&&X.sendMessage(this.parent,j.Msg.UpdateRequest)}_update(e,r){this._dirty=!1,e<0&&(e=this.parent.node.offsetWidth),r<0&&(r=this.parent.node.offsetHeight),this._box||(this._box=Ce.boxSizing(this.parent.node));let s=this._box.paddingTop,o=this._box.paddingLeft,l=e-this._box.horizontalSum,c=r-this._box.verticalSum,d=this.rowCount-1,h=this.columnCount-1,g=d*this._rowSpacing,m=h*this._columnSpacing;Ct.calc(this._rowSizers,Math.max(0,c-g)),Ct.calc(this._columnSizers,Math.max(0,l-m));for(let p=0,v=s,b=this.rowCount;p<b;++p)this._rowStarts[p]=v,v+=this._rowSizers[p].size+this._rowSpacing;for(let p=0,v=o,b=this.columnCount;p<b;++p)this._columnStarts[p]=v,v+=this._columnSizers[p].size+this._columnSpacing;for(let p=0,v=this._items.length;p<v;++p){let b=this._items[p];if(b.isHidden)continue;let _=n.getCellConfig(b.widget),y=Math.min(_.row,d),C=Math.min(_.column,h),E=Math.min(_.row+_.rowSpan-1,d),I=Math.min(_.column+_.columnSpan-1,h),M=this._columnStarts[C],S=this._rowStarts[y],k=this._columnStarts[I]+this._columnSizers[I].size-M,D=this._rowStarts[E]+this._rowSizers[E].size-S;b.update(M,S,k,D)}}};(function(n){function e(s){return Ge.cellConfigProperty.get(s)}n.getCellConfig=e;function r(s,o){Ge.cellConfigProperty.set(s,Ge.normalizeConfig(o))}n.setCellConfig=r})(er||(er={}));var Ge;(function(n){n.cellConfigProperty=new lt({name:"cellConfig",create:()=>({row:0,column:0,rowSpan:1,columnSpan:1}),changed:d});function e(h){let g=Math.max(0,Math.floor(h.row||0)),m=Math.max(0,Math.floor(h.column||0)),p=Math.max(1,Math.floor(h.rowSpan||0)),v=Math.max(1,Math.floor(h.columnSpan||0));return{row:g,column:m,rowSpan:p,columnSpan:v}}n.normalizeConfig=e;function r(h){return Math.max(0,Math.floor(h))}n.clampValue=r;function s(h,g){let m=n.cellConfigProperty.get(h.widget),p=n.cellConfigProperty.get(g.widget);return m.rowSpan-p.rowSpan}n.rowSpanCmp=s;function o(h,g){let m=n.cellConfigProperty.get(h.widget),p=n.cellConfigProperty.get(g.widget);return m.columnSpan-p.columnSpan}n.columnSpanCmp=o;function l(h,g){for(g=Math.max(1,Math.floor(g));h.length<g;)h.push(new Xt);h.length>g&&(h.length=g)}n.reallocSizers=l;function c(h,g,m,p){if(m<g)return;if(g===m){let _=h[g];_.minSize=Math.max(_.minSize,p);return}let v=0;for(let _=g;_<=m;++_)v+=h[_].minSize;if(v>=p)return;let b=(p-v)/(m-g+1);for(let _=g;_<=m;++_)h[_].minSize+=b}n.distributeMin=c;function d(h){h.parent&&h.parent.layout instanceof er&&h.parent.fit()}})(Ge||(Ge={}));var hs=class n extends j{constructor(e={}){super({node:fs.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(j.Flag.DisallowLayout),this.renderer=e.renderer||n.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,r=!0){this.insertMenu(this._menus.length,e,r)}insertMenu(e,r,s=!0){this._closeChildMenu();let o=this._menus.indexOf(r),l=Math.max(0,Math.min(e,this._menus.length));if(o===-1){Z.ArrayExt.insert(this._menus,l,r),r.addClass("lm-MenuBar-menu"),r.aboutToClose.connect(this._onMenuAboutToClose,this),r.menuRequested.connect(this._onMenuMenuRequested,this),r.title.changed.connect(this._onTitleChanged,this),s&&this.update();return}l===this._menus.length&&l--,o!==l&&(Z.ArrayExt.move(this._menus,o,l),s&&this.update())}removeMenu(e,r=!0){this.removeMenuAt(this._menus.indexOf(e),r)}removeMenuAt(e,r=!0){this._closeChildMenu();let s=Z.ArrayExt.removeAt(this._menus,e);s&&(s.aboutToClose.disconnect(this._onMenuAboutToClose,this),s.menuRequested.disconnect(this._onMenuMenuRequested,this),s.title.changed.disconnect(this._onTitleChanged,this),s.removeClass("lm-MenuBar-menu"),r&&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"mousedown":this._evtMouseDown(e);break;case"mousemove":this._evtMouseMove(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("mousedown",this),this.node.addEventListener("mousemove",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("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 r;let s=this._menus,o=this.renderer,l=this._activeIndex,c=this._tabFocusIndex>=0&&this._tabFocusIndex<s.length?this._tabFocusIndex:0,d=this._overflowIndex>-1?this._overflowIndex:s.length,h=0,g=!1;d=this._overflowMenu!==null?d-1:d;let m=new Array(d);for(let p=0;p<d;++p)m[p]=o.renderItem({title:s[p].title,active:p===l,tabbable:p===c,disabled:s[p].items.length===0,onfocus:()=>{this._tabFocusIndex=p,this.activeIndex=p}}),h+=this._menuItemSizes[p],s[p].title.label===this._overflowMenuOptions.title&&(g=!0,d--);if(this._overflowMenuOptions.isVisible){if(this._overflowIndex>-1&&!g){if(this._overflowMenu===null){let p=(r=this._overflowMenuOptions.title)!==null&&r!==void 0?r:"...";this._overflowMenu=new $t({commands:new Mt}),this._overflowMenu.title.label=p,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let p=s.length-2;p>=d;p--){let v=this.menus[p];v.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:"submenu",submenu:v}),this.removeMenu(v,!1)}m[d]=o.renderItem({title:this._overflowMenu.title,active:d===l&&s[d].items.length!==0,tabbable:d===c,disabled:s[d].items.length===0,onfocus:()=>{this._tabFocusIndex=d,this.activeIndex=d}}),d++}else if(this._overflowMenu!==null){let p=this._overflowMenu.items,v=this.node.offsetWidth,b=this._overflowMenu.items.length;for(let _=0;_<b;++_){let y=s.length-1-_;if(v-h>this._menuItemSizes[y]){let C=p[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(d,C,!1),m[d]=o.renderItem({title:C.title,active:!1,tabbable:d===c,disabled:s[d].items.length===0,onfocus:()=>{this._tabFocusIndex=d,this.activeIndex=d}}),d++}}this._overflowMenu.items.length===0&&(this.removeMenu(this._overflowMenu,!1),m.pop(),this._overflowMenu=null,this._overflowIndex=-1)}}Dt.render(m,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;let e=this.contentNode.childNodes,r=this.node.offsetWidth,s=0,o=-1,l=e.length;if(this._menuItemSizes.length==0)for(let c=0;c<l;c++){let d=e[c];s+=d.offsetWidth,this._menuItemSizes.push(d.offsetWidth),s>r&&o===-1&&(o=c)}else for(let c=0;c<this._menuItemSizes.length;c++)if(s+=this._menuItemSizes[c],s>r){o=c;break}this._overflowIndex=o}_evtKeyDown(e){let r=e.keyCode;if(r===9){this.activeIndex=-1;return}if(e.preventDefault(),e.stopPropagation(),r===13||r===32||r===38||r===40){if(this.activeIndex=this._tabFocusIndex,this.activeIndex!==this._tabFocusIndex)return;this.openActiveMenu();return}if(r===27){this._closeChildMenu(),this._focusItemAt(this.activeIndex);return}if(r===37||r===39){let c=r===37?-1:1,d=this._tabFocusIndex+c,h=this._menus.length;for(let g=0;g<h;g++){let m=(h+d+c*g)%h;if(this._menus[m].items.length){this._focusItemAt(m);return}}return}let s=mn().keyForKeydownEvent(e);if(!s)return;let o=this._activeIndex+1,l=fs.findMnemonic(this._menus,s,o);l.index!==-1&&!l.multiple?(this.activeIndex=l.index,this.openActiveMenu()):l.index!==-1?(this.activeIndex=l.index,this._focusItemAt(this.activeIndex)):l.auto!==-1&&(this.activeIndex=l.auto,this._focusItemAt(this.activeIndex))}_evtMouseDown(e){if(!Ce.hitTest(this.node,e.clientX,e.clientY))return;e.stopPropagation(),e.stopImmediatePropagation();let r=Z.ArrayExt.findFirstIndex(this.contentNode.children,s=>Ce.hitTest(s,e.clientX,e.clientY));if(r===-1){this._closeChildMenu();return}if(e.button===0)if(this._childMenu)this._closeChildMenu(),this.activeIndex=r;else{e.preventDefault();let s=this._positionForMenu(r);$t.saveWindowData(),this.activeIndex=r,this._openChildMenu(s)}}_evtMouseMove(e){let r=Z.ArrayExt.findFirstIndex(this.contentNode.children,o=>Ce.hitTest(o,e.clientX,e.clientY));if(r===this._activeIndex||r===-1&&this._childMenu)return;let s=r>=0&&this._childMenu?this._positionForMenu(r):null;$t.saveWindowData(),this.activeIndex=r,s&&this._openChildMenu(s)}_positionForMenu(e){let r=this.contentNode.children[e],{left:s,bottom:o}=r.getBoundingClientRect();return{top:o,left:s}}_evtFocusOut(e){!this._childMenu&&!this.node.contains(e.relatedTarget)&&(this.activeIndex=-1)}_focusItemAt(e){let r=this.contentNode.childNodes[e];r&&r.focus()}_openChildMenu(e={}){let r=this.activeMenu;if(!r){this._closeChildMenu();return}let s=this._childMenu;if(s===r)return;this._childMenu=r,s?s.close():document.addEventListener("mousedown",this,!0),this._tabFocusIndex=this.activeIndex,X.sendMessage(this,j.Msg.UpdateRequest);let{left:o,top:l}=e;(typeof o>"u"||typeof l>"u")&&({left:o,top:l}=this._positionForMenu(this._activeIndex)),s||this.addClass("lm-mod-active"),r.items.length>0&&r.open(o,l,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,r){if(e!==this._childMenu)return;let s=this._activeIndex,o=this._menus.length;switch(r){case"next":this.activeIndex=s===o-1?0:s+1;break;case"previous":this.activeIndex=s===0?o-1:s-1;break}this.openActiveMenu()}_onTitleChanged(){this.update()}};(function(n){class e{renderItem(s){let o=this.createItemClass(s),l=this.createItemDataset(s),c=this.createItemARIA(s);return _e.li({className:o,dataset:l,...s.disabled?{}:{tabindex:s.tabbable?"0":"-1"},onfocus:s.onfocus,...c},this.renderIcon(s),this.renderLabel(s))}renderIcon(s){let o=this.createIconClass(s);return _e.div({className:o},s.title.icon,s.title.iconLabel)}renderLabel(s){let o=this.formatLabel(s);return _e.div({className:"lm-MenuBar-itemLabel"},o)}createItemClass(s){let o="lm-MenuBar-item";return s.title.className&&(o+=` ${s.title.className}`),s.active&&!s.disabled&&(o+=" lm-mod-active"),o}createItemDataset(s){return s.title.dataset}createItemARIA(s){return{role:"menuitem","aria-haspopup":"true","aria-disabled":s.disabled?"true":"false"}}createIconClass(s){let o="lm-MenuBar-itemIcon",l=s.title.iconClass;return l?`${o} ${l}`:o}formatLabel(s){let{label:o,mnemonic:l}=s.title;if(l<0||l>=o.length)return o;let c=o.slice(0,l),d=o.slice(l+1),h=o[l],g=_e.span({className:"lm-MenuBar-itemMnemonic"},h);return[c,g,d]}}n.Renderer=e,n.defaultRenderer=new e})(hs||(hs={}));var fs;(function(n){function e(){let s=document.createElement("div"),o=document.createElement("ul");return o.className="lm-MenuBar-content",s.appendChild(o),o.setAttribute("role","menubar"),s}n.createNode=e;function r(s,o,l){let c=-1,d=-1,h=!1,g=o.toUpperCase();for(let m=0,p=s.length;m<p;++m){let v=(m+l)%p,b=s[v].title;if(b.label.length===0)continue;let _=b.mnemonic;if(_>=0&&_<b.label.length){b.label[_].toUpperCase()===g&&(c===-1?c=v:h=!0);continue}d===-1&&b.label[0].toUpperCase()===g&&(d=v)}return{index:c,multiple:h,auto:d}}n.findMnemonic=r})(fs||(fs={}));var wd;(function(n){function e(){let s=document.createElement("div"),o=document.createElement("div"),l=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div");return o.className="lm-ScrollBar-button",l.className="lm-ScrollBar-button",o.dataset.action="decrement",l.dataset.action="increment",c.className="lm-ScrollBar-track",d.className="lm-ScrollBar-thumb",c.appendChild(d),s.appendChild(o),s.appendChild(c),s.appendChild(l),s}n.createNode=e;function r(s,o){return s.thumbNode.contains(o)?"thumb":s.trackNode.contains(o)?"track":s.decrementNode.contains(o)?"decrement":s.incrementNode.contains(o)?"increment":null}n.findPart=r})(wd||(wd={}));var io=class extends bn{constructor(e={}){super(e),this._dirty=!1,this._items=[],this._box=null,this._hiddenMode=e.hiddenMode!==void 0?e.hiddenMode:j.HiddenMode.Display}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){this._hiddenMode!==e&&(this._hiddenMode=e,this.widgets.length>1&&this.widgets.forEach(r=>{r.hiddenMode=this._hiddenMode}))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(e,r){this._hiddenMode===j.HiddenMode.Scale&&this._items.length>0?(this._items.length===1&&(this.widgets[0].hiddenMode=j.HiddenMode.Scale),r.hiddenMode=j.HiddenMode.Scale):r.hiddenMode=j.HiddenMode.Display,Z.ArrayExt.insert(this._items,e,new $i(r)),this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeAttach),this.parent.node.appendChild(r.node),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterAttach),this.parent.fit()}moveWidget(e,r,s){Z.ArrayExt.move(this._items,e,r),this.parent.update()}detachWidget(e,r){let s=Z.ArrayExt.removeAt(this._items,e);this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeDetach),this.parent.node.removeChild(r.node),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterDetach),s.widget.node.style.zIndex="",this._hiddenMode===j.HiddenMode.Scale&&(r.hiddenMode=j.HiddenMode.Display,this._items.length===1&&(this._items[0].widget.hiddenMode=j.HiddenMode.Display)),s.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,r=0;for(let l=0,c=this._items.length;l<c;++l){let d=this._items[l];d.isHidden||(d.fit(),e=Math.max(e,d.minWidth),r=Math.max(r,d.minHeight))}let s=this._box=Ce.boxSizing(this.parent.node);e+=s.horizontalSum,r+=s.verticalSum;let o=this.parent.node.style;o.minWidth=`${e}px`,o.minHeight=`${r}px`,this._dirty=!0,this.parent.parent&&X.sendMessage(this.parent.parent,j.Msg.FitRequest),this._dirty&&X.sendMessage(this.parent,j.Msg.UpdateRequest)}_update(e,r){this._dirty=!1;let s=0;for(let h=0,g=this._items.length;h<g;++h)s+=+!this._items[h].isHidden;if(s===0)return;e<0&&(e=this.parent.node.offsetWidth),r<0&&(r=this.parent.node.offsetHeight),this._box||(this._box=Ce.boxSizing(this.parent.node));let o=this._box.paddingTop,l=this._box.paddingLeft,c=e-this._box.horizontalSum,d=r-this._box.verticalSum;for(let h=0,g=this._items.length;h<g;++h){let m=this._items[h];m.isHidden||(m.widget.node.style.zIndex=`${h}`,m.update(l,o,c,d))}}};var yd;(function(n){function e(r){return r.layout||new io}n.createLayout=e})(yd||(yd={}));var xd;(function(n){function e(l){return s[l]}n.orientationFromPlacement=e;function r(l){return o[l]}n.directionFromPlacement=r;let s={top:"horizontal",left:"vertical",right:"vertical",bottom:"horizontal"},o={top:"top-to-bottom",left:"left-to-right",right:"right-to-left",bottom:"bottom-to-top"}})(xd||(xd={}));var fr=Bt(ui(),1);var lp=Bt(tp(),1),up=Bt(ip(),1);var np='::slotted(.workspace-master-widget){--status-bar--display:none;--config-button-icon--content:var(--open-settings-button--content,"\\1F527")!important;}.workspace-master-widget[settings]{--config-button-icon--content:var(--close-settings-button--content,"\\1F527")!important;}.widget-maximize:not(.workspace-master-widget){--config-button-icon--content:var(--open-settings-button--content,"\\1F527")!important;}.widget-maximize[settings]:not(.workspace-master-widget){--config-button-icon--content:var(--close-settings-button--content,"\\1F527")!important;}.lm-DockPanel-widget{border:1px solid#eaeaea;border-width:0px!important;min-width:300px;min-height:200px;}.workspace-master-widget:not{--config-button-icon--content:""!important;}.context-menu>perspective-viewer.context-focus{opacity:1;filter:none;}.context-menu>perspective-viewer{filter:saturate(0);}.context-menu>perspective-viewer>*{pointer-events:none;}:host{--bookmarks--mask-image:url("../svg/bookmark-icon.svg");}::slotted(perspective-viewer){flex:1;position:relative;display:block;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%;overflow:visible!important;--close-button--display:flex;}::slotted(perspective-viewer.bookmarks-container:not([settings])){--status-ok-icon--mask-image:var(--bookmarks--mask-image)!important;--status-ok-icon--border-color:var(--inactive--color);--status-ok-icon--hover--border-color:var(--icon--color);--status-ok-icon--hover--background-color:var(--icon--color);--status-ok-icon--hover--color:var(--plugin--background);--status-ok-icon--cursor:pointer;--status-indicator--pointer-events:all;}::slotted(perspective-viewer::part(status-indicator)){background-color:red;border:1px solid red;}::slotted(perspective-viewer:not(.widget-maximize)){--status-bar--padding:0 36px 0 8px;}:host-context(.lm-mod-override-cursor){cursor:grabbing!important;}:host-context(.lm-mod-override-cursor) ::slotted(perspective-viewer),.context-menu ::slotted(perspective-viewer){--override-content-pointer-events:none;}.lm-Menu{z-index:10000;position:absolute;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-Menu{font-size:12px;padding:8px;background-color:var(--plugin--background);color:var(--icon--color);border:1px solid var(--inactive--color);border-radius:3px;max-width:350px;top:0;left:0;}.lm-Menu.perspective-workspace-menu .lm-Menu-item{padding-left:37px!important;min-width:var(--min-width);}.lm-Menu-item.lm-mod-active{background-color:var(--icon--color);color:var(--plugin--background);}.lm-Menu-item.lm-mod-disabled{opacity:0.5;}.lm-Menu-itemIcon{width:24px;height:12px;margin-right:4px;}.lm-Menu-itemLabel{flex:1 1;padding:4px 2px 4px 2px;}.lm-Menu-itemMnemonic{text-decoration:underline;}.lm-Menu-itemShortcut{padding:4px 0px;}.lm-Menu-itemSubmenuIcon{width:24px;height:18px;}.lm-Menu-item{display:flex;align-items:center;outline:none;margin:0 -8px;padding:0 8px;}.lm-Menu-item[data-type="separator"]>div{padding:0;height:9px;}.lm-Menu-item[data-type="separator"]>div::after{content:"";display:block;position:relative;top:4px;border-top:1px solid;}.lm-MenuBar-menu{transform:translateY(-1px);}.lm-MenuBar-item{padding:10px 32px;border-left:1px solid transparent;border-right:1px solid transparent;color:#737373!important;}.lm-MenuBar-item.lm-mod-active{background:rgba(0,0,0,0.2);}.lm-MenuBar.lm-mod-active .lm-MenuBar-item.lm-mod-active{z-index:10001;background:rgba(0,0,0,0.2);}.lm-Menu-itemIcon:before{content:attr(content);font-family:"ui-monospace","SFMono-Regular","SF Mono","Menlo","Consolas","Liberation Mono",monospace;}[data-type="submenu"] .lm-Menu-itemSubmenuIcon:before{content:">";font-family:"ui-monospace","SFMono-Regular","SF Mono","Menlo","Consolas","Liberation Mono",monospace;height:18px;}.lm-mod-drag-image.lm-TabBar-tab{display:none;}';var ap=Bt(ui(),1);var Cs={Config:"config",Label:"label"},LI="untitled",Ms=class extends jt.Renderer{maximized;constructor(e){super(),this.maximized=e}renderLabel(e){return _e.span({className:"lm-TabBar-tabLabel",id:Cs.Label},e.title.label||LI)}renderInert(){return _e.div()}renderTab(e,r){let s=e.title.caption,o=this.createTabKey(e),l=this.createTabStyle(e),c=this.createTabClass(e),d=this.createTabDataset(e),h=[];return r?(e.title.owner.setCallback(r),e.title.owner.addClass("bookmarks-container")):(e.title.owner.setCallback(void 0),e.title.owner.removeClass("bookmarks-container")),_e.li({key:o,className:c,title:s,style:l,dataset:d})}};var Yi=class extends $t{_host;_workspace;init_overlay;constructor(e,r,s){s.renderer=new Do,super(s),this._host=e,this._workspace=r,this._openChildMenu=this._overrideOpenChildMenu.bind(this)}open(e,r,s){s||={},s.host=this._host;let o=this._workspace.getBoundingClientRect();super.open(e,r,s);let l=this.node.getBoundingClientRect();l.height+r>o.height&&l.height+r<document.documentElement.clientHeight&&(this.node.style.top=`-${l.height}`),l.width+e>o.width&&(l.width+e<document.documentElement.clientWidth?this.node.style.left=`-${l.width+e-o.width}px`:this.node.style.left=`-${document.documentElement.clientWidth-o.width}px`)}_overrideOpenChildMenu(e=!1){let r=this,s=this.activeItem;if(!s||s.type!=="submenu"||!s.submenu){r._closeChildMenu();return}let o=s.submenu;if(o===r._childMenu)return;$t.saveWindowData(),r._closeChildMenu(),r._childMenu=o,r._childIndex=r._activeIndex,o._parentMenu=this,X.sendMessage(this,j.Msg.UpdateRequest);let l=this.contentNode.children[r._activeIndex];zI(o,l,r._host),e&&(o.activeIndex=-1,o.activateNextItem()),o.activate()}},Do=class extends $t.Renderer{formatLabel(e){let{label:r,mnemonic:s}=e.item;if(s<0||s>=r.length)return r;let o=r.slice(0,s),l=r.slice(s+1),c=r[s],d=_e.span({className:"lm-Menu-itemMnemonic p-Menu-itemMnemonic"},c);return[o,d,l]}renderLabel(e){let r=this.formatLabel(e);return _e.div({className:"lm-Menu-itemLabel p-Menu-itemLabel"},r)}renderSubmenu(e){return _e.div({className:"lm-Menu-itemSubmenuIcon p-Menu-itemSubmenuIcon"})}renderItem(e){let r=this.createItemClass(e),s=this.createItemDataset(e),o=this.createItemARIA(e);return _e.li({className:r,dataset:s,tabindex:"0",onfocus:e.onfocus,...o},this.renderLabel(e),this.renderShortcut(e),this.renderSubmenu(e))}};function zI(n,e,r){let s=DI(),o=s.pageXOffset,l=s.pageYOffset,c=s.clientWidth,d=s.clientHeight,h=r.host.getBoundingClientRect(),g=h.x,m=h.y;X.sendMessage(n,j.Msg.UpdateRequest);let p=d,v=n.node,b=v.style;b.opacity="0",b.maxHeight=`${p}px`,j.attach(n,r);let{width:_,height:y}=v.getBoundingClientRect(),C=Ce.boxSizing(n.node),E=e.getBoundingClientRect(),I=E.right-rp-g;I+_>o+c+g&&(I=E.left+rp-_);let M=E.top-C.borderTop-C.paddingTop-m;M+y>l+d+m&&(M=E.bottom+C.borderBottom+C.paddingBottom-y),b.transform=`translate(${Math.max(0,I)}px, ${Math.max(0,M)}px`,b.opacity="1"}var rp=3,BI=null,sp=0;function DI(){return sp>0?(sp--,BI):PI()}function PI(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}var Ts=class extends jt{_workspace;__content_node__;_menu;__titles;constructor(e,r={}){super(r),this._addEventListeners(),this.__content_node__=void 0,this._workspace=e,this.__titles=[]}get private_titles(){return this._titles}onUpdateRequest(e){this.__content_node__=this.contentNode,this.node.style.contain="";let r=this._titles,s=this.renderer,o=this.currentTitle,l=new Array;for(let c=0,d=r.length;c<d;++c){let h=r[c];h.owner._titlebar=this;let g=h===o,m=r.filter(v=>v!==o),p;m.length>0&&(p=this.onClick.bind(this,m,c)),g?l[c]=s.renderTab({title:h,zIndex:r.length+1,current:g},p):l[c]=s.renderInert()}Dt.render(l,this.contentNode),this._check_shade()}onClick(e,r,s){let o=new Mt;this._menu=new Yi(this._workspace.menu_elem.shadowRoot,this._workspace.element,{commands:o}),this._menu.addClass("perspective-workspace-menu"),this._menu.dataset.minwidth=this.__titles[r];for(let d of e)this._menu.addItem({command:"tabbar:switch",args:{title:d}});o.addCommand("tabbar:switch",{execute:async({title:d})=>{let h=d,g=this.__titles.findIndex(m=>m===d);this.currentTitle=h,this.tabActivateRequested.emit({index:g,title:h})},label:({title:d})=>d.label||"untitled",mnemonic:0});let l=(s.target.shadowRoot?.querySelector("#status_reconnect")).getBoundingClientRect(),c=this._workspace.element.getBoundingClientRect();this._menu.open(l.x-c.x,l.y+l.height-c.y),this._menu.aboutToClose.connect(()=>{this._menu=void 0}),s.preventDefault(),s.stopPropagation()}_check_shade(){Array.from(this.contentNode.children).filter(e=>e.classList.contains("settings_open")&&e.classList.contains("lm-mod-current")).length>0?this.contentNode.classList.add("inactive-blur"):this.contentNode.classList.remove("inactive-blur")}handleEvent(e){switch(this._menu?.close(),this.retargetEvent(e),e.type){case"contextmenu":let r=this.currentTitle?.owner,s=r.parent;for(;s&&!(s instanceof Xi);)s=s.parent;s.showContextMenu(r,e),e.shiftKey||e.preventDefault();break;case"mousedown":if(e.target.id===Cs.Label)return;break;case"pointerdown":if(e.target.id===Cs.Label){let o=this.contentNode.children,l=ap.ArrayExt.findFirstIndex(o,d=>Ce.hitTest(d,e.clientX,e.clientY));if(l<0)break;let c=this.titles[l];this._workspace._maximize(c.owner),requestAnimationFrame(()=>c.owner.viewer.toggleConfig());return}break}super.handleEvent(e)}retargetEvent(e){return Object.defineProperty(e,"target",{value:e.composedPath()[0],enumerable:!0}),e}_addEventListeners(){this.node.addEventListener("dblclick",this),this.node.addEventListener("contextmenu",this)}};var Po=class extends Ki.Renderer{_workspace;constructor(e){super(),this._workspace=e}createTabBar(){let e=new Ts(this._workspace,{renderer:new Ms(!1)});return e.addClass("lm-DockPanel-tabBar"),e}},Qt=class n extends Ki{_workspace;constructor(e){super({renderer:new Po(e)}),this._renderer.dock=this,this._workspace=e}_onTabDetachRequested(e,r){super._onTabDetachRequested(e,r);let s=e.titles[r.index].owner,o=this.layout,l=o.saveLayout();Array.from(o.widgets()).length>1&&o.removeWidget(s),s.addClass("widget-blur"),document.body.classList.add("lm-mod-override-cursor");let c=this._drag;c&&(c.dragImage?.parentElement?.removeChild?.(c.dragImage),c.dragImage=null,c._promise.then(()=>{s.node.isConnected||o.restoreLayout(l),document.body.classList.remove("lm-mod-override-cursor"),s.removeClass("widget-blur")}))}static getWidgets(e){return e.main?n.getAreaWidgets(e.main):[]}static getAreaWidgets(e){return e?.hasOwnProperty("children")?e.children.flatMap(s=>n.getAreaWidgets(s)):e?.hasOwnProperty("widgets")?e.widgets:[]}widgets(){return super.widgets()}static async mapWidgets(e,r){return r.main&&(r.main=await n.mapAreaWidgets(e,r.main)),r}static async mapAreaWidgets(e,r){if(r.hasOwnProperty("children")){let s=r;s.children=await Promise.all(s.children.map(o=>n.mapAreaWidgets(e,o)))}else if(r.hasOwnProperty("widgets")){let s=r;s.widgets=await Promise.all(s.widgets.map(e))}return r}onAfterAttach(){this.spacing=parseInt(window.getComputedStyle(this._workspace.element).getPropertyValue("--workspace-spacing"))||0}};var op=(n,e)=>{let r=new Mt;return r.addCommand("workspace:export",{execute:async s=>{let o=document.createElement("perspective-export-menu");n.apply_indicator_theme();let l=n.getWidgetByName(s.widget_name);o.__set_model(l.viewer.__get_model()),o.open(e),n.get_context_menu()?.init_overlay?.(),o.addEventListener("blur",()=>{n.get_context_menu().aboutToClose.emit({})})},isEnabled:s=>{if(n.get_context_menu()?.node.isConnected){let o=n.get_context_menu()?.node.getBoundingClientRect();o&&(e.style.top=o.top+"px",e.style.left=o.left+"px")}return!0},label:"Export",mnemonic:0}),r.addCommand("workspace:copy",{execute:async s=>{let o=document.createElement("perspective-copy-menu");n.apply_indicator_theme();let l=n.getWidgetByName(s.widget_name);o.__set_model(l.viewer.__get_model()),o.open(e),n.get_context_menu()?.init_overlay?.(),o.addEventListener("blur",()=>{n.get_context_menu()?.aboutToClose?.emit({})})},isEnabled:s=>{if(n.get_context_menu()?.node.isConnected){let o=n.get_context_menu()?.node.getBoundingClientRect();o&&(e.style.top=o.top+"px",e.style.left=o.left+"px")}return!0},label:"Copy",mnemonic:0}),r.addCommand("workspace:new",{execute:async s=>{let o=await n._createWidgetAndNode({config:{table:Array.isArray(s.table)?s.table[0]:null},slot:void 0});n.get_dock_panel().addWidget(o,{mode:"split-right",ref:n.getWidgetByName(s.widget_name)})},label:s=>s.table}),r.addCommand("workspace:newview",{execute:async s=>{let o=n.getWidgetByName(s.widget_name),c=await n.getWidgetByName(s.target_widget_name).save(),d=await n._createWidgetAndNode({config:c,slot:void 0});n.get_dock_panel().addWidget(d,{mode:"split-right",ref:o})},isVisible:s=>n.getWidgetByName(s.target_widget_name).title.label!=="",label:s=>n.getWidgetByName(s.target_widget_name).title.label||"untitled"}),r.addCommand("workspace:reset",{execute:s=>{n.getWidgetByName(s.widget_name).viewer.reset()},label:"Reset",mnemonic:0}),r.addCommand("workspace:settings",{execute:async({widget_name:s})=>{let o=n.getWidgetByName(s);if(!o)throw new Error(`No widget ${s}`);requestAnimationFrame(()=>o.viewer.toggleConfig())},isVisible:s=>n.getWidgetByName(s.widget_name)?.parent===n.get_dock_panel(),label:s=>n.getWidgetByName(s.widget_name).viewer.hasAttribute("settings")?"Close Settings":"Open Settings",mnemonic:0}),r.addCommand("workspace:duplicate",{execute:({widget_name:s})=>n.duplicate(n.getWidgetByName(s)),isVisible:s=>n.getWidgetByName(s.widget_name)?.parent===n.get_dock_panel(),label:"Duplicate",mnemonic:0}),r.addCommand("workspace:master",{execute:s=>n.toggleMasterDetail(n.getWidgetByName(s.widget_name)),isVisible:s=>!!n.getWidgetByName(s.widget_name)?._is_pivoted,label:s=>n.getWidgetByName(s.widget_name).parent===n.get_dock_panel()?"Create Global Filter":"Remove Global Filter",mnemonic:0}),r.addCommand("workspace:close",{execute:s=>{n.getWidgetByName(s.widget_name).close()},label:()=>"Close",mnemonic:0}),r.addCommand("workspace:help",{execute:()=>{},label:"Shift+Click for Browser Menu",isEnabled:()=>!1}),r};var hr=class extends j{viewer;_title;_is_pivoted;_restore_config;_onAttach;_titlebar;_deleted;_titlebar_callback;constructor({viewer:e,node:r,onAttach:s}){super({node:r}),this.viewer=e,this._title="",this._is_pivoted=!1,this._onAttach=s,this._deleted=!1}get name(){return this._title}toggleConfig(){return this.viewer.toggleConfig()}async load(e){let r=[this.viewer.load(e)];this._restore_config&&r.push(this._restore_config()),await Promise.all(r)}restore(e){return this._title=e.title,this.title.label=e.title,this._is_pivoted=(e.group_by?.length||0)>0,this.viewer.restore({...e})}async save(){let e={...await this.viewer.save()};return delete e.settings,e}addClass(e){super.addClass(e),this.viewer?.classList?.add?.(e)}removeClass(e){super.removeClass(e),this.viewer?.classList?.remove?.(e)}setCallback(e){this._titlebar_callback=e}onAfterAttach(e){super.onAfterAttach(e),this._onAttach?.()}onCloseRequest(e){return super.onCloseRequest(e),(async()=>{this.viewer.parentElement&&this.viewer.parentElement.removeChild(this.viewer),this._deleted||(await this.viewer.delete(),this._deleted=!0)})()}};var Wo=class{_lock;constructor(){this._lock=null}lock(e){return this._lock!==null?this._lock.then(()=>this.lock(e)):(this._lock=new Promise((r,s)=>e().then(o=>{this._lock=null,r(o)}).catch(o=>{this._lock=null,s(o)})),this._lock)}},Ro=[1,3],dp=0;function cp(n){let e=`PERSPECTIVE_GENERATED_ID_${dp++}`;return Object.keys(n.viewers).includes(e)&&(e=cp(n)),e}function RI(n,e,r){function o(l){let c=l.reduce((d,h)=>d+h,0);return c===1?l:l.map(d=>d/c)}if(n.detail.main===null)return{sizes:n.sizes,viewers:{...n.viewers,[r]:e},detail:{main:{type:"split-area",sizes:[1],orientation:"horizontal",children:[{type:"tab-area",currentIndex:0,widgets:[r]}]}},master:n.master};if(n.detail.main.type==="tab-area"||n.detail.main.type==="split-area"&&n.detail.main.orientation==="vertical")return{sizes:n.sizes,viewers:{...n.viewers,[r]:e},detail:{main:{type:"split-area",sizes:[.5,.5],orientation:"horizontal",children:[n.detail.main,{type:"tab-area",currentIndex:0,widgets:[r]}]}},master:n.master};if(n.detail.main.type==="split-area"&&n.detail.main.orientation==="horizontal")return{sizes:n.sizes,viewers:{...n.viewers,[r]:e},detail:{main:{type:"split-area",sizes:o([...o(n.detail.main.sizes),.618]),orientation:"horizontal",children:[...n.detail.main.children,{type:"tab-area",currentIndex:0,widgets:[r]}]}},master:n.master};throw new Error("Unknown workspace state")}var Xi=class extends Zt{dockpanel;detailPanel;masterPanel;client;element;menu_elem;listeners;indicator;commands;_menu;_minimizedLayoutSlots;_minimizedLayout;_maximizedWidget;_last_updated_state;_mutex;constructor(e){super({orientation:"horizontal"}),this.addClass("perspective-workspace"),this.dockpanel=new Qt(this),this.detailPanel=new vn,this.detailPanel.layout.fitPolicy="set-no-constraint",this.detailPanel.addClass("perspective-scroll-panel"),this.detailPanel.addWidget(this.dockpanel),this.masterPanel=new Zt({orientation:"vertical"}),this.masterPanel.addClass("master-panel"),this._mutex=new Wo,this.dockpanel.layoutModified.connect(()=>{this.workspaceUpdated()}),this.addWidget(this.detailPanel),this.element=e,this.listeners=new WeakMap,this.client=[],this.indicator=this.init_indicator(),this.commands=op(this,this.indicator),this.menu_elem=document.createElement("perspective-workspace-menu"),this.menu_elem.attachShadow({mode:"open"}),this.menu_elem.shadowRoot.innerHTML=`<style>:host{position:absolute;}${np}</style>`,this.element.shadowRoot.insertBefore(this.menu_elem,this.element.shadowRoot.lastElementChild),e.addEventListener("contextmenu",r=>this.showContextMenu(null,r))}get_context_menu(){return this._menu}get_dock_panel(){return this.dockpanel}init_indicator(){let e=document.querySelector("body > perspective-indicator");if(e)return e;let r=document.createElement("perspective-indicator");return r.style.position="fixed",r.style.pointerEvents="none",document.body.appendChild(r),r}apply_indicator_theme(){let e=JSON.parse(window.getComputedStyle(this.element).getPropertyValue("--theme-name").trim());this.indicator.setAttribute("theme",e)}async save(){return await this._mutex.lock(async()=>{let e=this.dockpanel.mode==="single-document",r=e?await this._minimizedLayoutSlots:await Qt.mapWidgets(async l=>l.viewer.getAttribute("slot"),this.dockpanel.saveLayout()),s={sizes:[...this.relativeSizes()],detail:r,viewers:{},master:void 0};if(this.masterPanel.isAttached){let l={widgets:this.masterPanel.widgets.map(c=>c.viewer.getAttribute("slot")),sizes:[...this.masterPanel.relativeSizes()]};s.master=l}for(let l of this.masterPanel.widgets){let c=l;s.viewers[c.viewer.getAttribute("slot")]=await c.save()}let o=Qt.getWidgets(e?this._minimizedLayout:this.dockpanel.saveLayout());return await Promise.all(o.map(async l=>{let c=l,d=c.viewer.getAttribute("slot");s.viewers[d]=await c.save(),s.viewers[d].settings=!1})),s})}async restore(e){await this._mutex.lock(async()=>{let{sizes:r,master:s,detail:o,viewers:l={}}=structuredClone(e);s&&s.widgets.length>0?this.setupMasterPanel(r||Ro):(this.masterPanel.isAttached&&(this.detailPanel.removeClass("has-master-panel"),this.masterPanel.close()),this.addWidget(this.detailPanel));let c=[];for(let d of this._capture_viewers())for(let h of this._capture_widgets()){for(let m of d)m.removeAttribute("class");let g=this._restore_callback.bind(this,l,d,h);if(o){let m=await Qt.mapWidgets(p=>g.bind(this,!1)(p),o);this.dockpanel.mode="multiple-document",this.dockpanel.restoreLayout(m),c=c.concat(Qt.getWidgets(m).map(p=>p.viewer.flush()))}if(s){let m=[],p=[];s.widgets.map(v=>(p.push(v),m.push(g.bind(this,!0)(v)),v)),c.push(Promise.all(m).then(v=>{s.widgets=s.widgets.map(b=>{let _=p.indexOf(b);return v[_]})})),s.sizes&&this.masterPanel.setRelativeSizes(s.sizes)}}await Promise.all(c)})}*_capture_widgets(){let e=this.getAllWidgets();yield e;for(let r of e)r.node.isConnected||r.close()}*_capture_viewers(){let e=Array.from(this.element.children);yield e;let r=this.getAllWidgets();for(let s of e)!r.find(l=>l.viewer===s)&&Array.from(this.element.children).indexOf(s)>-1&&(this.element.removeChild(s),s.delete(),s.free())}async _restore_callback(e,r,s,o,l){let c;c=e[l];let d=!!l&&r.find(g=>g.getAttribute("slot")===l),h;if(d)h=s.find(g=>g.viewer===d),h?await h.restore({...c}):h=await this._createWidget({config:{...c},viewer:d});else if(c)h=await this._createWidgetAndNode({config:{...c},slot:l});else throw new Error(`Could not find or create <perspective-viewer> for slot "${l}"`);return o&&(h.viewer.classList.add("workspace-master-widget"),h.viewer.toggleAttribute("selectable",!0),h.viewer.addEventListener("perspective-select",this.onPerspectiveSelect.bind(this)),this.masterPanel.addWidget(h)),h}_validate(e){if(!e||!("view"in e)||typeof e?.view!="function")throw new Error("Only `perspective.Table()` instances can be added to `tables`");return e}_set_listener(e,r){r instanceof Promise?r=r.then(this._validate):this._validate(r)}_delete_listener(e){this.getAllWidgets().some(r=>{let s=r;s.viewer.getAttribute("table")===e&&s.viewer.eject()})}async update_widget_for_viewer(e){let r=e.getAttribute("slot");if(r||(r=this._gen_id(),e.setAttribute("slot",r)),e.getAttribute("table")){if(!this.node.querySelector(`slot[name=${r}]`)){console.warn(`Undocked ${e.outerHTML}, creating default layout`);let l=await this._createWidget({viewer:e});this.dockpanel.addWidget(l),this.dockpanel.activateWidget(l)}}else console.warn(`No table set for ${e.outerHTML}`)}remove_unslotted_widgets(e){let r=this.getAllWidgets();for(let s of r){let o=s;e.indexOf(o.viewer)===-1&&o.close()}}update_details_panel(e){this.masterPanel.widgets.length===0&&this.masterPanel.close()}async duplicate(e){if(this.dockpanel.mode==="single-document"){let o=await this._maximizedWidget.viewer.toggleConfig(!1);this._unmaximize()}let r=await e.save();r.settings=!1,r.title=r.title?`${r.title} (*)`:"";let s=await this._createWidgetAndNode({config:r,slot:void 0});this.dockpanel.addWidget(s,{mode:"split-right",ref:e}),await s.viewer.flush()}toggleMasterDetail(e){let r=e.parent!==this.dockpanel;this.element.dispatchEvent(new CustomEvent("workspace-toggle-global-filter",{detail:{widget:e,isGlobalFilter:!r}})),r?this.makeDetail(e):(this.dockpanel.mode==="single-document"&&this.toggleSingleDocument(e),this.makeMaster(e))}_maximize(e){e.viewer.classList.add("widget-maximize"),this._minimizedLayout||(this._minimizedLayout=this.dockpanel.saveLayout(),this._minimizedLayoutSlots=Qt.mapWidgets(async r=>r.viewer.getAttribute("slot"),this.dockpanel.saveLayout())),this._maximizedWidget=e,this.dockpanel.mode="single-document",this.dockpanel.activateWidget(e)}_unmaximize(){this._maximizedWidget.viewer.classList.remove("widget-maximize"),this.dockpanel.mode="multiple-document",this.dockpanel.restoreLayout(this._minimizedLayout),this._minimizedLayout=void 0}toggleSingleDocument(e){this.dockpanel.mode!=="single-document"?this._maximize(e):this._unmaximize()}async _filterViewer(e,r,s){let o=await e.save(),l=await e.getTable(),c=Object.keys(await l.schema()),d=o.filter||[],h=p=>p[0]&&c.includes(p[0]),g=r.filter(h);g.push(...d.filter(p=>!s.has(p[0])));let m=(0,lp.default)(g,p=>p[0]);await e.restore({filter:m})}async onPerspectiveSelect(e){let r=await e.target.save(),s=new Set([...r.group_by||[],...r.split_by||[],...(r.filter||[]).map(l=>l[0])]),o=[...e.detail.config.filter];(0,fr.toArray)(this.dockpanel.widgets()).forEach(l=>{this._filterViewer(l.viewer,o,s)})}async makeMaster(e){e.viewer.hasAttribute("settings")&&await e.toggleConfig(),e.viewer.classList.add("workspace-master-widget"),e.viewer.toggleAttribute("selectable",!0),this.masterPanel.isAttached||(this.detailPanel.close(),this.setupMasterPanel(Ro)),this.masterPanel.addWidget(e),e.isHidden&&e.show(),e.viewer.restyleElement(),e.viewer.addEventListener("perspective-select",this.onPerspectiveSelect.bind(this))}makeDetail(e){e.viewer.classList.remove("workspace-master-widget"),e.viewer.toggleAttribute("selectable",!1),this.dockpanel.addWidget(e,{mode:"split-left"}),this.masterPanel.widgets.length===0&&(this.detailPanel.close(),this.masterPanel.close(),this.detailPanel.removeClass("has-master-panel"),this.addWidget(this.detailPanel)),e.viewer.restyleElement(),e.viewer.removeEventListener("perspective-select",this.onPerspectiveSelect.bind(this))}createContextMenu(e){this._menu=new Yi(this.menu_elem.shadowRoot,this.element,{commands:this.commands});let r=(0,fr.find)(this.dockpanel.tabBars(),s=>s.currentTitle?.owner===e);if(this._menu.init_overlay=()=>{e&&(e.addClass("context-focus"),e.viewer.classList.add("context-focus"),r&&r.node.classList.add("context-focus"),this.element.classList.add("context-menu"),this.addClass("context-menu"),e.viewer.classList.contains("workspace-master-widget")?this._menu.node.classList.add("workspace-master-menu"):this._menu.node.classList.remove("workspace-master-menu"))},(e?.parent===this.dockpanel||e===null)&&this._menu.addItem({type:"submenu",command:"workspace:newmenu",submenu:(()=>{let s=new Yi(this.menu_elem.shadowRoot,this.element,{commands:this.commands});(async()=>{for(let c of(await Promise.all(this.client.map(d=>d.get_hosted_table_names()))).map(d=>d.flatMap(h=>h))){let d;e!==null?d={table:c,widget_name:e.viewer.getAttribute("slot")}:d={table:c},s.insertItem(0,{command:"workspace:new",args:d})}})();let o=Qt.getWidgets(this.dockpanel.saveLayout());o.length>0&&s.addItem({type:"separator"});let l=new Set;for(let c of o)if(!l.has(c.title.label)){let d;e!==null?d={target_widget_name:c.viewer.getAttribute("slot"),widget_name:e.viewer.getAttribute("slot")}:d={target_widget_name:c.viewer.getAttribute("slot")},s.addItem({command:"workspace:newview",args:d}),l.add(c.title.label)}return s.title.label="New Table",s})()}),e){let s=e.viewer.getAttribute("slot");e?.parent===this.dockpanel&&this._menu.addItem({type:"separator"}),this._menu.addItem({command:"workspace:duplicate",args:{widget_name:s}}),this._menu.addItem({command:"workspace:master",args:{widget_name:s}}),this._menu.addItem({type:"separator"}),this._menu.addItem({command:"workspace:settings",args:{widget_name:s}}),this._menu.addItem({command:"workspace:reset",args:{widget_name:s}}),this._menu.addItem({command:"workspace:export",args:{widget_name:s}}),this._menu.addItem({command:"workspace:copy",args:{widget_name:s}}),this._menu.addItem({type:"separator"}),this._menu.addItem({command:"workspace:close",args:{widget_name:s}}),this._menu.addItem({command:"workspace:help"})}return this._menu.aboutToClose.connect(()=>{e&&(this.element.classList.remove("context-menu"),this.removeClass("context-menu"),e.removeClass("context-focus"),r?.node?.classList.remove("context-focus"))}),this._menu}showContextMenu(e,r){if(!r.shiftKey){let s=this.createContextMenu(e);s.init_overlay?.();let o=this.element.getBoundingClientRect();s.open(r.clientX-o.x,r.clientY-o.y,{host:this.menu_elem.shadowRoot}),r.preventDefault(),r.stopPropagation()}}clearLayout(){this.getAllWidgets().forEach(e=>e.close()),this.widgets.forEach(e=>e.close()),this.detailPanel.close(),this.masterPanel.isAttached&&(this.detailPanel.removeClass("has-master-panel"),this.masterPanel.close())}setupMasterPanel(e){this.detailPanel.addClass("has-master-panel"),this.addWidget(this.masterPanel),this.addWidget(this.detailPanel),this.setRelativeSizes(e)}async addViewer(e,r){await this._mutex.lock(async()=>{if(this.dockpanel.mode==="single-document"){let o=this._maximizedWidget.viewer.toggleConfig(!1);this._unmaximize()}let s=await this._createWidgetAndNode({config:e});r?(this.masterPanel.isAttached||this.setupMasterPanel(Ro),this.masterPanel.addWidget(s)):(this.detailPanel.isAttached||this.addWidget(this.detailPanel),this.dockpanel.addWidget(s,{mode:"split-right"})),this.update()})}async _createWidgetAndNode({config:e,slot:r}){let s=this._createNode(r),o=e.table,l=document.createElement("perspective-viewer");l.setAttribute("slot",s.querySelector("slot").getAttribute("name")),o&&l.setAttribute("table",o);for(let c of this.client){let d=await c.get_hosted_table_names();if(o&&d.indexOf(o)>-1)return await l.load(c),await this._createWidget({config:e,elem:s,viewer:l})}throw new Error(`Table "${o}" not found`)}_gen_id(){let e=`PERSPECTIVE_GENERATED_ID_${dp++}`;return this.element.querySelector(`[slot=${e}]`)&&(e=this._gen_id()),e}_createNode(e){let r=this.node.querySelector(`slot[name=${e}]`);if(e===void 0||!r){let s=document.createElement("slot");e=e||this._gen_id(),s.setAttribute("name",e);let o=document.createElement("div");o.classList.add("viewer-container"),o.appendChild(s),r=document.createElement("div"),r.classList.add("workspace-widget"),r.appendChild(o)}else r=r.parentElement.parentElement;return r}async _createWidget({config:e,elem:r,viewer:s}){let o=r;if(!o){let d=s.getAttribute("slot")||void 0;o=this.node.querySelector(`slot[name=${d}]`),o?o=o.parentElement.parentElement:o=this._createNode(d)}let l=()=>{c.viewer.parentElement!==this.element&&this.element.appendChild(c.viewer);let d=new CustomEvent("workspace-new-view",{detail:{config:e,widget:c}});this.element.dispatchEvent(d)},c=new hr({node:o,viewer:s,onAttach:l});return e&&await c.restore(e),c.title.closable=!0,this._addWidgetEventListeners(c),c}_addWidgetEventListeners(e){this.listeners.has(e)&&this.listeners.get(e)();let r=h=>this.showContextMenu(e,h),s=async h=>{this.workspaceUpdated();let g=typeof h.detail>"u"?await e.viewer.save():h.detail;e.title.label=g.title,e._title=g.title,e._is_pivoted=g.group_by?.length>0};e.node.addEventListener("contextmenu",r);let o=h=>{h.detail&&this.dockpanel.mode!=="single-document"&&this._maximize(e)},l=h=>{!h.detail&&this.dockpanel.mode==="single-document"&&this._unmaximize()};e.viewer.addEventListener("perspective-status-indicator-click",h=>{e._titlebar_callback?.(h)}),e.viewer.addEventListener("perspective-toggle-settings-before",o),e.viewer.addEventListener("perspective-toggle-settings",l);let c=()=>{e._deleted||(e._deleted=!0,e.close())},d=h=>{e._titlebar?.handleEvent(h.detail)};e.viewer.addEventListener("perspective-table-delete-before",c),e.viewer.addEventListener("perspective-statusbar-pointerdown",d),e.viewer.addEventListener("perspective-config-update",s),this.listeners.set(e,()=>{e.node.removeEventListener("contextmenu",r),e.viewer.removeEventListener("perspective-table-delete-before",c),e.viewer.removeEventListener("perspective-table-delete",d),e.viewer.removeEventListener("perspective-toggle-settings",o),e.viewer.removeEventListener("perspective-toggle-settings",l),e.viewer.removeEventListener("perspective-config-update",s)})}getWidgetByName(e){return this.getAllWidgets().find(r=>r.viewer.getAttribute("slot")===e)||null}getAllWidgets(){return[...this.masterPanel.widgets,...(0,fr.toArray)(this.dockpanel.widgets())]}_throttle;async workspaceUpdated(){let e=await this.save();if(e){if(this._last_updated_state&&(0,up.isEqual)(this._last_updated_state,e))return;this._last_updated_state=e,this.element.dispatchEvent(new CustomEvent("workspace-layout-update",{detail:{layout:e}}))}}};function WI(n){let e=document.createElement("div");return e.innerHTML=n,Array.prototype.slice.call(e.children)[0]}function OI(n,e,r){let s=WI(n);e&&(s.innerHTML=`<style>${e.toString()}</style>`+s.innerHTML);let o=class extends r{_initialized;_initializing;constructor(){super(),this._initialized=!1,this._initializing=!1}connectedCallback(){if(this._initialized)return;this._initializing=!0;let c=document.importNode(s.content,!0);this.attachShadow({mode:"open"}).appendChild(c),r.prototype.connectedCallback&&r.prototype.connectedCallback.call(this),this._initializing=!1,this._initialized=!0}static get observedAttributes(){return Object.getOwnPropertyNames(r.prototype)}},l=s.getAttribute("id");window.customElements.define(l,o)}function hp(n,...e){let r=e.map(s=>s.toString()).join(`
20
+ }`;var me=cd(function(){return Te(x,se+"return "+V).apply(n,T)});if(me.source=V,Oa(me))throw me;return me}function i0(t){return Se(t).toLowerCase()}function n0(t){return Se(t).toUpperCase()}function r0(t,i,a){if(t=Se(t),t&&(a||i===n))return wl(t);if(!t||!(i=bt(i)))return t;var u=Wt(t),f=Wt(i),x=yl(u,f),T=xl(u,f)+1;return Si(u,x,T).join("")}function s0(t,i,a){if(t=Se(t),t&&(a||i===n))return t.slice(0,Cl(t)+1);if(!t||!(i=bt(i)))return t;var u=Wt(t),f=xl(u,Wt(i))+1;return Si(u,0,f).join("")}function a0(t,i,a){if(t=Se(t),t&&(a||i===n))return t.replace(Os,"");if(!t||!(i=bt(i)))return t;var u=Wt(t),f=yl(u,Wt(i));return Si(u,f).join("")}function o0(t,i){var a=U,u=J;if(Oe(i)){var f="separator"in i?i.separator:f;a="length"in i?fe(i.length):a,u="omission"in i?bt(i.omission):u}t=Se(t);var x=t.length;if(tn(t)){var T=Wt(t);x=T.length}if(a>=x)return t;var A=a-nn(u);if(A<1)return u;var z=T?Si(T,0,A).join(""):t.slice(0,A);if(f===n)return z+u;if(T&&(A+=z.length-A),Na(f)){if(t.slice(A).search(f)){var F,$=z;for(f.global||(f=ta(f.source,Se(Fo.exec(f))+"g")),f.lastIndex=0;F=f.exec($);)var V=F.index;z=z.slice(0,V===n?A:V)}}else if(t.indexOf(bt(f),A)!=A){var ne=z.lastIndexOf(f);ne>-1&&(z=z.slice(0,ne))}return z+u}function l0(t){return t=Se(t),t&&vp.test(t)?t.replace(No,Wg):t}var u0=un(function(t,i,a){return t+(a?" ":"")+i.toUpperCase()}),Fa=hu("toUpperCase");function dd(t,i,a){return t=Se(t),i=a?n:i,i===n?zg(t)?qg(t):Mg(t):t.match(i)||[]}var cd=pe(function(t,i){try{return gt(t,n,i)}catch(a){return Oa(a)?a:new ce(a)}}),d0=ri(function(t,i){return St(i,function(a){a=Gt(a),ii(t,a,Ra(t[a],t))}),t});function c0(t){var i=t==null?0:t.length,a=ae();return t=i?We(t,function(u){if(typeof u[1]!="function")throw new At(o);return[a(u[0]),u[1]]}):[],pe(function(u){for(var f=-1;++f<i;){var x=t[f];if(gt(x[0],this,u))return gt(x[1],this,u)}})}function h0(t){return W_(Et(t,g))}function Ua(t){return function(){return t}}function f0(t,i){return t==null||t!==t?i:t}var m0=mu(),p0=mu(!0);function mt(t){return t}function $a(t){return $l(typeof t=="function"?t:Et(t,g))}function g0(t){return Vl(Et(t,g))}function _0(t,i){return Gl(t,Et(i,g))}var b0=pe(function(t,i){return function(a){return qn(a,t,i)}}),v0=pe(function(t,i){return function(a){return qn(t,a,i)}});function Ka(t,i,a){var u=Xe(i),f=Wr(i,u);a==null&&!(Oe(i)&&(f.length||!u.length))&&(a=i,i=t,t=this,f=Wr(i,Xe(i)));var x=!(Oe(a)&&"chain"in a)||!!a.chain,T=ai(t);return St(f,function(A){var z=i[A];t[A]=z,T&&(t.prototype[A]=function(){var F=this.__chain__;if(x||F){var $=t(this.__wrapped__),V=$.__actions__=ct(this.__actions__);return V.push({func:z,args:arguments,thisArg:t}),$.__chain__=F,$}return z.apply(t,vi([this.value()],arguments))})}),t}function w0(){return Ye._===this&&(Ye._=Vg),this}function Va(){}function y0(t){return t=fe(t),pe(function(i){return Yl(i,t)})}var x0=Ma(We),M0=Ma(pl),C0=Ma(Ys);function hd(t){return ka(t)?Xs(Gt(t)):eb(t)}function T0(t){return function(i){return t==null?n:Wi(t,i)}}var S0=gu(),A0=gu(!0);function Ga(){return[]}function Ya(){return!1}function I0(){return{}}function E0(){return""}function k0(){return!0}function L0(t,i){if(t=fe(t),t<1||t>ue)return[];var a=be,u=Qe(t,be);i=ae(i),t-=be;for(var f=Js(u,i);++a<t;)i(a);return f}function z0(t){return he(t)?We(t,Gt):vt(t)?[t]:ct(zu(Se(t)))}function B0(t){var i=++$g;return Se(t)+i}var D0=Ur(function(t,i){return t+i},0),P0=Ca("ceil"),R0=Ur(function(t,i){return t/i},1),W0=Ca("floor");function O0(t){return t&&t.length?Rr(t,mt,ua):n}function N0(t,i){return t&&t.length?Rr(t,ae(i,2),ua):n}function q0(t){return bl(t,mt)}function H0(t,i){return bl(t,ae(i,2))}function F0(t){return t&&t.length?Rr(t,mt,fa):n}function U0(t,i){return t&&t.length?Rr(t,ae(i,2),fa):n}var $0=Ur(function(t,i){return t*i},1),K0=Ca("round"),V0=Ur(function(t,i){return t-i},0);function G0(t){return t&&t.length?js(t,mt):0}function Y0(t,i){return t&&t.length?js(t,ae(i,2)):0}return w.after=gw,w.ary=Uu,w.assign=ny,w.assignIn=nd,w.assignInWith=is,w.assignWith=ry,w.at=sy,w.before=$u,w.bind=Ra,w.bindAll=d0,w.bindKey=Ku,w.castArray=Iw,w.chain=qu,w.chunk=Wb,w.compact=Ob,w.concat=Nb,w.cond=c0,w.conforms=h0,w.constant=Ua,w.countBy=Gv,w.create=ay,w.curry=Vu,w.curryRight=Gu,w.debounce=Yu,w.defaults=oy,w.defaultsDeep=ly,w.defer=_w,w.delay=bw,w.difference=qb,w.differenceBy=Hb,w.differenceWith=Fb,w.drop=Ub,w.dropRight=$b,w.dropRightWhile=Kb,w.dropWhile=Vb,w.fill=Gb,w.filter=Xv,w.flatMap=Jv,w.flatMapDeep=Qv,w.flatMapDepth=ew,w.flatten=Ru,w.flattenDeep=Yb,w.flattenDepth=Xb,w.flip=vw,w.flow=m0,w.flowRight=p0,w.fromPairs=Zb,w.functions=py,w.functionsIn=gy,w.groupBy=tw,w.initial=Jb,w.intersection=Qb,w.intersectionBy=ev,w.intersectionWith=tv,w.invert=by,w.invertBy=vy,w.invokeMap=nw,w.iteratee=$a,w.keyBy=rw,w.keys=Xe,w.keysIn=ft,w.map=Zr,w.mapKeys=yy,w.mapValues=xy,w.matches=g0,w.matchesProperty=_0,w.memoize=Jr,w.merge=My,w.mergeWith=rd,w.method=b0,w.methodOf=v0,w.mixin=Ka,w.negate=Qr,w.nthArg=y0,w.omit=Cy,w.omitBy=Ty,w.once=ww,w.orderBy=sw,w.over=x0,w.overArgs=yw,w.overEvery=M0,w.overSome=C0,w.partial=Wa,w.partialRight=Xu,w.partition=aw,w.pick=Sy,w.pickBy=sd,w.property=hd,w.propertyOf=T0,w.pull=sv,w.pullAll=Ou,w.pullAllBy=av,w.pullAllWith=ov,w.pullAt=lv,w.range=S0,w.rangeRight=A0,w.rearg=xw,w.reject=uw,w.remove=uv,w.rest=Mw,w.reverse=Da,w.sampleSize=cw,w.set=Iy,w.setWith=Ey,w.shuffle=hw,w.slice=dv,w.sortBy=pw,w.sortedUniq=_v,w.sortedUniqBy=bv,w.split=Jy,w.spread=Cw,w.tail=vv,w.take=wv,w.takeRight=yv,w.takeRightWhile=xv,w.takeWhile=Mv,w.tap=Ov,w.throttle=Tw,w.thru=Xr,w.toArray=ed,w.toPairs=ad,w.toPairsIn=od,w.toPath=z0,w.toPlainObject=id,w.transform=ky,w.unary=Sw,w.union=Cv,w.unionBy=Tv,w.unionWith=Sv,w.uniq=Av,w.uniqBy=Iv,w.uniqWith=Ev,w.unset=Ly,w.unzip=Pa,w.unzipWith=Nu,w.update=zy,w.updateWith=By,w.values=hn,w.valuesIn=Dy,w.without=kv,w.words=dd,w.wrap=Aw,w.xor=Lv,w.xorBy=zv,w.xorWith=Bv,w.zip=Dv,w.zipObject=Pv,w.zipObjectDeep=Rv,w.zipWith=Wv,w.entries=ad,w.entriesIn=od,w.extend=nd,w.extendWith=is,Ka(w,w),w.add=D0,w.attempt=cd,w.camelCase=Oy,w.capitalize=ld,w.ceil=P0,w.clamp=Py,w.clone=Ew,w.cloneDeep=Lw,w.cloneDeepWith=zw,w.cloneWith=kw,w.conformsTo=Bw,w.deburr=ud,w.defaultTo=f0,w.divide=R0,w.endsWith=Ny,w.eq=Nt,w.escape=qy,w.escapeRegExp=Hy,w.every=Yv,w.find=Zv,w.findIndex=Du,w.findKey=uy,w.findLast=jv,w.findLastIndex=Pu,w.findLastKey=dy,w.floor=W0,w.forEach=Hu,w.forEachRight=Fu,w.forIn=cy,w.forInRight=hy,w.forOwn=fy,w.forOwnRight=my,w.get=qa,w.gt=Dw,w.gte=Pw,w.has=_y,w.hasIn=Ha,w.head=Wu,w.identity=mt,w.includes=iw,w.indexOf=jb,w.inRange=Ry,w.invoke=wy,w.isArguments=qi,w.isArray=he,w.isArrayBuffer=Rw,w.isArrayLike=ht,w.isArrayLikeObject=Fe,w.isBoolean=Ww,w.isBuffer=Ai,w.isDate=Ow,w.isElement=Nw,w.isEmpty=qw,w.isEqual=Hw,w.isEqualWith=Fw,w.isError=Oa,w.isFinite=Uw,w.isFunction=ai,w.isInteger=Zu,w.isLength=es,w.isMap=ju,w.isMatch=$w,w.isMatchWith=Kw,w.isNaN=Vw,w.isNative=Gw,w.isNil=Xw,w.isNull=Yw,w.isNumber=Ju,w.isObject=Oe,w.isObjectLike=Ne,w.isPlainObject=Vn,w.isRegExp=Na,w.isSafeInteger=Zw,w.isSet=Qu,w.isString=ts,w.isSymbol=vt,w.isTypedArray=cn,w.isUndefined=jw,w.isWeakMap=Jw,w.isWeakSet=Qw,w.join=iv,w.kebabCase=Fy,w.last=Lt,w.lastIndexOf=nv,w.lowerCase=Uy,w.lowerFirst=$y,w.lt=ey,w.lte=ty,w.max=O0,w.maxBy=N0,w.mean=q0,w.meanBy=H0,w.min=F0,w.minBy=U0,w.stubArray=Ga,w.stubFalse=Ya,w.stubObject=I0,w.stubString=E0,w.stubTrue=k0,w.multiply=$0,w.nth=rv,w.noConflict=w0,w.noop=Va,w.now=jr,w.pad=Ky,w.padEnd=Vy,w.padStart=Gy,w.parseInt=Yy,w.random=Wy,w.reduce=ow,w.reduceRight=lw,w.repeat=Xy,w.replace=Zy,w.result=Ay,w.round=K0,w.runInContext=L,w.sample=dw,w.size=fw,w.snakeCase=jy,w.some=mw,w.sortedIndex=cv,w.sortedIndexBy=hv,w.sortedIndexOf=fv,w.sortedLastIndex=mv,w.sortedLastIndexBy=pv,w.sortedLastIndexOf=gv,w.startCase=Qy,w.startsWith=e0,w.subtract=V0,w.sum=G0,w.sumBy=Y0,w.template=t0,w.times=L0,w.toFinite=oi,w.toInteger=fe,w.toLength=td,w.toLower=i0,w.toNumber=zt,w.toSafeInteger=iy,w.toString=Se,w.toUpper=n0,w.trim=r0,w.trimEnd=s0,w.trimStart=a0,w.truncate=o0,w.unescape=l0,w.uniqueId=B0,w.upperCase=u0,w.upperFirst=Fa,w.each=Hu,w.eachRight=Fu,w.first=Wu,Ka(w,(function(){var t={};return Kt(w,function(i,a){Ae.call(w.prototype,a)||(t[a]=i)}),t})(),{chain:!1}),w.VERSION=e,St(["bind","bindKey","curry","curryRight","partial","partialRight"],function(t){w[t].placeholder=w}),St(["drop","take"],function(t,i){we.prototype[t]=function(a){a=a===n?1:Ve(fe(a),0);var u=this.__filtered__&&!i?new we(this):this.clone();return u.__filtered__?u.__takeCount__=Qe(a,u.__takeCount__):u.__views__.push({size:Qe(a,be),type:t+(u.__dir__<0?"Right":"")}),u},we.prototype[t+"Right"]=function(a){return this.reverse()[t](a).reverse()}}),St(["filter","map","takeWhile"],function(t,i){var a=i+1,u=a==G||a==de;we.prototype[t]=function(f){var x=this.clone();return x.__iteratees__.push({iteratee:ae(f,3),type:a}),x.__filtered__=x.__filtered__||u,x}}),St(["head","last"],function(t,i){var a="take"+(i?"Right":"");we.prototype[t]=function(){return this[a](1).value()[0]}}),St(["initial","tail"],function(t,i){var a="drop"+(i?"":"Right");we.prototype[t]=function(){return this.__filtered__?new we(this):this[a](1)}}),we.prototype.compact=function(){return this.filter(mt)},we.prototype.find=function(t){return this.filter(t).head()},we.prototype.findLast=function(t){return this.reverse().find(t)},we.prototype.invokeMap=pe(function(t,i){return typeof t=="function"?new we(this):this.map(function(a){return qn(a,t,i)})}),we.prototype.reject=function(t){return this.filter(Qr(ae(t)))},we.prototype.slice=function(t,i){t=fe(t);var a=this;return a.__filtered__&&(t>0||i<0)?new we(a):(t<0?a=a.takeRight(-t):t&&(a=a.drop(t)),i!==n&&(i=fe(i),a=i<0?a.dropRight(-i):a.take(i-t)),a)},we.prototype.takeRightWhile=function(t){return this.reverse().takeWhile(t).reverse()},we.prototype.toArray=function(){return this.take(be)},Kt(we.prototype,function(t,i){var a=/^(?:filter|find|map|reject)|While$/.test(i),u=/^(?:head|last)$/.test(i),f=w[u?"take"+(i=="last"?"Right":""):i],x=u||/^find/.test(i);f&&(w.prototype[i]=function(){var T=this.__wrapped__,A=u?[1]:arguments,z=T instanceof we,F=A[0],$=z||he(T),V=function(ve){var ye=f.apply(w,vi([ve],A));return u&&ne?ye[0]:ye};$&&a&&typeof F=="function"&&F.length!=1&&(z=$=!1);var ne=this.__chain__,se=!!this.__actions__.length,oe=x&&!ne,me=z&&!se;if(!x&&$){T=me?T:new we(this);var le=t.apply(T,A);return le.__actions__.push({func:Xr,args:[V],thisArg:n}),new It(le,ne)}return oe&&me?t.apply(this,A):(le=this.thru(V),oe?u?le.value()[0]:le.value():le)})}),St(["pop","push","shift","sort","splice","unshift"],function(t){var i=yr[t],a=/^(?:push|sort|unshift)$/.test(t)?"tap":"thru",u=/^(?:pop|shift)$/.test(t);w.prototype[t]=function(){var f=arguments;if(u&&!this.__chain__){var x=this.value();return i.apply(he(x)?x:[],f)}return this[a](function(T){return i.apply(he(T)?T:[],f)})}}),Kt(we.prototype,function(t,i){var a=w[i];if(a){var u=a.name+"";Ae.call(an,u)||(an[u]=[]),an[u].push({name:i,func:a})}}),an[Fr(n,y).name]=[{name:"wrapper",func:n}],we.prototype.clone=l_,we.prototype.reverse=u_,we.prototype.value=d_,w.prototype.at=Nv,w.prototype.chain=qv,w.prototype.commit=Hv,w.prototype.next=Fv,w.prototype.plant=$v,w.prototype.reverse=Kv,w.prototype.toJSON=w.prototype.valueOf=w.prototype.value=Vv,w.prototype.first=w.prototype.head,Bn&&(w.prototype[Bn]=Uv),w}),yi=Hg();typeof define=="function"&&typeof define.amd=="object"&&define.amd?(Ye._=yi,define(function(){return yi})):zi?((zi.exports=yi)._=yi,$s._=yi):Ye._=yi}).call(En)});var ci=Bt(ui());var fn=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 r of e)this.addLast(r)}push(e){this.addLast(e)}pop(){return this.removeLast()}shift(e){this.addFirst(e)}unshift(){return this.removeFirst()}addFirst(e){let r=new di.LinkedListNode(this,e);return this._first?(r.next=this._first,this._first.prev=r,this._first=r):(this._first=r,this._last=r),this._size++,r}addLast(e){let r=new di.LinkedListNode(this,e);return this._last?(r.prev=this._last,this._last.next=r,this._last=r):(this._first=r,this._last=r),this._size++,r}insertBefore(e,r){if(!r||r===this._first)return this.addFirst(e);if(!(r instanceof di.LinkedListNode)||r.list!==this)throw new Error("Reference node is not owned by the list.");let s=new di.LinkedListNode(this,e),o=r,l=o.prev;return s.next=o,s.prev=l,o.prev=s,l.next=s,this._size++,s}insertAfter(e,r){if(!r||r===this._last)return this.addLast(e);if(!(r instanceof di.LinkedListNode)||r.list!==this)throw new Error("Reference node is not owned by the list.");let s=new di.LinkedListNode(this,e),o=r,l=o.next;return s.next=l,s.prev=o,o.next=s,l.prev=s,this._size++,s}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 di.LinkedListNode)||e.list!==this)throw new Error("Node is not owned by the list.");let r=e;r===this._first&&r===this._last?(this._first=null,this._last=null):r===this._first?(this._first=r.next,this._first.prev=null):r===this._last?(this._last=r.prev,this._last.next=null):(r.next.prev=r.prev,r.prev.next=r.next),r.list=null,r.next=null,r.prev=null,this._size--}clear(){let e=this._first;for(;e;){let r=e.next;e.list=null,e.prev=null,e.next=null,e=r}this._first=null,this._last=null,this._size=0}};(function(n){function e(r){let s=new n;return s.assign(r),s}n.from=e})(fn||(fn={}));var di;(function(n){class e{constructor(s,o){this.list=null,this.next=null,this.prev=null,this.list=s,this.value=o}}n.LinkedListNode=e})(di||(di={}));var ot=class{constructor(e){this.type=e}get isConflatable(){return!1}conflate(e){return!1}},Ii=class extends ot{get isConflatable(){return!0}conflate(e){return!0}},X;(function(n){let e=null,r=(U=>J=>{let B=!1;return U.then(()=>!B&&J()),()=>{B=!0}})(Promise.resolve());function s(U,J){let B=v.get(U);if(!B||B.length===0){E(U,J);return}(0,ci.every)((0,ci.retro)(B),G=>G?C(G,U,J):!0)&&E(U,J)}n.sendMessage=s;function o(U,J){if(!J.isConflatable){I(U,J);return}(0,ci.some)(p,K=>K.handler!==U||!K.msg||K.msg.type!==J.type||!K.msg.isConflatable?!1:K.msg.conflate(J))||I(U,J)}n.postMessage=o;function l(U,J){let B=v.get(U);B&&B.indexOf(J)!==-1||(B?B.push(J):v.set(U,[J]))}n.installMessageHook=l;function c(U,J){let B=v.get(U);if(!B)return;let K=B.indexOf(J);K!==-1&&(B[K]=null,S(B))}n.removeMessageHook=c;function d(U){let J=v.get(U);J&&J.length>0&&(ci.ArrayExt.fill(J,null),S(J));for(let B of p)B.handler===U&&(B.handler=null,B.msg=null)}n.clearData=d;function h(){y||e===null||(e(),e=null,y=!0,M(),y=!1)}n.flush=h;function g(){return _}n.getExceptionHandler=g;function m(U){let J=_;return _=U,J}n.setExceptionHandler=m;let p=new fn,v=new WeakMap,b=new Set,_=U=>{console.error(U)},y=!1;function C(U,J,B){let K=!0;try{typeof U=="function"?K=U(J,B):K=U.messageHook(J,B)}catch(G){_(G)}return K}function E(U,J){try{U.processMessage(J)}catch(B){_(B)}}function I(U,J){p.addLast({handler:U,msg:J}),e===null&&(e=r(M))}function M(){if(e=null,p.isEmpty)return;let U={handler:null,msg:null};for(p.addLast(U);;){let J=p.removeFirst();if(J===U)return;J.handler&&J.msg&&s(J.handler,J.msg)}}function S(U){b.size===0&&r(k),b.add(U)}function k(){b.forEach(D),b.clear()}function D(U){ci.ArrayExt.removeAllWhere(U,H)}function H(U){return U===null}})(X||(X={}));var Z=Bt(ui()),mi=Bt(ss());var _d;(function(n){function e(r){let s=document.body,o=l=>{l.preventDefault(),l.stopPropagation(),l.clipboardData.setData("text",r),s.removeEventListener("copy",o,!0)};s.addEventListener("copy",o,!0),document.execCommand("copy")}n.copyText=e})(_d||(_d={}));var Ce;(function(n){function e(l){let c=window.getComputedStyle(l),d=parseFloat(c.borderTopWidth)||0,h=parseFloat(c.borderLeftWidth)||0,g=parseFloat(c.borderRightWidth)||0,m=parseFloat(c.borderBottomWidth)||0,p=parseFloat(c.paddingTop)||0,v=parseFloat(c.paddingLeft)||0,b=parseFloat(c.paddingRight)||0,_=parseFloat(c.paddingBottom)||0,y=h+v+b+g,C=d+p+_+m;return{borderTop:d,borderLeft:h,borderRight:g,borderBottom:m,paddingTop:p,paddingLeft:v,paddingRight:b,paddingBottom:_,horizontalSum:y,verticalSum:C}}n.boxSizing=e;function r(l){let c=window.getComputedStyle(l),d=parseFloat(c.minWidth)||0,h=parseFloat(c.minHeight)||0,g=parseFloat(c.maxWidth)||1/0,m=parseFloat(c.maxHeight)||1/0;return g=Math.max(d,g),m=Math.max(h,m),{minWidth:d,minHeight:h,maxWidth:g,maxHeight:m}}n.sizeLimits=r;function s(l,c,d){let h=l.getBoundingClientRect();return c>=h.left&&c<h.right&&d>=h.top&&d<h.bottom}n.hitTest=s;function o(l,c){let d=l.getBoundingClientRect(),h=c.getBoundingClientRect();if(!(h.top<=d.top&&h.bottom>=d.bottom)){if(h.top<d.top&&h.height<=d.height){l.scrollTop-=d.top-h.top;return}if(h.bottom>d.bottom&&h.height>=d.height){l.scrollTop-=d.top-h.top;return}if(h.top<d.top&&h.height>d.height){l.scrollTop-=d.bottom-h.bottom;return}if(h.bottom>d.bottom&&h.height<d.height){l.scrollTop-=d.bottom-h.bottom;return}}}n.scrollIntoViewIfNeeded=o})(Ce||(Ce={}));var tt;(function(n){n.IS_MAC=!!navigator.platform.match(/Mac/i),n.IS_WIN=!!navigator.platform.match(/Win/i),n.IS_IE=/Trident/.test(navigator.userAgent),n.IS_EDGE=/Edge/.test(navigator.userAgent);function e(r){return n.IS_MAC?r.metaKey:r.ctrlKey}n.accelKey=e})(tt||(tt={}));var Ft;(function(n){function e(o){if(o in Ht.specificityCache)return Ht.specificityCache[o];let l=Ht.calculateSingle(o);return Ht.specificityCache[o]=l}n.calculateSpecificity=e;function r(o){if(o in Ht.validityCache)return Ht.validityCache[o];let l=!0;try{Ht.testElem.querySelector(o)}catch{l=!1}return Ht.validityCache[o]=l}n.isValid=r;function s(o,l){return Ht.protoMatchFunc.call(o,l)}n.matches=s})(Ft||(Ft={}));var Ht;(function(n){n.specificityCache=Object.create(null),n.validityCache=Object.create(null),n.testElem=document.createElement("div"),n.protoMatchFunc=(()=>{let m=Element.prototype;return m.matches||m.matchesSelector||m.mozMatchesSelector||m.msMatchesSelector||m.oMatchesSelector||m.webkitMatchesSelector||function(p){let v=this,b=v.ownerDocument?v.ownerDocument.querySelectorAll(p):[];return Array.prototype.indexOf.call(b,v)!==-1}})();function e(m){m=m.split(",",1)[0];let p=0,v=0,b=0;function _(y){let C=m.match(y);return C===null?!1:(m=m.slice(C[0].length),!0)}for(m=m.replace(g," $1 ");m.length>0;){if(_(r)){p++;continue}if(_(s)){v++;continue}if(_(o)){v++;continue}if(_(c)){b++;continue}if(_(d)){v++;continue}if(_(l)){b++;continue}if(!_(h))return 0}return p=Math.min(p,255),v=Math.min(v,255),b=Math.min(b,255),p<<16|v<<8|b}n.calculateSingle=e;let r=/^#[^\s\+>~#\.\[:]+/,s=/^\.[^\s\+>~#\.\[:]+/,o=/^\[[^\]]+\]/,l=/^[^\s\+>~#\.\[:]+/,c=/^(::[^\s\+>~#\.\[:]+|:first-line|:first-letter|:before|:after)/,d=/^:[^\s\+>~#\.\[:]+/,h=/^[\s\+>~\*]+/,g=/:not\(([^\)]+)\)/g})(Ht||(Ht={}));var lt=class{constructor(e){this._pid=Hi.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 r,s=Hi.ensureMap(e);return this._pid in s?r=s[this._pid]:r=s[this._pid]=this._createValue(e),r}set(e,r){let s,o=Hi.ensureMap(e);this._pid in o?s=o[this._pid]:s=o[this._pid]=this._createValue(e);let l=this._coerceValue(e,r);this._maybeNotify(e,s,o[this._pid]=l)}coerce(e){let r,s=Hi.ensureMap(e);this._pid in s?r=s[this._pid]:r=s[this._pid]=this._createValue(e);let o=this._coerceValue(e,r);this._maybeNotify(e,r,s[this._pid]=o)}_createValue(e){let r=this._create;return r(e)}_coerceValue(e,r){let s=this._coerce;return s?s(e,r):r}_compareValue(e,r){let s=this._compare;return s?s(e,r):e===r}_maybeNotify(e,r,s){let o=this._changed;o&&!this._compareValue(r,s)&&o(e,r,s)}};(function(n){function e(r){Hi.ownerData.delete(r)}n.clearData=e})(lt||(lt={}));var Hi;(function(n){n.ownerData=new WeakMap,n.nextPID=(()=>{let r=0;return()=>`pid-${`${Math.random()}`.slice(2)}-${r++}`})();function e(r){let s=n.ownerData.get(r);return s||(s=Object.create(null),n.ownerData.set(r,s),s)}n.ensureMap=e})(Hi||(Hi={}));var as=Bt(ui()),ix=Bt(ss()),Ie=class{constructor(e){this.sender=e}connect(e,r){return xt.connect(this,e,r)}disconnect(e,r){return xt.disconnect(this,e,r)}emit(e){xt.emit(this,e)}};(function(n){function e(h,g){xt.disconnectBetween(h,g)}n.disconnectBetween=e;function r(h){xt.disconnectSender(h)}n.disconnectSender=r;function s(h){xt.disconnectReceiver(h)}n.disconnectReceiver=s;function o(h){xt.disconnectAll(h)}n.disconnectAll=o;function l(h){xt.disconnectAll(h)}n.clearData=l;function c(){return xt.exceptionHandler}n.getExceptionHandler=c;function d(h){let g=xt.exceptionHandler;return xt.exceptionHandler=h,g}n.setExceptionHandler=d})(Ie||(Ie={}));var xt;(function(n){n.exceptionHandler=I=>{console.error(I)};function e(I,M,S){S=S||void 0;let k=h.get(I.sender);if(k||(k=[],h.set(I.sender,k)),v(k,I,M,S))return!1;let D=S||M,H=g.get(D);H||(H=[],g.set(D,H));let U={signal:I,slot:M,thisArg:S};return k.push(U),H.push(U),!0}n.connect=e;function r(I,M,S){S=S||void 0;let k=h.get(I.sender);if(!k||k.length===0)return!1;let D=v(k,I,M,S);if(!D)return!1;let H=S||M,U=g.get(H);return D.signal=null,_(k),_(U),!0}n.disconnect=r;function s(I,M){let S=h.get(I);if(!S||S.length===0)return;let k=g.get(M);if(!(!k||k.length===0)){for(let D of k)D.signal&&D.signal.sender===I&&(D.signal=null);_(S),_(k)}}n.disconnectBetween=s;function o(I){let M=h.get(I);if(!(!M||M.length===0)){for(let S of M){if(!S.signal)continue;let k=S.thisArg||S.slot;S.signal=null,_(g.get(k))}_(M)}}n.disconnectSender=o;function l(I){let M=g.get(I);if(!(!M||M.length===0)){for(let S of M){if(!S.signal)continue;let k=S.signal.sender;S.signal=null,_(h.get(k))}_(M)}}n.disconnectReceiver=l;function c(I){o(I),l(I)}n.disconnectAll=c;function d(I,M){let S=h.get(I.sender);if(!(!S||S.length===0))for(let k=0,D=S.length;k<D;++k){let H=S[k];H.signal===I&&b(H,M)}}n.emit=d;let h=new WeakMap,g=new WeakMap,m=new Set,p=typeof requestAnimationFrame=="function"?requestAnimationFrame:setImmediate;function v(I,M,S,k){return(0,as.find)(I,D=>D.signal===M&&D.slot===S&&D.thisArg===k)}function b(I,M){let{signal:S,slot:k,thisArg:D}=I;try{k.call(D,S.sender,M)}catch(H){n.exceptionHandler(H)}}function _(I){m.size===0&&p(y),m.add(I)}function y(){m.forEach(C),m.clear()}function C(I){as.ArrayExt.removeAllWhere(I,E)}function E(I){return I.signal===null}})(xt||(xt={}));var Ei=class{constructor(e){this._fn=e}get isDisposed(){return!this._fn}dispose(){if(!this._fn)return;let e=this._fn;this._fn=null,e()}};var Gn=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(n){function e(r){let s=new n;for(let o of r)s.add(o);return s}n.from=e})(Gn||(Gn={}));var os=class extends Gn{constructor(){super(...arguments),this._disposed=new Ie(this)}get disposed(){return this._disposed}dispose(){this.isDisposed||(super.dispose(),this._disposed.emit(void 0),Ie.clearData(this))}};(function(n){function e(r){let s=new n;for(let o of r)s.add(o);return s}n.from=e})(os||(os={}));var ut=class n{constructor(e){this._onScrollFrame=()=>{if(!this._scrollTarget)return;let{element:r,edge:s,distance:o}=this._scrollTarget,l=it.SCROLL_EDGE_SIZE-o,c=Math.pow(l/it.SCROLL_EDGE_SIZE,2),d=Math.max(1,Math.round(c*it.SCROLL_EDGE_SIZE));switch(s){case"top":r.scrollTop-=d;break;case"left":r.scrollLeft-=d;break;case"right":r.scrollLeft+=d;break;case"bottom":r.scrollTop+=d;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});it.dispatchDragLeave(this,this._currentTarget,null,e)}this._finalize("none")}}get isDisposed(){return this._disposed}start(e,r){if(this._disposed)return Promise.resolve("none");if(this._promise)return this._promise;this._addListeners(),this._attachDragImage(e,r),this._promise=new Promise(o=>{this._resolve=o});let s=new PointerEvent("pointermove",{bubbles:!0,cancelable:!0,clientX:e,clientY:r});return document.dispatchEvent(s),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,r){if(!this.dragImage)return;let s=this.dragImage.style;s.transform=`translate(${e}px, ${r}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"){it.dispatchDragLeave(this,this._currentTarget,null,e),this._finalize("none");return}let r=it.dispatchDrop(this,this._currentTarget,e);this._finalize(r)}_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 r=it.findScrollTarget(e);!this._scrollTarget&&!r||(this._scrollTarget||setTimeout(this._onScrollFrame,500),this._scrollTarget=r)}_updateCurrentTarget(e){let r=this._currentTarget,s=this._currentTarget,o=this._currentElement,l=it.findElementBehindBackdrop(e,this.document);this._currentElement=l,l!==o&&l!==s&&it.dispatchDragExit(this,s,l,e),l!==o&&l!==s&&(s=it.dispatchDragEnter(this,l,s,e)),s!==r&&(this._currentTarget=s,it.dispatchDragLeave(this,r,s,e));let c=it.dispatchDragOver(this,s,e);this._setDropAction(c)}_attachDragImage(e,r){if(!this.dragImage)return;this.dragImage.classList.add("lm-mod-drag-image");let s=this.dragImage.style;s.pointerEvents="none",s.position="fixed",s.transform=`translate(${e}px, ${r}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=it.validateAction(e,this.supportedActions),!(this._override&&this._dropAction===e))switch(e){case"none":this._dropAction=e,this._override=n.overrideCursor("no-drop",this.document);break;case"copy":this._dropAction=e,this._override=n.overrideCursor("copy",this.document);break;case"link":this._dropAction=e,this._override=n.overrideCursor("alias",this.document);break;case"move":this._dropAction=e,this._override=n.overrideCursor("move",this.document);break}}_finalize(e){let r=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,r&&r(e)}};(function(n){class e extends DragEvent{constructor(o,l){super(l.type,{bubbles:!0,cancelable:!0,altKey:o.altKey,button:o.button,clientX:o.clientX,clientY:o.clientY,ctrlKey:o.ctrlKey,detail:0,metaKey:o.metaKey,relatedTarget:l.related,screenX:o.screenX,screenY:o.screenY,shiftKey:o.shiftKey,view:window});let{drag:c}=l;this.dropAction="none",this.mimeData=c.mimeData,this.proposedAction=c.proposedAction,this.supportedActions=c.supportedActions,this.source=c.source}}n.Event=e;function r(s,o=document){return it.overrideCursor(s,o)}n.overrideCursor=r})(ut||(ut={}));var it;(function(n){n.SCROLL_EDGE_SIZE=20;function e(S,k){return p[S]&v[k]?S:"none"}n.validateAction=e;function r(S,k=document){if(S){if(s&&S==s.event)return s.element;n.cursorBackdrop.style.zIndex="-1000";let D=k.elementFromPoint(S.clientX,S.clientY);return n.cursorBackdrop.style.zIndex="",s={event:S,element:D},D}else{let D=n.cursorBackdrop.style.transform;if(o&&D===o.transform)return o.element;let H=n.cursorBackdrop.getBoundingClientRect();n.cursorBackdrop.style.zIndex="-1000";let U=k.elementFromPoint(H.left+H.width/2,H.top+H.height/2);return n.cursorBackdrop.style.zIndex="",o={transform:D,element:U},U}}n.findElementBehindBackdrop=r;let s=null,o=null;function l(S){let k=S.clientX,D=S.clientY,H=r(S);for(;H;H=H.parentElement){if(!H.hasAttribute("data-lm-dragscroll"))continue;let U=0,J=0;H===document.body&&(U=window.pageXOffset,J=window.pageYOffset);let B=H.getBoundingClientRect(),K=B.top+J,G=B.left+U,Q=G+B.width,de=K+B.height;if(k<G||k>=Q||D<K||D>=de)continue;let ge=k-G+1,ue=D-K+1,xe=Q-k,Ee=de-D,be=Math.min(ge,ue,xe,Ee);if(be>n.SCROLL_EDGE_SIZE)continue;let ke;switch(be){case Ee:ke="bottom";break;case ue:ke="top";break;case xe:ke="right";break;case ge:ke="left";break;default:throw"unreachable"}let ze=H.scrollWidth-H.clientWidth,He=H.scrollHeight-H.clientHeight,Re;switch(ke){case"top":Re=He>0&&H.scrollTop>0;break;case"left":Re=ze>0&&H.scrollLeft>0;break;case"right":Re=ze>0&&H.scrollLeft<ze;break;case"bottom":Re=He>0&&H.scrollTop<He;break;default:throw"unreachable"}if(Re)return{element:H,edge:ke,distance:be}}return null}n.findScrollTarget=l;function c(S,k,D,H){if(!k)return null;let U=new ut.Event(H,{drag:S,related:D,type:"lm-dragenter"});if(!k.dispatchEvent(U))return k;let B=S.document instanceof Document?S.document.body:S.document.firstElementChild;return k===B?D:(U=new ut.Event(H,{drag:S,related:D,type:"lm-dragenter"}),B.dispatchEvent(U),B)}n.dispatchDragEnter=c;function d(S,k,D,H){if(!k)return;let U=new ut.Event(H,{drag:S,related:D,type:"lm-dragexit"});k.dispatchEvent(U)}n.dispatchDragExit=d;function h(S,k,D,H){if(!k)return;let U=new ut.Event(H,{drag:S,related:D,type:"lm-dragleave"});k.dispatchEvent(U)}n.dispatchDragLeave=h;function g(S,k,D){if(!k)return"none";let H=new ut.Event(D,{drag:S,related:null,type:"lm-dragover"});return k.dispatchEvent(H)?"none":H.dropAction}n.dispatchDragOver=g;function m(S,k,D){if(!k)return"none";let H=new ut.Event(D,{drag:S,related:null,type:"lm-drop"});return k.dispatchEvent(H)?"none":H.dropAction}n.dispatchDrop=m;let p={none:0,copy:1,link:2,move:4},v={none:p.none,copy:p.copy,link:p.link,move:p.move,"copy-link":p.copy|p.link,"copy-move":p.copy|p.move,"link-move":p.link|p.move,all:p.copy|p.link|p.move};function b(S,k=document){let D=++M,H=k instanceof Document?k.body:k.firstElementChild;return n.cursorBackdrop.isConnected||(n.cursorBackdrop.style.transform="scale(0)",H.appendChild(n.cursorBackdrop),C(),document.addEventListener("pointermove",_,{capture:!0,passive:!0}),n.cursorBackdrop.addEventListener("scroll",y,{capture:!0,passive:!0})),n.cursorBackdrop.style.cursor=S,new Ei(()=>{D===M&&n.cursorBackdrop.isConnected&&(document.removeEventListener("pointermove",_,!0),n.cursorBackdrop.removeEventListener("scroll",y,!0),H.removeChild(n.cursorBackdrop))})}n.overrideCursor=b;function _(S){n.cursorBackdrop&&(n.cursorBackdrop.style.transform=`translate(${S.clientX}px, ${S.clientY}px)`)}function y(S){if(!n.cursorBackdrop)return;let k=r();if(!k)return;let D=k.closest("[data-lm-dragscroll]");D&&(D.scrollTop+=n.cursorBackdrop.scrollTop-E,D.scrollLeft+=n.cursorBackdrop.scrollLeft-E,C())}function C(){n.cursorBackdrop.scrollTop=E,n.cursorBackdrop.scrollLeft=E}let E=500;function I(){let S=document.createElement("div");return S.classList.add("lm-cursor-backdrop"),S}let M=0;n.cursorBackdrop=I()})(it||(it={}));var bd=Bt(ui()),Je=Bt(ss());function mn(){return Xa.keyboardLayout}var Yn=class n{constructor(e,r,s=[]){this.name=e,this._codes=r,this._keys=n.extractKeys(r),this._modifierKeys=n.convertToKeySet(s)}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(n){function e(s){let o=Object.create(null);for(let l in s)o[s[l]]=!0;return o}n.extractKeys=e;function r(s){let o=Object(null);for(let l=0,c=s.length;l<c;++l)o[s[l]]=!0;return o}n.convertToKeySet=r})(Yn||(Yn={}));var nx=new Yn("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"]),Xa;(function(n){n.keyboardLayout=nx})(Xa||(Xa={}));var Mt=class n{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 Ie(this),this._commandExecuted=new Ie(this),this._keyBindingChanged=new Ie(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,r){if(this._commands.has(e))throw new Error(`Command '${e}' already registered.`);return this._commands.set(e,Ut.createCommand(r)),this._commandChanged.emit({id:e,type:"added"}),new Ei(()=>{this._commands.delete(e),this._commandChanged.emit({id:e,type:"removed"})})}notifyCommandChanged(e){if(e!==void 0&&!this._commands.has(e))throw new Error(`Command '${e}' is not registered.`);this._commandChanged.emit({id:e,type:e?"changed":"many-changed"})}describedBy(e,r=Je.JSONExt.emptyObject){var s;let o=this._commands.get(e);return Promise.resolve((s=o?.describedBy.call(void 0,r))!==null&&s!==void 0?s:{args:null})}label(e,r=Je.JSONExt.emptyObject){var s;let o=this._commands.get(e);return(s=o?.label.call(void 0,r))!==null&&s!==void 0?s:""}mnemonic(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.mnemonic.call(void 0,r):-1}icon(e,r=Je.JSONExt.emptyObject){var s;return(s=this._commands.get(e))===null||s===void 0?void 0:s.icon.call(void 0,r)}iconClass(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.iconClass.call(void 0,r):""}iconLabel(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.iconLabel.call(void 0,r):""}caption(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.caption.call(void 0,r):""}usage(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.usage.call(void 0,r):""}className(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.className.call(void 0,r):""}dataset(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.dataset.call(void 0,r):{}}isEnabled(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.isEnabled.call(void 0,r):!1}isToggled(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.isToggled.call(void 0,r):!1}isToggleable(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.isToggleable:!1}isVisible(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);return s?s.isVisible.call(void 0,r):!1}execute(e,r=Je.JSONExt.emptyObject){let s=this._commands.get(e);if(!s)return Promise.reject(new Error(`Command '${e}' not registered.`));let o;try{o=s.execute.call(void 0,r)}catch(c){o=Promise.reject(c)}let l=Promise.resolve(o);return this._commandExecuted.emit({id:e,args:r,result:l}),l}addKeyBinding(e){let r=Ut.createKeyBinding(e);return this._keyBindings.push(r),this._keyBindingChanged.emit({binding:r,type:"added"}),new Ei(()=>{bd.ArrayExt.removeFirstOf(this._keyBindings,r),this._keyBindingChanged.emit({binding:r,type:"removed"})})}processKeydownEvent(e){if(e.defaultPrevented||this._replaying)return;let r=n.keystrokeForKeydownEvent(e);if(!r){this._replayKeydownEvents(),this._clearPendingState();return}if(n.isModifierKeyPressed(e)){let{exact:c}=Ut.matchKeyBinding(this._keyBindings,[r],e);c?(e.preventDefault(),e.stopPropagation(),this._startModifierTimer(c)):this._clearModifierTimer();return}this._keystrokes.push(r);let{exact:s,partial:o}=Ut.matchKeyBinding(this._keyBindings,this._keystrokes,e),l=o.length!==0;if(!s&&!l){this._replayKeydownEvents(),this._clearPendingState();return}if((s?.preventDefault||o.some(c=>c.preventDefault))&&(e.preventDefault(),e.stopPropagation()),this._keydownEvents.push(e),s&&!l){this._executeKeyBinding(s),this._clearPendingState();return}s&&(this._exactKeyMatch=s),this._startTimer()}holdKeyBindingExecution(e,r){this._holdKeyBindingPromises.set(e,r)}processKeyupEvent(e){this._clearModifierTimer()}_startModifierTimer(e){this._clearModifierTimer(),this._timerModifierID=window.setTimeout(()=>{this._executeKeyBinding(e)},Ut.modifierkeyTimeOut)}_clearModifierTimer(){this._timerModifierID!==0&&(clearTimeout(this._timerModifierID),this._timerModifierID=0)}_startTimer(){this._clearTimer(),this._timerID=window.setTimeout(()=>{this._onPendingTimeout()},Ut.CHORD_TIMEOUT)}_clearTimer(){this._timerID!==0&&(clearTimeout(this._timerID),this._timerID=0)}_replayKeydownEvents(){this._keydownEvents.length!==0&&(this._replaying=!0,this._keydownEvents.forEach(Ut.replayKeyEvent),this._replaying=!1)}async _executeKeyBinding(e){if(this._holdKeyBindingPromises.size!==0){let l=[...this._keydownEvents],c=(await Promise.race([Promise.all(l.map(async d=>{var h;return(h=this._holdKeyBindingPromises.get(d))!==null&&h!==void 0?h:Promise.resolve(!0)})),new Promise(d=>{setTimeout(()=>d([!1]),Ut.KEYBINDING_HOLD_TIMEOUT)})])).every(Boolean);if(this._holdKeyBindingPromises.clear(),!c)return}let{command:r,args:s}=e,o={_luminoEvent:{type:"keybinding",keys:e.keys},...s};if(!this.hasCommand(r)||!this.isEnabled(r,o)){let l=this.hasCommand(r)?"enabled":"registered",d=`Cannot execute key binding '${e.keys.join(", ")}':`,h=`command '${r}' is not ${l}.`;console.warn(`${d} ${h}`);return}await this.execute(r,o)}_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(n){function e(d){let h="",g=!1,m=!1,p=!1,v=!1;for(let b of d.split(/\s+/))b==="Accel"?tt.IS_MAC?m=!0:p=!0:b==="Alt"?g=!0:b==="Cmd"?m=!0:b==="Ctrl"?p=!0:b==="Shift"?v=!0:b.length>0&&(h=b);return{cmd:m,ctrl:p,alt:g,shift:v,key:h}}n.parseKeystroke=e;function r(d){let h="",g=e(d);return g.ctrl&&(h+="Ctrl "),g.alt&&(h+="Alt "),g.shift&&(h+="Shift "),g.cmd&&tt.IS_MAC&&(h+="Cmd "),g.key?h+g.key:h.trim()}n.normalizeKeystroke=r;function s(d){let h;return tt.IS_WIN?h=d.winKeys||d.keys:tt.IS_MAC?h=d.macKeys||d.keys:h=d.linuxKeys||d.keys,h.map(r)}n.normalizeKeys=s;function o(d){return typeof d=="string"?h(d):d.map(h).join(", ");function h(g){let m=[],p=tt.IS_MAC?" ":"+",v=e(g);return v.ctrl&&m.push("Ctrl"),v.alt&&m.push("Alt"),v.shift&&m.push("Shift"),tt.IS_MAC&&v.cmd&&m.push("Cmd"),m.push(v.key),m.map(Ut.formatKey).join(p)}}n.formatKeystroke=o;function l(d){let h=mn(),g=h.keyForKeydownEvent(d);return h.isModifierKey(g)}n.isModifierKeyPressed=l;function c(d){let h=mn(),g=h.keyForKeydownEvent(d),m=[];return d.ctrlKey&&m.push("Ctrl"),d.altKey&&m.push("Alt"),d.shiftKey&&m.push("Shift"),d.metaKey&&tt.IS_MAC&&m.push("Cmd"),h.isModifierKey(g)||m.push(g),m.join(" ")}n.keystrokeForKeydownEvent=c})(Mt||(Mt={}));var Ut;(function(n){n.CHORD_TIMEOUT=1e3,n.KEYBINDING_HOLD_TIMEOUT=1e3,n.modifierkeyTimeOut=500;function e(M){return{execute:M.execute,describedBy:_(typeof M.describedBy=="function"?M.describedBy:{args:null,...M.describedBy},()=>({args:null})),label:_(M.label,h),mnemonic:_(M.mnemonic,g),icon:_(M.icon,b),iconClass:_(M.iconClass,h),iconLabel:_(M.iconLabel,h),caption:_(M.caption,h),usage:_(M.usage,h),className:_(M.className,h),dataset:_(M.dataset,v),isEnabled:M.isEnabled||m,isToggled:M.isToggled||p,isToggleable:M.isToggleable||!!M.isToggled,isVisible:M.isVisible||m}}n.createCommand=e;function r(M){var S;return{keys:Mt.normalizeKeys(M),selector:y(M),command:M.command,args:M.args||Je.JSONExt.emptyObject,preventDefault:(S=M.preventDefault)!==null&&S!==void 0?S:!0}}n.createKeyBinding=r;function s(M,S,k){let D=null,H=[],U=1/0,J=0;for(let B=0,K=M.length;B<K;++B){let G=M[B],Q=C(G.keys,S);if(Q===0)continue;if(Q===2){E(G.selector,k)!==-1&&H.push(G);continue}let de=E(G.selector,k);if(de===-1||de>U)continue;let ge=Ft.calculateSpecificity(G.selector);(!D||de<U||ge>=J)&&(D=G,U=de,J=ge)}return{exact:D,partial:H}}n.matchKeyBinding=s;function o(M){M.target.dispatchEvent(I(M))}n.replayKeyEvent=o;function l(M){return tt.IS_MAC?c.hasOwnProperty(M)?c[M]:M:d.hasOwnProperty(M)?d[M]:M}n.formatKey=l;let c={Backspace:"\u232B",Tab:"\u21E5",Enter:"\u23CE",Shift:"\u21E7",Ctrl:"\u2303",Alt:"\u2325",Escape:"\u238B",PageUp:"\u21DE",PageDown:"\u21DF",End:"\u2198",Home:"\u2196",ArrowLeft:"\u2190",ArrowUp:"\u2191",ArrowRight:"\u2192",ArrowDown:"\u2193",Delete:"\u2326",Cmd:"\u2318"},d={Escape:"Esc",PageUp:"Page Up",PageDown:"Page Down",ArrowLeft:"Left",ArrowUp:"Up",ArrowRight:"Right",ArrowDown:"Down",Delete:"Del"},h=()=>"",g=()=>-1,m=()=>!0,p=()=>!1,v=()=>({}),b=()=>{};function _(M,S){return M===void 0?S:typeof M=="function"?M:()=>M}function y(M){if(M.selector.indexOf(",")!==-1)throw new Error(`Selector cannot contain commas: ${M.selector}`);if(!Ft.isValid(M.selector))throw new Error(`Invalid selector: ${M.selector}`);return M.selector}function C(M,S){if(M.length<S.length)return 0;for(let k=0,D=S.length;k<D;++k)if(M[k]!==S[k])return 0;return M.length>S.length?2:1}function E(M,S){let k=S.target,D=S.currentTarget;for(let H=0;k!==null;k=k.parentElement,++H){if(k.hasAttribute("data-lm-suppress-shortcuts"))return-1;if(Ft.matches(k,M))return H;if(k===D)return-1}return-1}function I(M){let S=document.createEvent("Event"),k=M.bubbles||!0,D=M.cancelable||!0;return S.initEvent(M.type||"keydown",k,D),S.key=M.key||"",S.keyCode=M.keyCode||0,S.which=M.keyCode||0,S.ctrlKey=M.ctrlKey||!1,S.altKey=M.altKey||!1,S.shiftKey=M.shiftKey||!1,S.metaKey=M.metaKey||!1,S.view=M.view||window,S}})(Ut||(Ut={}));var pn=Bt(ui()),gn=class{constructor(e){this.type="text",this.content=e}},Xn=class{constructor(e,r,s,o){this.type="element",this.tag=e,this.attrs=r,this.children=s,this.renderer=o}};function _e(n){let e={},r,s=[];for(let l=1,c=arguments.length;l<c;++l){let d=arguments[l];typeof d=="string"?s.push(new gn(d)):d instanceof gn||d instanceof Xn?s.push(d):d instanceof Array?o(s,d):(l===1||l===2)&&d&&typeof d=="object"&&("render"in d?r=d:e=d)}return new Xn(n,e,s,r);function o(l,c){for(let d of c)typeof d=="string"?l.push(new gn(d)):(d instanceof gn||d instanceof Xn)&&l.push(d)}}(function(n){n.a=n.bind(void 0,"a"),n.abbr=n.bind(void 0,"abbr"),n.address=n.bind(void 0,"address"),n.area=n.bind(void 0,"area"),n.article=n.bind(void 0,"article"),n.aside=n.bind(void 0,"aside"),n.audio=n.bind(void 0,"audio"),n.b=n.bind(void 0,"b"),n.bdi=n.bind(void 0,"bdi"),n.bdo=n.bind(void 0,"bdo"),n.blockquote=n.bind(void 0,"blockquote"),n.br=n.bind(void 0,"br"),n.button=n.bind(void 0,"button"),n.canvas=n.bind(void 0,"canvas"),n.caption=n.bind(void 0,"caption"),n.cite=n.bind(void 0,"cite"),n.code=n.bind(void 0,"code"),n.col=n.bind(void 0,"col"),n.colgroup=n.bind(void 0,"colgroup"),n.data=n.bind(void 0,"data"),n.datalist=n.bind(void 0,"datalist"),n.dd=n.bind(void 0,"dd"),n.del=n.bind(void 0,"del"),n.dfn=n.bind(void 0,"dfn"),n.div=n.bind(void 0,"div"),n.dl=n.bind(void 0,"dl"),n.dt=n.bind(void 0,"dt"),n.em=n.bind(void 0,"em"),n.embed=n.bind(void 0,"embed"),n.fieldset=n.bind(void 0,"fieldset"),n.figcaption=n.bind(void 0,"figcaption"),n.figure=n.bind(void 0,"figure"),n.footer=n.bind(void 0,"footer"),n.form=n.bind(void 0,"form"),n.h1=n.bind(void 0,"h1"),n.h2=n.bind(void 0,"h2"),n.h3=n.bind(void 0,"h3"),n.h4=n.bind(void 0,"h4"),n.h5=n.bind(void 0,"h5"),n.h6=n.bind(void 0,"h6"),n.header=n.bind(void 0,"header"),n.hr=n.bind(void 0,"hr"),n.i=n.bind(void 0,"i"),n.iframe=n.bind(void 0,"iframe"),n.img=n.bind(void 0,"img"),n.input=n.bind(void 0,"input"),n.ins=n.bind(void 0,"ins"),n.kbd=n.bind(void 0,"kbd"),n.label=n.bind(void 0,"label"),n.legend=n.bind(void 0,"legend"),n.li=n.bind(void 0,"li"),n.main=n.bind(void 0,"main"),n.map=n.bind(void 0,"map"),n.mark=n.bind(void 0,"mark"),n.meter=n.bind(void 0,"meter"),n.nav=n.bind(void 0,"nav"),n.noscript=n.bind(void 0,"noscript"),n.object=n.bind(void 0,"object"),n.ol=n.bind(void 0,"ol"),n.optgroup=n.bind(void 0,"optgroup"),n.option=n.bind(void 0,"option"),n.output=n.bind(void 0,"output"),n.p=n.bind(void 0,"p"),n.param=n.bind(void 0,"param"),n.pre=n.bind(void 0,"pre"),n.progress=n.bind(void 0,"progress"),n.q=n.bind(void 0,"q"),n.rp=n.bind(void 0,"rp"),n.rt=n.bind(void 0,"rt"),n.ruby=n.bind(void 0,"ruby"),n.s=n.bind(void 0,"s"),n.samp=n.bind(void 0,"samp"),n.section=n.bind(void 0,"section"),n.select=n.bind(void 0,"select"),n.small=n.bind(void 0,"small"),n.source=n.bind(void 0,"source"),n.span=n.bind(void 0,"span"),n.strong=n.bind(void 0,"strong"),n.sub=n.bind(void 0,"sub"),n.summary=n.bind(void 0,"summary"),n.sup=n.bind(void 0,"sup"),n.table=n.bind(void 0,"table"),n.tbody=n.bind(void 0,"tbody"),n.td=n.bind(void 0,"td"),n.textarea=n.bind(void 0,"textarea"),n.tfoot=n.bind(void 0,"tfoot"),n.th=n.bind(void 0,"th"),n.thead=n.bind(void 0,"thead"),n.time=n.bind(void 0,"time"),n.title=n.bind(void 0,"title"),n.tr=n.bind(void 0,"tr"),n.track=n.bind(void 0,"track"),n.u=n.bind(void 0,"u"),n.ul=n.bind(void 0,"ul"),n.var_=n.bind(void 0,"var"),n.video=n.bind(void 0,"video"),n.wbr=n.bind(void 0,"wbr")})(_e||(_e={}));var Dt;(function(n){function e(s){return Fi.createDOMNode(s)}n.realize=e;function r(s,o){let l=Fi.hostMap.get(o)||[],c=Fi.asContentArray(s);Fi.hostMap.set(o,c),Fi.updateContent(o,l,c)}n.render=r})(Dt||(Dt={}));var Fi;(function(n){n.hostMap=new WeakMap;function e(b){return b?b instanceof Array?b:[b]:[]}n.asContentArray=e;function r(b){let _=arguments[1]||null,y=arguments[2]||null;if(_)_.insertBefore(r(b),y);else{if(b.type==="text")return document.createTextNode(b.content);if(_=document.createElement(b.tag),c(_,b.attrs),b.renderer)return b.renderer.render(_,{attrs:b.attrs,children:b.children}),_;for(let C=0,E=b.children.length;C<E;++C)r(b.children[C],_)}return _}n.createDOMNode=r;function s(b,_,y){if(_===y)return;let C=v(b,_),E=_.slice(),I=b.firstChild,M=y.length;for(let S=0;S<M;++S){if(S>=E.length){r(y[S],b);continue}let k=E[S],D=y[S];if(k===D){I=I.nextSibling;continue}if(k.type==="text"&&D.type==="text"){I.textContent!==D.content&&(I.textContent=D.content),I=I.nextSibling;continue}if(k.type==="text"||D.type==="text"){pn.ArrayExt.insert(E,S,D),r(D,b,I);continue}if(!k.renderer!=!D.renderer){pn.ArrayExt.insert(E,S,D),r(D,b,I);continue}let H=D.attrs.key;if(H&&H in C){let J=C[H];J.vNode!==k&&(pn.ArrayExt.move(E,E.indexOf(J.vNode,S+1),S),b.insertBefore(J.element,I),k=J.vNode,I=J.element)}if(k===D){I=I.nextSibling;continue}let U=k.attrs.key;if(U&&U!==H){pn.ArrayExt.insert(E,S,D),r(D,b,I);continue}if(k.tag!==D.tag){pn.ArrayExt.insert(E,S,D),r(D,b,I);continue}d(I,k.attrs,D.attrs),D.renderer?D.renderer.render(I,{attrs:D.attrs,children:D.children}):s(I,k.children,D.children),I=I.nextSibling}o(b,E,M,!0)}n.updateContent=s;function o(b,_,y,C){for(let E=_.length-1;E>=y;--E){let I=_[E],M=C?b.lastChild:b.childNodes[E];I.type==="text"||(I.renderer&&I.renderer.unrender?I.renderer.unrender(M,{attrs:I.attrs,children:I.children}):o(M,I.children,0,!1)),C&&b.removeChild(M)}}let l={key:!0,className:!0,htmlFor:!0,dataset:!0,style:!0};function c(b,_){for(let y in _)y in l||(y.substr(0,2)==="on"?b[y]=_[y]:b.setAttribute(y,_[y]));_.className!==void 0&&b.setAttribute("class",_.className),_.htmlFor!==void 0&&b.setAttribute("for",_.htmlFor),_.dataset&&h(b,_.dataset),_.style&&m(b,_.style)}function d(b,_,y){if(_===y)return;let C;for(C in _)C in l||C in y||(C.substr(0,2)==="on"?b[C]=null:b.removeAttribute(C));for(C in y)C in l||_[C]===y[C]||(C.substr(0,2)==="on"?b[C]=y[C]:b.setAttribute(C,y[C]));_.className!==y.className&&(y.className!==void 0?b.setAttribute("class",y.className):b.removeAttribute("class")),_.htmlFor!==y.htmlFor&&(y.htmlFor!==void 0?b.setAttribute("for",y.htmlFor):b.removeAttribute("for")),_.dataset!==y.dataset&&g(b,_.dataset||{},y.dataset||{}),_.style!==y.style&&p(b,_.style||{},y.style||{})}function h(b,_){for(let y in _)b.setAttribute(`data-${y}`,_[y])}function g(b,_,y){for(let C in _)C in y||b.removeAttribute(`data-${C}`);for(let C in y)_[C]!==y[C]&&b.setAttribute(`data-${C}`,y[C])}function m(b,_){let y=b.style,C;for(C in _)y[C]=_[C]}function p(b,_,y){let C=b.style,E;for(E in _)E in y||(C[E]="");for(E in y)_[E]!==y[E]&&(C[E]=y[E])}function v(b,_){let y=b.firstChild,C=Object.create(null);for(let E of _)E.type==="element"&&E.attrs.key&&(C[E.attrs.key]={vNode:E,element:y}),y=y.nextSibling;return C}})(Fi||(Fi={}));var Xt=class{constructor(){this.sizeHint=0,this.minSize=0,this.maxSize=1/0,this.stretch=1,this.size=0,this.done=!1}},Ct;(function(n){function e(l,c){let d=l.length;if(d===0)return c;let h=0,g=0,m=0,p=0,v=0;for(let y=0;y<d;++y){let C=l[y],E=C.minSize,I=C.maxSize,M=C.sizeHint;C.done=!1,C.size=Math.max(E,Math.min(M,I)),m+=C.size,h+=E,g+=I,C.stretch>0&&(p+=C.stretch,v++)}if(c===m)return 0;if(c<=h){for(let y=0;y<d;++y){let C=l[y];C.size=C.minSize}return c-h}if(c>=g){for(let y=0;y<d;++y){let C=l[y];C.size=C.maxSize}return c-g}let b=.01,_=d;if(c<m){let y=m-c;for(;v>0&&y>b;){let C=y,E=p;for(let I=0;I<d;++I){let M=l[I];if(M.done||M.stretch===0)continue;let S=M.stretch*C/E;M.size-S<=M.minSize?(y-=M.size-M.minSize,p-=M.stretch,M.size=M.minSize,M.done=!0,_--,v--):(y-=S,M.size-=S)}}for(;_>0&&y>b;){let C=y/_;for(let E=0;E<d;++E){let I=l[E];I.done||(I.size-C<=I.minSize?(y-=I.size-I.minSize,I.size=I.minSize,I.done=!0,_--):(y-=C,I.size-=C))}}}else{let y=c-m;for(;v>0&&y>b;){let C=y,E=p;for(let I=0;I<d;++I){let M=l[I];if(M.done||M.stretch===0)continue;let S=M.stretch*C/E;M.size+S>=M.maxSize?(y-=M.maxSize-M.size,p-=M.stretch,M.size=M.maxSize,M.done=!0,_--,v--):(y-=S,M.size+=S)}}for(;_>0&&y>b;){let C=y/_;for(let E=0;E<d;++E){let I=l[E];I.done||(I.size+C>=I.maxSize?(y-=I.maxSize-I.size,I.size=I.maxSize,I.done=!0,_--):(y-=C,I.size+=C))}}}return 0}n.calc=e;function r(l,c,d){l.length===0||d===0||(d>0?s(l,c,d):o(l,c,-d))}n.adjust=r;function s(l,c,d){let h=0;for(let v=0;v<=c;++v){let b=l[v];h+=b.maxSize-b.size}let g=0;for(let v=c+1,b=l.length;v<b;++v){let _=l[v];g+=_.size-_.minSize}d=Math.min(d,h,g);let m=d;for(let v=c;v>=0&&m>0;--v){let b=l[v],_=b.maxSize-b.size;_>=m?(b.sizeHint=b.size+m,m=0):(b.sizeHint=b.size+_,m-=_)}let p=d;for(let v=c+1,b=l.length;v<b&&p>0;++v){let _=l[v],y=_.size-_.minSize;y>=p?(_.sizeHint=_.size-p,p=0):(_.sizeHint=_.size-y,p-=y)}}function o(l,c,d){let h=0;for(let v=c+1,b=l.length;v<b;++v){let _=l[v];h+=_.maxSize-_.size}let g=0;for(let v=0;v<=c;++v){let b=l[v];g+=b.size-b.minSize}d=Math.min(d,h,g);let m=d;for(let v=c+1,b=l.length;v<b&&m>0;++v){let _=l[v],y=_.maxSize-_.size;y>=m?(_.sizeHint=_.size+m,m=0):(_.sizeHint=_.size+y,m-=y)}let p=d;for(let v=c;v>=0&&p>0;--v){let b=l[v],_=b.size-b.minSize;_>=p?(b.sizeHint=b.size-p,p=0):(b.sizeHint=b.size-_,p-=_)}}})(Ct||(Ct={}));var Zn=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 Ie(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,Ie.clearData(this))}},j=class n{constructor(e={}){this._flags=0,this._layout=null,this._parent=null,this._disposed=new Ie(this),this._hiddenMode=n.HiddenMode.Display,this.node=ls.createNode(e),this.addClass("lm-Widget")}dispose(){this.isDisposed||(this.setFlag(n.Flag.IsDisposed),this._disposed.emit(void 0),this.parent?this.parent=null:this.isAttached&&n.detach(this),this._layout&&(this._layout.dispose(),this._layout=null),this.title.dispose(),Ie.clearData(this),X.clearData(this),lt.clearData(this))}get disposed(){return this._disposed}get isDisposed(){return this.testFlag(n.Flag.IsDisposed)}get isAttached(){return this.testFlag(n.Flag.IsAttached)}get isHidden(){return this.testFlag(n.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 ls.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==n.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 r=new n.ChildMessage("child-removed",this);X.sendMessage(this._parent,r)}if(this._parent=e,this._parent&&!this._parent.isDisposed){let r=new n.ChildMessage("child-added",this);X.sendMessage(this._parent,r)}this.isDisposed||X.sendMessage(this,n.Msg.ParentChanged)}}get layout(){return this._layout}set layout(e){if(this._layout!==e){if(this.testFlag(n.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 r=e;r;r=r._parent)if(r===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,r){return r===!0?(this.node.classList.add(e),!0):r===!1?(this.node.classList.remove(e),!1):this.node.classList.toggle(e)}update(){X.postMessage(this,n.Msg.UpdateRequest)}fit(){X.postMessage(this,n.Msg.FitRequest)}activate(){X.postMessage(this,n.Msg.ActivateRequest)}close(){X.sendMessage(this,n.Msg.CloseRequest)}show(){if(this.testFlag(n.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&X.sendMessage(this,n.Msg.BeforeShow),this.clearFlag(n.Flag.IsHidden),this._toggleHidden(!1),this.isAttached&&(!this.parent||this.parent.isVisible)&&X.sendMessage(this,n.Msg.AfterShow),this.parent)){let e=new n.ChildMessage("child-shown",this);X.sendMessage(this.parent,e)}}hide(){if(!this.testFlag(n.Flag.IsHidden)&&(this.isAttached&&(!this.parent||this.parent.isVisible)&&X.sendMessage(this,n.Msg.BeforeHide),this.setFlag(n.Flag.IsHidden),this._toggleHidden(!0),this.isAttached&&(!this.parent||this.parent.isVisible)&&X.sendMessage(this,n.Msg.AfterHide),this.parent)){let e=new n.ChildMessage("child-hidden",this);X.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(n.Flag.IsVisible),this.notifyLayout(e),this.onAfterShow(e);break;case"before-hide":this.notifyLayout(e),this.onBeforeHide(e);break;case"after-hide":this.clearFlag(n.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(n.Flag.IsVisible),this.setFlag(n.Flag.IsAttached),this.notifyLayout(e),this.onAfterAttach(e);break;case"before-detach":this.notifyLayout(e),this.onBeforeDetach(e);break;case"after-detach":this.clearFlag(n.Flag.IsVisible),this.clearFlag(n.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&&n.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 n.HiddenMode.Display:this.addClass("lm-mod-hidden");break;case n.HiddenMode.Scale:this.node.style.transform="scale(0)",this.node.setAttribute("aria-hidden","true");break;case n.HiddenMode.ContentVisibility:this.node.style.contentVisibility="hidden",this.node.style.zIndex="-1";break}else switch(this._hiddenMode){case n.HiddenMode.Display:this.removeClass("lm-mod-hidden");break;case n.HiddenMode.Scale:this.node.style.transform="",this.node.removeAttribute("aria-hidden");break;case n.HiddenMode.ContentVisibility:this.node.style.contentVisibility="",this.node.style.zIndex="";break}}};(function(n){(function(l){l[l.Display=0]="Display",l[l.Scale=1]="Scale",l[l.ContentVisibility=2]="ContentVisibility"})(n.HiddenMode||(n.HiddenMode={})),(function(l){l[l.IsDisposed=1]="IsDisposed",l[l.IsAttached=2]="IsAttached",l[l.IsHidden=4]="IsHidden",l[l.IsVisible=8]="IsVisible",l[l.DisallowLayout=16]="DisallowLayout"})(n.Flag||(n.Flag={})),(function(l){l.BeforeShow=new ot("before-show"),l.AfterShow=new ot("after-show"),l.BeforeHide=new ot("before-hide"),l.AfterHide=new ot("after-hide"),l.BeforeAttach=new ot("before-attach"),l.AfterAttach=new ot("after-attach"),l.BeforeDetach=new ot("before-detach"),l.AfterDetach=new ot("after-detach"),l.ParentChanged=new ot("parent-changed"),l.UpdateRequest=new Ii("update-request"),l.FitRequest=new Ii("fit-request"),l.ActivateRequest=new Ii("activate-request"),l.CloseRequest=new Ii("close-request")})(n.Msg||(n.Msg={}));class e extends ot{constructor(c,d){super(c),this.child=d}}n.ChildMessage=e;class r extends ot{constructor(c,d){super("resize"),this.width=c,this.height=d}}n.ResizeMessage=r,(function(l){l.UnknownSize=new l(-1,-1)})(r=n.ResizeMessage||(n.ResizeMessage={}));function s(l,c,d=null){if(l.parent)throw new Error("Cannot attach a child widget.");if(l.isAttached||l.node.isConnected)throw new Error("Widget is already attached.");if(!c.isConnected)throw new Error("Host is not attached.");X.sendMessage(l,n.Msg.BeforeAttach),c.insertBefore(l.node,d),X.sendMessage(l,n.Msg.AfterAttach)}n.attach=s;function o(l){if(l.parent)throw new Error("Cannot detach a child widget.");if(!l.isAttached||!l.node.isConnected)throw new Error("Widget is not attached.");X.sendMessage(l,n.Msg.BeforeDetach),l.node.parentNode.removeChild(l.node),X.sendMessage(l,n.Msg.AfterDetach)}n.detach=o})(j||(j={}));var ls;(function(n){n.titleProperty=new lt({name:"title",create:r=>new Zn({owner:r})});function e(r){return r.node||document.createElement(r.tag||"div")}n.createNode=e})(ls||(ls={}));var pi=class{constructor(e={}){this._disposed=!1,this._parent=null,this._fitPolicy=e.fitPolicy||"set-min-size"}dispose(){this._parent=null,this._disposed=!0,Ie.clearData(this),lt.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 r=this._parent.node.style;r.minWidth="",r.minHeight="",r.maxWidth="",r.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 r of this)X.sendMessage(r,j.ResizeMessage.UnknownSize)}onUpdateRequest(e){for(let r of this)X.sendMessage(r,j.ResizeMessage.UnknownSize)}onBeforeAttach(e){for(let r of this)X.sendMessage(r,e)}onAfterAttach(e){for(let r of this)X.sendMessage(r,e)}onBeforeDetach(e){for(let r of this)X.sendMessage(r,e)}onAfterDetach(e){for(let r of this)X.sendMessage(r,e)}onBeforeShow(e){for(let r of this)r.isHidden||X.sendMessage(r,e)}onAfterShow(e){for(let r of this)r.isHidden||X.sendMessage(r,e)}onBeforeHide(e){for(let r of this)r.isHidden||X.sendMessage(r,e)}onAfterHide(e){for(let r of this)r.isHidden||X.sendMessage(r,e)}onChildRemoved(e){this.removeWidget(e.child)}onFitRequest(e){}onChildShown(e){}onChildHidden(e){}};(function(n){function e(l){return _n.horizontalAlignmentProperty.get(l)}n.getHorizontalAlignment=e;function r(l,c){_n.horizontalAlignmentProperty.set(l,c)}n.setHorizontalAlignment=r;function s(l){return _n.verticalAlignmentProperty.get(l)}n.getVerticalAlignment=s;function o(l,c){_n.verticalAlignmentProperty.set(l,c)}n.setVerticalAlignment=o})(pi||(pi={}));var $i=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=Ce.sizeLimits(this.widget.node);this._minWidth=e.minWidth,this._minHeight=e.minHeight,this._maxWidth=e.maxWidth,this._maxHeight=e.maxHeight}update(e,r,s,o){let l=Math.max(this._minWidth,Math.min(s,this._maxWidth)),c=Math.max(this._minHeight,Math.min(o,this._maxHeight));if(l<s)switch(pi.getHorizontalAlignment(this.widget)){case"left":break;case"center":e+=(s-l)/2;break;case"right":e+=s-l;break;default:throw"unreachable"}if(c<o)switch(pi.getVerticalAlignment(this.widget)){case"top":break;case"center":r+=(o-c)/2;break;case"bottom":r+=o-c;break;default:throw"unreachable"}let d=!1,h=this.widget.node.style;if(this._top!==r&&(this._top=r,h.top=`${r}px`),this._left!==e&&(this._left=e,h.left=`${e}px`),this._width!==l&&(d=!0,this._width=l,h.width=`${l}px`),this._height!==c&&(d=!0,this._height=c,h.height=`${c}px`),d){let g=new j.ResizeMessage(l,c);X.sendMessage(this.widget,g)}}},_n;(function(n){n.horizontalAlignmentProperty=new lt({name:"horizontalAlignment",create:()=>"center",changed:e}),n.verticalAlignmentProperty=new lt({name:"verticalAlignment",create:()=>"top",changed:e});function e(r){r.parent&&r.parent.layout&&r.parent.update()}})(_n||(_n={}));var bn=class extends pi{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,r){r.parent=this.parent;let s=this._widgets.indexOf(r),o=Math.max(0,Math.min(e,this._widgets.length));if(s===-1){Z.ArrayExt.insert(this._widgets,o,r),this.parent&&this.attachWidget(o,r);return}o===this._widgets.length&&o--,s!==o&&(Z.ArrayExt.move(this._widgets,s,o),this.parent&&this.moveWidget(s,o,r))}removeWidget(e){this.removeWidgetAt(this._widgets.indexOf(e))}removeWidgetAt(e){let r=Z.ArrayExt.removeAt(this._widgets,e);r&&this.parent&&this.detachWidget(e,r)}init(){super.init();let e=0;for(let r of this)this.attachWidget(e++,r)}attachWidget(e,r){let s=this.parent.node.children[e];this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeAttach),this.parent.node.insertBefore(r.node,s),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterAttach)}moveWidget(e,r,s){this.parent.isAttached&&X.sendMessage(s,j.Msg.BeforeDetach),this.parent.node.removeChild(s.node),this.parent.isAttached&&X.sendMessage(s,j.Msg.AfterDetach);let o=this.parent.node.children[r];this.parent.isAttached&&X.sendMessage(s,j.Msg.BeforeAttach),this.parent.node.insertBefore(s.node,o),this.parent.isAttached&&X.sendMessage(s,j.Msg.AfterAttach)}detachWidget(e,r){this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeDetach),this.parent.node.removeChild(r.node),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterDetach)}},jn;(function(n){function e(r){return Math.max(0,Math.floor(r))}n.clampDimension=e})(jn||(jn={}));var Jn=jn,gi=class n extends bn{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=jn.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=jn.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 fi.normalize(this._sizers.map(e=>e.size))}setRelativeSizes(e,r=!0){let s=this._sizers.length,o=e.slice(0,s);for(;o.length<s;)o.push(0);let l=fi.normalize(o);for(let c=0;c<s;++c){let d=this._sizers[c];d.sizeHint=l[c],d.size=l[c]}this._hasNormedSizes=!0,r&&this.parent&&this.parent.update()}moveHandle(e,r){let s=this._handles[e];if(!s||s.classList.contains("lm-mod-hidden"))return;let o;if(this._orientation==="horizontal"?o=r-s.offsetLeft:o=r-s.offsetTop,o!==0){for(let l of this._sizers)l.size>0&&(l.sizeHint=l.size);Ct.adjust(this._sizers,e,o),this.parent&&this.parent.update()}}init(){this.parent.dataset.orientation=this.orientation,this.parent.dataset.alignment=this.alignment,super.init()}attachWidget(e,r){let s=new $i(r),o=fi.createHandle(this.renderer),l=fi.averageSize(this._sizers),c=fi.createSizer(l);Z.ArrayExt.insert(this._items,e,s),Z.ArrayExt.insert(this._sizers,e,c),Z.ArrayExt.insert(this._handles,e,o),this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeAttach),this.parent.node.appendChild(r.node),this.parent.node.appendChild(o),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterAttach),this.parent.fit()}moveWidget(e,r,s){Z.ArrayExt.move(this._items,e,r),Z.ArrayExt.move(this._sizers,e,r),Z.ArrayExt.move(this._handles,e,r),this.parent.fit()}detachWidget(e,r){let s=Z.ArrayExt.removeAt(this._items,e),o=Z.ArrayExt.removeAt(this._handles,e);Z.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeDetach),this.parent.node.removeChild(r.node),this.parent.node.removeChild(o),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterDetach),s.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,r,s,o,l,c,d){let h=this._items[e];if(h.isHidden)return;let g=this._handles[e].style;r?(s+=this.widgetOffset,h.update(s,o,d,l),s+=d,g.top=`${o}px`,g.left=`${s}px`,g.width=`${this._spacing}px`,g.height=`${l}px`):(o+=this.widgetOffset,h.update(s,o,c,d),o+=d,g.top=`${o}px`,g.left=`${s}px`,g.width=`${c}px`,g.height=`${this._spacing}px`)}_fit(){let e=0,r=-1;for(let h=0,g=this._items.length;h<g;++h)this._items[h].isHidden?this._handles[h].classList.add("lm-mod-hidden"):(this._handles[h].classList.remove("lm-mod-hidden"),r=h,e++);r!==-1&&this._handles[r].classList.add("lm-mod-hidden"),this._fixed=this._spacing*Math.max(0,e-1)+this.widgetOffset*this._items.length;let s=this._orientation==="horizontal",o=s?this._fixed:0,l=s?0:this._fixed;for(let h=0,g=this._items.length;h<g;++h){let m=this._items[h],p=this._sizers[h];if(p.size>0&&(p.sizeHint=p.size),m.isHidden){p.minSize=0,p.maxSize=0;continue}m.fit(),p.stretch=n.getStretch(m.widget),s?(p.minSize=m.minWidth,p.maxSize=m.maxWidth,o+=m.minWidth,l=Math.max(l,m.minHeight)):(p.minSize=m.minHeight,p.maxSize=m.maxHeight,l+=m.minHeight,o=Math.max(o,m.minWidth))}let c=this._box=Ce.boxSizing(this.parent.node);o+=c.horizontalSum,l+=c.verticalSum;let d=this.parent.node.style;d.minWidth=`${o}px`,d.minHeight=`${l}px`,this._dirty=!0,this.parent.parent&&X.sendMessage(this.parent.parent,j.Msg.FitRequest),this._dirty&&X.sendMessage(this.parent,j.Msg.UpdateRequest)}_update(e,r){this._dirty=!1;let s=0;for(let p=0,v=this._items.length;p<v;++p)s+=+!this._items[p].isHidden;if(s===0&&this.widgetOffset===0)return;e<0&&(e=this.parent.node.offsetWidth),r<0&&(r=this.parent.node.offsetHeight),this._box||(this._box=Ce.boxSizing(this.parent.node));let o=this._box.paddingTop,l=this._box.paddingLeft,c=e-this._box.horizontalSum,d=r-this._box.verticalSum,h=0,g=0,m=this._orientation==="horizontal";if(s>0){let p;if(m?p=Math.max(0,c-this._fixed):p=Math.max(0,d-this._fixed),this._hasNormedSizes){for(let b of this._sizers)b.sizeHint*=p;this._hasNormedSizes=!1}let v=Ct.calc(this._sizers,p);if(v>0)switch(this._alignment){case"start":break;case"center":h=0,g=v/2;break;case"end":h=0,g=v;break;case"justify":h=v/s,g=0;break;default:throw"unreachable"}}for(let p=0,v=this._items.length;p<v;++p){let _=this._items[p].isHidden?0:this._sizers[p].size+h;this.updateItemPosition(p,m,m?l+g:l,m?o:o+g,d,c,_);let y=this.widgetOffset+(this._handles[p].classList.contains("lm-mod-hidden")?0:this._spacing);m?l+=_+y:o+=_+y}}};(function(n){function e(s){return fi.stretchProperty.get(s)}n.getStretch=e;function r(s,o){fi.stretchProperty.set(s,o)}n.setStretch=r})(gi||(gi={}));var fi;(function(n){n.stretchProperty=new lt({name:"stretch",create:()=>0,coerce:(c,d)=>Math.max(0,Math.floor(d)),changed:l});function e(c){let d=new Xt;return d.sizeHint=Math.floor(c),d}n.createSizer=e;function r(c){let d=c.createHandle();return d.style.position="absolute",d.style.contain="style",d}n.createHandle=r;function s(c){return c.reduce((d,h)=>d+h.size,0)/c.length||0}n.averageSize=s;function o(c){let d=c.length;if(d===0)return[];let h=c.reduce((g,m)=>g+Math.abs(m),0);return h===0?c.map(g=>1/d):c.map(g=>g/h)}n.normalize=o;function l(c){c.parent&&c.parent.layout instanceof gi&&c.parent.fit()}})(fi||(fi={}));var Za=class extends gi{constructor(e){super({...e,orientation:e.orientation||"vertical"}),this._titles=[],this.titleSpace=e.titleSpace||22}get titleSpace(){return this.widgetOffset}set titleSpace(e){e=Jn.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,r){let s=this._titles[e],o=s.classList.contains("lm-mod-expanded"),l=us.createTitle(this.renderer,r.title,o);this._titles[e]=l,this.parent.node.replaceChild(l,s)}insertWidget(e,r){r.id||(r.id=`id-${mi.UUID.uuid4()}`),super.insertWidget(e,r)}attachWidget(e,r){let s=us.createTitle(this.renderer,r.title);Z.ArrayExt.insert(this._titles,e,s),this.parent.node.appendChild(s),r.node.setAttribute("role","region"),r.node.setAttribute("aria-labelledby",s.id),super.attachWidget(e,r)}moveWidget(e,r,s){Z.ArrayExt.move(this._titles,e,r),super.moveWidget(e,r,s)}detachWidget(e,r){let s=Z.ArrayExt.removeAt(this._titles,e);this.parent.node.removeChild(s),super.detachWidget(e,r)}updateItemPosition(e,r,s,o,l,c,d){let h=this._titles[e].style;h.top=`${o}px`,h.left=`${s}px`,h.height=`${this.widgetOffset}px`,r?h.width=`${l}px`:h.width=`${c}px`,super.updateItemPosition(e,r,s,o,l,c,d)}},us;(function(n){function e(r,s,o=!0){let l=r.createSectionTitle(s);return l.style.position="absolute",l.style.contain="strict",l.setAttribute("aria-label",`${s.label} Section`),l.setAttribute("aria-expanded",o?"true":"false"),l.setAttribute("aria-controls",s.owner.id),o&&l.classList.add("lm-mod-expanded"),l}n.createTitle=e})(us||(us={}));var vn=class extends j{constructor(e={}){super(),this.addClass("lm-Panel"),this.layout=ja.createLayout(e)}get widgets(){return this.layout.widgets}addWidget(e){this.layout.addWidget(e)}insertWidget(e,r){this.layout.insertWidget(e,r)}},ja;(function(n){function e(r){return r.layout||new bn}n.createLayout=e})(ja||(ja={}));var Zt=class extends vn{constructor(e={}){super({layout:Ja.createLayout(e)}),this._handleMoved=new Ie(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,r=!0){this.layout.setRelativeSizes(e,r)}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 r=this.layout,s=Z.ArrayExt.findFirstIndex(r.handles,g=>g.contains(e.target));if(s===-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 o,l=r.handles[s],c=l.getBoundingClientRect();r.orientation==="horizontal"?o=e.clientX-c.left:o=e.clientY-c.top;let d=window.getComputedStyle(l),h=ut.overrideCursor(d.cursor);this._pressData={index:s,delta:o,override:h}}_evtPointerMove(e){e.preventDefault(),e.stopPropagation();let r,s=this.layout,o=this.node.getBoundingClientRect();s.orientation==="horizontal"?r=e.clientX-o.left-this._pressData.delta:r=e.clientY-o.top-this._pressData.delta,s.moveHandle(this._pressData.index,r)}_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(n){class e{createHandle(){let l=document.createElement("div");return l.className="lm-SplitPanel-handle",l}}n.Renderer=e,n.defaultRenderer=new e;function r(o){return gi.getStretch(o)}n.getStretch=r;function s(o,l){gi.setStretch(o,l)}n.setStretch=s})(Zt||(Zt={}));var Ja;(function(n){function e(r){return r.layout||new gi({renderer:r.renderer||Zt.defaultRenderer,orientation:r.orientation,alignment:r.alignment,spacing:r.spacing})}n.createLayout=e})(Ja||(Ja={}));var Qn=class extends Zt{constructor(e={}){super({...e,layout:Qa.createLayout(e)}),this._widgetSizesCache=new WeakMap,this._expansionToggled=new Ie(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 r=this.layout.widgets[e];r&&!r.isHidden&&this._toggleExpansion(e)}expand(e){let r=this.layout.widgets[e];r&&r.isHidden&&this._toggleExpansion(e)}insertWidget(e,r){super.insertWidget(e,r),r.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 r=Z.ArrayExt.findFirstIndex(this.widgets,s=>s.contains(e.owner));r>=0&&(this.layout.updateTitle(r,e.owner),this.update())}_computeWidgetSize(e){let r=this.layout,s=r.widgets[e];if(!s)return;let o=s.isHidden,l=r.absoluteSizes(),c=(o?-1:1)*this.spacing,d=l.reduce((g,m)=>g+m),h=[...l];if(o){let g=this._widgetSizesCache.get(s);if(!g)return;h[e]+=g;let m=h.map(p=>p-g>0).lastIndexOf(!0);m===-1?h.forEach((p,v)=>{v!==e&&(h[v]-=l[v]/d*(g-c))}):h[m]-=g-c}else{let g=l[e];this._widgetSizesCache.set(s,g),h[e]=0;let m=h.map(p=>p>0).lastIndexOf(!0);if(m===-1)return;h[m]=l[m]+g+c}return h.map(g=>g/(d+c))}_evtClick(e){let r=e.target;if(r){let s=Z.ArrayExt.findFirstIndex(this.titles,o=>o.contains(r));s>=0&&(e.preventDefault(),e.stopPropagation(),this._toggleExpansion(s))}}_eventKeyDown(e){if(e.defaultPrevented)return;let r=e.target,s=!1;if(r){let o=Z.ArrayExt.findFirstIndex(this.titles,l=>l.contains(r));if(o>=0){let l=e.keyCode.toString();if(e.key.match(/Space|Enter/)||l.match(/13|32/))r.click(),s=!0;else if(this.orientation==="horizontal"?e.key.match(/ArrowLeft|ArrowRight/)||l.match(/37|39/):e.key.match(/ArrowUp|ArrowDown/)||l.match(/38|40/)){let c=e.key.match(/ArrowLeft|ArrowUp/)||l.match(/37|38/)?-1:1,d=this.titles.length,h=(o+d+c)%d;this.titles[h].focus(),s=!0}else e.key==="End"||l==="35"?(this.titles[this.titles.length-1].focus(),s=!0):(e.key==="Home"||l==="36")&&(this.titles[0].focus(),s=!0)}s&&e.preventDefault()}}_toggleExpansion(e){let r=this.titles[e],s=this.layout.widgets[e],o=this._computeWidgetSize(e);o&&this.setRelativeSizes(o,!1),s.isHidden?(r.classList.add("lm-mod-expanded"),r.setAttribute("aria-expanded","true"),s.show()):(r.classList.remove("lm-mod-expanded"),r.setAttribute("aria-expanded","false"),s.hide()),this._expansionToggled.emit(e)}};(function(n){class e extends Zt.Renderer{constructor(){super(),this.titleClassName="lm-AccordionPanel-title",this._titleID=0,this._titleKeys=new WeakMap,this._uuid=++e._nInstance}createCollapseIcon(s){return document.createElement("span")}createSectionTitle(s){let o=document.createElement("h3");o.setAttribute("tabindex","0"),o.id=this.createTitleKey(s),o.className=this.titleClassName;for(let d in s.dataset)o.dataset[d]=s.dataset[d];let l=o.appendChild(this.createCollapseIcon(s));l.className="lm-AccordionPanel-titleCollapser";let c=o.appendChild(document.createElement("span"));return c.className="lm-AccordionPanel-titleLabel",c.textContent=s.label,c.title=s.caption||s.label,o}createTitleKey(s){let o=this._titleKeys.get(s);return o===void 0&&(o=`title-key-${this._uuid}-${this._titleID++}`,this._titleKeys.set(s,o)),o}}e._nInstance=0,n.Renderer=e,n.defaultRenderer=new e})(Qn||(Qn={}));var Qa;(function(n){function e(r){return r.layout||new Za({renderer:r.renderer||Qn.defaultRenderer,orientation:r.orientation,alignment:r.alignment,spacing:r.spacing,titleSpace:r.titleSpace})}n.createLayout=e})(Qa||(Qa={}));var Yt=class n extends bn{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=Jn.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=Jn.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,r){Z.ArrayExt.insert(this._items,e,new $i(r)),Z.ArrayExt.insert(this._sizers,e,new Xt),this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeAttach),this.parent.node.appendChild(r.node),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterAttach),this.parent.fit()}moveWidget(e,r,s){Z.ArrayExt.move(this._items,e,r),Z.ArrayExt.move(this._sizers,e,r),this.parent.update()}detachWidget(e,r){let s=Z.ArrayExt.removeAt(this._items,e);Z.ArrayExt.removeAt(this._sizers,e),this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeDetach),this.parent.node.removeChild(r.node),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterDetach),s.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 d=0,h=this._items.length;d<h;++d)e+=+!this._items[d].isHidden;this._fixed=this._spacing*Math.max(0,e-1);let r=Ui.isHorizontal(this._direction),s=r?this._fixed:0,o=r?0:this._fixed;for(let d=0,h=this._items.length;d<h;++d){let g=this._items[d],m=this._sizers[d];if(g.isHidden){m.minSize=0,m.maxSize=0;continue}g.fit(),m.sizeHint=n.getSizeBasis(g.widget),m.stretch=n.getStretch(g.widget),r?(m.minSize=g.minWidth,m.maxSize=g.maxWidth,s+=g.minWidth,o=Math.max(o,g.minHeight)):(m.minSize=g.minHeight,m.maxSize=g.maxHeight,o+=g.minHeight,s=Math.max(s,g.minWidth))}let l=this._box=Ce.boxSizing(this.parent.node);s+=l.horizontalSum,o+=l.verticalSum;let c=this.parent.node.style;c.minWidth=`${s}px`,c.minHeight=`${o}px`,this._dirty=!0,this.parent.parent&&X.sendMessage(this.parent.parent,j.Msg.FitRequest),this._dirty&&X.sendMessage(this.parent,j.Msg.UpdateRequest)}_update(e,r){this._dirty=!1;let s=0;for(let p=0,v=this._items.length;p<v;++p)s+=+!this._items[p].isHidden;if(s===0)return;e<0&&(e=this.parent.node.offsetWidth),r<0&&(r=this.parent.node.offsetHeight),this._box||(this._box=Ce.boxSizing(this.parent.node));let o=this._box.paddingTop,l=this._box.paddingLeft,c=e-this._box.horizontalSum,d=r-this._box.verticalSum,h;switch(this._direction){case"left-to-right":h=Ct.calc(this._sizers,Math.max(0,c-this._fixed));break;case"top-to-bottom":h=Ct.calc(this._sizers,Math.max(0,d-this._fixed));break;case"right-to-left":h=Ct.calc(this._sizers,Math.max(0,c-this._fixed)),l+=c;break;case"bottom-to-top":h=Ct.calc(this._sizers,Math.max(0,d-this._fixed)),o+=d;break;default:throw"unreachable"}let g=0,m=0;if(h>0)switch(this._alignment){case"start":break;case"center":g=0,m=h/2;break;case"end":g=0,m=h;break;case"justify":g=h/s,m=0;break;default:throw"unreachable"}for(let p=0,v=this._items.length;p<v;++p){let b=this._items[p];if(b.isHidden)continue;let _=this._sizers[p].size;switch(this._direction){case"left-to-right":b.update(l+m,o,_+g,d),l+=_+g+this._spacing;break;case"top-to-bottom":b.update(l,o+m,c,_+g),o+=_+g+this._spacing;break;case"right-to-left":b.update(l-m-_-g,o,_+g,d),l-=_+g+this._spacing;break;case"bottom-to-top":b.update(l,o-m-_-g,c,_+g),o-=_+g+this._spacing;break;default:throw"unreachable"}}}};(function(n){function e(l){return Ui.stretchProperty.get(l)}n.getStretch=e;function r(l,c){Ui.stretchProperty.set(l,c)}n.setStretch=r;function s(l){return Ui.sizeBasisProperty.get(l)}n.getSizeBasis=s;function o(l,c){Ui.sizeBasisProperty.set(l,c)}n.setSizeBasis=o})(Yt||(Yt={}));var Ui;(function(n){n.stretchProperty=new lt({name:"stretch",create:()=>0,coerce:(o,l)=>Math.max(0,Math.floor(l)),changed:s}),n.sizeBasisProperty=new lt({name:"sizeBasis",create:()=>0,coerce:(o,l)=>Math.max(0,Math.floor(l)),changed:s});function e(o){return o==="left-to-right"||o==="right-to-left"}n.isHorizontal=e;function r(o){return Math.max(0,Math.floor(o))}n.clampSpacing=r;function s(o){o.parent&&o.parent.layout instanceof Yt&&o.parent.fit()}})(Ui||(Ui={}));var ds=class extends vn{constructor(e={}){super({layout:eo.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(n){function e(l){return Yt.getStretch(l)}n.getStretch=e;function r(l,c){Yt.setStretch(l,c)}n.setStretch=r;function s(l){return Yt.getSizeBasis(l)}n.getSizeBasis=s;function o(l,c){Yt.setSizeBasis(l,c)}n.setSizeBasis=o})(ds||(ds={}));var eo;(function(n){function e(r){return r.layout||new Yt(r)}n.createLayout=e})(eo||(eo={}));var cs=class n extends j{constructor(e){super({node:hi.createNode()}),this._activeIndex=-1,this._items=[],this._results=null,this.addClass("lm-CommandPalette"),this.setFlag(j.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||n.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 r=hi.createItem(this.commands,e);return this._items.push(r),this.refresh(),r}addItems(e){let r=e.map(s=>hi.createItem(this.commands,s));return r.forEach(s=>this._items.push(s)),this.refresh(),r}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){Z.ArrayExt.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 r=this.inputNode;r.focus(),r.select()}}onUpdateRequest(e){if(!this.isVisible){Dt.render(null,this.contentNode);return}let r=this.inputNode.value,s=this.contentNode,o=this._results;if(o||(o=this._results=hi.search(this._items,r),this._activeIndex=r?Z.ArrayExt.findFirstIndex(o,hi.canActivate):-1),!r&&o.length===0){Dt.render(null,s);return}if(r&&o.length===0){let h=this.renderer.renderEmptyMessage({query:r});Dt.render(h,s);return}let l=this.renderer,c=this._activeIndex,d=new Array(o.length);for(let h=0,g=o.length;h<g;++h){let m=o[h];if(m.type==="header"){let p=m.indices,v=m.category;d[h]=l.renderHeader({category:v,indices:p})}else{let p=m.item,v=m.indices,b=h===c;d[h]=l.renderItem({item:p,indices:v,active:b})}}if(Dt.render(d,s),c<0||c>=o.length)s.scrollTop=0;else{let h=s.children[c];Ce.scrollIntoViewIfNeeded(s,h)}}_evtClick(e){if(e.button!==0)return;if(e.target.classList.contains("lm-close-icon")){this.inputNode.value="",this.refresh();return}let r=Z.ArrayExt.findFirstIndex(this.contentNode.children,s=>s.contains(e.target));r!==-1&&(e.preventDefault(),e.stopPropagation(),this._execute(r))}_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,r=this._results.length,s=e<r-1?e+1:0,o=s===0?r-1:s-1;this._activeIndex=Z.ArrayExt.findFirstIndex(this._results,hi.canActivate,s,o),this.update()}_activatePreviousItem(){if(!this._results||this._results.length===0)return;let e=this._activeIndex,r=this._results.length,s=e<=0?r-1:e-1,o=s===r-1?0:s+1;this._activeIndex=Z.ArrayExt.findLastIndex(this._results,hi.canActivate,s,o),this.update()}_execute(e){if(!this._results)return;let r=this._results[e];if(r){if(r.type==="header"){let s=this.inputNode;s.value=`${r.category.toLowerCase()} `,s.focus(),this.refresh();return}r.item.isEnabled&&(this.commands.execute(r.item.command,r.item.args),this.inputNode.value="",this.refresh())}}_toggleFocused(){let e=document.activeElement===this.inputNode;this.toggleClass("lm-mod-focused",e)}_onGenericChange(){this.refresh()}};(function(n){class e{renderHeader(s){let o=this.formatHeader(s);return _e.li({className:"lm-CommandPalette-header"},o)}renderItem(s){let o=this.createItemClass(s),l=this.createItemDataset(s);return s.item.isToggleable?_e.li({className:o,dataset:l,role:"menuitemcheckbox","aria-checked":`${s.item.isToggled}`},this.renderItemIcon(s),this.renderItemContent(s),this.renderItemShortcut(s)):_e.li({className:o,dataset:l,role:"menuitem"},this.renderItemIcon(s),this.renderItemContent(s),this.renderItemShortcut(s))}renderEmptyMessage(s){let o=this.formatEmptyMessage(s);return _e.li({className:"lm-CommandPalette-emptyMessage"},o)}renderItemIcon(s){let o=this.createIconClass(s);return _e.div({className:o},s.item.icon,s.item.iconLabel)}renderItemContent(s){return _e.div({className:"lm-CommandPalette-itemContent"},this.renderItemLabel(s),this.renderItemCaption(s))}renderItemLabel(s){let o=this.formatItemLabel(s);return _e.div({className:"lm-CommandPalette-itemLabel"},o)}renderItemCaption(s){let o=this.formatItemCaption(s);return _e.div({className:"lm-CommandPalette-itemCaption"},o)}renderItemShortcut(s){let o=this.formatItemShortcut(s);return _e.div({className:"lm-CommandPalette-itemShortcut"},o)}createItemClass(s){let o="lm-CommandPalette-item";s.item.isEnabled||(o+=" lm-mod-disabled"),s.item.isToggled&&(o+=" lm-mod-toggled"),s.active&&(o+=" lm-mod-active");let l=s.item.className;return l&&(o+=` ${l}`),o}createItemDataset(s){return{...s.item.dataset,command:s.item.command}}createIconClass(s){let o="lm-CommandPalette-itemIcon",l=s.item.iconClass;return l?`${o} ${l}`:o}formatHeader(s){return!s.indices||s.indices.length===0?s.category:Z.StringExt.highlight(s.category,s.indices,_e.mark)}formatEmptyMessage(s){return`No commands found that match '${s.query}'`}formatItemShortcut(s){let o=s.item.keyBinding;return o?Mt.formatKeystroke(o.keys):null}formatItemLabel(s){return!s.indices||s.indices.length===0?s.item.label:Z.StringExt.highlight(s.item.label,s.indices,_e.mark)}formatItemCaption(s){return s.item.caption}}n.Renderer=e,n.defaultRenderer=new e})(cs||(cs={}));var hi;(function(n){function e(){let v=document.createElement("div"),b=document.createElement("div"),_=document.createElement("div"),y=document.createElement("input"),C=document.createElement("ul"),E=document.createElement("button");return b.className="lm-CommandPalette-search",_.className="lm-CommandPalette-wrapper",y.className="lm-CommandPalette-input",E.className="lm-close-icon",C.className="lm-CommandPalette-content",C.setAttribute("role","menu"),y.spellcheck=!1,_.appendChild(y),_.appendChild(E),b.appendChild(_),v.appendChild(b),v.appendChild(C),v}n.createNode=e;function r(v,b){return new p(v,b)}n.createItem=r;function s(v,b){let _=d(v,b);return _.sort(g),m(_)}n.search=s;function o(v){return v.type==="item"&&v.item.isEnabled}n.canActivate=o;function l(v){return v.trim().replace(/\s+/g," ")}function c(v){return v.replace(/\s+/g,"").toLowerCase()}function d(v,b){b=c(b);let _=[];for(let y=0,C=v.length;y<C;++y){let E=v[y];if(!E.isVisible)continue;if(!b){_.push({matchType:3,categoryIndices:null,labelIndices:null,score:0,item:E});continue}let I=h(E,b);I&&(E.isEnabled||(I.score+=1e3),_.push(I))}return _}function h(v,b){let _=v.category.toLowerCase(),y=v.label.toLowerCase(),C=`${_} ${y}`,E=1/0,I=null,M=/\b\w/g;for(;;){let U=M.exec(C);if(!U)break;let J=Z.StringExt.matchSumOfDeltas(C,b,U.index);if(!J)break;J.score<=E&&(E=J.score,I=J.indices)}if(!I||E===1/0)return null;let S=_.length+1,k=Z.ArrayExt.lowerBound(I,S,(U,J)=>U-J),D=I.slice(0,k),H=I.slice(k);for(let U=0,J=H.length;U<J;++U)H[U]-=S;return D.length===0?{matchType:0,categoryIndices:null,labelIndices:H,score:E,item:v}:H.length===0?{matchType:1,categoryIndices:D,labelIndices:null,score:E,item:v}:{matchType:2,categoryIndices:D,labelIndices:H,score:E,item:v}}function g(v,b){let _=v.matchType-b.matchType;if(_!==0)return _;let y=v.score-b.score;if(y!==0)return y;let C=0,E=0;switch(v.matchType){case 0:C=v.labelIndices[0],E=b.labelIndices[0];break;case 1:case 2:C=v.categoryIndices[0],E=b.categoryIndices[0];break}if(C!==E)return C-E;let I=v.item.category.localeCompare(b.item.category);if(I!==0)return I;let M=v.item.rank,S=b.item.rank;return M!==S?M<S?-1:1:v.item.label.localeCompare(b.item.label)}function m(v){let b=[];for(let _=0,y=v.length;_<y;++_){let{item:C,categoryIndices:E,labelIndices:I}=v[_],M=C.category;(_===0||M!==v[_-1].item.category)&&b.push({type:"header",category:M,indices:E}),b.push({type:"item",item:C,indices:I})}return b}class p{constructor(b,_){this._commands=b,this.category=l(_.category),this.command=_.command,this.args=_.args||mi.JSONExt.emptyObject,this.rank=_.rank!==void 0?_.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:b,args:_}=this;return Z.ArrayExt.findLastValue(this._commands.keyBindings,y=>y.command===b&&mi.JSONExt.deepEqual(y.args,_))||null}}})(hi||(hi={}));var $t=class n extends j{constructor(e){super({node:dt.createNode()}),this._childIndex=-1,this._activeIndex=-1,this._openTimerID=0,this._closeTimerID=0,this._items=[],this._childMenu=null,this._parentMenu=null,this._aboutToClose=new Ie(this),this._menuRequested=new Ie(this),this.addClass("lm-Menu"),this.setFlag(j.Flag.DisallowLayout),this.commands=e.commands,this.renderer=e.renderer||n.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&&!dt.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,r=this._activeIndex,s=r<e-1?r+1:0,o=s===0?e-1:s-1;this.activeIndex=Z.ArrayExt.findFirstIndex(this._items,dt.canActivate,s,o)}activatePreviousItem(){let e=this._items.length,r=this._activeIndex,s=r<=0?e-1:r-1,o=s===e-1?0:s+1;this.activeIndex=Z.ArrayExt.findLastIndex(this._items,dt.canActivate,s,o)}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:r,args:s}=e;this.commands.isEnabled(r,s)?this.commands.execute(r,s):console.log(`Command '${r}' is disabled.`)}addItem(e){return this.insertItem(this._items.length,e)}insertItem(e,r){this.isAttached&&this.close(),this.activeIndex=-1;let s=Math.max(0,Math.min(e,this._items.length)),o=dt.createItem(this,r);return Z.ArrayExt.insert(this._items,s,o),this.update(),o}removeItem(e){this.removeItemAt(this._items.indexOf(e))}removeItemAt(e){this.isAttached&&this.close(),this.activeIndex=-1,Z.ArrayExt.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,r,s={}){var o,l,c;if(this.isAttached)return;let d=s.forceX||!1,h=s.forceY||!1,g=(o=s.host)!==null&&o!==void 0?o:null,m=(l=s.ref)!==null&&l!==void 0?l:null,p=(c=s.horizontalAlignment)!==null&&c!==void 0?c:document.documentElement.dir==="rtl"?"right":"left";dt.openRootMenu(this,e,r,d,h,p,g,m),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();break}}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 r=this._items,s=this.renderer,o=this._activeIndex,l=dt.computeCollapsed(r),c=new Array(r.length);for(let d=0,h=r.length;d<h;++d){let g=r[d],m=d===o,p=l[d];c[d]=s.renderItem({item:g,active:m,collapsed:p,onfocus:()=>{this.activeIndex=d}})}Dt.render(c,this.contentNode)}onCloseRequest(e){this._cancelOpenTimer(),this._cancelCloseTimer(),this.activeIndex=-1;let r=this._childMenu;r&&(this._childIndex=-1,this._childMenu=null,r._parentMenu=null,r.close());let s=this._parentMenu;s&&(this._parentMenu=null,s._childIndex=-1,s._childMenu=null,s.activate()),this.isAttached&&this._aboutToClose.emit(void 0),super.onCloseRequest(e)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation();let r=e.keyCode;if(r===13){this.triggerActiveItem();return}if(r===27){this.close();return}if(r===37){this._parentMenu?this.close():this._menuRequested.emit("previous");return}if(r===38){this.activatePreviousItem();return}if(r===39){let c=this.activeItem;c&&c.type==="submenu"?this.triggerActiveItem():this.rootMenu._menuRequested.emit("next");return}if(r===40){this.activateNextItem();return}let s=mn().keyForKeydownEvent(e);if(!s)return;let o=this._activeIndex+1,l=dt.findMnemonic(this._items,s,o);l.index!==-1&&!l.multiple?(this.activeIndex=l.index,this.triggerActiveItem()):l.index!==-1?this.activeIndex=l.index:l.auto!==-1&&(this.activeIndex=l.auto)}_evtMouseUp(e){e.button===0&&(e.preventDefault(),e.stopPropagation(),this.triggerActiveItem())}_evtMouseMove(e){let r=Z.ArrayExt.findFirstIndex(this.contentNode.children,o=>Ce.hitTest(o,e.clientX,e.clientY));if(r===this._activeIndex)return;if(this.activeIndex=r,r=this.activeIndex,r===this._childIndex){this._cancelOpenTimer(),this._cancelCloseTimer();return}this._childIndex!==-1&&this._startCloseTimer(),this._cancelOpenTimer();let s=this.activeItem;!s||s.type!=="submenu"||!s.submenu||this._startOpenTimer()}_evtMouseEnter(e){for(let r=this._parentMenu;r;r=r._parentMenu)r._cancelOpenTimer(),r._cancelCloseTimer(),r.activeIndex=r._childIndex}_evtMouseLeave(e){if(this._cancelOpenTimer(),!this._childMenu){this.activeIndex=-1;return}let{clientX:r,clientY:s}=e;if(Ce.hitTest(this._childMenu.node,r,s)){this._cancelCloseTimer();return}this.activeIndex=-1,this._startCloseTimer()}_evtMouseDown(e){this._parentMenu||(dt.hitTestMenus(this,e.clientX,e.clientY)?(e.preventDefault(),e.stopPropagation()):this.close())}_openChildMenu(e=!1){let r=this.activeItem;if(!r||r.type!=="submenu"||!r.submenu){this._closeChildMenu();return}let s=r.submenu;if(s===this._childMenu)return;n.saveWindowData(),this._closeChildMenu(),this._childMenu=s,this._childIndex=this._activeIndex,s._parentMenu=this,X.sendMessage(this,j.Msg.UpdateRequest);let o=this.contentNode.children[this._activeIndex];dt.openSubmenu(s,o),e&&(s.activeIndex=-1,s.activateNextItem()),s.activate()}_closeChildMenu(){this._childMenu&&this._childMenu.close()}_startOpenTimer(){this._openTimerID===0&&(this._openTimerID=window.setTimeout(()=>{this._openTimerID=0,this._openChildMenu()},dt.TIMER_DELAY))}_startCloseTimer(){this._closeTimerID===0&&(this._closeTimerID=window.setTimeout(()=>{this._closeTimerID=0,this._closeChildMenu()},dt.TIMER_DELAY))}_cancelOpenTimer(){this._openTimerID!==0&&(clearTimeout(this._openTimerID),this._openTimerID=0)}_cancelCloseTimer(){this._closeTimerID!==0&&(clearTimeout(this._closeTimerID),this._closeTimerID=0)}static saveWindowData(){dt.saveWindowData()}};(function(n){class e{renderItem(s){let o=this.createItemClass(s),l=this.createItemDataset(s),c=this.createItemARIA(s);return _e.li({className:o,dataset:l,tabindex:"0",onfocus:s.onfocus,...c},this.renderIcon(s),this.renderLabel(s),this.renderShortcut(s),this.renderSubmenu(s))}renderIcon(s){let o=this.createIconClass(s);return _e.div({className:o},s.item.icon,s.item.iconLabel)}renderLabel(s){let o=this.formatLabel(s);return _e.div({className:"lm-Menu-itemLabel"},o)}renderShortcut(s){let o=this.formatShortcut(s);return _e.div({className:"lm-Menu-itemShortcut"},o)}renderSubmenu(s){return _e.div({className:"lm-Menu-itemSubmenuIcon"})}createItemClass(s){let o="lm-Menu-item";s.item.isEnabled||(o+=" lm-mod-disabled"),s.item.isToggled&&(o+=" lm-mod-toggled"),s.item.isVisible||(o+=" lm-mod-hidden"),s.active&&(o+=" lm-mod-active"),s.collapsed&&(o+=" lm-mod-collapsed");let l=s.item.className;return l&&(o+=` ${l}`),o}createItemDataset(s){let o,{type:l,command:c,dataset:d}=s.item;return l==="command"?o={...d,type:l,command:c}:o={...d,type:l},o}createIconClass(s){let o="lm-Menu-itemIcon",l=s.item.iconClass;return l?`${o} ${l}`:o}createItemARIA(s){let o={};switch(s.item.type){case"separator":o.role="presentation";break;case"submenu":o["aria-haspopup"]="true",s.item.isEnabled||(o["aria-disabled"]="true");break;default:s.item.isEnabled||(o["aria-disabled"]="true"),s.item.isToggled?(o.role="menuitemcheckbox",o["aria-checked"]="true"):o.role="menuitem"}return o}formatLabel(s){let{label:o,mnemonic:l}=s.item;if(l<0||l>=o.length)return o;let c=o.slice(0,l),d=o.slice(l+1),h=o[l],g=_e.span({className:"lm-Menu-itemMnemonic"},h);return[c,g,d]}formatShortcut(s){let o=s.item.keyBinding;return o?Mt.formatKeystroke(o.keys):null}}n.Renderer=e,n.defaultRenderer=new e})($t||($t={}));var dt;(function(n){n.TIMER_DELAY=300,n.SUBMENU_OVERLAP=3;let e=null,r=0;function s(){return r>0?(r--,e):m()}function o(){e=m(),r++}n.saveWindowData=o;function l(){let y=document.createElement("div"),C=document.createElement("ul");return C.className="lm-Menu-content",y.appendChild(C),C.setAttribute("role","menu"),y.tabIndex=0,y}n.createNode=l;function c(y){return y.type!=="separator"&&y.isEnabled&&y.isVisible}n.canActivate=c;function d(y,C){return new _(y.commands,C)}n.createItem=d;function h(y,C,E){for(let I=y;I;I=I.childMenu)if(Ce.hitTest(I.node,C,E))return!0;return!1}n.hitTestMenus=h;function g(y){let C=new Array(y.length);Z.ArrayExt.fill(C,!1);let E=0,I=y.length;for(;E<I;++E){let k=y[E];if(k.isVisible){if(k.type!=="separator")break;C[E]=!0}}let M=I-1;for(;M>=0;--M){let k=y[M];if(k.isVisible){if(k.type!=="separator")break;C[M]=!0}}let S=!1;for(;++E<M;){let k=y[E];k.isVisible&&(k.type!=="separator"?S=!1:S?C[E]=!0:S=!0)}return C}n.computeCollapsed=g;function m(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}function p(y,C,E,I,M,S,k,D){let H=s(),U=H.pageXOffset,J=H.pageYOffset,B=H.clientWidth,K=H.clientHeight;X.sendMessage(y,j.Msg.UpdateRequest);let G=K-(M?E:0),Q=y.node,de=Q.style;de.opacity="0",de.maxHeight=`${G}px`,j.attach(y,k||document.body,D);let{width:ge,height:ue}=Q.getBoundingClientRect();S==="right"&&(C-=ge),!I&&C+ge>U+B&&(C=U+B-ge),!M&&E+ue>J+K&&(E>J+K?E=J+K-ue:E=E-ue),de.transform=`translate(${Math.max(0,C)}px, ${Math.max(0,E)}px`,de.opacity="1"}n.openRootMenu=p;function v(y,C){let E=s(),I=E.pageXOffset,M=E.pageYOffset,S=E.clientWidth,k=E.clientHeight;X.sendMessage(y,j.Msg.UpdateRequest);let D=k,H=y.node,U=H.style;U.opacity="0",U.maxHeight=`${D}px`,j.attach(y,document.body);let{width:J,height:B}=H.getBoundingClientRect(),K=Ce.boxSizing(y.node),G=C.getBoundingClientRect(),Q=G.right-n.SUBMENU_OVERLAP;Q+J>I+S&&(Q=G.left+n.SUBMENU_OVERLAP-J);let de=G.top-K.borderTop-K.paddingTop;de+B>M+k&&(de=G.bottom+K.borderBottom+K.paddingBottom-B),U.transform=`translate(${Math.max(0,Q)}px, ${Math.max(0,de)}px`,U.opacity="1"}n.openSubmenu=v;function b(y,C,E){let I=-1,M=-1,S=!1,k=C.toUpperCase();for(let D=0,H=y.length;D<H;++D){let U=(D+E)%H,J=y[U];if(!c(J))continue;let B=J.label;if(B.length===0)continue;let K=J.mnemonic;if(K>=0&&K<B.length){B[K].toUpperCase()===k&&(I===-1?I=U:S=!0);continue}M===-1&&B[0].toUpperCase()===k&&(M=U)}return{index:I,multiple:S,auto:M}}n.findMnemonic=b;class _{constructor(C,E){this._commands=C,this.type=E.type||"command",this.command=E.command||"",this.args=E.args||mi.JSONExt.emptyObject,this.submenu=E.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:C,args:E}=this;return Z.ArrayExt.findLastValue(this._commands.keyBindings,I=>I.command===C&&mi.JSONExt.deepEqual(I.args,E))||null}return null}}})(dt||(dt={}));var vd;(function(n){function e(c,d){let h=s(c.selector),g=c.rank!==void 0?c.rank:1/0;return{...c,selector:h,rank:g,id:d}}n.createItem=e;function r(c,d,h,g){let m=d.target;if(!m)return null;let p=d.currentTarget;if(!p||!p.contains(m)&&(m=document.elementFromPoint(d.clientX,d.clientY),!m||!p.contains(m)))return null;let v=[],b=c.slice();for(;m!==null;){let _=[];for(let y=0,C=b.length;y<C;++y){let E=b[y];E&&Ft.matches(m,E.selector)&&(_.push(E),b[y]=null)}if(_.length!==0&&(h&&_.sort(g?l:o),v.push(..._)),m===p)break;m=m.parentElement}return h||v.sort(g?l:o),v}n.matchItems=r;function s(c){if(c.indexOf(",")!==-1)throw new Error(`Selector cannot contain commas: ${c}`);if(!Ft.isValid(c))throw new Error(`Invalid selector: ${c}`);return c}function o(c,d){let h=c.rank,g=d.rank;return h!==g?h<g?-1:1:c.id-d.id}function l(c,d){let h=Ft.calculateSpecificity(c.selector),g=Ft.calculateSpecificity(d.selector);return h!==g?g-h:o(c,d)}})(vd||(vd={}));var rx=["ArrowLeft","ArrowUp","ArrowRight","ArrowDown","Home","End"],jt=class n extends j{constructor(e={}){super({node:Pt.createNode()}),this._currentIndex=-1,this._titles=[],this._titlesEditable=!1,this._previousTitle=null,this._dragData=null,this._addButtonEnabled=!1,this._tabMoved=new Ie(this),this._currentChanged=new Ie(this),this._addRequested=new Ie(this),this._tabCloseRequested=new Ie(this),this._tabDetachRequested=new Ie(this),this._tabActivateRequested=new Ie(this),this.addClass("lm-TabBar"),this.contentNode.setAttribute("role","tablist"),this.setFlag(j.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||n.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 r=this._currentIndex,s=this._titles[r]||null,o=e,l=this._titles[o]||null;this._currentIndex=o,this._previousTitle=s,this.update(),this._currentChanged.emit({previousIndex:r,previousTitle:s,currentIndex:o,currentTitle:l})}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,r){this._releaseMouse();let s=Pt.asTitle(r),o=this._titles.indexOf(s),l=Math.max(0,Math.min(e,this._titles.length));return o===-1?(Z.ArrayExt.insert(this._titles,l,s),s.changed.connect(this._onTitleChanged,this),this.update(),this._adjustCurrentForInsert(l,s),s):(l===this._titles.length&&l--,o===l||(Z.ArrayExt.move(this._titles,o,l),this.update(),this._adjustCurrentForMove(o,l)),s)}removeTab(e){this.removeTabAt(this._titles.indexOf(e))}removeTabAt(e){this._releaseMouse();let r=Z.ArrayExt.removeAt(this._titles,e);r&&(r.changed.disconnect(this._onTitleChanged,this),r===this._previousTitle&&(this._previousTitle=null),this.update(),this._adjustCurrentForRemove(e,r))}clearTabs(){if(this._titles.length===0)return;this._releaseMouse();for(let s of this._titles)s.changed.disconnect(this._onTitleChanged,this);let e=this.currentIndex,r=this.currentTitle;this._currentIndex=-1,this._previousTitle=null,this._titles.length=0,this.update(),e!==-1&&this._currentChanged.emit({previousIndex:e,previousTitle:r,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();break}}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 r;let s=this._titles,o=this.renderer,l=this.currentTitle,c=new Array(s.length),d=(r=this._getCurrentTabindex())!==null&&r!==void 0?r:this._currentIndex>-1?this._currentIndex:0;for(let h=0,g=s.length;h<g;++h){let m=s[h],p=m===l,v=p?g:g-h-1,b=d===h?0:-1;c[h]=o.renderTab({title:m,current:p,zIndex:v,tabIndex:b})}Dt.render(c,this.contentNode)}_getCurrentTabindex(){let e=null,r=this.contentNode.querySelector('li[tabindex="0"]');return r?e=[...this.contentNode.children].indexOf(r):this._addButtonEnabled&&this.addButtonNode.getAttribute("tabindex")==="0"&&(e=-1),e}_evtDblClick(e){if(!this.titlesEditable)return;let r=this.contentNode.children,s=Z.ArrayExt.findFirstIndex(r,c=>Ce.hitTest(c,e.clientX,e.clientY));if(s===-1)return;let o=this.titles[s],l=r[s].querySelector(".lm-TabBar-tabLabel");if(l&&l.contains(e.target)){let c=o.label||"",d=l.innerHTML;l.innerHTML="";let h=document.createElement("input");h.classList.add("lm-TabBar-tabInput"),h.value=c,l.appendChild(h);let g=()=>{h.removeEventListener("blur",g),l.innerHTML=d,this.node.addEventListener("keydown",this)};h.addEventListener("dblclick",m=>m.stopPropagation()),h.addEventListener("blur",g),h.addEventListener("keydown",m=>{m.key==="Enter"?(h.value!==""&&(o.label=o.caption=h.value),g()):m.key==="Escape"&&g()}),this.node.removeEventListener("keydown",this),h.select(),h.focus(),l.children.length>0&&l.children[0].focus()}}_evtKeyDownCapturing(e){e.eventPhase===Event.CAPTURING_PHASE&&(e.preventDefault(),e.stopPropagation(),e.key==="Escape"&&this._releaseMouse())}_evtKeyDown(e){var r,s,o;if(!(e.key==="Tab"||e.eventPhase===Event.CAPTURING_PHASE)){if(e.key==="Enter"||e.key==="Spacebar"||e.key===" "){let l=document.activeElement;if(this.addButtonEnabled&&this.addButtonNode.contains(l))e.preventDefault(),e.stopPropagation(),this._addRequested.emit();else{let c=Z.ArrayExt.findFirstIndex(this.contentNode.children,d=>d.contains(l));c>=0&&(e.preventDefault(),e.stopPropagation(),this.currentIndex=c)}}else if(rx.includes(e.key)){let l=[...this.contentNode.children];if(this.addButtonEnabled&&l.push(this.addButtonNode),l.length<=1)return;e.preventDefault(),e.stopPropagation();let c=l.indexOf(document.activeElement);c===-1&&(c=this._currentIndex);let d;e.key==="ArrowRight"&&this._orientation==="horizontal"||e.key==="ArrowDown"&&this._orientation==="vertical"?d=(r=l[c+1])!==null&&r!==void 0?r:l[0]:e.key==="ArrowLeft"&&this._orientation==="horizontal"||e.key==="ArrowUp"&&this._orientation==="vertical"?d=(s=l[c-1])!==null&&s!==void 0?s:l[l.length-1]:e.key==="Home"?d=l[0]:e.key==="End"&&(d=l[l.length-1]),d&&((o=l[c])===null||o===void 0||o.setAttribute("tabindex","-1"),d?.setAttribute("tabindex","0"),d.focus())}}}_evtPointerDown(e){if(e.button!==0&&e.button!==1||this._dragData||e.target.classList.contains("lm-TabBar-tabInput"))return;let r=this.addButtonEnabled&&this.addButtonNode.contains(e.target),s=this.contentNode.children,o=Z.ArrayExt.findFirstIndex(s,c=>Ce.hitTest(c,e.clientX,e.clientY));if(o===-1&&!r||(e.preventDefault(),e.stopPropagation(),this._dragData={tab:s[o],index:o,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||r))return;let l=s[o].querySelector(this.renderer.closeIconSelector);l&&l.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===o?this.currentIndex=-1:this.currentIndex=o,this.currentIndex!==-1&&this._tabActivateRequested.emit({index:this.currentIndex,title:this.currentTitle}))}_evtPointerMove(e){let r=this._dragData;if(!r)return;e.preventDefault(),e.stopPropagation();let s=this.contentNode.children;if(!(!r.dragActive&&!Pt.dragExceeded(r,e))){if(!r.dragActive){let o=r.tab.getBoundingClientRect();this._orientation==="horizontal"?(r.tabPos=r.tab.offsetLeft,r.tabSize=o.width,r.tabPressPos=r.pressX-o.left):(r.tabPos=r.tab.offsetTop,r.tabSize=o.height,r.tabPressPos=r.pressY-o.top),r.tabPressOffset={x:r.pressX-o.left,y:r.pressY-o.top},r.tabLayout=Pt.snapTabLayout(s,this._orientation),r.contentRect=this.contentNode.getBoundingClientRect(),r.override=ut.overrideCursor("default"),r.tab.classList.add("lm-mod-dragging"),this.addClass("lm-mod-dragging"),r.dragActive=!0}if(!r.detachRequested&&Pt.detachExceeded(r,e)){r.detachRequested=!0;let o=r.index,l=e.clientX,c=e.clientY,d=s[o],h=this._titles[o];if(this._tabDetachRequested.emit({index:o,title:h,tab:d,clientX:l,clientY:c,offset:r.tabPressOffset}),r.dragAborted)return}Pt.layoutTabs(s,r,e,this._orientation)}}_evtPointerUp(e){if(e.button!==0&&e.button!==1)return;let r=this._dragData;if(!r)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),!r.dragActive){if(this._dragData=null,this.addButtonEnabled&&this.addButtonNode.contains(e.target)){this._addRequested.emit(void 0);return}let l=this.contentNode.children,c=Z.ArrayExt.findFirstIndex(l,g=>Ce.hitTest(g,e.clientX,e.clientY));if(c!==r.index)return;let d=this._titles[c];if(!d.closable)return;if(e.button===1){this._tabCloseRequested.emit({index:c,title:d});return}let h=l[c].querySelector(this.renderer.closeIconSelector);if(h&&h.contains(e.target)){this._tabCloseRequested.emit({index:c,title:d});return}return}if(e.button!==0)return;Pt.finalizeTabPosition(r,this._orientation),r.tab.classList.remove("lm-mod-dragging");let s=Pt.parseTransitionDuration(r.tab);setTimeout(()=>{if(r.dragAborted)return;this._dragData=null,Pt.resetTabPositions(this.contentNode.children,this._orientation),r.override.dispose(),this.removeClass("lm-mod-dragging");let o=r.index,l=r.targetIndex;l===-1||o===l||(Z.ArrayExt.move(this._titles,o,l),this._adjustCurrentForMove(o,l),this._tabMoved.emit({fromIndex:o,toIndex:l,title:this._titles[l]}),X.sendMessage(this,j.Msg.UpdateRequest))},s)}_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&&(Pt.resetTabPositions(this.contentNode.children,this._orientation),e.override.dispose(),e.tab.classList.remove("lm-mod-dragging"),this.removeClass("lm-mod-dragging")))}_adjustCurrentForInsert(e,r){let s=this.currentTitle,o=this._currentIndex,l=this.insertBehavior;if(l==="select-tab"||l==="select-tab-if-needed"&&o===-1){this._currentIndex=e,this._previousTitle=s,this._currentChanged.emit({previousIndex:o,previousTitle:s,currentIndex:e,currentTitle:r});return}o>=e&&this._currentIndex++}_adjustCurrentForMove(e,r){this._currentIndex===e?this._currentIndex=r:this._currentIndex<e&&this._currentIndex>=r?this._currentIndex++:this._currentIndex>e&&this._currentIndex<=r&&this._currentIndex--}_adjustCurrentForRemove(e,r){let s=this._currentIndex,o=this.removeBehavior;if(s!==e){s>e&&this._currentIndex--;return}if(this._titles.length===0){this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:r,currentIndex:-1,currentTitle:null});return}if(o==="select-tab-after"){this._currentIndex=Math.min(e,this._titles.length-1),this._currentChanged.emit({previousIndex:e,previousTitle:r,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(o==="select-tab-before"){this._currentIndex=Math.max(0,e-1),this._currentChanged.emit({previousIndex:e,previousTitle:r,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}if(o==="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:r,currentIndex:this._currentIndex,currentTitle:this.currentTitle});return}this._currentIndex=-1,this._currentChanged.emit({previousIndex:e,previousTitle:r,currentIndex:-1,currentTitle:null})}_onTitleChanged(e){this.update()}};(function(n){class e{constructor(){this.closeIconSelector=".lm-TabBar-tabCloseIcon",this._tabID=0,this._tabKeys=new WeakMap,this._uuid=++e._nInstance}renderTab(s){let o=s.title.caption,l=this.createTabKey(s),c=l,d=this.createTabStyle(s),h=this.createTabClass(s),g=this.createTabDataset(s),m=this.createTabARIA(s);return s.title.closable?_e.li({id:c,key:l,className:h,title:o,style:d,dataset:g,...m},this.renderIcon(s),this.renderLabel(s),this.renderCloseIcon(s)):_e.li({id:c,key:l,className:h,title:o,style:d,dataset:g,...m},this.renderIcon(s),this.renderLabel(s))}renderIcon(s){let{title:o}=s,l=this.createIconClass(s);return _e.div({className:l},o.icon,o.iconLabel)}renderLabel(s){return _e.div({className:"lm-TabBar-tabLabel"},s.title.label)}renderCloseIcon(s){return _e.div({className:"lm-TabBar-tabCloseIcon"})}createTabKey(s){let o=this._tabKeys.get(s.title);return o===void 0&&(o=`tab-key-${this._uuid}-${this._tabID++}`,this._tabKeys.set(s.title,o)),o}createTabStyle(s){return{zIndex:`${s.zIndex}`}}createTabClass(s){let o="lm-TabBar-tab";return s.title.className&&(o+=` ${s.title.className}`),s.title.closable&&(o+=" lm-mod-closable"),s.current&&(o+=" lm-mod-current"),o}createTabDataset(s){return s.title.dataset}createTabARIA(s){var o;return{role:"tab","aria-selected":s.current.toString(),tabindex:`${(o=s.tabIndex)!==null&&o!==void 0?o:"-1"}`}}createIconClass(s){let o="lm-TabBar-tabIcon",l=s.title.iconClass;return l?`${o} ${l}`:o}}e._nInstance=0,n.Renderer=e,n.defaultRenderer=new e,n.addButtonSelector=".lm-TabBar-addButton"})(jt||(jt={}));var Pt;(function(n){n.DRAG_THRESHOLD=5,n.DETACH_THRESHOLD=20;function e(){let m=document.createElement("div"),p=document.createElement("ul");p.setAttribute("role","tablist"),p.className="lm-TabBar-content",m.appendChild(p);let v=document.createElement("div");return v.className="lm-TabBar-addButton lm-mod-hidden",v.setAttribute("tabindex","-1"),v.setAttribute("role","button"),m.appendChild(v),m}n.createNode=e;function r(m){return m instanceof Zn?m:new Zn(m)}n.asTitle=r;function s(m){let p=window.getComputedStyle(m);return 1e3*(parseFloat(p.transitionDuration)||0)}n.parseTransitionDuration=s;function o(m,p){let v=new Array(m.length);for(let b=0,_=m.length;b<_;++b){let y=m[b],C=window.getComputedStyle(y);p==="horizontal"?v[b]={pos:y.offsetLeft,size:y.offsetWidth,margin:parseFloat(C.marginLeft)||0}:v[b]={pos:y.offsetTop,size:y.offsetHeight,margin:parseFloat(C.marginTop)||0}}return v}n.snapTabLayout=o;function l(m,p){let v=Math.abs(p.clientX-m.pressX),b=Math.abs(p.clientY-m.pressY);return v>=n.DRAG_THRESHOLD||b>=n.DRAG_THRESHOLD}n.dragExceeded=l;function c(m,p){let v=m.contentRect;return p.clientX<v.left-n.DETACH_THRESHOLD||p.clientX>=v.right+n.DETACH_THRESHOLD||p.clientY<v.top-n.DETACH_THRESHOLD||p.clientY>=v.bottom+n.DETACH_THRESHOLD}n.detachExceeded=c;function d(m,p,v,b){let _,y,C,E;b==="horizontal"?(_=p.pressX,y=v.clientX-p.contentRect.left,C=v.clientX,E=p.contentRect.width):(_=p.pressY,y=v.clientY-p.contentRect.top,C=v.clientY,E=p.contentRect.height);let I=p.index,M=y-p.tabPressPos,S=M+p.tabSize;for(let k=0,D=m.length;k<D;++k){let H,U=p.tabLayout[k],J=U.pos+(U.size>>1);if(k<p.index&&M<J)H=`${p.tabSize+p.tabLayout[k+1].margin}px`,I=Math.min(I,k);else if(k>p.index&&S>J)H=`${-p.tabSize-U.margin}px`,I=Math.max(I,k);else if(k===p.index){let B=C-_,K=E-(p.tabPos+p.tabSize);H=`${Math.max(-p.tabPos,Math.min(B,K))}px`}else H="";b==="horizontal"?m[k].style.left=H:m[k].style.top=H}p.targetIndex=I}n.layoutTabs=d;function h(m,p){let v;p==="horizontal"?v=m.contentRect.width:v=m.contentRect.height;let b;if(m.targetIndex===m.index)b=0;else if(m.targetIndex>m.index){let C=m.tabLayout[m.targetIndex];b=C.pos+C.size-m.tabSize-m.tabPos}else b=m.tabLayout[m.targetIndex].pos-m.tabPos;let _=v-(m.tabPos+m.tabSize),y=Math.max(-m.tabPos,Math.min(b,_));p==="horizontal"?m.tab.style.left=`${y}px`:m.tab.style.top=`${y}px`}n.finalizeTabPosition=h;function g(m,p){for(let v of m)p==="horizontal"?v.style.left="":v.style.top=""}n.resetTabPositions=g})(Pt||(Pt={}));var to=class extends pi{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=Jn.clampDimension(e.spacing)),this._document=e.document||document,this._hiddenMode=e.hiddenMode!==void 0?e.hiddenMode:j.HiddenMode.Display}dispose(){let e=this[Symbol.iterator]();this._items.forEach(r=>{r.dispose()}),this._box=null,this._root=null,this._items.clear();for(let r of e)r.dispose();super.dispose()}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){if(this._hiddenMode!==e){this._hiddenMode=e;for(let r of this.tabBars())if(r.titles.length>1)for(let s of r.titles)s.owner.hiddenMode=this._hiddenMode}}get spacing(){return this._spacing}set spacing(e){e=Jn.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():(0,Z.empty)()}widgets(){return this._root?this._root.iterUserWidgets():(0,Z.empty)()}selectedWidgets(){return this._root?this._root.iterSelectedWidgets():(0,Z.empty)()}tabBars(){return this._root?this._root.iterTabBars():(0,Z.empty)()}handles(){return this._root?this._root.iterHandles():(0,Z.empty)()}moveHandle(e,r,s){let o=e.classList.contains("lm-mod-hidden");if(!this._root||o)return;let l=this._root.findSplitNode(e);if(!l)return;let c;l.node.orientation==="horizontal"?c=r-e.offsetLeft:c=s-e.offsetTop,c!==0&&(l.node.holdSizes(),Ct.adjust(l.node.sizers,l.index,c),this.parent&&this.parent.update())}saveLayout(){return this._root?(this._root.holdAllSizes(),{main:this._root.createConfig()}):{main:null}}restoreLayout(e){let r=new Set,s;e.main?s=$e.normalizeAreaConfig(e.main,r):s=null;let o=this.widgets(),l=this.tabBars(),c=this.handles();this._root=null;for(let d of o)r.has(d)||(d.parent=null);for(let d of l)d.dispose();for(let d of c)d.parentNode&&d.parentNode.removeChild(d);for(let d of r)d.parent=this.parent;s?this._root=$e.realizeAreaConfig(s,{createTabBar:d=>this._createTabBar(),createHandle:()=>this._createHandle()},this._document):this._root=null,this.parent&&(r.forEach(d=>{this.attachWidget(d)}),this.parent.fit())}addWidget(e,r={}){let s=r.ref||null,o=r.mode||"tab-after",l=null;if(this._root&&s&&(l=this._root.findTabNode(s)),s&&!l)throw new Error("Reference widget is not in the layout.");switch(e.parent=this.parent,o){case"tab-after":this._insertTab(e,s,l,!0);break;case"tab-before":this._insertTab(e,s,l,!1);break;case"split-top":this._insertSplit(e,s,l,"vertical",!1);break;case"split-left":this._insertSplit(e,s,l,"horizontal",!1);break;case"split-right":this._insertSplit(e,s,l,"horizontal",!0);break;case"split-bottom":this._insertSplit(e,s,l,"vertical",!0);break;case"merge-top":this._insertSplit(e,s,l,"vertical",!1,!0);break;case"merge-left":this._insertSplit(e,s,l,"horizontal",!1,!0);break;case"merge-right":this._insertSplit(e,s,l,"horizontal",!0,!0);break;case"merge-bottom":this._insertSplit(e,s,l,"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,r){if(!this._root||!this.parent||!this.parent.isVisible)return null;this._box||(this._box=Ce.boxSizing(this.parent.node));let s=this.parent.node.getBoundingClientRect(),o=e-s.left-this._box.borderLeft,l=r-s.top-this._box.borderTop,c=this._root.hitTestTabNodes(o,l);if(!c)return null;let{tabBar:d,top:h,left:g,width:m,height:p}=c,v=this._box.borderLeft+this._box.borderRight,b=this._box.borderTop+this._box.borderBottom,_=s.width-v-(g+m),y=s.height-b-(h+p);return{tabBar:d,x:o,y:l,top:h,left:g,right:_,bottom:y,width:m,height:p}}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 $i(e)),this.parent.isAttached&&X.sendMessage(e,j.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&X.sendMessage(e,j.Msg.AfterAttach))}detachWidget(e){if(this.parent.node!==e.node.parentNode)return;this.parent.isAttached&&X.sendMessage(e,j.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&X.sendMessage(e,j.Msg.AfterDetach);let r=this._items.get(e);r&&(this._items.delete(e),r.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 r=this._root.findTabNode(e);if(!r)return;if($e.removeAria(e),r.tabBar.titles.length>1){if(r.tabBar.removeTab(e.title),this._hiddenMode===j.HiddenMode.Scale&&r.tabBar.titles.length==1){let v=r.tabBar.titles[0].owner;v.hiddenMode=j.HiddenMode.Display}return}if(r.tabBar.dispose(),this._root===r){this._root=null;return}this._root.holdAllSizes();let s=r.parent;r.parent=null;let o=Z.ArrayExt.removeFirstOf(s.children,r),l=Z.ArrayExt.removeAt(s.handles,o);if(Z.ArrayExt.removeAt(s.sizers,o),l.parentNode&&l.parentNode.removeChild(l),s.children.length>1){s.syncHandles();return}let c=s.parent;s.parent=null;let d=s.children[0],h=s.handles[0];if(s.children.length=0,s.handles.length=0,s.sizers.length=0,h.parentNode&&h.parentNode.removeChild(h),this._root===s){d.parent=null,this._root=d;return}let g=c,m=g.children.indexOf(s);if(d instanceof $e.TabLayoutNode){d.parent=g,g.children[m]=d;return}let p=Z.ArrayExt.removeAt(g.handles,m);Z.ArrayExt.removeAt(g.children,m),Z.ArrayExt.removeAt(g.sizers,m),p.parentNode&&p.parentNode.removeChild(p);for(let v=0,b=d.children.length;v<b;++v){let _=d.children[v],y=d.handles[v],C=d.sizers[v];Z.ArrayExt.insert(g.children,m+v,_),Z.ArrayExt.insert(g.handles,m+v,y),Z.ArrayExt.insert(g.sizers,m+v,C),_.parent=g}d.children.length=0,d.handles.length=0,d.sizers.length=0,d.parent=null,g.syncHandles()}_createTabNode(e){let r=new $e.TabLayoutNode(this._createTabBar());return r.tabBar.addTab(e.title),$e.addAria(e,r.tabBar),r}_insertTab(e,r,s,o){if(e===r)return;if(!this._root){let c=new $e.TabLayoutNode(this._createTabBar());c.tabBar.addTab(e.title),this._root=c,$e.addAria(e,c.tabBar);return}s||(s=this._root.findFirstTabNode()),s.tabBar.titles.indexOf(e.title)===-1&&(this._removeWidget(e),e.hide());let l;if(r?l=s.tabBar.titles.indexOf(r.title):l=s.tabBar.currentIndex,this._hiddenMode===j.HiddenMode.Scale)if(s.tabBar.titles.length===0)e.hiddenMode=j.HiddenMode.Display;else if(s.tabBar.titles.length==1){let c=s.tabBar.titles[0].owner;c.hiddenMode=j.HiddenMode.Scale}else e.hiddenMode=j.HiddenMode.Scale;else e.hiddenMode=this._hiddenMode;s.tabBar.insertTab(l+(o?1:0),e.title),$e.addAria(e,s.tabBar)}_insertSplit(e,r,s,o,l,c=!1){if(e===r&&s&&s.tabBar.titles.length===1)return;if(this._removeWidget(e),!this._root){this._root=this._createTabNode(e);return}if(!s||!s.parent){let v=this._splitRoot(o),b=l?v.children.length:0;v.normalizeSizes();let _=$e.createSizer(s?1:$e.GOLDEN_RATIO),y=this._createTabNode(e);Z.ArrayExt.insert(v.children,b,y),Z.ArrayExt.insert(v.sizers,b,_),Z.ArrayExt.insert(v.handles,b,this._createHandle()),y.parent=v,v.normalizeSizes(),v.syncHandles();return}let d=s.parent;if(d.orientation===o){let v=d.children.indexOf(s);if(c){let C=v+(l?1:-1),E=d.children[C];if(E instanceof $e.TabLayoutNode){this._insertTab(e,null,E,!0),++E.tabBar.currentIndex;return}}d.normalizeSizes();let b=d.sizers[v].sizeHint/=2,_=v+(l?1:0),y=this._createTabNode(e);Z.ArrayExt.insert(d.children,_,y),Z.ArrayExt.insert(d.sizers,_,$e.createSizer(b)),Z.ArrayExt.insert(d.handles,_,this._createHandle()),y.parent=d,d.syncHandles();return}let h=Z.ArrayExt.removeFirstOf(d.children,s),g=new $e.SplitLayoutNode(o);g.normalized=!0,g.children.push(s),g.sizers.push($e.createSizer(.5)),g.handles.push(this._createHandle()),s.parent=g;let m=l?1:0,p=this._createTabNode(e);Z.ArrayExt.insert(g.children,m,p),Z.ArrayExt.insert(g.sizers,m,$e.createSizer(.5)),Z.ArrayExt.insert(g.handles,m,this._createHandle()),p.parent=g,g.syncHandles(),Z.ArrayExt.insert(d.children,h,g),g.parent=d}_splitRoot(e){let r=this._root;if(r instanceof $e.SplitLayoutNode&&r.orientation===e)return r;let s=this._root=new $e.SplitLayoutNode(e);return r&&(s.children.push(r),s.sizers.push($e.createSizer(0)),s.handles.push(this._createHandle()),r.parent=s),s}_fit(){let e=0,r=0;if(this._root){let l=this._root.fit(this._spacing,this._items);e=l.minWidth,r=l.minHeight}let s=this._box=Ce.boxSizing(this.parent.node);e+=s.horizontalSum,r+=s.verticalSum;let o=this.parent.node.style;o.minWidth=`${e}px`,o.minHeight=`${r}px`,this._dirty=!0,this.parent.parent&&X.sendMessage(this.parent.parent,j.Msg.FitRequest),this._dirty&&X.sendMessage(this.parent,j.Msg.UpdateRequest)}_update(e,r){if(this._dirty=!1,!this._root)return;e<0&&(e=this.parent.node.offsetWidth),r<0&&(r=this.parent.node.offsetHeight),this._box||(this._box=Ce.boxSizing(this.parent.node));let s=this._box.paddingTop,o=this._box.paddingLeft,l=e-this._box.horizontalSum,c=r-this._box.verticalSum;this._root.update(s,o,l,c,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(),r=e.style;return r.position="absolute",r.contain="strict",r.top="0",r.left="0",r.width="0",r.height="0",this.parent&&this.parent.node.appendChild(e),e}},$e;(function(n){n.GOLDEN_RATIO=.618;function e(v){let b=new Xt;return b.sizeHint=v,b.size=v,b}n.createSizer=e;function r(v,b){let _;return v.type==="tab-area"?_=h(v,b):_=g(v,b),_}n.normalizeAreaConfig=r;function s(v,b,_){let y;return v.type==="tab-area"?y=m(v,b,_):y=p(v,b,_),y}n.realizeAreaConfig=s;class o{constructor(b){this.parent=null,this._top=0,this._left=0,this._width=0,this._height=0;let _=new Xt,y=new Xt;_.stretch=0,y.stretch=1,this.tabBar=b,this.sizers=[_,y]}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 b of this.tabBar.titles)yield b.owner}*iterSelectedWidgets(){let b=this.tabBar.currentTitle;b&&(yield b.owner)}*iterTabBars(){yield this.tabBar}*iterHandles(){}findTabNode(b){return this.tabBar.titles.indexOf(b.title)!==-1?this:null}findSplitNode(b){return null}findFirstTabNode(){return this}hitTestTabNodes(b,_){return b<this._left||b>=this._left+this._width||_<this._top||_>=this._top+this._height?null:this}createConfig(){let b=this.tabBar.titles.map(y=>y.owner),_=this.tabBar.currentIndex;return{type:"tab-area",widgets:b,currentIndex:_}}holdAllSizes(){}fit(b,_){let y=0,C=0,E=1/0,I=1/0,M=_.get(this.tabBar),S=this.tabBar.currentTitle,k=S?_.get(S.owner):void 0,[D,H]=this.sizers;return M&&M.fit(),k&&k.fit(),M&&!M.isHidden?(y=Math.max(y,M.minWidth),C+=M.minHeight,D.minSize=M.minHeight,D.maxSize=M.maxHeight):(D.minSize=0,D.maxSize=0),k&&!k.isHidden?(y=Math.max(y,k.minWidth),C+=k.minHeight,H.minSize=k.minHeight,H.maxSize=1/0):(H.minSize=0,H.maxSize=1/0),{minWidth:y,minHeight:C,maxWidth:E,maxHeight:I}}update(b,_,y,C,E,I){this._top=_,this._left=b,this._width=y,this._height=C;let M=I.get(this.tabBar),S=this.tabBar.currentTitle,k=S?I.get(S.owner):void 0;if(Ct.calc(this.sizers,C),M&&!M.isHidden){let D=this.sizers[0].size;M.update(b,_,y,D),_+=D}if(k&&!k.isHidden){let D=this.sizers[1].size;k.update(b,_,y,D)}}}n.TabLayoutNode=o;class l{constructor(b){this.parent=null,this.normalized=!1,this.children=[],this.sizers=[],this.handles=[],this.orientation=b}*iterAllWidgets(){for(let b of this.children)yield*b.iterAllWidgets()}*iterUserWidgets(){for(let b of this.children)yield*b.iterUserWidgets()}*iterSelectedWidgets(){for(let b of this.children)yield*b.iterSelectedWidgets()}*iterTabBars(){for(let b of this.children)yield*b.iterTabBars()}*iterHandles(){yield*this.handles;for(let b of this.children)yield*b.iterHandles()}findTabNode(b){for(let _=0,y=this.children.length;_<y;++_){let C=this.children[_].findTabNode(b);if(C)return C}return null}findSplitNode(b){let _=this.handles.indexOf(b);if(_!==-1)return{index:_,node:this};for(let y=0,C=this.children.length;y<C;++y){let E=this.children[y].findSplitNode(b);if(E)return E}return null}findFirstTabNode(){return this.children.length===0?null:this.children[0].findFirstTabNode()}hitTestTabNodes(b,_){for(let y=0,C=this.children.length;y<C;++y){let E=this.children[y].hitTestTabNodes(b,_);if(E)return E}return null}createConfig(){let b=this.orientation,_=this.createNormalizedSizes(),y=this.children.map(C=>C.createConfig());return{type:"split-area",orientation:b,children:y,sizes:_}}syncHandles(){this.handles.forEach((b,_)=>{b.setAttribute("data-orientation",this.orientation),_===this.handles.length-1?b.classList.add("lm-mod-hidden"):b.classList.remove("lm-mod-hidden")})}holdSizes(){for(let b of this.sizers)b.sizeHint=b.size}holdAllSizes(){for(let b of this.children)b.holdAllSizes();this.holdSizes()}normalizeSizes(){let b=this.sizers.length;if(b===0)return;this.holdSizes();let _=this.sizers.reduce((y,C)=>y+C.sizeHint,0);if(_===0)for(let y of this.sizers)y.size=y.sizeHint=1/b;else for(let y of this.sizers)y.size=y.sizeHint/=_;this.normalized=!0}createNormalizedSizes(){let b=this.sizers.length;if(b===0)return[];let _=this.sizers.map(C=>C.size),y=_.reduce((C,E)=>C+E,0);if(y===0)for(let C=_.length-1;C>-1;C--)_[C]=1/b;else for(let C=_.length-1;C>-1;C--)_[C]/=y;return _}fit(b,_){let y=this.orientation==="horizontal",C=Math.max(0,this.children.length-1)*b,E=y?C:0,I=y?0:C,M=1/0,S=1/0;for(let k=0,D=this.children.length;k<D;++k){let H=this.children[k].fit(b,_);y?(I=Math.max(I,H.minHeight),E+=H.minWidth,this.sizers[k].minSize=H.minWidth):(E=Math.max(E,H.minWidth),I+=H.minHeight,this.sizers[k].minSize=H.minHeight)}return{minWidth:E,minHeight:I,maxWidth:M,maxHeight:S}}update(b,_,y,C,E,I){let M=this.orientation==="horizontal",S=Math.max(0,this.children.length-1)*E,k=Math.max(0,(M?y:C)-S);if(this.normalized){for(let D of this.sizers)D.sizeHint*=k;this.normalized=!1}Ct.calc(this.sizers,k);for(let D=0,H=this.children.length;D<H;++D){let U=this.children[D],J=this.sizers[D].size,B=this.handles[D].style;M?(U.update(b,_,J,C,E,I),b+=J,B.top=`${_}px`,B.left=`${b}px`,B.width=`${E}px`,B.height=`${C}px`,b+=E):(U.update(b,_,y,J,E,I),_+=J,B.top=`${_}px`,B.left=`${b}px`,B.width=`${y}px`,B.height=`${E}px`,_+=E)}}}n.SplitLayoutNode=l;function c(v,b){v.node.setAttribute("role","tabpanel");let _=b.renderer;if(_ instanceof jt.Renderer){let y=_.createTabKey({title:v.title,current:!1,zIndex:0});v.node.setAttribute("aria-labelledby",y)}}n.addAria=c;function d(v){v.node.removeAttribute("role"),v.node.removeAttribute("aria-labelledby")}n.removeAria=d;function h(v,b){if(v.widgets.length===0)return null;let _=[];for(let C of v.widgets)b.has(C)||(b.add(C),_.push(C));if(_.length===0)return null;let y=v.currentIndex;return y!==-1&&(y<0||y>=_.length)&&(y=0),{type:"tab-area",widgets:_,currentIndex:y}}function g(v,b){let _=v.orientation,y=[],C=[];for(let E=0,I=v.children.length;E<I;++E){let M=r(v.children[E],b);M&&(M.type==="tab-area"||M.orientation!==_?(y.push(M),C.push(Math.abs(v.sizes[E]||0))):(y.push(...M.children),C.push(...M.sizes)))}return y.length===0?null:y.length===1?y[0]:{type:"split-area",orientation:_,children:y,sizes:C}}function m(v,b,_){let y=b.createTabBar(_);for(let C of v.widgets)C.hide(),y.addTab(C.title),n.addAria(C,y);return y.currentIndex=v.currentIndex,new o(y)}function p(v,b,_){let y=new l(v.orientation);return v.children.forEach((C,E)=>{let I=s(C,b,_),M=e(v.sizes[E]),S=b.createHandle();y.children.push(I),y.handles.push(S),y.sizers.push(M),I.parent=y}),y.syncHandles(),y.normalizeSizes(),y}})($e||($e={}));var Ki=class n extends j{constructor(e={}){super(),this._drag=null,this._tabsMovable=!0,this._tabsConstrained=!1,this._addButtonEnabled=!1,this._pressData=null,this._layoutModified=new Ie(this),this._addRequested=new Ie(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||qe.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 r={createTabBar:()=>this._createTabBar(),createHandle:()=>this._createHandle()};this.layout=new to({document:this._document,renderer:r,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 r=this.layout;switch(e){case"multiple-document":for(let s of r.tabBars())s.show();break;case"single-document":r.restoreLayout(qe.createSingleDocumentConfig(this));break;default:throw"unreachable"}X.postMessage(this,qe.LayoutModified)}get tabsMovable(){return this._tabsMovable}set tabsMovable(e){this._tabsMovable=e;for(let r of this.tabBars())r.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 r of this.tabBars())r.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 r=(0,Z.find)(this.tabBars(),s=>s.titles.indexOf(e.title)!==-1);if(!r)throw new Error("Widget is not contained in the dock panel.");r.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),(tt.IS_EDGE||tt.IS_IE)&&X.flush(),X.postMessage(this,qe.LayoutModified)}addWidget(e,r={}){this._mode==="single-document"?this.layout.addWidget(e):this.layout.addWidget(e,r),X.postMessage(this,qe.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){qe.isGeneratedTabBarProperty.get(e.child)||e.child.addClass("lm-DockPanel-widget")}onChildRemoved(e){qe.isGeneratedTabBarProperty.get(e.child)||(e.child.removeClass("lm-DockPanel-widget"),X.postMessage(this,qe.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:r,clientY:s}=e,{zone:o,target:l}=qe.findDropTarget(this,r,s,this._edges);if(this._tabsConstrained&&e.source!==this||o==="invalid"){e.dropAction="none";return}let d=e.mimeData.getData("application/vnd.lumino.widget-factory");if(typeof d!="function"){e.dropAction="none";return}let h=d();if(!(h instanceof j)){e.dropAction="none";return}if(h.contains(this)){e.dropAction="none";return}let g=l?qe.getDropRef(l.tabBar):null;switch(o){case"root-all":this.addWidget(h);break;case"root-top":this.addWidget(h,{mode:"split-top"});break;case"root-left":this.addWidget(h,{mode:"split-left"});break;case"root-right":this.addWidget(h,{mode:"split-right"});break;case"root-bottom":this.addWidget(h,{mode:"split-bottom"});break;case"widget-all":this.addWidget(h,{mode:"tab-after",ref:g});break;case"widget-top":this.addWidget(h,{mode:"split-top",ref:g});break;case"widget-left":this.addWidget(h,{mode:"split-left",ref:g});break;case"widget-right":this.addWidget(h,{mode:"split-right",ref:g});break;case"widget-bottom":this.addWidget(h,{mode:"split-bottom",ref:g});break;case"widget-tab":this.addWidget(h,{mode:"tab-after",ref:g});break;default:throw"unreachable"}e.dropAction=e.proposedAction,e.stopPropagation(),this.activateWidget(h)}_evtKeyDown(e){e.preventDefault(),e.stopPropagation(),e.keyCode===27&&(this._releaseMouse(),X.postMessage(this,qe.LayoutModified))}_evtPointerDown(e){if(e.button!==0)return;let r=this.layout,s=e.target,o=(0,Z.find)(r.handles(),m=>m.contains(s));if(!o)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 l=o.getBoundingClientRect(),c=e.clientX-l.left,d=e.clientY-l.top,h=window.getComputedStyle(o),g=ut.overrideCursor(h.cursor,this._document);this._pressData={handle:o,deltaX:c,deltaY:d,override:g}}_evtPointerMove(e){if(!this._pressData)return;e.preventDefault(),e.stopPropagation();let r=this.node.getBoundingClientRect(),s=e.clientX-r.left-this._pressData.deltaX,o=e.clientY-r.top-this._pressData.deltaY;this.layout.moveHandle(this._pressData.handle,s,o)}_evtPointerUp(e){e.button===0&&(e.preventDefault(),e.stopPropagation(),this._releaseMouse(),X.postMessage(this,qe.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,r){let{zone:s,target:o}=qe.findDropTarget(this,e,r,this._edges);if(s==="invalid")return this.overlay.hide(100),s;let l,c,d,h,g=Ce.boxSizing(this.node),m=this.node.getBoundingClientRect();switch(s){case"root-all":l=g.paddingTop,c=g.paddingLeft,d=g.paddingRight,h=g.paddingBottom;break;case"root-top":l=g.paddingTop,c=g.paddingLeft,d=g.paddingRight,h=m.height*qe.GOLDEN_RATIO;break;case"root-left":l=g.paddingTop,c=g.paddingLeft,d=m.width*qe.GOLDEN_RATIO,h=g.paddingBottom;break;case"root-right":l=g.paddingTop,c=m.width*qe.GOLDEN_RATIO,d=g.paddingRight,h=g.paddingBottom;break;case"root-bottom":l=m.height*qe.GOLDEN_RATIO,c=g.paddingLeft,d=g.paddingRight,h=g.paddingBottom;break;case"widget-all":l=o.top,c=o.left,d=o.right,h=o.bottom;break;case"widget-top":l=o.top,c=o.left,d=o.right,h=o.bottom+o.height/2;break;case"widget-left":l=o.top,c=o.left,d=o.right+o.width/2,h=o.bottom;break;case"widget-right":l=o.top,c=o.left+o.width/2,d=o.right,h=o.bottom;break;case"widget-bottom":l=o.top+o.height/2,c=o.left,d=o.right,h=o.bottom;break;case"widget-tab":{let p=o.tabBar.node.getBoundingClientRect().height;l=o.top,c=o.left,d=o.right,h=o.bottom+o.height-p;break}default:throw"unreachable"}return this.overlay.show({top:l,left:c,right:d,bottom:h}),s}_createTabBar(){let e=this._renderer.createTabBar(this._document);return qe.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(){X.postMessage(this,qe.LayoutModified)}_onCurrentChanged(e,r){let{previousTitle:s,currentTitle:o}=r;s&&s.owner.hide(),o&&o.owner.show(),(tt.IS_EDGE||tt.IS_IE)&&X.flush(),X.postMessage(this,qe.LayoutModified)}_onTabAddRequested(e){this._addRequested.emit(e)}_onTabActivateRequested(e,r){r.title.owner.activate()}_onTabCloseRequested(e,r){r.title.owner.close()}_onTabDetachRequested(e,r){if(this._drag)return;e.releaseMouse();let{title:s,tab:o,clientX:l,clientY:c,offset:d}=r,h=new mi.MimeData,g=()=>s.owner;h.setData("application/vnd.lumino.widget-factory",g);let m=o.cloneNode(!0);d&&(m.style.top=`-${d.y}px`,m.style.left=`-${d.x}px`),this._drag=new ut({document:this._document,mimeData:h,dragImage:m,proposedAction:"move",supportedActions:"move",source:this}),o.classList.add("lm-mod-hidden");let p=()=>{this._drag=null,o.classList.remove("lm-mod-hidden")};this._drag.start(l,c).then(p)}};(function(n){class e{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(o){let l=this.node.style;l.top=`${o.top}px`,l.left=`${o.left}px`,l.right=`${o.right}px`,l.bottom=`${o.bottom}px`,clearTimeout(this._timer),this._timer=-1,this._hidden&&(this._hidden=!1,this.node.classList.remove("lm-mod-hidden"))}hide(o){if(!this._hidden){if(o<=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")},o))}}}n.Overlay=e;class r{createTabBar(o){let l=new jt({document:o});return l.addClass("lm-DockPanel-tabBar"),l}createHandle(){let o=document.createElement("div");return o.className="lm-DockPanel-handle",o}}n.Renderer=r,n.defaultRenderer=new r})(Ki||(Ki={}));var qe;(function(n){n.GOLDEN_RATIO=.618,n.DEFAULT_EDGES={top:12,right:40,bottom:40,left:40},n.LayoutModified=new Ii("layout-modified"),n.isGeneratedTabBarProperty=new lt({name:"isGeneratedTabBar",create:()=>!1});function e(o){if(o.isEmpty)return{main:null};let l=Array.from(o.widgets()),c=o.selectedWidgets().next().value,d=c?l.indexOf(c):-1;return{main:{type:"tab-area",widgets:l,currentIndex:d}}}n.createSingleDocumentConfig=e;function r(o,l,c,d){if(!Ce.hitTest(o.node,l,c))return{zone:"invalid",target:null};let h=o.layout;if(h.isEmpty)return{zone:"root-all",target:null};if(o.mode==="multiple-document"){let M=o.node.getBoundingClientRect(),S=l-M.left+1,k=c-M.top+1,D=M.right-l,H=M.bottom-c;switch(Math.min(k,D,H,S)){case k:if(k<d.top)return{zone:"root-top",target:null};break;case D:if(D<d.right)return{zone:"root-right",target:null};break;case H:if(H<d.bottom)return{zone:"root-bottom",target:null};break;case S:if(S<d.left)return{zone:"root-left",target:null};break;default:throw"unreachable"}}let g=h.hitTestTabAreas(l,c);if(!g)return{zone:"invalid",target:null};if(o.mode==="single-document")return{zone:"widget-all",target:g};let m=g.x-g.left+1,p=g.y-g.top+1,v=g.left+g.width-g.x,b=g.top+g.height-g.y,_=g.tabBar.node.getBoundingClientRect().height;if(p<_)return{zone:"widget-tab",target:g};let y=Math.round(g.width/3),C=Math.round(g.height/3);if(m>y&&v>y&&p>C&&b>C)return{zone:"widget-all",target:g};m/=y,p/=C,v/=y,b/=C;let E=Math.min(m,p,v,b),I;switch(E){case m:I="widget-left";break;case p:I="widget-top";break;case v:I="widget-right";break;case b:I="widget-bottom";break;default:throw"unreachable"}return{zone:I,target:g}}n.findDropTarget=r;function s(o){return o.titles.length===0?null:o.currentTitle?o.currentTitle.owner:o.titles[o.titles.length-1].owner}n.getDropRef=s})(qe||(qe={}));var er=class n extends pi{constructor(e={}){super(e),this._dirty=!1,this._rowSpacing=4,this._columnSpacing=4,this._items=[],this._rowStarts=[],this._columnStarts=[],this._rowSizers=[new Xt],this._columnSizers=[new Xt],this._box=null,e.rowCount!==void 0&&Ge.reallocSizers(this._rowSizers,e.rowCount),e.columnCount!==void 0&&Ge.reallocSizers(this._columnSizers,e.columnCount),e.rowSpacing!==void 0&&(this._rowSpacing=Ge.clampValue(e.rowSpacing)),e.columnSpacing!==void 0&&(this._columnSpacing=Ge.clampValue(e.columnSpacing))}dispose(){for(let e of this._items){let r=e.widget;e.dispose(),r.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&&(Ge.reallocSizers(this._rowSizers,e),this.parent&&this.parent.fit())}get columnCount(){return this._columnSizers.length}set columnCount(e){e!==this.columnCount&&(Ge.reallocSizers(this._columnSizers,e),this.parent&&this.parent.fit())}get rowSpacing(){return this._rowSpacing}set rowSpacing(e){e=Ge.clampValue(e),this._rowSpacing!==e&&(this._rowSpacing=e,this.parent&&this.parent.fit())}get columnSpacing(){return this._columnSpacing}set columnSpacing(e){e=Ge.clampValue(e),this._columnSpacing!==e&&(this._columnSpacing=e,this.parent&&this.parent.fit())}rowStretch(e){let r=this._rowSizers[e];return r?r.stretch:-1}setRowStretch(e,r){let s=this._rowSizers[e];s&&(r=Ge.clampValue(r),s.stretch!==r&&(s.stretch=r,this.parent&&this.parent.update()))}columnStretch(e){let r=this._columnSizers[e];return r?r.stretch:-1}setColumnStretch(e,r){let s=this._columnSizers[e];s&&(r=Ge.clampValue(r),s.stretch!==r&&(s.stretch=r,this.parent&&this.parent.update()))}*[Symbol.iterator](){for(let e of this._items)yield e.widget}addWidget(e){Z.ArrayExt.findFirstIndex(this._items,s=>s.widget===e)===-1&&(this._items.push(new $i(e)),this.parent&&this.attachWidget(e))}removeWidget(e){let r=Z.ArrayExt.findFirstIndex(this._items,o=>o.widget===e);if(r===-1)return;let s=Z.ArrayExt.removeAt(this._items,r);this.parent&&this.detachWidget(e),s.dispose()}init(){super.init();for(let e of this)this.attachWidget(e)}attachWidget(e){this.parent.isAttached&&X.sendMessage(e,j.Msg.BeforeAttach),this.parent.node.appendChild(e.node),this.parent.isAttached&&X.sendMessage(e,j.Msg.AfterAttach),this.parent.fit()}detachWidget(e){this.parent.isAttached&&X.sendMessage(e,j.Msg.BeforeDetach),this.parent.node.removeChild(e.node),this.parent.isAttached&&X.sendMessage(e,j.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 h=0,g=this.rowCount;h<g;++h)this._rowSizers[h].minSize=0;for(let h=0,g=this.columnCount;h<g;++h)this._columnSizers[h].minSize=0;let e=this._items.filter(h=>!h.isHidden);for(let h=0,g=e.length;h<g;++h)e[h].fit();let r=this.rowCount-1,s=this.columnCount-1;e.sort(Ge.rowSpanCmp);for(let h=0,g=e.length;h<g;++h){let m=e[h],p=n.getCellConfig(m.widget),v=Math.min(p.row,r),b=Math.min(p.row+p.rowSpan-1,r);Ge.distributeMin(this._rowSizers,v,b,m.minHeight)}e.sort(Ge.columnSpanCmp);for(let h=0,g=e.length;h<g;++h){let m=e[h],p=n.getCellConfig(m.widget),v=Math.min(p.column,s),b=Math.min(p.column+p.columnSpan-1,s);Ge.distributeMin(this._columnSizers,v,b,m.minWidth)}if(this.fitPolicy==="set-no-constraint"){X.sendMessage(this.parent,j.Msg.UpdateRequest);return}let o=r*this._rowSpacing,l=s*this._columnSpacing;for(let h=0,g=this.rowCount;h<g;++h)o+=this._rowSizers[h].minSize;for(let h=0,g=this.columnCount;h<g;++h)l+=this._columnSizers[h].minSize;let c=this._box=Ce.boxSizing(this.parent.node);l+=c.horizontalSum,o+=c.verticalSum;let d=this.parent.node.style;d.minWidth=`${l}px`,d.minHeight=`${o}px`,this._dirty=!0,this.parent.parent&&X.sendMessage(this.parent.parent,j.Msg.FitRequest),this._dirty&&X.sendMessage(this.parent,j.Msg.UpdateRequest)}_update(e,r){this._dirty=!1,e<0&&(e=this.parent.node.offsetWidth),r<0&&(r=this.parent.node.offsetHeight),this._box||(this._box=Ce.boxSizing(this.parent.node));let s=this._box.paddingTop,o=this._box.paddingLeft,l=e-this._box.horizontalSum,c=r-this._box.verticalSum,d=this.rowCount-1,h=this.columnCount-1,g=d*this._rowSpacing,m=h*this._columnSpacing;Ct.calc(this._rowSizers,Math.max(0,c-g)),Ct.calc(this._columnSizers,Math.max(0,l-m));for(let p=0,v=s,b=this.rowCount;p<b;++p)this._rowStarts[p]=v,v+=this._rowSizers[p].size+this._rowSpacing;for(let p=0,v=o,b=this.columnCount;p<b;++p)this._columnStarts[p]=v,v+=this._columnSizers[p].size+this._columnSpacing;for(let p=0,v=this._items.length;p<v;++p){let b=this._items[p];if(b.isHidden)continue;let _=n.getCellConfig(b.widget),y=Math.min(_.row,d),C=Math.min(_.column,h),E=Math.min(_.row+_.rowSpan-1,d),I=Math.min(_.column+_.columnSpan-1,h),M=this._columnStarts[C],S=this._rowStarts[y],k=this._columnStarts[I]+this._columnSizers[I].size-M,D=this._rowStarts[E]+this._rowSizers[E].size-S;b.update(M,S,k,D)}}};(function(n){function e(s){return Ge.cellConfigProperty.get(s)}n.getCellConfig=e;function r(s,o){Ge.cellConfigProperty.set(s,Ge.normalizeConfig(o))}n.setCellConfig=r})(er||(er={}));var Ge;(function(n){n.cellConfigProperty=new lt({name:"cellConfig",create:()=>({row:0,column:0,rowSpan:1,columnSpan:1}),changed:d});function e(h){let g=Math.max(0,Math.floor(h.row||0)),m=Math.max(0,Math.floor(h.column||0)),p=Math.max(1,Math.floor(h.rowSpan||0)),v=Math.max(1,Math.floor(h.columnSpan||0));return{row:g,column:m,rowSpan:p,columnSpan:v}}n.normalizeConfig=e;function r(h){return Math.max(0,Math.floor(h))}n.clampValue=r;function s(h,g){let m=n.cellConfigProperty.get(h.widget),p=n.cellConfigProperty.get(g.widget);return m.rowSpan-p.rowSpan}n.rowSpanCmp=s;function o(h,g){let m=n.cellConfigProperty.get(h.widget),p=n.cellConfigProperty.get(g.widget);return m.columnSpan-p.columnSpan}n.columnSpanCmp=o;function l(h,g){for(g=Math.max(1,Math.floor(g));h.length<g;)h.push(new Xt);h.length>g&&(h.length=g)}n.reallocSizers=l;function c(h,g,m,p){if(m<g)return;if(g===m){let _=h[g];_.minSize=Math.max(_.minSize,p);return}let v=0;for(let _=g;_<=m;++_)v+=h[_].minSize;if(v>=p)return;let b=(p-v)/(m-g+1);for(let _=g;_<=m;++_)h[_].minSize+=b}n.distributeMin=c;function d(h){h.parent&&h.parent.layout instanceof er&&h.parent.fit()}})(Ge||(Ge={}));var hs=class n extends j{constructor(e={}){super({node:fs.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(j.Flag.DisallowLayout),this.renderer=e.renderer||n.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,r=!0){this.insertMenu(this._menus.length,e,r)}insertMenu(e,r,s=!0){this._closeChildMenu();let o=this._menus.indexOf(r),l=Math.max(0,Math.min(e,this._menus.length));if(o===-1){Z.ArrayExt.insert(this._menus,l,r),r.addClass("lm-MenuBar-menu"),r.aboutToClose.connect(this._onMenuAboutToClose,this),r.menuRequested.connect(this._onMenuMenuRequested,this),r.title.changed.connect(this._onTitleChanged,this),s&&this.update();return}l===this._menus.length&&l--,o!==l&&(Z.ArrayExt.move(this._menus,o,l),s&&this.update())}removeMenu(e,r=!0){this.removeMenuAt(this._menus.indexOf(e),r)}removeMenuAt(e,r=!0){this._closeChildMenu();let s=Z.ArrayExt.removeAt(this._menus,e);s&&(s.aboutToClose.disconnect(this._onMenuAboutToClose,this),s.menuRequested.disconnect(this._onMenuMenuRequested,this),s.title.changed.disconnect(this._onTitleChanged,this),s.removeClass("lm-MenuBar-menu"),r&&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"mousedown":this._evtMouseDown(e);break;case"mousemove":this._evtMouseMove(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("mousedown",this),this.node.addEventListener("mousemove",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("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 r;let s=this._menus,o=this.renderer,l=this._activeIndex,c=this._tabFocusIndex>=0&&this._tabFocusIndex<s.length?this._tabFocusIndex:0,d=this._overflowIndex>-1?this._overflowIndex:s.length,h=0,g=!1;d=this._overflowMenu!==null?d-1:d;let m=new Array(d);for(let p=0;p<d;++p)m[p]=o.renderItem({title:s[p].title,active:p===l,tabbable:p===c,disabled:s[p].items.length===0,onfocus:()=>{this._tabFocusIndex=p,this.activeIndex=p}}),h+=this._menuItemSizes[p],s[p].title.label===this._overflowMenuOptions.title&&(g=!0,d--);if(this._overflowMenuOptions.isVisible){if(this._overflowIndex>-1&&!g){if(this._overflowMenu===null){let p=(r=this._overflowMenuOptions.title)!==null&&r!==void 0?r:"...";this._overflowMenu=new $t({commands:new Mt}),this._overflowMenu.title.label=p,this._overflowMenu.title.mnemonic=0,this.addMenu(this._overflowMenu,!1)}for(let p=s.length-2;p>=d;p--){let v=this.menus[p];v.title.mnemonic=0,this._overflowMenu.insertItem(0,{type:"submenu",submenu:v}),this.removeMenu(v,!1)}m[d]=o.renderItem({title:this._overflowMenu.title,active:d===l&&s[d].items.length!==0,tabbable:d===c,disabled:s[d].items.length===0,onfocus:()=>{this._tabFocusIndex=d,this.activeIndex=d}}),d++}else if(this._overflowMenu!==null){let p=this._overflowMenu.items,v=this.node.offsetWidth,b=this._overflowMenu.items.length;for(let _=0;_<b;++_){let y=s.length-1-_;if(v-h>this._menuItemSizes[y]){let C=p[0].submenu;this._overflowMenu.removeItemAt(0),this.insertMenu(d,C,!1),m[d]=o.renderItem({title:C.title,active:!1,tabbable:d===c,disabled:s[d].items.length===0,onfocus:()=>{this._tabFocusIndex=d,this.activeIndex=d}}),d++}}this._overflowMenu.items.length===0&&(this.removeMenu(this._overflowMenu,!1),m.pop(),this._overflowMenu=null,this._overflowIndex=-1)}}Dt.render(m,this.contentNode),this._updateOverflowIndex()}_updateOverflowIndex(){if(!this._overflowMenuOptions.isVisible)return;let e=this.contentNode.childNodes,r=this.node.offsetWidth,s=0,o=-1,l=e.length;if(this._menuItemSizes.length==0)for(let c=0;c<l;c++){let d=e[c];s+=d.offsetWidth,this._menuItemSizes.push(d.offsetWidth),s>r&&o===-1&&(o=c)}else for(let c=0;c<this._menuItemSizes.length;c++)if(s+=this._menuItemSizes[c],s>r){o=c;break}this._overflowIndex=o}_evtKeyDown(e){let r=e.keyCode;if(r===9){this.activeIndex=-1;return}if(e.preventDefault(),e.stopPropagation(),r===13||r===32||r===38||r===40){if(this.activeIndex=this._tabFocusIndex,this.activeIndex!==this._tabFocusIndex)return;this.openActiveMenu();return}if(r===27){this._closeChildMenu(),this._focusItemAt(this.activeIndex);return}if(r===37||r===39){let c=r===37?-1:1,d=this._tabFocusIndex+c,h=this._menus.length;for(let g=0;g<h;g++){let m=(h+d+c*g)%h;if(this._menus[m].items.length){this._focusItemAt(m);return}}return}let s=mn().keyForKeydownEvent(e);if(!s)return;let o=this._activeIndex+1,l=fs.findMnemonic(this._menus,s,o);l.index!==-1&&!l.multiple?(this.activeIndex=l.index,this.openActiveMenu()):l.index!==-1?(this.activeIndex=l.index,this._focusItemAt(this.activeIndex)):l.auto!==-1&&(this.activeIndex=l.auto,this._focusItemAt(this.activeIndex))}_evtMouseDown(e){if(!Ce.hitTest(this.node,e.clientX,e.clientY))return;e.stopPropagation(),e.stopImmediatePropagation();let r=Z.ArrayExt.findFirstIndex(this.contentNode.children,s=>Ce.hitTest(s,e.clientX,e.clientY));if(r===-1){this._closeChildMenu();return}if(e.button===0)if(this._childMenu)this._closeChildMenu(),this.activeIndex=r;else{e.preventDefault();let s=this._positionForMenu(r);$t.saveWindowData(),this.activeIndex=r,this._openChildMenu(s)}}_evtMouseMove(e){let r=Z.ArrayExt.findFirstIndex(this.contentNode.children,o=>Ce.hitTest(o,e.clientX,e.clientY));if(r===this._activeIndex||r===-1&&this._childMenu)return;let s=r>=0&&this._childMenu?this._positionForMenu(r):null;$t.saveWindowData(),this.activeIndex=r,s&&this._openChildMenu(s)}_positionForMenu(e){let r=this.contentNode.children[e],{left:s,bottom:o}=r.getBoundingClientRect();return{top:o,left:s}}_evtFocusOut(e){!this._childMenu&&!this.node.contains(e.relatedTarget)&&(this.activeIndex=-1)}_focusItemAt(e){let r=this.contentNode.childNodes[e];r&&r.focus()}_openChildMenu(e={}){let r=this.activeMenu;if(!r){this._closeChildMenu();return}let s=this._childMenu;if(s===r)return;this._childMenu=r,s?s.close():document.addEventListener("mousedown",this,!0),this._tabFocusIndex=this.activeIndex,X.sendMessage(this,j.Msg.UpdateRequest);let{left:o,top:l}=e;(typeof o>"u"||typeof l>"u")&&({left:o,top:l}=this._positionForMenu(this._activeIndex)),s||this.addClass("lm-mod-active"),r.items.length>0&&r.open(o,l,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,r){if(e!==this._childMenu)return;let s=this._activeIndex,o=this._menus.length;switch(r){case"next":this.activeIndex=s===o-1?0:s+1;break;case"previous":this.activeIndex=s===0?o-1:s-1;break}this.openActiveMenu()}_onTitleChanged(){this.update()}};(function(n){class e{renderItem(s){let o=this.createItemClass(s),l=this.createItemDataset(s),c=this.createItemARIA(s);return _e.li({className:o,dataset:l,...s.disabled?{}:{tabindex:s.tabbable?"0":"-1"},onfocus:s.onfocus,...c},this.renderIcon(s),this.renderLabel(s))}renderIcon(s){let o=this.createIconClass(s);return _e.div({className:o},s.title.icon,s.title.iconLabel)}renderLabel(s){let o=this.formatLabel(s);return _e.div({className:"lm-MenuBar-itemLabel"},o)}createItemClass(s){let o="lm-MenuBar-item";return s.title.className&&(o+=` ${s.title.className}`),s.active&&!s.disabled&&(o+=" lm-mod-active"),o}createItemDataset(s){return s.title.dataset}createItemARIA(s){return{role:"menuitem","aria-haspopup":"true","aria-disabled":s.disabled?"true":"false"}}createIconClass(s){let o="lm-MenuBar-itemIcon",l=s.title.iconClass;return l?`${o} ${l}`:o}formatLabel(s){let{label:o,mnemonic:l}=s.title;if(l<0||l>=o.length)return o;let c=o.slice(0,l),d=o.slice(l+1),h=o[l],g=_e.span({className:"lm-MenuBar-itemMnemonic"},h);return[c,g,d]}}n.Renderer=e,n.defaultRenderer=new e})(hs||(hs={}));var fs;(function(n){function e(){let s=document.createElement("div"),o=document.createElement("ul");return o.className="lm-MenuBar-content",s.appendChild(o),o.setAttribute("role","menubar"),s}n.createNode=e;function r(s,o,l){let c=-1,d=-1,h=!1,g=o.toUpperCase();for(let m=0,p=s.length;m<p;++m){let v=(m+l)%p,b=s[v].title;if(b.label.length===0)continue;let _=b.mnemonic;if(_>=0&&_<b.label.length){b.label[_].toUpperCase()===g&&(c===-1?c=v:h=!0);continue}d===-1&&b.label[0].toUpperCase()===g&&(d=v)}return{index:c,multiple:h,auto:d}}n.findMnemonic=r})(fs||(fs={}));var wd;(function(n){function e(){let s=document.createElement("div"),o=document.createElement("div"),l=document.createElement("div"),c=document.createElement("div"),d=document.createElement("div");return o.className="lm-ScrollBar-button",l.className="lm-ScrollBar-button",o.dataset.action="decrement",l.dataset.action="increment",c.className="lm-ScrollBar-track",d.className="lm-ScrollBar-thumb",c.appendChild(d),s.appendChild(o),s.appendChild(c),s.appendChild(l),s}n.createNode=e;function r(s,o){return s.thumbNode.contains(o)?"thumb":s.trackNode.contains(o)?"track":s.decrementNode.contains(o)?"decrement":s.incrementNode.contains(o)?"increment":null}n.findPart=r})(wd||(wd={}));var io=class extends bn{constructor(e={}){super(e),this._dirty=!1,this._items=[],this._box=null,this._hiddenMode=e.hiddenMode!==void 0?e.hiddenMode:j.HiddenMode.Display}get hiddenMode(){return this._hiddenMode}set hiddenMode(e){this._hiddenMode!==e&&(this._hiddenMode=e,this.widgets.length>1&&this.widgets.forEach(r=>{r.hiddenMode=this._hiddenMode}))}dispose(){for(let e of this._items)e.dispose();this._box=null,this._items.length=0,super.dispose()}attachWidget(e,r){this._hiddenMode===j.HiddenMode.Scale&&this._items.length>0?(this._items.length===1&&(this.widgets[0].hiddenMode=j.HiddenMode.Scale),r.hiddenMode=j.HiddenMode.Scale):r.hiddenMode=j.HiddenMode.Display,Z.ArrayExt.insert(this._items,e,new $i(r)),this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeAttach),this.parent.node.appendChild(r.node),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterAttach),this.parent.fit()}moveWidget(e,r,s){Z.ArrayExt.move(this._items,e,r),this.parent.update()}detachWidget(e,r){let s=Z.ArrayExt.removeAt(this._items,e);this.parent.isAttached&&X.sendMessage(r,j.Msg.BeforeDetach),this.parent.node.removeChild(r.node),this.parent.isAttached&&X.sendMessage(r,j.Msg.AfterDetach),s.widget.node.style.zIndex="",this._hiddenMode===j.HiddenMode.Scale&&(r.hiddenMode=j.HiddenMode.Display,this._items.length===1&&(this._items[0].widget.hiddenMode=j.HiddenMode.Display)),s.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,r=0;for(let l=0,c=this._items.length;l<c;++l){let d=this._items[l];d.isHidden||(d.fit(),e=Math.max(e,d.minWidth),r=Math.max(r,d.minHeight))}let s=this._box=Ce.boxSizing(this.parent.node);e+=s.horizontalSum,r+=s.verticalSum;let o=this.parent.node.style;o.minWidth=`${e}px`,o.minHeight=`${r}px`,this._dirty=!0,this.parent.parent&&X.sendMessage(this.parent.parent,j.Msg.FitRequest),this._dirty&&X.sendMessage(this.parent,j.Msg.UpdateRequest)}_update(e,r){this._dirty=!1;let s=0;for(let h=0,g=this._items.length;h<g;++h)s+=+!this._items[h].isHidden;if(s===0)return;e<0&&(e=this.parent.node.offsetWidth),r<0&&(r=this.parent.node.offsetHeight),this._box||(this._box=Ce.boxSizing(this.parent.node));let o=this._box.paddingTop,l=this._box.paddingLeft,c=e-this._box.horizontalSum,d=r-this._box.verticalSum;for(let h=0,g=this._items.length;h<g;++h){let m=this._items[h];m.isHidden||(m.widget.node.style.zIndex=`${h}`,m.update(l,o,c,d))}}};var yd;(function(n){function e(r){return r.layout||new io}n.createLayout=e})(yd||(yd={}));var xd;(function(n){function e(l){return s[l]}n.orientationFromPlacement=e;function r(l){return o[l]}n.directionFromPlacement=r;let s={top:"horizontal",left:"vertical",right:"vertical",bottom:"horizontal"},o={top:"top-to-bottom",left:"left-to-right",right:"right-to-left",bottom:"bottom-to-top"}})(xd||(xd={}));var fr=Bt(ui(),1);var lp=Bt(tp(),1),up=Bt(ip(),1);var np='::slotted(.workspace-master-widget){--status-bar--display:none;--config-button-icon--content:var(--open-settings-button--content,"\\1F527")!important;}.workspace-master-widget[settings]{--config-button-icon--content:var(--close-settings-button--content,"\\1F527")!important;}.widget-maximize:not(.workspace-master-widget){--config-button-icon--content:var(--open-settings-button--content,"\\1F527")!important;}.widget-maximize[settings]:not(.workspace-master-widget){--config-button-icon--content:var(--close-settings-button--content,"\\1F527")!important;}.lm-DockPanel-widget{border:1px solid#eaeaea;border-width:0px!important;min-width:300px;min-height:200px;}.workspace-master-widget:not{--config-button-icon--content:""!important;}.context-menu>perspective-viewer.context-focus{opacity:1;filter:none;}.context-menu>perspective-viewer{filter:saturate(0);}.context-menu>perspective-viewer>*{pointer-events:none;}:host{--bookmarks--mask-image:url("../svg/bookmark-icon.svg");}::slotted(perspective-viewer){flex:1;position:relative;display:block;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%;overflow:visible!important;--close-button--display:flex;}::slotted(perspective-viewer.bookmarks-container:not([settings])){--status-ok-icon--mask-image:var(--bookmarks--mask-image)!important;--status-ok-icon--border-color:var(--inactive--color);--status-ok-icon--hover--border-color:var(--icon--color);--status-ok-icon--hover--background-color:var(--icon--color);--status-ok-icon--hover--color:var(--plugin--background);--status-ok-icon--cursor:pointer;--status-indicator--pointer-events:all;}::slotted(perspective-viewer::part(status-indicator)){background-color:red;border:1px solid red;}::slotted(perspective-viewer:not(.widget-maximize)){--status-bar--padding:0 36px 0 8px;}:host-context(.lm-mod-override-cursor){cursor:grabbing!important;}:host-context(.lm-mod-override-cursor) ::slotted(perspective-viewer),.context-menu ::slotted(perspective-viewer){--override-content-pointer-events:none;}.lm-Menu{z-index:10000;position:absolute;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-Menu{font-size:12px;padding:8px;background-color:var(--plugin--background);color:var(--icon--color);border:1px solid var(--inactive--color);border-radius:3px;max-width:350px;top:0;left:0;}.lm-Menu.perspective-workspace-menu .lm-Menu-item{padding-left:37px!important;min-width:var(--min-width);}.lm-Menu-item.lm-mod-active{background-color:var(--icon--color);color:var(--plugin--background);}.lm-Menu-item.lm-mod-disabled{opacity:0.5;}.lm-Menu-itemIcon{width:24px;height:12px;margin-right:4px;}.lm-Menu-itemLabel{flex:1 1;padding:4px 2px 4px 2px;}.lm-Menu-itemMnemonic{text-decoration:underline;}.lm-Menu-itemShortcut{padding:4px 0px;}.lm-Menu-itemSubmenuIcon{width:24px;height:18px;}.lm-Menu-item{display:flex;align-items:center;outline:none;margin:0 -8px;padding:0 8px;}.lm-Menu-item[data-type="separator"]>div{padding:0;height:9px;}.lm-Menu-item[data-type="separator"]>div::after{content:"";display:block;position:relative;top:4px;border-top:1px solid;}.lm-MenuBar-menu{transform:translateY(-1px);}.lm-MenuBar-item{padding:10px 32px;border-left:1px solid transparent;border-right:1px solid transparent;color:#737373!important;}.lm-MenuBar-item.lm-mod-active{background:rgba(0,0,0,0.2);}.lm-MenuBar.lm-mod-active .lm-MenuBar-item.lm-mod-active{z-index:10001;background:rgba(0,0,0,0.2);}.lm-Menu-itemIcon:before{content:attr(content);font-family:"ui-monospace","SFMono-Regular","SF Mono","Menlo","Consolas","Liberation Mono",monospace;}[data-type="submenu"] .lm-Menu-itemSubmenuIcon:before{content:">";font-family:"ui-monospace","SFMono-Regular","SF Mono","Menlo","Consolas","Liberation Mono",monospace;height:18px;}.lm-mod-drag-image.lm-TabBar-tab{display:none;}';var ap=Bt(ui(),1);var Cs={Config:"config",Label:"label"},LI="untitled",Ms=class extends jt.Renderer{maximized;constructor(e){super(),this.maximized=e}renderLabel(e){return _e.span({className:"lm-TabBar-tabLabel",id:Cs.Label},e.title.label||LI)}renderInert(){return _e.div()}renderTab(e,r){let s=e.title.caption,o=this.createTabKey(e),l=this.createTabStyle(e),c=this.createTabClass(e),d=this.createTabDataset(e),h=[];return r?(e.title.owner.setCallback(r),e.title.owner.addClass("bookmarks-container")):(e.title.owner.setCallback(void 0),e.title.owner.removeClass("bookmarks-container")),_e.li({key:o,className:c,title:s,style:l,dataset:d})}};var Yi=class extends $t{_host;_workspace;init_overlay;constructor(e,r,s){s.renderer=new Do,super(s),this._host=e,this._workspace=r,this._openChildMenu=this._overrideOpenChildMenu.bind(this)}open(e,r,s){s||={},s.host=this._host;let o=this._workspace.getBoundingClientRect();super.open(e,r,s);let l=this.node.getBoundingClientRect();l.height+r>o.height&&l.height+r<document.documentElement.clientHeight&&(this.node.style.top=`-${l.height}`),l.width+e>o.width&&(l.width+e<document.documentElement.clientWidth?this.node.style.left=`-${l.width+e-o.width}px`:this.node.style.left=`-${document.documentElement.clientWidth-o.width}px`)}_overrideOpenChildMenu(e=!1){let r=this,s=this.activeItem;if(!s||s.type!=="submenu"||!s.submenu){r._closeChildMenu();return}let o=s.submenu;if(o===r._childMenu)return;$t.saveWindowData(),r._closeChildMenu(),r._childMenu=o,r._childIndex=r._activeIndex,o._parentMenu=this,X.sendMessage(this,j.Msg.UpdateRequest);let l=this.contentNode.children[r._activeIndex];zI(o,l,r._host),e&&(o.activeIndex=-1,o.activateNextItem()),o.activate()}},Do=class extends $t.Renderer{formatLabel(e){let{label:r,mnemonic:s}=e.item;if(s<0||s>=r.length)return r;let o=r.slice(0,s),l=r.slice(s+1),c=r[s],d=_e.span({className:"lm-Menu-itemMnemonic p-Menu-itemMnemonic"},c);return[o,d,l]}renderLabel(e){let r=this.formatLabel(e);return _e.div({className:"lm-Menu-itemLabel p-Menu-itemLabel"},r)}renderSubmenu(e){return _e.div({className:"lm-Menu-itemSubmenuIcon p-Menu-itemSubmenuIcon"})}renderItem(e){let r=this.createItemClass(e),s=this.createItemDataset(e),o=this.createItemARIA(e);return _e.li({className:r,dataset:s,tabindex:"0",onfocus:e.onfocus,...o},this.renderLabel(e),this.renderShortcut(e),this.renderSubmenu(e))}};function zI(n,e,r){let s=DI(),o=s.pageXOffset,l=s.pageYOffset,c=s.clientWidth,d=s.clientHeight,h=r.host.getBoundingClientRect(),g=h.x,m=h.y;X.sendMessage(n,j.Msg.UpdateRequest);let p=d,v=n.node,b=v.style;b.opacity="0",b.maxHeight=`${p}px`,j.attach(n,r);let{width:_,height:y}=v.getBoundingClientRect(),C=Ce.boxSizing(n.node),E=e.getBoundingClientRect(),I=E.right-rp-g;I+_>o+c+g&&(I=E.left+rp-_);let M=E.top-C.borderTop-C.paddingTop-m;M+y>l+d+m&&(M=E.bottom+C.borderBottom+C.paddingBottom-y),b.transform=`translate(${Math.max(0,I)}px, ${Math.max(0,M)}px`,b.opacity="1"}var rp=3,BI=null,sp=0;function DI(){return sp>0?(sp--,BI):PI()}function PI(){return{pageXOffset:window.pageXOffset,pageYOffset:window.pageYOffset,clientWidth:document.documentElement.clientWidth,clientHeight:document.documentElement.clientHeight}}var Ts=class extends jt{_workspace;__content_node__;_menu;__titles;constructor(e,r={}){super(r),this._addEventListeners(),this.__content_node__=void 0,this._workspace=e,this.__titles=[]}get private_titles(){return this._titles}onUpdateRequest(e){this.__content_node__=this.contentNode,this.node.style.contain="";let r=this._titles,s=this.renderer,o=this.currentTitle,l=new Array;for(let c=0,d=r.length;c<d;++c){let h=r[c];h.owner._titlebar=this;let g=h===o,m=r.filter(v=>v!==o),p;m.length>0&&(p=this.onClick.bind(this,m,c)),g?l[c]=s.renderTab({title:h,zIndex:r.length+1,current:g},p):l[c]=s.renderInert()}Dt.render(l,this.contentNode),this._check_shade()}onClick(e,r,s){let o=new Mt;this._menu=new Yi(this._workspace.menu_elem.shadowRoot,this._workspace.element,{commands:o}),this._menu.addClass("perspective-workspace-menu"),this._menu.dataset.minwidth=this.__titles[r];for(let d of e)this._menu.addItem({command:"tabbar:switch",args:{title:d}});o.addCommand("tabbar:switch",{execute:async({title:d})=>{let h=d,g=this.__titles.findIndex(m=>m===d);this.currentTitle=h,this.tabActivateRequested.emit({index:g,title:h})},label:({title:d})=>d.label||"untitled",mnemonic:0});let l=(s.target.shadowRoot?.querySelector("#status_reconnect")).getBoundingClientRect(),c=this._workspace.element.getBoundingClientRect();this._menu.open(l.x-c.x,l.y+l.height-c.y),this._menu.aboutToClose.connect(()=>{this._menu=void 0}),s.preventDefault(),s.stopPropagation()}_check_shade(){Array.from(this.contentNode.children).filter(e=>e.classList.contains("settings_open")&&e.classList.contains("lm-mod-current")).length>0?this.contentNode.classList.add("inactive-blur"):this.contentNode.classList.remove("inactive-blur")}handleEvent(e){switch(this._menu?.close(),this.retargetEvent(e),e.type){case"contextmenu":let r=this.currentTitle?.owner,s=r.parent;for(;s&&!(s instanceof Xi);)s=s.parent;s.showContextMenu(r,e),e.shiftKey||e.preventDefault();break;case"mousedown":if(e.target.id===Cs.Label)return;break;case"pointerdown":if(e.target.id===Cs.Label){let o=this.contentNode.children,l=ap.ArrayExt.findFirstIndex(o,d=>Ce.hitTest(d,e.clientX,e.clientY));if(l<0)break;let c=this.titles[l];this._workspace._maximize(c.owner),requestAnimationFrame(()=>c.owner.viewer.toggleConfig());return}break}super.handleEvent(e)}retargetEvent(e){return Object.defineProperty(e,"target",{value:e.composedPath()[0],enumerable:!0}),e}_addEventListeners(){this.node.addEventListener("dblclick",this),this.node.addEventListener("contextmenu",this)}};var Po=class extends Ki.Renderer{_workspace;constructor(e){super(),this._workspace=e}createTabBar(){let e=new Ts(this._workspace,{renderer:new Ms(!1)});return e.addClass("lm-DockPanel-tabBar"),e}},Qt=class n extends Ki{_workspace;constructor(e){super({renderer:new Po(e)}),this._renderer.dock=this,this._workspace=e}_onTabDetachRequested(e,r){super._onTabDetachRequested(e,r);let s=e.titles[r.index].owner,o=this.layout,l=o.saveLayout();Array.from(o.widgets()).length>1&&o.removeWidget(s),s.addClass("widget-blur"),document.body.classList.add("lm-mod-override-cursor");let c=this._drag;c&&(c.dragImage?.parentElement?.removeChild?.(c.dragImage),c.dragImage=null,c._promise.then(()=>{s.node.isConnected||o.restoreLayout(l),document.body.classList.remove("lm-mod-override-cursor"),s.removeClass("widget-blur")}))}static getWidgets(e){return e.main?n.getAreaWidgets(e.main):[]}static getAreaWidgets(e){return e?.hasOwnProperty("children")?e.children.flatMap(s=>n.getAreaWidgets(s)):e?.hasOwnProperty("widgets")?e.widgets:[]}widgets(){return super.widgets()}static async mapWidgets(e,r){return r.main&&(r.main=await n.mapAreaWidgets(e,r.main)),r}static async mapAreaWidgets(e,r){if(r.hasOwnProperty("children")){let s=r;s.children=await Promise.all(s.children.map(o=>n.mapAreaWidgets(e,o)))}else if(r.hasOwnProperty("widgets")){let s=r;s.widgets=await Promise.all(s.widgets.map(e))}return r}onAfterAttach(){this.spacing=parseInt(window.getComputedStyle(this._workspace.element).getPropertyValue("--workspace-spacing"))||0}};var op=(n,e)=>{let r=new Mt;return r.addCommand("workspace:export",{execute:async s=>{let o=document.createElement("perspective-export-menu");n.apply_indicator_theme();let l=n.getWidgetByName(s.widget_name);o.__set_model(l.viewer.__get_model()),o.open(e),n.get_context_menu()?.init_overlay?.(),o.addEventListener("blur",()=>{n.get_context_menu().aboutToClose.emit({})})},isEnabled:s=>{if(n.get_context_menu()?.node.isConnected){let o=n.get_context_menu()?.node.getBoundingClientRect();o&&(e.style.top=o.top+"px",e.style.left=o.left+"px")}return!0},label:"Export",mnemonic:0}),r.addCommand("workspace:copy",{execute:async s=>{let o=document.createElement("perspective-copy-menu");n.apply_indicator_theme();let l=n.getWidgetByName(s.widget_name);o.__set_model(l.viewer.__get_model()),o.open(e),n.get_context_menu()?.init_overlay?.(),o.addEventListener("blur",()=>{n.get_context_menu()?.aboutToClose?.emit({})})},isEnabled:s=>{if(n.get_context_menu()?.node.isConnected){let o=n.get_context_menu()?.node.getBoundingClientRect();o&&(e.style.top=o.top+"px",e.style.left=o.left+"px")}return!0},label:"Copy",mnemonic:0}),r.addCommand("workspace:new",{execute:async s=>{let o=await n._createWidgetAndNode({config:{table:s.table},slot:void 0});n.get_dock_panel().addWidget(o,{mode:"split-right",ref:n.getWidgetByName(s.widget_name)})},label:s=>s.table}),r.addCommand("workspace:newview",{execute:async s=>{let o=n.getWidgetByName(s.widget_name),c=await n.getWidgetByName(s.target_widget_name).save(),d=await n._createWidgetAndNode({config:c,slot:void 0});n.get_dock_panel().addWidget(d,{mode:"split-right",ref:o})},isVisible:s=>n.getWidgetByName(s.target_widget_name).title.label!=="",label:s=>n.getWidgetByName(s.target_widget_name).title.label||"untitled"}),r.addCommand("workspace:reset",{execute:s=>{n.getWidgetByName(s.widget_name).viewer.reset()},label:"Reset",mnemonic:0}),r.addCommand("workspace:settings",{execute:async({widget_name:s})=>{let o=n.getWidgetByName(s);if(!o)throw new Error(`No widget ${s}`);requestAnimationFrame(()=>o.viewer.toggleConfig())},isVisible:s=>n.getWidgetByName(s.widget_name)?.parent===n.get_dock_panel(),label:s=>n.getWidgetByName(s.widget_name).viewer.hasAttribute("settings")?"Close Settings":"Open Settings",mnemonic:0}),r.addCommand("workspace:duplicate",{execute:({widget_name:s})=>n.duplicate(n.getWidgetByName(s)),isVisible:s=>n.getWidgetByName(s.widget_name)?.parent===n.get_dock_panel(),label:"Duplicate",mnemonic:0}),r.addCommand("workspace:master",{execute:s=>n.toggleMasterDetail(n.getWidgetByName(s.widget_name)),isVisible:s=>!!n.getWidgetByName(s.widget_name)?._is_pivoted,label:s=>n.getWidgetByName(s.widget_name).parent===n.get_dock_panel()?"Create Global Filter":"Remove Global Filter",mnemonic:0}),r.addCommand("workspace:close",{execute:s=>{n.getWidgetByName(s.widget_name).close()},label:()=>"Close",mnemonic:0}),r.addCommand("workspace:help",{execute:()=>{},label:"Shift+Click for Browser Menu",isEnabled:()=>!1}),r};var hr=class extends j{viewer;_title;_is_pivoted;_restore_config;_onAttach;_titlebar;_deleted;_titlebar_callback;constructor({viewer:e,node:r,onAttach:s}){super({node:r}),this.viewer=e,this._title="",this._is_pivoted=!1,this._onAttach=s,this._deleted=!1}get name(){return this._title}toggleConfig(){return this.viewer.toggleConfig()}async load(e){let r=[this.viewer.load(e)];this._restore_config&&r.push(this._restore_config()),await Promise.all(r)}restore(e){return this._title=e.title,this.title.label=e.title,this._is_pivoted=(e.group_by?.length||0)>0,this.viewer.restore({...e})}async save(){let e={...await this.viewer.save()};return delete e.settings,e}addClass(e){super.addClass(e),this.viewer?.classList?.add?.(e)}removeClass(e){super.removeClass(e),this.viewer?.classList?.remove?.(e)}setCallback(e){this._titlebar_callback=e}onAfterAttach(e){super.onAfterAttach(e),this._onAttach?.()}onCloseRequest(e){return super.onCloseRequest(e),(async()=>{this.viewer.parentElement&&this.viewer.parentElement.removeChild(this.viewer),this._deleted||(await this.viewer.delete(),this._deleted=!0)})()}};var Wo=class{_lock;constructor(){this._lock=null}lock(e){return this._lock!==null?this._lock.then(()=>this.lock(e)):(this._lock=new Promise((r,s)=>e().then(o=>{this._lock=null,r(o)}).catch(o=>{this._lock=null,s(o)})),this._lock)}},Ro=[1,3],dp=0;function cp(n){let e=`PERSPECTIVE_GENERATED_ID_${dp++}`;return Object.keys(n.viewers).includes(e)&&(e=cp(n)),e}function RI(n,e,r){function o(l){let c=l.reduce((d,h)=>d+h,0);return c===1?l:l.map(d=>d/c)}if(n.detail.main===null)return{sizes:n.sizes,viewers:{...n.viewers,[r]:e},detail:{main:{type:"split-area",sizes:[1],orientation:"horizontal",children:[{type:"tab-area",currentIndex:0,widgets:[r]}]}},master:n.master};if(n.detail.main.type==="tab-area"||n.detail.main.type==="split-area"&&n.detail.main.orientation==="vertical")return{sizes:n.sizes,viewers:{...n.viewers,[r]:e},detail:{main:{type:"split-area",sizes:[.5,.5],orientation:"horizontal",children:[n.detail.main,{type:"tab-area",currentIndex:0,widgets:[r]}]}},master:n.master};if(n.detail.main.type==="split-area"&&n.detail.main.orientation==="horizontal")return{sizes:n.sizes,viewers:{...n.viewers,[r]:e},detail:{main:{type:"split-area",sizes:o([...o(n.detail.main.sizes),.618]),orientation:"horizontal",children:[...n.detail.main.children,{type:"tab-area",currentIndex:0,widgets:[r]}]}},master:n.master};throw new Error("Unknown workspace state")}var Xi=class extends Zt{dockpanel;detailPanel;masterPanel;client;element;menu_elem;listeners;indicator;commands;_menu;_minimizedLayoutSlots;_minimizedLayout;_maximizedWidget;_last_updated_state;_mutex;constructor(e){super({orientation:"horizontal"}),this.addClass("perspective-workspace"),this.dockpanel=new Qt(this),this.detailPanel=new vn,this.detailPanel.layout.fitPolicy="set-no-constraint",this.detailPanel.addClass("perspective-scroll-panel"),this.detailPanel.addWidget(this.dockpanel),this.masterPanel=new Zt({orientation:"vertical"}),this.masterPanel.addClass("master-panel"),this._mutex=new Wo,this.dockpanel.layoutModified.connect(()=>{this.workspaceUpdated()}),this.addWidget(this.detailPanel),this.element=e,this.listeners=new WeakMap,this.client=[],this.indicator=this.init_indicator(),this.commands=op(this,this.indicator),this.menu_elem=document.createElement("perspective-workspace-menu"),this.menu_elem.attachShadow({mode:"open"}),this.menu_elem.shadowRoot.innerHTML=`<style>:host{position:absolute;}${np}</style>`,this.element.shadowRoot.insertBefore(this.menu_elem,this.element.shadowRoot.lastElementChild),e.addEventListener("contextmenu",r=>this.showContextMenu(null,r))}get_context_menu(){return this._menu}get_dock_panel(){return this.dockpanel}init_indicator(){let e=document.querySelector("body > perspective-indicator");if(e)return e;let r=document.createElement("perspective-indicator");return r.style.position="fixed",r.style.pointerEvents="none",document.body.appendChild(r),r}apply_indicator_theme(){let e=JSON.parse(window.getComputedStyle(this.element).getPropertyValue("--theme-name").trim());this.indicator.setAttribute("theme",e)}async save(){return await this._mutex.lock(async()=>{let e=this.dockpanel.mode==="single-document",r=e?await this._minimizedLayoutSlots:await Qt.mapWidgets(async l=>l.viewer.getAttribute("slot"),this.dockpanel.saveLayout()),s={sizes:[...this.relativeSizes()],detail:r,viewers:{},master:void 0};if(this.masterPanel.isAttached){let l={widgets:this.masterPanel.widgets.map(c=>c.viewer.getAttribute("slot")),sizes:[...this.masterPanel.relativeSizes()]};s.master=l}for(let l of this.masterPanel.widgets){let c=l;s.viewers[c.viewer.getAttribute("slot")]=await c.save()}let o=Qt.getWidgets(e?this._minimizedLayout:this.dockpanel.saveLayout());return await Promise.all(o.map(async l=>{let c=l,d=c.viewer.getAttribute("slot");s.viewers[d]=await c.save(),s.viewers[d].settings=!1})),s})}async restore(e){await this._mutex.lock(async()=>{let{sizes:r,master:s,detail:o,viewers:l={}}=structuredClone(e);s&&s.widgets.length>0?this.setupMasterPanel(r||Ro):(this.masterPanel.isAttached&&(this.detailPanel.removeClass("has-master-panel"),this.masterPanel.close()),this.addWidget(this.detailPanel));let c=[];for(let d of this._capture_viewers())for(let h of this._capture_widgets()){for(let m of d)m.removeAttribute("class");let g=this._restore_callback.bind(this,l,d,h);if(o){let m=await Qt.mapWidgets(p=>g.bind(this,!1)(p),o);this.dockpanel.mode="multiple-document",this.dockpanel.restoreLayout(m),c=c.concat(Qt.getWidgets(m).map(p=>p.viewer.flush()))}if(s){let m=[],p=[];s.widgets.map(v=>(p.push(v),m.push(g.bind(this,!0)(v)),v)),c.push(Promise.all(m).then(v=>{s.widgets=s.widgets.map(b=>{let _=p.indexOf(b);return v[_]})})),s.sizes&&this.masterPanel.setRelativeSizes(s.sizes)}}await Promise.all(c)})}*_capture_widgets(){let e=this.getAllWidgets();yield e;for(let r of e)r.node.isConnected||r.close()}*_capture_viewers(){let e=Array.from(this.element.children);yield e;let r=this.getAllWidgets();for(let s of e)!r.find(l=>l.viewer===s)&&Array.from(this.element.children).indexOf(s)>-1&&(this.element.removeChild(s),s.delete(),s.free())}async _restore_callback(e,r,s,o,l){let c;c=e[l];let d=!!l&&r.find(g=>g.getAttribute("slot")===l),h;if(d)h=s.find(g=>g.viewer===d),h?await h.restore({...c}):h=await this._createWidget({config:{...c},viewer:d});else if(c)h=await this._createWidgetAndNode({config:{...c},slot:l});else throw new Error(`Could not find or create <perspective-viewer> for slot "${l}"`);return o&&(h.viewer.classList.add("workspace-master-widget"),h.viewer.toggleAttribute("selectable",!0),h.viewer.addEventListener("perspective-select",this.onPerspectiveSelect.bind(this)),this.masterPanel.addWidget(h)),h}_validate(e){if(!e||!("view"in e)||typeof e?.view!="function")throw new Error("Only `perspective.Table()` instances can be added to `tables`");return e}_set_listener(e,r){r instanceof Promise?r=r.then(this._validate):this._validate(r)}_delete_listener(e){this.getAllWidgets().some(r=>{let s=r;s.viewer.getAttribute("table")===e&&s.viewer.eject()})}async update_widget_for_viewer(e){let r=e.getAttribute("slot");if(r||(r=this._gen_id(),e.setAttribute("slot",r)),e.getAttribute("table")){if(!this.node.querySelector(`slot[name=${r}]`)){console.warn(`Undocked ${e.outerHTML}, creating default layout`);let l=await this._createWidget({viewer:e});this.dockpanel.addWidget(l),this.dockpanel.activateWidget(l)}}else console.warn(`No table set for ${e.outerHTML}`)}remove_unslotted_widgets(e){let r=this.getAllWidgets();for(let s of r){let o=s;e.indexOf(o.viewer)===-1&&o.close()}}update_details_panel(e){this.masterPanel.widgets.length===0&&this.masterPanel.close()}async duplicate(e){if(this.dockpanel.mode==="single-document"){let o=await this._maximizedWidget.viewer.toggleConfig(!1);this._unmaximize()}let r=await e.save();r.settings=!1,r.title=r.title?`${r.title} (*)`:"";let s=await this._createWidgetAndNode({config:r,slot:void 0});this.dockpanel.addWidget(s,{mode:"split-right",ref:e}),await s.viewer.flush()}toggleMasterDetail(e){let r=e.parent!==this.dockpanel;this.element.dispatchEvent(new CustomEvent("workspace-toggle-global-filter",{detail:{widget:e,isGlobalFilter:!r}})),r?this.makeDetail(e):(this.dockpanel.mode==="single-document"&&this.toggleSingleDocument(e),this.makeMaster(e))}_maximize(e){e.viewer.classList.add("widget-maximize"),this._minimizedLayout||(this._minimizedLayout=this.dockpanel.saveLayout(),this._minimizedLayoutSlots=Qt.mapWidgets(async r=>r.viewer.getAttribute("slot"),this.dockpanel.saveLayout())),this._maximizedWidget=e,this.dockpanel.mode="single-document",this.dockpanel.activateWidget(e)}_unmaximize(){this._maximizedWidget.viewer.classList.remove("widget-maximize"),this.dockpanel.mode="multiple-document",this.dockpanel.restoreLayout(this._minimizedLayout),this._minimizedLayout=void 0}toggleSingleDocument(e){this.dockpanel.mode!=="single-document"?this._maximize(e):this._unmaximize()}async _filterViewer(e,r,s){let o=await e.save(),l=await e.getTable(),c=Object.keys(await l.schema()),d=o.filter||[],h=p=>p[0]&&c.includes(p[0]),g=r.filter(h);g.push(...d.filter(p=>!s.has(p[0])));let m=(0,lp.default)(g,p=>p[0]);await e.restore({filter:m})}async onPerspectiveSelect(e){let r=await e.target.save(),s=new Set([...r.group_by||[],...r.split_by||[],...(r.filter||[]).map(l=>l[0])]),o=[...e.detail.config.filter];(0,fr.toArray)(this.dockpanel.widgets()).forEach(l=>{this._filterViewer(l.viewer,o,s)})}async makeMaster(e){e.viewer.hasAttribute("settings")&&await e.toggleConfig(),e.viewer.classList.add("workspace-master-widget"),e.viewer.toggleAttribute("selectable",!0),this.masterPanel.isAttached||(this.detailPanel.close(),this.setupMasterPanel(Ro)),this.masterPanel.addWidget(e),e.isHidden&&e.show(),e.viewer.restyleElement(),e.viewer.addEventListener("perspective-select",this.onPerspectiveSelect.bind(this))}makeDetail(e){e.viewer.classList.remove("workspace-master-widget"),e.viewer.toggleAttribute("selectable",!1),this.dockpanel.addWidget(e,{mode:"split-left"}),this.masterPanel.widgets.length===0&&(this.detailPanel.close(),this.masterPanel.close(),this.detailPanel.removeClass("has-master-panel"),this.addWidget(this.detailPanel)),e.viewer.restyleElement(),e.viewer.removeEventListener("perspective-select",this.onPerspectiveSelect.bind(this))}createContextMenu(e){this._menu=new Yi(this.menu_elem.shadowRoot,this.element,{commands:this.commands});let r=(0,fr.find)(this.dockpanel.tabBars(),s=>s.currentTitle?.owner===e);if(this._menu.init_overlay=()=>{e&&(e.addClass("context-focus"),e.viewer.classList.add("context-focus"),r&&r.node.classList.add("context-focus"),this.element.classList.add("context-menu"),this.addClass("context-menu"),e.viewer.classList.contains("workspace-master-widget")?this._menu.node.classList.add("workspace-master-menu"):this._menu.node.classList.remove("workspace-master-menu"))},(e?.parent===this.dockpanel||e===null)&&this._menu.addItem({type:"submenu",command:"workspace:newmenu",submenu:(()=>{let s=new Yi(this.menu_elem.shadowRoot,this.element,{commands:this.commands});(async()=>{let c=await Promise.all(this.client.map(d=>d.get_hosted_table_names())).then(d=>d.flat());for(let d of c){let h;e!==null?h={table:d,widget_name:e.viewer.getAttribute("slot")}:h={table:d},s.insertItem(0,{command:"workspace:new",args:h})}})();let o=Qt.getWidgets(this.dockpanel.saveLayout());o.length>0&&s.addItem({type:"separator"});let l=new Set;for(let c of o)if(!l.has(c.title.label)){let d;e!==null?d={target_widget_name:c.viewer.getAttribute("slot"),widget_name:e.viewer.getAttribute("slot")}:d={target_widget_name:c.viewer.getAttribute("slot")},s.addItem({command:"workspace:newview",args:d}),l.add(c.title.label)}return s.title.label="New Table",s})()}),e){let s=e.viewer.getAttribute("slot");e?.parent===this.dockpanel&&this._menu.addItem({type:"separator"}),this._menu.addItem({command:"workspace:duplicate",args:{widget_name:s}}),this._menu.addItem({command:"workspace:master",args:{widget_name:s}}),this._menu.addItem({type:"separator"}),this._menu.addItem({command:"workspace:settings",args:{widget_name:s}}),this._menu.addItem({command:"workspace:reset",args:{widget_name:s}}),this._menu.addItem({command:"workspace:export",args:{widget_name:s}}),this._menu.addItem({command:"workspace:copy",args:{widget_name:s}}),this._menu.addItem({type:"separator"}),this._menu.addItem({command:"workspace:close",args:{widget_name:s}}),this._menu.addItem({command:"workspace:help"})}return this._menu.aboutToClose.connect(()=>{e&&(this.element.classList.remove("context-menu"),this.removeClass("context-menu"),e.removeClass("context-focus"),r?.node?.classList.remove("context-focus"))}),this._menu}showContextMenu(e,r){if(!r.shiftKey){let s=this.createContextMenu(e);s.init_overlay?.();let o=this.element.getBoundingClientRect();s.open(r.clientX-o.x,r.clientY-o.y,{host:this.menu_elem.shadowRoot}),r.preventDefault(),r.stopPropagation()}}clearLayout(){this.getAllWidgets().forEach(e=>e.close()),this.widgets.forEach(e=>e.close()),this.detailPanel.close(),this.masterPanel.isAttached&&(this.detailPanel.removeClass("has-master-panel"),this.masterPanel.close())}setupMasterPanel(e){this.detailPanel.addClass("has-master-panel"),this.addWidget(this.masterPanel),this.addWidget(this.detailPanel),this.setRelativeSizes(e)}async addViewer(e,r){await this._mutex.lock(async()=>{if(this.dockpanel.mode==="single-document"){let o=this._maximizedWidget.viewer.toggleConfig(!1);this._unmaximize()}let s=await this._createWidgetAndNode({config:e});r?(this.masterPanel.isAttached||this.setupMasterPanel(Ro),this.masterPanel.addWidget(s)):(this.detailPanel.isAttached||this.addWidget(this.detailPanel),this.dockpanel.addWidget(s,{mode:"split-right"})),this.update()})}async _createWidgetAndNode({config:e,slot:r}){let s=this._createNode(r),o=e.table,l=document.createElement("perspective-viewer");l.setAttribute("slot",s.querySelector("slot").getAttribute("name")),o&&l.setAttribute("table",o);for(let c of this.client){let d=await c.get_hosted_table_names();if(o&&d.indexOf(o)>-1)return await l.load(c),await this._createWidget({config:e,elem:s,viewer:l})}throw new Error(`Table "${o}" not found`)}_gen_id(){let e=`PERSPECTIVE_GENERATED_ID_${dp++}`;return this.element.querySelector(`[slot=${e}]`)&&(e=this._gen_id()),e}_createNode(e){let r=this.node.querySelector(`slot[name=${e}]`);if(e===void 0||!r){let s=document.createElement("slot");e=e||this._gen_id(),s.setAttribute("name",e);let o=document.createElement("div");o.classList.add("viewer-container"),o.appendChild(s),r=document.createElement("div"),r.classList.add("workspace-widget"),r.appendChild(o)}else r=r.parentElement.parentElement;return r}async _createWidget({config:e,elem:r,viewer:s}){let o=r;if(!o){let d=s.getAttribute("slot")||void 0;o=this.node.querySelector(`slot[name=${d}]`),o?o=o.parentElement.parentElement:o=this._createNode(d)}let l=()=>{c.viewer.parentElement!==this.element&&this.element.appendChild(c.viewer);let d=new CustomEvent("workspace-new-view",{detail:{config:e,widget:c}});this.element.dispatchEvent(d)},c=new hr({node:o,viewer:s,onAttach:l});return e&&await c.restore(e),c.title.closable=!0,this._addWidgetEventListeners(c),c}_addWidgetEventListeners(e){this.listeners.has(e)&&this.listeners.get(e)();let r=h=>this.showContextMenu(e,h),s=async h=>{this.workspaceUpdated();let g=typeof h.detail>"u"?await e.viewer.save():h.detail;e.title.label=g.title,e._title=g.title,e._is_pivoted=g.group_by?.length>0};e.node.addEventListener("contextmenu",r);let o=h=>{h.detail&&this.dockpanel.mode!=="single-document"&&this._maximize(e)},l=h=>{!h.detail&&this.dockpanel.mode==="single-document"&&this._unmaximize()};e.viewer.addEventListener("perspective-status-indicator-click",h=>{e._titlebar_callback?.(h)}),e.viewer.addEventListener("perspective-toggle-settings-before",o),e.viewer.addEventListener("perspective-toggle-settings",l);let c=()=>{e._deleted||(e._deleted=!0,e.close())},d=h=>{e._titlebar?.handleEvent(h.detail)};e.viewer.addEventListener("perspective-table-delete-before",c),e.viewer.addEventListener("perspective-statusbar-pointerdown",d),e.viewer.addEventListener("perspective-config-update",s),this.listeners.set(e,()=>{e.node.removeEventListener("contextmenu",r),e.viewer.removeEventListener("perspective-table-delete-before",c),e.viewer.removeEventListener("perspective-table-delete",d),e.viewer.removeEventListener("perspective-toggle-settings",o),e.viewer.removeEventListener("perspective-toggle-settings",l),e.viewer.removeEventListener("perspective-config-update",s)})}getWidgetByName(e){return this.getAllWidgets().find(r=>r.viewer.getAttribute("slot")===e)||null}getAllWidgets(){return[...this.masterPanel.widgets,...(0,fr.toArray)(this.dockpanel.widgets())]}_throttle;async workspaceUpdated(){let e=await this.save();if(e){if(this._last_updated_state&&(0,up.isEqual)(this._last_updated_state,e))return;this._last_updated_state=e,this.element.dispatchEvent(new CustomEvent("workspace-layout-update",{detail:{layout:e}}))}}};function WI(n){let e=document.createElement("div");return e.innerHTML=n,Array.prototype.slice.call(e.children)[0]}function OI(n,e,r){let s=WI(n);e&&(s.innerHTML=`<style>${e.toString()}</style>`+s.innerHTML);let o=class extends r{_initialized;_initializing;constructor(){super(),this._initialized=!1,this._initializing=!1}connectedCallback(){if(this._initialized)return;this._initializing=!0;let c=document.importNode(s.content,!0);this.attachShadow({mode:"open"}).appendChild(c),r.prototype.connectedCallback&&r.prototype.connectedCallback.call(this),this._initializing=!1,this._initialized=!0}static get observedAttributes(){return Object.getOwnPropertyNames(r.prototype)}},l=s.getAttribute("id");window.customElements.define(l,o)}function hp(n,...e){let r=e.map(s=>s.toString()).join(`
21
21
  `);return function(s){return OI(n,r,s)}}var fp=`.lm-Widget{box-sizing:border-box;position:relative;}.lm-Widget.lm-mod-hidden{display:none!important;}.lm-AccordionPanel[data-orientation='horizontal']>.lm-AccordionPanel-title{display:block;transform-origin:top left;transform:rotate(-90deg) translate(-100%);}.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:normal;font-size:12px;cursor:pointer;}.lm-DockPanel{z-index:0;}.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:translateX(-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;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:translateX(-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{user-select:all;width:100%;box-sizing:border-box;}.lm-TabBar-tab.lm-mod-hidden{display:none!important;}.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 150ms ease;}.lm-TabBar.lm-mod-dragging[data-orientation='vertical'] .lm-TabBar-tab{top:0;transition:top 150ms ease;}.lm-TabBar.lm-mod-dragging .lm-TabBar-tab.lm-mod-dragging{transition:none;}.lm-TabBar-tabLabel .lm-TabBar-tabInput{user-select:all;width:100%;box-sizing:border-box;background:inherit;}.lm-TabPanel-tabBar{z-index:1;}.lm-TabPanel-stackedPanel{z-index:0;}::slotted(.workspace-master-widget){--status-bar--display:none;--config-button-icon--content:var(--open-settings-button--content,"\\1F527")!important;}.workspace-master-widget[settings]{--config-button-icon--content:var(--close-settings-button--content,"\\1F527")!important;}.widget-maximize:not(.workspace-master-widget){--config-button-icon--content:var(--open-settings-button--content,"\\1F527")!important;}.widget-maximize[settings]:not(.workspace-master-widget){--config-button-icon--content:var(--close-settings-button--content,"\\1F527")!important;}.lm-DockPanel-widget{border:1px solid#eaeaea;border-width:0px!important;min-width:300px;min-height:200px;}.workspace-master-widget:not{--config-button-icon--content:""!important;}.context-menu>perspective-viewer.context-focus{opacity:1;filter:none;}.context-menu>perspective-viewer{filter:saturate(0);}.context-menu>perspective-viewer>*{pointer-events:none;}:host{--bookmarks--mask-image:url("../svg/bookmark-icon.svg");}::slotted(perspective-viewer){flex:1;position:relative;display:block;align-items:center;justify-content:center;flex-direction:column;width:100%;height:100%;overflow:visible!important;--close-button--display:flex;}::slotted(perspective-viewer.bookmarks-container:not([settings])){--status-ok-icon--mask-image:var(--bookmarks--mask-image)!important;--status-ok-icon--border-color:var(--inactive--color);--status-ok-icon--hover--border-color:var(--icon--color);--status-ok-icon--hover--background-color:var(--icon--color);--status-ok-icon--hover--color:var(--plugin--background);--status-ok-icon--cursor:pointer;--status-indicator--pointer-events:all;}::slotted(perspective-viewer::part(status-indicator)){background-color:red;border:1px solid red;}::slotted(perspective-viewer:not(.widget-maximize)){--status-bar--padding:0 36px 0 8px;}:host-context(.lm-mod-override-cursor){cursor:grabbing!important;}:host-context(.lm-mod-override-cursor) ::slotted(perspective-viewer),.context-menu ::slotted(perspective-viewer){--override-content-pointer-events:none;}.lm-Menu{font-size:12px;padding:8px;background-color:var(--plugin--background);color:var(--icon--color);border:1px solid var(--inactive--color);border-radius:3px;max-width:350px;top:0;left:0;}.lm-Menu.perspective-workspace-menu .lm-Menu-item{padding-left:37px!important;min-width:var(--min-width);}.lm-Menu-item.lm-mod-active{background-color:var(--icon--color);color:var(--plugin--background);}.lm-Menu-item.lm-mod-disabled{opacity:0.5;}.lm-Menu-itemIcon{width:24px;height:12px;margin-right:4px;}.lm-Menu-itemLabel{flex:1 1;padding:4px 2px 4px 2px;}.lm-Menu-itemMnemonic{text-decoration:underline;}.lm-Menu-itemShortcut{padding:4px 0px;}.lm-Menu-itemSubmenuIcon{width:24px;height:18px;}.lm-Menu-item{display:flex;align-items:center;outline:none;margin:0 -8px;padding:0 8px;}.lm-Menu-item[data-type="separator"]>div{padding:0;height:9px;}.lm-Menu-item[data-type="separator"]>div::after{content:"";display:block;position:relative;top:4px;border-top:1px solid;}.lm-MenuBar-menu{transform:translateY(-1px);}.lm-MenuBar-item{padding:10px 32px;border-left:1px solid transparent;border-right:1px solid transparent;color:#737373!important;}.lm-MenuBar-item.lm-mod-active{background:rgba(0,0,0,0.2);}.lm-MenuBar.lm-mod-active .lm-MenuBar-item.lm-mod-active{z-index:10001;background:rgba(0,0,0,0.2);}.lm-Menu-itemIcon:before{content:attr(content);font-family:"ui-monospace","SFMono-Regular","SF Mono","Menlo","Consolas","Liberation Mono",monospace;}[data-type="submenu"] .lm-Menu-itemSubmenuIcon:before{content:">";font-family:"ui-monospace","SFMono-Regular","SF Mono","Menlo","Consolas","Liberation Mono",monospace;height:18px;}.lm-mod-drag-image.lm-TabBar-tab{display:none;}:host .lm-TabBar-tabLabel{background-color:transparent;border:none;color:var(--icon--color,#666);cursor:pointer;padding:0px 6px;margin:0;margin-left:15.5px;margin-right:auto;flex:0 1 auto;border-radius:3px;}:host .lm-TabBar-tabLabel:hover{background-color:var(--icon--color);color:var(--plugin--background);}:host .lm-TabBar-tabLabel:focus{outline:none;color:var(--workspace-secondary--color,#666)!important;cursor:text;}:host .lm-TabBar-tab.lm-mod-closable>.lm-TabBar-tabCloseIcon:before{content:var(--close-button--content,"\\2715");}:host .lm-TabBar-tab>.lm-TabBar-tabConfigIcon:before{content:var(--open-settings-button--content,"\\1F527");font-family:var(--settings--font-family,"Arial");transition:color 0.5s ease;}:host .lm-TabBar-tab.lm-mod-current.settings_open>.lm-TabBar-tabConfigIcon:before{content:var(--close-settings-button--content,"\\1F527");}:host .lm-TabBar-tab.lm-mod-current.linked>.lm-TabBar-tabConfigIcon:before{color:#22a0ce;}:host .lm-TabBar-tab>.lm-TabBar-tabConfigIcon{opacity:0;pointer-events:none;}:host .lm-TabBar-tab.lm-mod-current>.lm-TabBar-tabConfigIcon{opacity:1;pointer-events:all;}:host .lm-mod-current .lm-TabBar-tabConfigIcon,:host .lm-mod-current .lm-TabBar-tabCloseIcon{color:inherit;transition:color 0.2s ease-out;}:host .lm-mod-current .lm-TabBar-tabConfigIcon:hover,:host .lm-mod-current .lm-TabBar-tabCloseIcon:hover{color:#1a7da1;transition:color 0.2s ease-out;}:host .lm-BoxPanel{overflow:scroll!important;}:host .lm-TabBar,:host .lm-TabBar-tab{position:relative;overflow:visible!important;}:host .lm-TabBar-tabLabel:empty::after{content:"untitled";color:#aaa;}:host .lm-mod-current .lm-TabBar-tabLabel:empty::after{color:#ddd;}:host .lm-TabBar-tabLabel:empty::after{content:"untitled";}:host .divider{left:32px;bottom:0;position:absolute;right:32px;height:1px;background-color:var(--workspace-tabbar--border-color);margin-bottom:0px;}:host .lm-TabBar-tab .drag-handle{pointer-events:all;height:12px;width:14px;-webkit-mask-image:var(--column-drag-handle--mask-image);mask-image:var(--column-drag-handle--mask-image);padding:12px 0 12px 12px;background-repeat:no-repeat;background-color:var(--icon--color,red);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:auto;mask-position:center;mask-repeat:no-repeat;}:host .lm-TabBar{pointer-events:none;}:host .lm-TabBar .lm-TabBar-tabCloseIcon{pointer-events:all;}:host .lm-TabBar .bookmarks-button{pointer-events:all;}:host .lm-TabBar-tab.lm-mod-hidden{display:flex!important;opacity:0.5;}:host .lm-TabBar-tab.lm-mod-current .divider{display:block;}:host .pfm-button-base{background:white!important;}:host .pfm-button-base:active{background:#016bc6!important;}:host .lm-TabBar-content{padding:0px;border-bottom:0px solid#fff!important;border-left:#eaeaea;border-right:#eaeaea;}:host .lm-TabBar-tab.lm-mod-current .shadow{margin:-1px;position:absolute;width:calc(100% + 2px);height:200%;pointer-events:none;left:0px;}:host .lm-TabBar-tab.lm-mod-current.settings_open .shadow{box-shadow:none;}:host .lm-TabBar-tab{border-color:#eaeaea;align-items:center;}:host .lm-TabBar-content.inactive-blur>.lm-TabBar-tab{background-color:var(--workspace-inactive-blur--background-color,transparent);}:host .condensed .lm-TabBar-content>.lm-TabBar-tab.lm-mod-current .lm-TabBar-tabConfigIcon{display:block;}:host .condensed .lm-TabBar-content>.lm-TabBar-tab.lm-mod-current.settings_open .lm-TabBar-tabLabel{margin-left:0px;}:host .lm-TabBar-content>.lm-TabBar-tab.lm-mod-current.settings_open{border-width:1px 1px 0px 1px!important;border-color:var(--workspace-tabbar--border-color,#ddd);}:host .lm-TabBar-content>.lm-TabBar-tab.lm-mod-current.settings_open .lm-TabBar-tabToolbar{display:flex;}:host .lm-TabBar-content>.lm-TabBar-tab.lm-mod-current.settings_open .divider{height:1px;margin-bottom:0px;background-color:var(--workspace-tabbar--border-color,#ddd);}:host .lm-TabBar-content>.lm-TabBar-tab.lm-mod-current.settings_open:last-child:first-child .divider{transition:none;}:host .lm-TabBar-content>.lm-TabBar-tab.lm-mod-current.perspective_updating .lm-TabBar-tabConfigIcon{display:none;}:host .lm-TabBar-content>.lm-TabBar-tab.lm-mod-current.perspective_updating .lm-TabBar-tabLoadingIcon{display:block;}:host .lm-TabBar-content>.lm-TabBar-tab{max-width:100000px!important;flex:0 1 100000px!important;background:none;color:#737373;height:40px!important;max-height:40px!important;margin-bottom:-40px;transform:none!important;transition:color 0.2s ease-out;color:#ccc;color:#ccc;}:host .lm-TabBar-content>.lm-TabBar-tab:hover{color:#ccc;}:host .lm-TabBar-content>.lm-TabBar-tab.lm-mod-current{color:var(--workspace-secondary--color,#666);}:host .lm-TabBar-tab.lm-mod-current .lm-TabBar-tabLabel{white-space:nowrap!important;}:host .lm-TabBar-tabLabel{font-family:inherit;font-size:12px;line-height:22px;text-align:start;white-space:normal!important;word-break:break-all;}:host .lm-TabBar-tabCloseIcon,:host .lm-TabBar-tabConfigIcon{cursor:pointer!important;line-height:22px!important;padding-right:16.5px!important;}:host .lm-TabBar-tabConfigIcon{padding-left:8px;padding-right:8px!important;}:host .lm-TabBar-tabLoadingIcon{padding-left:11px;padding-right:12px;}:host .bottom .lm-TabBar-tab{flex-basis:10000px!important;max-width:10000px!important;}:host .lm-TabBar-content>.lm-TabBar-tab.lm-mod-current{color:var(--workspace-tabbar--color,#666)!important;background:none;height:40px!important;max-height:40px!important;margin-bottom:-40px;border:0 solid transparent;border-width:1px 1px 0px 1px;}:host .bottom .lm-TabBar-tab.lm-mod-current{border:none;}:host ::-webkit-scrollbar-thumb{background-color:#ccc;}:host .perspective-workspace.context-menu * .lm-TabBar.context-focus{opacity:1;}:host .perspective-workspace.context-menu * .lm-TabBar,:host .perspective-workspace.context-menu .lm-Widget.workspace-widget:not(.context-focus) .viewer-container{opacity:0.2;}:host .bookmarks-button{margin-left:11px;margin-right:-13px;height:20px;border-radius:3px;border:1px solid var(--inactive--color);background-color:var(--plugin--background);}:host .bookmarks-button:hover{background-color:var(--icon--color);border-color:var(--icon--color);}:host .bookmarks{background-repeat:no-repeat;background-color:var(--icon--color);content:"";display:inline-block;-webkit-mask-size:cover;mask-size:cover;cursor:pointer;width:20px;height:12px;-webkit-mask-image:var(--bookmarks--mask-image);mask-image:var(--bookmarks--mask-image);-webkit-mask-position:center;mask-position:center;-webkit-mask-size:auto;mask-size:auto;-webkit-mask-repeat:no-repeat;mask-repeat:no-repeat;padding:4px 6px;}:host .bookmarks:hover{background-color:var(--plugin--background);}:host .lm-DockPanel{overflow:var(--dock-panel--overflow,hidden);position:absolute;background-color:var(--detail--background-color,transparent);padding:var(--workspace-spacing);top:0;left:0;right:0;bottom:0;}:host .lm-DockPanel[data-mode="single-document"]{padding:0px;}:host .lm-Widget,:host .lm-Widget{cursor:inherit;}:host .lm-DockPanel.ew,:host .lm-DockPanel.ew .lm-Widget,:host .lm-SplitPanel.ew,:host .lm-SplitPanel.ew .lm-Widget{cursor:ew-resize!important;}:host .lm-DockPanel.ns,:host .lm-DockPanel.ns .lm-Widget,:host .lm-SplitPanel.ns,:host .lm-SplitPanel.ns .lm-Widget{cursor:ns-resize!important;}:host .workspace-master-widget{min-width:100px!important;}:host .lm-DockPanel.resizing ::slotted(perspective-viewer),:host .lm-SplitPanel.resizing ::slotted(perspective-viewer){pointer-events:none;}:host .widget-blur ::slotted(perspective-viewer){opacity:0.5;}:host .lm-DockPanel-handle.resizing{background-color:rgba(0,0,0,0.05);}:host .perspective-scroll-panel{overflow:auto!important;}:host .lm-Panel{min-height:100%;}:host .lm-DockPanel-handle{background-color:none;}:host .lm-SplitPanel-handle{background-color:var(--workspace-split-panel-handle--background-color);}:host .lm-SplitPanel-handle,:host .lm-DockPanel-handle{transition:background-color 0.3s ease-out;}:host .lm-SplitPanel-handle:hover,:host .lm-DockPanel-handle:hover{background-color:rgba(0,0,0,0.05);}:host .lm-DockPanel-handle[data-orientation="horizontal"]{width:10px!important;margin-left:-5px;}:host .lm-DockPanel-handle[data-orientation="vertical"]{height:10px!important;margin-top:-5px;}:host .lm-DockPanel-overlay{background:rgba(75,75,75,0.2);border:1px dashed#666;border-radius:6px;transition-property:top,left,right,bottom;transition-duration:50ms;transition-timing-function:linear;margin:0px;}:host .lm-DockPanel:not([data-mode="single-document"]) .viewer-container{border:var(--workspace-tabbar--border,1px solid var(--inactive--color));border-width:var(--workspace-tabbar--border-width);border-radius:var(--workspace-tabbar--border-radius,6px) var(--workspace-tabbar--border-radius,6px) var(--workspace-tabbar--border-radius,6px) var(--workspace-tabbar--border-radius,6px);}:host .viewer-container{flex:1;height:100%;overflow:hidden;}:host .perspective-scroll-panel .workspace-widget{min-width:300px;min-height:200px;}:host .workspace-widget{display:flex;flex-direction:column;border:1px solid#eaedef;border-width:0px!important;}:host{--workspace-spacing:3px;}:host .workspace{width:100%;height:100%;}:host .lm-SplitPanel{height:100%;width:100%;}:host div.lm-SplitPanel-handle{background-color:var(--workspace-split-panel-handle--background-color);}:host .master-panel{background-color:var(--workspace-master--background-color,inherit);padding:0px 0px 0px 0px;}:host .master-panel .viewer-container{border-width:0px;}:host .perspective-workspace.context-menu * .lm-SplitPanel-handle{opacity:0.2;}:host .perspective-workspace.context-menu>.lm-SplitPanel-handle{opacity:0.2;}:host .context-menu .lm-TabBar:not(.context-focus){pointer-events:none;}`;var mp=`<!--
22
22
 
23
23
  Copyright (c) 2017, the Perspective Authors.