higlass 2.3.2 → 2.3.3

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.
@@ -1400,7 +1400,7 @@ export class TrackRenderer extends React.Component {
1400
1400
  if (!isWheelEvent(event.sourceEvent)) {
1401
1401
  return;
1402
1402
  }
1403
- const mdy = event.sourceEvent.deltaY;
1403
+ const mdy = event.sourceEvent.deltaY || event.sourceEvent.deltaX;
1404
1404
  const mdm = event.sourceEvent.deltaMode;
1405
1405
 
1406
1406
  /**
@@ -1467,7 +1467,11 @@ export class TrackRenderer extends React.Component {
1467
1467
  if (trackOrientation && event.sourceEvent) {
1468
1468
  // if somebody is holding down the shift key and is zooming over
1469
1469
  // a 1d track, try to apply value scale zooming
1470
- if (event.shiftKey || this.valueScaleZooming) {
1470
+ if (
1471
+ event.shiftKey ||
1472
+ this.valueScaleZooming ||
1473
+ event.sourceEvent?.shiftKey
1474
+ ) {
1471
1475
  if (event.sourceEvent.deltaY !== undefined) {
1472
1476
  this.valueScaleZoom(event, trackOrientation);
1473
1477
  return;
package/dist/hglib.js CHANGED
@@ -12606,7 +12606,7 @@
12606
12606
  /** @type {const} */
12607
12607
  [window, map$4((c) => c.charCodeAt(0))(
12608
12608
  // @ts-expect-error - A global added by `vite.config.js`.
12609
- "2.3.2"
12609
+ "2.3.3"
12610
12610
  ).map((number3) => number3 <= 999 ? `00${number3}`.slice(-3) : number3).join("")]
12611
12611
  );
12612
12612
  const gradient = (steps, width = 1, height = 100, fromX = 0, fromY = 0, toX = 0, toY = 100) => {
@@ -93789,7 +93789,7 @@ ${x}` : x, "");
93789
93789
  toJSON,
93790
93790
  toString
93791
93791
  });
93792
- const version = "2.3.2";
93792
+ const version = "2.3.3";
93793
93793
  const configs = {
93794
93794
  ..._configs,
93795
93795
  IS_TRACK_RANGE_SELECTABLE,
@@ -94631,7 +94631,7 @@ ${x}` : x, "");
94631
94631
  if (!isWheelEvent(event.sourceEvent)) {
94632
94632
  return;
94633
94633
  }
94634
- const mdy = event.sourceEvent.deltaY;
94634
+ const mdy = event.sourceEvent.deltaY || event.sourceEvent.deltaX;
94635
94635
  const mdm = event.sourceEvent.deltaMode;
94636
94636
  const myWheelDelta = (dy, dm) => dy * (dm ? 120 : 1) / 500;
94637
94637
  const mwd = myWheelDelta(mdy, mdm);
@@ -94671,7 +94671,7 @@ ${x}` : x, "");
94671
94671
  }
94672
94672
  }
94673
94673
  if (trackOrientation && event.sourceEvent) {
94674
- if (event.shiftKey || this.valueScaleZooming) {
94674
+ if (event.shiftKey || this.valueScaleZooming || event.sourceEvent?.shiftKey) {
94675
94675
  if (event.sourceEvent.deltaY !== void 0) {
94676
94676
  this.valueScaleZoom(event, trackOrientation);
94677
94677
  return;
package/dist/hglib.min.js CHANGED
@@ -164,7 +164,7 @@
164
164
  <use id="Rectangle" stroke="#979797" mask="url(#arrowHeadDomainsStr-mask-4)" stroke-width="22" fill="#D8D8D8" xlink:href="#arrowHeadDomainsStr-path-3"></use>
165
165
  </g>
166
166
  </svg>
167
- `,"text/xml").documentElement;function K4({theStyle:e,onClick:t}){return x.createElement("svg",{className:Kn[e],viewBox:"0 0 12 13",onClick:t,xmlns:"http://www.w3.org/2000/svg"},x.createElement("title",null,"Search"),x.createElement("g",{fill:"none",stroke:"#6c6c6c",strokeWidth:"2"},x.createElement("path",{d:"M11.29 11.71l-4-4"}),x.createElement("circle",{cx:"5",cy:"5",r:"4"})))}K4.propTypes={theStyle:q.string,onClick:q.func};const Z4={type:"osm-tiles",datatype:["map-tiles"],local:!0,orientation:"2d",hidden:!0,name:"OSM Tiles",thumbnail:f0,availableOptions:["minPos","maxPos","maxZoom","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{minPos:-180,maxPos:180,maxZoom:19,labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},Q4={type:"mapbox-tiles",datatype:["map-tiles"],local:!0,orientation:"2d",hidden:!0,name:"Mapbox Tiles",thumbnail:f0,availableOptions:["style","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{style:"mapbox.streets",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},xa=[Z4,{...Z4,type:"osm"},Q4,{...Q4,type:"mapbox"},{type:"left-axis",datatype:["axis"],local:!0,orientation:"1d-vertical",name:"Left Axis",thumbnail:AX,availableOptions:["minWidth","reverseAxis"],defaultOptions:{minWidth:100,reverseAxis:!1}},{type:"top-axis",datatype:["axis"],local:!0,orientation:"1d-horizontal",name:"Top Axis",thumbnail:PX,defaultOptions:{}},{type:"horizontal-rule",datatype:["x-coord"],local:!0,orientation:"whole",name:"Horizontal Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"vertical-rule",datatype:["y-coord"],local:!0,orientation:"whole",name:"Vertical Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"cross-rule",datatype:["xy-coord"],local:!0,orientation:"whole",name:"Cross Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"simple-svg",datatype:[],local:!1,orientation:"2d",exportable:!0,availableOptions:["minWidth","minHeight"],defaultOptions:{minWidth:100,minHeight:100}},{type:"heatmap",datatype:["matrix"],local:!1,orientation:"2d",thumbnail:W4,exportable:!0,availableOptions:["backgroundColor","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","colorRange","colorbarBackgroundColor","maxZoom","minWidth","minHeight","dataTransform","colorbarPosition","trackBorderWidth","trackBorderColor","heatmapValueScaling","showMousePosition","mousePositionColor","showTooltip","extent","zeroValueColor"],defaultOptions:{backgroundColor:"#eeeeee",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!0,labelShowAssembly:!0,colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],colorbarBackgroundColor:"#ffffff",maxZoom:null,minWidth:100,minHeight:100,colorbarPosition:"topRight",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log",showMousePosition:!1,mousePositionColor:"#000000",showTooltip:!1,extent:"full",zeroValueColor:null},defaultOptionsByTheme:{[Qt]:{backgroundColor:"#000000",colorRange:["black","rgba(208,2,27,1.0)","rgba(245,166,35,1.0)","white"],colorbarBackgroundColor:"#000000",labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff"}}},{type:"linear-heatmap",aliases:["horizontal-heatmap","vertical-heatmap"],datatype:["matrix"],local:!1,orientation:"1d-horizontal",rotatable:!0,thumbnail:W4,defaultOptions:{backgroundColor:"#eeeeee",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!0,labelShowAssembly:!0,labelColor:"black",colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],maxZoom:null,minWidth:100,minHeight:40,trackBorderWidth:0,trackBorderColor:"black"},availableOptions:["backgroundColor","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","colorRange","maxZoom","minWidth","minHeight","dataTransform","oneDHeatmapFlipped","colorbarPosition","trackBorderWidth","trackBorderColor","heatmapValueScaling"]},{type:"line",aliases:["horizontal-line","vertical-line"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,thumbnail:OX,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundColor","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","lineStrokeWidth","lineStrokeColor","valueScaling","valueScaleMin","valueScaleMax","trackBorderWidth","trackBorderColor","trackType","showMousePosition","showTooltip","mousePositionColor","aggregationMode","minHeight"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelBackgroundColor:"white",labelShowResolution:!1,labelShowAssembly:!0,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",lineStrokeColor:"blue",lineStrokeWidth:1,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:.4,showMousePosition:!1,minHeight:20,mousePositionColor:"#000000",showTooltip:!1},defaultOptionsByTheme:{[Qt]:{labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff"}}},{type:"1d-heatmap",aliases:["horizontal-1d-heatmap","vertical-1d-heatmap"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,thumbnail:CX,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisPositionHorizontal","axisMargin","colorRange","valueScaling","trackBorderWidth","trackBorderColor","trackType","showMousePosition","showTooltip","mousePositionColor","aggregationMode"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!1,labelShowAssembly:!0,axisPositionHorizontal:"right",colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:.4,showMousePosition:!1,mousePositionColor:"#000000",showTooltip:!1}},{type:"vector-heatmap",aliases:["horizontal-vector-heatmap","vertical-vector-heatmap"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,minHeight:1,thumbnail:null,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","valueScaling","labelTextOpacity","labelBackgroundOpacity","colorRange","trackBorderWidth","trackBorderColor","trackType","heatmapValueScaling"],defaultOptions:{labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!1,labelShowAssembly:!0,labelColor:"black",labelTextOpacity:.4,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log"}},{type:"multivec",aliases:["horizontal-multivec","vertical-multivec"],datatype:["multivec"],local:!1,orientation:"1d-horizontal",rotatable:!0,thumbnail:null,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","minHeight","valueScaling","labelTextOpacity","labelBackgroundOpacity","colorRange","trackBorderWidth","trackBorderColor","trackType","heatmapValueScaling","selectRows","selectRowsAggregationMode","selectRowsAggregationWithRelativeHeight","selectRowsAggregationMethod","colorbarBackgroundColor","colorbarPosition","zeroValueColor"],defaultOptions:{labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!0,labelShowAssembly:!0,labelColor:"black",labelTextOpacity:.4,minHeight:100,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log",selectRows:null,selectRowsAggregationMode:"mean",selectRowsAggregationWithRelativeHeight:!0,selectRowsAggregationMethod:"client",colorbarBackgroundColor:"#ffffff",colorbarPosition:"topRight",zeroValueColor:null},defaultOptionsByTheme:{[Qt]:{colorbarBackgroundColor:"#000000"}}},{type:"point",aliases:["horizontal-point","vertical-point"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","pointColor","pointSize","valueScaling","trackBorderWidth","trackBorderColor"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!1,labelShowAssembly:!0,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",pointColor:"red",pointSize:3,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:.4}},{type:"divergent-bar",aliases:["horizontal-divergent-bar","vertical-divergent-bar"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","barFillColorTop","barFillColorBottom","valueScaling","trackBorderWidth","trackBorderColor","barOpacity"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!1,labelShowAssembly:!0,axisPositionHorizontal:"right",axisLabelFormatting:"scientific",barFillColorBottom:"red",barFillColorTop:"green",valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:.4,barOpacity:1}},{type:"bar",aliases:["horizontal-bar","vertical-bar"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,availableOptions:["align","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","barFillColor","colorRange","colorRangeGradient","valueScaling","valueScaleMin","valueScaleMax","trackBorderWidth","trackBorderColor","barOpacity","showMousePosition","showTooltip","aggregationMode","zeroLineVisible","zeroLineColor","zeroLineOpacity"],defaultOptions:{align:"bottom",labelColor:"[glyph-color]",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!1,labelShowAssembly:!0,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",barFillColor:"darkgreen",valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:.4,barOpacity:1}},{type:"2d-tiles",datatype:["matrix"],local:!1,orientation:"2d",name:"2D Tile Outlines",thumbnail:G4},{type:"1d-value-interval",aliases:["horizontal-1d-value-interval","vertical-1d-value-interval"],datatype:["bed-value"],local:!1,orientation:"1d-horizontal",rotatable:!0,name:"1D Rectangles",availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","axisPositionHorizontal","axisMargin"],defaultOptions:{labelColor:"black",labelPosition:"bottomLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,axisPositionHorizontal:"left",lineStrokeColor:"blue",valueScaling:"linear"}},{type:"stacked-interval",aliases:["top-stacked-interval","left-stacked-interval"],datatype:["stacked-interval"],local:!1,orientation:"1d-horizontal",rotatable:!0,thumbnail:"horizontal-stacked-interval.png",availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity"]},{type:"viewport-projection-vertical",datatype:["1d-projection"],local:!0,hidden:!0,projection:!0,orientation:"1d-vertical",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:.3,projectionStrokeOpacity:.7,strokeWidth:1}},{type:"viewport-projection-horizontal",datatype:["1d-projection"],local:!0,hidden:!0,projection:!0,orientation:"1d-horizontal",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:.3,projectionStrokeOpacity:.7,strokeWidth:1}},{type:"viewport-projection-center",datatype:["2d-projection"],local:!0,hidden:!0,projection:!0,orientation:"2d",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:.3,projectionStrokeOpacity:.7,strokeWidth:1}},{type:"gene-annotations",aliases:["horizontal-gene-annotations","vertical-gene-annotations"],datatype:["gene-annotation"],local:!1,defaultHeight:90,defaultWidth:90,rotatable:!0,orientation:"1d-horizontal",name:"Gene Annotations",thumbnail:MX,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundColor","labelBackgroundOpacity","minHeight","plusStrandColor","minusStrandColor","trackBorderWidth","trackBorderColor","showMousePosition","mousePositionColor","fontSize","geneAnnotationHeight","geneLabelPosition","geneStrandSpacing"],defaultOptions:{fontSize:10,labelColor:"black",labelBackgroundColor:"#ffffff",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,minHeight:24,plusStrandColor:"blue",minusStrandColor:"red",trackBorderWidth:0,trackBorderColor:"black",showMousePosition:!1,mousePositionColor:"#000000",geneAnnotationHeight:16,geneLabelPosition:"outside",geneStrandSpacing:4},defaultOptionsByTheme:{[Qt]:{labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff",plusStrandColor:"#40a0ff"}}},{type:"arrowhead-domains",datatype:["arrowhead-domains"],local:!1,orientation:"2d",name:"Arrowhead Domains",thumbnail:Ou,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black"}},{type:"linear-2d-rectangle-domains",aliases:["horizontal-2d-rectangle-domains","vertical-2d-rectangle-domains"],datatype:["2d-rectangle-domains"],local:!1,orientation:"1d-horizontal",rotatable:!0,name:"Horizontal 2D Rectangle Domains",thumbnail:Ou,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize"],defaultOptions:{labelColor:"black",labelPosition:"bottomLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainStrokeColor:"black",rectangleDomainOpacity:.6,minSquareSize:"none"}},{type:"2d-rectangle-domains",datatype:["2d-rectangle-domains"],local:!1,orientation:"2d",name:"2D Rectangle Domains",thumbnail:Ou,availableOptions:["flipDiagonal","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainFillOpacity","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize"],defaultOptions:{flipDiagonal:"none",labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainFillOpacity:.4,rectangleDomainStrokeColor:"black",rectangleDomainOpacity:.6,minSquareSize:"none"}},{type:"horizontal-1d-annotations",datatype:["nothing"],local:!1,orientation:"1d-horizontal",name:"Horizontal 1D Annotations",thumbnail:null,availableOptions:["fill","fillOpacity","stroke","strokeOpacity","strokeWidth","strokePos","regions"],defaultOptions:{fill:"red",fillOpacity:.2,stroke:"red",strokeOpacity:0,strokeWidth:1,regions:[],strokePos:[]}},{type:"vertical-1d-annotations",datatype:["nothing"],local:!1,orientation:"1d-vertical",name:"Vertical 1D Annotations",thumbnail:null,availableOptions:["fill","fillOpacity","stroke","strokeOpacity","regions"],defaultOptions:{fill:"red",fillOpacity:"0.2",stroke:"red",strokeOpacity:"0",regions:[]}},{type:"2d-annotations",datatype:["2d-annotations"],local:!1,orientation:"2d",name:"2D Annotations",thumbnail:Ou,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize","isClickable","hoverColor","selectColor","exclude","trackBorderBgWidth","trackBorderBgColor","trackBorderBgAlpha"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainStrokeColor:"black",rectangleDomainOpacity:.6,minSquareSize:"none",isClickable:!1,hoverColor:"orange",selectColor:"fuchsia",exclude:[],trackBorderBgWidth:0,trackBorderBgColor:"black",trackBorderBgAlpha:.33}},{type:"square-markers",datatype:["bedpe"],local:!1,orientation:"2d",name:"Square Markers",thumbnail:Ou,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black"}},{type:"combined",datatype:"any",local:!0,orientation:"any"},{type:"horizontal-chromosome-grid",datatype:["chromsizes"],local:!1,orientation:"1d-horizontal",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor","showMousePosition"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey",showMousePosition:!1}},{type:"vertical-chromosome-grid",datatype:["chromsizes"],local:!1,orientation:"1d-vertical",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor","showMousePosition"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey",showMousePosition:!1}},{type:"2d-chromosome-grid",datatype:["chromsizes"],local:!1,orientation:"2d",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey"}},{type:"2d-chromosome-annotations",datatype:["chromsizes"],local:!0,orientation:"2d",name:"2D Chromosome Annotations",thumbnail:null,hidden:!0},{type:"2d-chromosome-labels",datatype:["chromsizes"],local:!0,orientation:"2d",name:"Pairwise Chromosome Labels",thumbnail:null},{type:"chromosome-labels",aliases:["horizontal-chromosome-labels","vertical-chromosome-labels"],datatype:["chromsizes"],orientation:"1d-horizontal",rotatable:!0,minHeight:35,defaultHeight:30,name:"Chromosome Axis",thumbnail:null,availableOptions:["color","stroke","fontSize","fontIsLeftAligned","showMousePosition","mousePositionColor","tickPositions","tickFormat","reverseOrientation"],defaultOptions:{color:"#808080",stroke:"#ffffff",fontSize:12,fontIsLeftAligned:!1,showMousePosition:!1,mousePositionColor:"#000000",reverseOrientation:!1},defaultOptionsByTheme:{[Qt]:{color:"#808080",stroke:"#000000",mousePositionColor:"#ffffff"}}},{type:"vertical-1d-tiles",datatype:["1d-tiles"],local:!1,orientation:"1d-vertical",name:"Vertical 1D Tile Outlines",thumbnail:RX},{type:"horizontal-1d-tiles",datatype:["vector","stacked-interval","gene-annotation"],local:!1,orientation:"1d-horizontal",name:"Horizontal 1D Tile Outlines",thumbnail:IX},{type:"osm-2d-tile-ids",datatype:["map-tiles"],local:!1,orientation:"2d",name:"OSM Tile Outlines",thumbnail:G4,availableOptions:["minPos","maxPos","maxZoom","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{minPos:-180,maxPos:180,maxZoom:19,labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},{type:"raster-tiles",datatype:["map-tiles"],local:!0,orientation:"2d",hidden:!0,name:"Raster Tiles",thumbnail:f0,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},{type:"image-tiles",datatype:["image-tiles"],local:!0,orientation:"2d",hidden:!0,name:"Image Tiles",thumbnail:null},{type:"bedlike",datatype:["bedlike"],aliases:["vertical-bedlike"],local:!1,orientation:"1d-horizontal",rotatable:!0,name:"BED-like track",thumbnail:null,availableOptions:["alternating","annotationHeight","annotationStyle","fillColor","fillOpacity","fontColor","fontSize","minusStrandColor","plusStrandColor","labelBottomMargin","labelColor","labelLeftMargin","labelPosition","labelRightMargin","labelTopMargin","labelTextOpacity","labelBackgroundOpacity","maxAnnotationHeight","minHeight","trackBorderWidth","trackBorderColor","valueColumn","colorEncoding","colorRange","colorEncodingRange","separatePlusMinusStrands","showTexts","axisPositionHorizontal","axisMargin"],defaultOptions:{alternating:!1,annotationStyle:"box",fillColor:"blue",fillOpacity:.3,fontSize:"10",axisPositionHorizontal:"right",labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,minHeight:20,maxAnnotationHeight:null,trackBorderWidth:0,trackBorderColor:"black",valueColumn:null,colorEncoding:"itemRgb",showTexts:!1,colorRange:["#000000","#652537","#bf5458","#fba273","#ffffe0"],colorEncodingRange:!1,separatePlusMinusStrands:!0,annotationHeight:16}},{type:"empty",datatype:[],orientation:"1d-horizontal",name:"Empty track",thumbnail:null,availableOptions:[],defaultOptions:{}}],h0=e=>{const t={},n=r=>!!(r.orientation===e||e==="1d-vertical"&&r.orientation==="1d-horizontal"&&r.rotatable);return xa.filter(n).forEach(r=>{let i=r.datatype;Array.isArray(r.datatype)||(i=[i]),i.forEach(o=>{o in t||(t[o]=[]),t[o].push(r)})}),t.none=[],t},Is=[[0,0,0,255],[35,0,0,255],[52,0,0,255],[60,0,0,255],[63,1,0,255],[64,2,0,255],[68,5,0,255],[69,6,0,255],[72,8,0,255],[74,10,0,255],[77,12,0,255],[78,14,0,255],[81,16,0,255],[83,17,0,255],[85,19,0,255],[86,20,0,255],[89,22,0,255],[91,24,0,255],[92,25,0,255],[94,26,0,255],[95,28,0,255],[98,30,0,255],[100,31,0,255],[102,33,0,255],[103,34,0,255],[105,35,0,255],[106,36,0,255],[108,38,0,255],[109,39,0,255],[111,40,0,255],[112,42,0,255],[114,43,0,255],[115,44,0,255],[117,45,0,255],[119,47,0,255],[119,47,0,255],[120,48,0,255],[122,49,0,255],[123,51,0,255],[125,52,0,255],[125,52,0,255],[126,53,0,255],[128,54,0,255],[129,56,0,255],[129,56,0,255],[131,57,0,255],[132,58,0,255],[134,59,0,255],[134,59,0,255],[136,61,0,255],[137,62,0,255],[137,62,0,255],[139,63,0,255],[139,63,0,255],[140,65,0,255],[142,66,0,255],[142,66,0,255],[143,67,0,255],[143,67,0,255],[145,68,0,255],[145,68,0,255],[146,70,0,255],[146,70,0,255],[148,71,0,255],[148,71,0,255],[149,72,0,255],[149,72,0,255],[151,73,0,255],[151,73,0,255],[153,75,0,255],[153,75,0,255],[154,76,0,255],[154,76,0,255],[154,76,0,255],[156,77,0,255],[156,77,0,255],[157,79,0,255],[157,79,0,255],[159,80,0,255],[159,80,0,255],[159,80,0,255],[160,81,0,255],[160,81,0,255],[162,82,0,255],[162,82,0,255],[163,84,0,255],[163,84,0,255],[165,85,0,255],[165,85,0,255],[166,86,0,255],[166,86,0,255],[166,86,0,255],[168,87,0,255],[168,87,0,255],[170,89,0,255],[170,89,0,255],[171,90,0,255],[171,90,0,255],[173,91,0,255],[173,91,0,255],[174,93,0,255],[174,93,0,255],[176,94,0,255],[176,94,0,255],[177,95,0,255],[177,95,0,255],[179,96,0,255],[179,96,0,255],[180,98,0,255],[182,99,0,255],[182,99,0,255],[183,100,0,255],[183,100,0,255],[185,102,0,255],[185,102,0,255],[187,103,0,255],[187,103,0,255],[188,104,0,255],[188,104,0,255],[190,105,0,255],[191,107,0,255],[191,107,0,255],[193,108,0,255],[193,108,0,255],[194,109,0,255],[196,110,0,255],[196,110,0,255],[197,112,0,255],[197,112,0,255],[199,113,0,255],[200,114,0,255],[200,114,0,255],[202,116,0,255],[202,116,0,255],[204,117,0,255],[205,118,0,255],[205,118,0,255],[207,119,0,255],[208,121,0,255],[208,121,0,255],[210,122,0,255],[211,123,0,255],[211,123,0,255],[213,124,0,255],[214,126,0,255],[214,126,0,255],[216,127,0,255],[217,128,0,255],[217,128,0,255],[219,130,0,255],[221,131,0,255],[221,131,0,255],[222,132,0,255],[224,133,0,255],[224,133,0,255],[225,135,0,255],[227,136,0,255],[227,136,0,255],[228,137,0,255],[230,138,0,255],[230,138,0,255],[231,140,0,255],[233,141,0,255],[233,141,0,255],[234,142,0,255],[236,144,0,255],[236,144,0,255],[238,145,0,255],[239,146,0,255],[241,147,0,255],[241,147,0,255],[242,149,0,255],[244,150,0,255],[244,150,0,255],[245,151,0,255],[247,153,0,255],[247,153,0,255],[248,154,0,255],[250,155,0,255],[251,156,0,255],[251,156,0,255],[253,158,0,255],[255,159,0,255],[255,159,0,255],[255,160,0,255],[255,161,0,255],[255,163,0,255],[255,163,0,255],[255,164,0,255],[255,165,0,255],[255,167,0,255],[255,167,0,255],[255,168,0,255],[255,169,0,255],[255,169,0,255],[255,170,0,255],[255,172,0,255],[255,173,0,255],[255,173,0,255],[255,174,0,255],[255,175,0,255],[255,177,0,255],[255,178,0,255],[255,179,0,255],[255,181,0,255],[255,181,0,255],[255,182,0,255],[255,183,0,255],[255,184,0,255],[255,187,7,255],[255,188,10,255],[255,189,14,255],[255,191,18,255],[255,192,21,255],[255,193,25,255],[255,195,29,255],[255,197,36,255],[255,198,40,255],[255,200,43,255],[255,202,51,255],[255,204,54,255],[255,206,61,255],[255,207,65,255],[255,210,72,255],[255,211,76,255],[255,214,83,255],[255,216,91,255],[255,219,98,255],[255,221,105,255],[255,223,109,255],[255,225,116,255],[255,228,123,255],[255,232,134,255],[255,234,142,255],[255,237,149,255],[255,239,156,255],[255,240,160,255],[255,243,167,255],[255,246,174,255],[255,248,182,255],[255,249,185,255],[255,252,193,255],[255,253,196,255],[255,255,204,255],[255,255,207,255],[255,255,211,255],[255,255,218,255],[255,255,222,255],[255,255,225,255],[255,255,229,255],[255,255,233,255],[255,255,236,255],[255,255,240,255],[255,255,244,255],[255,255,247,255],[255,255,255,0]],Gt=xa.reduce((e,t)=>{if(e[t.type]=t,t.aliases)for(const n of t.aliases)e[n]=t;return e},{}),DX=xa.reduce((e,t)=>{for(let n=0;n<t.datatype.length;n++){const r=t.datatype[n];return e[r]?e[r].add(t.orientation):e[r]=new Set,e}return{}},{}),Ca={chromsizes:{center:"2d-chromosome-grid",top:"chromosome-labels",left:"chromosome-labels",bottom:"chromosome-labels",right:"chromosome-labels"},matrix:{center:"heatmap",top:"linear-heatmap",left:"linear-heatmap",right:"linear-heatmap",bottom:"linear-heatmap"},vector:{top:"bar",bottom:"bar",left:"bar",right:"bar"},"geo-json":{center:"geo-json"},"gene-annotation":{top:"gene-annotations",bottom:"gene-annotations",left:"gene-annotations",right:"gene-annotations"},bedlike:{top:"bedlike",bottom:"bedlike",left:"vertical-bedlike",right:"vertical-bedlike"}},Rp=(e,t)=>{const n=h0(t);let r=new Set(Object.values(n).flat());for(const i of e){const o=new Set(i);r=new Set([...r].filter(a=>a.datatype.filter(s=>o.has(s)).length>0))}return[...r]},J4=8,p0=8,d0="default",Dp="bounded",Np="overflow",Rs="bounded-overflow",Oa="scroll",NX=Object.freeze(Object.defineProperty({__proto__:null,AVAILABLE_TRACK_TYPES:Rp,DATATYPE_TO_TRACK_TYPE:h0,DEFAULT_CONTAINER_PADDING_X:$4,DEFAULT_CONTAINER_PADDING_Y:j4,DEFAULT_SERVER:u0,DEFAULT_TRACKS_FOR_DATATYPE:Ca,DEFAULT_VIEW_MARGIN:Su,DEFAULT_VIEW_PADDING:Eu,GLOBALS:Ye,HEATED_OBJECT_MAP:Is,LOCATION_LISTENER_PREFIX:Cu,LONG_DRAG_TIMEOUT:xu,MAX_CLICK_DELAY:kX,MIN_HORIZONTAL_HEIGHT:q4,MIN_VERTICAL_WIDTH:U4,MOUSE_TOOL_MOVE:Pp,MOUSE_TOOL_SELECT:Xn,MOUSE_TOOL_TRACK_SELECT:ku,NUM_PRECOMP_SUBSETS_PER_1D_TTILE:J4,NUM_PRECOMP_SUBSETS_PER_2D_TTILE:p0,POSITIONS_BY_DATATYPE:DX,SHORT_DRAG_TIMEOUT:B4,SIZE_MODE_BOUNDED:Dp,SIZE_MODE_BOUNDED_OVERFLOW:Rs,SIZE_MODE_DEFAULT:d0,SIZE_MODE_OVERFLOW:Np,SIZE_MODE_SCROLL:Oa,THEME_DARK:Qt,THEME_DEFAULT:V4,THEME_LIGHT:Ip,TILE_FETCH_DEBOUNCE:c0,TRACKS_INFO:xa,TRACKS_INFO_BY_TYPE:Gt,TRACK_LOCATIONS:Mp,VIEW_HEADER_MED_WIDTH_SEARCH_BAR:H4,VIEW_HEADER_MIN_WIDTH_SEARCH_BAR:F4,ZOOM_DEBOUNCE:Ap,ZOOM_TRANSITION_DURATION:z4},Symbol.toStringTag,{value:"Module"})),eA=e=>{const t=["top","bottom","gallery"],n=["left","right","gallery"];return e.center??=[],e.left??=[],e.right??=[],e.top??=[],e.bottom??=[],e.whole??=[],e.gallery??=[],t.map(r=>e[r]).forEach(r=>(r??[]).forEach(i=>{const o=Gt[i.type],a=o?.defaultOptions||{},s=i.options?{...a,...i.options}:a;s.minHeight!==void 0&&i.height===void 0&&(i.height=s.minHeight),i.height===void 0&&(i.height=o?.defaultHeight||q4)})),n.map(r=>e[r]).forEach(r=>(r??[]).forEach(i=>{const o=Gt[i.type],a=o?.defaultOptions||{},s=i.options?{...a,...i.options}:a;s.minWidth!==void 0&&i.width===void 0&&(i.width=s.minWidth),i.width===void 0&&(i.width=o?.defaultWidth||U4)})),e},tA=(e,t)=>n=>n.reduce(e,t),LX=tA((e,t)=>e.concat(t),[]),$X=e=>t=>Array.prototype.forEach.call(t,e),Lp=(e,t)=>{t.dispatchEvent(D4(e))},jX=(e,t)=>[Tu(e[0],e[1],t),Tu(e[2],e[3],t)];function BX(e,t,n,r,i){const{chr:o,pos:a}=t,{chr:s,pos:c}=n,l=[];if(o===s){const u=o,f=Math.floor(a/r),h=Math.min(f+i,Math.ceil(c/r));l.push([u,f,h])}else{let u=i;const f=e.findIndex(([p])=>p===o),h=e.findIndex(([p])=>p===s);for(let p=f;p<=h;p++){let d,g;const[y,b]=e[p];p<h?(p===f?d=a:d=0,g=b):(d=0,g=c);const m=Math.floor(d/r),v=Math.min(m+u,Math.ceil(g/r));l.push([y,m,v]),u-=v-m}}return l}function zX(e,t){return Ca[e]!==void 0?Ca[e][t]:void 0}const g0=(e,t,n)=>{if(n.length===0)return;if(n.length===1)return n[0];let r=n[0];const i=zX(e,t);return i!==void 0&&(r=n.find(o=>o.type===i)||r),r},m0=e=>(L7.listen(),[e.clientWidth,e.clientHeight]),rn=(e,t)=>{let n=null;const r=i=>(i.uid===t&&(n=i),i.type.substr(0,8)==="combined"&&i.contents.forEach(r),null);return Object.keys(e).map(i=>e[i]).filter(i=>i.filter).reduce((i,o)=>i.concat(o),[]).forEach(r),n},HX=(e,t,n)=>{const i=e.state.views[t];if(!i)return null;let o=null;const a=c=>(c.uid===n&&(o=c),c.type.substr(0,8)==="combined"&&c.contents.forEach(a),null),s=i.tracks;return Object.keys(s).map(c=>s[c]).filter(c=>c.filter).reduce((c,l)=>c.concat(l),[]).forEach(a),o},Ds=(e,t,n)=>{const r=t?e[t]:Object.values(e)[0];if(!r){console.warn(t?`Could't find view with id "${t}"`:"No views available.");return}let i=r.trackRenderer.trackDefObjects[n];return i?i=i.trackObject:Object.values(r.trackRenderer.trackDefObjects).map(o=>o.trackObject).filter(o=>o.childTracks).forEach(o=>{o.createdTracks[n]&&(i=o.createdTracks[n])}),i};function Pu(e){return"contents"in e&&e.type==="combined"}function FX(e){return"deltaY"in e&&"deltaMode"in e}function $p(e){return e!==null&&typeof e=="object"}function jp(e){return $p(e)&&"max_width"in e}function Au(e){return $p(e)&&"resolutions"in e}function qX(e){return $p(e)&&!("error"in e)}const v0=(e,t,n=!0,r=null)=>e.forEach(i=>{n&&Pu(i)&&v0(i.contents,t,n,r),t(i,r)}),oo=(e,t,n=!0)=>{const r=[];for(const[i,o]of Object.entries(e))v0(o,t,n,i),r.push(...o);return r},Mu=(e,t)=>{let n=null;return oo(e,(r,i)=>{r.uid===t&&(n=i)}),n},y0=e=>t=>Array.prototype.map.call(t,e),rA=()=>[window,y0(e=>e.charCodeAt(0))("2.3.2").map(e=>e<=999?`00${e}`.slice(-3):e).join("")],nA=(e,t=1,n=100,r=0,i=0,o=0,a=100)=>{const s=document.createElement("canvas");s.width=t,s.height=n;const c=s.getContext("2d");if(!c)throw new Error("Could not get canvas context");const l=c.createLinearGradient(r,i,o,a);return e.forEach(u=>{l.addColorStop(u.from,u.color)}),c.fillStyle=l,c.fillRect(0,0,t,n),s},iA=(e,t)=>{let n=e;for(;n&&n!==t&&n.tagName!=="HTML";)n=n.parentNode;return n===t},oA=e=>Number.parseInt(e.replace(/^#/,""),16),aA=()=>{};function UX(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function VX(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,WX(r.key),r)}}function GX(e,t,n){return t&&VX(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function WX(e){var t=YX(e,"string");return typeof t=="symbol"?t:t+""}function YX(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}let b0=function(){function e(t){UX(this,e),this.context=t;const{tracks:n,createTrackObject:r}=t;this.childTracks=n.map(r),this.createdTracks={},this.uid=Mt.nice(),this.childTracks.forEach((i,o)=>{this.createdTracks[n[o].uid]=i});for(let i=0;i<this.childTracks.length;i++)this.childTracks[i]||console.error("Empty child track in CombinedTrack:",this)}return GX(e,[{key:"updateContents",value:function(n,r){const i=[],o=new Set;n.forEach(c=>{if(o.add(c.uid),c.uid in this.createdTracks)i.push(this.createdTracks[c.uid]);else{const l=r(c);l.setPosition(this.position),l.setDimensions(this.dimensions),i.push(l),l.zoomed(this._xScale,this._yScale),this.createdTracks[c.uid]=l}}),this.childTracks=i;const a=new Set(Object.keys(this.createdTracks));return[...new Set([...a].filter(c=>!o.has(c)))].forEach(c=>{this.createdTracks[c].remove(),delete this.createdTracks[c]}),this}},{key:"setPosition",value:function(n){this.position=n;for(let r=0;r<this.childTracks.length;r++)this.childTracks[r].setPosition(n)}},{key:"setDimensions",value:function(n){this.dimensions=n;for(let r=0;r<this.childTracks.length;r++)this.childTracks[r].setDimensions(n)}},{key:"zoomed",value:function(n,r,i,o,a,s,c){this._xScale=n,this._yScale=r;for(let l=0;l<this.childTracks.length;l++)this.childTracks[l].zoomed(n,r,i,o,a,s,c)}},{key:"clickOutside",value:function(){for(let n=0;n<this.childTracks.length;n++)this.childTracks[n].clickOutside()}},{key:"click",value:function(...n){for(let r=0;r<this.childTracks.length;r++)this.childTracks[r].click(...n)}},{key:"draw",value:function(){}},{key:"refScalesChanged",value:function(n,r){for(let i=0;i<this.childTracks.length;i++)this.childTracks[i].refScalesChanged(n,r)}},{key:"remove",value:function(){for(let n=0;n<this.childTracks.length;n++)this.childTracks[n].remove()}},{key:"exportSVG",value:function(){const n=document.createElement("g");for(const r of this.childTracks)r.exportSVG&&n.appendChild(r.exportSVG()[0]);return[n,n]}},{key:"rerender",value:function(n){}},{key:"minValue",value:function(n){if(arguments.length===0){const r=this.childTracks.filter(i=>i.minValue).map(i=>i.minValue()).filter(i=>i);return Math.min(...r)}for(const r of this.childTracks)r.minValue&&r.minValue(n)}},{key:"maxValue",value:function(n){if(arguments.length===0){const r=this.childTracks.filter(i=>i.maxValue).map(i=>i.maxValue()).filter(i=>i);return Math.max(...r)}for(const r of this.childTracks)r.maxValue&&r.maxValue(n)}},{key:"respondsToPosition",value:function(n,r){return n>=this.position[0]&&n<=this.dimensions[0]+this.position[0]&&r>=this.position[1]&&r<=this.dimensions[1]+this.position[1]}},{key:"stopHover",value:function(){for(const n of this.childTracks)n.stopHover&&n.stopHover()}},{key:"getMouseOverHtml",value:function(n,r){let i="";for(const o of this.childTracks)if(o.getMouseOverHtml){const a=o.getMouseOverHtml(n,r);a?.length&&(i+=a,i+="<br/>")}return i}},{key:"getMouseOverUids",value:function(n,r){const i=[];for(const o of this.childTracks)if(o.getMouseOverUids){const a=o.getMouseOverUids(n,r);a&&i.push(...a)}return i}}])}();const sA=(e,t)=>t===e?!0:t instanceof b0?Object.keys(t.createdTracks).map(n=>t.createdTracks[n]).some(n=>sA(e,n)):!1,_0=(e,t,n,r,i,o,a=!1)=>a?e>=n&&e<=r||t>=i&&t<=o:e>=n&&e<=r&&t>=i&&t<=o,XX=e=>Math.log(Math.tan((e+Math.PI/2)/2)),KX=(e,t)=>{let n=e*Math.PI/180;return n=XX(n),2**t*(Math.PI-n)/(2*Math.PI)},Bp=e=>y0(t=>e[t])(Object.keys(e)),ZX=e=>Bp(e).map(t=>t.chromInfoPath).forEach(t=>a0.get(t)),QX=(e,t)=>2**t*(e+180)/360,T0=(e,t)=>e>t?e:t,lA=1e-7;function w0(e){let t=Number.MIN_SAFE_INTEGER;for(let n=0;n<e.length;n++){const r=e[n];r<lA&&r>-lA||r>t&&(t=r)}return t}const cA=(e,t)=>e<t?e:t,uA=1e-7;function S0(e){let t=Number.MAX_SAFE_INTEGER;for(let n=0;n<e.length;n++){const r=e[n];r<uA&&r>-uA||r<t&&(t=r)}return t}const JX=(e,t)=>(e%t+t)%t,fA=(e,t)=>{const n=+t;if(!Number.isNaN(n))if(e.dimension===1)for(let i=0;i<e.shape[0];++i)e.set(i,n);else for(let i=0;i<e.shape[0];++i)for(let o=0;o<e.shape[1];++o)e.set(i,o,n);else{const i=e.shape[0],o=e.shape[1],a=t.shape[0],s=t.shape[1];if(i!==a||o!==s){console.warn("Cannot assign source to target ndarray as the dimensions do not match",i,a,o,s);return}if(e.dimension===1)for(let c=0;c<e.shape[0];++c)e.set(c,t.get(c));else for(let c=0;c<e.shape[0];++c)for(let l=0;l<e.shape[1];++l)e.set(c,l,t.get(c,l))}};var E0,hA;function eK(){if(hA)return E0;hA=1;function e(t){for(var n=new Array(t),r=0;r<t;++r)n[r]=r;return n}return E0=e,E0}var k0,pA;function tK(){if(pA)return k0;pA=1,k0=function(n){return n!=null&&(e(n)||t(n)||!!n._isBuffer)};function e(n){return!!n.constructor&&typeof n.constructor.isBuffer=="function"&&n.constructor.isBuffer(n)}function t(n){return typeof n.readFloatLE=="function"&&typeof n.slice=="function"&&e(n.slice(0,0))}return k0}var x0,dA;function rK(){if(dA)return x0;dA=1;var e=eK(),t=tK(),n=typeof Float64Array<"u";function r(l,u){return l[0]-u[0]}function i(){var l=this.stride,u=new Array(l.length),f;for(f=0;f<u.length;++f)u[f]=[Math.abs(l[f]),f];u.sort(r);var h=new Array(u.length);for(f=0;f<h.length;++f)h[f]=u[f][1];return h}function o(l,u){var f=["View",u,"d",l].join("");u<0&&(f="View_Nil"+l);var h=l==="generic";if(u===-1){var p="function "+f+"(a){this.data=a;}; var proto="+f+".prototype; proto.dtype='"+l+"'; proto.index=function(){return -1}; proto.size=0; proto.dimension=-1; proto.shape=proto.stride=proto.order=[]; proto.lo=proto.hi=proto.transpose=proto.step= function(){return new "+f+"(this.data);}; proto.get=proto.set=function(){}; proto.pick=function(){return null}; return function construct_"+f+"(a){return new "+f+"(a);}",k=new Function(p);return k()}else if(u===0){var p="function "+f+"(a,d) { this.data = a; this.offset = d }; var proto="+f+".prototype; proto.dtype='"+l+"'; proto.index=function(){return this.offset}; proto.dimension=0; proto.size=1; proto.shape= proto.stride= proto.order=[]; proto.lo= proto.hi= proto.transpose= proto.step=function "+f+"_copy() { return new "+f+"(this.data,this.offset) }; proto.pick=function "+f+"_pick(){ return TrivialArray(this.data); }; proto.valueOf=proto.get=function "+f+"_get(){ return "+(h?"this.data.get(this.offset)":"this.data[this.offset]")+"}; proto.set=function "+f+"_set(v){ return "+(h?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+" }; return function construct_"+f+"(a,b,c,d){return new "+f+"(a,d)}",k=new Function("TrivialArray",p);return k(s[l][0])}var p=["'use strict'"],d=e(u),g=d.map(function(E){return"i"+E}),y="this.offset+"+d.map(function(E){return"this.stride["+E+"]*i"+E}).join("+"),b=d.map(function(E){return"b"+E}).join(","),m=d.map(function(E){return"c"+E}).join(",");p.push("function "+f+"(a,"+b+","+m+",d){this.data=a","this.shape=["+b+"]","this.stride=["+m+"]","this.offset=d|0}","var proto="+f+".prototype","proto.dtype='"+l+"'","proto.dimension="+u),p.push("Object.defineProperty(proto,'size',{get:function "+f+"_size(){ return "+d.map(function(E){return"this.shape["+E+"]"}).join("*"),"}})"),u===1?p.push("proto.order=[0]"):(p.push("Object.defineProperty(proto,'order',{get:"),u<4?(p.push("function "+f+"_order(){"),u===2?p.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):u===3&&p.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]); if(s0>s1){ if(s1>s2){ return [2,1,0]; }else if(s0>s2){ return [1,2,0]; }else{ return [1,0,2]; } }else if(s0>s2){ return [2,0,1]; }else if(s2>s1){ return [0,1,2]; }else{ return [0,2,1]; }}})")):p.push("ORDER})")),p.push("proto.set=function "+f+"_set("+g.join(",")+",v){"),h?p.push("return this.data.set("+y+",v)}"):p.push("return this.data["+y+"]=v}"),p.push("proto.get=function "+f+"_get("+g.join(",")+"){"),h?p.push("return this.data.get("+y+")}"):p.push("return this.data["+y+"]}"),p.push("proto.index=function "+f+"_index(",g.join(),"){return "+y+"}"),p.push("proto.hi=function "+f+"_hi("+g.join(",")+"){return new "+f+"(this.data,"+d.map(function(E){return["(typeof i",E,"!=='number'||i",E,"<0)?this.shape[",E,"]:i",E,"|0"].join("")}).join(",")+","+d.map(function(E){return"this.stride["+E+"]"}).join(",")+",this.offset)}");var v=d.map(function(E){return"a"+E+"=this.shape["+E+"]"}),_=d.map(function(E){return"c"+E+"=this.stride["+E+"]"});p.push("proto.lo=function "+f+"_lo("+g.join(",")+"){var b=this.offset,d=0,"+v.join(",")+","+_.join(","));for(var T=0;T<u;++T)p.push("if(typeof i"+T+"==='number'&&i"+T+">=0){ d=i"+T+"|0; b+=c"+T+"*d; a"+T+"-=d}");p.push("return new "+f+"(this.data,"+d.map(function(E){return"a"+E}).join(",")+","+d.map(function(E){return"c"+E}).join(",")+",b)}"),p.push("proto.step=function "+f+"_step("+g.join(",")+"){var "+d.map(function(E){return"a"+E+"=this.shape["+E+"]"}).join(",")+","+d.map(function(E){return"b"+E+"=this.stride["+E+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(var T=0;T<u;++T)p.push("if(typeof i"+T+"==='number'){ d=i"+T+"|0; if(d<0){ c+=b"+T+"*(a"+T+"-1); a"+T+"=ceil(-a"+T+"/d) }else{ a"+T+"=ceil(a"+T+"/d) } b"+T+"*=d }");p.push("return new "+f+"(this.data,"+d.map(function(E){return"a"+E}).join(",")+","+d.map(function(E){return"b"+E}).join(",")+",c)}");for(var w=new Array(u),S=new Array(u),T=0;T<u;++T)w[T]="a[i"+T+"]",S[T]="b[i"+T+"]";p.push("proto.transpose=function "+f+"_transpose("+g+"){"+g.map(function(E,P){return E+"=("+E+"===undefined?"+P+":"+E+"|0)"}).join(";"),"var a=this.shape,b=this.stride;return new "+f+"(this.data,"+w.join(",")+","+S.join(",")+",this.offset)}"),p.push("proto.pick=function "+f+"_pick("+g+"){var a=[],b=[],c=this.offset");for(var T=0;T<u;++T)p.push("if(typeof i"+T+"==='number'&&i"+T+">=0){c=(c+this.stride["+T+"]*i"+T+")|0}else{a.push(this.shape["+T+"]);b.push(this.stride["+T+"])}");p.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),p.push("return function construct_"+f+"(data,shape,stride,offset){return new "+f+"(data,"+d.map(function(E){return"shape["+E+"]"}).join(",")+","+d.map(function(E){return"stride["+E+"]"}).join(",")+",offset)}");var k=new Function("CTOR_LIST","ORDER",p.join(`
167
+ `,"text/xml").documentElement;function K4({theStyle:e,onClick:t}){return x.createElement("svg",{className:Kn[e],viewBox:"0 0 12 13",onClick:t,xmlns:"http://www.w3.org/2000/svg"},x.createElement("title",null,"Search"),x.createElement("g",{fill:"none",stroke:"#6c6c6c",strokeWidth:"2"},x.createElement("path",{d:"M11.29 11.71l-4-4"}),x.createElement("circle",{cx:"5",cy:"5",r:"4"})))}K4.propTypes={theStyle:q.string,onClick:q.func};const Z4={type:"osm-tiles",datatype:["map-tiles"],local:!0,orientation:"2d",hidden:!0,name:"OSM Tiles",thumbnail:f0,availableOptions:["minPos","maxPos","maxZoom","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{minPos:-180,maxPos:180,maxZoom:19,labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},Q4={type:"mapbox-tiles",datatype:["map-tiles"],local:!0,orientation:"2d",hidden:!0,name:"Mapbox Tiles",thumbnail:f0,availableOptions:["style","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{style:"mapbox.streets",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},xa=[Z4,{...Z4,type:"osm"},Q4,{...Q4,type:"mapbox"},{type:"left-axis",datatype:["axis"],local:!0,orientation:"1d-vertical",name:"Left Axis",thumbnail:AX,availableOptions:["minWidth","reverseAxis"],defaultOptions:{minWidth:100,reverseAxis:!1}},{type:"top-axis",datatype:["axis"],local:!0,orientation:"1d-horizontal",name:"Top Axis",thumbnail:PX,defaultOptions:{}},{type:"horizontal-rule",datatype:["x-coord"],local:!0,orientation:"whole",name:"Horizontal Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"vertical-rule",datatype:["y-coord"],local:!0,orientation:"whole",name:"Vertical Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"cross-rule",datatype:["xy-coord"],local:!0,orientation:"whole",name:"Cross Rule",thumbnail:null,availableOptions:["color"],defaultOptions:{color:"black"}},{type:"simple-svg",datatype:[],local:!1,orientation:"2d",exportable:!0,availableOptions:["minWidth","minHeight"],defaultOptions:{minWidth:100,minHeight:100}},{type:"heatmap",datatype:["matrix"],local:!1,orientation:"2d",thumbnail:W4,exportable:!0,availableOptions:["backgroundColor","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","colorRange","colorbarBackgroundColor","maxZoom","minWidth","minHeight","dataTransform","colorbarPosition","trackBorderWidth","trackBorderColor","heatmapValueScaling","showMousePosition","mousePositionColor","showTooltip","extent","zeroValueColor"],defaultOptions:{backgroundColor:"#eeeeee",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!0,labelShowAssembly:!0,colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],colorbarBackgroundColor:"#ffffff",maxZoom:null,minWidth:100,minHeight:100,colorbarPosition:"topRight",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log",showMousePosition:!1,mousePositionColor:"#000000",showTooltip:!1,extent:"full",zeroValueColor:null},defaultOptionsByTheme:{[Qt]:{backgroundColor:"#000000",colorRange:["black","rgba(208,2,27,1.0)","rgba(245,166,35,1.0)","white"],colorbarBackgroundColor:"#000000",labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff"}}},{type:"linear-heatmap",aliases:["horizontal-heatmap","vertical-heatmap"],datatype:["matrix"],local:!1,orientation:"1d-horizontal",rotatable:!0,thumbnail:W4,defaultOptions:{backgroundColor:"#eeeeee",labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!0,labelShowAssembly:!0,labelColor:"black",colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],maxZoom:null,minWidth:100,minHeight:40,trackBorderWidth:0,trackBorderColor:"black"},availableOptions:["backgroundColor","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","colorRange","maxZoom","minWidth","minHeight","dataTransform","oneDHeatmapFlipped","colorbarPosition","trackBorderWidth","trackBorderColor","heatmapValueScaling"]},{type:"line",aliases:["horizontal-line","vertical-line"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,thumbnail:OX,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundColor","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","lineStrokeWidth","lineStrokeColor","valueScaling","valueScaleMin","valueScaleMax","trackBorderWidth","trackBorderColor","trackType","showMousePosition","showTooltip","mousePositionColor","aggregationMode","minHeight"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelBackgroundColor:"white",labelShowResolution:!1,labelShowAssembly:!0,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",lineStrokeColor:"blue",lineStrokeWidth:1,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:.4,showMousePosition:!1,minHeight:20,mousePositionColor:"#000000",showTooltip:!1},defaultOptionsByTheme:{[Qt]:{labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff"}}},{type:"1d-heatmap",aliases:["horizontal-1d-heatmap","vertical-1d-heatmap"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,thumbnail:CX,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisPositionHorizontal","axisMargin","colorRange","valueScaling","trackBorderWidth","trackBorderColor","trackType","showMousePosition","showTooltip","mousePositionColor","aggregationMode"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!1,labelShowAssembly:!0,axisPositionHorizontal:"right",colorRange:["white","rgba(245,166,35,1.0)","rgba(208,2,27,1.0)","black"],valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:.4,showMousePosition:!1,mousePositionColor:"#000000",showTooltip:!1}},{type:"vector-heatmap",aliases:["horizontal-vector-heatmap","vertical-vector-heatmap"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,minHeight:1,thumbnail:null,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","valueScaling","labelTextOpacity","labelBackgroundOpacity","colorRange","trackBorderWidth","trackBorderColor","trackType","heatmapValueScaling"],defaultOptions:{labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!1,labelShowAssembly:!0,labelColor:"black",labelTextOpacity:.4,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log"}},{type:"multivec",aliases:["horizontal-multivec","vertical-multivec"],datatype:["multivec"],local:!1,orientation:"1d-horizontal",rotatable:!0,thumbnail:null,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","minHeight","valueScaling","labelTextOpacity","labelBackgroundOpacity","colorRange","trackBorderWidth","trackBorderColor","trackType","heatmapValueScaling","selectRows","selectRowsAggregationMode","selectRowsAggregationWithRelativeHeight","selectRowsAggregationMethod","colorbarBackgroundColor","colorbarPosition","zeroValueColor"],defaultOptions:{labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!0,labelShowAssembly:!0,labelColor:"black",labelTextOpacity:.4,minHeight:100,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",heatmapValueScaling:"log",selectRows:null,selectRowsAggregationMode:"mean",selectRowsAggregationWithRelativeHeight:!0,selectRowsAggregationMethod:"client",colorbarBackgroundColor:"#ffffff",colorbarPosition:"topRight",zeroValueColor:null},defaultOptionsByTheme:{[Qt]:{colorbarBackgroundColor:"#000000"}}},{type:"point",aliases:["horizontal-point","vertical-point"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","pointColor","pointSize","valueScaling","trackBorderWidth","trackBorderColor"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!1,labelShowAssembly:!0,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",pointColor:"red",pointSize:3,valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:.4}},{type:"divergent-bar",aliases:["horizontal-divergent-bar","vertical-divergent-bar"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","barFillColorTop","barFillColorBottom","valueScaling","trackBorderWidth","trackBorderColor","barOpacity"],defaultOptions:{labelColor:"black",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!1,labelShowAssembly:!0,axisPositionHorizontal:"right",axisLabelFormatting:"scientific",barFillColorBottom:"red",barFillColorTop:"green",valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:.4,barOpacity:1}},{type:"bar",aliases:["horizontal-bar","vertical-bar"],datatype:["vector"],local:!1,orientation:"1d-horizontal",rotatable:!0,availableOptions:["align","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelShowResolution","labelShowAssembly","labelColor","labelTextOpacity","labelBackgroundOpacity","axisLabelFormatting","axisPositionHorizontal","axisMargin","barFillColor","colorRange","colorRangeGradient","valueScaling","valueScaleMin","valueScaleMax","trackBorderWidth","trackBorderColor","barOpacity","showMousePosition","showTooltip","aggregationMode","zeroLineVisible","zeroLineColor","zeroLineOpacity"],defaultOptions:{align:"bottom",labelColor:"[glyph-color]",labelPosition:"topLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,labelShowResolution:!1,labelShowAssembly:!0,axisLabelFormatting:"scientific",axisPositionHorizontal:"right",barFillColor:"darkgreen",valueScaling:"linear",trackBorderWidth:0,trackBorderColor:"black",labelTextOpacity:.4,barOpacity:1}},{type:"2d-tiles",datatype:["matrix"],local:!1,orientation:"2d",name:"2D Tile Outlines",thumbnail:G4},{type:"1d-value-interval",aliases:["horizontal-1d-value-interval","vertical-1d-value-interval"],datatype:["bed-value"],local:!1,orientation:"1d-horizontal",rotatable:!0,name:"1D Rectangles",availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","axisPositionHorizontal","axisMargin"],defaultOptions:{labelColor:"black",labelPosition:"bottomLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,axisPositionHorizontal:"left",lineStrokeColor:"blue",valueScaling:"linear"}},{type:"stacked-interval",aliases:["top-stacked-interval","left-stacked-interval"],datatype:["stacked-interval"],local:!1,orientation:"1d-horizontal",rotatable:!0,thumbnail:"horizontal-stacked-interval.png",availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity"]},{type:"viewport-projection-vertical",datatype:["1d-projection"],local:!0,hidden:!0,projection:!0,orientation:"1d-vertical",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:.3,projectionStrokeOpacity:.7,strokeWidth:1}},{type:"viewport-projection-horizontal",datatype:["1d-projection"],local:!0,hidden:!0,projection:!0,orientation:"1d-horizontal",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:.3,projectionStrokeOpacity:.7,strokeWidth:1}},{type:"viewport-projection-center",datatype:["2d-projection"],local:!0,hidden:!0,projection:!0,orientation:"2d",name:"Viewport Projection",thumbnail:"viewport-projection-center.png",availableOptions:["projectionFillColor","projectionStrokeColor","strokeWidth"],defaultOptions:{projectionFillColor:"#777",projectionStrokeColor:"#777",projectionFillOpacity:.3,projectionStrokeOpacity:.7,strokeWidth:1}},{type:"gene-annotations",aliases:["horizontal-gene-annotations","vertical-gene-annotations"],datatype:["gene-annotation"],local:!1,defaultHeight:90,defaultWidth:90,rotatable:!0,orientation:"1d-horizontal",name:"Gene Annotations",thumbnail:MX,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundColor","labelBackgroundOpacity","minHeight","plusStrandColor","minusStrandColor","trackBorderWidth","trackBorderColor","showMousePosition","mousePositionColor","fontSize","geneAnnotationHeight","geneLabelPosition","geneStrandSpacing"],defaultOptions:{fontSize:10,labelColor:"black",labelBackgroundColor:"#ffffff",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,minHeight:24,plusStrandColor:"blue",minusStrandColor:"red",trackBorderWidth:0,trackBorderColor:"black",showMousePosition:!1,mousePositionColor:"#000000",geneAnnotationHeight:16,geneLabelPosition:"outside",geneStrandSpacing:4},defaultOptionsByTheme:{[Qt]:{labelColor:"#ffffff",labelBackgroundColor:"#000000",trackBorderColor:"#ffffff",mousePositionColor:"#ffffff",plusStrandColor:"#40a0ff"}}},{type:"arrowhead-domains",datatype:["arrowhead-domains"],local:!1,orientation:"2d",name:"Arrowhead Domains",thumbnail:Ou,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black"}},{type:"linear-2d-rectangle-domains",aliases:["horizontal-2d-rectangle-domains","vertical-2d-rectangle-domains"],datatype:["2d-rectangle-domains"],local:!1,orientation:"1d-horizontal",rotatable:!0,name:"Horizontal 2D Rectangle Domains",thumbnail:Ou,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize"],defaultOptions:{labelColor:"black",labelPosition:"bottomLeft",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainStrokeColor:"black",rectangleDomainOpacity:.6,minSquareSize:"none"}},{type:"2d-rectangle-domains",datatype:["2d-rectangle-domains"],local:!1,orientation:"2d",name:"2D Rectangle Domains",thumbnail:Ou,availableOptions:["flipDiagonal","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainFillOpacity","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize"],defaultOptions:{flipDiagonal:"none",labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainFillOpacity:.4,rectangleDomainStrokeColor:"black",rectangleDomainOpacity:.6,minSquareSize:"none"}},{type:"horizontal-1d-annotations",datatype:["nothing"],local:!1,orientation:"1d-horizontal",name:"Horizontal 1D Annotations",thumbnail:null,availableOptions:["fill","fillOpacity","stroke","strokeOpacity","strokeWidth","strokePos","regions"],defaultOptions:{fill:"red",fillOpacity:.2,stroke:"red",strokeOpacity:0,strokeWidth:1,regions:[],strokePos:[]}},{type:"vertical-1d-annotations",datatype:["nothing"],local:!1,orientation:"1d-vertical",name:"Vertical 1D Annotations",thumbnail:null,availableOptions:["fill","fillOpacity","stroke","strokeOpacity","regions"],defaultOptions:{fill:"red",fillOpacity:"0.2",stroke:"red",strokeOpacity:"0",regions:[]}},{type:"2d-annotations",datatype:["2d-annotations"],local:!1,orientation:"2d",name:"2D Annotations",thumbnail:Ou,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor","labelTextOpacity","labelBackgroundOpacity","trackBorderWidth","trackBorderColor","rectangleDomainFillColor","rectangleDomainStrokeColor","rectangleDomainOpacity","minSquareSize","isClickable","hoverColor","selectColor","exclude","trackBorderBgWidth","trackBorderBgColor","trackBorderBgAlpha"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black",rectangleDomainFillColor:"grey",rectangleDomainStrokeColor:"black",rectangleDomainOpacity:.6,minSquareSize:"none",isClickable:!1,hoverColor:"orange",selectColor:"fuchsia",exclude:[],trackBorderBgWidth:0,trackBorderBgColor:"black",trackBorderBgAlpha:.33}},{type:"square-markers",datatype:["bedpe"],local:!1,orientation:"2d",name:"Square Markers",thumbnail:Ou,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","labelColor"],defaultOptions:{labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,trackBorderWidth:0,trackBorderColor:"black"}},{type:"combined",datatype:"any",local:!0,orientation:"any"},{type:"horizontal-chromosome-grid",datatype:["chromsizes"],local:!1,orientation:"1d-horizontal",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor","showMousePosition"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey",showMousePosition:!1}},{type:"vertical-chromosome-grid",datatype:["chromsizes"],local:!1,orientation:"1d-vertical",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor","showMousePosition"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey",showMousePosition:!1}},{type:"2d-chromosome-grid",datatype:["chromsizes"],local:!1,orientation:"2d",name:"Chromosome Grid",chromInfoPath:"//s3.amazonaws.com/pkerp/data/hg19/chromSizes.tsv",thumbnail:null,availableOptions:["lineStrokeWidth","lineStrokeColor"],defaultOptions:{lineStrokeWidth:1,lineStrokeColor:"grey"}},{type:"2d-chromosome-annotations",datatype:["chromsizes"],local:!0,orientation:"2d",name:"2D Chromosome Annotations",thumbnail:null,hidden:!0},{type:"2d-chromosome-labels",datatype:["chromsizes"],local:!0,orientation:"2d",name:"Pairwise Chromosome Labels",thumbnail:null},{type:"chromosome-labels",aliases:["horizontal-chromosome-labels","vertical-chromosome-labels"],datatype:["chromsizes"],orientation:"1d-horizontal",rotatable:!0,minHeight:35,defaultHeight:30,name:"Chromosome Axis",thumbnail:null,availableOptions:["color","stroke","fontSize","fontIsLeftAligned","showMousePosition","mousePositionColor","tickPositions","tickFormat","reverseOrientation"],defaultOptions:{color:"#808080",stroke:"#ffffff",fontSize:12,fontIsLeftAligned:!1,showMousePosition:!1,mousePositionColor:"#000000",reverseOrientation:!1},defaultOptionsByTheme:{[Qt]:{color:"#808080",stroke:"#000000",mousePositionColor:"#ffffff"}}},{type:"vertical-1d-tiles",datatype:["1d-tiles"],local:!1,orientation:"1d-vertical",name:"Vertical 1D Tile Outlines",thumbnail:RX},{type:"horizontal-1d-tiles",datatype:["vector","stacked-interval","gene-annotation"],local:!1,orientation:"1d-horizontal",name:"Horizontal 1D Tile Outlines",thumbnail:IX},{type:"osm-2d-tile-ids",datatype:["map-tiles"],local:!1,orientation:"2d",name:"OSM Tile Outlines",thumbnail:G4,availableOptions:["minPos","maxPos","maxZoom","labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{minPos:-180,maxPos:180,maxZoom:19,labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},{type:"raster-tiles",datatype:["map-tiles"],local:!0,orientation:"2d",hidden:!0,name:"Raster Tiles",thumbnail:f0,availableOptions:["labelPosition","labelLeftMargin","labelRightMargin","labelTopMargin","labelBottomMargin","name"],defaultOptions:{labelPosition:"bottomRight",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0}},{type:"image-tiles",datatype:["image-tiles"],local:!0,orientation:"2d",hidden:!0,name:"Image Tiles",thumbnail:null},{type:"bedlike",datatype:["bedlike"],aliases:["vertical-bedlike"],local:!1,orientation:"1d-horizontal",rotatable:!0,name:"BED-like track",thumbnail:null,availableOptions:["alternating","annotationHeight","annotationStyle","fillColor","fillOpacity","fontColor","fontSize","minusStrandColor","plusStrandColor","labelBottomMargin","labelColor","labelLeftMargin","labelPosition","labelRightMargin","labelTopMargin","labelTextOpacity","labelBackgroundOpacity","maxAnnotationHeight","minHeight","trackBorderWidth","trackBorderColor","valueColumn","colorEncoding","colorRange","colorEncodingRange","separatePlusMinusStrands","showTexts","axisPositionHorizontal","axisMargin"],defaultOptions:{alternating:!1,annotationStyle:"box",fillColor:"blue",fillOpacity:.3,fontSize:"10",axisPositionHorizontal:"right",labelColor:"black",labelPosition:"hidden",labelLeftMargin:0,labelRightMargin:0,labelTopMargin:0,labelBottomMargin:0,minHeight:20,maxAnnotationHeight:null,trackBorderWidth:0,trackBorderColor:"black",valueColumn:null,colorEncoding:"itemRgb",showTexts:!1,colorRange:["#000000","#652537","#bf5458","#fba273","#ffffe0"],colorEncodingRange:!1,separatePlusMinusStrands:!0,annotationHeight:16}},{type:"empty",datatype:[],orientation:"1d-horizontal",name:"Empty track",thumbnail:null,availableOptions:[],defaultOptions:{}}],h0=e=>{const t={},n=r=>!!(r.orientation===e||e==="1d-vertical"&&r.orientation==="1d-horizontal"&&r.rotatable);return xa.filter(n).forEach(r=>{let i=r.datatype;Array.isArray(r.datatype)||(i=[i]),i.forEach(o=>{o in t||(t[o]=[]),t[o].push(r)})}),t.none=[],t},Is=[[0,0,0,255],[35,0,0,255],[52,0,0,255],[60,0,0,255],[63,1,0,255],[64,2,0,255],[68,5,0,255],[69,6,0,255],[72,8,0,255],[74,10,0,255],[77,12,0,255],[78,14,0,255],[81,16,0,255],[83,17,0,255],[85,19,0,255],[86,20,0,255],[89,22,0,255],[91,24,0,255],[92,25,0,255],[94,26,0,255],[95,28,0,255],[98,30,0,255],[100,31,0,255],[102,33,0,255],[103,34,0,255],[105,35,0,255],[106,36,0,255],[108,38,0,255],[109,39,0,255],[111,40,0,255],[112,42,0,255],[114,43,0,255],[115,44,0,255],[117,45,0,255],[119,47,0,255],[119,47,0,255],[120,48,0,255],[122,49,0,255],[123,51,0,255],[125,52,0,255],[125,52,0,255],[126,53,0,255],[128,54,0,255],[129,56,0,255],[129,56,0,255],[131,57,0,255],[132,58,0,255],[134,59,0,255],[134,59,0,255],[136,61,0,255],[137,62,0,255],[137,62,0,255],[139,63,0,255],[139,63,0,255],[140,65,0,255],[142,66,0,255],[142,66,0,255],[143,67,0,255],[143,67,0,255],[145,68,0,255],[145,68,0,255],[146,70,0,255],[146,70,0,255],[148,71,0,255],[148,71,0,255],[149,72,0,255],[149,72,0,255],[151,73,0,255],[151,73,0,255],[153,75,0,255],[153,75,0,255],[154,76,0,255],[154,76,0,255],[154,76,0,255],[156,77,0,255],[156,77,0,255],[157,79,0,255],[157,79,0,255],[159,80,0,255],[159,80,0,255],[159,80,0,255],[160,81,0,255],[160,81,0,255],[162,82,0,255],[162,82,0,255],[163,84,0,255],[163,84,0,255],[165,85,0,255],[165,85,0,255],[166,86,0,255],[166,86,0,255],[166,86,0,255],[168,87,0,255],[168,87,0,255],[170,89,0,255],[170,89,0,255],[171,90,0,255],[171,90,0,255],[173,91,0,255],[173,91,0,255],[174,93,0,255],[174,93,0,255],[176,94,0,255],[176,94,0,255],[177,95,0,255],[177,95,0,255],[179,96,0,255],[179,96,0,255],[180,98,0,255],[182,99,0,255],[182,99,0,255],[183,100,0,255],[183,100,0,255],[185,102,0,255],[185,102,0,255],[187,103,0,255],[187,103,0,255],[188,104,0,255],[188,104,0,255],[190,105,0,255],[191,107,0,255],[191,107,0,255],[193,108,0,255],[193,108,0,255],[194,109,0,255],[196,110,0,255],[196,110,0,255],[197,112,0,255],[197,112,0,255],[199,113,0,255],[200,114,0,255],[200,114,0,255],[202,116,0,255],[202,116,0,255],[204,117,0,255],[205,118,0,255],[205,118,0,255],[207,119,0,255],[208,121,0,255],[208,121,0,255],[210,122,0,255],[211,123,0,255],[211,123,0,255],[213,124,0,255],[214,126,0,255],[214,126,0,255],[216,127,0,255],[217,128,0,255],[217,128,0,255],[219,130,0,255],[221,131,0,255],[221,131,0,255],[222,132,0,255],[224,133,0,255],[224,133,0,255],[225,135,0,255],[227,136,0,255],[227,136,0,255],[228,137,0,255],[230,138,0,255],[230,138,0,255],[231,140,0,255],[233,141,0,255],[233,141,0,255],[234,142,0,255],[236,144,0,255],[236,144,0,255],[238,145,0,255],[239,146,0,255],[241,147,0,255],[241,147,0,255],[242,149,0,255],[244,150,0,255],[244,150,0,255],[245,151,0,255],[247,153,0,255],[247,153,0,255],[248,154,0,255],[250,155,0,255],[251,156,0,255],[251,156,0,255],[253,158,0,255],[255,159,0,255],[255,159,0,255],[255,160,0,255],[255,161,0,255],[255,163,0,255],[255,163,0,255],[255,164,0,255],[255,165,0,255],[255,167,0,255],[255,167,0,255],[255,168,0,255],[255,169,0,255],[255,169,0,255],[255,170,0,255],[255,172,0,255],[255,173,0,255],[255,173,0,255],[255,174,0,255],[255,175,0,255],[255,177,0,255],[255,178,0,255],[255,179,0,255],[255,181,0,255],[255,181,0,255],[255,182,0,255],[255,183,0,255],[255,184,0,255],[255,187,7,255],[255,188,10,255],[255,189,14,255],[255,191,18,255],[255,192,21,255],[255,193,25,255],[255,195,29,255],[255,197,36,255],[255,198,40,255],[255,200,43,255],[255,202,51,255],[255,204,54,255],[255,206,61,255],[255,207,65,255],[255,210,72,255],[255,211,76,255],[255,214,83,255],[255,216,91,255],[255,219,98,255],[255,221,105,255],[255,223,109,255],[255,225,116,255],[255,228,123,255],[255,232,134,255],[255,234,142,255],[255,237,149,255],[255,239,156,255],[255,240,160,255],[255,243,167,255],[255,246,174,255],[255,248,182,255],[255,249,185,255],[255,252,193,255],[255,253,196,255],[255,255,204,255],[255,255,207,255],[255,255,211,255],[255,255,218,255],[255,255,222,255],[255,255,225,255],[255,255,229,255],[255,255,233,255],[255,255,236,255],[255,255,240,255],[255,255,244,255],[255,255,247,255],[255,255,255,0]],Gt=xa.reduce((e,t)=>{if(e[t.type]=t,t.aliases)for(const n of t.aliases)e[n]=t;return e},{}),DX=xa.reduce((e,t)=>{for(let n=0;n<t.datatype.length;n++){const r=t.datatype[n];return e[r]?e[r].add(t.orientation):e[r]=new Set,e}return{}},{}),Ca={chromsizes:{center:"2d-chromosome-grid",top:"chromosome-labels",left:"chromosome-labels",bottom:"chromosome-labels",right:"chromosome-labels"},matrix:{center:"heatmap",top:"linear-heatmap",left:"linear-heatmap",right:"linear-heatmap",bottom:"linear-heatmap"},vector:{top:"bar",bottom:"bar",left:"bar",right:"bar"},"geo-json":{center:"geo-json"},"gene-annotation":{top:"gene-annotations",bottom:"gene-annotations",left:"gene-annotations",right:"gene-annotations"},bedlike:{top:"bedlike",bottom:"bedlike",left:"vertical-bedlike",right:"vertical-bedlike"}},Rp=(e,t)=>{const n=h0(t);let r=new Set(Object.values(n).flat());for(const i of e){const o=new Set(i);r=new Set([...r].filter(a=>a.datatype.filter(s=>o.has(s)).length>0))}return[...r]},J4=8,p0=8,d0="default",Dp="bounded",Np="overflow",Rs="bounded-overflow",Oa="scroll",NX=Object.freeze(Object.defineProperty({__proto__:null,AVAILABLE_TRACK_TYPES:Rp,DATATYPE_TO_TRACK_TYPE:h0,DEFAULT_CONTAINER_PADDING_X:$4,DEFAULT_CONTAINER_PADDING_Y:j4,DEFAULT_SERVER:u0,DEFAULT_TRACKS_FOR_DATATYPE:Ca,DEFAULT_VIEW_MARGIN:Su,DEFAULT_VIEW_PADDING:Eu,GLOBALS:Ye,HEATED_OBJECT_MAP:Is,LOCATION_LISTENER_PREFIX:Cu,LONG_DRAG_TIMEOUT:xu,MAX_CLICK_DELAY:kX,MIN_HORIZONTAL_HEIGHT:q4,MIN_VERTICAL_WIDTH:U4,MOUSE_TOOL_MOVE:Pp,MOUSE_TOOL_SELECT:Xn,MOUSE_TOOL_TRACK_SELECT:ku,NUM_PRECOMP_SUBSETS_PER_1D_TTILE:J4,NUM_PRECOMP_SUBSETS_PER_2D_TTILE:p0,POSITIONS_BY_DATATYPE:DX,SHORT_DRAG_TIMEOUT:B4,SIZE_MODE_BOUNDED:Dp,SIZE_MODE_BOUNDED_OVERFLOW:Rs,SIZE_MODE_DEFAULT:d0,SIZE_MODE_OVERFLOW:Np,SIZE_MODE_SCROLL:Oa,THEME_DARK:Qt,THEME_DEFAULT:V4,THEME_LIGHT:Ip,TILE_FETCH_DEBOUNCE:c0,TRACKS_INFO:xa,TRACKS_INFO_BY_TYPE:Gt,TRACK_LOCATIONS:Mp,VIEW_HEADER_MED_WIDTH_SEARCH_BAR:H4,VIEW_HEADER_MIN_WIDTH_SEARCH_BAR:F4,ZOOM_DEBOUNCE:Ap,ZOOM_TRANSITION_DURATION:z4},Symbol.toStringTag,{value:"Module"})),eA=e=>{const t=["top","bottom","gallery"],n=["left","right","gallery"];return e.center??=[],e.left??=[],e.right??=[],e.top??=[],e.bottom??=[],e.whole??=[],e.gallery??=[],t.map(r=>e[r]).forEach(r=>(r??[]).forEach(i=>{const o=Gt[i.type],a=o?.defaultOptions||{},s=i.options?{...a,...i.options}:a;s.minHeight!==void 0&&i.height===void 0&&(i.height=s.minHeight),i.height===void 0&&(i.height=o?.defaultHeight||q4)})),n.map(r=>e[r]).forEach(r=>(r??[]).forEach(i=>{const o=Gt[i.type],a=o?.defaultOptions||{},s=i.options?{...a,...i.options}:a;s.minWidth!==void 0&&i.width===void 0&&(i.width=s.minWidth),i.width===void 0&&(i.width=o?.defaultWidth||U4)})),e},tA=(e,t)=>n=>n.reduce(e,t),LX=tA((e,t)=>e.concat(t),[]),$X=e=>t=>Array.prototype.forEach.call(t,e),Lp=(e,t)=>{t.dispatchEvent(D4(e))},jX=(e,t)=>[Tu(e[0],e[1],t),Tu(e[2],e[3],t)];function BX(e,t,n,r,i){const{chr:o,pos:a}=t,{chr:s,pos:c}=n,l=[];if(o===s){const u=o,f=Math.floor(a/r),h=Math.min(f+i,Math.ceil(c/r));l.push([u,f,h])}else{let u=i;const f=e.findIndex(([p])=>p===o),h=e.findIndex(([p])=>p===s);for(let p=f;p<=h;p++){let d,g;const[y,b]=e[p];p<h?(p===f?d=a:d=0,g=b):(d=0,g=c);const m=Math.floor(d/r),v=Math.min(m+u,Math.ceil(g/r));l.push([y,m,v]),u-=v-m}}return l}function zX(e,t){return Ca[e]!==void 0?Ca[e][t]:void 0}const g0=(e,t,n)=>{if(n.length===0)return;if(n.length===1)return n[0];let r=n[0];const i=zX(e,t);return i!==void 0&&(r=n.find(o=>o.type===i)||r),r},m0=e=>(L7.listen(),[e.clientWidth,e.clientHeight]),rn=(e,t)=>{let n=null;const r=i=>(i.uid===t&&(n=i),i.type.substr(0,8)==="combined"&&i.contents.forEach(r),null);return Object.keys(e).map(i=>e[i]).filter(i=>i.filter).reduce((i,o)=>i.concat(o),[]).forEach(r),n},HX=(e,t,n)=>{const i=e.state.views[t];if(!i)return null;let o=null;const a=c=>(c.uid===n&&(o=c),c.type.substr(0,8)==="combined"&&c.contents.forEach(a),null),s=i.tracks;return Object.keys(s).map(c=>s[c]).filter(c=>c.filter).reduce((c,l)=>c.concat(l),[]).forEach(a),o},Ds=(e,t,n)=>{const r=t?e[t]:Object.values(e)[0];if(!r){console.warn(t?`Could't find view with id "${t}"`:"No views available.");return}let i=r.trackRenderer.trackDefObjects[n];return i?i=i.trackObject:Object.values(r.trackRenderer.trackDefObjects).map(o=>o.trackObject).filter(o=>o.childTracks).forEach(o=>{o.createdTracks[n]&&(i=o.createdTracks[n])}),i};function Pu(e){return"contents"in e&&e.type==="combined"}function FX(e){return"deltaY"in e&&"deltaMode"in e}function $p(e){return e!==null&&typeof e=="object"}function jp(e){return $p(e)&&"max_width"in e}function Au(e){return $p(e)&&"resolutions"in e}function qX(e){return $p(e)&&!("error"in e)}const v0=(e,t,n=!0,r=null)=>e.forEach(i=>{n&&Pu(i)&&v0(i.contents,t,n,r),t(i,r)}),oo=(e,t,n=!0)=>{const r=[];for(const[i,o]of Object.entries(e))v0(o,t,n,i),r.push(...o);return r},Mu=(e,t)=>{let n=null;return oo(e,(r,i)=>{r.uid===t&&(n=i)}),n},y0=e=>t=>Array.prototype.map.call(t,e),rA=()=>[window,y0(e=>e.charCodeAt(0))("2.3.3").map(e=>e<=999?`00${e}`.slice(-3):e).join("")],nA=(e,t=1,n=100,r=0,i=0,o=0,a=100)=>{const s=document.createElement("canvas");s.width=t,s.height=n;const c=s.getContext("2d");if(!c)throw new Error("Could not get canvas context");const l=c.createLinearGradient(r,i,o,a);return e.forEach(u=>{l.addColorStop(u.from,u.color)}),c.fillStyle=l,c.fillRect(0,0,t,n),s},iA=(e,t)=>{let n=e;for(;n&&n!==t&&n.tagName!=="HTML";)n=n.parentNode;return n===t},oA=e=>Number.parseInt(e.replace(/^#/,""),16),aA=()=>{};function UX(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function VX(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,WX(r.key),r)}}function GX(e,t,n){return t&&VX(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function WX(e){var t=YX(e,"string");return typeof t=="symbol"?t:t+""}function YX(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}let b0=function(){function e(t){UX(this,e),this.context=t;const{tracks:n,createTrackObject:r}=t;this.childTracks=n.map(r),this.createdTracks={},this.uid=Mt.nice(),this.childTracks.forEach((i,o)=>{this.createdTracks[n[o].uid]=i});for(let i=0;i<this.childTracks.length;i++)this.childTracks[i]||console.error("Empty child track in CombinedTrack:",this)}return GX(e,[{key:"updateContents",value:function(n,r){const i=[],o=new Set;n.forEach(c=>{if(o.add(c.uid),c.uid in this.createdTracks)i.push(this.createdTracks[c.uid]);else{const l=r(c);l.setPosition(this.position),l.setDimensions(this.dimensions),i.push(l),l.zoomed(this._xScale,this._yScale),this.createdTracks[c.uid]=l}}),this.childTracks=i;const a=new Set(Object.keys(this.createdTracks));return[...new Set([...a].filter(c=>!o.has(c)))].forEach(c=>{this.createdTracks[c].remove(),delete this.createdTracks[c]}),this}},{key:"setPosition",value:function(n){this.position=n;for(let r=0;r<this.childTracks.length;r++)this.childTracks[r].setPosition(n)}},{key:"setDimensions",value:function(n){this.dimensions=n;for(let r=0;r<this.childTracks.length;r++)this.childTracks[r].setDimensions(n)}},{key:"zoomed",value:function(n,r,i,o,a,s,c){this._xScale=n,this._yScale=r;for(let l=0;l<this.childTracks.length;l++)this.childTracks[l].zoomed(n,r,i,o,a,s,c)}},{key:"clickOutside",value:function(){for(let n=0;n<this.childTracks.length;n++)this.childTracks[n].clickOutside()}},{key:"click",value:function(...n){for(let r=0;r<this.childTracks.length;r++)this.childTracks[r].click(...n)}},{key:"draw",value:function(){}},{key:"refScalesChanged",value:function(n,r){for(let i=0;i<this.childTracks.length;i++)this.childTracks[i].refScalesChanged(n,r)}},{key:"remove",value:function(){for(let n=0;n<this.childTracks.length;n++)this.childTracks[n].remove()}},{key:"exportSVG",value:function(){const n=document.createElement("g");for(const r of this.childTracks)r.exportSVG&&n.appendChild(r.exportSVG()[0]);return[n,n]}},{key:"rerender",value:function(n){}},{key:"minValue",value:function(n){if(arguments.length===0){const r=this.childTracks.filter(i=>i.minValue).map(i=>i.minValue()).filter(i=>i);return Math.min(...r)}for(const r of this.childTracks)r.minValue&&r.minValue(n)}},{key:"maxValue",value:function(n){if(arguments.length===0){const r=this.childTracks.filter(i=>i.maxValue).map(i=>i.maxValue()).filter(i=>i);return Math.max(...r)}for(const r of this.childTracks)r.maxValue&&r.maxValue(n)}},{key:"respondsToPosition",value:function(n,r){return n>=this.position[0]&&n<=this.dimensions[0]+this.position[0]&&r>=this.position[1]&&r<=this.dimensions[1]+this.position[1]}},{key:"stopHover",value:function(){for(const n of this.childTracks)n.stopHover&&n.stopHover()}},{key:"getMouseOverHtml",value:function(n,r){let i="";for(const o of this.childTracks)if(o.getMouseOverHtml){const a=o.getMouseOverHtml(n,r);a?.length&&(i+=a,i+="<br/>")}return i}},{key:"getMouseOverUids",value:function(n,r){const i=[];for(const o of this.childTracks)if(o.getMouseOverUids){const a=o.getMouseOverUids(n,r);a&&i.push(...a)}return i}}])}();const sA=(e,t)=>t===e?!0:t instanceof b0?Object.keys(t.createdTracks).map(n=>t.createdTracks[n]).some(n=>sA(e,n)):!1,_0=(e,t,n,r,i,o,a=!1)=>a?e>=n&&e<=r||t>=i&&t<=o:e>=n&&e<=r&&t>=i&&t<=o,XX=e=>Math.log(Math.tan((e+Math.PI/2)/2)),KX=(e,t)=>{let n=e*Math.PI/180;return n=XX(n),2**t*(Math.PI-n)/(2*Math.PI)},Bp=e=>y0(t=>e[t])(Object.keys(e)),ZX=e=>Bp(e).map(t=>t.chromInfoPath).forEach(t=>a0.get(t)),QX=(e,t)=>2**t*(e+180)/360,T0=(e,t)=>e>t?e:t,lA=1e-7;function w0(e){let t=Number.MIN_SAFE_INTEGER;for(let n=0;n<e.length;n++){const r=e[n];r<lA&&r>-lA||r>t&&(t=r)}return t}const cA=(e,t)=>e<t?e:t,uA=1e-7;function S0(e){let t=Number.MAX_SAFE_INTEGER;for(let n=0;n<e.length;n++){const r=e[n];r<uA&&r>-uA||r<t&&(t=r)}return t}const JX=(e,t)=>(e%t+t)%t,fA=(e,t)=>{const n=+t;if(!Number.isNaN(n))if(e.dimension===1)for(let i=0;i<e.shape[0];++i)e.set(i,n);else for(let i=0;i<e.shape[0];++i)for(let o=0;o<e.shape[1];++o)e.set(i,o,n);else{const i=e.shape[0],o=e.shape[1],a=t.shape[0],s=t.shape[1];if(i!==a||o!==s){console.warn("Cannot assign source to target ndarray as the dimensions do not match",i,a,o,s);return}if(e.dimension===1)for(let c=0;c<e.shape[0];++c)e.set(c,t.get(c));else for(let c=0;c<e.shape[0];++c)for(let l=0;l<e.shape[1];++l)e.set(c,l,t.get(c,l))}};var E0,hA;function eK(){if(hA)return E0;hA=1;function e(t){for(var n=new Array(t),r=0;r<t;++r)n[r]=r;return n}return E0=e,E0}var k0,pA;function tK(){if(pA)return k0;pA=1,k0=function(n){return n!=null&&(e(n)||t(n)||!!n._isBuffer)};function e(n){return!!n.constructor&&typeof n.constructor.isBuffer=="function"&&n.constructor.isBuffer(n)}function t(n){return typeof n.readFloatLE=="function"&&typeof n.slice=="function"&&e(n.slice(0,0))}return k0}var x0,dA;function rK(){if(dA)return x0;dA=1;var e=eK(),t=tK(),n=typeof Float64Array<"u";function r(l,u){return l[0]-u[0]}function i(){var l=this.stride,u=new Array(l.length),f;for(f=0;f<u.length;++f)u[f]=[Math.abs(l[f]),f];u.sort(r);var h=new Array(u.length);for(f=0;f<h.length;++f)h[f]=u[f][1];return h}function o(l,u){var f=["View",u,"d",l].join("");u<0&&(f="View_Nil"+l);var h=l==="generic";if(u===-1){var p="function "+f+"(a){this.data=a;}; var proto="+f+".prototype; proto.dtype='"+l+"'; proto.index=function(){return -1}; proto.size=0; proto.dimension=-1; proto.shape=proto.stride=proto.order=[]; proto.lo=proto.hi=proto.transpose=proto.step= function(){return new "+f+"(this.data);}; proto.get=proto.set=function(){}; proto.pick=function(){return null}; return function construct_"+f+"(a){return new "+f+"(a);}",k=new Function(p);return k()}else if(u===0){var p="function "+f+"(a,d) { this.data = a; this.offset = d }; var proto="+f+".prototype; proto.dtype='"+l+"'; proto.index=function(){return this.offset}; proto.dimension=0; proto.size=1; proto.shape= proto.stride= proto.order=[]; proto.lo= proto.hi= proto.transpose= proto.step=function "+f+"_copy() { return new "+f+"(this.data,this.offset) }; proto.pick=function "+f+"_pick(){ return TrivialArray(this.data); }; proto.valueOf=proto.get=function "+f+"_get(){ return "+(h?"this.data.get(this.offset)":"this.data[this.offset]")+"}; proto.set=function "+f+"_set(v){ return "+(h?"this.data.set(this.offset,v)":"this.data[this.offset]=v")+" }; return function construct_"+f+"(a,b,c,d){return new "+f+"(a,d)}",k=new Function("TrivialArray",p);return k(s[l][0])}var p=["'use strict'"],d=e(u),g=d.map(function(E){return"i"+E}),y="this.offset+"+d.map(function(E){return"this.stride["+E+"]*i"+E}).join("+"),b=d.map(function(E){return"b"+E}).join(","),m=d.map(function(E){return"c"+E}).join(",");p.push("function "+f+"(a,"+b+","+m+",d){this.data=a","this.shape=["+b+"]","this.stride=["+m+"]","this.offset=d|0}","var proto="+f+".prototype","proto.dtype='"+l+"'","proto.dimension="+u),p.push("Object.defineProperty(proto,'size',{get:function "+f+"_size(){ return "+d.map(function(E){return"this.shape["+E+"]"}).join("*"),"}})"),u===1?p.push("proto.order=[0]"):(p.push("Object.defineProperty(proto,'order',{get:"),u<4?(p.push("function "+f+"_order(){"),u===2?p.push("return (Math.abs(this.stride[0])>Math.abs(this.stride[1]))?[1,0]:[0,1]}})"):u===3&&p.push("var s0=Math.abs(this.stride[0]),s1=Math.abs(this.stride[1]),s2=Math.abs(this.stride[2]); if(s0>s1){ if(s1>s2){ return [2,1,0]; }else if(s0>s2){ return [1,2,0]; }else{ return [1,0,2]; } }else if(s0>s2){ return [2,0,1]; }else if(s2>s1){ return [0,1,2]; }else{ return [0,2,1]; }}})")):p.push("ORDER})")),p.push("proto.set=function "+f+"_set("+g.join(",")+",v){"),h?p.push("return this.data.set("+y+",v)}"):p.push("return this.data["+y+"]=v}"),p.push("proto.get=function "+f+"_get("+g.join(",")+"){"),h?p.push("return this.data.get("+y+")}"):p.push("return this.data["+y+"]}"),p.push("proto.index=function "+f+"_index(",g.join(),"){return "+y+"}"),p.push("proto.hi=function "+f+"_hi("+g.join(",")+"){return new "+f+"(this.data,"+d.map(function(E){return["(typeof i",E,"!=='number'||i",E,"<0)?this.shape[",E,"]:i",E,"|0"].join("")}).join(",")+","+d.map(function(E){return"this.stride["+E+"]"}).join(",")+",this.offset)}");var v=d.map(function(E){return"a"+E+"=this.shape["+E+"]"}),_=d.map(function(E){return"c"+E+"=this.stride["+E+"]"});p.push("proto.lo=function "+f+"_lo("+g.join(",")+"){var b=this.offset,d=0,"+v.join(",")+","+_.join(","));for(var T=0;T<u;++T)p.push("if(typeof i"+T+"==='number'&&i"+T+">=0){ d=i"+T+"|0; b+=c"+T+"*d; a"+T+"-=d}");p.push("return new "+f+"(this.data,"+d.map(function(E){return"a"+E}).join(",")+","+d.map(function(E){return"c"+E}).join(",")+",b)}"),p.push("proto.step=function "+f+"_step("+g.join(",")+"){var "+d.map(function(E){return"a"+E+"=this.shape["+E+"]"}).join(",")+","+d.map(function(E){return"b"+E+"=this.stride["+E+"]"}).join(",")+",c=this.offset,d=0,ceil=Math.ceil");for(var T=0;T<u;++T)p.push("if(typeof i"+T+"==='number'){ d=i"+T+"|0; if(d<0){ c+=b"+T+"*(a"+T+"-1); a"+T+"=ceil(-a"+T+"/d) }else{ a"+T+"=ceil(a"+T+"/d) } b"+T+"*=d }");p.push("return new "+f+"(this.data,"+d.map(function(E){return"a"+E}).join(",")+","+d.map(function(E){return"b"+E}).join(",")+",c)}");for(var w=new Array(u),S=new Array(u),T=0;T<u;++T)w[T]="a[i"+T+"]",S[T]="b[i"+T+"]";p.push("proto.transpose=function "+f+"_transpose("+g+"){"+g.map(function(E,P){return E+"=("+E+"===undefined?"+P+":"+E+"|0)"}).join(";"),"var a=this.shape,b=this.stride;return new "+f+"(this.data,"+w.join(",")+","+S.join(",")+",this.offset)}"),p.push("proto.pick=function "+f+"_pick("+g+"){var a=[],b=[],c=this.offset");for(var T=0;T<u;++T)p.push("if(typeof i"+T+"==='number'&&i"+T+">=0){c=(c+this.stride["+T+"]*i"+T+")|0}else{a.push(this.shape["+T+"]);b.push(this.stride["+T+"])}");p.push("var ctor=CTOR_LIST[a.length+1];return ctor(this.data,a,b,c)}"),p.push("return function construct_"+f+"(data,shape,stride,offset){return new "+f+"(data,"+d.map(function(E){return"shape["+E+"]"}).join(",")+","+d.map(function(E){return"stride["+E+"]"}).join(",")+",offset)}");var k=new Function("CTOR_LIST","ORDER",p.join(`
168
168
  `));return k(s[l],i)}function a(l){if(t(l))return"buffer";if(n)switch(Object.prototype.toString.call(l)){case"[object Float64Array]":return"float64";case"[object Float32Array]":return"float32";case"[object Int8Array]":return"int8";case"[object Int16Array]":return"int16";case"[object Int32Array]":return"int32";case"[object Uint8Array]":return"uint8";case"[object Uint16Array]":return"uint16";case"[object Uint32Array]":return"uint32";case"[object Uint8ClampedArray]":return"uint8_clamped";case"[object BigInt64Array]":return"bigint64";case"[object BigUint64Array]":return"biguint64"}return Array.isArray(l)?"array":"generic"}var s={float32:[],float64:[],int8:[],int16:[],int32:[],uint8:[],uint16:[],uint32:[],array:[],uint8_clamped:[],bigint64:[],biguint64:[],buffer:[],generic:[]};function c(l,u,f,h){if(l===void 0){var m=s.array[0];return m([])}else typeof l=="number"&&(l=[l]);u===void 0&&(u=[l.length]);var p=u.length;if(f===void 0){f=new Array(p);for(var d=p-1,g=1;d>=0;--d)f[d]=g,g*=u[d]}if(h===void 0){h=0;for(var d=0;d<p;++d)f[d]<0&&(h-=(u[d]-1)*f[d])}for(var y=a(l),b=s[y];b.length<=p+1;)b.push(o(y,b.length-1));var m=b[p+1];return m(l,u,f,h)}return x0=c,x0}var nK=rK();const Ns=_n(nK),gA=e=>{const t=e.shape.reduce((r,i)=>r*i,1),n=new Array(t);if(e.dimension===1){let r=0;for(let i=0;i<e.shape[0];++i)n[r]=e.get(i),r++}else{let r=0;for(let i=0;i<e.shape[0];++i)for(let o=0;o<e.shape[1];++o)n[r]=e.get(i,o),r++}return n},mA=e=>e.shape.length===1?e:Ns(gA(e)),vA=e=>{const t=e.split("."),n=t.slice(1).join("").length;return+t.join("")/10**n},Iu=(e,t)=>e||t,zp=e=>{const t=document.createElement("g"),n=document.createElement("text");return e.anchor.x===0?n.setAttribute("text-anchor","start"):e.anchor.x===1?n.setAttribute("text-anchor","end"):n.setAttribute("text-anchor","middle"),n.setAttribute("font-family",e.style.fontFamily?.toString()??""),n.setAttribute("font-size",e.style.fontSize?.toString()??""),t.setAttribute("transform",`scale(${e.scale.x},1)`),n.setAttribute("fill",e.style.fill?.toString()??""),n.innerHTML=e.text,t.appendChild(n),t.setAttribute("transform",`translate(${e.x},${e.y})scale(${e.scale.x},1)`),t},iK=e=>{try{const t=e.split(".");return n=>{let r=n;return t.forEach(i=>{r=r[i]}),r}}catch{return}},oK=(e,t,n,r,i,o,a=0,s=0,c)=>{const l=o?i:r,u=o?r:i,f=o?s:a,h=o?a:s,p=Math.max(0,+l[0]||0),d=Math.max(0,+l[1]||0),g=Math.max(0,+u[0]||0),y=Math.max(0,+u[1]||0);let b=[];ArrayBuffer.isView(c)||console.warn("Not supported yet");try{const m=new c.constructor(c.length);let v=0+h;for(let T=g;T<y;T++)m.set(e.slice(T*t+p,T*t+d),f+v*n),v+=1;const _=o?I4(n,n):void 0;b=R4(c,m,_)}catch{}return b},aK=(e,t,n,r)=>[r.chrPositions[e].pos+ +t,r.chrPositions[e].pos+ +n],sK="http://www.w3.org/2000/svg",lK=(e,t)=>{const n=new RegExp(`(\\s|^)${t}(\\s|$)`);if(e.namespaceURI===sK){const r=e.getAttribute("class")||"";e.setAttribute("class",r.replace(n," "))}else e.classList?e.classList.remove(t):xp(e,t)&&(e.className=e.className.replace(n," "))},Ls=(e,t)=>{e.select(".selection").attr("fill",null).attr("fill-opacity",null).attr("stroke",null).classed(t,!0)},C0=e=>{const t=e.toString(16);return t.length===1?`0${t}`:t},cK=(e,t,n)=>`#${C0(e)}${C0(t)}${C0(n)}`,kr=(e,t)=>{const n=e.invert((e.range()[0]+e.range()[1])/2),r=t.invert((t.range()[0]+t.range()[1])/2),i=e.invert(1)-e.invert(0);return[n,r,i]},yA=(e,t,n)=>{if(n===null||!e||!t)return;const r=e.domain()[0],i=e.domain()[1],o=t.domain()[0],a=t.domain()[1];return[...Cp(r,i,n),...Cp(o,a,n)]},uK=11184810,fK=1,hK=(e,t,n,r,i,o,a,s,c)=>{e.publish("app.animateOnMouseMove",!0);const l=n.mousePositionColor?oA(n.mousePositionColor):uK,u=n.mousePositionAlpha||fK,f=new Ye.PIXI.Graphics,h=()=>{f.clear()},p=(g,y,b)=>{if(b||h(),f.lineStyle(1,l,u),y){const m=s?i()[0]:0;f.moveTo(0,g),f.lineTo(o()[0]+m,g)}else{const m=s?i()[1]:0;f.moveTo(g,0),f.lineTo(g,o()[1]+m)}},d=g=>{if(g.noHoveredTracks)return h(),f;let y,b;g.isFromVerticalTrack?(y=g.dataY,b=g.dataY):(y=g.dataX,b=g.isFrom2dTrack?g.dataY:g.dataX);const m=s?i():[0,0],v=a()?r()[0](b)+m[1]:r()[0](y)+m[0];return p(v),s&&p(r()[1](b)+m[1],!0,!0),f};return t.push(e.subscribe("app.mouseMove",d)),t.push(e.subscribe("app.mouseLeave",h)),t.push(e.subscribe("blur",h)),c&&t.push(fu.subscribe("higlass.mouseMove",d)),f},Bo=(e,t=!1,n=!1)=>{const r=t?e.pMasked:e.pForeground||e.pMain;if(!r)throw new Error("setupShowMousePosition: No scene found. Please make sure to call this method after the scene has been initialized.");const i=()=>[e.xScale(),e.yScale()],o=hK(e.pubSub,e.pubSubs,e.options,i,e.getPosition.bind(e),e.getDimensions.bind(e),e.getProp("flipText"),t,n);return r.addChild(o),()=>{r.removeChild(o)}},pK=e=>t=>Array.prototype.some.call(t,e),zo=(e,t)=>e+t,O0=(e,t,n,r,i,o)=>{const a=document.createElement("line");return a.setAttribute("x1",String(e)),a.setAttribute("x2",String(n)),a.setAttribute("y1",String(t)),a.setAttribute("y2",String(r)),i&&a.setAttribute("stroke-width",String(i)),o&&a.setAttribute("stroke",o),a},bA=(e,t,n)=>{let r,i=0;const o=()=>{r=void 0},a=(...l)=>{const u=()=>{i>0&&(e(...l),i=0)};clearTimeout(r),r=setTimeout(u,n)};a.cancel=()=>{clearTimeout(r),o()},a.immediate=(...l)=>{e(...l)};let s=!1;return(l,...u)=>{s?i++:(e(...u),a(...u),s=!0,i=0,setTimeout(()=>{s=!1},t))}},dK=(e,t=256,n=256)=>{const r=document.createElement("canvas");r.width=t,r.height=n;const i=r.getContext("2d");if(!i)throw new Error("Could not get canvas context");i.fillStyle="transparent",i.fillRect(0,0,r.width,r.height);const o=new ImageData(e,r.width,r.height);return i.putImageData(o,0,0),r},_A=e=>new Promise(t=>{setTimeout(t,e)}),gK=e=>{if(!e.tracks)return 0;let t=0;return e.tracks.top&&(t+=e.tracks.top.map(n=>n.height).reduce((n,r)=>n+r,0)),e.tracks.center&&(t+=e.tracks.center.map(n=>n.height).reduce((n,r)=>n+r,0)),e.tracks.bottom&&(t+=e.tracks.bottom.map(n=>n.height).reduce((n,r)=>n+r,0)),t},Hp=()=>{},Fp=e=>(e||"").replace(/\/$/,""),P0=(e,t,n=0,r=1e-6)=>i=>{let o=255;return i>r&&(o=Math.max(0,Math.min(255,Math.floor(e(i+n))))),t[o]},qp=e=>{let t=[];for(const n of e)Pu(n)?t=t.concat(n.contents):t.push(n);return t};function mK(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,vK(r.key),r)}}function TA(e,t,n){return t&&mK(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function vK(e){var t=yK(e,"string");return typeof t=="symbol"?t:t+""}function yK(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function wA(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}let SA=TA(function e(t,n,r,i){wA(this,e),this.interval=[t,n],this.max=Number.NEGATIVE_INFINITY,this.parentNode=null,this.left=r??null,this.right=i??null}),EA=function(){function e(){wA(this,e),this.root=null}return TA(e,[{key:"add",value:function(n){if(!this.root){this.root=new SA(n[0],n[1]),this.root.max=n[1];return}A0(this.root,n)}},{key:"contains",value:function(n){return xA(n,this.root)}},{key:"intersects",value:function(n){return CA(n,this.root)}},{key:"height",value:function(){return M0(this.root)}},{key:"findMax",value:function(n){const r=[n];let i,o=Number.NEGATIVE_INFINITY,a;for(;r.length;)i=r.pop(),i?.left&&r.push(i.left),i?.right&&r.push(i.right),i?.interval[1]>o&&(o=i.interval[1],a=i);return a??null}},{key:"_removeHelper",value:function(n,r){if(r)if(r.interval[0]===n[0]&&r.interval[1]===n[1]){if(r.left&&r.right){let o=r.left;for(;o.left;)o=o.left;const a=o.interval;o.interval=r.interval,r.interval=a,this._removeHelper(o.interval,r)}else{let o="left";r.right&&(o="right");const a=r.parentNode;a?(a.left===r?a.left=r[o]:a.right=r[o],r[o]&&(r[o].parentNode=a)):(this.root=r[o],this.root&&(this.root.parentNode=null))}const i=r.parentNode;if(i){let o=this.findMax(i);const a=o?.interval[1]??Number.NEGATIVE_INFINITY;for(;o;)o.max===r.interval[1]?(o.max=a,o=o.parentNode):o=null}}else this._removeHelper(n,r.left),this._removeHelper(n,r.right)}},{key:"remove",value:function(n){return this._removeHelper(n,this.root)}}])}();function kA(e,t,n){let r=new SA(n[0],n[1]);if(r.max=n[1],r.parentNode=e,e[t]=r,e.max<n[1])for(;r;)r.max<n[1]&&(r.max=n[1]),r=r.parentNode}function A0(e,t){e.interval[0]>t[0]?e.left?A0(e.left,t):kA(e,"left",t):e.right?A0(e.right,t):kA(e,"right",t)}function xA(e,t){if(!t)return!1;if(t.interval[0]<=e&&t.interval[1]>=e)return!0;let n=!1,r;return["left","right"].forEach(i=>{r=t[i],r&&r.max>e&&(n=n||xA(e,r))}),n}function bK(e,t){return e[0]===t[0]&&e[1]===t[1]||e[0]<t[0]&&e[1]>t[0]||e[0]<t[1]&&e[1]>t[1]||t[0]<e[0]&&t[1]>e[0]||t[0]<e[1]&&t[1]>e[1]}function CA(e,t){if(!t)return!1;if(bK(t.interval,e))return!0;let n=!1,r;return["left","right"].forEach(i=>{r=t[i],r&&r.max>=e[0]&&(n=n||CA(e,r))}),n}function M0(e){return e?1+Math.max(M0(e.left),M0(e.right)):0}function Up(e){e.sort((r,i)=>i.to-i.from-(r.to-r.from));const t=[[]],n=[new EA];for(let r=0;r<e.length;r++){let i=!1;for(let o=0;o<t.length;o++){const a=n[o],s=[+e[r].from,+e[r].to];if(!a.intersects(s)){a.add(s),t[o].push(e[r]),i=!0;break}}if(!i){const o=new EA;o.add([e[r].from,e[r].to]),t.push([e[r]]),n.push(o)}}return t}function _K(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function TK(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,SK(r.key),r)}}function wK(e,t,n){return t&&TK(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function SK(e){var t=EK(e,"string");return typeof t=="symbol"?t:t+""}function EK(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}let Ru=function(){function e(t){_K(this,e),this.epsilon=1e-6,this.data=t,this.tileSize=this.data.length,this.paddedTileSize=2**Math.ceil(Math.log2(this.tileSize)),this.numSubsets=Math.min(J4,this.paddedTileSize),this.subsetSize=this.paddedTileSize/this.numSubsets,this.subsetMinimums=this.computeSubsetNonZeroMinimums(),this.subsetMaximums=this.computeSubsetNonZeroMaximums(),this.minNonZeroInTile=this.getMinNonZeroInTile(),this.maxNonZeroInTile=this.getMaxNonZeroInTile()}return wK(e,[{key:"getMinNonZeroInSubset",value:function(n){const r=n[0],i=n[1];let o=Number.MAX_SAFE_INTEGER;if(r===0&&i===this.tileSize)return this.minNonZeroInTile;const a=Math.ceil(r/this.subsetSize),s=Math.floor((i-1)/this.subsetSize);return a>=s?this.minNonZero(this.data,r,i):(r<a*this.subsetSize&&(o=Math.min(o,this.minNonZero(this.data,r,a*this.subsetSize))),o=Math.min(o,this.minNonZero(this.subsetMinimums,a,s)),i>s*this.subsetSize&&(o=Math.min(o,this.minNonZero(this.data,s*this.subsetSize,i))),o)}},{key:"getMaxNonZeroInSubset",value:function(n){const r=n[0],i=n[1];let o=Number.MIN_SAFE_INTEGER;if(r===0&&i===this.tileSize)return this.maxNonZeroInTile;const a=Math.ceil(r/this.subsetSize),s=Math.floor((i-1)/this.subsetSize);return a>=s?this.maxNonZero(this.data,r,i):(r<a*this.subsetSize&&(o=Math.max(o,this.maxNonZero(this.data,r,a*this.subsetSize))),o=Math.max(o,this.maxNonZero(this.subsetMaximums,a,s)),i>s*this.subsetSize&&(o=Math.max(o,this.maxNonZero(this.data,s*this.subsetSize,i))),o)}},{key:"computeSubsetNonZeroMinimums",value:function(){const n=[];for(let r=0;r<this.numSubsets;r++){let i=Number.MAX_SAFE_INTEGER;for(let o=0;o<this.subsetSize;o++){const a=this.data[r*this.subsetSize+o];a!==void 0&&(a<this.epsilon&&a>-this.epsilon||a<i&&(i=a))}n.push(i)}return n}},{key:"computeSubsetNonZeroMaximums",value:function(){const n=[];for(let r=0;r<this.numSubsets;r++){let i=Number.MIN_SAFE_INTEGER;for(let o=0;o<this.subsetSize;o++){const a=this.data[r*this.subsetSize+o];a!==void 0&&(a<this.epsilon&&a>-this.epsilon||a>i&&(i=a))}n.push(i)}return n}},{key:"getMinNonZeroInTile",value:function(){return Math.min(...this.subsetMinimums)}},{key:"getMaxNonZeroInTile",value:function(){return Math.max(...this.subsetMaximums)}},{key:"minNonZero",value:function(n,r,i){let o=Number.MAX_SAFE_INTEGER;for(let a=r;a<i;a++){const s=n[a];s<this.epsilon&&s>-this.epsilon||s<o&&(o=s)}return o}},{key:"maxNonZero",value:function(n,r,i){let o=Number.MIN_SAFE_INTEGER;for(let a=r;a<i;a++){const s=n[a];s<this.epsilon&&s>-this.epsilon||s>o&&(o=s)}return o}}])}();function kK(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function xK(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,OK(r.key),r)}}function CK(e,t,n){return t&&xK(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function OK(e){var t=PK(e,"string");return typeof t=="symbol"?t:t+""}function PK(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}let I0=function(){function e(t){kK(this,e),this.epsilon=1e-6,this.tileSize=Math.sqrt(t.length),Number.isSafeInteger(this.tileSize)||console.error("The DenseDataExtrema2D module only works for data of quadratic length."),this.numSubsets=Math.min(p0,this.tileSize),this.subsetSize=this.tileSize/this.numSubsets;const n=Ns(Array.from(t),[this.tileSize,this.tileSize]);this.subsetMinimums=this.computeSubsetNonZeroMinimums(n),this.subsetMaximums=this.computeSubsetNonZeroMaximums(n),this.minNonZeroInTile=this.getMinNonZeroInTile(),this.maxNonZeroInTile=this.getMaxNonZeroInTile()}return CK(e,[{key:"getMinNonZeroInSubset",value:function(n){const r=n[0],i=n[1],o=n[2],a=n[3],s=Math.floor(i/this.subsetSize),c=Math.floor(r/this.subsetSize),l=Math.ceil((a+1)/this.subsetSize)-s,u=Math.ceil((o+1)/this.subsetSize)-c;return this.getMinNonZeroInNdarraySubset(this.subsetMinimums,s,c,u,l)}},{key:"getMaxNonZeroInSubset",value:function(n){const r=n[0],i=n[1],o=n[2],a=n[3],s=Math.floor(i/this.subsetSize),c=Math.floor(r/this.subsetSize),l=Math.ceil((a+1)/this.subsetSize)-s,u=Math.ceil((o+1)/this.subsetSize)-c;return this.getMaxNonZeroInNdarraySubset(this.subsetMaximums,s,c,u,l)}},{key:"computeSubsetNonZeroMinimums",value:function(n){const r=Ns(new Array(this.numSubsets**2),[this.numSubsets,this.numSubsets]);for(let i=0;i<this.numSubsets;i++)for(let o=0;o<this.numSubsets;o++){const a=this.getMinNonZeroInNdarraySubset(n,i*this.subsetSize,o*this.subsetSize,this.subsetSize,this.subsetSize);r.set(i,o,a)}return r}},{key:"computeSubsetNonZeroMaximums",value:function(n){const r=Ns(new Array(this.numSubsets**2),[this.numSubsets,this.numSubsets]);for(let i=0;i<this.numSubsets;i++)for(let o=0;o<this.numSubsets;o++){const a=this.getMaxNonZeroInNdarraySubset(n,i*this.subsetSize,o*this.subsetSize,this.subsetSize,this.subsetSize);r.set(i,o,a)}return r}},{key:"getMinNonZeroInNdarraySubset",value:function(n,r,i,o,a){let s=Number.MAX_SAFE_INTEGER;for(let c=0;c<o;c++)for(let l=0;l<a;l++){const u=n.get(r+l,i+c);u<this.epsilon&&u>-this.epsilon||u<s&&(s=u)}return s}},{key:"getMaxNonZeroInNdarraySubset",value:function(n,r,i,o,a){let s=Number.MIN_SAFE_INTEGER;for(let c=0;c<o;c++)for(let l=0;l<a;l++){const u=n.get(r+l,i+c);u<this.epsilon&&u>-this.epsilon||u>s&&(s=u)}return s}},{key:"mirrorPrecomputedExtrema",value:function(){for(let n=1;n<this.numSubsets;n++)for(let r=0;r<n;r++)this.subsetMinimums.set(r,n,this.subsetMinimums.get(n,r)),this.subsetMaximums.set(r,n,this.subsetMaximums.get(n,r))}},{key:"getMinNonZeroInTile",value:function(){return this.getMinNonZeroInNdarraySubset(this.subsetMinimums,0,0,this.numSubsets,this.numSubsets)}},{key:"getMaxNonZeroInTile",value:function(){return this.getMaxNonZeroInNdarraySubset(this.subsetMaximums,0,0,this.numSubsets,this.numSubsets)}}])}();const R0=e=>{let t;switch(e&&e.toLowerCase()){case"mean":t=Nm;break;case"sum":t=kC;break;case"variance":t=Em;break;case"deviation":t=km;break;default:t=Nm,console.warn("Encountered an unsupported selectedRowsAggregationMode option.")}return t},Du=(e,t)=>e.reduce((n,r)=>n+(Array.isArray(r)&&t?r.length:1),0),$s=e=>{switch(e.type){case"heatmap":case"horizontal-1d-heatmap":case"horizontal-bar":case"horizontal-line":case"horizontal-point":case"vertical-1d-heatmap":case"vertical-bar":case"vertical-line":case"vertical-point":case"horizontal-1d-tiles":case"vertical-1d-tiles":case"2d-tiles":case"horizontal-gene-annotations":case"vertical-gene-annotations":case"horizontal-heatmap":case"vertical-heatmap":case"osm-tiles":case"mapbox-tiles":case"horizontal-multivec":return!0;case"combined":return e.contents.map(n=>$s(n)).reduce(Iu,!1);default:return!1}};function OA(e,t){if(window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(i=>{Gt[i]=window.higlassTracksByType[i].config}),!(e in Ca)&&!t){console.warn("unknown data type:",e);return}const n={"1d-horizontal":["top","bottom","left","right"],"2d":["center"],"1d-vertical":["left","right"]},r=Ca[e]||{};if(t)for(const i of t)if(!Gt[i])console.warn("unknown track type",i);else for(const o of n[Gt[i].orientation])r[o]=i;return r}const PA=10,Zn=e=>e.options?.collapsed?PA:e.height,Qn=e=>e.options?.collapsed?PA:e.width,Vp=(e,t,n)=>{let r=t,i;return n?i=n:(i=t,r=Object.values(e.state.views)[0].uid),e.tiledPlots[r]?.trackRenderer?.getTrackObject(i)},AA=(e,t)=>e.tiledPlots[t]?.trackRenderer,AK=(e,t)=>e.tiledPlots[t];var D0={},N0,MA;function IA(){if(MA)return N0;MA=1;var e=Object.prototype.toString;return N0=function(n){var r=e.call(n),i=r==="[object Arguments]";return i||(i=r!=="[object Array]"&&n!==null&&typeof n=="object"&&typeof n.length=="number"&&n.length>=0&&e.call(n.callee)==="[object Function]"),i},N0}var L0,RA;function MK(){if(RA)return L0;RA=1;var e;if(!Object.keys){var t=Object.prototype.hasOwnProperty,n=Object.prototype.toString,r=IA(),i=Object.prototype.propertyIsEnumerable,o=!i.call({toString:null},"toString"),a=i.call(function(){},"prototype"),s=["toString","toLocaleString","valueOf","hasOwnProperty","isPrototypeOf","propertyIsEnumerable","constructor"],c=function(h){var p=h.constructor;return p&&p.prototype===h},l={$applicationCache:!0,$console:!0,$external:!0,$frame:!0,$frameElement:!0,$frames:!0,$innerHeight:!0,$innerWidth:!0,$onmozfullscreenchange:!0,$onmozfullscreenerror:!0,$outerHeight:!0,$outerWidth:!0,$pageXOffset:!0,$pageYOffset:!0,$parent:!0,$scrollLeft:!0,$scrollTop:!0,$scrollX:!0,$scrollY:!0,$self:!0,$webkitIndexedDB:!0,$webkitStorageInfo:!0,$window:!0},u=function(){if(typeof window>"u")return!1;for(var h in window)try{if(!l["$"+h]&&t.call(window,h)&&window[h]!==null&&typeof window[h]=="object")try{c(window[h])}catch{return!0}}catch{return!0}return!1}(),f=function(h){if(typeof window>"u"||!u)return c(h);try{return c(h)}catch{return!1}};e=function(p){var d=p!==null&&typeof p=="object",g=n.call(p)==="[object Function]",y=r(p),b=d&&n.call(p)==="[object String]",m=[];if(!d&&!g&&!y)throw new TypeError("Object.keys called on a non-object");var v=a&&g;if(b&&p.length>0&&!t.call(p,0))for(var _=0;_<p.length;++_)m.push(String(_));if(y&&p.length>0)for(var T=0;T<p.length;++T)m.push(String(T));else for(var w in p)!(v&&w==="prototype")&&t.call(p,w)&&m.push(String(w));if(o)for(var S=f(p),k=0;k<s.length;++k)!(S&&s[k]==="constructor")&&t.call(p,s[k])&&m.push(s[k]);return m}}return L0=e,L0}var $0,DA;function NA(){if(DA)return $0;DA=1;var e=Array.prototype.slice,t=IA(),n=Object.keys,r=n?function(a){return n(a)}:MK(),i=Object.keys;return r.shim=function(){if(Object.keys){var a=function(){var s=Object.keys(arguments);return s&&s.length===arguments.length}(1,2);a||(Object.keys=function(c){return t(c)?i(e.call(c)):i(c)})}else Object.keys=r;return Object.keys||r},$0=r,$0}var j0,LA;function Nu(){if(LA)return j0;LA=1;var e=Object.defineProperty||!1;if(e)try{e({},"a",{value:1})}catch{e=!1}return j0=e,j0}var B0,$A;function Gp(){return $A||($A=1,B0=SyntaxError),B0}var z0,jA;function Kt(){return jA||(jA=1,z0=TypeError),z0}var H0,BA;function IK(){return BA||(BA=1,H0=Object.getOwnPropertyDescriptor),H0}var F0,zA;function Pa(){if(zA)return F0;zA=1;var e=IK();if(e)try{e([],"length")}catch{e=null}return F0=e,F0}var q0,HA;function U0(){if(HA)return q0;HA=1;var e=Nu(),t=Gp(),n=Kt(),r=Pa();return q0=function(o,a,s){if(!o||typeof o!="object"&&typeof o!="function")throw new n("`obj` must be an object or a function`");if(typeof a!="string"&&typeof a!="symbol")throw new n("`property` must be a string or a symbol`");if(arguments.length>3&&typeof arguments[3]!="boolean"&&arguments[3]!==null)throw new n("`nonEnumerable`, if provided, must be a boolean or null");if(arguments.length>4&&typeof arguments[4]!="boolean"&&arguments[4]!==null)throw new n("`nonWritable`, if provided, must be a boolean or null");if(arguments.length>5&&typeof arguments[5]!="boolean"&&arguments[5]!==null)throw new n("`nonConfigurable`, if provided, must be a boolean or null");if(arguments.length>6&&typeof arguments[6]!="boolean")throw new n("`loose`, if provided, must be a boolean");var c=arguments.length>3?arguments[3]:null,l=arguments.length>4?arguments[4]:null,u=arguments.length>5?arguments[5]:null,f=arguments.length>6?arguments[6]:!1,h=!!r&&r(o,a);if(e)e(o,a,{configurable:u===null&&h?h.configurable:!u,enumerable:c===null&&h?h.enumerable:!c,value:s,writable:l===null&&h?h.writable:!l});else if(f||!c&&!l&&!u)o[a]=s;else throw new t("This environment does not support defining a property as non-configurable, non-writable, or non-enumerable.")},q0}var V0,FA;function Wp(){if(FA)return V0;FA=1;var e=Nu(),t=function(){return!!e};return t.hasArrayLengthDefineBug=function(){if(!e)return null;try{return e([],"length",{value:1}).length!==1}catch{return!0}},V0=t,V0}var G0,qA;function nn(){if(qA)return G0;qA=1;var e=NA(),t=typeof Symbol=="function"&&typeof Symbol("foo")=="symbol",n=Object.prototype.toString,r=Array.prototype.concat,i=U0(),o=function(l){return typeof l=="function"&&n.call(l)==="[object Function]"},a=Wp()(),s=function(l,u,f,h){if(u in l){if(h===!0){if(l[u]===f)return}else if(!o(h)||!h())return}a?i(l,u,f,!0):i(l,u,f)},c=function(l,u){var f=arguments.length>2?arguments[2]:{},h=e(u);t&&(h=r.call(h,Object.getOwnPropertySymbols(u)));for(var p=0;p<h.length;p+=1)s(l,h[p],u[h[p]],f[h[p]])};return c.supportsDescriptors=!!a,G0=c,G0}var W0={exports:{}},Y0,UA;function js(){return UA||(UA=1,Y0=Object),Y0}var X0,VA;function RK(){return VA||(VA=1,X0=Error),X0}var K0,GA;function DK(){return GA||(GA=1,K0=EvalError),K0}var Z0,WA;function YA(){return WA||(WA=1,Z0=RangeError),Z0}var Q0,XA;function NK(){return XA||(XA=1,Q0=ReferenceError),Q0}var J0,KA;function LK(){return KA||(KA=1,J0=URIError),J0}var ey,ZA;function QA(){return ZA||(ZA=1,ey=Math.abs),ey}var ty,JA;function ry(){return JA||(JA=1,ty=Math.floor),ty}var ny,e8;function $K(){return e8||(e8=1,ny=Math.max),ny}var iy,t8;function jK(){return t8||(t8=1,iy=Math.min),iy}var oy,r8;function BK(){return r8||(r8=1,oy=Math.pow),oy}var ay,n8;function zK(){return n8||(n8=1,ay=Math.round),ay}var sy,i8;function Lu(){return i8||(i8=1,sy=Number.isNaN||function(t){return t!==t}),sy}var ly,o8;function HK(){if(o8)return ly;o8=1;var e=Lu();return ly=function(n){return e(n)||n===0?n:n<0?-1:1},ly}var cy,a8;function uy(){return a8||(a8=1,cy=function(){if(typeof Symbol!="function"||typeof Object.getOwnPropertySymbols!="function")return!1;if(typeof Symbol.iterator=="symbol")return!0;var t={},n=Symbol("test"),r=Object(n);if(typeof n=="string"||Object.prototype.toString.call(n)!=="[object Symbol]"||Object.prototype.toString.call(r)!=="[object Symbol]")return!1;var i=42;t[n]=i;for(var o in t)return!1;if(typeof Object.keys=="function"&&Object.keys(t).length!==0||typeof Object.getOwnPropertyNames=="function"&&Object.getOwnPropertyNames(t).length!==0)return!1;var a=Object.getOwnPropertySymbols(t);if(a.length!==1||a[0]!==n||!Object.prototype.propertyIsEnumerable.call(t,n))return!1;if(typeof Object.getOwnPropertyDescriptor=="function"){var s=Object.getOwnPropertyDescriptor(t,n);if(s.value!==i||s.enumerable!==!0)return!1}return!0}),cy}var fy,s8;function l8(){if(s8)return fy;s8=1;var e=typeof Symbol<"u"&&Symbol,t=uy();return fy=function(){return typeof e!="function"||typeof Symbol!="function"||typeof e("foo")!="symbol"||typeof Symbol("bar")!="symbol"?!1:t()},fy}var hy,c8;function u8(){return c8||(c8=1,hy=typeof Reflect<"u"&&Reflect.getPrototypeOf||null),hy}var py,f8;function h8(){if(f8)return py;f8=1;var e=js();return py=e.getPrototypeOf||null,py}var dy,p8;function FK(){if(p8)return dy;p8=1;var e="Function.prototype.bind called on incompatible ",t=Object.prototype.toString,n=Math.max,r="[object Function]",i=function(c,l){for(var u=[],f=0;f<c.length;f+=1)u[f]=c[f];for(var h=0;h<l.length;h+=1)u[h+c.length]=l[h];return u},o=function(c,l){for(var u=[],f=l,h=0;f<c.length;f+=1,h+=1)u[h]=c[f];return u},a=function(s,c){for(var l="",u=0;u<s.length;u+=1)l+=s[u],u+1<s.length&&(l+=c);return l};return dy=function(c){var l=this;if(typeof l!="function"||t.apply(l)!==r)throw new TypeError(e+l);for(var u=o(arguments,1),f,h=function(){if(this instanceof f){var b=l.apply(this,i(u,arguments));return Object(b)===b?b:this}return l.apply(c,i(u,arguments))},p=n(0,l.length-u.length),d=[],g=0;g<p;g++)d[g]="$"+g;if(f=Function("binder","return function ("+a(d,",")+"){ return binder.apply(this,arguments); }")(h),l.prototype){var y=function(){};y.prototype=l.prototype,f.prototype=new y,y.prototype=null}return f},dy}var gy,d8;function $u(){if(d8)return gy;d8=1;var e=FK();return gy=Function.prototype.bind||e,gy}var my,g8;function vy(){return g8||(g8=1,my=Function.prototype.call),my}var yy,m8;function by(){return m8||(m8=1,yy=Function.prototype.apply),yy}var _y,v8;function qK(){return v8||(v8=1,_y=typeof Reflect<"u"&&Reflect&&Reflect.apply),_y}var Ty,y8;function b8(){if(y8)return Ty;y8=1;var e=$u(),t=by(),n=vy(),r=qK();return Ty=r||e.call(n,t),Ty}var wy,_8;function Yp(){if(_8)return wy;_8=1;var e=$u(),t=Kt(),n=vy(),r=b8();return wy=function(o){if(o.length<1||typeof o[0]!="function")throw new t("a function is required");return r(e,n,o)},wy}var Sy,T8;function UK(){if(T8)return Sy;T8=1;var e=Yp(),t=Pa(),n;try{n=[].__proto__===Array.prototype}catch(a){if(!a||typeof a!="object"||!("code"in a)||a.code!=="ERR_PROTO_ACCESS")throw a}var r=!!n&&t&&t(Object.prototype,"__proto__"),i=Object,o=i.getPrototypeOf;return Sy=r&&typeof r.get=="function"?e([r.get]):typeof o=="function"?function(s){return o(s==null?s:i(s))}:!1,Sy}var Ey,w8;function VK(){if(w8)return Ey;w8=1;var e=u8(),t=h8(),n=UK();return Ey=e?function(i){return e(i)}:t?function(i){if(!i||typeof i!="object"&&typeof i!="function")throw new TypeError("getProto: not an object");return t(i)}:n?function(i){return n(i)}:null,Ey}var ky,S8;function ao(){if(S8)return ky;S8=1;var e=Function.prototype.call,t=Object.prototype.hasOwnProperty,n=$u();return ky=n.call(e,t),ky}var xy,E8;function Jn(){if(E8)return xy;E8=1;var e,t=js(),n=RK(),r=DK(),i=YA(),o=NK(),a=Gp(),s=Kt(),c=LK(),l=QA(),u=ry(),f=$K(),h=jK(),p=BK(),d=zK(),g=HK(),y=Function,b=function(ce){try{return y('"use strict"; return ('+ce+").constructor;")()}catch{}},m=Pa(),v=Nu(),_=function(){throw new s},T=m?function(){try{return arguments.callee,_}catch{try{return m(arguments,"callee").get}catch{return _}}}():_,w=l8()(),S=VK(),k=h8(),E=u8(),P=by(),C=vy(),I={},O=typeof Uint8Array>"u"||!S?e:S(Uint8Array),M={__proto__:null,"%AggregateError%":typeof AggregateError>"u"?e:AggregateError,"%Array%":Array,"%ArrayBuffer%":typeof ArrayBuffer>"u"?e:ArrayBuffer,"%ArrayIteratorPrototype%":w&&S?S([][Symbol.iterator]()):e,"%AsyncFromSyncIteratorPrototype%":e,"%AsyncFunction%":I,"%AsyncGenerator%":I,"%AsyncGeneratorFunction%":I,"%AsyncIteratorPrototype%":I,"%Atomics%":typeof Atomics>"u"?e:Atomics,"%BigInt%":typeof BigInt>"u"?e:BigInt,"%BigInt64Array%":typeof BigInt64Array>"u"?e:BigInt64Array,"%BigUint64Array%":typeof BigUint64Array>"u"?e:BigUint64Array,"%Boolean%":Boolean,"%DataView%":typeof DataView>"u"?e:DataView,"%Date%":Date,"%decodeURI%":decodeURI,"%decodeURIComponent%":decodeURIComponent,"%encodeURI%":encodeURI,"%encodeURIComponent%":encodeURIComponent,"%Error%":n,"%eval%":eval,"%EvalError%":r,"%Float16Array%":typeof Float16Array>"u"?e:Float16Array,"%Float32Array%":typeof Float32Array>"u"?e:Float32Array,"%Float64Array%":typeof Float64Array>"u"?e:Float64Array,"%FinalizationRegistry%":typeof FinalizationRegistry>"u"?e:FinalizationRegistry,"%Function%":y,"%GeneratorFunction%":I,"%Int8Array%":typeof Int8Array>"u"?e:Int8Array,"%Int16Array%":typeof Int16Array>"u"?e:Int16Array,"%Int32Array%":typeof Int32Array>"u"?e:Int32Array,"%isFinite%":isFinite,"%isNaN%":isNaN,"%IteratorPrototype%":w&&S?S(S([][Symbol.iterator]())):e,"%JSON%":typeof JSON=="object"?JSON:e,"%Map%":typeof Map>"u"?e:Map,"%MapIteratorPrototype%":typeof Map>"u"||!w||!S?e:S(new Map()[Symbol.iterator]()),"%Math%":Math,"%Number%":Number,"%Object%":t,"%Object.getOwnPropertyDescriptor%":m,"%parseFloat%":parseFloat,"%parseInt%":parseInt,"%Promise%":typeof Promise>"u"?e:Promise,"%Proxy%":typeof Proxy>"u"?e:Proxy,"%RangeError%":i,"%ReferenceError%":o,"%Reflect%":typeof Reflect>"u"?e:Reflect,"%RegExp%":RegExp,"%Set%":typeof Set>"u"?e:Set,"%SetIteratorPrototype%":typeof Set>"u"||!w||!S?e:S(new Set()[Symbol.iterator]()),"%SharedArrayBuffer%":typeof SharedArrayBuffer>"u"?e:SharedArrayBuffer,"%String%":String,"%StringIteratorPrototype%":w&&S?S(""[Symbol.iterator]()):e,"%Symbol%":w?Symbol:e,"%SyntaxError%":a,"%ThrowTypeError%":T,"%TypedArray%":O,"%TypeError%":s,"%Uint8Array%":typeof Uint8Array>"u"?e:Uint8Array,"%Uint8ClampedArray%":typeof Uint8ClampedArray>"u"?e:Uint8ClampedArray,"%Uint16Array%":typeof Uint16Array>"u"?e:Uint16Array,"%Uint32Array%":typeof Uint32Array>"u"?e:Uint32Array,"%URIError%":c,"%WeakMap%":typeof WeakMap>"u"?e:WeakMap,"%WeakRef%":typeof WeakRef>"u"?e:WeakRef,"%WeakSet%":typeof WeakSet>"u"?e:WeakSet,"%Function.prototype.call%":C,"%Function.prototype.apply%":P,"%Object.defineProperty%":v,"%Object.getPrototypeOf%":k,"%Math.abs%":l,"%Math.floor%":u,"%Math.max%":f,"%Math.min%":h,"%Math.pow%":p,"%Math.round%":d,"%Math.sign%":g,"%Reflect.getPrototypeOf%":E};if(S)try{null.error}catch(ce){var R=S(S(ce));M["%Error.prototype%"]=R}var z=function ce(le){var me;if(le==="%AsyncFunction%")me=b("async function () {}");else if(le==="%GeneratorFunction%")me=b("function* () {}");else if(le==="%AsyncGeneratorFunction%")me=b("async function* () {}");else if(le==="%AsyncGenerator%"){var ye=ce("%AsyncGeneratorFunction%");ye&&(me=ye.prototype)}else if(le==="%AsyncIteratorPrototype%"){var Oe=ce("%AsyncGenerator%");Oe&&S&&(me=S(Oe.prototype))}return M[le]=me,me},U={__proto__:null,"%ArrayBufferPrototype%":["ArrayBuffer","prototype"],"%ArrayPrototype%":["Array","prototype"],"%ArrayProto_entries%":["Array","prototype","entries"],"%ArrayProto_forEach%":["Array","prototype","forEach"],"%ArrayProto_keys%":["Array","prototype","keys"],"%ArrayProto_values%":["Array","prototype","values"],"%AsyncFunctionPrototype%":["AsyncFunction","prototype"],"%AsyncGenerator%":["AsyncGeneratorFunction","prototype"],"%AsyncGeneratorPrototype%":["AsyncGeneratorFunction","prototype","prototype"],"%BooleanPrototype%":["Boolean","prototype"],"%DataViewPrototype%":["DataView","prototype"],"%DatePrototype%":["Date","prototype"],"%ErrorPrototype%":["Error","prototype"],"%EvalErrorPrototype%":["EvalError","prototype"],"%Float32ArrayPrototype%":["Float32Array","prototype"],"%Float64ArrayPrototype%":["Float64Array","prototype"],"%FunctionPrototype%":["Function","prototype"],"%Generator%":["GeneratorFunction","prototype"],"%GeneratorPrototype%":["GeneratorFunction","prototype","prototype"],"%Int8ArrayPrototype%":["Int8Array","prototype"],"%Int16ArrayPrototype%":["Int16Array","prototype"],"%Int32ArrayPrototype%":["Int32Array","prototype"],"%JSONParse%":["JSON","parse"],"%JSONStringify%":["JSON","stringify"],"%MapPrototype%":["Map","prototype"],"%NumberPrototype%":["Number","prototype"],"%ObjectPrototype%":["Object","prototype"],"%ObjProto_toString%":["Object","prototype","toString"],"%ObjProto_valueOf%":["Object","prototype","valueOf"],"%PromisePrototype%":["Promise","prototype"],"%PromiseProto_then%":["Promise","prototype","then"],"%Promise_all%":["Promise","all"],"%Promise_reject%":["Promise","reject"],"%Promise_resolve%":["Promise","resolve"],"%RangeErrorPrototype%":["RangeError","prototype"],"%ReferenceErrorPrototype%":["ReferenceError","prototype"],"%RegExpPrototype%":["RegExp","prototype"],"%SetPrototype%":["Set","prototype"],"%SharedArrayBufferPrototype%":["SharedArrayBuffer","prototype"],"%StringPrototype%":["String","prototype"],"%SymbolPrototype%":["Symbol","prototype"],"%SyntaxErrorPrototype%":["SyntaxError","prototype"],"%TypedArrayPrototype%":["TypedArray","prototype"],"%TypeErrorPrototype%":["TypeError","prototype"],"%Uint8ArrayPrototype%":["Uint8Array","prototype"],"%Uint8ClampedArrayPrototype%":["Uint8ClampedArray","prototype"],"%Uint16ArrayPrototype%":["Uint16Array","prototype"],"%Uint32ArrayPrototype%":["Uint32Array","prototype"],"%URIErrorPrototype%":["URIError","prototype"],"%WeakMapPrototype%":["WeakMap","prototype"],"%WeakSetPrototype%":["WeakSet","prototype"]},j=$u(),H=ao(),W=j.call(C,Array.prototype.concat),re=j.call(P,Array.prototype.splice),Y=j.call(C,String.prototype.replace),F=j.call(C,String.prototype.slice),L=j.call(C,RegExp.prototype.exec),K=/[^%.[\]]+|\[(?:(-?\d+(?:\.\d+)?)|(["'])((?:(?!\2)[^\\]|\\.)*?)\2)\]|(?=(?:\.|\[\])(?:\.|\[\]|%$))/g,G=/\\(\\)?/g,te=function(le){var me=F(le,0,1),ye=F(le,-1);if(me==="%"&&ye!=="%")throw new a("invalid intrinsic syntax, expected closing `%`");if(ye==="%"&&me!=="%")throw new a("invalid intrinsic syntax, expected opening `%`");var Oe=[];return Y(le,K,function(Re,Fe,$e,Ie){Oe[Oe.length]=$e?Y(Ie,G,"$1"):Fe||Re}),Oe},de=function(le,me){var ye=le,Oe;if(H(U,ye)&&(Oe=U[ye],ye="%"+Oe[0]+"%"),H(M,ye)){var Re=M[ye];if(Re===I&&(Re=z(ye)),typeof Re>"u"&&!me)throw new s("intrinsic "+le+" exists, but is not available. Please file an issue!");return{alias:Oe,name:ye,value:Re}}throw new a("intrinsic "+le+" does not exist!")};return xy=function(le,me){if(typeof le!="string"||le.length===0)throw new s("intrinsic name must be a non-empty string");if(arguments.length>1&&typeof me!="boolean")throw new s('"allowMissing" argument must be a boolean');if(L(/^%?[^%]*%?$/,le)===null)throw new a("`%` may not be present anywhere but at the beginning and end of the intrinsic name");var ye=te(le),Oe=ye.length>0?ye[0]:"",Re=de("%"+Oe+"%",me),Fe=Re.name,$e=Re.value,Ie=!1,xe=Re.alias;xe&&(Oe=xe[0],re(ye,W([0,1],xe)));for(var Me=1,Be=!0;Me<ye.length;Me+=1){var De=ye[Me],qe=F(De,0,1),pe=F(De,-1);if((qe==='"'||qe==="'"||qe==="`"||pe==='"'||pe==="'"||pe==="`")&&qe!==pe)throw new a("property names with quotes must have matching quotes");if((De==="constructor"||!Be)&&(Ie=!0),Oe+="."+De,Fe="%"+Oe+"%",H(M,Fe))$e=M[Fe];else if($e!=null){if(!(De in $e)){if(!me)throw new s("base intrinsic for "+le+" exists, but the property is not available.");return}if(m&&Me+1>=ye.length){var ie=m($e,De);Be=!!ie,Be&&"get"in ie&&!("originalValue"in ie.get)?$e=ie.get:$e=$e[De]}else Be=H($e,De),$e=$e[De];Be&&!Ie&&(M[Fe]=$e)}}return $e},xy}var Cy,k8;function GK(){if(k8)return Cy;k8=1;var e=Jn(),t=U0(),n=Wp()(),r=Pa(),i=Kt(),o=e("%Math.floor%");return Cy=function(s,c){if(typeof s!="function")throw new i("`fn` is not a function");if(typeof c!="number"||c<0||c>4294967295||o(c)!==c)throw new i("`length` must be a positive 32-bit integer");var l=arguments.length>2&&!!arguments[2],u=!0,f=!0;if("length"in s&&r){var h=r(s,"length");h&&!h.configurable&&(u=!1),h&&!h.writable&&(f=!1)}return(u||f||!l)&&(n?t(s,"length",c,!0,!0):t(s,"length",c)),s},Cy}var Oy,x8;function WK(){if(x8)return Oy;x8=1;var e=$u(),t=by(),n=b8();return Oy=function(){return n(e,t,arguments)},Oy}var C8;function so(){return C8||(C8=1,function(e){var t=GK(),n=Nu(),r=Yp(),i=WK();e.exports=function(a){var s=r(arguments),c=a.length-(arguments.length-1);return t(s,1+(c>0?c:0),!0)},n?n(e.exports,"apply",{value:i}):e.exports.apply=i}(W0)),W0.exports}var Py,O8;function Yr(){if(O8)return Py;O8=1;var e=Jn(),t=Yp(),n=t([e("%String.prototype.indexOf%")]);return Py=function(i,o){var a=e(i,!!o);return typeof a=="function"&&n(i,".prototype.")>-1?t([a]):a},Py}var Ay,P8;function A8(){if(P8)return Ay;P8=1;var e=NA(),t=uy()(),n=Yr(),r=js(),i=n("Array.prototype.push"),o=n("Object.prototype.propertyIsEnumerable"),a=t?r.getOwnPropertySymbols:null;return Ay=function(c,l){if(c==null)throw new TypeError("target must be an object");var u=r(c);if(arguments.length===1)return u;for(var f=1;f<arguments.length;++f){var h=r(arguments[f]),p=e(h),d=t&&(r.getOwnPropertySymbols||a);if(d)for(var g=d(h),y=0;y<g.length;++y){var b=g[y];o(h,b)&&i(p,b)}for(var m=0;m<p.length;++m){var v=p[m];if(o(h,v)){var _=h[v];u[v]=_}}}return u},Ay}var My,M8;function I8(){if(M8)return My;M8=1;var e=A8(),t=function(){if(!Object.assign)return!1;for(var r="abcdefghijklmnopqrst",i=r.split(""),o={},a=0;a<i.length;++a)o[i[a]]=i[a];var s=Object.assign({},o),c="";for(var l in s)c+=l;return r!==c},n=function(){if(!Object.assign||!Object.preventExtensions)return!1;var r=Object.preventExtensions({1:2});try{Object.assign(r,"xy")}catch{return r[1]==="y"}return!1};return My=function(){return!Object.assign||t()||n()?e:Object.assign},My}var Iy,R8;function YK(){if(R8)return Iy;R8=1;var e=nn(),t=I8();return Iy=function(){var r=t();return e(Object,{assign:r},{assign:function(){return Object.assign!==r}}),r},Iy}var Ry,D8;function Bs(){if(D8)return Ry;D8=1;var e=nn(),t=so(),n=A8(),r=I8(),i=YK(),o=t.apply(r()),a=function(c,l){return o(Object,arguments)};return e(a,{getPolyfill:r,implementation:n,shim:i}),Ry=a,Ry}var Dy,N8;function L8(){if(N8)return Dy;N8=1;var e=Lu();return Dy=function(n){return(typeof n=="number"||typeof n=="bigint")&&!e(n)&&n!==1/0&&n!==-1/0},Dy}var Ny,$8;function j8(){if($8)return Ny;$8=1;var e=QA(),t=ry(),n=Lu(),r=L8();return Ny=function(o){if(typeof o!="number"||n(o)||!r(o))return!1;var a=e(o);return t(a)===a},Ny}var Ly,B8;function Ri(){return B8||(B8=1,Ly=function(t){return!!t&&(typeof t=="function"||typeof t=="object")}),Ly}var $y,z8;function XK(){return z8||(z8=1,$y=4294967295),$y}var jy,H8;function KK(){return H8||(H8=1,jy=typeof Reflect<"u"&&Reflect.setPrototypeOf||null),jy}var By,F8;function ZK(){if(F8)return By;F8=1;var e=js();return By=e.setPrototypeOf||null,By}var zy,q8;function QK(){if(q8)return zy;q8=1;var e=Yp(),t=Pa(),n=Kt(),r={};try{r.__proto__=null}catch(a){if(!a||typeof a!="object"||!("code"in a)||a.code!=="ERR_PROTO_ACCESS")throw a}var i=!("toString"in r),o=t&&t(Object.prototype,"__proto__");return zy=i&&(!!o&&typeof o.set=="function"&&e([o.set])||function(s,c){if(s==null)throw new n("set Object.prototype.__proto__ called on null or undefined");return s.__proto__=c,c}),zy}var Hy,U8;function JK(){if(U8)return Hy;U8=1;var e=KK(),t=ZK(),n=QK(),r=Kt();return Hy=e?function(o,a){if(e(o,a))return o;throw new r("Reflect.setPrototypeOf: failed to set [[Prototype]]")}:t||(n?function(o,a){return n(o,a),o}:null),Hy}var Fy,V8;function eZ(){if(V8)return Fy;V8=1;var e=Jn(),t=e("%Array.prototype%"),n=YA(),r=Gp(),i=Kt(),o=j8(),a=XK(),s=JK();return Fy=function(l){if(!o(l)||l<0)throw new i("Assertion failed: `length` must be an integer Number >= 0");if(l>a)throw new n("length is greater than (2**32 - 1)");var u=arguments.length>1?arguments[1]:t,f=[];if(u!==t){if(!s)throw new r("ArrayCreate: a `proto` argument that is not `Array.prototype` is not supported in an environment that does not support setting the [[Prototype]]");s(f,u)}return l!==0&&(f.length=l),f},Fy}const tZ=Zi(Object.freeze(Object.defineProperty({__proto__:null,default:{}},Symbol.toStringTag,{value:"Module"})));var qy,G8;function W8(){if(G8)return qy;G8=1;var e=typeof Map=="function"&&Map.prototype,t=Object.getOwnPropertyDescriptor&&e?Object.getOwnPropertyDescriptor(Map.prototype,"size"):null,n=e&&t&&typeof t.get=="function"?t.get:null,r=e&&Map.prototype.forEach,i=typeof Set=="function"&&Set.prototype,o=Object.getOwnPropertyDescriptor&&i?Object.getOwnPropertyDescriptor(Set.prototype,"size"):null,a=i&&o&&typeof o.get=="function"?o.get:null,s=i&&Set.prototype.forEach,c=typeof WeakMap=="function"&&WeakMap.prototype,l=c?WeakMap.prototype.has:null,u=typeof WeakSet=="function"&&WeakSet.prototype,f=u?WeakSet.prototype.has:null,h=typeof WeakRef=="function"&&WeakRef.prototype,p=h?WeakRef.prototype.deref:null,d=Boolean.prototype.valueOf,g=Object.prototype.toString,y=Function.prototype.toString,b=String.prototype.match,m=String.prototype.slice,v=String.prototype.replace,_=String.prototype.toUpperCase,T=String.prototype.toLowerCase,w=RegExp.prototype.test,S=Array.prototype.concat,k=Array.prototype.join,E=Array.prototype.slice,P=Math.floor,C=typeof BigInt=="function"?BigInt.prototype.valueOf:null,I=Object.getOwnPropertySymbols,O=typeof Symbol=="function"&&typeof Symbol.iterator=="symbol"?Symbol.prototype.toString:null,M=typeof Symbol=="function"&&typeof Symbol.iterator=="object",R=typeof Symbol=="function"&&Symbol.toStringTag&&(typeof Symbol.toStringTag===M||!0)?Symbol.toStringTag:null,z=Object.prototype.propertyIsEnumerable,U=(typeof Reflect=="function"?Reflect.getPrototypeOf:Object.getPrototypeOf)||([].__proto__===Array.prototype?function(Ee){return Ee.__proto__}:null);function j(Ee,_e){if(Ee===1/0||Ee===-1/0||Ee!==Ee||Ee&&Ee>-1e3&&Ee<1e3||w.call(/e/,_e))return _e;var Je=/[0-9](?=(?:[0-9]{3})+(?![0-9]))/g;if(typeof Ee=="number"){var X=Ee<0?-P(-Ee):P(Ee);if(X!==Ee){var N=String(X),$=m.call(_e,N.length+1);return v.call(N,Je,"$&_")+"."+v.call(v.call($,/([0-9]{3})/g,"$&_"),/_$/,"")}}return v.call(_e,Je,"$&_")}var H=tZ,W=H.custom,re=Re(W)?W:null,Y={__proto__:null,double:'"',single:"'"},F={__proto__:null,double:/(["\\])/g,single:/(['\\])/g};qy=function Ee(_e,Je,X,N){var $=Je||{};if(Ie($,"quoteStyle")&&!Ie(Y,$.quoteStyle))throw new TypeError('option "quoteStyle" must be "single" or "double"');if(Ie($,"maxStringLength")&&(typeof $.maxStringLength=="number"?$.maxStringLength<0&&$.maxStringLength!==1/0:$.maxStringLength!==null))throw new TypeError('option "maxStringLength", if provided, must be a positive integer, Infinity, or `null`');var ne=Ie($,"customInspect")?$.customInspect:!0;if(typeof ne!="boolean"&&ne!=="symbol")throw new TypeError("option \"customInspect\", if provided, must be `true`, `false`, or `'symbol'`");if(Ie($,"indent")&&$.indent!==null&&$.indent!==" "&&!(parseInt($.indent,10)===$.indent&&$.indent>0))throw new TypeError('option "indent" must be "\\t", an integer > 0, or `null`');if(Ie($,"numericSeparator")&&typeof $.numericSeparator!="boolean")throw new TypeError('option "numericSeparator", if provided, must be `true` or `false`');var he=$.numericSeparator;if(typeof _e>"u")return"undefined";if(_e===null)return"null";if(typeof _e=="boolean")return _e?"true":"false";if(typeof _e=="string")return ae(_e,$);if(typeof _e=="number"){if(_e===0)return 1/0/_e>0?"0":"-0";var J=String(_e);return he?j(_e,J):J}if(typeof _e=="bigint"){var ee=String(_e)+"n";return he?j(_e,ee):ee}var be=typeof $.depth>"u"?5:$.depth;if(typeof X>"u"&&(X=0),X>=be&&be>0&&typeof _e=="object")return te(_e)?"[Array]":"[Object]";var ve=Qe($,X);if(typeof N>"u")N=[];else if(Be(N,_e)>=0)return"[Circular]";function je(vt,kt,pt){if(kt&&(N=E.call(N),N.push(kt)),pt){var lt={depth:$.depth};return Ie($,"quoteStyle")&&(lt.quoteStyle=$.quoteStyle),Ee(vt,lt,X+1,N)}return Ee(vt,$,X+1,N)}if(typeof _e=="function"&&!ce(_e)){var Xe=Me(_e),Ge=nt(_e,je);return"[Function"+(Xe?": "+Xe:" (anonymous)")+"]"+(Ge.length>0?" { "+k.call(Ge,", ")+" }":"")}if(Re(_e)){var Ne=M?v.call(String(_e),/^(Symbol\(.*\))_[^)]*$/,"$1"):O.call(_e);return typeof _e=="object"&&!M?ke(Ne):Ne}if(ge(_e)){for(var we="<"+T.call(String(_e.nodeName)),Ae=_e.attributes||[],Q=0;Q<Ae.length;Q++)we+=" "+Ae[Q].name+"="+L(K(Ae[Q].value),"double",$);return we+=">",_e.childNodes&&_e.childNodes.length&&(we+="..."),we+="</"+T.call(String(_e.nodeName))+">",we}if(te(_e)){if(_e.length===0)return"[]";var Z=nt(_e,je);return ve&&!Ve(Z)?"["+et(Z,ve)+"]":"[ "+k.call(Z,", ")+" ]"}if(le(_e)){var se=nt(_e,je);return!("cause"in Error.prototype)&&"cause"in _e&&!z.call(_e,"cause")?"{ ["+String(_e)+"] "+k.call(S.call("[cause]: "+je(_e.cause),se),", ")+" }":se.length===0?"["+String(_e)+"]":"{ ["+String(_e)+"] "+k.call(se,", ")+" }"}if(typeof _e=="object"&&ne){if(re&&typeof _e[re]=="function"&&H)return H(_e,{depth:be-X});if(ne!=="symbol"&&typeof _e.inspect=="function")return _e.inspect()}if(De(_e)){var Te=[];return r&&r.call(_e,function(vt,kt){Te.push(je(kt,_e,!0)+" => "+je(vt,_e))}),ze("Map",n.call(_e),Te,ve)}if(ie(_e)){var Se=[];return s&&s.call(_e,function(vt){Se.push(je(vt,_e))}),ze("Set",a.call(_e),Se,ve)}if(qe(_e))return Pe("WeakMap");if(oe(_e))return Pe("WeakSet");if(pe(_e))return Pe("WeakRef");if(ye(_e))return ke(je(Number(_e)));if(Fe(_e))return ke(je(C.call(_e)));if(Oe(_e))return ke(d.call(_e));if(me(_e))return ke(je(String(_e)));if(typeof window<"u"&&_e===window)return"{ [object Window] }";if(typeof globalThis<"u"&&_e===globalThis||typeof globalThis<"u"&&_e===globalThis)return"{ [object globalThis] }";if(!de(_e)&&!ce(_e)){var Ue=nt(_e,je),He=U?U(_e)===Object.prototype:_e instanceof Object||_e.constructor===Object,rt=_e instanceof Object?"":"null prototype",tt=!He&&R&&Object(_e)===_e&&R in _e?m.call(xe(_e),8,-1):rt?"Object":"",dt=He||typeof _e.constructor!="function"?"":_e.constructor.name?_e.constructor.name+" ":"",ot=dt+(tt||rt?"["+k.call(S.call([],tt||[],rt||[]),": ")+"] ":"");return Ue.length===0?ot+"{}":ve?ot+"{"+et(Ue,ve)+"}":ot+"{ "+k.call(Ue,", ")+" }"}return String(_e)};function L(Ee,_e,Je){var X=Je.quoteStyle||_e,N=Y[X];return N+Ee+N}function K(Ee){return v.call(String(Ee),/"/g,"&quot;")}function G(Ee){return!R||!(typeof Ee=="object"&&(R in Ee||typeof Ee[R]<"u"))}function te(Ee){return xe(Ee)==="[object Array]"&&G(Ee)}function de(Ee){return xe(Ee)==="[object Date]"&&G(Ee)}function ce(Ee){return xe(Ee)==="[object RegExp]"&&G(Ee)}function le(Ee){return xe(Ee)==="[object Error]"&&G(Ee)}function me(Ee){return xe(Ee)==="[object String]"&&G(Ee)}function ye(Ee){return xe(Ee)==="[object Number]"&&G(Ee)}function Oe(Ee){return xe(Ee)==="[object Boolean]"&&G(Ee)}function Re(Ee){if(M)return Ee&&typeof Ee=="object"&&Ee instanceof Symbol;if(typeof Ee=="symbol")return!0;if(!Ee||typeof Ee!="object"||!O)return!1;try{return O.call(Ee),!0}catch{}return!1}function Fe(Ee){if(!Ee||typeof Ee!="object"||!C)return!1;try{return C.call(Ee),!0}catch{}return!1}var $e=Object.prototype.hasOwnProperty||function(Ee){return Ee in this};function Ie(Ee,_e){return $e.call(Ee,_e)}function xe(Ee){return g.call(Ee)}function Me(Ee){if(Ee.name)return Ee.name;var _e=b.call(y.call(Ee),/^function\s*([\w$]+)/);return _e?_e[1]:null}function Be(Ee,_e){if(Ee.indexOf)return Ee.indexOf(_e);for(var Je=0,X=Ee.length;Je<X;Je++)if(Ee[Je]===_e)return Je;return-1}function De(Ee){if(!n||!Ee||typeof Ee!="object")return!1;try{n.call(Ee);try{a.call(Ee)}catch{return!0}return Ee instanceof Map}catch{}return!1}function qe(Ee){if(!l||!Ee||typeof Ee!="object")return!1;try{l.call(Ee,l);try{f.call(Ee,f)}catch{return!0}return Ee instanceof WeakMap}catch{}return!1}function pe(Ee){if(!p||!Ee||typeof Ee!="object")return!1;try{return p.call(Ee),!0}catch{}return!1}function ie(Ee){if(!a||!Ee||typeof Ee!="object")return!1;try{a.call(Ee);try{n.call(Ee)}catch{return!0}return Ee instanceof Set}catch{}return!1}function oe(Ee){if(!f||!Ee||typeof Ee!="object")return!1;try{f.call(Ee,f);try{l.call(Ee,l)}catch{return!0}return Ee instanceof WeakSet}catch{}return!1}function ge(Ee){return!Ee||typeof Ee!="object"?!1:typeof HTMLElement<"u"&&Ee instanceof HTMLElement?!0:typeof Ee.nodeName=="string"&&typeof Ee.getAttribute=="function"}function ae(Ee,_e){if(Ee.length>_e.maxStringLength){var Je=Ee.length-_e.maxStringLength,X="... "+Je+" more character"+(Je>1?"s":"");return ae(m.call(Ee,0,_e.maxStringLength),_e)+X}var N=F[_e.quoteStyle||"single"];N.lastIndex=0;var $=v.call(v.call(Ee,N,"\\$1"),/[\x00-\x1f]/g,fe);return L($,"single",_e)}function fe(Ee){var _e=Ee.charCodeAt(0),Je={8:"b",9:"t",10:"n",12:"f",13:"r"}[_e];return Je?"\\"+Je:"\\x"+(_e<16?"0":"")+_.call(_e.toString(16))}function ke(Ee){return"Object("+Ee+")"}function Pe(Ee){return Ee+" { ? }"}function ze(Ee,_e,Je,X){var N=X?et(Je,X):k.call(Je,", ");return Ee+" ("+_e+") {"+N+"}"}function Ve(Ee){for(var _e=0;_e<Ee.length;_e++)if(Be(Ee[_e],`
169
169
  `)>=0)return!1;return!0}function Qe(Ee,_e){var Je;if(Ee.indent===" ")Je=" ";else if(typeof Ee.indent=="number"&&Ee.indent>0)Je=k.call(Array(Ee.indent+1)," ");else return null;return{base:Je,prev:k.call(Array(_e+1),Je)}}function et(Ee,_e){if(Ee.length===0)return"";var Je=`
170
170
  `+_e.prev+_e.base;return Je+k.call(Ee,","+Je)+`
@@ -297,7 +297,7 @@ ${o}`:o,"");if(this.errorText.text=r,this.errorText.alpha=.8,r?.length){const i=
297
297
  \r]`),n=e.charCodeAt(0);function r(f,h){var p,d,g=i(f,function(y,b){if(p)return p(y,b-1);d=y,p=h?c9e(y,h):kz(y)});return g.columns=d||[],g}function i(f,h){var p=[],d=f.length,g=0,y=0,b,m=d<=0,v=!1;f.charCodeAt(d-1)===kh&&--d,f.charCodeAt(d-1)===kk&&--d;function _(){if(m)return Sk;if(v)return v=!1,Ez;var w,S=g,k;if(f.charCodeAt(S)===Ek){for(;g++<d&&f.charCodeAt(g)!==Ek||f.charCodeAt(++g)===Ek;);return(w=g)>=d?m=!0:(k=f.charCodeAt(g++))===kh?v=!0:k===kk&&(v=!0,f.charCodeAt(g)===kh&&++g),f.slice(S+1,w-1).replace(/""/g,'"')}for(;g<d;){if((k=f.charCodeAt(w=g++))===kh)v=!0;else if(k===kk)v=!0,f.charCodeAt(g)===kh&&++g;else if(k!==n)continue;return f.slice(S,w)}return m=!0,f.slice(S,d)}for(;(b=_())!==Sk;){for(var T=[];b!==Ez&&b!==Sk;)T.push(b),b=_();h&&(T=h(T,y++))==null||p.push(T)}return p}function o(f,h){return f.map(function(p){return h.map(function(d){return u(p[d])}).join(e)})}function a(f,h){return h==null&&(h=xz(f)),[h.map(u).join(e)].concat(o(f,h)).join(`
298
298
  `)}function s(f,h){return h==null&&(h=xz(f)),o(f,h).join(`
299
299
  `)}function c(f){return f.map(l).join(`
300
- `)}function l(f){return f.map(u).join(e)}function u(f){return f==null?"":f instanceof Date?f9e(f):t.test(f+="")?'"'+f.replace(/"/g,'""')+'"':f}return{parse:r,parseRows:i,format:a,formatBody:s,formatRows:c,formatRow:l,formatValue:u}}var h9e=Cz(","),p9e=h9e.parse,d9e=Cz(" "),g9e=d9e.parse;function Oz(e,t){return function(n,r,i){arguments.length<3&&(i=r,r=null);var o=wk(n).mimeType(e);return o.row=function(a){return arguments.length?o.response(m9e(t,r=a)):r},o.row(r),i?o.get(i):o}}function m9e(e,t){return function(n){return e(n.responseText,t)}}const v9e=Oz("text/csv",p9e),y9e=Oz("text/tab-separated-values",g9e),b9e=Object.freeze(Object.defineProperty({__proto__:null,csv:v9e,html:o9e,json:a9e,request:wk,text:s9e,tsv:y9e,xml:l9e},Symbol.toStringTag,{value:"Module"}));function _9e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function T9e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,S9e(r.key),r)}}function w9e(e,t,n){return t&&T9e(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function S9e(e){var t=E9e(e,"string");return typeof t=="symbol"?t:t+""}function E9e(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function k9e(e,t,n){return t=im(t),x9e(e,Pz()?Reflect.construct(t,n||[],im(e).constructor):t.apply(e,n))}function x9e(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return C9e(e)}function C9e(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Pz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Pz=function(){return!!e})()}function im(e){return im=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},im(e)}function O9e(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&xk(e,t)}function xk(e,t){return xk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},xk(e,t)}const om={pointerEvents:"all"};let Az=function(e){function t(){return _9e(this,t),k9e(this,t,arguments)}return O9e(t,e),w9e(t,[{key:"getControls",value:function(r){return x.createElement(Qd,{expandCollapseAvailable:!0,dragHandleProps:this.props.dragHandleProps,imgStyleAdd:om,imgStyleClose:om,imgStyleMove:om,imgStyleSettings:om,isAlignLeft:this.props.controlAlignLeft,isCollapsed:this.props.isCollapsed,isMoveable:this.moveable,isVertical:!0,isVisible:r,onAddSeries:this.props.onAddSeries,onCollapseTrack:this.props.onCollapseTrack,onExpandTrack:this.props.onExpandTrack,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:this.props.uid})}}])}(Y1);function P9e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function A9e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,I9e(r.key),r)}}function M9e(e,t,n){return t&&A9e(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function I9e(e){var t=R9e(e,"string");return typeof t=="symbol"?t:t+""}function R9e(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function D9e(e,t,n){return t=Fc(t),N9e(e,Mz()?Reflect.construct(t,n||[],Fc(e).constructor):t.apply(e,n))}function N9e(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return L9e(e)}function L9e(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Mz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Mz=function(){return!!e})()}function $9e(e,t,n,r){var i=Ck(Fc(e.prototype),t,n);return typeof i=="function"?function(o){return i.apply(n,o)}:i}function Ck(){return Ck=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=j9e(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},Ck.apply(null,arguments)}function j9e(e,t){for(;!{}.hasOwnProperty.call(e,t)&&(e=Fc(e))!==null;);return e}function Fc(e){return Fc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Fc(e)}function B9e(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ok(e,t)}function Ok(e,t){return Ok=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Ok(e,t)}let z9e=function(e){function t(n,r){var i;P9e(this,t),i=D9e(this,t,[n,r]);const{registerViewportChanged:o,removeViewportChanged:a}=n,s=Mt.nice();return i.uid=s,i.removeViewportChanged=a,i.viewportXDomain=null,i.viewportYDomain=null,o(s,i.viewportChanged.bind(i)),i}return B9e(t,e),M9e(t,[{key:"viewportChanged",value:function(r,i){const o=r.domain(),a=i.domain();this.viewportXDomain=o,this.viewportYDomain=a,this.draw()}},{key:"draw",value:function(){const r=this.pMain;if(!this.viewportXDomain||!this.viewportYDomain)return;r.clear(),r.lineStyle(1,255,1),r.beginFill(16740363,1);const i=this._xScale(this.viewportXDomain[0]),o=this._yScale(this.viewportYDomain[0]),a=this._xScale(this.viewportXDomain[1])-this._xScale(this.viewportXDomain[0]),s=this._yScale(this.viewportYDomain[1])-this._yScale(this.viewportYDomain[0]);this.pMain.drawRect(i,o,a,s)}},{key:"zoomed",value:function(r,i){this.xScale(r),this.yScale(i),this.draw()}},{key:"setPosition",value:function(r){$9e(t,"setPosition",this)([r]),this.pMain.position.y=this.position[1],this.pMain.position.x=this.position[0],this.draw()}}])}(Bn);function Iz(e){this.size=0,this.limit=e,this._keymap={}}function H9e(e,t){const n={key:e,value:t};if(this._keymap[e]=n,this.tail?(this.tail.newer=n,n.older=this.tail):this.head=n,this.tail=n,this.size===this.limit)return this.shift();this.size+=1}function F9e(){const e=this.head;return e&&(this.head.newer?(this.head=this.head.newer,this.head.older=void 0):(this.head=void 0,this.tail=void 0),e.newer=void 0,e.older=void 0,delete this._keymap[e.key],this.size-=1),e}function q9e(e,t){const n=this._keymap[e];if(n!==void 0)return n===this.tail||(n.newer&&(n===this.head&&(this.head=n.newer),n.newer.older=n.older),n.older&&(n.older.newer=n.newer),n.newer=void 0,n.older=this.tail,this.tail&&(this.tail.newer=n),this.tail=n),t?n:n.value}function U9e(e){return this._keymap[e]}function V9e(e,t){const n=this.get(e,!0);let r;return n?(r=n.value,n.value=t):(r=this.put(e,t),r&&(r=r.value)),r}function G9e(e){const t=this._keymap[e];if(t)return delete this._keymap[t.key],t.newer&&t.older?(t.older.newer=t.newer,t.newer.older=t.older):t.newer?(t.newer.older=void 0,this.head=t.newer):t.older?(t.older.newer=void 0,this.tail=t.older):(this.head=void 0,this.tail=void 0),this.size-=1,t.value}function W9e(){this.head=void 0,this.tail=void 0,this.size=0,this._keymap={}}function Y9e(){return Object.keys(this._keymap)}function X9e(e,t,n){let r;if(t===!0?(n=!0,t=void 0):typeof t!="object"&&(t=this),n)for(r=this.tail;r;)e.call(t,r.key,r.value,this),r=r.older;else for(r=this.head;r;)e.call(t,r.key,r.value,this),r=r.newer}function K9e(){const e=[];let t=this.head;for(;t;)e.push({key:t.key.toJSON(),value:t.value.toJSON()}),t=t.newer;return e}function Z9e(){let e="",t=this.head;for(;t;)e+=`${String(t.key)}:${t.value}`,t=t.newer,t&&(e+=" < ");return e}Object.assign(Iz.prototype,{put:H9e,get:q9e,find:U9e,keys:Y9e,set:V9e,shift:F9e,remove:G9e,removeAll:W9e,forEach:X9e,toJSON:K9e,toString:Z9e});const Pk="2.3.2",Rz={...NX,IS_TRACK_RANGE_SELECTABLE:$s,OPTIONS_INFO:zi},Q9e={d3Array:pq,d3Axis:W0e,d3Brush:Rne,d3Color:Cq,d3Drag:hJ,d3Dsv:cX,d3Format:tU,d3Geo:J5e,d3Queue:Ate,d3Request:b9e,d3Scale:AV,d3Selection:fW,d3Transition:xee,d3Zoom:Ree,PIXI:Rz.GLOBALS.PIXI,mix:ul,slugid:Mt},am={chromosomes:{ChromosomeInfo:yo,SearchField:iw},libraries:Q9e,tracks:{Annotations1dTrack:K$,Annotations2dTrack:Q$,ArrowheadDomainsTrack:tj,BarTrack:m5,BedLikeTrack:WE,CNVIntervalTrack:nj,Chromosome2DAnnotations:gj,Chromosome2DLabels:vj,ChromosomeGrid:th,CombinedTrack:b0,CrossRule:Yj,DivergentBarTrack:B$,HeatmapTiledPixiTrack:Ql,Horizontal1dHeatmapTrack:H$,Horizontal2DDomainsTrack:hj,HorizontalChromosomeLabels:Tj,HorizontalGeneAnnotationsTrack:B5,HorizontalHeatmapTrack:xj,HorizontalLine1DPixiTrack:ac,HorizontalMultivecTrack:U$,HorizontalPoint1DPixiTrack:G$,HorizontalRule:tB,HorizontalTiled1DPixiTrack:Yl,HorizontalTiledPlot:eg,HorizontalTrack:yL,Id2DTiledPixiTrack:g$,IdHorizontal1DTiledPixiTrack:v$,IdVertical1DTiledPixiTrack:T$,LeftAxisTrack:O$,MapboxTilesTrack:iB,MoveableTrack:Y1,OSMTileIdsTrack:aB,OSMTilesTrack:ih,OverlayTrack:M$,PixiTrack:Bn,RasterTilesTrack:lB,SVGTrack:ko,SquareMarkersTrack:Ej,Tiled1DPixiTrack:zE,TiledPixiTrack:Si,TopAxisTrack:D$,Track:Ja,ValueIntervalTrack:Aj,VerticalRule:Vj,VerticalTiled1DPixiTrack:b$,VerticalTrack:Az,ViewportTracker2D:Ij,ViewportTracker2DPixi:z9e,ViewportTrackerHorizontal:c9,ViewportTrackerVertical:Nj},dataFetchers:{DataFetcher:Xf,GBKDataFetcher:KL,LocalDataFetcher:ZL,getDataFetcher:zEe},factories:{ContextMenuItem:xt,DataFetcher:Xf,LruCache:Iz},services:fte,utils:Kee,configs:Rz,VERSION:Pk},Ak={"track-renderer":"_track-renderer_11dwb_1","track-renderer-element":"_track-renderer-element_11dwb_5","track-renderer-events":"_track-renderer-events_11dwb_6"};function J9e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eke(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,rke(r.key),r)}}function tke(e,t,n){return t&&eke(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function rke(e){var t=nke(e,"string");return typeof t=="symbol"?t:t+""}function nke(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function ike(e,t,n){return t=sm(t),oke(e,Dz()?Reflect.construct(t,n||[],sm(e).constructor):t.apply(e,n))}function oke(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ake(e)}function ake(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Dz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Dz=function(){return!!e})()}function sm(e){return sm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},sm(e)}function ske(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Mk(e,t)}function Mk(e,t){return Mk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Mk(e,t)}const{getDataFetcher:lke}=am.dataFetchers,cke=100;let Ik=function(e){function t(n){var r;if(J9e(this,t),r=ike(this,t,[n]),r.dragging=!1,r.element=null,r.eventTracker=null,r.eventTrackerOld=null,r.closing=!1,r.yPositionOffset=0,r.xPositionOffset=0,r.scrollTop=0,r.scrollTimeout=null,r.activeTransitions=0,r.zoomTransform=Ar,r.windowScrolledBound=r.windowScrolled.bind(r),r.zoomStartedBound=r.zoomStarted.bind(r),r.zoomedBound=r.zoomed.bind(r),r.zoomEndedBound=r.zoomEnded.bind(r),r.uid=Mt.nice(),r.viewUid=r.props.uid,r.availableForPlugins={...am,services:{...am.services,pubSub:r.props.pubSub,pixiRenderer:r.props.pixiRenderer}},r.mounted=!1,r.emptyZoomBehavior=UT(),r.currentProps=n,r.prevPropsStr="",r.zoomBehavior=UT().filter(i=>!(i.target.classList.contains("no-zoom")||i.target.classList.contains("react-resizable-handle"))).on("start",r.zoomStartedBound).on("zoom",r.zoomedBound).on("end",r.zoomEndedBound),r.zoomTransform=Ar,r.prevZoomTransform=Ar,r.initialXDomain=[0,1],r.initialYDomain=[0,1],r.xDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],r.yDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],r.zoomLimits=[0,Number.MAX_SAFE_INTEGER],r.prevCenterX=r.currentProps.paddingLeft+r.currentProps.leftWidth+r.currentProps.centerWidth/2,r.prevCenterY=r.currentProps.paddingTop+r.currentProps.topHeight+r.currentProps.centerHeight/2,r.cumCenterXOffset=0,r.cumCenterYOffset=0,r.setUpInitialScales(r.currentProps.initialXDomain,r.currentProps.initialYDomain,r.currentProps.xDomainLimits,r.currentProps.yDomainLimits,r.currentProps.zoomLimits),r.setUpScales(),r.trackDefObjects={},r.metaTracks={},r.pubSubs=[],window.higlassTracksByType)for(const i in window.higlassTracksByType)Gt[i]=window.higlassTracksByType[i].config;return r.boundForwardEvent=r.forwardEvent.bind(r),r.boundScrollEvent=r.scrollEvent.bind(r),r.boundForwardContextMenu=r.forwardContextMenu.bind(r),r.dispatchEventBound=r.dispatchEvent.bind(r),r.zoomToDataPosHandlerBound=r.zoomToDataPosHandler.bind(r),r.onScrollHandlerBound=r.onScrollHandler.bind(r),r.elementPos={height:0,width:0,left:0,top:0},r.elementSelection=null,r}return ske(t,e),tke(t,[{key:"xScale",get:function(){if(!this._xScale)throw new Error("xScale is not defined");return this._xScale}},{key:"yScale",get:function(){if(!this._yScale)throw new Error("yScale is not defined");return this._yScale}},{key:"UNSAFE_componentWillMount",value:function(){this.pubSubs=[],this.pubSubs.push(this.props.pubSub.subscribe("scroll",this.windowScrolledBound)),this.pubSubs.push(this.props.pubSub.subscribe("app.event",this.dispatchEventBound)),this.pubSubs.push(this.props.pubSub.subscribe("zoomToDataPos",this.zoomToDataPosHandlerBound)),this.pubSubs.push(this.props.pubSub.subscribe("app.scroll",this.onScrollHandlerBound))}},{key:"componentDidMount",value:function(){if(!this.element)throw new Error("Component did not mount, this.element is not defined.");if(this.elementPos=this.element.getBoundingClientRect(),this.elementSelection=_t(this.element),this.pStage=new Ye.PIXI.Graphics,this.pMask=new Ye.PIXI.Graphics,this.pOutline=new Ye.PIXI.Graphics,this.pBackground=new Ye.PIXI.Graphics,this.pStage.addChild(this.pMask),this.pStage.addChild(this.pOutline),this.currentProps.pixiStage.addChild(this.pStage),this.pStage.mask=this.pMask,this.props.isRangeSelection||this.addZoom(),!this.currentProps.svgElement||!this.currentProps.canvasElement)return;this.svgElement=this.currentProps.svgElement,this.syncTrackObjects(this.currentProps.positionedTracks),this.syncMetaTracks(this.currentProps.metaTracks),this.currentProps.setCentersFunction(this.setCenter.bind(this)),this.currentProps.registerDraggingChangedListener(this.draggingChanged.bind(this)),this.draggingChanged(!0),this.addEventTracker();const r=[[this.xScale(this.xDomainLimits[0]),this.yScale(this.yDomainLimits[0])],[this.xScale(this.xDomainLimits[1]),this.yScale(this.yDomainLimits[1])]],i=this.svgElement.getBoundingClientRect(),o=[[Math.max(r[0][0],0),Math.max(r[0][1],0)],[Math.min(r[1][0],i.width),Math.min(r[1][1],i.height)]];this.zoomBehavior.extent(o).translateExtent(r).scaleExtent(this.zoomLimits)}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){if(!r.svgElement||!r.canvasElement)return;const i=this.updatablePropsToString(r);if(this.currentProps=r,this.prevPropsStr===i)return;this.setBackground();for(const c in this.trackDefObjects){const l=this.trackDefObjects[c].trackObject;l.delayDrawing=!0}this.prevPropsStr=i,this.setUpInitialScales(r.initialXDomain,r.initialYDomain,r.xDomainLimits,r.yDomainLimits,r.zoomLimits),this.setUpScales(r.width!==this.props.width||r.height!==this.props.height),this.svgElement=r.svgElement;const o=[[this.xScale(this.xDomainLimits[0]),this.yScale(this.yDomainLimits[0])],[this.xScale(this.xDomainLimits[1]),this.yScale(this.yDomainLimits[1])]],a=this.svgElement.getBoundingClientRect(),s=[[Math.max(o[0][0],0),Math.max(o[0][1],0)],[Math.min(o[1][0],a.width),Math.min(o[1][1],a.height)]];this.zoomBehavior.extent(s).translateExtent(o).scaleExtent(this.zoomLimits),this.syncTrackObjects(r.positionedTracks),this.syncMetaTracks(r.metaTracks);for(const c of r.positionedTracks){const l=c.track.options,u=this.trackDefObjects[c.track.uid].trackObject;if(u.rerender(l),Pu(c.track)){const f={};for(const h of c.track.contents)f[h.uid]=h;for(const h in u.createdTracks)u.createdTracks[h].rerender(f[h].options)}}this.props.onNewTilesLoaded();for(const c in this.trackDefObjects){const l=this.trackDefObjects[c].trackObject;l.delayDrawing=!1,l.draw()}}},{key:"componentDidUpdate",value:function(r){(this.props.initialXDomain[0]!==r.initialXDomain[0]||this.props.initialXDomain[1]!==r.initialXDomain[1]||this.props.initialYDomain[0]!==r.initialYDomain[0]||this.props.initialYDomain[1]!==r.initialYDomain[1])&&this.element&&(this.element.__zoom=Ar),r.isRangeSelection!==this.props.isRangeSelection&&(this.props.isRangeSelection?this.removeZoom():this.addZoom()),r.zoomable!==this.props.zoomable&&(this.props.zoomable?this.addZoom():this.removeZoom()),this.addEventTracker()}},{key:"componentWillUnmount",value:function(){this.mounted=!1,this.removeTracks(Object.keys(this.trackDefObjects)),this.removeMetaTracks(Object.keys(this.metaTracks)),this.currentProps.removeDraggingChangedListener(this.draggingChanged),this.pStage&&this.currentProps.pixiStage.removeChild(this.pStage),this.pMask?.destroy(!0),this.pStage?.destroy(!0),this.pubSubs.forEach(r=>this.props.pubSub.unsubscribe(r)),this.pubSubs=[],this.removeEventTracker()}},{key:"dispatchEvent",value:function(r){r.sourceUid===this.uid&&r.type!=="contextmenu"&&this.element&&Lp(r,this.element)}},{key:"isWithin",value:function(r,i){const o=r>=this.elementPos.left&&r<=this.elementPos.width+this.elementPos.left,a=i>=this.elementPos.top&&i<=this.elementPos.height+this.elementPos.top;return o&&a}},{key:"zoomToDataPosHandler",value:function({pos:r,animateTime:i}){this.zoomToDataPos(...r,i)}},{key:"addZoom",value:function(){!this.elementSelection||!this.currentProps.zoomable||(this.elementSelection.call(this.zoomBehavior),this.zoomBehavior.transform(this.elementSelection,this.zoomTransform))}},{key:"removeZoom",value:function(){this.elementSelection&&(this.zoomEnded(),this.elementSelection.on(".zoom",null))}},{key:"setMask",value:function(){this.pMask?.clear(),this.pMask?.beginFill(),this.pMask?.drawRect(this.xPositionOffset,this.yPositionOffset,this.currentProps.width,this.currentProps.height),this.pMask?.endFill()}},{key:"setBackground",value:function(){const r=this.props.theme===Qt?"black":"white",i=gt(this.currentProps.viewOptions?.backgroundColor??r);this.pBackground?.clear(),this.pBackground?.beginFill(i),this.pBackground?.drawRect(this.xPositionOffset,this.yPositionOffset,this.currentProps.width,this.currentProps.height),this.pBackground?.endFill()}},{key:"windowScrolled",value:function(){this.removeZoom(),this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.scrollTimeout=setTimeout(()=>{this.addZoom()},cke)}},{key:"setUpInitialScales",value:function(r=[0,1],i=[0,1],o=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],a=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],s=[0,Number.MAX_SAFE_INTEGER]){s[0]=s[0]===null?0:s[0],s[1]=s[1]===null?Number.POSITIVE_INFINITY:s[1];const c=r[1]-r[0],l=(i[0]+i[1])/2;if(i[0]=l-c/2,i[1]=l+c/2,r[0]===this.initialXDomain[0]&&r[1]===this.initialXDomain[1]&&i[0]===this.initialYDomain[0]&&i[1]===this.initialYDomain[1]&&o[0]===this.xDomainLimits[0]&&o[1]===this.xDomainLimits[1]&&a[0]===this.yDomainLimits[0]&&a[1]===this.yDomainLimits[1]&&s[0]===this.zoomLimits[0]&&s[1]===this.zoomLimits[1])return;this.initialXDomain=r,this.initialYDomain=i,this.xDomainLimits=o,this.yDomainLimits=a,this.zoomLimits=s,this.zoomTransform=Ar,this.prevZoomTransform=Ar,this.cumCenterYOffset=0,this.cumCenterXOffset=0,this.drawableToDomainX=Et().domain([this.currentProps.paddingLeft+this.currentProps.leftWidth,this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth]).range([r[0],r[1]]);let u,f;this.currentProps.centerWidth===0?(u=this.currentProps.paddingTop+this.currentProps.topHeight,f=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight):(u=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2-this.currentProps.centerWidth/2,f=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2+this.currentProps.centerWidth/2),this.drawableToDomainY=Et().domain([u,f]).range([i[0],i[1]]),this.prevCenterX=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2,this.prevCenterY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2}},{key:"updatablePropsToString",value:function(r){return JSON.stringify({positionedTracks:r.positionedTracks,initialXDomain:r.initialXDomain,initialYDomain:r.initialYDomain,width:r.width,height:r.height,paddingLeft:r.paddingLeft,paddingTop:r.paddingTop,leftWidth:r.leftWidth,topHeight:r.topHeight,dragging:r.dragging,viewOptions:r.viewOptions})}},{key:"draggingChanged",value:function(r){this.dragging=r,this.timedUpdatePositionAndDimensions()}},{key:"setUpScales",value:function(r=!1){const i=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2,o=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2;if(!this.drawableToDomainX||!this.drawableToDomainY)return;const a=(this.drawableToDomainX(i)-this.drawableToDomainX(this.prevCenterX))/this.zoomTransform.k,s=(this.drawableToDomainY(o)-this.drawableToDomainY(this.prevCenterY))/this.zoomTransform.k;this.cumCenterYOffset+=s,this.cumCenterXOffset+=a,this.prevCenterY=o,this.prevCenterX=i;const c=[this.drawableToDomainX(0)-this.cumCenterXOffset,this.drawableToDomainX(this.currentProps.width)-this.cumCenterXOffset],l=[this.drawableToDomainY(0)-this.cumCenterYOffset,this.drawableToDomainY(this.currentProps.height)-this.cumCenterYOffset];this._xScale=Et().domain(c).range([0,this.currentProps.width]),this._yScale=Et().domain(l).range([0,this.currentProps.height]);for(const u in this.trackDefObjects)this.trackDefObjects[u].trackObject.refScalesChanged(this.xScale,this.yScale);this.applyZoomTransform(r)}},{key:"getTrackDef",value:function(r){const i=Yn(this.trackDefObjects);for(const[,{trackDef:o,trackObject:a}]of i){if(a===r)return o.track;if(Pu(o.track)){for(const s of o.track.contents)if(a.createdTracks[s.uid]===r)return s}}return null}},{key:"getTrackObject",value:function(r){const i=Yn(this.trackDefObjects);for(let o=0;o<i.length;o++){const a=i[o][0],s=i[o][1].trackObject;if(a===r)return s;if(s.createdTracks){const c=Yn(s.createdTracks);for(let l=0;l<c.length;l++){const u=c[l][0],f=c[l][1];if(u===r)return f}}}}},{key:"timedUpdatePositionAndDimensions",value:function(){this.closing||!this.element||(this.elementPos=this.element.getBoundingClientRect(),this.dragging&&(this.yPositionOffset=this.element.getBoundingClientRect().top-this.currentProps.canvasElement.getBoundingClientRect().top+this.scrollTop,this.xPositionOffset=this.element.getBoundingClientRect().left-this.currentProps.canvasElement.getBoundingClientRect().left,this.setMask(),this.setBackground(),this.updateTrackPositions()&&this.applyZoomTransform(!0),requestAnimationFrame(this.timedUpdatePositionAndDimensions.bind(this))))}},{key:"syncMetaTracks",value:function(r){const i=Object.keys(this.metaTracks),o=new Set(r.map(a=>a.uid));this.addMetaTracks(r.filter(a=>!this.metaTracks[a.uid])),this.updateMetaTracks(r.filter(a=>this.metaTracks[a.uid])),this.removeMetaTracks(i.filter(a=>!o.has(a)))}},{key:"syncTrackObjects",value:function(r){this.prevTrackDefinitions=JSON.stringify(r);const i={};for(let u=0;u<r.length;u++)i[r[u].track.uid]=r[u];const o=new Set(Object.keys(this.trackDefObjects)),a=new Set(Object.keys(i)),s=new Set([...a].filter(u=>!o.has(u))),c=new Set([...o].filter(u=>!a.has(u))),l=new Set([...a].filter(u=>o.has(u)));this.updateExistingTrackDefs([...l].map(u=>i[u])),this.addNewTracks([...s].map(u=>i[u])),this.updateExistingTrackDefs([...s].map(u=>i[u])),this.removeTracks([...c])}},{key:"addMetaTracks",value:function(r){r.filter(i=>!this.metaTracks[i.uid]).forEach(i=>{this.metaTracks[i.uid]={trackDef:i,trackObject:this.createMetaTrack(i)}})}},{key:"addNewTracks",value:function(r){if(this.currentProps.pixiStage){for(let i=0;i<r.length;i++){const o=r[i],a=this.createTrackObject(o.track);a.refScalesChanged(this.xScale,this.yScale),this.trackDefObjects[o.track.uid]={trackDef:o,trackObject:a};const s=this.zoomTransform.rescaleX(this.xScale),c=this.zoomTransform.rescaleY(this.yScale);a.setDimensions([o.width,o.height]),a.zoomed(s,c)}this.applyZoomTransform(!1)}}},{key:"updateMetaTracks",value:function(r){}},{key:"updateExistingTrackDefs",value:function(r){for(const o of r){const a=this.trackDefObjects[o.track.uid];a.trackDef=o,Pu(o.track)&&a.trackObject.updateContents(o.track.contents,this.createTrackObject.bind(this)).refScalesChanged(this.xScale,this.yScale)}this.updateTrackPositions()&&this.applyZoomTransform(!1)}},{key:"updateTrackPositions",value:function(){let r=!1;for(const i in this.trackDefObjects){const o=this.trackDefObjects[i].trackDef,a=this.trackDefObjects[i].trackObject,s=a.position,c=a.dimensions,l=[this.xPositionOffset+o.left,this.yPositionOffset+o.top],u=[o.width,o.height];(!s||l[0]!==s[0]||l[1]!==s[1])&&(a.setPosition(l),r=!0),(!c||u[0]!==c[0]||u[1]!==c[1])&&(a.setDimensions(u),r=!0)}return r}},{key:"removeMetaTracks",value:function(r){r.forEach(i=>{this.metaTracks[i].trackObject.remove(),this.metaTracks[i]=void 0,delete this.metaTracks[i]})}},{key:"removeTracks",value:function(r){for(let i=0;i<r.length;i++)this.trackDefObjects[r[i]].trackObject.remove(),delete this.trackDefObjects[r[i]]}},{key:"setCenter",value:function(r,i,o,a=!1,s=0,c=this.xScale,l=this.yScale){const f=(this.xScale.invert(1)-this.xScale.invert(0))/o,h=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2,p=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2,d=h-c(r)*f,g=p-l(i)*f;let y;const b=()=>{const m=Ar.translate(d,g).scale(f);this.zoomTransform=m,this.elementSelection&&this.emptyZoomBehavior.transform(this.elementSelection,m),y=this.applyZoomTransform(a)};if(s&&this.elementSelection){let m=this.elementSelection;this.activeTransitions+=1,document.hidden||(m=m.transition().duration(s)),m.call(this.zoomBehavior.transform,Ar.translate(d,g).scale(f)).on("end",()=>{b(),this.activeTransitions-=1})}else b();return y}},{key:"valueScaleMove",value:function(r){if(this.zoomStartPos){for(const i of this.getTracksAtPosition(...this.zoomStartPos))i.movedY(r);this.zoomStartTransform&&(this.zoomTransform=this.zoomStartTransform)}}},{key:"valueScaleZoom",value:function(r,i){if(!FX(r.sourceEvent))return;const o=r.sourceEvent.deltaY,a=r.sourceEvent.deltaMode,c=((u,f)=>u*(f?120:1)/500)(o,a),l=Xt(r.sourceEvent,this.props.canvasElement);for(const u of this.getTracksAtPosition(...l)){const f=i==="1d-horizontal"?l[1]-u.position[1]:l[0]-u.position[0];u.zoomedY(f,2**c)}this.zoomStartTransform&&(this.zoomTransform=this.zoomStartTransform)}},{key:"zoomed",value:function(r){let i=null;if(this.zoomStartPos){const a=this.getTracksAtPosition(...this.zoomStartPos);if(a.length){const s=a[0],c=this.getTrackDef(s);if(!c)return;Gt[c.type]?.orientation&&(i=Gt[c.type].orientation),s instanceof uj&&(i="1d-vertical")}}if(i&&r.sourceEvent){if(r.shiftKey||this.valueScaleZooming){if(r.sourceEvent.deltaY!==void 0){this.valueScaleZoom(r,i);return}i==="1d-horizontal"?this.valueScaleMove(r.sourceEvent.movementY):i==="1d-vertical"&&this.valueScaleMove(r.sourceEvent.movementX)}i==="1d-horizontal"&&r.sourceEvent.movementY?this.valueScaleMove(r.sourceEvent.movementY):i==="1d-vertical"&&r.sourceEvent.movementX&&this.valueScaleMove(r.sourceEvent.movementX)}this.zoomTransform=this.currentProps.zoomable?r.transform:Ar,this.prevZoomTransform.k!==this.zoomTransform.k||(i==="1d-horizontal"?this.zoomTransform=Ar.translate(this.zoomTransform.x,this.prevZoomTransform.y).scale(this.zoomTransform.k):i==="1d-vertical"&&(this.zoomTransform=Ar.translate(this.prevZoomTransform.x,this.zoomTransform.y).scale(this.zoomTransform.k)),this.element&&(this.element.__zoom=this.zoomTransform)),this.applyZoomTransform(!0),this.prevZoomTransform=this.zoomTransform,this.props.pubSub.publish("app.zoom",r),r.sourceEvent&&(r.sourceEvent.stopPropagation(),r.sourceEvent.preventDefault())}},{key:"getTracksAtPosition",value:function(r,i){const o=[];let a=[];for(const s in this.trackDefObjects){const c=this.trackDefObjects[s].trackObject;c.childTracks?a=a.concat(c.childTracks):a.push(c)}for(const s of a){const c=s.position[0]<=r&&r<=s.position[0]+s.dimensions[0],l=s.position[1]<=i&&i<=s.position[1]+s.dimensions[1];c&&l&&o.push(s)}return o}},{key:"zoomStarted",value:function(r){this.zooming=!0,r?.sourceEvent&&(this.zoomStartPos=Xt(r.sourceEvent,this.props.canvasElement),r.sourceEvent.shiftKey&&(this.valueScaleZooming=!0)),this.zoomStartTransform=this.zoomTransform,this.props.pubSub.publish("app.zoomStart")}},{key:"zoomEnded",value:function(){this.zooming=!1,this.zoomStartPos=null,this.valueScaleZooming&&(this.valueScaleZooming=!1,this.element&&(this.element.__zoom=this.zoomStartTransform)),this.props.pubSub.publish("app.zoomEnd")}},{key:"applyZoomTransform",value:function(r=!0){const i=this.currentProps,o=i.paddingLeft+i.leftWidth,a=i.paddingTop+i.topHeight;if(!this.xScale||!this.yScale)return;this.zoomedXScale=this.zoomTransform.rescaleX(this.xScale),this.zoomedYScale=this.zoomTransform.rescaleY(this.yScale);const s=Et().domain([o,o+i.centerWidth].map(this.zoomedXScale.invert)).range([0,i.centerWidth]),c=Et().domain([a,a+i.centerHeight].map(this.zoomedYScale.invert)).range([0,i.centerHeight]);for(const l in this.trackDefObjects){const u=this.trackDefObjects[l].trackObject,f=this.trackDefObjects[l].trackDef;let h="unknown";if(Gt[f.track.type]&&(h=Gt[f.track.type].orientation),h==="whole"){const p=Et().domain([i.paddingLeft,i.width-i.paddingLeft].map(this.zoomedXScale.invert)).range([0,i.width-2*i.paddingLeft]),d=Et().domain([i.paddingTop,i.height-i.paddingTop].map(this.zoomedYScale.invert)).range([0,i.height-2*i.paddingTop]);u.zoomed(p,d);continue}if(this.trackDefObjects[l].trackDef.track.position==="gallery"){const p=Et().domain([i.paddingLeft+i.leftWidthNoGallery,i.paddingLeft+i.leftWidth+i.centerWidth+i.galleryDim].map(this.zoomedXScale.invert)).range([0,i.centerWidth+2*i.galleryDim]),d=Et().domain([i.paddingTop+i.topHeightNoGallery,i.paddingTop+i.topHeight+i.centerHeight+i.galleryDim].map(this.zoomedYScale.invert)).range([0,i.centerHeight-2*i.galleryDim]);u.zoomed(p.copy(),d.copy(),this.zoomTransform.k);continue}u.zoomed(s.copy(),c.copy(),this.zoomTransform.k,this.zoomTransform.x+this.xPositionOffset,this.zoomTransform.y+this.yPositionOffset,i.paddingLeft+i.leftWidth,i.paddingTop+i.topHeight)}return this.currentXScale=s,this.currentYScale=c,r&&this.currentProps.onScalesChanged(s,c),[s,c]}},{key:"createMetaTrack",value:function(r){switch(r.type){default:{const i=this.props.pluginTracks[r.type];if(i?.isMetaTrack){const o={getTrackObject:this.getTrackObject.bind(this),onNewTilesLoaded:()=>{this.currentProps.onNewTilesLoaded(r.uid)},definition:r};try{return new i.track(this.availableForPlugins,o,r.options??{})}catch(a){console.error("Plugin meta track",r.type,"failed to instantiate.",a)}}return console.warn(`Unknown meta track of type: ${r.type}`),new Oj(this.pStage,{name:"Unknown Track Type",type:r.type})}}}},{key:"createTrackObject",value:function(r){const i=this.createLocationAgnosticTrackObject(r);return(r.position==="left"||r.position==="right")&&Gt[r.type].orientation==="1d-horizontal"?new uj(i):i}},{key:"createLocationAgnosticTrackObject",value:function(r){let i=r.data;i||(i={server:Fp(r.server??""),tilesetUid:r.tilesetUid}),r.coordSystem&&(i.coordSystem=r.coordSystem);const o=lke(i,this.props.pubSub,this.props.pluginDataFetchers,this.availableForPlugins);if(!this.pStage||!this.svgElement)throw new Error("No PIXI stage or svg element");const a={id:r.uid,trackUid:r.uid,trackType:r.type,viewUid:this.viewUid,pubSub:this.props.pubSub,scene:this.pStage,dataConfig:i,dataFetcher:o,getLockGroupExtrema:()=>this.currentProps.getLockGroupExtrema(r.uid),handleTilesetInfoReceived:s=>{this.currentProps.onTilesetInfoReceived(r.uid,s)},animate:()=>{this.currentProps.onNewTilesLoaded(r.uid)},svgElement:this.svgElement,isValueScaleLocked:()=>this.currentProps.isValueScaleLocked(r.uid),onValueScaleChanged:()=>{this.currentProps.onValueScaleChanged(r.uid)},onTrackOptionsChanged:s=>{this.currentProps.onTrackOptionsChanged(r.uid,s)},onMouseMoveZoom:this.props.onMouseMoveZoom,chromInfoPath:r.chromInfoPath,isShowGlobalMousePosition:()=>this.props.isShowGlobalMousePosition,getTheme:()=>this.props.theme};switch(r.y&&(a.yPosition=r.y),r.x&&(a.xPosition=r.x),r.projectionXDomain&&(a.projectionXDomain=r.projectionXDomain),r.projectionYDomain&&(a.projectionYDomain=r.projectionYDomain),r.type){case"left-axis":return new O$(a,r.options);case"top-axis":return new D$(a,r.options);case"heatmap":return new Ql(a,r.options);case"multivec":case"vector-heatmap":case"horizontal-multivec":case"horizontal-vector-heatmap":case"vertical-multivec":case"vertical-vector-heatmap":return new U$(a,r.options);case"1d-heatmap":case"horizontal-1d-heatmap":case"vertical-1d-heatmap":return new H$(a,r.options);case"line":case"horizontal-line":case"vertical-line":return new ac(a,r.options);case"point":case"horizontal-point":case"vertical-point":return new G$(a,r.options);case"bar":case"horizontal-bar":case"vertical-bar":return new m5(a,r.options);case"divergent-bar":case"horizontal-divergent-bar":case"vertical-divergent-bar":return new B$(a,r.options);case"horizontal-1d-tiles":return new v$(a,r.options);case"vertical-1d-tiles":return new T$(a,r.options);case"2d-tiles":return new g$(a,r.options);case"stacked-interval":case"top-stacked-interval":case"left-stacked-interval":return new nj(a,r.options);case"viewport-projection-center":return r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback?(a.registerViewportChanged=r.registerViewportChanged,a.removeViewportChanged=r.removeViewportChanged,a.setDomainsCallback=r.setDomainsCallback,new Ij(a,r.options)):new Ja(a,{});case"viewport-projection-horizontal":return r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback?(a.registerViewportChanged=r.registerViewportChanged,a.removeViewportChanged=r.removeViewportChanged,a.setDomainsCallback=r.setDomainsCallback,new c9(a,r.options)):new Ja(a,{});case"viewport-projection-vertical":return r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback?(a.registerViewportChanged=r.registerViewportChanged,a.removeViewportChanged=r.removeViewportChanged,a.setDomainsCallback=r.setDomainsCallback,new Nj(a,r.options)):new Ja(a,{});case"gene-annotations":case"horizontal-gene-annotations":case"vertical-gene-annotations":return new B5(a,r.options);case"2d-rectangle-domains":case"arrowhead-domains":return new tj(a,r.options);case"1d-annotations":case"horizontal-1d-annotations":case"vertical-1d-annotations":return new K$(a,r.options,!0);case"2d-annotations":return new Q$(a,r.options);case"linear-2d-rectangle-domains":case"horizontal-2d-rectangle-domains":case"vertical-2d-rectangle-domains":return new hj(a,r.options);case"square-markers":return new Ej(a,r.options);case"combined":return a.tracks=r.contents,a.createTrackObject=this.createTrackObject.bind(this),new b0(a);case"2d-chromosome-labels":return new vj(a,r.options);case"horizontal-chromosome-grid":return a.orientation="1d-horizontal",new th(a,r.options);case"vertical-chromosome-grid":return a.orientation="1d-vertical",new th(a,r.options);case"2d-chromosome-grid":return new th(a,r.options);case"chromosome-labels":case"horizontal-chromosome-labels":case"vertical-chromosome-labels":return new Tj(a,r.options);case"linear-heatmap":case"horizontal-heatmap":case"vertical-heatmap":return new xj(a,r.options);case"2d-chromosome-annotations":return new gj(a,r.options);case"1d-value-interval":case"horizontal-1d-value-interval":case"vertical-1d-value-interval":return new Aj(a,r.options);case"osm":case"osm-tiles":return new ih(a,r.options);case"osm-2d-tile-ids":return new aB(a,r.options);case"mapbox":case"mapbox-tiles":return new iB(a,r.options);case"raster-tiles":return new lB(a,r.options);case"bedlike":case"vertical-bedlike":return new WE(a,r.options);case"overlay-track":return new M$(a,r.options);case"overlay-chromosome-grid-track":return a.isOverlay=!0,new th(a,r.options);case"horizontal-rule":return new tB(a,r.options);case"vertical-rule":return new Vj(a,r.options);case"cross-rule":return a.x=r.x,a.y=r.y,new Yj(a,r.options);case"simple-svg":return new ko(a,r.options);case"empty":{const s=r.options;return new Bn(a,s)}default:{const s=this.props.pluginTracks[r.type];if(s&&!s.isMetaTrack){a.AVAILABLE_FOR_PLUGINS=this.availableForPlugins,a.baseEl=this.baseEl,a.definition=r,r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback&&(a.registerViewportChanged=r.registerViewportChanged,a.removeViewportChanged=r.removeViewportChanged,a.setDomainsCallback=r.setDomainsCallback);try{return new s.track(this.availableForPlugins,a,r.options??{})}catch(c){console.error("Plugin track",r.type,"failed to instantiate.",c)}}return console.warn("Unknown track type:",r.type),new Oj(a,{name:"Unknown Track Type",type:r.type})}}}},{key:"zoomToDataPos",value:function(r,i,o,a,s=3e3,c=null){const[l,u,f]=kr(this.xScale.copy().domain([r,i]),this.yScale.copy().domain([o,a])),h=c?c(this.xScale,this.yScale):[this.xScale,this.yScale];this.setCenter(l,u,f,!1,s,h[0],h[1])}},{key:"forwardContextMenu",value:function(r){this.props.disableTrackMenu||r.altKey||(r.preventDefault(),setTimeout(()=>{this.props.pubSub.publish("contextmenu",r)},0))}},{key:"addEventTracker",value:function(){!this.eventTracker||this.eventTracker===this.eventTrackerOld||(this.eventTrackerOld||(this.eventTrackerOld=this.eventTracker),this.eventTracker=this.eventTrackerOld,this.eventTracker.addEventListener("click",this.boundForwardEvent),this.eventTracker.addEventListener("contextmenu",this.boundForwardContextMenu),this.eventTracker.addEventListener("dblclick",this.boundForwardEvent),this.eventTracker.addEventListener("wheel",this.boundForwardEvent),this.eventTracker.addEventListener("dragstart",this.boundForwardEvent),this.eventTracker.addEventListener("selectstart",this.boundForwardEvent),this.eventTracker.addEventListener("mouseover",this.boundForwardEvent),this.eventTracker.addEventListener("mouseenter",this.boundForwardEvent),this.eventTracker.addEventListener("mousedown",this.boundForwardEvent),this.eventTracker.addEventListener("mouseup",this.boundForwardEvent),this.eventTracker.addEventListener("mouseout",this.boundForwardEvent),this.eventTracker.addEventListener("mouseleave",this.boundForwardEvent),this.eventTracker.addEventListener("touchstart",this.boundForwardEvent),this.eventTracker.addEventListener("touchend",this.boundForwardEvent),this.eventTracker.addEventListener("touchmove",this.boundForwardEvent),this.eventTracker.addEventListener("touchcancel",this.boundForwardEvent),this.eventTracker.addEventListener("pointerover",this.boundForwardEvent),this.eventTracker.addEventListener("pointerenter",this.boundForwardEvent),this.eventTracker.addEventListener("pointerdown",this.boundForwardEvent),this.eventTracker.addEventListener("pointerup",this.boundForwardEvent),this.eventTracker.addEventListener("pointercancel",this.boundForwardEvent),this.eventTracker.addEventListener("pointerout",this.boundForwardEvent),this.eventTracker.addEventListener("pointerleave",this.boundForwardEvent),window.addEventListener("scroll",this.boundScrollEvent))}},{key:"removeEventTracker",value:function(){this.eventTracker&&(this.eventTracker.removeEventListener("click",this.boundForwardEvent),this.eventTracker.removeEventListener("contextmenu",this.boundForwardContextMenu),this.eventTracker.removeEventListener("dblclick",this.boundForwardEvent),this.eventTracker.removeEventListener("wheel",this.boundForwardEvent),this.eventTracker.removeEventListener("dragstart",this.boundForwardEvent),this.eventTracker.removeEventListener("selectstart",this.boundForwardEvent),this.eventTracker.removeEventListener("mouseover",this.boundForwardEvent),this.eventTracker.removeEventListener("mouseenter",this.boundForwardEvent),this.eventTracker.removeEventListener("mousedown",this.boundForwardEvent),this.eventTracker.removeEventListener("mouseup",this.boundForwardEvent),this.eventTracker.removeEventListener("mouseout",this.boundForwardEvent),this.eventTracker.removeEventListener("mouseleave",this.boundForwardEvent),this.eventTracker.removeEventListener("touchstart",this.boundForwardEvent),this.eventTracker.removeEventListener("touchend",this.boundForwardEvent),this.eventTracker.removeEventListener("touchcancel",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerover",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerenter",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerdown",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerup",this.boundForwardEvent),this.eventTracker.removeEventListener("pointercancel",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerout",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerleave",this.boundForwardEvent),window.removeEventListener("scroll",this.boundScrollEvent))}},{key:"scrollEvent",value:function(){this.element&&(this.elementPos=this.element.getBoundingClientRect())}},{key:"forwardEvent",value:function(r){r.sourceUid=this.uid,r.forwarded=!0,this.props.pubSub.publish("app.event",r)}},{key:"onScrollHandler",value:function(r){this.scrollTop=r}},{key:"render",value:function(){return x.createElement("div",{ref:r=>{this.baseEl=r},className:$t("track-renderer-div",Ak["track-renderer"]),style:{height:this.currentProps.height,width:this.currentProps.width}},x.createElement("div",{ref:r=>{this.element=r},className:$t("track-renderer-element",Ak["track-renderer-element"])}),x.createElement("div",{ref:r=>{this.eventTracker=r},className:$t("track-renderer-events",Ak["track-renderer-events"])},this.currentProps.children))}}])}(x.Component);Ik.defaultProps={pluginDataFetchers:{},pluginTracks:{},canvasElement:null,centerHeight:0,centerWidth:0,children:[],galleryDim:0,height:0,initialXDomain:[],initialYDomain:[],isShowGlobalMousePosition:!1,isRangeSelection:!1,leftWidth:0,leftWidthNoGallery:0,paddingLeft:0,paddingTop:0,positionedTracks:[],topHeight:0,topHeightNoGallery:0,width:0,metaTracks:[]},Ik.propTypes={canvasElement:q.object,centerHeight:q.number,centerWidth:q.number,children:q.array,disableTrackMenu:q.bool,galleryDim:q.number,height:q.number,initialXDomain:q.array,initialYDomain:q.array,isShowGlobalMousePosition:q.bool,isRangeSelection:q.bool,leftWidth:q.number,leftWidthNoGallery:q.number,paddingLeft:q.number,paddingTop:q.number,metaTracks:q.array,onMouseMoveZoom:q.func,onNewTilesLoaded:q.func.isRequired,onScalesChanged:q.func.isRequired,pixiRenderer:q.object.isRequired,pixiStage:q.object.isRequired,pluginDataFetchers:q.object,pluginTracks:q.object,positionedTracks:q.array,pubSub:q.object.isRequired,setCentersFunction:q.func,svgElement:q.object.isRequired,theme:q.symbol.isRequired,topHeight:q.number,topHeightNoGallery:q.number,viewOptions:q.object,width:q.number,xDomainLimits:q.array,yDomainLimits:q.array,valueScaleZoom:q.bool,zoomable:q.bool.isRequired,zoomDomain:q.array,uid:q.string,zoomLimits:q.array};const uke=tl(sl(Ik));function fke(e){const{attributes:t,listeners:n,setNodeRef:r,transform:i,transition:o,isDragging:a}=fL({id:e.uid}),s=i&&{...i,y:0},c={transform:Fl.Transform.toString(s),transition:o,...a?{zIndex:10,background:"rgba(0, 0, 0, 0.1)",border:"2px dashed rgba(0, 0, 0, 0.3)",borderRadius:4}:{}};return x.createElement("div",{ref:r,style:c},x.createElement(Az,{className:e.className,controlAlignLeft:e.controlAlignLeft,dragHandleProps:{...t,...n},editable:e.editable,handleConfigTrack:e.handleConfigTrack,handleResizeTrack:e.handleResizeTrack,height:e.height,isCollapsed:e.isCollapsed,item:e.item,onAddSeries:e.onAddSeries,onCollapseTrack:e.onCollapseTrack,onExpandTrack:e.onExpandTrack,onCloseTrack:e.onCloseTrack,onCloseTrackMenuOpened:e.onCloseTrackMenuOpened,onConfigTrackMenuOpened:e.onConfigTrackMenuOpened,resizeHandles:e.resizeHandles,uid:e.uid,width:e.width}))}const hke={"vertical-tiled-plot":"_vertical-tiled-plot_f3ho8_1"};function pke(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function dke(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,mke(r.key),r)}}function gke(e,t,n){return t&&dke(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function mke(e){var t=vke(e,"string");return typeof t=="symbol"?t:t+""}function vke(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function yke(e,t,n){return t=lm(t),bke(e,Nz()?Reflect.construct(t,n||[],lm(e).constructor):t.apply(e,n))}function bke(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _ke(e)}function _ke(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Nz=function(){return!!e})()}function lm(e){return lm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},lm(e)}function Tke(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Rk(e,t)}function Rk(e,t){return Rk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Rk(e,t)}function Lz(e){return e?.sourceEvent}let Dk=function(e){function t(n){var r;return pke(this,t),r=yke(this,t,[n]),r.brushBehavior=al().on("start",r.brushStarted.bind(r)).on("brush",r.brushed.bind(r)).on("end",r.brushedEnded.bind(r)),r.state={trackControlsVisible:null},r}return Tke(t,e),gke(t,[{key:"componentDidMount",value:function(){this.props.isRangeSelectionActive&&this.addBrush()}},{key:"shouldComponentUpdate",value:function(r,i){if(this.rangeSelectionTriggered)return this.rangeSelectionTriggered=!1,this.rangeSelectionTriggeredEnd&&this.props.rangeSelection!==r.rangeSelection&&this.moveBrush(r.rangeSelection[0]?r.rangeSelection[0]:null,!0),this.rangeSelectionTriggeredEnd=!1,this.state!==i;if(this.props.rangeSelection!==r.rangeSelection){const o=this.props.is1dRangeSelection?0:1;return this.moveBrush(r.rangeSelection[o]?r.rangeSelection[o]:null,r.rangeSelectionEnd),this.state!==i}return!0}},{key:"componentDidUpdate",value:function(){this.props.isRangeSelectionActive?this.addBrush():this.removeBrush()}},{key:"addBrush",value:function(){!this.brushEl||this.brushElAddedBefore===this.brushEl||(this.brushElAddedBefore&&this.brushElAddedBefore.on(".brush",null),this.brushEl.call(this.brushBehavior),this.brushElAddedBefore=this.brushEl,Ls(this.brushEl,gi["track-range-selection-group-brush-selection"]))}},{key:"brushed",value:function(r){const i=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!Lz(r)||!this.props.onRangeSelection||i)&&(this.rangeSelectionTriggered=!0,this.props.onRangeSelection(r.selection))}},{key:"brushStarted",value:function(r){!Lz(r)||!r.selection||this.props.onRangeSelectionStart()}},{key:"brushedEnded",value:function(r){if(!this.props.is1dRangeSelection)return;const i=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,r.selection&&r.sourceEvent&&this.props.onRangeSelection&&!i&&(this.rangeSelectionTriggered=!0,this.rangeSelectionTriggeredEnd=!0,this.props.onRangeSelectionEnd(r.selection)),r.selection||(this.rangeSelectionTriggered=!0,this.props.onRangeSelectionReset())}},{key:"moveBrush",value:function(r,i=!1){if(!this.brushEl)return;const o=r?[this.props.scale(r[0]),this.props.scale(r[1])]:null;this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,i?this.brushEl.transition().call(this.brushBehavior.move,o):this.brushEl.call(this.brushBehavior.move,o)}},{key:"removeBrush",value:function(){this.brushElAddedBefore&&(this.brushElAddedBefore.call(this.brushBehavior.move,null),this.brushElAddedBefore.on(".brush",null),this.brushElAddedBefore=void 0,this.props.onRangeSelectionReset())}},{key:"render",value:function(){const r=this.props.tracks.map(a=>a.width).reduce(zo,0),i=this.props.tracks.map(a=>$s(a)).reduce(Iu,!1),o=gi[this.props.isRangeSelectionActive?"track-range-selection-active":"track-range-selection"];return x.createElement("div",{className:hke["vertical-tiled-plot"]},i&&x.createElement("svg",{ref:a=>{this.brushEl=_t(a)},className:o,style:{height:this.props.height,width:r},xmlns:"http://www.w3.org/2000/svg"}),x.createElement(Q1,{axis:"x",className:$t(ti.list,ti.stylizedList,ti.horizontalList),component:_L,editable:this.props.editable,handleConfigTrack:this.props.handleConfigTrack,handleResizeTrack:this.props.handleResizeTrack,height:this.props.height,helperClass:ti.stylizedHelper,itemClass:$t(ti.stylizedItem,ti.horizontalItem),itemControlAlignLeft:this.props.tracksControlAlignLeft,itemReactClass:fke,items:this.props.tracks.map(a=>({handleMouseEnter:()=>{this.setState({trackControlsVisible:a.uid})},handleMouseLeave:()=>{this.setState({trackControlsVisible:null})},trackControlsVisible:a.uid===this.state.trackControlsVisible,configMenuVisible:a.uid===this.props.configTrackMenuId,uid:a.uid||Mt.nice(),height:this.props.height,width:Qn(a),isCollapsed:a.options?.collapsed,value:a.value})),onAddSeries:this.props.onAddSeries,onCloseTrack:this.props.onCloseTrack,onCollapseTrack:this.props.onCollapseTrack,onExpandTrack:this.props.onExpandTrack,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,onSortEnd:this.props.handleSortEnd,referenceAncestor:this.props.referenceAncestor,resizeHandles:this.props.resizeHandles,useDragHandle:!0,width:r}))}}])}(x.Component);Dk.propTypes={configTrackMenuId:q.string,editable:q.bool,handleConfigTrack:q.func,handleResizeTrack:q.func,handleSortEnd:q.func,is1dRangeSelection:q.bool,isRangeSelectionActive:q.bool,height:q.number,onAddSeries:q.func,onCloseTrack:q.func,onCollapseTrack:q.func,onExpandTrack:q.func,onCloseTrackMenuOpened:q.func,onConfigTrackMenuOpened:q.func,onRangeSelection:q.func,onRangeSelectionEnd:q.func,onRangeSelectionReset:q.func,onRangeSelectionStart:q.func,rangeSelection:q.array,rangeSelectionEnd:q.bool,referenceAncestor:q.func,resizeHandles:q.object,scale:q.func,tracks:q.array,tracksControlAlignLeft:q.bool};function wke(e){const t=document.createElement("textarea");t.value=e,t.style.top="0",t.style.left="0",t.style.position="fixed",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t)}function $z(e){if(!navigator.clipboard){wke(e);return}navigator.clipboard.writeText(e).then(()=>{},t=>{})}function Ske(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Eke(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,xke(r.key),r)}}function kke(e,t,n){return t&&Eke(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function xke(e){var t=Cke(e,"string");return typeof t=="symbol"?t:t+""}function Cke(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Oke(e,t,n){return t=cm(t),Pke(e,jz()?Reflect.construct(t,n||[],cm(e).constructor):t.apply(e,n))}function Pke(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ake(e)}function Ake(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function jz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(jz=function(){return!!e})()}function cm(e){return cm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},cm(e)}function Mke(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Nk(e,t)}function Nk(e,t){return Nk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Nk(e,t)}let Bz=function(e){function t(){return Ske(this,t),Oke(this,t,arguments)}return Mke(t,e),kke(t,[{key:"render",value:function(){const r=Cw(this.props.tracks,this.handleItemMouseEnter.bind(this),this.handleMouseLeave.bind(this)),i=this.props.customItems?x.Children.map(this.props.customItems,o=>x.cloneElement(o,{onMouseEnter:a=>{this.handleOtherMouseEnter(a)}})):null;return x.createElement("div",{ref:o=>{this.div=o},className:$t(yt["context-menu"],{[yt["context-menu-dark"]]:this.props.theme===Qt}),"data-menu-type":"ViewContextMenu",style:{left:this.state.left,top:this.state.top}},i,i&&x.createElement("hr",{className:yt["context-menu-hr"]}),r,r&&x.createElement("hr",{className:yt["context-menu-hr"]}),this.props.genomePositionSearchBox&&x.createElement(xt,{onClick:this.copyLocationToClipboard.bind(this),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Copy location under cursor"),x.createElement("hr",{className:yt["context-menu-hr"]}),x.createElement(xt,{onClick:()=>this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Horizontal Rule"),x.createElement(xt,{onClick:()=>this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Vertical Rule"),x.createElement(xt,{onClick:()=>this.props.onAddTrack({type:"cross-rule",x:this.props.coords[0],y:this.props.coords[1],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Cross Rule"),x.createElement("hr",{className:yt["context-menu-hr"]}),this.hasMatrixTrack(this.props.tracks)&&x.createElement(xt,{onClick:this.handleAddHorizontalSection.bind(this),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Horizontal Cross Section"),this.hasMatrixTrack(this.props.tracks)&&x.createElement(xt,{onClick:this.handleAddVerticalSection.bind(this),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Vertical Cross Section"),this.getSubmenu())}},{key:"hasMatrixTrack",value:function(r){return qp(this.props.tracks).filter(o=>o.type==="heatmap").length>0}},{key:"handleAddHorizontalSection",value:function(){const i=qp(this.props.tracks).filter(o=>o.type==="heatmap")[0];this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"}),this.props.onAddTrack({data:{type:"horizontal-section",server:i.server,tilesetUid:i.tilesetUid,slicePos:this.props.coords[1]},options:{valueScaling:"log"},type:"horizontal-bar",height:30,position:"top"})}},{key:"copyLocationToClipboard",value:function(){const r=this.props.tracks[0]&&this.props.tracks[0].position==="center",i=this.props.genomePositionSearchBox?.searchField?.chromInfo;if(!i){console.warn("There needs to be a genome position search box present to copy the location"),this.props.closeMenu();return}const o=this.props.coords[0],a=this.props.coords[1],s=dr(o,i),c=Fr(",d");let l=`${s[0]}:${c(s[1])}`;if(r){const u=dr(a,i);l=`${l} & ${u[0]}:${c(u[1])}`,$z(l)}else $z(l);this.props.closeMenu()}},{key:"handleAddVerticalSection",value:function(){const i=qp(this.props.tracks).filter(o=>o.type==="heatmap")[0];this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"}),this.props.onAddTrack({data:{type:"vertical-section",server:i.server,tilesetUid:i.tilesetUid,slicePos:this.props.coords[0]},options:{valueScaling:"log"},type:"vertical-bar",height:30,position:"left"})}}])}(ul(Yo).with(xN));Bz.propTypes={coords:q.array,customItems:q.array};function Ike(e,t){if(window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(i=>{Gt[i]=window.higlassTracksByType[i].config}),!(e in Ca)&&!t){console.warn("unknown data type:",e);return}const n={"1d-horizontal":["top","bottom","left","right"],"2d":["center"],"1d-vertical":["left","right"]},r=Ca[e]||{};if(t)for(const i of t)if(!Gt[i])console.warn("unknown track type",i);else for(const o of n[Gt[i].orientation])r[o]=i;return r}function Rke(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Dke(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Lke(r.key),r)}}function Nke(e,t,n){return t&&Dke(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Lke(e){var t=$ke(e,"string");return typeof t=="symbol"?t:t+""}function $ke(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function jke(e,t,n){return t=um(t),Bke(e,zz()?Reflect.construct(t,n||[],um(e).constructor):t.apply(e,n))}function Bke(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return zke(e)}function zke(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(zz=function(){return!!e})()}function um(e){return um=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},um(e)}function Hke(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Lk(e,t)}function Lk(e,t){return Lk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Lk(e,t)}let $k=function(e){function t(n){var r;Rke(this,t),r=jke(this,t,[n]),r.closing=!1,r.brushX=ol();const{tracks:i}=r.props;return r.canvasElement=null,r.tracksByUidInit={},[...r.props.tracks.top||[],...r.props.tracks.right||[],...r.props.tracks.bottom||[],...r.props.tracks.left||[],...r.props.tracks.gallery||[],...r.props.tracks.center||[]].forEach(o=>{o.type==="combined"?o.contents.forEach(a=>{r.tracksByUidInit[a.uid]=!1}):r.tracksByUidInit[o.uid]=!1}),r.annotationUid=null,r.annotationCreatedNotified=!1,r.xScale=null,r.yScale=null,r.addUidsToTracks(i),r.trackToReplace=null,r.trackRenderer=null,r.brushSelection=null,r.configTrackMenu=null,r.state={sizeMeasured:!1,height:10,width:10,tracks:i,init:!1,addTrackExtent:null,addTrackPosition:null,customDialog:null,mouseOverOverlayUid:null,forceUpdate:0,rangeSelection:[null,null],rangeSelectionEnd:!1,chromInfo:null,defaultChromSizes:null,contextMenuCustomItems:null,contextMenuPosition:null,addDivisorDialog:null},r.reset=!0,window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(o=>{Gt[o]=window.higlassTracksByType[o].config}),r.topHeight=0,r.bottomHeight=0,r.leftWidth=0,r.rightWidth=0,r.centerHeight=0,r.centerWidth=0,r.dragTimeout=null,r.previousPropsStr="",r.brushesCreated={},r.appZoomedBound=r.appZoomed.bind(r),r.handleClickBound=r.handleClick.bind(r),r.contextMenuHandlerBound=r.contextMenuHandler.bind(r),r.handleNoTrackAddedBound=r.handleNoTrackAdded.bind(r),r.handleTracksAddedBound=r.handleTracksAdded.bind(r),r.closeMenusBound=r.closeMenus.bind(r),r.handleAddDivisorBound=r.handleAddDivisor.bind(r),r.handleAddSeriesBound=r.handleAddSeries.bind(r),r.handleChangeTrackDataBound=r.handleChangeTrackData.bind(r),r.handleChangeTrackTypeBound=r.handleChangeTrackType.bind(r),r.handleCloseTrackBound=r.handleCloseTrack.bind(r),r.handleConfigureTrackBound=r.handleConfigureTrack.bind(r),r.handleExportTrackDataBound=r.handleExportTrackData.bind(r),r.handleLockValueScaleBound=r.handleLockValueScale.bind(r),r.handleReplaceTrackBound=r.handleReplaceTrack.bind(r),r.handleTrackOptionsChangedBound=r.handleTrackOptionsChanged.bind(r),r.handleUnlockValueScaleBound=r.handleUnlockValueScale.bind(r),r.onAddTrack=r.handleAddTrack.bind(r),r}return Hke(t,e),Nke(t,[{key:"waitForDOMAttachment",value:function(r){if(!this.mounted)return;const i=this.divTiledPlot;i?.getRootNode().contains(i)?r():requestAnimationFrame(()=>this.waitForDOMAttachment(r))}},{key:"componentDidMount",value:function(){this.mounted=!0,this.element=this.divTiledPlot,this.waitForDOMAttachment(()=>{Ih.ElementQueries.listen(),this.resizeSensor=new Ih.ResizeSensor(this.element.parentNode,this.measureSize.bind(this)),this.measureSize()}),this.addEventListeners(),this.pubSubs=[],this.pubSubs.push(this.props.pubSub.subscribe("contextmenu",this.contextMenuHandlerBound))}},{key:"getTracksData",value:function(r,i){let o=[];const a=this.listAllTrackObjects();for(const c of r)c.track.contents?o=[...o,...c.track.contents]:o=[...o,c.track];const s=[];for(const c of o)if(c.type==="heatmap"){const l=a.filter(v=>v.id===c.uid)[0],u=l._xScale(i[0][0]),f=l._xScale(i[1][0]),h=l._yScale(i[0][1]),d=l._yScale(i[1][1])-h,g=f-u,y=l.getVisibleRectangleData(u,h,d,g),m=y.data.reduce((v,_)=>v+_,0)/y.data.length;s.push({name:c.options.name,mean:m,trackUid:c.uid})}return s}},{key:"appZoomed",value:function(){if(this.brushCurrent&&this.brushEl){if(this.brushType==="horizontal"){const r=[this.xScale(this.brushSelection[0])+this.brushTrack.left,this.xScale(this.brushSelection[1])+this.brushTrack.left];this.brushEl.call(this.brushCurrent.move,r)}if(this.brushType==="vertical"){const r=[this.yScale(this.brushSelection[0])+this.brushTrack.top,this.yScale(this.brushSelection[1])+this.brushTrack.top];this.brushEl.call(this.brushCurrent.move,r)}if(this.brushType==="2d"){const r=[[this.xScale(this.brushSelection[0][0])+this.brushTrack.left,this.yScale(this.brushSelection[0][1])+this.brushTrack.top],[this.xScale(this.brushSelection[1][0])+this.brushTrack.left,this.yScale(this.brushSelection[1][1])+this.brushTrack.top]];this.brushEl.call(this.brushCurrent.move,r)}}}},{key:"clearOtherBrushes",value:function(r){for(const i of Object.values(this.brushes))i.on("brush",null);for(const i in this.brushes){const o=this.brushes[i];o!==r&&this.brushEls[i].call(o.move,null)}for(const i of Object.values(this.brushes))i.on("brush",()=>this.clearOtherBrushes(i))}},{key:"handleClick",value:function(r){const i=Xt(r,this.divTiledPlot);let o=!1;if(this.brushEl){const a=this.brushSelectionRaw,s=this.brushTrack;this.brushType==="2d"?i[0]>=a[0][0]&&i[0]<=a[1][0]&&i[1]>=a[0][1]&&i[1]<=a[1][1]&&(o=!0):this.brushType==="horizontal"?i[0]>=a[0]&&i[0]<=a[1]&&i[1]>=s.top&&i[1]<=s.top+Zn(s.track)&&(o=!0):this.brushType==="vertical"&&i[1]>=a[0]&&i[1]<=a[1]&&i[0]>=s.left&&i[0]<=s.left+Qn(s.track)&&(o=!0),o||this.cancelBrushes()}}},{key:"cancelBrushes",value:function(){this.brushEl.call(this.brushCurrent.move,null),this.brushEl=null,this.props.apiPublish("annotationRemoved",this.annotationUid),this.annotationUid=null,this.annotationCreatedNotified=!1,this.removeBrushText()}},{key:"removeBrushText",value:function(){_t(this.divTiledPlot).selectAll(".brush-svg").selectAll(".data-values").remove()}},{key:"enableBrushes",value:function(){_t(this.divTiledPlot).selectAll(".brush-svg").selectAll(".overlay").style("pointer-events","all")}},{key:"disableBrushes",value:function(){_t(this.divTiledPlot).selectAll(".overlay").attr("pointer-events","none"),_t(this.divTiledPlot).selectAll(".brush-rect").attr("pointer-events","none"),_t(this.divTiledPlot).selectAll(".selection").attr("pointer-events","all"),_t(this.divTiledPlot).selectAll(".brush-svg").attr("pointer-events","none")}},{key:"createBrushes",value:function(r){const i={};this.brushCurrent=null;const o=this.props.apiPublish,a=this;for(const s of r){if(i[s.track.uid])continue;let c=null;["top","bottom"].includes(s.track.position)?(c=ol(),c.on("brush",l=>{l.selection&&(this.brushCurrent=c,this.brushType="horizontal",this.brushTrack=s,this.brushSelectionRaw=l.selection,this.brushSelection=[this.xScale.invert(l.selection[0]-s.left),this.xScale.invert(l.selection[1]-s.left)],o("annotationChanged",{annotationUid:this.annotationUid,viewUid:this.props.uid,track:s.track,extent:[this.brushSelection,[null,null]]}))}),c.on("end",l=>{this.annotationCreatedNotified||o("annotationCreated",{annotationUid:a.annotationUid,track:s.track,viewUid:this.props.uid,extent:[this.brushSelection,[null,null]]})})):["left","right"].includes(s.track.position)?(c=al(),c.on("brush",l=>{l.selection&&(this.brushCurrent=c,this.brushType="vertical",this.brushTrack=s,this.brushSelectionRaw=l.selection,this.brushSelection=[this.yScale.invert(l.selection[0]-s.top),this.yScale.invert(l.selection[1]-s.top)],o("annotationChanged",{annotationUid:this.annotationUid,track:s.track,viewUid:this.props.uid,extent:[[null,null],this.brushSelection]}))}),c.on("end",l=>{this.annotationCreatedNotified||o("annotationCreated",{annotationUid:a.annotationUid,track:s.track,viewUid:this.props.uid,extent:[[null,null],this.brushSelection]})})):(c=Wd(),c.on("brush",l=>{if(!l.selection)return;this.brushCurrent=c,this.brushType="2d",this.brushTrack=s,this.brushSelectionRaw=l.selection,this.brushSelection=[[this.xScale.invert(l.selection[0][0]-s.left),this.yScale.invert(l.selection[0][1]-s.top)],[this.xScale.invert(l.selection[1][0]-s.left),this.yScale.invert(l.selection[1][1]-s.top)]];const u=this.getTracksData(r.filter(h=>h.track.position==="center"),this.brushSelection),f=Object.values(u).filter(h=>h.mean!==void 0).map(h=>h.mean);if(f.length){_t(this.divTiledPlot).selectAll(".brush-svg").selectAll(".data-values").data(f).enter().append("text").classed("data-values",!0);const p=Fr(".3f");_t(this.divTiledPlot).selectAll(".data-values").attr("x",l.selection[0][0]).attr("y",l.selection[0][1]).text(d=>`mean: ${p(d)}`)}o("annotationChanged",{annotationUid:this.annotationUid,extent:this.brushSelection,data:u,track:s.track,viewUid:this.props.uid})}),c.on("end",l=>{let u={};this.brushSelection?.[0].length&&(u=this.getTracksData(r.filter(f=>f.track.position==="center"),this.brushSelection)),this.annotationCreatedNotified?l.selection||this.removeBrushText():(o("annotationCreated",{annotationUid:a.annotationUid,track:s.track,viewUid:this.props.uid,extent:this.brushSelection,data:u}),this.annotationCreatedNotified=!0)})),c.keyModifiers(!1),c.extent([[s.left,s.top],[s.left+Qn(s.track),s.top+Zn(s.track)]]),c.on("start",function(l){a.annotationUid||(a.annotationUid=Mt.nice(),s.annotationUid=a.annotationUid),a.brushEl=_t(this)}),i[s.track.uid]=c}return i}},{key:"removeBrushes",value:function(){_t(this.divTiledPlot).selectAll(".brush-svg").remove()}},{key:"addBrushes",value:function(){if(this.annotationUid)return;const r=this.positionedTracks().filter(s=>s.track.position!=="whole"),i=this.createBrushes(r);this.brushes=i;const o={};this.brushEls=o,_t(this.divTiledPlot).selectAll(".brush").remove(),_t(this.divTiledPlot).selectAll(".brush-svg").data([1]).enter().append("svg").classed("brush-svg",!0).style("position","absolute").style("left",0).style("top",0).style("z-index",101);const a=_t(this.divTiledPlot).select(".brush-svg").selectAll(".brush").data(r,s=>s.track.uid).enter().append("g").attr("class","brush");_t(this.divTiledPlot).selectAll(".brush-svg").attr("width",this.state.width).attr("height",this.state.height),_t(this.divTiledPlot).selectAll(".brush-rect").attr("x",s=>s.left).attr("y",s=>s.top).style("stroke","1px solid black").style("fill","transparent").attr("width",s=>s.width).attr("height",s=>s.height),a.each(function(s){o[s.track.uid]=_t(this),o[s.track.uid].call(i[s.track.uid])})}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){this.addUidsToTracks(r.tracks),this.setState({tracks:r.tracks})}},{key:"shouldComponentUpdate",value:function(r,i){const o=this.previousPropsStr,a=this.updatablePropsToString(r),s=JSON.stringify(this.state),c=JSON.stringify(i),l=o!==a||s!==c||this.props.chooseTrackHandler!==r.chooseTrackHandler||this.props.customDialog!==r.customDialog;l&&(this.previousPropsStr=a);const u=this.numTracks;return this.numTracks=0,oo(this.props.tracks,()=>this.numTracks++),this.reset=this.reset||u===0&&this.numTracks>0,this.numTracks||(this.tracksByUidInit={}),r.mouseTool===ku?this.addBrushes():this.disableBrushes(),l}},{key:"componentDidUpdate",value:function(r,i){if(i.rangeSelection!==this.state.rangeSelection){let o=[null,null];this.state.defaultChromSizes&&this.state.rangeSelection.every(a=>a?.length)&&(o=this.state.rangeSelection.map(a=>Cp(...a,this.state.defaultChromSizes))),this.props.onRangeSelection({dataRange:this.state.rangeSelection,genomicRange:o})}if(this.state.customDialog||this.props.customDialog){const o=this.state.customDialog||this.props.customDialog;if(o.length>0){const a=[],s=[];o.forEach(c=>{a.push(c.bodyComponent),s.push(c.bodyProps)}),this.props.modal.open(x.createElement(DS,{children:a,bodyProps:s,onCancel:this.props.closeCustomDialog,title:o[0].title}))}}if(r.tracks.center,this.props.tracks.center,(this.state.addTrackPosition||this.props.addTrackPosition)&&this.props.modal.open(x.createElement(Zd,{extent:this.state.addTrackExtent||this.props.addTrackExtent,host:this.state.addTrackHost,onCancel:this.handleNoTrackAddedBound,onTracksChosen:this.handleTracksAddedBound,position:this.state.addTrackPosition||this.props.addTrackPosition,trackSourceServers:this.props.trackSourceServers})),this.state.addDivisorDialog){const o=this.state.addDivisorDialog;this.props.modal.open(x.createElement(Zd,{datatype:Gt[o.type].datatype[0],host:this.state.addTrackHost,onCancel:()=>{this.setState({addDivisorDialog:null})},onTracksChosen:a=>{this.handleDivisorChosen(o,a)},trackSourceServers:this.props.trackSourceServers}))}}},{key:"componentWillUnmount",value:function(){this.closing=!0,this.removeEventListeners(),this.pubSubs.forEach(r=>this.props.pubSub.unsubscribe(r))}},{key:"addUidsToTracks",value:function(r){Object.keys(r).forEach(i=>{r[i].forEach(o=>{o.uid=o.uid||Mt.nice()})})}},{key:"contextMenuHandler",value:function(r){if(!this.divTiledPlot)return;const i=this.divTiledPlot.getBoundingClientRect();if(!_0(r.clientX,r.clientY,i.left,i.left+i.width,i.top,i.top+i.height))return;const a=[r.clientX,r.clientY],s=Xt(r,this.divTiledPlot),c=this.trackRenderer.zoomedXScale.invert(s[0]),l=this.trackRenderer.zoomedYScale.invert(s[1]);let u=null;r.hgCustomItems&&(u=r.hgCustomItems.map(f=>x.createElement(xt,{key:f.key,onClick:f.onClick},f.text))),this.setState({contextMenuCustomItems:u,contextMenuPosition:{left:a[0],top:a[1],canvasLeft:s[0]+this.trackRenderer.xPositionOffset,canvasTop:s[1]+this.trackRenderer.yPositionOffset},contextMenuDataX:c,contextMenuDataY:l})}},{key:"measureSize",value:function(){this.element.clientWidth>0&&this.element.clientHeight>0&&this.setState({sizeMeasured:!0,width:this.element.clientWidth,height:this.element.clientHeight})}},{key:"handleTrackOptionsChanged",value:function(r,i){return this.props.onTrackOptionsChanged(r,i)}},{key:"handleCollapseTrack",value:function(r){this.handleTrackOptionsChanged(r,{collapsed:!0})}},{key:"handleExpandTrack",value:function(r){this.handleTrackOptionsChanged(r,{collapsed:!1})}},{key:"handleScalesChanged",value:function(r,i){this.xScale=r,this.yScale=i,this.appZoomed(),this.props.onScalesChanged(r,i)}},{key:"handleTilesetInfoReceived",value:function(r,i){const o=rn(this.props.tracks,r);if(!o){console.warn("Strange, track not found:",r);return}this.tracksByUidInit[o.uid]=!0,this.checkAllTilesetInfoReceived(),o.options||(o.options={}),o.name=i.name,o.maxWidth=i.max_width,o.transforms=i.transforms,o.aggregationModes=i.aggregation_modes,o.header=i.header,o.binsPerDimension=i.bins_per_dimension,i.resolutions?(o.maxZoom=i.resolutions.length-1,o.resolutions=i.resolutions):o.maxZoom=i.max_zoom,i.row_infos&&(o.row_infos=i.row_infos),o.coordSystem=i.coordSystem,o.datatype=i.datatype}},{key:"checkAllTilesetInfoReceived",value:function(){if(this.state.init&&!this.reset||!this.trackRenderer||!this.props.zoomToDataExtentOnInit())return;const r=Object.keys(this.trackRenderer.trackDefObjects).map(o=>{const a=this.trackRenderer.trackDefObjects[o].trackObject;return a.childTracks?a.childTracks:a}).reduce((o,a)=>o.concat(a),[]).filter(({tilesetInfo:o})=>typeof o<"u"&&o!==!0),i=Object.values(this.tracksByUidInit).filter(o=>o).length;r.length===i&&(this.setState({init:!0}),this.reset=!1,this.handleZoomToData())}},{key:"handleOverlayMouseEnter",value:function(r){this.setState({mouseOverOverlayUid:r}),this.props.setOverTrackChooser(!0)}},{key:"handleOverlayMouseLeave",value:function(r){r===this.state.mouseOverOverlayUid&&this.setState({mouseOverOverlayUid:null}),this.props.setOverTrackChooser(!1)}},{key:"handleTrackPositionChosen",value:function(r,i){this.setState({mouseOverOverlayUid:null}),this.props.chooseTrackHandler(r.track.uid,i)}},{key:"handleNoTrackAdded",value:function(){this.trackToReplace=null,this.props.onNoTrackAdded(),this.setState({addTrackExtent:null,addTrackPosition:null,addTrackHost:null})}},{key:"handleAddDivisor",value:function(r){this.setState({addDivisorDialog:r})}},{key:"handleDivisorChosen",value:function(r,i){this.setState({addDivisorDialog:null});const o=r.data?{server:r.data.server,tilesetUid:r.data.tilesetUid}:{server:r.server,tilesetUid:r.tilesetUid},a={server:i[0].server,tilesetUid:i[0].uuid};this.handleChangeTrackData(r.uid,{type:"divided",children:[o,a]})}},{key:"handleDivideSeries",value:function(r){}},{key:"handleAddSeries",value:function(r){const i=Mu(this.props.tracks,r),o=rn(this.props.tracks,r);this.setState({addTrackPosition:i,addTrackHost:o})}},{key:"handleReplaceTrack",value:function(r,i){this.trackToReplace=r,this.handleAddTrack(i)}},{key:"handleAddTrack",value:function(r,i){this.setState({addTrackExtent:i,addTrackPosition:r,addTrackHost:null})}},{key:"handleResizeTrack",value:function(r,i,o){const{tracks:a}=this.state;for(const s in a){const l=a[s].filter(u=>u.uid===r);l.length>0&&(l[0].width=i,l[0].height=o)}this.setState({tracks:a,forceUpdate:Math.random()}),this.props.onResizeTrack()}},{key:"closeMenus",value:function(){this.setState({closeTrackMenuId:null,configTrackMenuId:null,contextMenuPosition:null,contextMenuCustomItems:null})}},{key:"handleLockValueScale",value:function(r){this.closeMenus(),this.props.onLockValueScale(r)}},{key:"handleUnlockValueScale",value:function(r){this.closeMenus(),this.props.onUnlockValueScale(r)}},{key:"handleCloseTrack",value:function(r){this.closeMenus(),this.props.onCloseTrack(r)}},{key:"handleChangeTrackType",value:function(r,i){this.closeMenus(),this.props.onChangeTrackType(r,i)}},{key:"handleChangeTrackData",value:function(r,i){this.closeMenus(),this.props.onChangeTrackData(r,i)}},{key:"handleTracksAdded",value:function(r,i,o,a){return this.trackToReplace&&(this.handleCloseTrack(this.trackToReplace),this.trackToReplace=null),this.props.onTracksAdded(r,i,o,a),this.setState({addTrackExtent:null,addTrackPosition:null,addTrackHost:null}),r}},{key:"handleCloseTrackMenuOpened",value:function(r,i){this.setState({closeTrackMenuId:r,closeTrackMenuLocation:i})}},{key:"handleCloseContextMenu",value:function(){this.setState({contextMenuCustomItems:null,contextMenuPosition:null,contextMenuDataX:null,contextMenuDataY:null})}},{key:"handleCloseTrackMenuClosed",value:function(){this.setState({closeTrackMenuId:null})}},{key:"handleConfigTrackMenuOpened",value:function(r,i){this.closeMenus(),this.setState({configTrackMenuId:r,configTrackMenuLocation:i})}},{key:"handleConfigureTrack",value:function(r,i){this.setState({configTrackMenuId:null,trackOptions:{track:r,configComponent:i}}),this.closeMenus()}},{key:"handleSortEnd",value:function(r){this.setState(i=>{const o=i.tracks,a={};for(let s=0;s<r.length;s++)a[r[s].uid]=s;for(const s in o){const c=o[s];if(c.length&&c[0].uid in a){const l=new Array(c.length);for(let u=0;u<c.length;u++)l[a[c[u].uid]]=c[u];o[s]=l}}return{tracks:o,forceUpdate:Math.random()}})}},{key:"createTracksAndLocations",value:function(){const r=[],{tracks:i}=this.state;return Mp.forEach(o=>{i[o]&&i[o].forEach(a=>{a.contents&&a.contents.forEach(s=>{s.position=o}),a.position=o,r.push({track:a,location:o})})}),r}},{key:"calculateTrackPosition",value:function(r,i){let o=this.props.paddingTop,a=this.props.paddingBottom,s=this.props.paddingLeft,c=this.props.paddingRight,l=this.centerWidth,u=Zn(r),f=0,h=0;switch(i){case"top":s+=this.leftWidth;for(let p=0;p<this.state.tracks.top.length&&this.state.tracks.top[p].uid!==r.uid;p++)o+=Zn(this.state.tracks.top[p]);break;case"bottom":s+=this.leftWidth,o+=this.topHeight+this.centerHeight+this.galleryDim;for(let p=0;p<this.state.tracks.bottom.length&&this.state.tracks.bottom[p].uid!==r.uid;p++)o+=Zn(this.state.tracks.bottom[p]);break;case"left":o+=this.topHeight,l=Qn(r),u=this.centerHeight;for(let p=0;p<this.state.tracks.left.length&&this.state.tracks.left[p].uid!==r.uid;p++)s+=Qn(this.state.tracks.left[p]);break;case"right":s+=this.leftWidth+this.centerWidth+this.galleryDim,o+=this.topHeight,l=Qn(r),u=this.centerHeight;for(let p=0;p<this.state.tracks.right.length&&this.state.tracks.right[p].uid!==r.uid;p++)s+=Qn(this.state.tracks.right[p]);break;case"center":s+=this.leftWidth,o+=this.topHeight,u=this.centerHeight;break;case"gallery":s+=this.leftWidthNoGallery,o+=this.topHeightNoGallery,l=this.state.width-this.leftWidthNoGallery-this.rightWidthNoGallery-this.props.paddingLeft,u=this.state.height-this.topHeightNoGallery-this.bottomHeightNoGallery-this.props.paddingTop,f=this.galleryDim,h=this.galleryDim;for(let p=0;p<this.state.tracks.gallery.length&&this.state.tracks.gallery[p].uid!==r.uid;p++)l-=2*this.state.tracks.gallery[p].height,u-=2*this.state.tracks.gallery[p].height,s+=this.state.tracks.gallery[p].height,o+=this.state.tracks.gallery[p].height,f-=this.state.tracks.gallery[p].height,h-=this.state.tracks.gallery[p].height;for(let p=0;p<this.state.tracks.right.length;p++)c+=this.state.tracks.right[p].width;for(let p=0;p<this.state.tracks.bottom.length;p++)a+=this.state.tracks.bottom[p].height;r.offsetX=f,r.offsetY=h,r.offsetTop=o,r.offsetRight=c,r.offsetBottom=a,r.offsetLeft=s;break;default:l=this.leftWidth+this.centerWidth+this.rightWidth,u=this.topHeight+this.centerHeight+this.bottomHeight}return Mp.indexOf(i)===-1&&console.warn("Track with unknown position present:",i,r),{left:s,top:o,width:l,height:u,track:r}}},{key:"findCentralHeatmapTrack",value:function(r){for(let i=0;i<r.length;i++){if(r[i].type==="combined")return this.findCentralHeatmapTrack(r[i].contents);if(r[i].type==="heatmap")return r[i]}}},{key:"trackUuidToOrientation",value:function(r){}},{key:"overlayTracks",value:function(r){return this.props.overlays?this.props.overlays.filter(o=>o.includes?.length).map(o=>{const a=o.type?`overlay-${o.type}-track`:"overlay-track",s={...o,uid:o.uid||Mt.nice(),includes:o.includes,type:a,options:Object.assign(o.options,{orientationsAndPositions:o.includes.map(c=>{const l=rn(this.props.tracks,c);if(!l)return console.warn(`OverlayTrack included uid (${c}) not found in the track list`),null;const u=Mu(this.props.tracks,l.uid);let f;if((u==="top"||u==="bottom")&&(f="1d-horizontal"),(u==="left"||u==="right")&&(f="1d-vertical"),u==="center"&&(f="2d"),!f)return console.warn("Only top, bottom, left, right, or center tracks can be overlaid at the moment"),null;const h=r.filter(d=>d.track.uid===c);if(!h.length)return null;const p={left:h[0].left-this.props.paddingLeft,top:h[0].top-this.props.paddingTop,width:h[0].width,height:h[0].height};return{orientation:f,position:p}}).filter(c=>c)})};return{top:this.props.paddingTop,left:this.props.paddingLeft,width:this.leftWidth+this.centerWidth+this.rightWidth,height:this.topHeight+this.centerHeight+this.bottomHeight+this.props.marginTop+this.props.marginBottom,track:s}}):[]}},{key:"positionedTracks",value:function(){return this.createTracksAndLocations().map(({track:i,location:o})=>this.calculateTrackPosition(i,o))}},{key:"createTrackPositionTexts",value:function(){const r=this.positionedTracks();return this.createTracksAndLocations(),r.map(o=>{const{track:a}=o;return x.createElement("div",{key:a.uid,style:{left:o.left,top:o.top,width:Qn(o.track),height:Zn(o.track),position:"absolute"}},a.uid.slice(0,2))})}},{key:"handleExportTrackData",value:function(r,i){const o=rn(this.props.tracks,i);let a=null;r!==i?a=this.trackRenderer.trackDefObjects[r].trackObject.createdTracks[o.uid]:{trackObject:a}=this.trackRenderer.trackDefObjects[r],a.exportData(),this.closeMenus()}},{key:"listTracksAtPosition",value:function(r,i,o=!1){const a=[];if(!this.trackRenderer)return[];for(const s in this.trackRenderer.trackDefObjects){const c=this.trackRenderer.trackDefObjects[s].trackObject;if(c.respondsToPosition(r,i))if(o){if(this.props.tracks.center)if(this.props.tracks.center.contents)for(let l=0;l<this.props.tracks.center.contents.length;l++)this.props.tracks.center.contents[l].uid===s&&(c.is2d=!0);else this.props.tracks.center?.length&&this.props.tracks.center[0].uid===s&&(c.is2d=!0);a.push(c)}else a.push(this.trackRenderer.trackDefObjects[s].trackDef.track)}return a}},{key:"listAllTrackObjects",value:function(){const r=[];for(const i in this.trackRenderer.trackDefObjects){const o=this.trackRenderer.trackDefObjects[i];if(o.trackObject.createdTracks)for(const a in o.trackObject.createdTracks){const s=o.trackObject.createdTracks[a];r.push(s)}else r.push(o.trackObject)}return r}},{key:"handleZoomToData",value:function(){const r=Number.MAX_SAFE_INTEGER,i=Number.MIN_SAFE_INTEGER,o=[r,r],a=[i,i],s=this.listAllTrackObjects();for(const h of s)if(h.tilesetInfo&&h.tilesetInfo.min_pos)for(let p=0;p<h.tilesetInfo.min_pos.length;p++)h.tilesetInfo.min_pos[p]<o[p]&&(o[p]=h.tilesetInfo.min_pos[p]),h.tilesetInfo.max_pos[p]>a[p]&&(a[p]=h.tilesetInfo.max_pos[p]);const c=this.trackRenderer.currentProps.paddingLeft+this.trackRenderer.currentProps.leftWidth;let l=[c,c+this.trackRenderer.currentProps.centerWidth].map(this.trackRenderer.zoomTransform.rescaleX(this.trackRenderer.xScale).invert);const u=this.trackRenderer.currentProps.paddingTop+this.trackRenderer.currentProps.topHeight;let f=[u,u+this.trackRenderer.currentProps.centerHeight].map(this.trackRenderer.zoomTransform.rescaleY(this.trackRenderer.yScale).invert);this.trackRenderer.zoomTransform.k=1,this.trackRenderer.zoomTransform.x=0,this.trackRenderer.zoomTransform.y=0,this.trackRenderer.applyZoomTransform(),o[0]<Number.MAX_SAFE_INTEGER&&a[0]>Number.MIN_SAFE_INTEGER&&(l=[o[0],a[0]]),o[1]<Number.MAX_SAFE_INTEGER&&a[1]>Number.MIN_SAFE_INTEGER&&(f=[o[1],a[1]]),this.props.onDataDomainChanged(l,f)}},{key:"resetViewport",value:function(){this.trackRenderer.zoomTransform.k=1,this.trackRenderer.zoomTransform.x=0,this.trackRenderer.zoomTransform.y=0,this.trackRenderer.applyZoomTransform(),this.props.onDataDomainChanged(this.props.initialXDomain,this.props.initialYDomain)}},{key:"updatablePropsToString",value:function(r){return JSON.stringify({tracks:r.tracks,overlays:r.overlays,viewOptions:r.viewOptions,uid:r.uid,addTrackExtent:r.addTrackExtent,addTrackPosition:r.addTrackPosition,editable:r.editable,marginTop:r.marginTop,marginBottom:r.marginBottom,marginLeft:r.marginLeft,marginRight:r.marginRight,paddingTop:r.paddingTop,paddingBottom:r.paddingBottom,paddingLeft:r.paddingLeft,paddingRight:r.paddingRight,mouseTool:r.mouseTool,initialXDomain:r.initialXDomain,initialYDomain:r.initialYDomain,trackSourceServers:r.trackSourceServers,zoomable:r.zoomable,draggingHappening:r.draggingHappening})}},{key:"getXYScales",value:function(){this.trackRenderer&&(this.xScale=this.trackRenderer.currentXScale,this.yScale=this.trackRenderer.currentYScale)}},{key:"rangeViewToDataLoci",value:function(r,i){return i?[Number.parseInt(i.invert(r[0]),10),Number.parseInt(i.invert(r[1]),10)]:[null,null]}},{key:"rangeSelectionResetHandler",value:function(){this.state.rangeSelectionMaster&&this.setState({is1dRangeSelection:null,rangeSelection:[null,null],rangeSelectionMaster:null,rangeSelectionEnd:!1})}},{key:"rangeSelection1dEndHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const i=r==="x"?this.xScale:this.yScale;return o=>{this.setState(a=>{const s=a.is1dRangeSelection?[null,null]:a.rangeSelection.slice(),c=!this.state.is1dRangeSelection&&r==="y"?1:0;let l=this.rangeViewToDataLoci(o,i);const u=l[1]-l[0];if(this.props.rangeSelection1dSize[0]>u){const f=l[0]+u/2;l=[f-this.props.rangeSelection1dSize[0]/2,f+this.props.rangeSelection1dSize[0]/2]}else if(this.props.rangeSelection1dSize[1]<u){const f=l[0]+u/2;l=[f-this.props.rangeSelection1dSize[1]/2,f+this.props.rangeSelection1dSize[1]/2]}return s[c]=l,this.props.rangeSelectionToInt&&(s[c]=s[c].map(f=>Math.round(f))),{rangeSelection:s,rangeSelectionEnd:!0}})}}},{key:"rangeSelection1dHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const i=r==="x"?this.xScale:this.yScale;return o=>{this.setState(a=>{const s=a.is1dRangeSelection?[null,null]:a.rangeSelection.slice(),c=!a.is1dRangeSelection&&r==="y"?1:0;return s[c]=this.rangeViewToDataLoci(o,i),{rangeSelection:s,rangeSelectionEnd:!1}})}}},{key:"rangeSelection1dStartHandler",value:function(){this.state.rangeSelectionMaster||this.setState({is1dRangeSelection:!0,rangeSelectionMaster:!0,rangeSelectionEnd:!1})}},{key:"rangeSelection2dHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales(),this.setState({rangeSelection:[this.rangeViewToDataLoci(r[0],this.xScale),this.rangeViewToDataLoci(r[1],this.yScale)],rangeSelectionEnd:!1})}},{key:"rangeSelection2dStartHandler",value:function(){this.state.rangeSelectionMaster||this.setState({is1dRangeSelection:!1,rangeSelectionMaster:!0,rangeSelectionEnd:!1})}},{key:"rangeSelection2dEndHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const i=this.rangeViewToDataLoci(r[0],this.xScale),o=this.rangeViewToDataLoci(r[1],this.yScale);let a=[i,o];const s=i[1]-i[0],c=o[1]-o[0],l=[s,c];a.forEach((u,f)=>{if(this.props.rangeSelection1dSize[0]>l[f]){const h=u[0]+Math.round(l[f]/2);u[0]=h-this.props.rangeSelection1dSize[0]/2,u[1]=h+this.props.rangeSelection1dSize[0]/2}else if(this.props.rangeSelection1dSize[1]<l[f]){const h=u[0]+Math.round(l[f]/2);u[0]=h-this.props.rangeSelection1dSize[1]/2,u[1]=h+this.props.rangeSelection1dSize[1]/2}}),this.props.rangeSelectionToInt&&(a=a.map(u=>u.map(f=>Math.round(f)))),this.setState({rangeSelection:a,rangeSelectionEnd:!0})}},{key:"getContextMenu",value:function(){if(this.state.contextMenuPosition){const r=this.listTracksAtPosition(this.state.contextMenuPosition.canvasLeft,this.state.contextMenuPosition.canvasTop);return x.createElement(Go,{onMenuClosed:this.closeMenusBound},x.createElement(Bz,{apiPublish:this.props.apiPublish,closeMenu:this.closeMenusBound,coords:[this.state.contextMenuDataX,this.state.contextMenuDataY],customItems:this.state.contextMenuCustomItems,genomePositionSearchBox:this.props.genomePositionSearchBox,onAddDivisor:this.handleAddDivisorBound,onAddSeries:this.handleAddSeriesBound,onAddTrack:i=>{this.props.onTracksAdded([i],i.position,null,null),this.handleCloseContextMenu()},onChangeTrackData:this.handleChangeTrackDataBound,onChangeTrackType:this.handleChangeTrackTypeBound,onCloseTrack:this.handleCloseTrackBound,onConfigureTrack:this.handleConfigureTrackBound,onExportData:this.handleExportTrackDataBound,onLockValueScale:this.handleLockValueScaleBound,onReplaceTrack:this.handleReplaceTrackBound,onTrackOptionsChanged:this.handleTrackOptionsChangedBound,onUnlockValueScale:this.handleUnlockValueScaleBound,orientation:"right",position:this.state.contextMenuPosition,theme:this.props.theme,trackRenderer:this.trackRenderer,tracks:r,trackSourceServers:this.props.trackSourceServers}))}return null}},{key:"getIdealizedTrackPositionsOverlay",value:function(){const r=this.props.draggingHappening,{datatype:i}=r,o=Ike(i,r.defaultTracks);if(!o)return null;const a=new Set(["top","left","right","center","bottom"].filter(E=>E in this.state.tracks&&this.state.tracks[E].length)),s="top"in o,c="left"in o,l="right"in o,u="bottom"in o,f="center"in o,h="center"in o||a.has("left")||a.has("right")||a.has("center"),p="top"in o,d="bottom"in o&&h,g="left"in o&&h,y="right"in o&&h,b=Object.keys(o).length&&("center"in o||h),m=x.createElement("div",{style:{flexGrow:1}}),v=x.cloneElement(m),_=x.createElement("div",{style:{display:"flex",flexGrow:1}},p&&(b||g)?m:null,x.createElement(P1,{defaultTrackType:o.top,draggingHappening:this.props.draggingHappening,enabled:s,onTrackDropped:E=>this.handleTracksAdded([E],"top"),style:{border:"1px solid black",flexGrow:1}}),p&&(b||g)?v:null),T=x.createElement("div",{style:{display:"flex",flexGrow:1}},p&&(b||g)?m:null,x.createElement(P1,{defaultTrackType:o.bottom,draggingHappening:this.props.draggingHappening,enabled:u,onTrackDropped:E=>this.handleTracksAdded([E],"bottom"),style:{border:"1px solid black",flexGrow:1}}),p&&(b||g)?v:null),w=x.createElement(P1,{defaultTrackType:o.left,draggingHappening:this.props.draggingHappening,enabled:c,onTrackDropped:E=>this.handleTracksAdded([E],"left"),style:{border:"1px solid black",flexGrow:1}}),S=x.createElement(P1,{defaultTrackType:o.center,draggingHappening:this.props.draggingHappening,enabled:f,onTrackDropped:E=>this.handleTracksAdded([E],"center"),position:"center",style:{border:"1px solid black",flexGrow:1}}),k=x.cloneElement(w,{defaultTrackType:o.right,enabled:l,onTrackDropped:E=>this.handleTracksAdded([E],"right")});return x.createElement("div",{style:{position:"absolute",left:"0px",top:"0px",width:this.state.width,height:this.state.height}},x.createElement("div",{style:{position:"absolute",width:this.state.width,height:this.state.height,background:"white",opacity:.4}}),x.createElement("div",{style:{width:this.state.width,height:this.state.height,position:"absolute",display:"flex",flexDirection:"column"}},p?_:null,h&&x.createElement("div",{style:{display:"flex",height:p||d?"40%":"100%",width:"100%"}},g?w:null,b?S:null,y?k:null),d?T:null))}},{key:"render",value:function(){this.galleryDim=this.props.tracks.gallery?this.props.tracks.gallery.map(m=>Zn(m)).reduce(zo,0):0,this.topHeightNoGallery=this.props.tracks.top.map(m=>Zn(m)).reduce(zo,0),this.topHeight=this.topHeightNoGallery+this.galleryDim,this.bottomHeightNoGallery=this.props.tracks.bottom.map(m=>Zn(m)).reduce(zo,0),this.bottomHeight=this.bottomHeightNoGallery+this.galleryDim,this.leftWidthNoGallery=this.props.tracks.left.map(m=>Qn(m)).reduce(zo,0),this.leftWidth=this.leftWidthNoGallery+this.galleryDim,this.rightWidthNoGallery=this.props.tracks.right.map(m=>Qn(m)).reduce(zo,0),this.rightWidth=this.rightWidthNoGallery+this.galleryDim;const r=this.props.paddingTop+this.props.paddingBottom,i=this.props.paddingLeft+this.props.paddingRight;this.centerHeight=Math.max(1,this.state.height-this.topHeight-this.bottomHeight-r),this.centerWidth=Math.max(1,this.state.width-this.leftWidth-this.rightWidth-i);const o="none",a=x.createElement("div",{className:"top-track-container",style:{left:this.leftWidth+this.props.paddingLeft,top:this.props.paddingTop,width:this.centerWidth,height:this.topHeightNoGallery,outline:o,position:"absolute"}},x.createElement(eg,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===Xn,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onCollapseTrack:this.handleCollapseTrack.bind(this),onExpandTrack:this.handleExpandTrack.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:new Set(["bottom"]),scale:this.xScale,tracks:this.props.tracks.top,width:this.centerWidth})),s=x.createElement("div",{className:"left-track-container",style:{left:this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.leftWidthNoGallery,height:this.centerHeight,outline:o,position:"absolute"}},x.createElement(Dk,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===Xn,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onCollapseTrack:this.handleCollapseTrack.bind(this),onExpandTrack:this.handleExpandTrack.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("y").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:new Set(["right"]),scale:this.yScale,tracks:this.props.tracks.left})),c=x.createElement("div",{className:"right-track-container",style:{right:this.props.paddingRight,top:this.topHeight+this.props.paddingTop,width:this.rightWidthNoGallery,height:this.centerHeight,outline:o,position:"absolute"}},x.createElement(Dk,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===Xn,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onCollapseTrack:this.handleCollapseTrack.bind(this),onExpandTrack:this.handleExpandTrack.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("y").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:new Set(["left"]),scale:this.yScale,tracks:this.props.tracks.right,tracksControlAlignLeft:!0})),l=x.createElement("div",{className:"bottom-track-container",style:{left:this.leftWidth+this.props.paddingLeft,bottom:this.props.paddingBottom,width:this.centerWidth,height:this.bottomHeightNoGallery,outline:o,position:"absolute"}},x.createElement(eg,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===Xn,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onCollapseTrack:this.handleCollapseTrack.bind(this),onExpandTrack:this.handleExpandTrack.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:new Set(["top"]),scale:this.xScale,tracks:this.props.tracks.bottom,width:this.centerWidth})),u=x.createElement("div",{key:"galleryTracksDiv",className:"gallery-track-container",style:{left:this.leftWidthNoGallery+this.props.paddingLeft,top:this.topHeightNoGallery+this.props.paddingTop,width:this.centerWidth+2*this.galleryDim,height:this.centerHeight+2*this.galleryDim,outline:o,position:"absolute"}},x.createElement(MN,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,height:this.centerHeight+2*this.galleryDim,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),tracks:this.props.tracks.gallery,width:this.centerWidth+2*this.galleryDim}));let f=x.createElement("div",{className:$t("center-track-container",Ew["center-track-container"]),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.bottomHeight,outline:o}});this.props.tracks.center.length&&(f=x.createElement("div",{className:$t("center-track-container",Ew["center-track-container"]),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.centerHeight,outline:o}},x.createElement(xw,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===Xn,onAddSeries:this.handleAddSeries.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection2dStartHandler.bind(this),onRangeSelectionX:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionXEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionXY:this.rangeSelection2dHandler.bind(this),onRangeSelectionXYEnd:this.rangeSelection2dEndHandler.bind(this),onRangeSelectionY:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionYEnd:this.rangeSelection1dEndHandler("y").bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,scaleX:this.xScale,scaleY:this.yScale,tracks:this.props.tracks.center,uid:this.props.tracks.center[0].uid,width:this.centerWidth}))),this.createTrackPositionTexts();let h=this.positionedTracks();h=h.concat(this.overlayTracks(h));let p=null;this.state.sizeMeasured&&(p=x.createElement(uke,{ref:m=>{this.trackRenderer=m,this.checkAllTilesetInfoReceived()},canvasElement:this.props.canvasElement,centerHeight:this.centerHeight,centerWidth:this.centerWidth,disableTrackMenu:this.props.disableTrackMenu,dragging:this.props.dragging,galleryDim:this.galleryDim,getLockGroupExtrema:this.props.getLockGroupExtrema,height:this.state.height,initialXDomain:this.props.initialXDomain,initialYDomain:this.props.initialYDomain,isRangeSelection:this.props.mouseTool===Xn,isShowGlobalMousePosition:this.props.isShowGlobalMousePosition,isValueScaleLocked:this.props.isValueScaleLocked,leftWidth:this.leftWidth,leftWidthNoGallery:this.leftWidthNoGallery,metaTracks:this.props.metaTracks,onMouseMoveZoom:this.props.onMouseMoveZoom,onNewTilesLoaded:this.props.onNewTilesLoaded,onScalesChanged:this.handleScalesChanged.bind(this),onTilesetInfoReceived:this.handleTilesetInfoReceived.bind(this),onTrackOptionsChanged:this.handleTrackOptionsChanged.bind(this),onValueScaleChanged:this.props.onValueScaleChanged,paddingLeft:this.props.paddingLeft,paddingTop:this.props.paddingTop,pixiRenderer:this.props.pixiRenderer,pixiStage:this.props.pixiStage,pluginDataFetchers:this.props.pluginDataFetchers,pluginTracks:this.props.pluginTracks,positionedTracks:h,registerDraggingChangedListener:this.props.registerDraggingChangedListener,removeDraggingChangedListener:this.props.removeDraggingChangedListener,setCentersFunction:this.props.setCentersFunction,svgElement:this.props.svgElement,topHeight:this.topHeight,topHeightNoGallery:this.topHeightNoGallery,uid:this.props.uid,viewOptions:this.props.viewOptions,width:this.state.width,xDomainLimits:this.props.xDomainLimits,yDomainLimits:this.props.yDomainLimits,zoomable:this.props.zoomable,zoomLimits:this.props.zoomLimits},a,s,c,l,u,f));let d=null,g=null;this.state.configTrackMenuId&&(d=x.createElement(Go,{onMenuClosed:this.closeMenusBound},x.createElement(ape,{ref:m=>{this.configTrackMenu=m},apiPublish:this.props.apiPublish,closeMenu:this.closeMenusBound,onAddDivisor:this.handleAddDivisorBound,onAddSeries:this.handleAddSeriesBound,onAddTrack:this.handleAddTrackBound,onChangeTrackType:this.handleChangeTrackTypeBound,onCloseTrack:this.handleCloseTrackBound,onConfigureTrack:this.handleConfigureTrackBound,onExportData:this.handleExportTrackDataBound,onLockValueScale:this.handleLockValueScaleBound,onReplaceTrack:this.handleReplaceTrackBound,onTrackOptionsChanged:this.handleTrackOptionsChangedBound,onUnlockValueScale:this.handleUnlockValueScaleBound,position:this.state.configTrackMenuLocation,theme:this.props.theme,trackOrientation:Mu(this.props.tracks,this.state.configTrackMenuId),trackRenderer:this.trackRenderer,tracks:[rn(this.props.tracks,this.state.configTrackMenuId)]}))),this.state.closeTrackMenuId&&(g=x.createElement(Go,{onMenuClosed:this.handleCloseTrackMenuClosed.bind(this)},x.createElement(Yo,{position:this.state.closeTrackMenuLocation,theme:this.props.theme},x.createElement(CR,{onCloseTrack:this.handleCloseTrack.bind(this),tracks:[rn(this.props.tracks,this.state.closeTrackMenuId)]}))));let y=null;this.props.chooseTrackHandler&&(y=h.filter(m=>m.track.position!=="whole").map(m=>{let v="tiled-plot-track-overlay-animate";return(this.state.mouseOverOverlayUid||this.props.overTrackChooser)&&(v="tiled-plot-track-overlay-plain"),this.state.mouseOverOverlayUid===m.track.uid&&(v="tiled-plot-track-overlay-selected"),x.createElement("div",{className:ti[v],key:m.track.uid,onClick:_=>this.handleTrackPositionChosen(m,_),onDragEnter:_=>{this.handleOverlayMouseEnter(m.track.uid),_.preventDefault()},onDragLeave:()=>this.handleOverlayMouseLeave(m.track.uid),onDragOver:_=>_.preventDefault(),onDrop:()=>this.handleTrackPositionChosen(m),onMouseEnter:()=>this.handleOverlayMouseEnter(m.track.uid),onMouseLeave:()=>this.handleOverlayMouseLeave(m.track.uid),style:{position:"absolute",left:m.left,top:m.top,width:Qn(m),height:Zn(m),zIndex:1}})}));let b=null;if(this.xScale&&this.yScale&&this.props.editable&&this.state.trackOptions){const m=this.state.trackOptions.configComponent,v=this.state.trackOptions.track;b=x.createElement(m,{track:v,xScale:this.xScale,yScale:this.yScale,onCancel:()=>{this.setState({trackOptions:null})},onTrackOptionsChanged:_=>_,onSubmit:_=>{this.handleTrackOptionsChanged(this.state.trackOptions.track.uid,_),this.setState({trackOptions:null})}})}return x.createElement("div",{ref:m=>{this.divTiledPlot=m},className:$t("tiled-plot-div",ti["tiled-plot"]),onClick:this.handleClickBound,style:{marginBottom:this.props.marginBottom,marginLeft:this.props.marginLeft,marginRight:this.props.marginRight,marginTop:this.props.marginTop}},p,y,d,g,b,this.getContextMenu(),this.props.draggingHappening&&this.getIdealizedTrackPositionsOverlay())}},{key:"addEventListeners",value:function(){this.eventListeners=[],this.eventListeners.forEach(r=>document.addEventListener(r.name,r.callback,!1))}},{key:"removeEventListeners",value:function(){this.eventListeners.forEach(r=>document.removeEventListener(r.name,r.callback))}}])}(x.Component);$k.defaultProps={isShowGlobalMousePosition:!1,pluginTracks:{},metaTracks:[],zoomable:!0},$k.propTypes={addTrackExtent:q.string,addTrackPosition:q.string,canvasElement:q.object,chooseTrackHandler:q.func,chromInfoPath:q.string,customDialog:q.array,closeCustomDialog:q.func,disableTrackMenu:q.bool,dragging:q.bool,draggingHappening:q.bool,editable:q.bool,getLockGroupExtrema:q.func,initialXDomain:q.array,initialYDomain:q.array,isShowGlobalMousePosition:q.bool,isValueScaleLocked:q.func,marginBottom:q.number.isRequired,marginLeft:q.number.isRequired,marginRight:q.number.isRequired,marginTop:q.number.isRequired,paddingBottom:q.number.isRequired,paddingLeft:q.number.isRequired,paddingRight:q.number.isRequired,paddingTop:q.number.isRequired,metaTracks:q.array,modal:q.object,mouseTool:q.string,onCloseTrack:q.func,onChangeTrackData:q.func,onChangeTrackType:q.func,onDataDomainChanged:q.func,onLockValueScale:q.func,onMouseMoveZoom:q.func,onNewTilesLoaded:q.func,onNoTrackAdded:q.func,onRangeSelection:q.func.isRequired,onScalesChanged:q.func,onTrackOptionsChanged:q.func,onTrackPositionChosen:q.func,onTracksAdded:q.func,onUnlockValueScale:q.func,onValueScaleChanged:q.func,onResizeTrack:q.func,overlays:q.array,openModal:q.func,pixiRenderer:q.object,pixiStage:q.object,pluginTracks:q.object,pubSub:q.object.isRequired,rangeSelection1dSize:q.array,rangeSelectionToInt:q.bool,registerDraggingChangedListener:q.func,removeDraggingChangedListener:q.func,setCentersFunction:q.func,svgElement:q.object,theme:q.symbol.isRequired,tracks:q.object,trackSourceServers:q.array,uid:q.string,viewOptions:q.object,xDomainLimits:q.array,yDomainLimits:q.array,zoomable:q.bool,zoomLimits:q.array,zoomToDataExtentOnInit:q.func};const Fke=tl(Md(sl($k)));var jk={exports:{}},Hz;function qke(){return Hz||(Hz=1,function(e){var t=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},n=function(r){var i=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,o=0,a={},s={manual:r.Prism&&r.Prism.manual,disableWorkerMessageHandler:r.Prism&&r.Prism.disableWorkerMessageHandler,util:{encode:function m(v){return v instanceof c?new c(v.type,m(v.content),v.alias):Array.isArray(v)?v.map(m):v.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(m){return Object.prototype.toString.call(m).slice(8,-1)},objId:function(m){return m.__id||Object.defineProperty(m,"__id",{value:++o}),m.__id},clone:function m(v,_){_=_||{};var T,w;switch(s.util.type(v)){case"Object":if(w=s.util.objId(v),_[w])return _[w];T={},_[w]=T;for(var S in v)v.hasOwnProperty(S)&&(T[S]=m(v[S],_));return T;case"Array":return w=s.util.objId(v),_[w]?_[w]:(T=[],_[w]=T,v.forEach(function(k,E){T[E]=m(k,_)}),T);default:return v}},getLanguage:function(m){for(;m;){var v=i.exec(m.className);if(v)return v[1].toLowerCase();m=m.parentElement}return"none"},setLanguage:function(m,v){m.className=m.className.replace(RegExp(i,"gi"),""),m.classList.add("language-"+v)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT"&&1<2)return document.currentScript;try{throw new Error}catch(T){var m=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(T.stack)||[])[1];if(m){var v=document.getElementsByTagName("script");for(var _ in v)if(v[_].src==m)return v[_]}return null}},isActive:function(m,v,_){for(var T="no-"+v;m;){var w=m.classList;if(w.contains(v))return!0;if(w.contains(T))return!1;m=m.parentElement}return!!_}},languages:{plain:a,plaintext:a,text:a,txt:a,extend:function(m,v){var _=s.util.clone(s.languages[m]);for(var T in v)_[T]=v[T];return _},insertBefore:function(m,v,_,T){T=T||s.languages;var w=T[m],S={};for(var k in w)if(w.hasOwnProperty(k)){if(k==v)for(var E in _)_.hasOwnProperty(E)&&(S[E]=_[E]);_.hasOwnProperty(k)||(S[k]=w[k])}var P=T[m];return T[m]=S,s.languages.DFS(s.languages,function(C,I){I===P&&C!=m&&(this[C]=S)}),S},DFS:function m(v,_,T,w){w=w||{};var S=s.util.objId;for(var k in v)if(v.hasOwnProperty(k)){_.call(v,k,v[k],T||k);var E=v[k],P=s.util.type(E);P==="Object"&&!w[S(E)]?(w[S(E)]=!0,m(E,_,null,w)):P==="Array"&&!w[S(E)]&&(w[S(E)]=!0,m(E,_,k,w))}}},plugins:{},highlightAll:function(m,v){s.highlightAllUnder(document,m,v)},highlightAllUnder:function(m,v,_){var T={callback:_,container:m,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};s.hooks.run("before-highlightall",T),T.elements=Array.prototype.slice.apply(T.container.querySelectorAll(T.selector)),s.hooks.run("before-all-elements-highlight",T);for(var w=0,S;S=T.elements[w++];)s.highlightElement(S,v===!0,T.callback)},highlightElement:function(m,v,_){var T=s.util.getLanguage(m),w=s.languages[T];s.util.setLanguage(m,T);var S=m.parentElement;S&&S.nodeName.toLowerCase()==="pre"&&s.util.setLanguage(S,T);var k=m.textContent,E={element:m,language:T,grammar:w,code:k};function P(I){E.highlightedCode=I,s.hooks.run("before-insert",E),E.element.innerHTML=E.highlightedCode,s.hooks.run("after-highlight",E),s.hooks.run("complete",E),_&&_.call(E.element)}if(s.hooks.run("before-sanity-check",E),S=E.element.parentElement,S&&S.nodeName.toLowerCase()==="pre"&&!S.hasAttribute("tabindex")&&S.setAttribute("tabindex","0"),!E.code){s.hooks.run("complete",E),_&&_.call(E.element);return}if(s.hooks.run("before-highlight",E),!E.grammar){P(s.util.encode(E.code));return}if(v&&r.Worker){var C=new Worker(s.filename);C.onmessage=function(I){P(I.data)},C.postMessage(JSON.stringify({language:E.language,code:E.code,immediateClose:!0}))}else P(s.highlight(E.code,E.grammar,E.language))},highlight:function(m,v,_){var T={code:m,grammar:v,language:_};if(s.hooks.run("before-tokenize",T),!T.grammar)throw new Error('The language "'+T.language+'" has no grammar.');return T.tokens=s.tokenize(T.code,T.grammar),s.hooks.run("after-tokenize",T),c.stringify(s.util.encode(T.tokens),T.language)},tokenize:function(m,v){var _=v.rest;if(_){for(var T in _)v[T]=_[T];delete v.rest}var w=new f;return h(w,w.head,m),u(m,w,v,w.head,0),d(w)},hooks:{all:{},add:function(m,v){var _=s.hooks.all;_[m]=_[m]||[],_[m].push(v)},run:function(m,v){var _=s.hooks.all[m];if(!(!_||!_.length))for(var T=0,w;w=_[T++];)w(v)}},Token:c};r.Prism=s;function c(m,v,_,T){this.type=m,this.content=v,this.alias=_,this.length=(T||"").length|0}c.stringify=function m(v,_){if(typeof v=="string")return v;if(Array.isArray(v)){var T="";return v.forEach(function(P){T+=m(P,_)}),T}var w={type:v.type,content:m(v.content,_),tag:"span",classes:["token",v.type],attributes:{},language:_},S=v.alias;S&&(Array.isArray(S)?Array.prototype.push.apply(w.classes,S):w.classes.push(S)),s.hooks.run("wrap",w);var k="";for(var E in w.attributes)k+=" "+E+'="'+(w.attributes[E]||"").replace(/"/g,"&quot;")+'"';return"<"+w.tag+' class="'+w.classes.join(" ")+'"'+k+">"+w.content+"</"+w.tag+">"};function l(m,v,_,T){m.lastIndex=v;var w=m.exec(_);if(w&&T&&w[1]){var S=w[1].length;w.index+=S,w[0]=w[0].slice(S)}return w}function u(m,v,_,T,w,S){for(var k in _)if(!(!_.hasOwnProperty(k)||!_[k])){var E=_[k];E=Array.isArray(E)?E:[E];for(var P=0;P<E.length;++P){if(S&&S.cause==k+","+P)return;var C=E[P],I=C.inside,O=!!C.lookbehind,M=!!C.greedy,R=C.alias;if(M&&!C.pattern.global){var z=C.pattern.toString().match(/[imsuy]*$/)[0];C.pattern=RegExp(C.pattern.source,z+"g")}for(var U=C.pattern||C,j=T.next,H=w;j!==v.tail&&!(S&&H>=S.reach);H+=j.value.length,j=j.next){var W=j.value;if(v.length>m.length)return;if(!(W instanceof c)){var re=1,Y;if(M){if(Y=l(U,H,m,O),!Y||Y.index>=m.length)break;var G=Y.index,F=Y.index+Y[0].length,L=H;for(L+=j.value.length;G>=L;)j=j.next,L+=j.value.length;if(L-=j.value.length,H=L,j.value instanceof c)continue;for(var K=j;K!==v.tail&&(L<F||typeof K.value=="string");K=K.next)re++,L+=K.value.length;re--,W=m.slice(H,L),Y.index-=H}else if(Y=l(U,0,W,O),!Y)continue;var G=Y.index,te=Y[0],de=W.slice(0,G),ce=W.slice(G+te.length),le=H+W.length;S&&le>S.reach&&(S.reach=le);var me=j.prev;de&&(me=h(v,me,de),H+=de.length),p(v,me,re);var ye=new c(k,I?s.tokenize(te,I):te,R,te);if(j=h(v,me,ye),ce&&h(v,j,ce),re>1){var Oe={cause:k+","+P,reach:le};u(m,v,_,j.prev,H,Oe),S&&Oe.reach>S.reach&&(S.reach=Oe.reach)}}}}}}function f(){var m={value:null,prev:null,next:null},v={value:null,prev:m,next:null};m.next=v,this.head=m,this.tail=v,this.length=0}function h(m,v,_){var T=v.next,w={value:_,prev:v,next:T};return v.next=w,T.prev=w,m.length++,w}function p(m,v,_){for(var T=v.next,w=0;w<_&&T!==m.tail;w++)T=T.next;v.next=T,T.prev=v,m.length-=w}function d(m){for(var v=[],_=m.head.next;_!==m.tail;)v.push(_.value),_=_.next;return v}if(!r.document)return r.addEventListener&&(s.disableWorkerMessageHandler||r.addEventListener("message",function(m){var v=JSON.parse(m.data),_=v.language,T=v.code,w=v.immediateClose;r.postMessage(s.highlight(T,s.languages[_],_)),w&&r.close()},!1)),s;var g=s.util.currentScript();g&&(s.filename=g.src,g.hasAttribute("data-manual")&&(s.manual=!0));function y(){s.manual||s.highlightAll()}if(!s.manual){var b=document.readyState;b==="loading"||b==="interactive"&&g&&g.defer?document.addEventListener("DOMContentLoaded",y):window.requestAnimationFrame?window.requestAnimationFrame(y):window.setTimeout(y,16)}return s}(t);e.exports&&(e.exports=n),typeof globalThis<"u"&&(globalThis.Prism=n)}(jk)),jk.exports}var Fz=qke(),Jr={},qz;function Uke(){if(qz)return Jr;qz=1;var e=Jr&&Jr.__extends||function(){var P=function(C,I){return P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(O,M){O.__proto__=M}||function(O,M){for(var R in M)Object.prototype.hasOwnProperty.call(M,R)&&(O[R]=M[R])},P(C,I)};return function(C,I){if(typeof I!="function"&&I!==null)throw new TypeError("Class extends value "+String(I)+" is not a constructor or null");P(C,I);function O(){this.constructor=C}C.prototype=I===null?Object.create(I):(O.prototype=I.prototype,new O)}}(),t=Jr&&Jr.__assign||function(){return t=Object.assign||function(P){for(var C,I=1,O=arguments.length;I<O;I++){C=arguments[I];for(var M in C)Object.prototype.hasOwnProperty.call(C,M)&&(P[M]=C[M])}return P},t.apply(this,arguments)},n=Jr&&Jr.__createBinding||(Object.create?function(P,C,I,O){O===void 0&&(O=I);var M=Object.getOwnPropertyDescriptor(C,I);(!M||("get"in M?!C.__esModule:M.writable||M.configurable))&&(M={enumerable:!0,get:function(){return C[I]}}),Object.defineProperty(P,O,M)}:function(P,C,I,O){O===void 0&&(O=I),P[O]=C[I]}),r=Jr&&Jr.__setModuleDefault||(Object.create?function(P,C){Object.defineProperty(P,"default",{enumerable:!0,value:C})}:function(P,C){P.default=C}),i=Jr&&Jr.__importStar||function(P){if(P&&P.__esModule)return P;var C={};if(P!=null)for(var I in P)I!=="default"&&Object.prototype.hasOwnProperty.call(P,I)&&n(C,P,I);return r(C,P),C},o=Jr&&Jr.__rest||function(P,C){var I={};for(var O in P)Object.prototype.hasOwnProperty.call(P,O)&&C.indexOf(O)<0&&(I[O]=P[O]);if(P!=null&&typeof Object.getOwnPropertySymbols=="function")for(var M=0,O=Object.getOwnPropertySymbols(P);M<O.length;M++)C.indexOf(O[M])<0&&Object.prototype.propertyIsEnumerable.call(P,O[M])&&(I[O[M]]=P[O[M]]);return I};Object.defineProperty(Jr,"__esModule",{value:!0});var a=i(x),s=13,c=9,l=8,u=89,f=90,h=77,p=57,d=219,g=222,y=192,b=27,m=100,v=3e3,_=typeof window<"u"&&"navigator"in window&&/Win/i.test(navigator.platform),T=typeof window<"u"&&"navigator"in window&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform),w="npm__react-simple-code-editor__textarea",S=`
300
+ `)}function l(f){return f.map(u).join(e)}function u(f){return f==null?"":f instanceof Date?f9e(f):t.test(f+="")?'"'+f.replace(/"/g,'""')+'"':f}return{parse:r,parseRows:i,format:a,formatBody:s,formatRows:c,formatRow:l,formatValue:u}}var h9e=Cz(","),p9e=h9e.parse,d9e=Cz(" "),g9e=d9e.parse;function Oz(e,t){return function(n,r,i){arguments.length<3&&(i=r,r=null);var o=wk(n).mimeType(e);return o.row=function(a){return arguments.length?o.response(m9e(t,r=a)):r},o.row(r),i?o.get(i):o}}function m9e(e,t){return function(n){return e(n.responseText,t)}}const v9e=Oz("text/csv",p9e),y9e=Oz("text/tab-separated-values",g9e),b9e=Object.freeze(Object.defineProperty({__proto__:null,csv:v9e,html:o9e,json:a9e,request:wk,text:s9e,tsv:y9e,xml:l9e},Symbol.toStringTag,{value:"Module"}));function _9e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function T9e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,S9e(r.key),r)}}function w9e(e,t,n){return t&&T9e(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function S9e(e){var t=E9e(e,"string");return typeof t=="symbol"?t:t+""}function E9e(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function k9e(e,t,n){return t=im(t),x9e(e,Pz()?Reflect.construct(t,n||[],im(e).constructor):t.apply(e,n))}function x9e(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return C9e(e)}function C9e(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Pz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Pz=function(){return!!e})()}function im(e){return im=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},im(e)}function O9e(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&xk(e,t)}function xk(e,t){return xk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},xk(e,t)}const om={pointerEvents:"all"};let Az=function(e){function t(){return _9e(this,t),k9e(this,t,arguments)}return O9e(t,e),w9e(t,[{key:"getControls",value:function(r){return x.createElement(Qd,{expandCollapseAvailable:!0,dragHandleProps:this.props.dragHandleProps,imgStyleAdd:om,imgStyleClose:om,imgStyleMove:om,imgStyleSettings:om,isAlignLeft:this.props.controlAlignLeft,isCollapsed:this.props.isCollapsed,isMoveable:this.moveable,isVertical:!0,isVisible:r,onAddSeries:this.props.onAddSeries,onCollapseTrack:this.props.onCollapseTrack,onExpandTrack:this.props.onExpandTrack,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,uid:this.props.uid})}}])}(Y1);function P9e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function A9e(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,I9e(r.key),r)}}function M9e(e,t,n){return t&&A9e(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function I9e(e){var t=R9e(e,"string");return typeof t=="symbol"?t:t+""}function R9e(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function D9e(e,t,n){return t=Fc(t),N9e(e,Mz()?Reflect.construct(t,n||[],Fc(e).constructor):t.apply(e,n))}function N9e(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return L9e(e)}function L9e(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Mz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Mz=function(){return!!e})()}function $9e(e,t,n,r){var i=Ck(Fc(e.prototype),t,n);return typeof i=="function"?function(o){return i.apply(n,o)}:i}function Ck(){return Ck=typeof Reflect<"u"&&Reflect.get?Reflect.get.bind():function(e,t,n){var r=j9e(e,t);if(r){var i=Object.getOwnPropertyDescriptor(r,t);return i.get?i.get.call(arguments.length<3?e:n):i.value}},Ck.apply(null,arguments)}function j9e(e,t){for(;!{}.hasOwnProperty.call(e,t)&&(e=Fc(e))!==null;);return e}function Fc(e){return Fc=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},Fc(e)}function B9e(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Ok(e,t)}function Ok(e,t){return Ok=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Ok(e,t)}let z9e=function(e){function t(n,r){var i;P9e(this,t),i=D9e(this,t,[n,r]);const{registerViewportChanged:o,removeViewportChanged:a}=n,s=Mt.nice();return i.uid=s,i.removeViewportChanged=a,i.viewportXDomain=null,i.viewportYDomain=null,o(s,i.viewportChanged.bind(i)),i}return B9e(t,e),M9e(t,[{key:"viewportChanged",value:function(r,i){const o=r.domain(),a=i.domain();this.viewportXDomain=o,this.viewportYDomain=a,this.draw()}},{key:"draw",value:function(){const r=this.pMain;if(!this.viewportXDomain||!this.viewportYDomain)return;r.clear(),r.lineStyle(1,255,1),r.beginFill(16740363,1);const i=this._xScale(this.viewportXDomain[0]),o=this._yScale(this.viewportYDomain[0]),a=this._xScale(this.viewportXDomain[1])-this._xScale(this.viewportXDomain[0]),s=this._yScale(this.viewportYDomain[1])-this._yScale(this.viewportYDomain[0]);this.pMain.drawRect(i,o,a,s)}},{key:"zoomed",value:function(r,i){this.xScale(r),this.yScale(i),this.draw()}},{key:"setPosition",value:function(r){$9e(t,"setPosition",this)([r]),this.pMain.position.y=this.position[1],this.pMain.position.x=this.position[0],this.draw()}}])}(Bn);function Iz(e){this.size=0,this.limit=e,this._keymap={}}function H9e(e,t){const n={key:e,value:t};if(this._keymap[e]=n,this.tail?(this.tail.newer=n,n.older=this.tail):this.head=n,this.tail=n,this.size===this.limit)return this.shift();this.size+=1}function F9e(){const e=this.head;return e&&(this.head.newer?(this.head=this.head.newer,this.head.older=void 0):(this.head=void 0,this.tail=void 0),e.newer=void 0,e.older=void 0,delete this._keymap[e.key],this.size-=1),e}function q9e(e,t){const n=this._keymap[e];if(n!==void 0)return n===this.tail||(n.newer&&(n===this.head&&(this.head=n.newer),n.newer.older=n.older),n.older&&(n.older.newer=n.newer),n.newer=void 0,n.older=this.tail,this.tail&&(this.tail.newer=n),this.tail=n),t?n:n.value}function U9e(e){return this._keymap[e]}function V9e(e,t){const n=this.get(e,!0);let r;return n?(r=n.value,n.value=t):(r=this.put(e,t),r&&(r=r.value)),r}function G9e(e){const t=this._keymap[e];if(t)return delete this._keymap[t.key],t.newer&&t.older?(t.older.newer=t.newer,t.newer.older=t.older):t.newer?(t.newer.older=void 0,this.head=t.newer):t.older?(t.older.newer=void 0,this.tail=t.older):(this.head=void 0,this.tail=void 0),this.size-=1,t.value}function W9e(){this.head=void 0,this.tail=void 0,this.size=0,this._keymap={}}function Y9e(){return Object.keys(this._keymap)}function X9e(e,t,n){let r;if(t===!0?(n=!0,t=void 0):typeof t!="object"&&(t=this),n)for(r=this.tail;r;)e.call(t,r.key,r.value,this),r=r.older;else for(r=this.head;r;)e.call(t,r.key,r.value,this),r=r.newer}function K9e(){const e=[];let t=this.head;for(;t;)e.push({key:t.key.toJSON(),value:t.value.toJSON()}),t=t.newer;return e}function Z9e(){let e="",t=this.head;for(;t;)e+=`${String(t.key)}:${t.value}`,t=t.newer,t&&(e+=" < ");return e}Object.assign(Iz.prototype,{put:H9e,get:q9e,find:U9e,keys:Y9e,set:V9e,shift:F9e,remove:G9e,removeAll:W9e,forEach:X9e,toJSON:K9e,toString:Z9e});const Pk="2.3.3",Rz={...NX,IS_TRACK_RANGE_SELECTABLE:$s,OPTIONS_INFO:zi},Q9e={d3Array:pq,d3Axis:W0e,d3Brush:Rne,d3Color:Cq,d3Drag:hJ,d3Dsv:cX,d3Format:tU,d3Geo:J5e,d3Queue:Ate,d3Request:b9e,d3Scale:AV,d3Selection:fW,d3Transition:xee,d3Zoom:Ree,PIXI:Rz.GLOBALS.PIXI,mix:ul,slugid:Mt},am={chromosomes:{ChromosomeInfo:yo,SearchField:iw},libraries:Q9e,tracks:{Annotations1dTrack:K$,Annotations2dTrack:Q$,ArrowheadDomainsTrack:tj,BarTrack:m5,BedLikeTrack:WE,CNVIntervalTrack:nj,Chromosome2DAnnotations:gj,Chromosome2DLabels:vj,ChromosomeGrid:th,CombinedTrack:b0,CrossRule:Yj,DivergentBarTrack:B$,HeatmapTiledPixiTrack:Ql,Horizontal1dHeatmapTrack:H$,Horizontal2DDomainsTrack:hj,HorizontalChromosomeLabels:Tj,HorizontalGeneAnnotationsTrack:B5,HorizontalHeatmapTrack:xj,HorizontalLine1DPixiTrack:ac,HorizontalMultivecTrack:U$,HorizontalPoint1DPixiTrack:G$,HorizontalRule:tB,HorizontalTiled1DPixiTrack:Yl,HorizontalTiledPlot:eg,HorizontalTrack:yL,Id2DTiledPixiTrack:g$,IdHorizontal1DTiledPixiTrack:v$,IdVertical1DTiledPixiTrack:T$,LeftAxisTrack:O$,MapboxTilesTrack:iB,MoveableTrack:Y1,OSMTileIdsTrack:aB,OSMTilesTrack:ih,OverlayTrack:M$,PixiTrack:Bn,RasterTilesTrack:lB,SVGTrack:ko,SquareMarkersTrack:Ej,Tiled1DPixiTrack:zE,TiledPixiTrack:Si,TopAxisTrack:D$,Track:Ja,ValueIntervalTrack:Aj,VerticalRule:Vj,VerticalTiled1DPixiTrack:b$,VerticalTrack:Az,ViewportTracker2D:Ij,ViewportTracker2DPixi:z9e,ViewportTrackerHorizontal:c9,ViewportTrackerVertical:Nj},dataFetchers:{DataFetcher:Xf,GBKDataFetcher:KL,LocalDataFetcher:ZL,getDataFetcher:zEe},factories:{ContextMenuItem:xt,DataFetcher:Xf,LruCache:Iz},services:fte,utils:Kee,configs:Rz,VERSION:Pk},Ak={"track-renderer":"_track-renderer_11dwb_1","track-renderer-element":"_track-renderer-element_11dwb_5","track-renderer-events":"_track-renderer-events_11dwb_6"};function J9e(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function eke(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,rke(r.key),r)}}function tke(e,t,n){return t&&eke(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function rke(e){var t=nke(e,"string");return typeof t=="symbol"?t:t+""}function nke(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function ike(e,t,n){return t=sm(t),oke(e,Dz()?Reflect.construct(t,n||[],sm(e).constructor):t.apply(e,n))}function oke(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return ake(e)}function ake(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Dz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Dz=function(){return!!e})()}function sm(e){return sm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},sm(e)}function ske(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Mk(e,t)}function Mk(e,t){return Mk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Mk(e,t)}const{getDataFetcher:lke}=am.dataFetchers,cke=100;let Ik=function(e){function t(n){var r;if(J9e(this,t),r=ike(this,t,[n]),r.dragging=!1,r.element=null,r.eventTracker=null,r.eventTrackerOld=null,r.closing=!1,r.yPositionOffset=0,r.xPositionOffset=0,r.scrollTop=0,r.scrollTimeout=null,r.activeTransitions=0,r.zoomTransform=Ar,r.windowScrolledBound=r.windowScrolled.bind(r),r.zoomStartedBound=r.zoomStarted.bind(r),r.zoomedBound=r.zoomed.bind(r),r.zoomEndedBound=r.zoomEnded.bind(r),r.uid=Mt.nice(),r.viewUid=r.props.uid,r.availableForPlugins={...am,services:{...am.services,pubSub:r.props.pubSub,pixiRenderer:r.props.pixiRenderer}},r.mounted=!1,r.emptyZoomBehavior=UT(),r.currentProps=n,r.prevPropsStr="",r.zoomBehavior=UT().filter(i=>!(i.target.classList.contains("no-zoom")||i.target.classList.contains("react-resizable-handle"))).on("start",r.zoomStartedBound).on("zoom",r.zoomedBound).on("end",r.zoomEndedBound),r.zoomTransform=Ar,r.prevZoomTransform=Ar,r.initialXDomain=[0,1],r.initialYDomain=[0,1],r.xDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],r.yDomainLimits=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],r.zoomLimits=[0,Number.MAX_SAFE_INTEGER],r.prevCenterX=r.currentProps.paddingLeft+r.currentProps.leftWidth+r.currentProps.centerWidth/2,r.prevCenterY=r.currentProps.paddingTop+r.currentProps.topHeight+r.currentProps.centerHeight/2,r.cumCenterXOffset=0,r.cumCenterYOffset=0,r.setUpInitialScales(r.currentProps.initialXDomain,r.currentProps.initialYDomain,r.currentProps.xDomainLimits,r.currentProps.yDomainLimits,r.currentProps.zoomLimits),r.setUpScales(),r.trackDefObjects={},r.metaTracks={},r.pubSubs=[],window.higlassTracksByType)for(const i in window.higlassTracksByType)Gt[i]=window.higlassTracksByType[i].config;return r.boundForwardEvent=r.forwardEvent.bind(r),r.boundScrollEvent=r.scrollEvent.bind(r),r.boundForwardContextMenu=r.forwardContextMenu.bind(r),r.dispatchEventBound=r.dispatchEvent.bind(r),r.zoomToDataPosHandlerBound=r.zoomToDataPosHandler.bind(r),r.onScrollHandlerBound=r.onScrollHandler.bind(r),r.elementPos={height:0,width:0,left:0,top:0},r.elementSelection=null,r}return ske(t,e),tke(t,[{key:"xScale",get:function(){if(!this._xScale)throw new Error("xScale is not defined");return this._xScale}},{key:"yScale",get:function(){if(!this._yScale)throw new Error("yScale is not defined");return this._yScale}},{key:"UNSAFE_componentWillMount",value:function(){this.pubSubs=[],this.pubSubs.push(this.props.pubSub.subscribe("scroll",this.windowScrolledBound)),this.pubSubs.push(this.props.pubSub.subscribe("app.event",this.dispatchEventBound)),this.pubSubs.push(this.props.pubSub.subscribe("zoomToDataPos",this.zoomToDataPosHandlerBound)),this.pubSubs.push(this.props.pubSub.subscribe("app.scroll",this.onScrollHandlerBound))}},{key:"componentDidMount",value:function(){if(!this.element)throw new Error("Component did not mount, this.element is not defined.");if(this.elementPos=this.element.getBoundingClientRect(),this.elementSelection=_t(this.element),this.pStage=new Ye.PIXI.Graphics,this.pMask=new Ye.PIXI.Graphics,this.pOutline=new Ye.PIXI.Graphics,this.pBackground=new Ye.PIXI.Graphics,this.pStage.addChild(this.pMask),this.pStage.addChild(this.pOutline),this.currentProps.pixiStage.addChild(this.pStage),this.pStage.mask=this.pMask,this.props.isRangeSelection||this.addZoom(),!this.currentProps.svgElement||!this.currentProps.canvasElement)return;this.svgElement=this.currentProps.svgElement,this.syncTrackObjects(this.currentProps.positionedTracks),this.syncMetaTracks(this.currentProps.metaTracks),this.currentProps.setCentersFunction(this.setCenter.bind(this)),this.currentProps.registerDraggingChangedListener(this.draggingChanged.bind(this)),this.draggingChanged(!0),this.addEventTracker();const r=[[this.xScale(this.xDomainLimits[0]),this.yScale(this.yDomainLimits[0])],[this.xScale(this.xDomainLimits[1]),this.yScale(this.yDomainLimits[1])]],i=this.svgElement.getBoundingClientRect(),o=[[Math.max(r[0][0],0),Math.max(r[0][1],0)],[Math.min(r[1][0],i.width),Math.min(r[1][1],i.height)]];this.zoomBehavior.extent(o).translateExtent(r).scaleExtent(this.zoomLimits)}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){if(!r.svgElement||!r.canvasElement)return;const i=this.updatablePropsToString(r);if(this.currentProps=r,this.prevPropsStr===i)return;this.setBackground();for(const c in this.trackDefObjects){const l=this.trackDefObjects[c].trackObject;l.delayDrawing=!0}this.prevPropsStr=i,this.setUpInitialScales(r.initialXDomain,r.initialYDomain,r.xDomainLimits,r.yDomainLimits,r.zoomLimits),this.setUpScales(r.width!==this.props.width||r.height!==this.props.height),this.svgElement=r.svgElement;const o=[[this.xScale(this.xDomainLimits[0]),this.yScale(this.yDomainLimits[0])],[this.xScale(this.xDomainLimits[1]),this.yScale(this.yDomainLimits[1])]],a=this.svgElement.getBoundingClientRect(),s=[[Math.max(o[0][0],0),Math.max(o[0][1],0)],[Math.min(o[1][0],a.width),Math.min(o[1][1],a.height)]];this.zoomBehavior.extent(s).translateExtent(o).scaleExtent(this.zoomLimits),this.syncTrackObjects(r.positionedTracks),this.syncMetaTracks(r.metaTracks);for(const c of r.positionedTracks){const l=c.track.options,u=this.trackDefObjects[c.track.uid].trackObject;if(u.rerender(l),Pu(c.track)){const f={};for(const h of c.track.contents)f[h.uid]=h;for(const h in u.createdTracks)u.createdTracks[h].rerender(f[h].options)}}this.props.onNewTilesLoaded();for(const c in this.trackDefObjects){const l=this.trackDefObjects[c].trackObject;l.delayDrawing=!1,l.draw()}}},{key:"componentDidUpdate",value:function(r){(this.props.initialXDomain[0]!==r.initialXDomain[0]||this.props.initialXDomain[1]!==r.initialXDomain[1]||this.props.initialYDomain[0]!==r.initialYDomain[0]||this.props.initialYDomain[1]!==r.initialYDomain[1])&&this.element&&(this.element.__zoom=Ar),r.isRangeSelection!==this.props.isRangeSelection&&(this.props.isRangeSelection?this.removeZoom():this.addZoom()),r.zoomable!==this.props.zoomable&&(this.props.zoomable?this.addZoom():this.removeZoom()),this.addEventTracker()}},{key:"componentWillUnmount",value:function(){this.mounted=!1,this.removeTracks(Object.keys(this.trackDefObjects)),this.removeMetaTracks(Object.keys(this.metaTracks)),this.currentProps.removeDraggingChangedListener(this.draggingChanged),this.pStage&&this.currentProps.pixiStage.removeChild(this.pStage),this.pMask?.destroy(!0),this.pStage?.destroy(!0),this.pubSubs.forEach(r=>this.props.pubSub.unsubscribe(r)),this.pubSubs=[],this.removeEventTracker()}},{key:"dispatchEvent",value:function(r){r.sourceUid===this.uid&&r.type!=="contextmenu"&&this.element&&Lp(r,this.element)}},{key:"isWithin",value:function(r,i){const o=r>=this.elementPos.left&&r<=this.elementPos.width+this.elementPos.left,a=i>=this.elementPos.top&&i<=this.elementPos.height+this.elementPos.top;return o&&a}},{key:"zoomToDataPosHandler",value:function({pos:r,animateTime:i}){this.zoomToDataPos(...r,i)}},{key:"addZoom",value:function(){!this.elementSelection||!this.currentProps.zoomable||(this.elementSelection.call(this.zoomBehavior),this.zoomBehavior.transform(this.elementSelection,this.zoomTransform))}},{key:"removeZoom",value:function(){this.elementSelection&&(this.zoomEnded(),this.elementSelection.on(".zoom",null))}},{key:"setMask",value:function(){this.pMask?.clear(),this.pMask?.beginFill(),this.pMask?.drawRect(this.xPositionOffset,this.yPositionOffset,this.currentProps.width,this.currentProps.height),this.pMask?.endFill()}},{key:"setBackground",value:function(){const r=this.props.theme===Qt?"black":"white",i=gt(this.currentProps.viewOptions?.backgroundColor??r);this.pBackground?.clear(),this.pBackground?.beginFill(i),this.pBackground?.drawRect(this.xPositionOffset,this.yPositionOffset,this.currentProps.width,this.currentProps.height),this.pBackground?.endFill()}},{key:"windowScrolled",value:function(){this.removeZoom(),this.scrollTimeout&&clearTimeout(this.scrollTimeout),this.scrollTimeout=setTimeout(()=>{this.addZoom()},cke)}},{key:"setUpInitialScales",value:function(r=[0,1],i=[0,1],o=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],a=[-Number.MAX_SAFE_INTEGER,Number.MAX_SAFE_INTEGER],s=[0,Number.MAX_SAFE_INTEGER]){s[0]=s[0]===null?0:s[0],s[1]=s[1]===null?Number.POSITIVE_INFINITY:s[1];const c=r[1]-r[0],l=(i[0]+i[1])/2;if(i[0]=l-c/2,i[1]=l+c/2,r[0]===this.initialXDomain[0]&&r[1]===this.initialXDomain[1]&&i[0]===this.initialYDomain[0]&&i[1]===this.initialYDomain[1]&&o[0]===this.xDomainLimits[0]&&o[1]===this.xDomainLimits[1]&&a[0]===this.yDomainLimits[0]&&a[1]===this.yDomainLimits[1]&&s[0]===this.zoomLimits[0]&&s[1]===this.zoomLimits[1])return;this.initialXDomain=r,this.initialYDomain=i,this.xDomainLimits=o,this.yDomainLimits=a,this.zoomLimits=s,this.zoomTransform=Ar,this.prevZoomTransform=Ar,this.cumCenterYOffset=0,this.cumCenterXOffset=0,this.drawableToDomainX=Et().domain([this.currentProps.paddingLeft+this.currentProps.leftWidth,this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth]).range([r[0],r[1]]);let u,f;this.currentProps.centerWidth===0?(u=this.currentProps.paddingTop+this.currentProps.topHeight,f=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight):(u=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2-this.currentProps.centerWidth/2,f=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2+this.currentProps.centerWidth/2),this.drawableToDomainY=Et().domain([u,f]).range([i[0],i[1]]),this.prevCenterX=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2,this.prevCenterY=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2}},{key:"updatablePropsToString",value:function(r){return JSON.stringify({positionedTracks:r.positionedTracks,initialXDomain:r.initialXDomain,initialYDomain:r.initialYDomain,width:r.width,height:r.height,paddingLeft:r.paddingLeft,paddingTop:r.paddingTop,leftWidth:r.leftWidth,topHeight:r.topHeight,dragging:r.dragging,viewOptions:r.viewOptions})}},{key:"draggingChanged",value:function(r){this.dragging=r,this.timedUpdatePositionAndDimensions()}},{key:"setUpScales",value:function(r=!1){const i=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2,o=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2;if(!this.drawableToDomainX||!this.drawableToDomainY)return;const a=(this.drawableToDomainX(i)-this.drawableToDomainX(this.prevCenterX))/this.zoomTransform.k,s=(this.drawableToDomainY(o)-this.drawableToDomainY(this.prevCenterY))/this.zoomTransform.k;this.cumCenterYOffset+=s,this.cumCenterXOffset+=a,this.prevCenterY=o,this.prevCenterX=i;const c=[this.drawableToDomainX(0)-this.cumCenterXOffset,this.drawableToDomainX(this.currentProps.width)-this.cumCenterXOffset],l=[this.drawableToDomainY(0)-this.cumCenterYOffset,this.drawableToDomainY(this.currentProps.height)-this.cumCenterYOffset];this._xScale=Et().domain(c).range([0,this.currentProps.width]),this._yScale=Et().domain(l).range([0,this.currentProps.height]);for(const u in this.trackDefObjects)this.trackDefObjects[u].trackObject.refScalesChanged(this.xScale,this.yScale);this.applyZoomTransform(r)}},{key:"getTrackDef",value:function(r){const i=Yn(this.trackDefObjects);for(const[,{trackDef:o,trackObject:a}]of i){if(a===r)return o.track;if(Pu(o.track)){for(const s of o.track.contents)if(a.createdTracks[s.uid]===r)return s}}return null}},{key:"getTrackObject",value:function(r){const i=Yn(this.trackDefObjects);for(let o=0;o<i.length;o++){const a=i[o][0],s=i[o][1].trackObject;if(a===r)return s;if(s.createdTracks){const c=Yn(s.createdTracks);for(let l=0;l<c.length;l++){const u=c[l][0],f=c[l][1];if(u===r)return f}}}}},{key:"timedUpdatePositionAndDimensions",value:function(){this.closing||!this.element||(this.elementPos=this.element.getBoundingClientRect(),this.dragging&&(this.yPositionOffset=this.element.getBoundingClientRect().top-this.currentProps.canvasElement.getBoundingClientRect().top+this.scrollTop,this.xPositionOffset=this.element.getBoundingClientRect().left-this.currentProps.canvasElement.getBoundingClientRect().left,this.setMask(),this.setBackground(),this.updateTrackPositions()&&this.applyZoomTransform(!0),requestAnimationFrame(this.timedUpdatePositionAndDimensions.bind(this))))}},{key:"syncMetaTracks",value:function(r){const i=Object.keys(this.metaTracks),o=new Set(r.map(a=>a.uid));this.addMetaTracks(r.filter(a=>!this.metaTracks[a.uid])),this.updateMetaTracks(r.filter(a=>this.metaTracks[a.uid])),this.removeMetaTracks(i.filter(a=>!o.has(a)))}},{key:"syncTrackObjects",value:function(r){this.prevTrackDefinitions=JSON.stringify(r);const i={};for(let u=0;u<r.length;u++)i[r[u].track.uid]=r[u];const o=new Set(Object.keys(this.trackDefObjects)),a=new Set(Object.keys(i)),s=new Set([...a].filter(u=>!o.has(u))),c=new Set([...o].filter(u=>!a.has(u))),l=new Set([...a].filter(u=>o.has(u)));this.updateExistingTrackDefs([...l].map(u=>i[u])),this.addNewTracks([...s].map(u=>i[u])),this.updateExistingTrackDefs([...s].map(u=>i[u])),this.removeTracks([...c])}},{key:"addMetaTracks",value:function(r){r.filter(i=>!this.metaTracks[i.uid]).forEach(i=>{this.metaTracks[i.uid]={trackDef:i,trackObject:this.createMetaTrack(i)}})}},{key:"addNewTracks",value:function(r){if(this.currentProps.pixiStage){for(let i=0;i<r.length;i++){const o=r[i],a=this.createTrackObject(o.track);a.refScalesChanged(this.xScale,this.yScale),this.trackDefObjects[o.track.uid]={trackDef:o,trackObject:a};const s=this.zoomTransform.rescaleX(this.xScale),c=this.zoomTransform.rescaleY(this.yScale);a.setDimensions([o.width,o.height]),a.zoomed(s,c)}this.applyZoomTransform(!1)}}},{key:"updateMetaTracks",value:function(r){}},{key:"updateExistingTrackDefs",value:function(r){for(const o of r){const a=this.trackDefObjects[o.track.uid];a.trackDef=o,Pu(o.track)&&a.trackObject.updateContents(o.track.contents,this.createTrackObject.bind(this)).refScalesChanged(this.xScale,this.yScale)}this.updateTrackPositions()&&this.applyZoomTransform(!1)}},{key:"updateTrackPositions",value:function(){let r=!1;for(const i in this.trackDefObjects){const o=this.trackDefObjects[i].trackDef,a=this.trackDefObjects[i].trackObject,s=a.position,c=a.dimensions,l=[this.xPositionOffset+o.left,this.yPositionOffset+o.top],u=[o.width,o.height];(!s||l[0]!==s[0]||l[1]!==s[1])&&(a.setPosition(l),r=!0),(!c||u[0]!==c[0]||u[1]!==c[1])&&(a.setDimensions(u),r=!0)}return r}},{key:"removeMetaTracks",value:function(r){r.forEach(i=>{this.metaTracks[i].trackObject.remove(),this.metaTracks[i]=void 0,delete this.metaTracks[i]})}},{key:"removeTracks",value:function(r){for(let i=0;i<r.length;i++)this.trackDefObjects[r[i]].trackObject.remove(),delete this.trackDefObjects[r[i]]}},{key:"setCenter",value:function(r,i,o,a=!1,s=0,c=this.xScale,l=this.yScale){const f=(this.xScale.invert(1)-this.xScale.invert(0))/o,h=this.currentProps.paddingLeft+this.currentProps.leftWidth+this.currentProps.centerWidth/2,p=this.currentProps.paddingTop+this.currentProps.topHeight+this.currentProps.centerHeight/2,d=h-c(r)*f,g=p-l(i)*f;let y;const b=()=>{const m=Ar.translate(d,g).scale(f);this.zoomTransform=m,this.elementSelection&&this.emptyZoomBehavior.transform(this.elementSelection,m),y=this.applyZoomTransform(a)};if(s&&this.elementSelection){let m=this.elementSelection;this.activeTransitions+=1,document.hidden||(m=m.transition().duration(s)),m.call(this.zoomBehavior.transform,Ar.translate(d,g).scale(f)).on("end",()=>{b(),this.activeTransitions-=1})}else b();return y}},{key:"valueScaleMove",value:function(r){if(this.zoomStartPos){for(const i of this.getTracksAtPosition(...this.zoomStartPos))i.movedY(r);this.zoomStartTransform&&(this.zoomTransform=this.zoomStartTransform)}}},{key:"valueScaleZoom",value:function(r,i){if(!FX(r.sourceEvent))return;const o=r.sourceEvent.deltaY||r.sourceEvent.deltaX,a=r.sourceEvent.deltaMode,c=((u,f)=>u*(f?120:1)/500)(o,a),l=Xt(r.sourceEvent,this.props.canvasElement);for(const u of this.getTracksAtPosition(...l)){const f=i==="1d-horizontal"?l[1]-u.position[1]:l[0]-u.position[0];u.zoomedY(f,2**c)}this.zoomStartTransform&&(this.zoomTransform=this.zoomStartTransform)}},{key:"zoomed",value:function(r){let i=null;if(this.zoomStartPos){const a=this.getTracksAtPosition(...this.zoomStartPos);if(a.length){const s=a[0],c=this.getTrackDef(s);if(!c)return;Gt[c.type]?.orientation&&(i=Gt[c.type].orientation),s instanceof uj&&(i="1d-vertical")}}if(i&&r.sourceEvent){if(r.shiftKey||this.valueScaleZooming||r.sourceEvent?.shiftKey){if(r.sourceEvent.deltaY!==void 0){this.valueScaleZoom(r,i);return}i==="1d-horizontal"?this.valueScaleMove(r.sourceEvent.movementY):i==="1d-vertical"&&this.valueScaleMove(r.sourceEvent.movementX)}i==="1d-horizontal"&&r.sourceEvent.movementY?this.valueScaleMove(r.sourceEvent.movementY):i==="1d-vertical"&&r.sourceEvent.movementX&&this.valueScaleMove(r.sourceEvent.movementX)}this.zoomTransform=this.currentProps.zoomable?r.transform:Ar,this.prevZoomTransform.k!==this.zoomTransform.k||(i==="1d-horizontal"?this.zoomTransform=Ar.translate(this.zoomTransform.x,this.prevZoomTransform.y).scale(this.zoomTransform.k):i==="1d-vertical"&&(this.zoomTransform=Ar.translate(this.prevZoomTransform.x,this.zoomTransform.y).scale(this.zoomTransform.k)),this.element&&(this.element.__zoom=this.zoomTransform)),this.applyZoomTransform(!0),this.prevZoomTransform=this.zoomTransform,this.props.pubSub.publish("app.zoom",r),r.sourceEvent&&(r.sourceEvent.stopPropagation(),r.sourceEvent.preventDefault())}},{key:"getTracksAtPosition",value:function(r,i){const o=[];let a=[];for(const s in this.trackDefObjects){const c=this.trackDefObjects[s].trackObject;c.childTracks?a=a.concat(c.childTracks):a.push(c)}for(const s of a){const c=s.position[0]<=r&&r<=s.position[0]+s.dimensions[0],l=s.position[1]<=i&&i<=s.position[1]+s.dimensions[1];c&&l&&o.push(s)}return o}},{key:"zoomStarted",value:function(r){this.zooming=!0,r?.sourceEvent&&(this.zoomStartPos=Xt(r.sourceEvent,this.props.canvasElement),r.sourceEvent.shiftKey&&(this.valueScaleZooming=!0)),this.zoomStartTransform=this.zoomTransform,this.props.pubSub.publish("app.zoomStart")}},{key:"zoomEnded",value:function(){this.zooming=!1,this.zoomStartPos=null,this.valueScaleZooming&&(this.valueScaleZooming=!1,this.element&&(this.element.__zoom=this.zoomStartTransform)),this.props.pubSub.publish("app.zoomEnd")}},{key:"applyZoomTransform",value:function(r=!0){const i=this.currentProps,o=i.paddingLeft+i.leftWidth,a=i.paddingTop+i.topHeight;if(!this.xScale||!this.yScale)return;this.zoomedXScale=this.zoomTransform.rescaleX(this.xScale),this.zoomedYScale=this.zoomTransform.rescaleY(this.yScale);const s=Et().domain([o,o+i.centerWidth].map(this.zoomedXScale.invert)).range([0,i.centerWidth]),c=Et().domain([a,a+i.centerHeight].map(this.zoomedYScale.invert)).range([0,i.centerHeight]);for(const l in this.trackDefObjects){const u=this.trackDefObjects[l].trackObject,f=this.trackDefObjects[l].trackDef;let h="unknown";if(Gt[f.track.type]&&(h=Gt[f.track.type].orientation),h==="whole"){const p=Et().domain([i.paddingLeft,i.width-i.paddingLeft].map(this.zoomedXScale.invert)).range([0,i.width-2*i.paddingLeft]),d=Et().domain([i.paddingTop,i.height-i.paddingTop].map(this.zoomedYScale.invert)).range([0,i.height-2*i.paddingTop]);u.zoomed(p,d);continue}if(this.trackDefObjects[l].trackDef.track.position==="gallery"){const p=Et().domain([i.paddingLeft+i.leftWidthNoGallery,i.paddingLeft+i.leftWidth+i.centerWidth+i.galleryDim].map(this.zoomedXScale.invert)).range([0,i.centerWidth+2*i.galleryDim]),d=Et().domain([i.paddingTop+i.topHeightNoGallery,i.paddingTop+i.topHeight+i.centerHeight+i.galleryDim].map(this.zoomedYScale.invert)).range([0,i.centerHeight-2*i.galleryDim]);u.zoomed(p.copy(),d.copy(),this.zoomTransform.k);continue}u.zoomed(s.copy(),c.copy(),this.zoomTransform.k,this.zoomTransform.x+this.xPositionOffset,this.zoomTransform.y+this.yPositionOffset,i.paddingLeft+i.leftWidth,i.paddingTop+i.topHeight)}return this.currentXScale=s,this.currentYScale=c,r&&this.currentProps.onScalesChanged(s,c),[s,c]}},{key:"createMetaTrack",value:function(r){switch(r.type){default:{const i=this.props.pluginTracks[r.type];if(i?.isMetaTrack){const o={getTrackObject:this.getTrackObject.bind(this),onNewTilesLoaded:()=>{this.currentProps.onNewTilesLoaded(r.uid)},definition:r};try{return new i.track(this.availableForPlugins,o,r.options??{})}catch(a){console.error("Plugin meta track",r.type,"failed to instantiate.",a)}}return console.warn(`Unknown meta track of type: ${r.type}`),new Oj(this.pStage,{name:"Unknown Track Type",type:r.type})}}}},{key:"createTrackObject",value:function(r){const i=this.createLocationAgnosticTrackObject(r);return(r.position==="left"||r.position==="right")&&Gt[r.type].orientation==="1d-horizontal"?new uj(i):i}},{key:"createLocationAgnosticTrackObject",value:function(r){let i=r.data;i||(i={server:Fp(r.server??""),tilesetUid:r.tilesetUid}),r.coordSystem&&(i.coordSystem=r.coordSystem);const o=lke(i,this.props.pubSub,this.props.pluginDataFetchers,this.availableForPlugins);if(!this.pStage||!this.svgElement)throw new Error("No PIXI stage or svg element");const a={id:r.uid,trackUid:r.uid,trackType:r.type,viewUid:this.viewUid,pubSub:this.props.pubSub,scene:this.pStage,dataConfig:i,dataFetcher:o,getLockGroupExtrema:()=>this.currentProps.getLockGroupExtrema(r.uid),handleTilesetInfoReceived:s=>{this.currentProps.onTilesetInfoReceived(r.uid,s)},animate:()=>{this.currentProps.onNewTilesLoaded(r.uid)},svgElement:this.svgElement,isValueScaleLocked:()=>this.currentProps.isValueScaleLocked(r.uid),onValueScaleChanged:()=>{this.currentProps.onValueScaleChanged(r.uid)},onTrackOptionsChanged:s=>{this.currentProps.onTrackOptionsChanged(r.uid,s)},onMouseMoveZoom:this.props.onMouseMoveZoom,chromInfoPath:r.chromInfoPath,isShowGlobalMousePosition:()=>this.props.isShowGlobalMousePosition,getTheme:()=>this.props.theme};switch(r.y&&(a.yPosition=r.y),r.x&&(a.xPosition=r.x),r.projectionXDomain&&(a.projectionXDomain=r.projectionXDomain),r.projectionYDomain&&(a.projectionYDomain=r.projectionYDomain),r.type){case"left-axis":return new O$(a,r.options);case"top-axis":return new D$(a,r.options);case"heatmap":return new Ql(a,r.options);case"multivec":case"vector-heatmap":case"horizontal-multivec":case"horizontal-vector-heatmap":case"vertical-multivec":case"vertical-vector-heatmap":return new U$(a,r.options);case"1d-heatmap":case"horizontal-1d-heatmap":case"vertical-1d-heatmap":return new H$(a,r.options);case"line":case"horizontal-line":case"vertical-line":return new ac(a,r.options);case"point":case"horizontal-point":case"vertical-point":return new G$(a,r.options);case"bar":case"horizontal-bar":case"vertical-bar":return new m5(a,r.options);case"divergent-bar":case"horizontal-divergent-bar":case"vertical-divergent-bar":return new B$(a,r.options);case"horizontal-1d-tiles":return new v$(a,r.options);case"vertical-1d-tiles":return new T$(a,r.options);case"2d-tiles":return new g$(a,r.options);case"stacked-interval":case"top-stacked-interval":case"left-stacked-interval":return new nj(a,r.options);case"viewport-projection-center":return r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback?(a.registerViewportChanged=r.registerViewportChanged,a.removeViewportChanged=r.removeViewportChanged,a.setDomainsCallback=r.setDomainsCallback,new Ij(a,r.options)):new Ja(a,{});case"viewport-projection-horizontal":return r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback?(a.registerViewportChanged=r.registerViewportChanged,a.removeViewportChanged=r.removeViewportChanged,a.setDomainsCallback=r.setDomainsCallback,new c9(a,r.options)):new Ja(a,{});case"viewport-projection-vertical":return r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback?(a.registerViewportChanged=r.registerViewportChanged,a.removeViewportChanged=r.removeViewportChanged,a.setDomainsCallback=r.setDomainsCallback,new Nj(a,r.options)):new Ja(a,{});case"gene-annotations":case"horizontal-gene-annotations":case"vertical-gene-annotations":return new B5(a,r.options);case"2d-rectangle-domains":case"arrowhead-domains":return new tj(a,r.options);case"1d-annotations":case"horizontal-1d-annotations":case"vertical-1d-annotations":return new K$(a,r.options,!0);case"2d-annotations":return new Q$(a,r.options);case"linear-2d-rectangle-domains":case"horizontal-2d-rectangle-domains":case"vertical-2d-rectangle-domains":return new hj(a,r.options);case"square-markers":return new Ej(a,r.options);case"combined":return a.tracks=r.contents,a.createTrackObject=this.createTrackObject.bind(this),new b0(a);case"2d-chromosome-labels":return new vj(a,r.options);case"horizontal-chromosome-grid":return a.orientation="1d-horizontal",new th(a,r.options);case"vertical-chromosome-grid":return a.orientation="1d-vertical",new th(a,r.options);case"2d-chromosome-grid":return new th(a,r.options);case"chromosome-labels":case"horizontal-chromosome-labels":case"vertical-chromosome-labels":return new Tj(a,r.options);case"linear-heatmap":case"horizontal-heatmap":case"vertical-heatmap":return new xj(a,r.options);case"2d-chromosome-annotations":return new gj(a,r.options);case"1d-value-interval":case"horizontal-1d-value-interval":case"vertical-1d-value-interval":return new Aj(a,r.options);case"osm":case"osm-tiles":return new ih(a,r.options);case"osm-2d-tile-ids":return new aB(a,r.options);case"mapbox":case"mapbox-tiles":return new iB(a,r.options);case"raster-tiles":return new lB(a,r.options);case"bedlike":case"vertical-bedlike":return new WE(a,r.options);case"overlay-track":return new M$(a,r.options);case"overlay-chromosome-grid-track":return a.isOverlay=!0,new th(a,r.options);case"horizontal-rule":return new tB(a,r.options);case"vertical-rule":return new Vj(a,r.options);case"cross-rule":return a.x=r.x,a.y=r.y,new Yj(a,r.options);case"simple-svg":return new ko(a,r.options);case"empty":{const s=r.options;return new Bn(a,s)}default:{const s=this.props.pluginTracks[r.type];if(s&&!s.isMetaTrack){a.AVAILABLE_FOR_PLUGINS=this.availableForPlugins,a.baseEl=this.baseEl,a.definition=r,r.registerViewportChanged&&r.removeViewportChanged&&r.setDomainsCallback&&(a.registerViewportChanged=r.registerViewportChanged,a.removeViewportChanged=r.removeViewportChanged,a.setDomainsCallback=r.setDomainsCallback);try{return new s.track(this.availableForPlugins,a,r.options??{})}catch(c){console.error("Plugin track",r.type,"failed to instantiate.",c)}}return console.warn("Unknown track type:",r.type),new Oj(a,{name:"Unknown Track Type",type:r.type})}}}},{key:"zoomToDataPos",value:function(r,i,o,a,s=3e3,c=null){const[l,u,f]=kr(this.xScale.copy().domain([r,i]),this.yScale.copy().domain([o,a])),h=c?c(this.xScale,this.yScale):[this.xScale,this.yScale];this.setCenter(l,u,f,!1,s,h[0],h[1])}},{key:"forwardContextMenu",value:function(r){this.props.disableTrackMenu||r.altKey||(r.preventDefault(),setTimeout(()=>{this.props.pubSub.publish("contextmenu",r)},0))}},{key:"addEventTracker",value:function(){!this.eventTracker||this.eventTracker===this.eventTrackerOld||(this.eventTrackerOld||(this.eventTrackerOld=this.eventTracker),this.eventTracker=this.eventTrackerOld,this.eventTracker.addEventListener("click",this.boundForwardEvent),this.eventTracker.addEventListener("contextmenu",this.boundForwardContextMenu),this.eventTracker.addEventListener("dblclick",this.boundForwardEvent),this.eventTracker.addEventListener("wheel",this.boundForwardEvent),this.eventTracker.addEventListener("dragstart",this.boundForwardEvent),this.eventTracker.addEventListener("selectstart",this.boundForwardEvent),this.eventTracker.addEventListener("mouseover",this.boundForwardEvent),this.eventTracker.addEventListener("mouseenter",this.boundForwardEvent),this.eventTracker.addEventListener("mousedown",this.boundForwardEvent),this.eventTracker.addEventListener("mouseup",this.boundForwardEvent),this.eventTracker.addEventListener("mouseout",this.boundForwardEvent),this.eventTracker.addEventListener("mouseleave",this.boundForwardEvent),this.eventTracker.addEventListener("touchstart",this.boundForwardEvent),this.eventTracker.addEventListener("touchend",this.boundForwardEvent),this.eventTracker.addEventListener("touchmove",this.boundForwardEvent),this.eventTracker.addEventListener("touchcancel",this.boundForwardEvent),this.eventTracker.addEventListener("pointerover",this.boundForwardEvent),this.eventTracker.addEventListener("pointerenter",this.boundForwardEvent),this.eventTracker.addEventListener("pointerdown",this.boundForwardEvent),this.eventTracker.addEventListener("pointerup",this.boundForwardEvent),this.eventTracker.addEventListener("pointercancel",this.boundForwardEvent),this.eventTracker.addEventListener("pointerout",this.boundForwardEvent),this.eventTracker.addEventListener("pointerleave",this.boundForwardEvent),window.addEventListener("scroll",this.boundScrollEvent))}},{key:"removeEventTracker",value:function(){this.eventTracker&&(this.eventTracker.removeEventListener("click",this.boundForwardEvent),this.eventTracker.removeEventListener("contextmenu",this.boundForwardContextMenu),this.eventTracker.removeEventListener("dblclick",this.boundForwardEvent),this.eventTracker.removeEventListener("wheel",this.boundForwardEvent),this.eventTracker.removeEventListener("dragstart",this.boundForwardEvent),this.eventTracker.removeEventListener("selectstart",this.boundForwardEvent),this.eventTracker.removeEventListener("mouseover",this.boundForwardEvent),this.eventTracker.removeEventListener("mouseenter",this.boundForwardEvent),this.eventTracker.removeEventListener("mousedown",this.boundForwardEvent),this.eventTracker.removeEventListener("mouseup",this.boundForwardEvent),this.eventTracker.removeEventListener("mouseout",this.boundForwardEvent),this.eventTracker.removeEventListener("mouseleave",this.boundForwardEvent),this.eventTracker.removeEventListener("touchstart",this.boundForwardEvent),this.eventTracker.removeEventListener("touchend",this.boundForwardEvent),this.eventTracker.removeEventListener("touchcancel",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerover",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerenter",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerdown",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerup",this.boundForwardEvent),this.eventTracker.removeEventListener("pointercancel",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerout",this.boundForwardEvent),this.eventTracker.removeEventListener("pointerleave",this.boundForwardEvent),window.removeEventListener("scroll",this.boundScrollEvent))}},{key:"scrollEvent",value:function(){this.element&&(this.elementPos=this.element.getBoundingClientRect())}},{key:"forwardEvent",value:function(r){r.sourceUid=this.uid,r.forwarded=!0,this.props.pubSub.publish("app.event",r)}},{key:"onScrollHandler",value:function(r){this.scrollTop=r}},{key:"render",value:function(){return x.createElement("div",{ref:r=>{this.baseEl=r},className:$t("track-renderer-div",Ak["track-renderer"]),style:{height:this.currentProps.height,width:this.currentProps.width}},x.createElement("div",{ref:r=>{this.element=r},className:$t("track-renderer-element",Ak["track-renderer-element"])}),x.createElement("div",{ref:r=>{this.eventTracker=r},className:$t("track-renderer-events",Ak["track-renderer-events"])},this.currentProps.children))}}])}(x.Component);Ik.defaultProps={pluginDataFetchers:{},pluginTracks:{},canvasElement:null,centerHeight:0,centerWidth:0,children:[],galleryDim:0,height:0,initialXDomain:[],initialYDomain:[],isShowGlobalMousePosition:!1,isRangeSelection:!1,leftWidth:0,leftWidthNoGallery:0,paddingLeft:0,paddingTop:0,positionedTracks:[],topHeight:0,topHeightNoGallery:0,width:0,metaTracks:[]},Ik.propTypes={canvasElement:q.object,centerHeight:q.number,centerWidth:q.number,children:q.array,disableTrackMenu:q.bool,galleryDim:q.number,height:q.number,initialXDomain:q.array,initialYDomain:q.array,isShowGlobalMousePosition:q.bool,isRangeSelection:q.bool,leftWidth:q.number,leftWidthNoGallery:q.number,paddingLeft:q.number,paddingTop:q.number,metaTracks:q.array,onMouseMoveZoom:q.func,onNewTilesLoaded:q.func.isRequired,onScalesChanged:q.func.isRequired,pixiRenderer:q.object.isRequired,pixiStage:q.object.isRequired,pluginDataFetchers:q.object,pluginTracks:q.object,positionedTracks:q.array,pubSub:q.object.isRequired,setCentersFunction:q.func,svgElement:q.object.isRequired,theme:q.symbol.isRequired,topHeight:q.number,topHeightNoGallery:q.number,viewOptions:q.object,width:q.number,xDomainLimits:q.array,yDomainLimits:q.array,valueScaleZoom:q.bool,zoomable:q.bool.isRequired,zoomDomain:q.array,uid:q.string,zoomLimits:q.array};const uke=tl(sl(Ik));function fke(e){const{attributes:t,listeners:n,setNodeRef:r,transform:i,transition:o,isDragging:a}=fL({id:e.uid}),s=i&&{...i,y:0},c={transform:Fl.Transform.toString(s),transition:o,...a?{zIndex:10,background:"rgba(0, 0, 0, 0.1)",border:"2px dashed rgba(0, 0, 0, 0.3)",borderRadius:4}:{}};return x.createElement("div",{ref:r,style:c},x.createElement(Az,{className:e.className,controlAlignLeft:e.controlAlignLeft,dragHandleProps:{...t,...n},editable:e.editable,handleConfigTrack:e.handleConfigTrack,handleResizeTrack:e.handleResizeTrack,height:e.height,isCollapsed:e.isCollapsed,item:e.item,onAddSeries:e.onAddSeries,onCollapseTrack:e.onCollapseTrack,onExpandTrack:e.onExpandTrack,onCloseTrack:e.onCloseTrack,onCloseTrackMenuOpened:e.onCloseTrackMenuOpened,onConfigTrackMenuOpened:e.onConfigTrackMenuOpened,resizeHandles:e.resizeHandles,uid:e.uid,width:e.width}))}const hke={"vertical-tiled-plot":"_vertical-tiled-plot_f3ho8_1"};function pke(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function dke(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,mke(r.key),r)}}function gke(e,t,n){return t&&dke(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function mke(e){var t=vke(e,"string");return typeof t=="symbol"?t:t+""}function vke(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function yke(e,t,n){return t=lm(t),bke(e,Nz()?Reflect.construct(t,n||[],lm(e).constructor):t.apply(e,n))}function bke(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return _ke(e)}function _ke(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function Nz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(Nz=function(){return!!e})()}function lm(e){return lm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},lm(e)}function Tke(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Rk(e,t)}function Rk(e,t){return Rk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Rk(e,t)}function Lz(e){return e?.sourceEvent}let Dk=function(e){function t(n){var r;return pke(this,t),r=yke(this,t,[n]),r.brushBehavior=al().on("start",r.brushStarted.bind(r)).on("brush",r.brushed.bind(r)).on("end",r.brushedEnded.bind(r)),r.state={trackControlsVisible:null},r}return Tke(t,e),gke(t,[{key:"componentDidMount",value:function(){this.props.isRangeSelectionActive&&this.addBrush()}},{key:"shouldComponentUpdate",value:function(r,i){if(this.rangeSelectionTriggered)return this.rangeSelectionTriggered=!1,this.rangeSelectionTriggeredEnd&&this.props.rangeSelection!==r.rangeSelection&&this.moveBrush(r.rangeSelection[0]?r.rangeSelection[0]:null,!0),this.rangeSelectionTriggeredEnd=!1,this.state!==i;if(this.props.rangeSelection!==r.rangeSelection){const o=this.props.is1dRangeSelection?0:1;return this.moveBrush(r.rangeSelection[o]?r.rangeSelection[o]:null,r.rangeSelectionEnd),this.state!==i}return!0}},{key:"componentDidUpdate",value:function(){this.props.isRangeSelectionActive?this.addBrush():this.removeBrush()}},{key:"addBrush",value:function(){!this.brushEl||this.brushElAddedBefore===this.brushEl||(this.brushElAddedBefore&&this.brushElAddedBefore.on(".brush",null),this.brushEl.call(this.brushBehavior),this.brushElAddedBefore=this.brushEl,Ls(this.brushEl,gi["track-range-selection-group-brush-selection"]))}},{key:"brushed",value:function(r){const i=this.rangeSelectionMoved;this.rangeSelectionMoved=!1,!(!Lz(r)||!this.props.onRangeSelection||i)&&(this.rangeSelectionTriggered=!0,this.props.onRangeSelection(r.selection))}},{key:"brushStarted",value:function(r){!Lz(r)||!r.selection||this.props.onRangeSelectionStart()}},{key:"brushedEnded",value:function(r){if(!this.props.is1dRangeSelection)return;const i=this.rangeSelectionMovedEnd;this.rangeSelectionMovedEnd=!1,r.selection&&r.sourceEvent&&this.props.onRangeSelection&&!i&&(this.rangeSelectionTriggered=!0,this.rangeSelectionTriggeredEnd=!0,this.props.onRangeSelectionEnd(r.selection)),r.selection||(this.rangeSelectionTriggered=!0,this.props.onRangeSelectionReset())}},{key:"moveBrush",value:function(r,i=!1){if(!this.brushEl)return;const o=r?[this.props.scale(r[0]),this.props.scale(r[1])]:null;this.rangeSelectionMoved=!0,this.rangeSelectionMovedEnd=!0,i?this.brushEl.transition().call(this.brushBehavior.move,o):this.brushEl.call(this.brushBehavior.move,o)}},{key:"removeBrush",value:function(){this.brushElAddedBefore&&(this.brushElAddedBefore.call(this.brushBehavior.move,null),this.brushElAddedBefore.on(".brush",null),this.brushElAddedBefore=void 0,this.props.onRangeSelectionReset())}},{key:"render",value:function(){const r=this.props.tracks.map(a=>a.width).reduce(zo,0),i=this.props.tracks.map(a=>$s(a)).reduce(Iu,!1),o=gi[this.props.isRangeSelectionActive?"track-range-selection-active":"track-range-selection"];return x.createElement("div",{className:hke["vertical-tiled-plot"]},i&&x.createElement("svg",{ref:a=>{this.brushEl=_t(a)},className:o,style:{height:this.props.height,width:r},xmlns:"http://www.w3.org/2000/svg"}),x.createElement(Q1,{axis:"x",className:$t(ti.list,ti.stylizedList,ti.horizontalList),component:_L,editable:this.props.editable,handleConfigTrack:this.props.handleConfigTrack,handleResizeTrack:this.props.handleResizeTrack,height:this.props.height,helperClass:ti.stylizedHelper,itemClass:$t(ti.stylizedItem,ti.horizontalItem),itemControlAlignLeft:this.props.tracksControlAlignLeft,itemReactClass:fke,items:this.props.tracks.map(a=>({handleMouseEnter:()=>{this.setState({trackControlsVisible:a.uid})},handleMouseLeave:()=>{this.setState({trackControlsVisible:null})},trackControlsVisible:a.uid===this.state.trackControlsVisible,configMenuVisible:a.uid===this.props.configTrackMenuId,uid:a.uid||Mt.nice(),height:this.props.height,width:Qn(a),isCollapsed:a.options?.collapsed,value:a.value})),onAddSeries:this.props.onAddSeries,onCloseTrack:this.props.onCloseTrack,onCollapseTrack:this.props.onCollapseTrack,onExpandTrack:this.props.onExpandTrack,onCloseTrackMenuOpened:this.props.onCloseTrackMenuOpened,onConfigTrackMenuOpened:this.props.onConfigTrackMenuOpened,onSortEnd:this.props.handleSortEnd,referenceAncestor:this.props.referenceAncestor,resizeHandles:this.props.resizeHandles,useDragHandle:!0,width:r}))}}])}(x.Component);Dk.propTypes={configTrackMenuId:q.string,editable:q.bool,handleConfigTrack:q.func,handleResizeTrack:q.func,handleSortEnd:q.func,is1dRangeSelection:q.bool,isRangeSelectionActive:q.bool,height:q.number,onAddSeries:q.func,onCloseTrack:q.func,onCollapseTrack:q.func,onExpandTrack:q.func,onCloseTrackMenuOpened:q.func,onConfigTrackMenuOpened:q.func,onRangeSelection:q.func,onRangeSelectionEnd:q.func,onRangeSelectionReset:q.func,onRangeSelectionStart:q.func,rangeSelection:q.array,rangeSelectionEnd:q.bool,referenceAncestor:q.func,resizeHandles:q.object,scale:q.func,tracks:q.array,tracksControlAlignLeft:q.bool};function wke(e){const t=document.createElement("textarea");t.value=e,t.style.top="0",t.style.left="0",t.style.position="fixed",document.body.appendChild(t),t.focus(),t.select();try{document.execCommand("copy")}catch{}document.body.removeChild(t)}function $z(e){if(!navigator.clipboard){wke(e);return}navigator.clipboard.writeText(e).then(()=>{},t=>{})}function Ske(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Eke(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,xke(r.key),r)}}function kke(e,t,n){return t&&Eke(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function xke(e){var t=Cke(e,"string");return typeof t=="symbol"?t:t+""}function Cke(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function Oke(e,t,n){return t=cm(t),Pke(e,jz()?Reflect.construct(t,n||[],cm(e).constructor):t.apply(e,n))}function Pke(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return Ake(e)}function Ake(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function jz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(jz=function(){return!!e})()}function cm(e){return cm=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},cm(e)}function Mke(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Nk(e,t)}function Nk(e,t){return Nk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Nk(e,t)}let Bz=function(e){function t(){return Ske(this,t),Oke(this,t,arguments)}return Mke(t,e),kke(t,[{key:"render",value:function(){const r=Cw(this.props.tracks,this.handleItemMouseEnter.bind(this),this.handleMouseLeave.bind(this)),i=this.props.customItems?x.Children.map(this.props.customItems,o=>x.cloneElement(o,{onMouseEnter:a=>{this.handleOtherMouseEnter(a)}})):null;return x.createElement("div",{ref:o=>{this.div=o},className:$t(yt["context-menu"],{[yt["context-menu-dark"]]:this.props.theme===Qt}),"data-menu-type":"ViewContextMenu",style:{left:this.state.left,top:this.state.top}},i,i&&x.createElement("hr",{className:yt["context-menu-hr"]}),r,r&&x.createElement("hr",{className:yt["context-menu-hr"]}),this.props.genomePositionSearchBox&&x.createElement(xt,{onClick:this.copyLocationToClipboard.bind(this),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Copy location under cursor"),x.createElement("hr",{className:yt["context-menu-hr"]}),x.createElement(xt,{onClick:()=>this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Horizontal Rule"),x.createElement(xt,{onClick:()=>this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Vertical Rule"),x.createElement(xt,{onClick:()=>this.props.onAddTrack({type:"cross-rule",x:this.props.coords[0],y:this.props.coords[1],position:"whole"}),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Cross Rule"),x.createElement("hr",{className:yt["context-menu-hr"]}),this.hasMatrixTrack(this.props.tracks)&&x.createElement(xt,{onClick:this.handleAddHorizontalSection.bind(this),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Horizontal Cross Section"),this.hasMatrixTrack(this.props.tracks)&&x.createElement(xt,{onClick:this.handleAddVerticalSection.bind(this),onMouseEnter:o=>this.handleOtherMouseEnter(o)},"Add Vertical Cross Section"),this.getSubmenu())}},{key:"hasMatrixTrack",value:function(r){return qp(this.props.tracks).filter(o=>o.type==="heatmap").length>0}},{key:"handleAddHorizontalSection",value:function(){const i=qp(this.props.tracks).filter(o=>o.type==="heatmap")[0];this.props.onAddTrack({type:"horizontal-rule",y:this.props.coords[1],position:"whole"}),this.props.onAddTrack({data:{type:"horizontal-section",server:i.server,tilesetUid:i.tilesetUid,slicePos:this.props.coords[1]},options:{valueScaling:"log"},type:"horizontal-bar",height:30,position:"top"})}},{key:"copyLocationToClipboard",value:function(){const r=this.props.tracks[0]&&this.props.tracks[0].position==="center",i=this.props.genomePositionSearchBox?.searchField?.chromInfo;if(!i){console.warn("There needs to be a genome position search box present to copy the location"),this.props.closeMenu();return}const o=this.props.coords[0],a=this.props.coords[1],s=dr(o,i),c=Fr(",d");let l=`${s[0]}:${c(s[1])}`;if(r){const u=dr(a,i);l=`${l} & ${u[0]}:${c(u[1])}`,$z(l)}else $z(l);this.props.closeMenu()}},{key:"handleAddVerticalSection",value:function(){const i=qp(this.props.tracks).filter(o=>o.type==="heatmap")[0];this.props.onAddTrack({type:"vertical-rule",x:this.props.coords[0],position:"whole"}),this.props.onAddTrack({data:{type:"vertical-section",server:i.server,tilesetUid:i.tilesetUid,slicePos:this.props.coords[0]},options:{valueScaling:"log"},type:"vertical-bar",height:30,position:"left"})}}])}(ul(Yo).with(xN));Bz.propTypes={coords:q.array,customItems:q.array};function Ike(e,t){if(window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(i=>{Gt[i]=window.higlassTracksByType[i].config}),!(e in Ca)&&!t){console.warn("unknown data type:",e);return}const n={"1d-horizontal":["top","bottom","left","right"],"2d":["center"],"1d-vertical":["left","right"]},r=Ca[e]||{};if(t)for(const i of t)if(!Gt[i])console.warn("unknown track type",i);else for(const o of n[Gt[i].orientation])r[o]=i;return r}function Rke(e,t){if(!(e instanceof t))throw new TypeError("Cannot call a class as a function")}function Dke(e,t){for(var n=0;n<t.length;n++){var r=t[n];r.enumerable=r.enumerable||!1,r.configurable=!0,"value"in r&&(r.writable=!0),Object.defineProperty(e,Lke(r.key),r)}}function Nke(e,t,n){return t&&Dke(e.prototype,t),Object.defineProperty(e,"prototype",{writable:!1}),e}function Lke(e){var t=$ke(e,"string");return typeof t=="symbol"?t:t+""}function $ke(e,t){if(typeof e!="object"||!e)return e;var n=e[Symbol.toPrimitive];if(n!==void 0){var r=n.call(e,t);if(typeof r!="object")return r;throw new TypeError("@@toPrimitive must return a primitive value.")}return String(e)}function jke(e,t,n){return t=um(t),Bke(e,zz()?Reflect.construct(t,n||[],um(e).constructor):t.apply(e,n))}function Bke(e,t){if(t&&(typeof t=="object"||typeof t=="function"))return t;if(t!==void 0)throw new TypeError("Derived constructors may only return object or undefined");return zke(e)}function zke(e){if(e===void 0)throw new ReferenceError("this hasn't been initialised - super() hasn't been called");return e}function zz(){try{var e=!Boolean.prototype.valueOf.call(Reflect.construct(Boolean,[],function(){}))}catch{}return(zz=function(){return!!e})()}function um(e){return um=Object.setPrototypeOf?Object.getPrototypeOf.bind():function(t){return t.__proto__||Object.getPrototypeOf(t)},um(e)}function Hke(e,t){if(typeof t!="function"&&t!==null)throw new TypeError("Super expression must either be null or a function");e.prototype=Object.create(t&&t.prototype,{constructor:{value:e,writable:!0,configurable:!0}}),Object.defineProperty(e,"prototype",{writable:!1}),t&&Lk(e,t)}function Lk(e,t){return Lk=Object.setPrototypeOf?Object.setPrototypeOf.bind():function(n,r){return n.__proto__=r,n},Lk(e,t)}let $k=function(e){function t(n){var r;Rke(this,t),r=jke(this,t,[n]),r.closing=!1,r.brushX=ol();const{tracks:i}=r.props;return r.canvasElement=null,r.tracksByUidInit={},[...r.props.tracks.top||[],...r.props.tracks.right||[],...r.props.tracks.bottom||[],...r.props.tracks.left||[],...r.props.tracks.gallery||[],...r.props.tracks.center||[]].forEach(o=>{o.type==="combined"?o.contents.forEach(a=>{r.tracksByUidInit[a.uid]=!1}):r.tracksByUidInit[o.uid]=!1}),r.annotationUid=null,r.annotationCreatedNotified=!1,r.xScale=null,r.yScale=null,r.addUidsToTracks(i),r.trackToReplace=null,r.trackRenderer=null,r.brushSelection=null,r.configTrackMenu=null,r.state={sizeMeasured:!1,height:10,width:10,tracks:i,init:!1,addTrackExtent:null,addTrackPosition:null,customDialog:null,mouseOverOverlayUid:null,forceUpdate:0,rangeSelection:[null,null],rangeSelectionEnd:!1,chromInfo:null,defaultChromSizes:null,contextMenuCustomItems:null,contextMenuPosition:null,addDivisorDialog:null},r.reset=!0,window.higlassTracksByType&&Object.keys(window.higlassTracksByType).forEach(o=>{Gt[o]=window.higlassTracksByType[o].config}),r.topHeight=0,r.bottomHeight=0,r.leftWidth=0,r.rightWidth=0,r.centerHeight=0,r.centerWidth=0,r.dragTimeout=null,r.previousPropsStr="",r.brushesCreated={},r.appZoomedBound=r.appZoomed.bind(r),r.handleClickBound=r.handleClick.bind(r),r.contextMenuHandlerBound=r.contextMenuHandler.bind(r),r.handleNoTrackAddedBound=r.handleNoTrackAdded.bind(r),r.handleTracksAddedBound=r.handleTracksAdded.bind(r),r.closeMenusBound=r.closeMenus.bind(r),r.handleAddDivisorBound=r.handleAddDivisor.bind(r),r.handleAddSeriesBound=r.handleAddSeries.bind(r),r.handleChangeTrackDataBound=r.handleChangeTrackData.bind(r),r.handleChangeTrackTypeBound=r.handleChangeTrackType.bind(r),r.handleCloseTrackBound=r.handleCloseTrack.bind(r),r.handleConfigureTrackBound=r.handleConfigureTrack.bind(r),r.handleExportTrackDataBound=r.handleExportTrackData.bind(r),r.handleLockValueScaleBound=r.handleLockValueScale.bind(r),r.handleReplaceTrackBound=r.handleReplaceTrack.bind(r),r.handleTrackOptionsChangedBound=r.handleTrackOptionsChanged.bind(r),r.handleUnlockValueScaleBound=r.handleUnlockValueScale.bind(r),r.onAddTrack=r.handleAddTrack.bind(r),r}return Hke(t,e),Nke(t,[{key:"waitForDOMAttachment",value:function(r){if(!this.mounted)return;const i=this.divTiledPlot;i?.getRootNode().contains(i)?r():requestAnimationFrame(()=>this.waitForDOMAttachment(r))}},{key:"componentDidMount",value:function(){this.mounted=!0,this.element=this.divTiledPlot,this.waitForDOMAttachment(()=>{Ih.ElementQueries.listen(),this.resizeSensor=new Ih.ResizeSensor(this.element.parentNode,this.measureSize.bind(this)),this.measureSize()}),this.addEventListeners(),this.pubSubs=[],this.pubSubs.push(this.props.pubSub.subscribe("contextmenu",this.contextMenuHandlerBound))}},{key:"getTracksData",value:function(r,i){let o=[];const a=this.listAllTrackObjects();for(const c of r)c.track.contents?o=[...o,...c.track.contents]:o=[...o,c.track];const s=[];for(const c of o)if(c.type==="heatmap"){const l=a.filter(v=>v.id===c.uid)[0],u=l._xScale(i[0][0]),f=l._xScale(i[1][0]),h=l._yScale(i[0][1]),d=l._yScale(i[1][1])-h,g=f-u,y=l.getVisibleRectangleData(u,h,d,g),m=y.data.reduce((v,_)=>v+_,0)/y.data.length;s.push({name:c.options.name,mean:m,trackUid:c.uid})}return s}},{key:"appZoomed",value:function(){if(this.brushCurrent&&this.brushEl){if(this.brushType==="horizontal"){const r=[this.xScale(this.brushSelection[0])+this.brushTrack.left,this.xScale(this.brushSelection[1])+this.brushTrack.left];this.brushEl.call(this.brushCurrent.move,r)}if(this.brushType==="vertical"){const r=[this.yScale(this.brushSelection[0])+this.brushTrack.top,this.yScale(this.brushSelection[1])+this.brushTrack.top];this.brushEl.call(this.brushCurrent.move,r)}if(this.brushType==="2d"){const r=[[this.xScale(this.brushSelection[0][0])+this.brushTrack.left,this.yScale(this.brushSelection[0][1])+this.brushTrack.top],[this.xScale(this.brushSelection[1][0])+this.brushTrack.left,this.yScale(this.brushSelection[1][1])+this.brushTrack.top]];this.brushEl.call(this.brushCurrent.move,r)}}}},{key:"clearOtherBrushes",value:function(r){for(const i of Object.values(this.brushes))i.on("brush",null);for(const i in this.brushes){const o=this.brushes[i];o!==r&&this.brushEls[i].call(o.move,null)}for(const i of Object.values(this.brushes))i.on("brush",()=>this.clearOtherBrushes(i))}},{key:"handleClick",value:function(r){const i=Xt(r,this.divTiledPlot);let o=!1;if(this.brushEl){const a=this.brushSelectionRaw,s=this.brushTrack;this.brushType==="2d"?i[0]>=a[0][0]&&i[0]<=a[1][0]&&i[1]>=a[0][1]&&i[1]<=a[1][1]&&(o=!0):this.brushType==="horizontal"?i[0]>=a[0]&&i[0]<=a[1]&&i[1]>=s.top&&i[1]<=s.top+Zn(s.track)&&(o=!0):this.brushType==="vertical"&&i[1]>=a[0]&&i[1]<=a[1]&&i[0]>=s.left&&i[0]<=s.left+Qn(s.track)&&(o=!0),o||this.cancelBrushes()}}},{key:"cancelBrushes",value:function(){this.brushEl.call(this.brushCurrent.move,null),this.brushEl=null,this.props.apiPublish("annotationRemoved",this.annotationUid),this.annotationUid=null,this.annotationCreatedNotified=!1,this.removeBrushText()}},{key:"removeBrushText",value:function(){_t(this.divTiledPlot).selectAll(".brush-svg").selectAll(".data-values").remove()}},{key:"enableBrushes",value:function(){_t(this.divTiledPlot).selectAll(".brush-svg").selectAll(".overlay").style("pointer-events","all")}},{key:"disableBrushes",value:function(){_t(this.divTiledPlot).selectAll(".overlay").attr("pointer-events","none"),_t(this.divTiledPlot).selectAll(".brush-rect").attr("pointer-events","none"),_t(this.divTiledPlot).selectAll(".selection").attr("pointer-events","all"),_t(this.divTiledPlot).selectAll(".brush-svg").attr("pointer-events","none")}},{key:"createBrushes",value:function(r){const i={};this.brushCurrent=null;const o=this.props.apiPublish,a=this;for(const s of r){if(i[s.track.uid])continue;let c=null;["top","bottom"].includes(s.track.position)?(c=ol(),c.on("brush",l=>{l.selection&&(this.brushCurrent=c,this.brushType="horizontal",this.brushTrack=s,this.brushSelectionRaw=l.selection,this.brushSelection=[this.xScale.invert(l.selection[0]-s.left),this.xScale.invert(l.selection[1]-s.left)],o("annotationChanged",{annotationUid:this.annotationUid,viewUid:this.props.uid,track:s.track,extent:[this.brushSelection,[null,null]]}))}),c.on("end",l=>{this.annotationCreatedNotified||o("annotationCreated",{annotationUid:a.annotationUid,track:s.track,viewUid:this.props.uid,extent:[this.brushSelection,[null,null]]})})):["left","right"].includes(s.track.position)?(c=al(),c.on("brush",l=>{l.selection&&(this.brushCurrent=c,this.brushType="vertical",this.brushTrack=s,this.brushSelectionRaw=l.selection,this.brushSelection=[this.yScale.invert(l.selection[0]-s.top),this.yScale.invert(l.selection[1]-s.top)],o("annotationChanged",{annotationUid:this.annotationUid,track:s.track,viewUid:this.props.uid,extent:[[null,null],this.brushSelection]}))}),c.on("end",l=>{this.annotationCreatedNotified||o("annotationCreated",{annotationUid:a.annotationUid,track:s.track,viewUid:this.props.uid,extent:[[null,null],this.brushSelection]})})):(c=Wd(),c.on("brush",l=>{if(!l.selection)return;this.brushCurrent=c,this.brushType="2d",this.brushTrack=s,this.brushSelectionRaw=l.selection,this.brushSelection=[[this.xScale.invert(l.selection[0][0]-s.left),this.yScale.invert(l.selection[0][1]-s.top)],[this.xScale.invert(l.selection[1][0]-s.left),this.yScale.invert(l.selection[1][1]-s.top)]];const u=this.getTracksData(r.filter(h=>h.track.position==="center"),this.brushSelection),f=Object.values(u).filter(h=>h.mean!==void 0).map(h=>h.mean);if(f.length){_t(this.divTiledPlot).selectAll(".brush-svg").selectAll(".data-values").data(f).enter().append("text").classed("data-values",!0);const p=Fr(".3f");_t(this.divTiledPlot).selectAll(".data-values").attr("x",l.selection[0][0]).attr("y",l.selection[0][1]).text(d=>`mean: ${p(d)}`)}o("annotationChanged",{annotationUid:this.annotationUid,extent:this.brushSelection,data:u,track:s.track,viewUid:this.props.uid})}),c.on("end",l=>{let u={};this.brushSelection?.[0].length&&(u=this.getTracksData(r.filter(f=>f.track.position==="center"),this.brushSelection)),this.annotationCreatedNotified?l.selection||this.removeBrushText():(o("annotationCreated",{annotationUid:a.annotationUid,track:s.track,viewUid:this.props.uid,extent:this.brushSelection,data:u}),this.annotationCreatedNotified=!0)})),c.keyModifiers(!1),c.extent([[s.left,s.top],[s.left+Qn(s.track),s.top+Zn(s.track)]]),c.on("start",function(l){a.annotationUid||(a.annotationUid=Mt.nice(),s.annotationUid=a.annotationUid),a.brushEl=_t(this)}),i[s.track.uid]=c}return i}},{key:"removeBrushes",value:function(){_t(this.divTiledPlot).selectAll(".brush-svg").remove()}},{key:"addBrushes",value:function(){if(this.annotationUid)return;const r=this.positionedTracks().filter(s=>s.track.position!=="whole"),i=this.createBrushes(r);this.brushes=i;const o={};this.brushEls=o,_t(this.divTiledPlot).selectAll(".brush").remove(),_t(this.divTiledPlot).selectAll(".brush-svg").data([1]).enter().append("svg").classed("brush-svg",!0).style("position","absolute").style("left",0).style("top",0).style("z-index",101);const a=_t(this.divTiledPlot).select(".brush-svg").selectAll(".brush").data(r,s=>s.track.uid).enter().append("g").attr("class","brush");_t(this.divTiledPlot).selectAll(".brush-svg").attr("width",this.state.width).attr("height",this.state.height),_t(this.divTiledPlot).selectAll(".brush-rect").attr("x",s=>s.left).attr("y",s=>s.top).style("stroke","1px solid black").style("fill","transparent").attr("width",s=>s.width).attr("height",s=>s.height),a.each(function(s){o[s.track.uid]=_t(this),o[s.track.uid].call(i[s.track.uid])})}},{key:"UNSAFE_componentWillReceiveProps",value:function(r){this.addUidsToTracks(r.tracks),this.setState({tracks:r.tracks})}},{key:"shouldComponentUpdate",value:function(r,i){const o=this.previousPropsStr,a=this.updatablePropsToString(r),s=JSON.stringify(this.state),c=JSON.stringify(i),l=o!==a||s!==c||this.props.chooseTrackHandler!==r.chooseTrackHandler||this.props.customDialog!==r.customDialog;l&&(this.previousPropsStr=a);const u=this.numTracks;return this.numTracks=0,oo(this.props.tracks,()=>this.numTracks++),this.reset=this.reset||u===0&&this.numTracks>0,this.numTracks||(this.tracksByUidInit={}),r.mouseTool===ku?this.addBrushes():this.disableBrushes(),l}},{key:"componentDidUpdate",value:function(r,i){if(i.rangeSelection!==this.state.rangeSelection){let o=[null,null];this.state.defaultChromSizes&&this.state.rangeSelection.every(a=>a?.length)&&(o=this.state.rangeSelection.map(a=>Cp(...a,this.state.defaultChromSizes))),this.props.onRangeSelection({dataRange:this.state.rangeSelection,genomicRange:o})}if(this.state.customDialog||this.props.customDialog){const o=this.state.customDialog||this.props.customDialog;if(o.length>0){const a=[],s=[];o.forEach(c=>{a.push(c.bodyComponent),s.push(c.bodyProps)}),this.props.modal.open(x.createElement(DS,{children:a,bodyProps:s,onCancel:this.props.closeCustomDialog,title:o[0].title}))}}if(r.tracks.center,this.props.tracks.center,(this.state.addTrackPosition||this.props.addTrackPosition)&&this.props.modal.open(x.createElement(Zd,{extent:this.state.addTrackExtent||this.props.addTrackExtent,host:this.state.addTrackHost,onCancel:this.handleNoTrackAddedBound,onTracksChosen:this.handleTracksAddedBound,position:this.state.addTrackPosition||this.props.addTrackPosition,trackSourceServers:this.props.trackSourceServers})),this.state.addDivisorDialog){const o=this.state.addDivisorDialog;this.props.modal.open(x.createElement(Zd,{datatype:Gt[o.type].datatype[0],host:this.state.addTrackHost,onCancel:()=>{this.setState({addDivisorDialog:null})},onTracksChosen:a=>{this.handleDivisorChosen(o,a)},trackSourceServers:this.props.trackSourceServers}))}}},{key:"componentWillUnmount",value:function(){this.closing=!0,this.removeEventListeners(),this.pubSubs.forEach(r=>this.props.pubSub.unsubscribe(r))}},{key:"addUidsToTracks",value:function(r){Object.keys(r).forEach(i=>{r[i].forEach(o=>{o.uid=o.uid||Mt.nice()})})}},{key:"contextMenuHandler",value:function(r){if(!this.divTiledPlot)return;const i=this.divTiledPlot.getBoundingClientRect();if(!_0(r.clientX,r.clientY,i.left,i.left+i.width,i.top,i.top+i.height))return;const a=[r.clientX,r.clientY],s=Xt(r,this.divTiledPlot),c=this.trackRenderer.zoomedXScale.invert(s[0]),l=this.trackRenderer.zoomedYScale.invert(s[1]);let u=null;r.hgCustomItems&&(u=r.hgCustomItems.map(f=>x.createElement(xt,{key:f.key,onClick:f.onClick},f.text))),this.setState({contextMenuCustomItems:u,contextMenuPosition:{left:a[0],top:a[1],canvasLeft:s[0]+this.trackRenderer.xPositionOffset,canvasTop:s[1]+this.trackRenderer.yPositionOffset},contextMenuDataX:c,contextMenuDataY:l})}},{key:"measureSize",value:function(){this.element.clientWidth>0&&this.element.clientHeight>0&&this.setState({sizeMeasured:!0,width:this.element.clientWidth,height:this.element.clientHeight})}},{key:"handleTrackOptionsChanged",value:function(r,i){return this.props.onTrackOptionsChanged(r,i)}},{key:"handleCollapseTrack",value:function(r){this.handleTrackOptionsChanged(r,{collapsed:!0})}},{key:"handleExpandTrack",value:function(r){this.handleTrackOptionsChanged(r,{collapsed:!1})}},{key:"handleScalesChanged",value:function(r,i){this.xScale=r,this.yScale=i,this.appZoomed(),this.props.onScalesChanged(r,i)}},{key:"handleTilesetInfoReceived",value:function(r,i){const o=rn(this.props.tracks,r);if(!o){console.warn("Strange, track not found:",r);return}this.tracksByUidInit[o.uid]=!0,this.checkAllTilesetInfoReceived(),o.options||(o.options={}),o.name=i.name,o.maxWidth=i.max_width,o.transforms=i.transforms,o.aggregationModes=i.aggregation_modes,o.header=i.header,o.binsPerDimension=i.bins_per_dimension,i.resolutions?(o.maxZoom=i.resolutions.length-1,o.resolutions=i.resolutions):o.maxZoom=i.max_zoom,i.row_infos&&(o.row_infos=i.row_infos),o.coordSystem=i.coordSystem,o.datatype=i.datatype}},{key:"checkAllTilesetInfoReceived",value:function(){if(this.state.init&&!this.reset||!this.trackRenderer||!this.props.zoomToDataExtentOnInit())return;const r=Object.keys(this.trackRenderer.trackDefObjects).map(o=>{const a=this.trackRenderer.trackDefObjects[o].trackObject;return a.childTracks?a.childTracks:a}).reduce((o,a)=>o.concat(a),[]).filter(({tilesetInfo:o})=>typeof o<"u"&&o!==!0),i=Object.values(this.tracksByUidInit).filter(o=>o).length;r.length===i&&(this.setState({init:!0}),this.reset=!1,this.handleZoomToData())}},{key:"handleOverlayMouseEnter",value:function(r){this.setState({mouseOverOverlayUid:r}),this.props.setOverTrackChooser(!0)}},{key:"handleOverlayMouseLeave",value:function(r){r===this.state.mouseOverOverlayUid&&this.setState({mouseOverOverlayUid:null}),this.props.setOverTrackChooser(!1)}},{key:"handleTrackPositionChosen",value:function(r,i){this.setState({mouseOverOverlayUid:null}),this.props.chooseTrackHandler(r.track.uid,i)}},{key:"handleNoTrackAdded",value:function(){this.trackToReplace=null,this.props.onNoTrackAdded(),this.setState({addTrackExtent:null,addTrackPosition:null,addTrackHost:null})}},{key:"handleAddDivisor",value:function(r){this.setState({addDivisorDialog:r})}},{key:"handleDivisorChosen",value:function(r,i){this.setState({addDivisorDialog:null});const o=r.data?{server:r.data.server,tilesetUid:r.data.tilesetUid}:{server:r.server,tilesetUid:r.tilesetUid},a={server:i[0].server,tilesetUid:i[0].uuid};this.handleChangeTrackData(r.uid,{type:"divided",children:[o,a]})}},{key:"handleDivideSeries",value:function(r){}},{key:"handleAddSeries",value:function(r){const i=Mu(this.props.tracks,r),o=rn(this.props.tracks,r);this.setState({addTrackPosition:i,addTrackHost:o})}},{key:"handleReplaceTrack",value:function(r,i){this.trackToReplace=r,this.handleAddTrack(i)}},{key:"handleAddTrack",value:function(r,i){this.setState({addTrackExtent:i,addTrackPosition:r,addTrackHost:null})}},{key:"handleResizeTrack",value:function(r,i,o){const{tracks:a}=this.state;for(const s in a){const l=a[s].filter(u=>u.uid===r);l.length>0&&(l[0].width=i,l[0].height=o)}this.setState({tracks:a,forceUpdate:Math.random()}),this.props.onResizeTrack()}},{key:"closeMenus",value:function(){this.setState({closeTrackMenuId:null,configTrackMenuId:null,contextMenuPosition:null,contextMenuCustomItems:null})}},{key:"handleLockValueScale",value:function(r){this.closeMenus(),this.props.onLockValueScale(r)}},{key:"handleUnlockValueScale",value:function(r){this.closeMenus(),this.props.onUnlockValueScale(r)}},{key:"handleCloseTrack",value:function(r){this.closeMenus(),this.props.onCloseTrack(r)}},{key:"handleChangeTrackType",value:function(r,i){this.closeMenus(),this.props.onChangeTrackType(r,i)}},{key:"handleChangeTrackData",value:function(r,i){this.closeMenus(),this.props.onChangeTrackData(r,i)}},{key:"handleTracksAdded",value:function(r,i,o,a){return this.trackToReplace&&(this.handleCloseTrack(this.trackToReplace),this.trackToReplace=null),this.props.onTracksAdded(r,i,o,a),this.setState({addTrackExtent:null,addTrackPosition:null,addTrackHost:null}),r}},{key:"handleCloseTrackMenuOpened",value:function(r,i){this.setState({closeTrackMenuId:r,closeTrackMenuLocation:i})}},{key:"handleCloseContextMenu",value:function(){this.setState({contextMenuCustomItems:null,contextMenuPosition:null,contextMenuDataX:null,contextMenuDataY:null})}},{key:"handleCloseTrackMenuClosed",value:function(){this.setState({closeTrackMenuId:null})}},{key:"handleConfigTrackMenuOpened",value:function(r,i){this.closeMenus(),this.setState({configTrackMenuId:r,configTrackMenuLocation:i})}},{key:"handleConfigureTrack",value:function(r,i){this.setState({configTrackMenuId:null,trackOptions:{track:r,configComponent:i}}),this.closeMenus()}},{key:"handleSortEnd",value:function(r){this.setState(i=>{const o=i.tracks,a={};for(let s=0;s<r.length;s++)a[r[s].uid]=s;for(const s in o){const c=o[s];if(c.length&&c[0].uid in a){const l=new Array(c.length);for(let u=0;u<c.length;u++)l[a[c[u].uid]]=c[u];o[s]=l}}return{tracks:o,forceUpdate:Math.random()}})}},{key:"createTracksAndLocations",value:function(){const r=[],{tracks:i}=this.state;return Mp.forEach(o=>{i[o]&&i[o].forEach(a=>{a.contents&&a.contents.forEach(s=>{s.position=o}),a.position=o,r.push({track:a,location:o})})}),r}},{key:"calculateTrackPosition",value:function(r,i){let o=this.props.paddingTop,a=this.props.paddingBottom,s=this.props.paddingLeft,c=this.props.paddingRight,l=this.centerWidth,u=Zn(r),f=0,h=0;switch(i){case"top":s+=this.leftWidth;for(let p=0;p<this.state.tracks.top.length&&this.state.tracks.top[p].uid!==r.uid;p++)o+=Zn(this.state.tracks.top[p]);break;case"bottom":s+=this.leftWidth,o+=this.topHeight+this.centerHeight+this.galleryDim;for(let p=0;p<this.state.tracks.bottom.length&&this.state.tracks.bottom[p].uid!==r.uid;p++)o+=Zn(this.state.tracks.bottom[p]);break;case"left":o+=this.topHeight,l=Qn(r),u=this.centerHeight;for(let p=0;p<this.state.tracks.left.length&&this.state.tracks.left[p].uid!==r.uid;p++)s+=Qn(this.state.tracks.left[p]);break;case"right":s+=this.leftWidth+this.centerWidth+this.galleryDim,o+=this.topHeight,l=Qn(r),u=this.centerHeight;for(let p=0;p<this.state.tracks.right.length&&this.state.tracks.right[p].uid!==r.uid;p++)s+=Qn(this.state.tracks.right[p]);break;case"center":s+=this.leftWidth,o+=this.topHeight,u=this.centerHeight;break;case"gallery":s+=this.leftWidthNoGallery,o+=this.topHeightNoGallery,l=this.state.width-this.leftWidthNoGallery-this.rightWidthNoGallery-this.props.paddingLeft,u=this.state.height-this.topHeightNoGallery-this.bottomHeightNoGallery-this.props.paddingTop,f=this.galleryDim,h=this.galleryDim;for(let p=0;p<this.state.tracks.gallery.length&&this.state.tracks.gallery[p].uid!==r.uid;p++)l-=2*this.state.tracks.gallery[p].height,u-=2*this.state.tracks.gallery[p].height,s+=this.state.tracks.gallery[p].height,o+=this.state.tracks.gallery[p].height,f-=this.state.tracks.gallery[p].height,h-=this.state.tracks.gallery[p].height;for(let p=0;p<this.state.tracks.right.length;p++)c+=this.state.tracks.right[p].width;for(let p=0;p<this.state.tracks.bottom.length;p++)a+=this.state.tracks.bottom[p].height;r.offsetX=f,r.offsetY=h,r.offsetTop=o,r.offsetRight=c,r.offsetBottom=a,r.offsetLeft=s;break;default:l=this.leftWidth+this.centerWidth+this.rightWidth,u=this.topHeight+this.centerHeight+this.bottomHeight}return Mp.indexOf(i)===-1&&console.warn("Track with unknown position present:",i,r),{left:s,top:o,width:l,height:u,track:r}}},{key:"findCentralHeatmapTrack",value:function(r){for(let i=0;i<r.length;i++){if(r[i].type==="combined")return this.findCentralHeatmapTrack(r[i].contents);if(r[i].type==="heatmap")return r[i]}}},{key:"trackUuidToOrientation",value:function(r){}},{key:"overlayTracks",value:function(r){return this.props.overlays?this.props.overlays.filter(o=>o.includes?.length).map(o=>{const a=o.type?`overlay-${o.type}-track`:"overlay-track",s={...o,uid:o.uid||Mt.nice(),includes:o.includes,type:a,options:Object.assign(o.options,{orientationsAndPositions:o.includes.map(c=>{const l=rn(this.props.tracks,c);if(!l)return console.warn(`OverlayTrack included uid (${c}) not found in the track list`),null;const u=Mu(this.props.tracks,l.uid);let f;if((u==="top"||u==="bottom")&&(f="1d-horizontal"),(u==="left"||u==="right")&&(f="1d-vertical"),u==="center"&&(f="2d"),!f)return console.warn("Only top, bottom, left, right, or center tracks can be overlaid at the moment"),null;const h=r.filter(d=>d.track.uid===c);if(!h.length)return null;const p={left:h[0].left-this.props.paddingLeft,top:h[0].top-this.props.paddingTop,width:h[0].width,height:h[0].height};return{orientation:f,position:p}}).filter(c=>c)})};return{top:this.props.paddingTop,left:this.props.paddingLeft,width:this.leftWidth+this.centerWidth+this.rightWidth,height:this.topHeight+this.centerHeight+this.bottomHeight+this.props.marginTop+this.props.marginBottom,track:s}}):[]}},{key:"positionedTracks",value:function(){return this.createTracksAndLocations().map(({track:i,location:o})=>this.calculateTrackPosition(i,o))}},{key:"createTrackPositionTexts",value:function(){const r=this.positionedTracks();return this.createTracksAndLocations(),r.map(o=>{const{track:a}=o;return x.createElement("div",{key:a.uid,style:{left:o.left,top:o.top,width:Qn(o.track),height:Zn(o.track),position:"absolute"}},a.uid.slice(0,2))})}},{key:"handleExportTrackData",value:function(r,i){const o=rn(this.props.tracks,i);let a=null;r!==i?a=this.trackRenderer.trackDefObjects[r].trackObject.createdTracks[o.uid]:{trackObject:a}=this.trackRenderer.trackDefObjects[r],a.exportData(),this.closeMenus()}},{key:"listTracksAtPosition",value:function(r,i,o=!1){const a=[];if(!this.trackRenderer)return[];for(const s in this.trackRenderer.trackDefObjects){const c=this.trackRenderer.trackDefObjects[s].trackObject;if(c.respondsToPosition(r,i))if(o){if(this.props.tracks.center)if(this.props.tracks.center.contents)for(let l=0;l<this.props.tracks.center.contents.length;l++)this.props.tracks.center.contents[l].uid===s&&(c.is2d=!0);else this.props.tracks.center?.length&&this.props.tracks.center[0].uid===s&&(c.is2d=!0);a.push(c)}else a.push(this.trackRenderer.trackDefObjects[s].trackDef.track)}return a}},{key:"listAllTrackObjects",value:function(){const r=[];for(const i in this.trackRenderer.trackDefObjects){const o=this.trackRenderer.trackDefObjects[i];if(o.trackObject.createdTracks)for(const a in o.trackObject.createdTracks){const s=o.trackObject.createdTracks[a];r.push(s)}else r.push(o.trackObject)}return r}},{key:"handleZoomToData",value:function(){const r=Number.MAX_SAFE_INTEGER,i=Number.MIN_SAFE_INTEGER,o=[r,r],a=[i,i],s=this.listAllTrackObjects();for(const h of s)if(h.tilesetInfo&&h.tilesetInfo.min_pos)for(let p=0;p<h.tilesetInfo.min_pos.length;p++)h.tilesetInfo.min_pos[p]<o[p]&&(o[p]=h.tilesetInfo.min_pos[p]),h.tilesetInfo.max_pos[p]>a[p]&&(a[p]=h.tilesetInfo.max_pos[p]);const c=this.trackRenderer.currentProps.paddingLeft+this.trackRenderer.currentProps.leftWidth;let l=[c,c+this.trackRenderer.currentProps.centerWidth].map(this.trackRenderer.zoomTransform.rescaleX(this.trackRenderer.xScale).invert);const u=this.trackRenderer.currentProps.paddingTop+this.trackRenderer.currentProps.topHeight;let f=[u,u+this.trackRenderer.currentProps.centerHeight].map(this.trackRenderer.zoomTransform.rescaleY(this.trackRenderer.yScale).invert);this.trackRenderer.zoomTransform.k=1,this.trackRenderer.zoomTransform.x=0,this.trackRenderer.zoomTransform.y=0,this.trackRenderer.applyZoomTransform(),o[0]<Number.MAX_SAFE_INTEGER&&a[0]>Number.MIN_SAFE_INTEGER&&(l=[o[0],a[0]]),o[1]<Number.MAX_SAFE_INTEGER&&a[1]>Number.MIN_SAFE_INTEGER&&(f=[o[1],a[1]]),this.props.onDataDomainChanged(l,f)}},{key:"resetViewport",value:function(){this.trackRenderer.zoomTransform.k=1,this.trackRenderer.zoomTransform.x=0,this.trackRenderer.zoomTransform.y=0,this.trackRenderer.applyZoomTransform(),this.props.onDataDomainChanged(this.props.initialXDomain,this.props.initialYDomain)}},{key:"updatablePropsToString",value:function(r){return JSON.stringify({tracks:r.tracks,overlays:r.overlays,viewOptions:r.viewOptions,uid:r.uid,addTrackExtent:r.addTrackExtent,addTrackPosition:r.addTrackPosition,editable:r.editable,marginTop:r.marginTop,marginBottom:r.marginBottom,marginLeft:r.marginLeft,marginRight:r.marginRight,paddingTop:r.paddingTop,paddingBottom:r.paddingBottom,paddingLeft:r.paddingLeft,paddingRight:r.paddingRight,mouseTool:r.mouseTool,initialXDomain:r.initialXDomain,initialYDomain:r.initialYDomain,trackSourceServers:r.trackSourceServers,zoomable:r.zoomable,draggingHappening:r.draggingHappening})}},{key:"getXYScales",value:function(){this.trackRenderer&&(this.xScale=this.trackRenderer.currentXScale,this.yScale=this.trackRenderer.currentYScale)}},{key:"rangeViewToDataLoci",value:function(r,i){return i?[Number.parseInt(i.invert(r[0]),10),Number.parseInt(i.invert(r[1]),10)]:[null,null]}},{key:"rangeSelectionResetHandler",value:function(){this.state.rangeSelectionMaster&&this.setState({is1dRangeSelection:null,rangeSelection:[null,null],rangeSelectionMaster:null,rangeSelectionEnd:!1})}},{key:"rangeSelection1dEndHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const i=r==="x"?this.xScale:this.yScale;return o=>{this.setState(a=>{const s=a.is1dRangeSelection?[null,null]:a.rangeSelection.slice(),c=!this.state.is1dRangeSelection&&r==="y"?1:0;let l=this.rangeViewToDataLoci(o,i);const u=l[1]-l[0];if(this.props.rangeSelection1dSize[0]>u){const f=l[0]+u/2;l=[f-this.props.rangeSelection1dSize[0]/2,f+this.props.rangeSelection1dSize[0]/2]}else if(this.props.rangeSelection1dSize[1]<u){const f=l[0]+u/2;l=[f-this.props.rangeSelection1dSize[1]/2,f+this.props.rangeSelection1dSize[1]/2]}return s[c]=l,this.props.rangeSelectionToInt&&(s[c]=s[c].map(f=>Math.round(f))),{rangeSelection:s,rangeSelectionEnd:!0}})}}},{key:"rangeSelection1dHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const i=r==="x"?this.xScale:this.yScale;return o=>{this.setState(a=>{const s=a.is1dRangeSelection?[null,null]:a.rangeSelection.slice(),c=!a.is1dRangeSelection&&r==="y"?1:0;return s[c]=this.rangeViewToDataLoci(o,i),{rangeSelection:s,rangeSelectionEnd:!1}})}}},{key:"rangeSelection1dStartHandler",value:function(){this.state.rangeSelectionMaster||this.setState({is1dRangeSelection:!0,rangeSelectionMaster:!0,rangeSelectionEnd:!1})}},{key:"rangeSelection2dHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales(),this.setState({rangeSelection:[this.rangeViewToDataLoci(r[0],this.xScale),this.rangeViewToDataLoci(r[1],this.yScale)],rangeSelectionEnd:!1})}},{key:"rangeSelection2dStartHandler",value:function(){this.state.rangeSelectionMaster||this.setState({is1dRangeSelection:!1,rangeSelectionMaster:!0,rangeSelectionEnd:!1})}},{key:"rangeSelection2dEndHandler",value:function(r){(!this.xScale||!this.yScale)&&this.getXYScales();const i=this.rangeViewToDataLoci(r[0],this.xScale),o=this.rangeViewToDataLoci(r[1],this.yScale);let a=[i,o];const s=i[1]-i[0],c=o[1]-o[0],l=[s,c];a.forEach((u,f)=>{if(this.props.rangeSelection1dSize[0]>l[f]){const h=u[0]+Math.round(l[f]/2);u[0]=h-this.props.rangeSelection1dSize[0]/2,u[1]=h+this.props.rangeSelection1dSize[0]/2}else if(this.props.rangeSelection1dSize[1]<l[f]){const h=u[0]+Math.round(l[f]/2);u[0]=h-this.props.rangeSelection1dSize[1]/2,u[1]=h+this.props.rangeSelection1dSize[1]/2}}),this.props.rangeSelectionToInt&&(a=a.map(u=>u.map(f=>Math.round(f)))),this.setState({rangeSelection:a,rangeSelectionEnd:!0})}},{key:"getContextMenu",value:function(){if(this.state.contextMenuPosition){const r=this.listTracksAtPosition(this.state.contextMenuPosition.canvasLeft,this.state.contextMenuPosition.canvasTop);return x.createElement(Go,{onMenuClosed:this.closeMenusBound},x.createElement(Bz,{apiPublish:this.props.apiPublish,closeMenu:this.closeMenusBound,coords:[this.state.contextMenuDataX,this.state.contextMenuDataY],customItems:this.state.contextMenuCustomItems,genomePositionSearchBox:this.props.genomePositionSearchBox,onAddDivisor:this.handleAddDivisorBound,onAddSeries:this.handleAddSeriesBound,onAddTrack:i=>{this.props.onTracksAdded([i],i.position,null,null),this.handleCloseContextMenu()},onChangeTrackData:this.handleChangeTrackDataBound,onChangeTrackType:this.handleChangeTrackTypeBound,onCloseTrack:this.handleCloseTrackBound,onConfigureTrack:this.handleConfigureTrackBound,onExportData:this.handleExportTrackDataBound,onLockValueScale:this.handleLockValueScaleBound,onReplaceTrack:this.handleReplaceTrackBound,onTrackOptionsChanged:this.handleTrackOptionsChangedBound,onUnlockValueScale:this.handleUnlockValueScaleBound,orientation:"right",position:this.state.contextMenuPosition,theme:this.props.theme,trackRenderer:this.trackRenderer,tracks:r,trackSourceServers:this.props.trackSourceServers}))}return null}},{key:"getIdealizedTrackPositionsOverlay",value:function(){const r=this.props.draggingHappening,{datatype:i}=r,o=Ike(i,r.defaultTracks);if(!o)return null;const a=new Set(["top","left","right","center","bottom"].filter(E=>E in this.state.tracks&&this.state.tracks[E].length)),s="top"in o,c="left"in o,l="right"in o,u="bottom"in o,f="center"in o,h="center"in o||a.has("left")||a.has("right")||a.has("center"),p="top"in o,d="bottom"in o&&h,g="left"in o&&h,y="right"in o&&h,b=Object.keys(o).length&&("center"in o||h),m=x.createElement("div",{style:{flexGrow:1}}),v=x.cloneElement(m),_=x.createElement("div",{style:{display:"flex",flexGrow:1}},p&&(b||g)?m:null,x.createElement(P1,{defaultTrackType:o.top,draggingHappening:this.props.draggingHappening,enabled:s,onTrackDropped:E=>this.handleTracksAdded([E],"top"),style:{border:"1px solid black",flexGrow:1}}),p&&(b||g)?v:null),T=x.createElement("div",{style:{display:"flex",flexGrow:1}},p&&(b||g)?m:null,x.createElement(P1,{defaultTrackType:o.bottom,draggingHappening:this.props.draggingHappening,enabled:u,onTrackDropped:E=>this.handleTracksAdded([E],"bottom"),style:{border:"1px solid black",flexGrow:1}}),p&&(b||g)?v:null),w=x.createElement(P1,{defaultTrackType:o.left,draggingHappening:this.props.draggingHappening,enabled:c,onTrackDropped:E=>this.handleTracksAdded([E],"left"),style:{border:"1px solid black",flexGrow:1}}),S=x.createElement(P1,{defaultTrackType:o.center,draggingHappening:this.props.draggingHappening,enabled:f,onTrackDropped:E=>this.handleTracksAdded([E],"center"),position:"center",style:{border:"1px solid black",flexGrow:1}}),k=x.cloneElement(w,{defaultTrackType:o.right,enabled:l,onTrackDropped:E=>this.handleTracksAdded([E],"right")});return x.createElement("div",{style:{position:"absolute",left:"0px",top:"0px",width:this.state.width,height:this.state.height}},x.createElement("div",{style:{position:"absolute",width:this.state.width,height:this.state.height,background:"white",opacity:.4}}),x.createElement("div",{style:{width:this.state.width,height:this.state.height,position:"absolute",display:"flex",flexDirection:"column"}},p?_:null,h&&x.createElement("div",{style:{display:"flex",height:p||d?"40%":"100%",width:"100%"}},g?w:null,b?S:null,y?k:null),d?T:null))}},{key:"render",value:function(){this.galleryDim=this.props.tracks.gallery?this.props.tracks.gallery.map(m=>Zn(m)).reduce(zo,0):0,this.topHeightNoGallery=this.props.tracks.top.map(m=>Zn(m)).reduce(zo,0),this.topHeight=this.topHeightNoGallery+this.galleryDim,this.bottomHeightNoGallery=this.props.tracks.bottom.map(m=>Zn(m)).reduce(zo,0),this.bottomHeight=this.bottomHeightNoGallery+this.galleryDim,this.leftWidthNoGallery=this.props.tracks.left.map(m=>Qn(m)).reduce(zo,0),this.leftWidth=this.leftWidthNoGallery+this.galleryDim,this.rightWidthNoGallery=this.props.tracks.right.map(m=>Qn(m)).reduce(zo,0),this.rightWidth=this.rightWidthNoGallery+this.galleryDim;const r=this.props.paddingTop+this.props.paddingBottom,i=this.props.paddingLeft+this.props.paddingRight;this.centerHeight=Math.max(1,this.state.height-this.topHeight-this.bottomHeight-r),this.centerWidth=Math.max(1,this.state.width-this.leftWidth-this.rightWidth-i);const o="none",a=x.createElement("div",{className:"top-track-container",style:{left:this.leftWidth+this.props.paddingLeft,top:this.props.paddingTop,width:this.centerWidth,height:this.topHeightNoGallery,outline:o,position:"absolute"}},x.createElement(eg,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===Xn,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onCollapseTrack:this.handleCollapseTrack.bind(this),onExpandTrack:this.handleExpandTrack.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:new Set(["bottom"]),scale:this.xScale,tracks:this.props.tracks.top,width:this.centerWidth})),s=x.createElement("div",{className:"left-track-container",style:{left:this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.leftWidthNoGallery,height:this.centerHeight,outline:o,position:"absolute"}},x.createElement(Dk,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===Xn,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onCollapseTrack:this.handleCollapseTrack.bind(this),onExpandTrack:this.handleExpandTrack.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("y").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:new Set(["right"]),scale:this.yScale,tracks:this.props.tracks.left})),c=x.createElement("div",{className:"right-track-container",style:{right:this.props.paddingRight,top:this.topHeight+this.props.paddingTop,width:this.rightWidthNoGallery,height:this.centerHeight,outline:o,position:"absolute"}},x.createElement(Dk,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===Xn,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onCollapseTrack:this.handleCollapseTrack.bind(this),onExpandTrack:this.handleExpandTrack.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("y").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:new Set(["left"]),scale:this.yScale,tracks:this.props.tracks.right,tracksControlAlignLeft:!0})),l=x.createElement("div",{className:"bottom-track-container",style:{left:this.leftWidth+this.props.paddingLeft,bottom:this.props.paddingBottom,width:this.centerWidth,height:this.bottomHeightNoGallery,outline:o,position:"absolute"}},x.createElement(eg,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,handleConfigTrack:this.handleConfigTrackMenuOpened.bind(this),handleResizeTrack:this.handleResizeTrack.bind(this),handleSortEnd:this.handleSortEnd.bind(this),is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===Xn,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onCollapseTrack:this.handleCollapseTrack.bind(this),onExpandTrack:this.handleExpandTrack.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelection:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection1dStartHandler.bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,resizeHandles:new Set(["top"]),scale:this.xScale,tracks:this.props.tracks.bottom,width:this.centerWidth})),u=x.createElement("div",{key:"galleryTracksDiv",className:"gallery-track-container",style:{left:this.leftWidthNoGallery+this.props.paddingLeft,top:this.topHeightNoGallery+this.props.paddingTop,width:this.centerWidth+2*this.galleryDim,height:this.centerHeight+2*this.galleryDim,outline:o,position:"absolute"}},x.createElement(MN,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,height:this.centerHeight+2*this.galleryDim,onAddSeries:this.handleAddSeries.bind(this),onCloseTrack:this.handleCloseTrack.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),tracks:this.props.tracks.gallery,width:this.centerWidth+2*this.galleryDim}));let f=x.createElement("div",{className:$t("center-track-container",Ew["center-track-container"]),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.bottomHeight,outline:o}});this.props.tracks.center.length&&(f=x.createElement("div",{className:$t("center-track-container",Ew["center-track-container"]),style:{left:this.leftWidth+this.props.paddingLeft,top:this.topHeight+this.props.paddingTop,width:this.centerWidth,height:this.centerHeight,outline:o}},x.createElement(xw,{configTrackMenuId:this.state.configTrackMenuId,editable:this.props.editable,height:this.centerHeight,is1dRangeSelection:this.state.is1dRangeSelection,isRangeSelectionActive:this.props.mouseTool===Xn,onAddSeries:this.handleAddSeries.bind(this),onCloseTrackMenuOpened:this.handleCloseTrackMenuOpened.bind(this),onConfigTrackMenuOpened:this.handleConfigTrackMenuOpened.bind(this),onRangeSelectionReset:this.rangeSelectionResetHandler.bind(this),onRangeSelectionStart:this.rangeSelection2dStartHandler.bind(this),onRangeSelectionX:this.rangeSelection1dHandler("x").bind(this),onRangeSelectionXEnd:this.rangeSelection1dEndHandler("x").bind(this),onRangeSelectionXY:this.rangeSelection2dHandler.bind(this),onRangeSelectionXYEnd:this.rangeSelection2dEndHandler.bind(this),onRangeSelectionY:this.rangeSelection1dHandler("y").bind(this),onRangeSelectionYEnd:this.rangeSelection1dEndHandler("y").bind(this),rangeSelection:this.state.rangeSelection,rangeSelectionEnd:this.state.rangeSelectionEnd,scaleX:this.xScale,scaleY:this.yScale,tracks:this.props.tracks.center,uid:this.props.tracks.center[0].uid,width:this.centerWidth}))),this.createTrackPositionTexts();let h=this.positionedTracks();h=h.concat(this.overlayTracks(h));let p=null;this.state.sizeMeasured&&(p=x.createElement(uke,{ref:m=>{this.trackRenderer=m,this.checkAllTilesetInfoReceived()},canvasElement:this.props.canvasElement,centerHeight:this.centerHeight,centerWidth:this.centerWidth,disableTrackMenu:this.props.disableTrackMenu,dragging:this.props.dragging,galleryDim:this.galleryDim,getLockGroupExtrema:this.props.getLockGroupExtrema,height:this.state.height,initialXDomain:this.props.initialXDomain,initialYDomain:this.props.initialYDomain,isRangeSelection:this.props.mouseTool===Xn,isShowGlobalMousePosition:this.props.isShowGlobalMousePosition,isValueScaleLocked:this.props.isValueScaleLocked,leftWidth:this.leftWidth,leftWidthNoGallery:this.leftWidthNoGallery,metaTracks:this.props.metaTracks,onMouseMoveZoom:this.props.onMouseMoveZoom,onNewTilesLoaded:this.props.onNewTilesLoaded,onScalesChanged:this.handleScalesChanged.bind(this),onTilesetInfoReceived:this.handleTilesetInfoReceived.bind(this),onTrackOptionsChanged:this.handleTrackOptionsChanged.bind(this),onValueScaleChanged:this.props.onValueScaleChanged,paddingLeft:this.props.paddingLeft,paddingTop:this.props.paddingTop,pixiRenderer:this.props.pixiRenderer,pixiStage:this.props.pixiStage,pluginDataFetchers:this.props.pluginDataFetchers,pluginTracks:this.props.pluginTracks,positionedTracks:h,registerDraggingChangedListener:this.props.registerDraggingChangedListener,removeDraggingChangedListener:this.props.removeDraggingChangedListener,setCentersFunction:this.props.setCentersFunction,svgElement:this.props.svgElement,topHeight:this.topHeight,topHeightNoGallery:this.topHeightNoGallery,uid:this.props.uid,viewOptions:this.props.viewOptions,width:this.state.width,xDomainLimits:this.props.xDomainLimits,yDomainLimits:this.props.yDomainLimits,zoomable:this.props.zoomable,zoomLimits:this.props.zoomLimits},a,s,c,l,u,f));let d=null,g=null;this.state.configTrackMenuId&&(d=x.createElement(Go,{onMenuClosed:this.closeMenusBound},x.createElement(ape,{ref:m=>{this.configTrackMenu=m},apiPublish:this.props.apiPublish,closeMenu:this.closeMenusBound,onAddDivisor:this.handleAddDivisorBound,onAddSeries:this.handleAddSeriesBound,onAddTrack:this.handleAddTrackBound,onChangeTrackType:this.handleChangeTrackTypeBound,onCloseTrack:this.handleCloseTrackBound,onConfigureTrack:this.handleConfigureTrackBound,onExportData:this.handleExportTrackDataBound,onLockValueScale:this.handleLockValueScaleBound,onReplaceTrack:this.handleReplaceTrackBound,onTrackOptionsChanged:this.handleTrackOptionsChangedBound,onUnlockValueScale:this.handleUnlockValueScaleBound,position:this.state.configTrackMenuLocation,theme:this.props.theme,trackOrientation:Mu(this.props.tracks,this.state.configTrackMenuId),trackRenderer:this.trackRenderer,tracks:[rn(this.props.tracks,this.state.configTrackMenuId)]}))),this.state.closeTrackMenuId&&(g=x.createElement(Go,{onMenuClosed:this.handleCloseTrackMenuClosed.bind(this)},x.createElement(Yo,{position:this.state.closeTrackMenuLocation,theme:this.props.theme},x.createElement(CR,{onCloseTrack:this.handleCloseTrack.bind(this),tracks:[rn(this.props.tracks,this.state.closeTrackMenuId)]}))));let y=null;this.props.chooseTrackHandler&&(y=h.filter(m=>m.track.position!=="whole").map(m=>{let v="tiled-plot-track-overlay-animate";return(this.state.mouseOverOverlayUid||this.props.overTrackChooser)&&(v="tiled-plot-track-overlay-plain"),this.state.mouseOverOverlayUid===m.track.uid&&(v="tiled-plot-track-overlay-selected"),x.createElement("div",{className:ti[v],key:m.track.uid,onClick:_=>this.handleTrackPositionChosen(m,_),onDragEnter:_=>{this.handleOverlayMouseEnter(m.track.uid),_.preventDefault()},onDragLeave:()=>this.handleOverlayMouseLeave(m.track.uid),onDragOver:_=>_.preventDefault(),onDrop:()=>this.handleTrackPositionChosen(m),onMouseEnter:()=>this.handleOverlayMouseEnter(m.track.uid),onMouseLeave:()=>this.handleOverlayMouseLeave(m.track.uid),style:{position:"absolute",left:m.left,top:m.top,width:Qn(m),height:Zn(m),zIndex:1}})}));let b=null;if(this.xScale&&this.yScale&&this.props.editable&&this.state.trackOptions){const m=this.state.trackOptions.configComponent,v=this.state.trackOptions.track;b=x.createElement(m,{track:v,xScale:this.xScale,yScale:this.yScale,onCancel:()=>{this.setState({trackOptions:null})},onTrackOptionsChanged:_=>_,onSubmit:_=>{this.handleTrackOptionsChanged(this.state.trackOptions.track.uid,_),this.setState({trackOptions:null})}})}return x.createElement("div",{ref:m=>{this.divTiledPlot=m},className:$t("tiled-plot-div",ti["tiled-plot"]),onClick:this.handleClickBound,style:{marginBottom:this.props.marginBottom,marginLeft:this.props.marginLeft,marginRight:this.props.marginRight,marginTop:this.props.marginTop}},p,y,d,g,b,this.getContextMenu(),this.props.draggingHappening&&this.getIdealizedTrackPositionsOverlay())}},{key:"addEventListeners",value:function(){this.eventListeners=[],this.eventListeners.forEach(r=>document.addEventListener(r.name,r.callback,!1))}},{key:"removeEventListeners",value:function(){this.eventListeners.forEach(r=>document.removeEventListener(r.name,r.callback))}}])}(x.Component);$k.defaultProps={isShowGlobalMousePosition:!1,pluginTracks:{},metaTracks:[],zoomable:!0},$k.propTypes={addTrackExtent:q.string,addTrackPosition:q.string,canvasElement:q.object,chooseTrackHandler:q.func,chromInfoPath:q.string,customDialog:q.array,closeCustomDialog:q.func,disableTrackMenu:q.bool,dragging:q.bool,draggingHappening:q.bool,editable:q.bool,getLockGroupExtrema:q.func,initialXDomain:q.array,initialYDomain:q.array,isShowGlobalMousePosition:q.bool,isValueScaleLocked:q.func,marginBottom:q.number.isRequired,marginLeft:q.number.isRequired,marginRight:q.number.isRequired,marginTop:q.number.isRequired,paddingBottom:q.number.isRequired,paddingLeft:q.number.isRequired,paddingRight:q.number.isRequired,paddingTop:q.number.isRequired,metaTracks:q.array,modal:q.object,mouseTool:q.string,onCloseTrack:q.func,onChangeTrackData:q.func,onChangeTrackType:q.func,onDataDomainChanged:q.func,onLockValueScale:q.func,onMouseMoveZoom:q.func,onNewTilesLoaded:q.func,onNoTrackAdded:q.func,onRangeSelection:q.func.isRequired,onScalesChanged:q.func,onTrackOptionsChanged:q.func,onTrackPositionChosen:q.func,onTracksAdded:q.func,onUnlockValueScale:q.func,onValueScaleChanged:q.func,onResizeTrack:q.func,overlays:q.array,openModal:q.func,pixiRenderer:q.object,pixiStage:q.object,pluginTracks:q.object,pubSub:q.object.isRequired,rangeSelection1dSize:q.array,rangeSelectionToInt:q.bool,registerDraggingChangedListener:q.func,removeDraggingChangedListener:q.func,setCentersFunction:q.func,svgElement:q.object,theme:q.symbol.isRequired,tracks:q.object,trackSourceServers:q.array,uid:q.string,viewOptions:q.object,xDomainLimits:q.array,yDomainLimits:q.array,zoomable:q.bool,zoomLimits:q.array,zoomToDataExtentOnInit:q.func};const Fke=tl(Md(sl($k)));var jk={exports:{}},Hz;function qke(){return Hz||(Hz=1,function(e){var t=typeof window<"u"?window:typeof WorkerGlobalScope<"u"&&self instanceof WorkerGlobalScope?self:{},n=function(r){var i=/(?:^|\s)lang(?:uage)?-([\w-]+)(?=\s|$)/i,o=0,a={},s={manual:r.Prism&&r.Prism.manual,disableWorkerMessageHandler:r.Prism&&r.Prism.disableWorkerMessageHandler,util:{encode:function m(v){return v instanceof c?new c(v.type,m(v.content),v.alias):Array.isArray(v)?v.map(m):v.replace(/&/g,"&amp;").replace(/</g,"&lt;").replace(/\u00a0/g," ")},type:function(m){return Object.prototype.toString.call(m).slice(8,-1)},objId:function(m){return m.__id||Object.defineProperty(m,"__id",{value:++o}),m.__id},clone:function m(v,_){_=_||{};var T,w;switch(s.util.type(v)){case"Object":if(w=s.util.objId(v),_[w])return _[w];T={},_[w]=T;for(var S in v)v.hasOwnProperty(S)&&(T[S]=m(v[S],_));return T;case"Array":return w=s.util.objId(v),_[w]?_[w]:(T=[],_[w]=T,v.forEach(function(k,E){T[E]=m(k,_)}),T);default:return v}},getLanguage:function(m){for(;m;){var v=i.exec(m.className);if(v)return v[1].toLowerCase();m=m.parentElement}return"none"},setLanguage:function(m,v){m.className=m.className.replace(RegExp(i,"gi"),""),m.classList.add("language-"+v)},currentScript:function(){if(typeof document>"u")return null;if(document.currentScript&&document.currentScript.tagName==="SCRIPT"&&1<2)return document.currentScript;try{throw new Error}catch(T){var m=(/at [^(\r\n]*\((.*):[^:]+:[^:]+\)$/i.exec(T.stack)||[])[1];if(m){var v=document.getElementsByTagName("script");for(var _ in v)if(v[_].src==m)return v[_]}return null}},isActive:function(m,v,_){for(var T="no-"+v;m;){var w=m.classList;if(w.contains(v))return!0;if(w.contains(T))return!1;m=m.parentElement}return!!_}},languages:{plain:a,plaintext:a,text:a,txt:a,extend:function(m,v){var _=s.util.clone(s.languages[m]);for(var T in v)_[T]=v[T];return _},insertBefore:function(m,v,_,T){T=T||s.languages;var w=T[m],S={};for(var k in w)if(w.hasOwnProperty(k)){if(k==v)for(var E in _)_.hasOwnProperty(E)&&(S[E]=_[E]);_.hasOwnProperty(k)||(S[k]=w[k])}var P=T[m];return T[m]=S,s.languages.DFS(s.languages,function(C,I){I===P&&C!=m&&(this[C]=S)}),S},DFS:function m(v,_,T,w){w=w||{};var S=s.util.objId;for(var k in v)if(v.hasOwnProperty(k)){_.call(v,k,v[k],T||k);var E=v[k],P=s.util.type(E);P==="Object"&&!w[S(E)]?(w[S(E)]=!0,m(E,_,null,w)):P==="Array"&&!w[S(E)]&&(w[S(E)]=!0,m(E,_,k,w))}}},plugins:{},highlightAll:function(m,v){s.highlightAllUnder(document,m,v)},highlightAllUnder:function(m,v,_){var T={callback:_,container:m,selector:'code[class*="language-"], [class*="language-"] code, code[class*="lang-"], [class*="lang-"] code'};s.hooks.run("before-highlightall",T),T.elements=Array.prototype.slice.apply(T.container.querySelectorAll(T.selector)),s.hooks.run("before-all-elements-highlight",T);for(var w=0,S;S=T.elements[w++];)s.highlightElement(S,v===!0,T.callback)},highlightElement:function(m,v,_){var T=s.util.getLanguage(m),w=s.languages[T];s.util.setLanguage(m,T);var S=m.parentElement;S&&S.nodeName.toLowerCase()==="pre"&&s.util.setLanguage(S,T);var k=m.textContent,E={element:m,language:T,grammar:w,code:k};function P(I){E.highlightedCode=I,s.hooks.run("before-insert",E),E.element.innerHTML=E.highlightedCode,s.hooks.run("after-highlight",E),s.hooks.run("complete",E),_&&_.call(E.element)}if(s.hooks.run("before-sanity-check",E),S=E.element.parentElement,S&&S.nodeName.toLowerCase()==="pre"&&!S.hasAttribute("tabindex")&&S.setAttribute("tabindex","0"),!E.code){s.hooks.run("complete",E),_&&_.call(E.element);return}if(s.hooks.run("before-highlight",E),!E.grammar){P(s.util.encode(E.code));return}if(v&&r.Worker){var C=new Worker(s.filename);C.onmessage=function(I){P(I.data)},C.postMessage(JSON.stringify({language:E.language,code:E.code,immediateClose:!0}))}else P(s.highlight(E.code,E.grammar,E.language))},highlight:function(m,v,_){var T={code:m,grammar:v,language:_};if(s.hooks.run("before-tokenize",T),!T.grammar)throw new Error('The language "'+T.language+'" has no grammar.');return T.tokens=s.tokenize(T.code,T.grammar),s.hooks.run("after-tokenize",T),c.stringify(s.util.encode(T.tokens),T.language)},tokenize:function(m,v){var _=v.rest;if(_){for(var T in _)v[T]=_[T];delete v.rest}var w=new f;return h(w,w.head,m),u(m,w,v,w.head,0),d(w)},hooks:{all:{},add:function(m,v){var _=s.hooks.all;_[m]=_[m]||[],_[m].push(v)},run:function(m,v){var _=s.hooks.all[m];if(!(!_||!_.length))for(var T=0,w;w=_[T++];)w(v)}},Token:c};r.Prism=s;function c(m,v,_,T){this.type=m,this.content=v,this.alias=_,this.length=(T||"").length|0}c.stringify=function m(v,_){if(typeof v=="string")return v;if(Array.isArray(v)){var T="";return v.forEach(function(P){T+=m(P,_)}),T}var w={type:v.type,content:m(v.content,_),tag:"span",classes:["token",v.type],attributes:{},language:_},S=v.alias;S&&(Array.isArray(S)?Array.prototype.push.apply(w.classes,S):w.classes.push(S)),s.hooks.run("wrap",w);var k="";for(var E in w.attributes)k+=" "+E+'="'+(w.attributes[E]||"").replace(/"/g,"&quot;")+'"';return"<"+w.tag+' class="'+w.classes.join(" ")+'"'+k+">"+w.content+"</"+w.tag+">"};function l(m,v,_,T){m.lastIndex=v;var w=m.exec(_);if(w&&T&&w[1]){var S=w[1].length;w.index+=S,w[0]=w[0].slice(S)}return w}function u(m,v,_,T,w,S){for(var k in _)if(!(!_.hasOwnProperty(k)||!_[k])){var E=_[k];E=Array.isArray(E)?E:[E];for(var P=0;P<E.length;++P){if(S&&S.cause==k+","+P)return;var C=E[P],I=C.inside,O=!!C.lookbehind,M=!!C.greedy,R=C.alias;if(M&&!C.pattern.global){var z=C.pattern.toString().match(/[imsuy]*$/)[0];C.pattern=RegExp(C.pattern.source,z+"g")}for(var U=C.pattern||C,j=T.next,H=w;j!==v.tail&&!(S&&H>=S.reach);H+=j.value.length,j=j.next){var W=j.value;if(v.length>m.length)return;if(!(W instanceof c)){var re=1,Y;if(M){if(Y=l(U,H,m,O),!Y||Y.index>=m.length)break;var G=Y.index,F=Y.index+Y[0].length,L=H;for(L+=j.value.length;G>=L;)j=j.next,L+=j.value.length;if(L-=j.value.length,H=L,j.value instanceof c)continue;for(var K=j;K!==v.tail&&(L<F||typeof K.value=="string");K=K.next)re++,L+=K.value.length;re--,W=m.slice(H,L),Y.index-=H}else if(Y=l(U,0,W,O),!Y)continue;var G=Y.index,te=Y[0],de=W.slice(0,G),ce=W.slice(G+te.length),le=H+W.length;S&&le>S.reach&&(S.reach=le);var me=j.prev;de&&(me=h(v,me,de),H+=de.length),p(v,me,re);var ye=new c(k,I?s.tokenize(te,I):te,R,te);if(j=h(v,me,ye),ce&&h(v,j,ce),re>1){var Oe={cause:k+","+P,reach:le};u(m,v,_,j.prev,H,Oe),S&&Oe.reach>S.reach&&(S.reach=Oe.reach)}}}}}}function f(){var m={value:null,prev:null,next:null},v={value:null,prev:m,next:null};m.next=v,this.head=m,this.tail=v,this.length=0}function h(m,v,_){var T=v.next,w={value:_,prev:v,next:T};return v.next=w,T.prev=w,m.length++,w}function p(m,v,_){for(var T=v.next,w=0;w<_&&T!==m.tail;w++)T=T.next;v.next=T,T.prev=v,m.length-=w}function d(m){for(var v=[],_=m.head.next;_!==m.tail;)v.push(_.value),_=_.next;return v}if(!r.document)return r.addEventListener&&(s.disableWorkerMessageHandler||r.addEventListener("message",function(m){var v=JSON.parse(m.data),_=v.language,T=v.code,w=v.immediateClose;r.postMessage(s.highlight(T,s.languages[_],_)),w&&r.close()},!1)),s;var g=s.util.currentScript();g&&(s.filename=g.src,g.hasAttribute("data-manual")&&(s.manual=!0));function y(){s.manual||s.highlightAll()}if(!s.manual){var b=document.readyState;b==="loading"||b==="interactive"&&g&&g.defer?document.addEventListener("DOMContentLoaded",y):window.requestAnimationFrame?window.requestAnimationFrame(y):window.setTimeout(y,16)}return s}(t);e.exports&&(e.exports=n),typeof globalThis<"u"&&(globalThis.Prism=n)}(jk)),jk.exports}var Fz=qke(),Jr={},qz;function Uke(){if(qz)return Jr;qz=1;var e=Jr&&Jr.__extends||function(){var P=function(C,I){return P=Object.setPrototypeOf||{__proto__:[]}instanceof Array&&function(O,M){O.__proto__=M}||function(O,M){for(var R in M)Object.prototype.hasOwnProperty.call(M,R)&&(O[R]=M[R])},P(C,I)};return function(C,I){if(typeof I!="function"&&I!==null)throw new TypeError("Class extends value "+String(I)+" is not a constructor or null");P(C,I);function O(){this.constructor=C}C.prototype=I===null?Object.create(I):(O.prototype=I.prototype,new O)}}(),t=Jr&&Jr.__assign||function(){return t=Object.assign||function(P){for(var C,I=1,O=arguments.length;I<O;I++){C=arguments[I];for(var M in C)Object.prototype.hasOwnProperty.call(C,M)&&(P[M]=C[M])}return P},t.apply(this,arguments)},n=Jr&&Jr.__createBinding||(Object.create?function(P,C,I,O){O===void 0&&(O=I);var M=Object.getOwnPropertyDescriptor(C,I);(!M||("get"in M?!C.__esModule:M.writable||M.configurable))&&(M={enumerable:!0,get:function(){return C[I]}}),Object.defineProperty(P,O,M)}:function(P,C,I,O){O===void 0&&(O=I),P[O]=C[I]}),r=Jr&&Jr.__setModuleDefault||(Object.create?function(P,C){Object.defineProperty(P,"default",{enumerable:!0,value:C})}:function(P,C){P.default=C}),i=Jr&&Jr.__importStar||function(P){if(P&&P.__esModule)return P;var C={};if(P!=null)for(var I in P)I!=="default"&&Object.prototype.hasOwnProperty.call(P,I)&&n(C,P,I);return r(C,P),C},o=Jr&&Jr.__rest||function(P,C){var I={};for(var O in P)Object.prototype.hasOwnProperty.call(P,O)&&C.indexOf(O)<0&&(I[O]=P[O]);if(P!=null&&typeof Object.getOwnPropertySymbols=="function")for(var M=0,O=Object.getOwnPropertySymbols(P);M<O.length;M++)C.indexOf(O[M])<0&&Object.prototype.propertyIsEnumerable.call(P,O[M])&&(I[O[M]]=P[O[M]]);return I};Object.defineProperty(Jr,"__esModule",{value:!0});var a=i(x),s=13,c=9,l=8,u=89,f=90,h=77,p=57,d=219,g=222,y=192,b=27,m=100,v=3e3,_=typeof window<"u"&&"navigator"in window&&/Win/i.test(navigator.platform),T=typeof window<"u"&&"navigator"in window&&/(Mac|iPhone|iPod|iPad)/i.test(navigator.platform),w="npm__react-simple-code-editor__textarea",S=`
301
301
  /**
302
302
  * Reset the text fill color so that placeholder is visible
303
303
  */
package/dist/higlass.mjs CHANGED
@@ -12588,7 +12588,7 @@ const getXylofon = () => (
12588
12588
  /** @type {const} */
12589
12589
  [window, map$4((c) => c.charCodeAt(0))(
12590
12590
  // @ts-expect-error - A global added by `vite.config.js`.
12591
- "2.3.2"
12591
+ "2.3.3"
12592
12592
  ).map((number3) => number3 <= 999 ? `00${number3}`.slice(-3) : number3).join("")]
12593
12593
  );
12594
12594
  const gradient = (steps, width = 1, height = 100, fromX = 0, fromY = 0, toX = 0, toY = 100) => {
@@ -93771,7 +93771,7 @@ Object.assign(LruCache.prototype, {
93771
93771
  toJSON,
93772
93772
  toString: toString2
93773
93773
  });
93774
- const version = "2.3.2";
93774
+ const version = "2.3.3";
93775
93775
  const configs = {
93776
93776
  ..._configs,
93777
93777
  IS_TRACK_RANGE_SELECTABLE,
@@ -94613,7 +94613,7 @@ let TrackRenderer = /* @__PURE__ */ (function(_React$Component) {
94613
94613
  if (!isWheelEvent(event.sourceEvent)) {
94614
94614
  return;
94615
94615
  }
94616
- const mdy = event.sourceEvent.deltaY;
94616
+ const mdy = event.sourceEvent.deltaY || event.sourceEvent.deltaX;
94617
94617
  const mdm = event.sourceEvent.deltaMode;
94618
94618
  const myWheelDelta = (dy, dm) => dy * (dm ? 120 : 1) / 500;
94619
94619
  const mwd = myWheelDelta(mdy, mdm);
@@ -94653,7 +94653,7 @@ let TrackRenderer = /* @__PURE__ */ (function(_React$Component) {
94653
94653
  }
94654
94654
  }
94655
94655
  if (trackOrientation && event.sourceEvent) {
94656
- if (event.shiftKey || this.valueScaleZooming) {
94656
+ if (event.shiftKey || this.valueScaleZooming || event.sourceEvent?.shiftKey) {
94657
94657
  if (event.sourceEvent.deltaY !== void 0) {
94658
94658
  this.valueScaleZoom(event, trackOrientation);
94659
94659
  return;
package/dist/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "higlass",
3
- "version": "2.3.2",
3
+ "version": "2.3.3",
4
4
  "description": "HiGlass Hi-C / genomic / large data viewer",
5
5
  "author": "Peter Kerpedjiev <pkerpedjiev@gmail.com>",
6
6
  "main": "dist/hglib.js",
package/package.json CHANGED
@@ -1,6 +1,6 @@
1
1
  {
2
2
  "name": "higlass",
3
- "version": "2.3.2",
3
+ "version": "2.3.3",
4
4
  "description": "HiGlass Hi-C / genomic / large data viewer",
5
5
  "author": "Peter Kerpedjiev <pkerpedjiev@gmail.com>",
6
6
  "main": "dist/hglib.js",