jbrowse-plugin-msaview 5.3.0 → 5.4.0

This diff represents the content of publicly available package versions that have been released to one of the supported registries. The information contained in this diff is provided for informational purposes only and reflects changes between package versions as they appear in their respective public registries.
Files changed (86) hide show
  1. package/dist/MsaViewPanel/model.d.ts +24 -22
  2. package/dist/MsaViewPanel/model.js +7 -0
  3. package/dist/MsaViewPanel/model.test.js +3 -0
  4. package/dist/chunks/{AboutDialog-447TIFAW.js → AboutDialog-HCCCEJ6V.js} +2 -2
  5. package/dist/chunks/{AboutDialog-447TIFAW.js.map → AboutDialog-HCCCEJ6V.js.map} +1 -1
  6. package/dist/chunks/AnnotationFileDialog-CPJ4X7XW.js +2 -0
  7. package/dist/chunks/{AnnotationFileDialog-S3N5EHHE.js.map → AnnotationFileDialog-CPJ4X7XW.js.map} +2 -2
  8. package/dist/chunks/{ExportSVGDialog-7ZHKKQ7W.js → ExportSVGDialog-YUFLYBYW.js} +2 -2
  9. package/dist/chunks/{ExportSVGDialog-7ZHKKQ7W.js.map → ExportSVGDialog-YUFLYBYW.js.map} +1 -1
  10. package/dist/chunks/{FeatureDialog-EEOGSLOG.js → FeatureDialog-NBDB5SWU.js} +1 -1
  11. package/dist/chunks/{FeatureDialog-EEOGSLOG.js.map → FeatureDialog-NBDB5SWU.js.map} +1 -1
  12. package/dist/chunks/{HelpDialog-TCWNBZOV.js → HelpDialog-UCUYPCOI.js} +2 -2
  13. package/dist/chunks/{HelpDialog-TCWNBZOV.js.map → HelpDialog-UCUYPCOI.js.map} +1 -1
  14. package/dist/chunks/{LaunchMsaViewDialog-R6CNRASN.js → LaunchMsaViewDialog-HGL6P4E4.js} +2 -2
  15. package/dist/chunks/{LaunchMsaViewDialog-R6CNRASN.js.map → LaunchMsaViewDialog-HGL6P4E4.js.map} +2 -2
  16. package/dist/chunks/MetadataDialog-DSA3545E.js +2 -0
  17. package/dist/chunks/{MetadataDialog-MNSI6NEW.js.map → MetadataDialog-DSA3545E.js.map} +2 -2
  18. package/dist/chunks/MsaViewPanel-XSXFJWWY.js +2 -0
  19. package/dist/chunks/{MsaViewPanel-R2WAER5O.js.map → MsaViewPanel-XSXFJWWY.js.map} +1 -1
  20. package/dist/chunks/{TrackInfoDialog-W2F77IPG.js → TrackInfoDialog-YXCIGFYM.js} +2 -2
  21. package/dist/chunks/{TrackInfoDialog-W2F77IPG.js.map → TrackInfoDialog-YXCIGFYM.js.map} +1 -1
  22. package/dist/chunks/TreeNodeInfoDialog-QCWDJTM4.js +2 -0
  23. package/dist/chunks/{TreeNodeInfoDialog-T5XMPG3R.js.map → TreeNodeInfoDialog-QCWDJTM4.js.map} +2 -2
  24. package/dist/chunks/{chunk-BAM67QHH.js → chunk-2XCUSA22.js} +2 -2
  25. package/dist/chunks/{chunk-JF6CW6MO.js → chunk-35FWLG3N.js} +1 -1
  26. package/dist/chunks/{chunk-JF6CW6MO.js.map → chunk-35FWLG3N.js.map} +1 -1
  27. package/dist/chunks/{chunk-NWHZOZMG.js → chunk-5OSSOQH4.js} +1 -1
  28. package/dist/chunks/{chunk-NWHZOZMG.js.map → chunk-5OSSOQH4.js.map} +1 -1
  29. package/dist/chunks/{chunk-FEUZKN5V.js → chunk-666BV764.js} +2 -2
  30. package/dist/chunks/{chunk-FEUZKN5V.js.map → chunk-666BV764.js.map} +1 -1
  31. package/dist/chunks/{chunk-YUKJI2AH.js → chunk-AQ2THRTR.js} +2 -2
  32. package/dist/chunks/{chunk-YUKJI2AH.js.map → chunk-AQ2THRTR.js.map} +1 -1
  33. package/dist/chunks/{chunk-L6CBIH6H.js → chunk-ASUKJX5J.js} +2 -2
  34. package/dist/chunks/{chunk-L6CBIH6H.js.map → chunk-ASUKJX5J.js.map} +1 -1
  35. package/dist/chunks/chunk-F726IWCW.js +2 -0
  36. package/dist/chunks/chunk-F726IWCW.js.map +7 -0
  37. package/dist/chunks/{chunk-CSCUNTGJ.js → chunk-FFHB7WP7.js} +4 -4
  38. package/dist/chunks/chunk-FFHB7WP7.js.map +7 -0
  39. package/dist/chunks/{chunk-ERCMNTEQ.js → chunk-GAY2PLS6.js} +1 -1
  40. package/dist/chunks/{chunk-ERCMNTEQ.js.map → chunk-GAY2PLS6.js.map} +1 -1
  41. package/dist/chunks/{chunk-TSHN6J7U.js → chunk-JDQUBCHM.js} +1 -1
  42. package/dist/chunks/{chunk-TSHN6J7U.js.map → chunk-JDQUBCHM.js.map} +1 -1
  43. package/dist/chunks/{chunk-IBBQUV2I.js → chunk-KSCGTF4R.js} +1 -1
  44. package/dist/chunks/{chunk-IBBQUV2I.js.map → chunk-KSCGTF4R.js.map} +1 -1
  45. package/dist/chunks/{chunk-6YFCSBEE.js → chunk-NLAW2OYS.js} +2 -2
  46. package/dist/chunks/{chunk-6YFCSBEE.js.map → chunk-NLAW2OYS.js.map} +1 -1
  47. package/dist/chunks/chunk-QQKPT6EL.js +2 -0
  48. package/dist/chunks/{chunk-XVNCZQMR.js.map → chunk-QQKPT6EL.js.map} +1 -1
  49. package/dist/chunks/{chunk-WAPIOD25.js → chunk-WMDOEOAH.js} +5 -5
  50. package/dist/chunks/{chunk-WAPIOD25.js.map → chunk-WMDOEOAH.js.map} +1 -1
  51. package/dist/chunks/chunk-XTQQNBQ5.js +2 -0
  52. package/dist/chunks/{chunk-6EOYBBT4.js.map → chunk-XTQQNBQ5.js.map} +1 -1
  53. package/dist/chunks/chunk-XXCNVFGP.js +11 -0
  54. package/dist/chunks/chunk-XXCNVFGP.js.map +7 -0
  55. package/dist/chunks/{chunk-OVAXNTPN.js → chunk-ZQSWX57C.js} +1 -1
  56. package/dist/chunks/{chunk-OVAXNTPN.js.map → chunk-ZQSWX57C.js.map} +1 -1
  57. package/dist/chunks/dist-GZKCGB2N.js +2 -0
  58. package/dist/chunks/{model-TCPB6WNJ.js → model-36HCIOZJ.js} +3 -3
  59. package/dist/chunks/model-36HCIOZJ.js.map +7 -0
  60. package/dist/chunks/{renderToSvg-53FEV6IJ.js → renderToSvg-5DMIQ72S.js} +2 -2
  61. package/dist/jbrowse-plugin-msaview.esm.js +2 -2
  62. package/dist/jbrowse-plugin-msaview.esm.js.map +2 -2
  63. package/dist/version.d.ts +1 -1
  64. package/dist/version.js +1 -1
  65. package/package.json +17 -17
  66. package/src/MsaViewPanel/model.test.ts +4 -0
  67. package/src/MsaViewPanel/model.ts +8 -0
  68. package/src/version.ts +1 -1
  69. package/dist/chunks/AnnotationFileDialog-S3N5EHHE.js +0 -2
  70. package/dist/chunks/MetadataDialog-MNSI6NEW.js +0 -2
  71. package/dist/chunks/MsaViewPanel-R2WAER5O.js +0 -2
  72. package/dist/chunks/TreeNodeInfoDialog-T5XMPG3R.js +0 -2
  73. package/dist/chunks/chunk-6EOYBBT4.js +0 -2
  74. package/dist/chunks/chunk-A63PUWQZ.js +0 -6
  75. package/dist/chunks/chunk-A63PUWQZ.js.map +0 -7
  76. package/dist/chunks/chunk-CSCUNTGJ.js.map +0 -7
  77. package/dist/chunks/chunk-DEFUNIWW.js +0 -8
  78. package/dist/chunks/chunk-DEFUNIWW.js.map +0 -7
  79. package/dist/chunks/chunk-K55ZVN73.js +0 -5
  80. package/dist/chunks/chunk-K55ZVN73.js.map +0 -7
  81. package/dist/chunks/chunk-XVNCZQMR.js +0 -2
  82. package/dist/chunks/dist-N4ZJK63Q.js +0 -2
  83. package/dist/chunks/model-TCPB6WNJ.js.map +0 -7
  84. /package/dist/chunks/{chunk-BAM67QHH.js.map → chunk-2XCUSA22.js.map} +0 -0
  85. /package/dist/chunks/{dist-N4ZJK63Q.js.map → dist-GZKCGB2N.js.map} +0 -0
  86. /package/dist/chunks/{renderToSvg-53FEV6IJ.js.map → renderToSvg-5DMIQ72S.js.map} +0 -0
@@ -0,0 +1,2 @@
1
+ import{b as n,c}from"./chunk-WMDOEOAH.js";import"./chunk-GAY2PLS6.js";import"./chunk-5OSSOQH4.js";import"./chunk-XXCNVFGP.js";import"./chunk-73KAPCJ2.js";import"./chunk-666BV764.js";import"./chunk-35FWLG3N.js";import{a as g}from"./chunk-CVLB4VFP.js";import{a as h}from"./chunk-DNFD5II2.js";import{a as x}from"./chunk-BX4Z274Q.js";import{a as d}from"./chunk-J6KYLXRD.js";import{b as r}from"./chunk-FY3BTKY4.js";var e=r(d(),1),i=r(h(),1),t=r(x(),1),f=r(g(),1);var T=(0,f.observer)(function({info:u,model:o,nodeName:a,onClose:E}){let{rows:p}=o,l=o.rowDataOf(a),m=p.find(s=>s[0]===a);return e.default.createElement(i.Dialog,{onClose:()=>{E()},open:!0,title:"Tree node info",maxWidth:"xl"},e.default.createElement(t.DialogContent,null,e.default.createElement(t.Typography,{variant:"h6"},"Attributes"),e.default.createElement(n,{record:{nodeName:a,...u}}),e.default.createElement(t.Typography,{variant:"h6"},"Sequence"),m?e.default.createElement(c,{str:[m]}):e.default.createElement(t.Typography,null,"Sequence not found"),l?e.default.createElement(e.default.Fragment,null,e.default.createElement(t.Typography,{variant:"h6"},"Extra metadata"),e.default.createElement(n,{record:l})):null))}),b=T;export{b as default};
2
+ //# sourceMappingURL=TreeNodeInfoDialog-QCWDJTM4.js.map
@@ -1,7 +1,7 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../node_modules/.pnpm/react-msaview@9.1.0_3e54acfe76b6ad0d26e91cd532b7f775/node_modules/react-msaview/src/components/tree/dialogs/TreeNodeInfoDialog.tsx"],
3
+ "sources": ["../../node_modules/.pnpm/react-msaview@9.1.0_a4121c98828e538e8b3708814bbfe622/node_modules/react-msaview/src/components/tree/dialogs/TreeNodeInfoDialog.tsx"],
4
4
  "sourcesContent": ["import React from 'react'\n\nimport { Dialog } from '@jbrowse/core/ui'\nimport { DialogContent, Typography } from '@mui/material'\nimport { observer } from 'mobx-react'\n\nimport MetadataTable from '../../MetadataTable.tsx'\nimport SequenceTextArea from '../../SequenceTextArea.tsx'\n\nimport type { MsaViewModel } from '../../../model.ts'\n\nconst TreeNodeInfoDialog = observer(function ({\n info,\n model,\n nodeName,\n onClose,\n}: {\n info: Record<string, unknown>\n model: MsaViewModel\n nodeName: string\n onClose: () => void\n}) {\n const { rows } = model\n const metadata = model.rowDataOf(nodeName)\n const res = rows.find(f => f[0] === nodeName)\n return (\n <Dialog\n onClose={() => {\n onClose()\n }}\n open\n title=\"Tree node info\"\n maxWidth=\"xl\"\n >\n <DialogContent>\n <Typography variant=\"h6\">Attributes</Typography>\n <MetadataTable record={{ nodeName, ...info }} />\n <Typography variant=\"h6\">Sequence</Typography>\n {res ? (\n <SequenceTextArea str={[res]} />\n ) : (\n <Typography>Sequence not found</Typography>\n )}\n {metadata ? (\n <>\n <Typography variant=\"h6\">Extra metadata</Typography>\n <MetadataTable record={metadata} />\n </>\n ) : null}\n </DialogContent>\n </Dialog>\n )\n})\n\nexport default TreeNodeInfoDialog\n"],
5
- "mappings": "sbAAA,IAAAA,EAAkB,SAElBC,EAAuB,SACvBC,EAA0C,SAC1CC,EAAyB,SAOzB,IAAMC,KAAqB,YAAS,SAAU,CAC5C,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,CAAO,EAMR,CACC,GAAM,CAAE,KAAAC,CAAI,EAAKH,EACXI,EAAWJ,EAAM,UAAUC,CAAQ,EACnCI,EAAMF,EAAK,KAAKG,GAAKA,EAAE,CAAC,IAAML,CAAQ,EAC5C,OACE,EAAAM,QAAA,cAAC,SAAM,CACL,QAAS,IAAK,CACZL,EAAO,CACT,EACA,KAAI,GACJ,MAAM,iBACN,SAAS,IAAI,EAEb,EAAAK,QAAA,cAAC,gBAAa,KACZ,EAAAA,QAAA,cAAC,aAAU,CAAC,QAAQ,IAAI,EAAA,YAAA,EACxB,EAAAA,QAAA,cAACC,EAAa,CAAC,OAAQ,CAAE,SAAAP,EAAU,GAAGF,CAAI,CAAE,CAAA,EAC5C,EAAAQ,QAAA,cAAC,aAAU,CAAC,QAAQ,IAAI,EAAA,UAAA,EACvBF,EACC,EAAAE,QAAA,cAACE,EAAgB,CAAC,IAAK,CAACJ,CAAG,CAAC,CAAA,EAE5B,EAAAE,QAAA,cAAC,aAAU,KAAA,oBAAA,EAEZH,EACC,EAAAG,QAAA,cAAA,EAAAA,QAAA,SAAA,KACE,EAAAA,QAAA,cAAC,aAAU,CAAC,QAAQ,IAAI,EAAA,gBAAA,EACxB,EAAAA,QAAA,cAACC,EAAa,CAAC,OAAQJ,CAAQ,CAAA,CAAI,EAEnC,IAAI,CACM,CAGtB,CAAC,EAEDM,EAAeZ",
5
+ "mappings": "0ZAAA,IAAAA,EAAkB,SAElBC,EAAuB,SACvBC,EAA0C,SAC1CC,EAAyB,SAOzB,IAAMC,KAAqB,YAAS,SAAU,CAC5C,KAAAC,EACA,MAAAC,EACA,SAAAC,EACA,QAAAC,CAAO,EAMR,CACC,GAAM,CAAE,KAAAC,CAAI,EAAKH,EACXI,EAAWJ,EAAM,UAAUC,CAAQ,EACnCI,EAAMF,EAAK,KAAKG,GAAKA,EAAE,CAAC,IAAML,CAAQ,EAC5C,OACE,EAAAM,QAAA,cAAC,SAAM,CACL,QAAS,IAAK,CACZL,EAAO,CACT,EACA,KAAI,GACJ,MAAM,iBACN,SAAS,IAAI,EAEb,EAAAK,QAAA,cAAC,gBAAa,KACZ,EAAAA,QAAA,cAAC,aAAU,CAAC,QAAQ,IAAI,EAAA,YAAA,EACxB,EAAAA,QAAA,cAACC,EAAa,CAAC,OAAQ,CAAE,SAAAP,EAAU,GAAGF,CAAI,CAAE,CAAA,EAC5C,EAAAQ,QAAA,cAAC,aAAU,CAAC,QAAQ,IAAI,EAAA,UAAA,EACvBF,EACC,EAAAE,QAAA,cAACE,EAAgB,CAAC,IAAK,CAACJ,CAAG,CAAC,CAAA,EAE5B,EAAAE,QAAA,cAAC,aAAU,KAAA,oBAAA,EAEZH,EACC,EAAAG,QAAA,cAAA,EAAAA,QAAA,SAAA,KACE,EAAAA,QAAA,cAAC,aAAU,CAAC,QAAQ,IAAI,EAAA,gBAAA,EACxB,EAAAA,QAAA,cAACC,EAAa,CAAC,OAAQJ,CAAQ,CAAA,CAAI,EAEnC,IAAI,CACM,CAGtB,CAAC,EAEDM,EAAeZ",
6
6
  "names": ["import_react", "import_ui", "import_material", "import_mobx_react", "TreeNodeInfoDialog", "info", "model", "nodeName", "onClose", "rows", "metadata", "res", "f", "React", "MetadataTable", "SequenceTextArea", "TreeNodeInfoDialog_default"]
7
7
  }
@@ -1,3 +1,3 @@
1
- import{a as H,c as J,d as S,e as Q,f as Z,p as Y}from"./chunk-A63PUWQZ.js";import{a as Pe}from"./chunk-IBBQUV2I.js";import{a as Ne}from"./chunk-2IWD4OO4.js";import{a as Te,b as K}from"./chunk-FY3BTKY4.js";var Re=Te((bt,oe)=>{oe.exports=JBrowseExports["@jbrowse/core/util/translateTranscript"]});var M=K(Pe());function ut(e){return(0,M.getContainingView)(e)}function te(e){return typeof e=="string"&&e!==""}function ne(e){return[...new Set(e.filter(te))]}function re(e,t){return t.filter(te).join(e)}function Ee(e){let n=(e.get("subfeatures")??[]).filter(r=>(r.get("type")==="mRNA"||r.get("type")==="transcript")&&r.get("subfeatures")?.some(o=>o.get("type")==="CDS"));return n.length>0?n:[e]}function ee(e){let t=(0,M.sum)(e.get("subfeatures")?.filter(n=>n.get("type")==="CDS").map(n=>n.get("end")-n.get("start"))??[]);return{len:Math.floor(t/3),mod:t%3}}function mt(e){return e?.id()??""}function Me(e){return e?ne([e.id(),e.get("name"),e.get("id"),e.get("transcript_id")]):[]}function dt(e,t){return Me(e).includes(t)}function Ae(e){return e?re(" ",[e.get("name"),e.get("id")]):""}function _e(e){return e?re(" ",[e.get("gene_name")??e.get("name"),e.get("id")?`(${e.get("id")})`:void 0]):""}function lt(e,t){return`BLAST - ${_e(e)} - ${Ae(t)}`}function gt(e){return Ee(e).toSorted((n,r)=>ee(r).len-ee(n).len)}function ft(e){return e.replace(/[*&]+$/,"").replaceAll(/[*&]/g,"X")}function ht(e){return ne([e.id(),e.get("id"),e.get("name"),e.get("gene_id"),e.get("gene_name")])}var se=K(Ne());async function xt({start:e,end:t,refName:n,session:r,assemblyName:o}){let{assemblyManager:a,rpcManager:i}=r,c=await a.waitForAssembly(o);if(!c)throw new Error("assembly not found");return{seq:(await i.call("getSequence","CoreGetFeatures",{adapterConfig:(0,se.getConf)(c,["sequence","adapter"]),regions:[{start:e,end:t,refName:c.getCanonicalRefName(n)??n,assemblyName:o}]}))[0]?.get("seq")??"",assemblyGeneticCodeId:c.getGeneticCodeId(n)}}var $e="jbrowse-plugin-msaview",Oe="jbrowse2@berkeley.edu",ae="https://eutils.ncbi.nlm.nih.gov/entrez/eutils";function ce(e){return new URLSearchParams({...e,tool:$e,email:Oe})}function L(e,t){return`${ae}/${e}.fcgi?${ce(t).toString()}`}function _(e){return L("efetch",e)}function ue(e){return[`${ae}/efetch.fcgi`,{method:"POST",body:ce(e)}]}var ie=350,A=0;async function me(e){let t=Date.now(),n=Math.max(t,A);if(A=n+ie,n>t)try{await Q(n-t,e??void 0)}catch(r){throw A===n+ie&&(A=n),r}}async function B(e,t){return await me(t?.signal),J(e,t)}async function de(e,t){return await me(t?.signal),S(e,t)}var je={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'};function k(e){return e.replaceAll(/&(#x[\da-f]+|#\d+|[a-z]+);/gi,(t,n)=>n.startsWith("#x")||n.startsWith("#X")?String.fromCodePoint(Number.parseInt(n.slice(2),16)):n.startsWith("#")?String.fromCodePoint(Number(n.slice(1))):je[n]??t)}var F="https://api.ncbi.nlm.nih.gov/datasets/v2",Le=100;function ke(e){return e.trim().replace(/^\w+:/,"").replace(/\.\d+$/,"")}function Fe(e,t){let n=e.toLowerCase();return(t.find(o=>o.symbol===e)??t.find(o=>o.synonyms?.includes(e))??t.find(o=>o.symbol?.toLowerCase()===n)??t[0])?.gene_id}async function ve(e,t,n){try{return((await S(`${F}/gene/symbol/${encodeURIComponent(e)}/taxon/${t}`,{signal:n})).reports??[]).flatMap(o=>o.gene?[o.gene]:[])}catch(r){if(r instanceof H&&(r.status===400||r.status===404))return[];throw r}}async function Ge(e,t,n){return(await de(L("esearch",{db:"gene",term:`${e}[Gene Name] AND ${t}[taxid]`,retmode:"json",retmax:"1"}),{signal:n})).esearchresult?.idlist?.[0]}async function Bt(e,t,n){let r=new Set,o=e.map(c=>c.trim()),a=c=>/^\d+$/.test(c);for(let c of o.filter(s=>!a(s))){let s=ke(c);if(!s||r.has(s))continue;r.add(s);let u=Fe(s,await ve(s,t,n))??await Ge(s,t,n);if(u)return{geneId:u,matched:s}}let i=o.find(a);return i?{geneId:i,matched:i}:void 0}async function Ve(e,{taxa:t,exclude:n,limit:r=Le,signal:o}={}){let a=await S(`${F}/gene/id/${e}/orthologs?returned_content=COMPLETE`,{signal:o}),i=new Map;for(let{gene:c}of a.reports??[]){let s=Number(c?.tax_id);if(c?.gene_id&&s!==n&&(t?.has(s)??!0)&&!i.has(s)&&i.set(s,{taxId:s,geneId:c.gene_id,scientificName:c.taxname??String(s),commonName:c.common_name}),i.size>=r)break}return[...i.values()]}var le=150;async function ge(e,t){let n=new Map;for(let r=0;r<e.length;r+=le){let o=e.slice(r,r+le),a=await S(`${F}/gene/id/${o.join(",")}/product_report?page_size=${o.length}`,{signal:t});for(let{product:i}of a.reports??[]){let c=(i?.transcripts??[]).map(u=>({acc:u.protein?.accession_version,len:u.protein?.length??0,mane:/select/i.test(u.select_category??"")})).filter(u=>!!u.acc),s=c.find(u=>u.mane)??[...c].sort((u,d)=>d.len-u.len).at(0);i?.gene_id&&s&&n.set(i.gene_id,s.acc)}}return n}function fe(e){let t=new Map,n,r=[];for(let o of e.split(`
1
+ import{a as H,c as J,d as S,e as Q,f as Z,p as Y}from"./chunk-F726IWCW.js";import{a as Pe}from"./chunk-KSCGTF4R.js";import{a as Ne}from"./chunk-2IWD4OO4.js";import{a as Te,b as K}from"./chunk-FY3BTKY4.js";var Re=Te((bt,oe)=>{oe.exports=JBrowseExports["@jbrowse/core/util/translateTranscript"]});var M=K(Pe());function ut(e){return(0,M.getContainingView)(e)}function te(e){return typeof e=="string"&&e!==""}function ne(e){return[...new Set(e.filter(te))]}function re(e,t){return t.filter(te).join(e)}function Ee(e){let n=(e.get("subfeatures")??[]).filter(r=>(r.get("type")==="mRNA"||r.get("type")==="transcript")&&r.get("subfeatures")?.some(o=>o.get("type")==="CDS"));return n.length>0?n:[e]}function ee(e){let t=(0,M.sum)(e.get("subfeatures")?.filter(n=>n.get("type")==="CDS").map(n=>n.get("end")-n.get("start"))??[]);return{len:Math.floor(t/3),mod:t%3}}function mt(e){return e?.id()??""}function Me(e){return e?ne([e.id(),e.get("name"),e.get("id"),e.get("transcript_id")]):[]}function dt(e,t){return Me(e).includes(t)}function Ae(e){return e?re(" ",[e.get("name"),e.get("id")]):""}function _e(e){return e?re(" ",[e.get("gene_name")??e.get("name"),e.get("id")?`(${e.get("id")})`:void 0]):""}function lt(e,t){return`BLAST - ${_e(e)} - ${Ae(t)}`}function gt(e){return Ee(e).toSorted((n,r)=>ee(r).len-ee(n).len)}function ft(e){return e.replace(/[*&]+$/,"").replaceAll(/[*&]/g,"X")}function ht(e){return ne([e.id(),e.get("id"),e.get("name"),e.get("gene_id"),e.get("gene_name")])}var se=K(Ne());async function xt({start:e,end:t,refName:n,session:r,assemblyName:o}){let{assemblyManager:a,rpcManager:i}=r,c=await a.waitForAssembly(o);if(!c)throw new Error("assembly not found");return{seq:(await i.call("getSequence","CoreGetFeatures",{adapterConfig:(0,se.getConf)(c,["sequence","adapter"]),regions:[{start:e,end:t,refName:c.getCanonicalRefName(n)??n,assemblyName:o}]}))[0]?.get("seq")??"",assemblyGeneticCodeId:c.getGeneticCodeId(n)}}var $e="jbrowse-plugin-msaview",Oe="jbrowse2@berkeley.edu",ae="https://eutils.ncbi.nlm.nih.gov/entrez/eutils";function ce(e){return new URLSearchParams({...e,tool:$e,email:Oe})}function L(e,t){return`${ae}/${e}.fcgi?${ce(t).toString()}`}function _(e){return L("efetch",e)}function ue(e){return[`${ae}/efetch.fcgi`,{method:"POST",body:ce(e)}]}var ie=350,A=0;async function me(e){let t=Date.now(),n=Math.max(t,A);if(A=n+ie,n>t)try{await Q(n-t,e??void 0)}catch(r){throw A===n+ie&&(A=n),r}}async function B(e,t){return await me(t?.signal),J(e,t)}async function de(e,t){return await me(t?.signal),S(e,t)}var je={amp:"&",apos:"'",gt:">",lt:"<",quot:'"'};function k(e){return e.replaceAll(/&(#x[\da-f]+|#\d+|[a-z]+);/gi,(t,n)=>n.startsWith("#x")||n.startsWith("#X")?String.fromCodePoint(Number.parseInt(n.slice(2),16)):n.startsWith("#")?String.fromCodePoint(Number(n.slice(1))):je[n]??t)}var F="https://api.ncbi.nlm.nih.gov/datasets/v2",Le=100;function ke(e){return e.trim().replace(/^\w+:/,"").replace(/\.\d+$/,"")}function Fe(e,t){let n=e.toLowerCase();return(t.find(o=>o.symbol===e)??t.find(o=>o.synonyms?.includes(e))??t.find(o=>o.symbol?.toLowerCase()===n)??t[0])?.gene_id}async function ve(e,t,n){try{return((await S(`${F}/gene/symbol/${encodeURIComponent(e)}/taxon/${t}`,{signal:n})).reports??[]).flatMap(o=>o.gene?[o.gene]:[])}catch(r){if(r instanceof H&&(r.status===400||r.status===404))return[];throw r}}async function Ge(e,t,n){return(await de(L("esearch",{db:"gene",term:`${e}[Gene Name] AND ${t}[taxid]`,retmode:"json",retmax:"1"}),{signal:n})).esearchresult?.idlist?.[0]}async function Bt(e,t,n){let r=new Set,o=e.map(c=>c.trim()),a=c=>/^\d+$/.test(c);for(let c of o.filter(s=>!a(s))){let s=ke(c);if(!s||r.has(s))continue;r.add(s);let u=Fe(s,await ve(s,t,n))??await Ge(s,t,n);if(u)return{geneId:u,matched:s}}let i=o.find(a);return i?{geneId:i,matched:i}:void 0}async function Ve(e,{taxa:t,exclude:n,limit:r=Le,signal:o}={}){let a=await S(`${F}/gene/id/${e}/orthologs?returned_content=COMPLETE`,{signal:o}),i=new Map;for(let{gene:c}of a.reports??[]){let s=Number(c?.tax_id);if(c?.gene_id&&s!==n&&(t?.has(s)??!0)&&!i.has(s)&&i.set(s,{taxId:s,geneId:c.gene_id,scientificName:c.taxname??String(s),commonName:c.common_name}),i.size>=r)break}return[...i.values()]}var le=150;async function ge(e,t){let n=new Map;for(let r=0;r<e.length;r+=le){let o=e.slice(r,r+le),a=await S(`${F}/gene/id/${o.join(",")}/product_report?page_size=${o.length}`,{signal:t});for(let{product:i}of a.reports??[]){let c=(i?.transcripts??[]).map(u=>({acc:u.protein?.accession_version,len:u.protein?.length??0,mane:/select/i.test(u.select_category??"")})).filter(u=>!!u.acc),s=c.find(u=>u.mane)??[...c].sort((u,d)=>d.len-u.len).at(0);i?.gene_id&&s&&n.set(i.gene_id,s.acc)}}return n}function fe(e){let t=new Map,n,r=[];for(let o of e.split(`
2
2
  `))o.startsWith(">")?(n&&t.set(n,r.join("")),n=o.slice(1).split(/\s+/)[0],r=[]):r.push(o.trim());return n&&t.set(n,r.join("")),t}function qe(e){return e.replace(/[^A-Za-z0-9]+/g,"_").replace(/^_+|_+$/g,"")}function Ue(e){let t=new Set;return e.map(n=>{let r=qe(n)||"row",o=r,a=1;for(;t.has(o);)a+=1,o=`${r}_${a}`;return t.add(o),o})}async function Ct(e,t){let n=(await ge([e],t)).get(e);if(!n)return;let r=fe(await B(_({db:"protein",id:n,rettype:"fasta",retmode:"text"}),{signal:t})).get(n);return r?{accession:n,sequence:r}:void 0}async function Tt({geneId:e,taxa:t,exclude:n,limit:r,onProgress:o,signal:a}){o("Finding orthologs across species...");let i=await Ve(e,{taxa:t,exclude:n,limit:r,signal:a});if(i.length<2)throw new Error(`Only ${i.length} ortholog(s) found for this gene \u2014 not enough to align`);o("Selecting a representative protein per species...");let c=await ge(i.map(m=>m.geneId),a),s=i.filter(m=>c.has(m.geneId));if(s.length<2)throw new Error("Could not resolve representative proteins for the orthologs");o(`Fetching ${s.length} protein sequences...`);let u=s.map(m=>c.get(m.geneId)),[d,h]=ue({db:"protein",id:u.join(","),rettype:"fasta",retmode:"text"}),l=fe(await B(d,{...h,signal:a})),p=Ue(s.map(m=>m.commonName??m.scientificName)),w=s.map((m,b)=>{let g=c.get(m.geneId);return{taxId:m.taxId,label:p[b],scientificName:m.scientificName,commonName:m.commonName,geneId:m.geneId,protein:g,sequence:l.get(g)??""}}).filter(m=>m.sequence);if(w.length<2)throw new Error("Could not fetch protein sequences for the orthologs");return w}var V=(e,t)=>t.some(n=>e instanceof n),he,pe;function We(){return he||(he=[IDBIndex,IDBObjectStore,IDBCursor,IDBDatabase,IDBTransaction])}function ze(){return pe||(pe=["advance","continue","continuePrimaryKey"].map(e=>IDBCursor.prototype[e]))}var q=new WeakMap,v=new WeakMap,R=new WeakMap;function Xe(e){let t=new Promise((n,r)=>{let o=()=>{e.removeEventListener("success",a),e.removeEventListener("error",i)},a=()=>{n(y(e.result)),o()},i=()=>{r(e.error),o()};e.addEventListener("success",a),e.addEventListener("error",i)});return R.set(t,e),t}function Ke(e){if(q.has(e))return;let t=new Promise((n,r)=>{let o=()=>{e.removeEventListener("complete",a),e.removeEventListener("error",i),e.removeEventListener("abort",i)},a=()=>{n(),o()},i=()=>{r(e.error||new DOMException("AbortError","AbortError")),o()};e.addEventListener("complete",a),e.addEventListener("error",i),e.addEventListener("abort",i)});q.set(e,t)}var U={get(e,t,n){if(e instanceof IDBTransaction){if(t==="done")return q.get(e);if(t==="store")return n.objectStoreNames[1]?void 0:n.objectStore(n.objectStoreNames[0])}return y(e[t])},set(e,t,n){return e[t]=n,!0},has(e,t){return e instanceof IDBTransaction&&(t==="done"||t==="store")?!0:t in e}};function ye(e){U=e(U)}function He(e){return ze().includes(e)?function(...t){return e.apply(W(this),t),y(this.request)}:function(...t){return y(e.apply(W(this),t))}}function Je(e){return typeof e=="function"?He(e):(e instanceof IDBTransaction&&Ke(e),V(e,We())?new Proxy(e,U):e)}function y(e){if(e instanceof IDBRequest)return Xe(e);if(v.has(e))return v.get(e);let t=Je(e);return Object.is(t,e)||(v.set(e,t),R.set(t,e)),t}var W=e=>R.get(e);function Se(e,t,{blocked:n,upgrade:r,blocking:o,terminated:a}={}){let i=indexedDB.open(e,t),c=y(i);return r&&i.addEventListener("upgradeneeded",s=>{r(y(i.result),s.oldVersion,s.newVersion,y(i.transaction),s)}),n&&i.addEventListener("blocked",s=>n(s.oldVersion,s.newVersion,s)),c.then(s=>{a&&s.addEventListener("close",()=>a()),o&&s.addEventListener("versionchange",u=>o(u.oldVersion,u.newVersion,u))}).catch(()=>{}),c}var Qe=["get","getKey","getAll","getAllKeys","count"],Ze=["put","add","delete","clear"],G={};function be(e,t){if(!(e instanceof IDBDatabase&&!(t in e)&&typeof t=="string"))return;if(G[t])return G[t];let n=t.replace(/FromIndex$/,""),r=t!==n,o=Ze.includes(n);if(!(n in(r?IDBIndex:IDBObjectStore).prototype)||!(o||Qe.includes(n)))return;let a=async function(i,...c){let s=this.transaction(i,o?"readwrite":"readonly"),u=s.store;return r&&(u=u.index(c.shift())),(await Promise.all([u[n](...c),o&&s.done]))[0]};return G[t]=a}ye(e=>({...e,get:(t,n,r)=>be(t,n)||e.get(t,n,r),has:(t,n)=>!!be(t,n)||e.has(t,n)}));var Ye=["advance","continue","continuePrimaryKey"],xe={},z=new WeakMap,De=new WeakMap,et={get(e,t){if(!Ye.includes(t))return e[t];let n=xe[t];return n||(n=xe[t]=function(...r){z.set(this,De.get(this)[t](...r))}),n}};async function*tt(...e){let t=this;if(t instanceof IDBCursor||(t=await t.openCursor(...e)),!t)return;t=t;let n=new Proxy(t,et);for(De.set(n,t),R.set(n,W(t));t;)yield n,t=await(z.get(n)||t.continue()),z.delete(n)}function we(e,t){return t===Symbol.asyncIterator&&V(e,[IDBIndex,IDBObjectStore,IDBCursor])||t==="iterate"&&V(e,[IDBIndex,IDBObjectStore])}ye(e=>({...e,get(t,n,r){return we(t,n)?tt:e.get(t,n,r)},has(t,n){return we(t,n)||e.has(t,n)}}));function $(e,t,n){let r,o=()=>{r=void 0};return()=>(r??=new Promise((a,i)=>{let c=!1;Se(e,t,{upgrade:n,blocked(s){c=!0,i(new Error(`${e} is held open at version ${s} by another tab`))},blocking(s,u,d){d.target.close(),o()},terminated:o}).then(s=>{c?s.close():a(s)},i)}).catch(a=>{throw o(),a}),r)}async function C(e,t,n){try{return await t()}catch(r){return console.warn(`[msaview] ${e} failed, continuing without it:`,r),n}}var nt="jbrowse-msaview-blast-cache",f="blast-results",rt=2,Ie=50,X=$(nt,rt,(e,t)=>{t<2&&e.objectStoreNames.contains(f)&&e.deleteObjectStore(f),e.objectStoreNames.contains(f)||e.createObjectStore(f,{keyPath:"id"})});function ot({proteinSequence:e,blastDatabase:t,msaAlgorithm:n,searchProgram:r,transcriptId:o,maxHits:a}){let i=o?`:${o}`:"",c=a===void 0||a===Y?"":`:n${a}`;return r==="phmmer"?`phmmer:${t}${i}${c}:${e}`:`${t}:${n}${i}${c}:${e}`}function Rt({proteinSequence:e,blastDatabase:t,msaAlgorithm:n,searchProgram:r,maxHits:o,msa:a,tree:i,treeMetadata:c,rid:s,geneId:u,transcriptId:d,transcriptName:h,geneName:l}){return C("BLAST history write",async()=>{let p=await X(),w={id:ot({proteinSequence:e,blastDatabase:t,msaAlgorithm:n,searchProgram:r,transcriptId:d,maxHits:o}),proteinSequence:e,blastDatabase:t,msaAlgorithm:n,searchProgram:r,maxHits:o,msa:a,tree:i,treeMetadata:c,rid:s,timestamp:Date.now(),geneId:u,transcriptId:d,transcriptName:h,geneName:l};return await p.put(f,w),await st(p),w},void 0)}async function st(e){try{if(await e.count(f)<=Ie)return;let t=await e.getAll(f),n=t.toSorted((o,a)=>o.timestamp-a.timestamp).slice(0,t.length-Ie),r=e.transaction(f,"readwrite");await Promise.all([...n.map(o=>r.store.delete(o.id)),r.done])}catch(t){console.warn("Failed to evict old BLAST cache entries:",t)}}async function $t(){return(await(await X()).getAll(f)).toSorted((n,r)=>r.timestamp-n.timestamp)}async function Ot(e){await(await X()).delete(f,e)}var it="jbrowse-msaview-taxonomy-cache",T="common-names",at=2,Ce=$(it,at,e=>{e.objectStoreNames.contains(T)&&e.deleteObjectStore(T),e.createObjectStore(T,{keyPath:"taxid"})});function ct(e){return C("taxonomy cache read",async()=>{let n=(await Ce()).transaction(T,"readonly"),r=await Promise.all(e.map(o=>n.store.get(o)));return await n.done,r},[])}function Be(e){return C("taxonomy cache write",async()=>{let n=(await Ce()).transaction(T,"readwrite");for(let r of e)await n.store.put(r);await n.done},void 0)}async function vt(e,t,n){let r=[...new Set(e)],o=new Map,a=[],i=await ct(r);for(let u=0;u<r.length;u++){let d=r[u],h=i[u];h?o.set(d,{sciname:h.sciname,commonName:h.commonName}):a.push(d)}if(a.length===0)return o;let c=100,s=[];for(let u=0;u<a.length;u+=c){let d=a.slice(u,u+c),h=d.join(",");try{let l=await B(_({db:"taxonomy",id:h,retmode:"xml"}),{signal:t}),p=new Map,w=/<Taxon>\s*<TaxId>(\d+)<\/TaxId>/g,m;for(;(m=w.exec(l))!==null;){let b=Number(m[1]),g=m.index,D=1,x=g+m[0].length;for(;D>0&&x<l.length;){let O=l.indexOf("<Taxon>",x),j=l.indexOf("</Taxon>",x);if(j===-1)break;O!==-1&&O<j?(D++,x=O+7):(D--,x=j+8)}let N=l.slice(g,x),I=p.get(b),P=N.includes("<LineageEx>"),E=I?.includes("<LineageEx>");(!I||P&&!E)&&p.set(b,N)}for(let b of d){let g=p.get(b);if(g){let D=/<GenbankCommonName>(.*?)<\/GenbankCommonName>/.exec(g),x=/<CommonName>(.*?)<\/CommonName>/.exec(g),N=/<ScientificName>(.*?)<\/ScientificName>/.exec(g),I=D?.[1]??x?.[1],P=I&&k(I),E=k(N?.[1]??"");o.set(b,{sciname:E,commonName:P}),s.push({taxid:b,sciname:E,commonName:P})}}}catch(l){if(Z(l))throw await Be(s),l;console.error("Failed to fetch taxonomy data:",l),n?.(l)}}return s.length>0&&await Be(s),o}export{ut as a,Ee as b,ee as c,mt as d,dt as e,Ae as f,_e as g,lt as h,gt as i,ft as j,ht as k,Re as l,xt as m,$ as n,C as o,Rt as p,$t as q,Ot as r,L as s,_ as t,B as u,de as v,k as w,Le as x,ke as y,Bt as z,Ue as A,Ct as B,Tt as C,vt as D};
3
- //# sourceMappingURL=chunk-BAM67QHH.js.map
3
+ //# sourceMappingURL=chunk-2XCUSA22.js.map
@@ -1,2 +1,2 @@
1
1
  import{a}from"./chunk-FY3BTKY4.js";var i=a((p,c)=>{c.exports=JBrowseExports["@jbrowse/core/util/tss-react"]});function n(t){let o=navigator.clipboard;if(o?.writeText){o.writeText(t).catch(r=>{console.error("Failed to copy to clipboard:",r)});return}let e=document.createElement("textarea");e.value=t,e.style.position="fixed",e.style.opacity="0",document.body.append(e),e.select(),document.execCommand("copy"),e.remove()}export{i as a,n as b};
2
- //# sourceMappingURL=chunk-JF6CW6MO.js.map
2
+ //# sourceMappingURL=chunk-35FWLG3N.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["global-externals:@jbrowse/core/util/tss-react", "../../node_modules/.pnpm/react-msaview@9.1.0_3e54acfe76b6ad0d26e91cd532b7f775/node_modules/react-msaview/src/vendor/copyToClipboard.ts"],
3
+ "sources": ["global-externals:@jbrowse/core/util/tss-react", "../../node_modules/.pnpm/react-msaview@9.1.0_a4121c98828e538e8b3708814bbfe622/node_modules/react-msaview/src/vendor/copyToClipboard.ts"],
4
4
  "sourcesContent": ["module.exports = JBrowseExports[\"@jbrowse/core/util/tss-react\"];", "export default function copy(text: string) {\n const clip = navigator.clipboard as Clipboard | undefined\n if (clip?.writeText) {\n clip.writeText(text).catch((e: unknown) => {\n console.error('Failed to copy to clipboard:', e)\n })\n return\n }\n const textarea = document.createElement('textarea')\n textarea.value = text\n textarea.style.position = 'fixed'\n textarea.style.opacity = '0'\n document.body.append(textarea)\n textarea.select()\n document.execCommand('copy')\n textarea.remove()\n}\n"],
5
5
  "mappings": "mCAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,CAAAA,EAAO,QAAU,eAAe,8BAA8B,ICAhD,SAAPC,EAAsBC,EAAY,CACvC,IAAMC,EAAO,UAAU,UACvB,GAAIA,GAAM,UAAW,CACnBA,EAAK,UAAUD,CAAI,EAAE,MAAOE,GAAc,CACxC,QAAQ,MAAM,+BAAgCA,CAAC,CACjD,CAAC,EACD,MACF,CACA,IAAMC,EAAW,SAAS,cAAc,UAAU,EAClDA,EAAS,MAAQH,EACjBG,EAAS,MAAM,SAAW,QAC1BA,EAAS,MAAM,QAAU,IACzB,SAAS,KAAK,OAAOA,CAAQ,EAC7BA,EAAS,OAAM,EACf,SAAS,YAAY,MAAM,EAC3BA,EAAS,OAAM,CACjB",
6
6
  "names": ["require_tss_react", "__commonJSMin", "exports", "module", "copy", "text", "clip", "e", "textarea"]
@@ -1,2 +1,2 @@
1
1
  function n(c,o){let t=URL.createObjectURL(c),e=document.createElement("a");e.href=t,e.download=o,e.click(),setTimeout(()=>{URL.revokeObjectURL(t)},4e4)}export{n as a};
2
- //# sourceMappingURL=chunk-NWHZOZMG.js.map
2
+ //# sourceMappingURL=chunk-5OSSOQH4.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../node_modules/.pnpm/react-msaview@9.1.0_3e54acfe76b6ad0d26e91cd532b7f775/node_modules/react-msaview/src/vendor/fileSaver.ts"],
3
+ "sources": ["../../node_modules/.pnpm/react-msaview@9.1.0_a4121c98828e538e8b3708814bbfe622/node_modules/react-msaview/src/vendor/fileSaver.ts"],
4
4
  "sourcesContent": ["export function saveAs(blob: Blob, name: string) {\n const url = URL.createObjectURL(blob)\n const a = document.createElement('a')\n a.href = url\n a.download = name\n a.click()\n setTimeout(() => {\n URL.revokeObjectURL(url)\n }, 40_000)\n}\n"],
5
5
  "mappings": "AAAM,SAAUA,EAAOC,EAAYC,EAAY,CAC7C,IAAMC,EAAM,IAAI,gBAAgBF,CAAI,EAC9BG,EAAI,SAAS,cAAc,GAAG,EACpCA,EAAE,KAAOD,EACTC,EAAE,SAAWF,EACbE,EAAE,MAAK,EACP,WAAW,IAAK,CACd,IAAI,gBAAgBD,CAAG,CACzB,EAAG,GAAM,CACX",
6
6
  "names": ["saveAs", "blob", "name", "url", "a"]
@@ -1,2 +1,2 @@
1
- import{b as n}from"./chunk-JF6CW6MO.js";import{a as f}from"./chunk-BX4Z274Q.js";import{a as p}from"./chunk-J6KYLXRD.js";import{b as i}from"./chunk-FY3BTKY4.js";var e=i(p(),1),c=i(f(),1);function m({text:t,label:u="Copy to clipboard"}){let[a,r]=(0,e.useState)(!1),o=(0,e.useRef)(void 0);return(0,e.useEffect)(()=>()=>{clearTimeout(o.current)},[]),e.default.createElement(c.Button,{variant:"contained",color:"primary",onClick:()=>{n(typeof t=="string"?t:t()),r(!0),clearTimeout(o.current),o.current=setTimeout(()=>{r(!1)},500)}},a?"Copied!":u)}export{m as a};
2
- //# sourceMappingURL=chunk-FEUZKN5V.js.map
1
+ import{b as n}from"./chunk-35FWLG3N.js";import{a as f}from"./chunk-BX4Z274Q.js";import{a as p}from"./chunk-J6KYLXRD.js";import{b as i}from"./chunk-FY3BTKY4.js";var e=i(p(),1),c=i(f(),1);function m({text:t,label:u="Copy to clipboard"}){let[a,r]=(0,e.useState)(!1),o=(0,e.useRef)(void 0);return(0,e.useEffect)(()=>()=>{clearTimeout(o.current)},[]),e.default.createElement(c.Button,{variant:"contained",color:"primary",onClick:()=>{n(typeof t=="string"?t:t()),r(!0),clearTimeout(o.current),o.current=setTimeout(()=>{r(!1)},500)}},a?"Copied!":u)}export{m as a};
2
+ //# sourceMappingURL=chunk-666BV764.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["../../node_modules/.pnpm/react-msaview@9.1.0_3e54acfe76b6ad0d26e91cd532b7f775/node_modules/react-msaview/src/components/CopyButton.tsx"],
3
+ "sources": ["../../node_modules/.pnpm/react-msaview@9.1.0_a4121c98828e538e8b3708814bbfe622/node_modules/react-msaview/src/components/CopyButton.tsx"],
4
4
  "sourcesContent": ["import React, { useEffect, useRef, useState } from 'react'\n\nimport { Button } from '@mui/material'\n\nimport copy from '../vendor/copyToClipboard.ts'\n\n/**\n * Copy-to-clipboard button that confirms on the label for a moment. The timer is\n * cleared on unmount, since these live in dialogs the copy itself often closes.\n */\nexport default function CopyButton({\n text,\n label = 'Copy to clipboard',\n}: {\n text: string | (() => string)\n label?: string\n}) {\n const [copied, setCopied] = useState(false)\n const timer = useRef<ReturnType<typeof setTimeout>>(undefined)\n\n useEffect(\n () => () => {\n clearTimeout(timer.current)\n },\n [],\n )\n\n return (\n <Button\n variant=\"contained\"\n color=\"primary\"\n onClick={() => {\n copy(typeof text === 'string' ? text : text())\n setCopied(true)\n clearTimeout(timer.current)\n timer.current = setTimeout(() => {\n setCopied(false)\n }, 500)\n }}\n >\n {copied ? 'Copied!' : label}\n </Button>\n )\n}\n"],
5
5
  "mappings": "gKAAA,IAAAA,EAAmD,SAEnDC,EAAuB,SAQT,SAAPC,EAA4B,CACjC,KAAAC,EACA,MAAAC,EAAQ,mBAAmB,EAI5B,CACC,GAAM,CAACC,EAAQC,CAAS,KAAI,YAAS,EAAK,EACpCC,KAAQ,UAAsC,MAAS,EAE7D,sBACE,IAAM,IAAK,CACT,aAAaA,EAAM,OAAO,CAC5B,EACA,CAAA,CAAE,EAIF,EAAAC,QAAA,cAAC,SAAM,CACL,QAAQ,YACR,MAAM,UACN,QAAS,IAAK,CACZC,EAAK,OAAON,GAAS,SAAWA,EAAOA,EAAI,CAAE,EAC7CG,EAAU,EAAI,EACd,aAAaC,EAAM,OAAO,EAC1BA,EAAM,QAAU,WAAW,IAAK,CAC9BD,EAAU,EAAK,CACjB,EAAG,GAAG,CACR,CAAC,EAEAD,EAAS,UAAYD,CAAK,CAGjC",
6
6
  "names": ["import_react", "import_material", "CopyButton", "text", "label", "copied", "setCopied", "timer", "React", "copy"]
@@ -1,2 +1,2 @@
1
- import{c as o,d as r}from"./chunk-IBBQUV2I.js";import{a as c,b as e}from"./chunk-FY3BTKY4.js";var m=c((l,s)=>{s.exports=JBrowseExports["@jbrowse/core/util/io"]});var t=e(r(),1),x=(0,o.createSvgIcon)((0,t.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 p=e(r(),1),d=(0,o.createSvgIcon)((0,p.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore");export{d as a,x as b,m as c};
2
- //# sourceMappingURL=chunk-YUKJI2AH.js.map
1
+ import{c as o,d as r}from"./chunk-KSCGTF4R.js";import{a as c,b as e}from"./chunk-FY3BTKY4.js";var m=c((l,s)=>{s.exports=JBrowseExports["@jbrowse/core/util/io"]});var t=e(r(),1),x=(0,o.createSvgIcon)((0,t.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 p=e(r(),1),d=(0,o.createSvgIcon)((0,p.jsx)("path",{d:"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z"}),"ExpandMore");export{d as a,x as b,m as c};
2
+ //# sourceMappingURL=chunk-AQ2THRTR.js.map
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "version": 3,
3
- "sources": ["global-externals:@jbrowse/core/util/io", "../../node_modules/.pnpm/@mui+icons-material@9.4.0_@mui+material@9.4.0_@emotion+react@11.14.0_@types+react@19.3._3766ec55733e6b150ee672ad270cc236/node_modules/@mui/icons-material/Help.mjs", "../../node_modules/.pnpm/@mui+icons-material@9.4.0_@mui+material@9.4.0_@emotion+react@11.14.0_@types+react@19.3._3766ec55733e6b150ee672ad270cc236/node_modules/@mui/icons-material/ExpandMore.mjs"],
3
+ "sources": ["global-externals:@jbrowse/core/util/io", "../../node_modules/.pnpm/@mui+icons-material@9.5.0_@mui+material@9.5.0_@emotion+react@11.14.0_@types+react@19.3._abf953b0c56c79ebdc461ec953894a27/node_modules/@mui/icons-material/Help.mjs", "../../node_modules/.pnpm/@mui+icons-material@9.5.0_@mui+material@9.5.0_@emotion+react@11.14.0_@types+react@19.3._abf953b0c56c79ebdc461ec953894a27/node_modules/@mui/icons-material/ExpandMore.mjs"],
4
4
  "sourcesContent": ["module.exports = JBrowseExports[\"@jbrowse/core/util/io\"];", "\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n 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\"\n}), 'Help');", "\"use client\";\n\nimport createSvgIcon from \"./utils/createSvgIcon.mjs\";\nimport { jsx as _jsx } from \"react/jsx-runtime\";\nexport default createSvgIcon(/*#__PURE__*/_jsx(\"path\", {\n d: \"M16.59 8.59 12 13.17 7.41 8.59 6 10l6 6 6-6z\"\n}), 'ExpandMore');"],
5
5
  "mappings": "8FAAA,IAAAA,EAAAC,EAAA,CAAAC,EAAAC,IAAA,CAAAA,EAAO,QAAU,eAAe,uBAAuB,ICGvD,IAAAC,EAA4B,SACrBC,KAAQ,oBAA2B,EAAAC,KAAK,OAAQ,CACrD,EAAG,yQACL,CAAC,EAAG,MAAM,ECHV,IAAAC,EAA4B,SACrBC,KAAQ,oBAA2B,EAAAC,KAAK,OAAQ,CACrD,EAAG,8CACL,CAAC,EAAG,YAAY",
6
6
  "names": ["require_io", "__commonJSMin", "exports", "module", "import_jsx_runtime", "Help_default", "_jsx", "import_jsx_runtime", "ExpandMore_default", "_jsx"]
@@ -1,2 +1,2 @@
1
- import{L as St,M as kt,Q as ee,R as Tt,S as ve,T as Mt,U as Ct,V as We,W as Rt,X as Lt,Y as Et,a as yt,j as vt,l as xt}from"./chunk-OVAXNTPN.js";import{b as ye,d as bt,e as wt}from"./chunk-73KAPCJ2.js";import{a as qn}from"./chunk-BX4Z274Q.js";import{a as le}from"./chunk-J6KYLXRD.js";import{a as $e,b as V}from"./chunk-FY3BTKY4.js";var Ht=$e((co,At)=>{At.exports=JBrowseExports.mobx});var Wn=$e((ua,$n)=>{$n.exports=JBrowseExports["react-dom"]});var Nn=$e((ha,Dn)=>{Dn.exports=JBrowseExports["react-dom/client"]});var x=V(le(),1),Un=V(Ht(),1);function De({model:e,offsetY:t,blockSizeY:n}){let{rowHeight:r}=e;return{yStart:Math.max(0,Math.floor((t-r)/r)),yEnd:Math.max(0,Math.ceil((t+n+r)/r))}}function I({model:e,offsetY:t,blockSizeY:n}){let{yStart:r,yEnd:o}=De({model:e,offsetY:t,blockSizeY:n});return e.leaves.slice(r,o)}var j=V(le(),1);var ce=V(le(),1),Ft=V(qn(),1);var te=V(le(),1);function zt(e,t){let n=(0,te.useRef)(!1),[r,o]=(0,te.useState)();return(0,te.useEffect)(()=>{if(r!==void 0){let s=function(c){n.current||(n.current=!0,requestAnimationFrame(()=>{let u=e==="x"?c.clientX:c.clientY;t(u-i,a),n.current=!1}))},l=function(){o(void 0)},{client:i,startScroll:a}=r;return document.addEventListener("mousemove",s),document.addEventListener("mouseup",l),()=>{document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",l)}}},[e,t,r]),{dragging:r!==void 0,startDrag:(i,a)=>{o({client:e==="x"?i.clientX:i.clientY,startScroll:a})}}}var Se="rgba(66,119,127,0.3)",xe=4,Zn={thumb:{fill:()=>Se,fillHovered:()=>"rgba(66,119,127,0.6)",cursor:()=>"pointer",position:"absolute",zIndex:100},resizer:{fill:e=>e.palette.mode==="dark"?e.palette.grey[800]:"rgba(200,200,200)",fillHovered:e=>e.palette.mode==="dark"?e.palette.grey[600]:"rgba(150,150,150)",cursor:e=>e==="x"?"ew-resize":"ns-resize",position:"relative"}};function Jn({axis:e,variant:t,getStart:n,onDrag:r,style:o}){let i=(0,Ft.useTheme)(),[a,s]=(0,ce.useState)(!1),{startDrag:l}=zt(e,r),{fill:c,fillHovered:u,cursor:f,position:h,zIndex:d}=Zn[t];return ce.default.createElement("div",{...t==="resizer"&&{role:"separator","aria-orientation":e==="x"?"vertical":"horizontal"},onMouseEnter:()=>{s(!0)},onMouseLeave:()=>{s(!1)},onMouseDown:p=>{l(p,n())},style:{position:h,zIndex:d,cursor:f(e),background:a?u(i):c(i),...o}},t==="resizer"?ce.default.createElement("div",{style:{position:"absolute",zIndex:101,...e==="x"?{top:0,bottom:0,left:-xe,right:-xe}:{left:0,right:0,top:-xe,bottom:-xe}}}):null)}function ke(e){let{dynamicColorSchemeName:t}=e;if(t==="clustalx_protein_dynamic"){let{colClustalX:r}=e;return(o,i)=>r[o][i]}if(t==="percent_identity_dynamic"){let{colConsensus:r}=e;return(o,i)=>{let a=r[o];return i===a.letter?a.color:void 0}}let{colorScheme:n}=e;return(r,o)=>n[o]}function Bt(e){let{dynamicColorSchemeName:t}=e;return t==="clustalx_protein_dynamic"?e.colClustalX:t==="percent_identity_dynamic"?e.colConsensus:e.colorScheme}var ne=512,Kn=64,Qn=2e3,Yn=4096,fe=new Uint8Array(new Uint32Array([1]).buffer)[0]===1;function Wt(e,t,n,r){return fe?(r<<24|n<<16|t<<8|e)>>>0:(e<<24|t<<16|n<<8|r)>>>0}var J,Te=new Map;function er(e){let t=Te.get(e);if(t!==void 0)return t;J===void 0&&(J=Ge(1,1)?.ctx??null);let n=0;if(J){J.clearRect(0,0,1,1),J.fillStyle=e,J.fillRect(0,0,1,1);let[r=0,o=0,i=0,a=0]=J.getImageData(0,0,1,1).data;n=Wt(r,o,i,a)}return Te.size>=Yn&&Te.clear(),Te.set(e,n),n}function Dt(e,t){let{columns:n,relativeTo:r,colorAt:o,bg:i,hover:a}=e,s=t(i),l=t(a),c=r?n.get(r):void 0;return(u,f,h)=>{if(c&&u!==r&&h===c[f])return l;let d=o(f,h);return d===void 0?s:t(d)}}function Ne({spec:e,col0:t,row0:n,width:r,height:o,colStep:i=1,rowStep:a=1,colSpan:s=1,rowSpan:l=1,toPixel:c=er,out:u=new Uint32Array(r*o)}){if(s>1||l>1)return tr({spec:e,col0:t,row0:n,width:r,height:o,colSpan:s,rowSpan:l,toPixel:c,out:u}),u;let{rowNames:f,columns:h}=e,d=Dt(e,c);for(let p=0;p<o;p++){let m=f[n+p*a];if(m===void 0)break;let g=h.get(m);if(!g)continue;let w=p*r;for(let b=0;b<r;b++){let v=t+b*i,y=g[v];if(y===void 0)break;u[w+b]=d(m,v,y)}}return u}function tr({spec:e,col0:t,row0:n,width:r,height:o,colSpan:i,rowSpan:a,toPixel:s,out:l}){let{rowNames:c,columns:u}=e,f=Dt(e,s),h=i*a,d=fe?0:24,p=fe?8:16,m=fe?16:8,g=fe?24:0,w=[],b=[];for(let v=0;v<o;v++){w.length=0,b.length=0;for(let S=0;S<a;S++){let k=c[n+v*a+S],T=k===void 0?void 0:u.get(k);k!==void 0&&T&&(w.push(k),b.push(T))}let y=v*r;for(let S=0;S<r;S++){let k=0,T=0,M=0,C=0;for(let R=0;R<b.length;R++){let B=b[R],N=w[R];for(let F=0;F<i;F++){let _=t+S*i+F,G=B[_];if(G===void 0)break;let O=f(N,_,G),L=O>>>g&255;k+=(O>>>d&255)*L,T+=(O>>>p&255)*L,M+=(O>>>m&255)*L,C+=L}}l[y+S]=C===0?0:Wt(Math.round(k/C),Math.round(T/C),Math.round(M/C),Math.round(C/h))}}}function nr(e){let t=e;return!!t&&typeof t.createImageData=="function"&&typeof t.putImageData=="function"&&typeof t.getImageData=="function"&&typeof t.clearRect=="function"&&typeof t.fillRect=="function"}function _e(e,t,n,r){let o=typeof OffscreenCanvas<"u"?new OffscreenCanvas(e,t):typeof document<"u"?Object.assign(document.createElement("canvas"),{width:e,height:t}):void 0,i=o?.getContext("2d",r);return n(i)?{canvas:o,ctx:i}:void 0}function Ge(e,t){return _e(e,t,nr,{willReadFrequently:!0})}function Xe(e,t,n){let r=Ge(e,t);if(!r)return;let o=r.ctx.createImageData(e,t);return n(new Uint32Array(o.data.buffer)),r.ctx.putImageData(o,0,0),r.canvas}var Ot;function Nt(e){return Ot??=!!Ge(1,1),!e.actuallyShowDomains&&e.bgColor&&Ot}var Pt=new WeakMap;function rr(e,t){return[e.columns,e.leaves,e.colorSchemeName,e.customColorScheme,Bt(e),e.relativeTo,t.palette.action.hover,t.palette.background.default]}function Ve(e,t){let n=rr(e,t),r=Pt.get(e);if(r&&n.every((i,a)=>i===r.keys[a]))return r;let o={keys:n,spec:{rowNames:e.leaves.map(i=>i.data.name),columns:e.columns,relativeTo:e.relativeTo,colorAt:ke(e),bg:t.palette.background.default,hover:t.palette.action.hover},numColumns:e.numColumns,numRows:e.numRows,tiles:new Map};return Pt.set(e,o),o}function It(e){return e>=1?1:2**Math.ceil(Math.log2(1/e))}function or({cache:e,tileRow:t,tileCol:n,colSpan:r,rowSpan:o}){let i=`${r}_${o}_${t}_${n}`,a=e.tiles.get(i);if(a)return e.tiles.delete(i),e.tiles.set(i,a),a;let s=n*ne*r,l=t*ne*o,c=Math.min(ne,Math.ceil((e.numColumns-s)/r)),u=Math.min(ne,Math.ceil((e.numRows-l)/o));if(c<=0||u<=0)return;let f=Xe(c,u,h=>{Ne({spec:e.spec,col0:s,row0:l,width:c,height:u,colSpan:r,rowSpan:o,out:h})});if(f){e.tiles.set(i,f);for(let h of e.tiles.keys()){if(e.tiles.size<=Kn)break;e.tiles.delete(h)}return f}}function bo({ctx:e,model:t,theme:n,offsetX:r,offsetY:o}){let{colWidth:i,rowHeight:a,blockSize:s,highResScaleFactor:l}=t,c=Ve(t,n),u=It(i*l),f=It(a*l);e.resetTransform(),e.scale(l,l),e.translate(-r,-o),e.imageSmoothingEnabled=!1;let h=i*u,d=a*f,p=ne*h,m=ne*d,g=Math.max(0,Math.floor(r/p)),w=Math.floor((r+s)/p),b=Math.max(0,Math.floor(o/m)),v=Math.floor((o+s)/m);for(let y=b;y<=v;y++)for(let S=g;S<=w;S++){let k=or({cache:c,tileRow:y,tileCol:S,colSpan:u,rowSpan:f});k&&e.drawImage(k,0,0,k.width,k.height,S*p,y*m,k.width*h,k.height*d)}e.resetTransform(),e.imageSmoothingEnabled=!0}function Ue(e){if(e)try{if("toDataURL"in e&&typeof e.toDataURL=="function")return e.toDataURL("image/png");if(typeof document>"u")return;let t=document.createElement("canvas");t.width=e.width,t.height=e.height;let n=t.getContext("2d");return typeof n?.drawImage!="function"?void 0:(n.drawImage(e,0,0),t.toDataURL("image/png"))}catch{return}}var ir=64e6,$t=16384;function _t({model:e,theme:t,col0:n,row0:r,numCols:o,numRows:i}){if(o<=0||i<=0||typeof document>"u")return;let a=Ve(e,t),s=1,l=1;for(;Math.ceil(o/s)>$t;)s*=2;for(;Math.ceil(i/l)>$t;)l*=2;for(;Math.ceil(o/s)*Math.ceil(i/l)>ir;)o/s>=i/l?s*=2:l*=2;let c=Math.ceil(o/s),u=Math.ceil(i/l);return Ue(Xe(c,u,f=>{Ne({spec:a.spec,col0:n,row0:r,width:c,height:u,colSpan:s,rowSpan:l,out:f})}))}function Gt({model:e,theme:t,height:n}){let r=Ve(e,t),{numColumns:o,numRows:i}=r;if(!(o<=0||i<=0)){if(r.thumbnail?.height!==n){let a=Math.max(1,Math.ceil(o/Qn)),s=Math.max(1,Math.ceil(i/n)),l=Math.ceil(o/a),c=Math.ceil(i/s);r.thumbnail={height:n,canvas:Xe(l,c,u=>{Ne({spec:r.spec,col0:0,row0:0,width:l,height:c,colStep:a,rowStep:s,out:u})})}}return r.thumbnail.canvas}}function Xt(e){let{scrollX:t,minimapHeight:n,totalWidth:r,msaCanvasWidth:o}=e,i=r>0?o/r:0,a=-t*i,s=Math.min(o,Math.max(o*i,20)),l=n-12,c=`${a+s},0 ${a},0 0,${l} ${o},${l}`;return{unit:i,s:a,w:s,polygonHeight:l,polygonPoints:c}}function je({model:e,theme:t}){let{msaCanvasWidth:n}=e,{s:r,w:o,polygonPoints:i}=Xt(e),a=Ue(Gt({model:e,theme:t,height:12}));return j.default.createElement(j.default.Fragment,null,a?j.default.createElement("image",{href:a,x:0,y:0,width:n,height:12,preserveAspectRatio:"none"}):null,j.default.createElement("rect",{x:0,y:0,width:n,height:12,stroke:t.palette.text.secondary,fill:"none"}),j.default.createElement("rect",{x:Math.max(0,r),y:0,width:o,height:12,fill:Se,stroke:t.palette.text.secondary}),j.default.createElement("g",{transform:`translate(0 ${12})`},j.default.createElement("polygon",{fill:Se,points:i})))}for(Kt={grad:.9,turn:360,rad:360/(2*Math.PI)},$=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},A=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n+0},z=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e>t?e:t},et=function(e){return(e=isFinite(e)?e%360:0)<0?e+360:e},Re=function(e,t){return t===void 0&&(t=0),A(e,t)%360},Je=function(e){return{r:z(e.r,0,255),g:z(e.g,0,255),b:z(e.b,0,255),a:z(e.a)}},Ce=function(e){return{r:A(e.r),g:A(e.g),b:A(e.b),a:A(e.a,3)}},Qt=/^#([0-9a-f]{3,8})$/i,K=function(e,t){var n=e.charCodeAt(t);return(15&n)+9*(n>>6)},de=function(e,t){return K(e,t)<<4|K(e,t+1)},Ke=[],he=0;he<256;he++)Ke.push((he<16?"0":"")+he.toString(16));var Kt,$,A,z,et,Re,Je,Ce,Qt,K,de,Ke,he,Me=function(e){return Ke[z(e,0,255)]},Yt=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,i=Math.max(t,n,r),a=i-Math.min(t,n,r),s=a?i===t?(n-r)/a:i===n?2+(r-t)/a:4+(t-n)/a:0;return{h:60*(s<0?s+6:s),s:i?a/i*100:0,v:i/255*100,a:o}},en=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var i=Math.floor(t),a=r*(1-n),s=r*(1-(t-i)*n),l=r*(1-(1-t+i)*n),c=i%6;return{r:255*[r,s,a,a,l,r][c],g:255*[l,r,r,s,a,a][c],b:255*[a,a,l,r,r,s][c],a:o}},Vt=function(e){return{h:et(e.h),s:z(e.s,0,100),l:z(e.l,0,100),a:z(e.a)}},Ut=function(e){return{h:Re(e.h),s:A(e.s),l:A(e.l),a:A(e.a,3)}},jt=function(e){return en((n=(t=e).s,{h:t.h,s:(n*=((r=t.l)<50?r:100-r)/100)>0?2*n/(r+n)*100:0,v:r+n,a:t.a}));var t,n,r},re=function(e){return{h:(t=Yt(e)).h,s:(o=(200-(n=t.s))*(r=t.v)/100)>0&&o<200?n*r/100/(o<=100?o:200-o)*100:0,l:o/2,a:t.a};var t,n,r,o},ar=/^hsla?\(\s*([+-]?(?:\d*\.\d+|\d+))(deg|rad|grad|turn)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))%\s*,\s*([+-]?(?:\d*\.\d+|\d+))%\s*(?:,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i,sr=/^hsla?\(\s*([+-]?(?:\d*\.\d+|\d+))(deg|rad|grad|turn)?\s+([+-]?(?:\d*\.\d+|\d+))%\s+([+-]?(?:\d*\.\d+|\d+))%\s*(?:\/\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i,lr=/^rgba?\(\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*(?:,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i,cr=/^rgba?\(\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s+([+-]?(?:\d*\.\d+|\d+))(%)?\s+([+-]?(?:\d*\.\d+|\d+))(%)?\s*(?:\/\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i,Qe={string:[[function(e){if(!Qt.test(e))return null;var t=e.length;return t<=5?{r:17*K(e,1),g:17*K(e,2),b:17*K(e,3),a:t===5?A(17*K(e,4)/255,2):1}:t===7||t===9?{r:de(e,1),g:de(e,3),b:de(e,5),a:t===9?A(de(e,7)/255,2):1}:null},"hex"],[function(e){var t=lr.exec(e)||cr.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:Je({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=ar.exec(e)||sr.exec(e);if(!t)return null;var n,r,o=Vt({h:(n=t[1],r=t[2],r===void 0&&(r="deg"),Number(n)*(Kt[r]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return jt(o)},"hsl"]],object:[[function(e){var t=e.r,n=e.g,r=e.b,o=e.a,i=o===void 0?1:o;return $(t)&&$(n)&&$(r)?Je({r:Number(t),g:Number(n),b:Number(r),a:Number(i)}):null},"rgb"],[function(e){var t=e.h,n=e.s,r=e.l,o=e.a,i=o===void 0?1:o;if(!$(t)||!$(n)||!$(r))return null;var a=Vt({h:Number(t),s:Number(n),l:Number(r),a:Number(i)});return jt(a)},"hsl"],[function(e){var t=e.h,n=e.s,r=e.v,o=e.a,i=o===void 0?1:o;if(!$(t)||!$(n)||!$(r))return null;var a=(function(s){return{h:et(s.h),s:z(s.s,0,100),v:z(s.v,0,100),a:z(s.a)}})({h:Number(t),s:Number(n),v:Number(r),a:Number(i)});return en(a)},"hsv"]]},qt=function(e,t){for(var n=0;n<t.length;n++){var r=t[n][0](e);if(r)return[r,t[n][1]]}return[null,void 0]},fr=function(e){return typeof e=="string"?qt(e.trim(),Qe.string):typeof e=="object"&&e!==null?qt(e,Qe.object):[null,void 0]};var qe=function(e,t){var n=re(e);return{h:n.h,s:z(n.s+100*t,0,100),l:n.l,a:n.a}},Ze=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},Zt=function(e,t){var n=re(e);return{h:n.h,s:n.s,l:z(n.l+100*t,0,100),a:n.a}},Ye=(function(){function e(t){this.parsed=fr(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 A(Ze(this.rgba),2)},e.prototype.isDark=function(){return Ze(this.rgba)<.5},e.prototype.isLight=function(){return Ze(this.rgba)>=.5},e.prototype.toHex=function(){return t=Ce(this.rgba),n=t.r,r=t.g,o=t.b,a=(i=t.a)<1?Me(A(255*i)):"","#"+Me(n)+Me(r)+Me(o)+a;var t,n,r,o,i,a},e.prototype.toRgb=function(){return Ce(this.rgba)},e.prototype.toRgbString=function(){return t=Ce(this.rgba),n=t.r,r=t.g,o=t.b,(i=t.a)<1?"rgba("+n+", "+r+", "+o+", "+i+")":"rgb("+n+", "+r+", "+o+")";var t,n,r,o,i},e.prototype.toHsl=function(){return Ut(re(this.rgba))},e.prototype.toHslString=function(){return t=Ut(re(this.rgba)),n=t.h,r=t.s,o=t.l,(i=t.a)<1?"hsla("+n+", "+r+"%, "+o+"%, "+i+")":"hsl("+n+", "+r+"%, "+o+"%)";var t,n,r,o,i},e.prototype.toHsv=function(){return t=Yt(this.rgba),{h:Re(t.h),s:A(t.s),v:A(t.v),a:A(t.a,3)};var t},e.prototype.invert=function(){return E({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),E(qe(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),E(qe(this.rgba,-t))},e.prototype.grayscale=function(){return E(qe(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),E(Zt(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),E(Zt(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(re(this.rgba).h+t)},e.prototype.alpha=function(t){return typeof t=="number"?E({r:(n=this.rgba).r,g:n.g,b:n.b,a:t}):A(this.rgba.a,3);var n},e.prototype.hue=function(t){var n=re(this.rgba);return typeof t=="number"?E({h:t,s:n.s,l:n.l,a:n.a}):Re(n.h)},e.prototype.isEqual=function(t){return this.toHex()===E(t).toHex()},e})(),E=function(e){return e instanceof Ye?e:new Ye(e)},Jt=[],tn=function(e){e.forEach(function(t){Jt.indexOf(t)<0&&(t(Ye,Qe),Jt.push(t))})};var tt=function(e){var t=e/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},nt=function(e){return .2126*tt(e.r)+.7152*tt(e.g)+.0722*tt(e.b)},nn=function(e){e.prototype.luminance=function(){return t=nt(this.rgba),(n=2)===void 0&&(n=0),r===void 0&&(r=Math.pow(10,n)),Math.round(r*t)/r+0;var t,n,r},e.prototype.contrast=function(t){t===void 0&&(t="#FFF");var n,r,o,i,a,s,l,c=t instanceof e?t:new e(t);return i=this.rgba,a=c.toRgb(),s=nt(i),l=nt(a),n=s>l?(s+.05)/(l+.05):(l+.05)/(s+.05),(r=2)===void 0&&(r=0),o===void 0&&(o=Math.pow(10,r)),Math.floor(o*n)/o+0},e.prototype.isReadable=function(t,n){return t===void 0&&(t="#FFF"),n===void 0&&(n={}),this.contrast(t)>=(s=(a=(r=n).size)===void 0?"normal":a,(i=(o=r.level)===void 0?"AA":o)==="AAA"&&s==="normal"?7:i==="AA"&&s==="large"?3:4.5);var r,o,i,a,s}};var rn=function(e,t){var n={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"},r={};for(var o in n)r[n[o]]=o;var i={};e.prototype.toName=function(a){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var s,l,c=r[this.toHex()];if(c)return c;if(a?.closest){var u=this.toRgb(),f=1/0,h="black";if(!i.length)for(var d in n)i[d]=new e(n[d]).toRgb();for(var p in n){var m=(s=u,l=i[p],Math.pow(s.r-l.r,2)+Math.pow(s.g-l.g,2)+Math.pow(s.b-l.b,2));m<f&&(f=m,h=p)}return h}},t.string.push([function(a){var s=a.toLowerCase(),l=s==="transparent"?"#0000":n[s];return l?new e(l).toRgb():null},"name"])};tn([rn,nn]);var on=new Map;function sn(e,t){let n=`${e}|${t}`,r=on.get(n);if(r!==void 0)return r;let o=E(e);if(!o.isReadable(t)){let a=E(t).luminance()<.5;for(let s=0;s<40&&!o.isReadable(t);s++)o=a?o.lighten(.05):o.darken(.05)}let i=o.toHex();return on.set(n,i),i}function Ao(e,t){let n=E(e);return n.alpha()===1?n.alpha(t).toRgbString():e}function ln(e){return E(e).darken(.1).toHex()}function Ho(e,t){return Object.fromEntries(Object.entries(e).map(t))}var an=new WeakMap;function q(e){let t=an.get(e);t||(t=new Map,an.set(e,t));let n=e.palette.text.primary;return r=>{if(!r)return n;let o=t.get(r);if(o!==void 0)return o;let i=e.palette.getContrastText(E(r).toHex());return t.set(r,i),i}}function zo(e,t){if(e.length===0)return t;let n=new Set(e);return t.filter((r,o)=>!n.has(o))}function Fo(e,t){if(e.length===0)return t;let n=[],r=0;for(let o of e)o>r&&n.push(t.slice(r,o)),r=o+1;return r<t.length&&n.push(t.slice(r)),n.join("")}function Bo(e,t){let n=[],r=e.length,o=0,i=0,a=-1,s=[];for(let l=0;l<t.length;l++)i<r&&e[i]===l?(t.charCodeAt(l)-45>>>0<=1||(a===o?s.push(t[l]):(s.length>0&&n.push({pos:a,letters:s.join("")}),a=o,s=[t[l]])),i++):o++;return s.length>0&&n.push({pos:a,letters:s.join("")}),n}function Oo(e){return e.end-e.start}function Le(e,t){let n=[];for(let r of e){let o=t.get(r.data.name);o&&o.length>0&&n.push({y:r.x,bands:o})}return n}function ur({rows:e,layout:t,xOf:n,colors:r,labelOf:o,labelDrawn:i,measureText:a,xMin:s,xMax:l}){let c=[];for(let{y:u,bands:f}of e){let h=t.height(f[0].laneCount),d=t.headLength(h),p=t.headRise?.(h)??0,m=o!==void 0&&h>=vt,g=Math.min(h-2,11),w=[],b=[],v=[];for(let y of f){let[S,k]=n(y),T=k-S;if(k<s||S>l)continue;let M=t.top(u,y.lane,h),{fill:C,stroke:R}=r.get(y.annotation),{strand:B}=y.annotation,N=B===void 0?0:Math.min(d,T);w.push(B===void 0?{band:y,fill:C,stroke:R,box:{x:S,y:M,w:T,h}}:{band:y,fill:C,stroke:R,outline:hr({x:S,t:M,w:T,h,head:N,rise:p,strand:B})}),m&&v.push({band:y,xStart:S,w:T,t:M,head:N,fill:C})}for(let{band:y,xStart:S,w:k,t:T,head:M,fill:C}of v){let R=o(y);R!==void 0&&a(R,g)+2<=k-M/2&&(i?.(y),b.push({text:R,x:S+k/2,y:T+h/2,fill:C}))}c.push({shapes:w,labels:b,fontSize:g})}return c}function Ee({ctx:e,contrastText:t,...n}){let r="",o=a=>{let s=`${a}px sans-serif`;s!==r&&(e.font=s,r=s)},i=ur({...n,measureText:(a,s)=>(o(s),e.measureText(a).width)});for(let{shapes:a,labels:s,fontSize:l}of i){for(let{fill:c,stroke:u,box:f,outline:h}of a)if(e.fillStyle=c,e.strokeStyle=u,f)e.fillRect(f.x,f.y,f.w,f.h),e.strokeRect(f.x,f.y,f.w,f.h);else if(h){e.beginPath(),e.moveTo(...h[0]);for(let d=1;d<h.length;d++)e.lineTo(...h[d]);e.closePath(),e.fill(),e.stroke()}if(s.length>0){o(l),e.textAlign="center",e.textBaseline="middle";for(let{text:c,x:u,y:f,fill:h}of s)e.fillStyle=t(h),e.fillText(c,u,f)}}}function hr({x:e,t,w:n,h:r,head:o,rise:i,strand:a}){let s=a>0?e+n:e,l=a>0?e:e+n,c=a>0?s-o:s+o,u=t+r,f=t-i,h=(f+u)/2;return o>=n?[[l,f],[s,h],[l,u]]:[[l,t],[c,t],...i>0?[[c,f]]:[],[s,h],[c,u],[l,u]]}function cn({model:e,theme:t,offsetX:n,offsetY:r,ctx:o,highResScaleFactorOverride:i,blockSizeXOverride:a,blockSizeYOverride:s}){let{blockSize:l,rowHeight:c,highResScaleFactor:u,actuallyShowDomains:f}=e;if(!f)return;let h=i??u,d=a??l,p=s??l;o.resetTransform(),o.scale(h,h),o.translate(-n,c/2-r),Ee({ctx:o,...gr(e,I({model:e,offsetY:r,blockSizeY:p})),contrastText:q(t),xMin:n,xMax:n+d})}function gr(e,t){let{rowHeight:n,subFeatureRows:r,colWidth:o,featureColors:i,featureLabels:a,segmentLabels:s,showMsaLetters:l,domainUnderline:c,domainBands:u}=e,f=c?Math.min(3,n):n,d=!a&&!l&&!r?new Set:void 0;return{rows:Le(t,u),layout:{height:p=>r?Math.min(4,n/p):f,top:(p,m,g)=>p-n+(r?m*g:c?n-g:0),headLength:p=>c?n/2:p,headRise:p=>c?Math.max(0,n*.4-p):0},xOf:p=>[p.startCol*o,p.endCol*o],colors:i,labelOf:p=>a?.get(p.annotation)??(d&&!d.has(p.annotation.accession)?s.get(p.annotation.accession):void 0),labelDrawn:p=>d?.add(p.annotation.accession)}}function H(e,t,n=!1){e.font=e.font.replace(/(?:bold )?[\d.]+px/,`${n?"bold ":""}${t}px`)}var Ae="rgba(0,128,255,0.3)",Vo="rgba(255,165,0,0.2)",Uo="rgba(255,165,0,0.15)",jo="rgba(0,0,0,0.15)",qo="rgba(128,128,0,0.2)",fn="rgba(25,118,210,0.22)",un="rgba(25,118,210,0.95)";var hn="rgba(255,140,0,0.28)",dn="rgba(210,90,0,0.95)",ot="rgba(255,140,0,0.18)",rt=11,He=3,it=rt+He*2;function at({ctx:e,theme:t,label:n,x:r,y:o,spanWidth:i,bounds:a,placed:s}){H(e,rt),e.textAlign="start";let l=e.measureText(n).width+He*2,c=it,u=l<=i?r:r+i+2;a&&(u=Math.max(a.min,Math.min(u,a.max-l)));let f=o;if(s){let h=d=>d.left<u+l&&d.right>u&&d.top<f+c&&d.bottom>f;for(;s.some(h);)f+=c;s.push({left:u,right:u+l,top:f,bottom:f+c})}e.fillStyle=t.palette.background.paper,e.fillRect(u,f,l,c),e.fillStyle=t.palette.text.primary,e.fillText(n,u+He,f+He+rt-2)}function mr({ctx:e,model:t,theme:n,offsetX:r,offsetY:o,width:i,height:a}){let{resolvedClades:s,resolvedHighlights:l,rowTints:c,colWidth:u,rowHeight:f}=t,h=[];e.lineWidth=2;let d=Math.max(0,Math.floor(o/f)),p=Math.ceil((o+a)/f),m=g=>{e.fillRect(0,g*f-o,i,f)};for(let{rows:g,color:w,mark:b}of s)b==="highlight"&&g[1]>=d&&g[0]<=p&&(e.fillStyle=w,e.fillRect(0,g[0]*f-o,i,(g[1]-g[0]+1)*f));if(c)for(let g=d;g<=Math.min(p,c.length-1);g++){let w=c[g];w&&(e.fillStyle=w,m(g))}for(let{rowIndices:g,color:w}of l){e.fillStyle=w??ot;for(let b of g)b>=d&&b<=p&&m(b)}for(let{startCol:g,endCol:w,label:b,color:v}of l){if(g===void 0||w===void 0)continue;let y=g*u-r,S=(w-g+1)*u;e.fillStyle=v??hn,e.fillRect(y,0,S,a),e.strokeStyle=v??dn,e.strokeRect(y,0,S,a),b&&at({ctx:e,theme:n,label:b,x:y,y:0,spanWidth:S,bounds:{min:0,max:i},placed:h})}}function Qo({ctx:e,model:t,offsetX:n,offsetY:r,height:o}){let{resolvedSelection:i,colWidth:a,rowHeight:s}=t;if(!i)return;let{startCol:l,endCol:c,rowRuns:u}=i,f=l*a-n,h=(c-l+1)*a;e.lineWidth=1;for(let[d,p]of u){let m=d*s-r,g=(p-d+1)*s;m<o&&m+g>0&&(e.fillStyle=fn,e.fillRect(f,m,h,g),e.strokeStyle=un,e.strokeRect(f,m,h,g))}}function pn({ctx:e,model:t,theme:n,offsetX:r,offsetY:o,width:i,height:a}){let{colWidth:s,rowHeight:l,referenceRowIndex:c,highlightedColumnRuns:u}=t;c!==void 0&&(e.fillStyle=Ae,e.fillRect(0,c*l-o,i,l)),e.lineWidth=2;for(let{start:f,end:h}of u){let d=f*s-r,p=(h-f+1)*s;e.fillStyle=hn,e.fillRect(d,0,p,a),e.strokeStyle=dn,e.strokeRect(d,0,p,a)}mr({ctx:e,model:t,theme:n,offsetX:r,offsetY:o,width:i,height:a})}function gn(e){let t=0,n=[];return r=>{if(!e)return;for(;t<e.length&&e[t].startCol<=r;)n.push(e[t]),t++;n.some(i=>i.endCol<=r)&&(n=n.filter(i=>i.endCol>r));let o;for(let i of n)(!o||i.stackIndex>o.stackIndex)&&(o=i);return o}}function W({offsetX:e,blockWidth:t,colWidth:n}){return{xStart:Math.max(0,Math.floor(e/n)),xEnd:Math.max(0,Math.ceil((e+t)/n))}}function bn({model:e,offsetX:t,offsetY:n,ctx:r,theme:o,highResScaleFactorOverride:i,blockSizeXOverride:a,blockSizeYOverride:s,rasterTiles:l}){let{colWidth:c,blockSize:u,rowHeight:f,fontSize:h,highResScaleFactor:d,actuallyShowDomains:p,bgColor:m}=e,g=i??d,w=a??u,b=s??u;r.resetTransform(),r.scale(g,g),r.translate(-t,f/2-n),r.textAlign="center",r.textBaseline="alphabetic",H(r,h,!m);let{xStart:v,xEnd:y}=W({offsetX:t,blockWidth:w,colWidth:c}),S=I({model:e,offsetY:n,blockSizeY:b}),{relativeTo:k,columns:T}=e,M=k?T.get(k)?.slice(v,y):null;br({model:e,ctx:r,theme:o,xStart:v,xEnd:y,visibleLeaves:S,referenceSeq:M,drawTiles:!p,rasterTiles:l}),wr({model:e,ctx:r,xStart:v,xEnd:y,visibleLeaves:S}),r.resetTransform()}function br({model:e,ctx:t,theme:n,visibleLeaves:r,xStart:o,xEnd:i,referenceSeq:a,drawTiles:s,rasterTiles:l}){let{bgColor:c,columns:u,colWidth:f,rowHeight:h,fontSize:d,relativeTo:p,showMsaLetters:m,subFeatureRows:g,domainUnderline:w,domainBandsByStart:b,featureColors:v}=e,y=s&&c,S=y&&!l;if(S||m){let k=ke(e),T=q(n),M=o*f,C=f/2,R=h/2-d/4,B=!s&&!g&&!w;for(let N=0,F=r.length;N<F;N++){let _=r[N],{name:G}=_.data,O=_.x,L=u.get(G)?.slice(o,i);if(L){let P=O-h,se=O-R,be=gn(B?b.get(G):void 0);for(let X=0,jn=L.length;X<jn;X++){let pt=o+X,Pe=L[X],gt=X*f+M,Ie=a&&G!==p&&Pe===a[X],we=k(pt,Pe);if(S&&(t.fillStyle=Ie?n.palette.action.hover:we||n.palette.background.default,t.fillRect(gt,P,f,h)),m){let mt=be(pt);t.fillStyle=mt?T(v.get(mt.annotation)?.fill):Ie?n.palette.text.primary:y?T(we):c||!we?n.palette.text.primary:sn(we,n.palette.background.default),t.fillText(Ie?".":Pe,gt+C,se)}}}}}}function wr({model:e,ctx:t,visibleLeaves:n,xStart:r,xEnd:o}){let{bgColor:i,hideGapsEffective:a}=e;a&&(t.lineWidth=1,t.strokeStyle="#f0f",mn({visibleLeaves:n,xStart:r,ctx:t,model:e,xEnd:o,offset:0}),t.strokeStyle=i?"#fff":"#000",mn({visibleLeaves:n,xStart:r,ctx:t,model:e,xEnd:o,offset:-1}))}function mn({model:e,ctx:t,visibleLeaves:n,xStart:r,xEnd:o,offset:i}){let{colWidth:s,rowHeight:l,insertionPositions:c}=e;for(let u of n){let{name:f}=u.data,h=c.get(f);if(h){let d=u.x;for(let{pos:p}of h)if(p>=r&&p<o){let m=p*s,g=d-l,w=d;t.beginPath(),t.moveTo(m+i,g+i);let b=g,v=!0;for(;b<w;){let y=Math.min(b+2,w),S=v?m+1:m-1;t.lineTo(S+i,y+i),b=y,v=!v}t.stroke()}}}}function wn(e){return e>St}var st=2;function yn({ctx:e,model:t,theme:n,panel:r,x:o,offsetY:i,blockSizeYOverride:a,highResScaleFactorOverride:s}){let{rowHeight:l,blockSize:c,highResScaleFactor:u}=t,f=a??c,h=s??u;e.resetTransform(),e.scale(h,h),e.translate(o,l/2-i),Ee({ctx:e,...yr(t,r,I({model:t,offsetY:i,blockSizeY:f})),contrastText:q(n),xMin:0,xMax:r.width})}function yr(e,t,n){let{rowHeight:r}=e;return{rows:Le(n,t.spans),layout:{height:o=>Math.max(1,r/o-st),top:(o,i,a)=>o-r+i*(a+st)+st/2,headLength:o=>o},xOf:o=>[o.xStart,o.xEnd],colors:t.colors,labelOf:o=>t.labels?.get(o.annotation)}}function vn({ctx:e,model:t,panel:n,x:r,offsetY:o,blockSizeYOverride:i,highResScaleFactorOverride:a}){let{rowHeight:s,blockSize:l,highResScaleFactor:c}=t,u=i??l;e.resetTransform();let f=a??c;e.scale(f,f),e.translate(r,-o);for(let h of I({model:t,offsetY:o,blockSizeY:u})){let d=n.colors.get(h.data.name);d&&(e.fillStyle=d,e.fillRect(0,h.x-s/2,n.width,s))}}function vr({panel:e,...t}){e.kind==="features"?yn({panel:e,...t}):vn({panel:e,...t})}function xn({model:e,...t}){for(let n of e.resolvedRowPanels)vr({model:e,panel:n,x:n.offsetX,...t})}var oe=new Uint8Array(128).fill(30);for(let e=65;e<=90;e++)oe[e]=e-65+1;for(let e=97;e<=122;e++)oe[e]=e-97+1;oe[45]=27;oe[46]=28;oe[42]=29;var Q=Array.from({length:32},(e,t)=>t>=1&&t<=26?String.fromCharCode(65+t-1):"");Q[27]="-";Q[28]=".";Q[29]="*";Q[30]="?";function ze(e){return e<128?oe[e]:30}function Sn(e){return e===27||e===28}var lt=class{numColumns;counts;totals;slotTotals=new Uint32Array(32);constructor(t){this.numColumns=t,this.counts=new Uint32Array(t*32),this.totals=new Uint32Array(t)}addRow(t){let{counts:n,totals:r,slotTotals:o,numColumns:i}=this,a=Math.min(t.length,i);for(let s=0;s<a;s++){let l=ze(t.charCodeAt(s));n[s*32+l]++,r[s]++,o[l]++}for(let s=a;s<i;s++)n[s*32+27]++,r[s]++;o[27]+=i-a}add(t,n){let r=ze(n.charCodeAt(0));this.counts[t*32+r]++,this.totals[t]++,this.slotTotals[r]++}total(t){return this.totals[t]??0}count(t,n){return this.counts[t*32+ze(n.charCodeAt(0))]??0}gapCount(t){let n=t*32;return(this.counts[n+27]??0)+(this.counts[n+28]??0)}forEachResidue(t,n){let{counts:r}=this,o=t*32;for(let i=1;i<32;i++){let a=r[o+i];a>0&&!Sn(i)&&n(i,a)}}entropy(t){let n=this.total(t)-this.gapCount(t);if(n===0)return 0;let r=0;return this.forEachResidue(t,(o,i)=>{let a=i/n;r-=a*Math.log2(a)}),r}residueEntries(t){let n=[];return this.forEachResidue(t,(r,o)=>{n.push([Q[r],o])}),n}get lettersPresent(){let t=new Set;for(let n=1;n<32;n++)this.slotTotals[n]>0&&!Sn(n)&&t.add(Q[n]);return t}};function kn(e){return Q[e]}function vi(e){return ze(e.charCodeAt(0))}var xi=32;function Si(e,t=e.reduce((n,r)=>Math.max(n,r.length),0)){let n=new lt(t);for(let r of e)n.addRow(r);return n}function Mi(e){return Math.log2(e==="amino"?20:4)}function Tn(e,t,n){let r=e.total(t),o=r-e.gapCount(t);if(o===0)return[];let i=Math.max(0,n-e.entropy(t))*(o/r);if(i===0)return[];let a=[];return e.forEachResidue(t,(s,l)=>{a.push({letter:kn(s),bits:l/o*i})}),a.sort((s,l)=>s.bits-l.bits||s.letter.localeCompare(l.letter)),a}function xr({ctx:e,values:t,color:n,colWidth:r,trackHeight:o,offsetX:i,blockSize:a}){let{xStart:s,xEnd:l}=W({offsetX:i,blockWidth:a,colWidth:r});e.fillStyle=n;for(let c=s;c<l&&c<t.length;c++){let f=t[c]*o,h=c*r;e.fillRect(h,o-f,r,f)}}function Sr(e,t){let n=e.columnTrackContent.get(t)?.values;return n||(t==="property-conservation"?e.propertyConservation:e.conservation)}function kr({ctx:e,arcs:t,color:n,colWidth:r,trackHeight:o,offsetX:i,blockSize:a}){if(!t?.length)return;let{xStart:s,xEnd:l}=W({offsetX:i,blockWidth:a,colWidth:r}),c=1;for(let f of t)c=Math.max(c,f.end-f.start);let u=o-1;e.lineWidth=1;for(let f of t){if(f.end<s||f.start>l)continue;let h=(f.start+.5)*r,d=(f.end+.5)*r,p=u*Math.sqrt((f.end-f.start)/c);e.strokeStyle=f.color??n,e.beginPath(),e.moveTo(h,o),e.quadraticCurveTo((h+d)/2,o-2*p,d,o),e.stroke()}}function Tr({ctx:e,data:t,colorScheme:n,contrastText:r,bgColor:o,drawLetters:i,colWidth:a,rowHeight:s,offsetX:l,blockSize:c}){let{xStart:u,xEnd:f}=W({offsetX:l,blockWidth:c,colWidth:a}),h=t?.slice(u,f);for(let d=0;h&&d<h.length;d++){let p=h[d],m=p.toUpperCase(),g=o?n[m]:void 0,w=(u+d)*a;g&&(e.fillStyle=g,e.fillRect(w,0,a,s)),i&&(e.fillStyle=r(g),e.fillText(p,w+a/2,s/2))}}function Mr(e,t=55){let n=1,r=[1,2,5];for(let o=0;n*e<t;o++)n=r[o%3]*10**Math.floor(o/3);return n}function Cr(e,t,n){let r=Mr(n),o=r>1&&e<=0&&t>0?[0]:[],i=Math.max(1,Math.ceil((e+1)/r))*r;for(let a=i;a<=t;a+=r)o.push(a-1);return o}var Rr=10,Mn=4;function Lr({ctx:e,numColumns:t,label:n,textColor:r,colWidth:o,trackHeight:i,offsetX:a,blockSize:s}){let{xStart:l,xEnd:c}=W({offsetX:a,blockWidth:s,colWidth:o}),u=Math.min(c,t);H(e,Rr),e.textAlign="center",e.textBaseline="alphabetic",e.fillStyle=r,e.strokeStyle=r,e.lineWidth=1;for(let f of Cr(l,u,o)){let h=n(f);if(h===void 0)continue;let d=(f+.5)*o;e.fillText(h,d,i-Mn-2),e.beginPath(),e.moveTo(d,i-Mn),e.lineTo(d,i),e.stroke()}}var Er=.72,Ar=3;function Hr({ctx:e,colStats:t,colorScheme:n,maxBits:r,textColor:o,colWidth:i,trackHeight:a,offsetX:s,blockSize:l}){let{xStart:c,xEnd:u}=W({offsetX:s,blockWidth:l,colWidth:i}),f=Math.min(u,t.numColumns),h=a;H(e,h),e.textAlign="left",e.textBaseline="alphabetic";let d=h*Er;for(let p=c;p<f;p++){let m=Tn(t,p,r);if(m.length===0)continue;let g=p*i,w=a;for(let{letter:b,bits:v}of m){let y=v/r*a;if(y<Ar){w-=y;continue}let S=e.measureText(b).width;if(S===0){w-=y;continue}e.fillStyle=n[b]??o,e.save(),e.translate(g,w),e.scale(i/S,y/d),e.fillText(b,0,0),e.restore(),w-=y}}}function zr({model:e,ctx:t,track:n,offsetX:r,offsetY:o=0,theme:i,blockSizeXOverride:a,highResScaleFactorOverride:s}){let{blockSize:l,colWidth:c,highResScaleFactor:u}=e,{id:f,kind:h,height:d,barColor:p,arcColor:m,arcs:g,customColorScheme:w,data:b}=n.model,v=a??l,y=s??u,S=i.palette.text.primary;switch(t.resetTransform(),t.scale(y,y),t.translate(-r,o),h){case"bar":{xr({ctx:t,values:Sr(e,f),color:p??"gray",colWidth:c,trackHeight:d,offsetX:r,blockSize:v});break}case"arc":{kr({ctx:t,arcs:g,color:m??i.palette.text.primary,colWidth:c,trackHeight:d,offsetX:r,blockSize:v});break}case"logo":{Hr({ctx:t,colStats:e.colStats,colorScheme:e.colorScheme,maxBits:e.alphabetMaxBits,textColor:S,colWidth:c,trackHeight:d,offsetX:r,blockSize:v});break}case"ruler":{let{relativeTo:k,numColumns:T}=e;Lr({ctx:t,numColumns:T,label:k?M=>{let C=e.visibleColToSeqPosOneBased(k,M);return C===void 0?void 0:`${C}`}:M=>`${M+1}`,textColor:S,colWidth:c,trackHeight:d,offsetX:r,blockSize:v});break}case"text":{let{bgColor:k,fontSize:T,rowHeight:M,showMsaLetters:C}=e;t.textAlign="center",t.textBaseline="middle",H(t,T),Tr({ctx:t,data:b,colorScheme:w??e.colorScheme,contrastText:q(i),bgColor:k,drawLetters:C,colWidth:c,rowHeight:M,offsetX:r,blockSize:v});break}}t.resetTransform()}function Cn({model:e,ctx:t,offsetX:n,theme:r,blockSizeXOverride:o,highResScaleFactorOverride:i}){let a=0;for(let s of e.turnedOnTracks)zr({model:e,ctx:t,track:s,offsetX:n,offsetY:a,theme:r,blockSizeXOverride:o,highResScaleFactorOverride:i}),a+=s.model.height}var pe=V(le(),1);function ct({bar:e,marginLeft:t,y:n,color:r}){return pe.default.createElement(pe.default.Fragment,null,pe.default.createElement("text",{x:t,y:n-9,fontSize:10,fill:r},e.label),pe.default.createElement("path",{d:`M${t} ${n-7} v6 h${e.px} v-6`,fill:"none",stroke:r}))}var ft;function Fr(){return ft===void 0&&(ft=typeof document>"u"?null:document.createElement("canvas").getContext("2d")),ft}var Br=.6;function ge(e,t){let n=Fr();return n?(H(n,t),n.measureText(e).width):e.length*t*Br}var Fe=3,Y=4,Or=140;function Rn(e){return e.mark==="bracket"||e.mark==="highlight"&&!!e.label}function Ln(e,t){return(e.rows[1]-e.rows[0]+1)*t}function Pr(e,t,n){return Ln(e,t)>=n}function En(e){return e.mark==="bracket"?Y+Fe+Y:Y}function Ii(e){let t=0;for(let n of e){if(!Rn(n))continue;let r=n.label?ge(n.label,xt):0;t=Math.max(t,En(n)+r+Y)}return Math.min(Or,Math.ceil(t))}function An(e){let{resolvedClades:t,cladeGutterWidth:n,rowHeight:r,effectiveTreeAreaWidth:o,fontSize:i}=e,a=o-n;return n===0?[]:t.flatMap((s,l)=>{let{label:c,markColor:u,rows:f}=s;if(!c||!Rn(s))return[];let h=a+En(s);return[{key:`${f[0]}-${f[1]}-${l}`,label:c,color:u,left:h,top:f[0]*r,width:o-h-Y,height:Ln(s,r),horizontal:Pr(s,r,i)}]})}function ie(e,t,n){let r=e(t);if(r<=n)return{text:t,width:r};for(let o=Math.floor(t.length*n/r);o>0;o--){let i=t.slice(0,o).trimEnd()+"\u2026",a=e(i);if(a<=n)return{text:i,width:a}}return{text:"",width:0}}function ji(e,t){return wt(e,t)}var ut=class{parent;frame;data;depth;height;value;children;depthToLeaf=0;row=0;rowMin=0;rowMax=0;depthFraction=0;branchLength=0;collapsedBranchLength;constructor(t,n,r){this.parent=n,this.frame=r,this.data=t.data,this.depth=t.depth,this.height=t.height,this.value=t.value,this.children=t.children?[]:null}get pxPerBranchLength(){let{scale:t,rootToTipLength:n}=this.frame;return n?t.treeWidth/n:0}get x(){return this.row*this.frame.scale.rowHeight}get xMin(){return this.rowMin*this.frame.scale.rowHeight}get xMax(){return this.rowMax*this.frame.scale.rowHeight}get y(){return this.depthFraction*this.frame.scale.treeWidth}get len(){return this.branchLength*this.pxPerBranchLength}get collapsedTipXFar(){return this.collapsedBranchLength===void 0?void 0:this.collapsedBranchLength*this.pxPerBranchLength}};function qi(e,t){let n={scale:t,rootToTipLength:0},r=[],o=[],i=e.height,a=[{source:e,parent:null}];for(;a.length>0;){let{source:s,parent:l}=a.pop(),c=new ut(s,l,n);if(r.push(c),c.depthFraction=i===0?1:(s.depth-e.depth)/i,l&&(l.children.push(c),c.branchLength=l.branchLength+Math.max(s.data.length||0,0),n.rootToTipLength=Math.max(n.rootToTipLength,c.branchLength)),s._children&&(c.collapsedBranchLength=c.branchLength+Ir(s)),s.children)for(let u=s.children.length-1;u>=0;u--)a.push({source:s.children[u],parent:c});else c.row=o.length+.5,c.depthToLeaf=s.depthToLeaf??0,o.push(c)}for(let s=r.length-1;s>=0;s--){let l=r[s];if(l.children){let c=0,u=1/0,f=-1/0,h=0;for(let d of l.children)c+=d.row,u=Math.min(u,d.rowMin),f=Math.max(f,d.rowMax),h=Math.max(h,1+d.depthToLeaf);l.row=c/l.children.length,l.rowMin=u,l.rowMax=f,l.depthToLeaf=h}else l.rowMin=l.row,l.rowMax=l.row}return{root:r[0],leaves:o,rootToTipLength:n.rootToTipLength}}function Zi(e){e.children&&(ht(e),e._children=e.children,e.children=null)}function Ir(e){let t=e._children??e.children,n=0;if(t){let r=t.map(o=>({node:o,acc:Math.max(o.data.length??0,0)}));for(;r.length>0;){let{node:o,acc:i}=r.pop(),a=o.children??o._children;if(a?.length)for(let s of a)r.push({node:s,acc:i+Math.max(s.data.length??0,0)});else n=Math.max(n,i)}}return n}function ht(e){if(e.depthToLeaf===void 0){let t=ye(e);for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.depthToLeaf===void 0){let o=0;if(r.children)for(let i of r.children)o=Math.max(o,1+i.depthToLeaf);r.depthToLeaf=o}}}return e.depthToLeaf}function $r(e){let t=new Map;for(let n of bt(e)){let{name:r}=n.data;t.set(r,t.has(r)?void 0:n)}return t}function Ji(e,t,n=$r(e)){let r;for(let o of t){let i=n.get(o);if(!i)return;if(!r){r=i;continue}for(;r.depth>i.depth;)r=r.parent;for(;i.depth>r.depth;)i=i.parent;for(;r!==i;)r=r.parent,i=i.parent}return r}function Hn(e,t,n){let r=e;for(;;){let o=r.children?.find(i=>i.xMin<=t&&i.xMax>=n);if(!o)return r;r=o}}var D=2.5,dt=D*2;function Z(e){return Math.max(e.rowHeight,it)}function ae(e,t,n,r){return e>t-r&&e<t+n+r}function Be(e,t,n,r,o){let i=t-r,a=t+n+r,s=[e];for(;s.length>0;){let l=s.pop();if(!(l.xMax<i||l.xMin>a)&&(o(l),l.children))for(let c of l.children)s.push(c)}}function zn(e,t){let{id:n,name:r}=e.data,o=r===n?t:r;return e.value===void 0?o:`${o} (${e.value} tips)`}function U(e,t,n,r){if(t)return e.len;if(r===0)return 0;let o=ht(e);return(r-o)/r*n}function Wr({offsetY:e,ctx:t,model:n,theme:r,tipX:o,maxDepthToLeaf:i,blockSizeYOverride:a}){let{hierarchy:s,showBranchLenEffective:l,blockSize:c,branchColors:u}=n,f=a??c,h=r.palette.text.primary;t.strokeStyle=h,Be(s,e,f,Z(n),d=>{let p=d.x,m=U(d,l,o,i);if(!(m===void 0||!d.children))for(let g of d.children){let w=g.x,b=U(g,l,o,i);if(b===void 0)continue;let v=Math.min(p,w),y=Math.max(p,w);e+f>=v&&y>=e&&(u&&(t.strokeStyle=u.get(g.data.id)??h),t.beginPath(),t.moveTo(m,p),t.lineTo(m,w),t.lineTo(b,w),t.stroke())}}),t.strokeStyle=h}function Dr({ctx:e,clickMap:t,offsetY:n,model:r,theme:o,tipX:i,maxDepthToLeaf:a,blockSizeYOverride:s,collapsedSet:l}){let{hierarchy:c,showBranchLenEffective:u,blockSize:f,rowHeight:h,fontSize:d,marginLeft:p,branchColors:m}=r;if(l.size===0)return;let g=s??f,w=Math.max(2,h*.42);Be(c,n,g,Z(r),b=>{let{id:v}=b.data;if(l.has(v)){let y=U(b,u,i,a),S=b.x,k=ae(S,n,g,Z(r)),T=u?b.collapsedTipXFar??i:i;if(y!==void 0&&k&&T>y){e.beginPath(),e.moveTo(y,S),e.lineTo(T,S-w),e.lineTo(T,S+w),e.closePath(),e.fillStyle=m?.get(v)??o.palette.action.disabled,e.fill(),e.strokeStyle=o.palette.text.primary,e.stroke();let M=b.value;M!==void 0&&h>=8&&(e.fillStyle=o.palette.text.primary,e.textAlign="left",e.fillText(`${M}`,T+3,S+d/4)),t?.insert({minX:y+p,maxX:T+p,minY:S-w,maxY:S+w,branch:!0,id:v,name:zn(b,"Collapsed clade")})}}})}function Nr({ctx:e,theme:t,clickMap:n,offsetY:r,model:o,tipX:i,maxDepthToLeaf:a,blockSizeYOverride:s,collapsedSet:l,draw:c}){let{hierarchy:u,showBranchLenEffective:f,blockSize:h,marginLeft:d}=o,p=s??h;Be(u,r,p,Z(o),m=>{let g=U(m,f,i,a);if(g===void 0)return;let{data:w}=m,b=m.x,{id:v}=w;if(m.height>=1&&ae(b,r,p,Z(o))){let y=l.has(v);c&&(e.strokeStyle=t.palette.text.primary,e.fillStyle=y?t.palette.text.primary:t.palette.background.default,e.beginPath(),e.arc(g,b,D,0,2*Math.PI),e.fill(),e.stroke()),y||n?.insert({minX:g-D+d,maxX:g-D+dt+d,minY:b-D,maxY:b-D+dt,branch:!0,id:v,name:zn(m,"Clade")})}})}function _r({ctx:e,theme:t,offsetY:n,model:r,tipX:o,maxDepthToLeaf:i,blockSizeYOverride:a}){let{hierarchy:s,showBranchLenEffective:l,blockSize:c,fontSize:u}=r,f=a??c,h=Z(r);H(e,Math.max(6,u-3)),e.fillStyle=t.palette.text.primary,e.textAlign="right",Be(s,n,f,h,d=>{let{id:p,name:m}=d.data;if(d.height<1||m===p)return;let g=U(d,l,o,i),w=d.x;g!==void 0&&ae(w,n,f,h)&&e.fillText(m,g-D-1,w-D-1)}),e.textAlign="start",H(e,u)}function Gr({theme:e,model:t,offsetY:n,ctx:r,clickMap:o,tipX:i,maxDepthToLeaf:a,blockSizeYOverride:s,collapsedSet:l}){let{fontSize:c,showBranchLenEffective:u,tipLabelColors:f,blockSize:h,labelsAlignRight:d,drawTree:p,treeAreaWidthMinusMargin:m,marginLeft:g,noTree:w}=t,b=p&&!w,v=s??h,y=I({model:t,offsetY:n,blockSizeY:v}),S=Z(t),k=r.measureText("M").width;d?(r.textAlign="right",r.setLineDash([1,3]),r.strokeStyle=e.palette.text.primary):r.textAlign="start";for(let T of y){let{data:{name:M,id:C}}=T,R=T.x,B=t.rowDataOf(M)?.genome||M;if(!(l.has(C)&&M===C)&&ae(R,n,v,S)){let F=R+c/4,_=b?U(T,u,i,a)??0:0,G=L=>ie(P=>r.measureText(P).width,B,L),O=L=>Math.max(L,c);if(r.fillStyle=f?.get(M)??e.palette.text.primary,d){let P=m-2,{text:se,width:be}=G(P-(b?_+D+2+2:0));b&&(r.beginPath(),r.moveTo(_+D+2,R),r.lineTo(P-2-be,R),r.stroke()),r.fillText(se,P,F);let X=P+g;o?.insert({minX:X-O(be),maxX:X,minY:F-k,maxY:F,name:M,label:B,id:C})}else{let L=b?_+dt:2,{text:P,width:se}=G(m-L);r.fillText(P,L,F),o?.insert({minX:L+g,maxX:L+O(se)+g,minY:F-k,maxY:F,name:M,label:B,id:C})}}}r.setLineDash([])}function Xr(e){let t=1/0;for(let n of e)n<t&&(t=n);return t}function Vr({ctx:e,model:t,offsetY:n,tipX:r,maxDepthToLeaf:o,blockSizeYOverride:i}){let{resolvedClades:a,hierarchy:s,showBranchLenEffective:l,rowHeight:c,effectiveTreeAreaWidth:u,marginLeft:f,blockSize:h}=t,d=i??h,p=u-f;for(let{rows:m,color:g,mark:w}of a){if(w!=="highlight")continue;let b=m[0]*c,v=(m[1]+1)*c;if(v<n||b>n+d)continue;let y=Hn(s,b+c/2,v-c/2),S=U(y,l,r,o)??0;e.fillStyle=g,e.fillRect(S,b,p-S,v-b)}}function Ur({ctx:e,model:t,theme:n,offsetY:r,blockSizeYOverride:o}){let{resolvedClades:i,cladeGutterWidth:a,rowHeight:s,effectiveTreeAreaWidth:l,marginLeft:c,blockSize:u}=t;if(a===0)return;let f=o??u,h=l-c-a+Y+Fe/2;e.lineWidth=Fe;for(let{rows:d,mark:p,markColor:m}of i){let g=d[0]*s+1,w=(d[1]+1)*s-1;p!=="bracket"||w<r||g>r+f||(e.strokeStyle=m??n.palette.text.primary,e.beginPath(),e.moveTo(h,g),e.lineTo(h,w),e.stroke())}e.lineWidth=1,e.strokeStyle=n.palette.text.primary}function jr({ctx:e,model:t,theme:n,offsetY:r,blockSizeYOverride:o}){let{resolvedHighlights:i,rowTints:a,referenceRowIndex:s,rowHeight:l,effectiveTreeAreaWidth:c,marginLeft:u,blockSize:f}=t,h=o??f,d=Z(t),p=[],m=g=>{e.fillRect(-u,g*l,c,l)};if(a){let g=Math.max(0,Math.floor((r-d)/l)),w=Math.min(a.length-1,Math.ceil((r+h+d)/l));for(let b=g;b<=w;b++){let v=a[b];v&&(e.fillStyle=v,m(b))}}s!==void 0&&(e.fillStyle=Ae,m(s));for(let{rowIndices:g,label:w,color:b}of i){e.fillStyle=b??ot;for(let y of g)ae(y*l+l/2,r,h,d)&&m(y);let v=Xr(g);w&&g.length&&ae(v*l,r,h,d)&&at({ctx:e,theme:n,label:w,x:-u+2,y:v*l,spanWidth:c,bounds:{min:-u,max:c-u},placed:p})}}function Fn({model:e,clickMap:t,ctx:n,offsetY:r,theme:o,highResScaleFactorOverride:i,blockSizeYOverride:a}){t?.clear();let{noTree:s,drawTree:l,drawNodeBubbles:c,drawNodeLabels:u,highResScaleFactor:f,fontSize:h,showTreeText:d,marginLeft:p,rowHeight:m}=e;n.resetTransform();let g=i??f;n.scale(g,g),n.translate(p,-r),H(n,h);let{maxDepthToLeaf:w,effectiveTreeWidth:b}=e,v=new Set(e.collapsed);Vr({ctx:n,model:e,offsetY:r,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a}),jr({ctx:n,model:e,theme:o,offsetY:r,blockSizeYOverride:a}),H(n,h),!s&&l&&(Wr({ctx:n,offsetY:r,model:e,theme:o,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a}),Dr({ctx:n,clickMap:t,offsetY:r,model:e,theme:o,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a,collapsedSet:v}),Nr({ctx:n,theme:o,offsetY:r,clickMap:t,model:e,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a,collapsedSet:v,draw:c}),u&&_r({ctx:n,theme:o,offsetY:r,model:e,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a})),d&&Gr({ctx:n,offsetY:r,model:e,clickMap:t,theme:o,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a,collapsedSet:v}),Ur({ctx:n,model:e,theme:o,offsetY:r,blockSizeYOverride:a}),t?.finish()}var Oe=1;function On(e,t){let n=t-Oe*2;return r=>Oe+r/e*n}function Pn({model:e,ctx:t,theme:n,width:r,height:o}){let i=e.treeOverviewLayout;if(!i)return;let{root:a,numTips:s,maxDepthToLeaf:l,showBranchLen:c}=i,u=r-Oe*2,f=On(s,o),h=d=>Oe+(U(d,c,1,l)??0)*u;for(let{rows:d,color:p}of e.treeOverviewClades)t.fillStyle=p,t.fillRect(0,f(d[0]),r,f(d[1]+1)-f(d[0]));t.strokeStyle=n.palette.text.primary,t.beginPath();for(let d of ye(a)){if(!d.children)continue;let p=h(d),m=f(d.x);for(let g of d.children){let w=h(g),b=f(g.x);Math.abs(w-p)<1&&Math.abs(b-m)<1||(t.moveTo(p,m),t.lineTo(p,b),t.lineTo(w,b))}}t.stroke()}function qr({model:e,ctx:t,color:n,rows:r,width:o,height:i}){let a=e.treeOverviewLayout;if(!a)return;let s=On(a.numTips,i),l=s(r[0]);t.strokeStyle=n,t.strokeRect(.5,l,o-1,Math.max(2,s(r[1]+1)-l))}function In(e){Pn(e);let t=e.model.treeOverviewFocusRows;t&&qr({...e,rows:t,color:e.theme.palette.text.primary})}var Bn=new WeakMap;function Zr({model:e,theme:t,width:n,height:r,scale:o}){return[e.data.tree,e.data.msa,e.currentAlignment,e.collapsed.join(","),JSON.stringify(e.clades),e.showBranchLen,n,r,o,t.palette.text.primary]}function Jr(e){return typeof e?.stroke=="function"}function ca({model:e,theme:t,width:n,height:r,scale:o}){let i=Zr({model:e,theme:t,width:n,height:r,scale:o}),a=Bn.get(e);if(a&&i.every((c,u)=>c===a.keys[u]))return a.canvas;let s=_e(Math.max(1,Math.round(n*o)),Math.max(1,Math.round(r*o)),Jr);s&&(s.ctx.scale(o,o),Pn({model:e,ctx:s.ctx,theme:t,width:n,height:r}));let l={keys:i,canvas:s?.canvas};return Bn.set(e,l),l.canvas}var _n=V(Wn(),1),Gn=V(Nn(),1);function Xn(e){let t=document.createElement("div"),n=(0,Gn.createRoot)(t),r;try{(0,_n.flushSync)(()=>{n.render(e)}),r=t.innerHTML}finally{n.unmount()}return r}var Kr=/<[a-zA-Z][^>]*>/g,Qr=/\b(fill|stroke|stop-color)="([^"]+)"/g;function Vn(e){return e.replaceAll(Kr,t=>t.replaceAll(Qr,(n,r,o)=>{if(!/^(rgba|hsl)/i.test(o))return n;let i=E(o);if(!i.isValid())return n;let a=i.alpha(),s=i.alpha(1).toHex();return a===1||t.includes(`${r}-opacity=`)?`${r}="${s}"`:`${r}="${s}" ${r}-opacity="${a}"`}))}async function Pa(e,t){if(await(0,Un.when)(()=>e.dataInitialized||!!e.error),e.error)throw e.error;let{Context:n}=await import("./dist-GXYZN4ZR.js"),r=new Map,o=Xn(x.default.createElement(Yr,{model:e,theme:t.theme,Context:n,layout:Lt(e,t),layers:r}));return Vn(o.replaceAll(/<g data-layer="([^"]+)"><\/g>/g,(i,a)=>{let s=r.get(a);return s?`<g id="${a}">${s.getSvg().innerHTML}</g>`:i})).replaceAll("&nbsp;","&#160;")}function Yr({model:e,theme:t,Context:n,layout:r,layers:o}){let{width:i,trackHeight:a,includeMinimap:s,legendWidth:l,topHeight:c}=r,{effectiveTreeAreaWidth:u,rowPanelsWidth:f}=e,{width:h,height:d}=Et(e,r),p=c,m={Context:n,model:e,theme:t,layout:r,layers:o},g=x.default.createElement(x.default.Fragment,null,a>0?x.default.createElement(so,{...m}):null,x.default.createElement("g",{transform:a>0?`translate(0 ${a})`:void 0},x.default.createElement(io,{...m})));return x.default.createElement("svg",{width:h,height:d,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:`0 0 ${h} ${d}`,fontFamily:"sans-serif"},x.default.createElement("rect",{width:"100%",height:"100%",fill:t.palette.background.default}),c>0?x.default.createElement(x.default.Fragment,null,s?x.default.createElement("g",{id:"minimap-panel",transform:`translate(${u+f} 0)`},x.default.createElement(je,{model:e,theme:t})):null,x.default.createElement(no,{model:e,theme:t,bandHeight:c}),e.showTreeOverview?x.default.createElement(eo,{model:e,theme:t,Context:n,layers:o}):null,x.default.createElement(to,{model:e,theme:t}),x.default.createElement("g",{transform:`translate(0 ${c})`},g)):g,l>0?x.default.createElement("g",{id:"legend-panel",transform:`translate(${i} ${p})`},x.default.createElement(oo,{model:e,theme:t,width:l})):null)}function eo({model:e,theme:t,Context:n,layers:r}){let{effectiveTreeAreaWidth:o,overviewHeight:i,id:a}=e,s=new n(o,i);return In({model:e,ctx:s,theme:t,width:o,height:i}),x.default.createElement(me,{panelId:"tree-overview",clipId:`tree-overview-${a}`,width:o,height:i,ctx:s,layers:r})}function to({model:e,theme:t}){let{marginLeft:n,treeScaleBar:r,treeOverviewHeight:o}=e;return r?x.default.createElement("g",{id:"tree-scalebar"},x.default.createElement(ct,{bar:r,marginLeft:n,y:o+kt,color:t.palette.text.primary})):null}function no({model:e,theme:t,bandHeight:n}){let{resolvedRowPanels:r,effectiveTreeAreaWidth:o,fontSize:i}=e,a=n-4;return r.length===0?null:x.default.createElement("g",{id:"rowpanel-headers"},r.map(s=>{let l=wn(s.width),c=l?i:Math.min(i,s.width),u=o+s.offsetX+s.width/2,f=l?u:u+c/3,h=l?s.width:a-ee;return c<5?null:x.default.createElement("text",{key:s.id,x:f,y:a,...l?{textAnchor:"middle"}:{transform:`rotate(-90 ${f} ${a})`},fontSize:c,fill:t.palette.text.primary},ie(d=>ge(d,c),s.header,h).text)}))}function ro({model:e,theme:t,offsetY:n}){let{fontSize:r}=e,o=An(e);return o.length===0?null:x.default.createElement("g",{id:"clade-labels"},o.map(i=>{let a=i.top-n,s=i.horizontal?i.left:i.left+r,l=i.horizontal?a+i.height/2+r/3:a+i.height;return x.default.createElement("text",{key:i.key,x:s,y:l,transform:i.horizontal?void 0:`rotate(-90 ${s} ${l})`,fontSize:r,fill:i.color??t.palette.text.primary},ie(c=>ge(c,r),i.label,i.horizontal?i.width:i.height).text)}))}function oo({model:e,theme:t,width:n}){let r=yt(e.legends),o=Rt(r),i=n-We-ee;return x.default.createElement("g",null,x.default.createElement("rect",{x:0,y:0,width:n-4,height:o,fill:t.palette.background.paper,stroke:t.palette.divider,rx:2}),r.map((a,s)=>{let l=ee+s*Tt;return x.default.createElement("g",{key:a.key},a.color?x.default.createElement("rect",{x:ee,y:l,width:ve,height:ve,fill:a.color,stroke:ln(a.color)}):null,x.default.createElement("text",{x:a.color?We:ee,y:l+ve-1,fontSize:Mt,fontWeight:a.color?void 0:"bold",fill:t.palette.text.primary},ie(c=>c.length*Ct,a.label,i).text))}))}function io({model:e,theme:t,layout:n,Context:r,layers:o}){let{contentHeight:i,offsetX:a,offsetY:s,msaAreaWidth:l}=n,{effectiveTreeAreaWidth:c,rowPanelsWidth:u,id:f}=e,h=new r(c,i);Fn({model:e,theme:t,ctx:h,offsetY:s,blockSizeYOverride:i,highResScaleFactorOverride:1});let d=u?new r(u,i):void 0;d&&xn({model:e,theme:t,ctx:d,offsetY:s,blockSizeYOverride:i,highResScaleFactorOverride:1});let p=ao({model:e,theme:t,layout:n}),m=new r(l,i);return cn({model:e,theme:t,ctx:m,offsetX:a,offsetY:s,blockSizeXOverride:l,blockSizeYOverride:i,highResScaleFactorOverride:1}),bn({model:e,theme:t,ctx:m,offsetX:a,offsetY:s,blockSizeXOverride:l,blockSizeYOverride:i,highResScaleFactorOverride:1,rasterTiles:!!p}),m.resetTransform(),pn({ctx:m,model:e,theme:t,offsetX:a,offsetY:s,width:l,height:i}),x.default.createElement(x.default.Fragment,null,x.default.createElement(me,{panelId:"tree-panel",clipId:`tree-${f}`,width:c,height:i,ctx:h,layers:o}),x.default.createElement(ro,{model:e,theme:t,offsetY:s}),d?x.default.createElement(me,{panelId:"rowpanels-panel",clipId:`rowpanels-${f}`,width:u,height:i,transform:`translate(${c} 0)`,ctx:d,layers:o}):null,x.default.createElement(me,{panelId:"msa-panel",clipId:`msa-${f}`,width:l,height:i,transform:`translate(${c+u} 0)`,ctx:m,layers:o,underlay:p}))}function ao({model:e,theme:t,layout:n}){let{contentHeight:r,offsetX:o,offsetY:i,msaAreaWidth:a}=n,{colWidth:s,rowHeight:l}=e;if(!Nt(e))return;let{xStart:c,xEnd:u}=W({offsetX:o,blockWidth:a,colWidth:s}),{yStart:f,yEnd:h}=De({model:e,offsetY:i,blockSizeY:r}),d=Math.min(u,e.numColumns)-c,p=Math.min(h,e.numRows)-f,m=_t({model:e,theme:t,col0:c,row0:f,numCols:d,numRows:p});return m?x.default.createElement("image",{href:m,x:c*s-o,y:f*l-i,width:d*s,height:p*l,imageRendering:"pixelated",preserveAspectRatio:"none"}):void 0}function so({model:e,theme:t,layout:n,Context:r,layers:o}){let{trackHeight:i,offsetX:a,msaAreaWidth:s}=n,{effectiveTreeAreaWidth:l,rowPanelsWidth:c,id:u}=e,f=new r(s,i);return Cn({model:e,ctx:f,theme:t,offsetX:a,blockSizeXOverride:s,highResScaleFactorOverride:1}),x.default.createElement(x.default.Fragment,null,x.default.createElement(lo,{model:e,theme:t}),x.default.createElement("g",{transform:`translate(${l+c} 0)`},x.default.createElement(me,{panelId:"tracks-panel",clipId:`tracks-${u}`,width:s,height:i,ctx:f,layers:o})))}function lo({model:e,theme:t}){let{turnedOnTracks:n,effectiveTreeAreaWidth:r,fontSize:o,drawLabels:i}=e;if(!i)return null;let a=n.map((s,l)=>{let{id:c,name:u,height:f}=s.model,h=Math.min(f,o),d=n.slice(0,l).reduce((p,m)=>p+m.model.height,0);return{id:c,name:u,size:h,baseline:d+h*.8}});return x.default.createElement(x.default.Fragment,null,a.map(({id:s,name:l,size:c,baseline:u})=>c<5?null:x.default.createElement("text",{key:s,x:r-4,y:u,fontSize:c,textAnchor:"end",fill:t.palette.text.primary},l)))}function me({panelId:e,clipId:t,width:n,height:r,transform:o,ctx:i,layers:a,underlay:s}){return a.set(e,i),x.default.createElement(x.default.Fragment,null,x.default.createElement("defs",null,x.default.createElement("clipPath",{id:t},x.default.createElement("rect",{x:0,y:0,width:n,height:r}))),x.default.createElement("g",{clipPath:`url(#${t})`,transform:o},s,x.default.createElement("g",{"data-layer":e})))}export{Ht as a,Se as b,Jn as c,Nt as d,bo as e,Gt as f,Xt as g,E as h,Ao as i,ln as j,Ho as k,zo as l,Fo as m,Bo as n,Oo as o,cn as p,Vo as q,Uo as r,jo as s,qo as t,fn as u,Qo as v,pn as w,W as x,bn as y,wn as z,vr as A,kn as B,vi as C,xi as D,Si as E,Mi as F,Tn as G,Sr as H,zr as I,ct as J,Br as K,ge as L,Ii as M,An as N,ji as O,qi as P,Zi as Q,$r as R,Ji as S,Hn as T,Fn as U,Pn as V,qr as W,ca as X,Nn as Y,Pa as Z};
2
- //# sourceMappingURL=chunk-L6CBIH6H.js.map
1
+ import{L as St,M as kt,Q as ee,R as Tt,S as ve,T as Mt,U as Ct,V as We,W as Rt,X as Lt,Y as Et,a as yt,j as vt,l as xt}from"./chunk-ZQSWX57C.js";import{b as ye,d as bt,e as wt}from"./chunk-73KAPCJ2.js";import{a as qn}from"./chunk-BX4Z274Q.js";import{a as le}from"./chunk-J6KYLXRD.js";import{a as $e,b as V}from"./chunk-FY3BTKY4.js";var Ht=$e((co,At)=>{At.exports=JBrowseExports.mobx});var Wn=$e((ua,$n)=>{$n.exports=JBrowseExports["react-dom"]});var Nn=$e((ha,Dn)=>{Dn.exports=JBrowseExports["react-dom/client"]});var x=V(le(),1),Un=V(Ht(),1);function De({model:e,offsetY:t,blockSizeY:n}){let{rowHeight:r}=e;return{yStart:Math.max(0,Math.floor((t-r)/r)),yEnd:Math.max(0,Math.ceil((t+n+r)/r))}}function I({model:e,offsetY:t,blockSizeY:n}){let{yStart:r,yEnd:o}=De({model:e,offsetY:t,blockSizeY:n});return e.leaves.slice(r,o)}var j=V(le(),1);var ce=V(le(),1),Ft=V(qn(),1);var te=V(le(),1);function zt(e,t){let n=(0,te.useRef)(!1),[r,o]=(0,te.useState)();return(0,te.useEffect)(()=>{if(r!==void 0){let s=function(c){n.current||(n.current=!0,requestAnimationFrame(()=>{let u=e==="x"?c.clientX:c.clientY;t(u-i,a),n.current=!1}))},l=function(){o(void 0)},{client:i,startScroll:a}=r;return document.addEventListener("mousemove",s),document.addEventListener("mouseup",l),()=>{document.removeEventListener("mousemove",s),document.removeEventListener("mouseup",l)}}},[e,t,r]),{dragging:r!==void 0,startDrag:(i,a)=>{o({client:e==="x"?i.clientX:i.clientY,startScroll:a})}}}var Se="rgba(66,119,127,0.3)",xe=4,Zn={thumb:{fill:()=>Se,fillHovered:()=>"rgba(66,119,127,0.6)",cursor:()=>"pointer",position:"absolute",zIndex:100},resizer:{fill:e=>e.palette.mode==="dark"?e.palette.grey[800]:"rgba(200,200,200)",fillHovered:e=>e.palette.mode==="dark"?e.palette.grey[600]:"rgba(150,150,150)",cursor:e=>e==="x"?"ew-resize":"ns-resize",position:"relative"}};function Jn({axis:e,variant:t,getStart:n,onDrag:r,style:o}){let i=(0,Ft.useTheme)(),[a,s]=(0,ce.useState)(!1),{startDrag:l}=zt(e,r),{fill:c,fillHovered:u,cursor:f,position:h,zIndex:d}=Zn[t];return ce.default.createElement("div",{...t==="resizer"&&{role:"separator","aria-orientation":e==="x"?"vertical":"horizontal"},onMouseEnter:()=>{s(!0)},onMouseLeave:()=>{s(!1)},onMouseDown:p=>{l(p,n())},style:{position:h,zIndex:d,cursor:f(e),background:a?u(i):c(i),...o}},t==="resizer"?ce.default.createElement("div",{style:{position:"absolute",zIndex:101,...e==="x"?{top:0,bottom:0,left:-xe,right:-xe}:{left:0,right:0,top:-xe,bottom:-xe}}}):null)}function ke(e){let{dynamicColorSchemeName:t}=e;if(t==="clustalx_protein_dynamic"){let{colClustalX:r}=e;return(o,i)=>r[o][i]}if(t==="percent_identity_dynamic"){let{colConsensus:r}=e;return(o,i)=>{let a=r[o];return i===a.letter?a.color:void 0}}let{colorScheme:n}=e;return(r,o)=>n[o]}function Bt(e){let{dynamicColorSchemeName:t}=e;return t==="clustalx_protein_dynamic"?e.colClustalX:t==="percent_identity_dynamic"?e.colConsensus:e.colorScheme}var ne=512,Kn=64,Qn=2e3,Yn=4096,fe=new Uint8Array(new Uint32Array([1]).buffer)[0]===1;function Wt(e,t,n,r){return fe?(r<<24|n<<16|t<<8|e)>>>0:(e<<24|t<<16|n<<8|r)>>>0}var J,Te=new Map;function er(e){let t=Te.get(e);if(t!==void 0)return t;J===void 0&&(J=Ge(1,1)?.ctx??null);let n=0;if(J){J.clearRect(0,0,1,1),J.fillStyle=e,J.fillRect(0,0,1,1);let[r=0,o=0,i=0,a=0]=J.getImageData(0,0,1,1).data;n=Wt(r,o,i,a)}return Te.size>=Yn&&Te.clear(),Te.set(e,n),n}function Dt(e,t){let{columns:n,relativeTo:r,colorAt:o,bg:i,hover:a}=e,s=t(i),l=t(a),c=r?n.get(r):void 0;return(u,f,h)=>{if(c&&u!==r&&h===c[f])return l;let d=o(f,h);return d===void 0?s:t(d)}}function Ne({spec:e,col0:t,row0:n,width:r,height:o,colStep:i=1,rowStep:a=1,colSpan:s=1,rowSpan:l=1,toPixel:c=er,out:u=new Uint32Array(r*o)}){if(s>1||l>1)return tr({spec:e,col0:t,row0:n,width:r,height:o,colSpan:s,rowSpan:l,toPixel:c,out:u}),u;let{rowNames:f,columns:h}=e,d=Dt(e,c);for(let p=0;p<o;p++){let m=f[n+p*a];if(m===void 0)break;let g=h.get(m);if(!g)continue;let w=p*r;for(let b=0;b<r;b++){let v=t+b*i,y=g[v];if(y===void 0)break;u[w+b]=d(m,v,y)}}return u}function tr({spec:e,col0:t,row0:n,width:r,height:o,colSpan:i,rowSpan:a,toPixel:s,out:l}){let{rowNames:c,columns:u}=e,f=Dt(e,s),h=i*a,d=fe?0:24,p=fe?8:16,m=fe?16:8,g=fe?24:0,w=[],b=[];for(let v=0;v<o;v++){w.length=0,b.length=0;for(let S=0;S<a;S++){let k=c[n+v*a+S],T=k===void 0?void 0:u.get(k);k!==void 0&&T&&(w.push(k),b.push(T))}let y=v*r;for(let S=0;S<r;S++){let k=0,T=0,M=0,C=0;for(let R=0;R<b.length;R++){let B=b[R],N=w[R];for(let F=0;F<i;F++){let _=t+S*i+F,G=B[_];if(G===void 0)break;let O=f(N,_,G),L=O>>>g&255;k+=(O>>>d&255)*L,T+=(O>>>p&255)*L,M+=(O>>>m&255)*L,C+=L}}l[y+S]=C===0?0:Wt(Math.round(k/C),Math.round(T/C),Math.round(M/C),Math.round(C/h))}}}function nr(e){let t=e;return!!t&&typeof t.createImageData=="function"&&typeof t.putImageData=="function"&&typeof t.getImageData=="function"&&typeof t.clearRect=="function"&&typeof t.fillRect=="function"}function _e(e,t,n,r){let o=typeof OffscreenCanvas<"u"?new OffscreenCanvas(e,t):typeof document<"u"?Object.assign(document.createElement("canvas"),{width:e,height:t}):void 0,i=o?.getContext("2d",r);return n(i)?{canvas:o,ctx:i}:void 0}function Ge(e,t){return _e(e,t,nr,{willReadFrequently:!0})}function Xe(e,t,n){let r=Ge(e,t);if(!r)return;let o=r.ctx.createImageData(e,t);return n(new Uint32Array(o.data.buffer)),r.ctx.putImageData(o,0,0),r.canvas}var Ot;function Nt(e){return Ot??=!!Ge(1,1),!e.actuallyShowDomains&&e.bgColor&&Ot}var Pt=new WeakMap;function rr(e,t){return[e.columns,e.leaves,e.colorSchemeName,e.customColorScheme,Bt(e),e.relativeTo,t.palette.action.hover,t.palette.background.default]}function Ve(e,t){let n=rr(e,t),r=Pt.get(e);if(r&&n.every((i,a)=>i===r.keys[a]))return r;let o={keys:n,spec:{rowNames:e.leaves.map(i=>i.data.name),columns:e.columns,relativeTo:e.relativeTo,colorAt:ke(e),bg:t.palette.background.default,hover:t.palette.action.hover},numColumns:e.numColumns,numRows:e.numRows,tiles:new Map};return Pt.set(e,o),o}function It(e){return e>=1?1:2**Math.ceil(Math.log2(1/e))}function or({cache:e,tileRow:t,tileCol:n,colSpan:r,rowSpan:o}){let i=`${r}_${o}_${t}_${n}`,a=e.tiles.get(i);if(a)return e.tiles.delete(i),e.tiles.set(i,a),a;let s=n*ne*r,l=t*ne*o,c=Math.min(ne,Math.ceil((e.numColumns-s)/r)),u=Math.min(ne,Math.ceil((e.numRows-l)/o));if(c<=0||u<=0)return;let f=Xe(c,u,h=>{Ne({spec:e.spec,col0:s,row0:l,width:c,height:u,colSpan:r,rowSpan:o,out:h})});if(f){e.tiles.set(i,f);for(let h of e.tiles.keys()){if(e.tiles.size<=Kn)break;e.tiles.delete(h)}return f}}function bo({ctx:e,model:t,theme:n,offsetX:r,offsetY:o}){let{colWidth:i,rowHeight:a,blockSize:s,highResScaleFactor:l}=t,c=Ve(t,n),u=It(i*l),f=It(a*l);e.resetTransform(),e.scale(l,l),e.translate(-r,-o),e.imageSmoothingEnabled=!1;let h=i*u,d=a*f,p=ne*h,m=ne*d,g=Math.max(0,Math.floor(r/p)),w=Math.floor((r+s)/p),b=Math.max(0,Math.floor(o/m)),v=Math.floor((o+s)/m);for(let y=b;y<=v;y++)for(let S=g;S<=w;S++){let k=or({cache:c,tileRow:y,tileCol:S,colSpan:u,rowSpan:f});k&&e.drawImage(k,0,0,k.width,k.height,S*p,y*m,k.width*h,k.height*d)}e.resetTransform(),e.imageSmoothingEnabled=!0}function Ue(e){if(e)try{if("toDataURL"in e&&typeof e.toDataURL=="function")return e.toDataURL("image/png");if(typeof document>"u")return;let t=document.createElement("canvas");t.width=e.width,t.height=e.height;let n=t.getContext("2d");return typeof n?.drawImage!="function"?void 0:(n.drawImage(e,0,0),t.toDataURL("image/png"))}catch{return}}var ir=64e6,$t=16384;function _t({model:e,theme:t,col0:n,row0:r,numCols:o,numRows:i}){if(o<=0||i<=0||typeof document>"u")return;let a=Ve(e,t),s=1,l=1;for(;Math.ceil(o/s)>$t;)s*=2;for(;Math.ceil(i/l)>$t;)l*=2;for(;Math.ceil(o/s)*Math.ceil(i/l)>ir;)o/s>=i/l?s*=2:l*=2;let c=Math.ceil(o/s),u=Math.ceil(i/l);return Ue(Xe(c,u,f=>{Ne({spec:a.spec,col0:n,row0:r,width:c,height:u,colSpan:s,rowSpan:l,out:f})}))}function Gt({model:e,theme:t,height:n}){let r=Ve(e,t),{numColumns:o,numRows:i}=r;if(!(o<=0||i<=0)){if(r.thumbnail?.height!==n){let a=Math.max(1,Math.ceil(o/Qn)),s=Math.max(1,Math.ceil(i/n)),l=Math.ceil(o/a),c=Math.ceil(i/s);r.thumbnail={height:n,canvas:Xe(l,c,u=>{Ne({spec:r.spec,col0:0,row0:0,width:l,height:c,colStep:a,rowStep:s,out:u})})}}return r.thumbnail.canvas}}function Xt(e){let{scrollX:t,minimapHeight:n,totalWidth:r,msaCanvasWidth:o}=e,i=r>0?o/r:0,a=-t*i,s=Math.min(o,Math.max(o*i,20)),l=n-12,c=`${a+s},0 ${a},0 0,${l} ${o},${l}`;return{unit:i,s:a,w:s,polygonHeight:l,polygonPoints:c}}function je({model:e,theme:t}){let{msaCanvasWidth:n}=e,{s:r,w:o,polygonPoints:i}=Xt(e),a=Ue(Gt({model:e,theme:t,height:12}));return j.default.createElement(j.default.Fragment,null,a?j.default.createElement("image",{href:a,x:0,y:0,width:n,height:12,preserveAspectRatio:"none"}):null,j.default.createElement("rect",{x:0,y:0,width:n,height:12,stroke:t.palette.text.secondary,fill:"none"}),j.default.createElement("rect",{x:Math.max(0,r),y:0,width:o,height:12,fill:Se,stroke:t.palette.text.secondary}),j.default.createElement("g",{transform:`translate(0 ${12})`},j.default.createElement("polygon",{fill:Se,points:i})))}for(Kt={grad:.9,turn:360,rad:360/(2*Math.PI)},$=function(e){return typeof e=="string"?e.length>0:typeof e=="number"},A=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=Math.pow(10,t)),Math.round(n*e)/n+0},z=function(e,t,n){return t===void 0&&(t=0),n===void 0&&(n=1),e>n?n:e>t?e:t},et=function(e){return(e=isFinite(e)?e%360:0)<0?e+360:e},Re=function(e,t){return t===void 0&&(t=0),A(e,t)%360},Je=function(e){return{r:z(e.r,0,255),g:z(e.g,0,255),b:z(e.b,0,255),a:z(e.a)}},Ce=function(e){return{r:A(e.r),g:A(e.g),b:A(e.b),a:A(e.a,3)}},Qt=/^#([0-9a-f]{3,8})$/i,K=function(e,t){var n=e.charCodeAt(t);return(15&n)+9*(n>>6)},de=function(e,t){return K(e,t)<<4|K(e,t+1)},Ke=[],he=0;he<256;he++)Ke.push((he<16?"0":"")+he.toString(16));var Kt,$,A,z,et,Re,Je,Ce,Qt,K,de,Ke,he,Me=function(e){return Ke[z(e,0,255)]},Yt=function(e){var t=e.r,n=e.g,r=e.b,o=e.a,i=Math.max(t,n,r),a=i-Math.min(t,n,r),s=a?i===t?(n-r)/a:i===n?2+(r-t)/a:4+(t-n)/a:0;return{h:60*(s<0?s+6:s),s:i?a/i*100:0,v:i/255*100,a:o}},en=function(e){var t=e.h,n=e.s,r=e.v,o=e.a;t=t/360*6,n/=100,r/=100;var i=Math.floor(t),a=r*(1-n),s=r*(1-(t-i)*n),l=r*(1-(1-t+i)*n),c=i%6;return{r:255*[r,s,a,a,l,r][c],g:255*[l,r,r,s,a,a][c],b:255*[a,a,l,r,r,s][c],a:o}},Vt=function(e){return{h:et(e.h),s:z(e.s,0,100),l:z(e.l,0,100),a:z(e.a)}},Ut=function(e){return{h:Re(e.h),s:A(e.s),l:A(e.l),a:A(e.a,3)}},jt=function(e){return en((n=(t=e).s,{h:t.h,s:(n*=((r=t.l)<50?r:100-r)/100)>0?2*n/(r+n)*100:0,v:r+n,a:t.a}));var t,n,r},re=function(e){return{h:(t=Yt(e)).h,s:(o=(200-(n=t.s))*(r=t.v)/100)>0&&o<200?n*r/100/(o<=100?o:200-o)*100:0,l:o/2,a:t.a};var t,n,r,o},ar=/^hsla?\(\s*([+-]?(?:\d*\.\d+|\d+))(deg|rad|grad|turn)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))%\s*,\s*([+-]?(?:\d*\.\d+|\d+))%\s*(?:,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i,sr=/^hsla?\(\s*([+-]?(?:\d*\.\d+|\d+))(deg|rad|grad|turn)?\s+([+-]?(?:\d*\.\d+|\d+))%\s+([+-]?(?:\d*\.\d+|\d+))%\s*(?:\/\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i,lr=/^rgba?\(\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*(?:,\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i,cr=/^rgba?\(\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s+([+-]?(?:\d*\.\d+|\d+))(%)?\s+([+-]?(?:\d*\.\d+|\d+))(%)?\s*(?:\/\s*([+-]?(?:\d*\.\d+|\d+))(%)?\s*)?\)$/i,Qe={string:[[function(e){if(!Qt.test(e))return null;var t=e.length;return t<=5?{r:17*K(e,1),g:17*K(e,2),b:17*K(e,3),a:t===5?A(17*K(e,4)/255,2):1}:t===7||t===9?{r:de(e,1),g:de(e,3),b:de(e,5),a:t===9?A(de(e,7)/255,2):1}:null},"hex"],[function(e){var t=lr.exec(e)||cr.exec(e);return t?t[2]!==t[4]||t[4]!==t[6]?null:Je({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=ar.exec(e)||sr.exec(e);if(!t)return null;var n,r,o=Vt({h:(n=t[1],r=t[2],r===void 0&&(r="deg"),Number(n)*(Kt[r]||1)),s:Number(t[3]),l:Number(t[4]),a:t[5]===void 0?1:Number(t[5])/(t[6]?100:1)});return jt(o)},"hsl"]],object:[[function(e){var t=e.r,n=e.g,r=e.b,o=e.a,i=o===void 0?1:o;return $(t)&&$(n)&&$(r)?Je({r:Number(t),g:Number(n),b:Number(r),a:Number(i)}):null},"rgb"],[function(e){var t=e.h,n=e.s,r=e.l,o=e.a,i=o===void 0?1:o;if(!$(t)||!$(n)||!$(r))return null;var a=Vt({h:Number(t),s:Number(n),l:Number(r),a:Number(i)});return jt(a)},"hsl"],[function(e){var t=e.h,n=e.s,r=e.v,o=e.a,i=o===void 0?1:o;if(!$(t)||!$(n)||!$(r))return null;var a=(function(s){return{h:et(s.h),s:z(s.s,0,100),v:z(s.v,0,100),a:z(s.a)}})({h:Number(t),s:Number(n),v:Number(r),a:Number(i)});return en(a)},"hsv"]]},qt=function(e,t){for(var n=0;n<t.length;n++){var r=t[n][0](e);if(r)return[r,t[n][1]]}return[null,void 0]},fr=function(e){return typeof e=="string"?qt(e.trim(),Qe.string):typeof e=="object"&&e!==null?qt(e,Qe.object):[null,void 0]};var qe=function(e,t){var n=re(e);return{h:n.h,s:z(n.s+100*t,0,100),l:n.l,a:n.a}},Ze=function(e){return(299*e.r+587*e.g+114*e.b)/1e3/255},Zt=function(e,t){var n=re(e);return{h:n.h,s:n.s,l:z(n.l+100*t,0,100),a:n.a}},Ye=(function(){function e(t){this.parsed=fr(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 A(Ze(this.rgba),2)},e.prototype.isDark=function(){return Ze(this.rgba)<.5},e.prototype.isLight=function(){return Ze(this.rgba)>=.5},e.prototype.toHex=function(){return t=Ce(this.rgba),n=t.r,r=t.g,o=t.b,a=(i=t.a)<1?Me(A(255*i)):"","#"+Me(n)+Me(r)+Me(o)+a;var t,n,r,o,i,a},e.prototype.toRgb=function(){return Ce(this.rgba)},e.prototype.toRgbString=function(){return t=Ce(this.rgba),n=t.r,r=t.g,o=t.b,(i=t.a)<1?"rgba("+n+", "+r+", "+o+", "+i+")":"rgb("+n+", "+r+", "+o+")";var t,n,r,o,i},e.prototype.toHsl=function(){return Ut(re(this.rgba))},e.prototype.toHslString=function(){return t=Ut(re(this.rgba)),n=t.h,r=t.s,o=t.l,(i=t.a)<1?"hsla("+n+", "+r+"%, "+o+"%, "+i+")":"hsl("+n+", "+r+"%, "+o+"%)";var t,n,r,o,i},e.prototype.toHsv=function(){return t=Yt(this.rgba),{h:Re(t.h),s:A(t.s),v:A(t.v),a:A(t.a,3)};var t},e.prototype.invert=function(){return E({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),E(qe(this.rgba,t))},e.prototype.desaturate=function(t){return t===void 0&&(t=.1),E(qe(this.rgba,-t))},e.prototype.grayscale=function(){return E(qe(this.rgba,-1))},e.prototype.lighten=function(t){return t===void 0&&(t=.1),E(Zt(this.rgba,t))},e.prototype.darken=function(t){return t===void 0&&(t=.1),E(Zt(this.rgba,-t))},e.prototype.rotate=function(t){return t===void 0&&(t=15),this.hue(re(this.rgba).h+t)},e.prototype.alpha=function(t){return typeof t=="number"?E({r:(n=this.rgba).r,g:n.g,b:n.b,a:t}):A(this.rgba.a,3);var n},e.prototype.hue=function(t){var n=re(this.rgba);return typeof t=="number"?E({h:t,s:n.s,l:n.l,a:n.a}):Re(n.h)},e.prototype.isEqual=function(t){return this.toHex()===E(t).toHex()},e})(),E=function(e){return e instanceof Ye?e:new Ye(e)},Jt=[],tn=function(e){e.forEach(function(t){Jt.indexOf(t)<0&&(t(Ye,Qe),Jt.push(t))})};var tt=function(e){var t=e/255;return t<.04045?t/12.92:Math.pow((t+.055)/1.055,2.4)},nt=function(e){return .2126*tt(e.r)+.7152*tt(e.g)+.0722*tt(e.b)},nn=function(e){e.prototype.luminance=function(){return t=nt(this.rgba),(n=2)===void 0&&(n=0),r===void 0&&(r=Math.pow(10,n)),Math.round(r*t)/r+0;var t,n,r},e.prototype.contrast=function(t){t===void 0&&(t="#FFF");var n,r,o,i,a,s,l,c=t instanceof e?t:new e(t);return i=this.rgba,a=c.toRgb(),s=nt(i),l=nt(a),n=s>l?(s+.05)/(l+.05):(l+.05)/(s+.05),(r=2)===void 0&&(r=0),o===void 0&&(o=Math.pow(10,r)),Math.floor(o*n)/o+0},e.prototype.isReadable=function(t,n){return t===void 0&&(t="#FFF"),n===void 0&&(n={}),this.contrast(t)>=(s=(a=(r=n).size)===void 0?"normal":a,(i=(o=r.level)===void 0?"AA":o)==="AAA"&&s==="normal"?7:i==="AA"&&s==="large"?3:4.5);var r,o,i,a,s}};var rn=function(e,t){var n={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"},r={};for(var o in n)r[n[o]]=o;var i={};e.prototype.toName=function(a){if(!(this.rgba.a||this.rgba.r||this.rgba.g||this.rgba.b))return"transparent";var s,l,c=r[this.toHex()];if(c)return c;if(a?.closest){var u=this.toRgb(),f=1/0,h="black";if(!i.length)for(var d in n)i[d]=new e(n[d]).toRgb();for(var p in n){var m=(s=u,l=i[p],Math.pow(s.r-l.r,2)+Math.pow(s.g-l.g,2)+Math.pow(s.b-l.b,2));m<f&&(f=m,h=p)}return h}},t.string.push([function(a){var s=a.toLowerCase(),l=s==="transparent"?"#0000":n[s];return l?new e(l).toRgb():null},"name"])};tn([rn,nn]);var on=new Map;function sn(e,t){let n=`${e}|${t}`,r=on.get(n);if(r!==void 0)return r;let o=E(e);if(!o.isReadable(t)){let a=E(t).luminance()<.5;for(let s=0;s<40&&!o.isReadable(t);s++)o=a?o.lighten(.05):o.darken(.05)}let i=o.toHex();return on.set(n,i),i}function Ao(e,t){let n=E(e);return n.alpha()===1?n.alpha(t).toRgbString():e}function ln(e){return E(e).darken(.1).toHex()}function Ho(e,t){return Object.fromEntries(Object.entries(e).map(t))}var an=new WeakMap;function q(e){let t=an.get(e);t||(t=new Map,an.set(e,t));let n=e.palette.text.primary;return r=>{if(!r)return n;let o=t.get(r);if(o!==void 0)return o;let i=e.palette.getContrastText(E(r).toHex());return t.set(r,i),i}}function zo(e,t){if(e.length===0)return t;let n=new Set(e);return t.filter((r,o)=>!n.has(o))}function Fo(e,t){if(e.length===0)return t;let n=[],r=0;for(let o of e)o>r&&n.push(t.slice(r,o)),r=o+1;return r<t.length&&n.push(t.slice(r)),n.join("")}function Bo(e,t){let n=[],r=e.length,o=0,i=0,a=-1,s=[];for(let l=0;l<t.length;l++)i<r&&e[i]===l?(t.charCodeAt(l)-45>>>0<=1||(a===o?s.push(t[l]):(s.length>0&&n.push({pos:a,letters:s.join("")}),a=o,s=[t[l]])),i++):o++;return s.length>0&&n.push({pos:a,letters:s.join("")}),n}function Oo(e){return e.end-e.start}function Le(e,t){let n=[];for(let r of e){let o=t.get(r.data.name);o&&o.length>0&&n.push({y:r.x,bands:o})}return n}function ur({rows:e,layout:t,xOf:n,colors:r,labelOf:o,labelDrawn:i,measureText:a,xMin:s,xMax:l}){let c=[];for(let{y:u,bands:f}of e){let h=t.height(f[0].laneCount),d=t.headLength(h),p=t.headRise?.(h)??0,m=o!==void 0&&h>=vt,g=Math.min(h-2,11),w=[],b=[],v=[];for(let y of f){let[S,k]=n(y),T=k-S;if(k<s||S>l)continue;let M=t.top(u,y.lane,h),{fill:C,stroke:R}=r.get(y.annotation),{strand:B}=y.annotation,N=B===void 0?0:Math.min(d,T);w.push(B===void 0?{band:y,fill:C,stroke:R,box:{x:S,y:M,w:T,h}}:{band:y,fill:C,stroke:R,outline:hr({x:S,t:M,w:T,h,head:N,rise:p,strand:B})}),m&&v.push({band:y,xStart:S,w:T,t:M,head:N,fill:C})}for(let{band:y,xStart:S,w:k,t:T,head:M,fill:C}of v){let R=o(y);R!==void 0&&a(R,g)+2<=k-M/2&&(i?.(y),b.push({text:R,x:S+k/2,y:T+h/2,fill:C}))}c.push({shapes:w,labels:b,fontSize:g})}return c}function Ee({ctx:e,contrastText:t,...n}){let r="",o=a=>{let s=`${a}px sans-serif`;s!==r&&(e.font=s,r=s)},i=ur({...n,measureText:(a,s)=>(o(s),e.measureText(a).width)});for(let{shapes:a,labels:s,fontSize:l}of i){for(let{fill:c,stroke:u,box:f,outline:h}of a)if(e.fillStyle=c,e.strokeStyle=u,f)e.fillRect(f.x,f.y,f.w,f.h),e.strokeRect(f.x,f.y,f.w,f.h);else if(h){e.beginPath(),e.moveTo(...h[0]);for(let d=1;d<h.length;d++)e.lineTo(...h[d]);e.closePath(),e.fill(),e.stroke()}if(s.length>0){o(l),e.textAlign="center",e.textBaseline="middle";for(let{text:c,x:u,y:f,fill:h}of s)e.fillStyle=t(h),e.fillText(c,u,f)}}}function hr({x:e,t,w:n,h:r,head:o,rise:i,strand:a}){let s=a>0?e+n:e,l=a>0?e:e+n,c=a>0?s-o:s+o,u=t+r,f=t-i,h=(f+u)/2;return o>=n?[[l,f],[s,h],[l,u]]:[[l,t],[c,t],...i>0?[[c,f]]:[],[s,h],[c,u],[l,u]]}function cn({model:e,theme:t,offsetX:n,offsetY:r,ctx:o,highResScaleFactorOverride:i,blockSizeXOverride:a,blockSizeYOverride:s}){let{blockSize:l,rowHeight:c,highResScaleFactor:u,actuallyShowDomains:f}=e;if(!f)return;let h=i??u,d=a??l,p=s??l;o.resetTransform(),o.scale(h,h),o.translate(-n,c/2-r),Ee({ctx:o,...gr(e,I({model:e,offsetY:r,blockSizeY:p})),contrastText:q(t),xMin:n,xMax:n+d})}function gr(e,t){let{rowHeight:n,subFeatureRows:r,colWidth:o,featureColors:i,featureLabels:a,segmentLabels:s,showMsaLetters:l,domainUnderline:c,domainBands:u}=e,f=c?Math.min(3,n):n,d=!a&&!l&&!r?new Set:void 0;return{rows:Le(t,u),layout:{height:p=>r?Math.min(4,n/p):f,top:(p,m,g)=>p-n+(r?m*g:c?n-g:0),headLength:p=>c?n/2:p,headRise:p=>c?Math.max(0,n*.4-p):0},xOf:p=>[p.startCol*o,p.endCol*o],colors:i,labelOf:p=>a?.get(p.annotation)??(d&&!d.has(p.annotation.accession)?s.get(p.annotation.accession):void 0),labelDrawn:p=>d?.add(p.annotation.accession)}}function H(e,t,n=!1){e.font=e.font.replace(/(?:bold )?[\d.]+px/,`${n?"bold ":""}${t}px`)}var Ae="rgba(0,128,255,0.3)",Vo="rgba(255,165,0,0.2)",Uo="rgba(255,165,0,0.15)",jo="rgba(0,0,0,0.15)",qo="rgba(128,128,0,0.2)",fn="rgba(25,118,210,0.22)",un="rgba(25,118,210,0.95)";var hn="rgba(255,140,0,0.28)",dn="rgba(210,90,0,0.95)",ot="rgba(255,140,0,0.18)",rt=11,He=3,it=rt+He*2;function at({ctx:e,theme:t,label:n,x:r,y:o,spanWidth:i,bounds:a,placed:s}){H(e,rt),e.textAlign="start";let l=e.measureText(n).width+He*2,c=it,u=l<=i?r:r+i+2;a&&(u=Math.max(a.min,Math.min(u,a.max-l)));let f=o;if(s){let h=d=>d.left<u+l&&d.right>u&&d.top<f+c&&d.bottom>f;for(;s.some(h);)f+=c;s.push({left:u,right:u+l,top:f,bottom:f+c})}e.fillStyle=t.palette.background.paper,e.fillRect(u,f,l,c),e.fillStyle=t.palette.text.primary,e.fillText(n,u+He,f+He+rt-2)}function mr({ctx:e,model:t,theme:n,offsetX:r,offsetY:o,width:i,height:a}){let{resolvedClades:s,resolvedHighlights:l,rowTints:c,colWidth:u,rowHeight:f}=t,h=[];e.lineWidth=2;let d=Math.max(0,Math.floor(o/f)),p=Math.ceil((o+a)/f),m=g=>{e.fillRect(0,g*f-o,i,f)};for(let{rows:g,color:w,mark:b}of s)b==="highlight"&&g[1]>=d&&g[0]<=p&&(e.fillStyle=w,e.fillRect(0,g[0]*f-o,i,(g[1]-g[0]+1)*f));if(c)for(let g=d;g<=Math.min(p,c.length-1);g++){let w=c[g];w&&(e.fillStyle=w,m(g))}for(let{rowIndices:g,color:w}of l){e.fillStyle=w??ot;for(let b of g)b>=d&&b<=p&&m(b)}for(let{startCol:g,endCol:w,label:b,color:v}of l){if(g===void 0||w===void 0)continue;let y=g*u-r,S=(w-g+1)*u;e.fillStyle=v??hn,e.fillRect(y,0,S,a),e.strokeStyle=v??dn,e.strokeRect(y,0,S,a),b&&at({ctx:e,theme:n,label:b,x:y,y:0,spanWidth:S,bounds:{min:0,max:i},placed:h})}}function Qo({ctx:e,model:t,offsetX:n,offsetY:r,height:o}){let{resolvedSelection:i,colWidth:a,rowHeight:s}=t;if(!i)return;let{startCol:l,endCol:c,rowRuns:u}=i,f=l*a-n,h=(c-l+1)*a;e.lineWidth=1;for(let[d,p]of u){let m=d*s-r,g=(p-d+1)*s;m<o&&m+g>0&&(e.fillStyle=fn,e.fillRect(f,m,h,g),e.strokeStyle=un,e.strokeRect(f,m,h,g))}}function pn({ctx:e,model:t,theme:n,offsetX:r,offsetY:o,width:i,height:a}){let{colWidth:s,rowHeight:l,referenceRowIndex:c,highlightedColumnRuns:u}=t;c!==void 0&&(e.fillStyle=Ae,e.fillRect(0,c*l-o,i,l)),e.lineWidth=2;for(let{start:f,end:h}of u){let d=f*s-r,p=(h-f+1)*s;e.fillStyle=hn,e.fillRect(d,0,p,a),e.strokeStyle=dn,e.strokeRect(d,0,p,a)}mr({ctx:e,model:t,theme:n,offsetX:r,offsetY:o,width:i,height:a})}function gn(e){let t=0,n=[];return r=>{if(!e)return;for(;t<e.length&&e[t].startCol<=r;)n.push(e[t]),t++;n.some(i=>i.endCol<=r)&&(n=n.filter(i=>i.endCol>r));let o;for(let i of n)(!o||i.stackIndex>o.stackIndex)&&(o=i);return o}}function W({offsetX:e,blockWidth:t,colWidth:n}){return{xStart:Math.max(0,Math.floor(e/n)),xEnd:Math.max(0,Math.ceil((e+t)/n))}}function bn({model:e,offsetX:t,offsetY:n,ctx:r,theme:o,highResScaleFactorOverride:i,blockSizeXOverride:a,blockSizeYOverride:s,rasterTiles:l}){let{colWidth:c,blockSize:u,rowHeight:f,fontSize:h,highResScaleFactor:d,actuallyShowDomains:p,bgColor:m}=e,g=i??d,w=a??u,b=s??u;r.resetTransform(),r.scale(g,g),r.translate(-t,f/2-n),r.textAlign="center",r.textBaseline="alphabetic",H(r,h,!m);let{xStart:v,xEnd:y}=W({offsetX:t,blockWidth:w,colWidth:c}),S=I({model:e,offsetY:n,blockSizeY:b}),{relativeTo:k,columns:T}=e,M=k?T.get(k)?.slice(v,y):null;br({model:e,ctx:r,theme:o,xStart:v,xEnd:y,visibleLeaves:S,referenceSeq:M,drawTiles:!p,rasterTiles:l}),wr({model:e,ctx:r,xStart:v,xEnd:y,visibleLeaves:S}),r.resetTransform()}function br({model:e,ctx:t,theme:n,visibleLeaves:r,xStart:o,xEnd:i,referenceSeq:a,drawTiles:s,rasterTiles:l}){let{bgColor:c,columns:u,colWidth:f,rowHeight:h,fontSize:d,relativeTo:p,showMsaLetters:m,subFeatureRows:g,domainUnderline:w,domainBandsByStart:b,featureColors:v}=e,y=s&&c,S=y&&!l;if(S||m){let k=ke(e),T=q(n),M=o*f,C=f/2,R=h/2-d/4,B=!s&&!g&&!w;for(let N=0,F=r.length;N<F;N++){let _=r[N],{name:G}=_.data,O=_.x,L=u.get(G)?.slice(o,i);if(L){let P=O-h,se=O-R,be=gn(B?b.get(G):void 0);for(let X=0,jn=L.length;X<jn;X++){let pt=o+X,Pe=L[X],gt=X*f+M,Ie=a&&G!==p&&Pe===a[X],we=k(pt,Pe);if(S&&(t.fillStyle=Ie?n.palette.action.hover:we||n.palette.background.default,t.fillRect(gt,P,f,h)),m){let mt=be(pt);t.fillStyle=mt?T(v.get(mt.annotation)?.fill):Ie?n.palette.text.primary:y?T(we):c||!we?n.palette.text.primary:sn(we,n.palette.background.default),t.fillText(Ie?".":Pe,gt+C,se)}}}}}}function wr({model:e,ctx:t,visibleLeaves:n,xStart:r,xEnd:o}){let{bgColor:i,hideGapsEffective:a}=e;a&&(t.lineWidth=1,t.strokeStyle="#f0f",mn({visibleLeaves:n,xStart:r,ctx:t,model:e,xEnd:o,offset:0}),t.strokeStyle=i?"#fff":"#000",mn({visibleLeaves:n,xStart:r,ctx:t,model:e,xEnd:o,offset:-1}))}function mn({model:e,ctx:t,visibleLeaves:n,xStart:r,xEnd:o,offset:i}){let{colWidth:s,rowHeight:l,insertionPositions:c}=e;for(let u of n){let{name:f}=u.data,h=c.get(f);if(h){let d=u.x;for(let{pos:p}of h)if(p>=r&&p<o){let m=p*s,g=d-l,w=d;t.beginPath(),t.moveTo(m+i,g+i);let b=g,v=!0;for(;b<w;){let y=Math.min(b+2,w),S=v?m+1:m-1;t.lineTo(S+i,y+i),b=y,v=!v}t.stroke()}}}}function wn(e){return e>St}var st=2;function yn({ctx:e,model:t,theme:n,panel:r,x:o,offsetY:i,blockSizeYOverride:a,highResScaleFactorOverride:s}){let{rowHeight:l,blockSize:c,highResScaleFactor:u}=t,f=a??c,h=s??u;e.resetTransform(),e.scale(h,h),e.translate(o,l/2-i),Ee({ctx:e,...yr(t,r,I({model:t,offsetY:i,blockSizeY:f})),contrastText:q(n),xMin:0,xMax:r.width})}function yr(e,t,n){let{rowHeight:r}=e;return{rows:Le(n,t.spans),layout:{height:o=>Math.max(1,r/o-st),top:(o,i,a)=>o-r+i*(a+st)+st/2,headLength:o=>o},xOf:o=>[o.xStart,o.xEnd],colors:t.colors,labelOf:o=>t.labels?.get(o.annotation)}}function vn({ctx:e,model:t,panel:n,x:r,offsetY:o,blockSizeYOverride:i,highResScaleFactorOverride:a}){let{rowHeight:s,blockSize:l,highResScaleFactor:c}=t,u=i??l;e.resetTransform();let f=a??c;e.scale(f,f),e.translate(r,-o);for(let h of I({model:t,offsetY:o,blockSizeY:u})){let d=n.colors.get(h.data.name);d&&(e.fillStyle=d,e.fillRect(0,h.x-s/2,n.width,s))}}function vr({panel:e,...t}){e.kind==="features"?yn({panel:e,...t}):vn({panel:e,...t})}function xn({model:e,...t}){for(let n of e.resolvedRowPanels)vr({model:e,panel:n,x:n.offsetX,...t})}var oe=new Uint8Array(128).fill(30);for(let e=65;e<=90;e++)oe[e]=e-65+1;for(let e=97;e<=122;e++)oe[e]=e-97+1;oe[45]=27;oe[46]=28;oe[42]=29;var Q=Array.from({length:32},(e,t)=>t>=1&&t<=26?String.fromCharCode(65+t-1):"");Q[27]="-";Q[28]=".";Q[29]="*";Q[30]="?";function ze(e){return e<128?oe[e]:30}function Sn(e){return e===27||e===28}var lt=class{numColumns;counts;totals;slotTotals=new Uint32Array(32);constructor(t){this.numColumns=t,this.counts=new Uint32Array(t*32),this.totals=new Uint32Array(t)}addRow(t){let{counts:n,totals:r,slotTotals:o,numColumns:i}=this,a=Math.min(t.length,i);for(let s=0;s<a;s++){let l=ze(t.charCodeAt(s));n[s*32+l]++,r[s]++,o[l]++}for(let s=a;s<i;s++)n[s*32+27]++,r[s]++;o[27]+=i-a}add(t,n){let r=ze(n.charCodeAt(0));this.counts[t*32+r]++,this.totals[t]++,this.slotTotals[r]++}total(t){return this.totals[t]??0}count(t,n){return this.counts[t*32+ze(n.charCodeAt(0))]??0}gapCount(t){let n=t*32;return(this.counts[n+27]??0)+(this.counts[n+28]??0)}forEachResidue(t,n){let{counts:r}=this,o=t*32;for(let i=1;i<32;i++){let a=r[o+i];a>0&&!Sn(i)&&n(i,a)}}entropy(t){let n=this.total(t)-this.gapCount(t);if(n===0)return 0;let r=0;return this.forEachResidue(t,(o,i)=>{let a=i/n;r-=a*Math.log2(a)}),r}residueEntries(t){let n=[];return this.forEachResidue(t,(r,o)=>{n.push([Q[r],o])}),n}get lettersPresent(){let t=new Set;for(let n=1;n<32;n++)this.slotTotals[n]>0&&!Sn(n)&&t.add(Q[n]);return t}};function kn(e){return Q[e]}function vi(e){return ze(e.charCodeAt(0))}var xi=32;function Si(e,t=e.reduce((n,r)=>Math.max(n,r.length),0)){let n=new lt(t);for(let r of e)n.addRow(r);return n}function Mi(e){return Math.log2(e==="amino"?20:4)}function Tn(e,t,n){let r=e.total(t),o=r-e.gapCount(t);if(o===0)return[];let i=Math.max(0,n-e.entropy(t))*(o/r);if(i===0)return[];let a=[];return e.forEachResidue(t,(s,l)=>{a.push({letter:kn(s),bits:l/o*i})}),a.sort((s,l)=>s.bits-l.bits||s.letter.localeCompare(l.letter)),a}function xr({ctx:e,values:t,color:n,colWidth:r,trackHeight:o,offsetX:i,blockSize:a}){let{xStart:s,xEnd:l}=W({offsetX:i,blockWidth:a,colWidth:r});e.fillStyle=n;for(let c=s;c<l&&c<t.length;c++){let f=t[c]*o,h=c*r;e.fillRect(h,o-f,r,f)}}function Sr(e,t){let n=e.columnTrackContent.get(t)?.values;return n||(t==="property-conservation"?e.propertyConservation:e.conservation)}function kr({ctx:e,arcs:t,color:n,colWidth:r,trackHeight:o,offsetX:i,blockSize:a}){if(!t?.length)return;let{xStart:s,xEnd:l}=W({offsetX:i,blockWidth:a,colWidth:r}),c=1;for(let f of t)c=Math.max(c,f.end-f.start);let u=o-1;e.lineWidth=1;for(let f of t){if(f.end<s||f.start>l)continue;let h=(f.start+.5)*r,d=(f.end+.5)*r,p=u*Math.sqrt((f.end-f.start)/c);e.strokeStyle=f.color??n,e.beginPath(),e.moveTo(h,o),e.quadraticCurveTo((h+d)/2,o-2*p,d,o),e.stroke()}}function Tr({ctx:e,data:t,colorScheme:n,contrastText:r,bgColor:o,drawLetters:i,colWidth:a,rowHeight:s,offsetX:l,blockSize:c}){let{xStart:u,xEnd:f}=W({offsetX:l,blockWidth:c,colWidth:a}),h=t?.slice(u,f);for(let d=0;h&&d<h.length;d++){let p=h[d],m=p.toUpperCase(),g=o?n[m]:void 0,w=(u+d)*a;g&&(e.fillStyle=g,e.fillRect(w,0,a,s)),i&&(e.fillStyle=r(g),e.fillText(p,w+a/2,s/2))}}function Mr(e,t=55){let n=1,r=[1,2,5];for(let o=0;n*e<t;o++)n=r[o%3]*10**Math.floor(o/3);return n}function Cr(e,t,n){let r=Mr(n),o=r>1&&e<=0&&t>0?[0]:[],i=Math.max(1,Math.ceil((e+1)/r))*r;for(let a=i;a<=t;a+=r)o.push(a-1);return o}var Rr=10,Mn=4;function Lr({ctx:e,numColumns:t,label:n,textColor:r,colWidth:o,trackHeight:i,offsetX:a,blockSize:s}){let{xStart:l,xEnd:c}=W({offsetX:a,blockWidth:s,colWidth:o}),u=Math.min(c,t);H(e,Rr),e.textAlign="center",e.textBaseline="alphabetic",e.fillStyle=r,e.strokeStyle=r,e.lineWidth=1;for(let f of Cr(l,u,o)){let h=n(f);if(h===void 0)continue;let d=(f+.5)*o;e.fillText(h,d,i-Mn-2),e.beginPath(),e.moveTo(d,i-Mn),e.lineTo(d,i),e.stroke()}}var Er=.72,Ar=3;function Hr({ctx:e,colStats:t,colorScheme:n,maxBits:r,textColor:o,colWidth:i,trackHeight:a,offsetX:s,blockSize:l}){let{xStart:c,xEnd:u}=W({offsetX:s,blockWidth:l,colWidth:i}),f=Math.min(u,t.numColumns),h=a;H(e,h),e.textAlign="left",e.textBaseline="alphabetic";let d=h*Er;for(let p=c;p<f;p++){let m=Tn(t,p,r);if(m.length===0)continue;let g=p*i,w=a;for(let{letter:b,bits:v}of m){let y=v/r*a;if(y<Ar){w-=y;continue}let S=e.measureText(b).width;if(S===0){w-=y;continue}e.fillStyle=n[b]??o,e.save(),e.translate(g,w),e.scale(i/S,y/d),e.fillText(b,0,0),e.restore(),w-=y}}}function zr({model:e,ctx:t,track:n,offsetX:r,offsetY:o=0,theme:i,blockSizeXOverride:a,highResScaleFactorOverride:s}){let{blockSize:l,colWidth:c,highResScaleFactor:u}=e,{id:f,kind:h,height:d,barColor:p,arcColor:m,arcs:g,customColorScheme:w,data:b}=n.model,v=a??l,y=s??u,S=i.palette.text.primary;switch(t.resetTransform(),t.scale(y,y),t.translate(-r,o),h){case"bar":{xr({ctx:t,values:Sr(e,f),color:p??"gray",colWidth:c,trackHeight:d,offsetX:r,blockSize:v});break}case"arc":{kr({ctx:t,arcs:g,color:m??i.palette.text.primary,colWidth:c,trackHeight:d,offsetX:r,blockSize:v});break}case"logo":{Hr({ctx:t,colStats:e.colStats,colorScheme:e.colorScheme,maxBits:e.alphabetMaxBits,textColor:S,colWidth:c,trackHeight:d,offsetX:r,blockSize:v});break}case"ruler":{let{relativeTo:k,numColumns:T}=e;Lr({ctx:t,numColumns:T,label:k?M=>{let C=e.visibleColToSeqPosOneBased(k,M);return C===void 0?void 0:`${C}`}:M=>`${M+1}`,textColor:S,colWidth:c,trackHeight:d,offsetX:r,blockSize:v});break}case"text":{let{bgColor:k,fontSize:T,rowHeight:M,showMsaLetters:C}=e;t.textAlign="center",t.textBaseline="middle",H(t,T),Tr({ctx:t,data:b,colorScheme:w??e.colorScheme,contrastText:q(i),bgColor:k,drawLetters:C,colWidth:c,rowHeight:M,offsetX:r,blockSize:v});break}}t.resetTransform()}function Cn({model:e,ctx:t,offsetX:n,theme:r,blockSizeXOverride:o,highResScaleFactorOverride:i}){let a=0;for(let s of e.turnedOnTracks)zr({model:e,ctx:t,track:s,offsetX:n,offsetY:a,theme:r,blockSizeXOverride:o,highResScaleFactorOverride:i}),a+=s.model.height}var pe=V(le(),1);function ct({bar:e,marginLeft:t,y:n,color:r}){return pe.default.createElement(pe.default.Fragment,null,pe.default.createElement("text",{x:t,y:n-9,fontSize:10,fill:r},e.label),pe.default.createElement("path",{d:`M${t} ${n-7} v6 h${e.px} v-6`,fill:"none",stroke:r}))}var ft;function Fr(){return ft===void 0&&(ft=typeof document>"u"?null:document.createElement("canvas").getContext("2d")),ft}var Br=.6;function ge(e,t){let n=Fr();return n?(H(n,t),n.measureText(e).width):e.length*t*Br}var Fe=3,Y=4,Or=140;function Rn(e){return e.mark==="bracket"||e.mark==="highlight"&&!!e.label}function Ln(e,t){return(e.rows[1]-e.rows[0]+1)*t}function Pr(e,t,n){return Ln(e,t)>=n}function En(e){return e.mark==="bracket"?Y+Fe+Y:Y}function Ii(e){let t=0;for(let n of e){if(!Rn(n))continue;let r=n.label?ge(n.label,xt):0;t=Math.max(t,En(n)+r+Y)}return Math.min(Or,Math.ceil(t))}function An(e){let{resolvedClades:t,cladeGutterWidth:n,rowHeight:r,effectiveTreeAreaWidth:o,fontSize:i}=e,a=o-n;return n===0?[]:t.flatMap((s,l)=>{let{label:c,markColor:u,rows:f}=s;if(!c||!Rn(s))return[];let h=a+En(s);return[{key:`${f[0]}-${f[1]}-${l}`,label:c,color:u,left:h,top:f[0]*r,width:o-h-Y,height:Ln(s,r),horizontal:Pr(s,r,i)}]})}function ie(e,t,n){let r=e(t);if(r<=n)return{text:t,width:r};for(let o=Math.floor(t.length*n/r);o>0;o--){let i=t.slice(0,o).trimEnd()+"\u2026",a=e(i);if(a<=n)return{text:i,width:a}}return{text:"",width:0}}function ji(e,t){return wt(e,t)}var ut=class{parent;frame;data;depth;height;value;children;depthToLeaf=0;row=0;rowMin=0;rowMax=0;depthFraction=0;branchLength=0;collapsedBranchLength;constructor(t,n,r){this.parent=n,this.frame=r,this.data=t.data,this.depth=t.depth,this.height=t.height,this.value=t.value,this.children=t.children?[]:null}get pxPerBranchLength(){let{scale:t,rootToTipLength:n}=this.frame;return n?t.treeWidth/n:0}get x(){return this.row*this.frame.scale.rowHeight}get xMin(){return this.rowMin*this.frame.scale.rowHeight}get xMax(){return this.rowMax*this.frame.scale.rowHeight}get y(){return this.depthFraction*this.frame.scale.treeWidth}get len(){return this.branchLength*this.pxPerBranchLength}get collapsedTipXFar(){return this.collapsedBranchLength===void 0?void 0:this.collapsedBranchLength*this.pxPerBranchLength}};function qi(e,t){let n={scale:t,rootToTipLength:0},r=[],o=[],i=e.height,a=[{source:e,parent:null}];for(;a.length>0;){let{source:s,parent:l}=a.pop(),c=new ut(s,l,n);if(r.push(c),c.depthFraction=i===0?1:(s.depth-e.depth)/i,l&&(l.children.push(c),c.branchLength=l.branchLength+Math.max(s.data.length||0,0),n.rootToTipLength=Math.max(n.rootToTipLength,c.branchLength)),s._children&&(c.collapsedBranchLength=c.branchLength+Ir(s)),s.children)for(let u=s.children.length-1;u>=0;u--)a.push({source:s.children[u],parent:c});else c.row=o.length+.5,c.depthToLeaf=s.depthToLeaf??0,o.push(c)}for(let s=r.length-1;s>=0;s--){let l=r[s];if(l.children){let c=0,u=1/0,f=-1/0,h=0;for(let d of l.children)c+=d.row,u=Math.min(u,d.rowMin),f=Math.max(f,d.rowMax),h=Math.max(h,1+d.depthToLeaf);l.row=c/l.children.length,l.rowMin=u,l.rowMax=f,l.depthToLeaf=h}else l.rowMin=l.row,l.rowMax=l.row}return{root:r[0],leaves:o,rootToTipLength:n.rootToTipLength}}function Zi(e){e.children&&(ht(e),e._children=e.children,e.children=null)}function Ir(e){let t=e._children??e.children,n=0;if(t){let r=t.map(o=>({node:o,acc:Math.max(o.data.length??0,0)}));for(;r.length>0;){let{node:o,acc:i}=r.pop(),a=o.children??o._children;if(a?.length)for(let s of a)r.push({node:s,acc:i+Math.max(s.data.length??0,0)});else n=Math.max(n,i)}}return n}function ht(e){if(e.depthToLeaf===void 0){let t=ye(e);for(let n=t.length-1;n>=0;n--){let r=t[n];if(r.depthToLeaf===void 0){let o=0;if(r.children)for(let i of r.children)o=Math.max(o,1+i.depthToLeaf);r.depthToLeaf=o}}}return e.depthToLeaf}function $r(e){let t=new Map;for(let n of bt(e)){let{name:r}=n.data;t.set(r,t.has(r)?void 0:n)}return t}function Ji(e,t,n=$r(e)){let r;for(let o of t){let i=n.get(o);if(!i)return;if(!r){r=i;continue}for(;r.depth>i.depth;)r=r.parent;for(;i.depth>r.depth;)i=i.parent;for(;r!==i;)r=r.parent,i=i.parent}return r}function Hn(e,t,n){let r=e;for(;;){let o=r.children?.find(i=>i.xMin<=t&&i.xMax>=n);if(!o)return r;r=o}}var D=2.5,dt=D*2;function Z(e){return Math.max(e.rowHeight,it)}function ae(e,t,n,r){return e>t-r&&e<t+n+r}function Be(e,t,n,r,o){let i=t-r,a=t+n+r,s=[e];for(;s.length>0;){let l=s.pop();if(!(l.xMax<i||l.xMin>a)&&(o(l),l.children))for(let c of l.children)s.push(c)}}function zn(e,t){let{id:n,name:r}=e.data,o=r===n?t:r;return e.value===void 0?o:`${o} (${e.value} tips)`}function U(e,t,n,r){if(t)return e.len;if(r===0)return 0;let o=ht(e);return(r-o)/r*n}function Wr({offsetY:e,ctx:t,model:n,theme:r,tipX:o,maxDepthToLeaf:i,blockSizeYOverride:a}){let{hierarchy:s,showBranchLenEffective:l,blockSize:c,branchColors:u}=n,f=a??c,h=r.palette.text.primary;t.strokeStyle=h,Be(s,e,f,Z(n),d=>{let p=d.x,m=U(d,l,o,i);if(!(m===void 0||!d.children))for(let g of d.children){let w=g.x,b=U(g,l,o,i);if(b===void 0)continue;let v=Math.min(p,w),y=Math.max(p,w);e+f>=v&&y>=e&&(u&&(t.strokeStyle=u.get(g.data.id)??h),t.beginPath(),t.moveTo(m,p),t.lineTo(m,w),t.lineTo(b,w),t.stroke())}}),t.strokeStyle=h}function Dr({ctx:e,clickMap:t,offsetY:n,model:r,theme:o,tipX:i,maxDepthToLeaf:a,blockSizeYOverride:s,collapsedSet:l}){let{hierarchy:c,showBranchLenEffective:u,blockSize:f,rowHeight:h,fontSize:d,marginLeft:p,branchColors:m}=r;if(l.size===0)return;let g=s??f,w=Math.max(2,h*.42);Be(c,n,g,Z(r),b=>{let{id:v}=b.data;if(l.has(v)){let y=U(b,u,i,a),S=b.x,k=ae(S,n,g,Z(r)),T=u?b.collapsedTipXFar??i:i;if(y!==void 0&&k&&T>y){e.beginPath(),e.moveTo(y,S),e.lineTo(T,S-w),e.lineTo(T,S+w),e.closePath(),e.fillStyle=m?.get(v)??o.palette.action.disabled,e.fill(),e.strokeStyle=o.palette.text.primary,e.stroke();let M=b.value;M!==void 0&&h>=8&&(e.fillStyle=o.palette.text.primary,e.textAlign="left",e.fillText(`${M}`,T+3,S+d/4)),t?.insert({minX:y+p,maxX:T+p,minY:S-w,maxY:S+w,branch:!0,id:v,name:zn(b,"Collapsed clade")})}}})}function Nr({ctx:e,theme:t,clickMap:n,offsetY:r,model:o,tipX:i,maxDepthToLeaf:a,blockSizeYOverride:s,collapsedSet:l,draw:c}){let{hierarchy:u,showBranchLenEffective:f,blockSize:h,marginLeft:d}=o,p=s??h;Be(u,r,p,Z(o),m=>{let g=U(m,f,i,a);if(g===void 0)return;let{data:w}=m,b=m.x,{id:v}=w;if(m.height>=1&&ae(b,r,p,Z(o))){let y=l.has(v);c&&(e.strokeStyle=t.palette.text.primary,e.fillStyle=y?t.palette.text.primary:t.palette.background.default,e.beginPath(),e.arc(g,b,D,0,2*Math.PI),e.fill(),e.stroke()),y||n?.insert({minX:g-D+d,maxX:g-D+dt+d,minY:b-D,maxY:b-D+dt,branch:!0,id:v,name:zn(m,"Clade")})}})}function _r({ctx:e,theme:t,offsetY:n,model:r,tipX:o,maxDepthToLeaf:i,blockSizeYOverride:a}){let{hierarchy:s,showBranchLenEffective:l,blockSize:c,fontSize:u}=r,f=a??c,h=Z(r);H(e,Math.max(6,u-3)),e.fillStyle=t.palette.text.primary,e.textAlign="right",Be(s,n,f,h,d=>{let{id:p,name:m}=d.data;if(d.height<1||m===p)return;let g=U(d,l,o,i),w=d.x;g!==void 0&&ae(w,n,f,h)&&e.fillText(m,g-D-1,w-D-1)}),e.textAlign="start",H(e,u)}function Gr({theme:e,model:t,offsetY:n,ctx:r,clickMap:o,tipX:i,maxDepthToLeaf:a,blockSizeYOverride:s,collapsedSet:l}){let{fontSize:c,showBranchLenEffective:u,tipLabelColors:f,blockSize:h,labelsAlignRight:d,drawTree:p,treeAreaWidthMinusMargin:m,marginLeft:g,noTree:w}=t,b=p&&!w,v=s??h,y=I({model:t,offsetY:n,blockSizeY:v}),S=Z(t),k=r.measureText("M").width;d?(r.textAlign="right",r.setLineDash([1,3]),r.strokeStyle=e.palette.text.primary):r.textAlign="start";for(let T of y){let{data:{name:M,id:C}}=T,R=T.x,B=t.rowDataOf(M)?.genome||M;if(!(l.has(C)&&M===C)&&ae(R,n,v,S)){let F=R+c/4,_=b?U(T,u,i,a)??0:0,G=L=>ie(P=>r.measureText(P).width,B,L),O=L=>Math.max(L,c);if(r.fillStyle=f?.get(M)??e.palette.text.primary,d){let P=m-2,{text:se,width:be}=G(P-(b?_+D+2+2:0));b&&(r.beginPath(),r.moveTo(_+D+2,R),r.lineTo(P-2-be,R),r.stroke()),r.fillText(se,P,F);let X=P+g;o?.insert({minX:X-O(be),maxX:X,minY:F-k,maxY:F,name:M,label:B,id:C})}else{let L=b?_+dt:2,{text:P,width:se}=G(m-L);r.fillText(P,L,F),o?.insert({minX:L+g,maxX:L+O(se)+g,minY:F-k,maxY:F,name:M,label:B,id:C})}}}r.setLineDash([])}function Xr(e){let t=1/0;for(let n of e)n<t&&(t=n);return t}function Vr({ctx:e,model:t,offsetY:n,tipX:r,maxDepthToLeaf:o,blockSizeYOverride:i}){let{resolvedClades:a,hierarchy:s,showBranchLenEffective:l,rowHeight:c,effectiveTreeAreaWidth:u,marginLeft:f,blockSize:h}=t,d=i??h,p=u-f;for(let{rows:m,color:g,mark:w}of a){if(w!=="highlight")continue;let b=m[0]*c,v=(m[1]+1)*c;if(v<n||b>n+d)continue;let y=Hn(s,b+c/2,v-c/2),S=U(y,l,r,o)??0;e.fillStyle=g,e.fillRect(S,b,p-S,v-b)}}function Ur({ctx:e,model:t,theme:n,offsetY:r,blockSizeYOverride:o}){let{resolvedClades:i,cladeGutterWidth:a,rowHeight:s,effectiveTreeAreaWidth:l,marginLeft:c,blockSize:u}=t;if(a===0)return;let f=o??u,h=l-c-a+Y+Fe/2;e.lineWidth=Fe;for(let{rows:d,mark:p,markColor:m}of i){let g=d[0]*s+1,w=(d[1]+1)*s-1;p!=="bracket"||w<r||g>r+f||(e.strokeStyle=m??n.palette.text.primary,e.beginPath(),e.moveTo(h,g),e.lineTo(h,w),e.stroke())}e.lineWidth=1,e.strokeStyle=n.palette.text.primary}function jr({ctx:e,model:t,theme:n,offsetY:r,blockSizeYOverride:o}){let{resolvedHighlights:i,rowTints:a,referenceRowIndex:s,rowHeight:l,effectiveTreeAreaWidth:c,marginLeft:u,blockSize:f}=t,h=o??f,d=Z(t),p=[],m=g=>{e.fillRect(-u,g*l,c,l)};if(a){let g=Math.max(0,Math.floor((r-d)/l)),w=Math.min(a.length-1,Math.ceil((r+h+d)/l));for(let b=g;b<=w;b++){let v=a[b];v&&(e.fillStyle=v,m(b))}}s!==void 0&&(e.fillStyle=Ae,m(s));for(let{rowIndices:g,label:w,color:b}of i){e.fillStyle=b??ot;for(let y of g)ae(y*l+l/2,r,h,d)&&m(y);let v=Xr(g);w&&g.length&&ae(v*l,r,h,d)&&at({ctx:e,theme:n,label:w,x:-u+2,y:v*l,spanWidth:c,bounds:{min:-u,max:c-u},placed:p})}}function Fn({model:e,clickMap:t,ctx:n,offsetY:r,theme:o,highResScaleFactorOverride:i,blockSizeYOverride:a}){t?.clear();let{noTree:s,drawTree:l,drawNodeBubbles:c,drawNodeLabels:u,highResScaleFactor:f,fontSize:h,showTreeText:d,marginLeft:p,rowHeight:m}=e;n.resetTransform();let g=i??f;n.scale(g,g),n.translate(p,-r),H(n,h);let{maxDepthToLeaf:w,effectiveTreeWidth:b}=e,v=new Set(e.collapsed);Vr({ctx:n,model:e,offsetY:r,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a}),jr({ctx:n,model:e,theme:o,offsetY:r,blockSizeYOverride:a}),H(n,h),!s&&l&&(Wr({ctx:n,offsetY:r,model:e,theme:o,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a}),Dr({ctx:n,clickMap:t,offsetY:r,model:e,theme:o,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a,collapsedSet:v}),Nr({ctx:n,theme:o,offsetY:r,clickMap:t,model:e,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a,collapsedSet:v,draw:c}),u&&_r({ctx:n,theme:o,offsetY:r,model:e,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a})),d&&Gr({ctx:n,offsetY:r,model:e,clickMap:t,theme:o,tipX:b,maxDepthToLeaf:w,blockSizeYOverride:a,collapsedSet:v}),Ur({ctx:n,model:e,theme:o,offsetY:r,blockSizeYOverride:a}),t?.finish()}var Oe=1;function On(e,t){let n=t-Oe*2;return r=>Oe+r/e*n}function Pn({model:e,ctx:t,theme:n,width:r,height:o}){let i=e.treeOverviewLayout;if(!i)return;let{root:a,numTips:s,maxDepthToLeaf:l,showBranchLen:c}=i,u=r-Oe*2,f=On(s,o),h=d=>Oe+(U(d,c,1,l)??0)*u;for(let{rows:d,color:p}of e.treeOverviewClades)t.fillStyle=p,t.fillRect(0,f(d[0]),r,f(d[1]+1)-f(d[0]));t.strokeStyle=n.palette.text.primary,t.beginPath();for(let d of ye(a)){if(!d.children)continue;let p=h(d),m=f(d.x);for(let g of d.children){let w=h(g),b=f(g.x);Math.abs(w-p)<1&&Math.abs(b-m)<1||(t.moveTo(p,m),t.lineTo(p,b),t.lineTo(w,b))}}t.stroke()}function qr({model:e,ctx:t,color:n,rows:r,width:o,height:i}){let a=e.treeOverviewLayout;if(!a)return;let s=On(a.numTips,i),l=s(r[0]);t.strokeStyle=n,t.strokeRect(.5,l,o-1,Math.max(2,s(r[1]+1)-l))}function In(e){Pn(e);let t=e.model.treeOverviewFocusRows;t&&qr({...e,rows:t,color:e.theme.palette.text.primary})}var Bn=new WeakMap;function Zr({model:e,theme:t,width:n,height:r,scale:o}){return[e.data.tree,e.data.msa,e.currentAlignment,e.collapsed.join(","),JSON.stringify(e.clades),e.showBranchLen,n,r,o,t.palette.text.primary]}function Jr(e){return typeof e?.stroke=="function"}function ca({model:e,theme:t,width:n,height:r,scale:o}){let i=Zr({model:e,theme:t,width:n,height:r,scale:o}),a=Bn.get(e);if(a&&i.every((c,u)=>c===a.keys[u]))return a.canvas;let s=_e(Math.max(1,Math.round(n*o)),Math.max(1,Math.round(r*o)),Jr);s&&(s.ctx.scale(o,o),Pn({model:e,ctx:s.ctx,theme:t,width:n,height:r}));let l={keys:i,canvas:s?.canvas};return Bn.set(e,l),l.canvas}var _n=V(Wn(),1),Gn=V(Nn(),1);function Xn(e){let t=document.createElement("div"),n=(0,Gn.createRoot)(t),r;try{(0,_n.flushSync)(()=>{n.render(e)}),r=t.innerHTML}finally{n.unmount()}return r}var Kr=/<[a-zA-Z][^>]*>/g,Qr=/\b(fill|stroke|stop-color)="([^"]+)"/g;function Vn(e){return e.replaceAll(Kr,t=>t.replaceAll(Qr,(n,r,o)=>{if(!/^(rgba|hsl)/i.test(o))return n;let i=E(o);if(!i.isValid())return n;let a=i.alpha(),s=i.alpha(1).toHex();return a===1||t.includes(`${r}-opacity=`)?`${r}="${s}"`:`${r}="${s}" ${r}-opacity="${a}"`}))}async function Pa(e,t){if(await(0,Un.when)(()=>e.dataInitialized||!!e.error),e.error)throw e.error;let{Context:n}=await import("./dist-GXYZN4ZR.js"),r=new Map,o=Xn(x.default.createElement(Yr,{model:e,theme:t.theme,Context:n,layout:Lt(e,t),layers:r}));return Vn(o.replaceAll(/<g data-layer="([^"]+)"><\/g>/g,(i,a)=>{let s=r.get(a);return s?`<g id="${a}">${s.getSvg().innerHTML}</g>`:i})).replaceAll("&nbsp;","&#160;")}function Yr({model:e,theme:t,Context:n,layout:r,layers:o}){let{width:i,trackHeight:a,includeMinimap:s,legendWidth:l,topHeight:c}=r,{effectiveTreeAreaWidth:u,rowPanelsWidth:f}=e,{width:h,height:d}=Et(e,r),p=c,m={Context:n,model:e,theme:t,layout:r,layers:o},g=x.default.createElement(x.default.Fragment,null,a>0?x.default.createElement(so,{...m}):null,x.default.createElement("g",{transform:a>0?`translate(0 ${a})`:void 0},x.default.createElement(io,{...m})));return x.default.createElement("svg",{width:h,height:d,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:`0 0 ${h} ${d}`,fontFamily:"sans-serif"},x.default.createElement("rect",{width:"100%",height:"100%",fill:t.palette.background.default}),c>0?x.default.createElement(x.default.Fragment,null,s?x.default.createElement("g",{id:"minimap-panel",transform:`translate(${u+f} 0)`},x.default.createElement(je,{model:e,theme:t})):null,x.default.createElement(no,{model:e,theme:t,bandHeight:c}),e.showTreeOverview?x.default.createElement(eo,{model:e,theme:t,Context:n,layers:o}):null,x.default.createElement(to,{model:e,theme:t}),x.default.createElement("g",{transform:`translate(0 ${c})`},g)):g,l>0?x.default.createElement("g",{id:"legend-panel",transform:`translate(${i} ${p})`},x.default.createElement(oo,{model:e,theme:t,width:l})):null)}function eo({model:e,theme:t,Context:n,layers:r}){let{effectiveTreeAreaWidth:o,overviewHeight:i,id:a}=e,s=new n(o,i);return In({model:e,ctx:s,theme:t,width:o,height:i}),x.default.createElement(me,{panelId:"tree-overview",clipId:`tree-overview-${a}`,width:o,height:i,ctx:s,layers:r})}function to({model:e,theme:t}){let{marginLeft:n,treeScaleBar:r,treeOverviewHeight:o}=e;return r?x.default.createElement("g",{id:"tree-scalebar"},x.default.createElement(ct,{bar:r,marginLeft:n,y:o+kt,color:t.palette.text.primary})):null}function no({model:e,theme:t,bandHeight:n}){let{resolvedRowPanels:r,effectiveTreeAreaWidth:o,fontSize:i}=e,a=n-4;return r.length===0?null:x.default.createElement("g",{id:"rowpanel-headers"},r.map(s=>{let l=wn(s.width),c=l?i:Math.min(i,s.width),u=o+s.offsetX+s.width/2,f=l?u:u+c/3,h=l?s.width:a-ee;return c<5?null:x.default.createElement("text",{key:s.id,x:f,y:a,...l?{textAnchor:"middle"}:{transform:`rotate(-90 ${f} ${a})`},fontSize:c,fill:t.palette.text.primary},ie(d=>ge(d,c),s.header,h).text)}))}function ro({model:e,theme:t,offsetY:n}){let{fontSize:r}=e,o=An(e);return o.length===0?null:x.default.createElement("g",{id:"clade-labels"},o.map(i=>{let a=i.top-n,s=i.horizontal?i.left:i.left+r,l=i.horizontal?a+i.height/2+r/3:a+i.height;return x.default.createElement("text",{key:i.key,x:s,y:l,transform:i.horizontal?void 0:`rotate(-90 ${s} ${l})`,fontSize:r,fill:i.color??t.palette.text.primary},ie(c=>ge(c,r),i.label,i.horizontal?i.width:i.height).text)}))}function oo({model:e,theme:t,width:n}){let r=yt(e.legends),o=Rt(r),i=n-We-ee;return x.default.createElement("g",null,x.default.createElement("rect",{x:0,y:0,width:n-4,height:o,fill:t.palette.background.paper,stroke:t.palette.divider,rx:2}),r.map((a,s)=>{let l=ee+s*Tt;return x.default.createElement("g",{key:a.key},a.color?x.default.createElement("rect",{x:ee,y:l,width:ve,height:ve,fill:a.color,stroke:ln(a.color)}):null,x.default.createElement("text",{x:a.color?We:ee,y:l+ve-1,fontSize:Mt,fontWeight:a.color?void 0:"bold",fill:t.palette.text.primary},ie(c=>c.length*Ct,a.label,i).text))}))}function io({model:e,theme:t,layout:n,Context:r,layers:o}){let{contentHeight:i,offsetX:a,offsetY:s,msaAreaWidth:l}=n,{effectiveTreeAreaWidth:c,rowPanelsWidth:u,id:f}=e,h=new r(c,i);Fn({model:e,theme:t,ctx:h,offsetY:s,blockSizeYOverride:i,highResScaleFactorOverride:1});let d=u?new r(u,i):void 0;d&&xn({model:e,theme:t,ctx:d,offsetY:s,blockSizeYOverride:i,highResScaleFactorOverride:1});let p=ao({model:e,theme:t,layout:n}),m=new r(l,i);return cn({model:e,theme:t,ctx:m,offsetX:a,offsetY:s,blockSizeXOverride:l,blockSizeYOverride:i,highResScaleFactorOverride:1}),bn({model:e,theme:t,ctx:m,offsetX:a,offsetY:s,blockSizeXOverride:l,blockSizeYOverride:i,highResScaleFactorOverride:1,rasterTiles:!!p}),m.resetTransform(),pn({ctx:m,model:e,theme:t,offsetX:a,offsetY:s,width:l,height:i}),x.default.createElement(x.default.Fragment,null,x.default.createElement(me,{panelId:"tree-panel",clipId:`tree-${f}`,width:c,height:i,ctx:h,layers:o}),x.default.createElement(ro,{model:e,theme:t,offsetY:s}),d?x.default.createElement(me,{panelId:"rowpanels-panel",clipId:`rowpanels-${f}`,width:u,height:i,transform:`translate(${c} 0)`,ctx:d,layers:o}):null,x.default.createElement(me,{panelId:"msa-panel",clipId:`msa-${f}`,width:l,height:i,transform:`translate(${c+u} 0)`,ctx:m,layers:o,underlay:p}))}function ao({model:e,theme:t,layout:n}){let{contentHeight:r,offsetX:o,offsetY:i,msaAreaWidth:a}=n,{colWidth:s,rowHeight:l}=e;if(!Nt(e))return;let{xStart:c,xEnd:u}=W({offsetX:o,blockWidth:a,colWidth:s}),{yStart:f,yEnd:h}=De({model:e,offsetY:i,blockSizeY:r}),d=Math.min(u,e.numColumns)-c,p=Math.min(h,e.numRows)-f,m=_t({model:e,theme:t,col0:c,row0:f,numCols:d,numRows:p});return m?x.default.createElement("image",{href:m,x:c*s-o,y:f*l-i,width:d*s,height:p*l,imageRendering:"pixelated",preserveAspectRatio:"none"}):void 0}function so({model:e,theme:t,layout:n,Context:r,layers:o}){let{trackHeight:i,offsetX:a,msaAreaWidth:s}=n,{effectiveTreeAreaWidth:l,rowPanelsWidth:c,id:u}=e,f=new r(s,i);return Cn({model:e,ctx:f,theme:t,offsetX:a,blockSizeXOverride:s,highResScaleFactorOverride:1}),x.default.createElement(x.default.Fragment,null,x.default.createElement(lo,{model:e,theme:t}),x.default.createElement("g",{transform:`translate(${l+c} 0)`},x.default.createElement(me,{panelId:"tracks-panel",clipId:`tracks-${u}`,width:s,height:i,ctx:f,layers:o})))}function lo({model:e,theme:t}){let{turnedOnTracks:n,effectiveTreeAreaWidth:r,fontSize:o,drawLabels:i}=e;if(!i)return null;let a=n.map((s,l)=>{let{id:c,name:u,height:f}=s.model,h=Math.min(f,o),d=n.slice(0,l).reduce((p,m)=>p+m.model.height,0);return{id:c,name:u,size:h,baseline:d+h*.8}});return x.default.createElement(x.default.Fragment,null,a.map(({id:s,name:l,size:c,baseline:u})=>c<5?null:x.default.createElement("text",{key:s,x:r-4,y:u,fontSize:c,textAnchor:"end",fill:t.palette.text.primary},l)))}function me({panelId:e,clipId:t,width:n,height:r,transform:o,ctx:i,layers:a,underlay:s}){return a.set(e,i),x.default.createElement(x.default.Fragment,null,x.default.createElement("defs",null,x.default.createElement("clipPath",{id:t},x.default.createElement("rect",{x:0,y:0,width:n,height:r}))),x.default.createElement("g",{clipPath:`url(#${t})`,transform:o},s,x.default.createElement("g",{"data-layer":e})))}export{Ht as a,Se as b,Jn as c,Nt as d,bo as e,Gt as f,Xt as g,E as h,Ao as i,ln as j,Ho as k,zo as l,Fo as m,Bo as n,Oo as o,cn as p,Vo as q,Uo as r,jo as s,qo as t,fn as u,Qo as v,pn as w,W as x,bn as y,wn as z,vr as A,kn as B,vi as C,xi as D,Si as E,Mi as F,Tn as G,Sr as H,zr as I,ct as J,Br as K,ge as L,Ii as M,An as N,ji as O,qi as P,Zi as Q,$r as R,Ji as S,Hn as T,Fn as U,Pn as V,qr as W,ca as X,Nn as Y,Pa as Z};
2
+ //# sourceMappingURL=chunk-ASUKJX5J.js.map