(function(_){for(var r in _){_[r].__farm_resource_pot__='index_5c12.js';window['a08772c31208efe3a0d239d0209f4dcf'].__farm_module_system__.register(r,_[r])}})({"007bbe4f":function t(t,e,r,i){t._m(e),t.o(e,"default",()=>n);var a=r("17a7dab7"),s=r("b59c6f04");async function n(t){var e;try{let r=a.getContainingView(t);if(!r.initialized||!r.staticBlocks.contentBlocks.length||r.bpPerPx===t.currStatsBpPerPx||t.error)return;if((null===(e=t.featureDensityStats)||void 0===e?void 0:e.featureDensity)!==void 0){t.setCurrStatsBpPerPx(r.bpPerPx);return;}t.clearFeatureDensityStats(),t.setCurrStatsBpPerPx(r.bpPerPx);let i=await t.getFeatureDensityStats();s.isAlive(t)&&t.setFeatureDensityStats(i);}catch(e){!a.isAbortException(e)&&s.isAlive(t)&&(console.error(e),t.setError(e));}}},"09b4a3dd":function h(h,v,c,t){h._m(v);var d=h.i(c("946d6d88")),m=c("41124836");v.default=h.f(d)(m.jsx("path",{d:"M12 8c-2.21 0-4 1.79-4 4s1.79 4 4 4 4-1.79 4-4-1.79-4-4-4m-7 7H3v4c0 1.1.9 2 2 2h4v-2H5zM5 5h4V3H5c-1.1 0-2 .9-2 2v4h2zm14-2h-4v2h4v4h2V5c0-1.1-.9-2-2-2m0 16h-4v2h4c1.1 0 2-.9 2-2v-4h-2z"}),"CenterFocusStrong");},"176be177":function d(d,r,a,f){d._m(r);var l=d.i(a("946d6d88")),o=a("41124836");r.default=d.f(l)(o.jsx("path",{d:"m12 4-1.41 1.41L16.17 11H4v2h12.17l-5.58 5.59L12 20l8-8z"}),"ArrowForward");},"1a2cf1a2":function e(e,t,f,n){e._m(t),e.o(t,"default",()=>c);var l=e.i(f("a0fc9dfd"));function c({model:t,height:f}){let{dynamicBlocks:n,offsetPx:c,interRegionPaddingWidth:r}=t;return e.f(l).createElement(e.f(l).Fragment,null,n.contentBlocks.slice(1).map(t=>e.f(l).createElement("rect",{key:t.key,x:t.offsetPx-c-r,width:r,y:0,height:f,fill:"grey"})));}},"1c4b5300":function e(e,t,r,a){e._m(t),e.o(t,"default",()=>l);var i=e.i(r("a0fc9dfd")),s=r("ce657870"),n=r("17a7dab7"),u=r("ddac7a6b"),o=r("b59c6f04"),y=e.i(r("9cad7e1b")),d=r("09a915d4"),S=e.i(r("007bbe4f"));function l(){return o.types.model({userBpPerPxLimit:o.types.maybe(o.types.number),userByteSizeLimit:o.types.maybe(o.types.number)}).volatile(()=>({featureDensityStatsP:void 0,featureDensityStats:void 0,currStatsBpPerPx:0})).views(e=>({get currentBytesRequested(){var t;return(null===(t=e.featureDensityStats)||void 0===t?void 0:t.bytes)||0;},get currentFeatureScreenDensity(){var r;let t=n.getContainingView(e);return((null===(r=e.featureDensityStats)||void 0===r?void 0:r.featureDensity)||0)*t.bpPerPx;},get maxFeatureScreenDensity(){return s.getConf(e,"maxFeatureScreenDensity");},get featureDensityStatsReady(){let t=n.getContainingView(e);return e.currStatsBpPerPx===t.bpPerPx&&(!!e.featureDensityStats||!!e.userBpPerPxLimit);},get maxAllowableBytes(){var a;return e.userByteSizeLimit||(null===(a=e.featureDensityStats)||void 0===a?void 0:a.fetchSizeLimit)||s.getConf(e,"fetchSizeLimit");}})).actions(t=>({afterAttach(){o.addDisposer(t,u.autorun(()=>e.f(S)(t)));}})).actions(e=>({setCurrStatsBpPerPx(t){e.currStatsBpPerPx=t;},setFeatureDensityStatsLimit(t){let r=n.getContainingView(e);(null==t?void 0:t.bytes)?e.userByteSizeLimit=t.bytes:e.userBpPerPxLimit=r.bpPerPx;},getFeatureDensityStats(){return e.featureDensityStatsP||(e.featureDensityStatsP=d.getFeatureDensityStatsPre(e).catch(t=>{throw o.isAlive(e)&&this.setFeatureDensityStatsP(void 0),t;})),e.featureDensityStatsP;},setFeatureDensityStatsP(t){e.featureDensityStatsP=t;},setFeatureDensityStats(t){e.featureDensityStats=t;},clearFeatureDensityStats(){e.featureDensityStatsP=void 0,e.featureDensityStats=void 0;}})).views(e=>({get regionTooLarge(){let t=n.getContainingView(e);if(!e.featureDensityStatsReady||t.dynamicBlocks.totalBp<2e4)return!1;return e.currentBytesRequested>e.maxAllowableBytes||(e.userBpPerPxLimit?t.bpPerPx>e.userBpPerPxLimit:e.currentFeatureScreenDensity>e.maxFeatureScreenDensity);},get regionTooLargeReason(){let t=e.currentBytesRequested,r=e.maxAllowableBytes;return t&&t>r?`Requested too much data (${d.getDisplayStr(t)})`:"";}})).views(t=>({regionCannotBeRenderedText:e=>t.regionTooLarge?"Force load to see features":"",regionCannotBeRendered:r=>t.regionTooLarge?e.f(i).createElement(e.f(y),{model:t}):null}));}},"23ab215c":function e(e,a,i,o){e._m(a),e.o(a,"default",()=>b);var n=e.i(i("2e04769b")),r=i("17a7dab7"),c=i("ce657870"),s=i("b59c6f04"),t=e.i(i("b21d1428")),l=i("ccb57460"),f=e.i(i("eac9f7d5")),m=e.w(i("a6814207")),p=e.i(i("2e82cb3c")),g=e.i(i("ccdce85a")),d=e.i(i("8ab8af77")),y=e.i(i("9a343313"));class b extends e.f(n){constructor(){super(...arguments),this.name="LinearGenomeViewPlugin",this.exports={BaseLinearDisplayComponent:l.BaseLinearDisplayComponent,BaseLinearDisplay:l.BaseLinearDisplay,baseLinearDisplayConfigSchema:l.baseLinearDisplayConfigSchema,SearchBox:m.SearchBox,ZoomControls:m.ZoomControls,LinearGenomeView:m.LinearGenomeView},this.configurationSchema=c.ConfigurationSchema("LinearGenomeViewConfigSchema",{trackLabels:{type:"string",defaultValue:"overlapping",model:s.types.enumeration("trackLabelOptions",["offset","overlapping","hidden"])}});}install(a){e.f(g)(a),e.f(d)(a),e.f(p)(a),e.f(m)(a),e.f(f)(a),e.f(y)(a);}configure(a){r.isAbstractMenuManager(a.rootModel)&&a.rootModel.appendToSubMenu(["Add"],{label:"Linear genome view",icon:e.f(t),onClick:e=>{e.addView("LinearGenomeView",{});}});}}var h=i("eac9f7d5");e._(a,"linearBareDisplayConfigSchemaFactory",h,"configSchemaFactory");var L=i("ccb57460");e._(a,"baseLinearDisplayConfigSchema",L),e._(a,"BaseLinearDisplay",L),e._(a,"BlockMsg",L),e._(a,"BaseLinearDisplayComponent",L),e._(a,"TrackHeightMixin",L),e._(a,"FeatureDensityMixin",L),e._(a,"TooLargeMessage",L);var u=i("a6814207");e._(a,"RefNameAutocomplete",u),e._(a,"SearchBox",u);var S=i("9c2eceda");e._(a,"renderToSvg",S),e._(a,"SVGTracks",S),e._(a,"SVGRuler",S);var _=i("ef4b1cbe");e._(a,"totalHeight",_);var B=i("2e82cb3c");e._(a,"linearBasicDisplayConfigSchemaFactory",B,"configSchema"),e._(a,"linearBasicDisplayModelFactory",B,"modelFactory");},"26212758":function e(e,t,a,i){e._m(t);var l=e.i(a("a0fc9dfd")),o=a("a71998a3"),h=a("549a5906"),r=a("8a28acc8"),d=a("17a7dab7");let n=h.makeStyles()(e=>({highlight:{height:"100%",position:"absolute",background:r.colord(e.palette.highlight.main).alpha(.35).toRgbString(),borderLeft:`1px solid ${e.palette.highlight.main}`,borderRight:`1px solid ${e.palette.highlight.main}`}})),g=o.observer(function({model:t,overview:a}){let{classes:i}=n(),{highlight:o,cytobandOffset:h}=t,{assemblyManager:r}=d.getSession(t);return o.map(e=>{var t;let i=r.get(e.assemblyName),l=null!==(t=null==i?void 0:i.getCanonicalRefName(e.refName))&&void 0!==t?t:e.refName,o=a.bpToPx({...e,refName:l,coord:e.start}),d=a.bpToPx({...e,refName:l,coord:e.end});return void 0!==o&&void 0!==d?{width:Math.abs(d-o),left:o+h}:void 0;}).filter(d.notEmpty).map(({left:t,width:a},o)=>e.f(l).createElement("div",{key:`${t}_${a}_${o}`,className:i.highlight,style:{width:a,left:t}}));});t.default=g;},"26792524":function e(e,t,a,r){e._m(t),e.o(t,"BaseLinearDisplay",()=>M);var o=a("a0fc9dfd"),n=a("ee9073d9"),i=a("ce657870"),u=a("17a7dab7"),l=e.i(a("2f70e40f")),s=a("6082f2cd"),c=a("ddac7a6b"),d=a("b59c6f04"),f=e.i(a("55a8d7b6")),g=e.i(a("09b4a3dd")),v=e.i(a("f00b1ad3")),F=e.i(a("b57d3c02")),k=e.i(a("e08ba635")),y=e.i(a("1c4b5300"));let p=o.lazy(()=>r("6ec97f86"));var M=d.types.compose("BaseLinearDisplay",n.BaseDisplay,e.f(k)(),e.f(y)(),d.types.model({blockState:d.types.map(e.f(v)),configuration:i.ConfigurationReference(e.f(F))})).volatile(()=>({featureIdUnderMouse:void 0,contextMenuFeature:void 0})).views(e=>({get DisplayMessageComponent(){return;},get blockType(){return"staticBlocks";},get blockDefinitions(){let t=u.getContainingView(e);if(!t.initialized)throw Error("view not initialized yet");return t[this.blockType];}})).views(e=>({get renderDelay(){return 50;},get TooltipComponent(){return p;},get selectedFeatureId(){if(d.isAlive(e)){let{selection:t}=u.getSession(e);if(u.isFeature(t))return t.id();}return;}})).views(t=>({get features(){let a=[];for(let e of t.blockState.values())e.features&&a.push(e.features);return new(e.f(l))(a);},get featureUnderMouse(){let e=t.featureIdUnderMouse;return e?this.features.get(e):void 0;},getFeatureOverlapping(e,a,r){var o,n;return null===(n=null===(o=t.blockState.get(e))||void 0===o?void 0:o.layout)||void 0===n?void 0:n.getByCoord(a,r);},getFeatureByID(e,a){var r,o;return null===(o=null===(r=t.blockState.get(e))||void 0===r?void 0:r.layout)||void 0===o?void 0:o.getByID(a);},searchFeatureByID(e){let a;return t.blockState.forEach(t=>{var r;let o=null===(r=t.layout)||void 0===r?void 0:r.getByID(e);o&&(a=o);}),a;}})).actions(t=>({addBlock(a,r){t.blockState.set(a,e.f(v).create({key:a,region:r.toRegion()}));},deleteBlock(e){t.blockState.delete(e);},selectFeature(e){let a=u.getSession(t);if(u.isSessionModelWithWidgets(a)){let r=a.addWidget("BaseFeatureWidget","baseFeature",{view:u.getContainingView(t),track:u.getContainingTrack(t),featureData:e.toJSON()});a.showWidget(r);}u.isSelectionContainer(a)&&a.setSelection(e);},navToFeature(e){u.getContainingView(t).navTo({refName:e.get("refName"),start:e.get("start"),end:e.get("end")});},clearFeatureSelection(){u.getSession(t).clearSelection();},setFeatureIdUnderMouse(e){t.featureIdUnderMouse=e;},setContextMenuFeature(e){t.contextMenuFeature=e;}})).actions(e=>{let{reload:t}=e;return{async reload(){e.setError(),e.setCurrStatsBpPerPx(0),e.clearFeatureDensityStats(),[...e.blockState.values()].forEach(e=>{e.doReload();}),t();}};}).views(t=>({trackMenuItems:()=>[],contextMenuItems:()=>[...t.contextMenuFeature?[{label:"Open feature details",icon:e.f(f),onClick:()=>{t.contextMenuFeature&&t.selectFeature(t.contextMenuFeature);}},{label:"Zoom to feature",icon:e.f(g),onClick:()=>{t.contextMenuFeature&&t.navToFeature(t.contextMenuFeature);}}]:[]],renderProps:()=>({...s.getParentRenderProps(t),notReady:!t.featureDensityStatsReady,rpcDriverName:t.rpcDriverName,displayModel:t,onFeatureClick(e,a){let r=a||t.featureIdUnderMouse;if(r){let e=t.features.get(r);e&&t.selectFeature(e);}else t.clearFeatureSelection();},onClick(){t.clearFeatureSelection();},onFeatureContextMenu(e,a){let r=a||t.featureIdUnderMouse;r?t.setContextMenuFeature(t.features.get(r)):t.clearFeatureSelection();},onMouseMove(e,a){t.setFeatureIdUnderMouse(a);},onMouseLeave(e){t.setFeatureIdUnderMouse(void 0);},onContextMenu(){t.setContextMenuFeature(void 0),t.clearFeatureSelection();}})})).actions(e=>({async renderSvg(t){let{renderBaseLinearDisplaySvg:a}=await r("aee6c98c");return a(e,t);},afterAttach(){d.addDisposer(e,c.autorun(()=>{let t={};u.getContainingView(e).initialized&&(e.blockDefinitions.contentBlocks.forEach(a=>{t[a.key]=!0,e.blockState.has(a.key)||e.addBlock(a.key,a);}),e.blockState.forEach((a,r)=>{t[r]||e.deleteBlock(r);}));}));}})).preProcessSnapshot(e=>{if(!e)return e;let{height:t,...a}=e;return{heightPreConfig:t,...a};}).postProcessSnapshot(e=>{let{blockState:t,...a}=e;return a;});},"280de364":function a(a,i,e,c){a._m(i);var f=e("ce657870"),n=e("4268ff5a");i.default=a=>f.ConfigurationSchema("BasicTrack",{},{baseConfiguration:n.createBaseTrackConfig(a),explicitIdentifier:"trackId"});},"2e82cb3c":function e(e,a,i,n){e._m(a),e.o(a,"default",()=>r);var c=i("4268ff5a"),t=i("ccb57460"),f=e.i(i("5023e7fa")),o=e.i(i("733224cd"));function r(a){a.addDisplayType(()=>{let i=e.f(f)(a);return new c.DisplayType({name:"LinearBasicDisplay",displayName:"Basic feature display",configSchema:i,stateModel:e.f(o)(i),trackType:"FeatureTrack",viewType:"LinearGenomeView",ReactComponent:t.BaseLinearDisplayComponent});});}var l=e.i(i("733224cd"));e._(a,"modelFactory",l,"default");var p=e.i(i("5023e7fa"));e._(a,"configSchema",p,"default");},"2f70e40f":function e(e,t,s,f){"use strict";Object.defineProperty(t,"__esModule",{value:!0});class o{constructor(e){this.submaps=e;}has(e){for(let t of this.submaps.values())if(t.has(e))return!0;return!1;}get(e){for(let t of this.submaps.values())if(t.has(e))return t.get(e);}*values(){for(let e of this.keys())yield this.get(e);}*keys(){let e=new Set;for(let t of this.submaps.values())for(let s of t.keys())e.add(s);for(let t of e)yield t;}find(e){for(let t of this.submaps.values())for(let s of t.values())if(e(s))return s;}*[Symbol.iterator](){for(let e of this.keys())yield[e,this.get(e)];}*entries(){for(let e of this.keys())yield[e,this.get(e)];}}t.default=o;},"35d81edc":function e(e,t,a,f){e._m(t),e.o(t,"default",()=>i);var l=e.i(a("a0fc9dfd")),c=a("a905c0b9"),d=a("17a7dab7");function i({width:t,height:a,shift:f}){let i=c.useTheme();return e.f(l).createElement("rect",{width:t+2*f,height:a,fill:d.stripAlpha(i.palette.background.default)});}},"371da48b":function a(a,d,L,c){a._m(d);var f=a.i(L("946d6d88")),t=L("41124836");d.default=a.f(f)(t.jsx("path",{d:"M17.63 5.84C17.27 5.33 16.67 5 16 5L5 5.01C3.9 5.01 3 5.9 3 7v10c0 1.1.9 1.99 2 1.99L16 19c.67 0 1.27-.33 1.63-.84L22 12z"}),"Label");},"46ca31a8":function a(a,d,f,l){a._m(d);var r=a.i(f("946d6d88")),t=f("41124836");d.default=a.f(r)(t.jsx("path",{d:"M20 11H7.83l5.59-5.59L12 4l-8 8 8 8 1.41-1.41L7.83 13H20z"}),"ArrowBack");},"4724767f":function e(e,t,a,l){e._m(t);var o=e.w(a("a0fc9dfd")),n=a("a71998a3"),i=a("a905c0b9"),c=a("549a5906"),r=e.i(a("56c3907b")),m=e.i(a("ce8faa59"));let s=c.makeStyles()(e=>({container:{display:"flex",flexDirection:"row",alignItems:"center"},slider:{width:70,color:e.palette.text.secondary}})),d=n.observer(function({model:t}){let{classes:a}=s(),{maxBpPerPx:l,minBpPerPx:n,bpPerPx:c}=t,[d,f]=o.useState(-(100*Math.log2(c)));return o.useEffect(()=>{f(-(100*Math.log2(c)));},[c]),e.f(o).createElement("div",{className:a.container},e.f(o).createElement(i.IconButton,{"data-testid":"zoom_out",onClick:()=>{t.zoom(2*c);},disabled:c>=l-1e-4,size:"large"},e.f(o).createElement(e.f(m),null)),e.f(o).createElement(i.Slider,{size:"small",className:a.slider,value:d,min:-(100*Math.log2(l)),max:-(100*Math.log2(n)),onChange:(e,t)=>{f(t);},onChangeCommitted:()=>t.zoomTo(2**(-d/100))}),e.f(o).createElement(i.IconButton,{"data-testid":"zoom_in",onClick:()=>{t.zoom(t.bpPerPx/2);},disabled:c<=n+1e-4,size:"large"},e.f(o).createElement(e.f(r),null)));});t.default=d;},"5023e7fa":function e(e,a,i,n){e._m(a);var r=i("ce657870"),c=i("ccb57460");a.default=function(e){return r.ConfigurationSchema("LinearBasicDisplay",{renderer:e.pluggableConfigSchemaType("renderer")},{baseConfiguration:c.baseLinearDisplayConfigSchema,explicitlyTyped:!0});};},"55a8d7b6":function d(d,h,m,n){d._m(h);var v=d.i(m("946d6d88")),z=m("41124836");h.default=d.f(v)(z.jsx("path",{d:"M3 18h13v-2H3zm0-5h10v-2H3zm0-7v2h13V6zm18 9.59L17.42 12 21 8.41 19.59 7l-5 5 5 5z"}),"MenuOpen");},"5e7633c1":function e(e,r,n,t){e._m(r),e.o(r,"stateModelFactory",()=>p);var a=n("ce657870"),i=n("6082f2cd"),o=n("b59c6f04"),c=n("ccb57460");function p(e){return o.types.compose("LinearBareDisplay",c.BaseLinearDisplay,o.types.model({type:o.types.literal("LinearBareDisplay"),configuration:a.ConfigurationReference(e)})).views(e=>{let{renderProps:r}=e;return{renderProps:()=>({...r(),...i.getParentRenderProps(e),rpcDriverName:e.rpcDriverName,config:e.configuration.renderer}),get rendererTypeName(){return e.configuration.renderer.type;}};});}},"62e13286":function e(e,t,a,l){e._m(t),e.o(t,"default",()=>s);var r=e.i(a("a0fc9dfd")),n=a("17a7dab7"),f=a("a905c0b9"),c=a("07dc72f0"),m=e.i(a("1a2cf1a2"));function i({start:t,end:a,bpPerPx:l,reversed:m=!1,major:i=!0,minor:s=!0,hideText:p=!1}){let o=c.makeTicks(t,a,l,i,s),u=f.useTheme(),d=n.stripAlpha(u.palette.text.secondary);return e.f(r).createElement(e.f(r).Fragment,null,o.map(n=>{let f=(m?a-n.base:n.base-t)/l;return e.f(r).createElement("line",{key:`tick-${n.base}`,x1:f,x2:f,y1:0,y2:"major"===n.type?6:4,strokeWidth:1,stroke:d});}),p?null:o.filter(e=>"major"===e.type).map(f=>{let c=(m?a-f.base:f.base-t)/l;return e.f(r).createElement("text",{key:`label-${f.base}`,x:c-3,y:18,fontSize:11,fill:d},n.getTickDisplayStr(f.base+1,l));}));}function s({model:t,fontSize:a}){let{dynamicBlocks:{contentBlocks:l},offsetPx:c,bpPerPx:s}=t,p=l.length<5,o=f.useTheme(),u=n.stripAlpha(o.palette.text.primary);return e.f(r).createElement(e.f(r).Fragment,null,e.f(r).createElement(e.f(m),{model:t,height:30}),l.map(t=>{let{start:l,end:n,key:f,reversed:m,offsetPx:o,refName:d,widthPx:h}=t,y=`clip-${f}`;return e.f(r).createElement("g",{key:f},e.f(r).createElement("defs",null,e.f(r).createElement("clipPath",{id:y},e.f(r).createElement("rect",{x:0,y:0,width:h,height:100}))),e.f(r).createElement("g",{transform:`translate(${o-c} 0)`},e.f(r).createElement("g",{clipPath:`url(#${y})`},e.f(r).createElement("text",{x:4,y:a,fontSize:a,fill:u},d),e.f(r).createElement("g",{transform:"translate(0 20)"},e.f(r).createElement(i,{hideText:!p,start:l,end:n,bpPerPx:s,reversed:m})))));}));}},"68c0748f":function e(e,a,t,n){e._m(a);var o=e.i(t("a0fc9dfd")),l=t("a71998a3"),c=t("a905c0b9"),d=e.i(t("32e904d4")),r=t("549a5906"),f=t("17a7dab7"),i=e.i(t("56c3907b")),m=e.i(t("ce8faa59")),s=e.i(t("afaaeb01"));let u=r.makeStyles()(e=>({background:{position:"absolute",right:0,zIndex:1001,background:e.palette.background.paper},focusedBackground:{background:c.alpha(e.palette.secondary.light,.2)}})),b=l.observer(function({model:a}){let{classes:t}=u(),{id:n,bpPerPx:l,maxBpPerPx:r,minBpPerPx:b,scaleFactor:g,hideHeader:k}=a,{focusedViewId:p}=f.getSession(a);return k?e.f(o).createElement(c.Paper,{className:t.background},e.f(o).createElement(c.Paper,{className:p===n?t.focusedBackground:void 0},e.f(o).createElement(e.f(d),{menuItems:a.menuItems()},e.f(o).createElement(e.f(s),{fontSize:"small"})),e.f(o).createElement(c.IconButton,{"data-testid":"zoom_out",onClick:()=>{a.zoom(2*l);},disabled:l>=r-1e-4||1!==g},e.f(o).createElement(e.f(m),{fontSize:"small"})),e.f(o).createElement(c.IconButton,{"data-testid":"zoom_in",onClick:()=>{a.zoom(l/2);},disabled:l<=b+1e-4||1!==g},e.f(o).createElement(e.f(i),{fontSize:"small"})))):null;});a.default=b;},"733224cd":function e(e,t,r,s){e._m(t);var a=r("a0fc9dfd"),o=r("ce657870"),i=r("17a7dab7"),l=r("b59c6f04"),n=e.i(r("ea2a1419")),c=r("ccb57460"),p=e.i(r("9b3fb2fe"));let d=a.lazy(()=>s("1d0ca576")),g=a.lazy(()=>s("4f6e1eb4"));t.default=function(t){return l.types.compose("LinearBasicDisplay",c.BaseLinearDisplay,l.types.model({type:l.types.literal("LinearBasicDisplay"),trackShowLabels:l.types.maybe(l.types.boolean),trackShowDescriptions:l.types.maybe(l.types.boolean),trackDisplayMode:l.types.maybe(l.types.string),trackMaxHeight:l.types.maybe(l.types.number),configuration:o.ConfigurationReference(t),jexlFilters:l.types.maybe(l.types.array(l.types.string))})).views(e=>({get activeFilters(){var t;return null!==(t=e.jexlFilters)&&void 0!==t?t:o.getConf(e,"jexlFilters").map(e=>`jexl:${e}`);},get rendererTypeName(){return o.getConf(e,["renderer","type"]);},get showLabels(){var r;return null!==(r=e.trackShowLabels)&&void 0!==r?r:o.getConf(e,["renderer","showLabels"]);},get showDescriptions(){var s;return null!==(s=e.trackShowDescriptions)&&void 0!==s?s:o.getConf(e,["renderer","showDescriptions"]);},get maxHeight(){var a;return null!==(a=e.trackMaxHeight)&&void 0!==a?a:o.getConf(e,["renderer","maxHeight"]);},get displayMode(){var i;return null!==(i=e.trackDisplayMode)&&void 0!==i?i:o.getConf(e,["renderer","displayMode"]);}})).views(e=>({get rendererConfig(){let t=o.getConf(e,["renderer"])||{};return e.rendererType.configSchema.create({...t,showLabels:e.showLabels,showDescriptions:e.showDescriptions,displayMode:e.displayMode,maxHeight:e.maxHeight},l.getEnv(e));}})).actions(e=>({setJexlFilters(t){e.jexlFilters=l.cast(t);},toggleShowLabels(){e.trackShowLabels=!e.showLabels;},toggleShowDescriptions(){e.trackShowDescriptions=!e.showDescriptions;},setDisplayMode(t){e.trackDisplayMode=t;},setMaxHeight(t){e.trackMaxHeight=t;}})).views(t=>{let{trackMenuItems:r,renderProps:s}=t;return{renderProps:()=>({...s(),config:t.rendererConfig,filters:new(e.f(p))({filters:t.activeFilters})}),trackMenuItems:()=>[...r(),{label:"Show labels",icon:e.f(n),type:"checkbox",checked:t.showLabels,onClick:()=>{t.toggleShowLabels();}},{label:"Show descriptions",icon:e.f(n),type:"checkbox",checked:t.showDescriptions,onClick:()=>{t.toggleShowDescriptions();}},{label:"Display mode",icon:e.f(n),subMenu:["compact","reducedRepresentation","normal","collapse"].map(e=>({label:e,onClick:()=>{t.setDisplayMode(e);}}))},{label:"Set max height",onClick:()=>{i.getSession(t).queueDialog(e=>[d,{model:t,handleClose:e}]);}},{label:"Edit filters",onClick:()=>{i.getSession(t).queueDialog(e=>[g,{model:t,handleClose:e}]);}}]};});};},"7b2b5de3":function a(a,e,i,r){a._m(e);var t=i("ce657870"),c=i("4268ff5a");e.default=a=>t.ConfigurationSchema("FeatureTrack",{},{baseConfiguration:c.createBaseTrackConfig(a),explicitIdentifier:"trackId"});},"7f7f7f97":function e(e,a,n,i){e._m(a),e.o(a,"configSchemaFactory",()=>o);var r=n("ce657870"),c=n("ccb57460");function o(e){return r.ConfigurationSchema("LinearBareDisplay",{renderer:e.pluggableConfigSchemaType("renderer")},{baseConfiguration:c.baseLinearDisplayConfigSchema,explicitlyTyped:!0});}},"80fd7e36":function e(e,t,o,n){e._m(t);var i=e.w(o("a0fc9dfd")),r=o("a905c0b9"),a=o("549a5906"),d=o("17a7dab7"),l=o("a71998a3"),s=e.i(o("c7f3ab93")),u=o("6802c2e9");let v=a.makeStyles()({rubberbandControl:{cursor:"crosshair",width:"100%",minHeight:8},guide:{pointerEvents:"none",height:"100%",width:1,position:"absolute",zIndex:10},rel:{position:"relative"}}),c=l.observer(function({model:t,open:o,guideX:n,overview:a}){var l;let{classes:s}=v(),{cytobandOffset:u}=t,{assemblyManager:c}=d.getSession(t),f=a.pxToBp(n-u),m=c.get(f.assemblyName),p=null===(l=null==m?void 0:m.cytobands)||void 0===l?void 0:l.find(e=>f.coord>e.get("start")&&f.coord<e.get("end")&&f.refName===m.getCanonicalRefName(e.get("refName")));return e.f(i).createElement(r.Tooltip,{open:o,placement:"top",title:[d.stringify(f),null==p?void 0:p.get("name")].join(" "),arrow:!0},e.f(i).createElement("div",{className:s.guide,style:{left:n}}));}),f=l.observer(function({model:t,overview:o,ControlComponent:n=e.f(i).createElement("div",null)}){let r,a;let{cytobandOffset:l}=t,[f,m]=i.useState(),[p,w]=i.useState(),[b,g]=i.useState(),E=i.useRef(null),{classes:h}=v(),M=void 0!==f;function N(e){e.preventDefault(),e.stopPropagation(),m(u.getRelativeX(e,E.current));}function x(e){g(u.getRelativeX(e,E.current));}function y(){g(void 0);}if(i.useEffect(()=>{function e(e){let t=E.current;t&&M&&w(u.getRelativeX(e,t));}function n(){if(void 0!==f&&void 0!==p&&Math.abs(p-f)>3){let e=Math.min(f,p),n=Math.max(f,p);t.moveTo(o.pxToBp(e-l),o.pxToBp(n-l));}if(void 0!==f&&void 0===p){let e=o.pxToBp(f-l);e.refName?t.centerAt(Math.round(e.coord),e.refName,e.index):(d.getSession(t).notify("unknown position clicked"),console.error("unknown position clicked",e));}m(void 0),w(void 0),void 0!==f&&g(void 0);}function i(e){"Escape"===e.key&&(m(void 0),w(void 0));}return M?(window.addEventListener("mousemove",e,!0),window.addEventListener("mouseup",n,!0),window.addEventListener("keydown",i,!0),()=>{window.removeEventListener("mousemove",e,!0),window.removeEventListener("mouseup",n,!0),window.removeEventListener("keydown",i,!0);}):()=>{};},[M,p,f,t,o,l]),void 0===f)return e.f(i).createElement("div",{className:h.rel},void 0!==b?e.f(i).createElement(c,{model:t,open:!M,overview:o,guideX:b}):null,e.f(i).createElement("div",{className:h.rubberbandControl,ref:E,onMouseDown:N,onMouseOut:y,onMouseMove:x},n));let k=f||0,B=0;return void 0!==p&&(k=Math.min(p,f),B=p-f),f&&(r=o.pxToBp(f-l),a=o.pxToBp(f+B-l),void 0!==p&&p<f&&([r,a]=[a,r])),e.f(i).createElement("div",{className:h.rel},r&&a?e.f(i).createElement(e.f(s),{leftBpOffset:r,rightBpOffset:a,width:Math.abs(B),left:k}):null,e.f(i).createElement("div",{"data-testid":"rubberband_controls",className:h.rubberbandControl,ref:E,onMouseDown:N,onMouseOut:y,onMouseMove:x},n));});t.default=f;},"8199c804":function e(e,t,r,o){e._m(t),e.o(t,"stateModelFactory",()=>G);var a=r("a0fc9dfd"),i=r("ce657870"),s=r("ee9073d9"),n=r("80268a2c"),l=r("17a7dab7"),c=e.i(r("797a5933")),d=e.i(r("bb2ddf76")),h=r("6082f2cd"),g=r("ddac7a6b"),p=r("b59c6f04"),f=e.i(r("4e87d177")),y=r("33a7b648"),m=r("98bf05b4"),k=e.i(r("6d0c06c9")),u=r("13645f57"),b=e.i(r("fcebcb14")),v=e.i(r("ea2a1419")),w=e.i(r("371da48b")),S=e.i(r("ea841a3b")),T=e.i(r("aa895214")),C=e.i(r("56c3907b")),P=e.i(r("55a8d7b6")),x=e.i(r("f1e7ee9a")),R=e.i(r("d89a035b")),B=e.i(r("68c0748f")),H=e.i(r("b052c1d4")),D=r("07dc72f0"),E=r("8eac6e98"),I=r("516b1e81");let N=a.lazy(()=>o("78325e59")),L=a.lazy(()=>o("c97d3897")),A=a.lazy(()=>o("6c543955")),O=a.lazy(()=>o("83486ba2")),z=a.lazy(()=>o("4fc59287"));function M(e){if(!e.length)return"";let t=e.every(t=>t.assemblyName===e[0].assemblyName);return e.map(e=>l.assembleLocString({...e,start:Math.round(e.start),end:Math.round(e.end),assemblyName:t?void 0:e.assemblyName})).join(" ");}function G(t){return p.types.compose("LinearGenomeView",s.BaseViewModel,p.types.model({id:n.ElementId,type:p.types.literal("LinearGenomeView"),offsetPx:0,bpPerPx:1,displayedRegions:p.types.optional(p.types.frozen(),[]),tracks:p.types.array(t.pluggableMstType("track","stateModel")),hideHeader:!1,hideHeaderOverview:!1,hideNoTracksActive:!1,trackSelectorType:p.types.optional(p.types.enumeration(["hierarchical"]),"hierarchical"),showCenterLine:p.types.optional(p.types.boolean,()=>!!JSON.parse(l.localStorageGetItem("lgv-showCenterLine")||"false")),showCytobandsSetting:p.types.optional(p.types.boolean,()=>!!JSON.parse(l.localStorageGetItem("lgv-showCytobands")||"true")),trackLabels:p.types.optional(p.types.string,()=>l.localStorageGetItem("lgv-trackLabels")||""),showGridlines:!0,highlight:p.types.optional(p.types.array(p.types.frozen()),[]),colorByCDS:p.types.optional(p.types.boolean,()=>!!JSON.parse(l.localStorageGetItem("lgv-colorByCDS")||"false")),showTrackOutlines:p.types.optional(p.types.boolean,()=>!!JSON.parse(l.localStorageGetItem("lgv-showTrackOutlines")||"true"))})).volatile(()=>({volatileWidth:void 0,minimumBlockWidth:3,draggingTrackId:void 0,volatileError:void 0,afterDisplayedRegionsSetCallbacks:[],scaleFactor:1,trackRefs:{},coarseDynamicBlocks:[],coarseTotalBp:0,leftOffset:void 0,rightOffset:void 0})).views(e=>({get trackLabelsSetting(){let t=i.getConf(l.getSession(e),["LinearGenomeViewPlugin","trackLabels"]);return e.trackLabels||t;},get width(){if(void 0===e.volatileWidth)throw Error("width undefined, make sure to check for model.initialized");return e.volatileWidth;},get interRegionPaddingWidth(){return I.INTER_REGION_PADDING_WIDTH;},get assemblyNames(){return[...new Set(e.displayedRegions.map(e=>e.assemblyName))];}})).views(t=>({scaleBarDisplayPrefix:()=>"LinearSyntenyView"===p.getParent(t,2).type?t.assemblyNames[0]:"",MiniControlsComponent:()=>e.f(B),HeaderComponent:()=>e.f(H),get assemblyErrors(){let{assemblyManager:e}=l.getSession(t);return t.assemblyNames.map(t=>{var r;return null===(r=e.get(t))||void 0===r?void 0:r.error;}).filter(e=>!!e).join(", ");},get assembliesInitialized(){let{assemblyManager:e}=l.getSession(t),{assemblyNames:r}=t;return r.every(t=>{var r;return null===(r=e.get(t))||void 0===r?void 0:r.initialized;});},get initialized(){return void 0!==t.volatileWidth&&this.assembliesInitialized;},get hasDisplayedRegions(){return t.displayedRegions.length>0;},get scaleBarHeight(){return I.SCALE_BAR_HEIGHT+I.RESIZE_HANDLE_HEIGHT;},get headerHeight(){if(t.hideHeader)return 0;if(t.hideHeaderOverview)return I.HEADER_BAR_HEIGHT;return I.HEADER_BAR_HEIGHT+I.HEADER_OVERVIEW_HEIGHT;},get trackHeights(){return l.sum(t.tracks.map(e=>e.displays[0].height));},get trackHeightsWithResizeHandles(){return this.trackHeights+t.tracks.length*I.RESIZE_HANDLE_HEIGHT;},get height(){return this.trackHeightsWithResizeHandles+this.headerHeight+this.scaleBarHeight;},get totalBp(){return l.sum(t.displayedRegions.map(e=>e.end-e.start));},get maxBpPerPx(){return this.totalBp/(.9*t.width);},get minBpPerPx(){return .02;},get error(){return t.volatileError||this.assemblyErrors;},get maxOffset(){return this.displayedRegionsTotalPx-10;},get minOffset(){return-t.width+30;},get displayedRegionsTotalPx(){return this.totalBp/t.bpPerPx;},renderProps:()=>({...h.getParentRenderProps(t),bpPerPx:t.bpPerPx,colorByCDS:t.colorByCDS}),searchScope:e=>({assemblyName:e,includeAggregateIndexes:!0,tracks:t.tracks}),getTrack:e=>t.tracks.find(t=>t.configuration.trackId===e),rankSearchResults(e){let r=new Set(t.tracks.map(e=>e.configuration.trackId));for(let t of e)r.has(t.trackId)&&t.updateScore(t.getScore()+1);return e;},rewriteOnClicks(e,r){r.forEach(r=>{if("subMenu"in r&&this.rewriteOnClicks(e,r.subMenu),"onClick"in r){let o=r.onClick;r.onClick=(...r)=>{t.tracks.forEach(t=>{t.type===e&&o.apply(t,[t,...r]);});};}});},get trackTypeActions(){let r=new Map;return t.tracks.forEach(t=>{if(!r.get(t.type)){let o=e.f(k)(t.viewMenuActions);this.rewriteOnClicks(t.type,o),r.set(t.type,o);}}),r;}})).actions(e=>({setShowTrackOutlines(t){e.showTrackOutlines=t;},setColorByCDS(t){e.colorByCDS=t;},setShowCytobands(t){e.showCytobandsSetting=t;},setWidth(t){e.volatileWidth=t;},setError(t){e.volatileError=t;},setHideHeader(t){e.hideHeader=t;},setHideHeaderOverview(t){e.hideHeaderOverview=t;},setHideNoTracksActive(t){e.hideNoTracksActive=t;},setShowGridlines(t){e.showGridlines=t;},addToHighlights(t){e.highlight.push(t);},setHighlight(t){e.highlight=p.cast(t);},removeHighlight(t){e.highlight.remove(t);},scrollTo(t){let r=l.clamp(t,e.minOffset,e.maxOffset);return e.offsetPx=r,r;},zoomTo(t,r=e.width/2,o=!1){let a=l.clamp(t,e.minBpPerPx,e.maxBpPerPx);if(a===e.bpPerPx)return a;let i=e.bpPerPx;return 1e-6>Math.abs(i-a)?(console.warn("zoomTo bpPerPx rounding error"),i):(e.bpPerPx=a,this.scrollTo(Math.round((e.offsetPx+r)*i/a-(o?e.width/2:r))),a);},setOffsets(t,r){e.leftOffset=t,e.rightOffset=r;},setSearchResults(t,r,o){l.getSession(e).queueDialog(a=>[z,{model:e,searchResults:t,searchQuery:r,handleClose:a,assemblyName:o}]);},setNewView(e,t){this.zoomTo(e),this.scrollTo(t);},horizontallyFlip(){e.displayedRegions=p.cast([...e.displayedRegions].reverse().map(e=>({...e,reversed:!e.reversed}))),this.scrollTo(e.totalBp/e.bpPerPx-e.offsetPx-e.width);},showTrack(r,o={},a={}){let i=t.pluggableConfigSchemaType("track"),s=p.resolveIdentifier(i,p.getRoot(e),r);if(!s)throw Error(`Could not resolve identifier "${r}"`);let n=t.getTrackType(null==s?void 0:s.type);if(!n)throw Error(`Unknown track type ${s.type}`);let l=new Set(t.getViewType(e.type).displayTypes.map(e=>e.name)),c=s.displays.find(e=>l.has(e.type));if(!c)throw Error(`Could not find a compatible display for view type ${e.type}`);let d=e.tracks.filter(e=>e.configuration===s);if(0===d.length){let t=n.stateModel.create({...o,type:s.type,configuration:s,displays:[{type:c.type,configuration:c,...a}]});return e.tracks.push(t),t;}return d[0];},hideTrack(r){let o=t.pluggableConfigSchemaType("track"),a=p.resolveIdentifier(o,p.getRoot(e),r),i=e.tracks.filter(e=>e.configuration===a);return g.transaction(()=>{i.forEach(t=>e.tracks.remove(t));}),i.length;}})).actions(t=>({moveTrackDown(e){let r=t.tracks.findIndex(t=>t.id===e);-1!==r&&-1!==r&&r<t.tracks.length-1&&t.tracks.splice(r,2,t.tracks[r+1],t.tracks[r]);},moveTrackUp(e){let r=t.tracks.findIndex(t=>t.id===e);r>0&&t.tracks.splice(r-1,2,t.tracks[r],t.tracks[r-1]);},moveTrackToTop(e){let r=t.tracks.findIndex(t=>t.id===e);t.tracks=p.cast([t.tracks[r],...t.tracks.filter(t=>t.id!==e)]);},moveTrackToBottom(e){let r=t.tracks.findIndex(t=>t.id===e);t.tracks=p.cast([...t.tracks.filter(t=>t.id!==e),t.tracks[r]]);},moveTrack(e,r){let o=t.tracks.findIndex(t=>t.id===e);if(-1===o)throw Error(`Track ID ${e} not found`);let a=t.tracks.findIndex(e=>e.id===r);if(-1===a)throw Error(`Track ID ${r} not found`);let i=t.tracks.filter((e,t)=>t!==o);i.splice(a,0,t.tracks[o]),t.tracks=p.cast(i);},toggleTrack:e=>!t.hideTrack(e)&&(t.showTrack(e),!0),setTrackLabels(e){localStorage.setItem("lgv-trackLabels",e),t.trackLabels=e;},setShowCenterLine(e){t.showCenterLine=e;},setDisplayedRegions(e){t.displayedRegions=p.cast(e),t.zoomTo(t.bpPerPx);},activateTrackSelector(){if("hierarchical"===t.trackSelectorType){let e=l.getSession(t);if(l.isSessionModelWithWidgets(e)){let r=e.addWidget("HierarchicalTrackSelectorWidget","hierarchicalTrackSelector",{view:t});return e.showWidget(r),r;}}throw Error(`invalid track selector type ${t.trackSelectorType}`);},getSelectedRegions(r,o){let a=p.getSnapshot(t),i=e.f(f).create({...a,interRegionPaddingWidth:t.interRegionPaddingWidth});return i.setVolatileWidth(t.width),i.moveTo(r,o),i.dynamicBlocks.contentBlocks.map(e=>({...e,start:Math.floor(e.start),end:Math.ceil(e.end)}));},afterDisplayedRegionsSet(e){t.afterDisplayedRegionsSetCallbacks.push(e);},horizontalScroll(e){let r=t.offsetPx;return t.scrollTo(t.offsetPx+e)-r;},center(){let e=t.totalBp/2/t.bpPerPx;t.scrollTo(Math.round(e-t.width/2));},showAllRegions(){t.zoomTo(t.maxBpPerPx),this.center();},showAllRegionsInAssembly(e){let r=l.getSession(t),{assemblyManager:o}=r;if(!e){let o=new Set(t.displayedRegions.map(e=>e.assemblyName));if(o.size>1){r.notify("Can't perform operation with multiple assemblies currently");return;}[e]=[...o];}let a=o.get(e);if(a){let{regions:e}=a;e&&(this.setDisplayedRegions(e),t.zoomTo(t.maxBpPerPx),this.center());}},setDraggingTrackId(e){t.draggingTrackId=e;},setScaleFactor(e){t.scaleFactor=e;},clearView(){this.setDisplayedRegions([]),t.tracks.clear(),t.scrollTo(0),t.zoomTo(10);},async exportSvg(e={}){let{renderToSvg:r}=await o("9c2eceda"),a=new Blob([await r(t,e)],{type:"image/svg+xml"});m.saveAs(a,e.filename||"image.svg");}})).actions(e=>{let t=()=>{};return{slide:function(r){let[o,a]=l.springAnimate(e.offsetPx,e.offsetPx+e.width*r,e.scrollTo,void 0,void 0,200);t(),t=a,o();}};}).actions(e=>{let t=()=>{};return{zoom:function(r){if(e.zoomTo(e.bpPerPx),r<e.bpPerPx&&e.bpPerPx===e.minBpPerPx||r>e.bpPerPx&&e.bpPerPx===e.maxBpPerPx)return;let o=e.bpPerPx/r,[a,i]=l.springAnimate(1,o,e.setScaleFactor,()=>{e.zoomTo(r),e.setScaleFactor(1);});t(),t=i,a();}};}).views(e=>({get canShowCytobands(){return 1===e.displayedRegions.length&&this.anyCytobandsExist;},get showCytobands(){return this.canShowCytobands&&e.showCytobandsSetting;},get anyCytobandsExist(){let{assemblyManager:t}=l.getSession(e);return e.assemblyNames.some(e=>{var r,o;return null===(o=null===(r=t.get(e))||void 0===r?void 0:r.cytobands)||void 0===o?void 0:o.length;});},get cytobandOffset(){var t;return this.showCytobands?l.measureText((null===(t=e.displayedRegions[0])||void 0===t?void 0:t.refName)||"",12)+15:0;}})).views(t=>({menuItems(){let{canShowCytobands:r,showCytobands:o}=t,a=l.getSession(t),i=[{label:"Return to import form",onClick:()=>{l.getSession(t).queueDialog(e=>[N,{model:t,handleClose:e}]);},icon:e.f(S)},...l.isSessionWithAddTracks(a)?[{label:"Sequence search",icon:e.f(R),onClick:()=>{l.getSession(t).queueDialog(e=>[L,{model:t,handleClose:e}]);}}]:[],{label:"Export SVG",icon:e.f(T),onClick:()=>{l.getSession(t).queueDialog(e=>[A,{model:t,handleClose:e}]);}},{label:"Open track selector",onClick:t.activateTrackSelector,icon:u.TrackSelector},{label:"Horizontally flip",icon:e.f(b),onClick:t.horizontallyFlip},{label:"Color by CDS",type:"checkbox",checked:t.colorByCDS,icon:e.f(x),onClick:()=>{t.setColorByCDS(!t.colorByCDS);}},{label:"Show...",icon:e.f(v),subMenu:[{label:"Show all regions in assembly",onClick:t.showAllRegionsInAssembly},{label:"Show center line",type:"checkbox",checked:t.showCenterLine,onClick:()=>{t.setShowCenterLine(!t.showCenterLine);}},{label:"Show header",type:"checkbox",checked:!t.hideHeader,onClick:()=>{t.setHideHeader(!t.hideHeader);}},{label:"Show track outlines",type:"checkbox",checked:t.showTrackOutlines,onClick:()=>{t.setShowTrackOutlines(!t.showTrackOutlines);}},{label:"Show header overview",type:"checkbox",checked:!t.hideHeaderOverview,onClick:()=>{t.setHideHeaderOverview(!t.hideHeaderOverview);},disabled:t.hideHeader},{label:"Show no tracks active button",type:"checkbox",checked:!t.hideNoTracksActive,onClick:()=>{t.setHideNoTracksActive(!t.hideNoTracksActive);}},{label:"Show guidelines",type:"checkbox",checked:t.showGridlines,onClick:()=>{t.setShowGridlines(!t.showGridlines);}},...r?[{label:"Show ideogram",type:"checkbox",checked:t.showCytobands,onClick:()=>{t.setShowCytobands(!o);}}]:[]]},{label:"Track labels",icon:e.f(w),subMenu:[{label:"Overlapping",icon:e.f(v),type:"radio",checked:"overlapping"===t.trackLabelsSetting,onClick:()=>{t.setTrackLabels("overlapping");}},{label:"Offset",icon:e.f(v),type:"radio",checked:"offset"===t.trackLabelsSetting,onClick:()=>{t.setTrackLabels("offset");}},{label:"Hidden",icon:e.f(v),type:"radio",checked:"hidden"===t.trackLabelsSetting,onClick:()=>{t.setTrackLabels("hidden");}}]}];for(let[e,r]of t.trackTypeActions.entries())r.length&&(i.push({type:"divider"},{type:"subHeader",label:e}),r.forEach(e=>i.push(e)));return i;}})).views(t=>{let r;let o="";return{get staticBlocks(){let a=e.f(d)(t),i=JSON.stringify(a);return o!==i&&(r=a,o=i),r;},get dynamicBlocks(){return e.f(c)(t);},get roundedDynamicBlocks(){return this.dynamicBlocks.contentBlocks.map(e=>({...e,start:Math.floor(e.start),end:Math.ceil(e.end)}));},get visibleLocStrings(){return M(this.dynamicBlocks.contentBlocks);},get coarseVisibleLocStrings(){return M(t.coarseDynamicBlocks);}};}).actions(e=>({setCoarseDynamicBlocks(t){e.coarseDynamicBlocks=t.contentBlocks,e.coarseTotalBp=t.totalBp;},afterAttach(){p.addDisposer(e,g.autorun(()=>{e.initialized&&this.setCoarseDynamicBlocks(e.dynamicBlocks);},{delay:150})),p.addDisposer(e,g.autorun(()=>{let t=e=>JSON.stringify(e),{showCytobandsSetting:r,showCenterLine:o,colorByCDS:a}=e;l.localStorageSetItem("lgv-showCytobands",t(r)),l.localStorageSetItem("lgv-showCenterLine",t(o)),l.localStorageSetItem("lgv-colorByCDS",t(a));}));}})).actions(e=>({moveTo(t,r){y.moveTo(e,t,r);},async navToLocString(t,r){let{assemblyNames:o}=e,{assemblyManager:a}=l.getSession(e),i=r||o[0];return i&&await a.waitForAssembly(i),this.navToLocations(D.parseLocStrings(t,i,(e,t)=>a.isValidRefName(e,t)),i);},async navToSearchString({input:t,assembly:r}){await E.handleSelectedRegion({input:t,assembly:r,model:e});},async navToLocations(t,r){let{assemblyManager:o}=l.getSession(e);await g.when(()=>void 0!==e.volatileWidth);let a=await D.generateLocations(t,o,r);if(1===a.length){let t=a[0],{reversed:r,parentRegion:o,start:i,end:s}=t;e.setDisplayedRegions([{reversed:r,...o}]),this.navTo({...t,start:l.clamp(null!=i?i:0,0,o.end),end:l.clamp(null!=s?s:o.end,0,o.end)});}else e.setDisplayedRegions(a.map(e=>void 0===e.start?e.parentRegion:e)),e.showAllRegions();},navTo(e){this.navToMultiple([e]);},navToMultiple(t){if(t.some(e=>void 0!==e.start&&void 0!==e.end&&e.start>e.end))throw Error("found start greater than end");let r=t.at(0),o=t.at(-1);if(!r||!o)return;let a=e.assemblyNames[0],{assemblyManager:i}=l.getSession(e),s=i.get(r.assemblyName||a),n=i.get(o.assemblyName||a),c=(null==s?void 0:s.getCanonicalRefName(r.refName))||r.refName,d=(null==n?void 0:n.getCanonicalRefName(o.refName))||o.refName,h=e.displayedRegions.find(e=>e.refName===c),g=l.findLast(e.displayedRegions,e=>e.refName===d);if(!h)throw Error(`could not find a region with refName "${c}"`);if(!g)throw Error(`could not find a region with refName "${d}"`);let p=void 0===r.start?h.start:r.start,f=void 0===r.end?h.end:r.end,y=void 0===o.start?g.start:o.start,m=void 0===o.end?g.end:o.end,k=e.displayedRegions.findIndex(e=>c===e.refName&&p>=e.start&&p<=e.end&&f<=e.end&&f>=e.start),u=e.displayedRegions.findIndex(e=>d===e.refName&&y>=e.start&&y<=e.end&&m<=e.end&&m>=e.start);if(-1===k||-1===u)throw Error(`could not find a region that contained "${t.map(e=>l.assembleLocString(e))}"`);let b=e.displayedRegions[k],v=e.displayedRegions[u];this.moveTo({index:k,offset:b.reversed?b.end-f:p-b.start},{index:u,offset:v.reversed?v.end-y:m-v.start});}})).views(t=>({rubberBandMenuItems:()=>[{label:"Zoom to region",icon:e.f(C),onClick:()=>{t.moveTo(t.leftOffset,t.rightOffset);}},{label:"Get sequence",icon:e.f(P),onClick:()=>{l.getSession(t).queueDialog(e=>[O,{model:t,handleClose:e}]);}}],bpToPx:({refName:e,coord:r,regionNumber:o})=>y.bpToPx({refName:e,coord:r,regionNumber:o,self:t}),centerAt(e,r,o){let a=this.bpToPx({refName:r,coord:e,regionNumber:o});void 0!==a&&t.scrollTo(Math.round(a.offsetPx-t.width/2));},pxToBp:e=>y.pxToBp(t,e),get centerLineInfo(){return t.displayedRegions.length>0?this.pxToBp(t.width/2):void 0;}})).actions(e=>({afterCreate(){function t(t){l.getSession(e).focusedViewId===e.id&&(t.ctrlKey||t.metaKey)&&("ArrowLeft"===t.code?(t.preventDefault(),e.slide(-.9)):"ArrowRight"===t.code?(t.preventDefault(),e.slide(.9)):"ArrowUp"===t.code&&1===e.scaleFactor?(t.preventDefault(),e.zoom(e.bpPerPx/2)):"ArrowDown"===t.code&&1===e.scaleFactor&&(t.preventDefault(),e.zoom(2*e.bpPerPx)));}document.addEventListener("keydown",t),p.addDisposer(e,()=>{document.removeEventListener("keydown",t);});}})).preProcessSnapshot(e=>{if(!e)return e;let{highlight:t,...r}=e;return{highlight:Array.isArray(t)||void 0===t?t:[t],...r};});}var W=e.i(r("b8d58cf1"));e._(t,"ReactComponent",W,"default"),e._(t,"LinearGenomeView",W,"default");var _=e.i(r("5fb85aa9"));e._(t,"RefNameAutocomplete",_,"default");var V=e.i(r("d593c886"));e._(t,"SearchBox",V,"default");var F=e.i(r("4724767f"));e._(t,"ZoomControls",F,"default");var $=r("9c2eceda");e._(t,"renderToSvg",$);},"83b6d441":function e(e,t,n,o){e._m(t),e.o(t,"RenderedBlocks",()=>f);var l=e.i(n("a0fc9dfd")),i=n("549a5906"),r=n("17a7dab7"),a=n("a71998a3"),d=n("f7603771");let c=i.makeStyles()({linearBlocks:{whiteSpace:"nowrap",textAlign:"left",position:"absolute",minHeight:"100%",display:"flex"},heightOverflowed:{position:"absolute",color:"rgb(77,77,77)",borderBottom:"2px solid rgb(77,77,77)",textShadow:"white 0px 0px 1px",whiteSpace:"nowrap",width:"100%",fontWeight:"bold",textAlign:"center",zIndex:2e3,boxSizing:"border-box"}}),f=a.observer(function({model:t}){let{classes:n}=c(),{blockDefinitions:o,blockState:i}=t;return e.f(l).createElement(e.f(l).Fragment,null,o.map(o=>{let r=`${t.id}-${o.key}`;if("ContentBlock"===o.type){let t=i.get(o.key);return e.f(l).createElement(d.ContentBlock,{block:o,key:r},(null==t?void 0:t.ReactComponent)?e.f(l).createElement(t.ReactComponent,{model:t}):null,(null==t?void 0:t.maxHeightReached)?e.f(l).createElement("div",{className:n.heightOverflowed,style:{top:t.layout.getTotalHeight()-16,pointerEvents:"none",height:16}},"Max height reached"):null);}if("ElidedBlock"===o.type)return e.f(l).createElement(d.ElidedBlock,{key:r,width:o.widthPx});if("InterRegionPaddingBlock"===o.type)return e.f(l).createElement(d.InterRegionPaddingBlock,{key:r,width:o.widthPx,style:{background:"none"},boundary:"boundary"===o.variant});throw Error(`invalid block type ${JSON.stringify(o)}`);}));}),g=a.observer(function({model:t}){let{classes:n}=c(),{blockDefinitions:o}=t,i=r.getContainingView(t);return e.f(l).createElement("div",{className:n.linearBlocks,style:{left:o.offsetPx-i.offsetPx}},e.f(l).createElement(f,{model:t}));});t.default=g;},"882dba6d":function e(e,t,n,o){e._m(t);var i=e.w(n("a0fc9dfd")),l=n("a71998a3"),a=n("a905c0b9"),r=n("549a5906"),c=n("ce657870"),s=n("8a4ea8f0"),u=e.i(n("83b6d441"));let d=r.makeStyles()({display:{position:"relative",whiteSpace:"nowrap",textAlign:"left",width:"100%",minHeight:"100%"}}),f=l.observer(function(t){let{classes:n}=d(),o=a.useTheme(),l=i.useRef(null),[r,f]=i.useState(),[m,v]=i.useState([0,0]),[p,M]=i.useState([0,0]),[h,C]=i.useState(),{model:g,children:x}=t,{TooltipComponent:E,DisplayMessageComponent:S,height:b}=g,y=g.contextMenuItems();return e.f(i).createElement("div",{ref:l,"data-testid":`display-${c.getConf(g,"displayId")}`,className:n.display,onContextMenu:e=>{e.preventDefault(),h?C(void 0):l.current&&C([e.clientX,e.clientY]);},onMouseMove:e=>{if(!l.current)return;let t=l.current.getBoundingClientRect(),{left:n,top:o}=t;v([e.clientX-n,e.clientY-o]),M([e.clientX,e.clientY]),f(t);}},S?e.f(i).createElement(S,{model:g}):e.f(i).createElement(e.f(u),{...t}),x,e.f(i).createElement(i.Suspense,{fallback:null},e.f(i).createElement(E,{model:g,height:b,offsetMouseCoord:m,clientMouseCoord:p,clientRect:r,mouseCoord:m})),e.f(i).createElement(s.Menu,{open:!!h&&y.length>0,onMenuItemClick:(e,t)=>{t(),C(void 0);},onClose:()=>{C(void 0),g.setContextMenuFeature(void 0);},TransitionProps:{onExit:()=>{C(void 0),g.setContextMenuFeature(void 0);}},anchorReference:"anchorPosition",anchorPosition:h?{top:h[1],left:h[0]}:void 0,style:{zIndex:o.zIndex.tooltip},menuItems:y}));});t.default=f;var m=e.i(n("6ec97f86"));e._(t,"Tooltip",m,"default");var v=e.i(n("047bb25e"));e._(t,"BlockMsg",v,"default");},"893d6f67":function e(e,t,a,f){e._m(t),e.o(t,"default",()=>i);var r=e.i(a("a0fc9dfd")),n=a("6082f2cd"),c=a("17a7dab7"),l=e.i(a("1a2cf1a2")),m=e.i(a("a2fb9dca"));function i({displayResults:t,model:a,textHeight:f,fontSize:i,trackLabels:o="offset",trackLabelOffset:s=0}){let d=c.getSession(a),g="offset"===o?f:0,h=0;return e.f(r).createElement(e.f(r).Fragment,null,t.map(({track:t,result:f})=>{let c=h,u=t.configuration,k=n.getTrackName(u,d),E=t.displays[0],b=Math.max(-a.offsetPx,0);return h+=E.height+g,e.f(r).createElement("g",{key:u.trackId,transform:`translate(0 ${c})`},e.f(r).createElement("g",{transform:`translate(${s} ${g})`},e.f(r).createElement(e.f(l),{model:a,height:E.height}),f),e.f(r).createElement(e.f(m),{trackName:k,fontSize:i,trackLabels:o,trackLabelOffset:s,x:b}));}));}},"8ab8af77":function a(a,e,c,r){a._m(e),a.o(e,"default",()=>T);var t=c("4268ff5a"),n=a.i(c("280de364"));function T(e){e.addTrackType(()=>{let c=a.f(n)(e);return new t.TrackType({name:"BasicTrack",configSchema:c,stateModel:t.createBaseTrackModel(e,"BasicTrack",c)});});}},"95c3917a":function e(e,t,r,a){e._m(t);var l=e.i(r("a0fc9dfd")),o=r("a905c0b9"),n=r("a71998a3"),d=r("17a7dab7"),i=r("516b1e81");let p=n.observer(function({model:t,overview:r,useOffset:a=!0}){let n=o.useTheme(),p=Number(a),{interRegionPaddingWidth:s,offsetPx:u,dynamicBlocks:b,cytobandOffset:c}=t,{contentBlocks:f,totalWidthPxWithoutBorders:g}=b,h=n.palette.tertiary.light;if(!f.length)return null;let E=f.at(0),H=f.at(-1),m=(r.bpToPx({...E,coord:E.reversed?E.end:E.start})||0)+c*p,T=(r.bpToPx({...H,coord:H.reversed?H.start:H.end})||0)+c*p,_=Math.max(0,-u),v=_+g+f.length*s/2,A=[[_,i.HEADER_BAR_HEIGHT],[v,i.HEADER_BAR_HEIGHT],[T,0],[m,0]];return e.f(l).createElement("polygon",{points:A.toString(),...d.getFillProps(o.alpha(h,.3)),...d.getStrokeProps(o.alpha(h,.8))});});t.default=p;},"9a343313":function e(e,i,o,a){e._m(i),e.o(i,"default",()=>r);var n=o("17a7dab7"),t=o("8eac6e98");function r(e){e.addToExtensionPoint("LaunchView-LinearGenomeView",async({session:e,assembly:i,loc:o,tracks:a=[],tracklist:r,nav:l,highlight:d})=>{try{let{assemblyManager:c}=e,{isValidRefName:h}=c,s=e.addView("LinearGenomeView",{});if(await n.when(()=>!!s.volatileWidth),!i)throw Error("No assembly provided when launching linear genome view");let w=await c.waitForAssembly(i);if(!w)throw Error(`Assembly "${i}" not found when launching linear genome view`);r&&s.activateTrackSelector(),void 0!==l&&s.setHideHeader(!l),void 0!==d&&d.forEach(async e=>{let o=n.parseLocString(e,e=>h(e,i)),{start:a,end:t}=o;void 0!==a&&void 0!==t&&s.addToHighlights({...o,start:a,end:t,assemblyName:i});}),await t.handleSelectedRegion({input:o,model:s,assembly:w});let f=[];if(a.forEach(e=>{(function(e,i,o){try{e.showTrack(i);}catch(e){if(/Could not resolve identifier/.exec(`${e}`))o.push(i);else throw e;}})(s,e,f);}),f.length)throw Error(`Could not resolve identifiers: ${f.join(",")}`);}catch(i){throw e.notifyError(`${i}`,i),i;}});}},"9c2eceda":function e(e,t,a,r){e._m(t),e.o(t,"renderToSvg",()=>w);var n=e.i(a("a0fc9dfd")),i=a("ddac7a6b"),l=a("17a7dab7"),f=a("a905c0b9"),o=a("8a4ea8f0"),s=a("6082f2cd"),c=a("b59c6f04"),d=e.i(a("35d81edc")),m=e.i(a("893d6f67")),g=e.i(a("b42a450e")),h=a("ef4b1cbe");async function w(t,a){await i.when(()=>t.initialized);let{textHeight:r=18,headerHeight:w=40,rulerHeight:u=50,fontSize:b=13,cytobandHeight:v=100,trackLabels:E="offset",themeName:S="default",Wrapper:p=({children:e})=>e}=a,k=l.getSession(t),{allThemes:x}=k,{createRootFn:T}=c.getRoot(t),y=null==x?void 0:x()[S],{width:H,tracks:R,showCytobands:z}=t,P=w+u+ +z*v+10,_=h.totalHeight(R,r,E)+P+100,B=await Promise.all(R.map(async e=>{let t=e.displays[0];return await i.when(()=>!t.renderProps().notReady),{track:e,result:await t.renderSvg({...a,theme:y})};})),G=l.max(R.map(e=>l.measureText(s.getTrackName(e.configuration,k),b)),0)+40,L="left"===E?G:0,V=H+L;return l.renderToStaticMarkup(e.f(n).createElement(f.ThemeProvider,{theme:o.createJBrowseTheme(y)},e.f(n).createElement(p,null,e.f(n).createElement("svg",{width:V,height:_,xmlns:"http://www.w3.org/2000/svg",xmlnsXlink:"http://www.w3.org/1999/xlink",viewBox:[0,0,V+100,_].toString()},e.f(n).createElement(e.f(d),{width:V,height:_,shift:50}),e.f(n).createElement("g",{transform:"translate(50 0)"},e.f(n).createElement("g",{transform:`translate(${L})`},e.f(n).createElement(e.f(g),{model:t,fontSize:b,rulerHeight:u,cytobandHeight:v})),e.f(n).createElement("g",{transform:`translate(0 ${P})`},e.f(n).createElement(e.f(m),{textHeight:r,fontSize:b,model:t,displayResults:B,trackLabels:E,trackLabelOffset:L})))))),T);}var u=e.i(a("62e13286"));e._(t,"SVGRuler",u,"default");var b=e.i(a("893d6f67"));e._(t,"SVGTracks",b,"default");},"9cad7e1b":function e(e,t,a,n){e._m(t);var o=e.i(a("a0fc9dfd")),i=e.i(a("047bb25e")),r=a("a905c0b9");t.default=function({model:t}){let{regionTooLargeReason:a}=t;return e.f(o).createElement(e.f(i),{severity:"warning",action:e.f(o).createElement(r.Button,{onClick:()=>{t.setFeatureDensityStatsLimit(t.featureDensityStats),t.reload();}},"Force load"),message:[a,"Zoom in to see features or force load (may be slow)"].filter(e=>!!e).join(". ")});};},"a2fb9dca":function e(e,t,n,a){e._m(t),e.o(t,"default",()=>r);var l=e.i(n("a0fc9dfd")),i=n("a905c0b9"),f=n("17a7dab7");function r({trackLabels:t,trackName:n,fontSize:a,trackLabelOffset:r,x:o}){let c=i.useTheme(),m=f.stripAlpha(c.palette.text.primary),d=f.coarseStripHTML(n);return"none"!==t?e.f(l).createElement("g",null,"left"===t?e.f(l).createElement("text",{x:r-40,y:20,fill:m,fontSize:a,dominantBaseline:"hanging",textAnchor:"end"},d):e.f(l).createElement("text",{x:o+("overlay"===t?5:0),y:"offset"===t?5:0,fill:m,fontSize:a,dominantBaseline:"hanging"},d)):null;}},"a6814207":function e(e,a,n,o){e._m(a),e.o(a,"default",()=>c);var t=n("a0fc9dfd"),d=n("4268ff5a"),i=n("8199c804");function c(e){e.addViewType(()=>new d.ViewType({name:"LinearGenomeView",displayName:"Linear genome view",stateModel:i.stateModelFactory(e),ReactComponent:t.lazy(()=>o("b8d58cf1"))}));}var f=n("8199c804");e._e(a,f);},"ad7efcbb":function e(e,t,a,o){e._m(t);var l=e.i(a("a0fc9dfd")),n=a("a905c0b9"),r=a("549a5906"),i=a("a71998a3"),s=a("17a7dab7"),c=a("07dc72f0"),f=a("516b1e81");let b=r.makeStyles()({scalebarLabel:{height:f.HEADER_OVERVIEW_HEIGHT,position:"absolute",display:"flex",justifyContent:"center",pointerEvents:"none"}}),p=i.observer(function({block:t,scale:a,overview:o,model:r}){let{classes:i}=b(),{start:f,end:p,reversed:y,refName:d,assemblyName:u}=t,{majorPitch:E}=c.chooseGridPitch(a,120,15),{assemblyManager:g}=s.getSession(r),h=g.get(u),m=null==h?void 0:h.getRefNameColor(d),v=[];for(let e=0;e<Math.floor((p-f)/E);e++){let t=(e+1)*E;v.push(y?p-t:f+t);}return v.map((r,c)=>e.f(l).createElement(n.Typography,{key:`${JSON.stringify(t)}-${r}-${c}`,className:i.scalebarLabel,variant:"body2",style:{left:(c+1)*E/a,pointerEvents:"none",color:m}},s.getTickDisplayStr(r,o.bpPerPx)));});t.default=p;},"b052c1d4":function e(e,t,a,r){e._m(t);var l=e.i(a("a0fc9dfd")),n=a("a71998a3"),c=a("a905c0b9"),o=a("549a5906"),m=a("17a7dab7"),f=a("13645f57"),i=e.i(a("176be177")),s=e.i(a("46ca31a8")),d=e.i(a("cc2012b5")),u=e.i(a("4724767f")),p=e.i(a("d593c886")),g=a("516b1e81");let E=o.makeStyles()(e=>({headerBar:{display:"flex"},headerForm:{flexWrap:"nowrap",marginRight:7},spacer:{flexGrow:1},panButton:{background:c.alpha(e.palette.background.paper,.8),color:e.palette.text.primary,margin:g.SPACING},bp:{display:"flex",alignItems:"center",marginLeft:5},toggleButton:{height:44,border:"none",marginLeft:e.spacing(4)},buttonSpacer:{marginRight:e.spacing(2)}})),b=n.observer(({model:t})=>{let{classes:a}=E();return e.f(l).createElement(c.IconButton,{onClick:t.activateTrackSelector,className:a.toggleButton,title:"Open track selector",value:"track_select"},e.f(l).createElement(f.TrackSelector,{className:a.buttonSpacer}));});function v({model:t}){let{classes:a}=E();return e.f(l).createElement(e.f(l).Fragment,null,e.f(l).createElement(c.Button,{variant:"outlined",className:a.panButton,onClick:()=>{t.slide(-.9);}},e.f(l).createElement(e.f(s),null)),e.f(l).createElement(c.Button,{variant:"outlined",className:a.panButton,onClick:()=>{t.slide(.9);}},e.f(l).createElement(e.f(i),null)));}let B=n.observer(function({model:t}){let{classes:a}=E(),{coarseTotalBp:r}=t;return e.f(l).createElement(c.Typography,{variant:"body2",color:"textSecondary",className:a.bp},m.getBpDisplayStr(r));}),h=({model:t})=>{let{classes:a}=E();return e.f(l).createElement("div",{className:a.headerBar},e.f(l).createElement(b,{model:t}),e.f(l).createElement("div",{className:a.spacer}),e.f(l).createElement(c.FormGroup,{row:!0,className:a.headerForm},e.f(l).createElement(v,{model:t}),e.f(l).createElement(e.f(p),{model:t})),e.f(l).createElement(B,{model:t}),e.f(l).createElement(e.f(u),{model:t}),e.f(l).createElement("div",{className:a.spacer}));},k=n.observer(function({model:t}){let{hideHeader:a,hideHeaderOverview:r}=t;return a?null:r?e.f(l).createElement(h,{model:t}):e.f(l).createElement(e.f(d),{model:t},e.f(l).createElement(h,{model:t}));});t.default=k;},"b0e2bc88":function e(e,t,n,a){e._m(t),e.o(t,"default",()=>o);var l=e.i(n("a0fc9dfd")),r=n("17a7dab7"),i=n("a905c0b9");function o({model:t,fontSize:n}){let{offsetPx:a,dynamicBlocks:{totalWidthPxWithoutBorders:o,totalBp:c}}=t,f=i.useTheme(),m=r.getBpDisplayStr(c),x=Math.max(-a,0),d=x+o,s=r.stripAlpha(f.palette.text.secondary),y=x+(d-x)/2;return e.f(l).createElement(e.f(l).Fragment,null,e.f(l).createElement("line",{x1:x,x2:d,y1:10,y2:10,stroke:s}),e.f(l).createElement("line",{x1:x,x2:x,y1:5,y2:15,stroke:s}),e.f(l).createElement("line",{x1:d,x2:d,y1:5,y2:15,stroke:s}),e.f(l).createElement("text",{x:y,y:n,textAnchor:"middle",dominantBaseline:"hanging",fontSize:n,fill:s},m));}},"b21d1428":function h(h,v,z,m){h._m(v);var d=h.i(z("946d6d88")),t=z("41124836");v.default=h.f(d)(t.jsx("path",{d:"M3 16h5v-2H3zm6.5 0h5v-2h-5zm6.5 0h5v-2h-5zM3 20h2v-2H3zm4 0h2v-2H7zm4 0h2v-2h-2zm4 0h2v-2h-2zm4 0h2v-2h-2zM3 12h8v-2H3zm10 0h8v-2h-8zM3 4v4h18V4z"}),"LineStyle");},"b42a450e":function e(e,t,n,a){e._m(t),e.o(t,"default",()=>E);var r=e.i(n("a0fc9dfd")),l=n("17a7dab7"),i=e.i(n("4e87d177")),o=n("a905c0b9"),f=e.i(n("da429b07")),c=e.i(n("62e13286")),s=e.i(n("b0e2bc88")),m=e.i(n("95c3917a")),d=n("516b1e81");function E({model:t,fontSize:n,cytobandHeight:a,rulerHeight:E}){let{width:g,assemblyNames:h,showCytobands:b,displayedRegions:u}=t,{assemblyManager:p}=l.getSession(t),y=h.length>1?"":h[0],k=p.get(y),v=o.useTheme(),x=l.stripAlpha(v.palette.text.primary),B=e.f(i).create({displayedRegions:JSON.parse(JSON.stringify(u)),interRegionPaddingWidth:0,minimumBlockWidth:t.minimumBlockWidth}),R=t.dynamicBlocks.contentBlocks;if(!R.length)return null;B.setVolatileWidth(g),B.showAllRegions();let H=B.dynamicBlocks.contentBlocks[0],O=R.at(0),S=R.at(-1),W=B.bpToPx({...O,coord:O.reversed?O.end:O.start})||0,T=B.bpToPx({...S,coord:S.reversed?S.start:S.end})||0,V=+b*a;return e.f(r).createElement("g",{id:"header"},e.f(r).createElement("text",{x:0,y:0,dominantBaseline:"hanging",fontSize:n,fill:x},y),b?e.f(r).createElement("g",{transform:`translate(0 ${E})`},e.f(r).createElement(e.f(f),{overview:B,assembly:k,block:H}),e.f(r).createElement("rect",{stroke:"red",fill:"rgb(255,0,0)",fillOpacity:.1,width:Math.max(T-W,.5),height:d.HEADER_OVERVIEW_HEIGHT-1,x:W,y:.5}),e.f(r).createElement("g",{transform:`translate(0,${d.HEADER_OVERVIEW_HEIGHT})`},e.f(r).createElement(e.f(m),{overview:B,model:t,useOffset:!1}))):null,e.f(r).createElement("g",{transform:`translate(0 ${n+V})`},e.f(r).createElement(e.f(s),{model:t,fontSize:n})),e.f(r).createElement("g",{transform:`translate(0 ${E+V})`},e.f(r).createElement(e.f(c),{model:t,fontSize:n})));}},"b57d3c02":function e(e,t,a,i){e._m(t);let r=a("ce657870").ConfigurationSchema("BaseLinearDisplay",{maxFeatureScreenDensity:{type:"number",description:"maximum features per pixel that is displayed in the view, used if byte size estimates not available",defaultValue:.3},fetchSizeLimit:{type:"number",defaultValue:1e6,description:"maximum data to attempt to download for a given track, used if adapter doesn't specify one"},height:{type:"number",defaultValue:100,description:"default height for the track"},mouseover:{type:"string",description:"text to display when the cursor hovers over a feature",defaultValue:"jexl:get(feature,'name')",contextVariable:["feature"]},jexlFilters:{type:"stringArray",description:"default set of jexl filters to apply to a track. note: these do not use the jexl prefix because they have a deferred evaluation system",defaultValue:[]}},{explicitIdentifier:"displayId"});t.default=r;},"cc2012b5":function e(e,t,a,r){e._m(t);var o=e.w(a("a0fc9dfd")),l=a("a905c0b9"),n=a("549a5906"),i=a("a71998a3"),s=e.i(a("4e87d177")),d=a("17a7dab7"),c=a("6802c2e9"),v=e.i(a("80fd7e36")),g=e.i(a("da429b07")),f=e.i(a("95c3917a")),m=e.i(a("26212758")),b=e.i(a("ad7efcbb")),E=a("516b1e81");let p=n.makeStyles()(e=>({scalebar:{height:E.HEADER_OVERVIEW_HEIGHT},scalebarBorder:{border:"1px solid"},scalebarContig:{backgroundColor:e.palette.background.default,position:"absolute",top:0,height:E.HEADER_OVERVIEW_HEIGHT,overflow:"hidden"},scalebarContigForward:{backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 9'%3E%3Cpath d='M-.1 0L6 4.5L-.1 9' fill='none' stroke='${e.palette.divider}'/%3E%3C/svg%3E")`,backgroundRepeat:"repeat"},scalebarContigReverse:{backgroundImage:`url("data:image/svg+xml,%3Csvg xmlns='http://www.w3.org/2000/svg' viewBox='0 0 15 9'%3E%3Cpath d='M6 0L0 4.5L6 9' fill='none' stroke='${e.palette.divider}'/%3E%3C/svg%3E")`,backgroundRepeat:"repeat"},scalebarRefName:{position:"absolute",fontWeight:"bold",pointerEvents:"none",zIndex:100},scalebarVisibleRegion:{position:"absolute",height:E.HEADER_OVERVIEW_HEIGHT,pointerEvents:"none",zIndex:100,border:"1px solid"},overview:{height:E.HEADER_BAR_HEIGHT,position:"relative"},overviewSvg:{pointerEvents:"none",width:"100%",position:"absolute"}})),w=i.observer(function({scale:t,model:a,block:r,overview:n}){let{classes:i,cx:s}=p(),v=l.useTheme(),{cytobandOffset:f,showCytobands:m}=a,{reversed:E,refName:w,assemblyName:h}=r,{assemblyManager:u}=d.getSession(a),C=u.get(h),x=null==C?void 0:C.getRefNameColor(w),R=m&&c.getCytobands(C,r.refName).length;return e.f(o).createElement("div",null,e.f(o).createElement(l.Typography,{style:{left:r.offsetPx+3,color:R?v.palette.text.primary:x},className:i.scalebarRefName},w),e.f(o).createElement("div",{className:s(i.scalebarContig,R?void 0:E?i.scalebarContigReverse:i.scalebarContigForward,R?void 0:i.scalebarBorder),style:{left:r.offsetPx+f,width:r.widthPx,borderColor:x}},R?e.f(o).createElement("svg",{style:{width:"100%"}},e.f(o).createElement(e.f(g),{overview:n,assembly:C,block:r})):e.f(o).createElement(e.f(b),{model:a,overview:n,scale:t,block:r})));}),h=i.observer(function({model:t,scale:a,overview:r}){let{classes:n}=p(),i=l.useTheme(),{dynamicBlocks:s,showCytobands:c,cytobandOffset:v}=t,{pluginManager:g}=d.getEnv(t),f=s.contentBlocks,b=r.dynamicBlocks,E=i.palette.tertiary.light;if(!f.length)return null;let h=f.at(0),u=f.at(-1),C=r.bpToPx({...h,coord:h.reversed?h.end:h.start})||0,x=r.bpToPx({...u,coord:u.reversed?u.start:u.end})||0,R=c?"#f00":E,k=g.evaluateExtensionPoint("LinearGenomeView-OverviewScalebarComponent",void 0,{model:t,overview:r});return e.f(o).createElement("div",{className:n.scalebar},e.f(o).createElement("div",{className:n.scalebarVisibleRegion,style:{width:x-C,left:C+v,background:l.alpha(R,c?.1:.3),borderColor:R}}),b.map((l,i)=>"ContentBlock"!==l.type?e.f(o).createElement("div",{key:`${JSON.stringify(l)}-${i}`,className:n.scalebarContig,style:{width:l.widthPx,left:l.offsetPx,backgroundColor:"#999",backgroundImage:"repeating-linear-gradient(90deg, transparent, transparent 1px, rgba(255,255,255,.5) 1px, rgba(255,255,255,.5) 3px)"}}):e.f(o).createElement(w,{scale:a,block:l,model:t,overview:r,key:`${JSON.stringify(l)}-${i}`})),e.f(o).createElement(e.f(m),{model:t,overview:r}),k);}),u=i.observer(function({model:t,children:a}){let{classes:r}=p(),{minimumBlockWidth:l,totalBp:n,width:i,cytobandOffset:d,displayedRegions:c}=t,g=i-d,m=JSON.stringify(c),b=o.useMemo(()=>{let t=e.f(s).create({displayedRegions:JSON.parse(m),interRegionPaddingWidth:0,minimumBlockWidth:l});return t.setVolatileWidth(g),t.showAllRegions(),t;},[m,l,g]),w=n/(g-(c.length-1)*2);return e.f(o).createElement("div",null,e.f(o).createElement(e.f(v),{model:t,overview:b,ControlComponent:e.f(o).createElement(h,{model:t,overview:b,scale:w})}),e.f(o).createElement("div",{className:r.overview},e.f(o).createElement("svg",{height:E.HEADER_BAR_HEIGHT,className:r.overviewSvg},e.f(o).createElement(e.f(f),{model:t,overview:b})),a));});t.default=u;},"ccb57460":function a(a,e,i,r){a._m(e);var n=a.i(i("b57d3c02"));a._(e,"baseLinearDisplayConfigSchema",n,"default");var t=i("26792524");a._(e,"BaseLinearDisplay",t);var l=a.w(i("882dba6d"));a._(e,"BaseLinearDisplayComponent",l,"default"),a._(e,"Tooltip",l),a._(e,"BlockMsg",l);var s=a.i(i("e08ba635"));a._(e,"TrackHeightMixin",s,"default");var d=a.i(i("1c4b5300"));a._(e,"FeatureDensityMixin",d,"default");var o=a.i(i("9cad7e1b"));a._(e,"TooLargeMessage",o,"default");},"ccdce85a":function e(e,a,r,t){e._m(a),e.o(a,"default",()=>n);var c=r("4268ff5a"),d=e.i(r("7b2b5de3"));function n(a){a.addTrackType(()=>{let r=e.f(d)(a);return new c.TrackType({name:"FeatureTrack",displayName:"Feature track",configSchema:r,stateModel:c.createBaseTrackModel(a,"FeatureTrack",r)});});}},"d593c886":function e(e,a,t,n){e._m(a);var s=e.i(t("a0fc9dfd")),l=t("a71998a3"),i=t("a905c0b9"),o=t("549a5906"),r=t("17a7dab7"),c=e.i(t("5fb85aa9")),d=t("6802c2e9"),h=t("8eac6e98"),u=t("516b1e81");let f=o.makeStyles()(()=>({headerRefName:{minWidth:100}})),g=l.observer(function({model:a,showHelp:t}){let{classes:n}=f(),l=i.useTheme(),{textSearchManager:o,assemblyManager:g}=r.getSession(a),{assemblyNames:m,rankSearchResults:p}=a,b=m[0],S=g.get(b),v=a.searchScope(b);return e.f(s).createElement(e.f(c),{showHelp:t,onSelect:async e=>{var t;try{e.hasLocation()?await h.navToOption({option:e,model:a,assemblyName:b}):(null===(t=e.results)||void 0===t?void 0:t.length)?a.setSearchResults(e.results,e.getLabel()):S&&await h.handleSelectedRegion({input:e.getLabel(),assembly:S,model:a});}catch(e){console.error(e),r.getSession(a).notify(`${e}`,"warning");}},assemblyName:b,fetchResults:e=>d.fetchResults({queryString:e,searchScope:v,rankSearchResults:p,textSearchManager:o,assembly:S}),model:a,minWidth:175,TextFieldProps:{variant:"outlined",className:n.headerRefName,style:{margin:u.SPACING},InputProps:{style:{padding:0,height:u.WIDGET_HEIGHT,background:i.alpha(l.palette.background.paper,.8)}}}});});a.default=g;},"da429b07":function e(e,t,r,n){e._m(t);var a=e.i(r("a0fc9dfd")),o=r("a71998a3"),g=r("17a7dab7"),l=r("6802c2e9"),c=r("516b1e81");function i(e,t,r,n){return[[e,0],[e+r,n/2],[e,n]].toString();}function p(e,t,r,n){return[[e,n/2],[e+r,0],[e+r,n]].toString();}let s={gneg:"rgb(227,227,227)",gpos25:"rgb(142,142,142)",gpos50:"rgb(85,85,85)",gpos100:"rgb(0,0,0)",gpos75:"rgb(57,57,57)",gvar:"rgb(0,0,0)",stalk:"rgb(127,127,127)",acen:"#800"},f=o.observer(function({overview:t,block:r,assembly:n}){let{offsetPx:o,reversed:f}=r,b=l.getCytobands(n,r.refName),h=f?b.length-1:0,m=f?0:b.length-1,E=c.HEADER_OVERVIEW_HEIGHT,d=!1;return e.f(a).createElement("g",{transform:`translate(-${o})`},b.map((r,n)=>{let o=JSON.stringify(r),{refName:l,type:c,start:b,end:y}=r,$=t.bpToPx({refName:l,coord:b})||0,u=t.bpToPx({refName:l,coord:y})||0,k=Math.min($,u),P=Math.abs(u-$),v=s[c]||"black";return"acen"!==c||d?"acen"===c&&d?e.f(a).createElement("polygon",{key:o,points:f?i($-P,0,P,E):p($,0,P,E),...g.getFillProps(v)}):h===n?e.f(a).createElement("path",{key:o,d:`M${k+8},0h${P-8}v${E}h${8-P}a8,8 0 0 1 -8,-8v${16-E}a8,8 0 0 1 8,-8z`,...g.getFillProps(v)}):m===n?e.f(a).createElement("path",{key:o,d:`M${k},0h${P-8}a8,8 0 0 1 8,8v${E-16}a8,8 0 0 1 -8,8h${8-P}z`,...g.getFillProps(v)}):e.f(a).createElement("rect",{key:o,x:k,y:0,width:P,height:E,...g.getFillProps(v)}):(d=!0,e.f(a).createElement("polygon",{key:o,points:f?p($-P,0,P,E):i($,0,P,E),...g.getFillProps(v)}));}));});t.default=f;},"e08ba635":function e(e,t,i,h){e._m(t),e.o(t,"default",()=>r);var g=i("ce657870"),o=i("b59c6f04");function r(){return o.types.model({heightPreConfig:o.types.maybe(o.types.refinement("displayHeight",o.types.number,e=>e>=20))}).volatile(()=>({scrollTop:0})).views(e=>({get height(){var t;return null!==(t=e.heightPreConfig)&&void 0!==t?t:g.getConf(e,"height");}})).actions(e=>({setScrollTop(t){e.scrollTop=t;},setHeight:t=>(e.heightPreConfig=Math.max(t,20),e.height),resizeHeight(t){let i=e.height;return this.setHeight(e.height+t)-i;}}));}},"ea2a1419":function i(i,c,s,d){i._m(c);var t=i.i(s("946d6d88")),a=s("41124836");c.default=i.f(t)(a.jsx("path",{d:"M12 4.5C7 4.5 2.73 7.61 1 12c1.73 4.39 6 7.5 11 7.5s9.27-3.11 11-7.5c-1.73-4.39-6-7.5-11-7.5M12 17c-2.76 0-5-2.24-5-5s2.24-5 5-5 5 2.24 5 5-2.24 5-5 5m0-8c-1.66 0-3 1.34-3 3s1.34 3 3 3 3-1.34 3-3-1.34-3-3-3"}),"Visibility");},"ea841a3b":function c(c,d,h,a){c._m(d);var e=c.i(h("946d6d88")),f=h("41124836");d.default=c.f(e)(f.jsx("path",{d:"M20 6h-8l-2-2H4c-1.1 0-1.99.9-1.99 2L2 18c0 1.1.9 2 2 2h16c1.1 0 2-.9 2-2V8c0-1.1-.9-2-2-2m0 12H4V8h16z"}),"FolderOpen");},"eac9f7d5":function e(e,a,t,c){e._m(a),e.o(a,"default",()=>f);var n=t("4268ff5a"),o=t("7f7f7f97"),r=t("5e7633c1"),i=t("ccb57460");function f(e){e.addDisplayType(()=>{let a=o.configSchemaFactory(e);return new n.DisplayType({name:"LinearBareDisplay",configSchema:a,displayName:"Bare feature display",stateModel:r.stateModelFactory(a),trackType:"BasicTrack",viewType:"LinearGenomeView",ReactComponent:i.BaseLinearDisplayComponent});});}var y=t("7f7f7f97");e._(a,"configSchemaFactory",y);var p=t("5e7633c1");e._(a,"stateModelFactory",p);},"ef4b1cbe":function n(n,t,a,e){n._m(t),n.o(t,"totalHeight",()=>o);var i=a("17a7dab7");function o(n,t,a){return i.sum(n.map(n=>n.displays[0].height+(["none","left"].includes(a)?0:t)));}},"f1e7ee9a":function c(c,s,t,a){c._m(s);var d=c.i(t("946d6d88")),m=t("41124836");s.default=c.f(d)(m.jsx("path",{d:"M12 2C6.49 2 2 6.49 2 12s4.49 10 10 10c1.38 0 2.5-1.12 2.5-2.5 0-.61-.23-1.2-.64-1.67-.08-.1-.13-.21-.13-.33 0-.28.22-.5.5-.5H16c3.31 0 6-2.69 6-6 0-4.96-4.49-9-10-9m5.5 11c-.83 0-1.5-.67-1.5-1.5s.67-1.5 1.5-1.5 1.5.67 1.5 1.5-.67 1.5-1.5 1.5m-3-4c-.83 0-1.5-.67-1.5-1.5S13.67 6 14.5 6s1.5.67 1.5 1.5S15.33 9 14.5 9M5 11.5c0-.83.67-1.5 1.5-1.5s1.5.67 1.5 1.5S7.33 13 6.5 13 5 12.33 5 11.5m6-4c0 .83-.67 1.5-1.5 1.5S8 8.33 8 7.5 8.67 6 9.5 6s1.5.67 1.5 1.5"}),"Palette");},"fcebcb14":function v(v,d,t,a){v._m(d);var f=v.i(t("946d6d88")),h=t("41124836");d.default=v.f(f)(h.jsx("path",{d:"m18 12 4-4-4-4v3H3v2h15zM6 12l-4 4 4 4v-3h15v-2H6z"}),"SyncAlt");},});