jbrowse-plugin-msaview 2.2.7 → 2.2.11
This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
- package/dist/BgzipFastaMsaAdapter/configSchema.d.ts +2 -2
- package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.js +1 -1
- package/dist/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.js.map +1 -1
- package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js +2 -2
- package/dist/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.js +29 -6
- package/dist/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js +16 -6
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.js +2 -2
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastMethodSelector.js +3 -2
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastMethodSelector.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.js +7 -3
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.d.ts +10 -0
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.js +77 -0
- package/dist/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.js.map +1 -0
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js +1 -1
- package/dist/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.js.map +1 -1
- package/dist/LaunchMsaView/components/TranscriptSelector.d.ts +2 -1
- package/dist/LaunchMsaView/components/TranscriptSelector.js +7 -6
- package/dist/LaunchMsaView/components/TranscriptSelector.js.map +1 -1
- package/dist/LaunchMsaView/components/useTranscriptSelection.js +13 -7
- package/dist/LaunchMsaView/components/useTranscriptSelection.js.map +1 -1
- package/dist/LaunchMsaView/util.d.ts +2 -0
- package/dist/LaunchMsaView/util.js +18 -2
- package/dist/LaunchMsaView/util.js.map +1 -1
- package/dist/MsaViewPanel/doLaunchBlast.js +36 -15
- package/dist/MsaViewPanel/doLaunchBlast.js.map +1 -1
- package/dist/MsaViewPanel/model.d.ts +7 -0
- package/dist/MsaViewPanel/model.js.map +1 -1
- package/dist/index.d.ts +5 -5
- package/dist/index.js +21 -22
- package/dist/index.js.map +1 -1
- package/dist/jbrowse-plugin-msaview.umd.production.min.js +27 -27
- package/dist/jbrowse-plugin-msaview.umd.production.min.js.map +4 -4
- package/dist/utils/blastCache.d.ts +8 -2
- package/dist/utils/blastCache.js +19 -6
- package/dist/utils/blastCache.js.map +1 -1
- package/dist/utils/ncbiBlast.d.ts +13 -0
- package/dist/utils/ncbiBlast.js +13 -0
- package/dist/utils/ncbiBlast.js.map +1 -1
- package/dist/version.d.ts +1 -1
- package/dist/version.js +1 -1
- package/dist/version.js.map +1 -1
- package/package.json +7 -7
- package/src/LaunchMsaView/components/EnsemblGeneTree/EnsemblGeneTree.tsx +1 -0
- package/src/LaunchMsaView/components/ManualMSALoader/ManualMSALoader.tsx +2 -0
- package/src/LaunchMsaView/components/NCBIBlastQuery/CachedBlastResults.tsx +32 -6
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastAutomaticPanel.tsx +19 -4
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastManualPanel.tsx +9 -2
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastMethodSelector.tsx +4 -3
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastPanel.tsx +8 -4
- package/src/LaunchMsaView/components/NCBIBlastQuery/NCBIBlastRIDPanel.tsx +187 -0
- package/src/LaunchMsaView/components/PreLoadedMSA/PreLoadedMSADataPanel.tsx +1 -0
- package/src/LaunchMsaView/components/TranscriptSelector.tsx +10 -6
- package/src/LaunchMsaView/components/useTranscriptSelection.ts +16 -7
- package/src/LaunchMsaView/util.ts +20 -2
- package/src/MsaViewPanel/doLaunchBlast.ts +37 -14
- package/src/MsaViewPanel/model.ts +1 -0
- package/src/index.ts +1 -2
- package/src/utils/blastCache.ts +36 -3
- package/src/utils/ncbiBlast.ts +24 -0
- package/src/version.ts +1 -1
|
@@ -1,13 +1,13 @@
|
|
|
1
|
-
"use strict";var JBrowsePluginMsaView=(()=>{var
|
|
1
|
+
"use strict";var JBrowsePluginMsaView=(()=>{var DQ=Object.create;var bs=Object.defineProperty;var _Q=Object.getOwnPropertyDescriptor;var kQ=Object.getOwnPropertyNames;var NQ=Object.getPrototypeOf,LQ=Object.prototype.hasOwnProperty;var g=(e,t)=>()=>(e&&(t=e(e=0)),t);var J=(e,t)=>()=>(t||e((t={exports:{}}).exports,t),t.exports),rt=(e,t)=>{for(var r in t)bs(e,r,{get:t[r],enumerable:!0})},Ud=(e,t,r,n)=>{if(t&&typeof t=="object"||typeof t=="function")for(let o of kQ(t))!LQ.call(e,o)&&o!==r&&bs(e,o,{get:()=>t[o],enumerable:!(n=_Q(t,o))||n.enumerable});return e};var d=(e,t,r)=>(r=e!=null?DQ(NQ(e)):{},Ud(t||!e||!e.__esModule?bs(r,"default",{value:e,enumerable:!0}):r,e)),FQ=e=>Ud(bs({},"__esModule",{value:!0}),e);var qd=J((rN,Yd)=>{Yd.exports=JBrowseExports["@jbrowse/core/Plugin"]});var Rn=J((nN,jd)=>{jd.exports=JBrowseExports["@jbrowse/core/configuration"]});var ae=J((oN,Vd)=>{Vd.exports=JBrowseExports["@jbrowse/core/util"]});var Ft=J((iN,Wd)=>{Wd.exports=JBrowseExports["mobx-state-tree"]});var zd=J((sN,Kd)=>{Kd.exports=JBrowseExports["@mui/material/utils"]});var D,$=g(()=>{"use client";D=d(zd(),1)});var R=J((cN,$d)=>{$d.exports=JBrowseExports["react/jsx-runtime"]});var b=J((uN,em)=>{em.exports=JBrowseExports.react});var O=J((fN,tm)=>{tm.exports=JBrowseExports["mobx-react"]});var Ue=J((dN,rm)=>{rm.exports=JBrowseExports["tss-react/mui"]});var pl=J((BN,um)=>{um.exports=JBrowseExports["@jbrowse/core/pluggableElementTypes"]});var mm=J((SN,dm)=>{dm.exports=JBrowseExports["@jbrowse/core/data_adapters/BaseAdapter"]});function wi(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Class extends value "+String(t)+" is not a constructor or null");Cl(e,t);function r(){this.constructor=e}e.prototype=t===null?Object.create(t):(r.prototype=t.prototype,new r)}function El(e){var t=typeof Symbol=="function"&&Symbol.iterator,r=t&&e[t],n=0;if(r)return r.call(e);if(e&&typeof e.length=="number")return{next:function(){return e&&n>=e.length&&(e=void 0),{value:e&&e[n++],done:!e}}};throw new TypeError(t?"Object is not iterable.":"Symbol.iterator is not defined.")}function ho(e,t){var r=typeof Symbol=="function"&&e[Symbol.iterator];if(!r)return e;var n=r.call(e),o,i=[],s;try{for(;(t===void 0||t-- >0)&&!(o=n.next()).done;)i.push(o.value)}catch(a){s={error:a}}finally{try{o&&!o.done&&(r=n.return)&&r.call(n)}finally{if(s)throw s.error}}return i}function Co(e,t,r){if(r||arguments.length===2)for(var n=0,o=t.length,i;n<o;n++)(i||!(n in t))&&(i||(i=Array.prototype.slice.call(t,0,n)),i[n]=t[n]);return e.concat(i||Array.prototype.slice.call(t))}var Cl,Bi=g(()=>{Cl=function(e,t){return Cl=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(r,n){r.__proto__=n}||function(r,n){for(var o in n)Object.prototype.hasOwnProperty.call(n,o)&&(r[o]=n[o])},Cl(e,t)}});function Tr(e){return typeof e=="function"}var Qs=g(()=>{});function Ms(e){var t=function(n){Error.call(n),n.stack=new Error().stack},r=e(t);return r.prototype=Object.create(Error.prototype),r.prototype.constructor=r,r}var Il=g(()=>{});var vs,gm=g(()=>{Il();vs=Ms(function(e){return function(r){e(this),this.message=r?r.length+` errors occurred during unsubscription:
|
|
2
2
|
`+r.map(function(n,o){return o+1+") "+n.toString()}).join(`
|
|
3
|
-
`):"",this.name="UnsubscriptionError",this.errors=r}})});function gl(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var dm=p(()=>{});function gm(e){return e instanceof Qs||e&&"closed"in e&&xr(e.remove)&&xr(e.add)&&xr(e.unsubscribe)}function mm(e){xr(e)?e():e.unsubscribe()}var Qs,pN,pm=p(()=>{xi();Bs();fm();dm();Qs=(function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=dl(s),c=a.next();!c.done;c=a.next()){var l=c.value;l.remove(this)}}catch(h){t={error:h}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var A=this.initialTeardown;if(xr(A))try{A()}catch(h){i=h instanceof Ss?h.errors:[h]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var f=dl(u),m=f.next();!m.done;m=f.next()){var g=m.value;try{mm(g)}catch(h){i=i??[],h instanceof Ss?i=uo(uo([],Ao(i)),Ao(h.errors)):i.push(h)}}}catch(h){n={error:h}}finally{try{m&&!m.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}}if(i)throw new Ss(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)mm(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&gl(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&gl(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e})(),pN=Qs.EMPTY});var An,Ms=p(()=>{An={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}});var fo,pl=p(()=>{xi();fo={setTimeout:function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var o=fo.delegate;return o?.setTimeout?o.setTimeout.apply(o,uo([e,t],Ao(r))):setTimeout.apply(void 0,uo([e,t],Ao(r)))},clearTimeout:function(e){var t=fo.delegate;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0}});function hm(e){fo.setTimeout(function(){var t=An.onUnhandledError;if(t)t(e);else throw e})}var Cm=p(()=>{Ms();pl()});function hl(){}var Em=p(()=>{});function xm(e){return Cl("E",void 0,e)}function ym(e){return Cl("N",e,void 0)}function Cl(e,t,r){return{kind:e,value:t,error:r}}var Im,wm=p(()=>{Im=(function(){return Cl("C",void 0,void 0)})()});function Bm(e){An.useDeprecatedSynchronousErrorHandling&&El&&(El.errorThrown=!0,El.error=e)}var El,bm=p(()=>{Ms();El=null});function Il(e,t){return TQ.call(e,t)}function vs(e){An.useDeprecatedSynchronousErrorHandling?Bm(e):hm(e)}function DQ(e){throw e}function xl(e,t){var r=An.onStoppedNotification;r&&fo.setTimeout(function(){return r(e,t)})}var yl,TQ,_Q,wl,kQ,Bl=p(()=>{xi();Bs();pm();Ms();Cm();Em();wm();pl();bm();yl=(function(e){Ii(t,e);function t(r){var n=e.call(this)||this;return n.isStopped=!1,r?(n.destination=r,gm(r)&&r.add(n)):n.destination=kQ,n}return t.create=function(r,n,o){return new wl(r,n,o)},t.prototype.next=function(r){this.isStopped?xl(ym(r),this):this._next(r)},t.prototype.error=function(r){this.isStopped?xl(xm(r),this):(this.isStopped=!0,this._error(r))},t.prototype.complete=function(){this.isStopped?xl(Im,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(r){this.destination.next(r)},t.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t})(Qs),TQ=Function.prototype.bind;_Q=(function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var r=this.partialObserver;if(r.next)try{r.next(t)}catch(n){vs(n)}},e.prototype.error=function(t){var r=this.partialObserver;if(r.error)try{r.error(t)}catch(n){vs(n)}else vs(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(r){vs(r)}},e})(),wl=(function(e){Ii(t,e);function t(r,n,o){var i=e.call(this)||this,s;if(xr(r)||!r)s={next:r??void 0,error:n??void 0,complete:o??void 0};else{var a;i&&An.useDeprecatedNextContext?(a=Object.create(r),a.unsubscribe=function(){return i.unsubscribe()},s={next:r.next&&Il(r.next,a),error:r.error&&Il(r.error,a),complete:r.complete&&Il(r.complete,a)}):s=r}return i.destination=new _Q(s),i}return t})(yl);kQ={closed:!0,next:hl,error:DQ,complete:hl}});function NQ(e){return xr(e?.lift)}function Ts(e){return function(t){if(NQ(t))return t.lift(function(r){try{return e(r,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}var bl=p(()=>{Bs()});function Sm(e,t,r,n,o){return new LQ(e,t,r,n,o)}var LQ,Qm=p(()=>{xi();Bl();LQ=(function(e){Ii(t,e);function t(r,n,o,i,s,a){var c=e.call(this,r)||this;return c.onFinalize=s,c.shouldUnsubscribe=a,c._next=n?function(l){try{n(l)}catch(A){r.error(A)}}:e.prototype._next,c._error=i?function(l){try{i(l)}catch(A){r.error(A)}finally{this.unsubscribe()}}:e.prototype._error,c._complete=o?function(){try{o()}catch(l){r.error(l)}finally{this.unsubscribe()}}:e.prototype._complete,c}return t.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},t})(yl)});var Mm,vm=p(()=>{ml();Mm=bs(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})});function Sl(e,t){var r=typeof t=="object";return new Promise(function(n,o){var i=new wl({next:function(s){n(s),i.unsubscribe()},error:o,complete:function(){r?n(t.defaultValue):o(new Mm)}});e.subscribe(i)})}var Tm=p(()=>{vm();Bl()});var _m=p(()=>{});function Dm(e,t,r,n,o){return function(i,s){var a=r,c=t,l=0;i.subscribe(Sm(s,function(A){var u=l++;c=a?e(c,A,u):(a=!0,A),n&&s.next(c)},o&&(function(){a&&s.next(c),s.complete()})))}}var km=p(()=>{Qm()});function Nm(e,t){return Ts(Dm(e,t,arguments.length>=2,!1,!0))}var Lm=p(()=>{km();bl()});function Ql(){return Ts(function(e,t){Nm(FQ,[])(e).subscribe(t)})}var FQ,Fm=p(()=>{Lm();bl();FQ=function(e,t){return e.push(t),e}});var Rm=p(()=>{Tm();_m();Fm()});var Om={};et(Om,{default:()=>_s});var Pm,Gm,_s,Hm=p(()=>{"use strict";Pm=d(Nn()),Gm=d(um());Rm();_s=class extends Gm.BaseAdapter{async configurePre(){let t=this.getSubAdapter;if(t)return(await t({...(0,Pm.readConfObject)(this.config),type:"BgzipFastaAdapter"})).dataAdapter;throw new Error("no get subadapter")}configure(){return this.configureP??=this.configurePre().catch(t=>{throw this.configureP=void 0,t}),this.configureP}async getMSARefs(){return this.refNamesP??=this.configure().then(t=>t.getRefNames()).catch(t=>{throw this.refNamesP=void 0,t}),this.refNamesP}async getMSAList(){let t=await this.getMSARefs(),r=new Set,n=this.getConf("msaRegex"),o=new RegExp(n);for(let i=0,s=t.length;i<s;i++)r.add(t[i].split(o)[0]);return[...r]}async getMSA(t){let r=await this.configure(),n=await r.getRefNames(),o=[];for(let i=0,s=n.length;i<s;i++){let a=n[i];a.startsWith(t)&&o.push(a)}return Sl(r.getFeaturesInMultipleRegions(o.map(i=>({refName:i,start:0,end:1e9,assemblyName:""}))).pipe(Ql()))}}});var xe=O((fL,qm)=>{qm.exports=JBrowseExports["@jbrowse/core/ui"]});var N=O((dL,jm)=>{jm.exports=JBrowseExports["@mui/material"]});var Km=O(Wm=>{"use strict";var mo=S();function RQ(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var PQ=typeof Object.is=="function"?Object.is:RQ,GQ=mo.useState,OQ=mo.useEffect,HQ=mo.useLayoutEffect,JQ=mo.useDebugValue;function UQ(e,t){var r=t(),n=GQ({inst:{value:r,getSnapshot:t}}),o=n[0].inst,i=n[1];return HQ(function(){o.value=r,o.getSnapshot=t,vl(o)&&i({inst:o})},[e,r,t]),OQ(function(){return vl(o)&&i({inst:o}),e(function(){vl(o)&&i({inst:o})})},[e]),JQ(r),r}function vl(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!PQ(e,r)}catch{return!0}}function YQ(e,t){return t()}var qQ=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?YQ:UQ;Wm.useSyncExternalStore=mo.useSyncExternalStore!==void 0?mo.useSyncExternalStore:qQ});var $m=O((pL,zm)=>{"use strict";zm.exports=Km()});var Fg,Xs,Wl=p(()=>{"use client";z();Fg=d(F(),1),Xs=(0,D.createSvgIcon)((0,Fg.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings")});var Rg,Zs,Kl=p(()=>{"use client";z();Rg=d(F(),1),Zs=(0,D.createSvgIcon)((0,Rg.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore")});function x1(){return Jg||(Jg=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function y1(){return Ug||(Ug=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}function w1(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Fn(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return ea.set(t,e),t}function B1(e){if(eA.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});eA.set(e,t)}function Vg(e){tA=e(tA)}function b1(e){return y1().includes(e)?function(...t){return e.apply(rA(this),t),Fn(this.request)}:function(...t){return Fn(e.apply(rA(this),t))}}function S1(e){return typeof e=="function"?b1(e):(e instanceof IDBTransaction&&B1(e),Zl(e,x1())?new Proxy(e,tA):e)}function Fn(e){if(e instanceof IDBRequest)return w1(e);if($l.has(e))return $l.get(e);let t=S1(e);return t!==e&&($l.set(e,t),ea.set(t,e)),t}function Qi(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Fn(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Fn(s.result),c.oldVersion,c.newVersion,Fn(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",l=>o(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}function Yg(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(Xl.get(t))return Xl.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=M1.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||Q1.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),l=c.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),o&&c.done]))[0]};return Xl.set(t,i),i}async function*_1(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let r=new Proxy(t,T1);for(Wg.set(r,t),ea.set(r,rA(t));t;)yield r,t=await(nA.get(r)||t.continue()),nA.delete(r)}function jg(e,t){return t===Symbol.asyncIterator&&Zl(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&Zl(e,[IDBIndex,IDBObjectStore])}var Zl,Jg,Ug,eA,$l,ea,tA,rA,Q1,M1,Xl,v1,qg,nA,Wg,T1,ta=p(()=>{Zl=(e,t)=>t.some(r=>e instanceof r);eA=new WeakMap,$l=new WeakMap,ea=new WeakMap;tA={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return eA.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Fn(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};rA=e=>ea.get(e);Q1=["get","getKey","getAll","getAllKeys","count"],M1=["put","add","delete","clear"],Xl=new Map;Vg(e=>({...e,get:(t,r,n)=>Yg(t,r)||e.get(t,r,n),has:(t,r)=>!!Yg(t,r)||e.has(t,r)}));v1=["continue","continuePrimaryKey","advance"],qg={},nA=new WeakMap,Wg=new WeakMap,T1={get(e,t){if(!v1.includes(t))return e[t];let r=qg[t];return r||(r=qg[t]=function(...n){nA.set(this,Wg.get(this)[t](...n))}),r}};Vg(e=>({...e,get(t,r,n){return jg(t,r)?_1:e.get(t,r,n)},has(t,r){return jg(t,r)||e.has(t,r)}}))});var sp,oa,oA=p(()=>{"use client";z();sp=d(F(),1),oa=(0,D.createSvgIcon)((0,sp.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"OpenInNew")});function Mi(e){let{children:t,...r}=e;return iA.default.createElement(ap.Link,{...r,target:"_blank",rel:"noreferrer"},t," ",iA.default.createElement(oa,{fontSize:"small"}))}var iA,ap,sA=p(()=>{"use strict";iA=d(S());oA();ap=d(N())});var mp=p(()=>{});var gp=p(()=>{mp()});function U1(e){try{let s=U.__wbindgen_add_to_stack_pointer(-16),a=mA(e,U.__wbindgen_export2),c=Aa;U.decompress_all(s,a,c);var t=Ve().getInt32(s+0,!0),r=Ve().getInt32(s+4,!0),n=Ve().getInt32(s+8,!0),o=Ve().getInt32(s+12,!0);if(o)throw gA(n);var i=fA(t,r).slice();return U.__wbindgen_export(t,r*1,1),i}finally{U.__wbindgen_add_to_stack_pointer(16)}}function Y1(e){try{let o=U.__wbindgen_add_to_stack_pointer(-16),i=mA(e,U.__wbindgen_export2),s=Aa;U.decompress_block(o,i,s);var t=Ve().getInt32(o+0,!0),r=Ve().getInt32(o+4,!0),n=Ve().getInt32(o+8,!0);if(n)throw gA(r);return wo.__wrap(t)}finally{U.__wbindgen_add_to_stack_pointer(16)}}function q1(e,t,r,n,o){try{let c=U.__wbindgen_add_to_stack_pointer(-16),l=mA(e,U.__wbindgen_export2),A=Aa;U.decompress_chunk_slice(c,l,A,t,r,n,o);var i=Ve().getInt32(c+0,!0),s=Ve().getInt32(c+4,!0),a=Ve().getInt32(c+8,!0);if(a)throw gA(s);return yo.__wrap(i)}finally{U.__wbindgen_add_to_stack_pointer(16)}}function j1(e,t){let r=Error(Ip(e,t));return W1(r)}function V1(e,t){throw new Error(Ip(e,t))}function W1(e){vi===Ur.length&&Ur.push(Ur.length+1);let t=vi;return vi=Ur[t],Ur[t]=e,t}function K1(e){e<132||(Ur[e]=vi,vi=e)}function Cp(e,t){return e=e>>>0,z1().subarray(e/8,e/8+t)}function fA(e,t){return e=e>>>0,dA().subarray(e/1,e/1+t)}function Ve(){return(xo===null||xo.buffer.detached===!0||xo.buffer.detached===void 0&&xo.buffer!==U.memory.buffer)&&(xo=new DataView(U.memory.buffer)),xo}function z1(){return(aa===null||aa.byteLength===0)&&(aa=new Float64Array(U.memory.buffer)),aa}function Ip(e,t){return e=e>>>0,Z1(e,t)}function dA(){return(ca===null||ca.byteLength===0)&&(ca=new Uint8Array(U.memory.buffer)),ca}function $1(e){return Ur[e]}function mA(e,t){let r=t(e.length*1,1)>>>0;return dA().set(e,r/1),Aa=e.length,r}function gA(e){let t=$1(e);return K1(e),t}function Z1(e,t){return uA+=t,uA>=X1&&(la=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),la.decode(),uA=t),la.decode(dA().subarray(e,e+t))}function eM(e){U=e}var Pn,Ep,yo,wo,pp,hp,xo,aa,ca,Ur,vi,la,X1,uA,Aa,U,xp=p(()=>{Pn={};Pn.d=(e,t)=>{for(var r in t)Pn.o(t,r)&&!Pn.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})};Pn.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);Pn.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};Ep={};Pn.r(Ep);Pn.d(Ep,{ChunkSliceResult:()=>yo,DecompressResult:()=>wo,__wbg_Error_8c4e43fe74559d73:()=>j1,__wbg___wbindgen_throw_be289d5034ed271b:()=>V1,__wbg_set_wasm:()=>eM,decompress_all:()=>U1,decompress_block:()=>Y1,decompress_chunk_slice:()=>q1});yo=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,pp.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,pp.unregister(this),t}free(){let t=this.__destroy_into_raw();U.__wbg_chunksliceresult_free(t,0)}get buffer(){try{let o=U.__wbindgen_add_to_stack_pointer(-16);U.chunksliceresult_buffer(o,this.__wbg_ptr);var t=Ve().getInt32(o+0,!0),r=Ve().getInt32(o+4,!0),n=fA(t,r).slice();return U.__wbindgen_export(t,r*1,1),n}finally{U.__wbindgen_add_to_stack_pointer(16)}}get cpositions(){try{let o=U.__wbindgen_add_to_stack_pointer(-16);U.chunksliceresult_cpositions(o,this.__wbg_ptr);var t=Ve().getInt32(o+0,!0),r=Ve().getInt32(o+4,!0),n=Cp(t,r).slice();return U.__wbindgen_export(t,r*8,8),n}finally{U.__wbindgen_add_to_stack_pointer(16)}}get dpositions(){try{let o=U.__wbindgen_add_to_stack_pointer(-16);U.chunksliceresult_dpositions(o,this.__wbg_ptr);var t=Ve().getInt32(o+0,!0),r=Ve().getInt32(o+4,!0),n=Cp(t,r).slice();return U.__wbindgen_export(t,r*8,8),n}finally{U.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(yo.prototype[Symbol.dispose]=yo.prototype.free);wo=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,hp.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,hp.unregister(this),t}free(){let t=this.__destroy_into_raw();U.__wbg_decompressresult_free(t,0)}get bytes_read(){return U.decompressresult_bytes_read(this.__wbg_ptr)>>>0}get data(){try{let o=U.__wbindgen_add_to_stack_pointer(-16);U.decompressresult_data(o,this.__wbg_ptr);var t=Ve().getInt32(o+0,!0),r=Ve().getInt32(o+4,!0),n=fA(t,r).slice();return U.__wbindgen_export(t,r*1,1),n}finally{U.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(wo.prototype[Symbol.dispose]=wo.prototype.free);pp=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_chunksliceresult_free(e>>>0,1)),hp=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>U.__wbg_decompressresult_free(e>>>0,1));xo=null;aa=null;ca=null;Ur=new Array(128).fill(void 0);Ur.push(void 0,null,!0,!1);vi=Ur.length;la=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});la.decode();X1=2146435072,uA=0;Aa=0});var pA=p(()=>{xp()});var yp=p(()=>{});var Bp=p(()=>{gp();pA();yp()});var bp=p(()=>{Bp();pA()});function hA(){let e=(0,Bo.useRef)(null),[t,r]=(0,Bo.useState)({width:void 0,height:void 0});return(0,Bo.useEffect)(()=>{if(!e.current)return;let n=typeof window<"u"&&"ResizeObserver"in window?window.ResizeObserver:void 0;if(!n)return;let o=new n(i=>{r({width:i[0].contentRect.width,height:i[0].contentRect.height})});return o.observe(e.current),()=>{o.disconnect()}},[]),[e,t]}var Bo,Sp=p(()=>{Bo=d(S(),1)});var Mp=O((HR,Qp)=>{Qp.exports=JBrowseExports["react-dom"]});var Tp=O((JR,vp)=>{vp.exports=JBrowseExports["react-dom/client"]});function _p(e){let t="",r=!1;for(let n=0,o=e.length;n<o;n++){let i=e[n];i==="<"?r=!0:i===">"?r=!1:r||(t+=i)}return t}var CA=p(()=>{});var Dp=p(()=>{});var kp=p(()=>{});var Np=p(()=>{});function ua(e){return typeof e=="object"&&e!==null&&"uri"in e&&!!e.uri}var tM,EA=p(()=>{tM=d(Nt(),1);Np()});var Yr=O((WR,Lp)=>{Lp.exports=JBrowseExports.mobx});var rM,Fp=p(()=>{rM=d(Yr(),1)});var Rp=p(()=>{});var Pp=p(()=>{});var bo,fa,IA,xA,nM,Ti,da,Gp=p(()=>{bo={METHOD:"method",PROPERTY:"property"},fa=class{constructor(t,r){this.inst=t,this.args=r}},IA=class extends fa{constructor(t,r){super(t,r),this.type=bo.METHOD}execute(t){t[this.inst](...this.args)}},xA=class extends fa{constructor(t,r){super(t,r),this.type=bo.PROPERTY}execute(t){t[this.inst]=this.args[0]}},nM={[bo.METHOD]:IA,[bo.PROPERTY]:xA},Ti=class{constructor(t,r,n){return new nM[t](r,n)}};Ti.METHOD=bo.METHOD;Ti.PROPERTY=bo.PROPERTY;da=Ti});var Op,br,ma,yA=p(()=>{Gp();Op=Object.freeze({METHODS:["addHitRegion","arc","arcTo","beginPath","bezierCurveTo","clearHitRegions","clearRect","clip","closePath","drawFocusIfNeeded","drawImage","ellipse","fill","fillRect","fillText","lineTo","moveTo","putImageData","quadraticCurveTo","rect","removeHitRegion","resetTransform","restore","rotate","save","scale","scrollPathIntoView","setLineDash","setTransform","stroke","strokeRect","strokeText","transform","translate"],PROPERTIES:["direction","fillStyle","filter","font","globalAlpha","globalCompositeOperation","imageSmoothingEnabled","imageSmoothingQuality","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","strokeStyle","textAlign","textBaseline"]}),br=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push"),fromJSON:Symbol.for("fromJSON")}),ma=class{constructor(t=null){this[br.sequence]=[],t&&this[br.fromJSON](t)}[br.fromJSON](t={sequence:[]}){t.sequence.forEach(({type:r,inst:n,args:o})=>{this[br.push](r,n,o)})}[br.push](t,r,n){this[br.sequence].push(new da(t,r,n))}execute(t){t.save(),this[br.sequence].forEach(r=>r.execute(t)),t.restore()}toJSON(){return{sequence:this[br.sequence]}}};Op.METHODS.forEach(e=>{Object.defineProperty(ma.prototype,e,{value:function(...r){this[br.push](da.METHOD,e,r)},writable:!1,enumerable:!0,configurable:!1})});Op.PROPERTIES.forEach(e=>{Object.defineProperty(ma.prototype,e,{get(){throw`Invalid canvas sequencer interaction, cannot get ${e}.`},set(t){this[br.push](da.PROPERTY,e,[t])},enumerable:!0,configurable:!1})})});var r3,Jp=p(()=>{yA();r3=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push")})});var Up=p(()=>{Jp();yA()});var qp=O((c3,Yp)=>{Yp.exports=!1});var oM,jp=p(()=>{Up();oM=d(qp(),1)});var iM,sM,Vp=p(()=>{iM=d(F(),1),sM=d(S(),1)});var Wp=p(()=>{});var d3,m3,g3,p3,Kp=p(()=>{d3=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),m3=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),g3=new Uint8Array([1,2,4,8,16,32,64,128,27,54]),p3=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298])});var zp=p(()=>{});var $p=p(()=>{});var Xp=p(()=>{ta()});var ga,Zp=p(()=>{ga=d(Nt(),1)});function BA(e,t=10){let r=String(e),n=0;for(let o=0,i=r.length;o<i;o++)n+=lM[r.charCodeAt(o)]??AM;return n*t}function bA(e){let t=0;if(e.length===0)return t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);t=(t<<5)-t+n,t|=0}return t}function uM(e){let{uri:t,baseUri:r=""}=e,n;try{n=new URL(t,r).href}catch{n=t}return n}function SA(e){return Kt(e)?ua(e)?uM(e):JSON.stringify(e):String(e)}function eh(e){let t=/(^|[\s\n]|<[A-Za-z]*\/?>)((?:https?|ftp):\/\/[-A-Z0-9+\u0026\u2019@#/%?=()~_|!:,.;]*[-A-Z0-9+\u0026@#/%=~()_|])/gi;return e.replaceAll(t,`$1<a href='$2' target="_blank">$2</a>`)}function th(e,t){let{padding:r=30,minWidth:n=80,fontSize:o=12,maxWidth:i=1e3,stripHTML:s=!1}=t||{};return QA(e.map(a=>SA(a)).map(a=>s?_p(a):a).map(a=>BA(a,o)).map(a=>Math.min(Math.max(a+r,n),i)))}function QA(e,t=Number.NEGATIVE_INFINITY){let r=t;for(let n of e)r=Math.max(n,r);return r}function Kt(e){return typeof e=="object"&&e!==null}var wA,So,aM,cM,T3,_3,D3,k3,lM,AM,gn=p(()=>{wA=d(S(),1);bp();So=d(Nt(),1),aM=d(Mp(),1),cM=d(Tp(),1);CA();EA();EA();Fp();Rp();Pp();CA();jp();Vp();Wp();Kp();zp();$p();Dp();kp();Zp();Xp();T3=180/Math.PI,_3=Math.PI/180,D3=/electron/i.test(typeof navigator<"u"?navigator.userAgent:""),k3=typeof jest>"u"?typeof window<"u"&&window.requestIdleCallback?window.requestIdleCallback:e=>setTimeout(()=>{e()},1):e=>{e()},lM=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2796875,.2765625,.3546875,.5546875,.5546875,.8890625,.665625,.190625,.3328125,.3328125,.3890625,.5828125,.2765625,.3328125,.2765625,.3015625,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.2765625,.2765625,.584375,.5828125,.584375,.5546875,1.0140625,.665625,.665625,.721875,.721875,.665625,.609375,.7765625,.721875,.2765625,.5,.665625,.5546875,.8328125,.721875,.7765625,.665625,.7765625,.721875,.665625,.609375,.721875,.665625,.94375,.665625,.665625,.609375,.2765625,.3546875,.2765625,.4765625,.5546875,.3328125,.5546875,.5546875,.5,.5546875,.5546875,.2765625,.5546875,.5546875,.221875,.240625,.5,.221875,.8328125,.5546875,.5546875,.5546875,.5546875,.3328125,.5,.2765625,.5546875,.5,.721875,.5,.5,.5,.3546875,.259375,.353125,.5890625],AM=.5279276315789471});var gh=O((T5,mh)=>{mh.exports=JBrowseExports["@jbrowse/core/pluggableElementTypes/ViewType"]});var hh,Ch,vo,kA=p(()=>{hh=d(F(),1),Ch=d(S(),1),vo=class extends Ch.Component{constructor(t){super(t),this.state={error:void 0}}componentDidCatch(t,r){console.error("ErrorBoundary caught an error:",t,r),this.setState({error:t})}render(){return this.state.error?(0,hh.jsx)(this.props.FallbackComponent,{error:this.state.error}):this.props.children}}});var ft,NA,Eh,Ih,xh=p(()=>{ft=d(S(),1),NA=d(G(),1),Eh=(0,NA.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,ft.useState)(!1),o=(0,ft.useRef)(!1),i=(0,ft.useRef)(0);return(0,ft.useEffect)(()=>{function s(c){c.preventDefault();let l=c.clientX;if(i.current===0)i.current=c.clientX;else{let A=l-i.current;A&&(o.current||(o.current=!0,window.requestAnimationFrame(()=>{e.setTreeAreaWidth(e.treeAreaWidth+A),o.current=!1,i.current=c.clientX})))}}function a(){i.current=0,r&&n(!1)}return r?(document.addEventListener("mousemove",s,!0),document.addEventListener("mouseup",a,!0),()=>{document.removeEventListener("mousemove",s,!0),document.removeEventListener("mouseup",a,!0)}):()=>{}},[r,e]),ft.default.createElement("div",null,ft.default.createElement("div",{onMouseDown:()=>{n(!0)},style:{cursor:"ew-resize",height:"100%",width:t,background:"rgba(200,200,200)",position:"relative"}}))}),Ih=(0,NA.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,ft.useState)(!1),o=(0,ft.useRef)(!1),i=(0,ft.useRef)(0);return(0,ft.useEffect)(()=>{function s(c){c.preventDefault();let l=c.clientY;if(i.current===0)i.current=c.clientY;else{let A=l-i.current;A&&(o.current||(o.current=!0,window.requestAnimationFrame(()=>{e.setHeight(e.height+A),o.current=!1,i.current=c.clientY})))}}function a(){i.current=0,r&&n(!1)}return r?(document.addEventListener("mousemove",s,!0),document.addEventListener("mouseup",a,!0),()=>{document.removeEventListener("mousemove",s,!0),document.removeEventListener("mouseup",a,!0)}):()=>{}},[r,e]),ft.default.createElement("div",null,ft.default.createElement("div",{onMouseDown:()=>{n(!0)},style:{cursor:"ns-resize",width:"100%",height:t,background:"rgba(200,200,200)",position:"relative"}}))})});var yh,wh,Bh=p(()=>{"use client";z();yh=d(F(),1),wh=(0,D.createSvgIcon)((0,yh.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown")});function CM(){let e=document.getSelection();if(!e?.rangeCount)return()=>{};let t=document.activeElement,r=[];for(let o=0;o<e.rangeCount;o++)r.push(e.getRangeAt(o));let n=t?.tagName.toUpperCase();return(n==="INPUT"||n==="TEXTAREA")&&t?.blur(),e.removeAllRanges(),()=>{if(e.type==="Caret"&&e.removeAllRanges(),!e.rangeCount)for(let o of r)e.addRange(o);t?.focus()}}function _i(e,t){let r=t?.debug||!1,n=!1,o,i,s=null,a;try{if(o=CM(),i=document.createRange(),s=document.getSelection(),a=document.createElement("span"),a.textContent=e,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top="0",a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",l=>{l.stopPropagation(),t?.format&&(l.preventDefault(),l.clipboardData&&(l.clipboardData.clearData(),l.clipboardData.setData(t.format,e))),t?.onCopy&&l.clipboardData&&(l.preventDefault(),t.onCopy(l.clipboardData))}),document.body.append(a),i.selectNodeContents(a),s?.addRange(i),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");n=!0}catch(c){r&&console.error("unable to copy using execCommand:",c);try{let l=window.clipboardData;l&&(l.setData(t?.format||"text",e),t?.onCopy?.(l),n=!0)}catch(l){r&&console.error("unable to copy using clipboardData:",l)}}finally{s&&(typeof s.removeRange=="function"&&i?s.removeRange(i):s.removeAllRanges()),a&&a.remove(),o?.()}return n}var LA=p(()=>{});var Mh={};et(Mh,{default:()=>xM});var jr,bh,Hn,Sh,Qh,EM,IM,xM,vh=p(()=>{jr=d(S(),1),bh=d(xe(),1),Hn=d(N(),1),Sh=d(G(),1),Qh=d(tt(),1);LA();EM=(0,Qh.makeStyles)()(e=>({textArea:{padding:e.spacing(2),overflow:"auto",background:"#ddd",wordBreak:"break-word"}})),IM=(0,Sh.observer)(function({model:e,onClose:t}){let[r,n]=(0,jr.useState)("Copy to clipboard"),{classes:o}=EM();return jr.default.createElement(bh.Dialog,{open:!0,onClose:t,fullWidth:!0,maxWidth:"lg",title:`Track info - ${e.name}`},jr.default.createElement(Hn.DialogContent,null,jr.default.createElement(Hn.Button,{variant:"contained",color:"primary",onClick:()=>{_i(e.data),n("Copied!"),setTimeout(()=>{n("Copy to clipboard")},300)}},r),jr.default.createElement("pre",{className:o.textArea},e.data)),jr.default.createElement(Hn.DialogActions,null,jr.default.createElement(Hn.Button,{variant:"contained",onClick:t,color:"secondary"},"Close")))}),xM=IM});var be,Jn,FA,Th,yM,wM,BM,bM,_h,Dh=p(()=>{be=d(S(),1);Bh();Jn=d(N(),1),FA=d(G(),1),Th=d(tt(),1),yM=(0,be.lazy)(()=>Promise.resolve().then(()=>(vh(),Mh))),wM=(0,Th.makeStyles)()({button:{padding:0}}),BM=(0,FA.observer)(function({model:e,track:t}){let[r,n]=(0,be.useState)(),{drawLabels:o,rowHeight:i,treeAreaWidth:s}=e,{model:{name:a,height:c}}=t,{classes:l}=wM(),A=Math.max(8,i-8);return be.default.createElement("div",{style:{width:s,height:c,flexShrink:0,textAlign:"right",fontSize:A}},o?a:""," ",be.default.createElement(Jn.IconButton,{className:l.button,style:{width:A,height:A},onClick:u=>{n(u.currentTarget)}},be.default.createElement(wh,null)),r?be.default.createElement(Jn.Menu,{anchorEl:r,transitionDuration:0,open:!0,onClose:()=>{n(void 0)}},be.default.createElement(Jn.MenuItem,{dense:!0,onClick:()=>{e.toggleTrack(t.model.id),n(void 0)}},"Close"),be.default.createElement(Jn.MenuItem,{dense:!0,onClick:()=>{e.queueDialog(u=>[yM,{onClose:u,model:t.model}]),n(void 0)}},"Get info")):null)}),bM=(0,FA.observer)(function({model:e,track:t}){let{resizeHandleWidth:r,colWidth:n,scrollX:o,numColumns:i}=e,{model:{height:s,error:a}}=t,c=(0,be.useRef)(null),l=(0,be.useRef)(!1),A=(0,be.useRef)(0);return(0,be.useEffect)(()=>{let u=c.current;if(!u)return;function f(m){A.current+=m.deltaX,l.current||(l.current=!0,requestAnimationFrame(()=>{e.doScrollX(-A.current),A.current=0,l.current=!1})),m.preventDefault()}return u.addEventListener("wheel",f),()=>{u.removeEventListener("wheel",f)}},[e]),be.default.createElement("div",{key:t.id,style:{display:"flex",height:s}},be.default.createElement(BM,{model:e,track:t}),be.default.createElement("div",{style:{width:r,flexShrink:0}}),be.default.createElement("div",{ref:c,onMouseMove:u=>{if(!c.current)return;let{left:f}=c.current.getBoundingClientRect(),m=u.clientX-f-o,g=Math.floor(m/n);g>=0&&g<i?e.setMousePos(g,void 0):e.setMousePos(void 0,void 0)},onMouseLeave:()=>{e.setMousePos(void 0,void 0)}},a?be.default.createElement("div",{style:{color:"red",fontSize:10}},`${a}`):be.default.createElement(t.ReactComponent,{model:e,track:t})))}),_h=bM});var Sr,kh,Nh,SM,Lh,Fh=p(()=>{Sr=d(S(),1),kh=d(se(),1),Nh=d(G(),1),SM=(0,Nh.observer)(({model:e})=>{let{msaAreaHeight:t,scrollY:r,totalHeight:n}=e,[o,i]=(0,Sr.useState)(!1),s=(0,Sr.useRef)(!1),[a,c]=(0,Sr.useState)(),l="rgba(66, 119, 127, 0.3)",A=t/n,u=-r,f=u+t,m=u*A,g=f*A;return(0,Sr.useEffect)(()=>{function h(E){a!==void 0&&(s.current||(s.current=!0,window.requestAnimationFrame(()=>{e.setScrollY((0,kh.clamp)(a.scrollY-(E.clientY-a.clientY)/A,-n,0)),s.current=!1})))}function C(){c(void 0)}if(a!==void 0)return document.addEventListener("mousemove",h),document.addEventListener("mouseup",C),()=>{document.removeEventListener("mousemove",h),document.removeEventListener("mousemove",C)}},[e,A,n,a]),Sr.default.createElement("div",{style:{position:"relative",width:20,height:t,borderLeft:"1px solid #555",borderTop:"1px solid #555",boxSizing:"border-box"}},Sr.default.createElement("div",{style:{position:"absolute",top:Math.max(0,m),left:0,background:o?"rgba(66,119,127,0.6)":l,cursor:"pointer",boxSizing:"border-box",width:20,height:Math.max(g-m,20),zIndex:100},onMouseOver:()=>{i(!0)},onMouseOut:()=>{i(!1)},onMouseDown:h=>{c({clientY:h.clientY,scrollY:e.scrollY})}}))}),Lh=SM});var Rh,Ph,Gh=p(()=>{"use client";z();Rh=d(F(),1),Ph=(0,D.createSvgIcon)((0,Rh.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help")});var Ca,Ea,Oh,QM,Hh,Jh=p(()=>{Ca=d(S(),1),Ea=d(N(),1),Oh=d(G(),1),QM=(0,Oh.observer)(function({model:t}){let{hideGaps:r,allowedGappyness:n}=t;return r?Ca.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},Ca.default.createElement(Ea.Typography,{style:{whiteSpace:"nowrap"}},"Hide columns w/ >",n,"% gaps"),Ca.default.createElement(Ea.Slider,{style:{width:100},min:1,max:100,value:n,onChange:(o,i)=>{t.setAllowedGappyness(i)}})):null}),Hh=QM});var Uh,Yh,qh,jh,MM,vM,Vh,Wh=p(()=>{Uh=d(S(),1),Yh=d(N(),1),qh=d(G(),1),jh=d(tt(),1),MM=(0,jh.makeStyles)()({margin:{margin:"auto",marginLeft:10}}),vM=(0,qh.observer)(function({model:e}){let{mouseOverRowName:t,mouseCol:r}=e,{classes:n}=MM();return t&&r!==void 0?Uh.default.createElement(Yh.Typography,{className:n.margin},t,":",e.visibleColToSeqPosOneBased(t,r)," (",e.visibleColToRowLetter(t,r),")"):null}),Vh=vM});var Kh,zh,$h=p(()=>{"use client";z();Kh=d(F(),1),zh=(0,D.createSvgIcon)((0,Kh.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight")});var Xh,Zh,e0=p(()=>{"use client";z();Xh=d(F(),1),Zh=(0,D.createSvgIcon)((0,Xh.jsx)("path",{d:"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"}),"HelpOutline")});var t0,Ia,RA=p(()=>{"use client";z();t0=d(F(),1),Ia=(0,D.createSvgIcon)((0,t0.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close")});var r0,n0,o0=p(()=>{"use client";z();r0=d(F(),1),n0=(0,D.createSvgIcon)((0,r0.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh")});var i0,s0,a0=p(()=>{"use client";z();i0=d(F(),1),s0=(0,D.createSvgIcon)((0,i0.jsx)("path",{d:"M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27zM12 17.3c-.72 0-1.3-.58-1.3-1.3s.58-1.3 1.3-1.3 1.3.58 1.3 1.3-.58 1.3-1.3 1.3m1-4.3h-2V7h2z"}),"Report")});function _M(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}function DM(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),e.nonce!==void 0&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}var TM,c0,l0=p(()=>{TM=!1;c0=(function(){function e(r){var n=this;this._insertTag=function(o){var i;n.tags.length===0?n.insertionPoint?i=n.insertionPoint.nextSibling:n.prepend?i=n.container.firstChild:i=n.before:i=n.tags[n.tags.length-1].nextSibling,n.container.insertBefore(o,i),n.tags.push(o)},this.isSpeedy=r.speedy===void 0?!TM:r.speedy,this.tags=[],this.ctr=0,this.nonce=r.nonce,this.key=r.key,this.container=r.container,this.prepend=r.prepend,this.insertionPoint=r.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(n){n.forEach(this._insertTag)},t.insert=function(n){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(DM(this));var o=this.tags[this.tags.length-1];if(this.isSpeedy){var i=_M(o);try{i.insertRule(n,i.cssRules.length)}catch{}}else o.appendChild(document.createTextNode(n));this.ctr++},t.flush=function(){this.tags.forEach(function(n){var o;return(o=n.parentNode)==null?void 0:o.removeChild(n)}),this.tags=[],this.ctr=0},e})()});var ot,Di,Z,xa,To,_o,A0,ya,u0,wa=p(()=>{ot="-ms-",Di="-moz-",Z="-webkit-",xa="comm",To="rule",_o="decl",A0="@import",ya="@keyframes",u0="@layer"});function m0(e,t){return Te(e,0)^45?(((t<<2^Te(e,0))<<2^Te(e,1))<<2^Te(e,2))<<2^Te(e,3):0}function Ba(e){return e.trim()}function PA(e,t){return(e=t.exec(e))?e[0]:e}function W(e,t,r){return e.replace(t,r)}function ki(e,t){return e.indexOf(t)}function Te(e,t){return e.charCodeAt(t)|0}function pn(e,t,r){return e.slice(t,r)}function Ct(e){return e.length}function Do(e){return e.length}function ko(e,t){return t.push(e),e}function GA(e,t){return e.map(t).join("")}var f0,Un,d0,No=p(()=>{f0=Math.abs,Un=String.fromCharCode,d0=Object.assign});function Ni(e,t,r,n,o,i,s){return{value:e,root:t,parent:r,type:n,props:o,children:i,line:ba,column:Lo,length:s,return:""}}function Po(e,t){return d0(Ni("",null,null,"",null,null,0),e,{length:-e.length},t)}function p0(){return Fe}function h0(){return Fe=Et>0?Te(Ro,--Et):0,Lo--,Fe===10&&(Lo=1,ba--),Fe}function It(){return Fe=Et<g0?Te(Ro,Et++):0,Lo++,Fe===10&&(Lo=1,ba++),Fe}function zt(){return Te(Ro,Et)}function Li(){return Et}function Go(e,t){return pn(Ro,e,t)}function Fo(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Sa(e){return ba=Lo=1,g0=Ct(Ro=e),Et=0,[]}function Qa(e){return Ro="",e}function Oo(e){return Ba(Go(Et-1,OA(e===91?e+2:e===40?e+1:e)))}function C0(e){for(;(Fe=zt())&&Fe<33;)It();return Fo(e)>2||Fo(Fe)>3?"":" "}function E0(e,t){for(;--t&&It()&&!(Fe<48||Fe>102||Fe>57&&Fe<65||Fe>70&&Fe<97););return Go(e,Li()+(t<6&&zt()==32&&It()==32))}function OA(e){for(;It();)switch(Fe){case e:return Et;case 34:case 39:e!==34&&e!==39&&OA(Fe);break;case 40:e===41&&OA(e);break;case 92:It();break}return Et}function I0(e,t){for(;It()&&e+Fe!==57;)if(e+Fe===84&&zt()===47)break;return"/*"+Go(t,Et-1)+"*"+Un(e===47?e:It())}function x0(e){for(;!Fo(zt());)It();return Go(e,Et)}var ba,Lo,g0,Et,Fe,Ro,HA=p(()=>{No();ba=1,Lo=1,g0=0,Et=0,Fe=0,Ro=""});function B0(e){return Qa(Ma("",null,null,null,[""],e=Sa(e),0,[0],e))}function Ma(e,t,r,n,o,i,s,a,c){for(var l=0,A=0,u=s,f=0,m=0,g=0,h=1,C=1,E=1,x=0,y="",w=o,b=i,M=n,v=y;C;)switch(g=x,x=It()){case 40:if(g!=108&&Te(v,u-1)==58){ki(v+=W(Oo(x),"&","&\f"),"&\f")!=-1&&(E=-1);break}case 34:case 39:case 91:v+=Oo(x);break;case 9:case 10:case 13:case 32:v+=C0(g);break;case 92:v+=E0(Li()-1,7);continue;case 47:switch(zt()){case 42:case 47:ko(kM(I0(It(),Li()),t,r),c);break;default:v+="/"}break;case 123*h:a[l++]=Ct(v)*E;case 125*h:case 59:case 0:switch(x){case 0:case 125:C=0;case 59+A:E==-1&&(v=W(v,/\f/g,"")),m>0&&Ct(v)-u&&ko(m>32?w0(v+";",n,r,u-1):w0(W(v," ","")+";",n,r,u-2),c);break;case 59:v+=";";default:if(ko(M=y0(v,t,r,l,A,o,a,y,w=[],b=[],u),i),x===123)if(A===0)Ma(v,t,M,M,w,i,u,a,b);else switch(f===99&&Te(v,3)===110?100:f){case 100:case 108:case 109:case 115:Ma(e,M,M,n&&ko(y0(e,M,M,0,0,o,a,y,o,w=[],u),b),o,b,u,a,n?w:b);break;default:Ma(v,M,M,M,[""],b,0,a,b)}}l=A=m=0,h=E=1,y=v="",u=s;break;case 58:u=1+Ct(v),m=g;default:if(h<1){if(x==123)--h;else if(x==125&&h++==0&&h0()==125)continue}switch(v+=Un(x),x*h){case 38:E=A>0?1:(v+="\f",-1);break;case 44:a[l++]=(Ct(v)-1)*E,E=1;break;case 64:zt()===45&&(v+=Oo(It())),f=zt(),A=u=Ct(y=v+=x0(Li())),x++;break;case 45:g===45&&Ct(v)==2&&(h=0)}}return i}function y0(e,t,r,n,o,i,s,a,c,l,A){for(var u=o-1,f=o===0?i:[""],m=Do(f),g=0,h=0,C=0;g<n;++g)for(var E=0,x=pn(e,u+1,u=f0(h=s[g])),y=e;E<m;++E)(y=Ba(h>0?f[E]+" "+x:W(x,/&\f/g,f[E])))&&(c[C++]=y);return Ni(e,t,r,o===0?To:a,c,l,A)}function kM(e,t,r){return Ni(e,t,r,xa,Un(p0()),pn(e,2,-2),0)}function w0(e,t,r,n){return Ni(e,t,r,_o,pn(e,0,n),pn(e,n+1,-1),n)}var b0=p(()=>{wa();No();HA()});var S0=p(()=>{});function Yn(e,t){for(var r="",n=Do(e),o=0;o<n;o++)r+=t(e[o],o,e,t)||"";return r}function Q0(e,t,r,n){switch(e.type){case u0:if(e.children.length)break;case A0:case _o:return e.return=e.return||e.value;case xa:return"";case ya:return e.return=e.value+"{"+Yn(e.children,n)+"}";case To:e.value=e.props.join(",")}return Ct(r=Yn(e.children,n))?e.return=e.value+"{"+r+"}":""}var M0=p(()=>{wa();No()});function v0(e){var t=Do(e);return function(r,n,o,i){for(var s="",a=0;a<t;a++)s+=e[a](r,n,o,i)||"";return s}}function T0(e){return function(t){t.root||(t=t.return)&&e(t)}}var _0=p(()=>{No()});var D0=p(()=>{wa();No();b0();S0();HA();M0();_0()});var va=p(()=>{});function k0(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var JA=p(()=>{});function L0(e,t){switch(m0(e,t)){case 5103:return Z+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Z+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Z+e+Di+e+ot+e+e;case 6828:case 4268:return Z+e+ot+e+e;case 6165:return Z+e+ot+"flex-"+e+e;case 5187:return Z+e+W(e,/(\w+).+(:[^]+)/,Z+"box-$1$2"+ot+"flex-$1$2")+e;case 5443:return Z+e+ot+"flex-item-"+W(e,/flex-|-self/,"")+e;case 4675:return Z+e+ot+"flex-line-pack"+W(e,/align-content|flex-|-self/,"")+e;case 5548:return Z+e+ot+W(e,"shrink","negative")+e;case 5292:return Z+e+ot+W(e,"basis","preferred-size")+e;case 6060:return Z+"box-"+W(e,"-grow","")+Z+e+ot+W(e,"grow","positive")+e;case 4554:return Z+W(e,/([^-])(transform)/g,"$1"+Z+"$2")+e;case 6187:return W(W(W(e,/(zoom-|grab)/,Z+"$1"),/(image-set)/,Z+"$1"),e,"")+e;case 5495:case 3959:return W(e,/(image-set\([^]*)/,Z+"$1$`$1");case 4968:return W(W(e,/(.+:)(flex-)?(.*)/,Z+"box-pack:$3"+ot+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Z+e+e;case 4095:case 3583:case 4068:case 2532:return W(e,/(.+)-inline(.+)/,Z+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Ct(e)-1-t>6)switch(Te(e,t+1)){case 109:if(Te(e,t+4)!==45)break;case 102:return W(e,/(.+:)(.+)-([^]+)/,"$1"+Z+"$2-$3$1"+Di+(Te(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~ki(e,"stretch")?L0(W(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(Te(e,t+1)!==115)break;case 6444:switch(Te(e,Ct(e)-3-(~ki(e,"!important")&&10))){case 107:return W(e,":",":"+Z)+e;case 101:return W(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Z+(Te(e,14)===45?"inline-":"")+"box$3$1"+Z+"$2$3$1"+ot+"$2box$3")+e}break;case 5936:switch(Te(e,t+11)){case 114:return Z+e+ot+W(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Z+e+ot+W(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Z+e+ot+W(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Z+e+ot+e+e}return e}var NM,LM,FM,N0,RM,PM,GM,OM,F0,UA=p(()=>{l0();D0();va();JA();NM=function(t,r,n){for(var o=0,i=0;o=i,i=zt(),o===38&&i===12&&(r[n]=1),!Fo(i);)It();return Go(t,Et)},LM=function(t,r){var n=-1,o=44;do switch(Fo(o)){case 0:o===38&&zt()===12&&(r[n]=1),t[n]+=NM(Et-1,r,n);break;case 2:t[n]+=Oo(o);break;case 4:if(o===44){t[++n]=zt()===58?"&\f":"",r[n]=t[n].length;break}default:t[n]+=Un(o)}while(o=It());return t},FM=function(t,r){return Qa(LM(Sa(t),r))},N0=new WeakMap,RM=function(t){if(!(t.type!=="rule"||!t.parent||t.length<1)){for(var r=t.value,n=t.parent,o=t.column===n.column&&t.line===n.line;n.type!=="rule";)if(n=n.parent,!n)return;if(!(t.props.length===1&&r.charCodeAt(0)!==58&&!N0.get(n))&&!o){N0.set(t,!0);for(var i=[],s=FM(r,i),a=n.props,c=0,l=0;c<s.length;c++)for(var A=0;A<a.length;A++,l++)t.props[l]=i[c]?s[c].replace(/&\f/g,a[A]):a[A]+" "+s[c]}}},PM=function(t){if(t.type==="decl"){var r=t.value;r.charCodeAt(0)===108&&r.charCodeAt(2)===98&&(t.return="",t.value="")}};GM=function(t,r,n,o){if(t.length>-1&&!t.return)switch(t.type){case _o:t.return=L0(t.value,t.length);break;case ya:return Yn([Po(t,{value:W(t.value,"@","@"+Z)})],o);case To:if(t.length)return GA(t.props,function(i){switch(PA(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return Yn([Po(t,{props:[W(i,/:(read-\w+)/,":"+Di+"$1")]})],o);case"::placeholder":return Yn([Po(t,{props:[W(i,/:(plac\w+)/,":"+Z+"input-$1")]}),Po(t,{props:[W(i,/:(plac\w+)/,":"+Di+"$1")]}),Po(t,{props:[W(i,/:(plac\w+)/,ot+"input-$1")]})],o)}return""})}},OM=[GM],F0=function(t){var r=t.key;if(r==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(h){var C=h.getAttribute("data-emotion");C.indexOf(" ")!==-1&&(document.head.appendChild(h),h.setAttribute("data-s",""))})}var o=t.stylisPlugins||OM,i={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(h){for(var C=h.getAttribute("data-emotion").split(" "),E=1;E<C.length;E++)i[C[E]]=!0;a.push(h)});var c,l=[RM,PM];{var A,u=[Q0,T0(function(h){A.insert(h)})],f=v0(l.concat(o,u)),m=function(C){return Yn(B0(C),f)};c=function(C,E,x,y){A=x,m(C?C+"{"+E.styles+"}":E.styles),y&&(g.inserted[E.name]=!0)}}var g={key:r,sheet:new c0({key:r,container:s,nonce:t.nonce,speedy:t.speedy,prepend:t.prepend,insertionPoint:t.insertionPoint}),nonce:t.nonce,inserted:i,registered:{},insert:c};return g.sheet.hydrate(a),g}});var YA=p(()=>{});var P0=O(oe=>{"use strict";var We=typeof Symbol=="function"&&Symbol.for,qA=We?Symbol.for("react.element"):60103,jA=We?Symbol.for("react.portal"):60106,Ta=We?Symbol.for("react.fragment"):60107,_a=We?Symbol.for("react.strict_mode"):60108,Da=We?Symbol.for("react.profiler"):60114,ka=We?Symbol.for("react.provider"):60109,Na=We?Symbol.for("react.context"):60110,VA=We?Symbol.for("react.async_mode"):60111,La=We?Symbol.for("react.concurrent_mode"):60111,Fa=We?Symbol.for("react.forward_ref"):60112,Ra=We?Symbol.for("react.suspense"):60113,HM=We?Symbol.for("react.suspense_list"):60120,Pa=We?Symbol.for("react.memo"):60115,Ga=We?Symbol.for("react.lazy"):60116,JM=We?Symbol.for("react.block"):60121,UM=We?Symbol.for("react.fundamental"):60117,YM=We?Symbol.for("react.responder"):60118,qM=We?Symbol.for("react.scope"):60119;function Ft(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case qA:switch(e=e.type,e){case VA:case La:case Ta:case Da:case _a:case Ra:return e;default:switch(e=e&&e.$$typeof,e){case Na:case Fa:case Ga:case Pa:case ka:return e;default:return t}}case jA:return t}}}function R0(e){return Ft(e)===La}oe.AsyncMode=VA;oe.ConcurrentMode=La;oe.ContextConsumer=Na;oe.ContextProvider=ka;oe.Element=qA;oe.ForwardRef=Fa;oe.Fragment=Ta;oe.Lazy=Ga;oe.Memo=Pa;oe.Portal=jA;oe.Profiler=Da;oe.StrictMode=_a;oe.Suspense=Ra;oe.isAsyncMode=function(e){return R0(e)||Ft(e)===VA};oe.isConcurrentMode=R0;oe.isContextConsumer=function(e){return Ft(e)===Na};oe.isContextProvider=function(e){return Ft(e)===ka};oe.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===qA};oe.isForwardRef=function(e){return Ft(e)===Fa};oe.isFragment=function(e){return Ft(e)===Ta};oe.isLazy=function(e){return Ft(e)===Ga};oe.isMemo=function(e){return Ft(e)===Pa};oe.isPortal=function(e){return Ft(e)===jA};oe.isProfiler=function(e){return Ft(e)===Da};oe.isStrictMode=function(e){return Ft(e)===_a};oe.isSuspense=function(e){return Ft(e)===Ra};oe.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===Ta||e===La||e===Da||e===_a||e===Ra||e===HM||typeof e=="object"&&e!==null&&(e.$$typeof===Ga||e.$$typeof===Pa||e.$$typeof===ka||e.$$typeof===Na||e.$$typeof===Fa||e.$$typeof===UM||e.$$typeof===YM||e.$$typeof===qM||e.$$typeof===JM)};oe.typeOf=Ft});var O0=O((kP,G0)=>{"use strict";G0.exports=P0()});var V0=O((NP,j0)=>{"use strict";var WA=O0(),jM={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},VM={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},WM={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Y0={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},KA={};KA[WA.ForwardRef]=WM;KA[WA.Memo]=Y0;function H0(e){return WA.isMemo(e)?Y0:KA[e.$$typeof]||jM}var KM=Object.defineProperty,zM=Object.getOwnPropertyNames,J0=Object.getOwnPropertySymbols,$M=Object.getOwnPropertyDescriptor,XM=Object.getPrototypeOf,U0=Object.prototype;function q0(e,t,r){if(typeof t!="string"){if(U0){var n=XM(t);n&&n!==U0&&q0(e,n,r)}var o=zM(t);J0&&(o=o.concat(J0(t)));for(var i=H0(e),s=H0(t),a=0;a<o.length;++a){var c=o[a];if(!VM[c]&&!(r&&r[c])&&!(s&&s[c])&&!(i&&i[c])){var l=$M(t,c);try{KM(e,c,l)}catch{}}}}return e}j0.exports=q0});function Fi(e,t,r){var n="";return r.split(" ").forEach(function(o){e[o]!==void 0?t.push(e[o]+";"):o&&(n+=o+" ")}),n}var ZM,Oa,Ri,Ha=p(()=>{ZM=!0;Oa=function(t,r,n){var o=t.key+"-"+r.name;(n===!1||ZM===!1)&&t.registered[o]===void 0&&(t.registered[o]=r.styles)},Ri=function(t,r,n){Oa(t,r,n);var o=t.key+"-"+r.name;if(t.inserted[r.name]===void 0){var i=r;do t.insert(r===i?"."+o:"",i,t.sheet,!0),i=i.next;while(i!==void 0)}}});function W0(e){for(var t=0,r,n=0,o=e.length;o>=4;++n,o-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var K0=p(()=>{});var z0,$0=p(()=>{z0={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1}});function Pi(e,t,r){if(r==null)return"";var n=r;if(n.__emotion_styles!==void 0)return n;switch(typeof r){case"boolean":return"";case"object":{var o=r;if(o.anim===1)return Qr={name:o.name,styles:o.styles,next:Qr},o.name;var i=r;if(i.styles!==void 0){var s=i.next;if(s!==void 0)for(;s!==void 0;)Qr={name:s.name,styles:s.styles,next:Qr},s=s.next;var a=i.styles+";";return a}return ov(e,t,r)}case"function":{if(e!==void 0){var c=Qr,l=r(e);return Qr=c,Pi(e,t,l)}break}}var A=r;if(t==null)return A;var u=t[A];return u!==void 0?u:A}function ov(e,t,r){var n="";if(Array.isArray(r))for(var o=0;o<r.length;o++)n+=Pi(e,t,r[o])+";";else for(var i in r){var s=r[i];if(typeof s!="object"){var a=s;t!=null&&t[a]!==void 0?n+=i+"{"+t[a]+"}":X0(a)&&(n+=zA(i)+":"+Z0(i,a)+";")}else{if(i==="NO_COMPONENT_SELECTOR"&&ev)throw new Error(nv);if(Array.isArray(s)&&typeof s[0]=="string"&&(t==null||t[s[0]]===void 0))for(var c=0;c<s.length;c++)X0(s[c])&&(n+=zA(i)+":"+Z0(i,s[c])+";");else{var l=Pi(e,t,s);switch(i){case"animation":case"animationName":{n+=zA(i)+":"+l+";";break}default:n+=i+"{"+l+"}"}}}}return n}function Ho(e,t,r){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var n=!0,o="";Qr=void 0;var i=e[0];if(i==null||i.raw===void 0)n=!1,o+=Pi(r,t,i);else{var s=i;o+=s[0]}for(var a=1;a<e.length;a++)if(o+=Pi(r,t,e[a]),n){var c=i;o+=c[a]}eC.lastIndex=0;for(var l="",A;(A=eC.exec(o))!==null;)l+="-"+A[1];var u=W0(o)+l;return{name:u,styles:o,next:Qr}}var ev,tv,rv,tC,X0,zA,Z0,nv,eC,Qr,Ja=p(()=>{K0();$0();JA();ev=!1,tv=/[A-Z]|^ms/g,rv=/_EMO_([^_]+?)_([^]*?)_EMO_/g,tC=function(t){return t.charCodeAt(1)===45},X0=function(t){return t!=null&&typeof t!="boolean"},zA=k0(function(e){return tC(e)?e:e.replace(tv,"-$&").toLowerCase()}),Z0=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(rv,function(n,o,i){return Qr={name:o,styles:i,next:Qr},o})}return z0[t]!==1&&!tC(t)&&typeof r=="number"&&r!==0?r+"px":r},nv="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";eC=/label:\s*([^\s;{]+)\s*(;|$)/g});var Ua,iv,sv,$A,XA=p(()=>{Ua=d(S()),iv=function(t){return t()},sv=Ua.useInsertionEffect?Ua.useInsertionEffect:!1,$A=sv||iv});var $t,Gi,rC,eu,av,tu,ru,nu,Ya,ZA,nC,cv,lv,oC,ou=p(()=>{$t=d(S()),Gi=d(S());UA();YA();va();Ha();Ja();XA();rC=!1,eu=$t.createContext(typeof HTMLElement<"u"?F0({key:"css"}):null),av=eu.Provider,tu=function(){return(0,Gi.useContext)(eu)},ru=function(t){return(0,Gi.forwardRef)(function(r,n){var o=(0,Gi.useContext)(eu);return t(r,o,n)})},nu=$t.createContext({}),Ya={}.hasOwnProperty,ZA="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",nC=function(t,r){var n={};for(var o in r)Ya.call(r,o)&&(n[o]=r[o]);return n[ZA]=t,n},cv=function(t){var r=t.cache,n=t.serialized,o=t.isStringTag;return Oa(r,n,o),$A(function(){return Ri(r,n,o)}),null},lv=ru(function(e,t,r){var n=e.css;typeof n=="string"&&t.registered[n]!==void 0&&(n=t.registered[n]);var o=e[ZA],i=[n],s="";typeof e.className=="string"?s=Fi(t.registered,i,e.className):e.className!=null&&(s=e.className+" ");var a=Ho(i,void 0,$t.useContext(nu));s+=t.key+"-"+a.name;var c={};for(var l in e)Ya.call(e,l)&&l!=="css"&&l!==ZA&&!rC&&(c[l]=e[l]);return c.className=s,r&&(c.ref=r),$t.createElement($t.Fragment,null,$t.createElement(cv,{cache:t,serialized:a,isStringTag:typeof o=="string"}),$t.createElement(o,c))}),oC=lv});function Av(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return Ho(t)}function iu(){var e=Av.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}var Jo,l4,iC,su=p(()=>{ou();ou();Jo=d(S());Ha();XA();Ja();UA();YA();va();l4=d(V0()),iC=function(t,r){var n=arguments;if(r==null||!Ya.call(r,"css"))return Jo.createElement.apply(void 0,n);var o=n.length,i=new Array(o);i[0]=oC,i[1]=nC(t,r);for(var s=2;s<o;s++)i[s]=n[s];return Jo.createElement.apply(null,i)};(function(e){var t;t||(t=e.JSX||(e.JSX={}))})(iC||(iC={}))});var aC=O((f4,sC)=>{sC.exports=JBrowseExports["@mui/material/styles"]});var Uo,au=p(()=>{Uo=e=>{let t=e.length,r=0,n="";for(;r<t;r++){let o=e[r];if(o==null)continue;let i;switch(typeof o){case"boolean":break;case"object":{if(Array.isArray(o))i=Uo(o);else{let s=o;i="";for(let a in s)s[a]&&a&&(i&&(i+=" "),i+=a)}break}default:i=o}i&&(n&&(n+=" "),n+=i)}return n}});function cC(e){return e instanceof Object&&!("styles"in e)&&!("length"in e)&&!("__emotion_styles"in e)}var lC=p(()=>{});function fC(e){let{useCache:t}=e;function r(){let n=t(),{css:o,cx:i}=(0,uC.useMemo)(()=>uv({cache:n}),[n]);return{css:o,cx:i}}return{useCssAndCx:r}}var uC,uv,AC,dC=p(()=>{uC=d(S(),1);Ja();Ha();au();lC();({createCssAndCx:uv}=(()=>{function e(r,n,o){let i=[],s=Fi(r,i,o);return i.length<2?o:s+n(i)}function t(r){let{cache:n}=r,o=(...s)=>{let a=Ho(s,n.registered);Ri(n,a,!1);let c=`${n.key}-${a.name}`;e:{let l=s[0];if(!cC(l))break e;AC.saveClassNameCSSObjectMapping(n,c,l)}return c};return{css:o,cx:(...s)=>{let a=Uo(s),c=AC.fixClassName(n,a,o);return e(n.registered,o,c)}}}return{createCssAndCx:t}})());AC=(()=>{let e=new WeakMap;return{saveClassNameCSSObjectMapping:(t,r,n)=>{let o=e.get(t);o===void 0&&(o=new Map,e.set(t,o)),o.set(r,n)},fixClassName:(()=>{function t(r){let n=!1;return r.map(([o,i])=>{if(i===void 0)return o;let s;if(n)s={"&&":i};else{s=o;for(let a in i)if(a.startsWith("@media")){n=!0;break}}return s})}return(r,n,o)=>{if(!n.includes(" "))return n;let i=e.get(r);return Uo(t(n.split(" ").map(s=>[s,i?.get(s)])).map(s=>typeof s=="string"?s:o(s)))}})()}})()});function mC(e,t,r){if(!(t instanceof Object))return e;let n=Object.keys(t);if(n.length===0)return e;let o={};for(let i of Object.keys(e))o[i]=r(e[i],t[i]);for(let i of n){if(i in e)continue;let s=t[i];typeof s=="string"&&(o[i]=s)}return o}var gC=p(()=>{});function pC(e){if(!(e instanceof Object)||typeof e=="function")return e;let t=[];for(let r in e){let n=e[r],o=typeof n;if(!(o==="string"||o==="number"&&!isNaN(n)||o==="boolean"||n===void 0||n===null))return e;t.push(`${r}:${o}_${n}`)}return`xSqLiJdLMd9s${t.join("|")}`}var hC=p(()=>{});function CC(e){let{useTheme:t}=e,{useCssAndCx:r}=fC({useCache:fv});function n(){return function(o){let i=typeof o=="function"?o:()=>o;return function(a,c){let l=t(),{css:A,cx:u}=r(),f=(0,cu.useMemo)(()=>{let C=i(l),E={};for(let x of Object.keys(C)){let y=C[x];E[x]=A(y)}return E},[A,l]),m=c?.props.classes,g=pC(m);return{classes:(0,cu.useMemo)(()=>m?mC(f,m,u):f,[f,g,u]),theme:l,css:A,cx:u}}}}return{makeStyles:n}}var cu,fv,EC=p(()=>{"use client";cu=d(S(),1);su();dC();gC();hC();fv=tu});var IC,te,xC=p(()=>{IC=d(aC(),1);EC();({makeStyles:te}=CC({useTheme:IC.useTheme}))});var yC=p(()=>{xC()});function qa(...e){return Uo(e)}var xt=p(()=>{"use client";su();yC();au()});function lu({children:e}){let{classes:t}=dv();return(0,wC.jsx)("div",{className:t.bg,children:e})}var wC,dv,BC=p(()=>{wC=d(F(),1);xt();dv=te()(e=>({bg:{padding:4,margin:4,overflow:"auto",maxHeight:200,background:e.palette.mode==="dark"?"#833":"#f88",border:`1px solid ${e.palette.divider}`}}))});var SC=O(Au=>{var bC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");Au.encode=function(e){if(0<=e&&e<bC.length)return bC[e];throw new TypeError("Must be between 0 and 63: "+e)};Au.decode=function(e){var t=65,r=90,n=97,o=122,i=48,s=57,a=43,c=47,l=26,A=52;return t<=e&&e<=r?e-t:n<=e&&e<=o?e-n+l:i<=e&&e<=s?e-i+A:e==a?62:e==c?63:-1}});var du=O(fu=>{var QC=SC(),uu=5,MC=1<<uu,vC=MC-1,TC=MC;function mv(e){return e<0?(-e<<1)+1:(e<<1)+0}function gv(e){var t=(e&1)===1,r=e>>1;return t?-r:r}fu.encode=function(t){var r="",n,o=mv(t);do n=o&vC,o>>>=uu,o>0&&(n|=TC),r+=QC.encode(n);while(o>0);return r};fu.decode=function(t,r,n){var o=t.length,i=0,s=0,a,c;do{if(r>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(c=QC.decode(t.charCodeAt(r++)),c===-1)throw new Error("Invalid base64 digit: "+t.charAt(r-1));a=!!(c&TC),c&=vC,i=i+(c<<s),s+=uu}while(a);n.value=gv(i),n.rest=r}});var qo=O(Ke=>{function pv(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}Ke.getArg=pv;var _C=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,hv=/^data:.+\,.+$/;function Oi(e){var t=e.match(_C);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}Ke.urlParse=Oi;function Yo(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}Ke.urlGenerate=Yo;var Cv=32;function Ev(e){var t=[];return function(r){for(var n=0;n<t.length;n++)if(t[n].input===r){var o=t[0];return t[0]=t[n],t[n]=o,t[0].result}var i=e(r);return t.unshift({input:r,result:i}),t.length>Cv&&t.pop(),i}}var mu=Ev(function(t){var r=t,n=Oi(t);if(n){if(!n.path)return t;r=n.path}for(var o=Ke.isAbsolute(r),i=[],s=0,a=0;;)if(s=a,a=r.indexOf("/",s),a===-1){i.push(r.slice(s));break}else for(i.push(r.slice(s,a));a<r.length&&r[a]==="/";)a++;for(var c,l=0,a=i.length-1;a>=0;a--)c=i[a],c==="."?i.splice(a,1):c===".."?l++:l>0&&(c===""?(i.splice(a+1,l),l=0):(i.splice(a,2),l--));return r=i.join("/"),r===""&&(r=o?"/":"."),n?(n.path=r,Yo(n)):r});Ke.normalize=mu;function DC(e,t){e===""&&(e="."),t===""&&(t=".");var r=Oi(t),n=Oi(e);if(n&&(e=n.path||"/"),r&&!r.scheme)return n&&(r.scheme=n.scheme),Yo(r);if(r||t.match(hv))return t;if(n&&!n.host&&!n.path)return n.host=t,Yo(n);var o=t.charAt(0)==="/"?t:mu(e.replace(/\/+$/,"")+"/"+t);return n?(n.path=o,Yo(n)):o}Ke.join=DC;Ke.isAbsolute=function(e){return e.charAt(0)==="/"||_C.test(e)};function Iv(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");for(var r=0;t.indexOf(e+"/")!==0;){var n=e.lastIndexOf("/");if(n<0||(e=e.slice(0,n),e.match(/^([^\/]+:\/)?\/*$/)))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)}Ke.relative=Iv;var kC=(function(){var e=Object.create(null);return!("__proto__"in e)})();function NC(e){return e}function xv(e){return LC(e)?"$"+e:e}Ke.toSetString=kC?NC:xv;function yv(e){return LC(e)?e.slice(1):e}Ke.fromSetString=kC?NC:yv;function LC(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function wv(e,t,r){var n=Vr(e.source,t.source);return n!==0||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:Vr(e.name,t.name)}Ke.compareByOriginalPositions=wv;function Bv(e,t,r){var n;return n=e.originalLine-t.originalLine,n!==0||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:Vr(e.name,t.name)}Ke.compareByOriginalPositionsNoSource=Bv;function bv(e,t,r){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0||r)||(n=Vr(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:Vr(e.name,t.name)}Ke.compareByGeneratedPositionsDeflated=bv;function Sv(e,t,r){var n=e.generatedColumn-t.generatedColumn;return n!==0||r||(n=Vr(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:Vr(e.name,t.name)}Ke.compareByGeneratedPositionsDeflatedNoLine=Sv;function Vr(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function Qv(e,t){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=Vr(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:Vr(e.name,t.name)}Ke.compareByGeneratedPositionsInflated=Qv;function Mv(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}Ke.parseSourceMapInput=Mv;function vv(e,t,r){if(t=t||"",e&&(e[e.length-1]!=="/"&&t[0]!=="/"&&(e+="/"),t=e+t),r){var n=Oi(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var o=n.path.lastIndexOf("/");o>=0&&(n.path=n.path.substring(0,o+1))}t=DC(Yo(n),t)}return mu(t)}Ke.computeSourceURL=vv});var hu=O(FC=>{var gu=qo(),pu=Object.prototype.hasOwnProperty,qn=typeof Map<"u";function Wr(){this._array=[],this._set=qn?new Map:Object.create(null)}Wr.fromArray=function(t,r){for(var n=new Wr,o=0,i=t.length;o<i;o++)n.add(t[o],r);return n};Wr.prototype.size=function(){return qn?this._set.size:Object.getOwnPropertyNames(this._set).length};Wr.prototype.add=function(t,r){var n=qn?t:gu.toSetString(t),o=qn?this.has(t):pu.call(this._set,n),i=this._array.length;(!o||r)&&this._array.push(t),o||(qn?this._set.set(t,i):this._set[n]=i)};Wr.prototype.has=function(t){if(qn)return this._set.has(t);var r=gu.toSetString(t);return pu.call(this._set,r)};Wr.prototype.indexOf=function(t){if(qn){var r=this._set.get(t);if(r>=0)return r}else{var n=gu.toSetString(t);if(pu.call(this._set,n))return this._set[n]}throw new Error('"'+t+'" is not in the set.')};Wr.prototype.at=function(t){if(t>=0&&t<this._array.length)return this._array[t];throw new Error("No element indexed by "+t)};Wr.prototype.toArray=function(){return this._array.slice()};FC.ArraySet=Wr});var GC=O(PC=>{var RC=qo();function Tv(e,t){var r=e.generatedLine,n=t.generatedLine,o=e.generatedColumn,i=t.generatedColumn;return n>r||n==r&&i>=o||RC.compareByGeneratedPositionsInflated(e,t)<=0}function ja(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}ja.prototype.unsortedForEach=function(t,r){this._array.forEach(t,r)};ja.prototype.add=function(t){Tv(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))};ja.prototype.toArray=function(){return this._sorted||(this._array.sort(RC.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};PC.MappingList=ja});var Cu=O(OC=>{var Hi=du(),_e=qo(),Va=hu().ArraySet,_v=GC().MappingList;function Xt(e){e||(e={}),this._file=_e.getArg(e,"file",null),this._sourceRoot=_e.getArg(e,"sourceRoot",null),this._skipValidation=_e.getArg(e,"skipValidation",!1),this._ignoreInvalidMapping=_e.getArg(e,"ignoreInvalidMapping",!1),this._sources=new Va,this._names=new Va,this._mappings=new _v,this._sourcesContents=null}Xt.prototype._version=3;Xt.fromSourceMap=function(t,r){var n=t.sourceRoot,o=new Xt(Object.assign(r||{},{file:t.file,sourceRoot:n}));return t.eachMapping(function(i){var s={generated:{line:i.generatedLine,column:i.generatedColumn}};i.source!=null&&(s.source=i.source,n!=null&&(s.source=_e.relative(n,s.source)),s.original={line:i.originalLine,column:i.originalColumn},i.name!=null&&(s.name=i.name)),o.addMapping(s)}),t.sources.forEach(function(i){var s=i;n!==null&&(s=_e.relative(n,i)),o._sources.has(s)||o._sources.add(s);var a=t.sourceContentFor(i);a!=null&&o.setSourceContent(i,a)}),o};Xt.prototype.addMapping=function(t){var r=_e.getArg(t,"generated"),n=_e.getArg(t,"original",null),o=_e.getArg(t,"source",null),i=_e.getArg(t,"name",null);!this._skipValidation&&this._validateMapping(r,n,o,i)===!1||(o!=null&&(o=String(o),this._sources.has(o)||this._sources.add(o)),i!=null&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:o,name:i}))};Xt.prototype.setSourceContent=function(t,r){var n=t;this._sourceRoot!=null&&(n=_e.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[_e.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[_e.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};Xt.prototype.applySourceMap=function(t,r,n){var o=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);o=t.file}var i=this._sourceRoot;i!=null&&(o=_e.relative(i,o));var s=new Va,a=new Va;this._mappings.unsortedForEach(function(c){if(c.source===o&&c.originalLine!=null){var l=t.originalPositionFor({line:c.originalLine,column:c.originalColumn});l.source!=null&&(c.source=l.source,n!=null&&(c.source=_e.join(n,c.source)),i!=null&&(c.source=_e.relative(i,c.source)),c.originalLine=l.line,c.originalColumn=l.column,l.name!=null&&(c.name=l.name))}var A=c.source;A!=null&&!s.has(A)&&s.add(A);var u=c.name;u!=null&&!a.has(u)&&a.add(u)},this),this._sources=s,this._names=a,t.sources.forEach(function(c){var l=t.sourceContentFor(c);l!=null&&(n!=null&&(c=_e.join(n,c)),i!=null&&(c=_e.relative(i,c)),this.setSourceContent(c,l))},this)};Xt.prototype._validateMapping=function(t,r,n,o){if(r&&typeof r.line!="number"&&typeof r.column!="number"){var i="original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.";if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!o)){if(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n)return;var i="Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:o});if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}};Xt.prototype._serializeMappings=function(){for(var t=0,r=1,n=0,o=0,i=0,s=0,a="",c,l,A,u,f=this._mappings.toArray(),m=0,g=f.length;m<g;m++){if(l=f[m],c="",l.generatedLine!==r)for(t=0;l.generatedLine!==r;)c+=";",r++;else if(m>0){if(!_e.compareByGeneratedPositionsInflated(l,f[m-1]))continue;c+=","}c+=Hi.encode(l.generatedColumn-t),t=l.generatedColumn,l.source!=null&&(u=this._sources.indexOf(l.source),c+=Hi.encode(u-s),s=u,c+=Hi.encode(l.originalLine-1-o),o=l.originalLine-1,c+=Hi.encode(l.originalColumn-n),n=l.originalColumn,l.name!=null&&(A=this._names.indexOf(l.name),c+=Hi.encode(A-i),i=A)),a+=c}return a};Xt.prototype._generateSourcesContent=function(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=_e.relative(r,n));var o=_e.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,o)?this._sourcesContents[o]:null},this)};Xt.prototype.toJSON=function(){var t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t};Xt.prototype.toString=function(){return JSON.stringify(this.toJSON())};OC.SourceMapGenerator=Xt});var HC=O(jn=>{jn.GREATEST_LOWER_BOUND=1;jn.LEAST_UPPER_BOUND=2;function Eu(e,t,r,n,o,i){var s=Math.floor((t-e)/2)+e,a=o(r,n[s],!0);return a===0?s:a>0?t-s>1?Eu(s,t,r,n,o,i):i==jn.LEAST_UPPER_BOUND?t<n.length?t:-1:s:s-e>1?Eu(e,s,r,n,o,i):i==jn.LEAST_UPPER_BOUND?s:e<0?-1:e}jn.search=function(t,r,n,o){if(r.length===0)return-1;var i=Eu(-1,r.length,t,r,n,o||jn.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&n(r[i],r[i-1],!0)===0;)--i;return i}});var YC=O(UC=>{function Dv(e){function t(o,i,s){var a=o[i];o[i]=o[s],o[s]=a}function r(o,i){return Math.round(o+Math.random()*(i-o))}function n(o,i,s,a){if(s<a){var c=r(s,a),l=s-1;t(o,c,a);for(var A=o[a],u=s;u<a;u++)i(o[u],A,!1)<=0&&(l+=1,t(o,l,u));t(o,l+1,u);var f=l+1;n(o,i,s,f-1),n(o,i,f+1,a)}}return n}function kv(e){let t=Dv.toString();return new Function(`return ${t}`)()(e)}var JC=new WeakMap;UC.quickSort=function(e,t,r=0){let n=JC.get(t);n===void 0&&(n=kv(t),JC.set(t,n)),n(e,t,r,e.length-1)}});var VC=O(Wa=>{var k=qo(),xu=HC(),jo=hu().ArraySet,Nv=du(),Ji=YC().quickSort;function he(e,t){var r=e;return typeof e=="string"&&(r=k.parseSourceMapInput(e)),r.sections!=null?new dr(r,t):new it(r,t)}he.fromSourceMap=function(e,t){return it.fromSourceMap(e,t)};he.prototype._version=3;he.prototype.__generatedMappings=null;Object.defineProperty(he.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}});he.prototype.__originalMappings=null;Object.defineProperty(he.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}});he.prototype._charIsMappingSeparator=function(t,r){var n=t.charAt(r);return n===";"||n===","};he.prototype._parseMappings=function(t,r){throw new Error("Subclasses must implement _parseMappings")};he.GENERATED_ORDER=1;he.ORIGINAL_ORDER=2;he.GREATEST_LOWER_BOUND=1;he.LEAST_UPPER_BOUND=2;he.prototype.eachMapping=function(t,r,n){var o=r||null,i=n||he.GENERATED_ORDER,s;switch(i){case he.GENERATED_ORDER:s=this._generatedMappings;break;case he.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}for(var a=this.sourceRoot,c=t.bind(o),l=this._names,A=this._sources,u=this._sourceMapURL,f=0,m=s.length;f<m;f++){var g=s[f],h=g.source===null?null:A.at(g.source);h!==null&&(h=k.computeSourceURL(a,h,u)),c({source:h,generatedLine:g.generatedLine,generatedColumn:g.generatedColumn,originalLine:g.originalLine,originalColumn:g.originalColumn,name:g.name===null?null:l.at(g.name)})}};he.prototype.allGeneratedPositionsFor=function(t){var r=k.getArg(t,"line"),n={source:k.getArg(t,"source"),originalLine:r,originalColumn:k.getArg(t,"column",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var o=[],i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",k.compareByOriginalPositions,xu.LEAST_UPPER_BOUND);if(i>=0){var s=this._originalMappings[i];if(t.column===void 0)for(var a=s.originalLine;s&&s.originalLine===a;)o.push({line:k.getArg(s,"generatedLine",null),column:k.getArg(s,"generatedColumn",null),lastColumn:k.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var c=s.originalColumn;s&&s.originalLine===r&&s.originalColumn==c;)o.push({line:k.getArg(s,"generatedLine",null),column:k.getArg(s,"generatedColumn",null),lastColumn:k.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return o};Wa.SourceMapConsumer=he;function it(e,t){var r=e;typeof e=="string"&&(r=k.parseSourceMapInput(e));var n=k.getArg(r,"version"),o=k.getArg(r,"sources"),i=k.getArg(r,"names",[]),s=k.getArg(r,"sourceRoot",null),a=k.getArg(r,"sourcesContent",null),c=k.getArg(r,"mappings"),l=k.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);s&&(s=k.normalize(s)),o=o.map(String).map(k.normalize).map(function(A){return s&&k.isAbsolute(s)&&k.isAbsolute(A)?k.relative(s,A):A}),this._names=jo.fromArray(i.map(String),!0),this._sources=jo.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(A){return k.computeSourceURL(s,A,t)}),this.sourceRoot=s,this.sourcesContent=a,this._mappings=c,this._sourceMapURL=t,this.file=l}it.prototype=Object.create(he.prototype);it.prototype.consumer=he;it.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null&&(t=k.relative(this.sourceRoot,t)),this._sources.has(t))return this._sources.indexOf(t);var r;for(r=0;r<this._absoluteSources.length;++r)if(this._absoluteSources[r]==e)return r;return-1};it.fromSourceMap=function(t,r){var n=Object.create(it.prototype),o=n._names=jo.fromArray(t._names.toArray(),!0),i=n._sources=jo.fromArray(t._sources.toArray(),!0);n.sourceRoot=t._sourceRoot,n.sourcesContent=t._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=t._file,n._sourceMapURL=r,n._absoluteSources=n._sources.toArray().map(function(m){return k.computeSourceURL(n.sourceRoot,m,r)});for(var s=t._mappings.toArray().slice(),a=n.__generatedMappings=[],c=n.__originalMappings=[],l=0,A=s.length;l<A;l++){var u=s[l],f=new jC;f.generatedLine=u.generatedLine,f.generatedColumn=u.generatedColumn,u.source&&(f.source=i.indexOf(u.source),f.originalLine=u.originalLine,f.originalColumn=u.originalColumn,u.name&&(f.name=o.indexOf(u.name)),c.push(f)),a.push(f)}return Ji(n.__originalMappings,k.compareByOriginalPositions),n};it.prototype._version=3;Object.defineProperty(it.prototype,"sources",{get:function(){return this._absoluteSources.slice()}});function jC(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}var Iu=k.compareByGeneratedPositionsDeflatedNoLine;function qC(e,t){let r=e.length,n=e.length-t;if(!(n<=1))if(n==2){let o=e[t],i=e[t+1];Iu(o,i)>0&&(e[t]=i,e[t+1]=o)}else if(n<20)for(let o=t;o<r;o++)for(let i=o;i>t;i--){let s=e[i-1],a=e[i];if(Iu(s,a)<=0)break;e[i-1]=a,e[i]=s}else Ji(e,Iu,t)}it.prototype._parseMappings=function(t,r){var n=1,o=0,i=0,s=0,a=0,c=0,l=t.length,A=0,u={},f={},m=[],g=[],h,C,E,x,y;let w=0;for(;A<l;)if(t.charAt(A)===";")n++,A++,o=0,qC(g,w),w=g.length;else if(t.charAt(A)===",")A++;else{for(h=new jC,h.generatedLine=n,x=A;x<l&&!this._charIsMappingSeparator(t,x);x++);for(C=t.slice(A,x),E=[];A<x;)Nv.decode(t,A,f),y=f.value,A=f.rest,E.push(y);if(E.length===2)throw new Error("Found a source, but no line and column");if(E.length===3)throw new Error("Found a source and line, but no column");if(h.generatedColumn=o+E[0],o=h.generatedColumn,E.length>1&&(h.source=a+E[1],a+=E[1],h.originalLine=i+E[2],i=h.originalLine,h.originalLine+=1,h.originalColumn=s+E[3],s=h.originalColumn,E.length>4&&(h.name=c+E[4],c+=E[4])),g.push(h),typeof h.originalLine=="number"){let M=h.source;for(;m.length<=M;)m.push(null);m[M]===null&&(m[M]=[]),m[M].push(h)}}qC(g,w),this.__generatedMappings=g;for(var b=0;b<m.length;b++)m[b]!=null&&Ji(m[b],k.compareByOriginalPositionsNoSource);this.__originalMappings=[].concat(...m)};it.prototype._findMapping=function(t,r,n,o,i,s){if(t[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+t[n]);if(t[o]<0)throw new TypeError("Column must be greater than or equal to 0, got "+t[o]);return xu.search(t,r,i,s)};it.prototype.computeColumnSpans=function(){for(var t=0;t<this._generatedMappings.length;++t){var r=this._generatedMappings[t];if(t+1<this._generatedMappings.length){var n=this._generatedMappings[t+1];if(r.generatedLine===n.generatedLine){r.lastGeneratedColumn=n.generatedColumn-1;continue}}r.lastGeneratedColumn=1/0}};it.prototype.originalPositionFor=function(t){var r={generatedLine:k.getArg(t,"line"),generatedColumn:k.getArg(t,"column")},n=this._findMapping(r,this._generatedMappings,"generatedLine","generatedColumn",k.compareByGeneratedPositionsDeflated,k.getArg(t,"bias",he.GREATEST_LOWER_BOUND));if(n>=0){var o=this._generatedMappings[n];if(o.generatedLine===r.generatedLine){var i=k.getArg(o,"source",null);i!==null&&(i=this._sources.at(i),i=k.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=k.getArg(o,"name",null);return s!==null&&(s=this._names.at(s)),{source:i,line:k.getArg(o,"originalLine",null),column:k.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}};it.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(t){return t==null}):!1};it.prototype.sourceContentFor=function(t,r){if(!this.sourcesContent)return null;var n=this._findSourceIndex(t);if(n>=0)return this.sourcesContent[n];var o=t;this.sourceRoot!=null&&(o=k.relative(this.sourceRoot,o));var i;if(this.sourceRoot!=null&&(i=k.urlParse(this.sourceRoot))){var s=o.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!i.path||i.path=="/")&&this._sources.has("/"+o))return this.sourcesContent[this._sources.indexOf("/"+o)]}if(r)return null;throw new Error('"'+o+'" is not in the SourceMap.')};it.prototype.generatedPositionFor=function(t){var r=k.getArg(t,"source");if(r=this._findSourceIndex(r),r<0)return{line:null,column:null,lastColumn:null};var n={source:r,originalLine:k.getArg(t,"line"),originalColumn:k.getArg(t,"column")},o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",k.compareByOriginalPositions,k.getArg(t,"bias",he.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===n.source)return{line:k.getArg(i,"generatedLine",null),column:k.getArg(i,"generatedColumn",null),lastColumn:k.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};Wa.BasicSourceMapConsumer=it;function dr(e,t){var r=e;typeof e=="string"&&(r=k.parseSourceMapInput(e));var n=k.getArg(r,"version"),o=k.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new jo,this._names=new jo;var i={line:-1,column:0};this._sections=o.map(function(s){if(s.url)throw new Error("Support for url field in sections not implemented.");var a=k.getArg(s,"offset"),c=k.getArg(a,"line"),l=k.getArg(a,"column");if(c<i.line||c===i.line&&l<i.column)throw new Error("Section offsets must be ordered and non-overlapping.");return i=a,{generatedOffset:{generatedLine:c+1,generatedColumn:l+1},consumer:new he(k.getArg(s,"map"),t)}})}dr.prototype=Object.create(he.prototype);dr.prototype.constructor=he;dr.prototype._version=3;Object.defineProperty(dr.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var r=0;r<this._sections[t].consumer.sources.length;r++)e.push(this._sections[t].consumer.sources[r]);return e}});dr.prototype.originalPositionFor=function(t){var r={generatedLine:k.getArg(t,"line"),generatedColumn:k.getArg(t,"column")},n=xu.search(r,this._sections,function(i,s){var a=i.generatedLine-s.generatedOffset.generatedLine;return a||i.generatedColumn-s.generatedOffset.generatedColumn}),o=this._sections[n];return o?o.consumer.originalPositionFor({line:r.generatedLine-(o.generatedOffset.generatedLine-1),column:r.generatedColumn-(o.generatedOffset.generatedLine===r.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:t.bias}):{source:null,line:null,column:null,name:null}};dr.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(t){return t.consumer.hasContentsOfAllSources()})};dr.prototype.sourceContentFor=function(t,r){for(var n=0;n<this._sections.length;n++){var o=this._sections[n],i=o.consumer.sourceContentFor(t,!0);if(i||i==="")return i}if(r)return null;throw new Error('"'+t+'" is not in the SourceMap.')};dr.prototype.generatedPositionFor=function(t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r];if(n.consumer._findSourceIndex(k.getArg(t,"source"))!==-1){var o=n.consumer.generatedPositionFor(t);if(o){var i={line:o.line+(n.generatedOffset.generatedLine-1),column:o.column+(n.generatedOffset.generatedLine===o.line?n.generatedOffset.generatedColumn-1:0)};return i}}}return{line:null,column:null}};dr.prototype._parseMappings=function(t,r){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var o=this._sections[n],i=o.consumer._generatedMappings,s=0;s<i.length;s++){var a=i[s],c=o.consumer._sources.at(a.source);c!==null&&(c=k.computeSourceURL(o.consumer.sourceRoot,c,this._sourceMapURL)),this._sources.add(c),c=this._sources.indexOf(c);var l=null;a.name&&(l=o.consumer._names.at(a.name),this._names.add(l),l=this._names.indexOf(l));var A={source:c,generatedLine:a.generatedLine+(o.generatedOffset.generatedLine-1),generatedColumn:a.generatedColumn+(o.generatedOffset.generatedLine===a.generatedLine?o.generatedOffset.generatedColumn-1:0),originalLine:a.originalLine,originalColumn:a.originalColumn,name:l};this.__generatedMappings.push(A),typeof A.originalLine=="number"&&this.__originalMappings.push(A)}Ji(this.__generatedMappings,k.compareByGeneratedPositionsDeflated),Ji(this.__originalMappings,k.compareByOriginalPositions)};Wa.IndexedSourceMapConsumer=dr});var KC=O(WC=>{var Lv=Cu().SourceMapGenerator,Ka=qo(),Fv=/(\r?\n)/,Rv=10,Vo="$$$isSourceNode$$$";function Rt(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=e??null,this.column=t??null,this.source=r??null,this.name=o??null,this[Vo]=!0,n!=null&&this.add(n)}Rt.fromStringWithSourceMap=function(t,r,n){var o=new Rt,i=t.split(Fv),s=0,a=function(){var f=g(),m=g()||"";return f+m;function g(){return s<i.length?i[s++]:void 0}},c=1,l=0,A=null;return r.eachMapping(function(f){if(A!==null)if(c<f.generatedLine)u(A,a()),c++,l=0;else{var m=i[s]||"",g=m.substr(0,f.generatedColumn-l);i[s]=m.substr(f.generatedColumn-l),l=f.generatedColumn,u(A,g),A=f;return}for(;c<f.generatedLine;)o.add(a()),c++;if(l<f.generatedColumn){var m=i[s]||"";o.add(m.substr(0,f.generatedColumn)),i[s]=m.substr(f.generatedColumn),l=f.generatedColumn}A=f},this),s<i.length&&(A&&u(A,a()),o.add(i.splice(s).join(""))),r.sources.forEach(function(f){var m=r.sourceContentFor(f);m!=null&&(n!=null&&(f=Ka.join(n,f)),o.setSourceContent(f,m))}),o;function u(f,m){if(f===null||f.source===void 0)o.add(m);else{var g=n?Ka.join(n,f.source):f.source;o.add(new Rt(f.originalLine,f.originalColumn,g,m,f.name))}}};Rt.prototype.add=function(t){if(Array.isArray(t))t.forEach(function(r){this.add(r)},this);else if(t[Vo]||typeof t=="string")t&&this.children.push(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Rt.prototype.prepend=function(t){if(Array.isArray(t))for(var r=t.length-1;r>=0;r--)this.prepend(t[r]);else if(t[Vo]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Rt.prototype.walk=function(t){for(var r,n=0,o=this.children.length;n<o;n++)r=this.children[n],r[Vo]?r.walk(t):r!==""&&t(r,{source:this.source,line:this.line,column:this.column,name:this.name})};Rt.prototype.join=function(t){var r,n,o=this.children.length;if(o>0){for(r=[],n=0;n<o-1;n++)r.push(this.children[n]),r.push(t);r.push(this.children[n]),this.children=r}return this};Rt.prototype.replaceRight=function(t,r){var n=this.children[this.children.length-1];return n[Vo]?n.replaceRight(t,r):typeof n=="string"?this.children[this.children.length-1]=n.replace(t,r):this.children.push("".replace(t,r)),this};Rt.prototype.setSourceContent=function(t,r){this.sourceContents[Ka.toSetString(t)]=r};Rt.prototype.walkSourceContents=function(t){for(var r=0,n=this.children.length;r<n;r++)this.children[r][Vo]&&this.children[r].walkSourceContents(t);for(var o=Object.keys(this.sourceContents),r=0,n=o.length;r<n;r++)t(Ka.fromSetString(o[r]),this.sourceContents[o[r]])};Rt.prototype.toString=function(){var t="";return this.walk(function(r){t+=r}),t};Rt.prototype.toStringWithSourceMap=function(t){var r={code:"",line:1,column:0},n=new Lv(t),o=!1,i=null,s=null,a=null,c=null;return this.walk(function(l,A){r.code+=l,A.source!==null&&A.line!==null&&A.column!==null?((i!==A.source||s!==A.line||a!==A.column||c!==A.name)&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name}),i=A.source,s=A.line,a=A.column,c=A.name,o=!0):o&&(n.addMapping({generated:{line:r.line,column:r.column}}),i=null,o=!1);for(var u=0,f=l.length;u<f;u++)l.charCodeAt(u)===Rv?(r.line++,r.column=0,u+1===f?(i=null,o=!1):o&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name})):r.column++}),this.walkSourceContents(function(l,A){n.setSourceContent(l,A)}),{code:r.code,map:n}};WC.SourceNode=Rt});var zC=O(za=>{za.SourceMapGenerator=Cu().SourceMapGenerator;za.SourceMapConsumer=VC().SourceMapConsumer;za.SourceNode=KC().SourceNode});function Xa(e){let{children:t,...r}=e;return(0,$a.jsxs)($C.Link,{...r,target:"_blank",rel:"noopener noreferrer",children:[t," ",(0,$a.jsx)(oa,{fontSize:"small"})]})}var $a,$C,XC=p(()=>{$a=d(F(),1);oA();$C=d(N(),1)});function yu({text:e,extra:t}){let{classes:r}=Pv(),n=t?`supporting data: ${JSON.stringify(t,null,2)}`:"",o=[e,n].filter(Boolean).join(`
|
|
3
|
+
`):"",this.name="UnsubscriptionError",this.errors=r}})});function xl(e,t){if(e){var r=e.indexOf(t);0<=r&&e.splice(r,1)}}var pm=g(()=>{});function Cm(e){return e instanceof Ts||e&&"closed"in e&&Tr(e.remove)&&Tr(e.add)&&Tr(e.unsubscribe)}function hm(e){Tr(e)?e():e.unsubscribe()}var Ts,RN,Em=g(()=>{Bi();Qs();gm();pm();Ts=(function(){function e(t){this.initialTeardown=t,this.closed=!1,this._parentage=null,this._finalizers=null}return e.prototype.unsubscribe=function(){var t,r,n,o,i;if(!this.closed){this.closed=!0;var s=this._parentage;if(s)if(this._parentage=null,Array.isArray(s))try{for(var a=El(s),c=a.next();!c.done;c=a.next()){var l=c.value;l.remove(this)}}catch(h){t={error:h}}finally{try{c&&!c.done&&(r=a.return)&&r.call(a)}finally{if(t)throw t.error}}else s.remove(this);var A=this.initialTeardown;if(Tr(A))try{A()}catch(h){i=h instanceof vs?h.errors:[h]}var u=this._finalizers;if(u){this._finalizers=null;try{for(var f=El(u),m=f.next();!m.done;m=f.next()){var p=m.value;try{hm(p)}catch(h){i=i??[],h instanceof vs?i=Co(Co([],ho(i)),ho(h.errors)):i.push(h)}}}catch(h){n={error:h}}finally{try{m&&!m.done&&(o=f.return)&&o.call(f)}finally{if(n)throw n.error}}}if(i)throw new vs(i)}},e.prototype.add=function(t){var r;if(t&&t!==this)if(this.closed)hm(t);else{if(t instanceof e){if(t.closed||t._hasParent(this))return;t._addParent(this)}(this._finalizers=(r=this._finalizers)!==null&&r!==void 0?r:[]).push(t)}},e.prototype._hasParent=function(t){var r=this._parentage;return r===t||Array.isArray(r)&&r.includes(t)},e.prototype._addParent=function(t){var r=this._parentage;this._parentage=Array.isArray(r)?(r.push(t),r):r?[r,t]:t},e.prototype._removeParent=function(t){var r=this._parentage;r===t?this._parentage=null:Array.isArray(r)&&xl(r,t)},e.prototype.remove=function(t){var r=this._finalizers;r&&xl(r,t),t instanceof e&&t._removeParent(this)},e.EMPTY=(function(){var t=new e;return t.closed=!0,t})(),e})(),RN=Ts.EMPTY});var dn,Ds=g(()=>{dn={onUnhandledError:null,onStoppedNotification:null,Promise:void 0,useDeprecatedSynchronousErrorHandling:!1,useDeprecatedNextContext:!1}});var Eo,yl=g(()=>{Bi();Eo={setTimeout:function(e,t){for(var r=[],n=2;n<arguments.length;n++)r[n-2]=arguments[n];var o=Eo.delegate;return o?.setTimeout?o.setTimeout.apply(o,Co([e,t],ho(r))):setTimeout.apply(void 0,Co([e,t],ho(r)))},clearTimeout:function(e){var t=Eo.delegate;return(t?.clearTimeout||clearTimeout)(e)},delegate:void 0}});function Im(e){Eo.setTimeout(function(){var t=dn.onUnhandledError;if(t)t(e);else throw e})}var xm=g(()=>{Ds();yl()});function wl(){}var ym=g(()=>{});function Bm(e){return Bl("E",void 0,e)}function bm(e){return Bl("N",e,void 0)}function Bl(e,t,r){return{kind:e,value:t,error:r}}var wm,Sm=g(()=>{wm=(function(){return Bl("C",void 0,void 0)})()});function Qm(e){dn.useDeprecatedSynchronousErrorHandling&&bl&&(bl.errorThrown=!0,bl.error=e)}var bl,Mm=g(()=>{Ds();bl=null});function Sl(e,t){return JQ.call(e,t)}function _s(e){dn.useDeprecatedSynchronousErrorHandling?Qm(e):Im(e)}function YQ(e){throw e}function Ql(e,t){var r=dn.onStoppedNotification;r&&Eo.setTimeout(function(){return r(e,t)})}var Ml,JQ,UQ,vl,qQ,Tl=g(()=>{Bi();Qs();Em();Ds();xm();ym();Sm();yl();Mm();Ml=(function(e){wi(t,e);function t(r){var n=e.call(this)||this;return n.isStopped=!1,r?(n.destination=r,Cm(r)&&r.add(n)):n.destination=qQ,n}return t.create=function(r,n,o){return new vl(r,n,o)},t.prototype.next=function(r){this.isStopped?Ql(bm(r),this):this._next(r)},t.prototype.error=function(r){this.isStopped?Ql(Bm(r),this):(this.isStopped=!0,this._error(r))},t.prototype.complete=function(){this.isStopped?Ql(wm,this):(this.isStopped=!0,this._complete())},t.prototype.unsubscribe=function(){this.closed||(this.isStopped=!0,e.prototype.unsubscribe.call(this),this.destination=null)},t.prototype._next=function(r){this.destination.next(r)},t.prototype._error=function(r){try{this.destination.error(r)}finally{this.unsubscribe()}},t.prototype._complete=function(){try{this.destination.complete()}finally{this.unsubscribe()}},t})(Ts),JQ=Function.prototype.bind;UQ=(function(){function e(t){this.partialObserver=t}return e.prototype.next=function(t){var r=this.partialObserver;if(r.next)try{r.next(t)}catch(n){_s(n)}},e.prototype.error=function(t){var r=this.partialObserver;if(r.error)try{r.error(t)}catch(n){_s(n)}else _s(t)},e.prototype.complete=function(){var t=this.partialObserver;if(t.complete)try{t.complete()}catch(r){_s(r)}},e})(),vl=(function(e){wi(t,e);function t(r,n,o){var i=e.call(this)||this,s;if(Tr(r)||!r)s={next:r??void 0,error:n??void 0,complete:o??void 0};else{var a;i&&dn.useDeprecatedNextContext?(a=Object.create(r),a.unsubscribe=function(){return i.unsubscribe()},s={next:r.next&&Sl(r.next,a),error:r.error&&Sl(r.error,a),complete:r.complete&&Sl(r.complete,a)}):s=r}return i.destination=new UQ(s),i}return t})(Ml);qQ={closed:!0,next:wl,error:YQ,complete:wl}});function jQ(e){return Tr(e?.lift)}function ks(e){return function(t){if(jQ(t))return t.lift(function(r){try{return e(r,this)}catch(n){this.error(n)}});throw new TypeError("Unable to lift unknown Observable type")}}var Dl=g(()=>{Qs()});function vm(e,t,r,n,o){return new VQ(e,t,r,n,o)}var VQ,Tm=g(()=>{Bi();Tl();VQ=(function(e){wi(t,e);function t(r,n,o,i,s,a){var c=e.call(this,r)||this;return c.onFinalize=s,c.shouldUnsubscribe=a,c._next=n?function(l){try{n(l)}catch(A){r.error(A)}}:e.prototype._next,c._error=i?function(l){try{i(l)}catch(A){r.error(A)}finally{this.unsubscribe()}}:e.prototype._error,c._complete=o?function(){try{o()}catch(l){r.error(l)}finally{this.unsubscribe()}}:e.prototype._complete,c}return t.prototype.unsubscribe=function(){var r;if(!this.shouldUnsubscribe||this.shouldUnsubscribe()){var n=this.closed;e.prototype.unsubscribe.call(this),!n&&((r=this.onFinalize)===null||r===void 0||r.call(this))}},t})(Ml)});var Dm,_m=g(()=>{Il();Dm=Ms(function(e){return function(){e(this),this.name="EmptyError",this.message="no elements in sequence"}})});function _l(e,t){var r=typeof t=="object";return new Promise(function(n,o){var i=new vl({next:function(s){n(s),i.unsubscribe()},error:o,complete:function(){r?n(t.defaultValue):o(new Dm)}});e.subscribe(i)})}var km=g(()=>{_m();Tl()});var Nm=g(()=>{});function Lm(e,t,r,n,o){return function(i,s){var a=r,c=t,l=0;i.subscribe(vm(s,function(A){var u=l++;c=a?e(c,A,u):(a=!0,A),n&&s.next(c)},o&&(function(){a&&s.next(c),s.complete()})))}}var Fm=g(()=>{Tm()});function Rm(e,t){return ks(Lm(e,t,arguments.length>=2,!1,!0))}var Pm=g(()=>{Fm();Dl()});function kl(){return ks(function(e,t){Rm(WQ,[])(e).subscribe(t)})}var WQ,Gm=g(()=>{Pm();Dl();WQ=function(e,t){return e.push(t),e}});var Om=g(()=>{km();Nm();Gm()});var Um={};rt(Um,{default:()=>Ns});var Hm,Jm,Ns,Ym=g(()=>{"use strict";Hm=d(Rn()),Jm=d(mm());Om();Ns=class extends Jm.BaseAdapter{async configurePre(){let t=this.getSubAdapter;if(t)return(await t({...(0,Hm.readConfObject)(this.config),type:"BgzipFastaAdapter"})).dataAdapter;throw new Error("no get subadapter")}configure(){return this.configureP??=this.configurePre().catch(t=>{throw this.configureP=void 0,t}),this.configureP}async getMSARefs(){return this.refNamesP??=this.configure().then(t=>t.getRefNames()).catch(t=>{throw this.refNamesP=void 0,t}),this.refNamesP}async getMSAList(){let t=await this.getMSARefs(),r=new Set,n=this.getConf("msaRegex"),o=new RegExp(n);for(let i=0,s=t.length;i<s;i++)r.add(t[i].split(o)[0]);return[...r]}async getMSA(t){let r=await this.configure(),n=await r.getRefNames(),o=[];for(let i=0,s=n.length;i<s;i++){let a=n[i];a.startsWith(t)&&o.push(a)}return _l(r.getFeaturesInMultipleRegions(o.map(i=>({refName:i,start:0,end:1e9,assemblyName:""}))).pipe(kl()))}}});var Ce=J((kL,Wm)=>{Wm.exports=JBrowseExports["@jbrowse/core/ui"]});var _=J((NL,Km)=>{Km.exports=JBrowseExports["@mui/material"]});var Xm=J($m=>{"use strict";var Io=b();function KQ(e,t){return e===t&&(e!==0||1/e===1/t)||e!==e&&t!==t}var zQ=typeof Object.is=="function"?Object.is:KQ,$Q=Io.useState,XQ=Io.useEffect,ZQ=Io.useLayoutEffect,e1=Io.useDebugValue;function t1(e,t){var r=t(),n=$Q({inst:{value:r,getSnapshot:t}}),o=n[0].inst,i=n[1];return ZQ(function(){o.value=r,o.getSnapshot=t,Ll(o)&&i({inst:o})},[e,r,t]),XQ(function(){return Ll(o)&&i({inst:o}),e(function(){Ll(o)&&i({inst:o})})},[e]),e1(r),r}function Ll(e){var t=e.getSnapshot;e=e.value;try{var r=t();return!zQ(e,r)}catch{return!0}}function r1(e,t){return t()}var n1=typeof window>"u"||typeof window.document>"u"||typeof window.document.createElement>"u"?r1:t1;$m.useSyncExternalStore=Io.useSyncExternalStore!==void 0?Io.useSyncExternalStore:n1});var eg=J((RL,Zm)=>{"use strict";Zm.exports=Xm()});var Og,ta,eA=g(()=>{"use client";$();Og=d(R(),1),ta=(0,D.createSvgIcon)((0,Og.jsx)("path",{d:"M19.14 12.94c.04-.3.06-.61.06-.94 0-.32-.02-.64-.07-.94l2.03-1.58c.18-.14.23-.41.12-.61l-1.92-3.32c-.12-.22-.37-.29-.59-.22l-2.39.96c-.5-.38-1.03-.7-1.62-.94l-.36-2.54c-.04-.24-.24-.41-.48-.41h-3.84c-.24 0-.43.17-.47.41l-.36 2.54c-.59.24-1.13.57-1.62.94l-2.39-.96c-.22-.08-.47 0-.59.22L2.74 8.87c-.12.21-.08.47.12.61l2.03 1.58c-.05.3-.09.63-.09.94s.02.64.07.94l-2.03 1.58c-.18.14-.23.41-.12.61l1.92 3.32c.12.22.37.29.59.22l2.39-.96c.5.38 1.03.7 1.62.94l.36 2.54c.05.24.24.41.48.41h3.84c.24 0 .44-.17.47-.41l.36-2.54c.59-.24 1.13-.56 1.62-.94l2.39.96c.22.08.47 0 .59-.22l1.92-3.32c.12-.22.07-.47-.12-.61zM12 15.6c-1.98 0-3.6-1.62-3.6-3.6s1.62-3.6 3.6-3.6 3.6 1.62 3.6 3.6-1.62 3.6-3.6 3.6"}),"Settings")});var Hg,ra,tA=g(()=>{"use client";$();Hg=d(R(),1),ra=(0,D.createSvgIcon)((0,Hg.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore")});function L1(){return qg||(qg=[IDBDatabase,IDBObjectStore,IDBIndex,IDBCursor,IDBTransaction])}function F1(){return jg||(jg=[IDBCursor.prototype.advance,IDBCursor.prototype.continue,IDBCursor.prototype.continuePrimaryKey])}function R1(e){let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("success",i),e.removeEventListener("error",s)},i=()=>{r(Un(e.result)),o()},s=()=>{n(e.error),o()};e.addEventListener("success",i),e.addEventListener("error",s)});return oa.set(t,e),t}function P1(e){if(sA.has(e))return;let t=new Promise((r,n)=>{let o=()=>{e.removeEventListener("complete",i),e.removeEventListener("error",s),e.removeEventListener("abort",s)},i=()=>{r(),o()},s=()=>{n(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",i),e.addEventListener("error",s),e.addEventListener("abort",s)});sA.set(e,t)}function zg(e){aA=e(aA)}function G1(e){return F1().includes(e)?function(...t){return e.apply(cA(this),t),Un(this.request)}:function(...t){return Un(e.apply(cA(this),t))}}function O1(e){return typeof e=="function"?G1(e):(e instanceof IDBTransaction&&P1(e),iA(e,L1())?new Proxy(e,aA):e)}function Un(e){if(e instanceof IDBRequest)return R1(e);if(nA.has(e))return nA.get(e);let t=O1(e);return t!==e&&(nA.set(e,t),oa.set(t,e)),t}function vi(e,t,{blocked:r,upgrade:n,blocking:o,terminated:i}={}){let s=indexedDB.open(e,t),a=Un(s);return n&&s.addEventListener("upgradeneeded",c=>{n(Un(s.result),c.oldVersion,c.newVersion,Un(s.transaction),c)}),r&&s.addEventListener("blocked",c=>r(c.oldVersion,c.newVersion,c)),a.then(c=>{i&&c.addEventListener("close",()=>i()),o&&c.addEventListener("versionchange",l=>o(l.oldVersion,l.newVersion,l))}).catch(()=>{}),a}function Vg(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(oA.get(t))return oA.get(t);let r=t.replace(/FromIndex$/,""),n=t!==r,o=J1.includes(r);if(!(r in(n?IDBIndex:IDBObjectStore).prototype)||!(o||H1.includes(r)))return;let i=async function(s,...a){let c=this.transaction(s,o?"readwrite":"readonly"),l=c.store;return n&&(l=l.index(a.shift())),(await Promise.all([l[r](...a),o&&c.done]))[0]};return oA.set(t,i),i}async function*q1(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let r=new Proxy(t,Y1);for($g.set(r,t),oa.set(r,cA(t));t;)yield r,t=await(lA.get(r)||t.continue()),lA.delete(r)}function Kg(e,t){return t===Symbol.asyncIterator&&iA(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&iA(e,[IDBIndex,IDBObjectStore])}var iA,qg,jg,sA,nA,oa,aA,cA,H1,J1,oA,U1,Wg,lA,$g,Y1,ia=g(()=>{iA=(e,t)=>t.some(r=>e instanceof r);sA=new WeakMap,nA=new WeakMap,oa=new WeakMap;aA={get(e,t,r){if(e instanceof IDBTransaction){if(t==="done")return sA.get(e);if(t==="store")return r.objectStoreNames[1]?void 0:r.objectStore(r.objectStoreNames[0])}return Un(e[t])},set(e,t,r){return e[t]=r,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};cA=e=>oa.get(e);H1=["get","getKey","getAll","getAllKeys","count"],J1=["put","add","delete","clear"],oA=new Map;zg(e=>({...e,get:(t,r,n)=>Vg(t,r)||e.get(t,r,n),has:(t,r)=>!!Vg(t,r)||e.has(t,r)}));U1=["continue","continuePrimaryKey","advance"],Wg={},lA=new WeakMap,$g=new WeakMap,Y1={get(e,t){if(!U1.includes(t))return e[t];let r=Wg[t];return r||(r=Wg[t]=function(...n){lA.set(this,$g.get(this)[t](...n))}),r}};zg(e=>({...e,get(t,r,n){return Kg(t,r)?q1:e.get(t,r,n)},has(t,r){return Kg(t,r)||e.has(t,r)}}))});var Ap,ca,AA=g(()=>{"use client";$();Ap=d(R(),1),ca=(0,D.createSvgIcon)((0,Ap.jsx)("path",{d:"M19 19H5V5h7V3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.1 0 2-.9 2-2v-7h-2zM14 3v2h3.59l-9.83 9.83 1.41 1.41L19 6.41V10h2V3z"}),"OpenInNew")});function Yn(e){let{children:t,...r}=e;return uA.default.createElement(up.Link,{...r,target:"_blank",rel:"noreferrer"},t," ",uA.default.createElement(ca,{fontSize:"small"}))}var uA,up,la=g(()=>{"use strict";uA=d(b());AA();up=d(_())});var wp=g(()=>{});var Bp=g(()=>{wp()});function lM(e){try{let s=Y.__wbindgen_add_to_stack_pointer(-16),a=EA(e,Y.__wbindgen_export2),c=ga;Y.decompress_all(s,a,c);var t=Ke().getInt32(s+0,!0),r=Ke().getInt32(s+4,!0),n=Ke().getInt32(s+8,!0),o=Ke().getInt32(s+12,!0);if(o)throw IA(n);var i=hA(t,r).slice();return Y.__wbindgen_export(t,r*1,1),i}finally{Y.__wbindgen_add_to_stack_pointer(16)}}function AM(e){try{let o=Y.__wbindgen_add_to_stack_pointer(-16),i=EA(e,Y.__wbindgen_export2),s=ga;Y.decompress_block(o,i,s);var t=Ke().getInt32(o+0,!0),r=Ke().getInt32(o+4,!0),n=Ke().getInt32(o+8,!0);if(n)throw IA(r);return Mo.__wrap(t)}finally{Y.__wbindgen_add_to_stack_pointer(16)}}function uM(e,t,r,n,o){try{let c=Y.__wbindgen_add_to_stack_pointer(-16),l=EA(e,Y.__wbindgen_export2),A=ga;Y.decompress_chunk_slice(c,l,A,t,r,n,o);var i=Ke().getInt32(c+0,!0),s=Ke().getInt32(c+4,!0),a=Ke().getInt32(c+8,!0);if(a)throw IA(s);return Qo.__wrap(i)}finally{Y.__wbindgen_add_to_stack_pointer(16)}}function fM(e,t){let r=Error(vp(e,t));return mM(r)}function dM(e,t){throw new Error(vp(e,t))}function mM(e){Ti===Kr.length&&Kr.push(Kr.length+1);let t=Ti;return Ti=Kr[t],Kr[t]=e,t}function gM(e){e<132||(Kr[e]=Ti,Ti=e)}function Qp(e,t){return e=e>>>0,pM().subarray(e/8,e/8+t)}function hA(e,t){return e=e>>>0,CA().subarray(e/1,e/1+t)}function Ke(){return(So===null||So.buffer.detached===!0||So.buffer.detached===void 0&&So.buffer!==Y.memory.buffer)&&(So=new DataView(Y.memory.buffer)),So}function pM(){return(fa===null||fa.byteLength===0)&&(fa=new Float64Array(Y.memory.buffer)),fa}function vp(e,t){return e=e>>>0,EM(e,t)}function CA(){return(da===null||da.byteLength===0)&&(da=new Uint8Array(Y.memory.buffer)),da}function hM(e){return Kr[e]}function EA(e,t){let r=t(e.length*1,1)>>>0;return CA().set(e,r/1),ga=e.length,r}function IA(e){let t=hM(e);return gM(e),t}function EM(e,t){return pA+=t,pA>=CM&&(ma=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0}),ma.decode(),pA=t),ma.decode(CA().subarray(e,e+t))}function IM(e){Y=e}var qn,Mp,Qo,Mo,bp,Sp,So,fa,da,Kr,Ti,ma,CM,pA,ga,Y,Tp=g(()=>{qn={};qn.d=(e,t)=>{for(var r in t)qn.o(t,r)&&!qn.o(e,r)&&Object.defineProperty(e,r,{enumerable:!0,get:t[r]})};qn.o=(e,t)=>Object.prototype.hasOwnProperty.call(e,t);qn.r=e=>{typeof Symbol<"u"&&Symbol.toStringTag&&Object.defineProperty(e,Symbol.toStringTag,{value:"Module"}),Object.defineProperty(e,"__esModule",{value:!0})};Mp={};qn.r(Mp);qn.d(Mp,{ChunkSliceResult:()=>Qo,DecompressResult:()=>Mo,__wbg_Error_8c4e43fe74559d73:()=>fM,__wbg___wbindgen_throw_be289d5034ed271b:()=>dM,__wbg_set_wasm:()=>IM,decompress_all:()=>lM,decompress_block:()=>AM,decompress_chunk_slice:()=>uM});Qo=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,bp.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,bp.unregister(this),t}free(){let t=this.__destroy_into_raw();Y.__wbg_chunksliceresult_free(t,0)}get buffer(){try{let o=Y.__wbindgen_add_to_stack_pointer(-16);Y.chunksliceresult_buffer(o,this.__wbg_ptr);var t=Ke().getInt32(o+0,!0),r=Ke().getInt32(o+4,!0),n=hA(t,r).slice();return Y.__wbindgen_export(t,r*1,1),n}finally{Y.__wbindgen_add_to_stack_pointer(16)}}get cpositions(){try{let o=Y.__wbindgen_add_to_stack_pointer(-16);Y.chunksliceresult_cpositions(o,this.__wbg_ptr);var t=Ke().getInt32(o+0,!0),r=Ke().getInt32(o+4,!0),n=Qp(t,r).slice();return Y.__wbindgen_export(t,r*8,8),n}finally{Y.__wbindgen_add_to_stack_pointer(16)}}get dpositions(){try{let o=Y.__wbindgen_add_to_stack_pointer(-16);Y.chunksliceresult_dpositions(o,this.__wbg_ptr);var t=Ke().getInt32(o+0,!0),r=Ke().getInt32(o+4,!0),n=Qp(t,r).slice();return Y.__wbindgen_export(t,r*8,8),n}finally{Y.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(Qo.prototype[Symbol.dispose]=Qo.prototype.free);Mo=class e{static __wrap(t){t=t>>>0;let r=Object.create(e.prototype);return r.__wbg_ptr=t,Sp.register(r,r.__wbg_ptr,r),r}__destroy_into_raw(){let t=this.__wbg_ptr;return this.__wbg_ptr=0,Sp.unregister(this),t}free(){let t=this.__destroy_into_raw();Y.__wbg_decompressresult_free(t,0)}get bytes_read(){return Y.decompressresult_bytes_read(this.__wbg_ptr)>>>0}get data(){try{let o=Y.__wbindgen_add_to_stack_pointer(-16);Y.decompressresult_data(o,this.__wbg_ptr);var t=Ke().getInt32(o+0,!0),r=Ke().getInt32(o+4,!0),n=hA(t,r).slice();return Y.__wbindgen_export(t,r*1,1),n}finally{Y.__wbindgen_add_to_stack_pointer(16)}}};Symbol.dispose&&(Mo.prototype[Symbol.dispose]=Mo.prototype.free);bp=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Y.__wbg_chunksliceresult_free(e>>>0,1)),Sp=typeof FinalizationRegistry>"u"?{register:()=>{},unregister:()=>{}}:new FinalizationRegistry(e=>Y.__wbg_decompressresult_free(e>>>0,1));So=null;fa=null;da=null;Kr=new Array(128).fill(void 0);Kr.push(void 0,null,!0,!1);Ti=Kr.length;ma=new TextDecoder("utf-8",{ignoreBOM:!0,fatal:!0});ma.decode();CM=2146435072,pA=0;ga=0});var xA=g(()=>{Tp()});var Dp=g(()=>{});var kp=g(()=>{Bp();xA();Dp()});var Np=g(()=>{kp();xA()});function yA(){let e=(0,vo.useRef)(null),[t,r]=(0,vo.useState)({width:void 0,height:void 0});return(0,vo.useEffect)(()=>{if(!e.current)return;let n=typeof window<"u"&&"ResizeObserver"in window?window.ResizeObserver:void 0;if(!n)return;let o=new n(i=>{r({width:i[0].contentRect.width,height:i[0].contentRect.height})});return o.observe(e.current),()=>{o.disconnect()}},[]),[e,t]}var vo,Lp=g(()=>{vo=d(b(),1)});var Rp=J((h3,Fp)=>{Fp.exports=JBrowseExports["react-dom"]});var Gp=J((C3,Pp)=>{Pp.exports=JBrowseExports["react-dom/client"]});function Op(e){let t="",r=!1;for(let n=0,o=e.length;n<o;n++){let i=e[n];i==="<"?r=!0:i===">"?r=!1:r||(t+=i)}return t}var wA=g(()=>{});var Hp=g(()=>{});var Jp=g(()=>{});var Up=g(()=>{});function pa(e){return typeof e=="object"&&e!==null&&"uri"in e&&!!e.uri}var xM,BA=g(()=>{xM=d(Ft(),1);Up()});var zr=J((B3,Yp)=>{Yp.exports=JBrowseExports.mobx});var yM,qp=g(()=>{yM=d(zr(),1)});var jp=g(()=>{});var Vp=g(()=>{});var To,ha,bA,SA,wM,Di,Ca,Wp=g(()=>{To={METHOD:"method",PROPERTY:"property"},ha=class{constructor(t,r){this.inst=t,this.args=r}},bA=class extends ha{constructor(t,r){super(t,r),this.type=To.METHOD}execute(t){t[this.inst](...this.args)}},SA=class extends ha{constructor(t,r){super(t,r),this.type=To.PROPERTY}execute(t){t[this.inst]=this.args[0]}},wM={[To.METHOD]:bA,[To.PROPERTY]:SA},Di=class{constructor(t,r,n){return new wM[t](r,n)}};Di.METHOD=To.METHOD;Di.PROPERTY=To.PROPERTY;Ca=Di});var Kp,Dr,Ea,QA=g(()=>{Wp();Kp=Object.freeze({METHODS:["addHitRegion","arc","arcTo","beginPath","bezierCurveTo","clearHitRegions","clearRect","clip","closePath","drawFocusIfNeeded","drawImage","ellipse","fill","fillRect","fillText","lineTo","moveTo","putImageData","quadraticCurveTo","rect","removeHitRegion","resetTransform","restore","rotate","save","scale","scrollPathIntoView","setLineDash","setTransform","stroke","strokeRect","strokeText","transform","translate"],PROPERTIES:["direction","fillStyle","filter","font","globalAlpha","globalCompositeOperation","imageSmoothingEnabled","imageSmoothingQuality","lineCap","lineDashOffset","lineJoin","lineWidth","miterLimit","shadowBlur","shadowColor","shadowOffsetX","shadowOffsetY","strokeStyle","textAlign","textBaseline"]}),Dr=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push"),fromJSON:Symbol.for("fromJSON")}),Ea=class{constructor(t=null){this[Dr.sequence]=[],t&&this[Dr.fromJSON](t)}[Dr.fromJSON](t={sequence:[]}){t.sequence.forEach(({type:r,inst:n,args:o})=>{this[Dr.push](r,n,o)})}[Dr.push](t,r,n){this[Dr.sequence].push(new Ca(t,r,n))}execute(t){t.save(),this[Dr.sequence].forEach(r=>r.execute(t)),t.restore()}toJSON(){return{sequence:this[Dr.sequence]}}};Kp.METHODS.forEach(e=>{Object.defineProperty(Ea.prototype,e,{value:function(...r){this[Dr.push](Ca.METHOD,e,r)},writable:!1,enumerable:!0,configurable:!1})});Kp.PROPERTIES.forEach(e=>{Object.defineProperty(Ea.prototype,e,{get(){throw`Invalid canvas sequencer interaction, cannot get ${e}.`},set(t){this[Dr.push](Ca.PROPERTY,e,[t])},enumerable:!0,configurable:!1})})});var _3,$p=g(()=>{QA();_3=Object.freeze({sequence:Symbol.for("sequence"),push:Symbol.for("push")})});var Xp=g(()=>{$p();QA()});var eh=J((P3,Zp)=>{Zp.exports=!1});var BM,th=g(()=>{Xp();BM=d(eh(),1)});var bM,SM,rh=g(()=>{bM=d(R(),1),SM=d(b(),1)});var nh=g(()=>{});var U3,Y3,q3,j3,oh=g(()=>{U3=new Uint8Array([99,124,119,123,242,107,111,197,48,1,103,43,254,215,171,118,202,130,201,125,250,89,71,240,173,212,162,175,156,164,114,192,183,253,147,38,54,63,247,204,52,165,229,241,113,216,49,21,4,199,35,195,24,150,5,154,7,18,128,226,235,39,178,117,9,131,44,26,27,110,90,160,82,59,214,179,41,227,47,132,83,209,0,237,32,252,177,91,106,203,190,57,74,76,88,207,208,239,170,251,67,77,51,133,69,249,2,127,80,60,159,168,81,163,64,143,146,157,56,245,188,182,218,33,16,255,243,210,205,12,19,236,95,151,68,23,196,167,126,61,100,93,25,115,96,129,79,220,34,42,144,136,70,238,184,20,222,94,11,219,224,50,58,10,73,6,36,92,194,211,172,98,145,149,228,121,231,200,55,109,141,213,78,169,108,86,244,234,101,122,174,8,186,120,37,46,28,166,180,198,232,221,116,31,75,189,139,138,112,62,181,102,72,3,246,14,97,53,87,185,134,193,29,158,225,248,152,17,105,217,142,148,155,30,135,233,206,85,40,223,140,161,137,13,191,230,66,104,65,153,45,15,176,84,187,22]),Y3=new Uint8Array([82,9,106,213,48,54,165,56,191,64,163,158,129,243,215,251,124,227,57,130,155,47,255,135,52,142,67,68,196,222,233,203,84,123,148,50,166,194,35,61,238,76,149,11,66,250,195,78,8,46,161,102,40,217,36,178,118,91,162,73,109,139,209,37,114,248,246,100,134,104,152,22,212,164,92,204,93,101,182,146,108,112,72,80,253,237,185,218,94,21,70,87,167,141,157,132,144,216,171,0,140,188,211,10,247,228,88,5,184,179,69,6,208,44,30,143,202,63,15,2,193,175,189,3,1,19,138,107,58,145,17,65,79,103,220,234,151,242,207,206,240,180,230,115,150,172,116,34,231,173,53,133,226,249,55,232,28,117,223,110,71,241,26,113,29,41,197,137,111,183,98,14,170,24,190,27,252,86,62,75,198,210,121,32,154,219,192,254,120,205,90,244,31,221,168,51,136,7,199,49,177,18,16,89,39,128,236,95,96,81,127,169,25,181,74,13,45,229,122,159,147,201,156,239,160,224,59,77,174,42,245,176,200,235,187,60,131,83,153,97,23,43,4,126,186,119,214,38,225,105,20,99,85,33,12,125]),q3=new Uint8Array([1,2,4,8,16,32,64,128,27,54]),j3=new Uint32Array([1116352408,1899447441,3049323471,3921009573,961987163,1508970993,2453635748,2870763221,3624381080,310598401,607225278,1426881987,1925078388,2162078206,2614888103,3248222580,3835390401,4022224774,264347078,604807628,770255983,1249150122,1555081692,1996064986,2554220882,2821834349,2952996808,3210313671,3336571891,3584528711,113926993,338241895,666307205,773529912,1294757372,1396182291,1695183700,1986661051,2177026350,2456956037,2730485921,2820302411,3259730800,3345764771,3516065817,3600352804,4094571909,275423344,430227734,506948616,659060556,883997877,958139571,1322822218,1537002063,1747873779,1955562222,2024104815,2227730452,2361852424,2428436474,2756734187,3204031479,3329325298])});var ih=g(()=>{});var sh=g(()=>{});var ah=g(()=>{ia()});var Ia,ch=g(()=>{Ia=d(Ft(),1)});function vA(e,t=10){let r=String(e),n=0;for(let o=0,i=r.length;o<i;o++)n+=vM[r.charCodeAt(o)]??TM;return n*t}function TA(e){let t=0;if(e.length===0)return t;for(let r=0;r<e.length;r++){let n=e.charCodeAt(r);t=(t<<5)-t+n,t|=0}return t}function DM(e){let{uri:t,baseUri:r=""}=e,n;try{n=new URL(t,r).href}catch{n=t}return n}function DA(e){return or(e)?pa(e)?DM(e):JSON.stringify(e):String(e)}function lh(e){let t=/(^|[\s\n]|<[A-Za-z]*\/?>)((?:https?|ftp):\/\/[-A-Z0-9+\u0026\u2019@#/%?=()~_|!:,.;]*[-A-Z0-9+\u0026@#/%=~()_|])/gi;return e.replaceAll(t,`$1<a href='$2' target="_blank">$2</a>`)}function Ah(e,t){let{padding:r=30,minWidth:n=80,fontSize:o=12,maxWidth:i=1e3,stripHTML:s=!1}=t||{};return _A(e.map(a=>DA(a)).map(a=>s?Op(a):a).map(a=>vA(a,o)).map(a=>Math.min(Math.max(a+r,n),i)))}function _A(e,t=Number.NEGATIVE_INFINITY){let r=t;for(let n of e)r=Math.max(n,r);return r}function or(e){return typeof e=="object"&&e!==null}var MA,Do,QM,MM,s5,a5,c5,l5,vM,TM,Cn=g(()=>{MA=d(b(),1);Np();Do=d(Ft(),1),QM=d(Rp(),1),MM=d(Gp(),1);wA();BA();BA();qp();jp();Vp();wA();th();rh();nh();oh();ih();sh();Hp();Jp();ch();ah();s5=180/Math.PI,a5=Math.PI/180,c5=/electron/i.test(typeof navigator<"u"?navigator.userAgent:""),l5=typeof jest>"u"?typeof window<"u"&&window.requestIdleCallback?window.requestIdleCallback:e=>setTimeout(()=>{e()},1):e=>{e()},vM=[0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,0,.2796875,.2765625,.3546875,.5546875,.5546875,.8890625,.665625,.190625,.3328125,.3328125,.3890625,.5828125,.2765625,.3328125,.2765625,.3015625,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.5546875,.2765625,.2765625,.584375,.5828125,.584375,.5546875,1.0140625,.665625,.665625,.721875,.721875,.665625,.609375,.7765625,.721875,.2765625,.5,.665625,.5546875,.8328125,.721875,.7765625,.665625,.7765625,.721875,.665625,.609375,.721875,.665625,.94375,.665625,.665625,.609375,.2765625,.3546875,.2765625,.4765625,.5546875,.3328125,.5546875,.5546875,.5,.5546875,.5546875,.2765625,.5546875,.5546875,.221875,.240625,.5,.221875,.8328125,.5546875,.5546875,.5546875,.5546875,.3328125,.5,.2765625,.5546875,.5,.721875,.5,.5,.5,.3546875,.259375,.353125,.5890625],TM=.5279276315789471});var Bh=J((sP,wh)=>{wh.exports=JBrowseExports["@jbrowse/core/pluggableElementTypes/ViewType"]});var Sh,Qh,No,PA=g(()=>{Sh=d(R(),1),Qh=d(b(),1),No=class extends Qh.Component{constructor(t){super(t),this.state={error:void 0}}componentDidCatch(t,r){console.error("ErrorBoundary caught an error:",t,r),this.setState({error:t})}render(){return this.state.error?(0,Sh.jsx)(this.props.FallbackComponent,{error:this.state.error}):this.props.children}}});var ut,GA,Mh,vh,Th=g(()=>{ut=d(b(),1),GA=d(O(),1),Mh=(0,GA.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,ut.useState)(!1),o=(0,ut.useRef)(!1),i=(0,ut.useRef)(0);return(0,ut.useEffect)(()=>{function s(c){c.preventDefault();let l=c.clientX;if(i.current===0)i.current=c.clientX;else{let A=l-i.current;A&&(o.current||(o.current=!0,window.requestAnimationFrame(()=>{e.setTreeAreaWidth(e.treeAreaWidth+A),o.current=!1,i.current=c.clientX})))}}function a(){i.current=0,r&&n(!1)}return r?(document.addEventListener("mousemove",s,!0),document.addEventListener("mouseup",a,!0),()=>{document.removeEventListener("mousemove",s,!0),document.removeEventListener("mouseup",a,!0)}):()=>{}},[r,e]),ut.default.createElement("div",null,ut.default.createElement("div",{onMouseDown:()=>{n(!0)},style:{cursor:"ew-resize",height:"100%",width:t,background:"rgba(200,200,200)",position:"relative"}}))}),vh=(0,GA.observer)(function({model:e}){let{resizeHandleWidth:t}=e,[r,n]=(0,ut.useState)(!1),o=(0,ut.useRef)(!1),i=(0,ut.useRef)(0);return(0,ut.useEffect)(()=>{function s(c){c.preventDefault();let l=c.clientY;if(i.current===0)i.current=c.clientY;else{let A=l-i.current;A&&(o.current||(o.current=!0,window.requestAnimationFrame(()=>{e.setHeight(e.height+A),o.current=!1,i.current=c.clientY})))}}function a(){i.current=0,r&&n(!1)}return r?(document.addEventListener("mousemove",s,!0),document.addEventListener("mouseup",a,!0),()=>{document.removeEventListener("mousemove",s,!0),document.removeEventListener("mouseup",a,!0)}):()=>{}},[r,e]),ut.default.createElement("div",null,ut.default.createElement("div",{onMouseDown:()=>{n(!0)},style:{cursor:"ns-resize",width:"100%",height:t,background:"rgba(200,200,200)",position:"relative"}}))})});var Dh,_h,kh=g(()=>{"use client";$();Dh=d(R(),1),_h=(0,D.createSvgIcon)((0,Dh.jsx)("path",{d:"m7 10 5 5 5-5z"}),"ArrowDropDown")});function PM(){let e=document.getSelection();if(!e?.rangeCount)return()=>{};let t=document.activeElement,r=[];for(let o=0;o<e.rangeCount;o++)r.push(e.getRangeAt(o));let n=t?.tagName.toUpperCase();return(n==="INPUT"||n==="TEXTAREA")&&t?.blur(),e.removeAllRanges(),()=>{if(e.type==="Caret"&&e.removeAllRanges(),!e.rangeCount)for(let o of r)e.addRange(o);t?.focus()}}function _i(e,t){let r=t?.debug||!1,n=!1,o,i,s=null,a;try{if(o=PM(),i=document.createRange(),s=document.getSelection(),a=document.createElement("span"),a.textContent=e,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top="0",a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",l=>{l.stopPropagation(),t?.format&&(l.preventDefault(),l.clipboardData&&(l.clipboardData.clearData(),l.clipboardData.setData(t.format,e))),t?.onCopy&&l.clipboardData&&(l.preventDefault(),t.onCopy(l.clipboardData))}),document.body.append(a),i.selectNodeContents(a),s?.addRange(i),!document.execCommand("copy"))throw new Error("copy command was unsuccessful");n=!0}catch(c){r&&console.error("unable to copy using execCommand:",c);try{let l=window.clipboardData;l&&(l.setData(t?.format||"text",e),t?.onCopy?.(l),n=!0)}catch(l){r&&console.error("unable to copy using clipboardData:",l)}}finally{s&&(typeof s.removeRange=="function"&&i?s.removeRange(i):s.removeAllRanges()),a&&a.remove(),o?.()}return n}var OA=g(()=>{});var Rh={};rt(Rh,{default:()=>HM});var Xr,Nh,Wn,Lh,Fh,GM,OM,HM,Ph=g(()=>{Xr=d(b(),1),Nh=d(Ce(),1),Wn=d(_(),1),Lh=d(O(),1),Fh=d(Ue(),1);OA();GM=(0,Fh.makeStyles)()(e=>({textArea:{padding:e.spacing(2),overflow:"auto",background:"#ddd",wordBreak:"break-word"}})),OM=(0,Lh.observer)(function({model:e,onClose:t}){let[r,n]=(0,Xr.useState)("Copy to clipboard"),{classes:o}=GM();return Xr.default.createElement(Nh.Dialog,{open:!0,onClose:t,fullWidth:!0,maxWidth:"lg",title:`Track info - ${e.name}`},Xr.default.createElement(Wn.DialogContent,null,Xr.default.createElement(Wn.Button,{variant:"contained",color:"primary",onClick:()=>{_i(e.data),n("Copied!"),setTimeout(()=>{n("Copy to clipboard")},300)}},r),Xr.default.createElement("pre",{className:o.textArea},e.data)),Xr.default.createElement(Wn.DialogActions,null,Xr.default.createElement(Wn.Button,{variant:"contained",onClick:t,color:"secondary"},"Close")))}),HM=OM});var be,Kn,HA,Gh,JM,UM,YM,qM,Oh,Hh=g(()=>{be=d(b(),1);kh();Kn=d(_(),1),HA=d(O(),1),Gh=d(Ue(),1),JM=(0,be.lazy)(()=>Promise.resolve().then(()=>(Ph(),Rh))),UM=(0,Gh.makeStyles)()({button:{padding:0}}),YM=(0,HA.observer)(function({model:t,track:r}){let[n,o]=(0,be.useState)(),{drawLabels:i,rowHeight:s,treeAreaWidth:a}=t,{model:{name:c,height:l}}=r,{classes:A}=UM(),u=Math.max(8,s-8);return be.default.createElement("div",{style:{width:a,height:l,flexShrink:0,textAlign:"right",fontSize:u}},i?c:""," ",be.default.createElement(Kn.IconButton,{className:A.button,style:{width:u,height:u},onClick:f=>{o(f.currentTarget)}},be.default.createElement(_h,null)),n?be.default.createElement(Kn.Menu,{anchorEl:n,transitionDuration:0,open:!0,onClose:()=>{o(void 0)}},be.default.createElement(Kn.MenuItem,{dense:!0,onClick:()=>{t.toggleTrack(r.model.id),o(void 0)}},"Close"),be.default.createElement(Kn.MenuItem,{dense:!0,onClick:()=>{t.queueDialog(f=>[JM,{onClose:f,model:r.model}]),o(void 0)}},"Get info")):null)}),qM=(0,HA.observer)(function({model:e,track:t}){let{resizeHandleWidth:r,colWidth:n,scrollX:o,numColumns:i}=e,{model:{height:s,error:a}}=t,c=(0,be.useRef)(null),l=(0,be.useRef)(!1),A=(0,be.useRef)(0);return(0,be.useEffect)(()=>{let u=c.current;if(!u)return;function f(m){A.current+=m.deltaX,l.current||(l.current=!0,requestAnimationFrame(()=>{e.doScrollX(-A.current),A.current=0,l.current=!1})),m.preventDefault()}return u.addEventListener("wheel",f,{passive:!1}),()=>{u.removeEventListener("wheel",f)}},[e]),be.default.createElement("div",{key:t.id,style:{display:"flex",height:s}},be.default.createElement(YM,{model:e,track:t}),be.default.createElement("div",{style:{width:r,flexShrink:0}}),be.default.createElement("div",{ref:c,onMouseMove:u=>{if(!c.current)return;let{left:f}=c.current.getBoundingClientRect(),m=u.clientX-f-o,p=Math.floor(m/n);p>=0&&p<i?e.setMousePos(p,void 0):e.setMousePos(void 0,void 0)},onMouseLeave:()=>{e.setMousePos(void 0,void 0)}},a?be.default.createElement("div",{style:{color:"red",fontSize:10}},`${a}`):be.default.createElement(t.ReactComponent,{model:e,track:t})))}),Oh=qM});var _r,Jh,Uh,jM,Yh,qh=g(()=>{_r=d(b(),1),Jh=d(ae(),1),Uh=d(O(),1),jM=(0,Uh.observer)(({model:e})=>{let{msaAreaHeight:t,scrollY:r,totalHeight:n}=e,[o,i]=(0,_r.useState)(!1),s=(0,_r.useRef)(!1),[a,c]=(0,_r.useState)(),l="rgba(66, 119, 127, 0.3)",A=t/n,u=-r,f=u+t,m=u*A,p=f*A;return(0,_r.useEffect)(()=>{function h(C){a!==void 0&&(s.current||(s.current=!0,window.requestAnimationFrame(()=>{e.setScrollY((0,Jh.clamp)(a.scrollY-(C.clientY-a.clientY)/A,-n,0)),s.current=!1})))}function E(){c(void 0)}if(a!==void 0)return document.addEventListener("mousemove",h),document.addEventListener("mouseup",E),()=>{document.removeEventListener("mousemove",h),document.removeEventListener("mousemove",E)}},[e,A,n,a]),_r.default.createElement("div",{style:{position:"relative",width:20,height:t,borderLeft:"1px solid #555",borderTop:"1px solid #555",boxSizing:"border-box"}},_r.default.createElement("div",{style:{position:"absolute",top:Math.max(0,m),left:0,background:o?"rgba(66,119,127,0.6)":l,cursor:"pointer",boxSizing:"border-box",width:20,height:Math.max(p-m,20),zIndex:100},onMouseOver:()=>{i(!0)},onMouseOut:()=>{i(!1)},onMouseDown:h=>{c({clientY:h.clientY,scrollY:e.scrollY})}}))}),Yh=jM});var jh,Vh,Wh=g(()=>{"use client";$();jh=d(R(),1),Vh=(0,D.createSvgIcon)((0,jh.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m1 17h-2v-2h2zm2.07-7.75-.9.92C13.45 12.9 13 13.5 13 15h-2v-.5c0-1.1.45-2.1 1.17-2.83l1.24-1.26c.37-.36.59-.86.59-1.41 0-1.1-.9-2-2-2s-2 .9-2 2H8c0-2.21 1.79-4 4-4s4 1.79 4 4c0 .88-.36 1.68-.93 2.25"}),"Help")});var wa,Ba,Kh,VM,zh,$h=g(()=>{wa=d(b(),1),Ba=d(_(),1),Kh=d(O(),1),VM=(0,Kh.observer)(function({model:t}){let{hideGaps:r,allowedGappyness:n}=t;return r?wa.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:8}},wa.default.createElement(Ba.Typography,{style:{whiteSpace:"nowrap"}},"Hide columns w/ >",n,"% gaps"),wa.default.createElement(Ba.Slider,{style:{width:100},min:1,max:100,value:n,onChange:(o,i)=>{t.setAllowedGappyness(i)}})):null}),zh=VM});var Xh,Zh,e0,t0,WM,KM,r0,n0=g(()=>{Xh=d(b(),1),Zh=d(_(),1),e0=d(O(),1),t0=d(Ue(),1),WM=(0,t0.makeStyles)()({margin:{margin:"auto",marginLeft:10}}),KM=(0,e0.observer)(function({model:e}){let{mouseOverRowName:t,mouseCol:r}=e,{classes:n}=WM();return t&&r!==void 0?Xh.default.createElement(Zh.Typography,{className:n.margin},t,":",e.visibleColToSeqPosOneBased(t,r)," (",e.visibleColToRowLetter(t,r),")"):null}),r0=KM});var o0,i0,s0=g(()=>{"use client";$();o0=d(R(),1),i0=(0,D.createSvgIcon)((0,o0.jsx)("path",{d:"M10 6 8.59 7.41 13.17 12l-4.58 4.59L10 18l6-6z"}),"ChevronRight")});var a0,c0,l0=g(()=>{"use client";$();a0=d(R(),1),c0=(0,D.createSvgIcon)((0,a0.jsx)("path",{d:"M11 18h2v-2h-2zm1-16C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.41 0-8-3.59-8-8s3.59-8 8-8 8 3.59 8 8-3.59 8-8 8m0-14c-2.21 0-4 1.79-4 4h2c0-1.1.9-2 2-2s2 .9 2 2c0 2-3 1.75-3 5h2c0-2.25 3-2.5 3-5 0-2.21-1.79-4-4-4"}),"HelpOutline")});var A0,ba,JA=g(()=>{"use client";$();A0=d(R(),1),ba=(0,D.createSvgIcon)((0,A0.jsx)("path",{d:"M19 6.41 17.59 5 12 10.59 6.41 5 5 6.41 10.59 12 5 17.59 6.41 19 12 13.41 17.59 19 19 17.59 13.41 12z"}),"Close")});var u0,f0,d0=g(()=>{"use client";$();u0=d(R(),1),f0=(0,D.createSvgIcon)((0,u0.jsx)("path",{d:"M17.65 6.35C16.2 4.9 14.21 4 12 4c-4.42 0-7.99 3.58-7.99 8s3.57 8 7.99 8c3.73 0 6.84-2.55 7.73-6h-2.08c-.82 2.33-3.04 4-5.65 4-3.31 0-6-2.69-6-6s2.69-6 6-6c1.66 0 3.14.69 4.22 1.78L13 11h7V4z"}),"Refresh")});var m0,g0,p0=g(()=>{"use client";$();m0=d(R(),1),g0=(0,D.createSvgIcon)((0,m0.jsx)("path",{d:"M15.73 3H8.27L3 8.27v7.46L8.27 21h7.46L21 15.73V8.27zM12 17.3c-.72 0-1.3-.58-1.3-1.3s.58-1.3 1.3-1.3 1.3.58 1.3 1.3-.58 1.3-1.3 1.3m1-4.3h-2V7h2z"}),"Report")});function $M(e){if(e.sheet)return e.sheet;for(var t=0;t<document.styleSheets.length;t++)if(document.styleSheets[t].ownerNode===e)return document.styleSheets[t]}function XM(e){var t=document.createElement("style");return t.setAttribute("data-emotion",e.key),e.nonce!==void 0&&t.setAttribute("nonce",e.nonce),t.appendChild(document.createTextNode("")),t.setAttribute("data-s",""),t}var zM,h0,C0=g(()=>{zM=!1;h0=(function(){function e(r){var n=this;this._insertTag=function(o){var i;n.tags.length===0?n.insertionPoint?i=n.insertionPoint.nextSibling:n.prepend?i=n.container.firstChild:i=n.before:i=n.tags[n.tags.length-1].nextSibling,n.container.insertBefore(o,i),n.tags.push(o)},this.isSpeedy=r.speedy===void 0?!zM:r.speedy,this.tags=[],this.ctr=0,this.nonce=r.nonce,this.key=r.key,this.container=r.container,this.prepend=r.prepend,this.insertionPoint=r.insertionPoint,this.before=null}var t=e.prototype;return t.hydrate=function(n){n.forEach(this._insertTag)},t.insert=function(n){this.ctr%(this.isSpeedy?65e3:1)===0&&this._insertTag(XM(this));var o=this.tags[this.tags.length-1];if(this.isSpeedy){var i=$M(o);try{i.insertRule(n,i.cssRules.length)}catch{}}else o.appendChild(document.createTextNode(n));this.ctr++},t.flush=function(){this.tags.forEach(function(n){var o;return(o=n.parentNode)==null?void 0:o.removeChild(n)}),this.tags=[],this.ctr=0},e})()});var st,ki,Z,Sa,Lo,Fo,E0,Qa,I0,Ma=g(()=>{st="-ms-",ki="-moz-",Z="-webkit-",Sa="comm",Lo="rule",Fo="decl",E0="@import",Qa="@keyframes",I0="@layer"});function w0(e,t){return _e(e,0)^45?(((t<<2^_e(e,0))<<2^_e(e,1))<<2^_e(e,2))<<2^_e(e,3):0}function va(e){return e.trim()}function UA(e,t){return(e=t.exec(e))?e[0]:e}function K(e,t,r){return e.replace(t,r)}function Ni(e,t){return e.indexOf(t)}function _e(e,t){return e.charCodeAt(t)|0}function En(e,t,r){return e.slice(t,r)}function Et(e){return e.length}function Ro(e){return e.length}function Po(e,t){return t.push(e),e}function YA(e,t){return e.map(t).join("")}var x0,zn,y0,Go=g(()=>{x0=Math.abs,zn=String.fromCharCode,y0=Object.assign});function Li(e,t,r,n,o,i,s){return{value:e,root:t,parent:r,type:n,props:o,children:i,line:Ta,column:Oo,length:s,return:""}}function Uo(e,t){return y0(Li("",null,null,"",null,null,0),e,{length:-e.length},t)}function b0(){return Ge}function S0(){return Ge=It>0?_e(Jo,--It):0,Oo--,Ge===10&&(Oo=1,Ta--),Ge}function xt(){return Ge=It<B0?_e(Jo,It++):0,Oo++,Ge===10&&(Oo=1,Ta++),Ge}function ir(){return _e(Jo,It)}function Fi(){return It}function Yo(e,t){return En(Jo,e,t)}function Ho(e){switch(e){case 0:case 9:case 10:case 13:case 32:return 5;case 33:case 43:case 44:case 47:case 62:case 64:case 126:case 59:case 123:case 125:return 4;case 58:return 3;case 34:case 39:case 40:case 91:return 2;case 41:case 93:return 1}return 0}function Da(e){return Ta=Oo=1,B0=Et(Jo=e),It=0,[]}function _a(e){return Jo="",e}function qo(e){return va(Yo(It-1,qA(e===91?e+2:e===40?e+1:e)))}function Q0(e){for(;(Ge=ir())&&Ge<33;)xt();return Ho(e)>2||Ho(Ge)>3?"":" "}function M0(e,t){for(;--t&&xt()&&!(Ge<48||Ge>102||Ge>57&&Ge<65||Ge>70&&Ge<97););return Yo(e,Fi()+(t<6&&ir()==32&&xt()==32))}function qA(e){for(;xt();)switch(Ge){case e:return It;case 34:case 39:e!==34&&e!==39&&qA(Ge);break;case 40:e===41&&qA(e);break;case 92:xt();break}return It}function v0(e,t){for(;xt()&&e+Ge!==57;)if(e+Ge===84&&ir()===47)break;return"/*"+Yo(t,It-1)+"*"+zn(e===47?e:xt())}function T0(e){for(;!Ho(ir());)xt();return Yo(e,It)}var Ta,Oo,B0,It,Ge,Jo,jA=g(()=>{Go();Ta=1,Oo=1,B0=0,It=0,Ge=0,Jo=""});function k0(e){return _a(ka("",null,null,null,[""],e=Da(e),0,[0],e))}function ka(e,t,r,n,o,i,s,a,c){for(var l=0,A=0,u=s,f=0,m=0,p=0,h=1,E=1,C=1,x=0,y="",w=o,B=i,S=n,Q=y;E;)switch(p=x,x=xt()){case 40:if(p!=108&&_e(Q,u-1)==58){Ni(Q+=K(qo(x),"&","&\f"),"&\f")!=-1&&(C=-1);break}case 34:case 39:case 91:Q+=qo(x);break;case 9:case 10:case 13:case 32:Q+=Q0(p);break;case 92:Q+=M0(Fi()-1,7);continue;case 47:switch(ir()){case 42:case 47:Po(ZM(v0(xt(),Fi()),t,r),c);break;default:Q+="/"}break;case 123*h:a[l++]=Et(Q)*C;case 125*h:case 59:case 0:switch(x){case 0:case 125:E=0;case 59+A:C==-1&&(Q=K(Q,/\f/g,"")),m>0&&Et(Q)-u&&Po(m>32?_0(Q+";",n,r,u-1):_0(K(Q," ","")+";",n,r,u-2),c);break;case 59:Q+=";";default:if(Po(S=D0(Q,t,r,l,A,o,a,y,w=[],B=[],u),i),x===123)if(A===0)ka(Q,t,S,S,w,i,u,a,B);else switch(f===99&&_e(Q,3)===110?100:f){case 100:case 108:case 109:case 115:ka(e,S,S,n&&Po(D0(e,S,S,0,0,o,a,y,o,w=[],u),B),o,B,u,a,n?w:B);break;default:ka(Q,S,S,S,[""],B,0,a,B)}}l=A=m=0,h=C=1,y=Q="",u=s;break;case 58:u=1+Et(Q),m=p;default:if(h<1){if(x==123)--h;else if(x==125&&h++==0&&S0()==125)continue}switch(Q+=zn(x),x*h){case 38:C=A>0?1:(Q+="\f",-1);break;case 44:a[l++]=(Et(Q)-1)*C,C=1;break;case 64:ir()===45&&(Q+=qo(xt())),f=ir(),A=u=Et(y=Q+=T0(Fi())),x++;break;case 45:p===45&&Et(Q)==2&&(h=0)}}return i}function D0(e,t,r,n,o,i,s,a,c,l,A){for(var u=o-1,f=o===0?i:[""],m=Ro(f),p=0,h=0,E=0;p<n;++p)for(var C=0,x=En(e,u+1,u=x0(h=s[p])),y=e;C<m;++C)(y=va(h>0?f[C]+" "+x:K(x,/&\f/g,f[C])))&&(c[E++]=y);return Li(e,t,r,o===0?Lo:a,c,l,A)}function ZM(e,t,r){return Li(e,t,r,Sa,zn(b0()),En(e,2,-2),0)}function _0(e,t,r,n){return Li(e,t,r,Fo,En(e,0,n),En(e,n+1,-1),n)}var N0=g(()=>{Ma();Go();jA()});var L0=g(()=>{});function $n(e,t){for(var r="",n=Ro(e),o=0;o<n;o++)r+=t(e[o],o,e,t)||"";return r}function F0(e,t,r,n){switch(e.type){case I0:if(e.children.length)break;case E0:case Fo:return e.return=e.return||e.value;case Sa:return"";case Qa:return e.return=e.value+"{"+$n(e.children,n)+"}";case Lo:e.value=e.props.join(",")}return Et(r=$n(e.children,n))?e.return=e.value+"{"+r+"}":""}var R0=g(()=>{Ma();Go()});function P0(e){var t=Ro(e);return function(r,n,o,i){for(var s="",a=0;a<t;a++)s+=e[a](r,n,o,i)||"";return s}}function G0(e){return function(t){t.root||(t=t.return)&&e(t)}}var O0=g(()=>{Go()});var H0=g(()=>{Ma();Go();N0();L0();jA();R0();O0()});var Na=g(()=>{});function J0(e){var t=Object.create(null);return function(r){return t[r]===void 0&&(t[r]=e(r)),t[r]}}var VA=g(()=>{});function Y0(e,t){switch(w0(e,t)){case 5103:return Z+"print-"+e+e;case 5737:case 4201:case 3177:case 3433:case 1641:case 4457:case 2921:case 5572:case 6356:case 5844:case 3191:case 6645:case 3005:case 6391:case 5879:case 5623:case 6135:case 4599:case 4855:case 4215:case 6389:case 5109:case 5365:case 5621:case 3829:return Z+e+e;case 5349:case 4246:case 4810:case 6968:case 2756:return Z+e+ki+e+st+e+e;case 6828:case 4268:return Z+e+st+e+e;case 6165:return Z+e+st+"flex-"+e+e;case 5187:return Z+e+K(e,/(\w+).+(:[^]+)/,Z+"box-$1$2"+st+"flex-$1$2")+e;case 5443:return Z+e+st+"flex-item-"+K(e,/flex-|-self/,"")+e;case 4675:return Z+e+st+"flex-line-pack"+K(e,/align-content|flex-|-self/,"")+e;case 5548:return Z+e+st+K(e,"shrink","negative")+e;case 5292:return Z+e+st+K(e,"basis","preferred-size")+e;case 6060:return Z+"box-"+K(e,"-grow","")+Z+e+st+K(e,"grow","positive")+e;case 4554:return Z+K(e,/([^-])(transform)/g,"$1"+Z+"$2")+e;case 6187:return K(K(K(e,/(zoom-|grab)/,Z+"$1"),/(image-set)/,Z+"$1"),e,"")+e;case 5495:case 3959:return K(e,/(image-set\([^]*)/,Z+"$1$`$1");case 4968:return K(K(e,/(.+:)(flex-)?(.*)/,Z+"box-pack:$3"+st+"flex-pack:$3"),/s.+-b[^;]+/,"justify")+Z+e+e;case 4095:case 3583:case 4068:case 2532:return K(e,/(.+)-inline(.+)/,Z+"$1$2")+e;case 8116:case 7059:case 5753:case 5535:case 5445:case 5701:case 4933:case 4677:case 5533:case 5789:case 5021:case 4765:if(Et(e)-1-t>6)switch(_e(e,t+1)){case 109:if(_e(e,t+4)!==45)break;case 102:return K(e,/(.+:)(.+)-([^]+)/,"$1"+Z+"$2-$3$1"+ki+(_e(e,t+3)==108?"$3":"$2-$3"))+e;case 115:return~Ni(e,"stretch")?Y0(K(e,"stretch","fill-available"),t)+e:e}break;case 4949:if(_e(e,t+1)!==115)break;case 6444:switch(_e(e,Et(e)-3-(~Ni(e,"!important")&&10))){case 107:return K(e,":",":"+Z)+e;case 101:return K(e,/(.+:)([^;!]+)(;|!.+)?/,"$1"+Z+(_e(e,14)===45?"inline-":"")+"box$3$1"+Z+"$2$3$1"+st+"$2box$3")+e}break;case 5936:switch(_e(e,t+11)){case 114:return Z+e+st+K(e,/[svh]\w+-[tblr]{2}/,"tb")+e;case 108:return Z+e+st+K(e,/[svh]\w+-[tblr]{2}/,"tb-rl")+e;case 45:return Z+e+st+K(e,/[svh]\w+-[tblr]{2}/,"lr")+e}return Z+e+st+e+e}return e}var ev,tv,rv,U0,nv,ov,iv,sv,q0,WA=g(()=>{C0();H0();Na();VA();ev=function(t,r,n){for(var o=0,i=0;o=i,i=ir(),o===38&&i===12&&(r[n]=1),!Ho(i);)xt();return Yo(t,It)},tv=function(t,r){var n=-1,o=44;do switch(Ho(o)){case 0:o===38&&ir()===12&&(r[n]=1),t[n]+=ev(It-1,r,n);break;case 2:t[n]+=qo(o);break;case 4:if(o===44){t[++n]=ir()===58?"&\f":"",r[n]=t[n].length;break}default:t[n]+=zn(o)}while(o=xt());return t},rv=function(t,r){return _a(tv(Da(t),r))},U0=new WeakMap,nv=function(t){if(!(t.type!=="rule"||!t.parent||t.length<1)){for(var r=t.value,n=t.parent,o=t.column===n.column&&t.line===n.line;n.type!=="rule";)if(n=n.parent,!n)return;if(!(t.props.length===1&&r.charCodeAt(0)!==58&&!U0.get(n))&&!o){U0.set(t,!0);for(var i=[],s=rv(r,i),a=n.props,c=0,l=0;c<s.length;c++)for(var A=0;A<a.length;A++,l++)t.props[l]=i[c]?s[c].replace(/&\f/g,a[A]):a[A]+" "+s[c]}}},ov=function(t){if(t.type==="decl"){var r=t.value;r.charCodeAt(0)===108&&r.charCodeAt(2)===98&&(t.return="",t.value="")}};iv=function(t,r,n,o){if(t.length>-1&&!t.return)switch(t.type){case Fo:t.return=Y0(t.value,t.length);break;case Qa:return $n([Uo(t,{value:K(t.value,"@","@"+Z)})],o);case Lo:if(t.length)return YA(t.props,function(i){switch(UA(i,/(::plac\w+|:read-\w+)/)){case":read-only":case":read-write":return $n([Uo(t,{props:[K(i,/:(read-\w+)/,":"+ki+"$1")]})],o);case"::placeholder":return $n([Uo(t,{props:[K(i,/:(plac\w+)/,":"+Z+"input-$1")]}),Uo(t,{props:[K(i,/:(plac\w+)/,":"+ki+"$1")]}),Uo(t,{props:[K(i,/:(plac\w+)/,st+"input-$1")]})],o)}return""})}},sv=[iv],q0=function(t){var r=t.key;if(r==="css"){var n=document.querySelectorAll("style[data-emotion]:not([data-s])");Array.prototype.forEach.call(n,function(h){var E=h.getAttribute("data-emotion");E.indexOf(" ")!==-1&&(document.head.appendChild(h),h.setAttribute("data-s",""))})}var o=t.stylisPlugins||sv,i={},s,a=[];s=t.container||document.head,Array.prototype.forEach.call(document.querySelectorAll('style[data-emotion^="'+r+' "]'),function(h){for(var E=h.getAttribute("data-emotion").split(" "),C=1;C<E.length;C++)i[E[C]]=!0;a.push(h)});var c,l=[nv,ov];{var A,u=[F0,G0(function(h){A.insert(h)})],f=P0(l.concat(o,u)),m=function(E){return $n(k0(E),f)};c=function(E,C,x,y){A=x,m(E?E+"{"+C.styles+"}":C.styles),y&&(p.inserted[C.name]=!0)}}var p={key:r,sheet:new h0({key:r,container:s,nonce:t.nonce,speedy:t.speedy,prepend:t.prepend,insertionPoint:t.insertionPoint}),nonce:t.nonce,inserted:i,registered:{},insert:c};return p.sheet.hydrate(a),p}});var KA=g(()=>{});var V0=J(ie=>{"use strict";var ze=typeof Symbol=="function"&&Symbol.for,zA=ze?Symbol.for("react.element"):60103,$A=ze?Symbol.for("react.portal"):60106,La=ze?Symbol.for("react.fragment"):60107,Fa=ze?Symbol.for("react.strict_mode"):60108,Ra=ze?Symbol.for("react.profiler"):60114,Pa=ze?Symbol.for("react.provider"):60109,Ga=ze?Symbol.for("react.context"):60110,XA=ze?Symbol.for("react.async_mode"):60111,Oa=ze?Symbol.for("react.concurrent_mode"):60111,Ha=ze?Symbol.for("react.forward_ref"):60112,Ja=ze?Symbol.for("react.suspense"):60113,av=ze?Symbol.for("react.suspense_list"):60120,Ua=ze?Symbol.for("react.memo"):60115,Ya=ze?Symbol.for("react.lazy"):60116,cv=ze?Symbol.for("react.block"):60121,lv=ze?Symbol.for("react.fundamental"):60117,Av=ze?Symbol.for("react.responder"):60118,uv=ze?Symbol.for("react.scope"):60119;function Ot(e){if(typeof e=="object"&&e!==null){var t=e.$$typeof;switch(t){case zA:switch(e=e.type,e){case XA:case Oa:case La:case Ra:case Fa:case Ja:return e;default:switch(e=e&&e.$$typeof,e){case Ga:case Ha:case Ya:case Ua:case Pa:return e;default:return t}}case $A:return t}}}function j0(e){return Ot(e)===Oa}ie.AsyncMode=XA;ie.ConcurrentMode=Oa;ie.ContextConsumer=Ga;ie.ContextProvider=Pa;ie.Element=zA;ie.ForwardRef=Ha;ie.Fragment=La;ie.Lazy=Ya;ie.Memo=Ua;ie.Portal=$A;ie.Profiler=Ra;ie.StrictMode=Fa;ie.Suspense=Ja;ie.isAsyncMode=function(e){return j0(e)||Ot(e)===XA};ie.isConcurrentMode=j0;ie.isContextConsumer=function(e){return Ot(e)===Ga};ie.isContextProvider=function(e){return Ot(e)===Pa};ie.isElement=function(e){return typeof e=="object"&&e!==null&&e.$$typeof===zA};ie.isForwardRef=function(e){return Ot(e)===Ha};ie.isFragment=function(e){return Ot(e)===La};ie.isLazy=function(e){return Ot(e)===Ya};ie.isMemo=function(e){return Ot(e)===Ua};ie.isPortal=function(e){return Ot(e)===$A};ie.isProfiler=function(e){return Ot(e)===Ra};ie.isStrictMode=function(e){return Ot(e)===Fa};ie.isSuspense=function(e){return Ot(e)===Ja};ie.isValidElementType=function(e){return typeof e=="string"||typeof e=="function"||e===La||e===Oa||e===Ra||e===Fa||e===Ja||e===av||typeof e=="object"&&e!==null&&(e.$$typeof===Ya||e.$$typeof===Ua||e.$$typeof===Pa||e.$$typeof===Ga||e.$$typeof===Ha||e.$$typeof===lv||e.$$typeof===Av||e.$$typeof===uv||e.$$typeof===cv)};ie.typeOf=Ot});var K0=J((l4,W0)=>{"use strict";W0.exports=V0()});var rC=J((A4,tC)=>{"use strict";var ZA=K0(),fv={childContextTypes:!0,contextType:!0,contextTypes:!0,defaultProps:!0,displayName:!0,getDefaultProps:!0,getDerivedStateFromError:!0,getDerivedStateFromProps:!0,mixins:!0,propTypes:!0,type:!0},dv={name:!0,length:!0,prototype:!0,caller:!0,callee:!0,arguments:!0,arity:!0},mv={$$typeof:!0,render:!0,defaultProps:!0,displayName:!0,propTypes:!0},Z0={$$typeof:!0,compare:!0,defaultProps:!0,displayName:!0,propTypes:!0,type:!0},eu={};eu[ZA.ForwardRef]=mv;eu[ZA.Memo]=Z0;function z0(e){return ZA.isMemo(e)?Z0:eu[e.$$typeof]||fv}var gv=Object.defineProperty,pv=Object.getOwnPropertyNames,$0=Object.getOwnPropertySymbols,hv=Object.getOwnPropertyDescriptor,Cv=Object.getPrototypeOf,X0=Object.prototype;function eC(e,t,r){if(typeof t!="string"){if(X0){var n=Cv(t);n&&n!==X0&&eC(e,n,r)}var o=pv(t);$0&&(o=o.concat($0(t)));for(var i=z0(e),s=z0(t),a=0;a<o.length;++a){var c=o[a];if(!dv[c]&&!(r&&r[c])&&!(s&&s[c])&&!(i&&i[c])){var l=hv(t,c);try{gv(e,c,l)}catch{}}}}return e}tC.exports=eC});function Ri(e,t,r){var n="";return r.split(" ").forEach(function(o){e[o]!==void 0?t.push(e[o]+";"):o&&(n+=o+" ")}),n}var Ev,qa,Pi,ja=g(()=>{Ev=!0;qa=function(t,r,n){var o=t.key+"-"+r.name;(n===!1||Ev===!1)&&t.registered[o]===void 0&&(t.registered[o]=r.styles)},Pi=function(t,r,n){qa(t,r,n);var o=t.key+"-"+r.name;if(t.inserted[r.name]===void 0){var i=r;do t.insert(r===i?"."+o:"",i,t.sheet,!0),i=i.next;while(i!==void 0)}}});function nC(e){for(var t=0,r,n=0,o=e.length;o>=4;++n,o-=4)r=e.charCodeAt(n)&255|(e.charCodeAt(++n)&255)<<8|(e.charCodeAt(++n)&255)<<16|(e.charCodeAt(++n)&255)<<24,r=(r&65535)*1540483477+((r>>>16)*59797<<16),r^=r>>>24,t=(r&65535)*1540483477+((r>>>16)*59797<<16)^(t&65535)*1540483477+((t>>>16)*59797<<16);switch(o){case 3:t^=(e.charCodeAt(n+2)&255)<<16;case 2:t^=(e.charCodeAt(n+1)&255)<<8;case 1:t^=e.charCodeAt(n)&255,t=(t&65535)*1540483477+((t>>>16)*59797<<16)}return t^=t>>>13,t=(t&65535)*1540483477+((t>>>16)*59797<<16),((t^t>>>15)>>>0).toString(36)}var oC=g(()=>{});var iC,sC=g(()=>{iC={animationIterationCount:1,aspectRatio:1,borderImageOutset:1,borderImageSlice:1,borderImageWidth:1,boxFlex:1,boxFlexGroup:1,boxOrdinalGroup:1,columnCount:1,columns:1,flex:1,flexGrow:1,flexPositive:1,flexShrink:1,flexNegative:1,flexOrder:1,gridRow:1,gridRowEnd:1,gridRowSpan:1,gridRowStart:1,gridColumn:1,gridColumnEnd:1,gridColumnSpan:1,gridColumnStart:1,msGridRow:1,msGridRowSpan:1,msGridColumn:1,msGridColumnSpan:1,fontWeight:1,lineHeight:1,opacity:1,order:1,orphans:1,scale:1,tabSize:1,widows:1,zIndex:1,zoom:1,WebkitLineClamp:1,fillOpacity:1,floodOpacity:1,stopOpacity:1,strokeDasharray:1,strokeDashoffset:1,strokeMiterlimit:1,strokeOpacity:1,strokeWidth:1}});function Gi(e,t,r){if(r==null)return"";var n=r;if(n.__emotion_styles!==void 0)return n;switch(typeof r){case"boolean":return"";case"object":{var o=r;if(o.anim===1)return kr={name:o.name,styles:o.styles,next:kr},o.name;var i=r;if(i.styles!==void 0){var s=i.next;if(s!==void 0)for(;s!==void 0;)kr={name:s.name,styles:s.styles,next:kr},s=s.next;var a=i.styles+";";return a}return Bv(e,t,r)}case"function":{if(e!==void 0){var c=kr,l=r(e);return kr=c,Gi(e,t,l)}break}}var A=r;if(t==null)return A;var u=t[A];return u!==void 0?u:A}function Bv(e,t,r){var n="";if(Array.isArray(r))for(var o=0;o<r.length;o++)n+=Gi(e,t,r[o])+";";else for(var i in r){var s=r[i];if(typeof s!="object"){var a=s;t!=null&&t[a]!==void 0?n+=i+"{"+t[a]+"}":aC(a)&&(n+=tu(i)+":"+cC(i,a)+";")}else{if(i==="NO_COMPONENT_SELECTOR"&&Iv)throw new Error(wv);if(Array.isArray(s)&&typeof s[0]=="string"&&(t==null||t[s[0]]===void 0))for(var c=0;c<s.length;c++)aC(s[c])&&(n+=tu(i)+":"+cC(i,s[c])+";");else{var l=Gi(e,t,s);switch(i){case"animation":case"animationName":{n+=tu(i)+":"+l+";";break}default:n+=i+"{"+l+"}"}}}}return n}function jo(e,t,r){if(e.length===1&&typeof e[0]=="object"&&e[0]!==null&&e[0].styles!==void 0)return e[0];var n=!0,o="";kr=void 0;var i=e[0];if(i==null||i.raw===void 0)n=!1,o+=Gi(r,t,i);else{var s=i;o+=s[0]}for(var a=1;a<e.length;a++)if(o+=Gi(r,t,e[a]),n){var c=i;o+=c[a]}lC.lastIndex=0;for(var l="",A;(A=lC.exec(o))!==null;)l+="-"+A[1];var u=nC(o)+l;return{name:u,styles:o,next:kr}}var Iv,xv,yv,AC,aC,tu,cC,wv,lC,kr,Va=g(()=>{oC();sC();VA();Iv=!1,xv=/[A-Z]|^ms/g,yv=/_EMO_([^_]+?)_([^]*?)_EMO_/g,AC=function(t){return t.charCodeAt(1)===45},aC=function(t){return t!=null&&typeof t!="boolean"},tu=J0(function(e){return AC(e)?e:e.replace(xv,"-$&").toLowerCase()}),cC=function(t,r){switch(t){case"animation":case"animationName":if(typeof r=="string")return r.replace(yv,function(n,o,i){return kr={name:o,styles:i,next:kr},o})}return iC[t]!==1&&!AC(t)&&typeof r=="number"&&r!==0?r+"px":r},wv="Component selectors can only be used in conjunction with @emotion/babel-plugin, the swc Emotion plugin, or another Emotion-aware compiler transform.";lC=/label:\s*([^\s;{]+)\s*(;|$)/g});var Wa,bv,Sv,ru,nu=g(()=>{Wa=d(b()),bv=function(t){return t()},Sv=Wa.useInsertionEffect?Wa.useInsertionEffect:!1,ru=Sv||bv});var sr,Oi,uC,iu,Qv,su,au,cu,Ka,ou,fC,Mv,vv,dC,lu=g(()=>{sr=d(b()),Oi=d(b());WA();KA();Na();ja();Va();nu();uC=!1,iu=sr.createContext(typeof HTMLElement<"u"?q0({key:"css"}):null),Qv=iu.Provider,su=function(){return(0,Oi.useContext)(iu)},au=function(t){return(0,Oi.forwardRef)(function(r,n){var o=(0,Oi.useContext)(iu);return t(r,o,n)})},cu=sr.createContext({}),Ka={}.hasOwnProperty,ou="__EMOTION_TYPE_PLEASE_DO_NOT_USE__",fC=function(t,r){var n={};for(var o in r)Ka.call(r,o)&&(n[o]=r[o]);return n[ou]=t,n},Mv=function(t){var r=t.cache,n=t.serialized,o=t.isStringTag;return qa(r,n,o),ru(function(){return Pi(r,n,o)}),null},vv=au(function(e,t,r){var n=e.css;typeof n=="string"&&t.registered[n]!==void 0&&(n=t.registered[n]);var o=e[ou],i=[n],s="";typeof e.className=="string"?s=Ri(t.registered,i,e.className):e.className!=null&&(s=e.className+" ");var a=jo(i,void 0,sr.useContext(cu));s+=t.key+"-"+a.name;var c={};for(var l in e)Ka.call(e,l)&&l!=="css"&&l!==ou&&!uC&&(c[l]=e[l]);return c.className=s,r&&(c.ref=r),sr.createElement(sr.Fragment,null,sr.createElement(Mv,{cache:t,serialized:a,isStringTag:typeof o=="string"}),sr.createElement(o,c))}),dC=vv});function Tv(){for(var e=arguments.length,t=new Array(e),r=0;r<e;r++)t[r]=arguments[r];return jo(t)}function Au(){var e=Tv.apply(void 0,arguments),t="animation-"+e.name;return{name:t,styles:"@keyframes "+t+"{"+e.styles+"}",anim:1,toString:function(){return"_EMO_"+this.name+"_"+this.styles+"_EMO_"}}}var Vo,G4,mC,uu=g(()=>{lu();lu();Vo=d(b());ja();nu();Va();WA();KA();Na();G4=d(rC()),mC=function(t,r){var n=arguments;if(r==null||!Ka.call(r,"css"))return Vo.createElement.apply(void 0,n);var o=n.length,i=new Array(o);i[0]=dC,i[1]=fC(t,r);for(var s=2;s<o;s++)i[s]=n[s];return Vo.createElement.apply(null,i)};(function(e){var t;t||(t=e.JSX||(e.JSX={}))})(mC||(mC={}))});var pC=J((J4,gC)=>{gC.exports=JBrowseExports["@mui/material/styles"]});var Wo,fu=g(()=>{Wo=e=>{let t=e.length,r=0,n="";for(;r<t;r++){let o=e[r];if(o==null)continue;let i;switch(typeof o){case"boolean":break;case"object":{if(Array.isArray(o))i=Wo(o);else{let s=o;i="";for(let a in s)s[a]&&a&&(i&&(i+=" "),i+=a)}break}default:i=o}i&&(n&&(n+=" "),n+=i)}return n}});function hC(e){return e instanceof Object&&!("styles"in e)&&!("length"in e)&&!("__emotion_styles"in e)}var CC=g(()=>{});function xC(e){let{useCache:t}=e;function r(){let n=t(),{css:o,cx:i}=(0,IC.useMemo)(()=>Dv({cache:n}),[n]);return{css:o,cx:i}}return{useCssAndCx:r}}var IC,Dv,EC,yC=g(()=>{IC=d(b(),1);Va();ja();fu();CC();({createCssAndCx:Dv}=(()=>{function e(r,n,o){let i=[],s=Ri(r,i,o);return i.length<2?o:s+n(i)}function t(r){let{cache:n}=r,o=(...s)=>{let a=jo(s,n.registered);Pi(n,a,!1);let c=`${n.key}-${a.name}`;e:{let l=s[0];if(!hC(l))break e;EC.saveClassNameCSSObjectMapping(n,c,l)}return c};return{css:o,cx:(...s)=>{let a=Wo(s),c=EC.fixClassName(n,a,o);return e(n.registered,o,c)}}}return{createCssAndCx:t}})());EC=(()=>{let e=new WeakMap;return{saveClassNameCSSObjectMapping:(t,r,n)=>{let o=e.get(t);o===void 0&&(o=new Map,e.set(t,o)),o.set(r,n)},fixClassName:(()=>{function t(r){let n=!1;return r.map(([o,i])=>{if(i===void 0)return o;let s;if(n)s={"&&":i};else{s=o;for(let a in i)if(a.startsWith("@media")){n=!0;break}}return s})}return(r,n,o)=>{if(!n.includes(" "))return n;let i=e.get(r);return Wo(t(n.split(" ").map(s=>[s,i?.get(s)])).map(s=>typeof s=="string"?s:o(s)))}})()}})()});function wC(e,t,r){if(!(t instanceof Object))return e;let n=Object.keys(t);if(n.length===0)return e;let o={};for(let i of Object.keys(e))o[i]=r(e[i],t[i]);for(let i of n){if(i in e)continue;let s=t[i];typeof s=="string"&&(o[i]=s)}return o}var BC=g(()=>{});function bC(e){if(!(e instanceof Object)||typeof e=="function")return e;let t=[];for(let r in e){let n=e[r],o=typeof n;if(!(o==="string"||o==="number"&&!isNaN(n)||o==="boolean"||n===void 0||n===null))return e;t.push(`${r}:${o}_${n}`)}return`xSqLiJdLMd9s${t.join("|")}`}var SC=g(()=>{});function QC(e){let{useTheme:t}=e,{useCssAndCx:r}=xC({useCache:_v});function n(){return function(o){let i=typeof o=="function"?o:()=>o;return function(a,c){let l=t(),{css:A,cx:u}=r(),f=(0,du.useMemo)(()=>{let E=i(l),C={};for(let x of Object.keys(E)){let y=E[x];C[x]=A(y)}return C},[A,l]),m=c?.props.classes,p=bC(m);return{classes:(0,du.useMemo)(()=>m?wC(f,m,u):f,[f,p,u]),theme:l,css:A,cx:u}}}}return{makeStyles:n}}var du,_v,MC=g(()=>{"use client";du=d(b(),1);uu();yC();BC();SC();_v=su});var vC,ne,TC=g(()=>{vC=d(pC(),1);MC();({makeStyles:ne}=QC({useTheme:vC.useTheme}))});var DC=g(()=>{TC()});function za(...e){return Wo(e)}var yt=g(()=>{"use client";uu();DC();fu()});function mu({children:e}){let{classes:t}=kv();return(0,_C.jsx)("div",{className:t.bg,children:e})}var _C,kv,kC=g(()=>{_C=d(R(),1);yt();kv=ne()(e=>({bg:{padding:4,margin:4,overflow:"auto",maxHeight:200,background:e.palette.mode==="dark"?"#833":"#f88",border:`1px solid ${e.palette.divider}`}}))});var LC=J(gu=>{var NC="ABCDEFGHIJKLMNOPQRSTUVWXYZabcdefghijklmnopqrstuvwxyz0123456789+/".split("");gu.encode=function(e){if(0<=e&&e<NC.length)return NC[e];throw new TypeError("Must be between 0 and 63: "+e)};gu.decode=function(e){var t=65,r=90,n=97,o=122,i=48,s=57,a=43,c=47,l=26,A=52;return t<=e&&e<=r?e-t:n<=e&&e<=o?e-n+l:i<=e&&e<=s?e-i+A:e==a?62:e==c?63:-1}});var Cu=J(hu=>{var FC=LC(),pu=5,RC=1<<pu,PC=RC-1,GC=RC;function Nv(e){return e<0?(-e<<1)+1:(e<<1)+0}function Lv(e){var t=(e&1)===1,r=e>>1;return t?-r:r}hu.encode=function(t){var r="",n,o=Nv(t);do n=o&PC,o>>>=pu,o>0&&(n|=GC),r+=FC.encode(n);while(o>0);return r};hu.decode=function(t,r,n){var o=t.length,i=0,s=0,a,c;do{if(r>=o)throw new Error("Expected more digits in base 64 VLQ value.");if(c=FC.decode(t.charCodeAt(r++)),c===-1)throw new Error("Invalid base64 digit: "+t.charAt(r-1));a=!!(c&GC),c&=PC,i=i+(c<<s),s+=pu}while(a);n.value=Lv(i),n.rest=r}});var zo=J($e=>{function Fv(e,t,r){if(t in e)return e[t];if(arguments.length===3)return r;throw new Error('"'+t+'" is a required argument.')}$e.getArg=Fv;var OC=/^(?:([\w+\-.]+):)?\/\/(?:(\w+:\w+)@)?([\w.-]*)(?::(\d+))?(.*)$/,Rv=/^data:.+\,.+$/;function Hi(e){var t=e.match(OC);return t?{scheme:t[1],auth:t[2],host:t[3],port:t[4],path:t[5]}:null}$e.urlParse=Hi;function Ko(e){var t="";return e.scheme&&(t+=e.scheme+":"),t+="//",e.auth&&(t+=e.auth+"@"),e.host&&(t+=e.host),e.port&&(t+=":"+e.port),e.path&&(t+=e.path),t}$e.urlGenerate=Ko;var Pv=32;function Gv(e){var t=[];return function(r){for(var n=0;n<t.length;n++)if(t[n].input===r){var o=t[0];return t[0]=t[n],t[n]=o,t[0].result}var i=e(r);return t.unshift({input:r,result:i}),t.length>Pv&&t.pop(),i}}var Eu=Gv(function(t){var r=t,n=Hi(t);if(n){if(!n.path)return t;r=n.path}for(var o=$e.isAbsolute(r),i=[],s=0,a=0;;)if(s=a,a=r.indexOf("/",s),a===-1){i.push(r.slice(s));break}else for(i.push(r.slice(s,a));a<r.length&&r[a]==="/";)a++;for(var c,l=0,a=i.length-1;a>=0;a--)c=i[a],c==="."?i.splice(a,1):c===".."?l++:l>0&&(c===""?(i.splice(a+1,l),l=0):(i.splice(a,2),l--));return r=i.join("/"),r===""&&(r=o?"/":"."),n?(n.path=r,Ko(n)):r});$e.normalize=Eu;function HC(e,t){e===""&&(e="."),t===""&&(t=".");var r=Hi(t),n=Hi(e);if(n&&(e=n.path||"/"),r&&!r.scheme)return n&&(r.scheme=n.scheme),Ko(r);if(r||t.match(Rv))return t;if(n&&!n.host&&!n.path)return n.host=t,Ko(n);var o=t.charAt(0)==="/"?t:Eu(e.replace(/\/+$/,"")+"/"+t);return n?(n.path=o,Ko(n)):o}$e.join=HC;$e.isAbsolute=function(e){return e.charAt(0)==="/"||OC.test(e)};function Ov(e,t){e===""&&(e="."),e=e.replace(/\/$/,"");for(var r=0;t.indexOf(e+"/")!==0;){var n=e.lastIndexOf("/");if(n<0||(e=e.slice(0,n),e.match(/^([^\/]+:\/)?\/*$/)))return t;++r}return Array(r+1).join("../")+t.substr(e.length+1)}$e.relative=Ov;var JC=(function(){var e=Object.create(null);return!("__proto__"in e)})();function UC(e){return e}function Hv(e){return YC(e)?"$"+e:e}$e.toSetString=JC?UC:Hv;function Jv(e){return YC(e)?e.slice(1):e}$e.fromSetString=JC?UC:Jv;function YC(e){if(!e)return!1;var t=e.length;if(t<9||e.charCodeAt(t-1)!==95||e.charCodeAt(t-2)!==95||e.charCodeAt(t-3)!==111||e.charCodeAt(t-4)!==116||e.charCodeAt(t-5)!==111||e.charCodeAt(t-6)!==114||e.charCodeAt(t-7)!==112||e.charCodeAt(t-8)!==95||e.charCodeAt(t-9)!==95)return!1;for(var r=t-10;r>=0;r--)if(e.charCodeAt(r)!==36)return!1;return!0}function Uv(e,t,r){var n=Zr(e.source,t.source);return n!==0||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:Zr(e.name,t.name)}$e.compareByOriginalPositions=Uv;function Yv(e,t,r){var n;return n=e.originalLine-t.originalLine,n!==0||(n=e.originalColumn-t.originalColumn,n!==0||r)||(n=e.generatedColumn-t.generatedColumn,n!==0)||(n=e.generatedLine-t.generatedLine,n!==0)?n:Zr(e.name,t.name)}$e.compareByOriginalPositionsNoSource=Yv;function qv(e,t,r){var n=e.generatedLine-t.generatedLine;return n!==0||(n=e.generatedColumn-t.generatedColumn,n!==0||r)||(n=Zr(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:Zr(e.name,t.name)}$e.compareByGeneratedPositionsDeflated=qv;function jv(e,t,r){var n=e.generatedColumn-t.generatedColumn;return n!==0||r||(n=Zr(e.source,t.source),n!==0)||(n=e.originalLine-t.originalLine,n!==0)||(n=e.originalColumn-t.originalColumn,n!==0)?n:Zr(e.name,t.name)}$e.compareByGeneratedPositionsDeflatedNoLine=jv;function Zr(e,t){return e===t?0:e===null?1:t===null?-1:e>t?1:-1}function Vv(e,t){var r=e.generatedLine-t.generatedLine;return r!==0||(r=e.generatedColumn-t.generatedColumn,r!==0)||(r=Zr(e.source,t.source),r!==0)||(r=e.originalLine-t.originalLine,r!==0)||(r=e.originalColumn-t.originalColumn,r!==0)?r:Zr(e.name,t.name)}$e.compareByGeneratedPositionsInflated=Vv;function Wv(e){return JSON.parse(e.replace(/^\)]}'[^\n]*\n/,""))}$e.parseSourceMapInput=Wv;function Kv(e,t,r){if(t=t||"",e&&(e[e.length-1]!=="/"&&t[0]!=="/"&&(e+="/"),t=e+t),r){var n=Hi(r);if(!n)throw new Error("sourceMapURL could not be parsed");if(n.path){var o=n.path.lastIndexOf("/");o>=0&&(n.path=n.path.substring(0,o+1))}t=HC(Ko(n),t)}return Eu(t)}$e.computeSourceURL=Kv});var yu=J(qC=>{var Iu=zo(),xu=Object.prototype.hasOwnProperty,Xn=typeof Map<"u";function en(){this._array=[],this._set=Xn?new Map:Object.create(null)}en.fromArray=function(t,r){for(var n=new en,o=0,i=t.length;o<i;o++)n.add(t[o],r);return n};en.prototype.size=function(){return Xn?this._set.size:Object.getOwnPropertyNames(this._set).length};en.prototype.add=function(t,r){var n=Xn?t:Iu.toSetString(t),o=Xn?this.has(t):xu.call(this._set,n),i=this._array.length;(!o||r)&&this._array.push(t),o||(Xn?this._set.set(t,i):this._set[n]=i)};en.prototype.has=function(t){if(Xn)return this._set.has(t);var r=Iu.toSetString(t);return xu.call(this._set,r)};en.prototype.indexOf=function(t){if(Xn){var r=this._set.get(t);if(r>=0)return r}else{var n=Iu.toSetString(t);if(xu.call(this._set,n))return this._set[n]}throw new Error('"'+t+'" is not in the set.')};en.prototype.at=function(t){if(t>=0&&t<this._array.length)return this._array[t];throw new Error("No element indexed by "+t)};en.prototype.toArray=function(){return this._array.slice()};qC.ArraySet=en});var WC=J(VC=>{var jC=zo();function zv(e,t){var r=e.generatedLine,n=t.generatedLine,o=e.generatedColumn,i=t.generatedColumn;return n>r||n==r&&i>=o||jC.compareByGeneratedPositionsInflated(e,t)<=0}function $a(){this._array=[],this._sorted=!0,this._last={generatedLine:-1,generatedColumn:0}}$a.prototype.unsortedForEach=function(t,r){this._array.forEach(t,r)};$a.prototype.add=function(t){zv(this._last,t)?(this._last=t,this._array.push(t)):(this._sorted=!1,this._array.push(t))};$a.prototype.toArray=function(){return this._sorted||(this._array.sort(jC.compareByGeneratedPositionsInflated),this._sorted=!0),this._array};VC.MappingList=$a});var wu=J(KC=>{var Ji=Cu(),ke=zo(),Xa=yu().ArraySet,$v=WC().MappingList;function ar(e){e||(e={}),this._file=ke.getArg(e,"file",null),this._sourceRoot=ke.getArg(e,"sourceRoot",null),this._skipValidation=ke.getArg(e,"skipValidation",!1),this._ignoreInvalidMapping=ke.getArg(e,"ignoreInvalidMapping",!1),this._sources=new Xa,this._names=new Xa,this._mappings=new $v,this._sourcesContents=null}ar.prototype._version=3;ar.fromSourceMap=function(t,r){var n=t.sourceRoot,o=new ar(Object.assign(r||{},{file:t.file,sourceRoot:n}));return t.eachMapping(function(i){var s={generated:{line:i.generatedLine,column:i.generatedColumn}};i.source!=null&&(s.source=i.source,n!=null&&(s.source=ke.relative(n,s.source)),s.original={line:i.originalLine,column:i.originalColumn},i.name!=null&&(s.name=i.name)),o.addMapping(s)}),t.sources.forEach(function(i){var s=i;n!==null&&(s=ke.relative(n,i)),o._sources.has(s)||o._sources.add(s);var a=t.sourceContentFor(i);a!=null&&o.setSourceContent(i,a)}),o};ar.prototype.addMapping=function(t){var r=ke.getArg(t,"generated"),n=ke.getArg(t,"original",null),o=ke.getArg(t,"source",null),i=ke.getArg(t,"name",null);!this._skipValidation&&this._validateMapping(r,n,o,i)===!1||(o!=null&&(o=String(o),this._sources.has(o)||this._sources.add(o)),i!=null&&(i=String(i),this._names.has(i)||this._names.add(i)),this._mappings.add({generatedLine:r.line,generatedColumn:r.column,originalLine:n!=null&&n.line,originalColumn:n!=null&&n.column,source:o,name:i}))};ar.prototype.setSourceContent=function(t,r){var n=t;this._sourceRoot!=null&&(n=ke.relative(this._sourceRoot,n)),r!=null?(this._sourcesContents||(this._sourcesContents=Object.create(null)),this._sourcesContents[ke.toSetString(n)]=r):this._sourcesContents&&(delete this._sourcesContents[ke.toSetString(n)],Object.keys(this._sourcesContents).length===0&&(this._sourcesContents=null))};ar.prototype.applySourceMap=function(t,r,n){var o=r;if(r==null){if(t.file==null)throw new Error(`SourceMapGenerator.prototype.applySourceMap requires either an explicit source file, or the source map's "file" property. Both were omitted.`);o=t.file}var i=this._sourceRoot;i!=null&&(o=ke.relative(i,o));var s=new Xa,a=new Xa;this._mappings.unsortedForEach(function(c){if(c.source===o&&c.originalLine!=null){var l=t.originalPositionFor({line:c.originalLine,column:c.originalColumn});l.source!=null&&(c.source=l.source,n!=null&&(c.source=ke.join(n,c.source)),i!=null&&(c.source=ke.relative(i,c.source)),c.originalLine=l.line,c.originalColumn=l.column,l.name!=null&&(c.name=l.name))}var A=c.source;A!=null&&!s.has(A)&&s.add(A);var u=c.name;u!=null&&!a.has(u)&&a.add(u)},this),this._sources=s,this._names=a,t.sources.forEach(function(c){var l=t.sourceContentFor(c);l!=null&&(n!=null&&(c=ke.join(n,c)),i!=null&&(c=ke.relative(i,c)),this.setSourceContent(c,l))},this)};ar.prototype._validateMapping=function(t,r,n,o){if(r&&typeof r.line!="number"&&typeof r.column!="number"){var i="original.line and original.column are not numbers -- you probably meant to omit the original mapping entirely and only map the generated position. If so, pass null for the original mapping instead of an object with empty or null values.";if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}if(!(t&&"line"in t&&"column"in t&&t.line>0&&t.column>=0&&!r&&!n&&!o)){if(t&&"line"in t&&"column"in t&&r&&"line"in r&&"column"in r&&t.line>0&&t.column>=0&&r.line>0&&r.column>=0&&n)return;var i="Invalid mapping: "+JSON.stringify({generated:t,source:n,original:r,name:o});if(this._ignoreInvalidMapping)return typeof console<"u"&&console.warn&&console.warn(i),!1;throw new Error(i)}};ar.prototype._serializeMappings=function(){for(var t=0,r=1,n=0,o=0,i=0,s=0,a="",c,l,A,u,f=this._mappings.toArray(),m=0,p=f.length;m<p;m++){if(l=f[m],c="",l.generatedLine!==r)for(t=0;l.generatedLine!==r;)c+=";",r++;else if(m>0){if(!ke.compareByGeneratedPositionsInflated(l,f[m-1]))continue;c+=","}c+=Ji.encode(l.generatedColumn-t),t=l.generatedColumn,l.source!=null&&(u=this._sources.indexOf(l.source),c+=Ji.encode(u-s),s=u,c+=Ji.encode(l.originalLine-1-o),o=l.originalLine-1,c+=Ji.encode(l.originalColumn-n),n=l.originalColumn,l.name!=null&&(A=this._names.indexOf(l.name),c+=Ji.encode(A-i),i=A)),a+=c}return a};ar.prototype._generateSourcesContent=function(t,r){return t.map(function(n){if(!this._sourcesContents)return null;r!=null&&(n=ke.relative(r,n));var o=ke.toSetString(n);return Object.prototype.hasOwnProperty.call(this._sourcesContents,o)?this._sourcesContents[o]:null},this)};ar.prototype.toJSON=function(){var t={version:this._version,sources:this._sources.toArray(),names:this._names.toArray(),mappings:this._serializeMappings()};return this._file!=null&&(t.file=this._file),this._sourceRoot!=null&&(t.sourceRoot=this._sourceRoot),this._sourcesContents&&(t.sourcesContent=this._generateSourcesContent(t.sources,t.sourceRoot)),t};ar.prototype.toString=function(){return JSON.stringify(this.toJSON())};KC.SourceMapGenerator=ar});var zC=J(Zn=>{Zn.GREATEST_LOWER_BOUND=1;Zn.LEAST_UPPER_BOUND=2;function Bu(e,t,r,n,o,i){var s=Math.floor((t-e)/2)+e,a=o(r,n[s],!0);return a===0?s:a>0?t-s>1?Bu(s,t,r,n,o,i):i==Zn.LEAST_UPPER_BOUND?t<n.length?t:-1:s:s-e>1?Bu(e,s,r,n,o,i):i==Zn.LEAST_UPPER_BOUND?s:e<0?-1:e}Zn.search=function(t,r,n,o){if(r.length===0)return-1;var i=Bu(-1,r.length,t,r,n,o||Zn.GREATEST_LOWER_BOUND);if(i<0)return-1;for(;i-1>=0&&n(r[i],r[i-1],!0)===0;)--i;return i}});var ZC=J(XC=>{function Xv(e){function t(o,i,s){var a=o[i];o[i]=o[s],o[s]=a}function r(o,i){return Math.round(o+Math.random()*(i-o))}function n(o,i,s,a){if(s<a){var c=r(s,a),l=s-1;t(o,c,a);for(var A=o[a],u=s;u<a;u++)i(o[u],A,!1)<=0&&(l+=1,t(o,l,u));t(o,l+1,u);var f=l+1;n(o,i,s,f-1),n(o,i,f+1,a)}}return n}function Zv(e){let t=Xv.toString();return new Function(`return ${t}`)()(e)}var $C=new WeakMap;XC.quickSort=function(e,t,r=0){let n=$C.get(t);n===void 0&&(n=Zv(t),$C.set(t,n)),n(e,t,r,e.length-1)}});var rE=J(Za=>{var k=zo(),Su=zC(),$o=yu().ArraySet,e2=Cu(),Ui=ZC().quickSort;function Ee(e,t){var r=e;return typeof e=="string"&&(r=k.parseSourceMapInput(e)),r.sections!=null?new xr(r,t):new at(r,t)}Ee.fromSourceMap=function(e,t){return at.fromSourceMap(e,t)};Ee.prototype._version=3;Ee.prototype.__generatedMappings=null;Object.defineProperty(Ee.prototype,"_generatedMappings",{configurable:!0,enumerable:!0,get:function(){return this.__generatedMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__generatedMappings}});Ee.prototype.__originalMappings=null;Object.defineProperty(Ee.prototype,"_originalMappings",{configurable:!0,enumerable:!0,get:function(){return this.__originalMappings||this._parseMappings(this._mappings,this.sourceRoot),this.__originalMappings}});Ee.prototype._charIsMappingSeparator=function(t,r){var n=t.charAt(r);return n===";"||n===","};Ee.prototype._parseMappings=function(t,r){throw new Error("Subclasses must implement _parseMappings")};Ee.GENERATED_ORDER=1;Ee.ORIGINAL_ORDER=2;Ee.GREATEST_LOWER_BOUND=1;Ee.LEAST_UPPER_BOUND=2;Ee.prototype.eachMapping=function(t,r,n){var o=r||null,i=n||Ee.GENERATED_ORDER,s;switch(i){case Ee.GENERATED_ORDER:s=this._generatedMappings;break;case Ee.ORIGINAL_ORDER:s=this._originalMappings;break;default:throw new Error("Unknown order of iteration.")}for(var a=this.sourceRoot,c=t.bind(o),l=this._names,A=this._sources,u=this._sourceMapURL,f=0,m=s.length;f<m;f++){var p=s[f],h=p.source===null?null:A.at(p.source);h!==null&&(h=k.computeSourceURL(a,h,u)),c({source:h,generatedLine:p.generatedLine,generatedColumn:p.generatedColumn,originalLine:p.originalLine,originalColumn:p.originalColumn,name:p.name===null?null:l.at(p.name)})}};Ee.prototype.allGeneratedPositionsFor=function(t){var r=k.getArg(t,"line"),n={source:k.getArg(t,"source"),originalLine:r,originalColumn:k.getArg(t,"column",0)};if(n.source=this._findSourceIndex(n.source),n.source<0)return[];var o=[],i=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",k.compareByOriginalPositions,Su.LEAST_UPPER_BOUND);if(i>=0){var s=this._originalMappings[i];if(t.column===void 0)for(var a=s.originalLine;s&&s.originalLine===a;)o.push({line:k.getArg(s,"generatedLine",null),column:k.getArg(s,"generatedColumn",null),lastColumn:k.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i];else for(var c=s.originalColumn;s&&s.originalLine===r&&s.originalColumn==c;)o.push({line:k.getArg(s,"generatedLine",null),column:k.getArg(s,"generatedColumn",null),lastColumn:k.getArg(s,"lastGeneratedColumn",null)}),s=this._originalMappings[++i]}return o};Za.SourceMapConsumer=Ee;function at(e,t){var r=e;typeof e=="string"&&(r=k.parseSourceMapInput(e));var n=k.getArg(r,"version"),o=k.getArg(r,"sources"),i=k.getArg(r,"names",[]),s=k.getArg(r,"sourceRoot",null),a=k.getArg(r,"sourcesContent",null),c=k.getArg(r,"mappings"),l=k.getArg(r,"file",null);if(n!=this._version)throw new Error("Unsupported version: "+n);s&&(s=k.normalize(s)),o=o.map(String).map(k.normalize).map(function(A){return s&&k.isAbsolute(s)&&k.isAbsolute(A)?k.relative(s,A):A}),this._names=$o.fromArray(i.map(String),!0),this._sources=$o.fromArray(o,!0),this._absoluteSources=this._sources.toArray().map(function(A){return k.computeSourceURL(s,A,t)}),this.sourceRoot=s,this.sourcesContent=a,this._mappings=c,this._sourceMapURL=t,this.file=l}at.prototype=Object.create(Ee.prototype);at.prototype.consumer=Ee;at.prototype._findSourceIndex=function(e){var t=e;if(this.sourceRoot!=null&&(t=k.relative(this.sourceRoot,t)),this._sources.has(t))return this._sources.indexOf(t);var r;for(r=0;r<this._absoluteSources.length;++r)if(this._absoluteSources[r]==e)return r;return-1};at.fromSourceMap=function(t,r){var n=Object.create(at.prototype),o=n._names=$o.fromArray(t._names.toArray(),!0),i=n._sources=$o.fromArray(t._sources.toArray(),!0);n.sourceRoot=t._sourceRoot,n.sourcesContent=t._generateSourcesContent(n._sources.toArray(),n.sourceRoot),n.file=t._file,n._sourceMapURL=r,n._absoluteSources=n._sources.toArray().map(function(m){return k.computeSourceURL(n.sourceRoot,m,r)});for(var s=t._mappings.toArray().slice(),a=n.__generatedMappings=[],c=n.__originalMappings=[],l=0,A=s.length;l<A;l++){var u=s[l],f=new tE;f.generatedLine=u.generatedLine,f.generatedColumn=u.generatedColumn,u.source&&(f.source=i.indexOf(u.source),f.originalLine=u.originalLine,f.originalColumn=u.originalColumn,u.name&&(f.name=o.indexOf(u.name)),c.push(f)),a.push(f)}return Ui(n.__originalMappings,k.compareByOriginalPositions),n};at.prototype._version=3;Object.defineProperty(at.prototype,"sources",{get:function(){return this._absoluteSources.slice()}});function tE(){this.generatedLine=0,this.generatedColumn=0,this.source=null,this.originalLine=null,this.originalColumn=null,this.name=null}var bu=k.compareByGeneratedPositionsDeflatedNoLine;function eE(e,t){let r=e.length,n=e.length-t;if(!(n<=1))if(n==2){let o=e[t],i=e[t+1];bu(o,i)>0&&(e[t]=i,e[t+1]=o)}else if(n<20)for(let o=t;o<r;o++)for(let i=o;i>t;i--){let s=e[i-1],a=e[i];if(bu(s,a)<=0)break;e[i-1]=a,e[i]=s}else Ui(e,bu,t)}at.prototype._parseMappings=function(t,r){var n=1,o=0,i=0,s=0,a=0,c=0,l=t.length,A=0,u={},f={},m=[],p=[],h,E,C,x,y;let w=0;for(;A<l;)if(t.charAt(A)===";")n++,A++,o=0,eE(p,w),w=p.length;else if(t.charAt(A)===",")A++;else{for(h=new tE,h.generatedLine=n,x=A;x<l&&!this._charIsMappingSeparator(t,x);x++);for(E=t.slice(A,x),C=[];A<x;)e2.decode(t,A,f),y=f.value,A=f.rest,C.push(y);if(C.length===2)throw new Error("Found a source, but no line and column");if(C.length===3)throw new Error("Found a source and line, but no column");if(h.generatedColumn=o+C[0],o=h.generatedColumn,C.length>1&&(h.source=a+C[1],a+=C[1],h.originalLine=i+C[2],i=h.originalLine,h.originalLine+=1,h.originalColumn=s+C[3],s=h.originalColumn,C.length>4&&(h.name=c+C[4],c+=C[4])),p.push(h),typeof h.originalLine=="number"){let S=h.source;for(;m.length<=S;)m.push(null);m[S]===null&&(m[S]=[]),m[S].push(h)}}eE(p,w),this.__generatedMappings=p;for(var B=0;B<m.length;B++)m[B]!=null&&Ui(m[B],k.compareByOriginalPositionsNoSource);this.__originalMappings=[].concat(...m)};at.prototype._findMapping=function(t,r,n,o,i,s){if(t[n]<=0)throw new TypeError("Line must be greater than or equal to 1, got "+t[n]);if(t[o]<0)throw new TypeError("Column must be greater than or equal to 0, got "+t[o]);return Su.search(t,r,i,s)};at.prototype.computeColumnSpans=function(){for(var t=0;t<this._generatedMappings.length;++t){var r=this._generatedMappings[t];if(t+1<this._generatedMappings.length){var n=this._generatedMappings[t+1];if(r.generatedLine===n.generatedLine){r.lastGeneratedColumn=n.generatedColumn-1;continue}}r.lastGeneratedColumn=1/0}};at.prototype.originalPositionFor=function(t){var r={generatedLine:k.getArg(t,"line"),generatedColumn:k.getArg(t,"column")},n=this._findMapping(r,this._generatedMappings,"generatedLine","generatedColumn",k.compareByGeneratedPositionsDeflated,k.getArg(t,"bias",Ee.GREATEST_LOWER_BOUND));if(n>=0){var o=this._generatedMappings[n];if(o.generatedLine===r.generatedLine){var i=k.getArg(o,"source",null);i!==null&&(i=this._sources.at(i),i=k.computeSourceURL(this.sourceRoot,i,this._sourceMapURL));var s=k.getArg(o,"name",null);return s!==null&&(s=this._names.at(s)),{source:i,line:k.getArg(o,"originalLine",null),column:k.getArg(o,"originalColumn",null),name:s}}}return{source:null,line:null,column:null,name:null}};at.prototype.hasContentsOfAllSources=function(){return this.sourcesContent?this.sourcesContent.length>=this._sources.size()&&!this.sourcesContent.some(function(t){return t==null}):!1};at.prototype.sourceContentFor=function(t,r){if(!this.sourcesContent)return null;var n=this._findSourceIndex(t);if(n>=0)return this.sourcesContent[n];var o=t;this.sourceRoot!=null&&(o=k.relative(this.sourceRoot,o));var i;if(this.sourceRoot!=null&&(i=k.urlParse(this.sourceRoot))){var s=o.replace(/^file:\/\//,"");if(i.scheme=="file"&&this._sources.has(s))return this.sourcesContent[this._sources.indexOf(s)];if((!i.path||i.path=="/")&&this._sources.has("/"+o))return this.sourcesContent[this._sources.indexOf("/"+o)]}if(r)return null;throw new Error('"'+o+'" is not in the SourceMap.')};at.prototype.generatedPositionFor=function(t){var r=k.getArg(t,"source");if(r=this._findSourceIndex(r),r<0)return{line:null,column:null,lastColumn:null};var n={source:r,originalLine:k.getArg(t,"line"),originalColumn:k.getArg(t,"column")},o=this._findMapping(n,this._originalMappings,"originalLine","originalColumn",k.compareByOriginalPositions,k.getArg(t,"bias",Ee.GREATEST_LOWER_BOUND));if(o>=0){var i=this._originalMappings[o];if(i.source===n.source)return{line:k.getArg(i,"generatedLine",null),column:k.getArg(i,"generatedColumn",null),lastColumn:k.getArg(i,"lastGeneratedColumn",null)}}return{line:null,column:null,lastColumn:null}};Za.BasicSourceMapConsumer=at;function xr(e,t){var r=e;typeof e=="string"&&(r=k.parseSourceMapInput(e));var n=k.getArg(r,"version"),o=k.getArg(r,"sections");if(n!=this._version)throw new Error("Unsupported version: "+n);this._sources=new $o,this._names=new $o;var i={line:-1,column:0};this._sections=o.map(function(s){if(s.url)throw new Error("Support for url field in sections not implemented.");var a=k.getArg(s,"offset"),c=k.getArg(a,"line"),l=k.getArg(a,"column");if(c<i.line||c===i.line&&l<i.column)throw new Error("Section offsets must be ordered and non-overlapping.");return i=a,{generatedOffset:{generatedLine:c+1,generatedColumn:l+1},consumer:new Ee(k.getArg(s,"map"),t)}})}xr.prototype=Object.create(Ee.prototype);xr.prototype.constructor=Ee;xr.prototype._version=3;Object.defineProperty(xr.prototype,"sources",{get:function(){for(var e=[],t=0;t<this._sections.length;t++)for(var r=0;r<this._sections[t].consumer.sources.length;r++)e.push(this._sections[t].consumer.sources[r]);return e}});xr.prototype.originalPositionFor=function(t){var r={generatedLine:k.getArg(t,"line"),generatedColumn:k.getArg(t,"column")},n=Su.search(r,this._sections,function(i,s){var a=i.generatedLine-s.generatedOffset.generatedLine;return a||i.generatedColumn-s.generatedOffset.generatedColumn}),o=this._sections[n];return o?o.consumer.originalPositionFor({line:r.generatedLine-(o.generatedOffset.generatedLine-1),column:r.generatedColumn-(o.generatedOffset.generatedLine===r.generatedLine?o.generatedOffset.generatedColumn-1:0),bias:t.bias}):{source:null,line:null,column:null,name:null}};xr.prototype.hasContentsOfAllSources=function(){return this._sections.every(function(t){return t.consumer.hasContentsOfAllSources()})};xr.prototype.sourceContentFor=function(t,r){for(var n=0;n<this._sections.length;n++){var o=this._sections[n],i=o.consumer.sourceContentFor(t,!0);if(i||i==="")return i}if(r)return null;throw new Error('"'+t+'" is not in the SourceMap.')};xr.prototype.generatedPositionFor=function(t){for(var r=0;r<this._sections.length;r++){var n=this._sections[r];if(n.consumer._findSourceIndex(k.getArg(t,"source"))!==-1){var o=n.consumer.generatedPositionFor(t);if(o){var i={line:o.line+(n.generatedOffset.generatedLine-1),column:o.column+(n.generatedOffset.generatedLine===o.line?n.generatedOffset.generatedColumn-1:0)};return i}}}return{line:null,column:null}};xr.prototype._parseMappings=function(t,r){this.__generatedMappings=[],this.__originalMappings=[];for(var n=0;n<this._sections.length;n++)for(var o=this._sections[n],i=o.consumer._generatedMappings,s=0;s<i.length;s++){var a=i[s],c=o.consumer._sources.at(a.source);c!==null&&(c=k.computeSourceURL(o.consumer.sourceRoot,c,this._sourceMapURL)),this._sources.add(c),c=this._sources.indexOf(c);var l=null;a.name&&(l=o.consumer._names.at(a.name),this._names.add(l),l=this._names.indexOf(l));var A={source:c,generatedLine:a.generatedLine+(o.generatedOffset.generatedLine-1),generatedColumn:a.generatedColumn+(o.generatedOffset.generatedLine===a.generatedLine?o.generatedOffset.generatedColumn-1:0),originalLine:a.originalLine,originalColumn:a.originalColumn,name:l};this.__generatedMappings.push(A),typeof A.originalLine=="number"&&this.__originalMappings.push(A)}Ui(this.__generatedMappings,k.compareByGeneratedPositionsDeflated),Ui(this.__originalMappings,k.compareByOriginalPositions)};Za.IndexedSourceMapConsumer=xr});var oE=J(nE=>{var t2=wu().SourceMapGenerator,ec=zo(),r2=/(\r?\n)/,n2=10,Xo="$$$isSourceNode$$$";function Ht(e,t,r,n,o){this.children=[],this.sourceContents={},this.line=e??null,this.column=t??null,this.source=r??null,this.name=o??null,this[Xo]=!0,n!=null&&this.add(n)}Ht.fromStringWithSourceMap=function(t,r,n){var o=new Ht,i=t.split(r2),s=0,a=function(){var f=p(),m=p()||"";return f+m;function p(){return s<i.length?i[s++]:void 0}},c=1,l=0,A=null;return r.eachMapping(function(f){if(A!==null)if(c<f.generatedLine)u(A,a()),c++,l=0;else{var m=i[s]||"",p=m.substr(0,f.generatedColumn-l);i[s]=m.substr(f.generatedColumn-l),l=f.generatedColumn,u(A,p),A=f;return}for(;c<f.generatedLine;)o.add(a()),c++;if(l<f.generatedColumn){var m=i[s]||"";o.add(m.substr(0,f.generatedColumn)),i[s]=m.substr(f.generatedColumn),l=f.generatedColumn}A=f},this),s<i.length&&(A&&u(A,a()),o.add(i.splice(s).join(""))),r.sources.forEach(function(f){var m=r.sourceContentFor(f);m!=null&&(n!=null&&(f=ec.join(n,f)),o.setSourceContent(f,m))}),o;function u(f,m){if(f===null||f.source===void 0)o.add(m);else{var p=n?ec.join(n,f.source):f.source;o.add(new Ht(f.originalLine,f.originalColumn,p,m,f.name))}}};Ht.prototype.add=function(t){if(Array.isArray(t))t.forEach(function(r){this.add(r)},this);else if(t[Xo]||typeof t=="string")t&&this.children.push(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Ht.prototype.prepend=function(t){if(Array.isArray(t))for(var r=t.length-1;r>=0;r--)this.prepend(t[r]);else if(t[Xo]||typeof t=="string")this.children.unshift(t);else throw new TypeError("Expected a SourceNode, string, or an array of SourceNodes and strings. Got "+t);return this};Ht.prototype.walk=function(t){for(var r,n=0,o=this.children.length;n<o;n++)r=this.children[n],r[Xo]?r.walk(t):r!==""&&t(r,{source:this.source,line:this.line,column:this.column,name:this.name})};Ht.prototype.join=function(t){var r,n,o=this.children.length;if(o>0){for(r=[],n=0;n<o-1;n++)r.push(this.children[n]),r.push(t);r.push(this.children[n]),this.children=r}return this};Ht.prototype.replaceRight=function(t,r){var n=this.children[this.children.length-1];return n[Xo]?n.replaceRight(t,r):typeof n=="string"?this.children[this.children.length-1]=n.replace(t,r):this.children.push("".replace(t,r)),this};Ht.prototype.setSourceContent=function(t,r){this.sourceContents[ec.toSetString(t)]=r};Ht.prototype.walkSourceContents=function(t){for(var r=0,n=this.children.length;r<n;r++)this.children[r][Xo]&&this.children[r].walkSourceContents(t);for(var o=Object.keys(this.sourceContents),r=0,n=o.length;r<n;r++)t(ec.fromSetString(o[r]),this.sourceContents[o[r]])};Ht.prototype.toString=function(){var t="";return this.walk(function(r){t+=r}),t};Ht.prototype.toStringWithSourceMap=function(t){var r={code:"",line:1,column:0},n=new t2(t),o=!1,i=null,s=null,a=null,c=null;return this.walk(function(l,A){r.code+=l,A.source!==null&&A.line!==null&&A.column!==null?((i!==A.source||s!==A.line||a!==A.column||c!==A.name)&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name}),i=A.source,s=A.line,a=A.column,c=A.name,o=!0):o&&(n.addMapping({generated:{line:r.line,column:r.column}}),i=null,o=!1);for(var u=0,f=l.length;u<f;u++)l.charCodeAt(u)===n2?(r.line++,r.column=0,u+1===f?(i=null,o=!1):o&&n.addMapping({source:A.source,original:{line:A.line,column:A.column},generated:{line:r.line,column:r.column},name:A.name})):r.column++}),this.walkSourceContents(function(l,A){n.setSourceContent(l,A)}),{code:r.code,map:n}};nE.SourceNode=Ht});var iE=J(tc=>{tc.SourceMapGenerator=wu().SourceMapGenerator;tc.SourceMapConsumer=rE().SourceMapConsumer;tc.SourceNode=oE().SourceNode});function nc(e){let{children:t,...r}=e;return(0,rc.jsxs)(sE.Link,{...r,target:"_blank",rel:"noopener noreferrer",children:[t," ",(0,rc.jsx)(ca,{fontSize:"small"})]})}var rc,sE,aE=g(()=>{rc=d(R(),1);AA();sE=d(_(),1)});function Qu({text:e,extra:t}){let{classes:r}=o2(),n=t?`supporting data: ${JSON.stringify(t,null,2)}`:"",o=[e,n].filter(Boolean).join(`
|
|
4
4
|
`),i=encodeURIComponent(`I got this error from JBrowse, here is the stack trace:
|
|
5
5
|
|
|
6
6
|
\`\`\`
|
|
7
7
|
${e}
|
|
8
8
|
\`\`\`
|
|
9
9
|
${n}
|
|
10
|
-
`),s=`https://github.com/GMOD/jbrowse-components/issues/new?labels=bug&title=JBrowse+issue&body=${i}`,a=`mailto:${
|
|
10
|
+
`),s=`https://github.com/GMOD/jbrowse-components/issues/new?labels=bug&title=JBrowse+issue&body=${i}`,a=`mailto:${cE}?subject=JBrowse%202%20error&body=${i}`;return(0,tn.jsxs)(tn.Fragment,{children:[(0,tn.jsxs)(oc.Typography,{children:["Post a new issue at"," ",(0,tn.jsx)(nc,{href:s,children:"GitHub"})," or send an email to ",(0,tn.jsx)(nc,{href:a,children:cE})]}),(0,tn.jsx)("pre",{className:r.pre,children:o})]})}var tn,oc,cE,o2,lE=g(()=>{tn=d(R(),1),oc=d(_(),1);aE();yt();cE="jbrowse2@berkeley.edu",o2=ne()(e=>({pre:{background:(0,oc.alpha)(e.palette.error.main,.2),border:`1px solid ${e.palette.divider}`,overflow:"auto",margin:20,maxHeight:300}}))});function Mu({message:e,children:t,variant:r="body2",...n}){let{classes:o}=i2();return(0,AE.jsx)(uE.Typography,{className:za(o.dots,n.className),...n,variant:r,children:e||"Loading"})}var AE,uE,i2,fE=g(()=>{AE=d(R(),1),uE=d(_(),1);yt();i2=ne()({dots:{"&::after":{display:"inline-block",content:'""',width:"1em",textAlign:"left",animation:`${Au`
|
|
11
11
|
0% {
|
|
12
12
|
content: '';
|
|
13
13
|
}
|
|
@@ -20,15 +20,15 @@ ${n}
|
|
|
20
20
|
75% {
|
|
21
21
|
content: '...';
|
|
22
22
|
}
|
|
23
|
-
`} 1.2s infinite ease-in-out`}}})});var
|
|
24
|
-
`)){let n=
|
|
25
|
-
`)}function
|
|
26
|
-
`);return(0,Zt.jsxs)(Pt.Dialog,{open:!0,onClose:t,maxWidth:"xl",children:[(0,Zt.jsxs)(Pt.DialogTitle,{children:["Stack trace",(0,Zt.jsx)(Pt.IconButton,{onClick:t,sx:{position:"absolute",right:8,top:8},children:(0,Zt.jsx)(Ia,{})})]}),(0,Zt.jsx)(Pt.DialogContent,{children:n===void 0?(0,Zt.jsx)(wu,{variant:"h6"}):(0,Zt.jsx)(yu,{text:f,extra:r})}),(0,Zt.jsxs)(Pt.DialogActions,{children:[(0,Zt.jsx)(Pt.Button,{variant:"contained",color:"secondary",onClick:async()=>{let{default:m}=await Promise.resolve().then(()=>d(cE(),1));m(f),c(!0),setTimeout(()=>{c(!1)},1e3)},children:a?"Copied!":"Copy stack trace to clipboard"}),(0,Zt.jsx)(Pt.Button,{variant:"contained",color:"primary",onClick:t,children:"Close"})]})]})}var Zt,Wo,Pt,AE,Bu,qv,jv,lE,mE=p(()=>{Zt=d(F(),1),Wo=d(S(),1);RA();Pt=d(N(),1),AE=d(zC(),1);eE();nE();Bu={},qv=/\/\/# sourceMappingURL=(.*)/,jv=/(.*)((?:https?|file):\/\/.*):(\d+):(\d+)/;lE=1e4});function Xv(e){let t="",r="is not assignable",n=e.indexOf(r);if(n!==-1){let o=e.slice(0,n+r.length),i=/.*at path "(.*)" snapshot `(.*)` is not assignable/m.exec(o);i&&(e=`Failed to load element at ${i[1]}...Failed element had snapshot`,t=i[2]);let s=/.*snapshot `(.*)` is not assignable/.exec(o);s&&(e="Failed to load element...Failed element had snapshot",t=s[1])}return t}function Zv({error:e,onReset:t}){let{classes:r}=gE(),[n,o]=(0,zo.useState)(!1);return(0,Tt.jsxs)("div",{className:r.iconFloat,children:[typeof e=="object"&&e&&"stack"in e?(0,Tt.jsx)(Ko.Tooltip,{title:"Get stack trace",children:(0,Tt.jsx)(Ko.IconButton,{onClick:()=>{o(!0)},color:"primary",children:(0,Tt.jsx)(s0,{})})}):null,t?(0,Tt.jsx)(Ko.Tooltip,{title:"Retry",children:(0,Tt.jsx)(Ko.IconButton,{onClick:t,color:"primary",children:(0,Tt.jsx)(n0,{})})}):null,n?(0,Tt.jsx)(zo.Suspense,{fallback:null,children:(0,Tt.jsx)($v,{error:e,onClose:()=>{o(!1)}})}):null]})}function e2({error:e,onReset:t}){let{classes:r}=gE(),n=`${e}`,o=n.indexOf("expected an instance of"),i=o!==-1?n.slice(0,o):n,s=Xv(n);return(0,Tt.jsxs)(lu,{children:[i.slice(0,1e4),(0,Tt.jsx)(Zv,{error:e,onReset:t}),s?(0,Tt.jsx)("pre",{className:r.bg,children:JSON.stringify(JSON.parse(s),null,2)}):null]})}var Tt,zo,Ko,$v,gE,pE,hE=p(()=>{Tt=d(F(),1),zo=d(S(),1);o0();a0();Ko=d(N(),1);BC();xt();$v=(0,zo.lazy)(()=>Promise.resolve().then(()=>(mE(),dE))),gE=te()(e=>({bg:{background:e.palette.divider,border:"1px solid black",margin:20},iconFloat:{float:"right",marginLeft:100}}));pE=e2});function Bt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return Du(e,t,n)}}function c2(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return ku(e,r)}}function q(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:rc;CE&&CE(e,null);let n=t.length;for(;n--;){let o=t[n];if(typeof o=="string"){let i=r(o);i!==o&&(t2(t)||(t[n]=i),o=i)}e[o]=!0}return e}function l2(e){for(let t=0;t<e.length;t++)mr(e,t)||(e[t]=null);return e}function Mr(e){let t=_u(null);for(let[r,n]of SE(e))mr(e,r)&&(Array.isArray(n)?t[r]=l2(n):n&&typeof n=="object"&&n.constructor===Object?t[r]=Mr(n):t[r]=n);return t}function ji(e,t){for(;e!==null;){let n=n2(e,t);if(n){if(n.get)return Bt(n.get);if(typeof n.value=="function")return Bt(n.value)}e=r2(e)}function r(){return null}return r}function vE(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:I2(),t=R=>vE(R);if(t.version="3.3.1",t.removed=[],!e||!e.document||e.document.nodeType!==Vi.document||!e.Element)return t.isSupported=!1,t;let{document:r}=e,n=r,o=n.currentScript,{DocumentFragment:i,HTMLTemplateElement:s,Node:a,Element:c,NodeFilter:l,NamedNodeMap:A=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:u,DOMParser:f,trustedTypes:m}=e,g=c.prototype,h=ji(g,"cloneNode"),C=ji(g,"remove"),E=ji(g,"nextSibling"),x=ji(g,"childNodes"),y=ji(g,"parentNode");if(typeof s=="function"){let R=r.createElement("template");R.content&&R.content.ownerDocument&&(r=R.content.ownerDocument)}let w,b="",{implementation:M,createNodeIterator:v,createDocumentFragment:T,getElementsByTagName:_}=r,{importNode:P}=n,B=bE();t.isSupported=typeof SE=="function"&&typeof y=="function"&&M&&M.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:J,ERB_EXPR:X,TMPLIT_EXPR:H,DATA_ATTR:Be,ARIA_ATTR:pt,IS_SCRIPT_OR_DATA:or,ATTR_WHITESPACE:on,CUSTOM_ELEMENT:sn}=BE,{IS_ALLOWED_URI:mi}=BE,De=null,Nr=q({},[...IE,...Qu,...Mu,...vu,...xE]),ge=null,_n=q({},[...yE,...Tu,...wE,...tc]),pe=Object.seal(_u(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Er=null,ir=null,an=Object.seal(_u(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),gi=!0,oo=!0,ps=!1,hs=!0,qt=!1,Dn=!0,cn=!1,ne=!1,Ae=!1,ie=!1,ue=!1,at=!1,Lr=!0,ke=!1,Xe="user-content-",Dt=!0,ln=!1,Fr={},kt=null,ct=q({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),jt=null,io=q({},["audio","video","img","source","image","track"]),pi=null,so=q({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),Cs="http://www.w3.org/1998/Math/MathML",Es="http://www.w3.org/2000/svg",Rr="http://www.w3.org/1999/xhtml",ao=Rr,el=!1,tl=null,fQ=q({},[Cs,Es,Rr],bu),Is=q({},["mi","mo","mn","ms","mtext"]),xs=q({},["annotation-xml"]),dQ=q({},["title","style","font","a","script"]),hi=null,mQ=["application/xhtml+xml","text/html"],gQ="text/html",Oe=null,co=null,pQ=r.createElement("form"),Md=function(I){return I instanceof RegExp||I instanceof Function},rl=function(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(co&&co===I)){if((!I||typeof I!="object")&&(I={}),I=Mr(I),hi=mQ.indexOf(I.PARSER_MEDIA_TYPE)===-1?gQ:I.PARSER_MEDIA_TYPE,Oe=hi==="application/xhtml+xml"?bu:rc,De=mr(I,"ALLOWED_TAGS")?q({},I.ALLOWED_TAGS,Oe):Nr,ge=mr(I,"ALLOWED_ATTR")?q({},I.ALLOWED_ATTR,Oe):_n,tl=mr(I,"ALLOWED_NAMESPACES")?q({},I.ALLOWED_NAMESPACES,bu):fQ,pi=mr(I,"ADD_URI_SAFE_ATTR")?q(Mr(so),I.ADD_URI_SAFE_ATTR,Oe):so,jt=mr(I,"ADD_DATA_URI_TAGS")?q(Mr(io),I.ADD_DATA_URI_TAGS,Oe):io,kt=mr(I,"FORBID_CONTENTS")?q({},I.FORBID_CONTENTS,Oe):ct,Er=mr(I,"FORBID_TAGS")?q({},I.FORBID_TAGS,Oe):Mr({}),ir=mr(I,"FORBID_ATTR")?q({},I.FORBID_ATTR,Oe):Mr({}),Fr=mr(I,"USE_PROFILES")?I.USE_PROFILES:!1,gi=I.ALLOW_ARIA_ATTR!==!1,oo=I.ALLOW_DATA_ATTR!==!1,ps=I.ALLOW_UNKNOWN_PROTOCOLS||!1,hs=I.ALLOW_SELF_CLOSE_IN_ATTR!==!1,qt=I.SAFE_FOR_TEMPLATES||!1,Dn=I.SAFE_FOR_XML!==!1,cn=I.WHOLE_DOCUMENT||!1,ie=I.RETURN_DOM||!1,ue=I.RETURN_DOM_FRAGMENT||!1,at=I.RETURN_TRUSTED_TYPE||!1,Ae=I.FORCE_BODY||!1,Lr=I.SANITIZE_DOM!==!1,ke=I.SANITIZE_NAMED_PROPS||!1,Dt=I.KEEP_CONTENT!==!1,ln=I.IN_PLACE||!1,mi=I.ALLOWED_URI_REGEXP||QE,ao=I.NAMESPACE||Rr,Is=I.MATHML_TEXT_INTEGRATION_POINTS||Is,xs=I.HTML_INTEGRATION_POINTS||xs,pe=I.CUSTOM_ELEMENT_HANDLING||{},I.CUSTOM_ELEMENT_HANDLING&&Md(I.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(pe.tagNameCheck=I.CUSTOM_ELEMENT_HANDLING.tagNameCheck),I.CUSTOM_ELEMENT_HANDLING&&Md(I.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(pe.attributeNameCheck=I.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),I.CUSTOM_ELEMENT_HANDLING&&typeof I.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(pe.allowCustomizedBuiltInElements=I.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),qt&&(oo=!1),ue&&(ie=!0),Fr&&(De=q({},xE),ge=[],Fr.html===!0&&(q(De,IE),q(ge,yE)),Fr.svg===!0&&(q(De,Qu),q(ge,Tu),q(ge,tc)),Fr.svgFilters===!0&&(q(De,Mu),q(ge,Tu),q(ge,tc)),Fr.mathMl===!0&&(q(De,vu),q(ge,wE),q(ge,tc))),I.ADD_TAGS&&(typeof I.ADD_TAGS=="function"?an.tagCheck=I.ADD_TAGS:(De===Nr&&(De=Mr(De)),q(De,I.ADD_TAGS,Oe))),I.ADD_ATTR&&(typeof I.ADD_ATTR=="function"?an.attributeCheck=I.ADD_ATTR:(ge===_n&&(ge=Mr(ge)),q(ge,I.ADD_ATTR,Oe))),I.ADD_URI_SAFE_ATTR&&q(pi,I.ADD_URI_SAFE_ATTR,Oe),I.FORBID_CONTENTS&&(kt===ct&&(kt=Mr(kt)),q(kt,I.FORBID_CONTENTS,Oe)),I.ADD_FORBID_CONTENTS&&(kt===ct&&(kt=Mr(kt)),q(kt,I.ADD_FORBID_CONTENTS,Oe)),Dt&&(De["#text"]=!0),cn&&q(De,["html","head","body"]),De.table&&(q(De,["tbody"]),delete Er.tbody),I.TRUSTED_TYPES_POLICY){if(typeof I.TRUSTED_TYPES_POLICY.createHTML!="function")throw qi('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof I.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw qi('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=I.TRUSTED_TYPES_POLICY,b=w.createHTML("")}else w===void 0&&(w=x2(m,o)),w!==null&&typeof b=="string"&&(b=w.createHTML(""));wt&&wt(I),co=I}},vd=q({},[...Qu,...Mu,...A2]),Td=q({},[...vu,...u2]),hQ=function(I){let Q=y(I);(!Q||!Q.tagName)&&(Q={namespaceURI:ao,tagName:"template"});let L=rc(I.tagName),Ie=rc(Q.tagName);return tl[I.namespaceURI]?I.namespaceURI===Es?Q.namespaceURI===Rr?L==="svg":Q.namespaceURI===Cs?L==="svg"&&(Ie==="annotation-xml"||Is[Ie]):!!vd[L]:I.namespaceURI===Cs?Q.namespaceURI===Rr?L==="math":Q.namespaceURI===Es?L==="math"&&xs[Ie]:!!Td[L]:I.namespaceURI===Rr?Q.namespaceURI===Es&&!xs[Ie]||Q.namespaceURI===Cs&&!Is[Ie]?!1:!Td[L]&&(dQ[L]||!vd[L]):!!(hi==="application/xhtml+xml"&&tl[I.namespaceURI]):!1},Ir=function(I){Ui(t.removed,{element:I});try{y(I).removeChild(I)}catch{C(I)}},kn=function(I,Q){try{Ui(t.removed,{attribute:Q.getAttributeNode(I),from:Q})}catch{Ui(t.removed,{attribute:null,from:Q})}if(Q.removeAttribute(I),I==="is")if(ie||ue)try{Ir(Q)}catch{}else try{Q.setAttribute(I,"")}catch{}},_d=function(I){let Q=null,L=null;if(Ae)I="<remove></remove>"+I;else{let Ne=Su(I,/^[\r\n\t ]+/);L=Ne&&Ne[0]}hi==="application/xhtml+xml"&&ao===Rr&&(I='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+I+"</body></html>");let Ie=w?w.createHTML(I):I;if(ao===Rr)try{Q=new f().parseFromString(Ie,hi)}catch{}if(!Q||!Q.documentElement){Q=M.createDocument(ao,"template",null);try{Q.documentElement.innerHTML=el?b:Ie}catch{}}let lt=Q.body||Q.documentElement;return I&&L&<.insertBefore(r.createTextNode(L),lt.childNodes[0]||null),ao===Rr?_.call(Q,cn?"html":"body")[0]:cn?Q.documentElement:lt},Dd=function(I){return v.call(I.ownerDocument||I,I,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},nl=function(I){return I instanceof u&&(typeof I.nodeName!="string"||typeof I.textContent!="string"||typeof I.removeChild!="function"||!(I.attributes instanceof A)||typeof I.removeAttribute!="function"||typeof I.setAttribute!="function"||typeof I.namespaceURI!="string"||typeof I.insertBefore!="function"||typeof I.hasChildNodes!="function")},kd=function(I){return typeof a=="function"&&I instanceof a};function Pr(R,I,Q){ec(R,L=>{L.call(t,I,Q,co)})}let Nd=function(I){let Q=null;if(Pr(B.beforeSanitizeElements,I,null),nl(I))return Ir(I),!0;let L=Oe(I.nodeName);if(Pr(B.uponSanitizeElement,I,{tagName:L,allowedTags:De}),Dn&&I.hasChildNodes()&&!kd(I.firstElementChild)&&yt(/<[/\w!]/g,I.innerHTML)&&yt(/<[/\w!]/g,I.textContent)||I.nodeType===Vi.progressingInstruction||Dn&&I.nodeType===Vi.comment&&yt(/<[/\w]/g,I.data))return Ir(I),!0;if(!(an.tagCheck instanceof Function&&an.tagCheck(L))&&(!De[L]||Er[L])){if(!Er[L]&&Fd(L)&&(pe.tagNameCheck instanceof RegExp&&yt(pe.tagNameCheck,L)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(L)))return!1;if(Dt&&!kt[L]){let Ie=y(I)||I.parentNode,lt=x(I)||I.childNodes;if(lt&&Ie){let Ne=lt.length;for(let vt=Ne-1;vt>=0;--vt){let Gr=h(lt[vt],!0);Gr.__removalCount=(I.__removalCount||0)+1,Ie.insertBefore(Gr,E(I))}}}return Ir(I),!0}return I instanceof c&&!hQ(I)||(L==="noscript"||L==="noembed"||L==="noframes")&&yt(/<\/no(script|embed|frames)/i,I.innerHTML)?(Ir(I),!0):(qt&&I.nodeType===Vi.text&&(Q=I.textContent,ec([J,X,H],Ie=>{Q=Yi(Q,Ie," ")}),I.textContent!==Q&&(Ui(t.removed,{element:I.cloneNode()}),I.textContent=Q)),Pr(B.afterSanitizeElements,I,null),!1)},Ld=function(I,Q,L){if(Lr&&(Q==="id"||Q==="name")&&(L in r||L in pQ))return!1;if(!(oo&&!ir[Q]&&yt(Be,Q))){if(!(gi&&yt(pt,Q))){if(!(an.attributeCheck instanceof Function&&an.attributeCheck(Q,I))){if(!ge[Q]||ir[Q]){if(!(Fd(I)&&(pe.tagNameCheck instanceof RegExp&&yt(pe.tagNameCheck,I)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(I))&&(pe.attributeNameCheck instanceof RegExp&&yt(pe.attributeNameCheck,Q)||pe.attributeNameCheck instanceof Function&&pe.attributeNameCheck(Q,I))||Q==="is"&&pe.allowCustomizedBuiltInElements&&(pe.tagNameCheck instanceof RegExp&&yt(pe.tagNameCheck,L)||pe.tagNameCheck instanceof Function&&pe.tagNameCheck(L))))return!1}else if(!pi[Q]){if(!yt(mi,Yi(L,on,""))){if(!((Q==="src"||Q==="xlink:href"||Q==="href")&&I!=="script"&&s2(L,"data:")===0&&jt[I])){if(!(ps&&!yt(or,Yi(L,on,"")))){if(L)return!1}}}}}}}return!0},Fd=function(I){return I!=="annotation-xml"&&Su(I,sn)},Rd=function(I){Pr(B.beforeSanitizeAttributes,I,null);let{attributes:Q}=I;if(!Q||nl(I))return;let L={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:ge,forceKeepAttr:void 0},Ie=Q.length;for(;Ie--;){let lt=Q[Ie],{name:Ne,namespaceURI:vt,value:Gr}=lt,lo=Oe(Ne),ol=Gr,Ze=Ne==="value"?ol:a2(ol);if(L.attrName=lo,L.attrValue=Ze,L.keepAttr=!0,L.forceKeepAttr=void 0,Pr(B.uponSanitizeAttribute,I,L),Ze=L.attrValue,ke&&(lo==="id"||lo==="name")&&(kn(Ne,I),Ze=Xe+Ze),Dn&&yt(/((--!?|])>)|<\/(style|title|textarea)/i,Ze)){kn(Ne,I);continue}if(lo==="attributename"&&Su(Ze,"href")){kn(Ne,I);continue}if(L.forceKeepAttr)continue;if(!L.keepAttr){kn(Ne,I);continue}if(!hs&&yt(/\/>/i,Ze)){kn(Ne,I);continue}qt&&ec([J,X,H],Gd=>{Ze=Yi(Ze,Gd," ")});let Pd=Oe(I.nodeName);if(!Ld(Pd,lo,Ze)){kn(Ne,I);continue}if(w&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!vt)switch(m.getAttributeType(Pd,lo)){case"TrustedHTML":{Ze=w.createHTML(Ze);break}case"TrustedScriptURL":{Ze=w.createScriptURL(Ze);break}}if(Ze!==ol)try{vt?I.setAttributeNS(vt,Ne,Ze):I.setAttribute(Ne,Ze),nl(I)?Ir(I):EE(t.removed)}catch{kn(Ne,I)}}Pr(B.afterSanitizeAttributes,I,null)},CQ=function R(I){let Q=null,L=Dd(I);for(Pr(B.beforeSanitizeShadowDOM,I,null);Q=L.nextNode();)Pr(B.uponSanitizeShadowNode,Q,null),Nd(Q),Rd(Q),Q.content instanceof i&&R(Q.content);Pr(B.afterSanitizeShadowDOM,I,null)};return t.sanitize=function(R){let I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},Q=null,L=null,Ie=null,lt=null;if(el=!R,el&&(R="<!-->"),typeof R!="string"&&!kd(R))if(typeof R.toString=="function"){if(R=R.toString(),typeof R!="string")throw qi("dirty is not a string, aborting")}else throw qi("toString is not a function");if(!t.isSupported)return R;if(ne||rl(I),t.removed=[],typeof R=="string"&&(ln=!1),ln){if(R.nodeName){let Gr=Oe(R.nodeName);if(!De[Gr]||Er[Gr])throw qi("root node is forbidden and cannot be sanitized in-place")}}else if(R instanceof a)Q=_d("<!---->"),L=Q.ownerDocument.importNode(R,!0),L.nodeType===Vi.element&&L.nodeName==="BODY"||L.nodeName==="HTML"?Q=L:Q.appendChild(L);else{if(!ie&&!qt&&!cn&&R.indexOf("<")===-1)return w&&at?w.createHTML(R):R;if(Q=_d(R),!Q)return ie?null:at?b:""}Q&&Ae&&Ir(Q.firstChild);let Ne=Dd(ln?R:Q);for(;Ie=Ne.nextNode();)Nd(Ie),Rd(Ie),Ie.content instanceof i&&CQ(Ie.content);if(ln)return R;if(ie){if(ue)for(lt=T.call(Q.ownerDocument);Q.firstChild;)lt.appendChild(Q.firstChild);else lt=Q;return(ge.shadowroot||ge.shadowrootmode)&&(lt=P.call(n,lt,!0)),lt}let vt=cn?Q.outerHTML:Q.innerHTML;return cn&&De["!doctype"]&&Q.ownerDocument&&Q.ownerDocument.doctype&&Q.ownerDocument.doctype.name&&yt(ME,Q.ownerDocument.doctype.name)&&(vt="<!DOCTYPE "+Q.ownerDocument.doctype.name+`>
|
|
27
|
-
`+vt),qt&&ec([J,X,H],Gr=>{vt=Yi(vt,Gr," ")}),w&&at?w.createHTML(vt):vt},t.setConfig=function(){let R=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};rl(R),ne=!0},t.clearConfig=function(){co=null,ne=!1},t.isValidAttribute=function(R,I,Q){co||rl({});let L=Oe(R),Ie=Oe(I);return Ld(L,Ie,Q)},t.addHook=function(R,I){typeof I=="function"&&Ui(B[R],I)},t.removeHook=function(R,I){if(I!==void 0){let Q=o2(B[R],I);return Q===-1?void 0:i2(B[R],Q,1)[0]}return EE(B[R])},t.removeHooks=function(R){B[R]=[]},t.removeAllHooks=function(){B=bE()},t}var SE,CE,t2,r2,n2,wt,er,_u,Du,ku,ec,o2,EE,Ui,i2,rc,bu,Su,Yi,s2,a2,mr,yt,qi,IE,Qu,Mu,A2,vu,u2,xE,yE,Tu,wE,tc,f2,d2,m2,g2,p2,QE,h2,C2,ME,E2,BE,Vi,I2,x2,bE,Nu,TE=p(()=>{({entries:SE,setPrototypeOf:CE,isFrozen:t2,getPrototypeOf:r2,getOwnPropertyDescriptor:n2}=Object),{freeze:wt,seal:er,create:_u}=Object,{apply:Du,construct:ku}=typeof Reflect<"u"&&Reflect;wt||(wt=function(t){return t});er||(er=function(t){return t});Du||(Du=function(t,r){for(var n=arguments.length,o=new Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];return t.apply(r,o)});ku||(ku=function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return new t(...n)});ec=Bt(Array.prototype.forEach),o2=Bt(Array.prototype.lastIndexOf),EE=Bt(Array.prototype.pop),Ui=Bt(Array.prototype.push),i2=Bt(Array.prototype.splice),rc=Bt(String.prototype.toLowerCase),bu=Bt(String.prototype.toString),Su=Bt(String.prototype.match),Yi=Bt(String.prototype.replace),s2=Bt(String.prototype.indexOf),a2=Bt(String.prototype.trim),mr=Bt(Object.prototype.hasOwnProperty),yt=Bt(RegExp.prototype.test),qi=c2(TypeError);IE=wt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),Qu=wt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),Mu=wt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),A2=wt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),vu=wt(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),u2=wt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),xE=wt(["#text"]),yE=wt(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Tu=wt(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),wE=wt(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),tc=wt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),f2=er(/\{\{[\w\W]*|[\w\W]*\}\}/gm),d2=er(/<%[\w\W]*|[\w\W]*%>/gm),m2=er(/\$\{[\w\W]*/gm),g2=er(/^data-[\-\w.\u00B7-\uFFFF]+$/),p2=er(/^aria-[\-\w]+$/),QE=er(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),h2=er(/^(?:\w+script|data):/i),C2=er(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),ME=er(/^html$/i),E2=er(/^[a-z][.\w]*(-[.\w]+)+$/i),BE=Object.freeze({__proto__:null,ARIA_ATTR:p2,ATTR_WHITESPACE:C2,CUSTOM_ELEMENT:E2,DATA_ATTR:g2,DOCTYPE_NAME:ME,ERB_EXPR:d2,IS_ALLOWED_URI:QE,IS_SCRIPT_OR_DATA:h2,MUSTACHE_EXPR:f2,TMPLIT_EXPR:m2}),Vi={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},I2=function(){return typeof window>"u"?null:window},x2=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let n=null,o="data-tt-policy-suffix";r&&r.hasAttribute(o)&&(n=r.getAttribute(o));let i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},bE=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};Nu=vE()});var DE=O((f8,_E)=>{"use strict";var y2=/["'&<>]/;_E.exports=w2;function w2(e){var t=""+e,r=y2.exec(t);if(!r)return t;var n,o="",i=0,s=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:n=""";break;case 38:n="&";break;case 39:n="'";break;case 60:n="<";break;case 62:n=">";break;default:continue}s!==i&&(o+=t.substring(s,i)),s=i+1,o+=n}return s!==i?o+t.substring(s,i):o}});function S2(e){return b2.test(e)}function hn({html:e,className:t}){let r=eh(`${e}`),n=S2(r)?r:(0,FE.default)(r);return(0,LE.useEffect)(()=>{kE||(kE=!0,Nu.addHook("afterSanitizeAttributes",o=>{o.tagName==="A"&&(o.setAttribute("rel","noopener noreferrer"),o.setAttribute("target","_blank"))}))},[]),(0,NE.jsx)("span",{className:t,dangerouslySetInnerHTML:{__html:Nu.sanitize(n)}})}var NE,LE,FE,B2,kE,b2,Lu=p(()=>{NE=d(F(),1),LE=d(S(),1);TE();FE=d(DE(),1);gn();B2=["a","b","br","code","div","em","h1","h2","h3","h4","h5","h6","i","img","li","p","pre","span","small","strong","table","tbody","sup","sub","td","tfoot","th","thead","tr","u","ul"],kE=!1,b2=new RegExp(B2.map(e=>String.raw`<${e}\b[^>]*>`).join("|"),"i")});function Q2({error:e}){let{classes:t}=GE();return(0,Gt.jsx)("div",{className:t.errorBox,children:(0,Gt.jsx)(pE,{error:e})})}var Gt,RE,dt,PE,GE,M2,OE,HE=p(()=>{Gt=d(F(),1),RE=d(S(),1);RA();dt=d(N(),1),PE=d(G(),1);kA();hE();Lu();xt();GE=te()(e=>({closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1),color:e.palette.grey[500]},errorBox:{width:800,margin:40}}));M2=(0,PE.observer)(function(t){let{classes:r}=GE(),{titleNode:n,...o}=t,{title:i,header:s,children:a,onClose:c}=o,l=(0,dt.useTheme)();return(0,Gt.jsx)(dt.Dialog,{...o,children:(0,Gt.jsxs)(dt.ScopedCssBaseline,{children:[(0,RE.isValidElement)(s)?s:(0,Gt.jsxs)(dt.DialogTitle,{children:[n||(0,Gt.jsx)(hn,{html:i||""}),c?(0,Gt.jsx)(dt.IconButton,{className:r.closeButton,onClick:A=>{c(A,"backdropClick")},children:(0,Gt.jsx)(Ia,{})}):null]}),(0,Gt.jsx)(dt.Divider,{}),(0,Gt.jsx)(vo,{FallbackComponent:Q2,children:(0,Gt.jsx)(dt.ThemeProvider,{theme:(0,dt.createTheme)(l,{components:{MuiInputBase:{styleOverrides:{input:{boxSizing:"content-box!important"}}}}}),children:a})})]})})}),OE=M2});function Fu({onClose:e,helpText:t,label:r}){return(0,Vn.jsx)(OE,{open:!0,onClose:e,title:"Help",titleNode:r?(0,Vn.jsxs)(Vn.Fragment,{children:["Help: ",r]}):void 0,onClick:n=>{n.stopPropagation()},onMouseDown:n=>{n.stopPropagation()},children:(0,Vn.jsx)(JE.DialogContent,{children:t})})}var Vn,JE,UE=p(()=>{Vn=d(F(),1),JE=d(N(),1);HE()});function Ru({helpText:e,label:t}){let[r,n]=(0,nc.useState)(!1);return(0,zr.jsxs)(zr.Fragment,{children:[(0,zr.jsx)(YE.IconButton,{size:"small",onClick:o=>{o.stopPropagation(),n(!0)},style:{marginLeft:4,padding:4},children:(0,zr.jsx)(Zh,{fontSize:"small"})}),r?(0,zr.jsxs)(nc.Suspense,{fallback:null,children:[(0,zr.jsx)(Fu,{helpText:e,label:t,onClose:o=>{o.stopPropagation(),n(!1)}})," "]}):null]})}var zr,nc,YE,qE=p(()=>{zr=d(F(),1),nc=d(S(),1);e0();YE=d(N(),1);UE()});var jE,VE,WE,v2,KE,zE=p(()=>{jE=d(F(),1),VE=d(S(),1),WE=d(N(),1),v2=VE.forwardRef(function(t,r){return(0,jE.jsx)(WE.Menu,{...t,ref:r,style:{pointerEvents:"none",...t.style},slotProps:{...t.slotProps,paper:{style:{pointerEvents:"auto"}}}})}),KE=v2});var $E,XE,ZE=p(()=>{"use client";z();$E=d(F(),1),XE=(0,D.createSvgIcon)((0,$E.jsx)("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight")});var eI,tI,rI=p(()=>{"use client";z();eI=d(F(),1),tI=(0,D.createSvgIcon)((0,eI.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckBox")});var nI,oI,iI=p(()=>{"use client";z();nI=d(F(),1),oI=(0,D.createSvgIcon)((0,nI.jsx)("path",{d:"M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2"}),"CheckBoxOutlineBlank")});var sI,aI,cI=p(()=>{"use client";z();sI=d(F(),1),aI=(0,D.createSvgIcon)((0,sI.jsx)("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonChecked")});var lI,AI,uI=p(()=>{"use client";z();lI=d(F(),1),AI=(0,D.createSvgIcon)((0,lI.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonUnchecked")});function fI(e){let{classes:t}=T2(),{type:r}=e,n,o;"checked"in e&&({checked:n,disabled:o}=e);let i;switch(r){case"subMenu":{i=(0,Cn.jsx)(XE,{color:"action"});break}case"checkbox":{n?i=(0,Cn.jsx)(tI,{color:o?"inherit":void 0}):i=(0,Cn.jsx)(oI,{color:"action"});break}case"radio":{n?i=(0,Cn.jsx)(aI,{color:o?"inherit":void 0}):i=(0,Cn.jsx)(AI,{color:"action"});break}}return(0,Cn.jsx)("div",{className:t.menuItemEndDecoration,children:i})}var Cn,oc,T2,dI=p(()=>{Cn=d(F(),1);ZE();rI();iI();cI();uI();oc=d(N(),1);xt();T2=te()({menuItemEndDecoration:{padding:0,margin:0,height:16}})});function mI(e){if(typeof e=="string")return e.toLowerCase().replace(/\s+/g,"_")}function _2({title:e,Icon:t,inset:r,menuItems:n,onMenuItemClick:o,closeAfterItemClick:i,onCloseRoot:s,isOpen:a,onOpen:c,onClose:l}){let[A,u]=(0,Pu.useState)(null),f=mI(e);return(0,ae.jsxs)(ae.Fragment,{children:[(0,ae.jsxs)(bt.MenuItem,{ref:u,"data-testid":f?`cascading-submenu-${f}`:void 0,onMouseOver:c,onFocus:c,onClick:c,children:[t?(0,ae.jsx)(bt.ListItemIcon,{children:(0,ae.jsx)(t,{})}):null,(0,ae.jsx)(bt.ListItemText,{primary:e,inset:r}),(0,ae.jsx)(zh,{})]}),(0,ae.jsx)(KE,{open:a,anchorEl:A,onClose:l,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},children:(0,ae.jsx)(gI,{closeAfterItemClick:i,onMenuItemClick:o,menuItems:n,onCloseRoot:s})})]})}function gI({onMenuItemClick:e,closeAfterItemClick:t,menuItems:r,onCloseRoot:n}){let[o,i]=(0,Pu.useState)(),s=()=>{i(void 0)},a=r.some(A=>"icon"in A&&A.icon),c=r.some(A=>(A.type==="checkbox"||A.type==="radio")&&"helpText"in A&&A.helpText),l=r.toSorted((A,u)=>(u.priority||0)-(A.priority||0));return(0,ae.jsx)(ae.Fragment,{children:l.map((A,u)=>{if("subMenu"in A)return(0,ae.jsx)(_2,{title:A.label,Icon:A.icon,inset:a&&!A.icon,onMenuItemClick:e,menuItems:A.subMenu,closeAfterItemClick:t,onCloseRoot:n,isOpen:o===u,onOpen:()=>{i(u)},onClose:s},`subMenu-${A.label}-${u}`);if(A.type==="divider")return(0,ae.jsx)(bt.Divider,{component:"li"},`divider-${u}`);if(A.type==="subHeader")return(0,ae.jsx)(bt.ListSubheader,{children:A.label},`subHeader-${A.label}-${u}`);let f=A,m=f.helpText,g=f.type==="checkbox"||f.type==="radio",h=mI(f.label);return(0,ae.jsxs)(bt.MenuItem,{"data-testid":h?`cascading-menuitem-${h}`:void 0,disabled:!!f.disabled,onClick:C=>{t&&n(),e(C,f.onClick)},onMouseOver:s,children:[f.icon?(0,ae.jsx)(bt.ListItemIcon,{children:(0,ae.jsx)(f.icon,{})}):null,(0,ae.jsx)(bt.ListItemText,{primary:f.label,secondary:f.subLabel,inset:a&&!f.icon}),(0,ae.jsx)("div",{style:{flexGrow:1,minWidth:10}}),g?(0,ae.jsx)(fI,{type:f.type,checked:f.checked,disabled:f.disabled}):null,m?(0,ae.jsx)(Ru,{helpText:m,label:f.label}):g&&c?(0,ae.jsx)("div",{style:{marginLeft:4,padding:4,width:28,height:28}}):null]},`${f.label}-${u}`)})})}function Gu({onMenuItemClick:e,closeAfterItemClick:t=!0,menuItems:r,open:n,onClose:o,anchorEl:i,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u,style:f}){let m=Array.isArray(r)?r:r();return(0,ae.jsx)(bt.Menu,{anchorEl:i,open:n,onClose:o,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u??void 0,style:f,children:(0,ae.jsx)(gI,{menuItems:m,closeAfterItemClick:t,onMenuItemClick:e,onCloseRoot:o})})}var ae,Pu,bt,pI=p(()=>{ae=d(F(),1),Pu=d(S(),1);$h();bt=d(N(),1);qE();zE();dI()});function D2({children:e,menuItems:t,closeAfterItemClick:r=!0,stopPropagation:n,disabled:o,setOpen:i,ButtonComponent:s=hI.IconButton,onClick:a,anchorOrigin:c,transformOrigin:l,marginThreshold:A,...u}){let[f,m]=(0,ic.useState)(null),g=!!f;(0,ic.useEffect)(()=>{i?.(g)},[g,i]);let h=o??(Array.isArray(t)&&t.length===0);return(0,Wn.jsxs)(Wn.Fragment,{children:[(0,Wn.jsx)(s,{onClick:C=>{n&&C.stopPropagation(),m(C.currentTarget),a?.(C)},...u,disabled:h,children:e}),g?(0,Wn.jsx)(Gu,{open:g,onClose:()=>{m(null)},anchorEl:f,anchorOrigin:c,transformOrigin:l,marginThreshold:A,menuItems:t,closeAfterItemClick:r,onMenuItemClick:(C,E)=>{E()}}):null]})}var Wn,ic,hI,$o,sc=p(()=>{Wn=d(F(),1),ic=d(S(),1),hI=d(N(),1);pI();$o=D2});var CI,ac,Ou=p(()=>{"use client";z();CI=d(F(),1),ac=(0,D.createSvgIcon)((0,CI.jsx)("path",{d:"M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z"}),"AccountTree")});var EI,II,xI=p(()=>{"use client";z();EI=d(F(),1),II=(0,D.createSvgIcon)((0,EI.jsx)("path",{d:"M19 3h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m2 14H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z"}),"Assignment")});var yI,wI,BI=p(()=>{"use client";z();yI=d(F(),1),wI=(0,D.createSvgIcon)((0,yI.jsx)("path",{d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61"}),"FilterAlt")});var bI,Hu,SI=p(()=>{"use client";z();bI=d(F(),1),Hu=(0,D.createSvgIcon)((0,bI.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen")});var QI,MI,vI=p(()=>{"use client";z();QI=d(F(),1),MI=(0,D.createSvgIcon)((0,QI.jsx)("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu")});var Ju,TI,_I=p(()=>{"use client";z();Ju=d(F(),1),TI=(0,D.createSvgIcon)([(0,Ju.jsx)("circle",{cx:"12",cy:"12",r:"3.2"},"0"),(0,Ju.jsx)("path",{d:"M9 2 7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5"},"1")],"PhotoCamera")});var DI,kI,NI=p(()=>{"use client";z();DI=d(F(),1),kI=(0,D.createSvgIcon)((0,DI.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search")});var LI,FI,RI=p(()=>{"use client";z();LI=d(F(),1),FI=(0,D.createSvgIcon)((0,LI.jsx)("path",{d:"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z"}),"Sort")});var PI,Uu,GI=p(()=>{"use client";z();PI=d(F(),1),Uu=(0,D.createSvgIcon)((0,PI.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility")});var k2,Xo,OI=p(()=>{k2={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},Xo=k2});var N2,Wi,HI=p(()=>{N2={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Wi=N2});var L2,Ki,JI=p(()=>{L2={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},Ki=L2});var F2,zi,UI=p(()=>{F2={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},zi=F2});var R2,En,YI=p(()=>{R2={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},En=R2});var Yu=p(()=>{OI();HI();JI();UI();YI()});var WI=O((QG,VI)=>{"use strict";var P2=function(t){return G2(t)&&!O2(t)};function G2(e){return!!e&&typeof e=="object"}function O2(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||U2(e)}var H2=typeof Symbol=="function"&&Symbol.for,J2=H2?Symbol.for("react.element"):60103;function U2(e){return e.$$typeof===J2}function Y2(e){return Array.isArray(e)?[]:{}}function $i(e,t){return t.clone!==!1&&t.isMergeableObject(e)?Zo(Y2(e),e,t):e}function q2(e,t,r){return e.concat(t).map(function(n){return $i(n,r)})}function j2(e,t){if(!t.customMerge)return Zo;var r=t.customMerge(e);return typeof r=="function"?r:Zo}function V2(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function qI(e){return Object.keys(e).concat(V2(e))}function jI(e,t){try{return t in e}catch{return!1}}function W2(e,t){return jI(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function K2(e,t,r){var n={};return r.isMergeableObject(e)&&qI(e).forEach(function(o){n[o]=$i(e[o],r)}),qI(t).forEach(function(o){W2(e,o)||(jI(e,o)&&r.isMergeableObject(t[o])?n[o]=j2(o,r)(e[o],t[o],r):n[o]=$i(t[o],r))}),n}function Zo(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||q2,r.isMergeableObject=r.isMergeableObject||P2,r.cloneUnlessOtherwiseSpecified=$i;var n=Array.isArray(t),o=Array.isArray(e),i=n===o;return i?n?r.arrayMerge(e,t,r):K2(e,t,r):$i(t,r)}Zo.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(n,o){return Zo(n,o,r)},{})};var z2=Zo;VI.exports=z2});function $I(){return{palette:{...cc,mode:void 0},components:{MuiLink:{styleOverrides:{root:({theme:e})=>({color:e.palette.tertiary.main})}}}}}function uT(){return{...$I(),name:"Default (from config)"}}function fT(){return{...$I(),name:"Light (stock)"}}function dT(){return{name:"Dark (stock)",palette:{...cc,mode:"dark"},components:{MuiAppBar:{defaultProps:{enableColorOnDark:!0},styleOverrides:{root:({theme:e})=>e.palette.primary.main}}}}}function mT(){return{name:"Dark (minimal)",palette:{...cc,mode:"dark",primary:{main:En[700]},secondary:{main:En[800]},tertiary:Se.palette.augmentColor({color:{main:En[900]}})}}}function gT(){return{name:"Light (minimal)",palette:{...cc,primary:{main:En[900]},secondary:{main:En[800]},tertiary:Se.palette.augmentColor({color:{main:En[900]}})}}}var zI,$2,Se,X2,Z2,eT,KI,vG,tT,rT,nT,oT,iT,sT,aT,cT,lT,AT,cc,TG,XI=p(()=>{zI=d(N(),1);Yu();$2=d(WI(),1),Se=(0,zI.createTheme)(),X2=Se.palette.augmentColor({color:{main:"#0D233F"}}),Z2=Se.palette.augmentColor({color:{main:"#721E63"}}),eT=Se.palette.augmentColor({color:{main:"#135560"}}),KI=Se.palette.augmentColor({color:{main:"#FFB11D"}}),vG=Se.palette.augmentColor({color:{main:"#aaa"}}),tT={A:Se.palette.augmentColor({color:Ki}),C:Se.palette.augmentColor({color:Wi}),G:Se.palette.augmentColor({color:zi}),T:Se.palette.augmentColor({color:Xo})},rT=[null,Se.palette.augmentColor({color:{main:"#FF8080"}}),Se.palette.augmentColor({color:{main:"#80FF80"}}),Se.palette.augmentColor({color:{main:"#8080FF"}}),Se.palette.augmentColor({color:{main:"#8080FF"}}),Se.palette.augmentColor({color:{main:"#80FF80"}}),Se.palette.augmentColor({color:{main:"#FF8080"}})],nT=[null,Se.palette.augmentColor({color:{main:"#8f8f8f"}}),Se.palette.augmentColor({color:{main:"#adadad"}}),Se.palette.augmentColor({color:{main:"#d8d8d8"}}),Se.palette.augmentColor({color:{main:"#d8d8d8"}}),Se.palette.augmentColor({color:{main:"#adadad"}}),Se.palette.augmentColor({color:{main:"#8f8f8f"}})],oT="#e22",iT="#3e3",sT="#800080",aT="#808080",cT="#f00",lT="#00f",AT="#97b8c9",cc={primary:X2,secondary:Z2,tertiary:eT,quaternary:KI,highlight:KI,stopCodon:oT,startCodon:iT,insertion:sT,deletion:aT,softclip:lT,hardclip:cT,bases:tT,frames:nT,framesCDS:rT,skip:AT};TG={default:uT(),lightStock:fT(),lightMinimal:gT(),darkMinimal:mT(),darkStock:dT()}});var ZI=p(()=>{});var ex=p(()=>{});var qu=p(()=>{XI();Lu();ZI();ex()});function In({value:e}){let{classes:t}=pT(),r=/^https?:\/\//.exec(`${e}`);return(0,lc.jsx)("div",{className:t.fieldValue,children:(0,tx.isValidElement)(e)?e:r?(0,lc.jsx)(rx.Link,{href:`${e}`,children:`${e}`}):(0,lc.jsx)(hn,{html:Kt(e)?JSON.stringify(e):String(e)})})}var lc,tx,rx,pT,Ac=p(()=>{lc=d(F(),1),tx=d(S(),1),rx=d(N(),1);qu();gn();xt();pT=te()(e=>({fieldValue:{wordBreak:"break-word",maxHeight:300,fontSize:12,padding:e.spacing(.5),overflow:"auto"}}))});function vr({description:e,name:t,width:r,prefix:n=[]}){let{classes:o}=hT(),i=[...n,t].join(".");return e?(0,uc.jsx)(nx.Tooltip,{title:e,placement:"left",children:(0,uc.jsx)("div",{className:qa(o.fieldDescription,o.fieldName),children:i})}):(0,uc.jsx)("div",{className:o.fieldName,style:{width:r},children:i})}var uc,nx,hT,Xi=p(()=>{uc=d(F(),1),nx=d(N(),1);xt();hT=te()(e=>({fieldDescription:{"&:hover":{background:e.palette.mode==="dark"?"#e65100":"yellow"}},fieldName:{wordBreak:"break-all",minWidth:90,borderBottom:"1px solid #0003",fontSize:12,background:e.palette.action.disabledBackground,marginRight:e.spacing(1),padding:e.spacing(.5)}}))});function Vu({name:e,value:t,description:r,formatter:n,prefix:o=[]}){let{classes:i}=CT(),[s,a]=(0,ox.useState)(!1),c=t.length>ju,l=c&&!s?t.slice(0,ju):t;return t.length===1?Kt(t[0])?(0,St.jsx)(Tr,{formatter:n,attributes:t[0],prefix:[...o,e]}):(0,St.jsxs)("div",{className:i.field,children:[(0,St.jsx)(vr,{prefix:o,description:r,name:e}),(0,St.jsx)(In,{value:n?n(t[0],e):t[0]})]}):t.every(A=>Kt(A))?(0,St.jsx)(St.Fragment,{children:t.map((A,u)=>(0,St.jsx)(Tr,{formatter:n,attributes:A,prefix:[...o,`${e}-${u}`]},`${JSON.stringify(A)}-${u}`))}):(0,St.jsxs)("div",{className:i.field,children:[(0,St.jsx)(vr,{prefix:o,description:r,name:e}),l.map((A,u)=>(0,St.jsx)("div",{className:i.fieldSubvalue,children:(0,St.jsx)(In,{value:n?n(A,e):A})},`${JSON.stringify(A)}-${u}`)),c?(0,St.jsx)("button",{type:"button",onClick:()=>{a(A=>!A)},children:s?"Show less":`Showing ${ju} of ${t.length}. Show all...`}):null]})}var St,ox,ju,CT,ix=p(()=>{St=d(F(),1),ox=d(S(),1);fc();Ac();Xi();gn();xt();ju=100,CT=te()(e=>({field:{display:"flex",flexWrap:"wrap"},fieldSubvalue:{wordBreak:"break-word",maxHeight:300,padding:e.spacing(.5),border:`1px solid ${e.palette.action.selected}`,boxSizing:"border-box",overflow:"auto"}}))});var ax=O((zG,sx)=>{sx.exports=JBrowseExports["@mui/x-data-grid"]});function Wu({children:e,style:t}){let{classes:r}=ET();return(0,cx.jsx)("div",{className:r.flexContainer,style:t,children:e})}var cx,ET,lx=p(()=>{cx=d(F(),1);xt();ET=te()({flexContainer:{display:"flex",flexDirection:"column"}})});function Ku({value:e,prefix:t,name:r}){let{classes:n}=IT(),[o,i]=(0,Ax.useState)(!1),s=Object.keys(e[0]).sort(),a=new Set(s),c=Object.entries(e).map(([u,f])=>{let{id:m,...g}=f;return{id:u,identifier:m,...g}});for(let u of e)for(let f of Object.keys(u))a.add(f);let l;a.has("id")?(a.delete("id"),l=["identifier",...a]):l=[...a];let A=l.map(u=>th(c.map(f=>f[u])));return a.size<s.length+5?(0,gr.jsxs)("div",{className:n.margin,children:[(0,gr.jsx)(vr,{prefix:t,name:r}),(0,gr.jsx)(ei.FormControlLabel,{control:(0,gr.jsx)(ei.Checkbox,{checked:o,onChange:u=>{i(u.target.checked)}}),label:(0,gr.jsx)(ei.Typography,{variant:"body2",children:"Show options"})}),(0,gr.jsx)(Wu,{children:(0,gr.jsx)(ux.DataGrid,{disableRowSelectionOnClick:!0,rows:c,rowHeight:20,columnHeaderHeight:35,hideFooter:c.length<25,showToolbar:o,columns:l.map((u,f)=>({field:u,width:A[f],renderCell:({value:m})=>(0,gr.jsx)("div",{className:n.cell,children:(0,gr.jsx)(hn,{html:SA(m||"")})})}))})})]}):null}var gr,Ax,ei,ux,IT,fx=p(()=>{gr=d(F(),1),Ax=d(S(),1),ei=d(N(),1),ux=d(ax(),1);Xi();lx();qu();gn();xt();IT=te()(e=>({margin:{marginBottom:e.spacing(4)},cell:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}))});function zu({name:e,value:t,description:r,prefix:n,width:o,formatter:i}){let{classes:s}=xT();return t!=null?(0,Zi.jsxs)("div",{className:s.field,children:[(0,Zi.jsx)(vr,{prefix:n,description:r,name:e,width:o}),(0,Zi.jsx)(In,{value:i?i(t,e):t})]}):null}var Zi,xT,dx=p(()=>{Zi=d(F(),1);Ac();Xi();xt();xT=te()({field:{display:"flex",flexWrap:"wrap"}})});function $u({value:e,prefix:t,name:r}){let{classes:n}=yT(),{uri:o,baseUri:i=""}=e,s;try{s=new URL(o,i).href}catch{s=o}return(0,es.jsxs)("div",{className:n.field,children:[(0,es.jsx)(vr,{prefix:t,name:r}),(0,es.jsx)(In,{value:s})]})}var es,yT,mx=p(()=>{es=d(F(),1);Ac();Xi();xt();yT=te()({field:{display:"flex",flexWrap:"wrap"}})});function gx(e,t){return Math.ceil(QA(e.map(r=>BA([...t,r[0]].join("."),12))))+10}function px(e,t={}){let r=t;for(let n of e)Kt(r)&&(r=r[n]);return typeof r=="string"?r:Kt(r)&&typeof r.Description=="string"?r.Description:void 0}var hx=p(()=>{gn()});function Tr(e){let{attributes:t,omit:r=[],omitSingleLevel:n=[],descriptions:o,formatter:i,hideUris:s,prefix:a=[]}=e,c=new Set([...r,...BT,...n]),{__jbrowsefmt:l,...A}=t,u=Object.entries({...A,...l}).filter(([m,g])=>g!=null&&!c.has(m)),f=gx(u,a);return(0,$r.jsx)($r.Fragment,{children:u.map(([m,g])=>{let h=px([...a,m],o);if(Array.isArray(g))return g.length>1&&g.every(C=>Kt(C))?(0,$r.jsx)(Ku,{name:m,prefix:a,value:g},m):(0,$r.jsx)(Vu,{name:m,value:g,formatter:i,description:h,prefix:a},m);if(Kt(g)){let{omitSingleLevel:C,...E}=e;return ua(g)?s?null:(0,$r.jsx)($u,{name:m,prefix:a,value:g},m):(0,$r.jsx)(Tr,{...E,formatter:i,attributes:g,descriptions:o,prefix:[...a,m]},m)}else return(0,$r.jsx)(zu,{name:m,formatter:i,value:g,description:h,prefix:a,width:Math.min(f,wT)},m)})})}var $r,wT,BT,fc=p(()=>{$r=d(F(),1);ix();fx();dx();mx();hx();gn();wT=170,BT=["__jbrowsefmt","length","position","subfeatures","uniqueId","exonFrames","parentId","thickStart","thickEnd","_lineHash"]});function zn({children:e,title:t,defaultExpanded:r=!0}){let{classes:n}=bT();return(0,Kn.jsxs)(xn.Accordion,{defaultExpanded:r,children:[(0,Kn.jsx)(xn.AccordionSummary,{expandIcon:(0,Kn.jsx)(Zs,{className:n.icon}),children:(0,Kn.jsx)(xn.Typography,{variant:"button",children:t})}),(0,Kn.jsx)(xn.AccordionDetails,{className:n.expansionPanelDetails,children:e})]})}var Kn,xn,bT,Xu=p(()=>{Kn=d(F(),1);Kl();xn=d(N(),1);xt();bT=te()(e=>({expansionPanelDetails:{display:"block",padding:e.spacing(1)},icon:{color:e.palette.tertiary.contrastText||"#fff"}}))});function ST(e){return ts.default.createElement("div",null,ts.default.createElement(dc.FormControlLabel,{...e}))}function ze({checked:e,label:t,disabled:r,onChange:n}){return ts.default.createElement(ST,{control:ts.default.createElement(dc.Checkbox,{disabled:r,checked:e,onChange:n}),label:t})}var ts,dc,mc=p(()=>{ts=d(S(),1),dc=d(N(),1)});function rs({str:e}){let{classes:t}=QT(),[r,n]=(0,pr.useState)(!1),[o,i]=(0,pr.useState)(!1),[s,a]=(0,pr.useState)(!1),c=A=>A.replaceAll("-","").replaceAll(".",""),l=e.map(([A,u])=>[A,o?u:c(u)]).filter(A=>s?!0:!!A[1]).map(([A,u])=>`>${A}
|
|
23
|
+
`} 1.2s infinite ease-in-out`}}})});var mE=J((DG,dE)=>{dE.exports=function(){var e=document.getSelection();if(!e.rangeCount)return function(){};for(var t=document.activeElement,r=[],n=0;n<e.rangeCount;n++)r.push(e.getRangeAt(n));switch(t.tagName.toUpperCase()){case"INPUT":case"TEXTAREA":t.blur();break;default:t=null;break}return e.removeAllRanges(),function(){e.type==="Caret"&&e.removeAllRanges(),e.rangeCount||r.forEach(function(o){e.addRange(o)}),t&&t.focus()}}});var hE=J((_G,pE)=>{"use strict";var s2=mE(),gE={"text/plain":"Text","text/html":"Url",default:"Text"},a2="Copy to clipboard: #{key}, Enter";function c2(e){var t=(/mac os x/i.test(navigator.userAgent)?"\u2318":"Ctrl")+"+C";return e.replace(/#{\s*key\s*}/g,t)}function l2(e,t){var r,n,o,i,s,a,c=!1;t||(t={}),r=t.debug||!1;try{o=s2(),i=document.createRange(),s=document.getSelection(),a=document.createElement("span"),a.textContent=e,a.ariaHidden="true",a.style.all="unset",a.style.position="fixed",a.style.top=0,a.style.clip="rect(0, 0, 0, 0)",a.style.whiteSpace="pre",a.style.webkitUserSelect="text",a.style.MozUserSelect="text",a.style.msUserSelect="text",a.style.userSelect="text",a.addEventListener("copy",function(A){if(A.stopPropagation(),t.format)if(A.preventDefault(),typeof A.clipboardData>"u"){r&&console.warn("unable to use e.clipboardData"),r&&console.warn("trying IE specific stuff"),window.clipboardData.clearData();var u=gE[t.format]||gE.default;window.clipboardData.setData(u,e)}else A.clipboardData.clearData(),A.clipboardData.setData(t.format,e);t.onCopy&&(A.preventDefault(),t.onCopy(A.clipboardData))}),document.body.appendChild(a),i.selectNodeContents(a),s.addRange(i);var l=document.execCommand("copy");if(!l)throw new Error("copy command was unsuccessful");c=!0}catch(A){r&&console.error("unable to copy using execCommand: ",A),r&&console.warn("trying IE specific stuff");try{window.clipboardData.setData(t.format||"text",e),t.onCopy&&t.onCopy(window.clipboardData),c=!0}catch(u){r&&console.error("unable to copy using clipboardData: ",u),r&&console.error("falling back to prompt"),n=c2("message"in t?t.message:a2),window.prompt(n,e)}}finally{s&&(typeof s.removeRange=="function"?s.removeRange(i):s.removeAllRanges()),a&&document.body.removeChild(a),o()}return c}pE.exports=l2});var yE={};rt(yE,{default:()=>xE});async function IE(e){let t=await fetch(e);if(!t.ok)throw new Error(`HTTP ${t.status} fetching ${e}: ${await t.text()}`);return t.text()}async function A2(e){return JSON.parse(await IE(e))}async function d2(e){if(vu[e])return vu[e];let t=new URL(e).search,r=await IE(e),n=u2.exec(r)?.[1]??"",o=await A2(new URL(n,e).href+t),i=new EE.SourceMapConsumer(o);return vu[e]=i,i}async function m2(e){let t=[];for(let r of e.split(`
|
|
24
|
+
`)){let n=f2.exec(r);if(!n){t.push(r);continue}let o=n[2],s=(await d2(o)).originalPositionFor({line:+n[3],column:+n[4]});if(!s.source||!s.line||!s.column){t.push(r);continue}t.push(`${s.source}:${s.line}:${s.column+1} (${n[1].trim()})`)}return t.join(`
|
|
25
|
+
`)}function g2(e,t){return e.startsWith("Error:")?e.slice(`${t}`.length):e}function p2(e){return typeof e=="object"&&e!==null&&"stack"in e?`${e.stack}`:""}function xE({error:e,onClose:t,extra:r}){let[n,o]=(0,Zo.useState)(),[i,s]=(0,Zo.useState)(),[a,c]=(0,Zo.useState)(!1),l=e?`${e}`:"",A=g2(p2(e),l);(0,Zo.useEffect)(()=>{(async()=>{try{o(await m2(A))}catch(m){console.error(m),o(A),s(m)}})()},[A]);let u=window.JBrowseSession?.version,f=[i?"Error loading source map, showing raw stack trace below:":"",l.length>CE?`${l.slice(0,CE)}...`:l,n||"No stack trace available",u?`JBrowse ${u}`:""].filter(Boolean).join(`
|
|
26
|
+
`);return(0,cr.jsxs)(Jt.Dialog,{open:!0,onClose:t,maxWidth:"xl",children:[(0,cr.jsxs)(Jt.DialogTitle,{children:["Stack trace",(0,cr.jsx)(Jt.IconButton,{onClick:t,sx:{position:"absolute",right:8,top:8},children:(0,cr.jsx)(ba,{})})]}),(0,cr.jsx)(Jt.DialogContent,{children:n===void 0?(0,cr.jsx)(Mu,{variant:"h6"}):(0,cr.jsx)(Qu,{text:f,extra:r})}),(0,cr.jsxs)(Jt.DialogActions,{children:[(0,cr.jsx)(Jt.Button,{variant:"contained",color:"secondary",onClick:async()=>{let{default:m}=await Promise.resolve().then(()=>d(hE(),1));m(f),c(!0),setTimeout(()=>{c(!1)},1e3)},children:a?"Copied!":"Copy stack trace to clipboard"}),(0,cr.jsx)(Jt.Button,{variant:"contained",color:"primary",onClick:t,children:"Close"})]})]})}var cr,Zo,Jt,EE,vu,u2,f2,CE,wE=g(()=>{cr=d(R(),1),Zo=d(b(),1);JA();Jt=d(_(),1),EE=d(iE(),1);lE();fE();vu={},u2=/\/\/# sourceMappingURL=(.*)/,f2=/(.*)((?:https?|file):\/\/.*):(\d+):(\d+)/;CE=1e4});function C2(e){let t="",r="is not assignable",n=e.indexOf(r);if(n!==-1){let o=e.slice(0,n+r.length),i=/.*at path "(.*)" snapshot `(.*)` is not assignable/m.exec(o);i&&(e=`Failed to load element at ${i[1]}...Failed element had snapshot`,t=i[2]);let s=/.*snapshot `(.*)` is not assignable/.exec(o);s&&(e="Failed to load element...Failed element had snapshot",t=s[1])}return t}function E2({error:e,onReset:t}){let{classes:r}=BE(),[n,o]=(0,ti.useState)(!1);return(0,_t.jsxs)("div",{className:r.iconFloat,children:[typeof e=="object"&&e&&"stack"in e?(0,_t.jsx)(ei.Tooltip,{title:"Get stack trace",children:(0,_t.jsx)(ei.IconButton,{onClick:()=>{o(!0)},color:"primary",children:(0,_t.jsx)(g0,{})})}):null,t?(0,_t.jsx)(ei.Tooltip,{title:"Retry",children:(0,_t.jsx)(ei.IconButton,{onClick:t,color:"primary",children:(0,_t.jsx)(f0,{})})}):null,n?(0,_t.jsx)(ti.Suspense,{fallback:null,children:(0,_t.jsx)(h2,{error:e,onClose:()=>{o(!1)}})}):null]})}function I2({error:e,onReset:t}){let{classes:r}=BE(),n=`${e}`,o=n.indexOf("expected an instance of"),i=o!==-1?n.slice(0,o):n,s=C2(n);return(0,_t.jsxs)(mu,{children:[i.slice(0,1e4),(0,_t.jsx)(E2,{error:e,onReset:t}),s?(0,_t.jsx)("pre",{className:r.bg,children:JSON.stringify(JSON.parse(s),null,2)}):null]})}var _t,ti,ei,h2,BE,bE,SE=g(()=>{_t=d(R(),1),ti=d(b(),1);d0();p0();ei=d(_(),1);kC();yt();h2=(0,ti.lazy)(()=>Promise.resolve().then(()=>(wE(),yE))),BE=ne()(e=>({bg:{background:e.palette.divider,border:"1px solid black",margin:20},iconFloat:{float:"right",marginLeft:100}}));bE=I2});function bt(e){return function(t){t instanceof RegExp&&(t.lastIndex=0);for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return Fu(e,t,n)}}function M2(e){return function(){for(var t=arguments.length,r=new Array(t),n=0;n<t;n++)r[n]=arguments[n];return Ru(e,r)}}function V(e,t){let r=arguments.length>2&&arguments[2]!==void 0?arguments[2]:cc;QE&&QE(e,null);let n=t.length;for(;n--;){let o=t[n];if(typeof o=="string"){let i=r(o);i!==o&&(x2(t)||(t[n]=i),o=i)}e[o]=!0}return e}function v2(e){for(let t=0;t<e.length;t++)Ut(e,t)||(e[t]=null);return e}function Nr(e){let t=ac(null);for(let[r,n]of LE(e))Ut(e,r)&&(Array.isArray(n)?t[r]=v2(n):n&&typeof n=="object"&&n.constructor===Object?t[r]=Nr(n):t[r]=n);return t}function Vi(e,t){for(;e!==null;){let n=w2(e,t);if(n){if(n.get)return bt(n.get);if(typeof n.value=="function")return bt(n.value)}e=y2(e)}function r(){return null}return r}function PE(){let e=arguments.length>0&&arguments[0]!==void 0?arguments[0]:O2(),t=P=>PE(P);if(t.version="3.3.3",t.removed=[],!e||!e.document||e.document.nodeType!==Wi.document||!e.Element)return t.isSupported=!1,t;let{document:r}=e,n=r,o=n.currentScript,{DocumentFragment:i,HTMLTemplateElement:s,Node:a,Element:c,NodeFilter:l,NamedNodeMap:A=e.NamedNodeMap||e.MozNamedAttrMap,HTMLFormElement:u,DOMParser:f,trustedTypes:m}=e,p=c.prototype,h=Vi(p,"cloneNode"),E=Vi(p,"remove"),C=Vi(p,"nextSibling"),x=Vi(p,"childNodes"),y=Vi(p,"parentNode");if(typeof s=="function"){let P=r.createElement("template");P.content&&P.content.ownerDocument&&(r=P.content.ownerDocument)}let w,B="",{implementation:S,createNodeIterator:Q,createDocumentFragment:N,getElementsByTagName:G}=r,{importNode:U}=n,v=NE();t.isSupported=typeof LE=="function"&&typeof y=="function"&&S&&S.createHTMLDocument!==void 0;let{MUSTACHE_EXPR:T,ERB_EXPR:H,TMPLIT_EXPR:L,DATA_ATTR:te,ARIA_ATTR:et,IS_SCRIPT_OR_DATA:dr,ATTR_WHITESPACE:Or,CUSTOM_ELEMENT:hs}=kE,{IS_ALLOWED_URI:Hr}=kE,Ne=null,Jr=V({},[...vE,..._u,...ku,...Nu,...TE]),pe=null,Nn=V({},[...DE,...Lu,..._E,...sc]),he=Object.seal(ac(null,{tagNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeNameCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},allowCustomizedBuiltInElements:{writable:!0,configurable:!1,enumerable:!0,value:!1}})),Sr=null,zt=null,Tt=Object.seal(ac(null,{tagCheck:{writable:!0,configurable:!1,enumerable:!0,value:null},attributeCheck:{writable:!0,configurable:!1,enumerable:!0,value:null}})),Cs=!0,uo=!0,Ei=!1,Es=!0,un=!1,Qr=!0,Mr=!1,Is=!1,re=!1,se=!1,ue=!1,fe=!1,Nt=!0,gt=!1,Te="user-content-",pt=!0,mr=!1,$t={},Lt=null,fo=V({},["annotation-xml","audio","colgroup","desc","foreignobject","head","iframe","math","mi","mn","mo","ms","mtext","noembed","noframes","noscript","plaintext","script","style","svg","template","thead","title","video","xmp"]),ht=null,Xt=V({},["audio","video","img","source","image","track"]),Ln=null,xs=V({},["alt","class","for","id","label","name","pattern","placeholder","role","summary","title","value","style","xmlns"]),fn="http://www.w3.org/1998/Math/MathML",ys="http://www.w3.org/2000/svg",Ur="http://www.w3.org/1999/xhtml",mo=Ur,sl=!1,al=null,BQ=V({},[fn,ys,Ur],Tu),ws=V({},["mi","mo","mn","ms","mtext"]),Bs=V({},["annotation-xml"]),bQ=V({},["title","style","font","a","script"]),Ii=null,SQ=["application/xhtml+xml","text/html"],QQ="text/html",Je=null,go=null,MQ=r.createElement("form"),Dd=function(I){return I instanceof RegExp||I instanceof Function},cl=function(){let I=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};if(!(go&&go===I)){if((!I||typeof I!="object")&&(I={}),I=Nr(I),Ii=SQ.indexOf(I.PARSER_MEDIA_TYPE)===-1?QQ:I.PARSER_MEDIA_TYPE,Je=Ii==="application/xhtml+xml"?Tu:cc,Ne=Ut(I,"ALLOWED_TAGS")?V({},I.ALLOWED_TAGS,Je):Jr,pe=Ut(I,"ALLOWED_ATTR")?V({},I.ALLOWED_ATTR,Je):Nn,al=Ut(I,"ALLOWED_NAMESPACES")?V({},I.ALLOWED_NAMESPACES,Tu):BQ,Ln=Ut(I,"ADD_URI_SAFE_ATTR")?V(Nr(xs),I.ADD_URI_SAFE_ATTR,Je):xs,ht=Ut(I,"ADD_DATA_URI_TAGS")?V(Nr(Xt),I.ADD_DATA_URI_TAGS,Je):Xt,Lt=Ut(I,"FORBID_CONTENTS")?V({},I.FORBID_CONTENTS,Je):fo,Sr=Ut(I,"FORBID_TAGS")?V({},I.FORBID_TAGS,Je):Nr({}),zt=Ut(I,"FORBID_ATTR")?V({},I.FORBID_ATTR,Je):Nr({}),$t=Ut(I,"USE_PROFILES")?I.USE_PROFILES:!1,Cs=I.ALLOW_ARIA_ATTR!==!1,uo=I.ALLOW_DATA_ATTR!==!1,Ei=I.ALLOW_UNKNOWN_PROTOCOLS||!1,Es=I.ALLOW_SELF_CLOSE_IN_ATTR!==!1,un=I.SAFE_FOR_TEMPLATES||!1,Qr=I.SAFE_FOR_XML!==!1,Mr=I.WHOLE_DOCUMENT||!1,se=I.RETURN_DOM||!1,ue=I.RETURN_DOM_FRAGMENT||!1,fe=I.RETURN_TRUSTED_TYPE||!1,re=I.FORCE_BODY||!1,Nt=I.SANITIZE_DOM!==!1,gt=I.SANITIZE_NAMED_PROPS||!1,pt=I.KEEP_CONTENT!==!1,mr=I.IN_PLACE||!1,Hr=I.ALLOWED_URI_REGEXP||FE,mo=I.NAMESPACE||Ur,ws=I.MATHML_TEXT_INTEGRATION_POINTS||ws,Bs=I.HTML_INTEGRATION_POINTS||Bs,he=I.CUSTOM_ELEMENT_HANDLING||{},I.CUSTOM_ELEMENT_HANDLING&&Dd(I.CUSTOM_ELEMENT_HANDLING.tagNameCheck)&&(he.tagNameCheck=I.CUSTOM_ELEMENT_HANDLING.tagNameCheck),I.CUSTOM_ELEMENT_HANDLING&&Dd(I.CUSTOM_ELEMENT_HANDLING.attributeNameCheck)&&(he.attributeNameCheck=I.CUSTOM_ELEMENT_HANDLING.attributeNameCheck),I.CUSTOM_ELEMENT_HANDLING&&typeof I.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements=="boolean"&&(he.allowCustomizedBuiltInElements=I.CUSTOM_ELEMENT_HANDLING.allowCustomizedBuiltInElements),un&&(uo=!1),ue&&(se=!0),$t&&(Ne=V({},TE),pe=ac(null),$t.html===!0&&(V(Ne,vE),V(pe,DE)),$t.svg===!0&&(V(Ne,_u),V(pe,Lu),V(pe,sc)),$t.svgFilters===!0&&(V(Ne,ku),V(pe,Lu),V(pe,sc)),$t.mathMl===!0&&(V(Ne,Nu),V(pe,_E),V(pe,sc))),Ut(I,"ADD_TAGS")||(Tt.tagCheck=null),Ut(I,"ADD_ATTR")||(Tt.attributeCheck=null),I.ADD_TAGS&&(typeof I.ADD_TAGS=="function"?Tt.tagCheck=I.ADD_TAGS:(Ne===Jr&&(Ne=Nr(Ne)),V(Ne,I.ADD_TAGS,Je))),I.ADD_ATTR&&(typeof I.ADD_ATTR=="function"?Tt.attributeCheck=I.ADD_ATTR:(pe===Nn&&(pe=Nr(pe)),V(pe,I.ADD_ATTR,Je))),I.ADD_URI_SAFE_ATTR&&V(Ln,I.ADD_URI_SAFE_ATTR,Je),I.FORBID_CONTENTS&&(Lt===fo&&(Lt=Nr(Lt)),V(Lt,I.FORBID_CONTENTS,Je)),I.ADD_FORBID_CONTENTS&&(Lt===fo&&(Lt=Nr(Lt)),V(Lt,I.ADD_FORBID_CONTENTS,Je)),pt&&(Ne["#text"]=!0),Mr&&V(Ne,["html","head","body"]),Ne.table&&(V(Ne,["tbody"]),delete Sr.tbody),I.TRUSTED_TYPES_POLICY){if(typeof I.TRUSTED_TYPES_POLICY.createHTML!="function")throw ji('TRUSTED_TYPES_POLICY configuration option must provide a "createHTML" hook.');if(typeof I.TRUSTED_TYPES_POLICY.createScriptURL!="function")throw ji('TRUSTED_TYPES_POLICY configuration option must provide a "createScriptURL" hook.');w=I.TRUSTED_TYPES_POLICY,B=w.createHTML("")}else w===void 0&&(w=H2(m,o)),w!==null&&typeof B=="string"&&(B=w.createHTML(""));Bt&&Bt(I),go=I}},_d=V({},[..._u,...ku,...T2]),kd=V({},[...Nu,...D2]),vQ=function(I){let M=y(I);(!M||!M.tagName)&&(M={namespaceURI:mo,tagName:"template"});let F=cc(I.tagName),ye=cc(M.tagName);return al[I.namespaceURI]?I.namespaceURI===ys?M.namespaceURI===Ur?F==="svg":M.namespaceURI===fn?F==="svg"&&(ye==="annotation-xml"||ws[ye]):!!_d[F]:I.namespaceURI===fn?M.namespaceURI===Ur?F==="math":M.namespaceURI===ys?F==="math"&&Bs[ye]:!!kd[F]:I.namespaceURI===Ur?M.namespaceURI===ys&&!Bs[ye]||M.namespaceURI===fn&&!ws[ye]?!1:!kd[F]&&(bQ[F]||!_d[F]):!!(Ii==="application/xhtml+xml"&&al[I.namespaceURI]):!1},vr=function(I){Yi(t.removed,{element:I});try{y(I).removeChild(I)}catch{E(I)}},Fn=function(I,M){try{Yi(t.removed,{attribute:M.getAttributeNode(I),from:M})}catch{Yi(t.removed,{attribute:null,from:M})}if(M.removeAttribute(I),I==="is")if(se||ue)try{vr(M)}catch{}else try{M.setAttribute(I,"")}catch{}},Nd=function(I){let M=null,F=null;if(re)I="<remove></remove>"+I;else{let Le=Du(I,/^[\r\n\t ]+/);F=Le&&Le[0]}Ii==="application/xhtml+xml"&&mo===Ur&&(I='<html xmlns="http://www.w3.org/1999/xhtml"><head></head><body>'+I+"</body></html>");let ye=w?w.createHTML(I):I;if(mo===Ur)try{M=new f().parseFromString(ye,Ii)}catch{}if(!M||!M.documentElement){M=S.createDocument(mo,"template",null);try{M.documentElement.innerHTML=sl?B:ye}catch{}}let lt=M.body||M.documentElement;return I&&F&<.insertBefore(r.createTextNode(F),lt.childNodes[0]||null),mo===Ur?G.call(M,Mr?"html":"body")[0]:Mr?M.documentElement:lt},Ld=function(I){return Q.call(I.ownerDocument||I,I,l.SHOW_ELEMENT|l.SHOW_COMMENT|l.SHOW_TEXT|l.SHOW_PROCESSING_INSTRUCTION|l.SHOW_CDATA_SECTION,null)},ll=function(I){return I instanceof u&&(typeof I.nodeName!="string"||typeof I.textContent!="string"||typeof I.removeChild!="function"||!(I.attributes instanceof A)||typeof I.removeAttribute!="function"||typeof I.setAttribute!="function"||typeof I.namespaceURI!="string"||typeof I.insertBefore!="function"||typeof I.hasChildNodes!="function")},Fd=function(I){return typeof a=="function"&&I instanceof a};function Yr(P,I,M){ic(P,F=>{F.call(t,I,M,go)})}let Rd=function(I){let M=null;if(Yr(v.beforeSanitizeElements,I,null),ll(I))return vr(I),!0;let F=Je(I.nodeName);if(Yr(v.uponSanitizeElement,I,{tagName:F,allowedTags:Ne}),Qr&&I.hasChildNodes()&&!Fd(I.firstElementChild)&&wt(/<[/\w!]/g,I.innerHTML)&&wt(/<[/\w!]/g,I.textContent)||I.nodeType===Wi.progressingInstruction||Qr&&I.nodeType===Wi.comment&&wt(/<[/\w]/g,I.data))return vr(I),!0;if(!(Tt.tagCheck instanceof Function&&Tt.tagCheck(F))&&(!Ne[F]||Sr[F])){if(!Sr[F]&&Gd(F)&&(he.tagNameCheck instanceof RegExp&&wt(he.tagNameCheck,F)||he.tagNameCheck instanceof Function&&he.tagNameCheck(F)))return!1;if(pt&&!Lt[F]){let ye=y(I)||I.parentNode,lt=x(I)||I.childNodes;if(lt&&ye){let Le=lt.length;for(let Dt=Le-1;Dt>=0;--Dt){let qr=h(lt[Dt],!0);qr.__removalCount=(I.__removalCount||0)+1,ye.insertBefore(qr,C(I))}}}return vr(I),!0}return I instanceof c&&!vQ(I)||(F==="noscript"||F==="noembed"||F==="noframes")&&wt(/<\/no(script|embed|frames)/i,I.innerHTML)?(vr(I),!0):(un&&I.nodeType===Wi.text&&(M=I.textContent,ic([T,H,L],ye=>{M=qi(M,ye," ")}),I.textContent!==M&&(Yi(t.removed,{element:I.cloneNode()}),I.textContent=M)),Yr(v.afterSanitizeElements,I,null),!1)},Pd=function(I,M,F){if(zt[M]||Nt&&(M==="id"||M==="name")&&(F in r||F in MQ))return!1;if(!(uo&&!zt[M]&&wt(te,M))){if(!(Cs&&wt(et,M))){if(!(Tt.attributeCheck instanceof Function&&Tt.attributeCheck(M,I))){if(!pe[M]||zt[M]){if(!(Gd(I)&&(he.tagNameCheck instanceof RegExp&&wt(he.tagNameCheck,I)||he.tagNameCheck instanceof Function&&he.tagNameCheck(I))&&(he.attributeNameCheck instanceof RegExp&&wt(he.attributeNameCheck,M)||he.attributeNameCheck instanceof Function&&he.attributeNameCheck(M,I))||M==="is"&&he.allowCustomizedBuiltInElements&&(he.tagNameCheck instanceof RegExp&&wt(he.tagNameCheck,F)||he.tagNameCheck instanceof Function&&he.tagNameCheck(F))))return!1}else if(!Ln[M]){if(!wt(Hr,qi(F,Or,""))){if(!((M==="src"||M==="xlink:href"||M==="href")&&I!=="script"&&S2(F,"data:")===0&&ht[I])){if(!(Ei&&!wt(dr,qi(F,Or,"")))){if(F)return!1}}}}}}}return!0},Gd=function(I){return I!=="annotation-xml"&&Du(I,hs)},Od=function(I){Yr(v.beforeSanitizeAttributes,I,null);let{attributes:M}=I;if(!M||ll(I))return;let F={attrName:"",attrValue:"",keepAttr:!0,allowedAttributes:pe,forceKeepAttr:void 0},ye=M.length;for(;ye--;){let lt=M[ye],{name:Le,namespaceURI:Dt,value:qr}=lt,po=Je(Le),Al=qr,tt=Le==="value"?Al:Q2(Al);if(F.attrName=po,F.attrValue=tt,F.keepAttr=!0,F.forceKeepAttr=void 0,Yr(v.uponSanitizeAttribute,I,F),tt=F.attrValue,gt&&(po==="id"||po==="name")&&(Fn(Le,I),tt=Te+tt),Qr&&wt(/((--!?|])>)|<\/(style|script|title|xmp|textarea|noscript|iframe|noembed|noframes)/i,tt)){Fn(Le,I);continue}if(po==="attributename"&&Du(tt,"href")){Fn(Le,I);continue}if(F.forceKeepAttr)continue;if(!F.keepAttr){Fn(Le,I);continue}if(!Es&&wt(/\/>/i,tt)){Fn(Le,I);continue}un&&ic([T,H,L],Jd=>{tt=qi(tt,Jd," ")});let Hd=Je(I.nodeName);if(!Pd(Hd,po,tt)){Fn(Le,I);continue}if(w&&typeof m=="object"&&typeof m.getAttributeType=="function"&&!Dt)switch(m.getAttributeType(Hd,po)){case"TrustedHTML":{tt=w.createHTML(tt);break}case"TrustedScriptURL":{tt=w.createScriptURL(tt);break}}if(tt!==Al)try{Dt?I.setAttributeNS(Dt,Le,tt):I.setAttribute(Le,tt),ll(I)?vr(I):ME(t.removed)}catch{Fn(Le,I)}}Yr(v.afterSanitizeAttributes,I,null)},TQ=function P(I){let M=null,F=Ld(I);for(Yr(v.beforeSanitizeShadowDOM,I,null);M=F.nextNode();)Yr(v.uponSanitizeShadowNode,M,null),Rd(M),Od(M),M.content instanceof i&&P(M.content);Yr(v.afterSanitizeShadowDOM,I,null)};return t.sanitize=function(P){let I=arguments.length>1&&arguments[1]!==void 0?arguments[1]:{},M=null,F=null,ye=null,lt=null;if(sl=!P,sl&&(P="<!-->"),typeof P!="string"&&!Fd(P))if(typeof P.toString=="function"){if(P=P.toString(),typeof P!="string")throw ji("dirty is not a string, aborting")}else throw ji("toString is not a function");if(!t.isSupported)return P;if(Is||cl(I),t.removed=[],typeof P=="string"&&(mr=!1),mr){if(P.nodeName){let qr=Je(P.nodeName);if(!Ne[qr]||Sr[qr])throw ji("root node is forbidden and cannot be sanitized in-place")}}else if(P instanceof a)M=Nd("<!---->"),F=M.ownerDocument.importNode(P,!0),F.nodeType===Wi.element&&F.nodeName==="BODY"||F.nodeName==="HTML"?M=F:M.appendChild(F);else{if(!se&&!un&&!Mr&&P.indexOf("<")===-1)return w&&fe?w.createHTML(P):P;if(M=Nd(P),!M)return se?null:fe?B:""}M&&re&&vr(M.firstChild);let Le=Ld(mr?P:M);for(;ye=Le.nextNode();)Rd(ye),Od(ye),ye.content instanceof i&&TQ(ye.content);if(mr)return P;if(se){if(ue)for(lt=N.call(M.ownerDocument);M.firstChild;)lt.appendChild(M.firstChild);else lt=M;return(pe.shadowroot||pe.shadowrootmode)&&(lt=U.call(n,lt,!0)),lt}let Dt=Mr?M.outerHTML:M.innerHTML;return Mr&&Ne["!doctype"]&&M.ownerDocument&&M.ownerDocument.doctype&&M.ownerDocument.doctype.name&&wt(RE,M.ownerDocument.doctype.name)&&(Dt="<!DOCTYPE "+M.ownerDocument.doctype.name+`>
|
|
27
|
+
`+Dt),un&&ic([T,H,L],qr=>{Dt=qi(Dt,qr," ")}),w&&fe?w.createHTML(Dt):Dt},t.setConfig=function(){let P=arguments.length>0&&arguments[0]!==void 0?arguments[0]:{};cl(P),Is=!0},t.clearConfig=function(){go=null,Is=!1},t.isValidAttribute=function(P,I,M){go||cl({});let F=Je(P),ye=Je(I);return Pd(F,ye,M)},t.addHook=function(P,I){typeof I=="function"&&Yi(v[P],I)},t.removeHook=function(P,I){if(I!==void 0){let M=B2(v[P],I);return M===-1?void 0:b2(v[P],M,1)[0]}return ME(v[P])},t.removeHooks=function(P){v[P]=[]},t.removeAllHooks=function(){v=NE()},t}var LE,QE,x2,y2,w2,Bt,lr,ac,Fu,Ru,ic,B2,ME,Yi,b2,cc,Tu,Du,qi,S2,Q2,Ut,wt,ji,vE,_u,ku,T2,Nu,D2,TE,DE,Lu,_E,sc,_2,k2,N2,L2,F2,FE,R2,P2,RE,G2,kE,Wi,O2,H2,NE,Pu,GE=g(()=>{({entries:LE,setPrototypeOf:QE,isFrozen:x2,getPrototypeOf:y2,getOwnPropertyDescriptor:w2}=Object),{freeze:Bt,seal:lr,create:ac}=Object,{apply:Fu,construct:Ru}=typeof Reflect<"u"&&Reflect;Bt||(Bt=function(t){return t});lr||(lr=function(t){return t});Fu||(Fu=function(t,r){for(var n=arguments.length,o=new Array(n>2?n-2:0),i=2;i<n;i++)o[i-2]=arguments[i];return t.apply(r,o)});Ru||(Ru=function(t){for(var r=arguments.length,n=new Array(r>1?r-1:0),o=1;o<r;o++)n[o-1]=arguments[o];return new t(...n)});ic=bt(Array.prototype.forEach),B2=bt(Array.prototype.lastIndexOf),ME=bt(Array.prototype.pop),Yi=bt(Array.prototype.push),b2=bt(Array.prototype.splice),cc=bt(String.prototype.toLowerCase),Tu=bt(String.prototype.toString),Du=bt(String.prototype.match),qi=bt(String.prototype.replace),S2=bt(String.prototype.indexOf),Q2=bt(String.prototype.trim),Ut=bt(Object.prototype.hasOwnProperty),wt=bt(RegExp.prototype.test),ji=M2(TypeError);vE=Bt(["a","abbr","acronym","address","area","article","aside","audio","b","bdi","bdo","big","blink","blockquote","body","br","button","canvas","caption","center","cite","code","col","colgroup","content","data","datalist","dd","decorator","del","details","dfn","dialog","dir","div","dl","dt","element","em","fieldset","figcaption","figure","font","footer","form","h1","h2","h3","h4","h5","h6","head","header","hgroup","hr","html","i","img","input","ins","kbd","label","legend","li","main","map","mark","marquee","menu","menuitem","meter","nav","nobr","ol","optgroup","option","output","p","picture","pre","progress","q","rp","rt","ruby","s","samp","search","section","select","shadow","slot","small","source","spacer","span","strike","strong","style","sub","summary","sup","table","tbody","td","template","textarea","tfoot","th","thead","time","tr","track","tt","u","ul","var","video","wbr"]),_u=Bt(["svg","a","altglyph","altglyphdef","altglyphitem","animatecolor","animatemotion","animatetransform","circle","clippath","defs","desc","ellipse","enterkeyhint","exportparts","filter","font","g","glyph","glyphref","hkern","image","inputmode","line","lineargradient","marker","mask","metadata","mpath","part","path","pattern","polygon","polyline","radialgradient","rect","stop","style","switch","symbol","text","textpath","title","tref","tspan","view","vkern"]),ku=Bt(["feBlend","feColorMatrix","feComponentTransfer","feComposite","feConvolveMatrix","feDiffuseLighting","feDisplacementMap","feDistantLight","feDropShadow","feFlood","feFuncA","feFuncB","feFuncG","feFuncR","feGaussianBlur","feImage","feMerge","feMergeNode","feMorphology","feOffset","fePointLight","feSpecularLighting","feSpotLight","feTile","feTurbulence"]),T2=Bt(["animate","color-profile","cursor","discard","font-face","font-face-format","font-face-name","font-face-src","font-face-uri","foreignobject","hatch","hatchpath","mesh","meshgradient","meshpatch","meshrow","missing-glyph","script","set","solidcolor","unknown","use"]),Nu=Bt(["math","menclose","merror","mfenced","mfrac","mglyph","mi","mlabeledtr","mmultiscripts","mn","mo","mover","mpadded","mphantom","mroot","mrow","ms","mspace","msqrt","mstyle","msub","msup","msubsup","mtable","mtd","mtext","mtr","munder","munderover","mprescripts"]),D2=Bt(["maction","maligngroup","malignmark","mlongdiv","mscarries","mscarry","msgroup","mstack","msline","msrow","semantics","annotation","annotation-xml","mprescripts","none"]),TE=Bt(["#text"]),DE=Bt(["accept","action","align","alt","autocapitalize","autocomplete","autopictureinpicture","autoplay","background","bgcolor","border","capture","cellpadding","cellspacing","checked","cite","class","clear","color","cols","colspan","controls","controlslist","coords","crossorigin","datetime","decoding","default","dir","disabled","disablepictureinpicture","disableremoteplayback","download","draggable","enctype","enterkeyhint","exportparts","face","for","headers","height","hidden","high","href","hreflang","id","inert","inputmode","integrity","ismap","kind","label","lang","list","loading","loop","low","max","maxlength","media","method","min","minlength","multiple","muted","name","nonce","noshade","novalidate","nowrap","open","optimum","part","pattern","placeholder","playsinline","popover","popovertarget","popovertargetaction","poster","preload","pubdate","radiogroup","readonly","rel","required","rev","reversed","role","rows","rowspan","spellcheck","scope","selected","shape","size","sizes","slot","span","srclang","start","src","srcset","step","style","summary","tabindex","title","translate","type","usemap","valign","value","width","wrap","xmlns","slot"]),Lu=Bt(["accent-height","accumulate","additive","alignment-baseline","amplitude","ascent","attributename","attributetype","azimuth","basefrequency","baseline-shift","begin","bias","by","class","clip","clippathunits","clip-path","clip-rule","color","color-interpolation","color-interpolation-filters","color-profile","color-rendering","cx","cy","d","dx","dy","diffuseconstant","direction","display","divisor","dur","edgemode","elevation","end","exponent","fill","fill-opacity","fill-rule","filter","filterunits","flood-color","flood-opacity","font-family","font-size","font-size-adjust","font-stretch","font-style","font-variant","font-weight","fx","fy","g1","g2","glyph-name","glyphref","gradientunits","gradienttransform","height","href","id","image-rendering","in","in2","intercept","k","k1","k2","k3","k4","kerning","keypoints","keysplines","keytimes","lang","lengthadjust","letter-spacing","kernelmatrix","kernelunitlength","lighting-color","local","marker-end","marker-mid","marker-start","markerheight","markerunits","markerwidth","maskcontentunits","maskunits","max","mask","mask-type","media","method","mode","min","name","numoctaves","offset","operator","opacity","order","orient","orientation","origin","overflow","paint-order","path","pathlength","patterncontentunits","patterntransform","patternunits","points","preservealpha","preserveaspectratio","primitiveunits","r","rx","ry","radius","refx","refy","repeatcount","repeatdur","restart","result","rotate","scale","seed","shape-rendering","slope","specularconstant","specularexponent","spreadmethod","startoffset","stddeviation","stitchtiles","stop-color","stop-opacity","stroke-dasharray","stroke-dashoffset","stroke-linecap","stroke-linejoin","stroke-miterlimit","stroke-opacity","stroke","stroke-width","style","surfacescale","systemlanguage","tabindex","tablevalues","targetx","targety","transform","transform-origin","text-anchor","text-decoration","text-rendering","textlength","type","u1","u2","unicode","values","viewbox","visibility","version","vert-adv-y","vert-origin-x","vert-origin-y","width","word-spacing","wrap","writing-mode","xchannelselector","ychannelselector","x","x1","x2","xmlns","y","y1","y2","z","zoomandpan"]),_E=Bt(["accent","accentunder","align","bevelled","close","columnsalign","columnlines","columnspan","denomalign","depth","dir","display","displaystyle","encoding","fence","frame","height","href","id","largeop","length","linethickness","lspace","lquote","mathbackground","mathcolor","mathsize","mathvariant","maxsize","minsize","movablelimits","notation","numalign","open","rowalign","rowlines","rowspacing","rowspan","rspace","rquote","scriptlevel","scriptminsize","scriptsizemultiplier","selection","separator","separators","stretchy","subscriptshift","supscriptshift","symmetric","voffset","width","xmlns"]),sc=Bt(["xlink:href","xml:id","xlink:title","xml:space","xmlns:xlink"]),_2=lr(/\{\{[\w\W]*|[\w\W]*\}\}/gm),k2=lr(/<%[\w\W]*|[\w\W]*%>/gm),N2=lr(/\$\{[\w\W]*/gm),L2=lr(/^data-[\-\w.\u00B7-\uFFFF]+$/),F2=lr(/^aria-[\-\w]+$/),FE=lr(/^(?:(?:(?:f|ht)tps?|mailto|tel|callto|sms|cid|xmpp|matrix):|[^a-z]|[a-z+.\-]+(?:[^a-z+.\-:]|$))/i),R2=lr(/^(?:\w+script|data):/i),P2=lr(/[\u0000-\u0020\u00A0\u1680\u180E\u2000-\u2029\u205F\u3000]/g),RE=lr(/^html$/i),G2=lr(/^[a-z][.\w]*(-[.\w]+)+$/i),kE=Object.freeze({__proto__:null,ARIA_ATTR:F2,ATTR_WHITESPACE:P2,CUSTOM_ELEMENT:G2,DATA_ATTR:L2,DOCTYPE_NAME:RE,ERB_EXPR:k2,IS_ALLOWED_URI:FE,IS_SCRIPT_OR_DATA:R2,MUSTACHE_EXPR:_2,TMPLIT_EXPR:N2}),Wi={element:1,attribute:2,text:3,cdataSection:4,entityReference:5,entityNode:6,progressingInstruction:7,comment:8,document:9,documentType:10,documentFragment:11,notation:12},O2=function(){return typeof window>"u"?null:window},H2=function(t,r){if(typeof t!="object"||typeof t.createPolicy!="function")return null;let n=null,o="data-tt-policy-suffix";r&&r.hasAttribute(o)&&(n=r.getAttribute(o));let i="dompurify"+(n?"#"+n:"");try{return t.createPolicy(i,{createHTML(s){return s},createScriptURL(s){return s}})}catch{return console.warn("TrustedTypes policy "+i+" could not be created."),null}},NE=function(){return{afterSanitizeAttributes:[],afterSanitizeElements:[],afterSanitizeShadowDOM:[],beforeSanitizeAttributes:[],beforeSanitizeElements:[],beforeSanitizeShadowDOM:[],uponSanitizeAttribute:[],uponSanitizeElement:[],uponSanitizeShadowNode:[]}};Pu=PE()});var HE=J((JG,OE)=>{"use strict";var J2=/["'&<>]/;OE.exports=U2;function U2(e){var t=""+e,r=J2.exec(t);if(!r)return t;var n,o="",i=0,s=0;for(i=r.index;i<t.length;i++){switch(t.charCodeAt(i)){case 34:n=""";break;case 38:n="&";break;case 39:n="'";break;case 60:n="<";break;case 62:n=">";break;default:continue}s!==i&&(o+=t.substring(s,i)),s=i+1,o+=n}return s!==i?o+t.substring(s,i):o}});function j2(e){return q2.test(e)}function In({html:e,className:t}){let r=lh(`${e}`),n=j2(r)?r:(0,qE.default)(r);return(0,YE.useEffect)(()=>{JE||(JE=!0,Pu.addHook("afterSanitizeAttributes",o=>{o.tagName==="A"&&(o.setAttribute("rel","noopener noreferrer"),o.setAttribute("target","_blank"))}))},[]),(0,UE.jsx)("span",{className:t,dangerouslySetInnerHTML:{__html:Pu.sanitize(n)}})}var UE,YE,qE,Y2,JE,q2,Gu=g(()=>{UE=d(R(),1),YE=d(b(),1);GE();qE=d(HE(),1);Cn();Y2=["a","b","br","code","div","em","h1","h2","h3","h4","h5","h6","i","img","li","p","pre","span","small","strong","table","tbody","sup","sub","td","tfoot","th","thead","tr","u","ul"],JE=!1,q2=new RegExp(Y2.map(e=>String.raw`<${e}\b[^>]*>`).join("|"),"i")});function V2({error:e}){let{classes:t}=WE();return(0,Yt.jsx)("div",{className:t.errorBox,children:(0,Yt.jsx)(bE,{error:e})})}var Yt,jE,ft,VE,WE,W2,KE,zE=g(()=>{Yt=d(R(),1),jE=d(b(),1);JA();ft=d(_(),1),VE=d(O(),1);PA();SE();Gu();yt();WE=ne()(e=>({closeButton:{position:"absolute",right:e.spacing(1),top:e.spacing(1),color:e.palette.grey[500]},errorBox:{width:800,margin:40}}));W2=(0,VE.observer)(function(t){let{classes:r}=WE(),{titleNode:n,...o}=t,{title:i,header:s,children:a,onClose:c}=o,l=(0,ft.useTheme)();return(0,Yt.jsx)(ft.Dialog,{...o,children:(0,Yt.jsxs)(ft.ScopedCssBaseline,{children:[(0,jE.isValidElement)(s)?s:(0,Yt.jsxs)(ft.DialogTitle,{children:[n||(0,Yt.jsx)(In,{html:i||""}),c?(0,Yt.jsx)(ft.IconButton,{className:r.closeButton,onClick:A=>{c(A,"backdropClick")},children:(0,Yt.jsx)(ba,{})}):null]}),(0,Yt.jsx)(ft.Divider,{}),(0,Yt.jsx)(No,{FallbackComponent:V2,children:(0,Yt.jsx)(ft.ThemeProvider,{theme:(0,ft.createTheme)(l,{components:{MuiInputBase:{styleOverrides:{input:{boxSizing:"content-box!important"}}}}}),children:a})})]})})}),KE=W2});function Ou({onClose:e,helpText:t,label:r}){return(0,eo.jsx)(KE,{open:!0,onClose:e,title:"Help",titleNode:r?(0,eo.jsxs)(eo.Fragment,{children:["Help: ",r]}):void 0,onClick:n=>{n.stopPropagation()},onMouseDown:n=>{n.stopPropagation()},children:(0,eo.jsx)($E.DialogContent,{children:t})})}var eo,$E,XE=g(()=>{eo=d(R(),1),$E=d(_(),1);zE()});function Hu({helpText:e,label:t}){let[r,n]=(0,lc.useState)(!1);return(0,rn.jsxs)(rn.Fragment,{children:[(0,rn.jsx)(ZE.IconButton,{size:"small",onClick:o=>{o.stopPropagation(),n(!0)},style:{marginLeft:4,padding:4},children:(0,rn.jsx)(c0,{fontSize:"small"})}),r?(0,rn.jsxs)(lc.Suspense,{fallback:null,children:[(0,rn.jsx)(Ou,{helpText:e,label:t,onClose:o=>{o.stopPropagation(),n(!1)}})," "]}):null]})}var rn,lc,ZE,eI=g(()=>{rn=d(R(),1),lc=d(b(),1);l0();ZE=d(_(),1);XE()});var tI,rI,nI,K2,oI,iI=g(()=>{tI=d(R(),1),rI=d(b(),1),nI=d(_(),1),K2=rI.forwardRef(function(t,r){return(0,tI.jsx)(nI.Menu,{...t,ref:r,style:{pointerEvents:"none",...t.style},slotProps:{...t.slotProps,paper:{style:{pointerEvents:"auto"}}}})}),oI=K2});var sI,aI,cI=g(()=>{"use client";$();sI=d(R(),1),aI=(0,D.createSvgIcon)((0,sI.jsx)("path",{d:"m10 17 5-5-5-5z"}),"ArrowRight")});var lI,AI,uI=g(()=>{"use client";$();lI=d(R(),1),AI=(0,D.createSvgIcon)((0,lI.jsx)("path",{d:"M19 3H5c-1.11 0-2 .9-2 2v14c0 1.1.89 2 2 2h14c1.11 0 2-.9 2-2V5c0-1.1-.89-2-2-2m-9 14-5-5 1.41-1.41L10 14.17l7.59-7.59L19 8z"}),"CheckBox")});var fI,dI,mI=g(()=>{"use client";$();fI=d(R(),1),dI=(0,D.createSvgIcon)((0,fI.jsx)("path",{d:"M19 5v14H5V5zm0-2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2"}),"CheckBoxOutlineBlank")});var gI,pI,hI=g(()=>{"use client";$();gI=d(R(),1),pI=(0,D.createSvgIcon)((0,gI.jsx)("path",{d:"M12 7c-2.76 0-5 2.24-5 5s2.24 5 5 5 5-2.24 5-5-2.24-5-5-5m0-5C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonChecked")});var CI,EI,II=g(()=>{"use client";$();CI=d(R(),1),EI=(0,D.createSvgIcon)((0,CI.jsx)("path",{d:"M12 2C6.48 2 2 6.48 2 12s4.48 10 10 10 10-4.48 10-10S17.52 2 12 2m0 18c-4.42 0-8-3.58-8-8s3.58-8 8-8 8 3.58 8 8-3.58 8-8 8"}),"RadioButtonUnchecked")});function xI(e){let{classes:t}=z2(),{type:r}=e,n,o;"checked"in e&&({checked:n,disabled:o}=e);let i;switch(r){case"subMenu":{i=(0,xn.jsx)(aI,{color:"action"});break}case"checkbox":{n?i=(0,xn.jsx)(AI,{color:o?"inherit":void 0}):i=(0,xn.jsx)(dI,{color:"action"});break}case"radio":{n?i=(0,xn.jsx)(pI,{color:o?"inherit":void 0}):i=(0,xn.jsx)(EI,{color:"action"});break}}return(0,xn.jsx)("div",{className:t.menuItemEndDecoration,children:i})}var xn,Ac,z2,yI=g(()=>{xn=d(R(),1);cI();uI();mI();hI();II();Ac=d(_(),1);yt();z2=ne()({menuItemEndDecoration:{padding:0,margin:0,height:16}})});function wI(e){if(typeof e=="string")return e.toLowerCase().replace(/\s+/g,"_")}function $2({title:e,Icon:t,inset:r,menuItems:n,onMenuItemClick:o,closeAfterItemClick:i,onCloseRoot:s,isOpen:a,onOpen:c,onClose:l}){let[A,u]=(0,Ju.useState)(null),f=wI(e);return(0,ce.jsxs)(ce.Fragment,{children:[(0,ce.jsxs)(St.MenuItem,{ref:u,"data-testid":f?`cascading-submenu-${f}`:void 0,onMouseOver:c,onFocus:c,onClick:c,children:[t?(0,ce.jsx)(St.ListItemIcon,{children:(0,ce.jsx)(t,{})}):null,(0,ce.jsx)(St.ListItemText,{primary:e,inset:r}),(0,ce.jsx)(i0,{})]}),(0,ce.jsx)(oI,{open:a,anchorEl:A,onClose:l,anchorOrigin:{vertical:"top",horizontal:"right"},transformOrigin:{vertical:"top",horizontal:"left"},children:(0,ce.jsx)(BI,{closeAfterItemClick:i,onMenuItemClick:o,menuItems:n,onCloseRoot:s})})]})}function BI({onMenuItemClick:e,closeAfterItemClick:t,menuItems:r,onCloseRoot:n}){let[o,i]=(0,Ju.useState)(),s=()=>{i(void 0)},a=r.some(A=>"icon"in A&&A.icon),c=r.some(A=>(A.type==="checkbox"||A.type==="radio")&&"helpText"in A&&A.helpText),l=r.toSorted((A,u)=>(u.priority||0)-(A.priority||0));return(0,ce.jsx)(ce.Fragment,{children:l.map((A,u)=>{if("subMenu"in A)return(0,ce.jsx)($2,{title:A.label,Icon:A.icon,inset:a&&!A.icon,onMenuItemClick:e,menuItems:A.subMenu,closeAfterItemClick:t,onCloseRoot:n,isOpen:o===u,onOpen:()=>{i(u)},onClose:s},`subMenu-${A.label}-${u}`);if(A.type==="divider")return(0,ce.jsx)(St.Divider,{component:"li"},`divider-${u}`);if(A.type==="subHeader")return(0,ce.jsx)(St.ListSubheader,{children:A.label},`subHeader-${A.label}-${u}`);let f=A,m=f.helpText,p=f.type==="checkbox"||f.type==="radio",h=wI(f.label);return(0,ce.jsxs)(St.MenuItem,{"data-testid":h?`cascading-menuitem-${h}`:void 0,disabled:!!f.disabled,onClick:E=>{t&&n(),e(E,f.onClick)},onMouseOver:s,children:[f.icon?(0,ce.jsx)(St.ListItemIcon,{children:(0,ce.jsx)(f.icon,{})}):null,(0,ce.jsx)(St.ListItemText,{primary:f.label,secondary:f.subLabel,inset:a&&!f.icon}),(0,ce.jsx)("div",{style:{flexGrow:1,minWidth:10}}),p?(0,ce.jsx)(xI,{type:f.type,checked:f.checked,disabled:f.disabled}):null,m?(0,ce.jsx)(Hu,{helpText:m,label:f.label}):p&&c?(0,ce.jsx)("div",{style:{marginLeft:4,padding:4,width:28,height:28}}):null]},`${f.label}-${u}`)})})}function Uu({onMenuItemClick:e,closeAfterItemClick:t=!0,menuItems:r,open:n,onClose:o,anchorEl:i,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u,style:f}){let m=Array.isArray(r)?r:r();return(0,ce.jsx)(St.Menu,{anchorEl:i,open:n,onClose:o,anchorOrigin:s,transformOrigin:a,anchorReference:c,anchorPosition:l,slotProps:A,marginThreshold:u??void 0,style:f,children:(0,ce.jsx)(BI,{menuItems:m,closeAfterItemClick:t,onMenuItemClick:e,onCloseRoot:o})})}var ce,Ju,St,bI=g(()=>{ce=d(R(),1),Ju=d(b(),1);s0();St=d(_(),1);eI();iI();yI()});function X2({children:e,menuItems:t,closeAfterItemClick:r=!0,stopPropagation:n,disabled:o,setOpen:i,ButtonComponent:s=SI.IconButton,onClick:a,anchorOrigin:c,transformOrigin:l,marginThreshold:A,...u}){let[f,m]=(0,uc.useState)(null),p=!!f;(0,uc.useEffect)(()=>{i?.(p)},[p,i]);let h=o??(Array.isArray(t)&&t.length===0);return(0,to.jsxs)(to.Fragment,{children:[(0,to.jsx)(s,{onClick:E=>{n&&E.stopPropagation(),m(E.currentTarget),a?.(E)},...u,disabled:h,children:e}),p?(0,to.jsx)(Uu,{open:p,onClose:()=>{m(null)},anchorEl:f,anchorOrigin:c,transformOrigin:l,marginThreshold:A,menuItems:t,closeAfterItemClick:r,onMenuItemClick:(E,C)=>{C()}}):null]})}var to,uc,SI,ri,fc=g(()=>{to=d(R(),1),uc=d(b(),1),SI=d(_(),1);bI();ri=X2});var QI,dc,Yu=g(()=>{"use client";$();QI=d(R(),1),dc=(0,D.createSvgIcon)((0,QI.jsx)("path",{d:"M22 11V3h-7v3H9V3H2v8h7V8h2v10h4v3h7v-8h-7v3h-2V8h2v3z"}),"AccountTree")});var MI,vI,TI=g(()=>{"use client";$();MI=d(R(),1),vI=(0,D.createSvgIcon)((0,MI.jsx)("path",{d:"M19 3h-4.18C14.4 1.84 13.3 1 12 1s-2.4.84-2.82 2H5c-1.1 0-2 .9-2 2v14c0 1.1.9 2 2 2h14c1.1 0 2-.9 2-2V5c0-1.1-.9-2-2-2m-7 0c.55 0 1 .45 1 1s-.45 1-1 1-1-.45-1-1 .45-1 1-1m2 14H7v-2h7zm3-4H7v-2h10zm0-4H7V7h10z"}),"Assignment")});var DI,_I,kI=g(()=>{"use client";$();DI=d(R(),1),_I=(0,D.createSvgIcon)((0,DI.jsx)("path",{d:"M4.25 5.61C6.27 8.2 10 13 10 13v6c0 .55.45 1 1 1h2c.55 0 1-.45 1-1v-6s3.72-4.8 5.74-7.39c.51-.66.04-1.61-.79-1.61H5.04c-.83 0-1.3.95-.79 1.61"}),"FilterAlt")});var NI,qu,LI=g(()=>{"use client";$();NI=d(R(),1),qu=(0,D.createSvgIcon)((0,NI.jsx)("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen")});var FI,RI,PI=g(()=>{"use client";$();FI=d(R(),1),RI=(0,D.createSvgIcon)((0,FI.jsx)("path",{d:"M3 18h18v-2H3zm0-5h18v-2H3zm0-7v2h18V6z"}),"Menu")});var ju,GI,OI=g(()=>{"use client";$();ju=d(R(),1),GI=(0,D.createSvgIcon)([(0,ju.jsx)("circle",{cx:"12",cy:"12",r:"3.2"},"0"),(0,ju.jsx)("path",{d:"M9 2 7.17 4H4c-1.1 0-2 .9-2 2v12c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V6c0-1.1-.9-2-2-2h-3.17L15 2zm3 15c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5"},"1")],"PhotoCamera")});var HI,JI,UI=g(()=>{"use client";$();HI=d(R(),1),JI=(0,D.createSvgIcon)((0,HI.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"}),"Search")});var YI,qI,jI=g(()=>{"use client";$();YI=d(R(),1),qI=(0,D.createSvgIcon)((0,YI.jsx)("path",{d:"M3 18h6v-2H3zM3 6v2h18V6zm0 7h12v-2H3z"}),"Sort")});var VI,Vu,WI=g(()=>{"use client";$();VI=d(R(),1),Vu=(0,D.createSvgIcon)((0,VI.jsx)("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility")});var Z2,ni,KI=g(()=>{Z2={50:"#ffebee",100:"#ffcdd2",200:"#ef9a9a",300:"#e57373",400:"#ef5350",500:"#f44336",600:"#e53935",700:"#d32f2f",800:"#c62828",900:"#b71c1c",A100:"#ff8a80",A200:"#ff5252",A400:"#ff1744",A700:"#d50000"},ni=Z2});var eT,Ki,zI=g(()=>{eT={50:"#e3f2fd",100:"#bbdefb",200:"#90caf9",300:"#64b5f6",400:"#42a5f5",500:"#2196f3",600:"#1e88e5",700:"#1976d2",800:"#1565c0",900:"#0d47a1",A100:"#82b1ff",A200:"#448aff",A400:"#2979ff",A700:"#2962ff"},Ki=eT});var tT,zi,$I=g(()=>{tT={50:"#e8f5e9",100:"#c8e6c9",200:"#a5d6a7",300:"#81c784",400:"#66bb6a",500:"#4caf50",600:"#43a047",700:"#388e3c",800:"#2e7d32",900:"#1b5e20",A100:"#b9f6ca",A200:"#69f0ae",A400:"#00e676",A700:"#00c853"},zi=tT});var rT,$i,XI=g(()=>{rT={50:"#fff3e0",100:"#ffe0b2",200:"#ffcc80",300:"#ffb74d",400:"#ffa726",500:"#ff9800",600:"#fb8c00",700:"#f57c00",800:"#ef6c00",900:"#e65100",A100:"#ffd180",A200:"#ffab40",A400:"#ff9100",A700:"#ff6d00"},$i=rT});var nT,yn,ZI=g(()=>{nT={50:"#fafafa",100:"#f5f5f5",200:"#eeeeee",300:"#e0e0e0",400:"#bdbdbd",500:"#9e9e9e",600:"#757575",700:"#616161",800:"#424242",900:"#212121",A100:"#f5f5f5",A200:"#eeeeee",A400:"#bdbdbd",A700:"#616161"},yn=nT});var Wu=g(()=>{KI();zI();$I();XI();ZI()});var nx=J((nO,rx)=>{"use strict";var oT=function(t){return iT(t)&&!sT(t)};function iT(e){return!!e&&typeof e=="object"}function sT(e){var t=Object.prototype.toString.call(e);return t==="[object RegExp]"||t==="[object Date]"||lT(e)}var aT=typeof Symbol=="function"&&Symbol.for,cT=aT?Symbol.for("react.element"):60103;function lT(e){return e.$$typeof===cT}function AT(e){return Array.isArray(e)?[]:{}}function Xi(e,t){return t.clone!==!1&&t.isMergeableObject(e)?oi(AT(e),e,t):e}function uT(e,t,r){return e.concat(t).map(function(n){return Xi(n,r)})}function fT(e,t){if(!t.customMerge)return oi;var r=t.customMerge(e);return typeof r=="function"?r:oi}function dT(e){return Object.getOwnPropertySymbols?Object.getOwnPropertySymbols(e).filter(function(t){return Object.propertyIsEnumerable.call(e,t)}):[]}function ex(e){return Object.keys(e).concat(dT(e))}function tx(e,t){try{return t in e}catch{return!1}}function mT(e,t){return tx(e,t)&&!(Object.hasOwnProperty.call(e,t)&&Object.propertyIsEnumerable.call(e,t))}function gT(e,t,r){var n={};return r.isMergeableObject(e)&&ex(e).forEach(function(o){n[o]=Xi(e[o],r)}),ex(t).forEach(function(o){mT(e,o)||(tx(e,o)&&r.isMergeableObject(t[o])?n[o]=fT(o,r)(e[o],t[o],r):n[o]=Xi(t[o],r))}),n}function oi(e,t,r){r=r||{},r.arrayMerge=r.arrayMerge||uT,r.isMergeableObject=r.isMergeableObject||oT,r.cloneUnlessOtherwiseSpecified=Xi;var n=Array.isArray(t),o=Array.isArray(e),i=n===o;return i?n?r.arrayMerge(e,t,r):gT(e,t,r):Xi(t,r)}oi.all=function(t,r){if(!Array.isArray(t))throw new Error("first argument should be an array");return t.reduce(function(n,o){return oi(n,o,r)},{})};var pT=oi;rx.exports=pT});function sx(){return{palette:{...mc,mode:void 0},components:{MuiLink:{styleOverrides:{root:({theme:e})=>({color:e.palette.tertiary.main})}}}}}function DT(){return{...sx(),name:"Default (from config)"}}function _T(){return{...sx(),name:"Light (stock)"}}function kT(){return{name:"Dark (stock)",palette:{...mc,mode:"dark"},components:{MuiAppBar:{defaultProps:{enableColorOnDark:!0},styleOverrides:{root:({theme:e})=>e.palette.primary.main}}}}}function NT(){return{name:"Dark (minimal)",palette:{...mc,mode:"dark",primary:{main:yn[700]},secondary:{main:yn[800]},tertiary:Se.palette.augmentColor({color:{main:yn[900]}})}}}function LT(){return{name:"Light (minimal)",palette:{...mc,primary:{main:yn[900]},secondary:{main:yn[800]},tertiary:Se.palette.augmentColor({color:{main:yn[900]}})}}}var ix,hT,Se,CT,ET,IT,ox,iO,xT,yT,wT,BT,bT,ST,QT,MT,vT,TT,mc,sO,ax=g(()=>{ix=d(_(),1);Wu();hT=d(nx(),1),Se=(0,ix.createTheme)(),CT=Se.palette.augmentColor({color:{main:"#0D233F"}}),ET=Se.palette.augmentColor({color:{main:"#721E63"}}),IT=Se.palette.augmentColor({color:{main:"#135560"}}),ox=Se.palette.augmentColor({color:{main:"#FFB11D"}}),iO=Se.palette.augmentColor({color:{main:"#aaa"}}),xT={A:Se.palette.augmentColor({color:zi}),C:Se.palette.augmentColor({color:Ki}),G:Se.palette.augmentColor({color:$i}),T:Se.palette.augmentColor({color:ni})},yT=[null,Se.palette.augmentColor({color:{main:"#FF8080"}}),Se.palette.augmentColor({color:{main:"#80FF80"}}),Se.palette.augmentColor({color:{main:"#8080FF"}}),Se.palette.augmentColor({color:{main:"#8080FF"}}),Se.palette.augmentColor({color:{main:"#80FF80"}}),Se.palette.augmentColor({color:{main:"#FF8080"}})],wT=[null,Se.palette.augmentColor({color:{main:"#8f8f8f"}}),Se.palette.augmentColor({color:{main:"#adadad"}}),Se.palette.augmentColor({color:{main:"#d8d8d8"}}),Se.palette.augmentColor({color:{main:"#d8d8d8"}}),Se.palette.augmentColor({color:{main:"#adadad"}}),Se.palette.augmentColor({color:{main:"#8f8f8f"}})],BT="#e22",bT="#3e3",ST="#800080",QT="#808080",MT="#f00",vT="#00f",TT="#97b8c9",mc={primary:CT,secondary:ET,tertiary:IT,quaternary:ox,highlight:ox,stopCodon:BT,startCodon:bT,insertion:ST,deletion:QT,softclip:vT,hardclip:MT,bases:xT,frames:wT,framesCDS:yT,skip:TT};sO={default:DT(),lightStock:_T(),lightMinimal:LT(),darkMinimal:NT(),darkStock:kT()}});var cx=g(()=>{});var lx=g(()=>{});var Ku=g(()=>{ax();Gu();cx();lx()});function wn({value:e}){let{classes:t}=FT(),r=/^https?:\/\//.exec(`${e}`);return(0,gc.jsx)("div",{className:t.fieldValue,children:(0,Ax.isValidElement)(e)?e:r?(0,gc.jsx)(ux.Link,{href:`${e}`,children:`${e}`}):(0,gc.jsx)(In,{html:or(e)?JSON.stringify(e):String(e)})})}var gc,Ax,ux,FT,pc=g(()=>{gc=d(R(),1),Ax=d(b(),1),ux=d(_(),1);Ku();Cn();yt();FT=ne()(e=>({fieldValue:{wordBreak:"break-word",maxHeight:300,fontSize:12,padding:e.spacing(.5),overflow:"auto"}}))});function Lr({description:e,name:t,width:r,prefix:n=[]}){let{classes:o}=RT(),i=[...n,t].join(".");return e?(0,hc.jsx)(fx.Tooltip,{title:e,placement:"left",children:(0,hc.jsx)("div",{className:za(o.fieldDescription,o.fieldName),children:i})}):(0,hc.jsx)("div",{className:o.fieldName,style:{width:r},children:i})}var hc,fx,RT,Zi=g(()=>{hc=d(R(),1),fx=d(_(),1);yt();RT=ne()(e=>({fieldDescription:{"&:hover":{background:e.palette.mode==="dark"?"#e65100":"yellow"}},fieldName:{wordBreak:"break-all",minWidth:90,borderBottom:"1px solid #0003",fontSize:12,background:e.palette.action.disabledBackground,marginRight:e.spacing(1),padding:e.spacing(.5)}}))});function $u({name:e,value:t,description:r,formatter:n,prefix:o=[]}){let{classes:i}=PT(),[s,a]=(0,dx.useState)(!1),c=t.length>zu,l=c&&!s?t.slice(0,zu):t;return t.length===1?or(t[0])?(0,Qt.jsx)(Fr,{formatter:n,attributes:t[0],prefix:[...o,e]}):(0,Qt.jsxs)("div",{className:i.field,children:[(0,Qt.jsx)(Lr,{prefix:o,description:r,name:e}),(0,Qt.jsx)(wn,{value:n?n(t[0],e):t[0]})]}):t.every(A=>or(A))?(0,Qt.jsx)(Qt.Fragment,{children:t.map((A,u)=>(0,Qt.jsx)(Fr,{formatter:n,attributes:A,prefix:[...o,`${e}-${u}`]},`${JSON.stringify(A)}-${u}`))}):(0,Qt.jsxs)("div",{className:i.field,children:[(0,Qt.jsx)(Lr,{prefix:o,description:r,name:e}),l.map((A,u)=>(0,Qt.jsx)("div",{className:i.fieldSubvalue,children:(0,Qt.jsx)(wn,{value:n?n(A,e):A})},`${JSON.stringify(A)}-${u}`)),c?(0,Qt.jsx)("button",{type:"button",onClick:()=>{a(A=>!A)},children:s?"Show less":`Showing ${zu} of ${t.length}. Show all...`}):null]})}var Qt,dx,zu,PT,mx=g(()=>{Qt=d(R(),1),dx=d(b(),1);Cc();pc();Zi();Cn();yt();zu=100,PT=ne()(e=>({field:{display:"flex",flexWrap:"wrap"},fieldSubvalue:{wordBreak:"break-word",maxHeight:300,padding:e.spacing(.5),border:`1px solid ${e.palette.action.selected}`,boxSizing:"border-box",overflow:"auto"}}))});var px=J((SO,gx)=>{gx.exports=JBrowseExports["@mui/x-data-grid"]});function Xu({children:e,style:t}){let{classes:r}=GT();return(0,hx.jsx)("div",{className:r.flexContainer,style:t,children:e})}var hx,GT,Cx=g(()=>{hx=d(R(),1);yt();GT=ne()({flexContainer:{display:"flex",flexDirection:"column"}})});function Zu({value:e,prefix:t,name:r}){let{classes:n}=OT(),[o,i]=(0,Ex.useState)(!1),s=Object.keys(e[0]).sort(),a=new Set(s),c=Object.entries(e).map(([u,f])=>{let{id:m,...p}=f;return{id:u,identifier:m,...p}});for(let u of e)for(let f of Object.keys(u))a.add(f);let l;a.has("id")?(a.delete("id"),l=["identifier",...a]):l=[...a];let A=l.map(u=>Ah(c.map(f=>f[u])));return a.size<s.length+5?(0,yr.jsxs)("div",{className:n.margin,children:[(0,yr.jsx)(Lr,{prefix:t,name:r}),(0,yr.jsx)(ii.FormControlLabel,{control:(0,yr.jsx)(ii.Checkbox,{checked:o,onChange:u=>{i(u.target.checked)}}),label:(0,yr.jsx)(ii.Typography,{variant:"body2",children:"Show options"})}),(0,yr.jsx)(Xu,{children:(0,yr.jsx)(Ix.DataGrid,{disableRowSelectionOnClick:!0,rows:c,rowHeight:20,columnHeaderHeight:35,hideFooter:c.length<25,showToolbar:o,columns:l.map((u,f)=>({field:u,width:A[f],renderCell:({value:m})=>(0,yr.jsx)("div",{className:n.cell,children:(0,yr.jsx)(In,{html:DA(m||"")})})}))})})]}):null}var yr,Ex,ii,Ix,OT,xx=g(()=>{yr=d(R(),1),Ex=d(b(),1),ii=d(_(),1),Ix=d(px(),1);Zi();Cx();Ku();Cn();yt();OT=ne()(e=>({margin:{marginBottom:e.spacing(4)},cell:{whiteSpace:"nowrap",overflow:"hidden",textOverflow:"ellipsis"}}))});function ef({name:e,value:t,description:r,prefix:n,width:o,formatter:i}){let{classes:s}=HT();return t!=null?(0,es.jsxs)("div",{className:s.field,children:[(0,es.jsx)(Lr,{prefix:n,description:r,name:e,width:o}),(0,es.jsx)(wn,{value:i?i(t,e):t})]}):null}var es,HT,yx=g(()=>{es=d(R(),1);pc();Zi();yt();HT=ne()({field:{display:"flex",flexWrap:"wrap"}})});function tf({value:e,prefix:t,name:r}){let{classes:n}=JT(),{uri:o,baseUri:i=""}=e,s;try{s=new URL(o,i).href}catch{s=o}return(0,ts.jsxs)("div",{className:n.field,children:[(0,ts.jsx)(Lr,{prefix:t,name:r}),(0,ts.jsx)(wn,{value:s})]})}var ts,JT,wx=g(()=>{ts=d(R(),1);pc();Zi();yt();JT=ne()({field:{display:"flex",flexWrap:"wrap"}})});function Bx(e,t){return Math.ceil(_A(e.map(r=>vA([...t,r[0]].join("."),12))))+10}function bx(e,t={}){let r=t;for(let n of e)or(r)&&(r=r[n]);return typeof r=="string"?r:or(r)&&typeof r.Description=="string"?r.Description:void 0}var Sx=g(()=>{Cn()});function Fr(e){let{attributes:t,omit:r=[],omitSingleLevel:n=[],descriptions:o,formatter:i,hideUris:s,prefix:a=[]}=e,c=new Set([...r,...YT,...n]),{__jbrowsefmt:l,...A}=t,u=Object.entries({...A,...l}).filter(([m,p])=>p!=null&&!c.has(m)),f=Bx(u,a);return(0,nn.jsx)(nn.Fragment,{children:u.map(([m,p])=>{let h=bx([...a,m],o);if(Array.isArray(p))return p.length>1&&p.every(E=>or(E))?(0,nn.jsx)(Zu,{name:m,prefix:a,value:p},m):(0,nn.jsx)($u,{name:m,value:p,formatter:i,description:h,prefix:a},m);if(or(p)){let{omitSingleLevel:E,...C}=e;return pa(p)?s?null:(0,nn.jsx)(tf,{name:m,prefix:a,value:p},m):(0,nn.jsx)(Fr,{...C,formatter:i,attributes:p,descriptions:o,prefix:[...a,m]},m)}else return(0,nn.jsx)(ef,{name:m,formatter:i,value:p,description:h,prefix:a,width:Math.min(f,UT)},m)})})}var nn,UT,YT,Cc=g(()=>{nn=d(R(),1);mx();xx();yx();wx();Sx();Cn();UT=170,YT=["__jbrowsefmt","length","position","subfeatures","uniqueId","exonFrames","parentId","thickStart","thickEnd","_lineHash"]});function no({children:e,title:t,defaultExpanded:r=!0}){let{classes:n}=qT();return(0,ro.jsxs)(Bn.Accordion,{defaultExpanded:r,children:[(0,ro.jsx)(Bn.AccordionSummary,{expandIcon:(0,ro.jsx)(ra,{className:n.icon}),children:(0,ro.jsx)(Bn.Typography,{variant:"button",children:t})}),(0,ro.jsx)(Bn.AccordionDetails,{className:n.expansionPanelDetails,children:e})]})}var ro,Bn,qT,rf=g(()=>{ro=d(R(),1);tA();Bn=d(_(),1);yt();qT=ne()(e=>({expansionPanelDetails:{display:"block",padding:e.spacing(1)},icon:{color:e.palette.tertiary.contrastText||"#fff"}}))});function jT(e){return rs.default.createElement("div",null,rs.default.createElement(Ec.FormControlLabel,{...e}))}function Xe({checked:e,label:t,disabled:r,onChange:n}){return rs.default.createElement(jT,{control:rs.default.createElement(Ec.Checkbox,{disabled:r,checked:e,onChange:n}),label:t})}var rs,Ec,Ic=g(()=>{rs=d(b(),1),Ec=d(_(),1)});function ns({str:e}){let{classes:t}=VT(),[r,n]=(0,wr.useState)(!1),[o,i]=(0,wr.useState)(!1),[s,a]=(0,wr.useState)(!1),c=A=>A.replaceAll("-","").replaceAll(".",""),l=e.map(([A,u])=>[A,o?u:c(u)]).filter(A=>s?!0:!!A[1]).map(([A,u])=>`>${A}
|
|
28
28
|
${o?u:c(u)}`).join(`
|
|
29
|
-
`);return pr.default.createElement(pr.default.Fragment,null,pr.default.createElement(gc.Button,{color:"primary",variant:"contained",onClick:()=>{_i(l),n(!0),setTimeout(()=>{n(!1)},500)}},r?"Copied!":"Copy to clipboard"),pr.default.createElement(ze,{label:"Show gaps",checked:o,onChange:()=>{i(!o)}}),pr.default.createElement(ze,{label:"Show empty",checked:s,onChange:()=>{a(!s)}}),pr.default.createElement(gc.TextField,{variant:"outlined",multiline:!0,className:t.dialogContent,minRows:5,maxRows:10,fullWidth:!0,value:l,InputProps:{readOnly:!0,classes:{input:t.textAreaFont}}}))}var pr,gc,Cx,QT,Zu=p(()=>{pr=d(S(),1),gc=d(N(),1),Cx=d(tt(),1);mc();LA();QT=(0,Cx.makeStyles)()({textAreaFont:{fontFamily:"Courier New",wordWrap:"break-word"},dialogContent:{background:"lightgrey",margin:4,minWidth:"80em"}})});var yx={};et(yx,{default:()=>vT});var ti,Ex,Ix,xx,MT,vT,wx=p(()=>{ti=d(S(),1);fc();Xu();Ex=d(xe(),1),Ix=d(N(),1),xx=d(G(),1);Zu();MT=(0,xx.observer)(function({model:e,onClose:t}){let{header:r}=e;return ti.default.createElement(Ex.Dialog,{onClose:()=>{t()},open:!0,title:"Metadata",maxWidth:"xl"},ti.default.createElement(Ix.DialogContent,null,ti.default.createElement(Tr,{attributes:r}),ti.default.createElement(zn,{title:"sequence"},ti.default.createElement(rs,{str:e.rows}))))}),vT=MT});var bx={};et(bx,{default:()=>Bx});function Bx({model:e,onClose:t}){let[r,n]=(0,ye.useState)(!0),[o,i]=(0,ye.useState)(!0),[s,a]=(0,ye.useState)("viewport"),[c,l]=(0,ye.useState)(),A=(0,Ce.useTheme)(),{totalWidth:u,totalHeight:f,treeAreaWidth:m,turnedOnTracks:g}=e,h=g.length>0,C=u+m,E=f,x=s==="entire"&&(C>1e4||E>1e4);return ye.default.createElement(pc.Dialog,{onClose:()=>{t()},open:!0,title:"Export SVG"},ye.default.createElement(Ce.DialogContent,null,c?ye.default.createElement(pc.ErrorMessage,{error:c}):null,ye.default.createElement(Ce.Typography,null,"Settings:"),ye.default.createElement(ze,{label:"Include minimap?",disabled:s==="entire",checked:r,onChange:()=>{n(!r)}}),h?ye.default.createElement(ze,{label:"Include tracks?",checked:o,onChange:()=>{i(!o)}}):null,ye.default.createElement("div",null,ye.default.createElement(Ce.FormControl,null,ye.default.createElement(Ce.FormLabel,null,"Export type"),ye.default.createElement(Ce.RadioGroup,{value:s,onChange:y=>{a(y.target.value)}},ye.default.createElement(Ce.FormControlLabel,{value:"entire",control:ye.default.createElement(Ce.Radio,null),label:"Entire MSA"}),ye.default.createElement(Ce.FormControlLabel,{value:"viewport",control:ye.default.createElement(Ce.Radio,null),label:"Current viewport only"})))),x?ye.default.createElement(Ce.Alert,{severity:"warning",style:{marginTop:8}},"The entire MSA is very large (",Math.round(C),"x",Math.round(E)," pixels). Export may be slow or fail."):null),ye.default.createElement(Ce.DialogActions,null,ye.default.createElement(Ce.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{await e.exportSVG({theme:A,includeMinimap:s==="entire"?!1:r,includeTracks:h&&o,exportType:s}),t()}catch(y){console.error(y),l(y)}})()}},"Submit"),ye.default.createElement(Ce.Button,{variant:"contained",color:"secondary",onClick:()=>{t()}},"Cancel")))}var ye,pc,Ce,Sx=p(()=>{ye=d(S(),1),pc=d(xe(),1),Ce=d(N(),1);mc()});function Qx(e){return ef[Math.min(e,ef.length-1)]}var ef,tf,rf=p(()=>{ef=[["#F8766D"],["#F8766D","#00BFC4"],["#F8766D","#00BA38","#619CFF"],["#F8766D","#7CAE00","#00BFC4","#C77CFF"],["#F8766D","#A3A500","#00BF7D","#00B0F6","#E76BF3"],["#F8766D","#B79F00","#00BA38","#00BFC4","#619CFF","#F564E3"],["#F8766D","#C49A00","#53B400","#00C094","#00B6EB","#A58AFF","#FB61D7"],["#F8766D","#CD9600","#7CAE00","#00BE67","#00BFC4","#00A9FF","#C77CFF","#FF61CC"]];tf=ef});var vx={};et(vx,{default:()=>kT});var fe,Mx,ns,hc,TT,_T,DT,kT,Tx=p(()=>{fe=d(S(),1),Mx=d(xe(),1),ns=d(N(),1),hc=d(G(),1);rf();TT=(0,hc.observer)(function({model:e}){let{featureFilters:t}=e;return fe.default.createElement("div",null,fe.default.createElement(ns.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!0)}},"Toggle all on"),fe.default.createElement(ns.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!1)}},"Toggle all off"))}),_T=(0,hc.observer)(function({model:e}){let{tidyInterProAnnotationTypes:t,featureFilters:r}=e,n=[...t.values()],o=Qx(n.length-1);return fe.default.createElement(fe.default.Fragment,null,fe.default.createElement(TT,{model:e}),fe.default.createElement("table",null,fe.default.createElement("thead",null,fe.default.createElement("tr",null,fe.default.createElement("td",null),fe.default.createElement("td",null,"accession"),fe.default.createElement("td",null,"name"),fe.default.createElement("td",null,"description"))),fe.default.createElement("tbody",null,n.map(({accession:i,name:s,description:a},c)=>fe.default.createElement("tr",{key:i},fe.default.createElement("td",null,fe.default.createElement("input",{type:"checkbox",checked:r.get(i)??!1,onChange:()=>{e.setFilter(i,!e.featureFilters.get(i))}})),fe.default.createElement("td",null,i),fe.default.createElement("td",null,s),fe.default.createElement("td",null,a),fe.default.createElement("td",null,fe.default.createElement("div",{style:{width:20,height:20,background:o[c]||"black"}})))))))}),DT=(0,hc.observer)(function({onClose:e,model:t}){return fe.default.createElement(Mx.Dialog,{onClose:()=>{e()},open:!0,title:"Feature filters",maxWidth:"xl"},fe.default.createElement(ns.DialogContent,null,fe.default.createElement(_T,{model:t})))}),kT=DT});var NT,Xr,$e,tr,Px,_x,nf,LT,Cc,Gx,Ox,Dx,kx,Nx,os,FT,RT,PT,GT,af,Lx,OT,of,sf,Fx,cf,Qt,Rx,Ec,Ic=p(()=>{NT={grad:.9,turn:360,rad:360/(2*Math.PI)},Xr=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},$e=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},tr=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e>t?e:t},Px=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},_x=function(e){return{r:tr(e.r,0,255),g:tr(e.g,0,255),b:tr(e.b,0,255),a:tr(e.a)}},nf=function(e){return{r:$e(e.r),g:$e(e.g),b:$e(e.b),a:$e(e.a,3)}},LT=/^#([0-9a-f]{3,8})$/i,Cc=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},Gx=function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=Math.max(t,r,n),s=i-Math.min(t,r,n),a=s?i===t?(r-n)/s:i===r?2+(n-t)/s:4+(t-r)/s:0;return{h:60*(a<0?a+6:a),s:i?s/i*100:0,v:i/255*100,a:o}},Ox=function(e){var t=e.h,r=e.s,n=e.v,o=e.a;t=t/360*6,r/=100,n/=100;var i=Math.floor(t),s=n*(1-r),a=n*(1-(t-i)*r),c=n*(1-(1-t+i)*r),l=i%6;return{r:255*[n,a,s,s,c,n][l],g:255*[c,n,n,a,s,s][l],b:255*[s,s,c,n,n,a][l],a:o}},Dx=function(e){return{h:Px(e.h),s:tr(e.s,0,100),l:tr(e.l,0,100),a:tr(e.a)}},kx=function(e){return{h:$e(e.h),s:$e(e.s),l:$e(e.l),a:$e(e.a,3)}},Nx=function(e){return Ox((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}));var t,r,n},os=function(e){return{h:(t=Gx(e)).h,s:(o=(200-(r=t.s))*(n=t.v)/100)>0&&o<200?r*n/100/(o<=100?o:200-o)*100:0,l:o/2,a:t.a};var t,r,n,o},FT=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,RT=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,PT=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,GT=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,af={string:[[function(e){var t=LT.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?$e(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?$e(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=PT.exec(e)||GT.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:_x({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t=FT.exec(e)||RT.exec(e);if(!t)return null;var r,n,o=Dx({h:(r=t[1],n=t[2],n===void 0&&(n="deg"),Number(r)*(NT[n]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return Nx(o)},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=o===void 0?1:o;return Xr(t)&&Xr(r)&&Xr(n)?_x({r:Number(t),g:Number(r),b:Number(n),a:Number(i)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,o=e.a,i=o===void 0?1:o;if(!Xr(t)||!Xr(r)||!Xr(n))return null;var s=Dx({h:Number(t),s:Number(r),l:Number(n),a:Number(i)});return Nx(s)},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,o=e.a,i=o===void 0?1:o;if(!Xr(t)||!Xr(r)||!Xr(n))return null;var s=(function(a){return{h:Px(a.h),s:tr(a.s,0,100),v:tr(a.v,0,100),a:tr(a.a)}})({h:Number(t),s:Number(r),v:Number(n),a:Number(i)});return Ox(s)},"hsv"]]},Lx=function(e,t){for(var r=0;r<t.length;r++){var n=t[r][0](e);if(n)return[n,t[r][1]]}return[null,void 0]},OT=function(e){return typeof e=="string"?Lx(e.trim(),af.string):typeof e=="object"&&e!==null?Lx(e,af.object):[null,void 0]},of=function(e,t){var r=os(e);return{h:r.h,s:tr(r.s+100*t,0,100),l:r.l,a:r.a}},sf=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},Fx=function(e,t){var r=os(e);return{h:r.h,s:r.s,l:tr(r.l+100*t,0,100),a:r.a}},cf=(function(){function e(t){this.parsed=OT(t)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return this.parsed!==null},e.prototype.brightness=function(){return $e(sf(this.rgba),2)},e.prototype.isDark=function(){return sf(this.rgba)<.5},e.prototype.isLight=function(){return sf(this.rgba)>=.5},e.prototype.toHex=function(){return t=nf(this.rgba),r=t.r,n=t.g,o=t.b,s=(i=t.a)<1?Cc($e(255*i)):"","#"+Cc(r)+Cc(n)+Cc(o)+s;var t,r,n,o,i,s},e.prototype.toRgb=function(){return nf(this.rgba)},e.prototype.toRgbString=function(){return t=nf(this.rgba),r=t.r,n=t.g,o=t.b,(i=t.a)<1?"rgba("+r+", "+n+", "+o+", "+i+")":"rgb("+r+", "+n+", "+o+")";var t,r,n,o,i},e.prototype.toHsl=function(){return kx(os(this.rgba))},e.prototype.toHslString=function(){return t=kx(os(this.rgba)),r=t.h,n=t.s,o=t.l,(i=t.a)<1?"hsla("+r+", "+n+"%, "+o+"%, "+i+")":"hsl("+r+", "+n+"%, "+o+"%)";var t,r,n,o,i},e.prototype.toHsv=function(){return t=Gx(this.rgba),{h:$e(t.h),s:$e(t.s),v:$e(t.v),a:$e(t.a,3)};var t},e.prototype.invert=function(){return Qt({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},e.prototype.saturate=function(t){return t===void 0&&(t=.1),Qt(of(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),Qt(of(this.rgba,-t))},e.prototype.grayscale=function(){return Qt(of(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),Qt(Fx(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),Qt(Fx(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},e.prototype.alpha=function(t){return typeof t=="number"?Qt({r:(r=this.rgba).r,g:r.g,b:r.b,a:t}):$e(this.rgba.a,3);var r},e.prototype.hue=function(t){var r=os(this.rgba);return typeof t=="number"?Qt({h:t,s:r.s,l:r.l,a:r.a}):$e(r.h)},e.prototype.isEqual=function(t){return this.toHex()===Qt(t).toHex()},e})(),Qt=function(e){return e instanceof cf?e:new cf(e)},Rx=[],Ec=function(e){e.forEach(function(t){Rx.indexOf(t)<0&&(t(cf,af),Rx.push(t))})}});function xc(e,t){var r={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},n={};for(var o in r)n[r[o]]=o;var i={};e.prototype.toName=function(s){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var a,c,l=n[this.toHex()];if(l)return l;if(s?.closest){var A=this.toRgb(),u=1/0,f="black";if(!i.length)for(var m in r)i[m]=new e(r[m]).toRgb();for(var g in r){var h=(a=A,c=i[g],Math.pow(a.r-c.r,2)+Math.pow(a.g-c.g,2)+Math.pow(a.b-c.b,2));h<u&&(u=h,f=g)}return f}},t.string.push([function(s){var a=s.toLowerCase(),c=a==="transparent"?"#0000":r[a];return c?new e(c).toRgb():null},"name"])}var lf=p(()=>{});function yc(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}var Hx=p(()=>{});function wc(e,t){let r;if(t===void 0)for(let n of e)n!=null&&(r<n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r<o||r===void 0&&o>=o)&&(r=o)}return r}var Jx=p(()=>{});var Af=p(()=>{Hx();Jx()});function Bc(e,t){return Object.fromEntries(Object.entries(e).map(t))}function $n(e,t){return Bc(e,([r,n])=>[r,t.palette.getContrastText(Qt(n).toHex())])}function uf(e,t){if(e.length===0)return typeof t=="string"?t:t.join("");let r=[],n=0;for(let o of e)o>n&&r.push(typeof t=="string"?t.slice(n,o):t.slice(n,o).join("")),n=o+1;return n<t.length&&r.push(typeof t=="string"?t.slice(n):t.slice(n).join("")),r.join("")}function ff(e,t,r){e.len=(t+=Math.max(e.data.length||0,0))*r,e.children&&e.children.forEach(n=>{ff(n,t,r)})}function df(e){return(e.data.length||0)+(e.children&&wc(e.children,df)||0)}function Ux(e){e.children&&(e._children=e.children,e.children=null)}function mf(e){return e.end-e.start}function is(e){return e==="-"||e==="."}var yn=p(()=>{Ic();lf();Af();Ec([xc])});var HT,ri,bc=p(()=>{Yu();Ic();lf();yn();Ec([xc]);HT={none:{},clustal:{G:"orange",P:"orange",S:"orange",T:"orange",H:"red",K:"red",R:"red",F:"blue",W:"blue",Y:"blue",I:"green",L:"green",M:"green",V:"green"},lesk:{G:"orange",A:"orange",S:"orange",T:"orange",C:"green",V:"green",I:"green",L:"green",P:"green",F:"green",Y:"green",M:"green",W:"green",N:"magenta",Q:"magenta",H:"magenta",D:"red",E:"red",K:"blue",R:"blue"},maeditor:{A:"lightgreen",G:"lightgreen",C:"green",D:"darkgreen",E:"darkgreen",N:"darkgreen",Q:"darkgreen",I:"blue",L:"blue",M:"blue",V:"blue",F:"#c8a2c8",W:"#c8a2c8",Y:"#c8a2c8",H:"darkblue",K:"orange",R:"orange",P:"pink",S:"red",T:"red"},percent_identity_dynamic:{},flower:{A:"#b18a51",C:"#ff5701",D:"#01a578",E:"#2da0a1",F:"#fa559d",G:"#b1c23c",H:"#0194f9",I:"#f27663",K:"#7fc3d7",L:"#df6e75",M:"#fe9daf",N:"#0bcec6",P:"#4fa32a",Q:"#7295ae",R:"#83bff1",S:"#b4bd9b",T:"#d2b576",V:"#fd997b",W:"#ff2ded",Y:"#c96ecf"},rainbow_dna:{A:"#3737f5",C:"#37f537",G:"#f5f537",T:"#f53737",U:"#f53737"},clustalx_protein:{A:"#197fe5",C:"#e57f7f",D:"#cc4ccc",E:"#cc4ccc",F:"#197fe5",G:"#e5994c",H:"#19b2b2",I:"#197fe5",K:"#e53319",L:"#197fe5",M:"#197fe5",N:"#19cc19",P:"#cccc00",Q:"#19cc19",R:"#e53319",S:"#19cc19",T:"#19cc19",V:"#197fe5",W:"#197fe5",Y:"#19b2b2"},clustalx_protein_dynamic:{},clustalx_dna:{A:"#e53319",C:"#197fe5",G:"#e5994c",T:"#19cc19",U:"#19cc19"},jbrowse_dna:{A:Ki[500],C:Wi[500],G:zi[500],T:Xo[500],U:Xo[500]},jalview_buried:{A:"#00a35c",R:"#00fc03",N:"#00eb14",D:"#00eb14",C:"#0000ff",Q:"#00f10e",E:"#00f10e",G:"#009d62",H:"#00d52a",I:"#0054ab",L:"#007b84",K:"#00ff00",M:"#009768",F:"#008778",P:"#00e01f",S:"#00d52a",T:"#00db24",W:"#00a857",Y:"#00e619",V:"#005fa0",B:"#00eb14",X:"#00b649",Z:"#00f10e"},jalview_hydrophobicity:{A:"#ad0052",R:"#0000ff",N:"#0c00f3",D:"#0c00f3",C:"#c2003d",Q:"#0c00f3",E:"#0c00f3",G:"#6a0095",H:"#1500ea",I:"#ff0000",L:"#ea0015",K:"#0000ff",M:"#b0004f",F:"#cb0034",P:"#4600b9",S:"#5e00a1",T:"#61009e",W:"#5b00a4",Y:"#4f00b0",V:"#f60009",B:"#0c00f3",X:"#680097",Z:"#0c00f3"},jalview_prophelix:{A:"#e718e7",R:"#6f906f",N:"#1be41b",D:"#778877",C:"#23dc23",Q:"#926d92",E:"#ff00ff",G:"#00ff00",H:"#758a75",I:"#8a758a",L:"#ae51ae",K:"#a05fa0",M:"#ef10ef",F:"#986798",P:"#00ff00",S:"#36c936",T:"#47b847",W:"#8a758a",Y:"#21de21",V:"#857a85",B:"#49b649",X:"#758a75",Z:"#c936c9"},jalview_propstrand:{A:"#5858a7",R:"#6b6b94",N:"#64649b",D:"#2121de",C:"#9d9d62",Q:"#8c8c73",E:"#0000ff",G:"#4949b6",H:"#60609f",I:"#ecec13",L:"#b2b24d",K:"#4747b8",M:"#82827d",F:"#c2c23d",P:"#2323dc",S:"#4949b6",T:"#9d9d62",W:"#c0c03f",Y:"#d3d32c",V:"#ffff00",B:"#4343bc",X:"#797986",Z:"#4747b8"},jalview_propturn:{A:"#2cd3d3",R:"#708f8f",N:"#ff0000",D:"#e81717",C:"#a85757",Q:"#3fc0c0",E:"#778888",G:"#ff0000",H:"#708f8f",I:"#00ffff",L:"#1ce3e3",K:"#7e8181",M:"#1ee1e1",F:"#1ee1e1",P:"#f60909",S:"#e11e1e",T:"#738c8c",W:"#738c8c",Y:"#9d6262",V:"#07f8f8",B:"#f30c0c",X:"#7c8383",Z:"#5ba4a4"},jalview_taylor:{A:"#ccff00",R:"#0000ff",N:"#cc00ff",D:"#ff0000",C:"#ffff00",Q:"#ff00cc",E:"#ff0066",G:"#ff9900",H:"#0066ff",I:"#66ff00",L:"#33ff00",K:"#6600ff",M:"#00ff00",F:"#00ff66",P:"#ffcc00",S:"#ff3300",T:"#ff6600",W:"#00ccff",Y:"#00ffcc",V:"#99ff00"},jalview_zappo:{A:"#ffafaf",R:"#6464ff",N:"#00ff00",D:"#ff0000",C:"#ffff00",Q:"#00ff00",E:"#ff0000",G:"#ff00ff",H:"#6464ff",I:"#ffafaf",L:"#ffafaf",K:"#6464ff",M:"#ffafaf",F:"#ffc800",P:"#ff00ff",S:"#00ff00",T:"#00ff00",W:"#ffc800",Y:"#ffc800",V:"#ffafaf"},cinema:{H:"blue",K:"blue",R:"blue",D:"red",E:"red",S:"green",T:"green",N:"green",Q:"green",A:"white",V:"white",L:"white",I:"white",M:"white",F:"magenta",W:"magenta",Y:"magenta",P:"brown",G:"brown",C:"yellow",B:"gray",Z:"gray",X:"gray","-":"gray",".":"gray"}},ri=Bc(HT,([e,t])=>[e,Bc(t,([r,n])=>[r,Qt(n).toHex()])])});var Vx={};et(Vx,{default:()=>jT});var Y,qx,Re,ss,jx,gf,Yx,JT,UT,YT,qT,jT,Wx=p(()=>{Y=d(S(),1),qx=d(xe(),1),Re=d(N(),1),ss=d(G(),1),jx=d(tt(),1);bc();mc();gf=(0,jx.makeStyles)()(e=>({field:{margin:e.spacing(4)},flex:{display:"flex"},minw:{width:"80em"}})),Yx=(e=0)=>+e.toFixed(1),JT=(0,ss.observer)(function({model:e}){return Y.default.createElement(Y.default.Fragment,null,Y.default.createElement(UT,{model:e}),Y.default.createElement(YT,{model:e}))}),UT=(0,ss.observer)(function({model:t}){let{classes:r}=gf(),{drawTree:n,drawLabels:o,drawNodeBubbles:i,labelsAlignRight:s,noTree:a,showBranchLen:c,treeWidthMatchesArea:l,treeWidth:A}=t;return Y.default.createElement("div",null,Y.default.createElement("h1",null,"Tree options"),Y.default.createElement(ze,{checked:c,label:"Show branch length?",onChange:()=>{t.setShowBranchLen(!c)}}),Y.default.createElement(ze,{checked:i,label:"Draw clickable bubbles on tree branches?",onChange:()=>{t.setDrawNodeBubbles(!i)}}),Y.default.createElement(ze,{checked:n,label:"Show tree?",onChange:()=>{t.setDrawTree(!n)}}),Y.default.createElement(ze,{checked:s,label:"Tree labels align right?",onChange:()=>{t.setLabelsAlignRight(!s)}}),Y.default.createElement(ze,{checked:o,label:"Draw labels",onChange:()=>{t.setDrawLabels(!o)}}),a?null:Y.default.createElement("div",null,Y.default.createElement(ze,{checked:l,label:"Make tree width fit to tree area?",onChange:()=>{t.setTreeWidthMatchesArea(!l)}}),l?null:Y.default.createElement("div",{className:r.flex},Y.default.createElement(Re.Typography,null,"Tree width (",A,"px)"),Y.default.createElement(Re.Slider,{className:r.field,min:50,max:600,value:A,onChange:(u,f)=>{t.setTreeWidth(f)}}))))}),YT=(0,ss.observer)(function({model:t}){let{classes:r}=gf(),{bgColor:n,contrastLettering:o,colWidth:i,allowedGappyness:s,drawMsaLetters:a,colorSchemeName:c,hideGaps:l,rowHeight:A}=t;return Y.default.createElement("div",null,Y.default.createElement("h1",null,"MSA options"),Y.default.createElement(ze,{checked:a,label:"Draw letters",onChange:()=>{t.setDrawMsaLetters(!a)}}),Y.default.createElement(ze,{checked:n,label:"Color letters instead of background of tiles",onChange:()=>{t.setBgColor(!n)}}),Y.default.createElement(ze,{checked:o,label:"Use contrast lettering",onChange:()=>{t.setContrastLettering(!o)}}),Y.default.createElement(ze,{checked:l,label:"Enable hiding gappy columns?",onChange:()=>{t.setHideGaps(!l)}}),l?Y.default.createElement("div",{className:r.flex},Y.default.createElement(Re.Typography,null,"Hide columns w/ >",s,"% gaps"),Y.default.createElement(Re.Slider,{className:r.field,min:1,max:100,value:s,onChange:(u,f)=>{t.setAllowedGappyness(f)}})):null,Y.default.createElement("div",{className:r.flex},Y.default.createElement(Re.Typography,null,"Column width (",Yx(i),"px)"),Y.default.createElement(Re.Slider,{className:r.field,min:1,max:50,value:i,onChange:(u,f)=>{t.setColWidth(f)}})),Y.default.createElement("div",{className:r.flex},Y.default.createElement(Re.Typography,null,"Row height (",Yx(A),"px)"),Y.default.createElement(Re.Slider,{className:r.field,min:1,max:50,value:A,onChange:(u,f)=>{t.setRowHeight(f)}})),Y.default.createElement(Re.TextField,{select:!0,label:"Color scheme",value:c,onChange:u=>{t.setColorSchemeName(u.target.value)}},Object.keys(ri).map(u=>Y.default.createElement(Re.MenuItem,{key:u,value:u},u))))}),qT=(0,ss.observer)(function({model:e,onClose:t}){let{classes:r}=gf();return Y.default.createElement(qx.Dialog,{open:!0,title:"Settings",maxWidth:"xl",onClose:()=>{t()}},Y.default.createElement(Re.DialogContent,{className:r.minw},Y.default.createElement(JT,{model:e}),Y.default.createElement(Re.DialogActions,null,Y.default.createElement(Re.Button,{variant:"contained",color:"primary",onClick:()=>{t()}},"Submit"))))}),jT=qT});async function Kx(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function pf(e,t){return(await Kx(e,t)).text()}async function Sc(e,t){return(await Kx(e,t)).json()}function zx(e){return new Promise(t=>setTimeout(t,e))}var hf=p(()=>{});var Zx={};et(Zx,{default:()=>WT});var Ee,$x,Cf,Qe,Xx,VT,WT,ey=p(()=>{Ee=d(S(),1),$x=d(xe(),1),Cf=d(se(),1),Qe=d(N(),1),Xx=d(G(),1);hf();VT=(0,Xx.observer)(function({handleClose:e,model:t}){let[r,n]=(0,Ee.useState)(),[o,i]=(0,Ee.useState)("file"),[s,a]=(0,Ee.useState)("");return Ee.default.createElement($x.Dialog,{maxWidth:"xl",title:"Open protein domains from file",onClose:()=>{e()},open:!0},Ee.default.createElement(Qe.DialogContent,null,Ee.default.createElement("div",null,Ee.default.createElement(Qe.Typography,null,"Open a JSON file of InterProScan results that you run remotely on EBI servers or locally"),Ee.default.createElement("div",{style:{display:"flex",margin:30}},Ee.default.createElement(Qe.FormControl,{component:"fieldset"},Ee.default.createElement(Qe.RadioGroup,{value:o,onChange:c=>{i(c.target.value)}},Ee.default.createElement(Qe.FormControlLabel,{value:"url",control:Ee.default.createElement(Qe.Radio,null),label:"URL"}),Ee.default.createElement(Qe.FormControlLabel,{value:"file",control:Ee.default.createElement(Qe.Radio,null),label:"File"}))),o==="url"?Ee.default.createElement("div",null,Ee.default.createElement(Qe.Typography,null,"Open a InterProScan JSON file remote URL"),Ee.default.createElement(Qe.TextField,{label:"URL",value:s,onChange:c=>{a(c.target.value)}})):null,o==="file"?Ee.default.createElement("div",{style:{paddingTop:20}},Ee.default.createElement(Qe.Typography,null,"Open a InterProScan JSON file file from your local drive"),Ee.default.createElement(Qe.Button,{variant:"outlined",component:"label"},"Choose File",Ee.default.createElement("input",{type:"file",hidden:!0,onChange:({target:c})=>{let l=c.files?.[0];l&&n(l)}}))):null))),Ee.default.createElement(Qe.DialogActions,null,Ee.default.createElement(Qe.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{let c=r?JSON.parse(await r.text()):await Sc(s);t.setInterProAnnotations(Object.fromEntries(c.results.map(l=>[l.xref[0].id,l]))),t.setShowDomains(!0),(0,Cf.getSession)(t).notify("Loaded interproscan results","success")}catch(c){console.error(c),(0,Cf.getSession)(t).notifyError(`${c}`,c)}finally{t.setStatus()}})(),e()}},"Open results")))}),WT=VT});async function KT({seq:e,onProgress:t,onJobId:r,programs:n,model:o}){let i=await pf(`${If}/iprscan5/run`,{method:"POST",body:new URLSearchParams({email:"colin.diesh@gmail.com",sequence:e,programs:n.join(",")})});r?.(i),await $T({jobId:i,onProgress:t}),await XT({jobId:i,model:o})}function zT(e){return Sc(`${If}/iprscan5/result/${e}/json`)}async function $T({onProgress:e,jobId:t}){let r=`${If}/iprscan5/status/${t}`;try{for(;;){for(let o=0;o<10;o++)await zx(1e3),e({msg:`Checking status ${10-o}`,url:r});let n=await pf(r);if(n.includes("FINISHED"))break;if(n.includes("FAILURE"))throw new Error(`Failed to run: jobId ${t}`)}}finally{e()}}async function ty({algorithm:e,seq:t,programs:r,onJobId:n,onProgress:o,model:i}){try{throw o({msg:`Launching ${e} MSA`}),e==="interproscan"&&await KT({seq:t,onJobId:n,onProgress:o,programs:r,model:i}),new Error("unknown algorithm")}finally{o()}}async function XT({jobId:e,model:t}){try{t.setStatus({msg:`Downloading results of ${e} (for larger sequences this can be slow, click status to download and upload in the manual tab)`,url:`https://www.ebi.ac.uk/Tools/services/rest/iprscan5/result/${e}/json`});let r=await zT(e);t.setInterProAnnotations(Object.fromEntries(r.results.map(n=>[n.xref[0].id,n]))),t.setShowDomains(!0),(0,Ef.getSession)(t).notify(`Loaded interproscan ${e} results`,"success")}catch(r){console.error(r),(0,Ef.getSession)(t).notifyError(`${r}`,r)}finally{t.setStatus()}}var Ef,If,ry=p(()=>{Ef=d(se(),1);hf();If="https://www.ebi.ac.uk/Tools/services/rest"});var sy={};et(sy,{default:()=>e_});var Me,ny,oy,Ot,iy,ZT,e_,ay=p(()=>{Me=d(S(),1),ny=d(xe(),1),oy=d(se(),1),Ot=d(N(),1),iy=d(G(),1);ry();ZT=(0,iy.observer)(function({handleClose:e,model:t}){let[r,n]=(0,Me.useState)([{name:"NCBIfam",description:"NCBI RefSeq FAMs including TIGRFAMs",category:"Families, domains, sites & repeats",checked:!0},{name:"SFLD",description:"Structure function linkage database",category:"Families, domains, sites & repeats",checked:!0},{name:"Phobius",checked:!0,description:"A combined transmembrane topology and signal peptide predictor",category:"Other sequence features"},{name:"SignalP",checked:!0,category:"Other sequence features"},{name:"SignalP_EUK",category:"Other category",checked:!0},{name:"SignalP_GRAM_POSITIVE",category:"Other category",checked:!0},{name:"SignalP_GRAM_NEGATIVE",checked:!0,category:"Other category"},{name:"SUPERFAMILY",category:"Structural domains",checked:!0},{name:"PANTHER",category:"Families, domains, sites & repeats",checked:!0},{name:"Gene3D",category:"Structural domains",checked:!0},{name:"Hamap",category:"Families, domains, sites & repeats",checked:!0},{name:"ProSiteProfiles",category:"Families, domains, sites & repeats",checked:!0},{name:"ProSitePatterns",category:"Families, domains, sites & repeats",checked:!0},{name:"Coils",category:"Other sequence features",checked:!0},{name:"SMART",category:"Families, domains, sites & repeats",checked:!0},{name:"CDD",description:"Conserved Domains Database",category:"Families, domains, sites & repeats",checked:!0},{name:"PRINTS",category:"Families, domains, sites & repeats",checked:!0},{name:"Pfam",category:"Families, domains, sites & repeats",checked:!0},{name:"MobiDBLite",checked:!0,category:"Other sequence features"},{name:"PIRSF",checked:!0,category:"Other category"},{name:"TMHMM",checked:!0,category:"Other sequence features"},{name:"AntiFam",checked:!0,category:"Other category"},{name:"FunFam",checked:!0,category:"Other category"},{name:"PIRSR",checked:!0,category:"Families, domains, sites & repeats"}]),o=r.filter(a=>a.checked).map(a=>a.name),[i,s]=(0,Me.useState)(!1);return Me.default.createElement(ny.Dialog,{maxWidth:"xl",title:"Query InterProScan API for domains",onClose:()=>{e()},open:!0},Me.default.createElement(Ot.DialogContent,null,Me.default.createElement(Ot.Typography,null,"This will run InterProScan via the InterProScan API on all rows of the current MSA"),Me.default.createElement(Ot.Button,{onClick:()=>{s(!i)}},i?"Hide":"Show"," advanced options"),i?Me.default.createElement("div",null,Me.default.createElement(Ot.Typography,null,"Select algorithms for InterProScan to run"),Me.default.createElement("div",null,Me.default.createElement(Ot.Button,{variant:"contained",color:"secondary",onClick:()=>{n(r.map(a=>({...a,checked:!1})))}},"Select none"),Me.default.createElement(Ot.Button,{variant:"contained",color:"primary",onClick:()=>{n(r.map(a=>({...a,checked:!0})))}},"Select all")),Me.default.createElement("table",null,Me.default.createElement("tbody",null,r.toSorted((a,c)=>a.category.localeCompare(c.category)).map(({name:a,checked:c,category:l})=>Me.default.createElement("tr",{key:a},Me.default.createElement("td",null,Me.default.createElement("input",{type:"checkbox",key:a,checked:c,onChange:()=>{n(r.map(A=>A.name===a?{...A,checked:!A.checked}:A))}})),Me.default.createElement("td",null,a),Me.default.createElement("td",null,l)))))):null),Me.default.createElement(Ot.DialogActions,null,Me.default.createElement(Ot.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),Me.default.createElement(Ot.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{let{rows:a}=t;if(a.length>140)throw new Error("Too many sequences, please run InterProScan offline");await ty({algorithm:"interproscan",programs:o,seq:a.map(c=>[c[0],c[1].replaceAll("-","")]).filter(c=>!!c[1]).map(c=>`>${c[0]}
|
|
29
|
+
`);return wr.default.createElement(wr.default.Fragment,null,wr.default.createElement(xc.Button,{color:"primary",variant:"contained",onClick:()=>{_i(l),n(!0),setTimeout(()=>{n(!1)},500)}},r?"Copied!":"Copy to clipboard"),wr.default.createElement(Xe,{label:"Show gaps",checked:o,onChange:()=>{i(!o)}}),wr.default.createElement(Xe,{label:"Show empty",checked:s,onChange:()=>{a(!s)}}),wr.default.createElement(xc.TextField,{variant:"outlined",multiline:!0,className:t.dialogContent,minRows:5,maxRows:10,fullWidth:!0,value:l,InputProps:{readOnly:!0,classes:{input:t.textAreaFont}}}))}var wr,xc,Qx,VT,nf=g(()=>{wr=d(b(),1),xc=d(_(),1),Qx=d(Ue(),1);Ic();OA();VT=(0,Qx.makeStyles)()({textAreaFont:{fontFamily:"Courier New",wordWrap:"break-word"},dialogContent:{background:"lightgrey",margin:4,minWidth:"80em"}})});var Dx={};rt(Dx,{default:()=>KT});var si,Mx,vx,Tx,WT,KT,_x=g(()=>{si=d(b(),1);Cc();rf();Mx=d(Ce(),1),vx=d(_(),1),Tx=d(O(),1);nf();WT=(0,Tx.observer)(function({model:e,onClose:t}){let{header:r}=e;return si.default.createElement(Mx.Dialog,{onClose:()=>{t()},open:!0,title:"Metadata",maxWidth:"xl"},si.default.createElement(vx.DialogContent,null,si.default.createElement(Fr,{attributes:r}),si.default.createElement(no,{title:"sequence"},si.default.createElement(ns,{str:e.rows}))))}),KT=WT});var Nx={};rt(Nx,{default:()=>kx});function kx({model:e,onClose:t}){let[r,n]=(0,we.useState)(!0),[o,i]=(0,we.useState)(!0),[s,a]=(0,we.useState)("viewport"),[c,l]=(0,we.useState)(),A=(0,Ie.useTheme)(),{totalWidth:u,totalHeight:f,treeAreaWidth:m,turnedOnTracks:p}=e,h=p.length>0,E=u+m,C=f,x=s==="entire"&&(E>1e4||C>1e4);return we.default.createElement(yc.Dialog,{onClose:()=>{t()},open:!0,title:"Export SVG"},we.default.createElement(Ie.DialogContent,null,c?we.default.createElement(yc.ErrorMessage,{error:c}):null,we.default.createElement(Ie.Typography,null,"Settings:"),we.default.createElement(Xe,{label:"Include minimap?",disabled:s==="entire",checked:r,onChange:()=>{n(!r)}}),h?we.default.createElement(Xe,{label:"Include tracks?",checked:o,onChange:()=>{i(!o)}}):null,we.default.createElement("div",null,we.default.createElement(Ie.FormControl,null,we.default.createElement(Ie.FormLabel,null,"Export type"),we.default.createElement(Ie.RadioGroup,{value:s,onChange:y=>{a(y.target.value)}},we.default.createElement(Ie.FormControlLabel,{value:"entire",control:we.default.createElement(Ie.Radio,null),label:"Entire MSA"}),we.default.createElement(Ie.FormControlLabel,{value:"viewport",control:we.default.createElement(Ie.Radio,null),label:"Current viewport only"})))),x?we.default.createElement(Ie.Alert,{severity:"warning",style:{marginTop:8}},"The entire MSA is very large (",Math.round(E),"x",Math.round(C)," pixels). Export may be slow or fail."):null),we.default.createElement(Ie.DialogActions,null,we.default.createElement(Ie.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{await e.exportSVG({theme:A,includeMinimap:s==="entire"?!1:r,includeTracks:h&&o,exportType:s}),t()}catch(y){console.error(y),l(y)}})()}},"Submit"),we.default.createElement(Ie.Button,{variant:"contained",color:"secondary",onClick:()=>{t()}},"Cancel")))}var we,yc,Ie,Lx=g(()=>{we=d(b(),1),yc=d(Ce(),1),Ie=d(_(),1);Ic()});function Fx(e){return of[Math.min(e,of.length-1)]}var of,sf,af=g(()=>{of=[["#F8766D"],["#F8766D","#00BFC4"],["#F8766D","#00BA38","#619CFF"],["#F8766D","#7CAE00","#00BFC4","#C77CFF"],["#F8766D","#A3A500","#00BF7D","#00B0F6","#E76BF3"],["#F8766D","#B79F00","#00BA38","#00BFC4","#619CFF","#F564E3"],["#F8766D","#C49A00","#53B400","#00C094","#00B6EB","#A58AFF","#FB61D7"],["#F8766D","#CD9600","#7CAE00","#00BE67","#00BFC4","#00A9FF","#C77CFF","#FF61CC"]];sf=of});var Px={};rt(Px,{default:()=>ZT});var de,Rx,os,wc,zT,$T,XT,ZT,Gx=g(()=>{de=d(b(),1),Rx=d(Ce(),1),os=d(_(),1),wc=d(O(),1);af();zT=(0,wc.observer)(function({model:e}){let{featureFilters:t}=e;return de.default.createElement("div",null,de.default.createElement(os.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!0)}},"Toggle all on"),de.default.createElement(os.Button,{onClick:()=>{for(let r of t.keys())e.setFilter(r,!1)}},"Toggle all off"))}),$T=(0,wc.observer)(function({model:e}){let{tidyInterProAnnotationTypes:t,featureFilters:r}=e,n=[...t.values()],o=Fx(n.length-1);return de.default.createElement(de.default.Fragment,null,de.default.createElement(zT,{model:e}),de.default.createElement("table",null,de.default.createElement("thead",null,de.default.createElement("tr",null,de.default.createElement("td",null),de.default.createElement("td",null,"accession"),de.default.createElement("td",null,"name"),de.default.createElement("td",null,"description"))),de.default.createElement("tbody",null,n.map(({accession:i,name:s,description:a},c)=>de.default.createElement("tr",{key:i},de.default.createElement("td",null,de.default.createElement("input",{type:"checkbox",checked:r.get(i)??!1,onChange:()=>{e.setFilter(i,!e.featureFilters.get(i))}})),de.default.createElement("td",null,i),de.default.createElement("td",null,s),de.default.createElement("td",null,a),de.default.createElement("td",null,de.default.createElement("div",{style:{width:20,height:20,background:o[c]||"black"}})))))))}),XT=(0,wc.observer)(function({onClose:e,model:t}){return de.default.createElement(Rx.Dialog,{onClose:()=>{e()},open:!0,title:"Feature filters",maxWidth:"xl"},de.default.createElement(os.DialogContent,null,de.default.createElement($T,{model:t})))}),ZT=XT});var eD,on,Ze,Ar,Vx,Ox,cf,tD,Bc,Wx,Kx,Hx,Jx,Ux,is,rD,nD,oD,iD,uf,Yx,sD,lf,Af,qx,ff,Mt,jx,bc,Sc=g(()=>{eD={grad:.9,turn:360,rad:360/(2*Math.PI)},on=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},Ze=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=Math.pow(10,t)),Math.round(r*e)/r+0},Ar=function(e,t,r){return t===void 0&&(t=0),r===void 0&&(r=1),e>r?r:e>t?e:t},Vx=function(e){return(e=isFinite(e)?e%360:0)>0?e:e+360},Ox=function(e){return{r:Ar(e.r,0,255),g:Ar(e.g,0,255),b:Ar(e.b,0,255),a:Ar(e.a)}},cf=function(e){return{r:Ze(e.r),g:Ze(e.g),b:Ze(e.b),a:Ze(e.a,3)}},tD=/^#([0-9a-f]{3,8})$/i,Bc=function(e){var t=e.toString(16);return t.length<2?"0"+t:t},Wx=function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=Math.max(t,r,n),s=i-Math.min(t,r,n),a=s?i===t?(r-n)/s:i===r?2+(n-t)/s:4+(t-r)/s:0;return{h:60*(a<0?a+6:a),s:i?s/i*100:0,v:i/255*100,a:o}},Kx=function(e){var t=e.h,r=e.s,n=e.v,o=e.a;t=t/360*6,r/=100,n/=100;var i=Math.floor(t),s=n*(1-r),a=n*(1-(t-i)*r),c=n*(1-(1-t+i)*r),l=i%6;return{r:255*[n,a,s,s,c,n][l],g:255*[c,n,n,a,s,s][l],b:255*[s,s,c,n,n,a][l],a:o}},Hx=function(e){return{h:Vx(e.h),s:Ar(e.s,0,100),l:Ar(e.l,0,100),a:Ar(e.a)}},Jx=function(e){return{h:Ze(e.h),s:Ze(e.s),l:Ze(e.l),a:Ze(e.a,3)}},Ux=function(e){return Kx((r=(t=e).s,{h:t.h,s:(r*=((n=t.l)<50?n:100-n)/100)>0?2*r/(n+r)*100:0,v:n+r,a:t.a}));var t,r,n},is=function(e){return{h:(t=Wx(e)).h,s:(o=(200-(r=t.s))*(n=t.v)/100)>0&&o<200?r*n/100/(o<=100?o:200-o)*100:0,l:o/2,a:t.a};var t,r,n,o},rD=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s*,\s*([+-]?\d*\.?\d+)%\s*,\s*([+-]?\d*\.?\d+)%\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,nD=/^hsla?\(\s*([+-]?\d*\.?\d+)(deg|rad|grad|turn)?\s+([+-]?\d*\.?\d+)%\s+([+-]?\d*\.?\d+)%\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,oD=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*,\s*([+-]?\d*\.?\d+)(%)?\s*(?:,\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,iD=/^rgba?\(\s*([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s+([+-]?\d*\.?\d+)(%)?\s*(?:\/\s*([+-]?\d*\.?\d+)(%)?\s*)?\)$/i,uf={string:[[function(e){var t=tD.exec(e);return t?(e=t[1]).length<=4?{r:parseInt(e[0]+e[0],16),g:parseInt(e[1]+e[1],16),b:parseInt(e[2]+e[2],16),a:e.length===4?Ze(parseInt(e[3]+e[3],16)/255,2):1}:e.length===6||e.length===8?{r:parseInt(e.substr(0,2),16),g:parseInt(e.substr(2,2),16),b:parseInt(e.substr(4,2),16),a:e.length===8?Ze(parseInt(e.substr(6,2),16)/255,2):1}:null:null},"hex"],[function(e){var t=oD.exec(e)||iD.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:Ox({r:Number(t[1])/(t[2]?100/255:1),g:Number(t[3])/(t[4]?100/255:1),b:Number(t[5])/(t[6]?100/255:1),a:t[7]===void 0?1:Number(t[7])/(t[8]?100:1)}):null},"rgb"],[function(e){var t=rD.exec(e)||nD.exec(e);if(!t)return null;var r,n,o=Hx({h:(r=t[1],n=t[2],n===void 0&&(n="deg"),Number(r)*(eD[n]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return Ux(o)},"hsl"]],object:[[function(e){var t=e.r,r=e.g,n=e.b,o=e.a,i=o===void 0?1:o;return on(t)&&on(r)&&on(n)?Ox({r:Number(t),g:Number(r),b:Number(n),a:Number(i)}):null},"rgb"],[function(e){var t=e.h,r=e.s,n=e.l,o=e.a,i=o===void 0?1:o;if(!on(t)||!on(r)||!on(n))return null;var s=Hx({h:Number(t),s:Number(r),l:Number(n),a:Number(i)});return Ux(s)},"hsl"],[function(e){var t=e.h,r=e.s,n=e.v,o=e.a,i=o===void 0?1:o;if(!on(t)||!on(r)||!on(n))return null;var s=(function(a){return{h:Vx(a.h),s:Ar(a.s,0,100),v:Ar(a.v,0,100),a:Ar(a.a)}})({h:Number(t),s:Number(r),v:Number(n),a:Number(i)});return Kx(s)},"hsv"]]},Yx=function(e,t){for(var r=0;r<t.length;r++){var n=t[r][0](e);if(n)return[n,t[r][1]]}return[null,void 0]},sD=function(e){return typeof e=="string"?Yx(e.trim(),uf.string):typeof e=="object"&&e!==null?Yx(e,uf.object):[null,void 0]},lf=function(e,t){var r=is(e);return{h:r.h,s:Ar(r.s+100*t,0,100),l:r.l,a:r.a}},Af=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},qx=function(e,t){var r=is(e);return{h:r.h,s:r.s,l:Ar(r.l+100*t,0,100),a:r.a}},ff=(function(){function e(t){this.parsed=sD(t)[0],this.rgba=this.parsed||{r:0,g:0,b:0,a:1}}return e.prototype.isValid=function(){return this.parsed!==null},e.prototype.brightness=function(){return Ze(Af(this.rgba),2)},e.prototype.isDark=function(){return Af(this.rgba)<.5},e.prototype.isLight=function(){return Af(this.rgba)>=.5},e.prototype.toHex=function(){return t=cf(this.rgba),r=t.r,n=t.g,o=t.b,s=(i=t.a)<1?Bc(Ze(255*i)):"","#"+Bc(r)+Bc(n)+Bc(o)+s;var t,r,n,o,i,s},e.prototype.toRgb=function(){return cf(this.rgba)},e.prototype.toRgbString=function(){return t=cf(this.rgba),r=t.r,n=t.g,o=t.b,(i=t.a)<1?"rgba("+r+", "+n+", "+o+", "+i+")":"rgb("+r+", "+n+", "+o+")";var t,r,n,o,i},e.prototype.toHsl=function(){return Jx(is(this.rgba))},e.prototype.toHslString=function(){return t=Jx(is(this.rgba)),r=t.h,n=t.s,o=t.l,(i=t.a)<1?"hsla("+r+", "+n+"%, "+o+"%, "+i+")":"hsl("+r+", "+n+"%, "+o+"%)";var t,r,n,o,i},e.prototype.toHsv=function(){return t=Wx(this.rgba),{h:Ze(t.h),s:Ze(t.s),v:Ze(t.v),a:Ze(t.a,3)};var t},e.prototype.invert=function(){return Mt({r:255-(t=this.rgba).r,g:255-t.g,b:255-t.b,a:t.a});var t},e.prototype.saturate=function(t){return t===void 0&&(t=.1),Mt(lf(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),Mt(lf(this.rgba,-t))},e.prototype.grayscale=function(){return Mt(lf(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),Mt(qx(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),Mt(qx(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(this.hue()+t)},e.prototype.alpha=function(t){return typeof t=="number"?Mt({r:(r=this.rgba).r,g:r.g,b:r.b,a:t}):Ze(this.rgba.a,3);var r},e.prototype.hue=function(t){var r=is(this.rgba);return typeof t=="number"?Mt({h:t,s:r.s,l:r.l,a:r.a}):Ze(r.h)},e.prototype.isEqual=function(t){return this.toHex()===Mt(t).toHex()},e})(),Mt=function(e){return e instanceof ff?e:new ff(e)},jx=[],bc=function(e){e.forEach(function(t){jx.indexOf(t)<0&&(t(ff,uf),jx.push(t))})}});function Qc(e,t){var r={white:"#ffffff",bisque:"#ffe4c4",blue:"#0000ff",cadetblue:"#5f9ea0",chartreuse:"#7fff00",chocolate:"#d2691e",coral:"#ff7f50",antiquewhite:"#faebd7",aqua:"#00ffff",azure:"#f0ffff",whitesmoke:"#f5f5f5",papayawhip:"#ffefd5",plum:"#dda0dd",blanchedalmond:"#ffebcd",black:"#000000",gold:"#ffd700",goldenrod:"#daa520",gainsboro:"#dcdcdc",cornsilk:"#fff8dc",cornflowerblue:"#6495ed",burlywood:"#deb887",aquamarine:"#7fffd4",beige:"#f5f5dc",crimson:"#dc143c",cyan:"#00ffff",darkblue:"#00008b",darkcyan:"#008b8b",darkgoldenrod:"#b8860b",darkkhaki:"#bdb76b",darkgray:"#a9a9a9",darkgreen:"#006400",darkgrey:"#a9a9a9",peachpuff:"#ffdab9",darkmagenta:"#8b008b",darkred:"#8b0000",darkorchid:"#9932cc",darkorange:"#ff8c00",darkslateblue:"#483d8b",gray:"#808080",darkslategray:"#2f4f4f",darkslategrey:"#2f4f4f",deeppink:"#ff1493",deepskyblue:"#00bfff",wheat:"#f5deb3",firebrick:"#b22222",floralwhite:"#fffaf0",ghostwhite:"#f8f8ff",darkviolet:"#9400d3",magenta:"#ff00ff",green:"#008000",dodgerblue:"#1e90ff",grey:"#808080",honeydew:"#f0fff0",hotpink:"#ff69b4",blueviolet:"#8a2be2",forestgreen:"#228b22",lawngreen:"#7cfc00",indianred:"#cd5c5c",indigo:"#4b0082",fuchsia:"#ff00ff",brown:"#a52a2a",maroon:"#800000",mediumblue:"#0000cd",lightcoral:"#f08080",darkturquoise:"#00ced1",lightcyan:"#e0ffff",ivory:"#fffff0",lightyellow:"#ffffe0",lightsalmon:"#ffa07a",lightseagreen:"#20b2aa",linen:"#faf0e6",mediumaquamarine:"#66cdaa",lemonchiffon:"#fffacd",lime:"#00ff00",khaki:"#f0e68c",mediumseagreen:"#3cb371",limegreen:"#32cd32",mediumspringgreen:"#00fa9a",lightskyblue:"#87cefa",lightblue:"#add8e6",midnightblue:"#191970",lightpink:"#ffb6c1",mistyrose:"#ffe4e1",moccasin:"#ffe4b5",mintcream:"#f5fffa",lightslategray:"#778899",lightslategrey:"#778899",navajowhite:"#ffdead",navy:"#000080",mediumvioletred:"#c71585",powderblue:"#b0e0e6",palegoldenrod:"#eee8aa",oldlace:"#fdf5e6",paleturquoise:"#afeeee",mediumturquoise:"#48d1cc",mediumorchid:"#ba55d3",rebeccapurple:"#663399",lightsteelblue:"#b0c4de",mediumslateblue:"#7b68ee",thistle:"#d8bfd8",tan:"#d2b48c",orchid:"#da70d6",mediumpurple:"#9370db",purple:"#800080",pink:"#ffc0cb",skyblue:"#87ceeb",springgreen:"#00ff7f",palegreen:"#98fb98",red:"#ff0000",yellow:"#ffff00",slateblue:"#6a5acd",lavenderblush:"#fff0f5",peru:"#cd853f",palevioletred:"#db7093",violet:"#ee82ee",teal:"#008080",slategray:"#708090",slategrey:"#708090",aliceblue:"#f0f8ff",darkseagreen:"#8fbc8f",darkolivegreen:"#556b2f",greenyellow:"#adff2f",seagreen:"#2e8b57",seashell:"#fff5ee",tomato:"#ff6347",silver:"#c0c0c0",sienna:"#a0522d",lavender:"#e6e6fa",lightgreen:"#90ee90",orange:"#ffa500",orangered:"#ff4500",steelblue:"#4682b4",royalblue:"#4169e1",turquoise:"#40e0d0",yellowgreen:"#9acd32",salmon:"#fa8072",saddlebrown:"#8b4513",sandybrown:"#f4a460",rosybrown:"#bc8f8f",darksalmon:"#e9967a",lightgoldenrodyellow:"#fafad2",snow:"#fffafa",lightgrey:"#d3d3d3",lightgray:"#d3d3d3",dimgray:"#696969",dimgrey:"#696969",olivedrab:"#6b8e23",olive:"#808000"},n={};for(var o in r)n[r[o]]=o;var i={};e.prototype.toName=function(s){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var a,c,l=n[this.toHex()];if(l)return l;if(s?.closest){var A=this.toRgb(),u=1/0,f="black";if(!i.length)for(var m in r)i[m]=new e(r[m]).toRgb();for(var p in r){var h=(a=A,c=i[p],Math.pow(a.r-c.r,2)+Math.pow(a.g-c.g,2)+Math.pow(a.b-c.b,2));h<u&&(u=h,f=p)}return f}},t.string.push([function(s){var a=s.toLowerCase(),c=a==="transparent"?"#0000":r[a];return c?new e(c).toRgb():null},"name"])}var df=g(()=>{});function Mc(e,t){return e==null||t==null?NaN:e<t?-1:e>t?1:e>=t?0:NaN}var zx=g(()=>{});function vc(e,t){let r;if(t===void 0)for(let n of e)n!=null&&(r<n||r===void 0&&n>=n)&&(r=n);else{let n=-1;for(let o of e)(o=t(o,++n,e))!=null&&(r<o||r===void 0&&o>=o)&&(r=o)}return r}var $x=g(()=>{});var mf=g(()=>{zx();$x()});function Tc(e,t){return Object.fromEntries(Object.entries(e).map(t))}function oo(e,t){return Tc(e,([r,n])=>[r,t.palette.getContrastText(Mt(n).toHex())])}function gf(e,t){if(e.length===0)return typeof t=="string"?t:t.join("");let r=[],n=0;for(let o of e)o>n&&r.push(typeof t=="string"?t.slice(n,o):t.slice(n,o).join("")),n=o+1;return n<t.length&&r.push(typeof t=="string"?t.slice(n):t.slice(n).join("")),r.join("")}function pf(e,t,r){e.len=(t+=Math.max(e.data.length||0,0))*r,e.children&&e.children.forEach(n=>{pf(n,t,r)})}function hf(e){return(e.data.length||0)+(e.children&&vc(e.children,hf)||0)}function Xx(e){e.children&&(e._children=e.children,e.children=null)}function Cf(e){return e.end-e.start}function ss(e){return e==="-"||e==="."}var bn=g(()=>{Sc();df();mf();bc([Qc])});var aD,ai,Dc=g(()=>{Wu();Sc();df();bn();bc([Qc]);aD={none:{},clustal:{G:"orange",P:"orange",S:"orange",T:"orange",H:"red",K:"red",R:"red",F:"blue",W:"blue",Y:"blue",I:"green",L:"green",M:"green",V:"green"},lesk:{G:"orange",A:"orange",S:"orange",T:"orange",C:"green",V:"green",I:"green",L:"green",P:"green",F:"green",Y:"green",M:"green",W:"green",N:"magenta",Q:"magenta",H:"magenta",D:"red",E:"red",K:"blue",R:"blue"},maeditor:{A:"lightgreen",G:"lightgreen",C:"green",D:"darkgreen",E:"darkgreen",N:"darkgreen",Q:"darkgreen",I:"blue",L:"blue",M:"blue",V:"blue",F:"#c8a2c8",W:"#c8a2c8",Y:"#c8a2c8",H:"darkblue",K:"orange",R:"orange",P:"pink",S:"red",T:"red"},percent_identity_dynamic:{},flower:{A:"#b18a51",C:"#ff5701",D:"#01a578",E:"#2da0a1",F:"#fa559d",G:"#b1c23c",H:"#0194f9",I:"#f27663",K:"#7fc3d7",L:"#df6e75",M:"#fe9daf",N:"#0bcec6",P:"#4fa32a",Q:"#7295ae",R:"#83bff1",S:"#b4bd9b",T:"#d2b576",V:"#fd997b",W:"#ff2ded",Y:"#c96ecf"},rainbow_dna:{A:"#3737f5",C:"#37f537",G:"#f5f537",T:"#f53737",U:"#f53737"},clustalx_protein:{A:"#197fe5",C:"#e57f7f",D:"#cc4ccc",E:"#cc4ccc",F:"#197fe5",G:"#e5994c",H:"#19b2b2",I:"#197fe5",K:"#e53319",L:"#197fe5",M:"#197fe5",N:"#19cc19",P:"#cccc00",Q:"#19cc19",R:"#e53319",S:"#19cc19",T:"#19cc19",V:"#197fe5",W:"#197fe5",Y:"#19b2b2"},clustalx_protein_dynamic:{},clustalx_dna:{A:"#e53319",C:"#197fe5",G:"#e5994c",T:"#19cc19",U:"#19cc19"},jbrowse_dna:{A:zi[500],C:Ki[500],G:$i[500],T:ni[500],U:ni[500]},jalview_buried:{A:"#00a35c",R:"#00fc03",N:"#00eb14",D:"#00eb14",C:"#0000ff",Q:"#00f10e",E:"#00f10e",G:"#009d62",H:"#00d52a",I:"#0054ab",L:"#007b84",K:"#00ff00",M:"#009768",F:"#008778",P:"#00e01f",S:"#00d52a",T:"#00db24",W:"#00a857",Y:"#00e619",V:"#005fa0",B:"#00eb14",X:"#00b649",Z:"#00f10e"},jalview_hydrophobicity:{A:"#ad0052",R:"#0000ff",N:"#0c00f3",D:"#0c00f3",C:"#c2003d",Q:"#0c00f3",E:"#0c00f3",G:"#6a0095",H:"#1500ea",I:"#ff0000",L:"#ea0015",K:"#0000ff",M:"#b0004f",F:"#cb0034",P:"#4600b9",S:"#5e00a1",T:"#61009e",W:"#5b00a4",Y:"#4f00b0",V:"#f60009",B:"#0c00f3",X:"#680097",Z:"#0c00f3"},jalview_prophelix:{A:"#e718e7",R:"#6f906f",N:"#1be41b",D:"#778877",C:"#23dc23",Q:"#926d92",E:"#ff00ff",G:"#00ff00",H:"#758a75",I:"#8a758a",L:"#ae51ae",K:"#a05fa0",M:"#ef10ef",F:"#986798",P:"#00ff00",S:"#36c936",T:"#47b847",W:"#8a758a",Y:"#21de21",V:"#857a85",B:"#49b649",X:"#758a75",Z:"#c936c9"},jalview_propstrand:{A:"#5858a7",R:"#6b6b94",N:"#64649b",D:"#2121de",C:"#9d9d62",Q:"#8c8c73",E:"#0000ff",G:"#4949b6",H:"#60609f",I:"#ecec13",L:"#b2b24d",K:"#4747b8",M:"#82827d",F:"#c2c23d",P:"#2323dc",S:"#4949b6",T:"#9d9d62",W:"#c0c03f",Y:"#d3d32c",V:"#ffff00",B:"#4343bc",X:"#797986",Z:"#4747b8"},jalview_propturn:{A:"#2cd3d3",R:"#708f8f",N:"#ff0000",D:"#e81717",C:"#a85757",Q:"#3fc0c0",E:"#778888",G:"#ff0000",H:"#708f8f",I:"#00ffff",L:"#1ce3e3",K:"#7e8181",M:"#1ee1e1",F:"#1ee1e1",P:"#f60909",S:"#e11e1e",T:"#738c8c",W:"#738c8c",Y:"#9d6262",V:"#07f8f8",B:"#f30c0c",X:"#7c8383",Z:"#5ba4a4"},jalview_taylor:{A:"#ccff00",R:"#0000ff",N:"#cc00ff",D:"#ff0000",C:"#ffff00",Q:"#ff00cc",E:"#ff0066",G:"#ff9900",H:"#0066ff",I:"#66ff00",L:"#33ff00",K:"#6600ff",M:"#00ff00",F:"#00ff66",P:"#ffcc00",S:"#ff3300",T:"#ff6600",W:"#00ccff",Y:"#00ffcc",V:"#99ff00"},jalview_zappo:{A:"#ffafaf",R:"#6464ff",N:"#00ff00",D:"#ff0000",C:"#ffff00",Q:"#00ff00",E:"#ff0000",G:"#ff00ff",H:"#6464ff",I:"#ffafaf",L:"#ffafaf",K:"#6464ff",M:"#ffafaf",F:"#ffc800",P:"#ff00ff",S:"#00ff00",T:"#00ff00",W:"#ffc800",Y:"#ffc800",V:"#ffafaf"},cinema:{H:"blue",K:"blue",R:"blue",D:"red",E:"red",S:"green",T:"green",N:"green",Q:"green",A:"white",V:"white",L:"white",I:"white",M:"white",F:"magenta",W:"magenta",Y:"magenta",P:"brown",G:"brown",C:"yellow",B:"gray",Z:"gray",X:"gray","-":"gray",".":"gray"}},ai=Tc(aD,([e,t])=>[e,Tc(t,([r,n])=>[r,Mt(n).toHex()])])});var ry={};rt(ry,{default:()=>fD});var q,ey,Oe,as,ty,Ef,Zx,cD,lD,AD,uD,fD,ny=g(()=>{q=d(b(),1),ey=d(Ce(),1),Oe=d(_(),1),as=d(O(),1),ty=d(Ue(),1);Dc();Ic();Ef=(0,ty.makeStyles)()(e=>({field:{margin:e.spacing(4)},flex:{display:"flex"},minw:{width:"80em"}})),Zx=(e=0)=>+e.toFixed(1),cD=(0,as.observer)(function({model:e}){return q.default.createElement(q.default.Fragment,null,q.default.createElement(lD,{model:e}),q.default.createElement(AD,{model:e}))}),lD=(0,as.observer)(function({model:t}){let{classes:r}=Ef(),{drawTree:n,drawLabels:o,drawNodeBubbles:i,labelsAlignRight:s,noTree:a,showBranchLen:c,treeWidthMatchesArea:l,treeWidth:A}=t;return q.default.createElement("div",null,q.default.createElement("h1",null,"Tree options"),q.default.createElement(Xe,{checked:c,label:"Show branch length?",onChange:()=>{t.setShowBranchLen(!c)}}),q.default.createElement(Xe,{checked:i,label:"Draw clickable bubbles on tree branches?",onChange:()=>{t.setDrawNodeBubbles(!i)}}),q.default.createElement(Xe,{checked:n,label:"Show tree?",onChange:()=>{t.setDrawTree(!n)}}),q.default.createElement(Xe,{checked:s,label:"Tree labels align right?",onChange:()=>{t.setLabelsAlignRight(!s)}}),q.default.createElement(Xe,{checked:o,label:"Draw labels",onChange:()=>{t.setDrawLabels(!o)}}),a?null:q.default.createElement("div",null,q.default.createElement(Xe,{checked:l,label:"Make tree width fit to tree area?",onChange:()=>{t.setTreeWidthMatchesArea(!l)}}),l?null:q.default.createElement("div",{className:r.flex},q.default.createElement(Oe.Typography,null,"Tree width (",A,"px)"),q.default.createElement(Oe.Slider,{className:r.field,min:50,max:600,value:A,onChange:(u,f)=>{t.setTreeWidth(f)}}))))}),AD=(0,as.observer)(function({model:t}){let{classes:r}=Ef(),{bgColor:n,contrastLettering:o,colWidth:i,allowedGappyness:s,drawMsaLetters:a,colorSchemeName:c,hideGaps:l,rowHeight:A}=t;return q.default.createElement("div",null,q.default.createElement("h1",null,"MSA options"),q.default.createElement(Xe,{checked:a,label:"Draw letters",onChange:()=>{t.setDrawMsaLetters(!a)}}),q.default.createElement(Xe,{checked:n,label:"Color letters instead of background of tiles",onChange:()=>{t.setBgColor(!n)}}),q.default.createElement(Xe,{checked:o,label:"Use contrast lettering",onChange:()=>{t.setContrastLettering(!o)}}),q.default.createElement(Xe,{checked:l,label:"Enable hiding gappy columns?",onChange:()=>{t.setHideGaps(!l)}}),l?q.default.createElement("div",{className:r.flex},q.default.createElement(Oe.Typography,null,"Hide columns w/ >",s,"% gaps"),q.default.createElement(Oe.Slider,{className:r.field,min:1,max:100,value:s,onChange:(u,f)=>{t.setAllowedGappyness(f)}})):null,q.default.createElement("div",{className:r.flex},q.default.createElement(Oe.Typography,null,"Column width (",Zx(i),"px)"),q.default.createElement(Oe.Slider,{className:r.field,min:1,max:50,value:i,onChange:(u,f)=>{t.setColWidth(f)}})),q.default.createElement("div",{className:r.flex},q.default.createElement(Oe.Typography,null,"Row height (",Zx(A),"px)"),q.default.createElement(Oe.Slider,{className:r.field,min:1,max:50,value:A,onChange:(u,f)=>{t.setRowHeight(f)}})),q.default.createElement(Oe.TextField,{select:!0,label:"Color scheme",value:c,onChange:u=>{t.setColorSchemeName(u.target.value)}},Object.keys(ai).map(u=>q.default.createElement(Oe.MenuItem,{key:u,value:u},u))))}),uD=(0,as.observer)(function({model:e,onClose:t}){let{classes:r}=Ef();return q.default.createElement(ey.Dialog,{open:!0,title:"Settings",maxWidth:"xl",onClose:()=>{t()}},q.default.createElement(Oe.DialogContent,{className:r.minw},q.default.createElement(cD,{model:e}),q.default.createElement(Oe.DialogActions,null,q.default.createElement(Oe.Button,{variant:"contained",color:"primary",onClick:()=>{t()}},"Submit"))))}),fD=uD});async function oy(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function If(e,t){return(await oy(e,t)).text()}async function _c(e,t){return(await oy(e,t)).json()}function iy(e){return new Promise(t=>setTimeout(t,e))}var xf=g(()=>{});var cy={};rt(cy,{default:()=>mD});var xe,sy,yf,Qe,ay,dD,mD,ly=g(()=>{xe=d(b(),1),sy=d(Ce(),1),yf=d(ae(),1),Qe=d(_(),1),ay=d(O(),1);xf();dD=(0,ay.observer)(function({handleClose:e,model:t}){let[r,n]=(0,xe.useState)(),[o,i]=(0,xe.useState)("file"),[s,a]=(0,xe.useState)("");return xe.default.createElement(sy.Dialog,{maxWidth:"xl",title:"Open protein domains from file",onClose:()=>{e()},open:!0},xe.default.createElement(Qe.DialogContent,null,xe.default.createElement("div",null,xe.default.createElement(Qe.Typography,null,"Open a JSON file of InterProScan results that you run remotely on EBI servers or locally"),xe.default.createElement("div",{style:{display:"flex",margin:30}},xe.default.createElement(Qe.FormControl,{component:"fieldset"},xe.default.createElement(Qe.RadioGroup,{value:o,onChange:c=>{i(c.target.value)}},xe.default.createElement(Qe.FormControlLabel,{value:"url",control:xe.default.createElement(Qe.Radio,null),label:"URL"}),xe.default.createElement(Qe.FormControlLabel,{value:"file",control:xe.default.createElement(Qe.Radio,null),label:"File"}))),o==="url"?xe.default.createElement("div",null,xe.default.createElement(Qe.Typography,null,"Open a InterProScan JSON file remote URL"),xe.default.createElement(Qe.TextField,{label:"URL",value:s,onChange:c=>{a(c.target.value)}})):null,o==="file"?xe.default.createElement("div",{style:{paddingTop:20}},xe.default.createElement(Qe.Typography,null,"Open a InterProScan JSON file file from your local drive"),xe.default.createElement(Qe.Button,{variant:"outlined",component:"label"},"Choose File",xe.default.createElement("input",{type:"file",hidden:!0,onChange:({target:c})=>{let l=c.files?.[0];l&&n(l)}}))):null))),xe.default.createElement(Qe.DialogActions,null,xe.default.createElement(Qe.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{let c=r?JSON.parse(await r.text()):await _c(s);t.setInterProAnnotations(Object.fromEntries(c.results.map(l=>[l.xref[0].id,l]))),t.setShowDomains(!0),(0,yf.getSession)(t).notify("Loaded interproscan results","success")}catch(c){console.error(c),(0,yf.getSession)(t).notifyError(`${c}`,c)}finally{t.setStatus()}})(),e()}},"Open results")))}),mD=dD});async function gD({seq:e,onProgress:t,onJobId:r,programs:n,model:o}){let i=await If(`${Bf}/iprscan5/run`,{method:"POST",body:new URLSearchParams({email:"colin.diesh@gmail.com",sequence:e,programs:n.join(",")})});r?.(i),await hD({jobId:i,onProgress:t}),await CD({jobId:i,model:o})}function pD(e){return _c(`${Bf}/iprscan5/result/${e}/json`)}async function hD({onProgress:e,jobId:t}){let r=`${Bf}/iprscan5/status/${t}`;try{for(;;){for(let o=0;o<10;o++)await iy(1e3),e({msg:`Checking status ${10-o}`,url:r});let n=await If(r);if(n.includes("FINISHED"))break;if(n.includes("FAILURE"))throw new Error(`Failed to run: jobId ${t}`)}}finally{e()}}async function Ay({algorithm:e,seq:t,programs:r,onJobId:n,onProgress:o,model:i}){try{throw o({msg:`Launching ${e} MSA`}),e==="interproscan"&&await gD({seq:t,onJobId:n,onProgress:o,programs:r,model:i}),new Error("unknown algorithm")}finally{o()}}async function CD({jobId:e,model:t}){try{t.setStatus({msg:`Downloading results of ${e} (for larger sequences this can be slow, click status to download and upload in the manual tab)`,url:`https://www.ebi.ac.uk/Tools/services/rest/iprscan5/result/${e}/json`});let r=await pD(e);t.setInterProAnnotations(Object.fromEntries(r.results.map(n=>[n.xref[0].id,n]))),t.setShowDomains(!0),(0,wf.getSession)(t).notify(`Loaded interproscan ${e} results`,"success")}catch(r){console.error(r),(0,wf.getSession)(t).notifyError(`${r}`,r)}finally{t.setStatus()}}var wf,Bf,uy=g(()=>{wf=d(ae(),1);xf();Bf="https://www.ebi.ac.uk/Tools/services/rest"});var gy={};rt(gy,{default:()=>ID});var Me,fy,dy,qt,my,ED,ID,py=g(()=>{Me=d(b(),1),fy=d(Ce(),1),dy=d(ae(),1),qt=d(_(),1),my=d(O(),1);uy();ED=(0,my.observer)(function({handleClose:e,model:t}){let[r,n]=(0,Me.useState)([{name:"NCBIfam",description:"NCBI RefSeq FAMs including TIGRFAMs",category:"Families, domains, sites & repeats",checked:!0},{name:"SFLD",description:"Structure function linkage database",category:"Families, domains, sites & repeats",checked:!0},{name:"Phobius",checked:!0,description:"A combined transmembrane topology and signal peptide predictor",category:"Other sequence features"},{name:"SignalP",checked:!0,category:"Other sequence features"},{name:"SignalP_EUK",category:"Other category",checked:!0},{name:"SignalP_GRAM_POSITIVE",category:"Other category",checked:!0},{name:"SignalP_GRAM_NEGATIVE",checked:!0,category:"Other category"},{name:"SUPERFAMILY",category:"Structural domains",checked:!0},{name:"PANTHER",category:"Families, domains, sites & repeats",checked:!0},{name:"Gene3D",category:"Structural domains",checked:!0},{name:"Hamap",category:"Families, domains, sites & repeats",checked:!0},{name:"ProSiteProfiles",category:"Families, domains, sites & repeats",checked:!0},{name:"ProSitePatterns",category:"Families, domains, sites & repeats",checked:!0},{name:"Coils",category:"Other sequence features",checked:!0},{name:"SMART",category:"Families, domains, sites & repeats",checked:!0},{name:"CDD",description:"Conserved Domains Database",category:"Families, domains, sites & repeats",checked:!0},{name:"PRINTS",category:"Families, domains, sites & repeats",checked:!0},{name:"Pfam",category:"Families, domains, sites & repeats",checked:!0},{name:"MobiDBLite",checked:!0,category:"Other sequence features"},{name:"PIRSF",checked:!0,category:"Other category"},{name:"TMHMM",checked:!0,category:"Other sequence features"},{name:"AntiFam",checked:!0,category:"Other category"},{name:"FunFam",checked:!0,category:"Other category"},{name:"PIRSR",checked:!0,category:"Families, domains, sites & repeats"}]),o=r.filter(a=>a.checked).map(a=>a.name),[i,s]=(0,Me.useState)(!1);return Me.default.createElement(fy.Dialog,{maxWidth:"xl",title:"Query InterProScan API for domains",onClose:()=>{e()},open:!0},Me.default.createElement(qt.DialogContent,null,Me.default.createElement(qt.Typography,null,"This will run InterProScan via the InterProScan API on all rows of the current MSA"),Me.default.createElement(qt.Button,{onClick:()=>{s(!i)}},i?"Hide":"Show"," advanced options"),i?Me.default.createElement("div",null,Me.default.createElement(qt.Typography,null,"Select algorithms for InterProScan to run"),Me.default.createElement("div",null,Me.default.createElement(qt.Button,{variant:"contained",color:"secondary",onClick:()=>{n(r.map(a=>({...a,checked:!1})))}},"Select none"),Me.default.createElement(qt.Button,{variant:"contained",color:"primary",onClick:()=>{n(r.map(a=>({...a,checked:!0})))}},"Select all")),Me.default.createElement("table",null,Me.default.createElement("tbody",null,r.toSorted((a,c)=>a.category.localeCompare(c.category)).map(({name:a,checked:c,category:l})=>Me.default.createElement("tr",{key:a},Me.default.createElement("td",null,Me.default.createElement("input",{type:"checkbox",key:a,checked:c,onChange:()=>{n(r.map(A=>A.name===a?{...A,checked:!A.checked}:A))}})),Me.default.createElement("td",null,a),Me.default.createElement("td",null,l)))))):null),Me.default.createElement(qt.DialogActions,null,Me.default.createElement(qt.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),Me.default.createElement(qt.Button,{variant:"contained",color:"primary",onClick:()=>{(async()=>{try{let{rows:a}=t;if(a.length>140)throw new Error("Too many sequences, please run InterProScan offline");await Ay({algorithm:"interproscan",programs:o,seq:a.map(c=>[c[0],c[1].replaceAll("-","")]).filter(c=>!!c[1]).map(c=>`>${c[0]}
|
|
30
30
|
${c[1]}`).join(`
|
|
31
|
-
`),onProgress:c=>{t.setStatus(c)},model:t})}catch(a){console.error(a),(0,oy.getSession)(t).notifyError(`${a}`,a)}finally{t.setStatus()}})(),e()}},"Send sequences to InterProScan")))}),e_=ZT});var _r,cy,t_,r_,n_,o_,i_,s_,a_,ly,Ay=p(()=>{_r=d(S(),1);sc();Ou();xI();BI();SI();vI();_I();NI();RI();GI();cy=d(G(),1),t_=(0,_r.lazy)(()=>Promise.resolve().then(()=>(wx(),yx))),r_=(0,_r.lazy)(()=>Promise.resolve().then(()=>(Sx(),bx))),n_=(0,_r.lazy)(()=>Promise.resolve().then(()=>(Tx(),vx))),o_=(0,_r.lazy)(()=>Promise.resolve().then(()=>(Wx(),Vx))),i_=(0,_r.lazy)(()=>Promise.resolve().then(()=>(ey(),Zx))),s_=(0,_r.lazy)(()=>Promise.resolve().then(()=>(ay(),sy))),a_=(0,cy.observer)(({model:e})=>{let{showDomains:t,actuallyShowDomains:r,subFeatureRows:n,noDomains:o,tracks:i,turnedOffTracks:s}=e;return _r.default.createElement($o,{menuItems:[{label:"Return to import form",icon:Hu,onClick:()=>{e.reset()}},{label:"Metadata",icon:II,onClick:()=>{e.queueDialog(a=>[t_,{model:e,onClose:a}])}},{label:"More settings",onClick:()=>{e.queueDialog(a=>[o_,{model:e,onClose:a}])}},{label:"Tracks",icon:Uu,type:"subMenu",subMenu:i.map(a=>({label:a.model.name,type:"checkbox",checked:!s.has(a.model.id),onClick:()=>{e.toggleTrack(a.model.id)}}))},{label:"Export SVG",icon:TI,onClick:()=>{e.queueDialog(a=>[r_,{onClose:a,model:e}])}},...e.rows.length>=2?[{label:"Calculate neighbor joining tree (BLOSUM62)",icon:ac,onClick:()=>{try{e.calculateNeighborJoiningTreeFromMSA()}catch(a){console.error("Failed to calculate NJ tree:",a),e.setError(a)}}}]:[],{label:"Features/protein domains",type:"subMenu",subMenu:[{label:"Open domains...",icon:Hu,onClick:()=>{e.queueDialog(a=>[i_,{handleClose:a,model:e}])}},{label:"Query InterProScan for domains...",icon:kI,onClick:()=>{e.queueDialog(a=>[s_,{handleClose:a,model:e}])}},{label:`Show domains${o?" (no domains loaded)":""}`,disabled:o,icon:Uu,checked:r?t:!1,type:"checkbox",onClick:()=>{e.setShowDomains(!t)}},{label:`Use sub-row layout${o?" (no domains loaded)":""}`,disabled:o,checked:r?n:!1,icon:FI,type:"checkbox",onClick:()=>{e.setSubFeatureRows(!n)}},{label:`Filter domains${o?" (no domains loaded)":""}`,icon:wI,disabled:o,onClick:()=>{e.queueDialog(a=>[n_,{onClose:a,model:e}])}}]},...e.extraViewMenuItems()]},_r.default.createElement(MI,null))}),ly=a_});var Qc,uy,fy,dy,my,c_,l_,gy,py=p(()=>{Qc=d(S(),1),uy=d(xe(),1),fy=d(N(),1),dy=d(G(),1),my=d(tt(),1),c_=(0,my.makeStyles)()({margin:{margin:"auto",marginLeft:10}}),l_=(0,dy.observer)(({model:e})=>{let{status:t}=e,{classes:r}=c_();return t?Qc.default.createElement(fy.Typography,{className:r.margin},Qc.default.createElement(uy.LoadingEllipses,{message:t.msg,component:"span"})," ",t.url?Qc.default.createElement("a",{href:t.url,target:"_blank",rel:"noreferrer"},"(status)"):null):null}),gy=l_});var xf,Mc,hy,A_,Cy,Ey=p(()=>{xf=d(S(),1),Mc=d(N(),1),hy=d(G(),1),A_=(0,hy.observer)(function({model:e}){let{currentAlignment:t,alignmentNames:r}=e;return r.length>0?xf.default.createElement(Mc.TextField,{select:!0,variant:"outlined",value:t,size:"small",onChange:n=>{e.setCurrentAlignment(+n.target.value),e.setScrollX(0),e.setScrollY(0)}},r.map((n,o)=>xf.default.createElement(Mc.MenuItem,{key:`${n}-${o}`,value:o},n))):null}),Cy=A_});var Iy,xy,yy=p(()=>{"use client";z();Iy=d(F(),1),xy=(0,D.createSvgIcon)((0,Iy.jsx)("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9m5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9M5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S7.33 13 6.5 13 5 12.33 5 11.5m6-4c0 .83-.67 1.5-1.5 1.5S8 8.33 8 7.5 8.67 6 9.5 6s1.5.67 1.5 1.5"}),"Palette")});var yf,wy,u_,By,by=p(()=>{yf=d(S(),1);sc();Ou();yy();Wl();wy=d(G(),1);bc();u_=(0,wy.observer)(function({model:e}){let{colorSchemeName:t,drawMsaLetters:r,contrastLettering:n,hideGaps:o,bgColor:i,drawTree:s,showBranchLen:a,labelsAlignRight:c,drawNodeBubbles:l,drawLabels:A,treeWidthMatchesArea:u,noTree:f}=e;return yf.default.createElement($o,{closeAfterItemClick:!1,menuItems:[{label:"Color scheme",icon:xy,type:"subMenu",subMenu:Object.keys(ri).map(m=>({label:m,type:"radio",checked:t===m,onClick:()=>{e.setColorSchemeName(m)}}))},{label:"MSA settings",type:"subMenu",subMenu:[{label:"Draw letters",type:"checkbox",checked:r,onClick:()=>{e.setDrawMsaLetters(!r)}},{label:"Color letters instead of background of tiles",type:"checkbox",checked:!i,onClick:()=>{e.setBgColor(!i)}},{label:"Use contrast lettering",type:"checkbox",checked:n,onClick:()=>{e.setContrastLettering(!n)}},{label:"Enable hiding gappy columns?",type:"checkbox",checked:o,onClick:()=>{e.setHideGaps(!o)}}]},{label:"Tree settings",type:"subMenu",icon:ac,subMenu:[{label:"Show branch length",type:"checkbox",checked:a,onClick:()=>{e.setShowBranchLen(!a)}},{label:"Show tree",type:"checkbox",checked:s,onClick:()=>{e.setDrawTree(!s)}},{label:"Draw clickable bubbles on tree branches",type:"checkbox",checked:l,onClick:()=>{e.setDrawNodeBubbles(!l)}},{label:"Tree labels align right",type:"checkbox",checked:c,onClick:()=>{e.setLabelsAlignRight(!c)}},{label:"Draw labels",type:"checkbox",checked:A,onClick:()=>{e.setDrawLabels(!A)}},...f?[]:[{label:"Make tree width fit to tree area",type:"checkbox",checked:u,onClick:()=>{e.setTreeWidthMatchesArea(!u)}}]]}]},yf.default.createElement(Xs,null))}),By=u_});var wf,Sy,Qy=p(()=>{"use client";z();wf=d(F(),1),Sy=(0,D.createSvgIcon)([(0,wf.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"},"0"),(0,wf.jsx)("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2z"},"1")],"ZoomIn")});var My,vy,Ty=p(()=>{"use client";z();My=d(F(),1),vy=(0,D.createSvgIcon)((0,My.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14M7 9h5v1H7z"}),"ZoomOut")});var Xn,Bf,_y,f_,Dy,ky=p(()=>{Xn=d(S(),1);Qy();Ty();Bf=d(N(),1),_y=d(G(),1),f_=(0,_y.observer)(function({model:t}){return Xn.default.createElement(Xn.default.Fragment,null,Xn.default.createElement(Bf.IconButton,{onClick:()=>{t.zoomIn()}},Xn.default.createElement(Sy,null)),Xn.default.createElement(Bf.IconButton,{onClick:()=>{t.zoomOut()}},Xn.default.createElement(vy,null)))}),Dy=f_});var Ny,Ly,Fy=p(()=>{"use client";z();Ny=d(F(),1),Ly=(0,D.createSvgIcon)((0,Ny.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")});var Ry,vc,bf=p(()=>{"use client";z();Ry=d(F(),1),vc=(0,D.createSvgIcon)((0,Ry.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}),"RestartAlt")});var Sf,Py,d_,Gy,Oy=p(()=>{Sf=d(S(),1);sc();Fy();bf();Py=d(G(),1),d_=(0,Py.observer)(function({model:e}){return Sf.default.createElement($o,{menuItems:[{label:"Fit both vertically/horizontally",onClick:()=>{e.fit()}},{label:"Fit vertically",onClick:()=>{e.fitVertically()}},{label:"Fit horizontally",onClick:()=>{e.fitHorizontally()}},{label:"Reset zoom to default",icon:vc,onClick:()=>{e.resetZoom()}},{label:"Show extra zoom options",checked:e.showZoomStar,type:"checkbox",onClick:()=>{e.setShowZoomStar(!e.showZoomStar)}}]},Sf.default.createElement(Ly,null))}),Gy=d_});var rr,ni,Hy,Jy,m_,g_,Uy,Yy=p(()=>{rr=d(S(),1);bf();ni=d(N(),1),Hy=d(G(),1),Jy=d(tt(),1),m_=(0,Jy.makeStyles)()(e=>({dpad:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)"},icon:{padding:e.spacing(.5)}})),g_=(0,Hy.observer)(function({model:e}){let{classes:t}=m_();return rr.default.createElement("div",{className:t.dpad},rr.default.createElement("div",null),rr.default.createElement(ni.IconButton,{className:t.icon,onClick:()=>{e.zoomInVertical()}},"Y+"),rr.default.createElement("div",null),rr.default.createElement(ni.IconButton,{className:t.icon,onClick:()=>{e.zoomOutHorizontal()}},"X-"),rr.default.createElement(ni.IconButton,{className:t.icon,onClick:()=>{e.resetZoom()}},rr.default.createElement(vc,null)),rr.default.createElement(ni.IconButton,{className:t.icon,onClick:()=>{e.zoomInHorizontal()}},"X+"),rr.default.createElement("div",null),rr.default.createElement(ni.IconButton,{className:t.icon,onClick:()=>{e.zoomOutVertical()}},"Y-"),rr.default.createElement("div",null))}),Uy=g_});var qy,jy=p(()=>{qy="5.0.6"});var Ky={};et(Ky,{default:()=>Wy});function Wy({onClose:e}){return Ye.default.createElement(Vy.Dialog,{open:!0,title:"About",onClose:()=>{e()}},Ye.default.createElement(Mt.DialogContent,null,Ye.default.createElement(Mt.Typography,null,"MSAView ",qy," (",Ye.default.createElement(Mt.Link,{href:"https://github.com/gmod/react-msaview"},"Github"),")"),Ye.default.createElement("ul",null,Ye.default.createElement("li",null,Ye.default.createElement(Mt.Typography,null,"We use some color schemes from the"," ",Ye.default.createElement(Mt.Link,{href:"https://github.com/biotite-dev/biotite"},"biotite")," ","project, and their license is reproduced"," ",Ye.default.createElement(Mt.Link,{href:"https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst"},"here"))),Ye.default.createElement("li",null,Ye.default.createElement(Mt.Typography,null,"See this page for some information on jalview colorings"," ",Ye.default.createElement(Mt.Link,{href:"https://www.jalview.org/help/html/colourSchemes/"},"here"))),Ye.default.createElement("li",null,Ye.default.createElement(Mt.Typography,null,"See this page for some info on the clustal, cinema, maeditor, and lesk color schemes"," ",Ye.default.createElement(Mt.Link,{href:"http://www.bioinformatics.nl/~berndb/aacolour.html"},"here"))),Ye.default.createElement("li",null,Ye.default.createElement(Mt.Typography,null,"See this paper about the flower color scheme"," ",Ye.default.createElement(Mt.Link,{href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/"},"here"))))))}var Ye,Vy,Mt,zy=p(()=>{Ye=d(S(),1),Vy=d(xe(),1),Mt=d(N(),1);jy()});function C_(){return Pe.default.createElement("div",{style:{flex:1}})}var Pe,$y,Xy,p_,h_,Zy,ew=p(()=>{Pe=d(S(),1);Sp();Gh();$y=d(N(),1),Xy=d(G(),1);Jh();Wh();Ay();py();Ey();by();ky();Oy();Yy();p_=(0,Pe.lazy)(()=>Promise.resolve().then(()=>(zy(),Ky))),h_=(0,Xy.observer)(function({model:e}){let[t,{height:r}]=hA();return(0,Pe.useEffect)(()=>{e.setHeaderHeight(r||0)},[e,r]),Pe.default.createElement("div",{ref:t,style:{display:"flex"}},Pe.default.createElement(ly,{model:e}),Pe.default.createElement(By,{model:e}),Pe.default.createElement(Dy,{model:e}),e.showZoomStar?Pe.default.createElement(Uy,{model:e}):null,Pe.default.createElement(Gy,{model:e}),Pe.default.createElement(Hh,{model:e}),Pe.default.createElement("div",{style:{paddingLeft:20,margin:"auto"}},Pe.default.createElement(Cy,{model:e})),Pe.default.createElement(Vh,{model:e}),Pe.default.createElement(C_,null),Pe.default.createElement(gy,{model:e}),Pe.default.createElement($y.IconButton,{onClick:()=>{e.queueDialog(n=>[p_,{onClose:n}])}},Pe.default.createElement(Ph,null)))});Zy=h_});var Ht,tw,E_,rw,nw=p(()=>{Ht=d(S(),1),tw=d(G(),1),E_=(0,tw.observer)(function({model:e}){let[t,r]=(0,Ht.useState)(),[n,o]=(0,Ht.useState)(!1),i=(0,Ht.useRef)(!1),{scrollX:s,msaAreaWidth:a,minimapHeight:c,colWidth:l,numColumns:A}=e,u=a/A/l,f=-s,m=f+a,g=f*u,h=m*u,C="rgba(66, 119, 127, 0.3)",E=Math.max(h-g,20);(0,Ht.useEffect)(()=>{function w(M){t!==void 0&&(i.current||(i.current=!0,window.requestAnimationFrame(()=>{e.setScrollX(t.scrollX-(M.clientX-t.clientX)/u),i.current=!1})))}function b(){r(void 0)}if(t!==void 0)return document.addEventListener("mousemove",w),document.addEventListener("mouseup",b),()=>{document.removeEventListener("mousemove",w),document.removeEventListener("mousemove",b)}},[e,u,t]);let x=12,y=c-x;return Ht.default.createElement("div",{style:{position:"relative",height:c,width:"100%"}},Ht.default.createElement("div",{style:{height:x,boxSizing:"border-box",border:"1px solid #555"}}),Ht.default.createElement("div",{style:{position:"absolute",top:0,left:Math.max(0,g),background:n?"rgba(66,119,127,0.6)":C,cursor:"pointer",height:x,width:E,zIndex:100},onMouseOver:()=>{o(!0)},onMouseOut:()=>{o(!1)},onMouseDown:w=>{r({clientX:w.clientX,scrollX:e.scrollX})}}),Ht.default.createElement("svg",{height:y,style:{width:"100%"}},Ht.default.createElement("polygon",{fill:C,points:[[g+E,0],[g,0],[0,y],[a,y]].toString()})))}),rw=E_});function Qf(){return Tc.default.createElement("div",{style:{position:"absolute",left:"50%",top:"50%"}},Tc.default.createElement(_c.CircularProgress,null),Tc.default.createElement(_c.Typography,null,"Loading..."))}var Tc,_c,ow=p(()=>{Tc=d(S(),1),_c=d(N(),1)});function Dc({model:e,offsetX:t,offsetY:r,ctx:n,highResScaleFactorOverride:o,blockSizeYOverride:i}){let{leaves:s,blockSize:a,rowHeight:c,highResScaleFactor:l,showDomains:A}=e;if(A){let u=o||l,f=i||a;n.resetTransform(),n.scale(u,u),n.translate(-t,c/2-r);let m=Math.max(0,Math.floor((r-c)/c)),g=Math.max(0,Math.ceil((r+f+c)/c)),h=s.slice(m,g);I_({model:e,ctx:n,visibleLeaves:h})}}function I_({model:e,ctx:t,visibleLeaves:r}){let{subFeatureRows:n,colWidth:o,rowHeight:i,fillPalette:s,strokePalette:a,tidyFilteredGatheredInterProAnnotations:c}=e;for(let l=0,A=r.length;l<A;l++){let u=r[l],{x:f,data:{name:m}}=u,g=f,h=c[m];if(h)for(let C=0,E=h.length;C<E;C++){let{start:x,end:y,accession:w}=h[C],b=e.seqPosToVisibleCol(m,x-1),M=e.seqPosToVisibleCol(m,y);if(b===void 0||M===void 0)continue;let v=b*o;t.fillStyle=s[w],t.strokeStyle=a[w];let T=n?4:i,_=g-i+(n?C*T:0),P=o*(M-b);t.fillRect(v,_,P,T),t.strokeRect(v,_,P,T)}}}var Mf=p(()=>{});function kc({model:e,offsetX:t,offsetY:r,contrastScheme:n,ctx:o,theme:i,highResScaleFactorOverride:s,blockSizeXOverride:a,blockSizeYOverride:c}){let{colWidth:l,blockSize:A,rowHeight:u,fontSize:f,highResScaleFactor:m,actuallyShowDomains:g,leaves:h,bgColor:C}=e,E=s||m,x=a||A,y=c||A;o.resetTransform(),o.scale(E,E),o.translate(-t,u/2-r),o.textAlign="center",o.font=o.font.replace(/\d+px/,`${C?"":"bold "}${f}px`);let w=Math.max(0,Math.floor((r-u)/u)),b=Math.max(0,Math.ceil((r+y+u)/u)),M=Math.max(0,Math.floor(t/l)),v=Math.max(0,Math.ceil((t+x)/l)),T=h.slice(w,b);g||x_({model:e,ctx:o,theme:i,offsetX:t,xStart:M,xEnd:v,visibleLeaves:T}),y_({model:e,ctx:o,offsetX:t,contrastScheme:n,xStart:M,xEnd:v,visibleLeaves:T}),w_({model:e,ctx:o,xStart:M,xEnd:v,visibleLeaves:T}),o.resetTransform()}function x_({model:e,offsetX:t,ctx:r,visibleLeaves:n,theme:o,xStart:i,xEnd:s}){let{bgColor:a,colorSchemeName:c,colorScheme:l,columns:A,colWidth:u,rowHeight:f,relativeTo:m}=e,g=m?A[m]?.slice(i,s):null,h=c==="clustalx_protein_dynamic",C=c==="percent_identity_dynamic",E=t-t%u;for(let x=0,y=n.length;x<y;x++){let w=n[x],{data:{name:b}}=w,M=w.x,v=A[b]?.slice(i,s);if(v)for(let T=0,_=v.length;T<_;T++){let P=v[T],B=g&&b!==m&&P===g[T],J=h?e.colClustalX[i+T][P]:C?(()=>{let X=e.colConsensus[i+T];return P===X.letter?X.color:void 0})():l[P.toUpperCase()];if(a||h||C){let X=B?o.palette.action.hover:J||o.palette.background.default;r.fillStyle=X,r.fillRect(T*u+E,M-f,u,f)}}}}function y_({model:e,offsetX:t,contrastScheme:r,ctx:n,visibleLeaves:o,xStart:i,xEnd:s}){let{bgColor:a,actuallyShowDomains:c,showMsaLetters:l,colorScheme:A,columns:u,colWidth:f,contrastLettering:m,rowHeight:g,relativeTo:h}=e,C=h?u[h]?.slice(i,s):null;if(l){let E=t-t%f,x=f/2,y=g/4;for(let w=0,b=o.length;w<b;w++){let M=o[w],{data:{name:v}}=M,T=M.x-y,_=u[v]?.slice(i,s);if(_)for(let P=0,B=_.length;P<B;P++){let J=_[P],H=C&&v!==h&&J===C[P]?".":J,Be=A[J.toUpperCase()],pt=m&&r[J.toUpperCase()]||"black";n.fillStyle=c?"black":a?pt:Be||"black",n.fillText(H,P*f+E+x,T)}}}}function w_({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o}){let{bgColor:i,hideGapsEffective:s}=e;s&&(t.lineWidth=1,t.strokeStyle="#f0f",iw({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:0}),t.strokeStyle=i?"#fff":"#000",iw({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:-1}))}function iw({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o,offset:i}){let{colWidth:a,rowHeight:c,insertionPositions:l}=e;for(let A of r){let{name:u}=A.data,f=l.get(u);if(f){let m=A.x;for(let{pos:g}of f)if(g>=n&&g<o){let h=g*a,C=m-c,E=m;t.beginPath(),t.moveTo(h+i,C+i);let x=C,y=!0;for(;x<E;){let w=Math.min(x+2,E),b=y?h+1:h-1;t.lineTo(b+i,w+i),x=w,y=!y}t.stroke()}}}}var vf=p(()=>{});var Jt,sw,aw,cw,lw,B_,Aw,uw=p(()=>{Jt=d(S(),1),sw=d(xe(),1),aw=d(N(),1),cw=d(Yr(),1),lw=d(G(),1);Mf();vf();yn();B_=(0,lw.observer)(function({model:e,offsetX:t,offsetY:r}){let{colWidth:n,rowHeight:o,scrollY:i,scrollX:s,colorScheme:a,blockSize:c,mouseClickCol:l,mouseClickRow:A,highResScaleFactor:u}=e,f=(0,aw.useTheme)(),m=(0,Jt.useMemo)(()=>$n(a,f),[a,f]),g=(0,Jt.useRef)(null);(0,Jt.useEffect)(()=>{let x=g.current?.getContext("2d");if(x)return(0,cw.autorun)(()=>{x.resetTransform(),x.clearRect(0,0,c*u,c*u);let{actuallyShowDomains:y}=e;y&&Dc({ctx:x,offsetX:t,offsetY:r,model:e}),kc({ctx:x,theme:f,offsetX:t,offsetY:r,contrastScheme:m,model:e})})},[e,t,r,f,c,u,m]);let[h,C]=(0,Jt.useState)(),{hoveredInsertion:E}=e;return Jt.default.createElement(Jt.default.Fragment,null,Jt.default.createElement("canvas",{ref:g,onMouseMove:x=>{if(!g.current)return;C({x:x.clientX,y:x.clientY});let{left:y,top:w}=g.current.getBoundingClientRect(),b=x.clientX-y+t,M=x.clientY-w+r,v=Math.floor(b/n),T=Math.floor(M/o);v>=0&&v<e.numColumns&&T>=0&&T<e.numRows?e.setMousePos(v,T):e.setMousePos(void 0,void 0)},onClick:x=>{if(!g.current)return;let{left:y,top:w}=g.current.getBoundingClientRect(),b=x.clientX-y+t,M=x.clientY-w+r,v=Math.floor(b/n),T=Math.floor(M/o);v===l&&T===A?e.setMouseClickPos(void 0,void 0):e.setMouseClickPos(v,T)},onMouseLeave:()=>{e.setMousePos(),C(void 0)},width:c*u,height:c*u,style:{position:"absolute",top:i+r,left:s+t,width:c,height:c}}),E&&h?Jt.default.createElement(sw.BaseTooltip,{clientPoint:{x:h.x,y:h.y+15}},"Insertion (",E.letters.length,e.sequenceType==="amino"?"aa":"bp","):"," ",E.letters.length>20?`${E.letters.slice(0,20)}...`:E.letters):null)}),Aw=B_});var mt,fw,b_,dw,mw=p(()=>{mt=d(S(),1),fw=d(G(),1);ow();uw();b_=(0,fw.observer)(function({model:e}){let{MSA:t,verticalScrollbarWidth:r,msaFilehandle:n,height:o,msaAreaWidth:i,blocks2d:s}=e,a=(0,mt.useRef)(null),c=(0,mt.useRef)(!1),l=(0,mt.useRef)(0),A=(0,mt.useRef)(0),u=(0,mt.useRef)(0),f=(0,mt.useRef)(0),[m,g]=(0,mt.useState)(!1);return(0,mt.useEffect)(()=>{let h=a.current;if(!h)return;function C(E){l.current+=E.deltaX,A.current+=E.deltaY,c.current||(c.current=!0,requestAnimationFrame(()=>{e.doScrollX(-l.current),e.doScrollY(-A.current),l.current=0,A.current=0,c.current=!1})),E.preventDefault(),E.stopPropagation()}return h.addEventListener("wheel",C,{passive:!1}),()=>{h.removeEventListener("wheel",C)}},[e]),(0,mt.useEffect)(()=>{let h=()=>{};function C(x){x.preventDefault();let y=x.clientX,w=x.clientY,b=y-u.current,M=w-f.current;(b||M)&&(c.current||(c.current=!0,window.requestAnimationFrame(()=>{e.doScrollX(b),e.doScrollY(M),c.current=!1,u.current=x.clientX,f.current=x.clientY})))}function E(){u.current=0,m&&g(!1)}return m&&(window.addEventListener("mousemove",C,!0),window.addEventListener("mouseup",E,!0),h=()=>{window.removeEventListener("mousemove",C,!0),window.removeEventListener("mouseup",E,!0)}),h},[e,m]),mt.default.createElement("div",{ref:a,onMouseDown:h=>{let C=h.target;C.draggable||C.dataset.resizer||h.button===0&&(u.current=h.clientX,f.current=h.clientY,g(!0))},onMouseUp:h=>{h.preventDefault(),g(!1)},onMouseLeave:h=>{h.preventDefault()},style:{position:"relative",height:o,width:i-r,overflow:"hidden"}},!t&&!n?null:t?s.map(([h,C])=>mt.default.createElement(Aw,{key:`${h}_${C}`,model:e,offsetX:h,offsetY:C})):mt.default.createElement(Qf,null))}),dw=b_});function pw({ctx:e,model:t}){let{mouseCol:r,colWidth:n,msaAreaWidth:o,verticalScrollbarWidth:i,height:s,rowHeight:a,scrollX:c,scrollY:l,mouseRow:A,mouseCol2:u,mouseClickRow:f,mouseClickCol:m,relativeTo:g,rowNamesSet:h,hoveredTreeNode:C,highlightedColumns:E}=t,x=o-i;if(e.resetTransform(),e.clearRect(0,0,x,s),g){let y=h.get(g);y!==void 0&&(e.fillStyle=S_,e.fillRect(0,y*a+l,x,a))}if(C){e.fillStyle=Q_;for(let y of C.descendantNames){let w=h.get(y);w!==void 0&&e.fillRect(0,w*a+l,x,a)}}if(E?.length){e.fillStyle=Nc;for(let y of E)e.fillRect(y*n+c,0,n,s)}r!==void 0&&(e.fillStyle=gw,e.fillRect(r*n+c,0,n,s)),A!==void 0&&(e.fillStyle=gw,e.fillRect(0,A*a+l,x,a)),m!==void 0&&(e.fillStyle=Nc,e.fillRect(m*n+c,0,n,s)),f!==void 0&&(e.fillStyle=Nc,e.fillRect(0,f*a+l,x,a)),u!==void 0&&(e.fillStyle=Nc,e.fillRect(u*n+c,0,n,s))}var gw,Nc,S_,Q_,hw=p(()=>{gw="rgba(0,0,0,0.15)",Nc="rgba(128,128,0,0.2)",S_="rgba(0,128,255,0.3)",Q_="rgba(255,165,0,0.15)"});var oi,Cw,Ew,Iw,M_,xw,yw=p(()=>{oi=d(S(),1),Cw=d(Nt(),1),Ew=d(Yr(),1),Iw=d(G(),1);hw();M_=(0,Iw.observer)(function({model:e}){let t=(0,oi.useRef)(null),{height:r,msaAreaWidth:n,verticalScrollbarWidth:o}=e,i=n-o;return(0,oi.useEffect)(()=>{let s=t.current?.getContext("2d");return s?(0,Ew.autorun)(()=>{(0,Cw.isAlive)(e)&&pw({ctx:s,model:e})}):void 0},[e]),oi.default.createElement("canvas",{ref:t,id:"mouseover",width:i,height:r,style:{position:"absolute",top:0,left:0,width:i,height:r,zIndex:1e3,pointerEvents:"none"}})}),xw=M_});var Lc,ww,v_,Bw,bw=p(()=>{Lc=d(S(),1),ww=d(G(),1);mw();yw();v_=(0,ww.observer)(function({model:e}){return Lc.default.createElement("div",{style:{position:"relative"}},Lc.default.createElement(dw,{model:e}),Lc.default.createElement(xw,{model:e}))}),Bw=v_});var as,Sw=p(()=>{as=class{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(t,r){let n=this.length++;for(;n>0;){let o=n-1>>1,i=this.values[o];if(r>=i)break;this.ids[n]=this.ids[o],this.values[n]=i,n=o}this.ids[n]=t,this.values[n]=r}pop(){if(this.length===0)return;let t=this.ids,r=this.values,n=t[0],o=--this.length;if(o>0){let i=t[o],s=r[o],a=0,c=o>>1;for(;a<c;){let l=(a<<1)+1,A=l+1,u=l+(+(A<o)&+(r[A]<r[l]));if(r[u]>=s)break;t[a]=t[u],r[a]=r[u],a=u}t[a]=i,r[a]=s}return n}peek(){return this.length>0?this.ids[0]:void 0}peekValue(){return this.length>0?this.values[0]:void 0}shrink(){this.ids.length=this.values.length=this.length}}});function Mw(e,t){let r=0,n=t.length-1;for(;r<n;){let o=r+n>>1;t[o]>e?n=o:r=o+1}return t[r]}function _f(e,t,r,n,o,i){if(Math.floor(n/i)>=Math.floor(o/i))return;let s=e[n],a=e[n+o>>1],c=e[o],l=c,A=Math.max(s,a);c>A?l=A:A===s?l=Math.max(a,c):A===a&&(l=Math.max(s,c));let u=n-1,f=o+1;for(;;){do u++;while(e[u]<l);do f--;while(e[f]>l);if(u>=f)break;T_(e,t,r,u,f)}_f(e,t,r,n,f,i),_f(e,t,r,f+1,o,i)}function T_(e,t,r,n,o){let i=e[n];e[n]=e[o],e[o]=i;let s=4*n,a=4*o,c=t[s],l=t[s+1],A=t[s+2],u=t[s+3];t[s]=t[a],t[s+1]=t[a+1],t[s+2]=t[a+2],t[s+3]=t[a+3],t[a]=c,t[a+1]=l,t[a+2]=A,t[a+3]=u;let f=r[n];r[n]=r[o],r[o]=f}function __(e,t){let r=e^t,n=65535^r,o=65535^(e|t),i=e&(t^65535),s=r|n>>1,a=r>>1^r,c=o>>1^n&i>>1^o,l=r&o>>1^i>>1^i;r=s,n=a,o=c,i=l,s=r&r>>2^n&n>>2,a=r&n>>2^n&(r^n)>>2,c^=r&o>>2^n&i>>2,l^=n&o>>2^(r^n)&i>>2,r=s,n=a,o=c,i=l,s=r&r>>4^n&n>>4,a=r&n>>4^n&(r^n)>>4,c^=r&o>>4^n&i>>4,l^=n&o>>4^(r^n)&i>>4,r=s,n=a,o=c,i=l,c^=r&o>>8^n&i>>8,l^=n&o>>8^(r^n)&i>>8,r=c^c>>1,n=l^l>>1;let A=e^t,u=n|65535^(A|r);return A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,(u<<1|A)>>>0}var Qw,Tf,cs,vw=p(()=>{Sw();Qw=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],Tf=3,cs=class e{static from(t,r=0){if(r%8!==0)throw new Error("byteOffset must be 8-byte aligned.");if(!t||t.byteLength===void 0||t.buffer)throw new Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");let[n,o]=new Uint8Array(t,r+0,2);if(n!==251)throw new Error("Data does not appear to be in a Flatbush format.");let i=o>>4;if(i!==Tf)throw new Error(`Got v${i} data when expected v${Tf}.`);let s=Qw[o&15];if(!s)throw new Error("Unrecognized array type.");let[a]=new Uint16Array(t,r+2,1),[c]=new Uint32Array(t,r+4,1);return new e(c,a,s,void 0,t,r)}constructor(t,r=16,n=Float64Array,o=ArrayBuffer,i,s=0){if(t===void 0)throw new Error("Missing required argument: numItems.");if(isNaN(t)||t<=0)throw new Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.byteOffset=s;let a=t,c=a;this._levelBounds=[a*4];do a=Math.ceil(a/this.nodeSize),c+=a,this._levelBounds.push(c*4);while(a!==1);this.ArrayType=n,this.IndexArrayType=c<16384?Uint16Array:Uint32Array;let l=Qw.indexOf(n),A=c*4*n.BYTES_PER_ELEMENT;if(l<0)throw new Error(`Unexpected typed array class: ${n}.`);if(i)this.data=i,this._boxes=new n(i,s+8,c*4),this._indices=new this.IndexArrayType(i,s+8+A,c),this._pos=c*4,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1];else{let u=this.data=new o(8+A+c*this.IndexArrayType.BYTES_PER_ELEMENT);this._boxes=new n(u,8,c*4),this._indices=new this.IndexArrayType(u,8+A,c),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(u,0,2).set([251,(Tf<<4)+l]),new Uint16Array(u,2,1)[0]=r,new Uint32Array(u,4,1)[0]=t}this._queue=new as}add(t,r,n=t,o=r){let i=this._pos>>2,s=this._boxes;return this._indices[i]=i,s[this._pos++]=t,s[this._pos++]=r,s[this._pos++]=n,s[this._pos++]=o,t<this.minX&&(this.minX=t),r<this.minY&&(this.minY=r),n>this.maxX&&(this.maxX=n),o>this.maxY&&(this.maxY=o),i}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);let t=this._boxes;if(this.numItems<=this.nodeSize){t[this._pos++]=this.minX,t[this._pos++]=this.minY,t[this._pos++]=this.maxX,t[this._pos++]=this.maxY;return}let r=this.maxX-this.minX||1,n=this.maxY-this.minY||1,o=new Uint32Array(this.numItems),i=65535;for(let s=0,a=0;s<this.numItems;s++){let c=t[a++],l=t[a++],A=t[a++],u=t[a++],f=Math.floor(i*((c+A)/2-this.minX)/r),m=Math.floor(i*((l+u)/2-this.minY)/n);o[s]=__(f,m)}_f(o,t,this._indices,0,this.numItems-1,this.nodeSize);for(let s=0,a=0;s<this._levelBounds.length-1;s++){let c=this._levelBounds[s];for(;a<c;){let l=a,A=t[a++],u=t[a++],f=t[a++],m=t[a++];for(let g=1;g<this.nodeSize&&a<c;g++)A=Math.min(A,t[a++]),u=Math.min(u,t[a++]),f=Math.max(f,t[a++]),m=Math.max(m,t[a++]);this._indices[this._pos>>2]=l,t[this._pos++]=A,t[this._pos++]=u,t[this._pos++]=f,t[this._pos++]=m}}}search(t,r,n,o,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4,a=[],c=[];for(;s!==void 0;){let l=Math.min(s+this.nodeSize*4,Mw(s,this._levelBounds));for(let A=s;A<l;A+=4){let u=this._boxes[A];if(n<u)continue;let f=this._boxes[A+1];if(o<f)continue;let m=this._boxes[A+2];if(t>m)continue;let g=this._boxes[A+3];if(r>g)continue;let h=this._indices[A>>2]|0;s>=this.numItems*4?a.push(h):(i===void 0||i(h,u,f,m,g))&&c.push(h)}s=a.pop()}return c}neighbors(t,r,n=1/0,o=1/0,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4,a=this._queue,c=[],l=o*o;e:for(;s!==void 0;){let A=Math.min(s+this.nodeSize*4,Mw(s,this._levelBounds));for(let u=s;u<A;u+=4){let f=this._indices[u>>2]|0,m=this._boxes[u],g=this._boxes[u+1],h=this._boxes[u+2],C=this._boxes[u+3],E=t<m?m-t:t>h?t-h:0,x=r<g?g-r:r>C?r-C:0,y=E*E+x*x;y>l||(s>=this.numItems*4?a.push(f<<1,y):(i===void 0||i(f))&&a.push((f<<1)+1,y))}for(;a.length&&a.peek()&1;)if(a.peekValue()>l||(c.push(a.pop()>>1),c.length===n))break e;s=a.length?a.pop()>>1:void 0}return a.clear(),c}}});var ls,ii,Tw,D_,_w,Dw=p(()=>{ls=d(S(),1),ii=d(N(),1),Tw=d(G(),1),D_=(0,Tw.observer)(function({node:e,model:t,onClose:r}){return ls.default.createElement(ii.Menu,{anchorReference:"anchorPosition",anchorPosition:{left:e.x,top:e.y},transitionDuration:0,keepMounted:!0,open:!!e,onClose:r},ls.default.createElement(ii.MenuItem,{dense:!0,disabled:!0},e.name),ls.default.createElement(ii.MenuItem,{dense:!0,onClick:()=>{t.toggleCollapsed(e.id),r()}},t.collapsed.includes(e.id)?"Expand this node":"Collapse this node"),ls.default.createElement(ii.MenuItem,{dense:!0,onClick:()=>{t.showOnly===e.id?t.setShowOnly(void 0):t.setShowOnly(e.id),r()}},t.showOnly===e.id?"Disable show only this node":"Show only this node"))}),_w=D_});var Fw={};et(Fw,{default:()=>N_});var Dr,kw,Nw,Lw,k_,N_,Rw=p(()=>{Dr=d(S(),1);fc();Xu();kw=d(xe(),1),Nw=d(N(),1),Lw=d(G(),1);Zu();k_=(0,Lw.observer)(function({info:e,model:t,nodeName:r,onClose:n}){let{treeMetadata:o,rows:i}=t,s=o[r],a=i.find(c=>c[0]===r);return Dr.default.createElement(kw.Dialog,{onClose:()=>{n()},open:!0,title:"Tree node info",maxWidth:"xl"},Dr.default.createElement(Nw.DialogContent,null,Dr.default.createElement(zn,{title:"Attributes"},Dr.default.createElement(Tr,{attributes:{nodeName:r,...e}})),Dr.default.createElement(zn,{title:"Sequence"},a?Dr.default.createElement(rs,{str:[a]}):Dr.default.createElement("div",null,"Sequence not found")),s?Dr.default.createElement(zn,{title:"Extra metadata"},Dr.default.createElement(Tr,{attributes:s})):null))}),N_=k_});var Zr,wn,Pw,L_,F_,Gw,Ow=p(()=>{Zr=d(S(),1),wn=d(N(),1),Pw=d(G(),1),L_=(0,Zr.lazy)(()=>Promise.resolve().then(()=>(Rw(),Fw))),F_=(0,Pw.observer)(function({node:e,onClose:t,model:r}){let{collapsed:n,collapsedLeaves:o}=r,{name:i}=e;return Zr.default.createElement(wn.Menu,{anchorReference:"anchorPosition",anchorPosition:{top:e.y,left:e.x},transitionDuration:0,keepMounted:!0,open:!!e,onClose:t},Zr.default.createElement(wn.MenuItem,{dense:!0,disabled:!0},i),Zr.default.createElement(wn.MenuItem,{dense:!0,onClick:()=>{r.queueDialog(s=>[L_,{info:r.getRowData(i),model:r,nodeName:i,onClose:s}]),t()}},"More info..."),Zr.default.createElement(wn.MenuItem,{dense:!0,onClick:()=>{n.includes(e.id)?r.toggleCollapsed(e.id):e.id.endsWith("-leafnode")?r.toggleCollapsedLeaf(e.id):r.toggleCollapsedLeaf(`${e.id}-leafnode`),t()}},n.includes(e.id)||o.includes(e.id)?"Show node":"Hide node"),Zr.default.createElement(wn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(e.name),t()}},"Indicate differences from this row"),r.relativeTo?Zr.default.createElement(wn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(void 0),t()}},"Clear reference row"):null)}),Gw=F_});function R_({offsetY:e,ctx:t,model:r,theme:n,blockSizeYOverride:o}){let{hierarchy:i,showBranchLenEffective:s,blockSize:a}=r,c=o||a;t.strokeStyle=n.palette.text.primary;for(let l of i.links()){let{source:A,target:u}=l;if(u.height===0&&!s)continue;let f=A.x,m=u.x,g=s?u.len:u.y,h=s?A.len:A.y;if(g===void 0||h===void 0)continue;let C=Math.min(f,m),E=Math.max(f,m);e+c>=C&&E>=e&&(t.beginPath(),t.moveTo(h,f),t.lineTo(h,m),t.lineTo(g,m),t.stroke())}}function P_({ctx:e,clickMap:t,offsetY:r,model:n,blockSizeYOverride:o}){let{hierarchy:i,showBranchLenEffective:s,collapsed:a,blockSize:c,marginLeft:l}=n,A=o||c;for(let u of i.descendants()){let f=s?u.len:u.y;if(f===void 0)continue;let{data:m}=u,g=u.x,{id:h,name:C}=m;u.height>1&&g>r-5&&g<r+A+5&&(e.strokeStyle="black",e.fillStyle=a.includes(h)?"black":"white",e.beginPath(),e.arc(f,g,2.5,0,2*Math.PI),e.fill(),e.stroke(),t?.insert({minX:f-2.5+l,maxX:f-2.5+5+l,minY:g-2.5,maxY:g-2.5+5,branch:!0,id:h,name:C}))}}function G_({theme:e,model:t,offsetY:r,ctx:n,clickMap:o,blockSizeYOverride:i}){let{fontSize:s,showBranchLenEffective:a,treeMetadata:c,hierarchy:l,collapsed:A,collapsedLeaves:u,blockSize:f,labelsAlignRight:m,drawTree:g,treeAreaWidth:h,treeWidth:C,treeAreaWidthMinusMargin:E,marginLeft:x,leaves:y,noTree:w}=t,b=i||f,M=n.measureText("M").width;m?(n.textAlign="right",n.setLineDash([1,3])):n.textAlign="start";for(let v of y){let{data:{name:T,id:_}}=v,P=v.len,B=v.x,J=v.y,X=c[T]?.genome||T;if(B>r-5&&B<r+b+5){let H=B+s/4,Be=0;w||(Be=(a?P:J)||0,!a&&!A.includes(_)&&!u.includes(_)&&(Be-=C/l.height));let{width:pt}=n.measureText(X);if(n.fillStyle=e.palette.text.primary,m){let on=E-2;g&&!w&&(n.moveTo(Be+2.5+2,B),n.lineTo(on-2-pt,B),n.stroke()),n.fillText(X,on,H),o?.insert({minX:h-pt,maxX:h,minY:H-M,maxY:H,name:T,id:_})}else{let or=w?2:Be+5;n.fillText(X,or,H),o?.insert({minX:or+x,maxX:or+pt+x,minY:H-M,maxY:H,name:T,id:_})}}}n.setLineDash([])}function Fc({model:e,clickMap:t,ctx:r,offsetY:n,theme:o,highResScaleFactorOverride:i,blockSizeYOverride:s}){t?.clear();let{noTree:a,drawTree:c,drawNodeBubbles:l,highResScaleFactor:A,fontSize:u,showTreeText:f,marginLeft:m,nref:g,rowHeight:h}=e;r.resetTransform();let C=g<0?Number.NEGATIVE_INFINITY:i||A;r.scale(C,C),r.translate(m,-n);let E=r.font;r.font=E.replace(/\d+px/,`${u}px`),!a&&c&&(R_({ctx:r,offsetY:n,model:e,theme:o,blockSizeYOverride:s}),l&&P_({ctx:r,offsetY:n,clickMap:t,model:e,blockSizeYOverride:s})),f&&G_({ctx:r,offsetY:n,model:e,clickMap:t,theme:o,blockSizeYOverride:s}),t?.finish()}var Rc=p(()=>{});var Ge,Hw,Jw,Uw,Df,O_,Yw,qw=p(()=>{Ge=d(S(),1),Hw=d(N(),1);vw();Jw=d(Yr(),1),Uw=d(G(),1);Dw();Ow();Rc();Df=class{flatbush=null;entries=[];clear(){this.flatbush=null,this.entries=[]}insert(t){this.entries.push(t)}finish(){if(this.entries.length===0){this.flatbush=null;return}else{this.flatbush=new cs(this.entries.length);for(let t of this.entries)this.flatbush.add(t.minX,t.minY,t.maxX,t.maxY);this.flatbush.finish()}}search(t){return this.flatbush?.search(t.minX,t.minY,t.maxX,t.maxY).map(r=>this.entries[r])??[]}},O_=(0,Uw.observer)(function({model:e,offsetY:t}){let r=(0,Hw.useTheme)(),n=(0,Ge.useRef)(null),o=(0,Ge.useRef)(new Df),i=(0,Ge.useRef)(null),[s,a]=(0,Ge.useState)(),[c,l]=(0,Ge.useState)(),[A,u]=(0,Ge.useState)(),{scrollY:f,treeAreaWidth:m,blockSize:g,highResScaleFactor:h}=e,C=m+600,E=g,x=C*h,y=E*h,w=(0,Ge.useCallback)(T=>{e.incrementRef(),n.current=T},[e,E,C]);(0,Ge.useEffect)(()=>{let T=n.current?.getContext("2d");if(T)return(0,Jw.autorun)(()=>{T.resetTransform(),T.clearRect(0,0,(m+600)*h,g*h),Fc({ctx:T,model:e,offsetY:t,clickMap:o.current,theme:r})})},[e,g,h,m,t,r]),(0,Ge.useEffect)(()=>{let T=i.current?.getContext("2d");if(T&&(T.resetTransform(),T.clearRect(0,0,m+600,g),T.translate(0,-t),A)){let{minX:_,maxX:P,minY:B,maxY:J}=A;T.fillStyle="rgba(0,0,0,0.1)",T.fillRect(_,B,P-_,J-B)}},[A,t,g,m]);function b(T){let _=T.nativeEvent.offsetX,P=T.nativeEvent.offsetY,[B]=o.current.search({minX:_,maxX:_+1,minY:P+t,maxY:P+1+t});return B?.branch?{...B,x:T.clientX,y:T.clientY}:void 0}function M(T){let _=T.nativeEvent.offsetX,P=T.nativeEvent.offsetY,[B]=o.current.search({minX:_,maxX:_+1,minY:P+t,maxY:P+1+t});return B&&!B.branch?{...B,x:T.clientX,y:T.clientY}:void 0}let v={width:C,height:E,top:f+t,left:0,position:"absolute"};return Ge.default.createElement(Ge.default.Fragment,null,s?.id?Ge.default.createElement(_w,{node:s,model:e,onClose:()=>{a(void 0)}}):null,c?.id?Ge.default.createElement(Gw,{node:c,model:e,onClose:()=>{l(void 0)}}):null,Ge.default.createElement("canvas",{width:x,height:y,style:v,onMouseMove:T=>{if(!n.current)return;let _=M(T),P=b(T),B=_||P;if(n.current.style.cursor=B?"pointer":"default",u(_),B){if(e.setHoveredTreeNode(B.id),_?.name){let J=e.rowNamesSet.get(_.name);J!==void 0&&e.setMousePos(void 0,J)}}else e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},onClick:T=>{let{clientX:_,clientY:P}=T,B=b(T);B?.id&&a({x:_,y:P,id:B.id,name:B.name});let J=M(T);J?.id&&l({...J,x:_,y:P})},onMouseLeave:()=>{u(void 0),e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},ref:w}),Ge.default.createElement("canvas",{style:{...v,pointerEvents:"none",zIndex:100},width:C,height:E,ref:i}))}),Yw=O_});var gt,jw,Vw,Ww,H_,Kw,zw=p(()=>{gt=d(S(),1),jw=d(Nt(),1),Vw=d(Yr(),1),Ww=d(G(),1);qw();Rc();H_=(0,Ww.observer)(function({model:e}){let t=(0,gt.useRef)(null),r=(0,gt.useRef)(null),n=(0,gt.useRef)(!1),o=(0,gt.useRef)(0),i=(0,gt.useRef)(0),{treeWidth:s,height:a,blocksY:c,treeAreaWidth:l,scrollY:A}=e,[u,f]=(0,gt.useState)(!1);(0,gt.useEffect)(()=>{let g=t.current;if(!g)return;function h(C){o.current+=C.deltaY,n.current||(n.current=!0,requestAnimationFrame(()=>{e.doScrollY(-o.current),o.current=0,n.current=!1})),C.preventDefault(),C.stopPropagation()}return g.addEventListener("wheel",h),()=>{g.removeEventListener("wheel",h)}},[e]),(0,gt.useEffect)(()=>{let g=()=>{};function h(E){E.preventDefault();let y=E.clientY-i.current;y&&(n.current||(n.current=!0,window.requestAnimationFrame(()=>{e.doScrollY(y),n.current=!1,i.current=E.clientY})))}function C(){i.current=0,u&&f(!1)}return u&&(window.addEventListener("mousemove",h,!0),window.addEventListener("mouseup",C,!0),g=()=>{window.removeEventListener("mousemove",h,!0),window.removeEventListener("mouseup",C,!0)}),g},[e,u]),(0,gt.useEffect)(()=>{let g=r.current?.getContext("2d");return g?(0,Vw.autorun)(()=>{if((0,jw.isAlive)(e)){g.resetTransform(),g.clearRect(0,0,l,a);let{relativeTo:h,leaves:C,rowHeight:E,hoveredTreeNode:x}=e;if(h){let w=C.find(b=>b.data.name===h);if(w){let b=w.x+A;g.fillStyle="rgba(0,128,255,0.3)",g.fillRect(0,b-E/2,l,E)}}if(x){g.fillStyle="rgba(255,165,0,0.2)";for(let w of x.descendantNames){let b=C.find(M=>M.data.name===w);if(b){let M=b.x+A;g.fillRect(0,M-E/2,l,E)}}}let{mouseOverRowName:y}=e;if(y&&y!==h&&!x?.descendantNames.includes(y)){let w=C.find(b=>b.data.name===y);if(w){let b=w.x+A;g.fillStyle="rgba(255,165,0,0.2)",g.fillRect(0,b-E/2,l,E)}}}}):void 0},[e,l,a,A]);function m(g){let h=g.target;h.draggable||h.dataset.resizer||g.button===0&&(i.current=g.clientY,f(!0))}return gt.default.createElement("div",{ref:t,onMouseDown:m,onMouseUp:g=>{g.preventDefault(),f(!1)},onMouseLeave:g=>{g.preventDefault()},style:{height:a,position:"relative",width:s+600}},c.map(g=>gt.default.createElement(Yw,{key:g,model:e,offsetY:g})),gt.default.createElement("canvas",{ref:r,width:l,height:a,style:{position:"absolute",top:0,left:0,width:l,height:a,zIndex:1e3,pointerEvents:"none"}}))}),Kw=H_});var kf,$w,J_,Xw,Zw=p(()=>{kf=d(S(),1),$w=d(G(),1);zw();J_=(0,$w.observer)(function({model:e}){let{treeAreaWidth:t}=e;return kf.default.createElement("div",{style:{overflow:"hidden",flexShrink:0,width:t}},kf.default.createElement(Kw,{model:e}))}),Xw=J_});var eB,tB,U_,rB,nB=p(()=>{eB=d(S(),1),tB=d(G(),1),U_=(0,tB.observer)(({model:e})=>{let{treeAreaWidth:t}=e;return eB.default.createElement("div",{style:{flexShrink:0,width:t}})}),rB=U_});var re,Zn,Y_,q_,j_,V_,W_,K_,oB,iB=p(()=>{re=d(S(),1),Zn=d(G(),1);xh();Dh();Fh();ew();nw();bw();Zw();nB();Y_=(0,Zn.observer)(function({model:e}){let{showHorizontalScrollbar:t}=e;return re.default.createElement("div",{style:{display:"flex"}},re.default.createElement(rB,{model:e}),t?re.default.createElement(rw,{model:e}):null)}),q_=(0,Zn.observer)(function({model:e}){let{mouseCol:t,mouseClickCol:r,colWidth:n,scrollX:o,treeAreaWidth:i,resizeHandleWidth:s,totalTrackAreaHeight:a,msaAreaWidth:c,verticalScrollbarWidth:l}=e,A=i+s,u=c-l;return re.default.createElement("div",{style:{position:"absolute",left:A,top:0,width:u,height:a,overflow:"hidden",pointerEvents:"none"}},t!==void 0?re.default.createElement("div",{style:{position:"absolute",left:t*n+o,top:0,width:n,height:a,backgroundColor:"rgba(0,0,0,0.15)",zIndex:100}}):null,r!==void 0?re.default.createElement("div",{style:{position:"absolute",left:r*n+o,top:0,width:n,height:a,backgroundColor:"rgba(128,128,0,0.2)",zIndex:100}}):null)}),j_=(0,Zn.observer)(function({model:e}){let{turnedOnTracks:t}=e;return t.length===0?null:re.default.createElement("div",{style:{position:"relative"}},re.default.createElement(q_,{model:e}),t.map(r=>re.default.createElement(_h,{key:r.model.id,model:e,track:r})))}),V_=(0,Zn.observer)(function({model:e}){let{showVerticalScrollbar:t}=e;return re.default.createElement("div",{style:{display:"flex"}},re.default.createElement(Xw,{model:e}),re.default.createElement(Eh,{model:e}),re.default.createElement(Bw,{model:e}),t?re.default.createElement(Lh,{model:e}):null)}),W_=(0,Zn.observer)(function({model:e}){return re.default.createElement("div",{style:{position:"relative"}},re.default.createElement(Y_,{model:e}),re.default.createElement(j_,{model:e}),re.default.createElement(V_,{model:e}))}),K_=(0,Zn.observer)(function({model:e}){let{height:t,viewInitialized:r,DialogComponent:n,DialogProps:o}=e;return re.default.createElement("div",null,r?re.default.createElement(re.default.Fragment,null,re.default.createElement("div",{style:{height:t,overflow:"hidden"}},re.default.createElement(Zy,{model:e}),re.default.createElement(W_,{model:e})),re.default.createElement(Ih,{model:e}),n?re.default.createElement(re.Suspense,{fallback:null},re.default.createElement(n,{...o})):null):null)}),oB=K_});var sB,aB,cB,lB=p(()=>{sB=`CLUSTAL O(1.2.3) multiple sequence alignment
|
|
31
|
+
`),onProgress:c=>{t.setStatus(c)},model:t})}catch(a){console.error(a),(0,dy.getSession)(t).notifyError(`${a}`,a)}finally{t.setStatus()}})(),e()}},"Send sequences to InterProScan")))}),ID=ED});var Rr,hy,xD,yD,wD,BD,bD,SD,QD,Cy,Ey=g(()=>{Rr=d(b(),1);fc();Yu();TI();kI();LI();PI();OI();UI();jI();WI();hy=d(O(),1),xD=(0,Rr.lazy)(()=>Promise.resolve().then(()=>(_x(),Dx))),yD=(0,Rr.lazy)(()=>Promise.resolve().then(()=>(Lx(),Nx))),wD=(0,Rr.lazy)(()=>Promise.resolve().then(()=>(Gx(),Px))),BD=(0,Rr.lazy)(()=>Promise.resolve().then(()=>(ny(),ry))),bD=(0,Rr.lazy)(()=>Promise.resolve().then(()=>(ly(),cy))),SD=(0,Rr.lazy)(()=>Promise.resolve().then(()=>(py(),gy))),QD=(0,hy.observer)(({model:e})=>{let{showDomains:t,actuallyShowDomains:r,subFeatureRows:n,noDomains:o,tracks:i,turnedOffTracks:s}=e;return Rr.default.createElement(ri,{menuItems:[{label:"Return to import form",icon:qu,onClick:()=>{e.reset()}},{label:"Metadata",icon:vI,onClick:()=>{e.queueDialog(a=>[xD,{model:e,onClose:a}])}},{label:"More settings",onClick:()=>{e.queueDialog(a=>[BD,{model:e,onClose:a}])}},{label:"Tracks",icon:Vu,type:"subMenu",subMenu:i.map(a=>({label:a.model.name,type:"checkbox",checked:!s.has(a.model.id),onClick:()=>{e.toggleTrack(a.model.id)}}))},{label:"Export SVG",icon:GI,onClick:()=>{e.queueDialog(a=>[yD,{onClose:a,model:e}])}},...e.rows.length>=2?[{label:"Calculate neighbor joining tree (BLOSUM62)",icon:dc,onClick:()=>{try{e.calculateNeighborJoiningTreeFromMSA()}catch(a){console.error("Failed to calculate NJ tree:",a),e.setError(a)}}}]:[],{label:"Features/protein domains",type:"subMenu",subMenu:[{label:"Open domains...",icon:qu,onClick:()=>{e.queueDialog(a=>[bD,{handleClose:a,model:e}])}},{label:"Query InterProScan for domains...",icon:JI,onClick:()=>{e.queueDialog(a=>[SD,{handleClose:a,model:e}])}},{label:`Show domains${o?" (no domains loaded)":""}`,disabled:o,icon:Vu,checked:r?t:!1,type:"checkbox",onClick:()=>{e.setShowDomains(!t)}},{label:`Use sub-row layout${o?" (no domains loaded)":""}`,disabled:o,checked:r?n:!1,icon:qI,type:"checkbox",onClick:()=>{e.setSubFeatureRows(!n)}},{label:`Filter domains${o?" (no domains loaded)":""}`,icon:_I,disabled:o,onClick:()=>{e.queueDialog(a=>[wD,{onClose:a,model:e}])}}]},...e.extraViewMenuItems()]},Rr.default.createElement(RI,null))}),Cy=QD});var kc,Iy,xy,yy,wy,MD,vD,By,by=g(()=>{kc=d(b(),1),Iy=d(Ce(),1),xy=d(_(),1),yy=d(O(),1),wy=d(Ue(),1),MD=(0,wy.makeStyles)()({margin:{margin:"auto",marginLeft:10}}),vD=(0,yy.observer)(({model:e})=>{let{status:t}=e,{classes:r}=MD();return t?kc.default.createElement(xy.Typography,{className:r.margin},kc.default.createElement(Iy.LoadingEllipses,{message:t.msg,component:"span"})," ",t.url?kc.default.createElement("a",{href:t.url,target:"_blank",rel:"noreferrer"},"(status)"):null):null}),By=vD});var bf,Nc,Sy,TD,Qy,My=g(()=>{bf=d(b(),1),Nc=d(_(),1),Sy=d(O(),1),TD=(0,Sy.observer)(function({model:e}){let{currentAlignment:t,alignmentNames:r}=e;return r.length>0?bf.default.createElement(Nc.TextField,{select:!0,variant:"outlined",value:t,size:"small",onChange:n=>{e.setCurrentAlignment(+n.target.value),e.setScrollX(0),e.setScrollY(0)}},r.map((n,o)=>bf.default.createElement(Nc.MenuItem,{key:`${n}-${o}`,value:o},n))):null}),Qy=TD});var vy,Ty,Dy=g(()=>{"use client";$();vy=d(R(),1),Ty=(0,D.createSvgIcon)((0,vy.jsx)("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9m5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9M5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S7.33 13 6.5 13 5 12.33 5 11.5m6-4c0 .83-.67 1.5-1.5 1.5S8 8.33 8 7.5 8.67 6 9.5 6s1.5.67 1.5 1.5"}),"Palette")});var Sf,_y,DD,ky,Ny=g(()=>{Sf=d(b(),1);fc();Yu();Dy();eA();_y=d(O(),1);Dc();DD=(0,_y.observer)(function({model:e}){let{colorSchemeName:t,drawMsaLetters:r,contrastLettering:n,hideGaps:o,bgColor:i,drawTree:s,showBranchLen:a,labelsAlignRight:c,drawNodeBubbles:l,drawLabels:A,treeWidthMatchesArea:u,noTree:f}=e;return Sf.default.createElement(ri,{closeAfterItemClick:!1,menuItems:[{label:"Color scheme",icon:Ty,type:"subMenu",subMenu:Object.keys(ai).map(m=>({label:m,type:"radio",checked:t===m,onClick:()=>{e.setColorSchemeName(m)}}))},{label:"MSA settings",type:"subMenu",subMenu:[{label:"Draw letters",type:"checkbox",checked:r,onClick:()=>{e.setDrawMsaLetters(!r)}},{label:"Color letters instead of background of tiles",type:"checkbox",checked:!i,onClick:()=>{e.setBgColor(!i)}},{label:"Use contrast lettering",type:"checkbox",checked:n,onClick:()=>{e.setContrastLettering(!n)}},{label:"Enable hiding gappy columns?",type:"checkbox",checked:o,onClick:()=>{e.setHideGaps(!o)}}]},{label:"Tree settings",type:"subMenu",icon:dc,subMenu:[{label:"Show branch length",type:"checkbox",checked:a,onClick:()=>{e.setShowBranchLen(!a)}},{label:"Show tree",type:"checkbox",checked:s,onClick:()=>{e.setDrawTree(!s)}},{label:"Draw clickable bubbles on tree branches",type:"checkbox",checked:l,onClick:()=>{e.setDrawNodeBubbles(!l)}},{label:"Tree labels align right",type:"checkbox",checked:c,onClick:()=>{e.setLabelsAlignRight(!c)}},{label:"Draw labels",type:"checkbox",checked:A,onClick:()=>{e.setDrawLabels(!A)}},...f?[]:[{label:"Make tree width fit to tree area",type:"checkbox",checked:u,onClick:()=>{e.setTreeWidthMatchesArea(!u)}}]]}]},Sf.default.createElement(ta,null))}),ky=DD});var Qf,Ly,Fy=g(()=>{"use client";$();Qf=d(R(),1),Ly=(0,D.createSvgIcon)([(0,Qf.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14"},"0"),(0,Qf.jsx)("path",{d:"M12 10h-2v2H9v-2H7V9h2V7h1v2h2z"},"1")],"ZoomIn")});var Ry,Py,Gy=g(()=>{"use client";$();Ry=d(R(),1),Py=(0,D.createSvgIcon)((0,Ry.jsx)("path",{d:"M15.5 14h-.79l-.28-.27C15.41 12.59 16 11.11 16 9.5 16 5.91 13.09 3 9.5 3S3 5.91 3 9.5 5.91 16 9.5 16c1.61 0 3.09-.59 4.23-1.57l.27.28v.79l5 4.99L20.49 19zm-6 0C7.01 14 5 11.99 5 9.5S7.01 5 9.5 5 14 7.01 14 9.5 11.99 14 9.5 14M7 9h5v1H7z"}),"ZoomOut")});var io,Mf,Oy,_D,Hy,Jy=g(()=>{io=d(b(),1);Fy();Gy();Mf=d(_(),1),Oy=d(O(),1),_D=(0,Oy.observer)(function({model:t}){return io.default.createElement(io.default.Fragment,null,io.default.createElement(Mf.IconButton,{onClick:()=>{t.zoomIn()}},io.default.createElement(Ly,null)),io.default.createElement(Mf.IconButton,{onClick:()=>{t.zoomOut()}},io.default.createElement(Py,null)))}),Hy=_D});var Uy,Yy,qy=g(()=>{"use client";$();Uy=d(R(),1),Yy=(0,D.createSvgIcon)((0,Uy.jsx)("path",{d:"M12 8c1.1 0 2-.9 2-2s-.9-2-2-2-2 .9-2 2 .9 2 2 2m0 2c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2m0 6c-1.1 0-2 .9-2 2s.9 2 2 2 2-.9 2-2-.9-2-2-2"}),"MoreVert")});var jy,Lc,vf=g(()=>{"use client";$();jy=d(R(),1),Lc=(0,D.createSvgIcon)((0,jy.jsx)("path",{d:"M12 5V2L8 6l4 4V7c3.31 0 6 2.69 6 6 0 2.97-2.17 5.43-5 5.91v2.02c3.95-.49 7-3.85 7-7.93 0-4.42-3.58-8-8-8m-6 8c0-1.65.67-3.15 1.76-4.24L6.34 7.34C4.9 8.79 4 10.79 4 13c0 4.08 3.05 7.44 7 7.93v-2.02c-2.83-.48-5-2.94-5-5.91"}),"RestartAlt")});var Tf,Vy,kD,Wy,Ky=g(()=>{Tf=d(b(),1);fc();qy();vf();Vy=d(O(),1),kD=(0,Vy.observer)(function({model:e}){return Tf.default.createElement(ri,{menuItems:[{label:"Fit both vertically/horizontally",onClick:()=>{e.fit()}},{label:"Fit vertically",onClick:()=>{e.fitVertically()}},{label:"Fit horizontally",onClick:()=>{e.fitHorizontally()}},{label:"Reset zoom to default",icon:Lc,onClick:()=>{e.resetZoom()}},{label:"Show extra zoom options",checked:e.showZoomStar,type:"checkbox",onClick:()=>{e.setShowZoomStar(!e.showZoomStar)}}]},Tf.default.createElement(Yy,null))}),Wy=kD});var ur,ci,zy,$y,ND,LD,Xy,Zy=g(()=>{ur=d(b(),1);vf();ci=d(_(),1),zy=d(O(),1),$y=d(Ue(),1),ND=(0,$y.makeStyles)()(e=>({dpad:{display:"grid",gridTemplateColumns:"repeat(3, 1fr)"},icon:{padding:e.spacing(.5)}})),LD=(0,zy.observer)(function({model:e}){let{classes:t}=ND();return ur.default.createElement("div",{className:t.dpad},ur.default.createElement("div",null),ur.default.createElement(ci.IconButton,{className:t.icon,onClick:()=>{e.zoomInVertical()}},"Y+"),ur.default.createElement("div",null),ur.default.createElement(ci.IconButton,{className:t.icon,onClick:()=>{e.zoomOutHorizontal()}},"X-"),ur.default.createElement(ci.IconButton,{className:t.icon,onClick:()=>{e.resetZoom()}},ur.default.createElement(Lc,null)),ur.default.createElement(ci.IconButton,{className:t.icon,onClick:()=>{e.zoomInHorizontal()}},"X+"),ur.default.createElement("div",null),ur.default.createElement(ci.IconButton,{className:t.icon,onClick:()=>{e.zoomOutVertical()}},"Y-"),ur.default.createElement("div",null))}),Xy=LD});var ew,tw=g(()=>{ew="5.0.7"});var ow={};rt(ow,{default:()=>nw});function nw({onClose:e}){return We.default.createElement(rw.Dialog,{open:!0,title:"About",onClose:()=>{e()}},We.default.createElement(vt.DialogContent,null,We.default.createElement(vt.Typography,null,"MSAView ",ew," (",We.default.createElement(vt.Link,{href:"https://github.com/gmod/react-msaview"},"Github"),")"),We.default.createElement("ul",null,We.default.createElement("li",null,We.default.createElement(vt.Typography,null,"We use some color schemes from the"," ",We.default.createElement(vt.Link,{href:"https://github.com/biotite-dev/biotite"},"biotite")," ","project, and their license is reproduced"," ",We.default.createElement(vt.Link,{href:"https://github.com/biotite-dev/biotite/blob/master/LICENSE.rst"},"here"))),We.default.createElement("li",null,We.default.createElement(vt.Typography,null,"See this page for some information on jalview colorings"," ",We.default.createElement(vt.Link,{href:"https://www.jalview.org/help/html/colourSchemes/"},"here"))),We.default.createElement("li",null,We.default.createElement(vt.Typography,null,"See this page for some info on the clustal, cinema, maeditor, and lesk color schemes"," ",We.default.createElement(vt.Link,{href:"http://www.bioinformatics.nl/~berndb/aacolour.html"},"here"))),We.default.createElement("li",null,We.default.createElement(vt.Typography,null,"See this paper about the flower color scheme"," ",We.default.createElement(vt.Link,{href:"https://www.ncbi.nlm.nih.gov/pmc/articles/PMC7245768/"},"here"))))))}var We,rw,vt,iw=g(()=>{We=d(b(),1),rw=d(Ce(),1),vt=d(_(),1);tw()});function PD(){return He.default.createElement("div",{style:{flex:1}})}var He,sw,aw,FD,RD,cw,lw=g(()=>{He=d(b(),1);Lp();Wh();sw=d(_(),1),aw=d(O(),1);$h();n0();Ey();by();My();Ny();Jy();Ky();Zy();FD=(0,He.lazy)(()=>Promise.resolve().then(()=>(iw(),ow))),RD=(0,aw.observer)(function({model:e}){let[t,{height:r}]=yA();return(0,He.useEffect)(()=>{e.setHeaderHeight(r||0)},[e,r]),He.default.createElement("div",{ref:t,style:{display:"flex"}},He.default.createElement(Cy,{model:e}),He.default.createElement(ky,{model:e}),He.default.createElement(Hy,{model:e}),e.showZoomStar?He.default.createElement(Xy,{model:e}):null,He.default.createElement(Wy,{model:e}),He.default.createElement(zh,{model:e}),He.default.createElement("div",{style:{paddingLeft:20,margin:"auto"}},He.default.createElement(Qy,{model:e})),He.default.createElement(r0,{model:e}),He.default.createElement(PD,null),He.default.createElement(By,{model:e}),He.default.createElement(sw.IconButton,{onClick:()=>{e.queueDialog(n=>[FD,{onClose:n}])}},He.default.createElement(Vh,null)))});cw=RD});var jt,Aw,GD,uw,fw=g(()=>{jt=d(b(),1),Aw=d(O(),1),GD=(0,Aw.observer)(function({model:e}){let[t,r]=(0,jt.useState)(),[n,o]=(0,jt.useState)(!1),i=(0,jt.useRef)(!1),{scrollX:s,msaAreaWidth:a,minimapHeight:c,colWidth:l,numColumns:A}=e,u=a/A/l,f=-s,m=f+a,p=f*u,h=m*u,E="rgba(66, 119, 127, 0.3)",C=Math.max(h-p,20);(0,jt.useEffect)(()=>{function w(S){t!==void 0&&(i.current||(i.current=!0,window.requestAnimationFrame(()=>{e.setScrollX(t.scrollX-(S.clientX-t.clientX)/u),i.current=!1})))}function B(){r(void 0)}if(t!==void 0)return document.addEventListener("mousemove",w),document.addEventListener("mouseup",B),()=>{document.removeEventListener("mousemove",w),document.removeEventListener("mousemove",B)}},[e,u,t]);let x=12,y=c-x;return jt.default.createElement("div",{style:{position:"relative",height:c,width:"100%"}},jt.default.createElement("div",{style:{height:x,boxSizing:"border-box",border:"1px solid #555"}}),jt.default.createElement("div",{style:{position:"absolute",top:0,left:Math.max(0,p),background:n?"rgba(66,119,127,0.6)":E,cursor:"pointer",height:x,width:C,zIndex:100},onMouseOver:()=>{o(!0)},onMouseOut:()=>{o(!1)},onMouseDown:w=>{r({clientX:w.clientX,scrollX:e.scrollX})}}),jt.default.createElement("svg",{height:y,style:{width:"100%"}},jt.default.createElement("polygon",{fill:E,points:[[p+C,0],[p,0],[0,y],[a,y]].toString()})))}),uw=GD});function Df(){return Fc.default.createElement("div",{style:{position:"absolute",left:"50%",top:"50%"}},Fc.default.createElement(Rc.CircularProgress,null),Fc.default.createElement(Rc.Typography,null,"Loading..."))}var Fc,Rc,dw=g(()=>{Fc=d(b(),1),Rc=d(_(),1)});function Pc({model:e,offsetX:t,offsetY:r,ctx:n,highResScaleFactorOverride:o,blockSizeYOverride:i}){let{leaves:s,blockSize:a,rowHeight:c,highResScaleFactor:l,showDomains:A}=e;if(A){let u=o||l,f=i||a;n.resetTransform(),n.scale(u,u),n.translate(-t,c/2-r);let m=Math.max(0,Math.floor((r-c)/c)),p=Math.max(0,Math.ceil((r+f+c)/c)),h=s.slice(m,p);OD({model:e,ctx:n,visibleLeaves:h})}}function OD({model:e,ctx:t,visibleLeaves:r}){let{subFeatureRows:n,colWidth:o,rowHeight:i,fillPalette:s,strokePalette:a,tidyFilteredGatheredInterProAnnotations:c}=e;for(let l=0,A=r.length;l<A;l++){let u=r[l],{x:f,data:{name:m}}=u,p=f,h=c[m];if(h)for(let E=0,C=h.length;E<C;E++){let{start:x,end:y,accession:w}=h[E],B=e.seqPosToVisibleCol(m,x-1),S=e.seqPosToVisibleCol(m,y);if(B===void 0||S===void 0)continue;let Q=B*o;t.fillStyle=s[w],t.strokeStyle=a[w];let N=n?4:i,G=p-i+(n?E*N:0),U=o*(S-B);t.fillRect(Q,G,U,N),t.strokeRect(Q,G,U,N)}}}var _f=g(()=>{});function Gc({model:e,offsetX:t,offsetY:r,contrastScheme:n,ctx:o,theme:i,highResScaleFactorOverride:s,blockSizeXOverride:a,blockSizeYOverride:c}){let{colWidth:l,blockSize:A,rowHeight:u,fontSize:f,highResScaleFactor:m,actuallyShowDomains:p,leaves:h,bgColor:E}=e,C=s||m,x=a||A,y=c||A;o.resetTransform(),o.scale(C,C),o.translate(-t,u/2-r),o.textAlign="center",o.font=o.font.replace(/\d+px/,`${E?"":"bold "}${f}px`);let w=Math.max(0,Math.floor((r-u)/u)),B=Math.max(0,Math.ceil((r+y+u)/u)),S=Math.max(0,Math.floor(t/l)),Q=Math.max(0,Math.ceil((t+x)/l)),N=h.slice(w,B);p||HD({model:e,ctx:o,theme:i,offsetX:t,xStart:S,xEnd:Q,visibleLeaves:N}),JD({model:e,ctx:o,offsetX:t,contrastScheme:n,xStart:S,xEnd:Q,visibleLeaves:N}),UD({model:e,ctx:o,xStart:S,xEnd:Q,visibleLeaves:N}),o.resetTransform()}function HD({model:e,offsetX:t,ctx:r,visibleLeaves:n,theme:o,xStart:i,xEnd:s}){let{bgColor:a,colorSchemeName:c,colorScheme:l,columns:A,colWidth:u,rowHeight:f,relativeTo:m}=e,p=m?A[m]?.slice(i,s):null,h=c==="clustalx_protein_dynamic",E=c==="percent_identity_dynamic",C=t-t%u;for(let x=0,y=n.length;x<y;x++){let w=n[x],{data:{name:B}}=w,S=w.x,Q=A[B]?.slice(i,s);if(Q)for(let N=0,G=Q.length;N<G;N++){let U=Q[N],v=p&&B!==m&&U===p[N],T=h?e.colClustalX[i+N][U]:E?(()=>{let H=e.colConsensus[i+N];return U===H.letter?H.color:void 0})():l[U.toUpperCase()];if(a||h||E){let H=v?o.palette.action.hover:T||o.palette.background.default;r.fillStyle=H,r.fillRect(N*u+C,S-f,u,f)}}}}function JD({model:e,offsetX:t,contrastScheme:r,ctx:n,visibleLeaves:o,xStart:i,xEnd:s}){let{bgColor:a,actuallyShowDomains:c,showMsaLetters:l,colorScheme:A,columns:u,colWidth:f,contrastLettering:m,rowHeight:p,relativeTo:h}=e,E=h?u[h]?.slice(i,s):null;if(l){let C=t-t%f,x=f/2,y=p/4;for(let w=0,B=o.length;w<B;w++){let S=o[w],{data:{name:Q}}=S,N=S.x-y,G=u[Q]?.slice(i,s);if(G)for(let U=0,v=G.length;U<v;U++){let T=G[U],L=E&&Q!==h&&T===E[U]?".":T,te=A[T.toUpperCase()],et=m&&r[T.toUpperCase()]||"black";n.fillStyle=c?"black":a?et:te||"black",n.fillText(L,U*f+C+x,N)}}}}function UD({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o}){let{bgColor:i,hideGapsEffective:s}=e;s&&(t.lineWidth=1,t.strokeStyle="#f0f",mw({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:0}),t.strokeStyle=i?"#fff":"#000",mw({visibleLeaves:r,xStart:n,ctx:t,model:e,xEnd:o,offset:-1}))}function mw({model:e,ctx:t,visibleLeaves:r,xStart:n,xEnd:o,offset:i}){let{colWidth:a,rowHeight:c,insertionPositions:l}=e;for(let A of r){let{name:u}=A.data,f=l.get(u);if(f){let m=A.x;for(let{pos:p}of f)if(p>=n&&p<o){let h=p*a,E=m-c,C=m;t.beginPath(),t.moveTo(h+i,E+i);let x=E,y=!0;for(;x<C;){let w=Math.min(x+2,C),B=y?h+1:h-1;t.lineTo(B+i,w+i),x=w,y=!y}t.stroke()}}}}var kf=g(()=>{});var Vt,gw,pw,hw,Cw,YD,Ew,Iw=g(()=>{Vt=d(b(),1),gw=d(Ce(),1),pw=d(_(),1),hw=d(zr(),1),Cw=d(O(),1);_f();kf();bn();YD=(0,Cw.observer)(function({model:e,offsetX:t,offsetY:r}){let{colWidth:n,rowHeight:o,scrollY:i,scrollX:s,colorScheme:a,blockSize:c,mouseClickCol:l,mouseClickRow:A,highResScaleFactor:u}=e,f=(0,pw.useTheme)(),m=(0,Vt.useMemo)(()=>oo(a,f),[a,f]),p=(0,Vt.useRef)(null);(0,Vt.useEffect)(()=>{let x=p.current?.getContext("2d");if(x)return(0,hw.autorun)(()=>{x.resetTransform(),x.clearRect(0,0,c*u,c*u);let{actuallyShowDomains:y}=e;y&&Pc({ctx:x,offsetX:t,offsetY:r,model:e}),Gc({ctx:x,theme:f,offsetX:t,offsetY:r,contrastScheme:m,model:e})})},[e,t,r,f,c,u,m]);let[h,E]=(0,Vt.useState)(),{hoveredInsertion:C}=e;return Vt.default.createElement(Vt.default.Fragment,null,Vt.default.createElement("canvas",{ref:p,onMouseMove:x=>{if(!p.current)return;E({x:x.clientX,y:x.clientY});let{left:y,top:w}=p.current.getBoundingClientRect(),B=x.clientX-y+t,S=x.clientY-w+r,Q=Math.floor(B/n),N=Math.floor(S/o);Q>=0&&Q<e.numColumns&&N>=0&&N<e.numRows?e.setMousePos(Q,N):e.setMousePos(void 0,void 0)},onClick:x=>{if(!p.current)return;let{left:y,top:w}=p.current.getBoundingClientRect(),B=x.clientX-y+t,S=x.clientY-w+r,Q=Math.floor(B/n),N=Math.floor(S/o);Q===l&&N===A?e.setMouseClickPos(void 0,void 0):e.setMouseClickPos(Q,N)},onMouseLeave:()=>{e.setMousePos(),E(void 0)},width:c*u,height:c*u,style:{position:"absolute",top:i+r,left:s+t,width:c,height:c}}),C&&h?Vt.default.createElement(gw.BaseTooltip,{clientPoint:{x:h.x,y:h.y+15}},"Insertion (",C.letters.length,e.sequenceType==="amino"?"aa":"bp","):"," ",C.letters.length>20?`${C.letters.slice(0,20)}...`:C.letters):null)}),Ew=YD});var dt,xw,qD,yw,ww=g(()=>{dt=d(b(),1),xw=d(O(),1);dw();Iw();qD=(0,xw.observer)(function({model:e}){let{MSA:t,verticalScrollbarWidth:r,msaFilehandle:n,height:o,msaAreaWidth:i,blocks2d:s}=e,a=(0,dt.useRef)(null),c=(0,dt.useRef)(!1),l=(0,dt.useRef)(0),A=(0,dt.useRef)(0),u=(0,dt.useRef)(0),f=(0,dt.useRef)(0),[m,p]=(0,dt.useState)(!1);return(0,dt.useEffect)(()=>{let h=a.current;if(!h)return;function E(C){l.current+=C.deltaX,A.current+=C.deltaY,c.current||(c.current=!0,requestAnimationFrame(()=>{e.doScrollX(-l.current),e.doScrollY(-A.current),l.current=0,A.current=0,c.current=!1})),C.preventDefault(),C.stopPropagation()}return h.addEventListener("wheel",E,{passive:!1}),()=>{h.removeEventListener("wheel",E)}},[e]),(0,dt.useEffect)(()=>{if(m){let h=function(C){C.preventDefault();let x=C.clientX,y=C.clientY,w=x-u.current,B=y-f.current;(w||B)&&(c.current||(c.current=!0,window.requestAnimationFrame(()=>{e.doScrollX(w),e.doScrollY(B),c.current=!1,u.current=C.clientX,f.current=C.clientY})))},E=function(){u.current=0,p(!1)};return window.addEventListener("mousemove",h,!0),window.addEventListener("mouseup",E,!0),()=>{window.removeEventListener("mousemove",h,!0),window.removeEventListener("mouseup",E,!0)}}},[e,m]),dt.default.createElement("div",{ref:a,onMouseDown:h=>{let E=h.target;E.draggable||E.dataset.resizer||h.button===0&&(u.current=h.clientX,f.current=h.clientY,p(!0))},onMouseUp:h=>{h.preventDefault(),p(!1)},onMouseLeave:h=>{h.preventDefault()},style:{position:"relative",height:o,width:i-r,overflow:"hidden"}},!t&&!n?null:t?s.map(([h,E])=>dt.default.createElement(Ew,{key:`${h}_${E}`,model:e,offsetX:h,offsetY:E})):dt.default.createElement(Df,null))}),yw=qD});function bw({ctx:e,model:t}){let{mouseCol:r,colWidth:n,msaAreaWidth:o,verticalScrollbarWidth:i,height:s,rowHeight:a,scrollX:c,scrollY:l,mouseRow:A,mouseCol2:u,mouseClickRow:f,mouseClickCol:m,relativeTo:p,rowNamesSet:h,hoveredTreeNode:E,highlightedColumns:C}=t,x=o-i;if(e.resetTransform(),e.clearRect(0,0,x,s),p){let y=h.get(p);y!==void 0&&(e.fillStyle=jD,e.fillRect(0,y*a+l,x,a))}if(E){e.fillStyle=VD;for(let y of E.descendantNames){let w=h.get(y);w!==void 0&&e.fillRect(0,w*a+l,x,a)}}if(C?.length){e.fillStyle=Oc;for(let y of C)e.fillRect(y*n+c,0,n,s)}r!==void 0&&(e.fillStyle=Bw,e.fillRect(r*n+c,0,n,s)),A!==void 0&&(e.fillStyle=Bw,e.fillRect(0,A*a+l,x,a)),m!==void 0&&(e.fillStyle=Oc,e.fillRect(m*n+c,0,n,s)),f!==void 0&&(e.fillStyle=Oc,e.fillRect(0,f*a+l,x,a)),u!==void 0&&(e.fillStyle=Oc,e.fillRect(u*n+c,0,n,s))}var Bw,Oc,jD,VD,Sw=g(()=>{Bw="rgba(0,0,0,0.15)",Oc="rgba(128,128,0,0.2)",jD="rgba(0,128,255,0.3)",VD="rgba(255,165,0,0.15)"});var li,Qw,Mw,vw,WD,Tw,Dw=g(()=>{li=d(b(),1),Qw=d(Ft(),1),Mw=d(zr(),1),vw=d(O(),1);Sw();WD=(0,vw.observer)(function({model:e}){let t=(0,li.useRef)(null),{height:r,msaAreaWidth:n,verticalScrollbarWidth:o}=e,i=n-o;return(0,li.useEffect)(()=>{let s=t.current?.getContext("2d");return s?(0,Mw.autorun)(()=>{(0,Qw.isAlive)(e)&&bw({ctx:s,model:e})}):void 0},[e]),li.default.createElement("canvas",{ref:t,id:"mouseover",width:i,height:r,style:{position:"absolute",top:0,left:0,width:i,height:r,zIndex:1e3,pointerEvents:"none"}})}),Tw=WD});var Hc,_w,KD,kw,Nw=g(()=>{Hc=d(b(),1),_w=d(O(),1);ww();Dw();KD=(0,_w.observer)(function({model:e}){return Hc.default.createElement("div",{style:{position:"relative"}},Hc.default.createElement(yw,{model:e}),Hc.default.createElement(Tw,{model:e}))}),kw=KD});var cs,Lw=g(()=>{cs=class{constructor(){this.ids=[],this.values=[],this.length=0}clear(){this.length=0}push(t,r){let n=this.length++;for(;n>0;){let o=n-1>>1,i=this.values[o];if(r>=i)break;this.ids[n]=this.ids[o],this.values[n]=i,n=o}this.ids[n]=t,this.values[n]=r}pop(){if(this.length===0)return;let t=this.ids,r=this.values,n=t[0],o=--this.length;if(o>0){let i=t[o],s=r[o],a=0,c=o>>1;for(;a<c;){let l=(a<<1)+1,A=l+1,u=l+(+(A<o)&+(r[A]<r[l]));if(r[u]>=s)break;t[a]=t[u],r[a]=r[u],a=u}t[a]=i,r[a]=s}return n}peek(){return this.length>0?this.ids[0]:void 0}peekValue(){return this.length>0?this.values[0]:void 0}shrink(){this.ids.length=this.values.length=this.length}}});function Rw(e,t){let r=0,n=t.length-1;for(;r<n;){let o=r+n>>1;t[o]>e?n=o:r=o+1}return t[r]}function zD(e,t,r,n,o,i){let s=[n,o];for(;s.length;){let a=s.pop()||0,c=s.pop()||0;if(a-c<=i&&Math.floor(c/i)>=Math.floor(a/i))continue;let l=e[c],A=e[c+a>>1],u=e[a],f=l>A!=l>u?l:A<l!=A<u?A:u,m=c-1,p=a+1;for(;;){do m++;while(e[m]<f);do p--;while(e[p]>f);if(m>=p)break;$D(e,t,r,m,p)}s.push(c,p,p+1,a)}}function $D(e,t,r,n,o){let i=e[n];e[n]=e[o],e[o]=i;let s=4*n,a=4*o,c=t[s],l=t[s+1],A=t[s+2],u=t[s+3];t[s]=t[a],t[s+1]=t[a+1],t[s+2]=t[a+2],t[s+3]=t[a+3],t[a]=c,t[a+1]=l,t[a+2]=A,t[a+3]=u;let f=r[n];r[n]=r[o],r[o]=f}function XD(e,t){let r=e^t,n=65535^r,o=65535^(e|t),i=e&(t^65535),s=r|n>>1,a=r>>1^r,c=o>>1^n&i>>1^o,l=r&o>>1^i>>1^i;r=s,n=a,o=c,i=l,s=r&r>>2^n&n>>2,a=r&n>>2^n&(r^n)>>2,c^=r&o>>2^n&i>>2,l^=n&o>>2^(r^n)&i>>2,r=s,n=a,o=c,i=l,s=r&r>>4^n&n>>4,a=r&n>>4^n&(r^n)>>4,c^=r&o>>4^n&i>>4,l^=n&o>>4^(r^n)&i>>4,r=s,n=a,o=c,i=l,c^=r&o>>8^n&i>>8,l^=n&o>>8^(r^n)&i>>8,r=c^c>>1,n=l^l>>1;let A=e^t,u=n|65535^(A|r);return A=(A|A<<8)&16711935,A=(A|A<<4)&252645135,A=(A|A<<2)&858993459,A=(A|A<<1)&1431655765,u=(u|u<<8)&16711935,u=(u|u<<4)&252645135,u=(u|u<<2)&858993459,u=(u|u<<1)&1431655765,(u<<1|A)>>>0}var Fw,Nf,ls,Pw=g(()=>{Lw();Fw=[Int8Array,Uint8Array,Uint8ClampedArray,Int16Array,Uint16Array,Int32Array,Uint32Array,Float32Array,Float64Array],Nf=3,ls=class e{static from(t,r=0){if(r%8!==0)throw new Error("byteOffset must be 8-byte aligned.");if(!t||t.byteLength===void 0||t.buffer)throw new Error("Data must be an instance of ArrayBuffer or SharedArrayBuffer.");let[n,o]=new Uint8Array(t,r+0,2);if(n!==251)throw new Error("Data does not appear to be in a Flatbush format.");let i=o>>4;if(i!==Nf)throw new Error(`Got v${i} data when expected v${Nf}.`);let s=Fw[o&15];if(!s)throw new Error("Unrecognized array type.");let[a]=new Uint16Array(t,r+2,1),[c]=new Uint32Array(t,r+4,1);return new e(c,a,s,void 0,t,r)}constructor(t,r=16,n=Float64Array,o=ArrayBuffer,i,s=0){if(t===void 0)throw new Error("Missing required argument: numItems.");if(isNaN(t)||t<=0)throw new Error(`Unexpected numItems value: ${t}.`);this.numItems=+t,this.nodeSize=Math.min(Math.max(+r,2),65535),this.byteOffset=s;let a=t,c=a;this._levelBounds=[a*4];do a=Math.ceil(a/this.nodeSize),c+=a,this._levelBounds.push(c*4);while(a!==1);this.ArrayType=n,this.IndexArrayType=c<16384?Uint16Array:Uint32Array;let l=Fw.indexOf(n),A=c*4*n.BYTES_PER_ELEMENT;if(l<0)throw new Error(`Unexpected typed array class: ${n}.`);if(i)this.data=i,this._boxes=new n(i,s+8,c*4),this._indices=new this.IndexArrayType(i,s+8+A,c),this._pos=c*4,this.minX=this._boxes[this._pos-4],this.minY=this._boxes[this._pos-3],this.maxX=this._boxes[this._pos-2],this.maxY=this._boxes[this._pos-1];else{let u=this.data=new o(8+A+c*this.IndexArrayType.BYTES_PER_ELEMENT);this._boxes=new n(u,8,c*4),this._indices=new this.IndexArrayType(u,8+A,c),this._pos=0,this.minX=1/0,this.minY=1/0,this.maxX=-1/0,this.maxY=-1/0,new Uint8Array(u,0,2).set([251,(Nf<<4)+l]),new Uint16Array(u,2,1)[0]=r,new Uint32Array(u,4,1)[0]=t}this._queue=new cs}add(t,r,n=t,o=r){let i=this._pos>>2,s=this._boxes;return this._indices[i]=i,s[this._pos++]=t,s[this._pos++]=r,s[this._pos++]=n,s[this._pos++]=o,t<this.minX&&(this.minX=t),r<this.minY&&(this.minY=r),n>this.maxX&&(this.maxX=n),o>this.maxY&&(this.maxY=o),i}finish(){if(this._pos>>2!==this.numItems)throw new Error(`Added ${this._pos>>2} items when expected ${this.numItems}.`);let t=this._boxes;if(this.numItems<=this.nodeSize){t[this._pos++]=this.minX,t[this._pos++]=this.minY,t[this._pos++]=this.maxX,t[this._pos++]=this.maxY;return}let r=this.maxX-this.minX||1,n=this.maxY-this.minY||1,o=new Uint32Array(this.numItems),i=65535;for(let s=0,a=0;s<this.numItems;s++){let c=t[a++],l=t[a++],A=t[a++],u=t[a++],f=Math.floor(i*((c+A)/2-this.minX)/r),m=Math.floor(i*((l+u)/2-this.minY)/n);o[s]=XD(f,m)}zD(o,t,this._indices,0,this.numItems-1,this.nodeSize);for(let s=0,a=0;s<this._levelBounds.length-1;s++){let c=this._levelBounds[s];for(;a<c;){let l=a,A=t[a++],u=t[a++],f=t[a++],m=t[a++];for(let p=1;p<this.nodeSize&&a<c;p++)A=Math.min(A,t[a++]),u=Math.min(u,t[a++]),f=Math.max(f,t[a++]),m=Math.max(m,t[a++]);this._indices[this._pos>>2]=l,t[this._pos++]=A,t[this._pos++]=u,t[this._pos++]=f,t[this._pos++]=m}}}search(t,r,n,o,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4,a=[],c=[];for(;s!==void 0;){let l=Math.min(s+this.nodeSize*4,Rw(s,this._levelBounds));for(let A=s;A<l;A+=4){let u=this._boxes[A];if(n<u)continue;let f=this._boxes[A+1];if(o<f)continue;let m=this._boxes[A+2];if(t>m)continue;let p=this._boxes[A+3];if(r>p)continue;let h=this._indices[A>>2]|0;s>=this.numItems*4?a.push(h):(i===void 0||i(h,u,f,m,p))&&c.push(h)}s=a.pop()}return c}neighbors(t,r,n=1/0,o=1/0,i){if(this._pos!==this._boxes.length)throw new Error("Data not yet indexed - call index.finish().");let s=this._boxes.length-4,a=this._queue,c=[],l=o*o;e:for(;s!==void 0;){let A=Math.min(s+this.nodeSize*4,Rw(s,this._levelBounds));for(let u=s;u<A;u+=4){let f=this._indices[u>>2]|0,m=this._boxes[u],p=this._boxes[u+1],h=this._boxes[u+2],E=this._boxes[u+3],C=t<m?m-t:t>h?t-h:0,x=r<p?p-r:r>E?r-E:0,y=C*C+x*x;y>l||(s>=this.numItems*4?a.push(f<<1,y):(i===void 0||i(f))&&a.push((f<<1)+1,y))}for(;a.length&&a.peek()&1;)if(a.peekValue()>l||(c.push(a.pop()>>1),c.length===n))break e;s=a.length?a.pop()>>1:void 0}return a.clear(),c}}});var As,Ai,Gw,ZD,Ow,Hw=g(()=>{As=d(b(),1),Ai=d(_(),1),Gw=d(O(),1),ZD=(0,Gw.observer)(function({node:e,model:t,onClose:r}){return As.default.createElement(Ai.Menu,{anchorReference:"anchorPosition",anchorPosition:{left:e.x,top:e.y},transitionDuration:0,keepMounted:!0,open:!!e,onClose:r},As.default.createElement(Ai.MenuItem,{dense:!0,disabled:!0},e.name),As.default.createElement(Ai.MenuItem,{dense:!0,onClick:()=>{t.toggleCollapsed(e.id),r()}},t.collapsed.includes(e.id)?"Expand this node":"Collapse this node"),As.default.createElement(Ai.MenuItem,{dense:!0,onClick:()=>{t.showOnly===e.id?t.setShowOnly(void 0):t.setShowOnly(e.id),r()}},t.showOnly===e.id?"Disable show only this node":"Show only this node"))}),Ow=ZD});var qw={};rt(qw,{default:()=>t_});var Pr,Jw,Uw,Yw,e_,t_,jw=g(()=>{Pr=d(b(),1);Cc();rf();Jw=d(Ce(),1),Uw=d(_(),1),Yw=d(O(),1);nf();e_=(0,Yw.observer)(function({info:e,model:t,nodeName:r,onClose:n}){let{treeMetadata:o,rows:i}=t,s=o[r],a=i.find(c=>c[0]===r);return Pr.default.createElement(Jw.Dialog,{onClose:()=>{n()},open:!0,title:"Tree node info",maxWidth:"xl"},Pr.default.createElement(Uw.DialogContent,null,Pr.default.createElement(no,{title:"Attributes"},Pr.default.createElement(Fr,{attributes:{nodeName:r,...e}})),Pr.default.createElement(no,{title:"Sequence"},a?Pr.default.createElement(ns,{str:[a]}):Pr.default.createElement("div",null,"Sequence not found")),s?Pr.default.createElement(no,{title:"Extra metadata"},Pr.default.createElement(Fr,{attributes:s})):null))}),t_=e_});var sn,Sn,Vw,r_,n_,Ww,Kw=g(()=>{sn=d(b(),1),Sn=d(_(),1),Vw=d(O(),1),r_=(0,sn.lazy)(()=>Promise.resolve().then(()=>(jw(),qw))),n_=(0,Vw.observer)(function({node:e,onClose:t,model:r}){let{collapsed:n,collapsedLeaves:o}=r,{name:i}=e;return sn.default.createElement(Sn.Menu,{anchorReference:"anchorPosition",anchorPosition:{top:e.y,left:e.x},transitionDuration:0,keepMounted:!0,open:!!e,onClose:t},sn.default.createElement(Sn.MenuItem,{dense:!0,disabled:!0},i),sn.default.createElement(Sn.MenuItem,{dense:!0,onClick:()=>{r.queueDialog(s=>[r_,{info:r.getRowData(i),model:r,nodeName:i,onClose:s}]),t()}},"More info..."),sn.default.createElement(Sn.MenuItem,{dense:!0,onClick:()=>{n.includes(e.id)?r.toggleCollapsed(e.id):e.id.endsWith("-leafnode")?r.toggleCollapsedLeaf(e.id):r.toggleCollapsedLeaf(`${e.id}-leafnode`),t()}},n.includes(e.id)||o.includes(e.id)?"Show node":"Hide node"),sn.default.createElement(Sn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(e.name),t()}},"Indicate differences from this row"),r.relativeTo?sn.default.createElement(Sn.MenuItem,{dense:!0,onClick:()=>{r.drawRelativeTo(void 0),t()}},"Clear reference row"):null)}),Ww=n_});function o_({offsetY:e,ctx:t,model:r,theme:n,blockSizeYOverride:o}){let{hierarchy:i,showBranchLenEffective:s,blockSize:a}=r,c=o||a;t.strokeStyle=n.palette.text.primary;for(let l of i.links()){let{source:A,target:u}=l;if(u.height===0&&!s)continue;let f=A.x,m=u.x,p=s?u.len:u.y,h=s?A.len:A.y;if(p===void 0||h===void 0)continue;let E=Math.min(f,m),C=Math.max(f,m);e+c>=E&&C>=e&&(t.beginPath(),t.moveTo(h,f),t.lineTo(h,m),t.lineTo(p,m),t.stroke())}}function i_({ctx:e,clickMap:t,offsetY:r,model:n,blockSizeYOverride:o}){let{hierarchy:i,showBranchLenEffective:s,collapsed:a,blockSize:c,marginLeft:l}=n,A=o||c;for(let u of i.descendants()){let f=s?u.len:u.y;if(f===void 0)continue;let{data:m}=u,p=u.x,{id:h,name:E}=m;u.height>1&&p>r-5&&p<r+A+5&&(e.strokeStyle="black",e.fillStyle=a.includes(h)?"black":"white",e.beginPath(),e.arc(f,p,2.5,0,2*Math.PI),e.fill(),e.stroke(),t?.insert({minX:f-2.5+l,maxX:f-2.5+5+l,minY:p-2.5,maxY:p-2.5+5,branch:!0,id:h,name:E}))}}function s_({theme:e,model:t,offsetY:r,ctx:n,clickMap:o,blockSizeYOverride:i}){let{fontSize:s,showBranchLenEffective:a,treeMetadata:c,hierarchy:l,collapsed:A,collapsedLeaves:u,blockSize:f,labelsAlignRight:m,drawTree:p,treeAreaWidth:h,treeWidth:E,treeAreaWidthMinusMargin:C,marginLeft:x,leaves:y,noTree:w}=t,B=i||f,S=n.measureText("M").width;m?(n.textAlign="right",n.setLineDash([1,3])):n.textAlign="start";for(let Q of y){let{data:{name:N,id:G}}=Q,U=Q.len,v=Q.x,T=Q.y,H=c[N]?.genome||N;if(v>r-5&&v<r+B+5){let L=v+s/4,te=0;w||(te=(a?U:T)||0,!a&&!A.includes(G)&&!u.includes(G)&&(te-=E/l.height));let{width:et}=n.measureText(H);if(n.fillStyle=e.palette.text.primary,m){let Or=C-2;p&&!w&&(n.moveTo(te+2.5+2,v),n.lineTo(Or-2-et,v),n.stroke()),n.fillText(H,Or,L),o?.insert({minX:h-et,maxX:h,minY:L-S,maxY:L,name:N,id:G})}else{let dr=w?2:te+5;n.fillText(H,dr,L),o?.insert({minX:dr+x,maxX:dr+et+x,minY:L-S,maxY:L,name:N,id:G})}}}n.setLineDash([])}function Jc({model:e,clickMap:t,ctx:r,offsetY:n,theme:o,highResScaleFactorOverride:i,blockSizeYOverride:s}){t?.clear();let{noTree:a,drawTree:c,drawNodeBubbles:l,highResScaleFactor:A,fontSize:u,showTreeText:f,marginLeft:m,nref:p,rowHeight:h}=e;r.resetTransform();let E=p<0?Number.NEGATIVE_INFINITY:i||A;r.scale(E,E),r.translate(m,-n);let C=r.font;r.font=C.replace(/\d+px/,`${u}px`),!a&&c&&(o_({ctx:r,offsetY:n,model:e,theme:o,blockSizeYOverride:s}),l&&i_({ctx:r,offsetY:n,clickMap:t,model:e,blockSizeYOverride:s})),f&&s_({ctx:r,offsetY:n,model:e,clickMap:t,theme:o,blockSizeYOverride:s}),t?.finish()}var Uc=g(()=>{});var ve,zw,$w,Xw,Zw,a_,Lf,c_,eB,tB=g(()=>{ve=d(b(),1),zw=d(_(),1);Pw();$w=d(zr(),1),Xw=d(O(),1),Zw=d(Ue(),1);Hw();Kw();Uc();a_=(0,Zw.makeStyles)()(e=>({tooltip:{position:"fixed",pointerEvents:"none",zIndex:1e4,backgroundColor:e.palette.grey[700],color:e.palette.common.white,padding:"4px 8px",borderRadius:4,fontSize:12,whiteSpace:"nowrap",maxWidth:300,overflow:"hidden",textOverflow:"ellipsis"}})),Lf=class{flatbush=null;entries=[];clear(){this.flatbush=null,this.entries=[]}insert(t){this.entries.push(t)}finish(){if(this.entries.length===0){this.flatbush=null;return}else{this.flatbush=new ls(this.entries.length);for(let t of this.entries)this.flatbush.add(t.minX,t.minY,t.maxX,t.maxY);this.flatbush.finish()}}search(t){return this.flatbush?.search(t.minX,t.minY,t.maxX,t.maxY).map(r=>this.entries[r])??[]}},c_=(0,Xw.observer)(function({model:e,offsetY:t}){let{classes:r}=a_(),n=(0,zw.useTheme)(),o=(0,ve.useRef)(null),i=(0,ve.useRef)(new Lf),s=(0,ve.useRef)(null),[a,c]=(0,ve.useState)(),[l,A]=(0,ve.useState)(),[u,f]=(0,ve.useState)(),[m,p]=(0,ve.useState)(),{scrollY:h,treeAreaWidth:E,blockSize:C,highResScaleFactor:x}=e,y=E+600,w=C,B=y*x,S=w*x,Q=(0,ve.useCallback)(v=>{e.incrementRef(),o.current=v},[e,w,y]);(0,ve.useEffect)(()=>{let v=o.current?.getContext("2d");if(v)return(0,$w.autorun)(()=>{v.resetTransform(),v.clearRect(0,0,(E+600)*x,C*x),Jc({ctx:v,model:e,offsetY:t,clickMap:i.current,theme:n})})},[e,C,x,E,t,n]),(0,ve.useEffect)(()=>{let v=s.current?.getContext("2d");if(v&&(v.resetTransform(),v.clearRect(0,0,E+600,C),v.translate(0,-t),u)){let{minX:T,maxX:H,minY:L,maxY:te}=u;v.fillStyle="rgba(0,0,0,0.1)",v.fillRect(T,L,H-T,te-L)}},[u,t,C,E]);function N(v){let T=v.nativeEvent.offsetX,H=v.nativeEvent.offsetY,[L]=i.current.search({minX:T,maxX:T+1,minY:H+t,maxY:H+1+t});return L?.branch?{...L,x:v.clientX,y:v.clientY}:void 0}function G(v){let T=v.nativeEvent.offsetX,H=v.nativeEvent.offsetY,[L]=i.current.search({minX:T,maxX:T+1,minY:H+t,maxY:H+1+t});return L&&!L.branch?{...L,x:v.clientX,y:v.clientY}:void 0}let U={width:y,height:w,top:h+t,left:0,position:"absolute"};return ve.default.createElement(ve.default.Fragment,null,a?.id?ve.default.createElement(Ow,{node:a,model:e,onClose:()=>{c(void 0)}}):null,l?.id?ve.default.createElement(Ww,{node:l,model:e,onClose:()=>{A(void 0)}}):null,ve.default.createElement("canvas",{width:B,height:S,style:U,onMouseMove:v=>{if(!o.current)return;let T=G(v),H=N(v),L=T||H;if(o.current.style.cursor=L?"pointer":"default",f(T),p(L?{name:L.name,x:v.clientX,y:v.clientY}:void 0),L){if(e.setHoveredTreeNode(L.id),T?.name){let te=e.rowNamesSet.get(T.name);te!==void 0&&e.setMousePos(void 0,te)}}else e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},onClick:v=>{let{clientX:T,clientY:H}=v,L=N(v);L?.id&&c({x:T,y:H,id:L.id,name:L.name});let te=G(v);te?.id&&A({...te,x:T,y:H})},onMouseLeave:()=>{f(void 0),p(void 0),e.setHoveredTreeNode(void 0),e.setMousePos(void 0,void 0)},ref:Q}),ve.default.createElement("canvas",{style:{...U,pointerEvents:"none",zIndex:100},width:y,height:w,ref:s}),m?ve.default.createElement("div",{className:r.tooltip,style:{left:m.x+12,top:m.y+12}},m.name):null)}),eB=c_});var mt,rB,nB,oB,l_,iB,sB=g(()=>{mt=d(b(),1),rB=d(Ft(),1),nB=d(zr(),1),oB=d(O(),1);tB();Uc();l_=(0,oB.observer)(function({model:e}){let t=(0,mt.useRef)(null),r=(0,mt.useRef)(null),n=(0,mt.useRef)(!1),o=(0,mt.useRef)(0),i=(0,mt.useRef)(0),{treeWidth:s,height:a,blocksY:c,treeAreaWidth:l}=e,[A,u]=(0,mt.useState)(!1);(0,mt.useEffect)(()=>{let m=t.current;if(!m)return;function p(h){o.current+=h.deltaY,n.current||(n.current=!0,requestAnimationFrame(()=>{e.doScrollY(-o.current),o.current=0,n.current=!1})),h.preventDefault(),h.stopPropagation()}return m.addEventListener("wheel",p,{passive:!1}),()=>{m.removeEventListener("wheel",p)}},[e]),(0,mt.useEffect)(()=>{if(A){let m=function(h){h.preventDefault();let C=h.clientY-i.current;C&&(n.current||(n.current=!0,window.requestAnimationFrame(()=>{e.doScrollY(C),n.current=!1,i.current=h.clientY})))},p=function(){i.current=0,u(!1)};return window.addEventListener("mousemove",m,!0),window.addEventListener("mouseup",p,!0),()=>{window.removeEventListener("mousemove",m,!0),window.removeEventListener("mouseup",p,!0)}}},[e,A]),(0,mt.useEffect)(()=>{let m=r.current?.getContext("2d");return m?(0,nB.autorun)(()=>{if((0,rB.isAlive)(e)){let{relativeTo:p,leaves:h,rowHeight:E,hoveredTreeNode:C,treeAreaWidth:x,height:y,scrollY:w,mouseOverRowName:B}=e;if(m.resetTransform(),m.clearRect(0,0,x,y),p){let S=h.find(Q=>Q.data.name===p);if(S){let Q=S.x+w;m.fillStyle="rgba(0,128,255,0.3)",m.fillRect(0,Q-E/2,x,E)}}if(C){m.fillStyle="rgba(255,165,0,0.2)";for(let S of C.descendantNames){let Q=h.find(N=>N.data.name===S);if(Q){let N=Q.x+w;m.fillRect(0,N-E/2,x,E)}}}if(B&&B!==p&&!C?.descendantNames.includes(B)){let S=h.find(Q=>Q.data.name===B);if(S){let Q=S.x+w;m.fillStyle="rgba(255,165,0,0.2)",m.fillRect(0,Q-E/2,x,E)}}}}):void 0},[e]);function f(m){let p=m.target;p.draggable||p.dataset.resizer||m.button===0&&(i.current=m.clientY,u(!0))}return mt.default.createElement("div",{ref:t,onMouseDown:f,onMouseUp:m=>{m.preventDefault(),u(!1)},onMouseLeave:m=>{m.preventDefault()},style:{height:a,position:"relative",width:s+600}},c.map(m=>mt.default.createElement(eB,{key:m,model:e,offsetY:m})),mt.default.createElement("canvas",{ref:r,width:l,height:a,style:{position:"absolute",top:0,left:0,width:l,height:a,zIndex:1e3,pointerEvents:"none"}}))}),iB=l_});var Ff,aB,A_,cB,lB=g(()=>{Ff=d(b(),1),aB=d(O(),1);sB();A_=(0,aB.observer)(function({model:e}){let{treeAreaWidth:t}=e;return Ff.default.createElement("div",{style:{overflow:"hidden",flexShrink:0,width:t}},Ff.default.createElement(iB,{model:e}))}),cB=A_});var AB,uB,u_,fB,dB=g(()=>{AB=d(b(),1),uB=d(O(),1),u_=(0,uB.observer)(({model:e})=>{let{treeAreaWidth:t}=e;return AB.default.createElement("div",{style:{flexShrink:0,width:t}})}),fB=u_});var oe,so,f_,d_,m_,g_,p_,h_,mB,gB=g(()=>{oe=d(b(),1),so=d(O(),1);Th();Hh();qh();lw();fw();Nw();lB();dB();f_=(0,so.observer)(function({model:e}){let{showHorizontalScrollbar:t}=e;return oe.default.createElement("div",{style:{display:"flex"}},oe.default.createElement(fB,{model:e}),t?oe.default.createElement(uw,{model:e}):null)}),d_=(0,so.observer)(function({model:e}){let{mouseCol:t,mouseClickCol:r,colWidth:n,scrollX:o,treeAreaWidth:i,resizeHandleWidth:s,totalTrackAreaHeight:a,msaAreaWidth:c,verticalScrollbarWidth:l}=e,A=i+s,u=c-l;return oe.default.createElement("div",{style:{position:"absolute",left:A,top:0,width:u,height:a,overflow:"hidden",pointerEvents:"none"}},t!==void 0?oe.default.createElement("div",{style:{position:"absolute",left:t*n+o,top:0,width:n,height:a,backgroundColor:"rgba(0,0,0,0.15)",zIndex:100}}):null,r!==void 0?oe.default.createElement("div",{style:{position:"absolute",left:r*n+o,top:0,width:n,height:a,backgroundColor:"rgba(128,128,0,0.2)",zIndex:100}}):null)}),m_=(0,so.observer)(function({model:e}){let{turnedOnTracks:t}=e;return t.length===0?null:oe.default.createElement("div",{style:{position:"relative"}},oe.default.createElement(d_,{model:e}),t.map(r=>oe.default.createElement(Oh,{key:r.model.id,model:e,track:r})))}),g_=(0,so.observer)(function({model:e}){let{showVerticalScrollbar:t}=e;return oe.default.createElement("div",{style:{display:"flex"}},oe.default.createElement(cB,{model:e}),oe.default.createElement(Mh,{model:e}),oe.default.createElement(kw,{model:e}),t?oe.default.createElement(Yh,{model:e}):null)}),p_=(0,so.observer)(function({model:e}){return oe.default.createElement("div",{style:{position:"relative"}},oe.default.createElement(f_,{model:e}),oe.default.createElement(m_,{model:e}),oe.default.createElement(g_,{model:e}))}),h_=(0,so.observer)(function({model:e}){let{height:t,viewInitialized:r,DialogComponent:n,DialogProps:o}=e;return oe.default.createElement("div",null,r?oe.default.createElement(oe.default.Fragment,null,oe.default.createElement("div",{style:{height:t,overflow:"hidden"}},oe.default.createElement(cw,{model:e}),oe.default.createElement(p_,{model:e})),oe.default.createElement(vh,{model:e}),n?oe.default.createElement(oe.Suspense,{fallback:null},oe.default.createElement(n,{...o})):null):null)}),mB=h_});var pB,hB,CB,EB=g(()=>{pB=`CLUSTAL O(1.2.3) multiple sequence alignment
|
|
32
32
|
UniProt/Swiss-Prot|P26898|IL2RA_SHEEP MEPSLLMWRFFVFIVVPGCVTEACHDDPPSLRNA----------MFKVLRYE----VGTM
|
|
33
33
|
UniProt/Swiss-Prot|P01590|IL2RA_MOUSE MEPRLLMLGFLSLTIVPSCRAELCLYDPPEVPNA----------TFKALSYK----NGTI
|
|
34
34
|
UniProt/Swiss-Prot|P41690|IL2RA_FELCA MEPSLLLWGILTFVVVHGHVTELCDENPPDIQHA----------TFKALTYK----TGTM
|
|
@@ -41,7 +41,7 @@ UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE PLPLRSLLFLQLPLLGVGLNP----------------
|
|
|
41
41
|
UniProt/Swiss-Prot|P36835|IL2_CAPHI -----------LLGVGLNPKFLTP------------------------------------
|
|
42
42
|
UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO MLKPPLPLRSLLFLQLPLLGVGLNPKFLTPSGNEDIGGKPGTGGDFFLTSTPAGTLDVST
|
|
43
43
|
UniProt/Swiss-Prot|Q29416|IL2_CANFA --------------LFLQLSLLG-------------------------------------
|
|
44
|
-
`,
|
|
44
|
+
`,hB=`CLUSTAL O(1.2.4) multiple sequence alignment
|
|
45
45
|
|
|
46
46
|
|
|
47
47
|
sp|P69905|HBA_HUMAN MVLSPADKTNVKAAWGKVGAHAGEYGAEALERMFLSFPTTKTYFPHFDLSHGSAQVKGHG 60
|
|
@@ -57,23 +57,23 @@ sp|P13786|HBAZ_CAPHI SKVVAAVGDAVKSIDNVTSALSKLSELHAYVLRVDPVNFKFLSHCLLVTLASHF
|
|
|
57
57
|
sp|P69905|HBA_HUMAN AVHASLDKFLASVSTVLTSKYR 142
|
|
58
58
|
sp|P01942|HBA_MOUSE AVHASLDKFLASVSTVLTSKYR 142
|
|
59
59
|
sp|P13786|HBAZ_CAPHI DAHAAWDKFLSIVSGVLTEKYR 142
|
|
60
|
-
.**: ****: ** ***.***`,cB="(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)"});async function Pc(e,t,r,n){e.setError(void 0),t&&e.setMSAFilehandle(t),r&&e.setTreeFilehandle(r),n&&e.setGFFFilehandle(n)}var Nf=p(()=>{});function en({onClick:e,model:t,children:r}){return _t.default.createElement("li",null,_t.default.createElement(Gc.Link,{onClick:n=>{t.setError(void 0),n.preventDefault(),e()},href:"#"},_t.default.createElement(Gc.Typography,{display:"inline"},r)))}var _t,Gc,AB,z_,uB,fB=p(()=>{_t=d(S(),1),Gc=d(N(),1),AB=d(G(),1);lB();Nf();z_=(0,AB.observer)(function({model:e}){function t(r,n){(async()=>{try{await Pc(e,r?{uri:r,locationType:"UriLocation"}:void 0,n?{uri:n,locationType:"UriLocation"}:void 0)}catch(o){console.error(o),e.setError(o)}})()}return _t.default.createElement("ul",null,_t.default.createElement(en,{model:e,onClick:()=>{t(void 0,"https://jbrowse.org/genomes/newicktrees/sarscov2phylo.pub.ft.nh")}},"230k COVID-19 samples (tree only)"),_t.default.createElement(en,{model:e,onClick:()=>{e.setData({msa:sB,tree:cB})}},"Small protein MSA+tree"),_t.default.createElement(en,{model:e,onClick:()=>{e.setData({msa:aB})}},"Small MSA only"),_t.default.createElement(en,{model:e,onClick:()=>{t("https://jbrowse.org/genomes/multiple_sequence_alignments/pfam-cov2.stock")}},"PFAM SARS-CoV2 multi-stockholm"),_t.default.createElement(en,{model:e,onClick:()=>{t("https://jbrowse.org/genomes/multiple_sequence_alignments/Lysine.stock")}},"Lysine stockholm file"),_t.default.createElement(en,{model:e,onClick:()=>{t("https://jbrowse.org/genomes/multiple_sequence_alignments/PF01601_full.txt")}},"PF01601 stockholm file (SARS-CoV2 spike protein)"),_t.default.createElement(en,{model:e,onClick:()=>{t("https://jbrowse.org/genomes/multiple_sequence_alignments/europe_covid.fa")}},"Europe COVID full genomes (LR883044.1 and 199 other sequences)"),_t.default.createElement(en,{model:e,onClick:()=>{t("https://jbrowse.org/genomes/multiple_sequence_alignments/rhv_test-only.aligned_with_mafft_auto.fa","https://jbrowse.org/genomes/multiple_sequence_alignments/rhv_test-only.aligned_with_mafft_auto.nh")}},"MAFFT+VeryFastTree(17.9k samples)"),_t.default.createElement(en,{model:e,onClick:()=>{t("https://jbrowse.org/demos/ttc39a.mfa")}},"Human BLAST results mfa"))}),uB=z_});var de,si,hr,dB,$_,mB,gB=p(()=>{de=d(S(),1),si=d(xe(),1),hr=d(N(),1),dB=d(G(),1);fB();Nf();$_=(0,dB.observer)(function({model:e}){let[t,r]=(0,de.useState)(),[n,o]=(0,de.useState)(),[i,s]=(0,de.useState)(),{error:a}=e;return de.default.createElement(hr.Container,null,de.default.createElement("div",{style:{width:"50%"}},a?de.default.createElement(si.ErrorMessage,{error:a}):null,de.default.createElement(hr.Typography,null,"Open an MSA file (stockholm or clustal format) and/or a tree file (newick format)."),de.default.createElement(hr.Typography,{color:"error"},"Note: you can open up just an MSA or just a tree, both are not required. Some MSA files e.g. stockholm format have an embedded tree also and this is fine, and opening a separate tree file is not required.")),de.default.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:40}},de.default.createElement("div",null,de.default.createElement("div",null,de.default.createElement(hr.Typography,null,"MSA file or URL"),de.default.createElement(si.FileSelector,{location:t,setLocation:r})),de.default.createElement("div",null,de.default.createElement(hr.Typography,null,"Tree file or URL"),de.default.createElement(si.FileSelector,{location:n,setLocation:o})),de.default.createElement("div",null,de.default.createElement(hr.Typography,null,"InterProScan GFF file or URL (optional)"),de.default.createElement(si.FileSelector,{location:i,setLocation:s}))),de.default.createElement("div",null,de.default.createElement(hr.Button,{onClick:()=>{(async()=>{try{await Pc(e,t,n,i)}catch(c){console.error(c),e.setError(c)}})()},variant:"contained",color:"primary",disabled:!t&&!n},"Open")),de.default.createElement("div",null,de.default.createElement(hr.Typography,null,"Examples"),de.default.createElement(uB,{model:e}))))}),mB=$_});function pB(){return st.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,padding:20}},st.default.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},st.default.createElement("style",null,"@keyframes spinner { to { transform: rotate(360deg); } }"),st.default.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:"#ccc",strokeWidth:"3",fill:"none"}),st.default.createElement("path",{d:"M12 2a10 10 0 0 1 10 10",stroke:"#1976d2",strokeWidth:"3",fill:"none",strokeLinecap:"round",style:{animation:"spinner 1s linear infinite",transformOrigin:"center"}})),st.default.createElement(Oc.Typography,{variant:"h6"},"Loading..."))}var st,hB,Oc,Lf,X_,Z_,Ff,CB=p(()=>{st=d(S(),1),hB=d(xe(),1);kA();Oc=d(N(),1),Lf=d(G(),1);iB();gB();X_=(0,Lf.observer)(function({model:e,error:t}){return st.default.createElement("div",null,st.default.createElement(hB.ErrorMessage,{error:t}),st.default.createElement(Oc.Button,{variant:"contained",color:"primary",onClick:()=>{e.reset()}},"Return to import form"))}),Z_=(0,Lf.observer)(function({model:e}){let{isLoading:t,dataInitialized:r,msaFilehandle:n,treeFilehandle:o}=e,i=!!(n||o);return st.default.createElement("div",null,st.default.createElement(vo,{FallbackComponent:s=>st.default.createElement(X_,{model:e,error:s.error})},r?t?st.default.createElement(pB,null):st.default.createElement(oB,{model:e}):i||t?st.default.createElement(pB,null):st.default.createElement(mB,{model:e})))}),Ff=Z_});var IB=O((sH,EB)=>{EB.exports=JBrowseExports["@jbrowse/core/util/io"]});var yB=O((aH,xB)=>{xB.exports=JBrowseExports["@jbrowse/core/util/types/mst"]});function eD(e,t){return e.parent===t.parent?1:2}function tD(e){return e.reduce(rD,0)/e.length}function rD(e,t){return e+t.x}function nD(e){return 1+e.reduce(oD,0)}function oD(e,t){return Math.max(e,t.y)}function iD(e){for(var t;t=e.children;)e=t[0];return e}function sD(e){for(var t;t=e.children;)e=t[t.length-1];return e}function Rf(){var e=eD,t=1,r=1,n=!1;function o(i){var s,a=0;i.eachAfter(function(f){var m=f.children;m?(f.x=tD(m),f.y=nD(m)):(f.x=s?a+=e(f,s):0,f.y=0,s=f)});var c=iD(i),l=sD(i),A=c.x-e(c,l)/2,u=l.x+e(l,c)/2;return i.eachAfter(n?function(f){f.x=(f.x-i.x)*t,f.y=(i.y-f.y)*r}:function(f){f.x=(f.x-A)/(u-A)*t,f.y=(1-(i.y?f.y/i.y:1))*r})}return o.separation=function(i){return arguments.length?(e=i,o):e},o.size=function(i){return arguments.length?(n=!1,t=+i[0],r=+i[1],o):n?null:[t,r]},o.nodeSize=function(i){return arguments.length?(n=!0,t=+i[0],r=+i[1],o):n?[t,r]:null},o}var wB=p(()=>{});function aD(e){var t=0,r=e.children,n=r&&r.length;if(!n)t=1;else for(;--n>=0;)t+=r[n].value;e.value=t}function BB(){return this.eachAfter(aD)}var bB=p(()=>{});function SB(e,t){let r=-1;for(let n of this)e.call(t,n,++r,this);return this}var QB=p(()=>{});function MB(e,t){for(var r=this,n=[r],o,i,s=-1;r=n.pop();)if(e.call(t,r,++s,this),o=r.children)for(i=o.length-1;i>=0;--i)n.push(o[i]);return this}var vB=p(()=>{});function TB(e,t){for(var r=this,n=[r],o=[],i,s,a,c=-1;r=n.pop();)if(o.push(r),i=r.children)for(s=0,a=i.length;s<a;++s)n.push(i[s]);for(;r=o.pop();)e.call(t,r,++c,this);return this}var _B=p(()=>{});function DB(e,t){let r=-1;for(let n of this)if(e.call(t,n,++r,this))return n}var kB=p(()=>{});function NB(e){return this.eachAfter(function(t){for(var r=+e(t.data)||0,n=t.children,o=n&&n.length;--o>=0;)r+=n[o].value;t.value=r})}var LB=p(()=>{});function FB(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}var RB=p(()=>{});function PB(e){for(var t=this,r=cD(t,e),n=[t];t!==r;)t=t.parent,n.push(t);for(var o=n.length;e!==r;)n.splice(o,0,e),e=e.parent;return n}function cD(e,t){if(e===t)return e;var r=e.ancestors(),n=t.ancestors(),o=null;for(e=r.pop(),t=n.pop();e===t;)o=e,e=r.pop(),t=n.pop();return o}var GB=p(()=>{});function OB(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}var HB=p(()=>{});function JB(){return Array.from(this)}var UB=p(()=>{});function YB(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}var qB=p(()=>{});function jB(){var e=this,t=[];return e.each(function(r){r!==e&&t.push({source:r.parent,target:r})}),t}var VB=p(()=>{});function*WB(){var e=this,t,r=[e],n,o,i;do for(t=r.reverse(),r=[];e=t.pop();)if(yield e,n=e.children)for(o=0,i=n.length;o<i;++o)r.push(n[o]);while(r.length)}var KB=p(()=>{});function ai(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=uD)):t===void 0&&(t=AD);for(var r=new us(e),n,o=[r],i,s,a,c;n=o.pop();)if((s=t(n.data))&&(c=(s=Array.from(s)).length))for(n.children=s,a=c-1;a>=0;--a)o.push(i=s[a]=new us(s[a])),i.parent=n,i.depth=n.depth+1;return r.eachBefore(dD)}function lD(){return ai(this).eachBefore(fD)}function AD(e){return e.children}function uD(e){return Array.isArray(e)?e[1]:null}function fD(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function dD(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function us(e){this.data=e,this.depth=this.height=0,this.parent=null}var zB=p(()=>{bB();QB();vB();_B();kB();LB();RB();GB();HB();UB();qB();VB();KB();us.prototype=ai.prototype={constructor:us,count:BB,each:SB,eachAfter:TB,eachBefore:MB,find:DB,sum:NB,sort:FB,path:PB,ancestors:OB,descendants:JB,leaves:YB,links:jB,copy:lD,[Symbol.iterator]:WB}});var $B=p(()=>{wB();zB()});var XB=p(()=>{});function ci(e,t="node",r=0){let n=`${t}-${r}`;return{...e,id:n,name:e.name||n,children:e.children?.map((o,i)=>ci(o,`${n}-${i}`,r+1))||[]}}var Pf=p(()=>{});function li(e){return e>=97&&e<=122}var tn,Gf=p(()=>{tn=class{MSA;orderedNames;constructor(t){let r=[],n=[];for(let o of t.split(">")){if(!/\S/.test(o))continue;let i=o.indexOf(`
|
|
60
|
+
.**: ****: ** ***.***`,CB="(((UniProt/Swiss-Prot|P26898|IL2RA_SHEEP:0.24036,(UniProt/Swiss-Prot|P41690|IL2RA_FELCA:0.17737,(UniProt/Swiss-Prot|P01589|IL2RA_HUMAN:0.03906,UniProt/Swiss-Prot|Q5MNY4|IL2RA_MACMU:0.03787):0.13033):0.04964):0.02189,UniProt/Swiss-Prot|P01590|IL2RA_MOUSE:0.23072):0.06814,(((UniProt/Swiss-Prot|Q95118|IL2RG_BOVIN:0.09600,UniProt/Swiss-Prot|P40321|IL2RG_CANFA:0.09845):0.25333,UniProt/Swiss-Prot|Q29416|IL2_CANFA:-0.35055):0.10231,(UniProt/Swiss-Prot|P26896|IL2RB_RAT:0.33631,UniProt/Swiss-Prot|Q7JFM4|IL2_AOTVO:-0.33631):0.10166):0.01607,(UniProt/Swiss-Prot|Q8BZM1|GLMN_MOUSE:0.32378,UniProt/Swiss-Prot|P36835|IL2_CAPHI:-0.32378):0.09999)"});async function Yc(e,t,r,n){e.setError(void 0),t&&e.setMSAFilehandle(t),r&&e.setTreeFilehandle(r),n&&e.setGFFFilehandle(n)}var Rf=g(()=>{});function an({onClick:e,model:t,children:r}){return kt.default.createElement("li",null,kt.default.createElement(qc.Link,{onClick:n=>{t.setError(void 0),n.preventDefault(),e()},href:"#"},kt.default.createElement(qc.Typography,{display:"inline"},r)))}var kt,qc,IB,C_,xB,yB=g(()=>{kt=d(b(),1),qc=d(_(),1),IB=d(O(),1);EB();Rf();C_=(0,IB.observer)(function({model:e}){function t(r,n){(async()=>{try{await Yc(e,r?{uri:r,locationType:"UriLocation"}:void 0,n?{uri:n,locationType:"UriLocation"}:void 0)}catch(o){console.error(o),e.setError(o)}})()}return kt.default.createElement("ul",null,kt.default.createElement(an,{model:e,onClick:()=>{t(void 0,"https://jbrowse.org/genomes/newicktrees/sarscov2phylo.pub.ft.nh")}},"230k COVID-19 samples (tree only)"),kt.default.createElement(an,{model:e,onClick:()=>{e.setData({msa:pB,tree:CB})}},"Small protein MSA+tree"),kt.default.createElement(an,{model:e,onClick:()=>{e.setData({msa:hB})}},"Small MSA only"),kt.default.createElement(an,{model:e,onClick:()=>{t("https://jbrowse.org/genomes/multiple_sequence_alignments/pfam-cov2.stock")}},"PFAM SARS-CoV2 multi-stockholm"),kt.default.createElement(an,{model:e,onClick:()=>{t("https://jbrowse.org/genomes/multiple_sequence_alignments/Lysine.stock")}},"Lysine stockholm file"),kt.default.createElement(an,{model:e,onClick:()=>{t("https://jbrowse.org/genomes/multiple_sequence_alignments/PF01601_full.txt")}},"PF01601 stockholm file (SARS-CoV2 spike protein)"),kt.default.createElement(an,{model:e,onClick:()=>{t("https://jbrowse.org/genomes/multiple_sequence_alignments/europe_covid.fa")}},"Europe COVID full genomes (LR883044.1 and 199 other sequences)"),kt.default.createElement(an,{model:e,onClick:()=>{t("https://jbrowse.org/genomes/multiple_sequence_alignments/rhv_test-only.aligned_with_mafft_auto.fa","https://jbrowse.org/genomes/multiple_sequence_alignments/rhv_test-only.aligned_with_mafft_auto.nh")}},"MAFFT+VeryFastTree(17.9k samples)"),kt.default.createElement(an,{model:e,onClick:()=>{t("https://jbrowse.org/demos/ttc39a.mfa")}},"Human BLAST results mfa"))}),xB=C_});var me,ui,Br,wB,E_,BB,bB=g(()=>{me=d(b(),1),ui=d(Ce(),1),Br=d(_(),1),wB=d(O(),1);yB();Rf();E_=(0,wB.observer)(function({model:e}){let[t,r]=(0,me.useState)(),[n,o]=(0,me.useState)(),[i,s]=(0,me.useState)(),{error:a}=e;return me.default.createElement(Br.Container,null,me.default.createElement("div",{style:{width:"50%"}},a?me.default.createElement(ui.ErrorMessage,{error:a}):null,me.default.createElement(Br.Typography,null,"Open an MSA file (stockholm or clustal format) and/or a tree file (newick format)."),me.default.createElement(Br.Typography,{color:"error"},"Note: you can open up just an MSA or just a tree, both are not required. Some MSA files e.g. stockholm format have an embedded tree also and this is fine, and opening a separate tree file is not required.")),me.default.createElement("div",{style:{display:"flex",justifyContent:"center",alignItems:"center",gap:40}},me.default.createElement("div",null,me.default.createElement("div",null,me.default.createElement(Br.Typography,null,"MSA file or URL"),me.default.createElement(ui.FileSelector,{location:t,setLocation:r})),me.default.createElement("div",null,me.default.createElement(Br.Typography,null,"Tree file or URL"),me.default.createElement(ui.FileSelector,{location:n,setLocation:o})),me.default.createElement("div",null,me.default.createElement(Br.Typography,null,"InterProScan GFF file or URL (optional)"),me.default.createElement(ui.FileSelector,{location:i,setLocation:s}))),me.default.createElement("div",null,me.default.createElement(Br.Button,{onClick:()=>{(async()=>{try{await Yc(e,t,n,i)}catch(c){console.error(c),e.setError(c)}})()},variant:"contained",color:"primary",disabled:!t&&!n},"Open")),me.default.createElement("div",null,me.default.createElement(Br.Typography,null,"Examples"),me.default.createElement(xB,{model:e}))))}),BB=E_});function SB(){return ct.default.createElement("div",{style:{display:"flex",alignItems:"center",gap:12,padding:20}},ct.default.createElement("svg",{width:"24",height:"24",viewBox:"0 0 24 24",xmlns:"http://www.w3.org/2000/svg"},ct.default.createElement("style",null,"@keyframes spinner { to { transform: rotate(360deg); } }"),ct.default.createElement("circle",{cx:"12",cy:"12",r:"10",stroke:"#ccc",strokeWidth:"3",fill:"none"}),ct.default.createElement("path",{d:"M12 2a10 10 0 0 1 10 10",stroke:"#1976d2",strokeWidth:"3",fill:"none",strokeLinecap:"round",style:{animation:"spinner 1s linear infinite",transformOrigin:"center"}})),ct.default.createElement(jc.Typography,{variant:"h6"},"Loading..."))}var ct,QB,jc,Pf,I_,x_,Gf,MB=g(()=>{ct=d(b(),1),QB=d(Ce(),1);PA();jc=d(_(),1),Pf=d(O(),1);gB();bB();I_=(0,Pf.observer)(function({model:e,error:t}){return ct.default.createElement("div",null,ct.default.createElement(QB.ErrorMessage,{error:t}),ct.default.createElement(jc.Button,{variant:"contained",color:"primary",onClick:()=>{e.reset()}},"Return to import form"))}),x_=(0,Pf.observer)(function({model:e}){let{isLoading:t,dataInitialized:r,msaFilehandle:n,treeFilehandle:o}=e,i=!!(n||o);return ct.default.createElement("div",null,ct.default.createElement(No,{FallbackComponent:s=>ct.default.createElement(I_,{model:e,error:s.error})},r?t?ct.default.createElement(SB,null):ct.default.createElement(mB,{model:e}):i||t?ct.default.createElement(SB,null):ct.default.createElement(BB,{model:e})))}),Gf=x_});var TB=J((FH,vB)=>{vB.exports=JBrowseExports["@jbrowse/core/util/io"]});var _B=J((RH,DB)=>{DB.exports=JBrowseExports["@jbrowse/core/util/types/mst"]});function y_(e,t){return e.parent===t.parent?1:2}function w_(e){return e.reduce(B_,0)/e.length}function B_(e,t){return e+t.x}function b_(e){return 1+e.reduce(S_,0)}function S_(e,t){return Math.max(e,t.y)}function Q_(e){for(var t;t=e.children;)e=t[0];return e}function M_(e){for(var t;t=e.children;)e=t[t.length-1];return e}function Of(){var e=y_,t=1,r=1,n=!1;function o(i){var s,a=0;i.eachAfter(function(f){var m=f.children;m?(f.x=w_(m),f.y=b_(m)):(f.x=s?a+=e(f,s):0,f.y=0,s=f)});var c=Q_(i),l=M_(i),A=c.x-e(c,l)/2,u=l.x+e(l,c)/2;return i.eachAfter(n?function(f){f.x=(f.x-i.x)*t,f.y=(i.y-f.y)*r}:function(f){f.x=(f.x-A)/(u-A)*t,f.y=(1-(i.y?f.y/i.y:1))*r})}return o.separation=function(i){return arguments.length?(e=i,o):e},o.size=function(i){return arguments.length?(n=!1,t=+i[0],r=+i[1],o):n?null:[t,r]},o.nodeSize=function(i){return arguments.length?(n=!0,t=+i[0],r=+i[1],o):n?[t,r]:null},o}var kB=g(()=>{});function v_(e){var t=0,r=e.children,n=r&&r.length;if(!n)t=1;else for(;--n>=0;)t+=r[n].value;e.value=t}function NB(){return this.eachAfter(v_)}var LB=g(()=>{});function FB(e,t){let r=-1;for(let n of this)e.call(t,n,++r,this);return this}var RB=g(()=>{});function PB(e,t){for(var r=this,n=[r],o,i,s=-1;r=n.pop();)if(e.call(t,r,++s,this),o=r.children)for(i=o.length-1;i>=0;--i)n.push(o[i]);return this}var GB=g(()=>{});function OB(e,t){for(var r=this,n=[r],o=[],i,s,a,c=-1;r=n.pop();)if(o.push(r),i=r.children)for(s=0,a=i.length;s<a;++s)n.push(i[s]);for(;r=o.pop();)e.call(t,r,++c,this);return this}var HB=g(()=>{});function JB(e,t){let r=-1;for(let n of this)if(e.call(t,n,++r,this))return n}var UB=g(()=>{});function YB(e){return this.eachAfter(function(t){for(var r=+e(t.data)||0,n=t.children,o=n&&n.length;--o>=0;)r+=n[o].value;t.value=r})}var qB=g(()=>{});function jB(e){return this.eachBefore(function(t){t.children&&t.children.sort(e)})}var VB=g(()=>{});function WB(e){for(var t=this,r=T_(t,e),n=[t];t!==r;)t=t.parent,n.push(t);for(var o=n.length;e!==r;)n.splice(o,0,e),e=e.parent;return n}function T_(e,t){if(e===t)return e;var r=e.ancestors(),n=t.ancestors(),o=null;for(e=r.pop(),t=n.pop();e===t;)o=e,e=r.pop(),t=n.pop();return o}var KB=g(()=>{});function zB(){for(var e=this,t=[e];e=e.parent;)t.push(e);return t}var $B=g(()=>{});function XB(){return Array.from(this)}var ZB=g(()=>{});function eb(){var e=[];return this.eachBefore(function(t){t.children||e.push(t)}),e}var tb=g(()=>{});function rb(){var e=this,t=[];return e.each(function(r){r!==e&&t.push({source:r.parent,target:r})}),t}var nb=g(()=>{});function*ob(){var e=this,t,r=[e],n,o,i;do for(t=r.reverse(),r=[];e=t.pop();)if(yield e,n=e.children)for(o=0,i=n.length;o<i;++o)r.push(n[o]);while(r.length)}var ib=g(()=>{});function fi(e,t){e instanceof Map?(e=[void 0,e],t===void 0&&(t=k_)):t===void 0&&(t=__);for(var r=new fs(e),n,o=[r],i,s,a,c;n=o.pop();)if((s=t(n.data))&&(c=(s=Array.from(s)).length))for(n.children=s,a=c-1;a>=0;--a)o.push(i=s[a]=new fs(s[a])),i.parent=n,i.depth=n.depth+1;return r.eachBefore(L_)}function D_(){return fi(this).eachBefore(N_)}function __(e){return e.children}function k_(e){return Array.isArray(e)?e[1]:null}function N_(e){e.data.value!==void 0&&(e.value=e.data.value),e.data=e.data.data}function L_(e){var t=0;do e.height=t;while((e=e.parent)&&e.height<++t)}function fs(e){this.data=e,this.depth=this.height=0,this.parent=null}var sb=g(()=>{LB();RB();GB();HB();UB();qB();VB();KB();$B();ZB();tb();nb();ib();fs.prototype=fi.prototype={constructor:fs,count:NB,each:FB,eachAfter:OB,eachBefore:PB,find:JB,sum:YB,sort:jB,path:WB,ancestors:zB,descendants:XB,leaves:eb,links:rb,copy:D_,[Symbol.iterator]:ob}});var ab=g(()=>{kB();sb()});var cb=g(()=>{});function di(e,t="node",r=0){let n=`${t}-${r}`;return{...e,id:n,name:e.name||n,children:e.children?.map((o,i)=>di(o,`${n}-${i}`,r+1))||[]}}var Hf=g(()=>{});function mi(e){return e>=97&&e<=122}var cn,Jf=g(()=>{cn=class{MSA;orderedNames;constructor(t){let r=[],n=[];for(let o of t.split(">")){if(!/\S/.test(o))continue;let i=o.indexOf(`
|
|
61
61
|
`);if(i===-1)continue;let s=o.slice(0,i),a=s.indexOf(" "),c=a===-1?s:s.slice(0,a);c&&(r.push(o.slice(i+1).replaceAll(/\s/g,"")),n.push(c))}this.orderedNames=n,this.MSA={seqdata:this.expandA3M(r,n)}}static sniff(t){if(!t.startsWith(">"))return!1;let r=[];for(let s of t.split(">")){if(!/\S/.test(s))continue;let a=s.indexOf(`
|
|
62
|
-
`);if(a===-1)continue;let c=s.slice(a+1).replaceAll(/\s/g,"");c&&r.push(c)}if(r.length<2)return!1;let n=!1,o=-1,i=!0;for(let s of r){let a=0;for(let c=0;c<s.length;c++){let l=s.charCodeAt(c);
|
|
63
|
-
`)[Symbol.iterator]();return
|
|
64
|
-
`).map(i=>i.trim()).filter(i=>!!i),r=[],n=[];for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n.push(i)}let o=r.map(i=>{let[,s,a,c,l,A,u,f,m]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:f,unknown:m,seq:""}});for(let i of n)for(let s=0;s<r.length;s++)o[s].seq+=i[s];return o}function
|
|
65
|
-
`).map(i=>i.trim()).filter(i=>!!i),r=[],n="";for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n=i}let o=r.map(i=>{let[,s,a,c,l,A,u,f,m]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:f,unknown:m}});return{tree:n,seqs:o}}var
|
|
66
|
-
`);if(
|
|
67
|
-
`);for(let s of i){let a;if(
|
|
68
|
-
`).map(t=>t.trim()).filter(t=>!!t&&!t.startsWith("#")).map(t=>{let r=t.split(" "),[n,o,i,s,a,c,l,A]=r,u=r[8];return{seq_id:n??"",source:o??"",type:i??"",start:Number(s)||0,end:Number(a)||0,score:Number(c)||0,strand:l??".",phase:A??".",...BD(u)}}):[]}var lb=p(()=>{});function Yc(e){let t=new Map;for(let n of e){let o=t.get(n.seq_id);o?o.push(n):t.set(n.seq_id,[n])}let r={};for(let[n,o]of t){let i=new Map,s=new Map;for(let c of o){let l=c.Name||c.ID||`${c.source}_${c.start}_${c.end}`,A=c.signature_desc||c.Name||l,u=c.Ontology_term||c.description||c.Note||A;s.has(l)||s.set(l,{name:A,description:u,accession:l});let f=i.get(l);f?f.push({start:c.start,end:c.end}):i.set(l,[{start:c.start,end:c.end}])}let a=[];for(let[c,l]of i){let A=s.get(c);a.push({signature:{entry:A},locations:l})}r[n]={matches:a,xref:[{id:n}]}}return r}var Ab=p(()=>{});var ub=p(()=>{});var fb=p(()=>{lb();Ab();ub()});var db=p(()=>{XB();Pf();cb();fb()});function mb({mapHeight:e,blockSize:t,viewportY:r,viewportHeight:n}){let o=Math.max(0,Math.min(r,e*t-n)),i=Math.floor(o/t),s=Math.floor((o+n-1)/t),a=[];for(let c=i;c<=s;c++)a.push(c*t);return a}function gb({mapWidth:e,blockSize:t,viewportX:r,viewportWidth:n}){let o=Math.max(0,Math.min(r,e-n)),i=Math.floor(o/t),s=Math.floor((o+n-1)/t),a=[];for(let c=i;c<=s;c++)a.push(c*t);return a}var pb=p(()=>{});function Wf({ctx:e,conservation:t,colWidth:r,trackHeight:n,offsetX:o,blockSize:i}){let s=Math.max(0,Math.floor(o/r)),a=Math.max(0,Math.ceil((o+i)/r));e.fillStyle="gray";for(let c=s;c<a&&c<t.length;c++){let A=t[c]*n,u=c*r;e.fillRect(u,n-A,r,A)}}function Kf({ctx:e,data:t,colorScheme:r,contrastScheme:n,bgColor:o,colWidth:i,rowHeight:s,offsetX:a,blockSize:c}){let l=Math.max(0,Math.floor(a/i)),A=Math.max(0,Math.ceil((a+c)/i)),u=t?.slice(l,A);for(let f=0;u&&f<u.length;f++){let m=u[f],g=r[m.toUpperCase()];if(o){let h=f*i+a-a%i;e.fillStyle=g||"white",e.fillRect(h,0,i,s),s>=10&&i>=s/2&&(e.fillStyle=n[m.toUpperCase()]||"black",e.fillText(m,h+i/2,s/2+1))}}}function MD({model:e,ctx:t,offsetX:r,offsetY:n,trackHeight:o,blockSizeXOverride:i,highResScaleFactorOverride:s}){let{blockSize:a,colWidth:c,highResScaleFactor:l,conservation:A}=e,u=i??a,f=s??l;t.resetTransform(),t.scale(f,f),t.translate(-r,n),Wf({ctx:t,conservation:A,colWidth:c,trackHeight:o,offsetX:r,blockSize:u}),t.resetTransform()}function vD({model:e,ctx:t,track:r,offsetX:n,offsetY:o,contrastScheme:i,blockSizeXOverride:s,highResScaleFactorOverride:a}){let{blockSize:c,bgColor:l,colorScheme:A,colWidth:u,fontSize:f,rowHeight:m,highResScaleFactor:g}=e,{customColorScheme:h,data:C}=r.model,E=h??A,x=s??c,y=a??g;t.resetTransform(),t.scale(y,y),t.translate(-n,o),t.textAlign="center",t.font=t.font.replace(/\d+px/,`${f}px`),Kf({ctx:t,data:C,colorScheme:E,contrastScheme:i,bgColor:l,colWidth:u,rowHeight:m,offsetX:n,blockSize:x}),t.resetTransform()}function hb({model:e,ctx:t,offsetX:r,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}){let{turnedOnTracks:s}=e,a=0;for(let c of s){let l=c.model.height;c.model.id==="conservation"?MD({model:e,ctx:t,offsetX:r,offsetY:a,trackHeight:l,blockSizeXOverride:o,highResScaleFactorOverride:i}):vD({model:e,ctx:t,track:c,offsetX:r,offsetY:a,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}),a+=l}}var qc=p(()=>{});var rn,Cb,zf,TD,_D,Eb,Ib=p(()=>{rn=d(S(),1),Cb=d(xe(),1),zf=d(G(),1);qc();TD=(0,zf.observer)(function({model:e,offsetX:t,trackHeight:r}){let{blockSize:n,scrollX:o,colWidth:i,highResScaleFactor:s,conservation:a}=e,c=(0,rn.useRef)(null);return(0,rn.useEffect)(()=>{if(!c.current)return;let l=c.current.getContext("2d");l&&(l.resetTransform(),l.scale(s,s),l.clearRect(0,0,n,r),l.translate(-t,0),Wf({ctx:l,conservation:a,colWidth:i,trackHeight:r,offsetX:t,blockSize:n}))},[n,i,r,t,s,a]),rn.default.createElement("canvas",{ref:c,height:r*s,width:n*s,style:{position:"absolute",left:o+t,width:n,height:r}})}),_D=(0,zf.observer)(function({model:e,track:t}){let{blocksX:r,msaAreaWidth:n}=e,o=t.model.height;return rn.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>rn.default.createElement(TD,{key:i,model:e,offsetX:i,trackHeight:o})),rn.default.createElement(Cb.ResizeHandle,{onDrag:i=>(e.setConservationTrackHeight(Math.max(10,e.conservationTrackHeight+i)),i),style:{position:"absolute",bottom:0,left:0,height:4,width:"100%",zIndex:1,background:"rgba(200,200,200,0.5)"}}))}),Eb=_D});var kr,xb,$f,DD,kD,yb,wb=p(()=>{kr=d(S(),1),xb=d(N(),1),$f=d(G(),1);yn();qc();DD=(0,$f.observer)(function({track:e,model:t,offsetX:r}){let{blockSize:n,scrollX:o,bgColor:i,colorScheme:s,colWidth:a,fontSize:c,rowHeight:l,highResScaleFactor:A}=t,{model:{customColorScheme:u,data:f}}=e,m=u||s,g=(0,xb.useTheme)(),h=(0,kr.useRef)(null),C=(0,kr.useMemo)(()=>$n(m,g),[m,g]);return(0,kr.useEffect)(()=>{if(!h.current)return;let E=h.current.getContext("2d");E&&(E.resetTransform(),E.scale(A,A),E.clearRect(0,0,n,l),E.translate(-r,0),E.textAlign="center",E.font=E.font.replace(/\d+px/,`${c}px`),Kf({ctx:E,data:f,colorScheme:m,contrastScheme:C,bgColor:i,colWidth:a,rowHeight:l,offsetX:r,blockSize:n}))},[c,i,n,a,l,r,C,m,A,f]),kr.default.createElement("canvas",{ref:h,height:l*A,width:n*A,style:{position:"absolute",left:o+r,width:n,height:l}})}),kD=(0,$f.observer)(function({track:e,model:t}){let{blocksX:r,msaAreaWidth:n,rowHeight:o}=t;return e.model.data?kr.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>kr.default.createElement(DD,{key:i,track:e,model:t,offsetX:i}))):null}),yb=kD});var jc,Vc=p(()=>{jc="maeditor"});function Bb(e){let t=Math.min(e.length-1,tf.length-1),r=tf[t];return Object.fromEntries(e.map((n,o)=>[n,r[o]]))}var bb=p(()=>{rf()});function Sb(e){let t=new Map;e.forEach(n=>{t.set(n.id,{...n,id:`${n.id}`,name:`${n.id}`,parent:n.parent!==void 0?`${n.parent}`:void 0,children:[]})});let r=[];return e.forEach(n=>{let o=t.get(n.id);if(n.parent!==void 0){let i=t.get(n.parent);i?i.children.push(o):r.push(o)}else r.push(o)}),r[0]}var Qb=p(()=>{});function Mb(e,t){Xf||(Xf=document.createElement("canvas"));let r=Xf.getContext("2d");if(!r)throw new Error("no canvas context");return r.font=r.font.replace(/\d+px/,`${t}px`),r.measureText(e).width}var Xf,vb=p(()=>{});function Tb(){return Mn.types.model({tree:Mn.types.maybe(Mn.types.string),msa:Mn.types.maybe(Mn.types.string),treeMetadata:Mn.types.maybe(Mn.types.string)}).actions(e=>({setTree(t){e.tree=t},setMSA(t){e.msa=t},setTreeMetadata(t){e.treeMetadata=t}})).postProcessSnapshot(e=>{let{tree:t,msa:r,treeMetadata:n}=e,o=5e4;return{tree:t&&t.length>o?void 0:t,msa:r&&r.length>o?void 0:r,treeMetadata:n&&n.length>o?void 0:n}})}var Mn,_b=p(()=>{Mn=d(Nt(),1)});function kb(){return Db.types.model("DialogQueueSessionMixin",{}).volatile(()=>({queueOfDialogs:[]})).views(e=>({get DialogComponent(){return e.queueOfDialogs[0]?.[0]},get DialogProps(){return e.queueOfDialogs[0]?.[1]}})).actions(e=>({removeActiveDialog(){e.queueOfDialogs=e.queueOfDialogs.slice(1)},queueDialog(t){let[r,n]=t(()=>{this.removeActiveDialog()});e.queueOfDialogs=[...e.queueOfDialogs,[r,n]]}}))}var Db,Nb=p(()=>{Db=d(Nt(),1)});function Fb(){return Lb.types.model({bgColor:!0,colorSchemeName:jc}).actions(e=>({setColorSchemeName(t){e.colorSchemeName=t},setBgColor(t){e.bgColor=t}}))}var Lb,Rb=p(()=>{Lb=d(Nt(),1);Vc()});function Pb(){return fi.types.model({drawLabels:!0,labelsAlignRight:!1,treeAreaWidth:fi.types.optional(fi.types.number,400),treeWidth:fi.types.optional(fi.types.number,300),treeWidthMatchesArea:!0,showBranchLen:!0,drawTree:!0,drawNodeBubbles:!0}).actions(e=>({setTreeWidthMatchesArea(t){e.treeWidthMatchesArea=t},setTreeAreaWidth(t){e.treeAreaWidth=Math.round(t)},setTreeWidth(t){e.treeWidth=Math.round(t)},setLabelsAlignRight(t){e.labelsAlignRight=t},setDrawTree(t){e.drawTree=t},setShowBranchLen(t){e.showBranchLen=t},setDrawNodeBubbles(t){e.drawNodeBubbles=t},setDrawLabels(t){e.drawLabels=t}}))}var fi,Gb=p(()=>{fi=d(Nt(),1);Vc()});function cd(e,t){let r=e.toUpperCase(),n=t.toUpperCase();return ND[r]?.[n]??-4}function LD(e,t){if(e.length!==t.length)throw new Error("Sequences must have the same length (aligned)");let r=0,n=0,o=0,i=0;for(let l=0;l<e.length;l++){let A=e[l],u=t[l];if(A==="-"&&u==="-")continue;if(A==="-"||u==="-"){n++;continue}let f=cd(A,u);o+=f,i+=Math.max(cd(A,A),cd(u,u)),A.toUpperCase()===u.toUpperCase()?r++:n++}if(r+n===0||i<=0)return 1;let a=o/i,c=Math.max(.01,Math.min(1,a));return-Math.log(c)}function FD(e){let t=e.length,r=[];for(let n=0;n<t;n++){r[n]=[];for(let o=0;o<t;o++)n===o?r[n][o]=0:o<n?r[n][o]=r[o][n]:r[n][o]=LD(e[n][1],e[o][1])}return r}function RD(e,t){let r=e.length;if(r<2)return{name:t[0]};if(r===2){let a=e[0][1];return{left:{name:t[0]},right:{name:t[1]},leftLength:a/2,rightLength:a/2}}let n=[];for(let a=0;a<r;a++)n[a]=[...e[a]];let o=t.map(a=>({name:a})),i=r;for(;i>2;){let a=[];for(let y=0;y<o.length;y++)o[y]!==void 0&&a.push(y);let c=new Map;for(let y of a){let w=0;for(let b of a)y!==b&&(w+=n[y][b]);c.set(y,w)}let l=1/0,A=-1,u=-1;for(let y=0;y<a.length;y++)for(let w=y+1;w<a.length;w++){let b=a[y],M=a[w],v=(i-2)*n[b][M]-c.get(b)-c.get(M);v<l&&(l=v,A=b,u=M)}let f=n[A][u],m=c.get(A),g=c.get(u),h,C;i>2?(h=f/2+(m-g)/(2*(i-2)),C=f-h):(h=f/2,C=f/2),h=Math.max(0,h),C=Math.max(0,C);let E={left:o[A],right:o[u],leftLength:h,rightLength:C},x=A;for(let y of a)if(y!==A&&y!==u){let w=(n[A][y]+n[u][y]-f)/2;n[x][y]=Math.max(0,w),n[y][x]=Math.max(0,w)}o[u]=void 0,o[x]=E,i--}let s=[];for(let a=0;a<o.length;a++)o[a]!==void 0&&s.push(a);if(s.length===2){let a=s[0],c=s[1],l=n[a][c];return{left:o[a],right:o[c],leftLength:l/2,rightLength:l/2}}return o[s[0]]}function ld(e,t){let r;if(e.name!==void 0&&!e.left&&!e.right)r=e.name.replace(/[():,;[\]]/g,"_");else{let n=e.left?ld(e.left,e.leftLength):"",o=e.right?ld(e.right,e.rightLength):"";r=`(${n},${o})`}return t!==void 0&&(r+=`:${t.toFixed(6)}`),r}function Ob(e){if(e.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=e.map(o=>o[0]),r=FD(e),n=RD(r,t);return ld(n)+";"}var ND,Hb=p(()=>{ND={A:{A:4,R:-1,N:-2,D:-2,C:0,Q:-1,E:-1,G:0,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:0,W:-3,Y:-2,V:0,B:-2,Z:-1,X:0,"*":-4},R:{A:-1,R:5,N:0,D:-2,C:-3,Q:1,E:0,G:-2,H:0,I:-3,L:-2,K:2,M:-1,F:-3,P:-2,S:-1,T:-1,W:-3,Y:-2,V:-3,B:-1,Z:0,X:-1,"*":-4},N:{A:-2,R:0,N:6,D:1,C:-3,Q:0,E:0,G:0,H:1,I:-3,L:-3,K:0,M:-2,F:-3,P:-2,S:1,T:0,W:-4,Y:-2,V:-3,B:3,Z:0,X:-1,"*":-4},D:{A:-2,R:-2,N:1,D:6,C:-3,Q:0,E:2,G:-1,H:-1,I:-3,L:-4,K:-1,M:-3,F:-3,P:-1,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},C:{A:0,R:-3,N:-3,D:-3,C:9,Q:-3,E:-4,G:-3,H:-3,I:-1,L:-1,K:-3,M:-1,F:-2,P:-3,S:-1,T:-1,W:-2,Y:-2,V:-1,B:-3,Z:-3,X:-2,"*":-4},Q:{A:-1,R:1,N:0,D:0,C:-3,Q:5,E:2,G:-2,H:0,I:-3,L:-2,K:1,M:0,F:-3,P:-1,S:0,T:-1,W:-2,Y:-1,V:-2,B:0,Z:3,X:-1,"*":-4},E:{A:-1,R:0,N:0,D:2,C:-4,Q:2,E:5,G:-2,H:0,I:-3,L:-3,K:1,M:-2,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},G:{A:0,R:-2,N:0,D:-1,C:-3,Q:-2,E:-2,G:6,H:-2,I:-4,L:-4,K:-2,M:-3,F:-3,P:-2,S:0,T:-2,W:-2,Y:-3,V:-3,B:-1,Z:-2,X:-1,"*":-4},H:{A:-2,R:0,N:1,D:-1,C:-3,Q:0,E:0,G:-2,H:8,I:-3,L:-3,K:-1,M:-2,F:-1,P:-2,S:-1,T:-2,W:-2,Y:2,V:-3,B:0,Z:0,X:-1,"*":-4},I:{A:-1,R:-3,N:-3,D:-3,C:-1,Q:-3,E:-3,G:-4,H:-3,I:4,L:2,K:-3,M:1,F:0,P:-3,S:-2,T:-1,W:-3,Y:-1,V:3,B:-3,Z:-3,X:-1,"*":-4},L:{A:-1,R:-2,N:-3,D:-4,C:-1,Q:-2,E:-3,G:-4,H:-3,I:2,L:4,K:-2,M:2,F:0,P:-3,S:-2,T:-1,W:-2,Y:-1,V:1,B:-4,Z:-3,X:-1,"*":-4},K:{A:-1,R:2,N:0,D:-1,C:-3,Q:1,E:1,G:-2,H:-1,I:-3,L:-2,K:5,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:0,Z:1,X:-1,"*":-4},M:{A:-1,R:-1,N:-2,D:-3,C:-1,Q:0,E:-2,G:-3,H:-2,I:1,L:2,K:-1,M:5,F:0,P:-2,S:-1,T:-1,W:-1,Y:-1,V:1,B:-3,Z:-1,X:-1,"*":-4},F:{A:-2,R:-3,N:-3,D:-3,C:-2,Q:-3,E:-3,G:-3,H:-1,I:0,L:0,K:-3,M:0,F:6,P:-4,S:-2,T:-2,W:1,Y:3,V:-1,B:-3,Z:-3,X:-1,"*":-4},P:{A:-1,R:-2,N:-2,D:-1,C:-3,Q:-1,E:-1,G:-2,H:-2,I:-3,L:-3,K:-1,M:-2,F:-4,P:7,S:-1,T:-1,W:-4,Y:-3,V:-2,B:-2,Z:-1,X:-2,"*":-4},S:{A:1,R:-1,N:1,D:0,C:-1,Q:0,E:0,G:0,H:-1,I:-2,L:-2,K:0,M:-1,F:-2,P:-1,S:4,T:1,W:-3,Y:-2,V:-2,B:0,Z:0,X:0,"*":-4},T:{A:0,R:-1,N:0,D:-1,C:-1,Q:-1,E:-1,G:-2,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:5,W:-2,Y:-2,V:0,B:-1,Z:-1,X:0,"*":-4},W:{A:-3,R:-3,N:-4,D:-4,C:-2,Q:-2,E:-3,G:-2,H:-2,I:-3,L:-2,K:-3,M:-1,F:1,P:-4,S:-3,T:-2,W:11,Y:2,V:-3,B:-4,Z:-3,X:-2,"*":-4},Y:{A:-2,R:-2,N:-2,D:-3,C:-2,Q:-1,E:-2,G:-3,H:2,I:-1,L:-1,K:-2,M:-1,F:3,P:-3,S:-2,T:-2,W:2,Y:7,V:-1,B:-3,Z:-2,X:-1,"*":-4},V:{A:0,R:-3,N:-3,D:-3,C:-1,Q:-2,E:-2,G:-3,H:-3,I:3,L:1,K:-2,M:1,F:-1,P:-2,S:-2,T:0,W:-3,Y:-1,V:4,B:-3,Z:-2,X:-1,"*":-4},B:{A:-2,R:-1,N:3,D:4,C:-3,Q:0,E:1,G:-1,H:0,I:-3,L:-4,K:0,M:-3,F:-3,P:-2,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},Z:{A:-1,R:0,N:0,D:1,C:-3,Q:3,E:4,G:-2,H:0,I:-3,L:-3,K:1,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},X:{A:0,R:-1,N:-1,D:-1,C:-2,Q:-1,E:-1,G:-1,H:-1,I:-1,L:-1,K:-1,M:-1,F:-1,P:-2,S:0,T:0,W:-2,Y:-1,V:-1,B:-1,Z:-1,X:-1,"*":-4},"*":{A:-4,R:-4,N:-4,D:-4,C:-4,Q:-4,E:-4,G:-4,H:-4,I:-4,L:-4,K:-4,M:-4,F:-4,P:-4,S:-4,T:-4,W:-4,Y:-4,V:-4,B:-4,Z:-4,X:-4,"*":1}}});function Jb(e){let t=GD(e.replace(/\s+/g," ").replace(/\s*{\s*/g,"{").replace(/\s*}\s*/g,"}").replace(/\s*,\s*/g,",").replace(/\s*::\s*=\s*/g,"::=").replace(/^.*?::=/,"")),r=Object.fromEntries(OD(t.fdict).map(n=>[n.id,PD[n.name]||n.name]));return JD(t.nodes).map(n=>{let{features:o,...i}=n;return{...i,...Object.fromEntries(o.map(s=>[r[s.featureid],s.value]))}})}function GD(e){let t={},r=e.trim(),n=r.startsWith("{")&&r.endsWith("}")?r.slice(1,-1).trim():r,o=0;for(;o<n.length;){for(;o<n.length&&/\s/.test(n[o]);)o++;if(o>=n.length)break;let i=o;for(;o<n.length&&/\w/.test(n[o]);)o++;if(o>=n.length||n[o]!==" "&&n[o]!=="{"){for(;o<n.length&&n[o]!==",";)o++;o<n.length&&o++;continue}let s=n.slice(i,o).trim();for(;o<n.length&&/\s/.test(n[o]);)o++;if(o>=n.length||n[o]!=="{"){for(;o<n.length&&n[o]!==",";)o++;o<n.length&&o++;continue}let a=o+1,c=1;for(o++;o<n.length&&c>0;)n[o]==="{"?c++:n[o]==="}"&&c--,o++;if(c===0){let l=n.slice(a,o-1).trim();t[s]=l}for(;o<n.length&&n[o]!==",";)o++;o<n.length&&o++}return t}function OD(e){let t=[],r=0;for(;r<e.length;){for(;r<e.length&&/\s/.test(e[r]);)r++;if(r>=e.length)break;if(e[r]==="{"){let n=r+1,o=1;for(r++;r<e.length&&o>0;)e[r]==="{"?o++:e[r]==="}"&&o--,r++;if(o===0){let i=e.slice(n,r-1).trim(),s=HD(i);s&&t.push(s)}}else for(;r<e.length&&e[r]!=="{";)r++}return t}function HD(e){let t=/id\s+(\d+)/.exec(e),r=/name\s+"((?:[^"\\]|\\.)*)"/s.exec(e);if(t&&r){let n=r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\");return{id:parseInt(t[1],10),name:n}}return null}function JD(e){let t=[],r=0;for(;r<e.length;){for(;r<e.length&&/\s/.test(e[r]);)r++;if(r>=e.length)break;if(e[r]==="{"){let n=r+1,o=1;for(r++;r<e.length&&o>0;)e[r]==="{"?o++:e[r]==="}"&&o--,r++;if(o===0){let i=e.slice(n,r-1).trim(),s=UD(i);s&&t.push(s)}}else for(;r<e.length&&e[r]!=="{";)r++}return t}function UD(e){let t=/id\s+(\d+)/.exec(e),r=/parent\s+(\d+)/.exec(e);if(t){let n={id:parseInt(t[1],10)};r&&(n.parent=parseInt(r[1],10));let o=e.indexOf("features");if(o!==-1){let i=e.indexOf("{",o);if(i!==-1){let s=1,a=i+1;for(;a<e.length&&s>0;)e[a]==="{"?s++:e[a]==="}"&&s--,a++;if(s===0){let c=e.slice(i+1,a-1).trim();n.features=YD(c)}}}return n}return null}function YD(e){let t=[],r=0;for(;r<e.length;){for(;r<e.length&&/\s/.test(e[r]);)r++;if(r>=e.length)break;if(e[r]==="{"){let n=r+1,o=1;for(r++;r<e.length&&o>0;)e[r]==="{"?o++:e[r]==="}"&&o--,r++;if(o===0){let i=e.slice(n,r-1).trim(),s=qD(i);s&&t.push(s)}}else for(;r<e.length&&e[r]!=="{";)r++}return t}function qD(e){let t=/featureid\s+(\d+)/.exec(e),r=/value\s+"((?:[^"\\]|\\.)*)"/s.exec(e);if(t&&r){let n=r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\");return{featureid:parseInt(t[1],10),value:n}}return null}var PD,Ub=p(()=>{PD={$NODE_COLLAPSED:"collapsed",$NODE_COLOR:"color",$LABEL_BG_COLOR:"color","seq-id":"seqId","seq-title":"seqTitle","align-index":"alignIndex","accession-nbr":"accessionNbr","blast-name":"blastName","common-name":"commonName","leaf-count":"leafCount"}});function Ad(e){return{...e,children:e.children.map(t=>t.children.length?Ad(t):{children:[t],id:`${t.id}-leafnode`,name:`${t.name}-hidden`})}}var Yb=p(()=>{});function ud(e,t){let r=0,n=0,o=0,i=e.length;for(;n<i&&e[n]===o;)n++,o++;for(;r<t;)for(r++,o++;n<i&&e[n]===o;)n++,o++;return o}function qb(e,t){let r=0,n=e.length-1;for(;r<=n;){let i=Math.floor((r+n)/2);if(e[i]===t)return;e[i]<t?r=i+1:n=i-1}return t-r}function jD({seq:e,blanks:t,visibleCol:r}){let n=ud(t,r),o=e.length;if(n<o&&is(e[n]))return;let i=0;for(let s=0;s<n&&s<o;s++)is(e[s])||i++;return n<o?i:void 0}function jb({rowName:e,visibleCol:t,rowMap:r,blanks:n}){let o=r.get(e);return o!==void 0?jD({seq:o,visibleCol:t,blanks:n}):void 0}var Vb=p(()=>{yn()});function Wb({row:e,seqPos:t}){let r=0,n=0;for(;n<e.length;){if(!is(e[n])){if(r===t)return n;r++}n++}return t===0?0:n}var Kb=p(()=>{yn()});function zb(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{let t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}function Xb(e,t){if(typeof window>"u")return;let r=window.URL,n=document.createElement("a");if(t=t||(e instanceof Blob,"download"),"download"in HTMLAnchorElement.prototype&&!$b){n.download=t,n.rel="noopener",typeof e=="string"?(n.href=e,zb(n)):(n.href=r.createObjectURL(e),setTimeout(()=>{r.revokeObjectURL(n.href)},4e4),setTimeout(()=>{zb(n)},0));return}if(typeof e=="string"){window.open(e,"_blank");return}let o=/constructor/i.test(window.HTMLElement?.toString()??"")||!!window.safari,i=/CriOS\/[\d]+/.test(navigator.userAgent);if((i||o||$b)&&typeof FileReader<"u"){let s=new FileReader;s.onloadend=()=>{let a=s.result;a=i?a:a.replace(/^data:[^;]*;/,"data:attachment/file;"),window.open(a,"_blank")},s.readAsDataURL(e)}else{let s=r.createObjectURL(e);window.open(s,"_blank"),setTimeout(()=>{r.revokeObjectURL(s)},4e4)}}var $b,Zb=p(()=>{$b=typeof navigator<"u"&&navigator.userAgent.includes("Macintosh")&&navigator.userAgent.includes("AppleWebKit")&&!navigator.userAgent.includes("Safari")});var to,eS,VD,tS,rS=p(()=>{to=d(S(),1),eS=d(G(),1),VD=(0,eS.observer)(({model:e})=>{let{scrollX:t,msaAreaWidth:r,minimapHeight:n,colWidth:o,numColumns:i}=e,s=12,a=n-12,c=r/i/o,l=-t,A=l+r,u=l*c,f=A*c,m="rgb(66, 119, 127)",g=.3;return to.default.createElement(to.default.Fragment,null,to.default.createElement("rect",{x:0,y:0,width:r,height:s,stroke:"#555",fill:"none"}),to.default.createElement("rect",{x:Math.max(0,u),y:0,width:f-u,height:s,fill:m,fillOpacity:g,stroke:"#555"}),to.default.createElement("g",{transform:`translate(0 ${s})`},to.default.createElement("polygon",{fill:m,fillOpacity:g,points:[[f,0],[u,0],[0,a],[r,a]].toString()})))}),tS=VD});var iS={};et(iS,{Context:()=>md});function nS(e){return!e||typeof e=="string"?e:e+""}function Cr(e,t){let r=Object.keys(t);for(let n of r)e=e.replace(new RegExp("\\{"+n+"\\}","gi"),t[n]);return e}function fd(e){if(!e)throw new Error("cannot create a random attribute name for an undefined object");let t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",r="";do{r="";for(let n=0;n<12;n++)r+=t[Math.floor(Math.random()*t.length)]}while(e[r]);return r}function WD(e,t=10){let r={},n=e.split(",");for(let o=0;o<n.length;o+=2){let i="&"+n[o+1]+";",s=parseInt(n[o],t);r[i]="&#"+s+";"}return r["\\xa0"]=" ",r}function KD(e){let t={left:"start",right:"end",center:"middle",start:"start",end:"end"};return t[e]||t.start}function zD(e){let t={alphabetic:"alphabetic",hanging:"hanging",top:"text-before-edge",bottom:"text-after-edge",middle:"central"};return t[e]||t.alphabetic}var oS,fs,ds,dd,md,sS=p(()=>{oS=WD("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),fs={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"},lineDash:{svgAttr:"stroke-dasharray",canvas:[],svg:null,apply:"stroke"}},ds=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}addColorStop(t,r){let n=this.__ctx.__createElement("stop");if(n.setAttribute("offset",String(t)),nS(r).includes("rgba")){let i=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(r);i&&(n.setAttribute("stop-color",Cr("rgb({r},{g},{b})",{r:i[1],g:i[2],b:i[3]})),n.setAttribute("stop-opacity",i[4]))}else n.setAttribute("stop-color",nS(r));this.__root.appendChild(n)}},dd=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}},md=class{width;height;enableMirroring;canvas;__document;__ctx;__canvas;__root;__ids;__defs;__currentElement;__styleStack;__groupStack;__currentDefaultPath;__currentPosition;__transformMatrix;__transformMatrixStack;__currentElementsToStyle;__options;__id;__fontUnderline;__fontHref;strokeStyle;fillStyle;lineCap;lineJoin;miterLimit;lineWidth;globalAlpha;font;shadowColor;shadowOffsetX;shadowOffsetY;shadowBlur;textAlign;textBaseline;lineDash;constructor(t,r){let n={width:500,height:500,enableMirroring:!1},o;typeof t=="number"&&r!==void 0?o={...n,width:t,height:r}:t&&typeof t=="object"?o=t:o=n,this.width=o.width||n.width,this.height=o.height||n.height,this.enableMirroring=o.enableMirroring!==void 0?o.enableMirroring:n.enableMirroring,this.canvas=this,this.__document=o.document||document,o.ctx?this.__ctx=o.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__styleStack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version","1.1"),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",String(this.width)),this.__root.setAttribute("height",String(this.height)),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__currentDefaultPath="",this.__currentPosition={},this.__transformMatrix=new DOMMatrix,this.resetTransform(),this.__options=o,this.__id=Math.random().toString(16).substring(2,8)}__createElement(t,r={},n){let o=this.__document.createElementNS("http://www.w3.org/2000/svg",t);n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none"));for(let i of Object.keys(r))o.setAttribute(i,r[i]);return o}__setDefaultStyles(){for(let t of Object.keys(fs))this[t]=fs[t].canvas}__applyStyleState(t){for(let r of Object.keys(t))this[r]=t[r]}__getStyleState(){let t={};for(let r of Object.keys(fs))t[r]=this[r];return t}__applyTransformation(t,r){let{a:n,b:o,c:i,d:s,e:a,f:c}=r||this.getTransform();t.setAttribute("transform",`matrix(${n} ${o} ${i} ${s} ${a} ${c})`)}__applyStyleToCurrentElement(t){let r=this.__currentElement,n=this.__currentElementsToStyle;if(n){r.setAttribute(t,""),r=n.element;for(let i of n.children)i.setAttribute(t,"")}let o=Object.keys(fs);for(let i of o){let s=fs[i],a=this[i];if(s.apply){if(a instanceof dd){if(a.__ctx)for(let c of Array.from(a.__ctx.__defs.childNodes)){let l=c.getAttribute("id");l&&(this.__ids[l]=l,this.__defs.appendChild(c))}r.setAttribute(s.apply,Cr("url(#{id})",{id:a.__root.getAttribute("id")}))}else if(a instanceof ds)r.setAttribute(s.apply,Cr("url(#{id})",{id:a.__root.getAttribute("id")}));else if(s.apply.includes(t)&&s.svg!==a)if((s.svgAttr==="stroke"||s.svgAttr==="fill")&&a&&a.includes("rgba")){let l=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(a);if(l){r.setAttribute(s.svgAttr,Cr("rgb({r},{g},{b})",{r:l[1],g:l[2],b:l[3]}));let A=Number(l[4]),u=this.globalAlpha;u!=null&&(A*=u),r.setAttribute(s.svgAttr+"-opacity",String(A))}}else{let c=s.svgAttr,l=a;if(i==="globalAlpha"){if(c=t+"-"+s.svgAttr,r.getAttribute(c))continue}else if(i==="lineWidth"){let A=this.__getTransformScale();l=a*Math.max(A.x,A.y)}r.setAttribute(c,l)}}}}__closestGroupOrSvg(t){return t=t||this.__currentElement,t.nodeName==="g"||t.nodeName==="svg"?t:this.__closestGroupOrSvg(t.parentNode)}getSerializedSvg(t){let r=new XMLSerializer().serializeToString(this.__root);if(/xmlns="http:\/\/www\.w3\.org\/2000\/svg".+xmlns="http:\/\/www\.w3\.org\/2000\/svg/gi.test(r)&&(r=r.replace('xmlns="http://www.w3.org/2000/svg','xmlns:xlink="http://www.w3.org/1999/xlink')),t)for(let o of Object.keys(oS)){let i=new RegExp(o,"gi");i.test(r)&&(r=r.replace(i,oS[o]))}return r}getSvg(){return this.__root}save(){let t=this.__createElement("g"),r=this.__closestGroupOrSvg();this.__groupStack.push(r),r.appendChild(t),this.__currentElement=t;let n=this.__getStyleState();this.__styleStack.push(n),this.__transformMatrixStack||(this.__transformMatrixStack=[]),this.__transformMatrixStack.push(this.getTransform())}restore(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=void 0,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);let t=this.__styleStack.pop();this.__applyStyleState(t),this.__transformMatrixStack&&this.__transformMatrixStack.length>0&&this.setTransform(this.__transformMatrixStack.pop())}beginPath(){this.__currentDefaultPath="",this.__currentPosition={};let t=this.__createElement("path",{},!0);this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t}__applyCurrentDefaultPath(){let t=this.__currentElement;t.nodeName==="path"&&t.setAttribute("d",this.__currentDefaultPath)}__addPathCommand(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t}moveTo(t,r){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.__currentPosition={x:t,y:r},this.__addPathCommand(Cr("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}closePath(){this.__currentDefaultPath&&this.__addPathCommand("Z")}lineTo(t,r){this.__currentPosition={x:t,y:r},this.__currentDefaultPath.includes("M")?this.__addPathCommand(Cr("L {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y})):this.__addPathCommand(Cr("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}bezierCurveTo(t,r,n,o,i,s){this.__currentPosition={x:i,y:s},this.__addPathCommand(Cr("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:this.__matrixTransform(t,r).x,cp1y:this.__matrixTransform(t,r).y,cp2x:this.__matrixTransform(n,o).x,cp2y:this.__matrixTransform(n,o).y,x:this.__matrixTransform(i,s).x,y:this.__matrixTransform(i,s).y}))}quadraticCurveTo(t,r,n,o){this.__currentPosition={x:n,y:o},this.__addPathCommand(Cr("Q {cpx} {cpy} {x} {y}",{cpx:this.__matrixTransform(t,r).x,cpy:this.__matrixTransform(t,r).y,x:this.__matrixTransform(n,o).x,y:this.__matrixTransform(n,o).y}))}stroke(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")}fill(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")}rect(t,r,n,o){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.moveTo(t,r),this.lineTo(t+n,r),this.lineTo(t+n,r+o),this.lineTo(t,r+o),this.lineTo(t,r),this.closePath()}__clearCanvas(){let t=this.__root.childNodes[1];this.__root.removeChild(t),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__groupStack=[]}fillRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height&&this.__clearCanvas();let u=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(u),this.__currentElement=u,this.__applyTransformation(u),this.__applyStyleToCurrentElement("fill")}strokeRect(t,r,n,o){let i=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyTransformation(i),this.__applyStyleToCurrentElement("stroke")}clearRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();if(JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height){this.__clearCanvas();return}let u=this.__createElement("rect",{x:t,y:r,width:n,height:o,fill:"#FFFFFF"},!0);this.__applyTransformation(u),this.__closestGroupOrSvg().appendChild(u)}createLinearGradient(t,r,n,o){let i=this.__createElement("linearGradient",{id:fd(this.__ids),x1:t+"px",x2:n+"px",y1:r+"px",y2:o+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(i),new ds(i,this)}createRadialGradient(t,r,n,o,i,s){let a=this.__createElement("radialGradient",{id:fd(this.__ids),cx:o+"px",cy:i+"px",r:s+"px",fx:t+"px",fy:r+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(a),new ds(a,this)}__applyText(t,r,n,o){let i=document.createElement("span");i.setAttribute("style","font:"+this.font);let s=i.style,a=this.__closestGroupOrSvg(),c=this.__createElement("text",{"font-family":s.fontFamily,"font-size":s.fontSize,"font-style":s.fontStyle,"font-weight":s.fontWeight,"text-decoration":this.__fontUnderline,x:r,y:n,"text-anchor":KD(this.textAlign),"dominant-baseline":zD(this.textBaseline)},!0);c.appendChild(this.__document.createTextNode(t)),this.__currentElement=c,this.__applyTransformation(c),this.__applyStyleToCurrentElement(o);let l=c;if(this.__fontHref){let A=this.__createElement("a");A.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.__fontHref),A.appendChild(c),l=A}a.appendChild(l)}fillText(t,r,n){this.__applyText(t,r,n,"fill")}strokeText(t,r,n){this.__applyText(t,r,n,"stroke")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,r,n,o,i,s){if(o===i)return;o=o%(2*Math.PI),i=i%(2*Math.PI),o===i&&(i=(i+2*Math.PI-.001*(s?-1:1))%(2*Math.PI));let a=t+n*Math.cos(i),c=r+n*Math.sin(i),l=t+n*Math.cos(o),A=r+n*Math.sin(o),u=s?0:1,f=0,m=i-o;m<0&&(m+=2*Math.PI),s?f=m>Math.PI?0:1:f=m>Math.PI?1:0;let g=Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),h=Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d);this.lineTo(l,A),this.__addPathCommand(Cr("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n*g,ry:n*h,xAxisRotation:0,largeArcFlag:f,sweepFlag:u,endX:this.__matrixTransform(a,c).x,endY:this.__matrixTransform(a,c).y})),this.__currentPosition={x:a,y:c}}clip(){let t=this.__closestGroupOrSvg(),r=this.__createElement("clipPath"),n=fd(this.__ids),o=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),r.setAttribute("id",n),r.appendChild(this.__currentElement),this.__defs.appendChild(r),t.setAttribute("clip-path",Cr("url(#{id})",{id:n})),t.appendChild(o),this.__currentElement=o}setLineDash(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null}setTransform(t,r,n,o,i,s){t instanceof DOMMatrix?this.__transformMatrix=new DOMMatrix([t.a,t.b,t.c,t.d,t.e,t.f]):this.__transformMatrix=new DOMMatrix([t,r,n,o,i,s])}getTransform(){let{a:t,b:r,c:n,d:o,e:i,f:s}=this.__transformMatrix;return new DOMMatrix([t,r,n,o,i,s])}resetTransform(){this.setTransform(1,0,0,1,0,0)}scale(t,r){if(r===void 0&&(r=t),isNaN(t)||isNaN(r)||!isFinite(t)||!isFinite(r))return;let n=this.getTransform().scale(t,r);this.setTransform(n)}rotate(t){let r=this.getTransform().multiply(new DOMMatrix([Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0]));this.setTransform(r)}translate(t,r){let n=this.getTransform().translate(t,r);this.setTransform(n)}transform(t,r,n,o,i,s){let a=this.getTransform().multiply(new DOMMatrix([t,r,n,o,i,s]));this.setTransform(a)}__matrixTransform(t,r){return new DOMPoint(t,r).matrixTransform(this.__transformMatrix)}__getTransformScale(){return{x:Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),y:Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d)}}__getTransformRotation(){return Math.atan2(this.__transformMatrix.b,this.__transformMatrix.a)}drawFocusRing(){}createImageData(){}putImageData(){}globalCompositeOperation(){}drawImage(){}createPattern(){return null}}});var AS={};et(AS,{renderToSvg:()=>$D});async function $D(e,t){await(0,lS.when)(()=>!!e.dataInitialized);let{width:r,height:n,scrollX:o,scrollY:i,totalTrackAreaHeight:s}=e,{exportType:a,theme:c,includeMinimap:l,includeTracks:A}=t,u=A?s:0;if(a==="entire")return aS({width:e.totalWidth+e.treeAreaWidth,height:e.totalHeight+u,contentHeight:e.totalHeight,trackHeight:u,theme:c,model:e,offsetY:0,offsetX:0,includeMinimap:l,includeTracks:A});if(a==="viewport")return aS({width:r,height:n+(l?e.minimapHeight:0)+u,contentHeight:n,trackHeight:u,theme:c,model:e,offsetY:-i,offsetX:-o,includeMinimap:l,includeTracks:A});throw new Error("unknown export type")}async function aS({width:e,height:t,contentHeight:r,trackHeight:n,offsetX:o,offsetY:i,theme:s,model:a,includeMinimap:c,includeTracks:l}){let{Context:A}=await Promise.resolve().then(()=>(sS(),iS)),u=c?ek:rk;return(0,cS.renderToStaticMarkup)(ce.default.createElement(tk,{width:e,height:t},ce.default.createElement(u,{model:a},l&&n>0?ce.default.createElement(ZD,{Context:A,model:a,theme:s,offsetX:o,width:e,trackHeight:n}):null,ce.default.createElement("g",{transform:n>0?`translate(0 ${n})`:void 0},ce.default.createElement(XD,{Context:A,model:a,theme:s,offsetX:o,offsetY:i,width:e,contentHeight:r})))))}function XD({model:e,theme:t,width:r,contentHeight:n,offsetX:o,offsetY:i,Context:s}){let{treeAreaWidth:a,colorScheme:c,id:l}=e,A=`tree-${l}`,u=`msa-${l}`,f=$n(c,t),m=new s(r,n),g=new s(r,n);Dc({ctx:g,offsetX:o,offsetY:i,model:e,blockSizeYOverride:n,highResScaleFactorOverride:1});let h=r-a;return Fc({model:e,offsetY:i,ctx:m,theme:t,blockSizeYOverride:n,highResScaleFactorOverride:1}),kc({model:e,theme:t,offsetY:i,offsetX:o,contrastScheme:f,ctx:g,blockSizeXOverride:h,blockSizeYOverride:n,highResScaleFactorOverride:1}),ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("defs",null,ce.default.createElement("clipPath",{id:A},ce.default.createElement("rect",{x:0,y:0,width:a,height:n}))),ce.default.createElement("defs",null,ce.default.createElement("clipPath",{id:u},ce.default.createElement("rect",{x:0,y:0,width:h,height:n}))),ce.default.createElement("g",{clipPath:`url(#${A})`,dangerouslySetInnerHTML:{__html:m.getSvg().innerHTML}}),ce.default.createElement("g",{clipPath:`url(#${u})`,transform:`translate(${a} 0)`,dangerouslySetInnerHTML:{__html:g.getSvg().innerHTML}}))}function ZD({model:e,theme:t,width:r,trackHeight:n,offsetX:o,Context:i}){let{treeAreaWidth:s,colorScheme:a,id:c}=e,l=`tracks-${c}`,A=$n(a,t),u=r-s,f=new i(u,n);return hb({model:e,ctx:f,offsetX:o,contrastScheme:A,blockSizeXOverride:u,highResScaleFactorOverride:1}),ce.default.createElement("g",{transform:`translate(${s} 0)`},ce.default.createElement("defs",null,ce.default.createElement("clipPath",{id:l},ce.default.createElement("rect",{x:0,y:0,width:u,height:n}))),ce.default.createElement("g",{clipPath:`url(#${l})`,dangerouslySetInnerHTML:{__html:f.getSvg().innerHTML}}))}function ek({model:e,children:t}){let{minimapHeight:r,treeAreaWidth:n}=e;return ce.default.createElement(ce.default.Fragment,null,ce.default.createElement("g",{transform:`translate(${n} 0)`},ce.default.createElement(tS,{model:e})),ce.default.createElement("g",{transform:`translate(0 ${r})`},t))}function tk({width:e,height:t,children:r}){return ce.default.createElement("svg",{width:e,height:t,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:[0,0,e,t].toString()},r)}function rk({children:e}){return e}var ce,cS,lS,uS=p(()=>{ce=d(S(),1),cS=d(se(),1),lS=d(Yr(),1);rS();Mf();vf();qc();Rc();yn()});function nk(){return K.types.compose(kb(),Pb(),Fb(),K.types.model("MsaView",{id:ro.ElementId,showDomains:!1,hideGaps:!0,allowedGappyness:100,contrastLettering:!0,subFeatureRows:!1,type:K.types.literal("MsaView"),drawMsaLetters:!0,height:K.types.optional(K.types.number,550),rowHeight:16,scrollY:0,scrollX:0,colWidth:12,treeFilehandle:K.types.maybe(ro.FileLocation),msaFilehandle:K.types.maybe(ro.FileLocation),treeMetadataFilehandle:K.types.maybe(ro.FileLocation),gffFilehandle:K.types.maybe(ro.FileLocation),currentAlignment:0,collapsed:K.types.array(K.types.string),collapsedLeaves:K.types.array(K.types.string),showOnly:K.types.maybe(K.types.string),turnedOffTracks:K.types.map(K.types.boolean),data:K.types.optional(Tb(),{tree:"",msa:"",treeMetadata:""}),featureFilters:K.types.map(K.types.boolean),relativeTo:K.types.maybe(K.types.string)})).volatile(()=>({headerHeight:0,status:void 0,highResScaleFactor:2,showZoomStar:(0,we.localStorageGetBoolean)(yS,!1),loadingMSA:!1,loadingTree:!1,volatileWidth:void 0,resizeHandleWidth:5,blockSize:500,mouseRow:void 0,mouseCol:void 0,mouseClickRow:void 0,mouseClickCol:void 0,hoveredTreeNode:void 0,highlightedColumns:void 0,nref:0,minimapHeight:56,conservationTrackHeight:40,marginLeft:20,error:void 0,annotPos:void 0,interProAnnotations:void 0})).actions(e=>({drawRelativeTo(t){e.relativeTo=t},setHideGaps(t){e.hideGaps=t},setAllowedGappyness(t){e.allowedGappyness=t},setContrastLettering(t){e.contrastLettering=t},setLoadingMSA(t){e.loadingMSA=t},setShowZoomStar(t){e.showZoomStar=t},setLoadingTree(t){e.loadingTree=t},setWidth(t){e.volatileWidth=t},setHeight(t){e.height=t},setError(t){e.error=t},setMousePos(t,r){e.mouseCol=t,e.mouseRow=r},setHoveredTreeNode(t){if(!t){e.hoveredTreeNode=void 0;return}let r=e.hierarchy.find(o=>o.data.id===t);if(!r){e.hoveredTreeNode=void 0;return}let n=r.leaves().map(o=>o.data.name);e.hoveredTreeNode={nodeId:t,descendantNames:n}},setHighlightedColumns(t){e.highlightedColumns=t},setShowDomains(t){e.showDomains=t},setSubFeatureRows(t){e.subFeatureRows=t},setMouseClickPos(t,r){e.mouseClickCol=t,e.mouseClickRow=r},setRowHeight(t){e.rowHeight=t},setColWidth(t){e.colWidth=t},setScrollY(t){e.scrollY=t},setCurrentAlignment(t){e.currentAlignment=t},toggleCollapsed(t){e.collapsed.includes(t)?e.collapsed.remove(t):e.collapsed.push(t)},toggleCollapsedLeaf(t){e.collapsedLeaves.includes(t)?e.collapsedLeaves.remove(t):e.collapsedLeaves.push(t)},setShowOnly(t){e.showOnly=t},setData(t){e.data=(0,K.cast)(t)},setMSAFilehandle(t){e.msaFilehandle=t},setTreeFilehandle(t){e.treeFilehandle=t},setGFFFilehandle(t){e.gffFilehandle=t},setMSA(t){e.data.setMSA(t)},setTree(t){e.data.setTree(t)},setTreeMetadata(t){e.data.setTreeMetadata(t)}})).views(e=>({get hideGapsEffective(){return e.hideGaps&&(e.collapsed.length>0||e.collapsedLeaves.length>0||e.allowedGappyness<100)},get realAllowedGappyness(){return this.hideGapsEffective?e.allowedGappyness:100},get actuallyShowDomains(){return e.showDomains&&!!e.interProAnnotations},get viewInitialized(){return e.volatileWidth!==void 0},get width(){if(e.volatileWidth===void 0)throw new Error("not initialized");return e.volatileWidth}})).views(e=>({extraViewMenuItems(){return[]},get colorScheme(){return ri[e.colorSchemeName]},get header(){return this.MSA?.getHeader()||{}},get alignmentNames(){return this.MSA?.alignmentNames||[]},get noTree(){return!!this.tree.noTree},get noDomains(){return!e.interProAnnotations},menuItems(){return[]},get treeMetadata(){return e.data.treeMetadata?JSON.parse(e.data.treeMetadata):{}},get MSA(){let t=e.data.msa;return t?ui(t)?new Qn(t,e.currentAlignment):tn.sniff(t)?new tn(t):t.startsWith(">")?new Sn(t):t.startsWith("SEQ")?new bn(t):new Bn(t):null},get numColumns(){return(this.MSA?.getWidth()||0)-this.blanks.length},get tree(){let t=e.data.tree;return Ad(t?ci(t.startsWith("BioTreeContainer")?Sb(Jb(t)):eo(t.startsWith("SEQ")?Jc(t).tree:t)):this.MSA?.getTree()||{noTree:!0,children:[],id:"empty",name:"empty"})},get rowNames(){return this.leaves.map(t=>t.data.name)},get mouseOverRowName(){let{mouseRow:t}=e;return t===void 0?void 0:this.rowNames[t]},get hoveredInsertion(){let{mouseCol:t,mouseRow:r}=e;if(t===void 0||r===void 0)return;let n=this.rowNames[r];if(!n)return;let o=this.insertionPositions.get(n);if(!o)return;let i=o.find(s=>s.pos===t);if(i)return{rowName:n,col:t,letters:i.letters}},get root(){let t=ai(this.tree,r=>r.children).sum(r=>r.children?0:1).sort((r,n)=>yc(r.data.length||1,n.data.length||1));if(e.showOnly){let r=t.find(n=>n.data.id===e.showOnly);r&&(t=r)}return[...e.collapsed,...e.collapsedLeaves].map(r=>t.find(n=>n.data.id===r)).filter(we.notEmpty).forEach(r=>{Ux(r)}),t},get msaAreaWidth(){return e.width-e.treeAreaWidth},get treeAreaWidthMinusMargin(){return e.treeAreaWidth-e.marginLeft},get blanks(){let{hideGapsEffective:t,realAllowedGappyness:r}=e;if(!t)return[];let n=this.leaves.map(l=>this.MSA?.getRow(l.data.name)).filter(we.notEmpty);if(n.length===0)return[];let o=n[0].length,i=n.length,s=Math.ceil(r/100*i),a=new Uint16Array(o);for(let l=0;l<i;l++){let A=n[l];for(let u=0;u<o;u++)A.charCodeAt(u)-45>>>0<=1&&a[u]++}let c=[];for(let l=0;l<o;l++)a[l]>=s&&c.push(l);return c},get blanksSet(){return new Set(this.blanks)},get insertionPositions(){let{hideGapsEffective:t}=e,{blanks:r,rows:n}=this,o=r.length;if(o===0||!t)return new Map;let i=new Map;for(let[s,a]of n){let c=[],l=0,A=0,u=-1,f=[],m=a.length;for(let g=0;g<m;g++)A<o&&r[A]===g?(a.charCodeAt(g)-45>>>0<=1||(u===l?f.push(a[g]):(f.length>0&&c.push({pos:u,letters:f.join("")}),u=l,f=[a[g]])),A++):l++;f.length>0&&c.push({pos:u,letters:f.join("")}),c.length>0&&i.set(s,c)}return i},get rows(){let t=this.MSA;return this.leaves.map(r=>[r.data.name,t?.getRow(r.data.name)]).filter(r=>!!r[1])},get numRows(){return this.rows.length},get rowMap(){return new Map(this.rows)},get columns(){return Object.fromEntries(this.rows.map((t,r)=>[t[0],this.columns2d[r]]))},get columns2d(){let{hideGapsEffective:t}=e;return this.rows.map(r=>r[1]).map(r=>t?uf(this.blanks,r):r)},get fontSize(){return Math.min(Math.max(6,e.rowHeight-3),18)},get colStats(){let t=[],r=this.columns2d;for(let n of r)for(let o=0;o<n.length;o++){let i=t[o]||{},s=n[o];i[s]||(i[s]=0),i[s]++,t[o]=i}return t},get colStatsSums(){return this.colStats.map(t=>(0,we.sum)(Object.values(t)))},get sequenceType(){let t=new Set;for(let s of this.colStats)for(let a of Object.keys(s)){let c=a.toUpperCase();c!=="-"&&c!=="."&&t.add(c)}let r=new Set(["A","C","G","T","N"]),n=new Set(["A","C","G","U","N"]),o=[...t].every(s=>r.has(s)),i=[...t].every(s=>n.has(s));return o&&!t.has("U")?"dna":i&&!t.has("T")?"rna":"amino"},get colConsensus(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>{let i=r[o],s=0,a="";for(let l in n){let A=n[l];A>s&&l!=="-"&&l!=="."&&(s=A,a=l)}let c=s/i;return{letter:a,color:c>.4?`hsl(240, 30%, ${100*Math.max(1-c/3,.3)}%)`:void 0}})},get colClustalX(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>{let i=r[o],s={},a=n.W??0,c=n.L??0,l=n.V??0,A=n.I??0,u=n.M??0,f=n.A??0,m=n.F??0,g=n.C??0,h=n.H??0,C=n.P??0,E=n.R??0,x=n.K??0,y=n.Q??0,w=n.E??0,b=n.D??0,M=n.T??0,v=n.S??0,T=n.G??0,_=n.Y??0,P=n.N??0,B=a+c+l+A+u+f+m+g+h+C+_,J=x+E,X=y+w,H=w+b,Be=M+v;return B/i>.6&&(s.W="rgb(128,179,230)",s.L="rgb(128,179,230)",s.V="rgb(128,179,230)",s.A="rgb(128,179,230)",s.I="rgb(128,179,230)",s.M="rgb(128,179,230)",s.F="rgb(128,179,230)",s.C="rgb(128,179,230)"),(J/i>.6||x/i>.8||E/i>.8||y/i>.8)&&(s.K="#d88",s.R="#d88"),(J/i>.6||X/i>.5||w/i>.8||y/i>.8||b/i>.8)&&(s.E="rgb(192, 72, 192)"),(J/i>.6||H/i>.5||x/i>.8||E/i>.8||y/i>.8)&&(s.D="rgb(204, 77, 204)"),(P/i>.5||_/i>.85)&&(s.N="#8f8"),(J/i>.6||X/i>.6||y/i>.85||w/i>.85||x/i>.85||E/i>.85)&&(s.Q="#8f8"),(B/i>.6||Be/i>.5||v/i>.85||M/i>.85)&&(s.S="rgb(26,204,26)",s.T="rgb(26,204,26)"),g/i>.85&&(s.C="rgb(240, 128, 128)"),T/i>0&&(s.G="rgb(240, 144, 72)"),C/i>0&&(s.P="rgb(204, 204, 0)"),(B/i>.6||a/i>.85||_/i>.85||f/i>.85||g/i>.85||C/i>.85||y/i>.85||m/i>.85||h/i>.85||A/i>.85||c/i>.85||u/i>.85||l/i>.85)&&(s.H="rgb(26, 179, 179)",s.Y="rgb(26, 179, 179)"),s})},get conservation(){let{colStats:t,colStatsSums:r,sequenceType:n}=this,i=Math.log2(n==="amino"?20:4);return t.map((s,a)=>{let c=r[a];if(!c)return 0;let l=(s["-"]||0)+(s["."]||0),A=c-l;if(A===0)return 0;let u={};for(let h of Object.keys(s)){if(h==="-"||h===".")continue;let C=h.toUpperCase();u[C]=(u[C]||0)+s[h]}let f=0;for(let h of Object.keys(u)){let C=u[h]/A;C>0&&(f-=C*Math.log2(C))}let m=l/c;return Math.max(0,1-f/i)*(1-m)})},get hierarchy(){let t=this.root;return Rf().size([this.totalHeight,e.treeWidth]).separation(()=>1)(t),ff(t,t.data.length=0,e.treeWidth/df(t)),t},get totalHeight(){return this.root.leaves().length*e.rowHeight},get leaves(){return this.hierarchy.leaves()},get allBranchesLength0(){return this.hierarchy.links().every(t=>!t.source.data.length)},get showBranchLenEffective(){return this.allBranchesLength0?!1:e.showBranchLen}})).views(e=>({get totalWidth(){return e.numColumns*e.colWidth}})).views(e=>({get dataInitialized(){return(e.data.msa||e.data.tree)&&!e.error},get blocksX(){return gb({viewportWidth:e.msaAreaWidth,viewportX:-e.scrollX,blockSize:e.blockSize,mapWidth:e.totalWidth})},get blocksY(){return mb({viewportHeight:e.height,viewportY:-e.scrollY,blockSize:e.blockSize,mapHeight:e.totalHeight})}})).views(e=>({get blocks2d(){let t=[];for(let r of e.blocksY)for(let n of e.blocksX)t.push([n,r]);return t},get isLoading(){return e.loadingMSA||e.loadingTree},get maxScrollX(){return Math.min(-e.totalWidth+(e.msaAreaWidth-100),0)},get showMsaLetters(){return e.drawMsaLetters&&e.rowHeight>=5&&e.colWidth>e.rowHeight/2},get showTreeText(){return e.drawLabels&&e.rowHeight>=5}})).actions(e=>({setDrawMsaLetters(t){e.drawMsaLetters=t},calculateNeighborJoiningTreeFromMSA(){if(e.rows.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=Ob(e.rows);e.setTree(t)},resetZoom(){e.setColWidth(12),e.setRowHeight(16)},zoomOutHorizontal(){e.colWidth=Math.max(1,Math.floor(e.colWidth*.75)),e.scrollX=(0,we.clamp)(e.scrollX,e.maxScrollX,0)},zoomInHorizontal(){e.colWidth=Math.ceil(e.colWidth*1.5),e.scrollX=(0,we.clamp)(e.scrollX,e.maxScrollX,0)},zoomInVertical(){e.rowHeight=Math.ceil(e.rowHeight*1.5)},zoomOutVertical(){e.rowHeight=Math.max(1.5,Math.floor(e.rowHeight*.75))},zoomIn(){(0,Ut.transaction)(()=>{e.colWidth=Math.ceil(e.colWidth*1.5),e.rowHeight=Math.ceil(e.rowHeight*1.5),e.scrollX=(0,we.clamp)(e.scrollX,e.maxScrollX,0)})},zoomOut(){(0,Ut.transaction)(()=>{e.colWidth=Math.max(1,Math.floor(e.colWidth*.75)),e.rowHeight=Math.max(1.5,Math.floor(e.rowHeight*.75)),e.scrollX=(0,we.clamp)(e.scrollX,e.maxScrollX,0)})},setInterProAnnotations(t){e.interProAnnotations=t},doScrollY(t){e.scrollY=(0,we.clamp)(e.scrollY+t,-e.totalHeight+10,0)},doScrollX(t){this.setScrollX(e.scrollX+t)},setScrollX(t){e.scrollX=(0,we.clamp)(t,e.maxScrollX,0)},toggleTrack(t){e.turnedOffTracks.has(t)?e.turnedOffTracks.delete(t):e.turnedOffTracks.set(t,!0)},setStatus(t){e.status=t}})).views(e=>({get labelsWidth(){let t=0,{rowHeight:r,leaves:n,treeMetadata:o,fontSize:i}=e;if(r>5)for(let s of n)t=Math.max(Mb(o[s.data.name]?.genome||s.data.name,i),t);return t},get secondaryStructureConsensus(){return e.MSA?.secondaryStructureConsensus},get seqConsensus(){return e.MSA?.seqConsensus},get adapterTrackModels(){let{rowHeight:t,MSA:r,hideGapsEffective:n,blanks:o}=e;return r?.tracks.filter(i=>i.data).map(i=>({model:{...i,data:n?uf(o,i.data):i.data,height:t},ReactComponent:yb}))||[]},get tracks(){let t={model:{id:"conservation",name:"Conservation",height:e.conservationTrackHeight},ReactComponent:Eb};return[...this.adapterTrackModels,t]},get turnedOnTracks(){return this.tracks.filter(t=>!e.turnedOffTracks.has(t.model.id))},get showHorizontalScrollbar(){return e.msaAreaWidth<e.totalWidth},get rowNamesSet(){return new Map(e.rowNames.map((t,r)=>[t,r]))},visibleColToRowLetter(t,r){let{rowMap:n,blanks:o}=e;return n.get(t)?.[ud(o,r)]},visibleColToSeqPos(t,r){return jb({rowName:t,visibleCol:r,rowMap:e.rowMap,blanks:e.blanks})},visibleColToSeqPosOneBased(t,r){let n=this.visibleColToSeqPos(t,r);return n!==void 0?n+1:void 0},globalColToVisibleCol(t){let{blanks:r,hideGapsEffective:n}=e;return n?qb(r,t):t},seqPosToGlobalCol(t,r){let{rows:n}=e,o=this.rowNamesSet.get(t);return o!==void 0&&n[o]?Wb({row:n[o][1],seqPos:r}):0},seqPosToVisibleCol(t,r){let n=this.seqPosToGlobalCol(t,r);return this.globalColToVisibleCol(n)}})).views(e=>({get msaAreaHeight(){return e.height-(e.showHorizontalScrollbar?e.minimapHeight:0)-e.headerHeight},get totalTrackAreaHeight(){return(0,we.sum)(e.turnedOnTracks.map(t=>t.model.height))},get tidyInterProAnnotationTypes(){let t=new Map;for(let r of this.tidyInterProAnnotations)t.set(r.accession,r);return t},get tidyInterProAnnotations(){let t=[],{interProAnnotations:r}=e;if(r)for(let[n,o]of Object.entries(r))for(let{signature:i,locations:s}of o.matches){let{entry:a}=i;if(a){let{name:c,accession:l,description:A}=a;for(let{start:u,end:f}of s)t.push({id:n,name:c,accession:l,description:A,start:u,end:f})}}return t.toSorted((n,o)=>mf(o)-mf(n))},get tidyFilteredInterProAnnotations(){return this.tidyInterProAnnotations.filter(t=>e.featureFilters.get(t.accession))},get tidyFilteredGatheredInterProAnnotations(){return(0,we.groupBy)(this.tidyFilteredInterProAnnotations,t=>t.id)}})).views(e=>({get showVerticalScrollbar(){return e.msaAreaHeight<e.totalHeight}})).views(e=>({get verticalScrollbarWidth(){return e.showVerticalScrollbar?20:0},get fillPalette(){return Bb([...e.tidyInterProAnnotationTypes.keys()])},get strokePalette(){return Object.fromEntries(Object.entries(this.fillPalette).map(([t,r])=>[t,Qt(r).darken(.1).toHex()]))},getRowData(t){return{data:e.MSA?.getRowData(t),treeMetadata:e.treeMetadata[t]}}})).actions(e=>({setHeaderHeight(t){e.headerHeight=t},setConservationTrackHeight(t){e.conservationTrackHeight=t},reset(){e.setData({tree:"",msa:""}),e.resetZoom(),e.setError(void 0),e.setScrollY(0),e.setScrollX(0),e.setCurrentAlignment(0),e.setTreeFilehandle(void 0),e.setMSAFilehandle(void 0)},async exportSVG(t){let{renderToSvg:r}=await Promise.resolve().then(()=>(uS(),AS)),n=await r(e,t),o=new Blob([n],{type:"image/svg+xml"});Xb(o,"image.svg")},incrementRef(){e.nref++},initFilter(t){e.featureFilters.get(t)===void 0&&e.featureFilters.set(t,!0)},setFilter(t,r){e.featureFilters.set(t,r)},fit(){e.rowHeight=e.msaAreaHeight/e.numRows,e.colWidth=e.msaAreaWidth/e.numColumns,e.scrollX=0,e.scrollY=0},fitVertically(){e.rowHeight=e.msaAreaHeight/e.numRows,e.scrollY=0},fitHorizontally(){e.colWidth=e.msaAreaWidth/e.numColumns,e.scrollX=0},afterCreate(){(0,K.addDisposer)(e,(0,Ut.autorun)(()=>{for(let t of e.tidyInterProAnnotationTypes.keys())this.initFilter(t)})),(0,K.addDisposer)(e,(0,Ut.autorun)(()=>{(0,we.localStorageSetBoolean)(yS,e.showZoomStar)})),(0,K.addDisposer)(e,(0,Ut.autorun)(async()=>{let{treeFilehandle:t}=e;if(t)try{e.setLoadingTree(!0),e.setTree(await(0,we.fetchAndMaybeUnzipText)((0,ms.openLocation)(t))),t.locationType==="BlobLocation"&&e.setTreeFilehandle(void 0)}catch(r){console.error(r),e.setError(r)}finally{e.setLoadingTree(!1)}})),(0,K.addDisposer)(e,(0,Ut.autorun)(async()=>{let{treeMetadataFilehandle:t}=e;if(t)try{e.setTreeMetadata(await(0,we.fetchAndMaybeUnzipText)((0,ms.openLocation)(t)))}catch(r){console.error(r),e.setError(r)}})),(0,K.addDisposer)(e,(0,Ut.autorun)(async()=>{let{gffFilehandle:t}=e;if(t)try{let r=await(0,we.fetchAndMaybeUnzipText)((0,ms.openLocation)(t)),n=Uc(r),o=Yc(n);e.setInterProAnnotations(o),e.setShowDomains(!0),t.locationType==="BlobLocation"&&e.setGFFFilehandle(void 0)}catch(r){console.error(r),e.setError(r)}})),(0,K.addDisposer)(e,(0,Ut.autorun)(async()=>{let{msaFilehandle:t}=e;if(t)try{e.setLoadingMSA(!0),e.setError(void 0);let r=await(0,we.fetchAndMaybeUnzipText)((0,ms.openLocation)(t));(0,Ut.transaction)(()=>{e.setMSA(r),t.locationType==="BlobLocation"&&e.setMSAFilehandle(void 0)})}catch(r){console.error(r),e.setError(r)}finally{e.setLoadingMSA(!1)}})),(0,K.addDisposer)(e,(0,Ut.autorun)(()=>{e.colorSchemeName.includes("dynamic")&&(e.colStats,e.colStatsSums),e.columns})),(0,K.addDisposer)(e,(0,Ut.autorun)(async()=>{e.treeWidthMatchesArea&&e.setTreeWidth(Math.max(50,e.treeAreaWidth-e.labelsWidth-10-e.marginLeft))}))}})).postProcessSnapshot(e=>{let t=e,{data:{tree:r,msa:n,treeMetadata:o},showDomains:i,hideGaps:s,allowedGappyness:a,contrastLettering:c,subFeatureRows:l,drawMsaLetters:A,height:u,rowHeight:f,scrollY:m,scrollX:g,colWidth:h,currentAlignment:C,collapsed:E,collapsedLeaves:x,showOnly:y,turnedOffTracks:w,featureFilters:b,relativeTo:M,bgColor:v,colorSchemeName:T,drawLabels:_,labelsAlignRight:P,treeAreaWidth:B,treeWidth:J,treeWidthMatchesArea:X,showBranchLen:H,drawTree:Be,drawNodeBubbles:pt,...or}=t;return{...or,data:{...e.treeFilehandle?{}:{tree:r},...e.msaFilehandle?{}:{msa:n},...e.treeMetadataFilehandle?{}:{treeMetadata:o}},...i!==!1?{showDomains:i}:{},...s!==!0?{hideGaps:s}:{},...a!==100?{allowedGappyness:a}:{},...c!==!0?{contrastLettering:c}:{},...l!==!1?{subFeatureRows:l}:{},...A!==!0?{drawMsaLetters:A}:{},...u!==550?{height:u}:{},...f!==16?{rowHeight:f}:{},...m!==0?{scrollY:m}:{},...g!==0?{scrollX:g}:{},...h!==12?{colWidth:h}:{},...C!==0?{currentAlignment:C}:{},...E?.length?{collapsed:E}:{},...x?.length?{collapsedLeaves:x}:{},...y!==void 0?{showOnly:y}:{},...w&&Object.keys(w).length>0?{turnedOffTracks:w}:{},...b&&Object.keys(b).length>0?{featureFilters:b}:{},...M!==void 0?{relativeTo:M}:{},...v!==!0?{bgColor:v}:{},...T!==jc?{colorSchemeName:T}:{},..._!==!0?{drawLabels:_}:{},...P!==!1?{labelsAlignRight:P}:{},...B!==400?{treeAreaWidth:B}:{},...J!==300?{treeWidth:J}:{},...X!==!0?{treeWidthMatchesArea:X}:{},...H!==!0?{showBranchLen:H}:{},...Be!==!0?{drawTree:Be}:{},...pt!==!0?{drawNodeBubbles:pt}:{}}})}var we,ms,ro,K,Ut,yS,hd,wS=p(()=>{we=d(se(),1),ms=d(IB(),1),ro=d(yB(),1),K=d(Nt(),1);Ic();Af();$B();Ut=d(Yr(),1);db();pb();bc();Ib();wb();Vc();bb();Qb();vb();_b();Nb();Rb();Gb();Hb();Ub();Yb();Vb();Kb();yn();Zb();yS="msa-showZoomStar";hd=nk});var Cd=p(()=>{CB();wS()});var jS={};et(jS,{default:()=>wk});var le,US,YS,me,qS,yk,wk,VS=p(()=>{"use strict";le=d(S()),US=d(xe()),YS=d(se()),me=d(N()),qS=d(G()),yk=(0,qS.observer)(function({model:t,handleClose:r}){let n=(0,YS.getSession)(t),[o,i]=(0,le.useState)(""),[s,a]=(0,le.useState)(0),[c,l]=(0,le.useState)(t.querySeqName),[A,u]=(0,le.useState)(),f=n.views.filter(E=>E.type==="ProteinView"),g=f.find(E=>E.id===o)?.structures??[],h=t.rows.map(E=>E[0]),C=()=>{if(!o){u("Please select a protein view");return}try{t.connectToStructure(o,s,c),r()}catch(E){u(E instanceof Error?E.message:String(E))}};return le.default.createElement(US.Dialog,{maxWidth:"sm",title:"Connect to Protein Structure",open:!0,onClose:r},le.default.createElement(me.DialogContent,null,f.length===0?le.default.createElement(me.Typography,{color:"textSecondary"},"No protein views are currently open. Please open a protein structure view first."):le.default.createElement(le.default.Fragment,null,le.default.createElement(me.FormControl,{fullWidth:!0,sx:{mb:2}},le.default.createElement(me.InputLabel,null,"Protein View"),le.default.createElement(me.Select,{value:o,label:"Protein View",onChange:E=>{i(E.target.value),a(0)}},f.map(E=>le.default.createElement(me.MenuItem,{key:E.id,value:E.id},E.displayName??`ProteinView ${E.id}`)))),g.length>1&&le.default.createElement(me.FormControl,{fullWidth:!0,sx:{mb:2}},le.default.createElement(me.InputLabel,null,"Structure"),le.default.createElement(me.Select,{value:s,label:"Structure",onChange:E=>{a(E.target.value)}},g.map((E,x)=>le.default.createElement(me.MenuItem,{key:x,value:x},E.url??`Structure ${x+1}`)))),le.default.createElement(me.FormControl,{fullWidth:!0,sx:{mb:2}},le.default.createElement(me.InputLabel,null,"MSA Row"),le.default.createElement(me.Select,{value:c,label:"MSA Row",onChange:E=>{l(E.target.value)}},h.map(E=>le.default.createElement(me.MenuItem,{key:E,value:E},E)))),A&&le.default.createElement(me.Typography,{color:"error",sx:{mt:1}},A))),le.default.createElement(me.DialogActions,null,le.default.createElement(me.Button,{onClick:r},"Cancel"),le.default.createElement(me.Button,{onClick:C,variant:"contained",disabled:f.length===0||!o},"Connect")))}),wk=yk});function Sk({baseUrl:e,rid:t}){return yd.default.createElement(zS.Typography,null,"RID ",t," (",yd.default.createElement(Mi,{href:`${e}?CMD=Get&RID=${t}`},"see status"),")")}var yd,zS,wd,$S=p(()=>{"use strict";yd=d(S()),zS=d(N());sA();wd=Sk});function Qk({baseUrl:e,rid:t,error:r}){return nr.default.createElement("div",null,t?nr.default.createElement(wd,{rid:t,baseUrl:e}):null,nr.default.createElement(Xc.ErrorMessage,{error:r}))}function Mk({baseUrl:e,rid:t,progress:r}){let{classes:n}=eQ();return nr.default.createElement("div",{className:n.loading},t?nr.default.createElement(wd,{baseUrl:e,rid:t}):null,nr.default.createElement(Bd.Typography,null,r))}var nr,Xc,Bd,XS,ZS,eQ,vk,tQ,rQ=p(()=>{"use strict";nr=d(S()),Xc=d(xe()),Bd=d(N()),XS=d(G()),ZS=d(tt());$S();eQ=(0,ZS.makeStyles)()(e=>({margin:{padding:20},loading:{background:e.palette.background.paper}}));vk=(0,XS.observer)(function({model:t,baseUrl:r}){let{progress:n,rid:o,error:i,processing:s}=t,{classes:a}=eQ();return nr.default.createElement("div",{className:a.margin},nr.default.createElement(Xc.LoadingEllipses,{message:"Running NCBI BLAST",variant:"h5"}),i?nr.default.createElement(Qk,{baseUrl:r,rid:o,error:i}):o?nr.default.createElement(Mk,{baseUrl:r,rid:o,progress:n}):null,nr.default.createElement(Bd.Typography,null,s||"Initializing BLAST query"))}),tQ=vk});var iQ={};et(iQ,{default:()=>_k});var di,nQ,oQ,Tk,_k,sQ=p(()=>{"use strict";di=d(S()),nQ=d(xe()),oQ=d(G());Cd();rQ();Tk=(0,oQ.observer)(function({model:t}){let{blastParams:r,loadingStoredData:n}=t;return di.default.createElement("div",null,r?di.default.createElement(tQ,{model:t,baseUrl:r.baseUrl}):n?di.default.createElement("div",{style:{padding:20}},di.default.createElement(nQ.LoadingEllipses,{message:"Loading MSA data",variant:"h6"})):di.default.createElement(Ff,{model:t}))}),_k=Tk});var kk={};et(kk,{default:()=>Zc});var AQ=d(Jd()),Sd=d(Nn()),uQ=d(se()),Qd=d(Nt());z();var Kd=d(F(),1),zd=(0,D.createSvgIcon)((0,Kd.jsx)("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M8 20H4v-4h4zm0-6H4v-4h4zm0-6H4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4z"}),"GridOn");var sm=d(S()),am=d(se());var Ei=d(S()),om=d(G());var il=d(S()),tm=d(se()),sl=d(G());var em=d(tt()),ws=(0,em.makeStyles)()({highlight:{height:"100%",background:"rgba(255,255,0,0.2)",border:"1px solid rgba(50,50,0,0.2)",position:"absolute",zIndex:99,textAlign:"center",pointerEvents:"none",overflow:"hidden"}});var bQ=(0,sl.observer)(function({model:e}){let t=(0,tm.getSession)(e),{hovered:r,views:n}=t;return!n.some(i=>i.type==="MsaView")||!r||typeof r!="object"||!("hoverPosition"in r)?null:il.default.createElement(SQ,{model:e,hovered:r})}),SQ=(0,sl.observer)(function({model:e,hovered:t}){let{classes:r}=ws(),{offsetPx:n}=e,{coord:o,refName:i}=t.hoverPosition,s=e.bpToPx({refName:i,coord:o-1}),a=e.bpToPx({refName:i,coord:o});if(s&&a){let c=Math.max(Math.abs(a.offsetPx-s.offsetPx),4),l=Math.min(s.offsetPx,a.offsetPx)-n;return il.default.createElement("div",{className:r.highlight,style:{left:l,width:c}})}return null}),rm=bQ;var Ci=d(S()),al=d(se()),cl=d(G());var QQ=(0,cl.observer)(function({model:t}){let{views:r}=(0,al.getSession)(t),o=r.find(i=>i.type==="MsaView")?.connectedHighlights;return!o||o.length===0?null:Ci.default.createElement(MQ,{model:t,highlights:o})}),MQ=(0,cl.observer)(function({model:e,highlights:t}){let{classes:r}=ws(),{assemblyManager:n}=(0,al.getSession)(e),o=n.get(e.assemblyNames[0]),{offsetPx:i}=e;return o?Ci.default.createElement(Ci.default.Fragment,null,t.map((s,a)=>{let c=o.getCanonicalRefName(s.refName)??s.refName,l=e.bpToPx({refName:c,coord:s.start}),A=e.bpToPx({refName:c,coord:s.end});if(l&&A){let u=Math.max(Math.abs(A.offsetPx-l.offsetPx),4),f=Math.min(l.offsetPx,A.offsetPx)-i;return Ci.default.createElement("div",{key:`${s.refName}-${s.start}-${s.end}-${a}`,className:r.highlight,style:{left:f,width:u}})}return null})):null}),nm=QQ;var vQ=(0,om.observer)(function({model:t}){return Ei.default.createElement(Ei.default.Fragment,null,Ei.default.createElement(nm,{model:t}),Ei.default.createElement(rm,{model:t}))}),im=vQ;function ll(e){e.addToExtensionPoint("LinearGenomeView-TracksContainerComponent",(t,{model:r})=>{let{views:n}=(0,am.getSession)(r);return n.some(i=>i.type==="MsaView")?[...t,sm.default.createElement(im,{key:"highlight_protein_viewer_msaview",model:r})]:t})}var Jm=d(Al());var lm=d(Nn());function ul(e){let t=e.getAdapterType("BgzipFastaAdapter");return(0,lm.ConfigurationSchema)("BgzipFastaMsaAdapter",{msaRegex:{type:"string",defaultValue:"_"}},{baseConfiguration:t?.configSchema})}function Ml(e){return e.addAdapterType(()=>new Jm.AdapterType({name:"BgzipFastaMsaAdapter",configSchema:ul(e),adapterMetadata:{hiddenFromGUI:!0},getAdapterClass:()=>Promise.resolve().then(()=>(Hm(),Om)).then(t=>t.default)}))}var ha=d(se());z();var Um=d(F(),1),Ym=(0,D.createSvgIcon)((0,Um.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");var nt=d(S()),uh=d(Nn()),fh=d(xe()),dh=d(se()),On=d(N());var ht=d(S()),Ks=d(xe()),zs=d(se()),Hr=d(N()),vg=d(G()),Tg=d(tt());function Vm({session:e,newViewTitle:t,view:r,feature:n,data:o}){e.addView("MsaView",{type:"MsaView",displayName:t,colWidth:10,rowHeight:12,data:o,connectedViewId:r.id,connectedFeature:n.toJSON()})}var qe=d(S(),1),Yl=d($m(),1);var rt=d(S(),1);var un={};et(un,{ERROR_REVALIDATE_EVENT:()=>jQ,FOCUS_EVENT:()=>Xm,MUTATE_EVENT:()=>eg,RECONNECT_EVENT:()=>Zm});var Xm=0,Zm=1,eg=2,jQ=3;var tg=Object.prototype.hasOwnProperty;function Ds(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((n=e.length)===t.length)for(;n--&&Ds(e[n],t[n]););return n===-1}if(!r||typeof e=="object"){n=0;for(r in e)if(tg.call(e,r)&&++n&&!tg.call(t,r)||!(r in t)||!Ds(e[r],t[r]))return!1;return Object.keys(t).length===n}}return e!==e&&t!==t}var sr=new WeakMap,ar=()=>{},He=ar(),go=Object,j=e=>e===He,Lt=e=>typeof e=="function",cr=(e,t)=>({...e,...t}),Ps=e=>Lt(e.then),Tl={},ks={},Rl="undefined",po=typeof window!=Rl,Ls=typeof document!=Rl,ng=po&&"Deno"in window,og=()=>po&&typeof window.requestAnimationFrame!=Rl,Gs=(e,t)=>{let r=sr.get(e);return[()=>!j(t)&&e.get(t)||Tl,n=>{if(!j(t)){let o=e.get(t);t in ks||(ks[t]=o),r[5](t,cr(o,n),o||Tl)}},r[6],()=>!j(t)&&t in ks?ks[t]:!j(t)&&e.get(t)||Tl]},kl=!0,VQ=()=>kl,[Nl,Ll]=po&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[ar,ar],WQ=()=>{let e=Ls&&document.visibilityState;return j(e)||e!=="hidden"},KQ=e=>(Ls&&document.addEventListener("visibilitychange",e),Nl("focus",e),()=>{Ls&&document.removeEventListener("visibilitychange",e),Ll("focus",e)}),zQ=e=>{let t=()=>{kl=!0,e()},r=()=>{kl=!1};return Nl("online",t),Nl("offline",r),()=>{Ll("online",t),Ll("offline",r)}},ig={isOnline:VQ,isVisible:WQ},sg={initFocus:KQ,initReconnect:zQ},Os=!rt.default.useId,fn=!po||ng,Pl=e=>og()?window.requestAnimationFrame(e):setTimeout(e,1),ho=fn?rt.useEffect:rt.useLayoutEffect,_l=typeof navigator<"u"&&navigator.connection,Fl=!fn&&_l&&(["slow-2g","2g"].includes(_l.effectiveType)||_l.saveData),Ns=new WeakMap,$Q=e=>go.prototype.toString.call(e),Dl=(e,t)=>e===`[object ${t}]`,XQ=0,Fs=e=>{let t=typeof e,r=$Q(e),n=Dl(r,"Date"),o=Dl(r,"RegExp"),i=Dl(r,"Object"),s,a;if(go(e)===e&&!n&&!o){if(s=Ns.get(e),s)return s;if(s=++XQ+"~",Ns.set(e,s),Array.isArray(e)){for(s="@",a=0;a<e.length;a++)s+=Fs(e[a])+",";Ns.set(e,s)}if(i){s="#";let c=go.keys(e).sort();for(;!j(a=c.pop());)j(e[a])||(s+=a+":"+Fs(e[a])+",");Ns.set(e,s)}}else s=n?e.toJSON():t=="symbol"?e.toString():t=="string"?JSON.stringify(e):""+e;return s},wi=e=>{if(Lt(e))try{e=e()}catch{e=""}let t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?Fs(e):"",[e,t]},ZQ=0,yi=()=>++ZQ;async function Hs(...e){let[t,r,n,o]=e,i=cr({populateCache:!0,throwOnError:!0},typeof o=="boolean"?{revalidate:o}:o||{}),s=i.populateCache,a=i.rollbackOnError,c=i.optimisticData,l=f=>typeof a=="function"?a(f):a!==!1,A=i.throwOnError;if(Lt(r)){let f=r,m=[],g=t.keys();for(let h of g)!/^\$(inf|sub)\$/.test(h)&&f(t.get(h)._k)&&m.push(h);return Promise.all(m.map(u))}return u(r);async function u(f){let[m]=wi(f);if(!m)return;let[g,h]=Gs(t,m),[C,E,x,y]=sr.get(t),w=()=>{let H=C[m];return(Lt(i.revalidate)?i.revalidate(g().data,f):i.revalidate!==!1)&&(delete x[m],delete y[m],H&&H[0])?H[0](2).then(()=>g().data):g().data};if(e.length<3)return w();let b=n,M,v=!1,T=yi();E[m]=[T,0];let _=!j(c),P=g(),B=P.data,J=P._c,X=j(J)?B:J;if(_&&(c=Lt(c)?c(X,B):c,h({data:c,_c:X})),Lt(b))try{b=b(X)}catch(H){M=H,v=!0}if(b&&Ps(b))if(b=await b.catch(H=>{M=H,v=!0}),T!==E[m][0]){if(v)throw M;return b}else v&&_&&l(M)&&(s=!0,h({data:X,_c:He}));if(s&&!v)if(Lt(s)){let H=s(b,X);h({data:H,error:He,_c:He})}else h({data:b,error:He,_c:He});if(E[m][1]=yi(),Promise.resolve(w()).then(()=>{h({_c:He})}),v){if(A)throw M;return}return b}}var rg=(e,t)=>{for(let r in e)e[r][0]&&e[r][0](t)},Gl=(e,t)=>{if(!sr.has(e)){let r=cr(sg,t),n=Object.create(null),o=Hs.bind(He,e),i=ar,s=Object.create(null),a=(A,u)=>{let f=s[A]||[];return s[A]=f,f.push(u),()=>f.splice(f.indexOf(u),1)},c=(A,u,f)=>{e.set(A,u);let m=s[A];if(m)for(let g of m)g(u,f)},l=()=>{if(!sr.has(e)&&(sr.set(e,[n,Object.create(null),Object.create(null),Object.create(null),o,c,a]),!fn)){let A=r.initFocus(setTimeout.bind(He,rg.bind(He,n,0))),u=r.initReconnect(setTimeout.bind(He,rg.bind(He,n,1)));i=()=>{A&&A(),u&&u(),sr.delete(e)}}};return l(),[e,o,l,i]}return[e,sr.get(e)[4]]},e1=(e,t,r,n,o)=>{let i=r.errorRetryCount,s=o.retryCount,a=~~((Math.random()+.5)*(1<<(s<8?s:8)))*r.errorRetryInterval;!j(i)&&s>i||setTimeout(n,a,o)},ag=Ds,[Js,cg]=Gl(new Map),Us=cr({onLoadingSlow:ar,onSuccess:ar,onError:ar,onErrorRetry:e1,onDiscarded:ar,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Fl?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:Fl?5e3:3e3,compare:ag,isPaused:()=>!1,cache:Js,mutate:cg,fallback:{}},ig),Ol=(e,t)=>{let r=cr(e,t);if(t){let{use:n,fallback:o}=e,{use:i,fallback:s}=t;n&&i&&(r.use=n.concat(i)),o&&s&&(r.fallback=cr(o,s))}return r},Rs=(0,rt.createContext)({}),Hl=e=>{let{value:t}=e,r=(0,rt.useContext)(Rs),n=Lt(t),o=(0,rt.useMemo)(()=>n?t(r):t,[n,r,t]),i=(0,rt.useMemo)(()=>n?o:Ol(r,o),[n,r,o]),s=o&&o.provider,a=(0,rt.useRef)(He);s&&!a.current&&(a.current=Gl(s(i.cache||Js),o));let c=a.current;return c&&(i.cache=c[0],i.mutate=c[1]),ho(()=>{if(c)return c[2]&&c[2](),c[3]},[]),(0,rt.createElement)(Rs.Provider,cr(e,{value:i}))};var lg="$inf$";var Co=d(S(),1);var Ag=po&&window.__SWR_DEVTOOLS_USE__,t1=Ag?window.__SWR_DEVTOOLS_USE__:[],r1=()=>{Ag&&(window.__SWR_DEVTOOLS_REACT__=Co.default)},n1=e=>Lt(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],o1=()=>{let e=(0,Co.useContext)(Rs);return(0,Co.useMemo)(()=>cr(Us,e),[e])};var i1=e=>(t,r,n)=>e(t,r&&((...i)=>{let[s]=wi(t),[,,,a]=sr.get(Js);if(s.startsWith(lg))return r(...i);let c=a[s];return j(c)?r(...i):(delete a[s],c)}),n),s1=t1.concat(i1),ug=e=>function(...r){let n=o1(),[o,i,s]=n1(r),a=Ol(n,s),c=e,{use:l}=a,A=(l||[]).concat(s1);for(let u=A.length;u--;)c=A[u](c);return c(o,i||a.fetcher||null,a)},fg=(e,t,r)=>{let n=t[e]||(t[e]=[]);return n.push(r),()=>{let o=n.indexOf(r);o>=0&&(n[o]=n[n.length-1],n.pop())}};r1();var a1=()=>{},QL=a1();var Jl=qe.default.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}}),Ul={dedupe:!0},dg=Promise.resolve(He),c1=(e,t,r)=>{let{cache:n,compare:o,suspense:i,fallbackData:s,revalidateOnMount:a,revalidateIfStale:c,refreshInterval:l,refreshWhenHidden:A,refreshWhenOffline:u,keepPreviousData:f,strictServerPrefetchWarning:m}=r,[g,h,C,E]=sr.get(n),[x,y]=wi(e),w=(0,qe.useRef)(!1),b=(0,qe.useRef)(!1),M=(0,qe.useRef)(x),v=(0,qe.useRef)(t),T=(0,qe.useRef)(r),_=()=>T.current,P=()=>_().isVisible()&&_().isOnline(),[B,J,X,H]=Gs(n,x),Be=(0,qe.useRef)({}).current,pt=j(s)?j(r.fallback)?He:r.fallback[x]:s,or=(ne,Ae)=>{for(let ie in Be){let ue=ie;if(ue==="data"){if(!o(ne[ue],Ae[ue])&&(!j(ne[ue])||!o(Er,Ae[ue])))return!1}else if(Ae[ue]!==ne[ue])return!1}return!0},on=(0,qe.useMemo)(()=>{let ne=!x||!t?!1:j(a)?_().isPaused()||i?!1:c!==!1:a,Ae=Xe=>{let Dt=cr(Xe);return delete Dt._k,ne?{isValidating:!0,isLoading:!0,...Dt}:Dt},ie=B(),ue=H(),at=Ae(ie),Lr=ie===ue?at:Ae(ue),ke=at;return[()=>{let Xe=Ae(B());return or(Xe,ke)?(ke.data=Xe.data,ke.isLoading=Xe.isLoading,ke.isValidating=Xe.isValidating,ke.error=Xe.error,ke):(ke=Xe,Xe)},()=>Lr]},[n,x]),sn=(0,Yl.useSyncExternalStore)((0,qe.useCallback)(ne=>X(x,(Ae,ie)=>{or(ie,Ae)||ne()}),[n,x]),on[0],on[1]),mi=!w.current,De=g[x]&&g[x].length>0,Nr=sn.data,ge=j(Nr)?pt&&Ps(pt)?Jl(pt):pt:Nr,_n=sn.error,pe=(0,qe.useRef)(ge),Er=f?j(Nr)?j(pe.current)?ge:pe.current:Nr:ge,ir=x&&j(ge),an=!fn&&(0,Yl.useSyncExternalStore)(()=>ar,()=>!1,()=>!0);m&&an&&!i&&ir&&console.warn(`Missing pre-initiated data for serialized key "${x}" during server-side rendering. Data fethcing should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let gi=De&&!j(_n)?!1:mi&&!j(a)?a:_().isPaused()?!1:i?j(ge)?!1:c:j(ge)||c,oo=!!(x&&t&&mi&&gi),ps=j(sn.isValidating)?oo:sn.isValidating,hs=j(sn.isLoading)?oo:sn.isLoading,qt=(0,qe.useCallback)(async ne=>{let Ae=v.current;if(!x||!Ae||b.current||_().isPaused())return!1;let ie,ue,at=!0,Lr=ne||{},ke=!C[x]||!Lr.dedupe,Xe=()=>Os?!b.current&&x===M.current&&w.current:x===M.current,Dt={isValidating:!1,isLoading:!1},ln=()=>{J(Dt)},Fr=()=>{let ct=C[x];ct&&ct[1]===ue&&delete C[x]},kt={isValidating:!0};j(B().data)&&(kt.isLoading=!0);try{if(ke&&(J(kt),r.loadingTimeout&&j(B().data)&&setTimeout(()=>{at&&Xe()&&_().onLoadingSlow(x,r)},r.loadingTimeout),C[x]=[Ae(y),yi()]),[ie,ue]=C[x],ie=await ie,ke&&setTimeout(Fr,r.dedupingInterval),!C[x]||C[x][1]!==ue)return ke&&Xe()&&_().onDiscarded(x),!1;Dt.error=He;let ct=h[x];if(!j(ct)&&(ue<=ct[0]||ue<=ct[1]||ct[1]===0))return ln(),ke&&Xe()&&_().onDiscarded(x),!1;let jt=B().data;Dt.data=o(jt,ie)?jt:ie,ke&&Xe()&&_().onSuccess(ie,x,r)}catch(ct){Fr();let jt=_(),{shouldRetryOnError:io}=jt;jt.isPaused()||(Dt.error=ct,ke&&Xe()&&(jt.onError(ct,x,jt),(io===!0||Lt(io)&&io(ct))&&(!_().revalidateOnFocus||!_().revalidateOnReconnect||P())&&jt.onErrorRetry(ct,x,jt,pi=>{let so=g[x];so&&so[0]&&so[0](un.ERROR_REVALIDATE_EVENT,pi)},{retryCount:(Lr.retryCount||0)+1,dedupe:!0})))}return at=!1,ln(),!0},[x,n]),Dn=(0,qe.useCallback)((...ne)=>Hs(n,M.current,...ne),[]);if(ho(()=>{v.current=t,T.current=r,j(Nr)||(pe.current=Nr)}),ho(()=>{if(!x)return;let ne=qt.bind(He,Ul),Ae=0;_().revalidateOnFocus&&(Ae=Date.now()+_().focusThrottleInterval);let ue=fg(x,g,(at,Lr={})=>{if(at==un.FOCUS_EVENT){let ke=Date.now();_().revalidateOnFocus&&ke>Ae&&P()&&(Ae=ke+_().focusThrottleInterval,ne())}else if(at==un.RECONNECT_EVENT)_().revalidateOnReconnect&&P()&&ne();else{if(at==un.MUTATE_EVENT)return qt();if(at==un.ERROR_REVALIDATE_EVENT)return qt(Lr)}});return b.current=!1,M.current=x,w.current=!0,J({_k:y}),gi&&(C[x]||(j(ge)||fn?ne():Pl(ne))),()=>{b.current=!0,ue()}},[x]),ho(()=>{let ne;function Ae(){let ue=Lt(l)?l(B().data):l;ue&&ne!==-1&&(ne=setTimeout(ie,ue))}function ie(){!B().error&&(A||_().isVisible())&&(u||_().isOnline())?qt(Ul).then(Ae):Ae()}return Ae(),()=>{ne&&(clearTimeout(ne),ne=-1)}},[l,A,u,x]),(0,qe.useDebugValue)(Er),i){if(!Os&&fn&&ir)throw new Error("Fallback data is required when using Suspense in SSR.");ir&&(v.current=t,T.current=r,b.current=!1);let ne=E[x],Ae=!j(ne)&&ir?Dn(ne):dg;if(Jl(Ae),!j(_n)&&ir)throw _n;let ie=ir?qt(Ul):dg;!j(Er)&&ir&&(ie.status="fulfilled",ie.value=!0),Jl(ie)}return{mutate:Dn,get data(){return Be.data=!0,Er},get error(){return Be.error=!0,_n},get isValidating(){return Be.isValidating=!0,ps},get isLoading(){return Be.isLoading=!0,hs}}},ML=go.defineProperty(Hl,"defaultValue",{value:Us}),Ln=ug(c1);function ql(e,t=[]){if(e.children)for(let r of e.children){if(r.sequence){let n=r.sequence.id[0]?.accession;n&&t.push({id:n,seq:r.sequence.mol_seq.seq,species:r.taxonomy.common_name||r.taxonomy.scientific_name,genomicLocString:r.sequence.mol_seq.location})}ql(r,t)}return t}async function mg(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function Le(e,t){return(await mg(e,t)).text()}async function Eo(e,t){return(await mg(e,t)).json()}function Ys(e){return new Promise(t=>setTimeout(t,e))}async function Bi(e,t){let r=localStorage.getItem(e);if(r)try{return JSON.parse(r)}catch(o){console.error(`Error parsing cached data for ${e}:`,o),localStorage.removeItem(e)}let n=await t();return localStorage.setItem(e,JSON.stringify(n)),n}var gg="https://rest.ensembl.org";async function pg(e){let t=e.replace(/\..*/,""),{species:r}=await Bi(`${t}-ensembl`,()=>Eo(`${gg}/lookup/id/${t}?content-type=application/json`)),n=`${gg}/genetree/member/id/${r}/${t}`,o=await Bi(`${t}-msa`,()=>Eo(`${n}?content-type=application/json;aligned=1;sequence=pep`)),i=await Bi(`${t}-tree`,()=>Le(`${n}?nh_format=simple;content-type=text/x-nh`)),s=ql(o.tree);return{geneTreeId:o.id,tree:i,msa:s.map(a=>`>${a.id}
|
|
62
|
+
`);if(a===-1)continue;let c=s.slice(a+1).replaceAll(/\s/g,"");c&&r.push(c)}if(r.length<2)return!1;let n=!1,o=-1,i=!0;for(let s of r){let a=0;for(let c=0;c<s.length;c++){let l=s.charCodeAt(c);mi(l)?n=!0:(l>=65&&l<=90||l===45)&&a++}o===-1?o=a:a!==o&&(i=!1)}return n&&i}expandA3M(t,r){let n=r.length;if(n===0)return{};let o=[],i=[];for(let l=0;l<n;l++){let A=t[l],u=[],f=[],m=0;for(;m<A.length;){let p=A.charCodeAt(m);if(p>=65&&p<=90||p===45){u.push(A[m]);let h="",E=m+1;for(;E<A.length;){let C=A.charCodeAt(E);if(mi(C)||C===46)h+=A[E],E++;else break}f.push(h),m=E}else if(p===46)m++;else if(mi(p)){let h="";for(;m<A.length&&mi(A.charCodeAt(m));)h+=A[m],m++;u.push(""),f.push(h)}else m++}o.push(u),i.push(f)}let s=Math.max(...o.map(l=>l.length),0),a=new Array(s).fill(0);for(let l=0;l<n;l++){let A=i[l];for(let u=0;u<A.length;u++){let f=0;for(let m of A[u])mi(m.charCodeAt(0))&&f++;f>a[u]&&(a[u]=f)}}let c={};for(let l=0;l<n;l++){let A=o[l],u=i[l],f=[];for(let m=0;m<s;m++){let p=a[m];if(m<A.length){let h=A[m],E=u[m]||"";f.push(h||"-");let C="";for(let y of E)mi(y.charCodeAt(0))&&(C+=y.toUpperCase());f.push(C);let x=p-C.length;x>0&&f.push(".".repeat(x))}else f.push("-"),p>0&&f.push(".".repeat(p))}c[r[l]]=f.join("")}return c}getMSA(){return this.MSA}getRowData(){}getNames(){return this.orderedNames}getRow(t){return this.MSA.seqdata[t]||""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return t?this.getRow(t).length:0}getStructures(){return{}}get alignmentNames(){return[]}getHeader(){return{}}getTree(){return{id:"root",name:"root",noTree:!0,children:this.getNames().map(t=>({id:t,children:[],name:t}))}}get seqConsensus(){}get secondaryStructureConsensus(){}get tracks(){return[]}}});function F_(e){let t=/\(?(\d+(\.\d+)+)\)?/.exec(e);return t&&t.length>1?t[1]:""}function Ab(e){let t=["CLUSTAL","PROBCONS","MUSCLE","MSAPROBS","Kalign"];t.some(n=>e.startsWith(n))||console.warn(`${e} is not a known CLUSTAL header: ${t.join(",")}, proceeding but could indicate an issue`);let r=F_(e);return{info:e,version:r}}function Vc(e){let t=e.next();for(;!t.done&&t.value.trim()==="";)t=e.next();return t.value}function R_(e){let t=e.split(/\s+/),r=e.slice(t[0].length),n=t[0].length+r.indexOf(t[1]),o=n+t[1].length;return[n,o]}function lb(e){let t=Vc(e),r=[],n="";if(!t)return;for(;t;)t.startsWith(" ")?n=t:r.push(t),t=e.next().value;let[o,i]=R_(r[0]),a=r.map(u=>u.split(/\s+/)).map(u=>u[0]),c=r.map(u=>u.slice(o,i)),l=n.slice(o,i),A=c[0].length-l.length;return A&&(l+=" ".repeat(A)),{ids:a,seqs:c,consensus:l}}function ub(e){let t,r=lb(e);if(r!==void 0)for(;t=lb(e);){for(let n=0;n<t.seqs.length;n++)r.seqs[n]+=t.seqs[n];r.consensus+=t.consensus}return r}var Uf=g(()=>{});var fb=g(()=>{Uf()});function P_(e){let t=Vc(e);if(!t)throw new Error("Empty file received");let r=Ab(t),n=ub(e);if(n===void 0)throw new Error("No blocks parsed");let o=n.seqs.map((s,a)=>({id:n.ids[a],seq:s})),{consensus:i}=n;if(i.length!=o[0].seq.length)throw new Error(`Consensus length != sequence length. Con ${i.length} seq ${o[0].seq.length}`);return{consensus:i,alns:o,header:r}}function db(e){let t=e.split(`
|
|
63
|
+
`)[Symbol.iterator]();return P_(t)}var mb=g(()=>{fb();Uf()});var Qn,Yf=g(()=>{mb();Qn=class{MSA;constructor(t){this.MSA=db(t)}getMSA(){return this.MSA}getRow(t){return this.MSA.alns.find(r=>r.id===t)?.seq||""}getWidth(){return this.MSA.alns[0].seq.length}getRowData(){}getHeader(){return this.MSA.header}getNames(){return this.MSA.alns.map(t=>t.id)}getStructures(){return{}}get alignmentNames(){return[]}getTree(){return{id:"root",name:"root",noTree:!0,children:this.getNames().map(t=>({id:t,name:t,children:[]}))}}get seqConsensus(){return this.MSA.consensus}get secondaryStructureConsensus(){}get tracks(){return[]}}});function gb(e){let t=e.split(`
|
|
64
|
+
`).map(i=>i.trim()).filter(i=>!!i),r=[],n=[];for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n.push(i)}let o=r.map(i=>{let[,s,a,c,l,A,u,f,m]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:f,unknown:m,seq:""}});for(let i of n)for(let s=0;s<r.length;s++)o[s].seq+=i[s];return o}function Wc(e){let t=e.split(`
|
|
65
|
+
`).map(i=>i.trim()).filter(i=>!!i),r=[],n="";for(let i of t)if(i.startsWith("SEQ"))r.push(i);else{if(i.startsWith("DATA"))continue;if(i.startsWith("//"))break;n=i}let o=r.map(i=>{let[,s,a,c,l,A,u,f,m]=i.split(" ");return{species:s,protein:a,chr:c,start:+l,end:+A,strand:+u,geneId:f,unknown:m}});return{tree:n,seqs:o}}var qf=g(()=>{});var Mn,jf=g(()=>{qf();Mn=class{MSA;constructor(t){this.MSA=gb(t)}getMSA(){return this.MSA}getRow(t){return this.MSA.find(r=>r.protein===t)?.seq||""}getWidth(){return this.MSA[0].seq.length}getRowData(){}getHeader(){return""}getNames(){return this.MSA.map(t=>t.protein)}getStructures(){return{}}get alignmentNames(){return[]}getTree(){return{id:"root",name:"root",noTree:!0,children:this.getNames().map(t=>({id:t,name:t,children:[]}))}}get seqConsensus(){}get secondaryStructureConsensus(){}get tracks(){return[]}}});var vn,Vf=g(()=>{vn=class{MSA;constructor(t){let r={},n={};for(let o of t.split(">")){if(!/\S/.test(o))continue;let i=o.indexOf(`
|
|
66
|
+
`);if(i===-1)continue;let s=o.slice(0,i),a=s.indexOf(" "),c=a===-1?s:s.slice(0,a);c&&(r[c]=o.slice(i+1).replaceAll(/\s/g,""),c.includes(":")&&(n[c.replaceAll(":","_")]=c))}this.MSA={seqdata:r,colonNormalized:n}}getMSA(){return this.MSA}getRowData(){}getNames(){return Object.keys(this.MSA.seqdata)}getRow(t){return this.MSA.seqdata[t]??this.MSA.seqdata[this.MSA.colonNormalized[t]??""]??""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return this.getRow(t).length}getStructures(){return{}}get alignmentNames(){return[]}getHeader(){return{}}getTree(){return{id:"root",name:"root",noTree:!0,children:this.getNames().map(t=>({id:t,children:[],name:t}))}}get seqConsensus(){}get secondaryStructureConsensus(){}get tracks(){return[]}}});function ao(e){let t=[],r=[],n=e.replace(/'((?:[^']|'')*)'/g,(s,a)=>{let c=r.length;return r.push(a.replaceAll("''","'")),`__Q${c}__`}),o={},i=n.split(/\s*(;|\(|\)|,|:)\s*/);for(let s=0;s<i.length;s++){let c=i[s].replace(/^__Q(\d+)__$/,(A,u)=>r[Number(u)]),l={};switch(c){case"(":o.children=[l],t.push(o),o=l;break;case",":t.at(-1)?.children.push(l),o=l;break;case")":o=t.pop();break;case":":break;default:{let A=i[s-1];A===")"||A==="("||A===","?o.name=c:A===":"&&(o.length=Number.parseFloat(c))}}}return o}var Wf=g(()=>{});function gi(){return{gf:{},gc:{},gs:{},gr:{},seqname:[],seqdata:{}}}function pi(e){return pb.test(e)}function hb(e,t){let r=t??{},n=[],o=null,i=e.split(`
|
|
67
|
+
`);for(let s of i){let a;if(pb.test(s))o=gi();else if(G_.test(s))o&&n.push(o),o=null;else if(a=O_.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=gi()}let c=a[1];o.gf[c]||(o.gf[c]=[]),o.gf[c].push(a[2])}else if(a=H_.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=gi()}let c=a[1];o.gc[c]||(o.gc[c]=""),o.gc[c]+=a[2]}else if(a=J_.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=gi()}let c=a[1],l=a[2],A=a[3];o.gs[l]||(o.gs[l]={}),o.gs[l][c]||(o.gs[l][c]=[]),o.gs[l][c].push(A)}else if(a=U_.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=gi()}let c=a[1],l=a[2],A=a[3];o.gr[l]||(o.gr[l]={}),o.gr[l][c]||(o.gr[l][c]=""),o.gr[l][c]+=A}else if(a=Y_.exec(s)){if(!o){if(r.strict)throw new Error("No format header: # STOCKHOLM 1.0");o=gi()}let c=a[1],l=a[2];o.seqdata[c]||(o.seqdata[c]="",o.seqname.push(c)),o.seqdata[c]+=l}else if(q_.test(s)&&r.strict)throw new Error("Malformed line")}return o&&n.push(o),n}var pb,G_,O_,H_,J_,U_,Y_,q_,Kf=g(()=>{pb=/^# STOCKHOLM 1.0/,G_=/^\/\/\s*$/,O_=/^#=GF\s+(\S+)\s+(.*?)\s*$/,H_=/^#=GC\s+(\S+)\s+(.*?)\s*$/,J_=/^#=GS\s+(\S+)\s+(\S+)\s+(.*?)\s*$/,U_=/^#=GR\s+(\S+)\s+(\S+)\s+(.*?)\s*$/,Y_=/^\s*(\S+)\s+(\S+)\s*$/,q_=/\S/});var Tn,zf=g(()=>{Wf();Kf();Hf();Kf();Tn=class{data;MSA;constructor(t,r){let n=hb(t);this.data=n,this.MSA=n[r]}getMSA(){return this.MSA}getRow(t){return this.MSA.seqdata[t]||""}getWidth(){let t=Object.keys(this.MSA.seqdata)[0];return this.getRow(t).length}get alignmentNames(){return this.data.map((t,r)=>t.gf.DE?.[0]??`Alignment ${r+1}`)}getHeader(){let t=this.MSA.gs.AC??{},r=this.MSA.gs.DR??{};return{General:this.MSA.gf,Accessions:Object.fromEntries(Object.entries(t).map(([n,o])=>[n,o[0]])),Dbxref:Object.fromEntries(Object.entries(r).map(([n,o])=>[n,o.join("; ")]))}}getRowData(t){return{name:t,accession:this.MSA.gs.AC?.[t]?.[0],dbxref:this.MSA.gs.DR?.[t]?.join("; ")}}getNames(){return Object.keys(this.MSA.seqdata)}getSeqCoords(){}getStructures(){let t=/PDB; +(\S+) +(\S); ([0-9]+)-([0-9]+)/,r=this.MSA.gs.DR??{},n=Object.entries(r).flatMap(([i,s])=>s.map(a=>{let c=t.exec(a);return c?{id:i,match:c}:null})).filter(i=>!!i).map(({id:i,match:s})=>({id:i,pdb:s[1].toLowerCase(),chain:s[2],startPos:+s[3],endPos:+s[4]})),o={};for(let i of n){let{id:s,...a}=i;o[s]||(o[s]=[]),o[s].push(a)}return o}getTree(){let t=this.MSA.gf.NH?.[0];return t?di(ao(t)):{id:"root",name:"root",noTree:!0,children:this.getNames().map(r=>({id:r,children:[],name:r}))}}get seqConsensus(){return this.MSA.gc.seq_cons}get secondaryStructureConsensus(){return this.MSA.gc.SS_cons}get tracks(){return[{id:"seqConsensus",name:"Sequence consensus",data:this.seqConsensus,customColorScheme:{}},{id:"secondaryStruct",name:"Secondary-structure",data:this.secondaryStructureConsensus,customColorScheme:{">":"pink","<":"lightblue"}}]}}});var Cb=g(()=>{Jf();Yf();jf();Vf();zf();qf();Wf();Jf();Yf();jf();Vf();zf()});function j_(e){return e?Object.fromEntries(e.split(";").map(t=>t.trim()).filter(t=>!!t).map(t=>t.split("=")).map(([t,r])=>[t?.trim()??"",r?decodeURIComponent(r).trim().split(",").join(" "):void 0]).filter(([t])=>t!=="")):{}}function Kc(e){return e?e.split(`
|
|
68
|
+
`).map(t=>t.trim()).filter(t=>!!t&&!t.startsWith("#")).map(t=>{let r=t.split(" "),[n,o,i,s,a,c,l,A]=r,u=r[8];return{seq_id:n??"",source:o??"",type:i??"",start:Number(s)||0,end:Number(a)||0,score:Number(c)||0,strand:l??".",phase:A??".",...j_(u)}}):[]}var Eb=g(()=>{});function zc(e){let t=new Map;for(let n of e){let o=t.get(n.seq_id);o?o.push(n):t.set(n.seq_id,[n])}let r={};for(let[n,o]of t){let i=new Map,s=new Map;for(let c of o){let l=c.Name||c.ID||`${c.source}_${c.start}_${c.end}`,A=c.signature_desc||c.Name||l,u=c.Ontology_term||c.description||c.Note||A;s.has(l)||s.set(l,{name:A,description:u,accession:l});let f=i.get(l);f?f.push({start:c.start,end:c.end}):i.set(l,[{start:c.start,end:c.end}])}let a=[];for(let[c,l]of i){let A=s.get(c);a.push({signature:{entry:A},locations:l})}r[n]={matches:a,xref:[{id:n}]}}return r}var Ib=g(()=>{});var xb=g(()=>{});var yb=g(()=>{Eb();Ib();xb()});var wb=g(()=>{cb();Hf();Cb();yb()});function Bb({mapHeight:e,blockSize:t,viewportY:r,viewportHeight:n}){let o=Math.max(0,Math.min(r,e*t-n)),i=Math.floor(o/t),s=Math.floor((o+n-1)/t),a=[];for(let c=i;c<=s;c++)a.push(c*t);return a}function bb({mapWidth:e,blockSize:t,viewportX:r,viewportWidth:n}){let o=Math.max(0,Math.min(r,e-n)),i=Math.floor(o/t),s=Math.floor((o+n-1)/t),a=[];for(let c=i;c<=s;c++)a.push(c*t);return a}var Sb=g(()=>{});function $f({ctx:e,conservation:t,colWidth:r,trackHeight:n,offsetX:o,blockSize:i}){let s=Math.max(0,Math.floor(o/r)),a=Math.max(0,Math.ceil((o+i)/r));e.fillStyle="gray";for(let c=s;c<a&&c<t.length;c++){let A=t[c]*n,u=c*r;e.fillRect(u,n-A,r,A)}}function Xf({ctx:e,data:t,colorScheme:r,contrastScheme:n,bgColor:o,colWidth:i,rowHeight:s,offsetX:a,blockSize:c}){let l=Math.max(0,Math.floor(a/i)),A=Math.max(0,Math.ceil((a+c)/i)),u=t?.slice(l,A);for(let f=0;u&&f<u.length;f++){let m=u[f],p=r[m.toUpperCase()];if(o){let h=f*i+a-a%i;e.fillStyle=p||"white",e.fillRect(h,0,i,s),s>=10&&i>=s/2&&(e.fillStyle=n[m.toUpperCase()]||"black",e.fillText(m,h+i/2,s/2+1))}}}function z_({model:e,ctx:t,offsetX:r,offsetY:n,trackHeight:o,blockSizeXOverride:i,highResScaleFactorOverride:s}){let{blockSize:a,colWidth:c,highResScaleFactor:l,conservation:A}=e,u=i??a,f=s??l;t.resetTransform(),t.scale(f,f),t.translate(-r,n),$f({ctx:t,conservation:A,colWidth:c,trackHeight:o,offsetX:r,blockSize:u}),t.resetTransform()}function $_({model:e,ctx:t,track:r,offsetX:n,offsetY:o,contrastScheme:i,blockSizeXOverride:s,highResScaleFactorOverride:a}){let{blockSize:c,bgColor:l,colorScheme:A,colWidth:u,fontSize:f,rowHeight:m,highResScaleFactor:p}=e,{customColorScheme:h,data:E}=r.model,C=h??A,x=s??c,y=a??p;t.resetTransform(),t.scale(y,y),t.translate(-n,o),t.textAlign="center",t.font=t.font.replace(/\d+px/,`${f}px`),Xf({ctx:t,data:E,colorScheme:C,contrastScheme:i,bgColor:l,colWidth:u,rowHeight:m,offsetX:n,blockSize:x}),t.resetTransform()}function Qb({model:e,ctx:t,offsetX:r,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}){let{turnedOnTracks:s}=e,a=0;for(let c of s){let l=c.model.height;c.model.id==="conservation"?z_({model:e,ctx:t,offsetX:r,offsetY:a,trackHeight:l,blockSizeXOverride:o,highResScaleFactorOverride:i}):$_({model:e,ctx:t,track:c,offsetX:r,offsetY:a,contrastScheme:n,blockSizeXOverride:o,highResScaleFactorOverride:i}),a+=l}}var $c=g(()=>{});var ln,Mb,Zf,X_,Z_,vb,Tb=g(()=>{ln=d(b(),1),Mb=d(Ce(),1),Zf=d(O(),1);$c();X_=(0,Zf.observer)(function({model:e,offsetX:t,trackHeight:r}){let{blockSize:n,scrollX:o,colWidth:i,highResScaleFactor:s,conservation:a}=e,c=(0,ln.useRef)(null);return(0,ln.useEffect)(()=>{if(!c.current)return;let l=c.current.getContext("2d");l&&(l.resetTransform(),l.scale(s,s),l.clearRect(0,0,n,r),l.translate(-t,0),$f({ctx:l,conservation:a,colWidth:i,trackHeight:r,offsetX:t,blockSize:n}))},[n,i,r,t,s,a]),ln.default.createElement("canvas",{ref:c,height:r*s,width:n*s,style:{position:"absolute",left:o+t,width:n,height:r}})}),Z_=(0,Zf.observer)(function({model:e,track:t}){let{blocksX:r,msaAreaWidth:n}=e,o=t.model.height;return ln.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>ln.default.createElement(X_,{key:i,model:e,offsetX:i,trackHeight:o})),ln.default.createElement(Mb.ResizeHandle,{onDrag:i=>(e.setConservationTrackHeight(Math.max(10,e.conservationTrackHeight+i)),i),style:{position:"absolute",bottom:0,left:0,height:4,width:"100%",zIndex:1,background:"rgba(200,200,200,0.5)"}}))}),vb=Z_});var Gr,Db,ed,ek,tk,_b,kb=g(()=>{Gr=d(b(),1),Db=d(_(),1),ed=d(O(),1);bn();$c();ek=(0,ed.observer)(function({track:e,model:t,offsetX:r}){let{blockSize:n,scrollX:o,bgColor:i,colorScheme:s,colWidth:a,fontSize:c,rowHeight:l,highResScaleFactor:A}=t,{model:{customColorScheme:u,data:f}}=e,m=u||s,p=(0,Db.useTheme)(),h=(0,Gr.useRef)(null),E=(0,Gr.useMemo)(()=>oo(m,p),[m,p]);return(0,Gr.useEffect)(()=>{if(!h.current)return;let C=h.current.getContext("2d");C&&(C.resetTransform(),C.scale(A,A),C.clearRect(0,0,n,l),C.translate(-r,0),C.textAlign="center",C.font=C.font.replace(/\d+px/,`${c}px`),Xf({ctx:C,data:f,colorScheme:m,contrastScheme:E,bgColor:i,colWidth:a,rowHeight:l,offsetX:r,blockSize:n}))},[c,i,n,a,l,r,E,m,A,f]),Gr.default.createElement("canvas",{ref:h,height:l*A,width:n*A,style:{position:"absolute",left:o+r,width:n,height:l}})}),tk=(0,ed.observer)(function({track:e,model:t}){let{blocksX:r,msaAreaWidth:n,rowHeight:o}=t;return e.model.data?Gr.default.createElement("div",{style:{position:"relative",height:o,width:n,overflow:"hidden"}},r.map(i=>Gr.default.createElement(ek,{key:i,track:e,model:t,offsetX:i}))):null}),_b=tk});var Xc,Zc=g(()=>{Xc="maeditor"});function Nb(e){let t=Math.min(e.length-1,sf.length-1),r=sf[t];return Object.fromEntries(e.map((n,o)=>[n,r[o]]))}var Lb=g(()=>{af()});function Fb(e){let t=new Map;e.forEach(n=>{t.set(n.id,{...n,id:`${n.id}`,name:`${n.id}`,parent:n.parent!==void 0?`${n.parent}`:void 0,children:[]})});let r=[];return e.forEach(n=>{let o=t.get(n.id);if(n.parent!==void 0){let i=t.get(n.parent);i?i.children.push(o):r.push(o)}else r.push(o)}),r[0]}var Rb=g(()=>{});function Pb(e,t){td||(td=document.createElement("canvas"));let r=td.getContext("2d");if(!r)throw new Error("no canvas context");return r.font=r.font.replace(/\d+px/,`${t}px`),r.measureText(e).width}var td,Gb=g(()=>{});function Ob(){return Dn.types.model({tree:Dn.types.maybe(Dn.types.string),msa:Dn.types.maybe(Dn.types.string),treeMetadata:Dn.types.maybe(Dn.types.string)}).actions(e=>({setTree(t){e.tree=t},setMSA(t){e.msa=t},setTreeMetadata(t){e.treeMetadata=t}})).postProcessSnapshot(e=>{let{tree:t,msa:r,treeMetadata:n}=e,o=5e4;return{tree:t&&t.length>o?void 0:t,msa:r&&r.length>o?void 0:r,treeMetadata:n&&n.length>o?void 0:n}})}var Dn,Hb=g(()=>{Dn=d(Ft(),1)});function Ub(){return Jb.types.model("DialogQueueSessionMixin",{}).volatile(()=>({queueOfDialogs:[]})).views(e=>({get DialogComponent(){return e.queueOfDialogs[0]?.[0]},get DialogProps(){return e.queueOfDialogs[0]?.[1]}})).actions(e=>({removeActiveDialog(){e.queueOfDialogs=e.queueOfDialogs.slice(1)},queueDialog(t){let[r,n]=t(()=>{this.removeActiveDialog()});e.queueOfDialogs=[...e.queueOfDialogs,[r,n]]}}))}var Jb,Yb=g(()=>{Jb=d(Ft(),1)});function jb(){return qb.types.model({bgColor:!0,colorSchemeName:Xc}).actions(e=>({setColorSchemeName(t){e.colorSchemeName=t},setBgColor(t){e.bgColor=t}}))}var qb,Vb=g(()=>{qb=d(Ft(),1);Zc()});function Wb(){return hi.types.model({drawLabels:!0,labelsAlignRight:!1,treeAreaWidth:hi.types.optional(hi.types.number,400),treeWidth:hi.types.optional(hi.types.number,300),treeWidthMatchesArea:!0,showBranchLen:!0,drawTree:!0,drawNodeBubbles:!0}).actions(e=>({setTreeWidthMatchesArea(t){e.treeWidthMatchesArea=t},setTreeAreaWidth(t){e.treeAreaWidth=Math.round(t)},setTreeWidth(t){e.treeWidth=Math.round(t)},setLabelsAlignRight(t){e.labelsAlignRight=t},setDrawTree(t){e.drawTree=t},setShowBranchLen(t){e.showBranchLen=t},setDrawNodeBubbles(t){e.drawNodeBubbles=t},setDrawLabels(t){e.drawLabels=t}}))}var hi,Kb=g(()=>{hi=d(Ft(),1);Zc()});function ud(e,t){let r=e.toUpperCase(),n=t.toUpperCase();return rk[r]?.[n]??-4}function nk(e,t){if(e.length!==t.length)throw new Error("Sequences must have the same length (aligned)");let r=0,n=0,o=0,i=0;for(let l=0;l<e.length;l++){let A=e[l],u=t[l];if(A==="-"&&u==="-")continue;if(A==="-"||u==="-"){n++;continue}let f=ud(A,u);o+=f,i+=Math.max(ud(A,A),ud(u,u)),A.toUpperCase()===u.toUpperCase()?r++:n++}if(r+n===0||i<=0)return 1;let a=o/i,c=Math.max(.01,Math.min(1,a));return-Math.log(c)}function ok(e){let t=e.length,r=[];for(let n=0;n<t;n++){r[n]=[];for(let o=0;o<t;o++)n===o?r[n][o]=0:o<n?r[n][o]=r[o][n]:r[n][o]=nk(e[n][1],e[o][1])}return r}function ik(e,t){let r=e.length;if(r<2)return{name:t[0]};if(r===2){let a=e[0][1];return{left:{name:t[0]},right:{name:t[1]},leftLength:a/2,rightLength:a/2}}let n=[];for(let a=0;a<r;a++)n[a]=[...e[a]];let o=t.map(a=>({name:a})),i=r;for(;i>2;){let a=[];for(let y=0;y<o.length;y++)o[y]!==void 0&&a.push(y);let c=new Map;for(let y of a){let w=0;for(let B of a)y!==B&&(w+=n[y][B]);c.set(y,w)}let l=1/0,A=-1,u=-1;for(let y=0;y<a.length;y++)for(let w=y+1;w<a.length;w++){let B=a[y],S=a[w],Q=(i-2)*n[B][S]-c.get(B)-c.get(S);Q<l&&(l=Q,A=B,u=S)}let f=n[A][u],m=c.get(A),p=c.get(u),h,E;i>2?(h=f/2+(m-p)/(2*(i-2)),E=f-h):(h=f/2,E=f/2),h=Math.max(0,h),E=Math.max(0,E);let C={left:o[A],right:o[u],leftLength:h,rightLength:E},x=A;for(let y of a)if(y!==A&&y!==u){let w=(n[A][y]+n[u][y]-f)/2;n[x][y]=Math.max(0,w),n[y][x]=Math.max(0,w)}o[u]=void 0,o[x]=C,i--}let s=[];for(let a=0;a<o.length;a++)o[a]!==void 0&&s.push(a);if(s.length===2){let a=s[0],c=s[1],l=n[a][c];return{left:o[a],right:o[c],leftLength:l/2,rightLength:l/2}}return o[s[0]]}function fd(e,t){let r;if(e.name!==void 0&&!e.left&&!e.right)r=`'${e.name.replaceAll("'","''")}'`;else{let n=e.left?fd(e.left,e.leftLength):"",o=e.right?fd(e.right,e.rightLength):"";r=`(${n},${o})`}return t!==void 0&&(r+=`:${t.toFixed(6)}`),r}function zb(e){if(e.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=e.map(o=>o[0]),r=ok(e),n=ik(r,t);return fd(n)+";"}var rk,$b=g(()=>{rk={A:{A:4,R:-1,N:-2,D:-2,C:0,Q:-1,E:-1,G:0,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:0,W:-3,Y:-2,V:0,B:-2,Z:-1,X:0,"*":-4},R:{A:-1,R:5,N:0,D:-2,C:-3,Q:1,E:0,G:-2,H:0,I:-3,L:-2,K:2,M:-1,F:-3,P:-2,S:-1,T:-1,W:-3,Y:-2,V:-3,B:-1,Z:0,X:-1,"*":-4},N:{A:-2,R:0,N:6,D:1,C:-3,Q:0,E:0,G:0,H:1,I:-3,L:-3,K:0,M:-2,F:-3,P:-2,S:1,T:0,W:-4,Y:-2,V:-3,B:3,Z:0,X:-1,"*":-4},D:{A:-2,R:-2,N:1,D:6,C:-3,Q:0,E:2,G:-1,H:-1,I:-3,L:-4,K:-1,M:-3,F:-3,P:-1,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},C:{A:0,R:-3,N:-3,D:-3,C:9,Q:-3,E:-4,G:-3,H:-3,I:-1,L:-1,K:-3,M:-1,F:-2,P:-3,S:-1,T:-1,W:-2,Y:-2,V:-1,B:-3,Z:-3,X:-2,"*":-4},Q:{A:-1,R:1,N:0,D:0,C:-3,Q:5,E:2,G:-2,H:0,I:-3,L:-2,K:1,M:0,F:-3,P:-1,S:0,T:-1,W:-2,Y:-1,V:-2,B:0,Z:3,X:-1,"*":-4},E:{A:-1,R:0,N:0,D:2,C:-4,Q:2,E:5,G:-2,H:0,I:-3,L:-3,K:1,M:-2,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},G:{A:0,R:-2,N:0,D:-1,C:-3,Q:-2,E:-2,G:6,H:-2,I:-4,L:-4,K:-2,M:-3,F:-3,P:-2,S:0,T:-2,W:-2,Y:-3,V:-3,B:-1,Z:-2,X:-1,"*":-4},H:{A:-2,R:0,N:1,D:-1,C:-3,Q:0,E:0,G:-2,H:8,I:-3,L:-3,K:-1,M:-2,F:-1,P:-2,S:-1,T:-2,W:-2,Y:2,V:-3,B:0,Z:0,X:-1,"*":-4},I:{A:-1,R:-3,N:-3,D:-3,C:-1,Q:-3,E:-3,G:-4,H:-3,I:4,L:2,K:-3,M:1,F:0,P:-3,S:-2,T:-1,W:-3,Y:-1,V:3,B:-3,Z:-3,X:-1,"*":-4},L:{A:-1,R:-2,N:-3,D:-4,C:-1,Q:-2,E:-3,G:-4,H:-3,I:2,L:4,K:-2,M:2,F:0,P:-3,S:-2,T:-1,W:-2,Y:-1,V:1,B:-4,Z:-3,X:-1,"*":-4},K:{A:-1,R:2,N:0,D:-1,C:-3,Q:1,E:1,G:-2,H:-1,I:-3,L:-2,K:5,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:0,Z:1,X:-1,"*":-4},M:{A:-1,R:-1,N:-2,D:-3,C:-1,Q:0,E:-2,G:-3,H:-2,I:1,L:2,K:-1,M:5,F:0,P:-2,S:-1,T:-1,W:-1,Y:-1,V:1,B:-3,Z:-1,X:-1,"*":-4},F:{A:-2,R:-3,N:-3,D:-3,C:-2,Q:-3,E:-3,G:-3,H:-1,I:0,L:0,K:-3,M:0,F:6,P:-4,S:-2,T:-2,W:1,Y:3,V:-1,B:-3,Z:-3,X:-1,"*":-4},P:{A:-1,R:-2,N:-2,D:-1,C:-3,Q:-1,E:-1,G:-2,H:-2,I:-3,L:-3,K:-1,M:-2,F:-4,P:7,S:-1,T:-1,W:-4,Y:-3,V:-2,B:-2,Z:-1,X:-2,"*":-4},S:{A:1,R:-1,N:1,D:0,C:-1,Q:0,E:0,G:0,H:-1,I:-2,L:-2,K:0,M:-1,F:-2,P:-1,S:4,T:1,W:-3,Y:-2,V:-2,B:0,Z:0,X:0,"*":-4},T:{A:0,R:-1,N:0,D:-1,C:-1,Q:-1,E:-1,G:-2,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:5,W:-2,Y:-2,V:0,B:-1,Z:-1,X:0,"*":-4},W:{A:-3,R:-3,N:-4,D:-4,C:-2,Q:-2,E:-3,G:-2,H:-2,I:-3,L:-2,K:-3,M:-1,F:1,P:-4,S:-3,T:-2,W:11,Y:2,V:-3,B:-4,Z:-3,X:-2,"*":-4},Y:{A:-2,R:-2,N:-2,D:-3,C:-2,Q:-1,E:-2,G:-3,H:2,I:-1,L:-1,K:-2,M:-1,F:3,P:-3,S:-2,T:-2,W:2,Y:7,V:-1,B:-3,Z:-2,X:-1,"*":-4},V:{A:0,R:-3,N:-3,D:-3,C:-1,Q:-2,E:-2,G:-3,H:-3,I:3,L:1,K:-2,M:1,F:-1,P:-2,S:-2,T:0,W:-3,Y:-1,V:4,B:-3,Z:-2,X:-1,"*":-4},B:{A:-2,R:-1,N:3,D:4,C:-3,Q:0,E:1,G:-1,H:0,I:-3,L:-4,K:0,M:-3,F:-3,P:-2,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},Z:{A:-1,R:0,N:0,D:1,C:-3,Q:3,E:4,G:-2,H:0,I:-3,L:-3,K:1,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},X:{A:0,R:-1,N:-1,D:-1,C:-2,Q:-1,E:-1,G:-1,H:-1,I:-1,L:-1,K:-1,M:-1,F:-1,P:-2,S:0,T:0,W:-2,Y:-1,V:-1,B:-1,Z:-1,X:-1,"*":-4},"*":{A:-4,R:-4,N:-4,D:-4,C:-4,Q:-4,E:-4,G:-4,H:-4,I:-4,L:-4,K:-4,M:-4,F:-4,P:-4,S:-4,T:-4,W:-4,Y:-4,V:-4,B:-4,Z:-4,X:-4,"*":1}}});function Xb(e){let t=ak(e.replace(/\s+/g," ").replace(/\s*{\s*/g,"{").replace(/\s*}\s*/g,"}").replace(/\s*,\s*/g,",").replace(/\s*::\s*=\s*/g,"::=").replace(/^.*?::=/,"")),r=Object.fromEntries(ck(t.fdict).map(n=>[n.id,sk[n.name]||n.name]));return Ak(t.nodes).map(n=>{let{features:o,...i}=n;return{...i,...Object.fromEntries(o.map(s=>[r[s.featureid],s.value]))}})}function ak(e){let t={},r=e.trim(),n=r.startsWith("{")&&r.endsWith("}")?r.slice(1,-1).trim():r,o=0;for(;o<n.length;){for(;o<n.length&&/\s/.test(n[o]);)o++;if(o>=n.length)break;let i=o;for(;o<n.length&&/\w/.test(n[o]);)o++;if(o>=n.length||n[o]!==" "&&n[o]!=="{"){for(;o<n.length&&n[o]!==",";)o++;o<n.length&&o++;continue}let s=n.slice(i,o).trim();for(;o<n.length&&/\s/.test(n[o]);)o++;if(o>=n.length||n[o]!=="{"){for(;o<n.length&&n[o]!==",";)o++;o<n.length&&o++;continue}let a=o+1,c=1;for(o++;o<n.length&&c>0;)n[o]==="{"?c++:n[o]==="}"&&c--,o++;if(c===0){let l=n.slice(a,o-1).trim();t[s]=l}for(;o<n.length&&n[o]!==",";)o++;o<n.length&&o++}return t}function ck(e){let t=[],r=0;for(;r<e.length;){for(;r<e.length&&/\s/.test(e[r]);)r++;if(r>=e.length)break;if(e[r]==="{"){let n=r+1,o=1;for(r++;r<e.length&&o>0;)e[r]==="{"?o++:e[r]==="}"&&o--,r++;if(o===0){let i=e.slice(n,r-1).trim(),s=lk(i);s&&t.push(s)}}else for(;r<e.length&&e[r]!=="{";)r++}return t}function lk(e){let t=/id\s+(\d+)/.exec(e),r=/name\s+"((?:[^"\\]|\\.)*)"/s.exec(e);if(t&&r){let n=r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\");return{id:parseInt(t[1],10),name:n}}return null}function Ak(e){let t=[],r=0;for(;r<e.length;){for(;r<e.length&&/\s/.test(e[r]);)r++;if(r>=e.length)break;if(e[r]==="{"){let n=r+1,o=1;for(r++;r<e.length&&o>0;)e[r]==="{"?o++:e[r]==="}"&&o--,r++;if(o===0){let i=e.slice(n,r-1).trim(),s=uk(i);s&&t.push(s)}}else for(;r<e.length&&e[r]!=="{";)r++}return t}function uk(e){let t=/id\s+(\d+)/.exec(e),r=/parent\s+(\d+)/.exec(e);if(t){let n={id:parseInt(t[1],10)};r&&(n.parent=parseInt(r[1],10));let o=e.indexOf("features");if(o!==-1){let i=e.indexOf("{",o);if(i!==-1){let s=1,a=i+1;for(;a<e.length&&s>0;)e[a]==="{"?s++:e[a]==="}"&&s--,a++;if(s===0){let c=e.slice(i+1,a-1).trim();n.features=fk(c)}}}return n}return null}function fk(e){let t=[],r=0;for(;r<e.length;){for(;r<e.length&&/\s/.test(e[r]);)r++;if(r>=e.length)break;if(e[r]==="{"){let n=r+1,o=1;for(r++;r<e.length&&o>0;)e[r]==="{"?o++:e[r]==="}"&&o--,r++;if(o===0){let i=e.slice(n,r-1).trim(),s=dk(i);s&&t.push(s)}}else for(;r<e.length&&e[r]!=="{";)r++}return t}function dk(e){let t=/featureid\s+(\d+)/.exec(e),r=/value\s+"((?:[^"\\]|\\.)*)"/s.exec(e);if(t&&r){let n=r[1].replace(/\\"/g,'"').replace(/\\\\/g,"\\");return{featureid:parseInt(t[1],10),value:n}}return null}var sk,Zb=g(()=>{sk={$NODE_COLLAPSED:"collapsed",$NODE_COLOR:"color",$LABEL_BG_COLOR:"color","seq-id":"seqId","seq-title":"seqTitle","align-index":"alignIndex","accession-nbr":"accessionNbr","blast-name":"blastName","common-name":"commonName","leaf-count":"leafCount"}});function dd(e){return{...e,children:e.children.map(t=>t.children.length?dd(t):{children:[t],id:`${t.id}-leafnode`,name:`${t.name}-hidden`})}}var eS=g(()=>{});function md(e,t){let r=0,n=0,o=0,i=e.length;for(;n<i&&e[n]===o;)n++,o++;for(;r<t;)for(r++,o++;n<i&&e[n]===o;)n++,o++;return o}function tS(e,t){let r=0,n=e.length-1;for(;r<=n;){let i=Math.floor((r+n)/2);if(e[i]===t)return;e[i]<t?r=i+1:n=i-1}return t-r}function mk({seq:e,blanks:t,visibleCol:r}){let n=md(t,r),o=e.length;if(n<o&&ss(e[n]))return;let i=0;for(let s=0;s<n&&s<o;s++)ss(e[s])||i++;return n<o?i:void 0}function rS({rowName:e,visibleCol:t,rowMap:r,blanks:n}){let o=r.get(e);return o!==void 0?mk({seq:o,visibleCol:t,blanks:n}):void 0}var nS=g(()=>{bn()});function oS({row:e,seqPos:t}){let r=0,n=0;for(;n<e.length;){if(!ss(e[n])){if(r===t)return n;r++}n++}return t===0?0:n}var iS=g(()=>{bn()});function sS(e){try{e.dispatchEvent(new MouseEvent("click"))}catch{let t=document.createEvent("MouseEvents");t.initMouseEvent("click",!0,!0,window,0,0,0,80,20,!1,!1,!1,!1,0,null),e.dispatchEvent(t)}}function cS(e,t){if(typeof window>"u")return;let r=window.URL,n=document.createElement("a");if(t=t||(e instanceof Blob,"download"),"download"in HTMLAnchorElement.prototype&&!aS){n.download=t,n.rel="noopener",typeof e=="string"?(n.href=e,sS(n)):(n.href=r.createObjectURL(e),setTimeout(()=>{r.revokeObjectURL(n.href)},4e4),setTimeout(()=>{sS(n)},0));return}if(typeof e=="string"){window.open(e,"_blank");return}let o=/constructor/i.test(window.HTMLElement?.toString()??"")||!!window.safari,i=/CriOS\/[\d]+/.test(navigator.userAgent);if((i||o||aS)&&typeof FileReader<"u"){let s=new FileReader;s.onloadend=()=>{let a=s.result;a=i?a:a.replace(/^data:[^;]*;/,"data:attachment/file;"),window.open(a,"_blank")},s.readAsDataURL(e)}else{let s=r.createObjectURL(e);window.open(s,"_blank"),setTimeout(()=>{r.revokeObjectURL(s)},4e4)}}var aS,lS=g(()=>{aS=typeof navigator<"u"&&navigator.userAgent.includes("Macintosh")&&navigator.userAgent.includes("AppleWebKit")&&!navigator.userAgent.includes("Safari")});var co,AS,gk,uS,fS=g(()=>{co=d(b(),1),AS=d(O(),1),gk=(0,AS.observer)(({model:e})=>{let{scrollX:t,msaAreaWidth:r,minimapHeight:n,colWidth:o,numColumns:i}=e,s=12,a=n-12,c=r/i/o,l=-t,A=l+r,u=l*c,f=A*c,m="rgb(66, 119, 127)",p=.3;return co.default.createElement(co.default.Fragment,null,co.default.createElement("rect",{x:0,y:0,width:r,height:s,stroke:"#555",fill:"none"}),co.default.createElement("rect",{x:Math.max(0,u),y:0,width:f-u,height:s,fill:m,fillOpacity:p,stroke:"#555"}),co.default.createElement("g",{transform:`translate(0 ${s})`},co.default.createElement("polygon",{fill:m,fillOpacity:p,points:[[f,0],[u,0],[0,a],[r,a]].toString()})))}),uS=gk});var gS={};rt(gS,{Context:()=>hd});function dS(e){return!e||typeof e=="string"?e:e+""}function br(e,t){let r=Object.keys(t);for(let n of r)e=e.replace(new RegExp("\\{"+n+"\\}","gi"),t[n]);return e}function gd(e){if(!e)throw new Error("cannot create a random attribute name for an undefined object");let t="ABCDEFGHIJKLMNOPQRSTUVWXTZabcdefghiklmnopqrstuvwxyz",r="";do{r="";for(let n=0;n<12;n++)r+=t[Math.floor(Math.random()*t.length)]}while(e[r]);return r}function pk(e,t=10){let r={},n=e.split(",");for(let o=0;o<n.length;o+=2){let i="&"+n[o+1]+";",s=parseInt(n[o],t);r[i]="&#"+s+";"}return r["\\xa0"]=" ",r}function hk(e){let t={left:"start",right:"end",center:"middle",start:"start",end:"end"};return t[e]||t.start}function Ck(e){let t={alphabetic:"alphabetic",hanging:"hanging",top:"text-before-edge",bottom:"text-after-edge",middle:"central"};return t[e]||t.alphabetic}var mS,ds,ms,pd,hd,pS=g(()=>{mS=pk("50,nbsp,51,iexcl,52,cent,53,pound,54,curren,55,yen,56,brvbar,57,sect,58,uml,59,copy,5a,ordf,5b,laquo,5c,not,5d,shy,5e,reg,5f,macr,5g,deg,5h,plusmn,5i,sup2,5j,sup3,5k,acute,5l,micro,5m,para,5n,middot,5o,cedil,5p,sup1,5q,ordm,5r,raquo,5s,frac14,5t,frac12,5u,frac34,5v,iquest,60,Agrave,61,Aacute,62,Acirc,63,Atilde,64,Auml,65,Aring,66,AElig,67,Ccedil,68,Egrave,69,Eacute,6a,Ecirc,6b,Euml,6c,Igrave,6d,Iacute,6e,Icirc,6f,Iuml,6g,ETH,6h,Ntilde,6i,Ograve,6j,Oacute,6k,Ocirc,6l,Otilde,6m,Ouml,6n,times,6o,Oslash,6p,Ugrave,6q,Uacute,6r,Ucirc,6s,Uuml,6t,Yacute,6u,THORN,6v,szlig,70,agrave,71,aacute,72,acirc,73,atilde,74,auml,75,aring,76,aelig,77,ccedil,78,egrave,79,eacute,7a,ecirc,7b,euml,7c,igrave,7d,iacute,7e,icirc,7f,iuml,7g,eth,7h,ntilde,7i,ograve,7j,oacute,7k,ocirc,7l,otilde,7m,ouml,7n,divide,7o,oslash,7p,ugrave,7q,uacute,7r,ucirc,7s,uuml,7t,yacute,7u,thorn,7v,yuml,ci,fnof,sh,Alpha,si,Beta,sj,Gamma,sk,Delta,sl,Epsilon,sm,Zeta,sn,Eta,so,Theta,sp,Iota,sq,Kappa,sr,Lambda,ss,Mu,st,Nu,su,Xi,sv,Omicron,t0,Pi,t1,Rho,t3,Sigma,t4,Tau,t5,Upsilon,t6,Phi,t7,Chi,t8,Psi,t9,Omega,th,alpha,ti,beta,tj,gamma,tk,delta,tl,epsilon,tm,zeta,tn,eta,to,theta,tp,iota,tq,kappa,tr,lambda,ts,mu,tt,nu,tu,xi,tv,omicron,u0,pi,u1,rho,u2,sigmaf,u3,sigma,u4,tau,u5,upsilon,u6,phi,u7,chi,u8,psi,u9,omega,uh,thetasym,ui,upsih,um,piv,812,bull,816,hellip,81i,prime,81j,Prime,81u,oline,824,frasl,88o,weierp,88h,image,88s,real,892,trade,89l,alefsym,8cg,larr,8ch,uarr,8ci,rarr,8cj,darr,8ck,harr,8dl,crarr,8eg,lArr,8eh,uArr,8ei,rArr,8ej,dArr,8ek,hArr,8g0,forall,8g2,part,8g3,exist,8g5,empty,8g7,nabla,8g8,isin,8g9,notin,8gb,ni,8gf,prod,8gh,sum,8gi,minus,8gn,lowast,8gq,radic,8gt,prop,8gu,infin,8h0,ang,8h7,and,8h8,or,8h9,cap,8ha,cup,8hb,int,8hk,there4,8hs,sim,8i5,cong,8i8,asymp,8j0,ne,8j1,equiv,8j4,le,8j5,ge,8k2,sub,8k3,sup,8k4,nsub,8k6,sube,8k7,supe,8kl,oplus,8kn,otimes,8l5,perp,8m5,sdot,8o8,lceil,8o9,rceil,8oa,lfloor,8ob,rfloor,8p9,lang,8pa,rang,9ea,loz,9j0,spades,9j3,clubs,9j5,hearts,9j6,diams,ai,OElig,aj,oelig,b0,Scaron,b1,scaron,bo,Yuml,m6,circ,ms,tilde,802,ensp,803,emsp,809,thinsp,80c,zwnj,80d,zwj,80e,lrm,80f,rlm,80j,ndash,80k,mdash,80o,lsquo,80p,rsquo,80q,sbquo,80s,ldquo,80t,rdquo,80u,bdquo,810,dagger,811,Dagger,81g,permil,81p,lsaquo,81q,rsaquo,85c,euro",32),ds={strokeStyle:{svgAttr:"stroke",canvas:"#000000",svg:"none",apply:"stroke"},fillStyle:{svgAttr:"fill",canvas:"#000000",svg:null,apply:"fill"},lineCap:{svgAttr:"stroke-linecap",canvas:"butt",svg:"butt",apply:"stroke"},lineJoin:{svgAttr:"stroke-linejoin",canvas:"miter",svg:"miter",apply:"stroke"},miterLimit:{svgAttr:"stroke-miterlimit",canvas:10,svg:4,apply:"stroke"},lineWidth:{svgAttr:"stroke-width",canvas:1,svg:1,apply:"stroke"},globalAlpha:{svgAttr:"opacity",canvas:1,svg:1,apply:"fill stroke"},font:{canvas:"10px sans-serif"},shadowColor:{canvas:"#000000"},shadowOffsetX:{canvas:0},shadowOffsetY:{canvas:0},shadowBlur:{canvas:0},textAlign:{canvas:"start"},textBaseline:{canvas:"alphabetic"},lineDash:{svgAttr:"stroke-dasharray",canvas:[],svg:null,apply:"stroke"}},ms=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}addColorStop(t,r){let n=this.__ctx.__createElement("stop");if(n.setAttribute("offset",String(t)),dS(r).includes("rgba")){let i=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(r);i&&(n.setAttribute("stop-color",br("rgb({r},{g},{b})",{r:i[1],g:i[2],b:i[3]})),n.setAttribute("stop-opacity",i[4]))}else n.setAttribute("stop-color",dS(r));this.__root.appendChild(n)}},pd=class{__root;__ctx;constructor(t,r){this.__root=t,this.__ctx=r}},hd=class{width;height;enableMirroring;canvas;__document;__ctx;__canvas;__root;__ids;__defs;__currentElement;__styleStack;__groupStack;__currentDefaultPath;__currentPosition;__transformMatrix;__transformMatrixStack;__currentElementsToStyle;__options;__id;__fontUnderline;__fontHref;strokeStyle;fillStyle;lineCap;lineJoin;miterLimit;lineWidth;globalAlpha;font;shadowColor;shadowOffsetX;shadowOffsetY;shadowBlur;textAlign;textBaseline;lineDash;constructor(t,r){let n={width:500,height:500,enableMirroring:!1},o;typeof t=="number"&&r!==void 0?o={...n,width:t,height:r}:t&&typeof t=="object"?o=t:o=n,this.width=o.width||n.width,this.height=o.height||n.height,this.enableMirroring=o.enableMirroring!==void 0?o.enableMirroring:n.enableMirroring,this.canvas=this,this.__document=o.document||document,o.ctx?this.__ctx=o.ctx:(this.__canvas=this.__document.createElement("canvas"),this.__ctx=this.__canvas.getContext("2d")),this.__setDefaultStyles(),this.__styleStack=[this.__getStyleState()],this.__groupStack=[],this.__root=this.__document.createElementNS("http://www.w3.org/2000/svg","svg"),this.__root.setAttribute("version","1.1"),this.__root.setAttribute("xmlns","http://www.w3.org/2000/svg"),this.__root.setAttributeNS("http://www.w3.org/2000/xmlns/","xmlns:xlink","http://www.w3.org/1999/xlink"),this.__root.setAttribute("width",String(this.width)),this.__root.setAttribute("height",String(this.height)),this.__ids={},this.__defs=this.__document.createElementNS("http://www.w3.org/2000/svg","defs"),this.__root.appendChild(this.__defs),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__currentDefaultPath="",this.__currentPosition={},this.__transformMatrix=new DOMMatrix,this.resetTransform(),this.__options=o,this.__id=Math.random().toString(16).substring(2,8)}__createElement(t,r={},n){let o=this.__document.createElementNS("http://www.w3.org/2000/svg",t);n&&(o.setAttribute("fill","none"),o.setAttribute("stroke","none"));for(let i of Object.keys(r))o.setAttribute(i,r[i]);return o}__setDefaultStyles(){for(let t of Object.keys(ds))this[t]=ds[t].canvas}__applyStyleState(t){for(let r of Object.keys(t))this[r]=t[r]}__getStyleState(){let t={};for(let r of Object.keys(ds))t[r]=this[r];return t}__applyTransformation(t,r){let{a:n,b:o,c:i,d:s,e:a,f:c}=r||this.getTransform();t.setAttribute("transform",`matrix(${n} ${o} ${i} ${s} ${a} ${c})`)}__applyStyleToCurrentElement(t){let r=this.__currentElement,n=this.__currentElementsToStyle;if(n){r.setAttribute(t,""),r=n.element;for(let i of n.children)i.setAttribute(t,"")}let o=Object.keys(ds);for(let i of o){let s=ds[i],a=this[i];if(s.apply){if(a instanceof pd){if(a.__ctx)for(let c of Array.from(a.__ctx.__defs.childNodes)){let l=c.getAttribute("id");l&&(this.__ids[l]=l,this.__defs.appendChild(c))}r.setAttribute(s.apply,br("url(#{id})",{id:a.__root.getAttribute("id")}))}else if(a instanceof ms)r.setAttribute(s.apply,br("url(#{id})",{id:a.__root.getAttribute("id")}));else if(s.apply.includes(t)&&s.svg!==a)if((s.svgAttr==="stroke"||s.svgAttr==="fill")&&a&&a.includes("rgba")){let l=/rgba\(\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d*\.?\d+)\s*,\s*(\d?\.?\d*)\s*\)/gi.exec(a);if(l){r.setAttribute(s.svgAttr,br("rgb({r},{g},{b})",{r:l[1],g:l[2],b:l[3]}));let A=Number(l[4]),u=this.globalAlpha;u!=null&&(A*=u),r.setAttribute(s.svgAttr+"-opacity",String(A))}}else{let c=s.svgAttr,l=a;if(i==="globalAlpha"){if(c=t+"-"+s.svgAttr,r.getAttribute(c))continue}else if(i==="lineWidth"){let A=this.__getTransformScale();l=a*Math.max(A.x,A.y)}r.setAttribute(c,l)}}}}__closestGroupOrSvg(t){return t=t||this.__currentElement,t.nodeName==="g"||t.nodeName==="svg"?t:this.__closestGroupOrSvg(t.parentNode)}getSerializedSvg(t){let r=new XMLSerializer().serializeToString(this.__root);if(/xmlns="http:\/\/www\.w3\.org\/2000\/svg".+xmlns="http:\/\/www\.w3\.org\/2000\/svg/gi.test(r)&&(r=r.replace('xmlns="http://www.w3.org/2000/svg','xmlns:xlink="http://www.w3.org/1999/xlink')),t)for(let o of Object.keys(mS)){let i=new RegExp(o,"gi");i.test(r)&&(r=r.replace(i,mS[o]))}return r}getSvg(){return this.__root}save(){let t=this.__createElement("g"),r=this.__closestGroupOrSvg();this.__groupStack.push(r),r.appendChild(t),this.__currentElement=t;let n=this.__getStyleState();this.__styleStack.push(n),this.__transformMatrixStack||(this.__transformMatrixStack=[]),this.__transformMatrixStack.push(this.getTransform())}restore(){this.__currentElement=this.__groupStack.pop(),this.__currentElementsToStyle=void 0,this.__currentElement||(this.__currentElement=this.__root.childNodes[1]);let t=this.__styleStack.pop();this.__applyStyleState(t),this.__transformMatrixStack&&this.__transformMatrixStack.length>0&&this.setTransform(this.__transformMatrixStack.pop())}beginPath(){this.__currentDefaultPath="",this.__currentPosition={};let t=this.__createElement("path",{},!0);this.__closestGroupOrSvg().appendChild(t),this.__currentElement=t}__applyCurrentDefaultPath(){let t=this.__currentElement;t.nodeName==="path"&&t.setAttribute("d",this.__currentDefaultPath)}__addPathCommand(t){this.__currentDefaultPath+=" ",this.__currentDefaultPath+=t}moveTo(t,r){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.__currentPosition={x:t,y:r},this.__addPathCommand(br("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}closePath(){this.__currentDefaultPath&&this.__addPathCommand("Z")}lineTo(t,r){this.__currentPosition={x:t,y:r},this.__currentDefaultPath.includes("M")?this.__addPathCommand(br("L {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y})):this.__addPathCommand(br("M {x} {y}",{x:this.__matrixTransform(t,r).x,y:this.__matrixTransform(t,r).y}))}bezierCurveTo(t,r,n,o,i,s){this.__currentPosition={x:i,y:s},this.__addPathCommand(br("C {cp1x} {cp1y} {cp2x} {cp2y} {x} {y}",{cp1x:this.__matrixTransform(t,r).x,cp1y:this.__matrixTransform(t,r).y,cp2x:this.__matrixTransform(n,o).x,cp2y:this.__matrixTransform(n,o).y,x:this.__matrixTransform(i,s).x,y:this.__matrixTransform(i,s).y}))}quadraticCurveTo(t,r,n,o){this.__currentPosition={x:n,y:o},this.__addPathCommand(br("Q {cpx} {cpy} {x} {y}",{cpx:this.__matrixTransform(t,r).x,cpy:this.__matrixTransform(t,r).y,x:this.__matrixTransform(n,o).x,y:this.__matrixTransform(n,o).y}))}stroke(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","fill stroke markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("stroke")}fill(){this.__currentElement.nodeName==="path"&&this.__currentElement.setAttribute("paint-order","stroke fill markers"),this.__applyCurrentDefaultPath(),this.__applyStyleToCurrentElement("fill")}rect(t,r,n,o){this.__currentElement.nodeName!=="path"&&this.beginPath(),this.moveTo(t,r),this.lineTo(t+n,r),this.lineTo(t+n,r+o),this.lineTo(t,r+o),this.lineTo(t,r),this.closePath()}__clearCanvas(){let t=this.__root.childNodes[1];this.__root.removeChild(t),this.__currentElement=this.__document.createElementNS("http://www.w3.org/2000/svg","g"),this.__root.appendChild(this.__currentElement),this.__groupStack=[]}fillRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height&&this.__clearCanvas();let u=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(u),this.__currentElement=u,this.__applyTransformation(u),this.__applyStyleToCurrentElement("fill")}strokeRect(t,r,n,o){let i=this.__createElement("rect",{x:t,y:r,width:n,height:o},!0);this.__closestGroupOrSvg().appendChild(i),this.__currentElement=i,this.__applyTransformation(i),this.__applyStyleToCurrentElement("stroke")}clearRect(t,r,n,o){let{a:i,b:s,c:a,d:c,e:l,f:A}=this.getTransform();if(JSON.stringify([i,s,a,c,l,A])===JSON.stringify([1,0,0,1,0,0])&&t===0&&r===0&&n===this.width&&o===this.height){this.__clearCanvas();return}let u=this.__createElement("rect",{x:t,y:r,width:n,height:o,fill:"#FFFFFF"},!0);this.__applyTransformation(u),this.__closestGroupOrSvg().appendChild(u)}createLinearGradient(t,r,n,o){let i=this.__createElement("linearGradient",{id:gd(this.__ids),x1:t+"px",x2:n+"px",y1:r+"px",y2:o+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(i),new ms(i,this)}createRadialGradient(t,r,n,o,i,s){let a=this.__createElement("radialGradient",{id:gd(this.__ids),cx:o+"px",cy:i+"px",r:s+"px",fx:t+"px",fy:r+"px",gradientUnits:"userSpaceOnUse"});return this.__defs.appendChild(a),new ms(a,this)}__applyText(t,r,n,o){let i=document.createElement("span");i.setAttribute("style","font:"+this.font);let s=i.style,a=this.__closestGroupOrSvg(),c=this.__createElement("text",{"font-family":s.fontFamily,"font-size":s.fontSize,"font-style":s.fontStyle,"font-weight":s.fontWeight,"text-decoration":this.__fontUnderline,x:r,y:n,"text-anchor":hk(this.textAlign),"dominant-baseline":Ck(this.textBaseline)},!0);c.appendChild(this.__document.createTextNode(t)),this.__currentElement=c,this.__applyTransformation(c),this.__applyStyleToCurrentElement(o);let l=c;if(this.__fontHref){let A=this.__createElement("a");A.setAttributeNS("http://www.w3.org/1999/xlink","xlink:href",this.__fontHref),A.appendChild(c),l=A}a.appendChild(l)}fillText(t,r,n){this.__applyText(t,r,n,"fill")}strokeText(t,r,n){this.__applyText(t,r,n,"stroke")}measureText(t){return this.__ctx.font=this.font,this.__ctx.measureText(t)}arc(t,r,n,o,i,s){if(o===i)return;o=o%(2*Math.PI),i=i%(2*Math.PI),o===i&&(i=(i+2*Math.PI-.001*(s?-1:1))%(2*Math.PI));let a=t+n*Math.cos(i),c=r+n*Math.sin(i),l=t+n*Math.cos(o),A=r+n*Math.sin(o),u=s?0:1,f=0,m=i-o;m<0&&(m+=2*Math.PI),s?f=m>Math.PI?0:1:f=m>Math.PI?1:0;let p=Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),h=Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d);this.lineTo(l,A),this.__addPathCommand(br("A {rx} {ry} {xAxisRotation} {largeArcFlag} {sweepFlag} {endX} {endY}",{rx:n*p,ry:n*h,xAxisRotation:0,largeArcFlag:f,sweepFlag:u,endX:this.__matrixTransform(a,c).x,endY:this.__matrixTransform(a,c).y})),this.__currentPosition={x:a,y:c}}clip(){let t=this.__closestGroupOrSvg(),r=this.__createElement("clipPath"),n=gd(this.__ids),o=this.__createElement("g");this.__applyCurrentDefaultPath(),t.removeChild(this.__currentElement),r.setAttribute("id",n),r.appendChild(this.__currentElement),this.__defs.appendChild(r),t.setAttribute("clip-path",br("url(#{id})",{id:n})),t.appendChild(o),this.__currentElement=o}setLineDash(t){t&&t.length>0?this.lineDash=t.join(","):this.lineDash=null}setTransform(t,r,n,o,i,s){t instanceof DOMMatrix?this.__transformMatrix=new DOMMatrix([t.a,t.b,t.c,t.d,t.e,t.f]):this.__transformMatrix=new DOMMatrix([t,r,n,o,i,s])}getTransform(){let{a:t,b:r,c:n,d:o,e:i,f:s}=this.__transformMatrix;return new DOMMatrix([t,r,n,o,i,s])}resetTransform(){this.setTransform(1,0,0,1,0,0)}scale(t,r){if(r===void 0&&(r=t),isNaN(t)||isNaN(r)||!isFinite(t)||!isFinite(r))return;let n=this.getTransform().scale(t,r);this.setTransform(n)}rotate(t){let r=this.getTransform().multiply(new DOMMatrix([Math.cos(t),Math.sin(t),-Math.sin(t),Math.cos(t),0,0]));this.setTransform(r)}translate(t,r){let n=this.getTransform().translate(t,r);this.setTransform(n)}transform(t,r,n,o,i,s){let a=this.getTransform().multiply(new DOMMatrix([t,r,n,o,i,s]));this.setTransform(a)}__matrixTransform(t,r){return new DOMPoint(t,r).matrixTransform(this.__transformMatrix)}__getTransformScale(){return{x:Math.hypot(this.__transformMatrix.a,this.__transformMatrix.b),y:Math.hypot(this.__transformMatrix.c,this.__transformMatrix.d)}}__getTransformRotation(){return Math.atan2(this.__transformMatrix.b,this.__transformMatrix.a)}drawFocusRing(){}createImageData(){}putImageData(){}globalCompositeOperation(){}drawImage(){}createPattern(){return null}}});var IS={};rt(IS,{renderToSvg:()=>Ek});async function Ek(e,t){await(0,ES.when)(()=>!!e.dataInitialized);let{width:r,height:n,scrollX:o,scrollY:i,totalTrackAreaHeight:s}=e,{exportType:a,theme:c,includeMinimap:l,includeTracks:A}=t,u=A?s:0;if(a==="entire")return hS({width:e.totalWidth+e.treeAreaWidth,height:e.totalHeight+u,contentHeight:e.totalHeight,trackHeight:u,theme:c,model:e,offsetY:0,offsetX:0,includeMinimap:l,includeTracks:A});if(a==="viewport")return hS({width:r,height:n+(l?e.minimapHeight:0)+u,contentHeight:n,trackHeight:u,theme:c,model:e,offsetY:-i,offsetX:-o,includeMinimap:l,includeTracks:A});throw new Error("unknown export type")}async function hS({width:e,height:t,contentHeight:r,trackHeight:n,offsetX:o,offsetY:i,theme:s,model:a,includeMinimap:c,includeTracks:l}){let{Context:A}=await Promise.resolve().then(()=>(pS(),gS)),u=c?yk:Bk;return(0,CS.renderToStaticMarkup)(le.default.createElement(wk,{width:e,height:t},le.default.createElement(u,{model:a},l&&n>0?le.default.createElement(xk,{Context:A,model:a,theme:s,offsetX:o,width:e,trackHeight:n}):null,le.default.createElement("g",{transform:n>0?`translate(0 ${n})`:void 0},le.default.createElement(Ik,{Context:A,model:a,theme:s,offsetX:o,offsetY:i,width:e,contentHeight:r})))))}function Ik({model:e,theme:t,width:r,contentHeight:n,offsetX:o,offsetY:i,Context:s}){let{treeAreaWidth:a,colorScheme:c,id:l}=e,A=`tree-${l}`,u=`msa-${l}`,f=oo(c,t),m=new s(r,n),p=new s(r,n);Pc({ctx:p,offsetX:o,offsetY:i,model:e,blockSizeYOverride:n,highResScaleFactorOverride:1});let h=r-a;return Jc({model:e,offsetY:i,ctx:m,theme:t,blockSizeYOverride:n,highResScaleFactorOverride:1}),Gc({model:e,theme:t,offsetY:i,offsetX:o,contrastScheme:f,ctx:p,blockSizeXOverride:h,blockSizeYOverride:n,highResScaleFactorOverride:1}),le.default.createElement(le.default.Fragment,null,le.default.createElement("defs",null,le.default.createElement("clipPath",{id:A},le.default.createElement("rect",{x:0,y:0,width:a,height:n}))),le.default.createElement("defs",null,le.default.createElement("clipPath",{id:u},le.default.createElement("rect",{x:0,y:0,width:h,height:n}))),le.default.createElement("g",{clipPath:`url(#${A})`,dangerouslySetInnerHTML:{__html:m.getSvg().innerHTML}}),le.default.createElement("g",{clipPath:`url(#${u})`,transform:`translate(${a} 0)`,dangerouslySetInnerHTML:{__html:p.getSvg().innerHTML}}))}function xk({model:e,theme:t,width:r,trackHeight:n,offsetX:o,Context:i}){let{treeAreaWidth:s,colorScheme:a,id:c}=e,l=`tracks-${c}`,A=oo(a,t),u=r-s,f=new i(u,n);return Qb({model:e,ctx:f,offsetX:o,contrastScheme:A,blockSizeXOverride:u,highResScaleFactorOverride:1}),le.default.createElement("g",{transform:`translate(${s} 0)`},le.default.createElement("defs",null,le.default.createElement("clipPath",{id:l},le.default.createElement("rect",{x:0,y:0,width:u,height:n}))),le.default.createElement("g",{clipPath:`url(#${l})`,dangerouslySetInnerHTML:{__html:f.getSvg().innerHTML}}))}function yk({model:e,children:t}){let{minimapHeight:r,treeAreaWidth:n}=e;return le.default.createElement(le.default.Fragment,null,le.default.createElement("g",{transform:`translate(${n} 0)`},le.default.createElement(uS,{model:e})),le.default.createElement("g",{transform:`translate(0 ${r})`},t))}function wk({width:e,height:t,children:r}){return le.default.createElement("svg",{width:e,height:t,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:[0,0,e,t].toString()},r)}function Bk({children:e}){return e}var le,CS,ES,xS=g(()=>{le=d(b(),1),CS=d(ae(),1),ES=d(zr(),1);fS();_f();kf();$c();Uc();bn()});function bk(){return z.types.compose(Ub(),Wb(),jb(),z.types.model("MsaView",{id:lo.ElementId,showDomains:!1,hideGaps:!0,allowedGappyness:100,contrastLettering:!0,subFeatureRows:!1,type:z.types.literal("MsaView"),drawMsaLetters:!0,height:z.types.optional(z.types.number,550),rowHeight:16,scrollY:0,scrollX:0,colWidth:12,treeFilehandle:z.types.maybe(lo.FileLocation),msaFilehandle:z.types.maybe(lo.FileLocation),treeMetadataFilehandle:z.types.maybe(lo.FileLocation),gffFilehandle:z.types.maybe(lo.FileLocation),currentAlignment:0,collapsed:z.types.array(z.types.string),collapsedLeaves:z.types.array(z.types.string),showOnly:z.types.maybe(z.types.string),turnedOffTracks:z.types.map(z.types.boolean),data:z.types.optional(Ob(),{tree:"",msa:"",treeMetadata:""}),featureFilters:z.types.map(z.types.boolean),relativeTo:z.types.maybe(z.types.string)})).volatile(()=>({headerHeight:0,status:void 0,highResScaleFactor:2,showZoomStar:(0,Be.localStorageGetBoolean)(_S,!1),loadingMSA:!1,loadingTree:!1,volatileWidth:void 0,resizeHandleWidth:5,blockSize:500,mouseRow:void 0,mouseCol:void 0,mouseClickRow:void 0,mouseClickCol:void 0,hoveredTreeNode:void 0,highlightedColumns:void 0,nref:0,minimapHeight:56,conservationTrackHeight:40,marginLeft:20,error:void 0,annotPos:void 0,interProAnnotations:void 0})).actions(e=>({drawRelativeTo(t){e.relativeTo=t},setHideGaps(t){e.hideGaps=t},setAllowedGappyness(t){e.allowedGappyness=t},setContrastLettering(t){e.contrastLettering=t},setLoadingMSA(t){e.loadingMSA=t},setShowZoomStar(t){e.showZoomStar=t},setLoadingTree(t){e.loadingTree=t},setWidth(t){e.volatileWidth=t},setHeight(t){e.height=t},setError(t){e.error=t},setMousePos(t,r){e.mouseCol=t,e.mouseRow=r},setHoveredTreeNode(t){if(!t){e.hoveredTreeNode=void 0;return}let r=e.hierarchy.find(o=>o.data.id===t);if(!r){e.hoveredTreeNode=void 0;return}let n=r.leaves().map(o=>o.data.name);e.hoveredTreeNode={nodeId:t,descendantNames:n}},setHighlightedColumns(t){e.highlightedColumns=t},setShowDomains(t){e.showDomains=t},setSubFeatureRows(t){e.subFeatureRows=t},setMouseClickPos(t,r){e.mouseClickCol=t,e.mouseClickRow=r},setRowHeight(t){e.rowHeight=t},setColWidth(t){e.colWidth=t},setScrollY(t){e.scrollY=t},setCurrentAlignment(t){e.currentAlignment=t},toggleCollapsed(t){e.collapsed.includes(t)?e.collapsed.remove(t):e.collapsed.push(t)},toggleCollapsedLeaf(t){e.collapsedLeaves.includes(t)?e.collapsedLeaves.remove(t):e.collapsedLeaves.push(t)},setShowOnly(t){e.showOnly=t},setData(t){e.data=(0,z.cast)(t)},setMSAFilehandle(t){e.msaFilehandle=t},setTreeFilehandle(t){e.treeFilehandle=t},setGFFFilehandle(t){e.gffFilehandle=t},setMSA(t){e.data.setMSA(t)},setTree(t){e.data.setTree(t)},setTreeMetadata(t){e.data.setTreeMetadata(t)}})).views(e=>({get hideGapsEffective(){return e.hideGaps&&(e.collapsed.length>0||e.collapsedLeaves.length>0||e.allowedGappyness<100)},get realAllowedGappyness(){return this.hideGapsEffective?e.allowedGappyness:100},get actuallyShowDomains(){return e.showDomains&&!!e.interProAnnotations},get viewInitialized(){return e.volatileWidth!==void 0},get width(){if(e.volatileWidth===void 0)throw new Error("not initialized");return e.volatileWidth}})).views(e=>({extraViewMenuItems(){return[]},get colorScheme(){return ai[e.colorSchemeName]},get header(){return this.MSA?.getHeader()||{}},get alignmentNames(){return this.MSA?.alignmentNames||[]},get noTree(){return!!this.tree.noTree},get noDomains(){return!e.interProAnnotations},menuItems(){return[]},get treeMetadata(){return e.data.treeMetadata?JSON.parse(e.data.treeMetadata):{}},get MSA(){let t=e.data.msa;return t?pi(t)?new Tn(t,e.currentAlignment):cn.sniff(t)?new cn(t):t.startsWith(">")?new vn(t):t.startsWith("SEQ")?new Mn(t):new Qn(t):null},get numColumns(){return(this.MSA?.getWidth()||0)-this.blanks.length},get tree(){let t=e.data.tree;return dd(t?di(t.startsWith("BioTreeContainer")?Fb(Xb(t)):ao(t.startsWith("SEQ")?Wc(t).tree:t)):this.MSA?.getTree()||{noTree:!0,children:[],id:"empty",name:"empty"})},get rowNames(){return this.leaves.map(t=>t.data.name)},get mouseOverRowName(){let{mouseRow:t}=e;return t===void 0?void 0:this.rowNames[t]},get hoveredInsertion(){let{mouseCol:t,mouseRow:r}=e;if(t===void 0||r===void 0)return;let n=this.rowNames[r];if(!n)return;let o=this.insertionPositions.get(n);if(!o)return;let i=o.find(s=>s.pos===t);if(i)return{rowName:n,col:t,letters:i.letters}},get root(){let t=fi(this.tree,r=>r.children).sum(r=>r.children?0:1).sort((r,n)=>Mc(r.data.length||1,n.data.length||1));if(e.showOnly){let r=t.find(n=>n.data.id===e.showOnly);r&&(t=r)}return[...e.collapsed,...e.collapsedLeaves].map(r=>t.find(n=>n.data.id===r)).filter(Be.notEmpty).forEach(r=>{Xx(r)}),t},get msaAreaWidth(){return e.width-e.treeAreaWidth},get treeAreaWidthMinusMargin(){return e.treeAreaWidth-e.marginLeft},get blanks(){let{hideGapsEffective:t,realAllowedGappyness:r}=e;if(!t)return[];let n=this.leaves.map(l=>this.MSA?.getRow(l.data.name)).filter(Be.notEmpty);if(n.length===0)return[];let o=n[0].length,i=n.length,s=Math.ceil(r/100*i),a=new Uint16Array(o);for(let l=0;l<i;l++){let A=n[l];for(let u=0;u<o;u++)A.charCodeAt(u)-45>>>0<=1&&a[u]++}let c=[];for(let l=0;l<o;l++)a[l]>=s&&c.push(l);return c},get blanksSet(){return new Set(this.blanks)},get insertionPositions(){let{hideGapsEffective:t}=e,{blanks:r,rows:n}=this,o=r.length;if(o===0||!t)return new Map;let i=new Map;for(let[s,a]of n){let c=[],l=0,A=0,u=-1,f=[],m=a.length;for(let p=0;p<m;p++)A<o&&r[A]===p?(a.charCodeAt(p)-45>>>0<=1||(u===l?f.push(a[p]):(f.length>0&&c.push({pos:u,letters:f.join("")}),u=l,f=[a[p]])),A++):l++;f.length>0&&c.push({pos:u,letters:f.join("")}),c.length>0&&i.set(s,c)}return i},get rows(){let t=this.MSA;return this.leaves.map(r=>[r.data.name,t?.getRow(r.data.name)]).filter(r=>!!r[1])},get numRows(){return this.rows.length},get rowMap(){return new Map(this.rows)},get columns(){return Object.fromEntries(this.rows.map((t,r)=>[t[0],this.columns2d[r]]))},get columns2d(){let{hideGapsEffective:t}=e;return this.rows.map(r=>r[1]).map(r=>t?gf(this.blanks,r):r)},get fontSize(){return Math.min(Math.max(6,e.rowHeight-3),18)},get colStats(){let t=[],r=this.columns2d;for(let n of r)for(let o=0;o<n.length;o++){let i=t[o]||{},s=n[o];i[s]||(i[s]=0),i[s]++,t[o]=i}return t},get colStatsSums(){return this.colStats.map(t=>(0,Be.sum)(Object.values(t)))},get sequenceType(){let t=new Set;for(let s of this.colStats)for(let a of Object.keys(s)){let c=a.toUpperCase();c!=="-"&&c!=="."&&t.add(c)}let r=new Set(["A","C","G","T","N"]),n=new Set(["A","C","G","U","N"]),o=[...t].every(s=>r.has(s)),i=[...t].every(s=>n.has(s));return o&&!t.has("U")?"dna":i&&!t.has("T")?"rna":"amino"},get colConsensus(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>{let i=r[o],s=0,a="";for(let l in n){let A=n[l];A>s&&l!=="-"&&l!=="."&&(s=A,a=l)}let c=s/i;return{letter:a,color:c>.4?`hsl(240, 30%, ${100*Math.max(1-c/3,.3)}%)`:void 0}})},get colClustalX(){let{colStats:t,colStatsSums:r}=this;return t.map((n,o)=>{let i=r[o],s={},a=n.W??0,c=n.L??0,l=n.V??0,A=n.I??0,u=n.M??0,f=n.A??0,m=n.F??0,p=n.C??0,h=n.H??0,E=n.P??0,C=n.R??0,x=n.K??0,y=n.Q??0,w=n.E??0,B=n.D??0,S=n.T??0,Q=n.S??0,N=n.G??0,G=n.Y??0,U=n.N??0,v=a+c+l+A+u+f+m+p+h+E+G,T=x+C,H=y+w,L=w+B,te=S+Q;return v/i>.6&&(s.W="rgb(128,179,230)",s.L="rgb(128,179,230)",s.V="rgb(128,179,230)",s.A="rgb(128,179,230)",s.I="rgb(128,179,230)",s.M="rgb(128,179,230)",s.F="rgb(128,179,230)",s.C="rgb(128,179,230)"),(T/i>.6||x/i>.8||C/i>.8||y/i>.8)&&(s.K="#d88",s.R="#d88"),(T/i>.6||H/i>.5||w/i>.8||y/i>.8||B/i>.8)&&(s.E="rgb(192, 72, 192)"),(T/i>.6||L/i>.5||x/i>.8||C/i>.8||y/i>.8)&&(s.D="rgb(204, 77, 204)"),(U/i>.5||G/i>.85)&&(s.N="#8f8"),(T/i>.6||H/i>.6||y/i>.85||w/i>.85||x/i>.85||C/i>.85)&&(s.Q="#8f8"),(v/i>.6||te/i>.5||Q/i>.85||S/i>.85)&&(s.S="rgb(26,204,26)",s.T="rgb(26,204,26)"),p/i>.85&&(s.C="rgb(240, 128, 128)"),N/i>0&&(s.G="rgb(240, 144, 72)"),E/i>0&&(s.P="rgb(204, 204, 0)"),(v/i>.6||a/i>.85||G/i>.85||f/i>.85||p/i>.85||E/i>.85||y/i>.85||m/i>.85||h/i>.85||A/i>.85||c/i>.85||u/i>.85||l/i>.85)&&(s.H="rgb(26, 179, 179)",s.Y="rgb(26, 179, 179)"),s})},get conservation(){let{colStats:t,colStatsSums:r,sequenceType:n}=this,i=Math.log2(n==="amino"?20:4);return t.map((s,a)=>{let c=r[a];if(!c)return 0;let l=(s["-"]||0)+(s["."]||0),A=c-l;if(A===0)return 0;let u={};for(let h of Object.keys(s)){if(h==="-"||h===".")continue;let E=h.toUpperCase();u[E]=(u[E]||0)+s[h]}let f=0;for(let h of Object.keys(u)){let E=u[h]/A;E>0&&(f-=E*Math.log2(E))}let m=l/c;return Math.max(0,1-f/i)*(1-m)})},get hierarchy(){let t=this.root;return Of().size([this.totalHeight,e.treeWidth]).separation(()=>1)(t),pf(t,t.data.length=0,e.treeWidth/hf(t)),t},get totalHeight(){return this.root.leaves().length*e.rowHeight},get leaves(){return this.hierarchy.leaves()},get allBranchesLength0(){return this.hierarchy.links().every(t=>!t.source.data.length)},get showBranchLenEffective(){return this.allBranchesLength0?!1:e.showBranchLen}})).views(e=>({get totalWidth(){return e.numColumns*e.colWidth}})).views(e=>({get dataInitialized(){return(e.data.msa||e.data.tree)&&!e.error},get blocksX(){return bb({viewportWidth:e.msaAreaWidth,viewportX:-e.scrollX,blockSize:e.blockSize,mapWidth:e.totalWidth})},get blocksY(){return Bb({viewportHeight:e.height,viewportY:-e.scrollY,blockSize:e.blockSize,mapHeight:e.totalHeight})}})).views(e=>({get blocks2d(){let t=[];for(let r of e.blocksY)for(let n of e.blocksX)t.push([n,r]);return t},get isLoading(){return e.loadingMSA||e.loadingTree},get maxScrollX(){return Math.min(-e.totalWidth+(e.msaAreaWidth-100),0)},get showMsaLetters(){return e.drawMsaLetters&&e.rowHeight>=5&&e.colWidth>e.rowHeight/2},get showTreeText(){return e.drawLabels&&e.rowHeight>=5}})).actions(e=>({setDrawMsaLetters(t){e.drawMsaLetters=t},calculateNeighborJoiningTreeFromMSA(){if(e.rows.length<2)throw new Error("Need at least 2 sequences to build a tree");let t=zb(e.rows);e.setTree(t)},resetZoom(){e.setColWidth(12),e.setRowHeight(16)},zoomOutHorizontal(){e.colWidth=Math.max(1,Math.floor(e.colWidth*.75)),e.scrollX=(0,Be.clamp)(e.scrollX,e.maxScrollX,0)},zoomInHorizontal(){e.colWidth=Math.ceil(e.colWidth*1.5),e.scrollX=(0,Be.clamp)(e.scrollX,e.maxScrollX,0)},zoomInVertical(){e.rowHeight=Math.ceil(e.rowHeight*1.5)},zoomOutVertical(){e.rowHeight=Math.max(1.5,Math.floor(e.rowHeight*.75))},zoomIn(){(0,Wt.transaction)(()=>{e.colWidth=Math.ceil(e.colWidth*1.5),e.rowHeight=Math.ceil(e.rowHeight*1.5),e.scrollX=(0,Be.clamp)(e.scrollX,e.maxScrollX,0)})},zoomOut(){(0,Wt.transaction)(()=>{e.colWidth=Math.max(1,Math.floor(e.colWidth*.75)),e.rowHeight=Math.max(1.5,Math.floor(e.rowHeight*.75)),e.scrollX=(0,Be.clamp)(e.scrollX,e.maxScrollX,0)})},setInterProAnnotations(t){e.interProAnnotations=t},doScrollY(t){e.scrollY=(0,Be.clamp)(e.scrollY+t,-e.totalHeight+10,0)},doScrollX(t){this.setScrollX(e.scrollX+t)},setScrollX(t){e.scrollX=(0,Be.clamp)(t,e.maxScrollX,0)},toggleTrack(t){e.turnedOffTracks.has(t)?e.turnedOffTracks.delete(t):e.turnedOffTracks.set(t,!0)},setStatus(t){e.status=t}})).views(e=>({get labelsWidth(){let t=0,{rowHeight:r,leaves:n,treeMetadata:o,fontSize:i}=e;if(r>5)for(let s of n)t=Math.max(Pb(o[s.data.name]?.genome||s.data.name,i),t);return t},get secondaryStructureConsensus(){return e.MSA?.secondaryStructureConsensus},get seqConsensus(){return e.MSA?.seqConsensus},get adapterTrackModels(){let{rowHeight:t,MSA:r,hideGapsEffective:n,blanks:o}=e;return r?.tracks.filter(i=>i.data).map(i=>({model:{...i,data:n?gf(o,i.data):i.data,height:t},ReactComponent:_b}))||[]},get tracks(){let t={model:{id:"conservation",name:"Conservation",height:e.conservationTrackHeight},ReactComponent:vb};return[...this.adapterTrackModels,t]},get turnedOnTracks(){return this.tracks.filter(t=>!e.turnedOffTracks.has(t.model.id))},get showHorizontalScrollbar(){return e.msaAreaWidth<e.totalWidth},get rowNamesSet(){return new Map(e.rowNames.map((t,r)=>[t,r]))},visibleColToRowLetter(t,r){let{rowMap:n,blanks:o}=e;return n.get(t)?.[md(o,r)]},visibleColToSeqPos(t,r){return rS({rowName:t,visibleCol:r,rowMap:e.rowMap,blanks:e.blanks})},visibleColToSeqPosOneBased(t,r){let n=this.visibleColToSeqPos(t,r);return n!==void 0?n+1:void 0},globalColToVisibleCol(t){let{blanks:r,hideGapsEffective:n}=e;return n?tS(r,t):t},seqPosToGlobalCol(t,r){let{rows:n}=e,o=this.rowNamesSet.get(t);return o!==void 0&&n[o]?oS({row:n[o][1],seqPos:r}):0},seqPosToVisibleCol(t,r){let n=this.seqPosToGlobalCol(t,r);return this.globalColToVisibleCol(n)}})).views(e=>({get hoveredCell(){let{mouseCol:t,mouseRow:r}=e;if(t===void 0||r===void 0)return;let n=e.rowNames[r];if(!n)return;let i=e.columns[n]?.[t],s=e.visibleColToSeqPosOneBased(n,t);return{rowName:n,col:t,base:i,seqPos:s}},get msaAreaHeight(){return e.height-(e.showHorizontalScrollbar?e.minimapHeight:0)-e.headerHeight},get totalTrackAreaHeight(){return(0,Be.sum)(e.turnedOnTracks.map(t=>t.model.height))},get tidyInterProAnnotationTypes(){let t=new Map;for(let r of this.tidyInterProAnnotations)t.set(r.accession,r);return t},get tidyInterProAnnotations(){let t=[],{interProAnnotations:r}=e;if(r)for(let[n,o]of Object.entries(r))for(let{signature:i,locations:s}of o.matches){let{entry:a}=i;if(a){let{name:c,accession:l,description:A}=a;for(let{start:u,end:f}of s)t.push({id:n,name:c,accession:l,description:A,start:u,end:f})}}return t.toSorted((n,o)=>Cf(o)-Cf(n))},get tidyFilteredInterProAnnotations(){return this.tidyInterProAnnotations.filter(t=>e.featureFilters.get(t.accession))},get tidyFilteredGatheredInterProAnnotations(){return(0,Be.groupBy)(this.tidyFilteredInterProAnnotations,t=>t.id)}})).views(e=>({get showVerticalScrollbar(){return e.msaAreaHeight<e.totalHeight}})).views(e=>({get verticalScrollbarWidth(){return e.showVerticalScrollbar?20:0},get fillPalette(){return Nb([...e.tidyInterProAnnotationTypes.keys()])},get strokePalette(){return Object.fromEntries(Object.entries(this.fillPalette).map(([t,r])=>[t,Mt(r).darken(.1).toHex()]))},getRowData(t){return{data:e.MSA?.getRowData(t),treeMetadata:e.treeMetadata[t]}}})).actions(e=>({setHeaderHeight(t){e.headerHeight=t},setConservationTrackHeight(t){e.conservationTrackHeight=t},reset(){e.setData({tree:"",msa:""}),e.resetZoom(),e.setError(void 0),e.setScrollY(0),e.setScrollX(0),e.setCurrentAlignment(0),e.setTreeFilehandle(void 0),e.setMSAFilehandle(void 0)},async exportSVG(t){let{renderToSvg:r}=await Promise.resolve().then(()=>(xS(),IS)),n=await r(e,t),o=new Blob([n],{type:"image/svg+xml"});cS(o,"image.svg")},incrementRef(){e.nref++},initFilter(t){e.featureFilters.get(t)===void 0&&e.featureFilters.set(t,!0)},setFilter(t,r){e.featureFilters.set(t,r)},fit(){e.rowHeight=e.msaAreaHeight/e.numRows,e.colWidth=e.msaAreaWidth/e.numColumns,e.scrollX=0,e.scrollY=0},fitVertically(){e.rowHeight=e.msaAreaHeight/e.numRows,e.scrollY=0},fitHorizontally(){e.colWidth=e.msaAreaWidth/e.numColumns,e.scrollX=0},afterCreate(){(0,z.addDisposer)(e,(0,Wt.autorun)(()=>{for(let t of e.tidyInterProAnnotationTypes.keys())this.initFilter(t)})),(0,z.addDisposer)(e,(0,Wt.autorun)(()=>{(0,Be.localStorageSetBoolean)(_S,e.showZoomStar)})),(0,z.addDisposer)(e,(0,Wt.autorun)(async()=>{let{treeFilehandle:t}=e;if(t)try{e.setLoadingTree(!0),e.setTree(await(0,Be.fetchAndMaybeUnzipText)((0,gs.openLocation)(t))),t.locationType==="BlobLocation"&&e.setTreeFilehandle(void 0)}catch(r){console.error(r),e.setError(r)}finally{e.setLoadingTree(!1)}})),(0,z.addDisposer)(e,(0,Wt.autorun)(async()=>{let{treeMetadataFilehandle:t}=e;if(t)try{e.setTreeMetadata(await(0,Be.fetchAndMaybeUnzipText)((0,gs.openLocation)(t)))}catch(r){console.error(r),e.setError(r)}})),(0,z.addDisposer)(e,(0,Wt.autorun)(async()=>{let{gffFilehandle:t}=e;if(t)try{let r=await(0,Be.fetchAndMaybeUnzipText)((0,gs.openLocation)(t)),n=Kc(r),o=zc(n);e.setInterProAnnotations(o),e.setShowDomains(!0),t.locationType==="BlobLocation"&&e.setGFFFilehandle(void 0)}catch(r){console.error(r),e.setError(r)}})),(0,z.addDisposer)(e,(0,Wt.autorun)(async()=>{let{msaFilehandle:t}=e;if(t)try{e.setLoadingMSA(!0),e.setError(void 0);let r=await(0,Be.fetchAndMaybeUnzipText)((0,gs.openLocation)(t));(0,Wt.transaction)(()=>{e.setMSA(r),t.locationType==="BlobLocation"&&e.setMSAFilehandle(void 0)})}catch(r){console.error(r),e.setError(r)}finally{e.setLoadingMSA(!1)}})),(0,z.addDisposer)(e,(0,Wt.autorun)(()=>{e.colorSchemeName.includes("dynamic")&&(e.colStats,e.colStatsSums),e.columns})),(0,z.addDisposer)(e,(0,Wt.autorun)(async()=>{e.treeWidthMatchesArea&&e.setTreeWidth(Math.max(50,e.treeAreaWidth-e.labelsWidth-10-e.marginLeft))}))}})).postProcessSnapshot(e=>{let t=e,{data:{tree:r,msa:n,treeMetadata:o},showDomains:i,hideGaps:s,allowedGappyness:a,contrastLettering:c,subFeatureRows:l,drawMsaLetters:A,height:u,rowHeight:f,scrollY:m,scrollX:p,colWidth:h,currentAlignment:E,collapsed:C,collapsedLeaves:x,showOnly:y,turnedOffTracks:w,featureFilters:B,relativeTo:S,bgColor:Q,colorSchemeName:N,drawLabels:G,labelsAlignRight:U,treeAreaWidth:v,treeWidth:T,treeWidthMatchesArea:H,showBranchLen:L,drawTree:te,drawNodeBubbles:et,...dr}=t;return{...dr,data:{...e.treeFilehandle?{}:{tree:r},...e.msaFilehandle?{}:{msa:n},...e.treeMetadataFilehandle?{}:{treeMetadata:o}},...i!==!1?{showDomains:i}:{},...s!==!0?{hideGaps:s}:{},...a!==100?{allowedGappyness:a}:{},...c!==!0?{contrastLettering:c}:{},...l!==!1?{subFeatureRows:l}:{},...A!==!0?{drawMsaLetters:A}:{},...u!==550?{height:u}:{},...f!==16?{rowHeight:f}:{},...m!==0?{scrollY:m}:{},...p!==0?{scrollX:p}:{},...h!==12?{colWidth:h}:{},...E!==0?{currentAlignment:E}:{},...C?.length?{collapsed:C}:{},...x?.length?{collapsedLeaves:x}:{},...y!==void 0?{showOnly:y}:{},...w&&Object.keys(w).length>0?{turnedOffTracks:w}:{},...B&&Object.keys(B).length>0?{featureFilters:B}:{},...S!==void 0?{relativeTo:S}:{},...Q!==!0?{bgColor:Q}:{},...N!==Xc?{colorSchemeName:N}:{},...G!==!0?{drawLabels:G}:{},...U!==!1?{labelsAlignRight:U}:{},...v!==400?{treeAreaWidth:v}:{},...T!==300?{treeWidth:T}:{},...H!==!0?{treeWidthMatchesArea:H}:{},...L!==!0?{showBranchLen:L}:{},...te!==!0?{drawTree:te}:{},...et!==!0?{drawNodeBubbles:et}:{}}})}var Be,gs,lo,z,Wt,_S,Id,kS=g(()=>{Be=d(ae(),1),gs=d(TB(),1),lo=d(_B(),1),z=d(Ft(),1);Sc();mf();ab();Wt=d(zr(),1);wb();Sb();Dc();Tb();kb();Zc();Lb();Rb();Gb();Hb();Yb();Vb();Kb();$b();Zb();eS();nS();iS();bn();lS();_S="msa-showZoomStar";Id=bk});var xd=g(()=>{MB();kS()});var oQ={};rt(oQ,{default:()=>Yk});var Ae,tQ,rQ,ge,nQ,Uk,Yk,iQ=g(()=>{"use strict";Ae=d(b()),tQ=d(Ce()),rQ=d(ae()),ge=d(_()),nQ=d(O()),Uk=(0,nQ.observer)(function({model:t,handleClose:r}){let n=(0,rQ.getSession)(t),[o,i]=(0,Ae.useState)(""),[s,a]=(0,Ae.useState)(0),[c,l]=(0,Ae.useState)(t.querySeqName),[A,u]=(0,Ae.useState)(),f=n.views.filter(C=>C.type==="ProteinView"),p=f.find(C=>C.id===o)?.structures??[],h=t.rows.map(C=>C[0]),E=()=>{if(!o){u("Please select a protein view");return}try{t.connectToStructure(o,s,c),r()}catch(C){u(C instanceof Error?C.message:String(C))}};return Ae.default.createElement(tQ.Dialog,{maxWidth:"sm",title:"Connect to Protein Structure",open:!0,onClose:r},Ae.default.createElement(ge.DialogContent,null,f.length===0?Ae.default.createElement(ge.Typography,{color:"textSecondary"},"No protein views are currently open. Please open a protein structure view first."):Ae.default.createElement(Ae.default.Fragment,null,Ae.default.createElement(ge.FormControl,{fullWidth:!0,sx:{mb:2}},Ae.default.createElement(ge.InputLabel,null,"Protein View"),Ae.default.createElement(ge.Select,{value:o,label:"Protein View",onChange:C=>{i(C.target.value),a(0)}},f.map(C=>Ae.default.createElement(ge.MenuItem,{key:C.id,value:C.id},C.displayName??`ProteinView ${C.id}`)))),p.length>1&&Ae.default.createElement(ge.FormControl,{fullWidth:!0,sx:{mb:2}},Ae.default.createElement(ge.InputLabel,null,"Structure"),Ae.default.createElement(ge.Select,{value:s,label:"Structure",onChange:C=>{a(C.target.value)}},p.map((C,x)=>Ae.default.createElement(ge.MenuItem,{key:x,value:x},C.url??`Structure ${x+1}`)))),Ae.default.createElement(ge.FormControl,{fullWidth:!0,sx:{mb:2}},Ae.default.createElement(ge.InputLabel,null,"MSA Row"),Ae.default.createElement(ge.Select,{value:c,label:"MSA Row",onChange:C=>{l(C.target.value)}},h.map(C=>Ae.default.createElement(ge.MenuItem,{key:C,value:C},C)))),A&&Ae.default.createElement(ge.Typography,{color:"error",sx:{mt:1}},A))),Ae.default.createElement(ge.DialogActions,null,Ae.default.createElement(ge.Button,{onClick:r},"Cancel"),Ae.default.createElement(ge.Button,{onClick:E,variant:"contained",disabled:f.length===0||!o},"Connect")))}),Yk=Uk});function Vk({baseUrl:e,rid:t}){return bd.default.createElement(cQ.Typography,null,"RID ",t," (",bd.default.createElement(Yn,{href:`${e}?CMD=Get&RID=${t}`},"see status"),")")}var bd,cQ,Sd,lQ=g(()=>{"use strict";bd=d(b()),cQ=d(_());la();Sd=Vk});function Wk({baseUrl:e,rid:t,error:r}){return fr.default.createElement("div",null,t?fr.default.createElement(Sd,{rid:t,baseUrl:e}):null,fr.default.createElement(ol.ErrorMessage,{error:r}))}function Kk({baseUrl:e,rid:t,progress:r}){let{classes:n}=fQ();return fr.default.createElement("div",{className:n.loading},t?fr.default.createElement(Sd,{baseUrl:e,rid:t}):null,fr.default.createElement(Qd.Typography,null,r))}var fr,ol,Qd,AQ,uQ,fQ,zk,dQ,mQ=g(()=>{"use strict";fr=d(b()),ol=d(Ce()),Qd=d(_()),AQ=d(O()),uQ=d(Ue());lQ();fQ=(0,uQ.makeStyles)()(e=>({margin:{padding:20},loading:{background:e.palette.background.paper}}));zk=(0,AQ.observer)(function({model:t,baseUrl:r}){let{progress:n,rid:o,error:i,processing:s}=t,{classes:a}=fQ();return fr.default.createElement("div",{className:a.margin},fr.default.createElement(ol.LoadingEllipses,{message:"Running NCBI BLAST",variant:"h5"}),i?fr.default.createElement(Wk,{baseUrl:r,rid:o,error:i}):o?fr.default.createElement(Kk,{baseUrl:r,rid:o,progress:n}):null,fr.default.createElement(Qd.Typography,null,s||"Initializing BLAST query"))}),dQ=zk});var hQ={};rt(hQ,{default:()=>Xk});var Ci,gQ,pQ,$k,Xk,CQ=g(()=>{"use strict";Ci=d(b()),gQ=d(Ce()),pQ=d(O());xd();mQ();$k=(0,pQ.observer)(function({model:t}){let{blastParams:r,loadingStoredData:n}=t;return Ci.default.createElement("div",null,r?Ci.default.createElement(dQ,{model:t,baseUrl:r.baseUrl}):n?Ci.default.createElement("div",{style:{padding:20}},Ci.default.createElement(gQ.LoadingEllipses,{message:"Loading MSA data",variant:"h6"})):Ci.default.createElement(Gf,{model:t}))}),Xk=$k});var eN={};rt(eN,{default:()=>il});var yQ=d(qd()),vd=d(Rn()),wQ=d(ae()),Td=d(Ft());$();var Xd=d(R(),1),Zd=(0,D.createSvgIcon)((0,Xd.jsx)("path",{d:"M20 2H4c-1.1 0-2 .9-2 2v16c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V4c0-1.1-.9-2-2-2M8 20H4v-4h4zm0-6H4v-4h4zm0-6H4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4zm6 12h-4v-4h4zm0-6h-4v-4h4zm0-6h-4V4h4z"}),"GridOn");var lm=d(b()),Am=d(ae());var yi=d(b()),am=d(O());var ul=d(b()),om=d(ae()),fl=d(O());var nm=d(Ue()),Ss=(0,nm.makeStyles)()({highlight:{height:"100%",background:"rgba(255,255,0,0.2)",border:"1px solid rgba(50,50,0,0.2)",position:"absolute",zIndex:99,textAlign:"center",pointerEvents:"none",overflow:"hidden"}});var RQ=(0,fl.observer)(function({model:e}){let t=(0,om.getSession)(e),{hovered:r,views:n}=t;return!n.some(i=>i.type==="MsaView")||!r||typeof r!="object"||!("hoverPosition"in r)?null:ul.default.createElement(PQ,{model:e,hovered:r})}),PQ=(0,fl.observer)(function({model:e,hovered:t}){let{classes:r}=Ss(),{offsetPx:n}=e,{coord:o,refName:i}=t.hoverPosition,s=e.bpToPx({refName:i,coord:o-1}),a=e.bpToPx({refName:i,coord:o});if(s&&a){let c=Math.max(Math.abs(a.offsetPx-s.offsetPx),4),l=Math.min(s.offsetPx,a.offsetPx)-n;return ul.default.createElement("div",{className:r.highlight,style:{left:l,width:c}})}return null}),im=RQ;var xi=d(b()),dl=d(ae()),ml=d(O());var GQ=(0,ml.observer)(function({model:t}){let{views:r}=(0,dl.getSession)(t),o=r.find(i=>i.type==="MsaView")?.connectedHighlights;return!o||o.length===0?null:xi.default.createElement(OQ,{model:t,highlights:o})}),OQ=(0,ml.observer)(function({model:e,highlights:t}){let{classes:r}=Ss(),{assemblyManager:n}=(0,dl.getSession)(e),o=n.get(e.assemblyNames[0]),{offsetPx:i}=e;return o?xi.default.createElement(xi.default.Fragment,null,t.map((s,a)=>{let c=o.getCanonicalRefName(s.refName)??s.refName,l=e.bpToPx({refName:c,coord:s.start}),A=e.bpToPx({refName:c,coord:s.end});if(l&&A){let u=Math.max(Math.abs(A.offsetPx-l.offsetPx),4),f=Math.min(l.offsetPx,A.offsetPx)-i;return xi.default.createElement("div",{key:`${s.refName}-${s.start}-${s.end}-${a}`,className:r.highlight,style:{left:f,width:u}})}return null})):null}),sm=GQ;var HQ=(0,am.observer)(function({model:t}){return yi.default.createElement(yi.default.Fragment,null,yi.default.createElement(sm,{model:t}),yi.default.createElement(im,{model:t}))}),cm=HQ;function gl(e){e.addToExtensionPoint("LinearGenomeView-TracksContainerComponent",(t,{model:r})=>{let{views:n}=(0,Am.getSession)(r);return n.some(i=>i.type==="MsaView")?[...t,lm.default.createElement(cm,{key:"highlight_protein_viewer_msaview",model:r})]:t})}var qm=d(pl());var fm=d(Rn());function hl(e){let t=e.getAdapterType("BgzipFastaAdapter");return(0,fm.ConfigurationSchema)("BgzipFastaMsaAdapter",{msaRegex:{type:"string",defaultValue:"_"}},{baseConfiguration:t?.configSchema})}function Nl(e){return e.addAdapterType(()=>new qm.AdapterType({name:"BgzipFastaMsaAdapter",configSchema:hl(e),adapterMetadata:{hiddenFromGUI:!0},getAdapterClass:()=>Promise.resolve().then(()=>(Ym(),Um)).then(t=>t.default)}))}var ya=d(ae());$();var jm=d(R(),1),Vm=(0,D.createSvgIcon)((0,jm.jsx)("path",{d:"M19 13h-6v6h-2v-6H5v-2h6V5h2v6h6z"}),"Add");var it=d(b()),Ih=d(Rn()),xh=d(Ce()),yh=d(ae()),Vn=d(_());var Ct=d(b()),Xs=d(Ce()),Zs=d(ae()),jr=d(_()),kg=d(O()),Ng=d(Ue());function zm({session:e,newViewTitle:t,view:r,feature:n,data:o}){e.addView("MsaView",{type:"MsaView",displayName:t,colWidth:10,rowHeight:12,data:o,connectedViewId:r.id,connectedFeature:n.toJSON()})}var qe=d(b(),1),zl=d(eg(),1);var nt=d(b(),1);var mn={};rt(mn,{ERROR_REVALIDATE_EVENT:()=>o1,FOCUS_EVENT:()=>tg,MUTATE_EVENT:()=>ng,RECONNECT_EVENT:()=>rg});var tg=0,rg=1,ng=2,o1=3;var og=Object.prototype.hasOwnProperty;function Ls(e,t){var r,n;if(e===t)return!0;if(e&&t&&(r=e.constructor)===t.constructor){if(r===Date)return e.getTime()===t.getTime();if(r===RegExp)return e.toString()===t.toString();if(r===Array){if((n=e.length)===t.length)for(;n--&&Ls(e[n],t[n]););return n===-1}if(!r||typeof e=="object"){n=0;for(r in e)if(og.call(e,r)&&++n&&!og.call(t,r)||!(r in t)||!Ls(e[r],t[r]))return!1;return Object.keys(t).length===n}}return e!==e&&t!==t}var gr=new WeakMap,pr=()=>{},Ye=pr(),xo=Object,j=e=>e===Ye,Rt=e=>typeof e=="function",hr=(e,t)=>({...e,...t}),Hs=e=>Rt(e.then),Fl={},Fs={},Ul="undefined",yo=typeof window!=Ul,Ps=typeof document!=Ul,sg=yo&&"Deno"in window,ag=()=>yo&&typeof window.requestAnimationFrame!=Ul,Js=(e,t)=>{let r=gr.get(e);return[()=>!j(t)&&e.get(t)||Fl,n=>{if(!j(t)){let o=e.get(t);t in Fs||(Fs[t]=o),r[5](t,hr(o,n),o||Fl)}},r[6],()=>!j(t)&&t in Fs?Fs[t]:!j(t)&&e.get(t)||Fl]},Gl=!0,i1=()=>Gl,[Ol,Hl]=yo&&window.addEventListener?[window.addEventListener.bind(window),window.removeEventListener.bind(window)]:[pr,pr],s1=()=>{let e=Ps&&document.visibilityState;return j(e)||e!=="hidden"},a1=e=>(Ps&&document.addEventListener("visibilitychange",e),Ol("focus",e),()=>{Ps&&document.removeEventListener("visibilitychange",e),Hl("focus",e)}),c1=e=>{let t=()=>{Gl=!0,e()},r=()=>{Gl=!1};return Ol("online",t),Ol("offline",r),()=>{Hl("online",t),Hl("offline",r)}},cg={isOnline:i1,isVisible:s1},lg={initFocus:a1,initReconnect:c1},Us=!nt.default.useId,gn=!yo||sg,Yl=e=>ag()?window.requestAnimationFrame(e):setTimeout(e,1),wo=gn?nt.useEffect:nt.useLayoutEffect,Rl=typeof navigator<"u"&&navigator.connection,Jl=!gn&&Rl&&(["slow-2g","2g"].includes(Rl.effectiveType)||Rl.saveData),Rs=new WeakMap,l1=e=>xo.prototype.toString.call(e),Pl=(e,t)=>e===`[object ${t}]`,A1=0,Gs=e=>{let t=typeof e,r=l1(e),n=Pl(r,"Date"),o=Pl(r,"RegExp"),i=Pl(r,"Object"),s,a;if(xo(e)===e&&!n&&!o){if(s=Rs.get(e),s)return s;if(s=++A1+"~",Rs.set(e,s),Array.isArray(e)){for(s="@",a=0;a<e.length;a++)s+=Gs(e[a])+",";Rs.set(e,s)}if(i){s="#";let c=xo.keys(e).sort();for(;!j(a=c.pop());)j(e[a])||(s+=a+":"+Gs(e[a])+",");Rs.set(e,s)}}else s=n?e.toJSON():t=="symbol"?e.toString():t=="string"?JSON.stringify(e):""+e;return s},Si=e=>{if(Rt(e))try{e=e()}catch{e=""}let t=e;return e=typeof e=="string"?e:(Array.isArray(e)?e.length:e)?Gs(e):"",[e,t]},u1=0,bi=()=>++u1;async function Ys(...e){let[t,r,n,o]=e,i=hr({populateCache:!0,throwOnError:!0},typeof o=="boolean"?{revalidate:o}:o||{}),s=i.populateCache,a=i.rollbackOnError,c=i.optimisticData,l=f=>typeof a=="function"?a(f):a!==!1,A=i.throwOnError;if(Rt(r)){let f=r,m=[],p=t.keys();for(let h of p)!/^\$(inf|sub)\$/.test(h)&&f(t.get(h)._k)&&m.push(h);return Promise.all(m.map(u))}return u(r);async function u(f){let[m]=Si(f);if(!m)return;let[p,h]=Js(t,m),[E,C,x,y]=gr.get(t),w=()=>{let L=E[m];return(Rt(i.revalidate)?i.revalidate(p().data,f):i.revalidate!==!1)&&(delete x[m],delete y[m],L&&L[0])?L[0](2).then(()=>p().data):p().data};if(e.length<3)return w();let B=n,S,Q=!1,N=bi();C[m]=[N,0];let G=!j(c),U=p(),v=U.data,T=U._c,H=j(T)?v:T;if(G&&(c=Rt(c)?c(H,v):c,h({data:c,_c:H})),Rt(B))try{B=B(H)}catch(L){S=L,Q=!0}if(B&&Hs(B))if(B=await B.catch(L=>{S=L,Q=!0}),N!==C[m][0]){if(Q)throw S;return B}else Q&&G&&l(S)&&(s=!0,h({data:H,_c:Ye}));if(s&&!Q)if(Rt(s)){let L=s(B,H);h({data:L,error:Ye,_c:Ye})}else h({data:B,error:Ye,_c:Ye});if(C[m][1]=bi(),Promise.resolve(w()).then(()=>{h({_c:Ye})}),Q){if(A)throw S;return}return B}}var ig=(e,t)=>{for(let r in e)e[r][0]&&e[r][0](t)},ql=(e,t)=>{if(!gr.has(e)){let r=hr(lg,t),n=Object.create(null),o=Ys.bind(Ye,e),i=pr,s=Object.create(null),a=(A,u)=>{let f=s[A]||[];return s[A]=f,f.push(u),()=>f.splice(f.indexOf(u),1)},c=(A,u,f)=>{e.set(A,u);let m=s[A];if(m)for(let p of m)p(u,f)},l=()=>{if(!gr.has(e)&&(gr.set(e,[n,Object.create(null),Object.create(null),Object.create(null),o,c,a]),!gn)){let A=r.initFocus(setTimeout.bind(Ye,ig.bind(Ye,n,0))),u=r.initReconnect(setTimeout.bind(Ye,ig.bind(Ye,n,1)));i=()=>{A&&A(),u&&u(),gr.delete(e)}}};return l(),[e,o,l,i]}return[e,gr.get(e)[4]]},f1=(e,t,r,n,o)=>{let i=r.errorRetryCount,s=o.retryCount,a=~~((Math.random()+.5)*(1<<(s<8?s:8)))*r.errorRetryInterval;!j(i)&&s>i||setTimeout(n,a,o)},Ag=Ls,[qs,ug]=ql(new Map),js=hr({onLoadingSlow:pr,onSuccess:pr,onError:pr,onErrorRetry:f1,onDiscarded:pr,revalidateOnFocus:!0,revalidateOnReconnect:!0,revalidateIfStale:!0,shouldRetryOnError:!0,errorRetryInterval:Jl?1e4:5e3,focusThrottleInterval:5*1e3,dedupingInterval:2*1e3,loadingTimeout:Jl?5e3:3e3,compare:Ag,isPaused:()=>!1,cache:qs,mutate:ug,fallback:{}},cg),jl=(e,t)=>{let r=hr(e,t);if(t){let{use:n,fallback:o}=e,{use:i,fallback:s}=t;n&&i&&(r.use=n.concat(i)),o&&s&&(r.fallback=hr(o,s))}return r},Os=(0,nt.createContext)({}),Vl=e=>{let{value:t}=e,r=(0,nt.useContext)(Os),n=Rt(t),o=(0,nt.useMemo)(()=>n?t(r):t,[n,r,t]),i=(0,nt.useMemo)(()=>n?o:jl(r,o),[n,r,o]),s=o&&o.provider,a=(0,nt.useRef)(Ye);s&&!a.current&&(a.current=ql(s(i.cache||qs),o));let c=a.current;return c&&(i.cache=c[0],i.mutate=c[1]),wo(()=>{if(c)return c[2]&&c[2](),c[3]},[]),(0,nt.createElement)(Os.Provider,hr(e,{value:i}))};var fg="$inf$";var Bo=d(b(),1);var dg=yo&&window.__SWR_DEVTOOLS_USE__,d1=dg?window.__SWR_DEVTOOLS_USE__:[],m1=()=>{dg&&(window.__SWR_DEVTOOLS_REACT__=Bo.default)},g1=e=>Rt(e[1])?[e[0],e[1],e[2]||{}]:[e[0],null,(e[1]===null?e[2]:e[1])||{}],p1=()=>{let e=(0,Bo.useContext)(Os);return(0,Bo.useMemo)(()=>hr(js,e),[e])};var h1=e=>(t,r,n)=>e(t,r&&((...i)=>{let[s]=Si(t),[,,,a]=gr.get(qs);if(s.startsWith(fg))return r(...i);let c=a[s];return j(c)?r(...i):(delete a[s],c)}),n),C1=d1.concat(h1),mg=e=>function(...r){let n=p1(),[o,i,s]=g1(r),a=jl(n,s),c=e,{use:l}=a,A=(l||[]).concat(C1);for(let u=A.length;u--;)c=A[u](c);return c(o,i||a.fetcher||null,a)},gg=(e,t,r)=>{let n=t[e]||(t[e]=[]);return n.push(r),()=>{let o=n.indexOf(r);o>=0&&(n[o]=n[n.length-1],n.pop())}};m1();var E1=()=>{},WL=E1();var Wl=qe.default.use||(e=>{switch(e.status){case"pending":throw e;case"fulfilled":return e.value;case"rejected":throw e.reason;default:throw e.status="pending",e.then(t=>{e.status="fulfilled",e.value=t},t=>{e.status="rejected",e.reason=t}),e}}),Kl={dedupe:!0},pg=Promise.resolve(Ye),I1=()=>pr,x1=(e,t,r)=>{let{cache:n,compare:o,suspense:i,fallbackData:s,revalidateOnMount:a,revalidateIfStale:c,refreshInterval:l,refreshWhenHidden:A,refreshWhenOffline:u,keepPreviousData:f,strictServerPrefetchWarning:m}=r,[p,h,E,C]=gr.get(n),[x,y]=Si(e),w=(0,qe.useRef)(!1),B=(0,qe.useRef)(!1),S=(0,qe.useRef)(x),Q=(0,qe.useRef)(t),N=(0,qe.useRef)(r),G=()=>N.current,U=()=>G().isVisible()&&G().isOnline(),[v,T,H,L]=Js(n,x),te=(0,qe.useRef)({}).current,et=j(s)?j(r.fallback)?Ye:r.fallback[x]:s,dr=(re,se)=>{for(let ue in te){let fe=ue;if(fe==="data"){if(!o(re[fe],se[fe])&&(!j(re[fe])||!o(Sr,se[fe])))return!1}else if(se[fe]!==re[fe])return!1}return!0},Or=!w.current,hs=(0,qe.useMemo)(()=>{let re=v(),se=L(),ue=Te=>{let pt=hr(Te);return delete pt._k,(()=>{if(!x||!t||G().isPaused())return!1;if(Or&&!j(a))return a;let $t=j(et)?pt.data:et;return i?j($t)||c:j($t)||c})()?{isValidating:!0,isLoading:!0,...pt}:pt},fe=ue(re),Nt=re===se?fe:ue(se),gt=fe;return[()=>{let Te=ue(v());return dr(Te,gt)?(gt.data=Te.data,gt.isLoading=Te.isLoading,gt.isValidating=Te.isValidating,gt.error=Te.error,gt):(gt=Te,Te)},()=>Nt]},[n,x]),Hr=(0,zl.useSyncExternalStore)((0,qe.useCallback)(re=>H(x,(se,ue)=>{dr(ue,se)||re()}),[n,x]),hs[0],hs[1]),Ne=p[x]&&p[x].length>0,Jr=Hr.data,pe=j(Jr)?et&&Hs(et)?Wl(et):et:Jr,Nn=Hr.error,he=(0,qe.useRef)(pe),Sr=f?j(Jr)?j(he.current)?pe:he.current:Jr:pe,zt=x&&j(pe),Tt=(0,qe.useRef)(null);!gn&&(0,zl.useSyncExternalStore)(I1,()=>(Tt.current=!1,Tt),()=>(Tt.current=!0,Tt));let Cs=Tt.current;m&&Cs&&!i&&zt&&console.warn(`Missing pre-initiated data for serialized key "${x}" during server-side rendering. Data fetching should be initiated on the server and provided to SWR via fallback data. You can set "strictServerPrefetchWarning: false" to disable this warning.`);let uo=!x||!t||G().isPaused()||Ne&&!j(Nn)?!1:Or&&!j(a)?a:i?j(pe)?!1:c:j(pe)||c,Ei=Or&&uo,Es=j(Hr.isValidating)?Ei:Hr.isValidating,un=j(Hr.isLoading)?Ei:Hr.isLoading,Qr=(0,qe.useCallback)(async re=>{let se=Q.current;if(!x||!se||B.current||G().isPaused())return!1;let ue,fe,Nt=!0,gt=re||{},Te=!E[x]||!gt.dedupe,pt=()=>Us?!B.current&&x===S.current&&w.current:x===S.current,mr={isValidating:!1,isLoading:!1},$t=()=>{T(mr)},Lt=()=>{let ht=E[x];ht&&ht[1]===fe&&delete E[x]},fo={isValidating:!0};j(v().data)&&(fo.isLoading=!0);try{if(Te&&(T(fo),r.loadingTimeout&&j(v().data)&&setTimeout(()=>{Nt&&pt()&&G().onLoadingSlow(x,r)},r.loadingTimeout),E[x]=[se(y),bi()]),[ue,fe]=E[x],ue=await ue,Te&&setTimeout(Lt,r.dedupingInterval),!E[x]||E[x][1]!==fe)return Te&&pt()&&G().onDiscarded(x),!1;mr.error=Ye;let ht=h[x];if(!j(ht)&&(fe<=ht[0]||fe<=ht[1]||ht[1]===0))return $t(),Te&&pt()&&G().onDiscarded(x),!1;let Xt=v().data;mr.data=o(Xt,ue)?Xt:ue,Te&&pt()&&G().onSuccess(ue,x,r)}catch(ht){Lt();let Xt=G(),{shouldRetryOnError:Ln}=Xt;Xt.isPaused()||(mr.error=ht,Te&&pt()&&(Xt.onError(ht,x,Xt),(Ln===!0||Rt(Ln)&&Ln(ht))&&(!G().revalidateOnFocus||!G().revalidateOnReconnect||U())&&Xt.onErrorRetry(ht,x,Xt,xs=>{let fn=p[x];fn&&fn[0]&&fn[0](mn.ERROR_REVALIDATE_EVENT,xs)},{retryCount:(gt.retryCount||0)+1,dedupe:!0})))}return Nt=!1,$t(),!0},[x,n]),Mr=(0,qe.useCallback)((...re)=>Ys(n,S.current,...re),[]);if(wo(()=>{Q.current=t,N.current=r,j(Jr)||(he.current=Jr)}),wo(()=>{if(!x)return;let re=Qr.bind(Ye,Kl),se=0;G().revalidateOnFocus&&(se=Date.now()+G().focusThrottleInterval);let fe=gg(x,p,(Nt,gt={})=>{if(Nt==mn.FOCUS_EVENT){let Te=Date.now();G().revalidateOnFocus&&Te>se&&U()&&(se=Te+G().focusThrottleInterval,re())}else if(Nt==mn.RECONNECT_EVENT)G().revalidateOnReconnect&&U()&&re();else{if(Nt==mn.MUTATE_EVENT)return Qr();if(Nt==mn.ERROR_REVALIDATE_EVENT)return Qr(gt)}});return B.current=!1,S.current=x,w.current=!0,T({_k:y}),uo&&(E[x]||(j(pe)||gn?re():Yl(re))),()=>{B.current=!0,fe()}},[x]),wo(()=>{let re;function se(){let fe=Rt(l)?l(v().data):l;fe&&re!==-1&&(re=setTimeout(ue,fe))}function ue(){!v().error&&(A||G().isVisible())&&(u||G().isOnline())?Qr(Kl).then(se):se()}return se(),()=>{re&&(clearTimeout(re),re=-1)}},[l,A,u,x]),(0,qe.useDebugValue)(Sr),i){if(!Us&&gn&&zt)throw new Error("Fallback data is required when using Suspense in SSR.");zt&&(Q.current=t,N.current=r,B.current=!1);let re=C[x],se=!j(re)&&zt?Mr(re):pg;if(Wl(se),!j(Nn)&&zt)throw Nn;let ue=zt?Qr(Kl):pg;!j(Sr)&&zt&&(ue.status="fulfilled",ue.value=!0),Wl(ue)}return{mutate:Mr,get data(){return te.data=!0,Sr},get error(){return te.error=!0,Nn},get isValidating(){return te.isValidating=!0,Es},get isLoading(){return te.isLoading=!0,un}}},KL=xo.defineProperty(Vl,"defaultValue",{value:js}),Pn=mg(x1);function $l(e,t=[]){if(e.children)for(let r of e.children){if(r.sequence){let n=r.sequence.id[0]?.accession;n&&t.push({id:n,seq:r.sequence.mol_seq.seq,species:r.taxonomy.common_name||r.taxonomy.scientific_name,genomicLocString:r.sequence.mol_seq.location})}$l(r,t)}return t}async function hg(e,t){let r=await fetch(e,t);if(!r.ok)throw new Error(`HTTP ${r.status} fetching ${e} ${await r.text()}`);return r}async function Fe(e,t){return(await hg(e,t)).text()}async function Gn(e,t){return(await hg(e,t)).json()}function Vs(e){return new Promise(t=>setTimeout(t,e))}async function Qi(e,t){let r=localStorage.getItem(e);if(r)try{return JSON.parse(r)}catch(o){console.error(`Error parsing cached data for ${e}:`,o),localStorage.removeItem(e)}let n=await t();return localStorage.setItem(e,JSON.stringify(n)),n}var Cg="https://rest.ensembl.org";async function Eg(e){let t=e.replace(/\..*/,""),{species:r}=await Qi(`${t}-ensembl`,()=>Gn(`${Cg}/lookup/id/${t}?content-type=application/json`)),n=`${Cg}/genetree/member/id/${r}/${t}`,o=await Qi(`${t}-msa`,()=>Gn(`${n}?content-type=application/json;aligned=1;sequence=pep`)),i=await Qi(`${t}-tree`,()=>Fe(`${n}?nh_format=simple;content-type=text/x-nh`)),s=$l(o.tree);return{geneTreeId:o.id,tree:i,msa:s.map(a=>`>${a.id}
|
|
69
69
|
${a.seq}`).join(`
|
|
70
|
-
`),treeMetadata:JSON.stringify(Object.fromEntries(s.map(a=>[a.id,{genome:a.species}])))}}function
|
|
71
|
-
${o}`:"Loading..."}))}var Io=d(S());var dn=d(se());function d1(e,t){return e.map(r=>t.slice(r.start,r.end)).join("")}function m1({cds:e,sequence:t,codonTable:r}){let n=d1(e,t),o="";for(let i=0;i<n.length;i+=3)o+=r[n.slice(i,i+3)]??"&";return o}function g1(e,t){return e.map(r=>({...r,start:t-r.end,end:t-r.start})).toSorted((r,n)=>r.start-n.start)}function Bg({feature:e,seq:t}){let{subfeatures:r,start:n,strand:o}=e.toJSON(),i=(0,dn.dedupe)(r?.toSorted((s,a)=>s.start-a.start).map(s=>({...s,start:s.start-n,end:s.end-n})).filter(s=>s.type==="CDS")??[],s=>`${s.start}-${s.end}`);return m1({cds:o===-1?g1(i,t.length):i,sequence:o===-1?(0,dn.revcom)(t):t,codonTable:(0,dn.generateCodonTable)(dn.defaultCodonTable)})}var Sg=d(se());var bg=d(Nn());async function Ws({start:e,end:t,refName:r,session:n,assemblyName:o}){let{assemblyManager:i,rpcManager:s}=n,a=await i.waitForAssembly(o);if(!a)throw new Error("assembly not found");let c="getSequence";return(await s.call(c,"CoreGetFeatures",{adapterConfig:(0,bg.getConf)(a,["sequence","adapter"]),sessionId:c,regions:[{start:e,end:t,refName:a.getCanonicalRefName(r),assemblyName:o}]}))[0]?.get("seq")??""}async function p1({feature:e,assemblyName:t,upDownBp:r,view:n}){let o=(0,Sg.getSession)(n),{start:i,end:s,refName:a}=e.toJSON(),c=i-r,l=s+r,[A,u,f]=await Promise.all([Ws({start:i,end:s,refName:a,assemblyName:t,session:o}),Ws({start:Math.max(0,c),end:i,refName:a,assemblyName:t,session:o}),Ws({start:s,end:l,refName:a,assemblyName:t,session:o})]);return{seq:A,upstream:u,downstream:f}}function Qg({view:e,feature:t,upDownBp:r=0,forceLoad:n=!0}){let o=e?.assemblyNames?.[0],{data:i,error:s}=Ln(t&&o&&e?[t.id(),o,r,n,"feature-sequence"]:null,()=>p1({feature:t,assemblyName:o,upDownBp:r,view:e}),{revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1});return{sequence:i,error:s}}function Mg({view:e,feature:t,upDownBp:r=0,forceLoad:n=!0}){let{sequence:o,error:i}=Qg({view:e,feature:t,upDownBp:r,forceLoad:n});return{proteinSequence:o&&!("error"in o)&&t?Bg({seq:o.seq,feature:t}):"",sequence:o,error:i}}function wr({feature:e,view:t,validIds:r}){let n=Eg(e),[o,i]=(0,Io.useState)(Or(n[0])),s=n.find(A=>Or(A)===o),{proteinSequence:a,error:c}=Mg({view:t,feature:s}),l=(0,Io.useMemo)(()=>r?new Set(r):void 0,[r]);return(0,Io.useEffect)(()=>{if(r&&r.length>0&&!r.includes(o)){let A=n.find(u=>r.includes(Or(u)));A&&i(Or(A))}},[r,n,o]),{options:n,selectedId:o,setSelectedId:i,selectedTranscript:s,proteinSequence:a,error:c,validSet:l}}var h1=(0,Tg.makeStyles)()({dialogContent:{width:"80em",display:"flex",flexDirection:"column",gap:16}}),C1=(0,vg.observer)(function({model:e,feature:t,handleClose:r}){let n=(0,zs.getSession)(e),o=(0,zs.getContainingView)(e),{classes:i}=h1(),[s,a]=(0,ht.useState)(),{options:c,selectedId:l,setSelectedId:A,selectedTranscript:u,proteinSequence:f,error:m}=wr({feature:t,view:o}),{treeData:g,isTreeLoading:h,treeError:C}=hg(l),E=h?"Loading tree data from Ensembl GeneTree":void 0,x=C??s??m;return ht.default.createElement(ht.default.Fragment,null,ht.default.createElement(Hr.DialogContent,{className:i.dialogContent},x?ht.default.createElement(Ks.ErrorMessage,{error:x}):null,E?ht.default.createElement(Ks.LoadingEllipses,{message:E}):null,g?ht.default.createElement("div",null,ht.default.createElement("div",null,"Found Ensembl Compara GeneTree: ",g.geneTreeId),ht.default.createElement(Hr.Link,{target:"_blank",href:`https://useast.ensembl.org/Multi/GeneTree/Image?gt=${g.geneTreeId}`},"See ",g.geneTreeId," at Ensembl")):null,ht.default.createElement(Ar,{feature:t,options:c,selectedTranscript:u,onTranscriptChange:A,proteinSequence:f})),ht.default.createElement(Hr.DialogActions,null,ht.default.createElement(Hr.Button,{color:"primary",variant:"contained",onClick:()=>{try{if(!g)return;a(void 0),Vm({feature:t,view:o,session:n,newViewTitle:yr(t),data:g}),r()}catch(y){console.error(y),a(y)}}},"Submit"),ht.default.createElement(Hr.Button,{color:"secondary",variant:"contained",onClick:()=>{r()}},"Cancel")))}),_g=C1;var $=d(S()),Si=d(xe()),$s=d(se()),Je=d(N()),kg=d(G()),Ng=d(tt());function Dg({session:e,newViewTitle:t,view:r,feature:n,msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a}){e.addView("MsaView",{type:"MsaView",displayName:t,connectedViewId:r.id,connectedFeature:n.toJSON(),msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a})}var E1=(0,Ng.makeStyles)()({dialogContent:{width:"80em"},textAreaFont:{fontFamily:"Courier New"}}),I1=(0,kg.observer)(function({model:t,feature:r,handleClose:n}){let o=(0,$s.getSession)(t),i=(0,$s.getContainingView)(t),{classes:s}=E1(),[a,c]=(0,$.useState)(),[l,A]=(0,$.useState)("file"),[u,f]=(0,$.useState)(""),[m,g]=(0,$.useState)(""),[h,C]=(0,$.useState)(),[E,x]=(0,$.useState)(),[y,w]=(0,$.useState)(""),{options:b,setSelectedId:M,selectedTranscript:v,proteinSequence:T,error:_}=wr({feature:r,view:i}),P=a??_;return $.default.createElement($.default.Fragment,null,$.default.createElement(Je.DialogContent,{className:s.dialogContent},P?$.default.createElement(Si.ErrorMessage,{error:P}):null,$.default.createElement(Je.FormControl,{component:"fieldset"},$.default.createElement(Je.RadioGroup,{row:!0,value:l,onChange:B=>{A(B.target.value)}},$.default.createElement(Je.FormControlLabel,{value:"file",control:$.default.createElement(Je.Radio,null),label:"Open files"}),$.default.createElement(Je.FormControlLabel,{value:"text",control:$.default.createElement(Je.Radio,null),label:"Paste text"}))),$.default.createElement("div",{style:{marginBottom:30}},l==="file"?$.default.createElement("div",{style:{maxWidth:500}},$.default.createElement(Si.FileSelector,{name:"MSA File .aln (Clustal), .fa/.mfa (aligned FASTA), .stock (Stockholm), etc)",inline:!0,location:h,setLocation:C}),$.default.createElement(Si.FileSelector,{name:"Tree file .nh (Newick) or .asn (NCBI COBALT ASN.1)",inline:!0,location:E,setLocation:x})):$.default.createElement($.default.Fragment,null,$.default.createElement(At,{variant:"outlined",name:"MSA",multiline:!0,minRows:5,style:{marginBottom:"20px"},maxRows:10,fullWidth:!0,placeholder:"Paste MSA here",value:u,onChange:B=>{f(B.target.value)}}),$.default.createElement(At,{variant:"outlined",name:"Tree",multiline:!0,minRows:5,maxRows:10,fullWidth:!0,placeholder:"Paste newick tree (optional)",value:m,onChange:B=>{g(B.target.value)}}))),$.default.createElement(Ar,{feature:r,options:b,selectedTranscript:v,onTranscriptChange:M,proteinSequence:T}),$.default.createElement(At,{variant:"outlined",name:"MSA row name",fullWidth:!0,required:!0,style:{marginTop:20},placeholder:"Row name in MSA that corresponds to the selected transcript",helperText:"Required: Specify the name of the row in your MSA that should be aligned with the selected transcript",value:y,onChange:B=>{w(B.target.value)}}),!y.trim()&&$.default.createElement(Je.Alert,{severity:"warning",style:{marginTop:10}},"Without specifying the MSA row name, clicking on the MSA will not navigate to the corresponding genome position, and hovering highlights will not work.")),$.default.createElement(Je.DialogActions,null,$.default.createElement(Je.Button,{color:"primary",variant:"contained",disabled:!v||l==="file"&&!h||l==="text"&&!u.trim(),onClick:()=>{try{if(!v)return;c(void 0),Dg({session:o,newViewTitle:yr(v),view:i,feature:v,querySeqName:y.trim()||void 0,...l==="file"?{msaFilehandle:h,treeFilehandle:E}:{data:{msa:u,tree:m||void 0}}}),n()}catch(B){console.error(B),c(B)}}},"Submit"),$.default.createElement(Je.Button,{color:"secondary",variant:"contained",onClick:()=>{n()}},"Cancel")))}),Lg=I1;var fr=d(S()),fp=d(se());Wl();var dp=d(N());var V=d(S()),tp=d(xe()),rp=d(se());Kl();var ve=d(N()),np=d(G()),op=d(tt());var je=d(S()),Xg=d(se());z();var Pg=d(F(),1),Gg=(0,D.createSvgIcon)((0,Pg.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var ut=d(N()),Zg=d(G());var zl=d(se());function Og({newViewTitle:e,view:t,feature:r,blastParams:n}){return(0,zl.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,connectedFeature:r.toJSON(),drawNodeBubbles:!0,colWidth:10,rowHeight:12,blastParams:n})}function Hg({newViewTitle:e,view:t,cached:r}){return(0,zl.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,drawNodeBubbles:!0,colWidth:10,rowHeight:12,data:{msa:r.msa,tree:r.tree,treeMetadata:r.treeMetadata}})}ta();var D1="jbrowse-msaview-blast-cache",mn="blast-results",k1=2;async function ra(){return Qi(D1,k1,{upgrade(e,t){t<2&&e.objectStoreNames.contains(mn)&&e.deleteObjectStore(mn),e.objectStoreNames.contains(mn)||e.createObjectStore(mn,{keyPath:"id"})}})}function N1(e,t,r){return`${t}:${r}:${e.slice(0,100)}`}async function Kg({proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,geneId:c,transcriptId:l}){let A=await ra(),f={id:N1(e,t,r),proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,timestamp:Date.now(),geneId:c,transcriptId:l};return await A.put(mn,f),f}async function na(){return(await(await ra()).getAll(mn)).toSorted((r,n)=>n.timestamp-r.timestamp)}async function zg(e){await(await ra()).delete(mn,e)}async function $g(){await(await ra()).clear(mn)}var L1=(0,Zg.observer)(function({model:e,handleClose:t,feature:r}){let[n,o]=(0,je.useState)([]),[i,s]=(0,je.useState)(!0),a=(0,Xg.getContainingView)(e),c=r.get("id");(0,je.useEffect)(()=>{(async()=>{try{let f=await na();o(f.filter(m=>m.geneId===c)),s(!1)}catch(f){console.error(f)}})()},[c]);let l=async f=>{await zg(f),o(m=>m.filter(g=>g.id!==f))},A=async()=>{await $g(),o([])},u=f=>{Hg({view:a,cached:f,newViewTitle:`BLAST - ${f.geneId??f.transcriptId??"Unknown gene"}`}),t()};return i?je.default.createElement(ut.Typography,null,"Loading cached results..."):n.length===0?je.default.createElement(ut.Typography,{color:"textSecondary"},"No cached BLAST results found for this gene. Run a BLAST query to cache results."):je.default.createElement("div",null,je.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8}},je.default.createElement(ut.Typography,{variant:"subtitle1"},"Cached BLAST Results (",n.length,")"),je.default.createElement(ut.Button,{size:"small",color:"error",onClick:()=>{A()}},"Clear All")),je.default.createElement(ut.List,{dense:!0,style:{maxHeight:300,overflow:"auto"}},n.map(f=>je.default.createElement(ut.ListItem,{key:f.id,disablePadding:!0,secondaryAction:je.default.createElement(ut.IconButton,{edge:"end",size:"small",onClick:m=>{m.stopPropagation(),l(f.id)}},je.default.createElement(Gg,{fontSize:"small"}))},je.default.createElement(ut.ListItemButton,{onClick:()=>{u(f)}},je.default.createElement(ut.ListItemText,{primary:`${f.geneId??f.transcriptId??"Unknown"} - ${f.blastDatabase}/${f.blastProgram} (${f.msaAlgorithm})`,secondary:`${new Date(f.timestamp).toLocaleString()} - Seq: ${f.proteinSequence.slice(0,30)}...`}))))))}),ep=L1;var F1=(0,op.makeStyles)()({dialogContent:{width:"80em"},textAreaFont:{fontFamily:"Courier New"}}),R1=["nr","nr_cluster_seq"],P1=["clustalo","muscle","kalign","mafft"],G1=["blastp","quick-blastp"],O1=(0,np.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=F1(),s=(0,rp.getContainingView)(r),[a,c]=(0,V.useState)(),[l,A]=(0,V.useState)("nr"),[u,f]=(0,V.useState)("clustalo"),[m,g]=(0,V.useState)("quick-blastp"),[h,C]=(0,V.useState)(!1),[E,x]=(0,V.useState)(),y=t.get("id");(0,V.useEffect)(()=>{(async()=>{try{let B=await na();C(B.some(J=>J.geneId===y))}catch(B){console.error(B),x(B)}})()},[y]);let{options:w,setSelectedId:b,selectedTranscript:M,proteinSequence:v,error:T}=wr({feature:t,view:s});(0,V.useEffect)(()=>{l==="nr_cluster_seq"&&g("blastp")},[l]);let _=T??a??E,P={width:150};return V.default.createElement(V.default.Fragment,null,V.default.createElement(ve.DialogContent,{className:i.dialogContent},n,_?V.default.createElement(tp.ErrorMessage,{error:_}):null,V.default.createElement(At,{variant:"outlined",label:"BLAST database",style:P,select:!0,value:l,onChange:B=>{A(B.target.value)}},R1.map(B=>V.default.createElement(ve.MenuItem,{value:B,key:B},B))),V.default.createElement(At,{variant:"outlined",label:"MSA Algorithm",style:P,select:!0,value:u,onChange:B=>{f(B.target.value)}},P1.map(B=>V.default.createElement(ve.MenuItem,{value:B,key:B},B))),V.default.createElement("div",{style:{display:"flex"}},V.default.createElement(At,{variant:"outlined",label:"BLAST program",disabled:l==="nr_cluster_seq",style:P,select:!0,value:m,onChange:B=>{g(B.target.value)}},G1.map(B=>V.default.createElement(ve.MenuItem,{value:B,key:B},B))),l==="nr_cluster_seq"?V.default.createElement(ve.Typography,{variant:"subtitle2",style:{marginLeft:4,alignContent:"center"}},"Can only use blastp on nr_cluster_seq"):null),V.default.createElement(Ar,{feature:t,options:w,selectedTranscript:M,onTranscriptChange:b,proteinSequence:v}),V.default.createElement(ve.Typography,{style:{marginTop:20}},"This panel will automatically submit a query to NCBI. Using blastp can take 10+ minutes to run, quick-blastp is generally a lot faster but is not available for the clustered database. After completion, all the hits will be run through a multiple sequence alignment. Note: we are not able to currently run NCBI COBALT automatically on the BLAST results, even though that is the method NCBI uses on their website. If you need a COBALT alignment, please use the manual approach of submitting BLAST yourself and downloading the resulting files"),h?V.default.createElement(ve.Accordion,{style:{marginTop:20}},V.default.createElement(ve.AccordionSummary,{expandIcon:V.default.createElement(Zs,null)},V.default.createElement(ve.Typography,null,"Previous BLAST Results")),V.default.createElement(ve.AccordionDetails,null,V.default.createElement(ep,{model:r,handleClose:e,feature:t}))):null),V.default.createElement(ve.DialogActions,null,V.default.createElement(ve.Button,{color:"primary",variant:"contained",onClick:()=>{try{if(!M)return;c(void 0),Og({feature:M,view:s,newViewTitle:`BLAST - ${yr(t)} - ${bi(M)}`,blastParams:{baseUrl:o,blastProgram:m,blastDatabase:l,msaAlgorithm:u,selectedTranscript:M,proteinSequence:v}})}catch(B){console.error(B),c(B)}e()},disabled:!v},"Submit"),V.default.createElement(ve.Button,{color:"secondary",variant:"contained",onClick:()=>{e()}},"Cancel")))}),ip=O1;var Vt=d(S()),cp=d(xe()),ia=d(se()),Jr=d(N()),lp=d(G()),Ap=d(tt());sA();var H1=(0,Ap.makeStyles)()({dialogContent:{width:"80em"},textAreaFont:{fontFamily:"Courier New"},ncbiLink:{wordBreak:"break-all",margin:30,maxWidth:600}}),J1=(0,lp.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=H1(),s=(0,ia.getContainingView)(r),{options:a,setSelectedId:c,selectedTranscript:l,proteinSequence:A,error:u}=wr({feature:t,view:s}),f=js(A),m=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${f}`,g=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${(0,ia.shorten2)(f,10)}`;return Vt.default.createElement(Vt.default.Fragment,null,Vt.default.createElement(Jr.DialogContent,{className:i.dialogContent},n,u?Vt.default.createElement(cp.ErrorMessage,{error:u}):null,Vt.default.createElement(Ar,{feature:t,options:a,selectedTranscript:l,onTranscriptChange:c,proteinSequence:A}),A?Vt.default.createElement("div",{className:i.ncbiLink},"Link to NCBI BLAST: ",Vt.default.createElement(Mi,{href:m},g)):null,Vt.default.createElement(Jr.Typography,{style:{marginTop:20}},`Click the link above and run your BLAST query, and once you have results, click "Multiple Alignment" at the top of the results page to be redirected to COBALT, NCBI's multiple sequence aligner. Once COBALT completes, you can download an MSA (.aln file) and optionally a Newick tree (.nh) and paste the results into JBrowse`)),Vt.default.createElement(Jr.DialogActions,null,Vt.default.createElement(Jr.Button,{color:"primary",variant:"contained",onClick:()=>{e()}},"Submit"),Vt.default.createElement(Jr.Button,{color:"secondary",variant:"contained",onClick:()=>{e()}},"Close")))}),up=J1;var Rn=d(S()),Br=d(N());function aA({lookupMethod:e,setLookupMethod:t}){return Rn.default.createElement(Br.FormControl,{component:"fieldset"},Rn.default.createElement(Br.RadioGroup,{row:!0,value:e,onChange:r=>{t(r.target.value)}},Rn.default.createElement(Br.FormControlLabel,{value:"automatic",control:Rn.default.createElement(Br.Radio,null),label:"Run NCBI BLAST and load results automatically"}),Rn.default.createElement(Br.FormControlLabel,{value:"manual",control:Rn.default.createElement(Br.Radio,null),label:"Link to NCBI BLAST and import results manually"})))}var ur=d(S()),Wt=d(N());var sa="https://blast.ncbi.nlm.nih.gov/Blast.cgi";function cA({handleClose:e,baseUrl:t}){let[r,n]=(0,ur.useState)(t);return ur.default.createElement(Wt.Dialog,{open:!0,maxWidth:"lg",onClose:()=>{e()}},ur.default.createElement(Wt.DialogTitle,null,"BLAST Settings"),ur.default.createElement(Wt.DialogContent,null,ur.default.createElement(At,{autoFocus:!0,margin:"dense",label:"BLAST Base URL",fullWidth:!0,variant:"outlined",value:r,style:{minWidth:"300px"},onChange:o=>{n(o.target.value)}}),ur.default.createElement(Wt.Button,{variant:"contained",onClick:()=>{n(sa)}},"Reset")),ur.default.createElement(Wt.DialogActions,null,ur.default.createElement(Wt.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),ur.default.createElement(Wt.Button,{color:"primary",variant:"contained",onClick:()=>{e(r)}},"Save")))}function lA({handleClose:e,model:t,feature:r}){let[n,o]=(0,fr.useState)("automatic"),[i,s]=(0,fp.useLocalStorage)("msa-blastRootUrl",sa),[a,c]=(0,fr.useState)(!1);return fr.default.createElement(fr.default.Fragment,null,fr.default.createElement(dp.IconButton,{style:{float:"right"},size:"small",onClick:()=>{c(!0)}},fr.default.createElement(Xs,null)),fr.default.createElement(n==="automatic"?ip:up,{model:t,feature:r,handleClose:e,baseUrl:i},fr.default.createElement(aA,{lookupMethod:n,setLookupMethod:o})),a?fr.default.createElement(cA,{baseUrl:i,handleClose:A=>{A&&s(A),c(!1)}}):null)}var Ue=d(S()),ah=d(Nn()),Gn=d(xe()),Qo=d(se()),qr=d(N()),ch=d(G());var lh=d(tt());var AA={revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,refreshWhenHidden:!1,refreshWhenOffline:!1,shouldRetryOnError:!1};gn();function MA(e,t="",r=5e3){let n=[e];for(;n.length;){let o=n.pop();for(let[i,s]of Object.entries(o)){if(t.length>r)return bA(t);typeof s=="object"&&s!==null?n.push(s):i==="locationType"&&s==="FileHandleLocation"?t+=`${i}-BlobLocation`:i==="handleId"?t+=`blobId-fh-blob-${s}`:t+=`${i}-${s}`}}return`adp-${bA(t)}`}function rh(e={}){return e.type&&e.adapterId?`${e.type}-${e.adapterId}`:`${MA(e)}`}var nh={};async function fM(e,t,r){let n=r?.type;if(!n)throw new Error(`could not determine adapter type from adapter config snapshot ${JSON.stringify(r)}`);let o=e.getAdapterType(n);if(!o)throw new Error(`unknown data adapter type ${n}`);let i=o.configSchema.create(r,{pluginManager:e}),s=pa.bind(null,e,t),a=await o.getAdapterClass();return{dataAdapter:new a(i,s,e),sessionIds:new Set([t])}}async function pa(e,t,r){let n=rh(r);nh[n]??=fM(e,t,r);let o=await nh[n];return o.sessionIds.add(t),o}async function oh({config:e,pluginManager:t}){return(await pa(t,"msa",e)).dataAdapter.getMSAList()}async function ih({config:e,pluginManager:t,msaId:r}){return(await pa(t,"msa",e)).dataAdapter.getMSA(r)}function sh({session:e,newViewTitle:t,view:r,feature:n,data:o,querySeqName:i}){e.addView("MsaView",{type:"MsaView",displayName:t,treeAreaWidth:200,querySeqName:i,treeWidth:100,drawNodeBubbles:!1,labelsAlignRight:!0,showBranchLen:!1,colWidth:10,rowHeight:12,colorSchemeName:"percent_identity_dynamic",data:o,connectedViewId:r.id,connectedFeature:n.toJSON()})}var dM=(0,lh.makeStyles)()({dialogContent:{width:"80em"}}),mM=(0,ch.observer)(function({model:t,feature:r,handleClose:n}){let o=(0,Qo.getSession)(t),i=(0,Qo.getContainingView)(t),{classes:s}=dM(),{pluginManager:a}=(0,Qo.getEnv)(t),{assemblyNames:c}=i,[l,A]=(0,Ue.useState)(),{jbrowse:u}=o,f=(0,ah.readConfObject)(u,["msa","datasets"]),[m,g]=(0,Ue.useState)(f?.[0]?.datasetId),h=f?.find(H=>H.datasetId===m),{data:C,isLoading:E,error:x}=Ln(m?`${m}-msa-list`:"none-msa-list",()=>h?oh({config:h.adapter,pluginManager:a}):void 0,AA),{options:y,selectedId:w,setSelectedId:b,selectedTranscript:M,proteinSequence:v,error:T,validSet:_}=wr({feature:r,view:i,validIds:C}),{data:P,isLoading:B,error:J}=Ln(w&&m?`${w}-${w}-${C?.length}-msa`:"none-msa",()=>w&&h&&C?ih({msaId:w,config:h.adapter,pluginManager:a}):void 0,AA),X=x??J??T??l;return X&&console.error(X),Ue.default.createElement(Ue.default.Fragment,null,Ue.default.createElement(qr.DialogContent,{className:s.dialogContent},X?Ue.default.createElement(Gn.ErrorMessage,{error:X}):null,Ue.default.createElement(At,{select:!0,label:"Select MSA dataset",value:m,onChange:H=>{g(H.target.value)}},f?.map(H=>Ue.default.createElement(qr.MenuItem,{key:H.datasetId,value:H.datasetId},H.name))),h?Ue.default.createElement("div",{style:{marginTop:50}},!E&&B?Ue.default.createElement(Gn.LoadingEllipses,{variant:"h6",message:`Loading MSA for (${w})`}):null,E?Ue.default.createElement(Gn.LoadingEllipses,{variant:"h6",message:`Loading available MSAs for (${h.name})`}):null,C?Ue.default.createElement("div",null,Ue.default.createElement(Gn.SanitizedHTML,{html:h.description}),Ue.default.createElement(Ar,{feature:r,options:y,selectedTranscript:M,onTranscriptChange:b,proteinSequence:v,validSet:_})):null):null),Ue.default.createElement(qr.DialogActions,null,Ue.default.createElement(qr.Button,{color:"primary",variant:"contained",disabled:!M||!P?.length,onClick:()=>{try{if(!M||!P)return;let H=`${w}_${c[0]}`;sh({session:o,newViewTitle:yr(M),view:i,querySeqName:H,feature:M,data:{msa:P.map(Be=>`>${Be.get("refName")}
|
|
72
|
-
${
|
|
73
|
-
`)}}),n()}catch(
|
|
74
|
-
${
|
|
75
|
-
${
|
|
76
|
-
`),onProgress:C=>{e.setProgress(C)}}),h=JSON.stringify(f);return await Kg({proteinSequence:a,blastDatabase:r,blastProgram:n,msaAlgorithm:o,msa:g.msa,tree:g.tree,treeMetadata:h,rid:l,geneId:s?.get("parentId"),transcriptId:s?.get("id")}),{...g,treeMetadata:h}}function mk(e,t){let r={},n=e.taxid?t.get(e.taxid):void 0;return n?.sciname&&(r["Scientific name"]=n.sciname),n?.commonName&&(r["Common name"]=n.commonName),e.accession&&(r.Accession=e.accession),e.id&&(r.ID=e.id),e.title&&(r.Description=e.title),r}var kS=d(se());function _S(e){return typeof e=="object"&&e!==null&&"hoverFeature"in e&&"hoverPosition"in e}function DS(e){return/AF-([A-Z0-9]+)-F\d+/.exec(e)?.[1]}function NS({model:e}){let{hovered:t}=(0,kS.getSession)(e),{querySeqName:r,transcriptToMsaMap:n,connectedView:o,mafRegion:i}=e;if(!o?.initialized||!_S(t))return;let{coord:s,refName:a}=t.hoverPosition;if(i){if(a!==i.refName||!o.assemblyNames.includes(i.assemblyName)||s<i.start||s>=i.end)return;let l=s-i.start;return e.seqPosToVisibleCol(r,l)}if(n){let{g2p:c}=n,l=c[s];if(l!==void 0)return e.seqPosToVisibleCol(r,l)}}function Kc(e,t){if(t<0||t>=e.length)return;let r=0;for(let n=0;n<t;n++)e[n]!=="-"&&r++;if(e[t]!=="-")return r}function LS(e,t){let r=0;for(let n=0;n<e.length;n++)if(e[n]!=="-"){if(r===t)return n;r++}}function Ed(e){let t={};for(let[r,n]of e)t[r]=n;return t}function zc({model:e,coord:t}){let{querySeqName:r,transcriptToMsaMap:n,mafRegion:o}=e,s=e.rows.find(c=>c[0]===r)?.[1];if(!s)return;let a=Kc(s,t);if(a!==void 0){if(o){let c=o.start+a;return c>=o.end?void 0:{refName:o.refName,start:c,end:c+1}}if(n){let{refName:c,p2g:l}=n,A=l[a],u=l[a+1];return A!==void 0&&u!==void 0?{refName:c,start:Math.min(A,u),end:Math.max(A,u)}:void 0}}}var gk="jbrowse-msaview-data";var vn="msa-data",$c,no;function pk(){if(no!==void 0)return no;try{return typeof indexedDB>"u"?(no=!1,!1):(no=!0,!0)}catch{return no=!1,!1}}async function Id(){if(pk())return $c||($c=new Promise(e=>{try{let t=indexedDB.open(gk,1);t.addEventListener("error",()=>{console.warn("IndexedDB unavailable - MSA data will not persist across page refreshes"),no=!1,e(void 0)}),t.onsuccess=()=>{e(t.result)},t.onupgradeneeded=r=>{let n=r.target.result;n.objectStoreNames.contains(vn)||n.createObjectStore(vn,{keyPath:"id"}).createIndex("timestamp","timestamp",{unique:!1})}}catch(t){console.warn("Failed to open IndexedDB:",t),no=!1,e(void 0)}}),$c)}function FS(){return`msa-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}async function RS(e,t){let r=await Id();return r?new Promise(n=>{try{let i=r.transaction(vn,"readwrite").objectStore(vn),s={id:e,msa:t.msa,tree:t.tree,treeMetadata:t.treeMetadata,timestamp:Date.now()},a=i.put(s);a.addEventListener("error",()=>{console.warn("Failed to store MSA data:",a.error),n(!1)}),a.onsuccess=()=>{n(!0)}}catch(o){console.warn("Failed to store MSA data:",o),n(!1)}}):!1}async function PS(e){let t=await Id();if(t)return new Promise(r=>{try{let i=t.transaction(vn,"readonly").objectStore(vn).get(e);i.addEventListener("error",()=>{console.warn("Failed to retrieve MSA data:",i.error),r(void 0)}),i.onsuccess=()=>{let s=i.result;r(s?{msa:s.msa,tree:s.tree,treeMetadata:s.treeMetadata}:void 0)}}catch(n){console.warn("Failed to retrieve MSA data:",n),r(void 0)}})}async function GS(e=10080*60*1e3){let t=await Id();if(!t)return 0;let r=Date.now()-e;return new Promise(n=>{try{let s=t.transaction(vn,"readwrite").objectStore(vn).index("timestamp"),a=IDBKeyRange.upperBound(r),c=s.openCursor(a),l=0;c.addEventListener("error",()=>{console.warn("Failed to cleanup old MSA data:",c.error),n(l)}),c.onsuccess=A=>{let u=A.target.result;u?(u.delete(),l++,u.continue()):n(l)}}catch(o){console.warn("Failed to cleanup old MSA data:",o),n(0)}})}var hk={A:{A:4,R:-1,N:-2,D:-2,C:0,Q:-1,E:-1,G:0,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:0,W:-3,Y:-2,V:0,B:-2,Z:-1,X:0,"*":-4},R:{A:-1,R:5,N:0,D:-2,C:-3,Q:1,E:0,G:-2,H:0,I:-3,L:-2,K:2,M:-1,F:-3,P:-2,S:-1,T:-1,W:-3,Y:-2,V:-3,B:-1,Z:0,X:-1,"*":-4},N:{A:-2,R:0,N:6,D:1,C:-3,Q:0,E:0,G:0,H:1,I:-3,L:-3,K:0,M:-2,F:-3,P:-2,S:1,T:0,W:-4,Y:-2,V:-3,B:3,Z:0,X:-1,"*":-4},D:{A:-2,R:-2,N:1,D:6,C:-3,Q:0,E:2,G:-1,H:-1,I:-3,L:-4,K:-1,M:-3,F:-3,P:-1,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},C:{A:0,R:-3,N:-3,D:-3,C:9,Q:-3,E:-4,G:-3,H:-3,I:-1,L:-1,K:-3,M:-1,F:-2,P:-3,S:-1,T:-1,W:-2,Y:-2,V:-1,B:-3,Z:-3,X:-2,"*":-4},Q:{A:-1,R:1,N:0,D:0,C:-3,Q:5,E:2,G:-2,H:0,I:-3,L:-2,K:1,M:0,F:-3,P:-1,S:0,T:-1,W:-2,Y:-1,V:-2,B:0,Z:3,X:-1,"*":-4},E:{A:-1,R:0,N:0,D:2,C:-4,Q:2,E:5,G:-2,H:0,I:-3,L:-3,K:1,M:-2,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},G:{A:0,R:-2,N:0,D:-1,C:-3,Q:-2,E:-2,G:6,H:-2,I:-4,L:-4,K:-2,M:-3,F:-3,P:-2,S:0,T:-2,W:-2,Y:-3,V:-3,B:-1,Z:-2,X:-1,"*":-4},H:{A:-2,R:0,N:1,D:-1,C:-3,Q:0,E:0,G:-2,H:8,I:-3,L:-3,K:-1,M:-2,F:-1,P:-2,S:-1,T:-2,W:-2,Y:2,V:-3,B:0,Z:0,X:-1,"*":-4},I:{A:-1,R:-3,N:-3,D:-3,C:-1,Q:-3,E:-3,G:-4,H:-3,I:4,L:2,K:-3,M:1,F:0,P:-3,S:-2,T:-1,W:-3,Y:-1,V:3,B:-3,Z:-3,X:-1,"*":-4},L:{A:-1,R:-2,N:-3,D:-4,C:-1,Q:-2,E:-3,G:-4,H:-3,I:2,L:4,K:-2,M:2,F:0,P:-3,S:-2,T:-1,W:-2,Y:-1,V:1,B:-4,Z:-3,X:-1,"*":-4},K:{A:-1,R:2,N:0,D:-1,C:-3,Q:1,E:1,G:-2,H:-1,I:-3,L:-2,K:5,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:0,Z:1,X:-1,"*":-4},M:{A:-1,R:-1,N:-2,D:-3,C:-1,Q:0,E:-2,G:-3,H:-2,I:1,L:2,K:-1,M:5,F:0,P:-2,S:-1,T:-1,W:-1,Y:-1,V:1,B:-3,Z:-1,X:-1,"*":-4},F:{A:-2,R:-3,N:-3,D:-3,C:-2,Q:-3,E:-3,G:-3,H:-1,I:0,L:0,K:-3,M:0,F:6,P:-4,S:-2,T:-2,W:1,Y:3,V:-1,B:-3,Z:-3,X:-1,"*":-4},P:{A:-1,R:-2,N:-2,D:-1,C:-3,Q:-1,E:-1,G:-2,H:-2,I:-3,L:-3,K:-1,M:-2,F:-4,P:7,S:-1,T:-1,W:-4,Y:-3,V:-2,B:-2,Z:-1,X:-2,"*":-4},S:{A:1,R:-1,N:1,D:0,C:-1,Q:0,E:0,G:0,H:-1,I:-2,L:-2,K:0,M:-1,F:-2,P:-1,S:4,T:1,W:-3,Y:-2,V:-2,B:0,Z:0,X:0,"*":-4},T:{A:0,R:-1,N:0,D:-1,C:-1,Q:-1,E:-1,G:-2,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:5,W:-2,Y:-2,V:0,B:-1,Z:-1,X:0,"*":-4},W:{A:-3,R:-3,N:-4,D:-4,C:-2,Q:-2,E:-3,G:-2,H:-2,I:-3,L:-2,K:-3,M:-1,F:1,P:-4,S:-3,T:-2,W:11,Y:2,V:-3,B:-4,Z:-3,X:-2,"*":-4},Y:{A:-2,R:-2,N:-2,D:-3,C:-2,Q:-1,E:-2,G:-3,H:2,I:-1,L:-1,K:-2,M:-1,F:3,P:-3,S:-2,T:-2,W:2,Y:7,V:-1,B:-3,Z:-2,X:-1,"*":-4},V:{A:0,R:-3,N:-3,D:-3,C:-1,Q:-2,E:-2,G:-3,H:-3,I:3,L:1,K:-2,M:1,F:-1,P:-2,S:-2,T:0,W:-3,Y:-1,V:4,B:-3,Z:-2,X:-1,"*":-4},B:{A:-2,R:-1,N:3,D:4,C:-3,Q:0,E:1,G:-1,H:0,I:-3,L:-4,K:0,M:-3,F:-3,P:-2,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},Z:{A:-1,R:0,N:0,D:1,C:-3,Q:3,E:4,G:-2,H:0,I:-3,L:-3,K:1,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},X:{A:0,R:-1,N:-1,D:-1,C:-2,Q:-1,E:-1,G:-1,H:-1,I:-1,L:-1,K:-1,M:-1,F:-1,P:-2,S:0,T:0,W:-2,Y:-1,V:-1,B:-1,Z:-1,X:-1,"*":-4},"*":{A:-4,R:-4,N:-4,D:-4,C:-4,Q:-4,E:-4,G:-4,H:-4,I:-4,L:-4,K:-4,M:-4,F:-4,P:-4,S:-4,T:-4,W:-4,Y:-4,V:-4,B:-4,Z:-4,X:-4,"*":1}};function OS(e,t){let r=e.toUpperCase(),n=t.toUpperCase();return hk[r]?.[n]??-4}var Ck=-10,Ek=-.5;function Ik(e,t,r=Ck,n=Ek){let o=e.length,i=t.length,s=[],a=[],c=[];for(let C=0;C<=o;C++){s[C]=[],a[C]=[],c[C]=[];for(let E=0;E<=i;E++)s[C][E]=-1/0,a[C][E]=-1/0,c[C][E]=-1/0}s[0][0]=0;for(let C=1;C<=o;C++)a[C][0]=r+(C-1)*n;for(let C=1;C<=i;C++)c[0][C]=r+(C-1)*n;for(let C=1;C<=o;C++)for(let E=1;E<=i;E++){let x=OS(e[C-1],t[E-1]);s[C][E]=Math.max(s[C-1][E-1],a[C-1][E-1],c[C-1][E-1])+x,a[C][E]=Math.max(s[C-1][E]+r,a[C-1][E]+n),c[C][E]=Math.max(s[C][E-1]+r,c[C][E-1]+n)}let l="",A="",u=o,f=i,m=[s[o][i],a[o][i],c[o][i]],g=Math.max(...m),h=g===s[o][i]?"M":g===a[o][i]?"Ix":"Iy";for(;u>0||f>0;)if(h==="M"&&u>0&&f>0){l=e[u-1]+l,A=t[f-1]+A;let C=OS(e[u-1],t[f-1]),E=s[u-1][f-1],x=a[u-1][f-1];s[u][f]===E+C?h="M":s[u][f]===x+C?h="Ix":h="Iy",u--,f--}else if(h==="Ix"&&u>0)l=e[u-1]+l,A="-"+A,h=a[u][f]===s[u-1][f]+r?"M":"Ix",u--;else if(f>0)l="-"+l,A=t[f-1]+A,h=c[u][f]===s[u][f-1]+r?"M":"Iy",f--;else break;return{alignedSeq1:l,alignedSeq2:A,score:g}}function xk(e,t){let r="";for(let n=0;n<e.length;n++){let o=e[n],i=t[n];o==="-"||i==="-"?r+=" ":o.toUpperCase()===i.toUpperCase()?r+="|":r+=" "}return r}function HS(e,t){let{alignedSeq1:r,alignedSeq2:n}=Ik(e,t);return{consensus:xk(r,n),alns:[{id:"msa",seq:r},{id:"structure",seq:n}]}}function JS(e){let t=e.alns[0].seq,r=e.alns[1].seq;if(t.length!==r.length)throw new Error("Aligned sequences must have same length");let n=0,o=0,i=new Map,s=new Map;for(let a=0;a<t.length;a++){let c=t[a],l=r[a];c!=="-"&&l!=="-"?(i.set(n,o),s.set(o,n),n++,o++):c==="-"?o++:n++}return{seq1ToSeq2:i,seq2ToSeq1:s}}var Bk=(0,WS.lazy)(()=>Promise.resolve().then(()=>(VS(),jS)));function bk(e){let{mouseCol:t,connectedProteinViews:r}=e;if(r.length!==0)for(let n of r){let o=n.proteinView?.structures?.[n.structureIdx];if(!o)continue;if(t===void 0){o.clearHighlightFromExternal?.();continue}let i=e.getSequenceByRowName(n.msaRowName);if(!i)continue;let s=Kc(i,t);if(s===void 0){o.clearHighlightFromExternal?.();continue}let a=n.msaToStructure[s];a===void 0?o.clearHighlightFromExternal?.():o.highlightFromExternal?.(a)}}function xd(){return ee.types.compose(KS.BaseViewModel,hd(),ee.types.model("MsaView",{connectedViewId:ee.types.maybe(ee.types.string),connectedFeature:ee.types.frozen(),connectedHighlights:ee.types.array(ee.types.model({refName:ee.types.string,start:ee.types.number,end:ee.types.number})),blastParams:ee.types.frozen(),querySeqName:"QUERY",uniprotId:ee.types.maybe(ee.types.string),zoomToBaseLevel:!1,init:ee.types.frozen(),connectedStructures:ee.types.array(ee.types.frozen()),dataStoreId:ee.types.maybe(ee.types.string),mafRegion:ee.types.frozen()})).volatile(()=>({rid:void 0,progress:"",error:void 0,loadingStoredData:!1})).views(e=>({getRowByName(t){return e.rows.find(r=>r[0]===t)},getSequenceByRowName(t){return e.rows.find(r=>r[0]===t)?.[1]}})).views(e=>({get transcriptToMsaMap(){return e.connectedFeature?ph(e.connectedFeature):void 0},get processing(){return!!e.progress},get connectedView(){let{views:t}=(0,Tn.getSession)(e);return t.find(r=>r.id===e.connectedViewId)},get connectedProteinViews(){let{views:t}=(0,Tn.getSession)(e);return e.connectedStructures.map(r=>{let n=t.find(o=>o.id===r.proteinViewId);return n?{...r,proteinView:n}:void 0}).filter(r=>!!r)}})).views(e=>({get structureHoverCol(){for(let t of e.connectedProteinViews){let n=t.proteinView?.structures?.[t.structureIdx]?.hoverPosition?.structureSeqPos;if(n!==void 0){let o=t.structureToMsa[n];if(o!==void 0){let i=e.getSequenceByRowName(t.msaRowName);if(i){let s=LS(i,o);if(s!==void 0)return e.globalColToVisibleCol(s)}}}}}})).views(e=>({get mouseCol2(){let t=e.structureHoverCol;return t!==void 0?t:NS({model:e})},get clickCol2(){}})).actions(e=>({setZoomToBaseLevel(t){e.zoomToBaseLevel=t},setError(t){e.error=t},setProgress(t){e.progress=t},setRid(t){e.rid=t},setConnectedHighlights(t){e.connectedHighlights=(0,ee.cast)(t)},addToConnectedHighlights(t){e.connectedHighlights.push(t)},clearConnectedHighlights(){e.connectedHighlights=(0,ee.cast)([])},setBlastParams(t){e.blastParams=t},setInit(t){e.init=t},setQuerySeqName(t){e.querySeqName=t},setUniprotId(t){e.uniprotId=t},setDataStoreId(t){e.dataStoreId=t},setMafRegion(t){e.mafRegion=t},setLoadingStoredData(t){e.loadingStoredData=t},handleMsaClick(t){let{connectedView:r,zoomToBaseLevel:n}=e,{assemblyManager:o}=(0,Tn.getSession)(e),i=zc({model:e,coord:t});if(!(!i||!r))if(n)r.navTo(i);else{let s=o.get(r.assemblyNames[0])?.getCanonicalRefName(i.refName)??i.refName;r.centerAt(i.start,s)}},connectToStructure(t,r,n){let o=n??e.querySeqName,i=e.getSequenceByRowName(o);if(!i)throw new Error(`MSA row "${o}" not found`);let s=i.replaceAll("-",""),{views:a}=(0,Tn.getSession)(e),c=a.find(h=>h.id===t);if(!c)throw new Error(`ProteinView "${t}" not found`);let l=c.structures?.[r];if(!l)throw new Error(`Structure at index ${r} not found`);let A=l.structureSequences?.[0];if(!A)throw new Error("Structure sequence not available");let u=HS(s,A),{seq1ToSeq2:f,seq2ToSeq1:m}=JS(u),g={proteinViewId:t,structureIdx:r,msaRowName:o,msaToStructure:Ed(f),structureToMsa:Ed(m)};e.connectedStructures.push(g)},disconnectFromStructure(t,r){let n=e.connectedStructures.findIndex(o=>o.proteinViewId===t&&o.structureIdx===r);n!==-1&&e.connectedStructures.splice(n,1)},disconnectAllStructures(){e.connectedStructures.clear()}})).actions(e=>{let t=e.setMouseClickPos.bind(e);return{setMouseClickPos(r,n){t(r,n),r!==void 0&&e.handleMsaClick(r)}}}).views(e=>({extraViewMenuItems(){return[{label:"Zoom to base level on click?",checked:e.zoomToBaseLevel,type:"checkbox",onClick:()=>{e.setZoomToBaseLevel(!e.zoomToBaseLevel)}},{label:"Connect to protein structure...",onClick:()=>{(0,Tn.getSession)(e).queueDialog(t=>[Bk,{model:e,handleClose:t}])}},...e.connectedStructures.length>0?[{label:"Disconnect from protein structures",onClick:()=>{e.disconnectAllStructures()}}]:[]]}})).actions(e=>({afterCreate(){GS().catch(t=>{console.error("Failed to cleanup old MSA data:",t)}),(0,ee.addDisposer)(e,(0,nn.autorun)(async()=>{let{dataStoreId:t,rows:r}=e;if(t&&r.length===0)try{e.setLoadingStoredData(!0);let n=await PS(t);n&&(n.msa&&e.setMSA(n.msa),n.tree&&e.setTree(n.tree))}catch(n){console.error("Failed to load MSA data from IndexedDB:",n)}finally{e.setLoadingStoredData(!1)}})),(0,ee.addDisposer)(e,(0,nn.autorun)(async()=>{let{rows:t,dataStoreId:r}=e;if(t.length>0&&!r){if(!!(e.msaFilehandle??e.treeFilehandle))return;let o=e.data.msa,i=e.data.tree;if(o||i)try{let s=FS();await RS(s,{msa:o,tree:i,treeMetadata:e.data.treeMetadata})&&e.setDataStoreId(s)}catch(s){console.error("Failed to store MSA data to IndexedDB:",s)}}})),(0,ee.addDisposer)(e,(0,nn.autorun)(async()=>{if(e.blastParams)try{e.setProgress("Submitting query"),e.setError(void 0);let t=await TS({self:e});e.setData(t),e.setBlastParams(void 0)}catch(t){e.setError(t),console.error(t)}finally{e.setProgress("")}})),(0,ee.addDisposer)(e,(0,nn.autorun)(async()=>{let{init:t}=e;if(t)try{e.setError(void 0);let{msaData:r,msaUrl:n,treeData:o,treeUrl:i,querySeqName:s}=t;if(n){let a=DS(n);a&&(e.setUniprotId(a),e.setQuerySeqName("query"))}if(s&&e.setQuerySeqName(s),r)e.setMSA(r);else if(n){let a=await fetch(n);if(!a.ok)throw new Error(`Failed to fetch MSA: ${a.status}`);let c=await a.text();e.setMSA(c)}if(o)e.setTree(o);else if(i){let a=await fetch(i);if(!a.ok)throw new Error(`Failed to fetch tree: ${a.status}`);let c=await a.text();e.setTree(c)}e.setInit(void 0)}catch(r){e.setError(r),console.error(r)}})),(0,ee.addDisposer)(e,(0,nn.autorun)(()=>{let{mouseCol:t,mouseClickCol:r}=e,n=t===void 0?void 0:zc({model:e,coord:t}),o=r===void 0?void 0:zc({model:e,coord:r});e.setConnectedHighlights([n,o].filter(i=>!!i))})),(0,ee.addDisposer)(e,(0,nn.autorun)(()=>{bk(e)})),(0,ee.addDisposer)(e,(0,nn.autorun)(()=>{let{views:t}=(0,Tn.getSession)(e),{connectedViewId:r,uniprotId:n,rows:o,connectedStructures:i}=e;if(!(!n||o.length===0))for(let s of t){let a=s;if(!(a.type!=="ProteinView"||!a.structures))for(let c=0;c<a.structures.length;c++){let l=a.structures[c];if(!(l.connectedViewId!==r||l.uniprotId!==n||i.some(u=>u.proteinViewId===a.id&&u.structureIdx===c))&&l.structureSequences?.[0])try{e.connectToStructure(a.id,c)}catch(u){console.error("Failed to auto-connect to ProteinView:",u)}}}})),(0,ee.addDisposer)(e,(0,nn.autorun)(()=>{let{views:t}=(0,Tn.getSession)(e),{connectedViewId:r,transcriptToMsaMap:n,querySeqName:o}=e;if(!r||!n)return;let i=[];for(let a of t){let c=a;if(!(c.type!=="ProteinView"||!c.structures))for(let l of c.structures){if(l.connectedViewId!==r)continue;let A=l.hoverGenomeHighlights;if(!A||A.length===0)continue;let{g2p:u}=n;for(let f of A)for(let m=f.start;m<f.end;m++){let g=u[m];if(g!==void 0){let h=e.seqPosToGlobalCol(o,g);i.includes(h)||i.push(h)}}}}let s=i.map(a=>e.globalColToVisibleCol(a)).filter(a=>a!==void 0);e.setHighlightedColumns(s.length>0?s:void 0)}))}}))}var Dk=(0,aQ.lazy)(()=>Promise.resolve().then(()=>(sQ(),iQ)));function bd(e){e.addViewType(()=>new cQ.default({name:"MsaView",stateModel:xd(),ReactComponent:Dk}))}var lQ="2.2.7";var Zc=class extends AQ.default{constructor(){super(...arguments);this.name="MsaViewPlugin";this.version=lQ}install(r){bd(r),_A(r),DA(r),ll(r),Ml(r)}configure(r){(0,uQ.isAbstractMenuManager)(r.rootModel)&&r.rootModel.appendToSubMenu(["Add"],{label:"Multiple sequence alignment view",icon:zd,onClick:n=>{n.addView("MsaView",{})}})}rootConfigurationSchema(r){return{msa:(0,Sd.ConfigurationSchema)("MSA",{datasets:Qd.types.maybe(Qd.types.array((0,Sd.ConfigurationSchema)("MSAEntry",{datasetId:{type:"string",defaultValue:""},description:{type:"string",defaultValue:""},name:{type:"string",defaultValue:""},adapter:r.pluggableConfigSchemaType("adapter")})))})}}};return BQ(kk);})();
|
|
70
|
+
`),treeMetadata:JSON.stringify(Object.fromEntries(s.map(a=>[a.id,{genome:a.species}])))}}function Ig(e){let{data:t,error:r,isLoading:n}=Pn(()=>e?["geneTree",e]:null,([,o])=>Eg(o),{revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1});return{treeData:t,isTreeLoading:n,treeError:r}}var xg=d(ae());function y1(e){let r=(e.get("subfeatures")??[]).filter(n=>(n.get("type")==="mRNA"||n.get("type")==="transcript")&&n.get("subfeatures")?.some(o=>o.get("type")==="CDS"));return r.length>0?r:[e]}function Ws(e){let t=(0,xg.sum)(e.get("subfeatures")?.filter(r=>r.get("type")?.toLowerCase()==="cds").map(r=>r.get("end")-r.get("start"))??[]);return{len:Math.floor(t/3),mod:t%3}}function On(e){return e?.id()??""}function w1(e){if(!e)return[];let t=[e.id(),e.get("name"),e.get("id"),e.get("transcript_id")].filter(r=>!!r);return[...new Set(t)]}function Ks(e,t){return w1(e).includes(t)}function Hn(e){return e===void 0?"":[e.get("name"),e.get("id")].filter(t=>!!t).join(" ")}function Zt(e){return e===void 0?"":[e.get("gene_name")??e.get("name"),e.get("id")?`(${e.get("id")})`:""].filter(t=>!!t).join(" ")}function yg(e){return y1(e).toSorted((r,n)=>Ws(n).len-Ws(r).len)}function zs(e){return e.replaceAll("*","").replaceAll("&","")}var Cr=d(b()),bo=d(_()),Sg=d(Ue());var Bg=d(b()),bg=d(Ue());var Xl=d(b()),wg=d(_());function B1({children:e,...t}){return Xl.default.createElement("div",null,Xl.default.createElement(wg.TextField,{...t},e))}var ot=B1;var b1=(0,bg.makeStyles)()({textAreaFont:{fontFamily:"Courier New"}});function Zl({value:e}){let{classes:t}=b1();return Bg.default.createElement(ot,{variant:"outlined",multiline:!0,minRows:5,maxRows:10,fullWidth:!0,value:e,slotProps:{input:{readOnly:!0,classes:{input:t.textAreaFont}}}})}var S1=(0,Sg.makeStyles)()({flex:{display:"flex"},minWidth:{minWidth:300}});function Pt({feature:e,options:t,selectedId:r,selectedTranscript:n,onTranscriptChange:o,proteinSequence:i,validSet:s}){let{classes:a}=S1(),[c,l]=(0,Cr.useState)(!1);return Cr.default.createElement(Cr.default.Fragment,null,Cr.default.createElement("div",{className:a.flex},Cr.default.createElement(bo.TextField,{variant:"outlined",label:`Choose isoform of ${Zt(e)}`,select:!0,className:a.minWidth,value:r,onChange:A=>{o(A.target.value)}},t.map(A=>{let u=s?[...s].some(p=>Ks(A,p)):!0,{len:f,mod:m}=Ws(A);return Cr.default.createElement(bo.MenuItem,{value:On(A),key:A.id(),disabled:!u},Hn(A)," (",f," aa)"," ",m?" (possible fragment)":"",s?u?" (has data)":" (no data)":"")})),Cr.default.createElement("div",{style:{alignContent:"center",marginLeft:20}},Cr.default.createElement(bo.Button,{variant:"contained",color:"primary",onClick:()=>{l(!c)}},c?"Hide sequence":"Show sequence"))),c&&Cr.default.createElement(Zl,{value:i?`>${Hn(n)}
|
|
71
|
+
${i}`:"Loading..."}))}var Jn=d(b());var pn=d(ae());function Q1(e,t){return e.map(r=>t.slice(r.start,r.end)).join("")}function M1({cds:e,sequence:t,codonTable:r}){let n=Q1(e,t),o="";for(let i=0;i<n.length;i+=3)o+=r[n.slice(i,i+3)]??"&";return o}function v1(e,t){return e.map(r=>({...r,start:t-r.end,end:t-r.start})).toSorted((r,n)=>r.start-n.start)}function Qg({feature:e,seq:t}){let{subfeatures:r,start:n,strand:o}=e.toJSON(),i=(0,pn.dedupe)(r?.toSorted((s,a)=>s.start-a.start).map(s=>({...s,start:s.start-n,end:s.end-n})).filter(s=>s.type==="CDS")??[],s=>`${s.start}-${s.end}`);return M1({cds:o===-1?v1(i,t.length):i,sequence:o===-1?(0,pn.revcom)(t):t,codonTable:(0,pn.generateCodonTable)(pn.defaultCodonTable)})}var vg=d(ae());var Mg=d(Rn());async function $s({start:e,end:t,refName:r,session:n,assemblyName:o}){let{assemblyManager:i,rpcManager:s}=n,a=await i.waitForAssembly(o);if(!a)throw new Error("assembly not found");let c="getSequence";return(await s.call(c,"CoreGetFeatures",{adapterConfig:(0,Mg.getConf)(a,["sequence","adapter"]),sessionId:c,regions:[{start:e,end:t,refName:a.getCanonicalRefName(r),assemblyName:o}]}))[0]?.get("seq")??""}async function T1({feature:e,assemblyName:t,upDownBp:r,view:n}){let o=(0,vg.getSession)(n),{start:i,end:s,refName:a}=e.toJSON(),c=i-r,l=s+r,[A,u,f]=await Promise.all([$s({start:i,end:s,refName:a,assemblyName:t,session:o}),$s({start:Math.max(0,c),end:i,refName:a,assemblyName:t,session:o}),$s({start:s,end:l,refName:a,assemblyName:t,session:o})]);return{seq:A,upstream:u,downstream:f}}function Tg({view:e,feature:t,upDownBp:r=0,forceLoad:n=!0}){let o=e?.assemblyNames?.[0],{data:i,error:s}=Pn(t&&o&&e?[t.id(),o,r,n,"feature-sequence"]:null,()=>T1({feature:t,assemblyName:o,upDownBp:r,view:e}),{revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1});return{sequence:i,error:s}}function Dg({view:e,feature:t,upDownBp:r=0,forceLoad:n=!0}){let{sequence:o,error:i}=Tg({view:e,feature:t,upDownBp:r,forceLoad:n});return{proteinSequence:o&&!("error"in o)&&t?Qg({seq:o.seq,feature:t}):"",sequence:o,error:i}}function _g(e,t){return t.some(r=>Ks(e,r))}function er({feature:e,view:t,validIds:r}){let n=(0,Jn.useMemo)(()=>yg(e),[e]),[o,i]=(0,Jn.useState)(()=>On(n[0])),s=n.find(A=>On(A)===o),{proteinSequence:a,error:c}=Dg({view:t,feature:s}),l=(0,Jn.useMemo)(()=>r?new Set(r):void 0,[r]);return(0,Jn.useEffect)(()=>{if(r&&r.length>0){let A=n.find(u=>On(u)===o);if(A&&!_g(A,r)){let u=n.find(f=>_g(f,r));u&&i(On(u))}}},[r,n,o]),{options:n,selectedId:o,setSelectedId:i,selectedTranscript:s,proteinSequence:a,error:c,validSet:l}}var D1=(0,Ng.makeStyles)()({dialogContent:{width:"80em",display:"flex",flexDirection:"column",gap:16}}),_1=(0,kg.observer)(function({model:e,feature:t,handleClose:r}){let n=(0,Zs.getSession)(e),o=(0,Zs.getContainingView)(e),{classes:i}=D1(),[s,a]=(0,Ct.useState)(),{options:c,selectedId:l,setSelectedId:A,selectedTranscript:u,proteinSequence:f,error:m}=er({feature:t,view:o}),{treeData:p,isTreeLoading:h,treeError:E}=Ig(l),C=h?"Loading tree data from Ensembl GeneTree":void 0,x=E??s??m;return Ct.default.createElement(Ct.default.Fragment,null,Ct.default.createElement(jr.DialogContent,{className:i.dialogContent},x?Ct.default.createElement(Xs.ErrorMessage,{error:x}):null,C?Ct.default.createElement(Xs.LoadingEllipses,{message:C}):null,p?Ct.default.createElement("div",null,Ct.default.createElement("div",null,"Found Ensembl Compara GeneTree: ",p.geneTreeId),Ct.default.createElement(jr.Link,{target:"_blank",href:`https://useast.ensembl.org/Multi/GeneTree/Image?gt=${p.geneTreeId}`},"See ",p.geneTreeId," at Ensembl")):null,Ct.default.createElement(Pt,{feature:t,options:c,selectedId:l,selectedTranscript:u,onTranscriptChange:A,proteinSequence:f})),Ct.default.createElement(jr.DialogActions,null,Ct.default.createElement(jr.Button,{color:"primary",variant:"contained",onClick:()=>{try{if(!p)return;a(void 0),zm({feature:t,view:o,session:n,newViewTitle:Zt(t),data:p}),r()}catch(y){console.error(y),a(y)}}},"Submit"),Ct.default.createElement(jr.Button,{color:"secondary",variant:"contained",onClick:()=>{r()}},"Cancel")))}),Lg=_1;var X=d(b()),Mi=d(Ce()),ea=d(ae()),je=d(_()),Rg=d(O()),Pg=d(Ue());function Fg({session:e,newViewTitle:t,view:r,feature:n,msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a}){e.addView("MsaView",{type:"MsaView",displayName:t,connectedViewId:r.id,connectedFeature:n.toJSON(),msaFilehandle:o,treeFilehandle:i,querySeqName:s,data:a})}var k1=(0,Pg.makeStyles)()({dialogContent:{width:"80em"},textAreaFont:{fontFamily:"Courier New"}}),N1=(0,Rg.observer)(function({model:t,feature:r,handleClose:n}){let o=(0,ea.getSession)(t),i=(0,ea.getContainingView)(t),{classes:s}=k1(),[a,c]=(0,X.useState)(),[l,A]=(0,X.useState)("file"),[u,f]=(0,X.useState)(""),[m,p]=(0,X.useState)(""),[h,E]=(0,X.useState)(),[C,x]=(0,X.useState)(),[y,w]=(0,X.useState)(""),{options:B,selectedId:S,setSelectedId:Q,selectedTranscript:N,proteinSequence:G,error:U}=er({feature:r,view:i}),v=a??U;return X.default.createElement(X.default.Fragment,null,X.default.createElement(je.DialogContent,{className:s.dialogContent},v?X.default.createElement(Mi.ErrorMessage,{error:v}):null,X.default.createElement(je.FormControl,{component:"fieldset"},X.default.createElement(je.RadioGroup,{row:!0,value:l,onChange:T=>{A(T.target.value)}},X.default.createElement(je.FormControlLabel,{value:"file",control:X.default.createElement(je.Radio,null),label:"Open files"}),X.default.createElement(je.FormControlLabel,{value:"text",control:X.default.createElement(je.Radio,null),label:"Paste text"}))),X.default.createElement("div",{style:{marginBottom:30}},l==="file"?X.default.createElement("div",{style:{maxWidth:500}},X.default.createElement(Mi.FileSelector,{name:"MSA File .aln (Clustal), .fa/.mfa (aligned FASTA), .stock (Stockholm), etc)",inline:!0,location:h,setLocation:E}),X.default.createElement(Mi.FileSelector,{name:"Tree file .nh (Newick) or .asn (NCBI COBALT ASN.1)",inline:!0,location:C,setLocation:x})):X.default.createElement(X.default.Fragment,null,X.default.createElement(ot,{variant:"outlined",name:"MSA",multiline:!0,minRows:5,style:{marginBottom:"20px"},maxRows:10,fullWidth:!0,placeholder:"Paste MSA here",value:u,onChange:T=>{f(T.target.value)}}),X.default.createElement(ot,{variant:"outlined",name:"Tree",multiline:!0,minRows:5,maxRows:10,fullWidth:!0,placeholder:"Paste newick tree (optional)",value:m,onChange:T=>{p(T.target.value)}}))),X.default.createElement(Pt,{feature:r,options:B,selectedId:S,selectedTranscript:N,onTranscriptChange:Q,proteinSequence:G}),X.default.createElement(ot,{variant:"outlined",name:"MSA row name",fullWidth:!0,required:!0,style:{marginTop:20},placeholder:"Row name in MSA that corresponds to the selected transcript",helperText:"Required: Specify the name of the row in your MSA that should be aligned with the selected transcript",value:y,onChange:T=>{w(T.target.value)}}),!y.trim()&&X.default.createElement(je.Alert,{severity:"warning",style:{marginTop:10}},"Without specifying the MSA row name, clicking on the MSA will not navigate to the corresponding genome position, and hovering highlights will not work.")),X.default.createElement(je.DialogActions,null,X.default.createElement(je.Button,{color:"primary",variant:"contained",disabled:!N||l==="file"&&!h||l==="text"&&!u.trim(),onClick:()=>{try{if(!N)return;c(void 0),Fg({session:o,newViewTitle:Zt(N),view:i,feature:N,querySeqName:y.trim()||void 0,...l==="file"?{msaFilehandle:h,treeFilehandle:C}:{data:{msa:u,tree:m||void 0}}}),n()}catch(T){console.error(T),c(T)}}},"Submit"),X.default.createElement(je.Button,{color:"secondary",variant:"contained",onClick:()=>{n()}},"Cancel")))}),Gg=N1;var Ir=d(b()),xp=d(ae());eA();var yp=d(_());var W=d(b()),ip=d(Ce()),sp=d(ae());tA();var De=d(_()),ap=d(O()),cp=d(Ue());var Re=d(b()),rp=d(ae());$();var Jg=d(R(),1),Ug=(0,D.createSvgIcon)((0,Jg.jsx)("path",{d:"M6 19c0 1.1.9 2 2 2h8c1.1 0 2-.9 2-2V7H6zM19 4h-3.5l-1-1h-5l-1 1H5v2h14z"}),"Delete");var At=d(_()),np=d(O());var rA=d(ae());function na({newViewTitle:e,view:t,feature:r,blastParams:n}){return(0,rA.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,connectedFeature:r.toJSON(),drawNodeBubbles:!0,colWidth:10,rowHeight:12,blastParams:n})}function Yg({newViewTitle:e,view:t,cached:r}){return(0,rA.getSession)(t).addView("MsaView",{type:"MsaView",displayName:e,connectedViewId:t.id,drawNodeBubbles:!0,colWidth:10,rowHeight:12,data:{msa:r.msa,tree:r.tree,treeMetadata:r.treeMetadata}})}ia();var j1="jbrowse-msaview-blast-cache",hn="blast-results",V1=2;async function sa(){return vi(j1,V1,{upgrade(e,t){t<2&&e.objectStoreNames.contains(hn)&&e.deleteObjectStore(hn),e.objectStoreNames.contains(hn)||e.createObjectStore(hn,{keyPath:"id"})}})}function W1(e,t,r,n){let o=e.slice(0,100);return n?`${t}:${r}:${n}:${o}`:`${t}:${r}:${o}`}async function Xg({proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,geneId:c,transcriptId:l,transcriptName:A,geneName:u}){let f=await sa(),p={id:W1(e,t,r,l),proteinSequence:e,blastDatabase:t,blastProgram:r,msaAlgorithm:n,msa:o,tree:i,treeMetadata:s,rid:a,timestamp:Date.now(),geneId:c,transcriptId:l,transcriptName:A,geneName:u};return await f.put(hn,p),p}async function aa(){return(await(await sa()).getAll(hn)).toSorted((r,n)=>n.timestamp-r.timestamp)}async function Zg(e){await(await sa()).delete(hn,e)}async function ep(){await(await sa()).clear(hn)}function K1(e){let t=[e.id(),e.get("id"),e.get("name"),e.get("gene_id"),e.get("gene_name")].filter(r=>!!r);return[...new Set(t)]}function tp(e){let t=[];return e.geneName&&t.push(e.geneName),e.transcriptName&&e.transcriptName!==e.geneName&&t.push(e.transcriptName),t.length===0&&t.push(e.geneId??e.transcriptId??"Unknown"),t.join(" - ")}var z1=(0,np.observer)(function({model:e,handleClose:t,feature:r}){let[n,o]=(0,Re.useState)([]),[i,s]=(0,Re.useState)(!0),a=(0,rp.getContainingView)(e),c=(0,Re.useMemo)(()=>K1(r),[r]);(0,Re.useEffect)(()=>{(async()=>{try{let f=await aa();o(f.filter(m=>m.geneId&&c.includes(m.geneId))),s(!1)}catch(f){console.error(f)}})()},[c]);let l=async f=>{await Zg(f),o(m=>m.filter(p=>p.id!==f))},A=async()=>{await ep(),o([])},u=f=>{Yg({view:a,cached:f,newViewTitle:`BLAST - ${tp(f)}`}),t()};return i?Re.default.createElement(At.Typography,null,"Loading cached results..."):n.length===0?Re.default.createElement(At.Typography,{color:"textSecondary"},"No cached BLAST results found for this gene. Run a BLAST query to cache results."):Re.default.createElement("div",null,Re.default.createElement("div",{style:{display:"flex",justifyContent:"space-between",alignItems:"center",marginBottom:8}},Re.default.createElement(At.Typography,{variant:"subtitle1"},"Cached BLAST Results (",n.length,")"),Re.default.createElement(At.Button,{size:"small",color:"error",onClick:()=>{A()}},"Clear All")),Re.default.createElement(At.List,{dense:!0,style:{maxHeight:300,overflow:"auto"}},n.map(f=>Re.default.createElement(At.ListItem,{key:f.id,disablePadding:!0,secondaryAction:Re.default.createElement(At.IconButton,{edge:"end",size:"small",onClick:m=>{m.stopPropagation(),l(f.id)}},Re.default.createElement(Ug,{fontSize:"small"}))},Re.default.createElement(At.ListItemButton,{onClick:()=>{u(f)}},Re.default.createElement(At.ListItemText,{primary:`${tp(f)} - ${f.blastDatabase}/${f.blastProgram} (${f.msaAlgorithm})`,secondary:`${new Date(f.timestamp).toLocaleString()} - Seq: ${f.proteinSequence.slice(0,30)}...`}))))))}),op=z1;function $1(e){let t=[e.id(),e.get("id"),e.get("name"),e.get("gene_id"),e.get("gene_name")].filter(r=>!!r);return[...new Set(t)]}var X1=(0,cp.makeStyles)()({dialogContent:{width:"80em"},textAreaFont:{fontFamily:"Courier New"}}),Z1=["nr","nr_cluster_seq"],eM=["clustalo","muscle","kalign","mafft"],tM=["blastp","quick-blastp"],rM=(0,ap.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=X1(),s=(0,sp.getContainingView)(r),[a,c]=(0,W.useState)(),[l,A]=(0,W.useState)("nr"),[u,f]=(0,W.useState)("clustalo"),[m,p]=(0,W.useState)("quick-blastp"),[h,E]=(0,W.useState)(!1),[C,x]=(0,W.useState)(),y=(0,W.useMemo)(()=>$1(t),[t]);(0,W.useEffect)(()=>{(async()=>{try{let T=await aa();E(T.some(H=>H.geneId&&y.includes(H.geneId)))}catch(T){console.error(T),x(T)}})()},[y]);let{options:w,selectedId:B,setSelectedId:S,selectedTranscript:Q,proteinSequence:N,error:G}=er({feature:t,view:s});(0,W.useEffect)(()=>{l==="nr_cluster_seq"&&p("blastp")},[l]);let U=G??a??C,v={width:150};return W.default.createElement(W.default.Fragment,null,W.default.createElement(De.DialogContent,{className:i.dialogContent},n,U?W.default.createElement(ip.ErrorMessage,{error:U}):null,W.default.createElement(ot,{variant:"outlined",label:"BLAST database",style:v,select:!0,value:l,onChange:T=>{A(T.target.value)}},Z1.map(T=>W.default.createElement(De.MenuItem,{value:T,key:T},T))),W.default.createElement(ot,{variant:"outlined",label:"MSA Algorithm",style:v,select:!0,value:u,onChange:T=>{f(T.target.value)}},eM.map(T=>W.default.createElement(De.MenuItem,{value:T,key:T},T))),W.default.createElement("div",{style:{display:"flex"}},W.default.createElement(ot,{variant:"outlined",label:"BLAST program",disabled:l==="nr_cluster_seq",style:v,select:!0,value:m,onChange:T=>{p(T.target.value)}},tM.map(T=>W.default.createElement(De.MenuItem,{value:T,key:T},T))),l==="nr_cluster_seq"?W.default.createElement(De.Typography,{variant:"subtitle2",style:{marginLeft:4,alignContent:"center"}},"Can only use blastp on nr_cluster_seq"):null),W.default.createElement(Pt,{feature:t,options:w,selectedId:B,selectedTranscript:Q,onTranscriptChange:S,proteinSequence:N}),W.default.createElement(De.Typography,{style:{marginTop:20}},"This panel will automatically submit a query to NCBI. Using blastp can take 10+ minutes to run, quick-blastp is generally a lot faster but is not available for the clustered database. After completion, all the hits will be run through a multiple sequence alignment. Note: we are not able to currently run NCBI COBALT automatically on the BLAST results, even though that is the method NCBI uses on their website. If you need a COBALT alignment, please use the manual approach of submitting BLAST yourself and downloading the resulting files"),h?W.default.createElement(De.Accordion,{style:{marginTop:20}},W.default.createElement(De.AccordionSummary,{expandIcon:W.default.createElement(ra,null)},W.default.createElement(De.Typography,null,"Previous BLAST Results")),W.default.createElement(De.AccordionDetails,null,W.default.createElement(op,{model:r,handleClose:e,feature:t}))):null),W.default.createElement(De.DialogActions,null,W.default.createElement(De.Button,{color:"primary",variant:"contained",onClick:()=>{try{if(!Q)return;c(void 0),na({feature:Q,view:s,newViewTitle:`BLAST - ${Zt(t)} - ${Hn(Q)}`,blastParams:{baseUrl:o,blastProgram:m,blastDatabase:l,msaAlgorithm:u,selectedTranscript:Q,proteinSequence:N}})}catch(T){console.error(T),c(T)}e()},disabled:!N},"Submit"),W.default.createElement(De.Button,{color:"secondary",variant:"contained",onClick:()=>{e()}},"Cancel")))}),lp=rM;var tr=d(b()),fp=d(Ce()),Aa=d(ae()),Vr=d(_()),dp=d(O()),mp=d(Ue());la();var nM=(0,mp.makeStyles)()({dialogContent:{width:"80em"},textAreaFont:{fontFamily:"Courier New"},ncbiLink:{wordBreak:"break-all",margin:30,maxWidth:600}}),oM=(0,dp.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=nM(),s=(0,Aa.getContainingView)(r),{options:a,selectedId:c,setSelectedId:l,selectedTranscript:A,proteinSequence:u,error:f}=er({feature:t,view:s}),m=zs(u),p=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${m}`,h=`${o}?PAGE_TYPE=BlastSearch&PAGE=Proteins&PROGRAM=blastp&QUERY=${(0,Aa.shorten2)(m,10)}`;return tr.default.createElement(tr.default.Fragment,null,tr.default.createElement(Vr.DialogContent,{className:i.dialogContent},n,f?tr.default.createElement(fp.ErrorMessage,{error:f}):null,tr.default.createElement(Pt,{feature:t,options:a,selectedId:c,selectedTranscript:A,onTranscriptChange:l,proteinSequence:u}),u?tr.default.createElement("div",{className:i.ncbiLink},"Link to NCBI BLAST: ",tr.default.createElement(Yn,{href:p},h)):null,tr.default.createElement(Vr.Typography,{style:{marginTop:20}},`Click the link above and run your BLAST query, and once you have results, click "Multiple Alignment" at the top of the results page to be redirected to COBALT, NCBI's multiple sequence aligner. Once COBALT completes, you can download an MSA (.aln file) and optionally a Newick tree (.nh) and paste the results into JBrowse`)),tr.default.createElement(Vr.DialogActions,null,tr.default.createElement(Vr.Button,{color:"primary",variant:"contained",onClick:()=>{e()}},"Submit"),tr.default.createElement(Vr.Button,{color:"secondary",variant:"contained",onClick:()=>{e()}},"Close")))}),gp=oM;var Wr=d(b()),rr=d(_());function fA({lookupMethod:e,setLookupMethod:t}){return Wr.default.createElement(rr.FormControl,{component:"fieldset"},Wr.default.createElement(rr.RadioGroup,{row:!0,value:e,onChange:r=>{t(r.target.value)}},Wr.default.createElement(rr.FormControlLabel,{value:"automatic",control:Wr.default.createElement(rr.Radio,null),label:"Automatic"}),Wr.default.createElement(rr.FormControlLabel,{value:"rid",control:Wr.default.createElement(rr.Radio,null),label:"Load from RID"}),Wr.default.createElement(rr.FormControlLabel,{value:"manual",control:Wr.default.createElement(rr.Radio,null),label:"Manual"})))}var Pe=d(b()),pp=d(Ce()),hp=d(ae()),Gt=d(_()),Cp=d(O()),Ep=d(Ue());la();var iM=(0,Ep.makeStyles)()({dialogContent:{width:"80em"}}),sM=["clustalo","muscle","kalign","mafft"],aM=(0,Cp.observer)(function({handleClose:e,feature:t,model:r,children:n,baseUrl:o}){let{classes:i}=iM(),s=(0,hp.getContainingView)(r),[a,c]=(0,Pe.useState)(),[l,A]=(0,Pe.useState)(""),[u,f]=(0,Pe.useState)("clustalo"),{options:m,selectedId:p,setSelectedId:h,selectedTranscript:E,proteinSequence:C,error:x}=er({feature:t,view:s}),y=x??a,w={width:150},B=l.trim();return Pe.default.createElement(Pe.default.Fragment,null,Pe.default.createElement(Gt.DialogContent,{className:i.dialogContent},n,y?Pe.default.createElement(pp.ErrorMessage,{error:y}):null,Pe.default.createElement(Gt.Typography,{variant:"body2",style:{marginBottom:16}},"Enter the RID (Request ID) from a previously submitted NCBI BLAST query. You can find the RID in the BLAST results page URL or at the top of the results page. RIDs are typically valid for 24-36 hours after submission."),Pe.default.createElement(ot,{variant:"outlined",label:"BLAST RID",placeholder:"e.g., ABC12345",fullWidth:!0,style:{marginBottom:16},value:l,onChange:S=>{A(S.target.value)}}),B?Pe.default.createElement(Gt.Typography,{variant:"body2",style:{marginBottom:16}},Pe.default.createElement(Yn,{href:`${o}?CMD=Get&RID=${B}`},"View BLAST results on NCBI")):null,Pe.default.createElement(ot,{variant:"outlined",label:"MSA Algorithm",style:w,select:!0,value:u,onChange:S=>{f(S.target.value)}},sM.map(S=>Pe.default.createElement(Gt.MenuItem,{value:S,key:S},S))),Pe.default.createElement(Pt,{feature:t,options:m,selectedId:p,selectedTranscript:E,onTranscriptChange:h,proteinSequence:C}),Pe.default.createElement(Gt.Typography,{style:{marginTop:20}},"This will fetch the BLAST results for the provided RID and run them through a multiple sequence alignment. The protein sequence from the selected transcript will be added as the query sequence in the MSA.")),Pe.default.createElement(Gt.DialogActions,null,Pe.default.createElement(Gt.Button,{color:"primary",variant:"contained",onClick:()=>{try{if(!E||!B)return;c(void 0),na({feature:E,view:s,newViewTitle:`BLAST - ${Zt(t)} - ${Hn(E)}`,blastParams:{baseUrl:o,blastProgram:"blastp",blastDatabase:"nr",msaAlgorithm:u,selectedTranscript:E,proteinSequence:C,rid:B}})}catch(S){console.error(S),c(S)}e()},disabled:!C||!B},"Submit"),Pe.default.createElement(Gt.Button,{color:"secondary",variant:"contained",onClick:()=>{e()}},"Cancel")))}),Ip=aM;var Er=d(b()),nr=d(_());var ua="https://blast.ncbi.nlm.nih.gov/Blast.cgi";function dA({handleClose:e,baseUrl:t}){let[r,n]=(0,Er.useState)(t);return Er.default.createElement(nr.Dialog,{open:!0,maxWidth:"lg",onClose:()=>{e()}},Er.default.createElement(nr.DialogTitle,null,"BLAST Settings"),Er.default.createElement(nr.DialogContent,null,Er.default.createElement(ot,{autoFocus:!0,margin:"dense",label:"BLAST Base URL",fullWidth:!0,variant:"outlined",value:r,style:{minWidth:"300px"},onChange:o=>{n(o.target.value)}}),Er.default.createElement(nr.Button,{variant:"contained",onClick:()=>{n(ua)}},"Reset")),Er.default.createElement(nr.DialogActions,null,Er.default.createElement(nr.Button,{variant:"contained",color:"secondary",onClick:()=>{e()}},"Cancel"),Er.default.createElement(nr.Button,{color:"primary",variant:"contained",onClick:()=>{e(r)}},"Save")))}var cM={automatic:lp,rid:Ip,manual:gp};function mA({handleClose:e,model:t,feature:r}){let[n,o]=(0,Ir.useState)("automatic"),[i,s]=(0,xp.useLocalStorage)("msa-blastRootUrl",ua),[a,c]=(0,Ir.useState)(!1),l=cM[n];return Ir.default.createElement(Ir.default.Fragment,null,Ir.default.createElement(yp.IconButton,{style:{float:"right"},size:"small",onClick:()=>{c(!0)}},Ir.default.createElement(ta,null)),Ir.default.createElement(l,{model:t,feature:r,handleClose:e,baseUrl:i},Ir.default.createElement(fA,{lookupMethod:n,setLookupMethod:o})),a?Ir.default.createElement(dA,{baseUrl:i,handleClose:A=>{A&&s(A),c(!1)}}):null)}var Ve=d(b()),ph=d(Rn()),jn=d(Ce()),_o=d(ae()),$r=d(_()),hh=d(O());var Ch=d(Ue());var gA={revalidateOnFocus:!1,revalidateOnReconnect:!1,revalidateIfStale:!1,refreshWhenHidden:!1,refreshWhenOffline:!1,shouldRetryOnError:!1};Cn();function kA(e,t="",r=5e3){let n=[e];for(;n.length;){let o=n.pop();for(let[i,s]of Object.entries(o)){if(t.length>r)return TA(t);typeof s=="object"&&s!==null?n.push(s):i==="locationType"&&s==="FileHandleLocation"?t+=`${i}-BlobLocation`:i==="handleId"?t+=`blobId-fh-blob-${s}`:t+=`${i}-${s}`}}return`adp-${TA(t)}`}function uh(e={}){return e.type&&e.adapterId?`${e.type}-${e.adapterId}`:`${kA(e)}`}var fh={};async function _M(e,t,r){let n=r?.type;if(!n)throw new Error(`could not determine adapter type from adapter config snapshot ${JSON.stringify(r)}`);let o=e.getAdapterType(n);if(!o)throw new Error(`unknown data adapter type ${n}`);let i=o.configSchema.create(r,{pluginManager:e}),s=xa.bind(null,e,t),a=await o.getAdapterClass();return{dataAdapter:new a(i,s,e),sessionIds:new Set([t])}}async function xa(e,t,r){let n=uh(r);fh[n]??=_M(e,t,r);let o=await fh[n];return o.sessionIds.add(t),o}async function dh({config:e,pluginManager:t}){return(await xa(t,"msa",e)).dataAdapter.getMSAList()}async function mh({config:e,pluginManager:t,msaId:r}){return(await xa(t,"msa",e)).dataAdapter.getMSA(r)}function gh({session:e,newViewTitle:t,view:r,feature:n,data:o,querySeqName:i}){e.addView("MsaView",{type:"MsaView",displayName:t,treeAreaWidth:200,querySeqName:i,treeWidth:100,drawNodeBubbles:!1,labelsAlignRight:!0,showBranchLen:!1,colWidth:10,rowHeight:12,colorSchemeName:"percent_identity_dynamic",data:o,connectedViewId:r.id,connectedFeature:n.toJSON()})}var kM=(0,Ch.makeStyles)()({dialogContent:{width:"80em"}}),NM=(0,hh.observer)(function({model:t,feature:r,handleClose:n}){let o=(0,_o.getSession)(t),i=(0,_o.getContainingView)(t),{classes:s}=kM(),{pluginManager:a}=(0,_o.getEnv)(t),{assemblyNames:c}=i,[l,A]=(0,Ve.useState)(),{jbrowse:u}=o,f=(0,ph.readConfObject)(u,["msa","datasets"]),[m,p]=(0,Ve.useState)(f?.[0]?.datasetId),h=f?.find(L=>L.datasetId===m),{data:E,isLoading:C,error:x}=Pn(m?`${m}-msa-list`:"none-msa-list",()=>h?dh({config:h.adapter,pluginManager:a}):void 0,gA),{options:y,selectedId:w,setSelectedId:B,selectedTranscript:S,proteinSequence:Q,error:N,validSet:G}=er({feature:r,view:i,validIds:E}),{data:U,isLoading:v,error:T}=Pn(w&&m?`${w}-${w}-${E?.length}-msa`:"none-msa",()=>w&&h&&E?mh({msaId:w,config:h.adapter,pluginManager:a}):void 0,gA),H=x??T??N??l;return H&&console.error(H),Ve.default.createElement(Ve.default.Fragment,null,Ve.default.createElement($r.DialogContent,{className:s.dialogContent},H?Ve.default.createElement(jn.ErrorMessage,{error:H}):null,Ve.default.createElement(ot,{select:!0,label:"Select MSA dataset",value:m,onChange:L=>{p(L.target.value)}},f?.map(L=>Ve.default.createElement($r.MenuItem,{key:L.datasetId,value:L.datasetId},L.name))),h?Ve.default.createElement("div",{style:{marginTop:50}},!C&&v?Ve.default.createElement(jn.LoadingEllipses,{variant:"h6",message:`Loading MSA for (${w})`}):null,C?Ve.default.createElement(jn.LoadingEllipses,{variant:"h6",message:`Loading available MSAs for (${h.name})`}):null,E?Ve.default.createElement("div",null,Ve.default.createElement(jn.SanitizedHTML,{html:h.description}),Ve.default.createElement(Pt,{feature:r,options:y,selectedId:w,selectedTranscript:S,onTranscriptChange:B,proteinSequence:Q,validSet:G})):null):null),Ve.default.createElement($r.DialogActions,null,Ve.default.createElement($r.Button,{color:"primary",variant:"contained",disabled:!S||!U?.length,onClick:()=>{try{if(!S||!U)return;let L=`${w}_${c[0]}`;gh({session:o,newViewTitle:Zt(S),view:i,querySeqName:L,feature:S,data:{msa:U.map(te=>`>${te.get("refName")}
|
|
72
|
+
${te.get("seq")}`).join(`
|
|
73
|
+
`)}}),n()}catch(L){A(L)}}},"Submit"),Ve.default.createElement($r.Button,{color:"secondary",variant:"contained",onClick:()=>{n()}},"Cancel")))}),Eh=NM;var NA=d(b());function ko({children:e,value:t,index:r,...n}){return NA.default.createElement("div",{role:"tabpanel",hidden:t!==r,...n},t===r&&NA.default.createElement("div",null,e))}function LA({handleClose:e,feature:t,model:r}){let n=(0,yh.getSession)(r),{jbrowse:o}=n,i=(0,Ih.readConfObject)(o,["msa","datasets"]),s=i&&i.length>0,[a,c]=(0,it.useState)("ncbi_blast");return it.default.createElement(xh.Dialog,{maxWidth:"xl",title:"Launch MSA view",open:!0,onClose:e},it.default.createElement(Vn.Tabs,{value:a,onChange:(A,u)=>{c(u)}},it.default.createElement(Vn.Tab,{label:"NCBI BLAST query",value:"ncbi_blast"}),s?it.default.createElement(Vn.Tab,{label:"Pre-loaded MSA datasets",value:"preloaded_msa"}):null,it.default.createElement(Vn.Tab,{label:"Ensembl GeneTree",value:"ensembl_genetree"}),it.default.createElement(Vn.Tab,{label:"Manual upload",value:"manual_msa"})),it.default.createElement(ko,{value:a,index:"ncbi_blast"},it.default.createElement(mA,{handleClose:e,feature:t,model:r})),s?it.default.createElement(ko,{value:a,index:"preloaded_msa"},it.default.createElement(Eh,{model:r,feature:t,handleClose:e})):null,it.default.createElement(ko,{value:a,index:"ensembl_genetree"},it.default.createElement(Lg,{model:r,feature:t,handleClose:e})),it.default.createElement(ko,{value:a,index:"manual_msa"},it.default.createElement(Gg,{model:r,feature:t,handleClose:e})))}function LM(e){return e.name==="LinearBasicDisplay"}function FM(e){return e.views(t=>{let r=t.contextMenuItems;return{contextMenuItems(){let n=t.contextMenuFeature,o=(0,ya.getContainingTrack)(t),i=n?.get("type"),s=n&&["gene","mRNA","transcript"].includes(i);return[...r(),...s?[{label:"Launch MSA view",icon:Vm,onClick:()=>{(0,ya.getSession)(o).queueDialog(a=>[LA,{model:o,handleClose:a,feature:n}])}}]:[]]}}})}function FA(e){e.addToExtensionPoint("Core-extendPluggableElement",t=>(LM(t)&&(t.stateModel=FM(t.stateModel)),t))}function RA(e){e.addToExtensionPoint("LaunchView-MsaView",({session:t,data:r,msaFileLocation:n,treeFileLocation:o,connectedViewId:i,connectedFeature:s,displayName:a,colorSchemeName:c,colWidth:l,rowHeight:A,treeAreaWidth:u,treeWidth:f,drawNodeBubbles:m,labelsAlignRight:p,showBranchLen:h,querySeqName:E})=>{if(!r&&!n)throw new Error("No MSA data or file location provided when launching MSA view");t.addView("MsaView",{type:"MsaView",displayName:a,connectedViewId:i,connectedFeature:s,colorSchemeName:c,colWidth:l,rowHeight:A,treeAreaWidth:u,treeWidth:f,drawNodeBubbles:m,labelsAlignRight:p,showBranchLen:h,init:{msaData:r?.msa,treeData:r?.tree,msaUrl:n?.uri,treeUrl:o?.uri,querySeqName:E}})})}var EQ=d(b()),IQ=d(Bh());var sQ=d(b()),aQ=d(pl()),kn=d(ae()),ee=d(Ft());function*RM(e,t){if(t!==-1)for(let r=e.start;r<e.end;r++)yield r;else for(let r=e.end-1;r>=e.start;r--)yield r}function bh(e){let t=e.strand,r=e.refName;if(t!==-1&&t!==1)throw new Error(`Invalid strand value: ${t}. Expected 1 or -1.`);if(!r)throw new Error("refName is required");let n=e.subfeatures?.filter(u=>u.type==="CDS")??[],o=new Set,i=n.filter(u=>{if(u.start>=u.end)return!1;let f=`${u.start}-${u.end}`;return o.has(f)?!1:(o.add(f),!0)}).sort((u,f)=>t*(u.start-f.start)),s={},a={};if(i.length===0)return{g2p:s,p2g:a,refName:r,strand:t};let l=(3-(i[0]?.phase??0))%3,A=-1;for(let u of i)for(let f of RM(u,t)){let m=Math.floor(l++/3);s[f]=m,m!==A&&(a[m]=f,A=m)}return{g2p:s,p2g:a,refName:r,strand:t}}var An=d(zr());xd();function NS(e,t){let r=e.sciname.replaceAll(" ","_");if(e.taxid&&t?.has(e.taxid)){let n=t.get(e.taxid);n.commonName&&(r=n.commonName.split(" ").map(o=>o.charAt(0).toUpperCase()+o.slice(1).toLowerCase()).join("_"))}return`${e.accession}-${r}`}function LS(e){return e.replace("-","")}var Kt="https://www.ebi.ac.uk/Tools/services/rest";async function Sk({sequence:e,onProgress:t}){let r=await Fe(`${Kt}/clustalo/run`,{method:"POST",body:new URLSearchParams({email:"colin.diesh@gmail.com",sequence:e})});return await el({jobId:r,algorithm:"clustalo",onProgress:t}),{msa:await Fe(`${Kt}/clustalo/result/${r}/aln-clustal_num`),tree:await Fe(`${Kt}/clustalo/result/${r}/phylotree`)}}async function Qk({sequence:e,onProgress:t}){let r=await Fe(`${Kt}/muscle/run`,{method:"POST",body:new URLSearchParams({email:"colin.diesh@gmail.com",format:"clw",tree:"tree1",sequence:e})});return await el({jobId:r,algorithm:"muscle",onProgress:t}),{msa:await Fe(`${Kt}/muscle/result/${r}/fa`),tree:await Fe(`${Kt}/muscle/result/${r}/phylotree`)}}async function Mk({sequence:e,onProgress:t}){let r=await Fe(`${Kt}/kalign/run`,{method:"POST",body:new URLSearchParams({email:"colin.diesh@gmail.com",stype:"protein",sequence:e})});return await el({jobId:r,algorithm:"kalign",onProgress:t}),{msa:await Fe(`${Kt}/kalign/result/${r}/fa`),tree:await Fe(`${Kt}/kalign/result/${r}/phylotree`)}}async function vk({sequence:e,onProgress:t}){let r=await Fe(`${Kt}/mafft/run`,{method:"POST",body:new URLSearchParams({email:"colin.diesh@gmail.com",stype:"protein",sequence:e})});return await el({jobId:r,algorithm:"mafft",onProgress:t}),{msa:await Fe(`${Kt}/mafft/result/${r}/fa`),tree:await Fe(`${Kt}/mafft/result/${r}/phylotree`)}}async function el({onProgress:e,jobId:t,algorithm:r}){for(;;){for(let o=0;o<10;o++)await Vs(1e3),e(`Re-checking MSA status in... ${10-o}`);let n=await Fe(`${Kt}/${r}/status/${t}`);if(n==="FINISHED")break;if(n.includes("FAILURE"))throw new Error(`Failed to run: jobId ${t}`)}}async function FS({algorithm:e,sequence:t,onProgress:r}){switch(r(`Launching ${e} MSA...`),e){case"clustalo":return Sk({sequence:t,onProgress:r});case"muscle":return Qk({sequence:t,onProgress:r});case"kalign":return Mk({sequence:t,onProgress:r});case"mafft":return vk({sequence:t,onProgress:r});default:throw new Error("unknown algorithm")}}async function RS({rid:e,baseUrl:t,onProgress:r}){r(`Checking BLAST status for RID: ${e}...`),await GS({rid:e,onProgress:r,baseUrl:t});let n=await Gn(`${t}?CMD=Get&RID=${e}&FORMAT_TYPE=JSON2_S&FORMAT_OBJECT=Alignment`);return{rid:e,hits:n.BlastOutput2[0]?.report.results.search.hits??[]}}async function PS({query:e,blastDatabase:t,blastProgram:r,baseUrl:n,onProgress:o,onRid:i}){o("Submitting to NCBI BLAST...");let{rid:s}=await Tk({query:e,blastDatabase:t,blastProgram:r,baseUrl:n});i(s),await GS({rid:s,onProgress:o,baseUrl:n});let a=await Gn(`${n}?CMD=Get&RID=${s}&FORMAT_TYPE=JSON2_S&FORMAT_OBJECT=Alignment`);return{rid:s,hits:a.BlastOutput2[0]?.report.results.search.hits??[]}}async function Tk({query:e,blastProgram:t,blastDatabase:r,baseUrl:n}){let o=await Fe(n,{method:"POST",body:new URLSearchParams({CMD:"Put",PROGRAM:t==="quick-blastp"?"blastp":t,DATABASE:r,QUERY:e,...r==="nr_clustered_seq"?{CLUSTERED_DB:"on",DB_TYPE:"Experimental Databases"}:{},...t==="quick-blastp"?{BLAST_PROGRAMS:"kmerBlastp"}:{}})}),i=/^ {4}RID = (.*$)/m.exec(o)?.[1],s=/^ {4}RTOE = (.*$)/m.exec(o)?.[1];if(!i)throw new Error("Failed to get RID from BLAST request");return{rid:i,rtoe:s}}async function GS({rid:e,onProgress:t,baseUrl:r}){for(;;){for(let l=0;l<20;l++)await Vs(1e3),t(`Re-checking BLAST status in... ${20-l}`);let o=await Fe(`${r}?CMD=Get&FORMAT_OBJECT=SearchInfo&RID=${e}`),i=/\s+Status=WAITING/m.test(o),s=/\s+Status=FAILED/m.test(o),a=/\s+Status=READY/m.test(o),c=/\s+ThereAreHits=yes/m.test(o);if(!i){if(s)throw new Error(`BLAST ${e} failed`);if(a){if(c)return!0;throw new Error("No hits found")}}}}ia();var Dk="jbrowse-msaview-taxonomy-cache",ps="common-names",_k=2;async function OS(){return vi(Dk,_k,{upgrade(e){e.objectStoreNames.contains(ps)&&e.deleteObjectStore(ps),e.createObjectStore(ps,{keyPath:"taxid"})}})}async function kk(e){return(await OS()).get(ps,e)}async function Nk(e){let r=(await OS()).transaction(ps,"readwrite");for(let n of e)await r.store.put(n);await r.done}async function HS(e){let t=new Map,r=[];for(let i of e){let s=await kk(i);s?t.set(i,{sciname:s.sciname,commonName:s.commonName}):r.push(i)}if(r.length===0)return t;let n=100,o=[];for(let i=0;i<r.length;i+=n){let s=r.slice(i,i+n),a=s.join(",");try{let l=await(await fetch(`https://eutils.ncbi.nlm.nih.gov/entrez/eutils/efetch.fcgi?db=taxonomy&id=${a}&retmode=xml`)).text(),A=new Map,u=/<Taxon>\s*<TaxId>(\d+)<\/TaxId>/g,f;for(;(f=u.exec(l))!==null;){let m=Number(f[1]),p=f.index,h=1,E=p+f[0].length;for(;h>0&&E<l.length;){let B=l.indexOf("<Taxon>",E),S=l.indexOf("</Taxon>",E);if(S===-1)break;B!==-1&&B<S?(h++,E=B+7):(h--,E=S+8)}let C=l.slice(p,E),x=A.get(m),y=C.includes("<LineageEx>"),w=x?.includes("<LineageEx>");(!x||y&&!w)&&A.set(m,C)}for(let m of s){let p=A.get(m);if(p){let h=/<GenbankCommonName>(.*?)<\/GenbankCommonName>/.exec(p),E=/<CommonName>(.*?)<\/CommonName>/.exec(p),C=/<ScientificName>(.*?)<\/ScientificName>/.exec(p),x=h?.[1]??E?.[1],y=C?.[1]??"";t.set(m,{sciname:y,commonName:x}),o.push({taxid:m,sciname:y,commonName:x})}else o.push({taxid:m,sciname:"",commonName:void 0})}}catch(c){console.error("Failed to fetch taxonomy data:",c)}}return o.length>0&&await Nk(o),t}async function JS({self:e}){let{baseUrl:t,blastDatabase:r,blastProgram:n,msaAlgorithm:o,proteinSequence:i,selectedTranscript:s,rid:a}=e.blastParams,c=zs(i),l,A;if(a){e.setRid(a);let C=await RS({rid:a,baseUrl:t,onProgress:x=>{e.setProgress(x)}});l=C.hits,A=C.rid}else{let C=await PS({query:c,blastDatabase:r,blastProgram:n,baseUrl:t,onProgress:x=>{e.setProgress(x)},onRid:x=>{e.setRid(x)}});l=C.hits,A=C.rid}e.setProgress("Fetching species taxonomy info...");let u=l.map(C=>C.description[0]?.taxid).filter(C=>C!==void 0),f=await HS(u),m={},p=l.map(C=>{let x=C.description[0]??{accession:"unknown",id:"unknown",sciname:"unknown"},y=NS(x,f),w=LS(C.hsps[0]?.hseq??"");return m[y]=Lk(x,f),`>${y}
|
|
74
|
+
${w}`}),h=await FS({algorithm:o,sequence:[`>QUERY
|
|
75
|
+
${c}`,...p].join(`
|
|
76
|
+
`),onProgress:C=>{e.setProgress(C)}}),E=JSON.stringify(m);return await Xg({proteinSequence:c,blastDatabase:r,blastProgram:n,msaAlgorithm:o,msa:h.msa,tree:h.tree,treeMetadata:E,rid:A,geneId:s?.get("parentId"),transcriptId:s?.id(),transcriptName:s?.get("name")??s?.get("id"),geneName:s?.get("gene_name")??s?.get("parentId")}),{...h,treeMetadata:E}}function Lk(e,t){let r={},n=e.taxid?t.get(e.taxid):void 0;return n?.sciname&&(r["Scientific name"]=n.sciname),n?.commonName&&(r["Common name"]=n.commonName),e.accession&&(r.Accession=e.accession),e.id&&(r.ID=e.id),e.title&&(r.Description=e.title),r}var qS=d(ae());function US(e){return typeof e=="object"&&e!==null&&"hoverFeature"in e&&"hoverPosition"in e}function YS(e){return/AF-([A-Z0-9]+)-F\d+/.exec(e)?.[1]}function jS({model:e}){let{hovered:t}=(0,qS.getSession)(e),{querySeqName:r,transcriptToMsaMap:n,connectedView:o,mafRegion:i}=e;if(!o?.initialized||!US(t))return;let{coord:s,refName:a}=t.hoverPosition;if(i){if(a!==i.refName||!o.assemblyNames.includes(i.assemblyName)||s<i.start||s>=i.end)return;let l=s-i.start;return e.seqPosToVisibleCol(r,l)}if(n){let{g2p:c}=n,l=c[s];if(l!==void 0)return e.seqPosToVisibleCol(r,l)}}function tl(e,t){if(t<0||t>=e.length)return;let r=0;for(let n=0;n<t;n++)e[n]!=="-"&&r++;if(e[t]!=="-")return r}function VS(e,t){let r=0;for(let n=0;n<e.length;n++)if(e[n]!=="-"){if(r===t)return n;r++}}function yd(e){let t={};for(let[r,n]of e)t[r]=n;return t}function rl({model:e,coord:t}){let{querySeqName:r,transcriptToMsaMap:n,mafRegion:o}=e,s=e.rows.find(c=>c[0]===r)?.[1];if(!s)return;let a=tl(s,t);if(a!==void 0){if(o){let c=o.start+a;return c>=o.end?void 0:{refName:o.refName,start:c,end:c+1}}if(n){let{refName:c,p2g:l}=n,A=l[a],u=l[a+1];return A!==void 0&&u!==void 0?{refName:c,start:Math.min(A,u),end:Math.max(A,u)}:void 0}}}var Fk="jbrowse-msaview-data";var _n="msa-data",nl,Ao;function Rk(){if(Ao!==void 0)return Ao;try{return typeof indexedDB>"u"?(Ao=!1,!1):(Ao=!0,!0)}catch{return Ao=!1,!1}}async function wd(){if(Rk())return nl||(nl=new Promise(e=>{try{let t=indexedDB.open(Fk,1);t.addEventListener("error",()=>{console.warn("IndexedDB unavailable - MSA data will not persist across page refreshes"),Ao=!1,e(void 0)}),t.onsuccess=()=>{e(t.result)},t.onupgradeneeded=r=>{let n=r.target.result;n.objectStoreNames.contains(_n)||n.createObjectStore(_n,{keyPath:"id"}).createIndex("timestamp","timestamp",{unique:!1})}}catch(t){console.warn("Failed to open IndexedDB:",t),Ao=!1,e(void 0)}}),nl)}function WS(){return`msa-${Date.now()}-${Math.random().toString(36).slice(2,11)}`}async function KS(e,t){let r=await wd();return r?new Promise(n=>{try{let i=r.transaction(_n,"readwrite").objectStore(_n),s={id:e,msa:t.msa,tree:t.tree,treeMetadata:t.treeMetadata,timestamp:Date.now()},a=i.put(s);a.addEventListener("error",()=>{console.warn("Failed to store MSA data:",a.error),n(!1)}),a.onsuccess=()=>{n(!0)}}catch(o){console.warn("Failed to store MSA data:",o),n(!1)}}):!1}async function zS(e){let t=await wd();if(t)return new Promise(r=>{try{let i=t.transaction(_n,"readonly").objectStore(_n).get(e);i.addEventListener("error",()=>{console.warn("Failed to retrieve MSA data:",i.error),r(void 0)}),i.onsuccess=()=>{let s=i.result;r(s?{msa:s.msa,tree:s.tree,treeMetadata:s.treeMetadata}:void 0)}}catch(n){console.warn("Failed to retrieve MSA data:",n),r(void 0)}})}async function $S(e=10080*60*1e3){let t=await wd();if(!t)return 0;let r=Date.now()-e;return new Promise(n=>{try{let s=t.transaction(_n,"readwrite").objectStore(_n).index("timestamp"),a=IDBKeyRange.upperBound(r),c=s.openCursor(a),l=0;c.addEventListener("error",()=>{console.warn("Failed to cleanup old MSA data:",c.error),n(l)}),c.onsuccess=A=>{let u=A.target.result;u?(u.delete(),l++,u.continue()):n(l)}}catch(o){console.warn("Failed to cleanup old MSA data:",o),n(0)}})}var Pk={A:{A:4,R:-1,N:-2,D:-2,C:0,Q:-1,E:-1,G:0,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:0,W:-3,Y:-2,V:0,B:-2,Z:-1,X:0,"*":-4},R:{A:-1,R:5,N:0,D:-2,C:-3,Q:1,E:0,G:-2,H:0,I:-3,L:-2,K:2,M:-1,F:-3,P:-2,S:-1,T:-1,W:-3,Y:-2,V:-3,B:-1,Z:0,X:-1,"*":-4},N:{A:-2,R:0,N:6,D:1,C:-3,Q:0,E:0,G:0,H:1,I:-3,L:-3,K:0,M:-2,F:-3,P:-2,S:1,T:0,W:-4,Y:-2,V:-3,B:3,Z:0,X:-1,"*":-4},D:{A:-2,R:-2,N:1,D:6,C:-3,Q:0,E:2,G:-1,H:-1,I:-3,L:-4,K:-1,M:-3,F:-3,P:-1,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},C:{A:0,R:-3,N:-3,D:-3,C:9,Q:-3,E:-4,G:-3,H:-3,I:-1,L:-1,K:-3,M:-1,F:-2,P:-3,S:-1,T:-1,W:-2,Y:-2,V:-1,B:-3,Z:-3,X:-2,"*":-4},Q:{A:-1,R:1,N:0,D:0,C:-3,Q:5,E:2,G:-2,H:0,I:-3,L:-2,K:1,M:0,F:-3,P:-1,S:0,T:-1,W:-2,Y:-1,V:-2,B:0,Z:3,X:-1,"*":-4},E:{A:-1,R:0,N:0,D:2,C:-4,Q:2,E:5,G:-2,H:0,I:-3,L:-3,K:1,M:-2,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},G:{A:0,R:-2,N:0,D:-1,C:-3,Q:-2,E:-2,G:6,H:-2,I:-4,L:-4,K:-2,M:-3,F:-3,P:-2,S:0,T:-2,W:-2,Y:-3,V:-3,B:-1,Z:-2,X:-1,"*":-4},H:{A:-2,R:0,N:1,D:-1,C:-3,Q:0,E:0,G:-2,H:8,I:-3,L:-3,K:-1,M:-2,F:-1,P:-2,S:-1,T:-2,W:-2,Y:2,V:-3,B:0,Z:0,X:-1,"*":-4},I:{A:-1,R:-3,N:-3,D:-3,C:-1,Q:-3,E:-3,G:-4,H:-3,I:4,L:2,K:-3,M:1,F:0,P:-3,S:-2,T:-1,W:-3,Y:-1,V:3,B:-3,Z:-3,X:-1,"*":-4},L:{A:-1,R:-2,N:-3,D:-4,C:-1,Q:-2,E:-3,G:-4,H:-3,I:2,L:4,K:-2,M:2,F:0,P:-3,S:-2,T:-1,W:-2,Y:-1,V:1,B:-4,Z:-3,X:-1,"*":-4},K:{A:-1,R:2,N:0,D:-1,C:-3,Q:1,E:1,G:-2,H:-1,I:-3,L:-2,K:5,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:0,Z:1,X:-1,"*":-4},M:{A:-1,R:-1,N:-2,D:-3,C:-1,Q:0,E:-2,G:-3,H:-2,I:1,L:2,K:-1,M:5,F:0,P:-2,S:-1,T:-1,W:-1,Y:-1,V:1,B:-3,Z:-1,X:-1,"*":-4},F:{A:-2,R:-3,N:-3,D:-3,C:-2,Q:-3,E:-3,G:-3,H:-1,I:0,L:0,K:-3,M:0,F:6,P:-4,S:-2,T:-2,W:1,Y:3,V:-1,B:-3,Z:-3,X:-1,"*":-4},P:{A:-1,R:-2,N:-2,D:-1,C:-3,Q:-1,E:-1,G:-2,H:-2,I:-3,L:-3,K:-1,M:-2,F:-4,P:7,S:-1,T:-1,W:-4,Y:-3,V:-2,B:-2,Z:-1,X:-2,"*":-4},S:{A:1,R:-1,N:1,D:0,C:-1,Q:0,E:0,G:0,H:-1,I:-2,L:-2,K:0,M:-1,F:-2,P:-1,S:4,T:1,W:-3,Y:-2,V:-2,B:0,Z:0,X:0,"*":-4},T:{A:0,R:-1,N:0,D:-1,C:-1,Q:-1,E:-1,G:-2,H:-2,I:-1,L:-1,K:-1,M:-1,F:-2,P:-1,S:1,T:5,W:-2,Y:-2,V:0,B:-1,Z:-1,X:0,"*":-4},W:{A:-3,R:-3,N:-4,D:-4,C:-2,Q:-2,E:-3,G:-2,H:-2,I:-3,L:-2,K:-3,M:-1,F:1,P:-4,S:-3,T:-2,W:11,Y:2,V:-3,B:-4,Z:-3,X:-2,"*":-4},Y:{A:-2,R:-2,N:-2,D:-3,C:-2,Q:-1,E:-2,G:-3,H:2,I:-1,L:-1,K:-2,M:-1,F:3,P:-3,S:-2,T:-2,W:2,Y:7,V:-1,B:-3,Z:-2,X:-1,"*":-4},V:{A:0,R:-3,N:-3,D:-3,C:-1,Q:-2,E:-2,G:-3,H:-3,I:3,L:1,K:-2,M:1,F:-1,P:-2,S:-2,T:0,W:-3,Y:-1,V:4,B:-3,Z:-2,X:-1,"*":-4},B:{A:-2,R:-1,N:3,D:4,C:-3,Q:0,E:1,G:-1,H:0,I:-3,L:-4,K:0,M:-3,F:-3,P:-2,S:0,T:-1,W:-4,Y:-3,V:-3,B:4,Z:1,X:-1,"*":-4},Z:{A:-1,R:0,N:0,D:1,C:-3,Q:3,E:4,G:-2,H:0,I:-3,L:-3,K:1,M:-1,F:-3,P:-1,S:0,T:-1,W:-3,Y:-2,V:-2,B:1,Z:4,X:-1,"*":-4},X:{A:0,R:-1,N:-1,D:-1,C:-2,Q:-1,E:-1,G:-1,H:-1,I:-1,L:-1,K:-1,M:-1,F:-1,P:-2,S:0,T:0,W:-2,Y:-1,V:-1,B:-1,Z:-1,X:-1,"*":-4},"*":{A:-4,R:-4,N:-4,D:-4,C:-4,Q:-4,E:-4,G:-4,H:-4,I:-4,L:-4,K:-4,M:-4,F:-4,P:-4,S:-4,T:-4,W:-4,Y:-4,V:-4,B:-4,Z:-4,X:-4,"*":1}};function XS(e,t){let r=e.toUpperCase(),n=t.toUpperCase();return Pk[r]?.[n]??-4}var Gk=-10,Ok=-.5;function Hk(e,t,r=Gk,n=Ok){let o=e.length,i=t.length,s=[],a=[],c=[];for(let E=0;E<=o;E++){s[E]=[],a[E]=[],c[E]=[];for(let C=0;C<=i;C++)s[E][C]=-1/0,a[E][C]=-1/0,c[E][C]=-1/0}s[0][0]=0;for(let E=1;E<=o;E++)a[E][0]=r+(E-1)*n;for(let E=1;E<=i;E++)c[0][E]=r+(E-1)*n;for(let E=1;E<=o;E++)for(let C=1;C<=i;C++){let x=XS(e[E-1],t[C-1]);s[E][C]=Math.max(s[E-1][C-1],a[E-1][C-1],c[E-1][C-1])+x,a[E][C]=Math.max(s[E-1][C]+r,a[E-1][C]+n),c[E][C]=Math.max(s[E][C-1]+r,c[E][C-1]+n)}let l="",A="",u=o,f=i,m=[s[o][i],a[o][i],c[o][i]],p=Math.max(...m),h=p===s[o][i]?"M":p===a[o][i]?"Ix":"Iy";for(;u>0||f>0;)if(h==="M"&&u>0&&f>0){l=e[u-1]+l,A=t[f-1]+A;let E=XS(e[u-1],t[f-1]),C=s[u-1][f-1],x=a[u-1][f-1];s[u][f]===C+E?h="M":s[u][f]===x+E?h="Ix":h="Iy",u--,f--}else if(h==="Ix"&&u>0)l=e[u-1]+l,A="-"+A,h=a[u][f]===s[u-1][f]+r?"M":"Ix",u--;else if(f>0)l="-"+l,A=t[f-1]+A,h=c[u][f]===s[u][f-1]+r?"M":"Iy",f--;else break;return{alignedSeq1:l,alignedSeq2:A,score:p}}function Jk(e,t){let r="";for(let n=0;n<e.length;n++){let o=e[n],i=t[n];o==="-"||i==="-"?r+=" ":o.toUpperCase()===i.toUpperCase()?r+="|":r+=" "}return r}function ZS(e,t){let{alignedSeq1:r,alignedSeq2:n}=Hk(e,t);return{consensus:Jk(r,n),alns:[{id:"msa",seq:r},{id:"structure",seq:n}]}}function eQ(e){let t=e.alns[0].seq,r=e.alns[1].seq;if(t.length!==r.length)throw new Error("Aligned sequences must have same length");let n=0,o=0,i=new Map,s=new Map;for(let a=0;a<t.length;a++){let c=t[a],l=r[a];c!=="-"&&l!=="-"?(i.set(n,o),s.set(o,n),n++,o++):c==="-"?o++:n++}return{seq1ToSeq2:i,seq2ToSeq1:s}}var qk=(0,sQ.lazy)(()=>Promise.resolve().then(()=>(iQ(),oQ)));function jk(e){let{mouseCol:t,connectedProteinViews:r}=e;if(r.length!==0)for(let n of r){let o=n.proteinView?.structures?.[n.structureIdx];if(!o)continue;if(t===void 0){o.clearHighlightFromExternal?.();continue}let i=e.getSequenceByRowName(n.msaRowName);if(!i)continue;let s=tl(i,t);if(s===void 0){o.clearHighlightFromExternal?.();continue}let a=n.msaToStructure[s];a===void 0?o.clearHighlightFromExternal?.():o.highlightFromExternal?.(a)}}function Bd(){return ee.types.compose(aQ.BaseViewModel,Id(),ee.types.model("MsaView",{connectedViewId:ee.types.maybe(ee.types.string),connectedFeature:ee.types.frozen(),connectedHighlights:ee.types.array(ee.types.model({refName:ee.types.string,start:ee.types.number,end:ee.types.number})),blastParams:ee.types.frozen(),querySeqName:"QUERY",uniprotId:ee.types.maybe(ee.types.string),zoomToBaseLevel:!1,init:ee.types.frozen(),connectedStructures:ee.types.array(ee.types.frozen()),dataStoreId:ee.types.maybe(ee.types.string),mafRegion:ee.types.frozen()})).volatile(()=>({rid:void 0,progress:"",error:void 0,loadingStoredData:!1})).views(e=>({getRowByName(t){return e.rows.find(r=>r[0]===t)},getSequenceByRowName(t){return e.rows.find(r=>r[0]===t)?.[1]}})).views(e=>({get transcriptToMsaMap(){return e.connectedFeature?bh(e.connectedFeature):void 0},get processing(){return!!e.progress},get connectedView(){let{views:t}=(0,kn.getSession)(e);return t.find(r=>r.id===e.connectedViewId)},get connectedProteinViews(){let{views:t}=(0,kn.getSession)(e);return e.connectedStructures.map(r=>{let n=t.find(o=>o.id===r.proteinViewId);return n?{...r,proteinView:n}:void 0}).filter(r=>!!r)}})).views(e=>({get structureHoverCol(){for(let t of e.connectedProteinViews){let n=t.proteinView?.structures?.[t.structureIdx]?.hoverPosition?.structureSeqPos;if(n!==void 0){let o=t.structureToMsa[n];if(o!==void 0){let i=e.getSequenceByRowName(t.msaRowName);if(i){let s=VS(i,o);if(s!==void 0)return e.globalColToVisibleCol(s)}}}}}})).views(e=>({get mouseCol2(){let t=e.structureHoverCol;return t!==void 0?t:jS({model:e})},get clickCol2(){}})).actions(e=>({setZoomToBaseLevel(t){e.zoomToBaseLevel=t},setError(t){e.error=t},setProgress(t){e.progress=t},setRid(t){e.rid=t},setConnectedHighlights(t){e.connectedHighlights=(0,ee.cast)(t)},addToConnectedHighlights(t){e.connectedHighlights.push(t)},clearConnectedHighlights(){e.connectedHighlights=(0,ee.cast)([])},setBlastParams(t){e.blastParams=t},setInit(t){e.init=t},setQuerySeqName(t){e.querySeqName=t},setUniprotId(t){e.uniprotId=t},setDataStoreId(t){e.dataStoreId=t},setMafRegion(t){e.mafRegion=t},setLoadingStoredData(t){e.loadingStoredData=t},handleMsaClick(t){let{connectedView:r,zoomToBaseLevel:n}=e,{assemblyManager:o}=(0,kn.getSession)(e),i=rl({model:e,coord:t});if(!(!i||!r))if(n)r.navTo(i);else{let s=o.get(r.assemblyNames[0])?.getCanonicalRefName(i.refName)??i.refName;r.centerAt(i.start,s)}},connectToStructure(t,r,n){let o=n??e.querySeqName,i=e.getSequenceByRowName(o);if(!i)throw new Error(`MSA row "${o}" not found`);let s=i.replaceAll("-",""),{views:a}=(0,kn.getSession)(e),c=a.find(h=>h.id===t);if(!c)throw new Error(`ProteinView "${t}" not found`);let l=c.structures?.[r];if(!l)throw new Error(`Structure at index ${r} not found`);let A=l.structureSequences?.[0];if(!A)throw new Error("Structure sequence not available");let u=ZS(s,A),{seq1ToSeq2:f,seq2ToSeq1:m}=eQ(u),p={proteinViewId:t,structureIdx:r,msaRowName:o,msaToStructure:yd(f),structureToMsa:yd(m)};e.connectedStructures.push(p)},disconnectFromStructure(t,r){let n=e.connectedStructures.findIndex(o=>o.proteinViewId===t&&o.structureIdx===r);n!==-1&&e.connectedStructures.splice(n,1)},disconnectAllStructures(){e.connectedStructures.clear()}})).actions(e=>{let t=e.setMouseClickPos.bind(e);return{setMouseClickPos(r,n){t(r,n),r!==void 0&&e.handleMsaClick(r)}}}).views(e=>({extraViewMenuItems(){return[{label:"Zoom to base level on click?",checked:e.zoomToBaseLevel,type:"checkbox",onClick:()=>{e.setZoomToBaseLevel(!e.zoomToBaseLevel)}},{label:"Connect to protein structure...",onClick:()=>{(0,kn.getSession)(e).queueDialog(t=>[qk,{model:e,handleClose:t}])}},...e.connectedStructures.length>0?[{label:"Disconnect from protein structures",onClick:()=>{e.disconnectAllStructures()}}]:[]]}})).actions(e=>({afterCreate(){$S().catch(t=>{console.error("Failed to cleanup old MSA data:",t)}),(0,ee.addDisposer)(e,(0,An.autorun)(async()=>{let{dataStoreId:t,rows:r}=e;if(t&&r.length===0)try{e.setLoadingStoredData(!0);let n=await zS(t);n&&(n.msa&&e.setMSA(n.msa),n.tree&&e.setTree(n.tree))}catch(n){console.error("Failed to load MSA data from IndexedDB:",n)}finally{e.setLoadingStoredData(!1)}})),(0,ee.addDisposer)(e,(0,An.autorun)(async()=>{let{rows:t,dataStoreId:r}=e;if(t.length>0&&!r){if(!!(e.msaFilehandle??e.treeFilehandle))return;let o=e.data.msa,i=e.data.tree;if(o||i)try{let s=WS();await KS(s,{msa:o,tree:i,treeMetadata:e.data.treeMetadata})&&e.setDataStoreId(s)}catch(s){console.error("Failed to store MSA data to IndexedDB:",s)}}})),(0,ee.addDisposer)(e,(0,An.autorun)(async()=>{if(e.blastParams)try{e.setProgress("Submitting query"),e.setError(void 0);let t=await JS({self:e});e.setData(t),e.setBlastParams(void 0)}catch(t){e.setError(t),console.error(t)}finally{e.setProgress("")}})),(0,ee.addDisposer)(e,(0,An.autorun)(async()=>{let{init:t}=e;if(t)try{e.setError(void 0);let{msaData:r,msaUrl:n,treeData:o,treeUrl:i,querySeqName:s}=t;if(n){let a=YS(n);a&&(e.setUniprotId(a),e.setQuerySeqName("query"))}if(s&&e.setQuerySeqName(s),r)e.setMSA(r);else if(n){let a=await fetch(n);if(!a.ok)throw new Error(`Failed to fetch MSA: ${a.status}`);let c=await a.text();e.setMSA(c)}if(o)e.setTree(o);else if(i){let a=await fetch(i);if(!a.ok)throw new Error(`Failed to fetch tree: ${a.status}`);let c=await a.text();e.setTree(c)}e.setInit(void 0)}catch(r){e.setError(r),console.error(r)}})),(0,ee.addDisposer)(e,(0,An.autorun)(()=>{let{mouseCol:t,mouseClickCol:r}=e,n=t===void 0?void 0:rl({model:e,coord:t}),o=r===void 0?void 0:rl({model:e,coord:r});e.setConnectedHighlights([n,o].filter(i=>!!i))})),(0,ee.addDisposer)(e,(0,An.autorun)(()=>{jk(e)})),(0,ee.addDisposer)(e,(0,An.autorun)(()=>{let{views:t}=(0,kn.getSession)(e),{connectedViewId:r,uniprotId:n,rows:o,connectedStructures:i}=e;if(!(!n||o.length===0))for(let s of t){let a=s;if(!(a.type!=="ProteinView"||!a.structures))for(let c=0;c<a.structures.length;c++){let l=a.structures[c];if(!(l.connectedViewId!==r||l.uniprotId!==n||i.some(u=>u.proteinViewId===a.id&&u.structureIdx===c))&&l.structureSequences?.[0])try{e.connectToStructure(a.id,c)}catch(u){console.error("Failed to auto-connect to ProteinView:",u)}}}})),(0,ee.addDisposer)(e,(0,An.autorun)(()=>{let{views:t}=(0,kn.getSession)(e),{connectedViewId:r,transcriptToMsaMap:n,querySeqName:o}=e;if(!r||!n)return;let i=[];for(let a of t){let c=a;if(!(c.type!=="ProteinView"||!c.structures))for(let l of c.structures){if(l.connectedViewId!==r)continue;let A=l.hoverGenomeHighlights;if(!A||A.length===0)continue;let{g2p:u}=n;for(let f of A)for(let m=f.start;m<f.end;m++){let p=u[m];if(p!==void 0){let h=e.seqPosToGlobalCol(o,p);i.includes(h)||i.push(h)}}}}let s=i.map(a=>e.globalColToVisibleCol(a)).filter(a=>a!==void 0);e.setHighlightedColumns(s.length>0?s:void 0)}))}}))}var Zk=(0,EQ.lazy)(()=>Promise.resolve().then(()=>(CQ(),hQ)));function Md(e){e.addViewType(()=>new IQ.default({name:"MsaView",stateModel:Bd(),ReactComponent:Zk}))}var xQ="2.2.11";var il=class extends yQ.default{constructor(){super(...arguments);this.name="MsaViewPlugin";this.version=xQ;this.rootConfigurationSchema=r=>({msa:(0,vd.ConfigurationSchema)("MSA",{datasets:Td.types.maybe(Td.types.array((0,vd.ConfigurationSchema)("MSAEntry",{datasetId:{type:"string",defaultValue:""},description:{type:"string",defaultValue:""},name:{type:"string",defaultValue:""},adapter:r.pluggableConfigSchemaType("adapter")})))})})}install(r){Md(r),FA(r),RA(r),gl(r),Nl(r)}configure(r){(0,wQ.isAbstractMenuManager)(r.rootModel)&&r.rootModel.appendToSubMenu(["Add"],{label:"Multiple sequence alignment view",icon:Zd,onClick:n=>{n.addView("MsaView",{})}})}};return FQ(eN);})();
|
|
77
77
|
/*! Bundled license information:
|
|
78
78
|
|
|
79
79
|
use-sync-external-store/cjs/use-sync-external-store-shim.production.js:
|
|
@@ -98,7 +98,7 @@ react-is/cjs/react-is.production.min.js:
|
|
|
98
98
|
*)
|
|
99
99
|
|
|
100
100
|
dompurify/dist/purify.es.mjs:
|
|
101
|
-
(*! @license DOMPurify 3.3.
|
|
101
|
+
(*! @license DOMPurify 3.3.3 | (c) Cure53 and other contributors | Released under the Apache license 2.0 and Mozilla Public License 2.0 | github.com/cure53/DOMPurify/blob/3.3.3/LICENSE *)
|
|
102
102
|
|
|
103
103
|
escape-html/index.js:
|
|
104
104
|
(*!
|